@codingame/monaco-vscode-extensions-service-override 4.4.1 → 4.5.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 (117) hide show
  1. package/extensions.d.ts +21 -21
  2. package/extensions.js +29 -27
  3. package/localExtensionHost.d.ts +8 -8
  4. package/override/vs/workbench/browser/parts/editor/textEditor.weak.js +4 -1
  5. package/package.json +11 -3
  6. package/vscode/src/vs/platform/extensionManagement/common/extensionManagementCLI.js +2 -1
  7. package/vscode/src/vs/platform/extensionResourceLoader/browser/extensionResourceLoaderService.js +7 -6
  8. package/vscode/src/vs/platform/remote/common/managedSocket.js +1 -1
  9. package/vscode/src/vs/platform/remote/common/remoteExtensionsScanner.service.d.ts +13 -0
  10. package/vscode/src/vs/workbench/api/browser/mainThreadAiEmbeddingVector.js +2 -2
  11. package/vscode/src/vs/workbench/api/browser/mainThreadAiRelatedInformation.js +2 -2
  12. package/vscode/src/vs/workbench/api/browser/mainThreadAuthentication.js +9 -10
  13. package/vscode/src/vs/workbench/api/browser/mainThreadBulkEdits.js +2 -2
  14. package/vscode/src/vs/workbench/api/browser/mainThreadCLICommands.js +8 -7
  15. package/vscode/src/vs/workbench/api/browser/mainThreadChat.js +4 -4
  16. package/vscode/src/vs/workbench/api/browser/mainThreadChatAgents2.js +5 -4
  17. package/vscode/src/vs/workbench/api/browser/mainThreadChatVariables.js +2 -2
  18. package/vscode/src/vs/workbench/api/browser/mainThreadClipboard.js +1 -1
  19. package/vscode/src/vs/workbench/api/browser/mainThreadCodeInsets.js +2 -2
  20. package/vscode/src/vs/workbench/api/browser/mainThreadCommands.js +4 -3
  21. package/vscode/src/vs/workbench/api/browser/mainThreadComments.js +5 -4
  22. package/vscode/src/vs/workbench/api/browser/mainThreadConfiguration.js +4 -4
  23. package/vscode/src/vs/workbench/api/browser/mainThreadConsole.js +2 -2
  24. package/vscode/src/vs/workbench/api/browser/mainThreadCustomEditors.js +14 -15
  25. package/vscode/src/vs/workbench/api/browser/mainThreadDebugService.js +4 -3
  26. package/vscode/src/vs/workbench/api/browser/mainThreadDecorations.js +2 -2
  27. package/vscode/src/vs/workbench/api/browser/mainThreadDiagnostics.js +3 -3
  28. package/vscode/src/vs/workbench/api/browser/mainThreadDialogs.js +1 -2
  29. package/vscode/src/vs/workbench/api/browser/mainThreadDocumentContentProviders.js +1 -1
  30. package/vscode/src/vs/workbench/api/browser/mainThreadDocuments.js +7 -7
  31. package/vscode/src/vs/workbench/api/browser/mainThreadDocumentsAndEditors.js +11 -11
  32. package/vscode/src/vs/workbench/api/browser/mainThreadDownloadService.js +1 -1
  33. package/vscode/src/vs/workbench/api/browser/mainThreadEditSessionIdentityParticipant.js +1 -1
  34. package/vscode/src/vs/workbench/api/browser/mainThreadEditor.js +1 -1
  35. package/vscode/src/vs/workbench/api/browser/mainThreadEditorTabs.js +7 -5
  36. package/vscode/src/vs/workbench/api/browser/mainThreadEditors.js +5 -5
  37. package/vscode/src/vs/workbench/api/browser/mainThreadExtensionService.js +9 -9
  38. package/vscode/src/vs/workbench/api/browser/mainThreadFileSystem.js +3 -2
  39. package/vscode/src/vs/workbench/api/browser/mainThreadFileSystemEventService.js +10 -11
  40. package/vscode/src/vs/workbench/api/browser/mainThreadInlineChat.js +3 -3
  41. package/vscode/src/vs/workbench/api/browser/mainThreadInteractive.js +2 -2
  42. package/vscode/src/vs/workbench/api/browser/mainThreadIssueReporter.js +2 -2
  43. package/vscode/src/vs/workbench/api/browser/mainThreadLabelService.js +1 -1
  44. package/vscode/src/vs/workbench/api/browser/mainThreadLanguageFeatures.js +2 -2
  45. package/vscode/src/vs/workbench/api/browser/mainThreadLanguageModels.js +9 -7
  46. package/vscode/src/vs/workbench/api/browser/mainThreadLanguages.js +2 -2
  47. package/vscode/src/vs/workbench/api/browser/mainThreadLocalization.js +2 -2
  48. package/vscode/src/vs/workbench/api/browser/mainThreadLogService.js +4 -3
  49. package/vscode/src/vs/workbench/api/browser/mainThreadManagedSockets.js +2 -2
  50. package/vscode/src/vs/workbench/api/browser/mainThreadMessageService.js +4 -5
  51. package/vscode/src/vs/workbench/api/browser/mainThreadNotebook.js +5 -4
  52. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookDocuments.js +2 -2
  53. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookDocumentsAndEditors.js +5 -5
  54. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookEditors.js +4 -4
  55. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookKernels.js +6 -5
  56. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookRenderers.js +2 -2
  57. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookSaveParticipant.js +1 -1
  58. package/vscode/src/vs/workbench/api/browser/mainThreadOutputService.js +3 -2
  59. package/vscode/src/vs/workbench/api/browser/mainThreadProfileContentHandlers.js +2 -2
  60. package/vscode/src/vs/workbench/api/browser/mainThreadProgress.js +3 -3
  61. package/vscode/src/vs/workbench/api/browser/mainThreadQuickDiff.js +2 -2
  62. package/vscode/src/vs/workbench/api/browser/mainThreadQuickOpen.js +2 -2
  63. package/vscode/src/vs/workbench/api/browser/mainThreadRemoteConnectionData.js +2 -2
  64. package/vscode/src/vs/workbench/api/browser/mainThreadSCM.js +5 -5
  65. package/vscode/src/vs/workbench/api/browser/mainThreadSaveParticipant.js +1 -1
  66. package/vscode/src/vs/workbench/api/browser/mainThreadSearch.js +5 -5
  67. package/vscode/src/vs/workbench/api/browser/mainThreadSecretState.js +4 -4
  68. package/vscode/src/vs/workbench/api/browser/mainThreadShare.js +2 -2
  69. package/vscode/src/vs/workbench/api/browser/mainThreadSpeech.js +3 -3
  70. package/vscode/src/vs/workbench/api/browser/mainThreadStatusBar.js +1 -1
  71. package/vscode/src/vs/workbench/api/browser/mainThreadStorage.js +4 -4
  72. package/vscode/src/vs/workbench/api/browser/mainThreadTask.js +4 -4
  73. package/vscode/src/vs/workbench/api/browser/mainThreadTelemetry.js +5 -4
  74. package/vscode/src/vs/workbench/api/browser/mainThreadTerminalService.js +9 -8
  75. package/vscode/src/vs/workbench/api/browser/mainThreadTerminalShellIntegration.js +3 -3
  76. package/vscode/src/vs/workbench/api/browser/mainThreadTesting.js +5 -5
  77. package/vscode/src/vs/workbench/api/browser/mainThreadTheming.js +2 -2
  78. package/vscode/src/vs/workbench/api/browser/mainThreadTimeline.js +3 -3
  79. package/vscode/src/vs/workbench/api/browser/mainThreadTreeViews.js +5 -5
  80. package/vscode/src/vs/workbench/api/browser/mainThreadTunnelService.js +14 -10
  81. package/vscode/src/vs/workbench/api/browser/mainThreadUriOpeners.js +9 -7
  82. package/vscode/src/vs/workbench/api/browser/mainThreadUrls.js +3 -3
  83. package/vscode/src/vs/workbench/api/browser/mainThreadWebviewPanels.js +9 -7
  84. package/vscode/src/vs/workbench/api/browser/mainThreadWebviewViews.js +2 -2
  85. package/vscode/src/vs/workbench/api/browser/mainThreadWebviews.js +2 -2
  86. package/vscode/src/vs/workbench/api/browser/mainThreadWindow.js +4 -4
  87. package/vscode/src/vs/workbench/api/browser/mainThreadWorkspace.js +14 -13
  88. package/vscode/src/vs/workbench/contrib/customEditor/common/customTextEditorModel.js +1 -1
  89. package/vscode/src/vs/workbench/contrib/externalUriOpener/common/contributedOpeners.js +2 -2
  90. package/vscode/src/vs/workbench/services/extensionManagement/browser/extensionBisect.js +399 -0
  91. package/vscode/src/vs/workbench/services/extensionManagement/common/extensionManagement.d.ts +53 -0
  92. package/vscode/src/vs/workbench/services/extensionManagement/common/extensionManagement.service.d.ts +106 -0
  93. package/vscode/src/vs/workbench/services/extensions/browser/extensionService.d.ts +45 -0
  94. package/vscode/src/vs/workbench/services/extensions/browser/extensionService.js +20 -20
  95. package/vscode/src/vs/workbench/services/extensions/browser/webWorkerExtensionHost.d.ts +10 -0
  96. package/vscode/src/vs/workbench/services/extensions/browser/webWorkerExtensionHost.js +10 -10
  97. package/vscode/src/vs/workbench/services/extensions/common/abstractExtensionService.d.ts +162 -0
  98. package/vscode/src/vs/workbench/services/extensions/common/abstractExtensionService.js +25 -23
  99. package/vscode/src/vs/workbench/services/extensions/common/extensionDescriptionRegistry.d.ts +18 -0
  100. package/vscode/src/vs/workbench/services/extensions/common/extensionHostManager.js +5 -5
  101. package/vscode/src/vs/workbench/services/extensions/common/extensionHostManagers.d.ts +39 -0
  102. package/vscode/src/vs/workbench/services/extensions/common/extensionHostProxy.d.ts +17 -0
  103. package/vscode/src/vs/workbench/services/extensions/common/extensionManifestPropertiesService.service.d.ts +20 -0
  104. package/vscode/src/vs/workbench/services/extensions/common/extensionRunningLocationTracker.d.ts +45 -0
  105. package/vscode/src/vs/workbench/services/extensions/common/extensionRunningLocationTracker.js +4 -4
  106. package/vscode/src/vs/workbench/services/extensions/common/extensionStorageMigration.js +9 -8
  107. package/vscode/src/vs/workbench/services/extensions/common/extensionsProposedApi.d.ts +17 -0
  108. package/vscode/src/vs/workbench/services/extensions/common/extensionsProposedApi.js +3 -3
  109. package/vscode/src/vs/workbench/services/extensions/common/lazyCreateExtensionHostManager.js +1 -1
  110. package/vscode/src/vs/workbench/services/extensions/common/remoteExtensionHost.js +10 -10
  111. package/vscode/src/vs/workbench/services/extensions/common/rpcProtocol.d.ts +6 -0
  112. package/vscode/src/vs/workbench/services/remote/common/remoteExplorerService.d.ts +49 -0
  113. package/vscode/src/vs/workbench/services/remote/common/remoteExplorerService.service.d.ts +40 -0
  114. package/vscode/src/vs/workbench/services/remote/common/tunnelModel.d.ts +185 -0
  115. package/vscode/src/vs/workbench/services/userData/browser/userDataInit.d.ts +11 -0
  116. package/vscode/src/vs/workbench/services/userData/browser/userDataInit.service.d.ts +9 -0
  117. package/override/vs/platform/dialogs/common/dialogs.js +0 -10
@@ -0,0 +1,106 @@
1
+ import { ServiceIdentifier } from 'vscode/vscode/vs/platform/instantiation/common/instantiation';
2
+ import { Event } from 'vscode/vscode/vs/base/common/event';
3
+ import { IExtensionManagementService } from 'vscode/vscode/vs/platform/extensionManagement/common/extensionManagement.service';
4
+ import { InstallExtensionOnServerEvent, UninstallExtensionOnServerEvent, DidUninstallExtensionOnServerEvent, DidChangeProfileForServerEvent, IResourceExtension, EnablementState, ScanOptions, IScannedExtension, DidChangeProfileEvent } from './extensionManagement.js';
5
+ import { IExtension, IExtensionManifest, ExtensionType } from 'vscode/vscode/vs/platform/extensions/common/extensions';
6
+ import { URI } from 'vscode/vscode/vs/base/common/uri';
7
+ import { InstallExtensionResult, ILocalExtension, InstallOptions, IGalleryExtension, Metadata } from 'vscode/vscode/vs/platform/extensionManagement/common/extensionManagement';
8
+
9
+ declare const IProfileAwareExtensionManagementService: ServiceIdentifier<IProfileAwareExtensionManagementService>;
10
+ interface IProfileAwareExtensionManagementService extends IExtensionManagementService {
11
+ readonly onDidChangeProfile: Event<DidChangeProfileEvent>;
12
+ }
13
+ declare const IWorkbenchExtensionManagementService: ServiceIdentifier<IWorkbenchExtensionManagementService>;
14
+ interface IWorkbenchExtensionManagementService extends IProfileAwareExtensionManagementService {
15
+ readonly _serviceBrand: undefined;
16
+ onInstallExtension: Event<InstallExtensionOnServerEvent>;
17
+ onDidInstallExtensions: Event<readonly InstallExtensionResult[]>;
18
+ onUninstallExtension: Event<UninstallExtensionOnServerEvent>;
19
+ onDidUninstallExtension: Event<DidUninstallExtensionOnServerEvent>;
20
+ onDidChangeProfile: Event<DidChangeProfileForServerEvent>;
21
+ onDidEnableExtensions: Event<IExtension[]>;
22
+ isWorkspaceExtensionsSupported(): boolean;
23
+ getExtensions(locations: URI[]): Promise<IResourceExtension[]>;
24
+ getInstalledWorkspaceExtensions(includeInvalid: boolean): Promise<ILocalExtension[]>;
25
+ installVSIX(location: URI, manifest: IExtensionManifest, installOptions?: InstallOptions): Promise<ILocalExtension>;
26
+ installFromLocation(location: URI): Promise<ILocalExtension>;
27
+ installResourceExtension(extension: IResourceExtension, installOptions: InstallOptions): Promise<ILocalExtension>;
28
+ updateFromGallery(gallery: IGalleryExtension, extension: ILocalExtension, installOptions?: InstallOptions): Promise<ILocalExtension>;
29
+ }
30
+ declare const IWorkbenchExtensionEnablementService: ServiceIdentifier<IWorkbenchExtensionEnablementService>;
31
+ interface IWorkbenchExtensionEnablementService {
32
+ readonly _serviceBrand: undefined;
33
+ /**
34
+ * Event to listen on for extension enablement changes
35
+ */
36
+ readonly onEnablementChanged: Event<readonly IExtension[]>;
37
+ /**
38
+ * Returns the enablement state for the given extension
39
+ */
40
+ getEnablementState(extension: IExtension): EnablementState;
41
+ /**
42
+ * Returns the enablement states for the given extensions
43
+ * @param extensions list of extensions
44
+ * @param workspaceTypeOverrides Workspace type overrides
45
+ */
46
+ getEnablementStates(extensions: IExtension[], workspaceTypeOverrides?: {
47
+ trusted?: boolean;
48
+ }): EnablementState[];
49
+ /**
50
+ * Returns the enablement states for the dependencies of the given extension
51
+ */
52
+ getDependenciesEnablementStates(extension: IExtension): [IExtension, EnablementState][];
53
+ /**
54
+ * Returns `true` if the enablement can be changed.
55
+ */
56
+ canChangeEnablement(extension: IExtension): boolean;
57
+ /**
58
+ * Returns `true` if the enablement can be changed.
59
+ */
60
+ canChangeWorkspaceEnablement(extension: IExtension): boolean;
61
+ /**
62
+ * Returns `true` if the given extension is enabled.
63
+ */
64
+ isEnabled(extension: IExtension): boolean;
65
+ /**
66
+ * Returns `true` if the given enablement state is enabled enablement state.
67
+ */
68
+ isEnabledEnablementState(enablementState: EnablementState): boolean;
69
+ /**
70
+ * Returns `true` if the given extension identifier is disabled globally.
71
+ * Extensions can be disabled globally or in workspace or both.
72
+ * If an extension is disabled in both then enablement state shows only workspace.
73
+ * This will
74
+ */
75
+ isDisabledGlobally(extension: IExtension): boolean;
76
+ /**
77
+ * Enable or disable the given extension.
78
+ * if `workspace` is `true` then enablement is done for workspace, otherwise globally.
79
+ *
80
+ * Returns a promise that resolves to boolean value.
81
+ * if resolves to `true` then requires restart for the change to take effect.
82
+ *
83
+ * Throws error if enablement is requested for workspace and there is no workspace
84
+ */
85
+ setEnablement(extensions: IExtension[], state: EnablementState): Promise<boolean[]>;
86
+ /**
87
+ * Updates the enablement state of the extensions when workspace trust changes.
88
+ */
89
+ updateExtensionsEnablementsWhenWorkspaceTrustChanges(): Promise<void>;
90
+ }
91
+ declare const IWebExtensionsScannerService: ServiceIdentifier<IWebExtensionsScannerService>;
92
+ interface IWebExtensionsScannerService {
93
+ readonly _serviceBrand: undefined;
94
+ scanSystemExtensions(): Promise<IExtension[]>;
95
+ scanUserExtensions(profileLocation: URI, options?: ScanOptions): Promise<IScannedExtension[]>;
96
+ scanExtensionsUnderDevelopment(): Promise<IExtension[]>;
97
+ scanExistingExtension(extensionLocation: URI, extensionType: ExtensionType, profileLocation: URI): Promise<IScannedExtension | null>;
98
+ addExtension(location: URI, metadata: Metadata, profileLocation: URI): Promise<IScannedExtension>;
99
+ addExtensionFromGallery(galleryExtension: IGalleryExtension, metadata: Metadata, profileLocation: URI): Promise<IScannedExtension>;
100
+ removeExtension(extension: IScannedExtension, profileLocation: URI): Promise<void>;
101
+ copyExtensions(fromProfileLocation: URI, toProfileLocation: URI, filter: (extension: IScannedExtension) => boolean): Promise<void>;
102
+ updateMetadata(extension: IScannedExtension, metaData: Partial<Metadata>, profileLocation: URI): Promise<IScannedExtension>;
103
+ scanExtensionManifest(extensionLocation: URI): Promise<IExtensionManifest | null>;
104
+ }
105
+
106
+ export { IProfileAwareExtensionManagementService, IWebExtensionsScannerService, IWorkbenchExtensionEnablementService, IWorkbenchExtensionManagementService };
@@ -0,0 +1,45 @@
1
+ import { IConfigurationService } from 'vscode/vscode/vs/platform/configuration/common/configuration.service';
2
+ import { IDialogService } from 'vscode/vscode/vs/platform/dialogs/common/dialogs.service';
3
+ import { IExtension, IExtensionDescription } from 'vscode/vscode/vs/platform/extensions/common/extensions';
4
+ import { IFileService } from 'vscode/vscode/vs/platform/files/common/files.service';
5
+ import { IInstantiationService } from 'vscode/vscode/vs/platform/instantiation/common/instantiation';
6
+ import { ILogService } from 'vscode/vscode/vs/platform/log/common/log.service';
7
+ import { INotificationService } from 'vscode/vscode/vs/platform/notification/common/notification.service';
8
+ import { IProductService } from 'vscode/vscode/vs/platform/product/common/productService.service';
9
+ import { ResolverResult } from 'vscode/vscode/vs/platform/remote/common/remoteAuthorityResolver';
10
+ import { IRemoteAuthorityResolverService } from 'vscode/vscode/vs/platform/remote/common/remoteAuthorityResolver.service';
11
+ import { IRemoteExtensionsScannerService } from '../../../../platform/remote/common/remoteExtensionsScanner.service.js';
12
+ import { ITelemetryService } from 'vscode/vscode/vs/platform/telemetry/common/telemetry.service';
13
+ import { IWorkspaceContextService } from 'vscode/vscode/vs/platform/workspace/common/workspace.service';
14
+ import { IWorkspaceTrustManagementService } from 'vscode/vscode/vs/platform/workspace/common/workspaceTrust.service';
15
+ import { IBrowserWorkbenchEnvironmentService } from 'vscode/vscode/vs/workbench/services/environment/browser/environmentService.service';
16
+ import { IWorkbenchExtensionEnablementService, IWorkbenchExtensionManagementService, IWebExtensionsScannerService } from '../../extensionManagement/common/extensionManagement.service.js';
17
+ import { IExtensionHostKindPicker } from 'vscode/vscode/vs/workbench/services/extensions/common/extensionHostKind';
18
+ import { IExtensionService } from 'vscode/vscode/vs/workbench/services/extensions/common/extensions.service';
19
+ import { AbstractExtensionService, IExtensionHostFactory, ResolvedExtensions } from '../common/abstractExtensionService.js';
20
+ import { IExtensionManifestPropertiesService } from '../common/extensionManifestPropertiesService.service.js';
21
+ import { ExtensionsProposedApi } from '../common/extensionsProposedApi.js';
22
+ import { ILifecycleService } from 'vscode/vscode/vs/workbench/services/lifecycle/common/lifecycle.service';
23
+ import { IRemoteAgentService } from 'vscode/vscode/vs/workbench/services/remote/common/remoteAgentService.service';
24
+ import { IRemoteExplorerService } from '../../remote/common/remoteExplorerService.service.js';
25
+ import { IUserDataInitializationService } from '../../userData/browser/userDataInit.service.js';
26
+ import { IUserDataProfileService } from 'vscode/vscode/vs/workbench/services/userDataProfile/common/userDataProfile.service';
27
+
28
+ declare class ExtensionService extends AbstractExtensionService implements IExtensionService {
29
+ private readonly _browserEnvironmentService;
30
+ private readonly _webExtensionsScannerService;
31
+ private readonly _userDataInitializationService;
32
+ private readonly _userDataProfileService;
33
+ private readonly _workspaceTrustManagementService;
34
+ private readonly _remoteExplorerService;
35
+ constructor(extensionsProposedApi: ExtensionsProposedApi, extensionHostFactory: IExtensionHostFactory, extensionHostKindPicker: IExtensionHostKindPicker, instantiationService: IInstantiationService, notificationService: INotificationService, _browserEnvironmentService: IBrowserWorkbenchEnvironmentService, telemetryService: ITelemetryService, extensionEnablementService: IWorkbenchExtensionEnablementService, fileService: IFileService, productService: IProductService, extensionManagementService: IWorkbenchExtensionManagementService, contextService: IWorkspaceContextService, configurationService: IConfigurationService, extensionManifestPropertiesService: IExtensionManifestPropertiesService, _webExtensionsScannerService: IWebExtensionsScannerService, logService: ILogService, remoteAgentService: IRemoteAgentService, remoteExtensionsScannerService: IRemoteExtensionsScannerService, lifecycleService: ILifecycleService, remoteAuthorityResolverService: IRemoteAuthorityResolverService, _userDataInitializationService: IUserDataInitializationService, _userDataProfileService: IUserDataProfileService, _workspaceTrustManagementService: IWorkspaceTrustManagementService, _remoteExplorerService: IRemoteExplorerService, dialogService: IDialogService);
36
+ protected _scanSingleExtension(extension: IExtension): Promise<IExtensionDescription | null>;
37
+ private _initFetchFileSystem;
38
+ protected _scanWebExtensions(): Promise<IExtensionDescription[]>;
39
+ protected _resolveExtensionsDefault(): Promise<ResolvedExtensions>;
40
+ protected _resolveExtensions(): Promise<ResolvedExtensions>;
41
+ protected _onExtensionHostExit(code: number): Promise<void>;
42
+ protected _resolveAuthority(remoteAuthority: string): Promise<ResolverResult>;
43
+ }
44
+
45
+ export { ExtensionService };
@@ -1,37 +1,37 @@
1
1
  import { __decorate, __param } from 'vscode/external/tslib/tslib.es6.js';
2
2
  import { mainWindow } from 'vscode/vscode/vs/base/browser/window';
3
3
  import { Schemas } from 'vscode/vscode/vs/base/common/network';
4
- import { IConfigurationService } from 'vscode/vscode/vs/platform/configuration/common/configuration';
5
- import '../../../../../../../override/vs/platform/dialogs/common/dialogs.js';
6
- import { IFileService } from 'vscode/vscode/vs/platform/files/common/files';
4
+ import { IConfigurationService } from 'vscode/vscode/vs/platform/configuration/common/configuration.service';
5
+ import { IDialogService } from 'vscode/vscode/vs/platform/dialogs/common/dialogs.service';
6
+ import { IFileService } from 'vscode/vscode/vs/platform/files/common/files.service';
7
7
  import { IInstantiationService } from 'vscode/vscode/vs/platform/instantiation/common/instantiation';
8
8
  import { getLogs } from 'vscode/vscode/vs/platform/log/browser/log';
9
- import { ILogService } from 'vscode/vscode/vs/platform/log/common/log';
10
- import { INotificationService } from 'vscode/vscode/vs/platform/notification/common/notification';
11
- import { IProductService } from 'vscode/vscode/vs/platform/product/common/productService';
12
- import { IRemoteAuthorityResolverService, RemoteAuthorityResolverError } from 'vscode/vscode/vs/platform/remote/common/remoteAuthorityResolver';
13
- import { IRemoteExtensionsScannerService } from 'vscode/vscode/vs/platform/remote/common/remoteExtensionsScanner';
14
- import { ITelemetryService } from 'vscode/vscode/vs/platform/telemetry/common/telemetry';
15
- import { IWorkspaceContextService } from 'vscode/vscode/vs/platform/workspace/common/workspace';
16
- import { IWorkspaceTrustManagementService } from 'vscode/vscode/vs/platform/workspace/common/workspaceTrust';
17
- import { IBrowserWorkbenchEnvironmentService } from 'vscode/vscode/vs/workbench/services/environment/browser/environmentService';
18
- import { IWorkbenchExtensionEnablementService, IWorkbenchExtensionManagementService, IWebExtensionsScannerService } from 'vscode/vscode/vs/workbench/services/extensionManagement/common/extensionManagement';
9
+ import { ILogService } from 'vscode/vscode/vs/platform/log/common/log.service';
10
+ import { INotificationService } from 'vscode/vscode/vs/platform/notification/common/notification.service';
11
+ import { IProductService } from 'vscode/vscode/vs/platform/product/common/productService.service';
12
+ import { RemoteAuthorityResolverError } from 'vscode/vscode/vs/platform/remote/common/remoteAuthorityResolver';
13
+ import { IRemoteAuthorityResolverService } from 'vscode/vscode/vs/platform/remote/common/remoteAuthorityResolver.service';
14
+ import { IRemoteExtensionsScannerService } from 'vscode/vscode/vs/platform/remote/common/remoteExtensionsScanner.service';
15
+ import { ITelemetryService } from 'vscode/vscode/vs/platform/telemetry/common/telemetry.service';
16
+ import { IWorkspaceContextService } from 'vscode/vscode/vs/platform/workspace/common/workspace.service';
17
+ import { IWorkspaceTrustManagementService } from 'vscode/vscode/vs/platform/workspace/common/workspaceTrust.service';
18
+ import { IBrowserWorkbenchEnvironmentService } from 'vscode/vscode/vs/workbench/services/environment/browser/environmentService.service';
19
+ import { IWorkbenchExtensionEnablementService, IWorkbenchExtensionManagementService, IWebExtensionsScannerService } from 'vscode/vscode/vs/workbench/services/extensionManagement/common/extensionManagement.service';
19
20
  import { WebWorkerExtensionHost } from './webWorkerExtensionHost.js';
20
21
  import { FetchFileSystemProvider } from './webWorkerFileSystemProvider.js';
21
22
  import { AbstractExtensionService, ResolvedExtensions, checkEnabledAndProposedAPI } from '../common/abstractExtensionService.js';
22
23
  import { extensionRunningPreferenceToString, extensionHostKindToString } from 'vscode/vscode/vs/workbench/services/extensions/common/extensionHostKind';
23
- import { IExtensionManifestPropertiesService } from 'vscode/vscode/vs/workbench/services/extensions/common/extensionManifestPropertiesService';
24
+ import { IExtensionManifestPropertiesService } from 'vscode/vscode/vs/workbench/services/extensions/common/extensionManifestPropertiesService.service';
24
25
  import { filterExtensionDescriptions } from '../common/extensionRunningLocationTracker.js';
25
26
  import { toExtensionDescription, ExtensionHostExtensions } from 'vscode/vscode/vs/workbench/services/extensions/common/extensions';
26
27
  import '../common/extensionsProposedApi.js';
27
28
  import { dedupExtensions } from '../common/extensionsUtil.js';
28
29
  import { RemoteExtensionHost } from '../common/remoteExtensionHost.js';
29
- import { ILifecycleService } from 'vscode/vscode/vs/workbench/services/lifecycle/common/lifecycle';
30
- import { IRemoteAgentService } from 'vscode/vscode/vs/workbench/services/remote/common/remoteAgentService';
31
- import { IRemoteExplorerService } from 'vscode/vscode/vs/workbench/services/remote/common/remoteExplorerService';
32
- import { IUserDataInitializationService } from 'vscode/vscode/vs/workbench/services/userData/browser/userDataInit';
33
- import { IUserDataProfileService } from 'vscode/vscode/vs/workbench/services/userDataProfile/common/userDataProfile';
34
- import { IDialogService } from 'vscode/vscode/vs/platform/dialogs/common/dialogs';
30
+ import { ILifecycleService } from 'vscode/vscode/vs/workbench/services/lifecycle/common/lifecycle.service';
31
+ import { IRemoteAgentService } from 'vscode/vscode/vs/workbench/services/remote/common/remoteAgentService.service';
32
+ import { IRemoteExplorerService } from 'vscode/vscode/vs/workbench/services/remote/common/remoteExplorerService.service';
33
+ import { IUserDataInitializationService } from 'vscode/vscode/vs/workbench/services/userData/browser/userDataInit.service';
34
+ import { IUserDataProfileService } from 'vscode/vscode/vs/workbench/services/userDataProfile/common/userDataProfile.service';
35
35
 
36
36
  var BrowserExtensionHostKindPicker_1;
37
37
  let ExtensionService = class ExtensionService extends AbstractExtensionService {
@@ -0,0 +1,10 @@
1
+ import { ExtensionHostExtensions } from 'vscode/vscode/vs/workbench/services/extensions/common/extensions';
2
+
3
+ interface IWebWorkerExtensionHostInitData {
4
+ readonly extensions: ExtensionHostExtensions;
5
+ }
6
+ interface IWebWorkerExtensionHostDataProvider {
7
+ getInitData(): Promise<IWebWorkerExtensionHostInitData>;
8
+ }
9
+
10
+ export type { IWebWorkerExtensionHostDataProvider, IWebWorkerExtensionHostInitData };
@@ -4,7 +4,7 @@ import { parentOriginHash } from 'vscode/vscode/vs/base/browser/iframe';
4
4
  import { mainWindow } from 'vscode/vscode/vs/base/browser/window';
5
5
  import { Barrier } from 'vscode/vscode/vs/base/common/async';
6
6
  import { VSBuffer } from 'vscode/vscode/vs/base/common/buffer';
7
- import { canceled, onUnexpectedError } from 'vscode/vscode/vs/base/common/errors';
7
+ import { onUnexpectedError, canceled } from 'vscode/vscode/vs/base/common/errors';
8
8
  import { Emitter, Event } from 'vscode/vscode/vs/base/common/event';
9
9
  import { Disposable, toDisposable } from 'vscode/vscode/vs/base/common/lifecycle';
10
10
  import { COI, FileAccess } from 'vscode/vscode/vs/base/common/network';
@@ -12,16 +12,16 @@ import { isWeb, Language, language } from 'vscode/vscode/vs/base/common/platform
12
12
  import { joinPath } from 'vscode/vscode/vs/base/common/resources';
13
13
  import { URI } from 'vscode/vscode/vs/base/common/uri';
14
14
  import { generateUuid } from 'vscode/vscode/vs/base/common/uuid';
15
- import { ILabelService } from 'vscode/vscode/vs/platform/label/common/label';
16
- import { ILayoutService } from 'vscode/vscode/vs/platform/layout/browser/layoutService';
17
- import { ILogService, ILoggerService } from 'vscode/vscode/vs/platform/log/common/log';
18
- import { IProductService } from 'vscode/vscode/vs/platform/product/common/productService';
19
- import { IStorageService } from 'vscode/vscode/vs/platform/storage/common/storage';
20
- import { ITelemetryService } from 'vscode/vscode/vs/platform/telemetry/common/telemetry';
15
+ import { ILabelService } from 'vscode/vscode/vs/platform/label/common/label.service';
16
+ import { ILayoutService } from 'vscode/vscode/vs/platform/layout/browser/layoutService.service';
17
+ import { ILogService, ILoggerService } from 'vscode/vscode/vs/platform/log/common/log.service';
18
+ import { IProductService } from 'vscode/vscode/vs/platform/product/common/productService.service';
19
+ import { IStorageService } from 'vscode/vscode/vs/platform/storage/common/storage.service';
20
+ import { ITelemetryService } from 'vscode/vscode/vs/platform/telemetry/common/telemetry.service';
21
21
  import { isLoggingOnly } from 'vscode/vscode/vs/platform/telemetry/common/telemetryUtils';
22
- import { IUserDataProfilesService } from 'vscode/vscode/vs/platform/userDataProfile/common/userDataProfile';
23
- import { IWorkspaceContextService } from 'vscode/vscode/vs/platform/workspace/common/workspace';
24
- import { IBrowserWorkbenchEnvironmentService } from 'vscode/vscode/vs/workbench/services/environment/browser/environmentService';
22
+ import { IUserDataProfilesService } from 'vscode/vscode/vs/platform/userDataProfile/common/userDataProfile.service';
23
+ import { IWorkspaceContextService } from 'vscode/vscode/vs/platform/workspace/common/workspace.service';
24
+ import { IBrowserWorkbenchEnvironmentService } from 'vscode/vscode/vs/workbench/services/environment/browser/environmentService.service';
25
25
  import { isMessageOfType, createMessageOfType, UIKind } from 'vscode/vscode/vs/workbench/services/extensions/common/extensionHostProtocol';
26
26
 
27
27
  let WebWorkerExtensionHost = class WebWorkerExtensionHost extends Disposable {
@@ -0,0 +1,162 @@
1
+ import { Event } from 'vscode/vscode/vs/base/common/event';
2
+ import { Disposable } from 'vscode/vscode/vs/base/common/lifecycle';
3
+ import { IConfigurationService } from 'vscode/vscode/vs/platform/configuration/common/configuration.service';
4
+ import { IDialogService } from 'vscode/vscode/vs/platform/dialogs/common/dialogs.service';
5
+ import { ExtensionIdentifier, IExtensionDescription, IExtension, IExtensionContributions } from 'vscode/vscode/vs/platform/extensions/common/extensions';
6
+ import { IFileService } from 'vscode/vscode/vs/platform/files/common/files.service';
7
+ import { IInstantiationService } from 'vscode/vscode/vs/platform/instantiation/common/instantiation';
8
+ import { ILogService } from 'vscode/vscode/vs/platform/log/common/log.service';
9
+ import { INotificationService } from 'vscode/vscode/vs/platform/notification/common/notification.service';
10
+ import { IProductService } from 'vscode/vscode/vs/platform/product/common/productService.service';
11
+ import { ResolverResult } from 'vscode/vscode/vs/platform/remote/common/remoteAuthorityResolver';
12
+ import { IRemoteAuthorityResolverService } from 'vscode/vscode/vs/platform/remote/common/remoteAuthorityResolver.service';
13
+ import { IRemoteExtensionsScannerService } from '../../../../platform/remote/common/remoteExtensionsScanner.service.js';
14
+ import { ITelemetryService } from 'vscode/vscode/vs/platform/telemetry/common/telemetry.service';
15
+ import { IWorkspaceContextService } from 'vscode/vscode/vs/platform/workspace/common/workspace.service';
16
+ import { IWorkbenchEnvironmentService } from 'vscode/vscode/vs/workbench/services/environment/common/environmentService.service';
17
+ import { IWorkbenchExtensionEnablementService, IWorkbenchExtensionManagementService } from '../../extensionManagement/common/extensionManagement.service.js';
18
+ import { ExtensionDescriptionRegistrySnapshot } from './extensionDescriptionRegistry.js';
19
+ import { IExtensionHostKindPicker, ExtensionHostKind } from 'vscode/vscode/vs/workbench/services/extensions/common/extensionHostKind';
20
+ import { IExtensionHostManager } from './extensionHostManagers.js';
21
+ import { IExtensionManifestPropertiesService } from './extensionManifestPropertiesService.service.js';
22
+ import { ExtensionRunningLocation } from 'vscode/vscode/vs/workbench/services/extensions/common/extensionRunningLocation';
23
+ import { ExtensionRunningLocationTracker } from './extensionRunningLocationTracker.js';
24
+ import { IWillActivateEvent, IResponsiveStateChangeEvent, WillStopExtensionHostsEvent, IExtensionHost, ActivationKind, ExtensionActivationReason, ExtensionPointContribution, IExtensionsStatus } from 'vscode/vscode/vs/workbench/services/extensions/common/extensions';
25
+ import { IExtensionService } from 'vscode/vscode/vs/workbench/services/extensions/common/extensions.service';
26
+ import { ExtensionsProposedApi } from './extensionsProposedApi.js';
27
+ import { IExtensionPoint } from 'vscode/vscode/vs/workbench/services/extensions/common/extensionsRegistry';
28
+ import { ILifecycleService } from 'vscode/vscode/vs/workbench/services/lifecycle/common/lifecycle.service';
29
+ import { IRemoteAgentService } from 'vscode/vscode/vs/workbench/services/remote/common/remoteAgentService.service';
30
+
31
+ declare abstract class AbstractExtensionService extends Disposable implements IExtensionService {
32
+ protected readonly _extensionsProposedApi: ExtensionsProposedApi;
33
+ protected readonly _extensionHostFactory: IExtensionHostFactory;
34
+ protected readonly _extensionHostKindPicker: IExtensionHostKindPicker;
35
+ protected readonly _instantiationService: IInstantiationService;
36
+ protected readonly _notificationService: INotificationService;
37
+ protected readonly _environmentService: IWorkbenchEnvironmentService;
38
+ protected readonly _telemetryService: ITelemetryService;
39
+ protected readonly _extensionEnablementService: IWorkbenchExtensionEnablementService;
40
+ protected readonly _fileService: IFileService;
41
+ protected readonly _productService: IProductService;
42
+ protected readonly _extensionManagementService: IWorkbenchExtensionManagementService;
43
+ private readonly _contextService;
44
+ private readonly _configurationService;
45
+ private readonly _extensionManifestPropertiesService;
46
+ protected readonly _logService: ILogService;
47
+ protected readonly _remoteAgentService: IRemoteAgentService;
48
+ protected readonly _remoteExtensionsScannerService: IRemoteExtensionsScannerService;
49
+ private readonly _lifecycleService;
50
+ protected readonly _remoteAuthorityResolverService: IRemoteAuthorityResolverService;
51
+ private readonly _dialogService;
52
+ _serviceBrand: undefined;
53
+ private readonly _onDidRegisterExtensions;
54
+ readonly onDidRegisterExtensions: Event<void>;
55
+ private readonly _onDidChangeExtensionsStatus;
56
+ readonly onDidChangeExtensionsStatus: Event<ExtensionIdentifier[]>;
57
+ private readonly _onDidChangeExtensions;
58
+ readonly onDidChangeExtensions: Event<{
59
+ readonly added: ReadonlyArray<IExtensionDescription>;
60
+ readonly removed: ReadonlyArray<IExtensionDescription>;
61
+ }>;
62
+ private readonly _onWillActivateByEvent;
63
+ readonly onWillActivateByEvent: Event<IWillActivateEvent>;
64
+ private readonly _onDidChangeResponsiveChange;
65
+ readonly onDidChangeResponsiveChange: Event<IResponsiveStateChangeEvent>;
66
+ private readonly _onWillStop;
67
+ readonly onWillStop: Event<WillStopExtensionHostsEvent>;
68
+ private readonly _activationEventReader;
69
+ private readonly _registry;
70
+ private readonly _installedExtensionsReady;
71
+ private readonly _extensionStatus;
72
+ private readonly _allRequestedActivateEvents;
73
+ private readonly _runningLocations;
74
+ private readonly _remoteCrashTracker;
75
+ private _deltaExtensionsQueue;
76
+ private _inHandleDeltaExtensions;
77
+ private _extensionHostManagers;
78
+ private _resolveAuthorityAttempt;
79
+ constructor(_extensionsProposedApi: ExtensionsProposedApi, _extensionHostFactory: IExtensionHostFactory, _extensionHostKindPicker: IExtensionHostKindPicker, _instantiationService: IInstantiationService, _notificationService: INotificationService, _environmentService: IWorkbenchEnvironmentService, _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, _dialogService: IDialogService);
80
+ protected _getExtensionHostManagers(kind: ExtensionHostKind): IExtensionHostManager[];
81
+ private _getExtensionHostManagerByRunningLocation;
82
+ protected _handleDeltaExtensions(item: DeltaExtensionsQueueItem): Promise<void>;
83
+ private _deltaExtensions;
84
+ private _updateExtensionsOnExtHosts;
85
+ private _updateExtensionsOnExtHost;
86
+ canAddExtension(extension: IExtensionDescription): boolean;
87
+ private _canAddExtension;
88
+ canRemoveExtension(extension: IExtensionDescription): boolean;
89
+ private _activateAddedExtensionIfNeeded;
90
+ protected _initialize(): Promise<void>;
91
+ private _processExtensions;
92
+ private _handleExtensionTests;
93
+ private findTestExtensionHost;
94
+ private _releaseBarrier;
95
+ protected _resolveAuthorityInitial(remoteAuthority: string): Promise<ResolverResult>;
96
+ protected _resolveAuthorityAgain(): Promise<void>;
97
+ private _resolveAuthorityWithLogging;
98
+ protected _resolveAuthorityOnExtensionHosts(kind: ExtensionHostKind, remoteAuthority: string): Promise<ResolverResult>;
99
+ stopExtensionHosts(reason: string): Promise<boolean>;
100
+ protected _doStopExtensionHosts(): void;
101
+ private _doStopExtensionHostsWithVeto;
102
+ private _startExtensionHostsIfNecessary;
103
+ private _createExtensionHostManager;
104
+ protected _doCreateExtensionHostManager(extensionHost: IExtensionHost, initialActivationEvents: string[]): IExtensionHostManager;
105
+ private _onExtensionHostCrashOrExit;
106
+ protected _onExtensionHostCrashed(extensionHost: IExtensionHostManager, code: number, signal: string | null): void;
107
+ private _getExtensionHostExitInfoWithTimeout;
108
+ private _onRemoteExtensionHostCrashed;
109
+ protected _logExtensionHostCrash(extensionHost: IExtensionHostManager): void;
110
+ startExtensionHosts(updates?: {
111
+ toAdd: IExtension[];
112
+ toRemove: string[];
113
+ }): Promise<void>;
114
+ activateByEvent(activationEvent: string, activationKind?: ActivationKind): Promise<void>;
115
+ private _activateByEvent;
116
+ activateById(extensionId: ExtensionIdentifier, reason: ExtensionActivationReason): Promise<void>;
117
+ activationEventIsDone(activationEvent: string): boolean;
118
+ whenInstalledExtensionsRegistered(): Promise<boolean>;
119
+ get extensions(): IExtensionDescription[];
120
+ protected _getExtensionRegistrySnapshotWhenReady(): Promise<ExtensionDescriptionRegistrySnapshot>;
121
+ getExtension(id: string): Promise<IExtensionDescription | undefined>;
122
+ readExtensionPointContributions<T extends IExtensionContributions[keyof IExtensionContributions]>(extPoint: IExtensionPoint<T>): Promise<ExtensionPointContribution<T>[]>;
123
+ getExtensionsStatus(): {
124
+ [id: string]: IExtensionsStatus;
125
+ };
126
+ getInspectPorts(extensionHostKind: ExtensionHostKind, tryEnableInspector: boolean): Promise<number[]>;
127
+ setRemoteEnvironment(env: {
128
+ [key: string]: string | null;
129
+ }): Promise<void>;
130
+ private _safeInvokeIsEnabled;
131
+ private _doHandleExtensionPoints;
132
+ private _getOrCreateExtensionStatus;
133
+ private _handleExtensionPointMessage;
134
+ private static _handleExtensionPoint;
135
+ private _acquireInternalAPI;
136
+ _activateById(extensionId: ExtensionIdentifier, reason: ExtensionActivationReason): Promise<void>;
137
+ private _onWillActivateExtension;
138
+ private _onDidActivateExtension;
139
+ private _onDidActivateExtensionError;
140
+ private _onExtensionRuntimeError;
141
+ protected abstract _resolveExtensions(): Promise<ResolvedExtensions>;
142
+ protected abstract _scanSingleExtension(extension: IExtension): Promise<IExtensionDescription | null>;
143
+ protected abstract _onExtensionHostExit(code: number): void;
144
+ protected abstract _resolveAuthority(remoteAuthority: string): Promise<ResolverResult>;
145
+ }
146
+ declare class ResolvedExtensions {
147
+ readonly local: IExtensionDescription[];
148
+ readonly remote: IExtensionDescription[];
149
+ readonly hasLocalProcess: boolean;
150
+ readonly allowRemoteExtensionsInLocalWebWorker: boolean;
151
+ constructor(local: IExtensionDescription[], remote: IExtensionDescription[], hasLocalProcess: boolean, allowRemoteExtensionsInLocalWebWorker: boolean);
152
+ }
153
+ interface IExtensionHostFactory {
154
+ createExtensionHost(runningLocations: ExtensionRunningLocationTracker, runningLocation: ExtensionRunningLocation, isInitialStart: boolean): IExtensionHost | null;
155
+ }
156
+ declare class DeltaExtensionsQueueItem {
157
+ readonly toAdd: IExtension[];
158
+ readonly toRemove: string[] | IExtension[];
159
+ constructor(toAdd: IExtension[], toRemove: string[] | IExtension[]);
160
+ }
161
+
162
+ export { AbstractExtensionService, DeltaExtensionsQueueItem, type IExtensionHostFactory, ResolvedExtensions };
@@ -10,38 +10,40 @@ import { isCI } from 'vscode/vscode/vs/base/common/platform';
10
10
  import { isEqualOrParent } from 'vscode/vscode/vs/base/common/resources';
11
11
  import { StopWatch } from 'vscode/vscode/vs/base/common/stopwatch';
12
12
  import { localizeWithPath } from 'vscode/vscode/vs/nls';
13
- import { IConfigurationService } from 'vscode/vscode/vs/platform/configuration/common/configuration';
14
- import '../../../../../../../override/vs/platform/dialogs/common/dialogs.js';
13
+ import { IConfigurationService } from 'vscode/vscode/vs/platform/configuration/common/configuration.service';
14
+ import { IDialogService } from 'vscode/vscode/vs/platform/dialogs/common/dialogs.service';
15
15
  import { ImplicitActivationEvents } from 'vscode/vscode/vs/platform/extensionManagement/common/implicitActivationEvents';
16
16
  import { ExtensionIdentifierMap, ExtensionIdentifier } from 'vscode/vscode/vs/platform/extensions/common/extensions';
17
- import { IFileService } from 'vscode/vscode/vs/platform/files/common/files';
17
+ import { IFileService } from 'vscode/vscode/vs/platform/files/common/files.service';
18
18
  import { SyncDescriptor } from 'vscode/vscode/vs/platform/instantiation/common/descriptors';
19
19
  import { IInstantiationService } from 'vscode/vscode/vs/platform/instantiation/common/instantiation';
20
20
  import { handleVetos } from '../../../../platform/lifecycle/common/lifecycle.js';
21
- import { ILogService } from 'vscode/vscode/vs/platform/log/common/log';
22
- import { INotificationService, Severity } from 'vscode/vscode/vs/platform/notification/common/notification';
23
- import { IProductService } from 'vscode/vscode/vs/platform/product/common/productService';
21
+ import { ILogService } from 'vscode/vscode/vs/platform/log/common/log.service';
22
+ import 'vscode/vscode/vs/platform/notification/common/notification';
23
+ import { INotificationService } from 'vscode/vscode/vs/platform/notification/common/notification.service';
24
+ import { IProductService } from 'vscode/vscode/vs/platform/product/common/productService.service';
24
25
  import { Registry } from 'vscode/vscode/vs/platform/registry/common/platform';
25
- import { IRemoteAuthorityResolverService, RemoteAuthorityResolverError, getRemoteAuthorityPrefix, RemoteAuthorityResolverErrorCode } from 'vscode/vscode/vs/platform/remote/common/remoteAuthorityResolver';
26
- import { IRemoteExtensionsScannerService } from 'vscode/vscode/vs/platform/remote/common/remoteExtensionsScanner';
27
- import { ITelemetryService } from 'vscode/vscode/vs/platform/telemetry/common/telemetry';
28
- import { IWorkspaceContextService } from 'vscode/vscode/vs/platform/workspace/common/workspace';
29
- import { IWorkbenchEnvironmentService } from 'vscode/vscode/vs/workbench/services/environment/common/environmentService';
26
+ import { RemoteAuthorityResolverError, getRemoteAuthorityPrefix, RemoteAuthorityResolverErrorCode } from 'vscode/vscode/vs/platform/remote/common/remoteAuthorityResolver';
27
+ import { IRemoteAuthorityResolverService } from 'vscode/vscode/vs/platform/remote/common/remoteAuthorityResolver.service';
28
+ import { IRemoteExtensionsScannerService } from 'vscode/vscode/vs/platform/remote/common/remoteExtensionsScanner.service';
29
+ import { ITelemetryService } from 'vscode/vscode/vs/platform/telemetry/common/telemetry.service';
30
+ import { IWorkspaceContextService } from 'vscode/vscode/vs/platform/workspace/common/workspace.service';
31
+ import { IWorkbenchEnvironmentService } from 'vscode/vscode/vs/workbench/services/environment/common/environmentService.service';
30
32
  import { Extensions } from 'vscode/vscode/vs/workbench/services/extensionManagement/common/extensionFeatures';
31
- import { IWorkbenchExtensionEnablementService, IWorkbenchExtensionManagementService } from 'vscode/vscode/vs/workbench/services/extensionManagement/common/extensionManagement';
33
+ import { IWorkbenchExtensionEnablementService, IWorkbenchExtensionManagementService } from 'vscode/vscode/vs/workbench/services/extensionManagement/common/extensionManagement.service';
32
34
  import { LockableExtensionDescriptionRegistry } from 'vscode/vscode/vs/workbench/services/extensions/common/extensionDescriptionRegistry';
33
35
  import { parseExtensionDevOptions } from './extensionDevOptions.js';
34
36
  import { ExtensionHostManager } from './extensionHostManager.js';
35
- import { IExtensionManifestPropertiesService } from 'vscode/vscode/vs/workbench/services/extensions/common/extensionManifestPropertiesService';
37
+ import { IExtensionManifestPropertiesService } from 'vscode/vscode/vs/workbench/services/extensions/common/extensionManifestPropertiesService.service';
36
38
  import { RemoteRunningLocation, LocalProcessRunningLocation, LocalWebWorkerRunningLocation } from 'vscode/vscode/vs/workbench/services/extensions/common/extensionRunningLocation';
37
39
  import { ExtensionRunningLocationTracker, filterExtensionIdentifiers } from './extensionRunningLocationTracker.js';
38
40
  import { ExtensionPointContribution, ActivationTimes, toExtension } from 'vscode/vscode/vs/workbench/services/extensions/common/extensions';
39
41
  import { ExtensionsRegistry, ExtensionMessageCollector } from 'vscode/vscode/vs/workbench/services/extensions/common/extensionsRegistry';
40
42
  import { LazyCreateExtensionHostManager } from './lazyCreateExtensionHostManager.js';
41
43
  import { checkGlobFileExists, checkActivateWorkspaceContainsExtension } from 'vscode/vscode/vs/workbench/services/extensions/common/workspaceContains';
42
- import { ILifecycleService } from 'vscode/vscode/vs/workbench/services/lifecycle/common/lifecycle';
43
- import { IRemoteAgentService } from 'vscode/vscode/vs/workbench/services/remote/common/remoteAgentService';
44
- import { IDialogService } from 'vscode/vscode/vs/platform/dialogs/common/dialogs';
44
+ import { ILifecycleService } from 'vscode/vscode/vs/workbench/services/lifecycle/common/lifecycle.service';
45
+ import { IRemoteAgentService } from 'vscode/vscode/vs/workbench/services/remote/common/remoteAgentService.service';
46
+ import Severity$1 from 'vscode/vscode/vs/base/common/severity';
45
47
 
46
48
  var AbstractExtensionService_1;
47
49
  const hasOwnProperty = Object.hasOwnProperty;
@@ -236,7 +238,7 @@ let AbstractExtensionService = AbstractExtensionService_1 = class AbstractExtens
236
238
  toRemove = toRemove.concat(result.removedDueToLooping);
237
239
  if (result.removedDueToLooping.length > 0) {
238
240
  this._notificationService.notify({
239
- severity: Severity.Error,
241
+ severity: Severity$1.Error,
240
242
  message: ( localizeWithPath(
241
243
  'vs/workbench/services/extensions/common/abstractExtensionService',
242
244
  'looping',
@@ -391,7 +393,7 @@ let AbstractExtensionService = AbstractExtensionService_1 = class AbstractExtens
391
393
  const result = this._registry.deltaExtensions(lock, allExtensions, []);
392
394
  if (result.removedDueToLooping.length > 0) {
393
395
  this._notificationService.notify({
394
- severity: Severity.Error,
396
+ severity: Severity$1.Error,
395
397
  message: ( localizeWithPath(
396
398
  'vs/workbench/services/extensions/common/abstractExtensionService',
397
399
  'looping',
@@ -714,7 +716,7 @@ let AbstractExtensionService = AbstractExtensionService_1 = class AbstractExtens
714
716
  this._startExtensionHostsIfNecessary(false, Array.from(( this._allRequestedActivateEvents.keys())));
715
717
  }
716
718
  else {
717
- this._notificationService.prompt(Severity.Error, ( localizeWithPath(
719
+ this._notificationService.prompt(Severity$1.Error, ( localizeWithPath(
718
720
  'vs/workbench/services/extensions/common/abstractExtensionService',
719
721
  'extensionService.crash',
720
722
  "Remote Extension host terminated unexpectedly 3 times within the last 5 minutes."
@@ -895,15 +897,15 @@ let AbstractExtensionService = AbstractExtensionService_1 = class AbstractExtens
895
897
  extensionStatus.addMessage(msg);
896
898
  const extension = this._registry.getExtensionDescription(msg.extensionId);
897
899
  const strMsg = `[${msg.extensionId.value}]: ${msg.message}`;
898
- if (msg.type === Severity.Error) {
900
+ if (msg.type === Severity$1.Error) {
899
901
  if (extension && extension.isUnderDevelopment) {
900
- this._notificationService.notify({ severity: Severity.Error, message: strMsg });
902
+ this._notificationService.notify({ severity: Severity$1.Error, message: strMsg });
901
903
  }
902
904
  this._logService.error(strMsg);
903
905
  }
904
- else if (msg.type === Severity.Warning) {
906
+ else if (msg.type === Severity$1.Warning) {
905
907
  if (extension && extension.isUnderDevelopment) {
906
- this._notificationService.notify({ severity: Severity.Warning, message: strMsg });
908
+ this._notificationService.notify({ severity: Severity$1.Warning, message: strMsg });
907
909
  }
908
910
  this._logService.warn(strMsg);
909
911
  }
@@ -0,0 +1,18 @@
1
+ import { IExtensionDescription, ExtensionIdentifier } from 'vscode/vscode/vs/platform/extensions/common/extensions';
2
+
3
+ interface IReadOnlyExtensionDescriptionRegistry {
4
+ containsActivationEvent(activationEvent: string): boolean;
5
+ containsExtension(extensionId: ExtensionIdentifier): boolean;
6
+ getExtensionDescriptionsForActivationEvent(activationEvent: string): IExtensionDescription[];
7
+ getAllExtensionDescriptions(): IExtensionDescription[];
8
+ getExtensionDescription(extensionId: ExtensionIdentifier | string): IExtensionDescription | undefined;
9
+ getExtensionDescriptionByUUID(uuid: string): IExtensionDescription | undefined;
10
+ getExtensionDescriptionByIdOrUUID(extensionId: ExtensionIdentifier | string, uuid: string | undefined): IExtensionDescription | undefined;
11
+ }
12
+ declare class ExtensionDescriptionRegistrySnapshot {
13
+ readonly versionId: number;
14
+ readonly extensions: readonly IExtensionDescription[];
15
+ constructor(versionId: number, extensions: readonly IExtensionDescription[]);
16
+ }
17
+
18
+ export { ExtensionDescriptionRegistrySnapshot, type IReadOnlyExtensionDescriptionRegistry };
@@ -9,11 +9,11 @@ import { localize2WithPath } from 'vscode/vscode/vs/nls';
9
9
  import { Categories } from 'vscode/vscode/vs/platform/action/common/actionCommonCategories';
10
10
  import { registerAction2, Action2 } from 'vscode/vscode/vs/platform/actions/common/actions';
11
11
  import { IInstantiationService } from 'vscode/vscode/vs/platform/instantiation/common/instantiation';
12
- import { ILogService } from 'vscode/vscode/vs/platform/log/common/log';
13
- import { RemoteAuthorityResolverErrorCode, getRemoteAuthorityPrefix } from 'vscode/vscode/vs/platform/remote/common/remoteAuthorityResolver';
14
- import { ITelemetryService } from 'vscode/vscode/vs/platform/telemetry/common/telemetry';
15
- import { IEditorService } from 'vscode/vscode/vs/workbench/services/editor/common/editorService';
16
- import { IWorkbenchEnvironmentService } from 'vscode/vscode/vs/workbench/services/environment/common/environmentService';
12
+ import { ILogService } from 'vscode/vscode/vs/platform/log/common/log.service';
13
+ import { getRemoteAuthorityPrefix, RemoteAuthorityResolverErrorCode } from 'vscode/vscode/vs/platform/remote/common/remoteAuthorityResolver';
14
+ import { ITelemetryService } from 'vscode/vscode/vs/platform/telemetry/common/telemetry.service';
15
+ import { IEditorService } from 'vscode/vscode/vs/workbench/services/editor/common/editorService.service';
16
+ import { IWorkbenchEnvironmentService } from 'vscode/vscode/vs/workbench/services/environment/common/environmentService.service';
17
17
  import { ExtHostCustomersRegistry } from './extHostCustomers.js';
18
18
  import { extensionHostKindToString } from 'vscode/vscode/vs/workbench/services/extensions/common/extensionHostKind';
19
19
  import { RPCProtocol } from 'vscode/vscode/vs/workbench/services/extensions/common/rpcProtocol';