@codingame/monaco-vscode-extensions-service-override 1.83.7 → 1.83.9

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 (183) hide show
  1. package/assets/webWorkerExtensionHostIframe.html +123 -0
  2. package/extensions.d.ts +12 -13
  3. package/extensions.js +456 -0
  4. package/external/rollup-plugin-styles/dist/runtime/inject-css.js +3 -0
  5. package/external/tslib/tslib.es6.js +11 -0
  6. package/index.d.ts +1 -1
  7. package/index.js +2 -2
  8. package/override/vs/platform/dialogs/common/dialogs.js +8 -0
  9. package/override/vs/workbench/browser/parts/editor/textEditor.weak.js +8 -0
  10. package/override/vs/workbench/contrib/notebook/common/notebookEditorInput.js +3 -0
  11. package/package.json +5 -3
  12. package/tools/url.js +10 -0
  13. package/tools.js +5 -0
  14. package/vscode/src/vs/base/common/console.js +59 -0
  15. package/vscode/src/vs/base/common/prefixTree.js +131 -0
  16. package/vscode/src/vs/platform/files/common/watcher.js +71 -0
  17. package/vscode/src/vs/platform/lifecycle/common/lifecycle.js +27 -0
  18. package/vscode/src/vs/platform/log/browser/log.js +26 -0
  19. package/vscode/src/vs/platform/remote/common/managedSocket.js +98 -0
  20. package/vscode/src/vs/workbench/api/browser/mainThreadAiEmbeddingVector.js +31 -0
  21. package/vscode/src/vs/workbench/api/browser/mainThreadAiRelatedInformation.js +35 -0
  22. package/vscode/src/vs/workbench/api/browser/mainThreadAuthentication.js +330 -0
  23. package/vscode/src/vs/workbench/api/browser/mainThreadBulkEdits.js +68 -0
  24. package/vscode/src/vs/workbench/api/browser/mainThreadChat.js +174 -0
  25. package/vscode/src/vs/workbench/api/browser/mainThreadChatAgents.js +52 -0
  26. package/vscode/src/vs/workbench/api/browser/mainThreadChatProvider.js +61 -0
  27. package/vscode/src/vs/workbench/api/browser/mainThreadChatSlashCommands.js +49 -0
  28. package/vscode/src/vs/workbench/api/browser/mainThreadChatVariables.js +31 -0
  29. package/vscode/src/vs/workbench/api/browser/mainThreadClipboard.js +24 -0
  30. package/vscode/src/vs/workbench/api/browser/mainThreadCodeInsets.js +107 -0
  31. package/vscode/src/vs/workbench/api/browser/mainThreadCommands.js +94 -0
  32. package/vscode/src/vs/workbench/api/browser/mainThreadComments.js +541 -0
  33. package/vscode/src/vs/workbench/api/browser/mainThreadConfiguration.js +80 -0
  34. package/vscode/src/vs/workbench/api/browser/mainThreadConsole.js +35 -0
  35. package/vscode/src/vs/workbench/api/browser/mainThreadCustomEditors.js +578 -0
  36. package/vscode/src/vs/workbench/api/browser/mainThreadDebugService.js +387 -0
  37. package/vscode/src/vs/workbench/api/browser/mainThreadDecorations.js +102 -0
  38. package/vscode/src/vs/workbench/api/browser/mainThreadDiagnostics.js +69 -0
  39. package/vscode/src/vs/workbench/api/browser/mainThreadDialogs.js +68 -0
  40. package/vscode/src/vs/workbench/api/browser/mainThreadDocumentContentProviders.js +75 -0
  41. package/vscode/src/vs/workbench/api/browser/mainThreadDocuments.js +249 -0
  42. package/vscode/src/vs/workbench/api/browser/mainThreadDocumentsAndEditors.js +370 -0
  43. package/vscode/src/vs/workbench/api/browser/mainThreadDownloadService.js +22 -0
  44. package/vscode/src/vs/workbench/api/browser/mainThreadEditSessionIdentityParticipant.js +41 -0
  45. package/vscode/src/vs/workbench/api/browser/mainThreadEditor.js +411 -0
  46. package/vscode/src/vs/workbench/api/browser/mainThreadEditorTabs.js +475 -0
  47. package/vscode/src/vs/workbench/api/browser/mainThreadEditors.js +227 -0
  48. package/vscode/src/vs/workbench/api/browser/mainThreadErrors.js +24 -0
  49. package/vscode/src/vs/workbench/api/browser/mainThreadExtensionService.js +317 -0
  50. package/vscode/src/vs/workbench/api/browser/mainThreadFileSystem.js +280 -0
  51. package/vscode/src/vs/workbench/api/browser/mainThreadFileSystemEventService.js +283 -0
  52. package/vscode/src/vs/workbench/api/browser/mainThreadInlineChat.js +68 -0
  53. package/vscode/src/vs/workbench/api/browser/mainThreadInteractive.js +28 -0
  54. package/vscode/src/vs/workbench/api/browser/mainThreadIssueReporter.js +33 -0
  55. package/vscode/src/vs/workbench/api/browser/mainThreadLabelService.js +27 -0
  56. package/vscode/src/vs/workbench/api/browser/mainThreadLanguageFeatures.js +947 -0
  57. package/vscode/src/vs/workbench/api/browser/mainThreadLanguages.js +78 -0
  58. package/vscode/src/vs/workbench/api/browser/mainThreadLocalization.js +35 -0
  59. package/vscode/src/vs/workbench/api/browser/mainThreadLogService.js +78 -0
  60. package/vscode/src/vs/workbench/api/browser/mainThreadManagedSockets.js +93 -0
  61. package/vscode/src/vs/workbench/api/browser/mainThreadMessageService.js +118 -0
  62. package/vscode/src/vs/workbench/api/browser/mainThreadNotebook.js +158 -0
  63. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookDocuments.js +123 -0
  64. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookDocumentsAndEditors.js +188 -0
  65. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookDto.js +129 -0
  66. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookEditors.js +131 -0
  67. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookKernels.js +341 -0
  68. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookRenderers.js +25 -0
  69. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookSaveParticipant.js +48 -0
  70. package/vscode/src/vs/workbench/api/browser/mainThreadOutputService.js +76 -0
  71. package/vscode/src/vs/workbench/api/browser/mainThreadProfilContentHandlers.js +38 -0
  72. package/vscode/src/vs/workbench/api/browser/mainThreadProgress.js +68 -0
  73. package/vscode/src/vs/workbench/api/browser/mainThreadQuickDiff.js +49 -0
  74. package/vscode/src/vs/workbench/api/browser/mainThreadQuickOpen.js +185 -0
  75. package/vscode/src/vs/workbench/api/browser/mainThreadRemoteConnectionData.js +30 -0
  76. package/vscode/src/vs/workbench/api/browser/mainThreadSCM.js +463 -0
  77. package/vscode/src/vs/workbench/api/browser/mainThreadSaveParticipant.js +49 -0
  78. package/vscode/src/vs/workbench/api/browser/mainThreadSearch.js +148 -0
  79. package/vscode/src/vs/workbench/api/browser/mainThreadSecretState.js +70 -0
  80. package/vscode/src/vs/workbench/api/browser/mainThreadShare.js +50 -0
  81. package/vscode/src/vs/workbench/api/browser/mainThreadStatusBar.js +53 -0
  82. package/vscode/src/vs/workbench/api/browser/mainThreadStorage.js +72 -0
  83. package/vscode/src/vs/workbench/api/browser/mainThreadTask.js +731 -0
  84. package/vscode/src/vs/workbench/api/browser/mainThreadTelemetry.js +53 -0
  85. package/vscode/src/vs/workbench/api/browser/mainThreadTerminalService.js +412 -0
  86. package/vscode/src/vs/workbench/api/browser/mainThreadTesting.js +182 -0
  87. package/vscode/src/vs/workbench/api/browser/mainThreadTheming.js +24 -0
  88. package/vscode/src/vs/workbench/api/browser/mainThreadTimeline.js +55 -0
  89. package/vscode/src/vs/workbench/api/browser/mainThreadTreeViews.js +313 -0
  90. package/vscode/src/vs/workbench/api/browser/mainThreadTunnelService.js +223 -0
  91. package/vscode/src/vs/workbench/api/browser/mainThreadUriOpeners.js +110 -0
  92. package/vscode/src/vs/workbench/api/browser/mainThreadUrls.js +61 -0
  93. package/vscode/src/vs/workbench/api/browser/mainThreadWebviewManager.js +29 -0
  94. package/vscode/src/vs/workbench/api/browser/mainThreadWebviewPanels.js +283 -0
  95. package/vscode/src/vs/workbench/api/browser/mainThreadWebviewViews.js +100 -0
  96. package/vscode/src/vs/workbench/api/browser/mainThreadWebviews.js +135 -0
  97. package/vscode/src/vs/workbench/api/browser/mainThreadWindow.js +57 -0
  98. package/vscode/src/vs/workbench/api/browser/mainThreadWorkspace.js +273 -0
  99. package/{dist/main/vscode → vscode}/src/vs/workbench/api/common/extHost.api.impl.d.ts +2 -2
  100. package/{dist/main/vscode → vscode}/src/vs/workbench/api/common/extHostConfiguration.d.ts +3 -3
  101. package/{dist/main/vscode → vscode}/src/vs/workbench/api/common/extHostExtensionService.d.ts +3 -4
  102. package/{dist/main/vscode → vscode}/src/vs/workbench/api/common/extHostManagedSockets.d.ts +2 -2
  103. package/{dist/main/vscode → vscode}/src/vs/workbench/api/common/extHostTerminalService.d.ts +19 -20
  104. package/{dist/main/vscode → vscode}/src/vs/workbench/api/common/extHostTunnelService.d.ts +7 -8
  105. package/{dist/main/vscode → vscode}/src/vs/workbench/api/common/extHostWorkspace.d.ts +25 -26
  106. package/vscode/src/vs/workbench/api/common/shared/dataTransferCache.js +35 -0
  107. package/vscode/src/vs/workbench/contrib/chat/common/chatModel.js +217 -0
  108. package/vscode/src/vs/workbench/contrib/comments/browser/commentColors.js +57 -0
  109. package/vscode/src/vs/workbench/contrib/comments/browser/commentFormActions.js +51 -0
  110. package/vscode/src/vs/workbench/contrib/comments/browser/commentGlyphWidget.js +92 -0
  111. package/vscode/src/vs/workbench/contrib/comments/browser/commentNode.js +648 -0
  112. package/vscode/src/vs/workbench/contrib/comments/browser/commentReply.js +297 -0
  113. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadAdditionalActions.js +62 -0
  114. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadBody.js +249 -0
  115. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadHeader.js +109 -0
  116. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadRangeDecorator.js +109 -0
  117. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadWidget.js +331 -0
  118. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadZoneWidget.js +380 -0
  119. package/vscode/src/vs/workbench/contrib/comments/browser/comments.js +5 -0
  120. package/vscode/src/vs/workbench/contrib/comments/browser/commentsController.js +1196 -0
  121. package/vscode/src/vs/workbench/contrib/comments/browser/commentsFilterOptions.js +19 -0
  122. package/vscode/src/vs/workbench/contrib/comments/browser/commentsTreeViewer.js +334 -0
  123. package/vscode/src/vs/workbench/contrib/comments/browser/commentsView.js +543 -0
  124. package/vscode/src/vs/workbench/contrib/comments/browser/commentsViewActions.js +178 -0
  125. package/vscode/src/vs/workbench/contrib/comments/browser/media/panel.css.js +6 -0
  126. package/vscode/src/vs/workbench/contrib/comments/browser/media/review.css.js +6 -0
  127. package/vscode/src/vs/workbench/contrib/comments/browser/reactionsAction.js +101 -0
  128. package/vscode/src/vs/workbench/contrib/comments/browser/timestamp.js +57 -0
  129. package/vscode/src/vs/workbench/contrib/comments/common/commentModel.js +145 -0
  130. package/vscode/src/vs/workbench/contrib/comments/common/commentsConfiguration.js +3 -0
  131. package/vscode/src/vs/workbench/contrib/customEditor/common/customTextEditorModel.js +73 -0
  132. package/vscode/src/vs/workbench/contrib/externalUriOpener/common/contributedOpeners.js +83 -0
  133. package/vscode/src/vs/workbench/contrib/interactive/browser/interactiveEditorInput.js +179 -0
  134. package/vscode/src/vs/workbench/contrib/interactive/browser/interactiveHistoryService.js +5 -0
  135. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInput.js +144 -0
  136. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInputModel.js +482 -0
  137. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeMarkers/mergeMarkersController.js +6 -0
  138. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/diffComputer.js +85 -0
  139. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/editing.js +56 -0
  140. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/lineRange.js +110 -0
  141. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/mapping.js +260 -0
  142. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/mergeEditorModel.js +616 -0
  143. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/modifiedBaseRange.js +309 -0
  144. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/rangeUtils.js +38 -0
  145. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/textModelDiffs.js +167 -0
  146. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/telemetry.js +80 -0
  147. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/utils.js +70 -0
  148. package/vscode/src/vs/workbench/contrib/mergeEditor/common/mergeEditor.js +3 -0
  149. package/vscode/src/vs/workbench/contrib/notebook/common/notebookEditorModel.js +108 -0
  150. package/vscode/src/vs/workbench/contrib/tasks/common/tasks.js +506 -0
  151. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalProcessExtHostProxy.js +132 -0
  152. package/vscode/src/vs/workbench/contrib/testing/common/getComputedState.js +103 -0
  153. package/vscode/src/vs/workbench/contrib/testing/common/observableValue.js +28 -0
  154. package/vscode/src/vs/workbench/contrib/testing/common/testCoverage.js +25 -0
  155. package/vscode/src/vs/workbench/contrib/testing/common/testResult.js +336 -0
  156. package/vscode/src/vs/workbench/contrib/testing/common/testingStates.js +46 -0
  157. package/vscode/src/vs/workbench/services/extensions/browser/extensionService.js +283 -0
  158. package/vscode/src/vs/workbench/services/extensions/browser/webWorkerExtensionHost.js +273 -0
  159. package/vscode/src/vs/workbench/services/extensions/browser/webWorkerFileSystemProvider.js +52 -0
  160. package/vscode/src/vs/workbench/services/extensions/common/abstractExtensionService.js +1093 -0
  161. package/vscode/src/vs/workbench/services/extensions/common/extHostCustomers.js +41 -0
  162. package/vscode/src/vs/workbench/services/extensions/common/extensionDevOptions.js +25 -0
  163. package/vscode/src/vs/workbench/services/extensions/common/extensionHostManager.js +643 -0
  164. package/vscode/src/vs/workbench/services/extensions/common/extensionRunningLocationTracker.js +274 -0
  165. package/vscode/src/vs/workbench/services/extensions/common/extensionStorageMigration.js +58 -0
  166. package/vscode/src/vs/workbench/services/extensions/common/extensionsProposedApi.js +80 -0
  167. package/vscode/src/vs/workbench/services/extensions/common/extensionsUtil.js +64 -0
  168. package/vscode/src/vs/workbench/services/extensions/common/remoteConsoleUtil.js +49 -0
  169. package/vscode/src/vs/workbench/services/extensions/common/remoteExtensionHost.js +220 -0
  170. package/vscode/src/vs/workbench/services/themes/common/iconExtensionPoint.js +5 -0
  171. package/vscode/src/vs/workbench/services/workingCopy/common/resourceWorkingCopy.js +79 -0
  172. package/vscode-proposed.d.ts +0 -3872
  173. /package/{dist/main/vscode → vscode}/src/vs/workbench/api/common/extHost.protocol.d.ts +0 -0
  174. /package/{dist/main/vscode → vscode}/src/vs/workbench/api/common/extHostExtensionActivator.d.ts +0 -0
  175. /package/{dist/main/vscode → vscode}/src/vs/workbench/api/common/extHostFileSystemInfo.d.ts +0 -0
  176. /package/{dist/main/vscode → vscode}/src/vs/workbench/api/common/extHostInitDataService.d.ts +0 -0
  177. /package/{dist/main/vscode → vscode}/src/vs/workbench/api/common/extHostLocalizationService.d.ts +0 -0
  178. /package/{dist/main/vscode → vscode}/src/vs/workbench/api/common/extHostRpcService.d.ts +0 -0
  179. /package/{dist/main/vscode → vscode}/src/vs/workbench/api/common/extHostStoragePaths.d.ts +0 -0
  180. /package/{dist/main/vscode → vscode}/src/vs/workbench/api/common/extHostTypes.d.ts +0 -0
  181. /package/{dist/main/vscode → vscode}/src/vs/workbench/api/common/extHostUriTransformerService.d.ts +0 -0
  182. /package/{dist/main/vscode → vscode}/src/vs/workbench/api/worker/extHostExtensionService.d.ts +0 -0
  183. /package/{dist/main/vscode → vscode}/src/vs/workbench/services/search/common/queryBuilder.d.ts +0 -0
@@ -0,0 +1,283 @@
1
+ import { __decorate, __param } from '../../../../../../../external/tslib/tslib.es6.js';
2
+ import { Schemas } from 'monaco-editor/esm/vs/base/common/network.js';
3
+ import { IConfigurationService } from 'monaco-editor/esm/vs/platform/configuration/common/configuration.js';
4
+ import '../../../../../../../override/vs/platform/dialogs/common/dialogs.js';
5
+ import { IFileService } from 'monaco-editor/esm/vs/platform/files/common/files.js';
6
+ import { IInstantiationService } from 'monaco-editor/esm/vs/platform/instantiation/common/instantiation.js';
7
+ import { getLogs } from '../../../../platform/log/browser/log.js';
8
+ import { ILogService } from 'monaco-editor/esm/vs/platform/log/common/log.js';
9
+ import { INotificationService } from 'monaco-editor/esm/vs/platform/notification/common/notification.js';
10
+ import { IProductService } from 'monaco-editor/esm/vs/platform/product/common/productService.js';
11
+ import { IRemoteAuthorityResolverService, RemoteAuthorityResolverError } from 'vscode/vscode/vs/platform/remote/common/remoteAuthorityResolver';
12
+ import { IRemoteExtensionsScannerService } from 'vscode/vscode/vs/platform/remote/common/remoteExtensionsScanner';
13
+ import { ITelemetryService } from 'monaco-editor/esm/vs/platform/telemetry/common/telemetry.js';
14
+ import { IWorkspaceContextService } from 'monaco-editor/esm/vs/platform/workspace/common/workspace.js';
15
+ import { IWorkspaceTrustManagementService } from 'monaco-editor/esm/vs/platform/workspace/common/workspaceTrust.js';
16
+ import { IBrowserWorkbenchEnvironmentService } from 'vscode/vscode/vs/workbench/services/environment/browser/environmentService';
17
+ import { IWorkbenchExtensionEnablementService, IWorkbenchExtensionManagementService, IWebExtensionsScannerService } from 'vscode/vscode/vs/workbench/services/extensionManagement/common/extensionManagement';
18
+ import { WebWorkerExtensionHost } from './webWorkerExtensionHost.js';
19
+ import { FetchFileSystemProvider } from './webWorkerFileSystemProvider.js';
20
+ import { AbstractExtensionService, ResolvedExtensions, checkEnabledAndProposedAPI } from '../common/abstractExtensionService.js';
21
+ import { extensionRunningPreferenceToString, extensionHostKindToString } from 'vscode/vscode/vs/workbench/services/extensions/common/extensionHostKind';
22
+ import { IExtensionManifestPropertiesService } from 'vscode/vscode/vs/workbench/services/extensions/common/extensionManifestPropertiesService';
23
+ import { filterExtensionDescriptions } from '../common/extensionRunningLocationTracker.js';
24
+ import { toExtensionDescription, ExtensionHostExtensions } from 'vscode/vscode/vs/workbench/services/extensions/common/extensions';
25
+ import { dedupExtensions } from '../common/extensionsUtil.js';
26
+ import { RemoteExtensionHost } from '../common/remoteExtensionHost.js';
27
+ import { ILifecycleService } from 'vscode/vscode/vs/workbench/services/lifecycle/common/lifecycle';
28
+ import { IRemoteAgentService } from 'vscode/vscode/vs/workbench/services/remote/common/remoteAgentService';
29
+ import { IRemoteExplorerService } from 'vscode/vscode/vs/workbench/services/remote/common/remoteExplorerService';
30
+ import { IUserDataInitializationService } from 'vscode/vscode/vs/workbench/services/userData/browser/userDataInit';
31
+ import { IUserDataProfileService } from 'vscode/vscode/vs/workbench/services/userDataProfile/common/userDataProfile';
32
+ import { IDialogService } from 'vscode/vscode/vs/platform/dialogs/common/dialogs';
33
+
34
+ var BrowserExtensionHostKindPicker_1;
35
+ let ExtensionService = class ExtensionService extends AbstractExtensionService {
36
+ constructor(extensionsProposedApi, extensionHostFactory, extensionHostKindPicker, instantiationService, notificationService, _browserEnvironmentService, telemetryService, extensionEnablementService, fileService, productService, extensionManagementService, contextService, configurationService, extensionManifestPropertiesService, _webExtensionsScannerService, logService, remoteAgentService, remoteExtensionsScannerService, lifecycleService, remoteAuthorityResolverService, _userDataInitializationService, _userDataProfileService, _workspaceTrustManagementService, _remoteExplorerService, dialogService) {
37
+ super(extensionsProposedApi, extensionHostFactory, extensionHostKindPicker, instantiationService, notificationService, _browserEnvironmentService, telemetryService, extensionEnablementService, fileService, productService, extensionManagementService, contextService, configurationService, extensionManifestPropertiesService, logService, remoteAgentService, remoteExtensionsScannerService, lifecycleService, remoteAuthorityResolverService, dialogService);
38
+ this._browserEnvironmentService = _browserEnvironmentService;
39
+ this._webExtensionsScannerService = _webExtensionsScannerService;
40
+ this._userDataInitializationService = _userDataInitializationService;
41
+ this._userDataProfileService = _userDataProfileService;
42
+ this._workspaceTrustManagementService = _workspaceTrustManagementService;
43
+ this._remoteExplorerService = _remoteExplorerService;
44
+ lifecycleService.when(2 ).then(async () => {
45
+ await this._userDataInitializationService.initializeInstalledExtensions(this._instantiationService);
46
+ this._initialize();
47
+ });
48
+ this._initFetchFileSystem();
49
+ }
50
+ async _scanSingleExtension(extension) {
51
+ if (extension.location.scheme === Schemas.vscodeRemote) {
52
+ return this._remoteExtensionsScannerService.scanSingleExtension(extension.location, extension.type === 0 );
53
+ }
54
+ const scannedExtension = await this._webExtensionsScannerService.scanExistingExtension(extension.location, extension.type, this._userDataProfileService.currentProfile.extensionsResource);
55
+ if (scannedExtension) {
56
+ return toExtensionDescription(scannedExtension);
57
+ }
58
+ return null;
59
+ }
60
+ _initFetchFileSystem() {
61
+ const provider = ( new FetchFileSystemProvider());
62
+ this._register(this._fileService.registerProvider(Schemas.http, provider));
63
+ this._register(this._fileService.registerProvider(Schemas.https, provider));
64
+ }
65
+ async _scanWebExtensions() {
66
+ const system = [], user = [], development = [];
67
+ try {
68
+ await Promise.all([
69
+ this._webExtensionsScannerService.scanSystemExtensions().then(extensions => system.push(...( extensions.map(e => toExtensionDescription(e))))),
70
+ this._webExtensionsScannerService.scanUserExtensions(this._userDataProfileService.currentProfile.extensionsResource, { skipInvalidExtensions: true }).then(extensions => user.push(...( extensions.map(e => toExtensionDescription(e))))),
71
+ this._webExtensionsScannerService.scanExtensionsUnderDevelopment().then(extensions => development.push(...( extensions.map(e => toExtensionDescription(e, true)))))
72
+ ]);
73
+ }
74
+ catch (error) {
75
+ this._logService.error(error);
76
+ }
77
+ return dedupExtensions(system, user, development, this._logService);
78
+ }
79
+ async _resolveExtensionsDefault() {
80
+ const [localExtensions, remoteExtensions] = await Promise.all([
81
+ this._scanWebExtensions(),
82
+ this._remoteExtensionsScannerService.scanExtensions()
83
+ ]);
84
+ return ( new ResolvedExtensions(
85
+ localExtensions,
86
+ remoteExtensions,
87
+ false,
88
+ true
89
+ ));
90
+ }
91
+ async _resolveExtensions() {
92
+ if (!this._browserEnvironmentService.expectsResolverExtension) {
93
+ return this._resolveExtensionsDefault();
94
+ }
95
+ const remoteAuthority = this._environmentService.remoteAuthority;
96
+ await this._workspaceTrustManagementService.workspaceResolved;
97
+ let resolverResult;
98
+ try {
99
+ resolverResult = await this._resolveAuthorityInitial(remoteAuthority);
100
+ }
101
+ catch (err) {
102
+ if (RemoteAuthorityResolverError.isHandled(err)) {
103
+ console.log(`Error handled: Not showing a notification for the error`);
104
+ }
105
+ this._remoteAuthorityResolverService._setResolvedAuthorityError(remoteAuthority, err);
106
+ return this._resolveExtensionsDefault();
107
+ }
108
+ this._remoteAuthorityResolverService._setResolvedAuthority(resolverResult.authority, resolverResult.options);
109
+ this._remoteExplorerService.setTunnelInformation(resolverResult.tunnelInformation);
110
+ const connection = this._remoteAgentService.getConnection();
111
+ if (connection) {
112
+ connection.onDidStateChange(async (e) => {
113
+ if (e.type === 0 ) {
114
+ this._remoteAuthorityResolverService._clearResolvedAuthority(remoteAuthority);
115
+ }
116
+ });
117
+ connection.onReconnecting(() => this._resolveAuthorityAgain());
118
+ }
119
+ return this._resolveExtensionsDefault();
120
+ }
121
+ async _onExtensionHostExit(code) {
122
+ this._doStopExtensionHosts();
123
+ const automatedWindow = window;
124
+ if (typeof automatedWindow.codeAutomationExit === 'function') {
125
+ automatedWindow.codeAutomationExit(code, await getLogs(this._fileService, this._environmentService));
126
+ }
127
+ }
128
+ async _resolveAuthority(remoteAuthority) {
129
+ return this._resolveAuthorityOnExtensionHosts(2 , remoteAuthority);
130
+ }
131
+ };
132
+ ExtensionService = ( __decorate([
133
+ ( __param(3, IInstantiationService)),
134
+ ( __param(4, INotificationService)),
135
+ ( __param(5, IBrowserWorkbenchEnvironmentService)),
136
+ ( __param(6, ITelemetryService)),
137
+ ( __param(7, IWorkbenchExtensionEnablementService)),
138
+ ( __param(8, IFileService)),
139
+ ( __param(9, IProductService)),
140
+ ( __param(10, IWorkbenchExtensionManagementService)),
141
+ ( __param(11, IWorkspaceContextService)),
142
+ ( __param(12, IConfigurationService)),
143
+ ( __param(13, IExtensionManifestPropertiesService)),
144
+ ( __param(14, IWebExtensionsScannerService)),
145
+ ( __param(15, ILogService)),
146
+ ( __param(16, IRemoteAgentService)),
147
+ ( __param(17, IRemoteExtensionsScannerService)),
148
+ ( __param(18, ILifecycleService)),
149
+ ( __param(19, IRemoteAuthorityResolverService)),
150
+ ( __param(20, IUserDataInitializationService)),
151
+ ( __param(21, IUserDataProfileService)),
152
+ ( __param(22, IWorkspaceTrustManagementService)),
153
+ ( __param(23, IRemoteExplorerService)),
154
+ ( __param(24, IDialogService))
155
+ ], ExtensionService));
156
+ let BrowserExtensionHostFactory = class BrowserExtensionHostFactory {
157
+ constructor(_extensionsProposedApi, _scanWebExtensions, _getExtensionRegistrySnapshotWhenReady, _instantiationService, _remoteAgentService, _remoteAuthorityResolverService, _extensionEnablementService, _logService) {
158
+ this._extensionsProposedApi = _extensionsProposedApi;
159
+ this._scanWebExtensions = _scanWebExtensions;
160
+ this._getExtensionRegistrySnapshotWhenReady = _getExtensionRegistrySnapshotWhenReady;
161
+ this._instantiationService = _instantiationService;
162
+ this._remoteAgentService = _remoteAgentService;
163
+ this._remoteAuthorityResolverService = _remoteAuthorityResolverService;
164
+ this._extensionEnablementService = _extensionEnablementService;
165
+ this._logService = _logService;
166
+ }
167
+ createExtensionHost(runningLocations, runningLocation, isInitialStart) {
168
+ switch (runningLocation.kind) {
169
+ case 1 : {
170
+ return null;
171
+ }
172
+ case 2 : {
173
+ const startup = ((isInitialStart ? 2 : 1) );
174
+ return this._instantiationService.createInstance(WebWorkerExtensionHost, runningLocation, startup, this._createLocalExtensionHostDataProvider(runningLocations, runningLocation, isInitialStart));
175
+ }
176
+ case 3 : {
177
+ const remoteAgentConnection = this._remoteAgentService.getConnection();
178
+ if (remoteAgentConnection) {
179
+ return this._instantiationService.createInstance(RemoteExtensionHost, runningLocation, this._createRemoteExtensionHostDataProvider(runningLocations, remoteAgentConnection.remoteAuthority));
180
+ }
181
+ return null;
182
+ }
183
+ }
184
+ }
185
+ _createLocalExtensionHostDataProvider(runningLocations, desiredRunningLocation, isInitialStart) {
186
+ return {
187
+ getInitData: async () => {
188
+ if (isInitialStart) {
189
+ const localExtensions = checkEnabledAndProposedAPI(this._logService, this._extensionEnablementService, this._extensionsProposedApi, await this._scanWebExtensions(), true);
190
+ const runningLocation = runningLocations.computeRunningLocation(localExtensions, [], false);
191
+ const myExtensions = filterExtensionDescriptions(localExtensions, runningLocation, extRunningLocation => desiredRunningLocation.equals(extRunningLocation));
192
+ const extensions = ( new ExtensionHostExtensions(0, localExtensions, ( myExtensions.map(extension => extension.identifier))));
193
+ return { extensions };
194
+ }
195
+ else {
196
+ const snapshot = await this._getExtensionRegistrySnapshotWhenReady();
197
+ const myExtensions = runningLocations.filterByRunningLocation(snapshot.extensions, desiredRunningLocation);
198
+ const extensions = ( new ExtensionHostExtensions(snapshot.versionId, snapshot.extensions, ( myExtensions.map(extension => extension.identifier))));
199
+ return { extensions };
200
+ }
201
+ }
202
+ };
203
+ }
204
+ _createRemoteExtensionHostDataProvider(runningLocations, remoteAuthority) {
205
+ return {
206
+ remoteAuthority: remoteAuthority,
207
+ getInitData: async () => {
208
+ const snapshot = await this._getExtensionRegistrySnapshotWhenReady();
209
+ const remoteEnv = await this._remoteAgentService.getEnvironment();
210
+ if (!remoteEnv) {
211
+ throw new Error('Cannot provide init data for remote extension host!');
212
+ }
213
+ const myExtensions = runningLocations.filterByExtensionHostKind(snapshot.extensions, 3 );
214
+ const extensions = ( new ExtensionHostExtensions(snapshot.versionId, snapshot.extensions, ( myExtensions.map(extension => extension.identifier))));
215
+ return {
216
+ connectionData: this._remoteAuthorityResolverService.getConnectionData(remoteAuthority),
217
+ pid: remoteEnv.pid,
218
+ appRoot: remoteEnv.appRoot,
219
+ extensionHostLogsPath: remoteEnv.extensionHostLogsPath,
220
+ globalStorageHome: remoteEnv.globalStorageHome,
221
+ workspaceStorageHome: remoteEnv.workspaceStorageHome,
222
+ extensions,
223
+ };
224
+ }
225
+ };
226
+ }
227
+ };
228
+ BrowserExtensionHostFactory = ( __decorate([
229
+ ( __param(3, IInstantiationService)),
230
+ ( __param(4, IRemoteAgentService)),
231
+ ( __param(5, IRemoteAuthorityResolverService)),
232
+ ( __param(6, IWorkbenchExtensionEnablementService)),
233
+ ( __param(7, ILogService))
234
+ ], BrowserExtensionHostFactory));
235
+ let BrowserExtensionHostKindPicker = BrowserExtensionHostKindPicker_1 = class BrowserExtensionHostKindPicker {
236
+ constructor(_logService) {
237
+ this._logService = _logService;
238
+ }
239
+ pickExtensionHostKind(extensionId, extensionKinds, isInstalledLocally, isInstalledRemotely, preference) {
240
+ const result = BrowserExtensionHostKindPicker_1.pickRunningLocation(extensionKinds, isInstalledLocally, isInstalledRemotely, preference);
241
+ this._logService.trace(`pickRunningLocation for ${extensionId.value}, extension kinds: [${extensionKinds.join(', ')}], isInstalledLocally: ${isInstalledLocally}, isInstalledRemotely: ${isInstalledRemotely}, preference: ${extensionRunningPreferenceToString(preference)} => ${extensionHostKindToString(result)}`);
242
+ return result;
243
+ }
244
+ static pickRunningLocation(extensionKinds, isInstalledLocally, isInstalledRemotely, preference) {
245
+ const result = [];
246
+ let canRunRemotely = false;
247
+ for (const extensionKind of extensionKinds) {
248
+ if (extensionKind === 'ui' && isInstalledRemotely) {
249
+ if (preference === 2 ) {
250
+ return 3 ;
251
+ }
252
+ else {
253
+ canRunRemotely = true;
254
+ }
255
+ }
256
+ if (extensionKind === 'workspace' && isInstalledRemotely) {
257
+ if (preference === 0 || preference === 2 ) {
258
+ return 3 ;
259
+ }
260
+ else {
261
+ result.push(3 );
262
+ }
263
+ }
264
+ if (extensionKind === 'web' && (isInstalledLocally || isInstalledRemotely)) {
265
+ if (preference === 0 || preference === 1 ) {
266
+ return 2 ;
267
+ }
268
+ else {
269
+ result.push(2 );
270
+ }
271
+ }
272
+ }
273
+ if (canRunRemotely) {
274
+ result.push(3 );
275
+ }
276
+ return (result.length > 0 ? result[0] : null);
277
+ }
278
+ };
279
+ BrowserExtensionHostKindPicker = BrowserExtensionHostKindPicker_1 = ( __decorate([
280
+ ( __param(0, ILogService))
281
+ ], BrowserExtensionHostKindPicker));
282
+
283
+ export { BrowserExtensionHostFactory, BrowserExtensionHostKindPicker, ExtensionService };
@@ -0,0 +1,273 @@
1
+ import { __decorate, __param } from '../../../../../../../external/tslib/tslib.es6.js';
2
+ import * as dom from 'monaco-editor/esm/vs/base/browser/dom.js';
3
+ import { parentOriginHash } from 'monaco-editor/esm/vs/base/browser/iframe.js';
4
+ import { Barrier } from 'monaco-editor/esm/vs/base/common/async.js';
5
+ import { VSBuffer } from 'monaco-editor/esm/vs/base/common/buffer.js';
6
+ import { canceled, onUnexpectedError } from 'monaco-editor/esm/vs/base/common/errors.js';
7
+ import { Emitter, Event } from 'monaco-editor/esm/vs/base/common/event.js';
8
+ import { Disposable, toDisposable } from 'monaco-editor/esm/vs/base/common/lifecycle.js';
9
+ import { COI, FileAccess } from 'monaco-editor/esm/vs/base/common/network.js';
10
+ import * as platform from 'monaco-editor/esm/vs/base/common/platform.js';
11
+ import { joinPath } from 'monaco-editor/esm/vs/base/common/resources.js';
12
+ import { URI } from 'monaco-editor/esm/vs/base/common/uri.js';
13
+ import { generateUuid } from 'monaco-editor/esm/vs/base/common/uuid.js';
14
+ import { ILabelService } from 'monaco-editor/esm/vs/platform/label/common/label.js';
15
+ import { ILayoutService } from 'monaco-editor/esm/vs/platform/layout/browser/layoutService.js';
16
+ import { ILogService, ILoggerService } from 'monaco-editor/esm/vs/platform/log/common/log.js';
17
+ import { IProductService } from 'monaco-editor/esm/vs/platform/product/common/productService.js';
18
+ import { IStorageService } from 'monaco-editor/esm/vs/platform/storage/common/storage.js';
19
+ import { ITelemetryService } from 'monaco-editor/esm/vs/platform/telemetry/common/telemetry.js';
20
+ import { isLoggingOnly } from 'vscode/vscode/vs/platform/telemetry/common/telemetryUtils';
21
+ import { IUserDataProfilesService } from 'monaco-editor/esm/vs/platform/userDataProfile/common/userDataProfile.js';
22
+ import { IWorkspaceContextService } from 'monaco-editor/esm/vs/platform/workspace/common/workspace.js';
23
+ import { IBrowserWorkbenchEnvironmentService } from 'vscode/vscode/vs/workbench/services/environment/browser/environmentService';
24
+ import { isMessageOfType, createMessageOfType, UIKind } from 'vscode/vscode/vs/workbench/services/extensions/common/extensionHostProtocol';
25
+
26
+ let WebWorkerExtensionHost = class WebWorkerExtensionHost extends Disposable {
27
+ constructor(runningLocation, startup, _initDataProvider, _telemetryService, _contextService, _labelService, _logService, _loggerService, _environmentService, _userDataProfilesService, _productService, _layoutService, _storageService) {
28
+ super();
29
+ this.runningLocation = runningLocation;
30
+ this.startup = startup;
31
+ this._initDataProvider = _initDataProvider;
32
+ this._telemetryService = _telemetryService;
33
+ this._contextService = _contextService;
34
+ this._labelService = _labelService;
35
+ this._logService = _logService;
36
+ this._loggerService = _loggerService;
37
+ this._environmentService = _environmentService;
38
+ this._userDataProfilesService = _userDataProfilesService;
39
+ this._productService = _productService;
40
+ this._layoutService = _layoutService;
41
+ this._storageService = _storageService;
42
+ this.remoteAuthority = null;
43
+ this.extensions = null;
44
+ this._onDidExit = this._register(( new Emitter()));
45
+ this.onExit = this._onDidExit.event;
46
+ this._isTerminating = false;
47
+ this._protocolPromise = null;
48
+ this._protocol = null;
49
+ this._extensionHostLogsLocation = joinPath(this._environmentService.extHostLogsPath, 'webWorker');
50
+ }
51
+ async _getWebWorkerExtensionHostIframeSrc() {
52
+ const suffixSearchParams = ( new URLSearchParams());
53
+ if (this._environmentService.debugExtensionHost && this._environmentService.debugRenderer) {
54
+ suffixSearchParams.set('debugged', '1');
55
+ }
56
+ COI.addSearchParam(suffixSearchParams, true, true);
57
+ const suffix = `?${( suffixSearchParams.toString())}`;
58
+ const iframeModulePath = 'vs/workbench/services/extensions/worker/webWorkerExtensionHostIframe.html';
59
+ if (platform.isWeb) {
60
+ const webEndpointUrlTemplate = this._productService.webEndpointUrlTemplate;
61
+ const commit = this._productService.commit;
62
+ const quality = this._productService.quality;
63
+ if (webEndpointUrlTemplate && commit && quality) {
64
+ const key = 'webWorkerExtensionHostIframeStableOriginUUID';
65
+ let stableOriginUUID = this._storageService.get(key, 1 );
66
+ if (typeof stableOriginUUID === 'undefined') {
67
+ stableOriginUUID = generateUuid();
68
+ this._storageService.store(key, stableOriginUUID, 1 , 1 );
69
+ }
70
+ const hash = await parentOriginHash(window.origin, stableOriginUUID);
71
+ const baseUrl = (webEndpointUrlTemplate
72
+ .replace('{{uuid}}', `v--${hash}`)
73
+ .replace('{{commit}}', commit)
74
+ .replace('{{quality}}', quality));
75
+ const res = ( new URL(`${baseUrl}/out/${iframeModulePath}${suffix}`));
76
+ res.searchParams.set('parentOrigin', window.origin);
77
+ res.searchParams.set('salt', stableOriginUUID);
78
+ return ( res.toString());
79
+ }
80
+ }
81
+ const relativeExtensionHostIframeSrc = ( FileAccess.asBrowserUri(iframeModulePath));
82
+ return `${( relativeExtensionHostIframeSrc.toString(true))}${suffix}`;
83
+ }
84
+ async start() {
85
+ if (!this._protocolPromise) {
86
+ this._protocolPromise = this._startInsideIframe();
87
+ this._protocolPromise.then(protocol => this._protocol = protocol);
88
+ }
89
+ return this._protocolPromise;
90
+ }
91
+ async _startInsideIframe() {
92
+ const webWorkerExtensionHostIframeSrc = await this._getWebWorkerExtensionHostIframeSrc();
93
+ const emitter = this._register(( new Emitter()));
94
+ const iframe = document.createElement('iframe');
95
+ iframe.setAttribute('class', 'web-worker-ext-host-iframe');
96
+ iframe.setAttribute('sandbox', 'allow-scripts allow-same-origin');
97
+ iframe.setAttribute('allow', 'usb; serial; hid; cross-origin-isolated;');
98
+ iframe.setAttribute('aria-hidden', 'true');
99
+ iframe.style.display = 'none';
100
+ const vscodeWebWorkerExtHostId = generateUuid();
101
+ iframe.setAttribute('src', `${webWorkerExtensionHostIframeSrc}&vscodeWebWorkerExtHostId=${vscodeWebWorkerExtHostId}`);
102
+ const barrier = ( new Barrier());
103
+ let port;
104
+ let barrierError = null;
105
+ let barrierHasError = false;
106
+ let startTimeout = null;
107
+ const rejectBarrier = (exitCode, error) => {
108
+ barrierError = error;
109
+ barrierHasError = true;
110
+ onUnexpectedError(barrierError);
111
+ clearTimeout(startTimeout);
112
+ this._onDidExit.fire([81 , barrierError.message]);
113
+ barrier.open();
114
+ };
115
+ const resolveBarrier = (messagePort) => {
116
+ port = messagePort;
117
+ clearTimeout(startTimeout);
118
+ barrier.open();
119
+ };
120
+ startTimeout = setTimeout(() => {
121
+ console.warn(`The Web Worker Extension Host did not start in 60s, that might be a problem.`);
122
+ }, 60000);
123
+ this._register(dom.addDisposableListener(window, 'message', (event) => {
124
+ if (event.source !== iframe.contentWindow) {
125
+ return;
126
+ }
127
+ if (event.data.vscodeWebWorkerExtHostId !== vscodeWebWorkerExtHostId) {
128
+ return;
129
+ }
130
+ if (event.data.error) {
131
+ const { name, message, stack } = event.data.error;
132
+ const err = ( new Error());
133
+ err.message = message;
134
+ err.name = name;
135
+ err.stack = stack;
136
+ return rejectBarrier(81 , err);
137
+ }
138
+ const { data } = event.data;
139
+ if (barrier.isOpen() || !(data instanceof MessagePort)) {
140
+ console.warn('UNEXPECTED message', event);
141
+ const err = ( new Error('UNEXPECTED message'));
142
+ return rejectBarrier(81 , err);
143
+ }
144
+ resolveBarrier(data);
145
+ }));
146
+ this._layoutService.container.appendChild(iframe);
147
+ this._register(toDisposable(() => iframe.remove()));
148
+ await barrier.wait();
149
+ if (barrierHasError) {
150
+ throw barrierError;
151
+ }
152
+ const messagePorts = this._environmentService.options?.messagePorts ?? ( new Map());
153
+ iframe.contentWindow.postMessage({ type: 'vscode.init', data: messagePorts }, '*', [...( messagePorts.values())]);
154
+ port.onmessage = (event) => {
155
+ const { data } = event;
156
+ if (!(data instanceof ArrayBuffer)) {
157
+ console.warn('UNKNOWN data received', data);
158
+ this._onDidExit.fire([77, 'UNKNOWN data received']);
159
+ return;
160
+ }
161
+ emitter.fire(VSBuffer.wrap(( new Uint8Array(data, 0, data.byteLength))));
162
+ };
163
+ const protocol = {
164
+ onMessage: emitter.event,
165
+ send: vsbuf => {
166
+ const data = vsbuf.buffer.buffer.slice(vsbuf.buffer.byteOffset, vsbuf.buffer.byteOffset + vsbuf.buffer.byteLength);
167
+ port.postMessage(data, [data]);
168
+ }
169
+ };
170
+ return this._performHandshake(protocol);
171
+ }
172
+ async _performHandshake(protocol) {
173
+ await Event.toPromise(Event.filter(protocol.onMessage, msg => isMessageOfType(msg, 1 )));
174
+ if (this._isTerminating) {
175
+ throw canceled();
176
+ }
177
+ protocol.send(VSBuffer.fromString(JSON.stringify(await this._createExtHostInitData())));
178
+ if (this._isTerminating) {
179
+ throw canceled();
180
+ }
181
+ await Event.toPromise(Event.filter(protocol.onMessage, msg => isMessageOfType(msg, 0 )));
182
+ if (this._isTerminating) {
183
+ throw canceled();
184
+ }
185
+ return protocol;
186
+ }
187
+ dispose() {
188
+ if (this._isTerminating) {
189
+ return;
190
+ }
191
+ this._isTerminating = true;
192
+ this._protocol?.send(createMessageOfType(2 ));
193
+ super.dispose();
194
+ }
195
+ getInspectPort() {
196
+ return undefined;
197
+ }
198
+ enableInspectPort() {
199
+ return Promise.resolve(false);
200
+ }
201
+ async _createExtHostInitData() {
202
+ const initData = await this._initDataProvider.getInitData();
203
+ this.extensions = initData.extensions;
204
+ const workspace = this._contextService.getWorkspace();
205
+ const nlsBaseUrl = this._productService.extensionsGallery?.nlsBaseUrl;
206
+ let nlsUrlWithDetails = undefined;
207
+ if (nlsBaseUrl && this._productService.commit && !platform.Language.isDefaultVariant()) {
208
+ nlsUrlWithDetails = URI.joinPath(( URI.parse(nlsBaseUrl)), this._productService.commit, this._productService.version, platform.Language.value());
209
+ }
210
+ return {
211
+ commit: this._productService.commit,
212
+ version: this._productService.version,
213
+ quality: this._productService.quality,
214
+ parentPid: 0,
215
+ environment: {
216
+ isExtensionDevelopmentDebug: this._environmentService.debugRenderer,
217
+ appName: this._productService.nameLong,
218
+ appHost: this._productService.embedderIdentifier ?? (platform.isWeb ? 'web' : 'desktop'),
219
+ appUriScheme: this._productService.urlProtocol,
220
+ appLanguage: platform.language,
221
+ extensionTelemetryLogResource: this._environmentService.extHostTelemetryLogFile,
222
+ isExtensionTelemetryLoggingOnly: isLoggingOnly(this._productService, this._environmentService),
223
+ extensionDevelopmentLocationURI: this._environmentService.extensionDevelopmentLocationURI,
224
+ extensionTestsLocationURI: this._environmentService.extensionTestsLocationURI,
225
+ globalStorageHome: this._userDataProfilesService.defaultProfile.globalStorageHome,
226
+ workspaceStorageHome: this._environmentService.workspaceStorageHome,
227
+ extensionLogLevel: this._environmentService.extensionLogLevel
228
+ },
229
+ workspace: this._contextService.getWorkbenchState() === 1 ? undefined : {
230
+ configuration: workspace.configuration || undefined,
231
+ id: workspace.id,
232
+ name: this._labelService.getWorkspaceLabel(workspace),
233
+ transient: workspace.transient
234
+ },
235
+ consoleForward: {
236
+ includeStack: false,
237
+ logNative: this._environmentService.debugRenderer
238
+ },
239
+ extensions: this.extensions.toSnapshot(),
240
+ nlsBaseUrl: nlsUrlWithDetails,
241
+ telemetryInfo: {
242
+ sessionId: this._telemetryService.sessionId,
243
+ machineId: this._telemetryService.machineId,
244
+ firstSessionDate: this._telemetryService.firstSessionDate,
245
+ msftInternal: this._telemetryService.msftInternal
246
+ },
247
+ logLevel: this._logService.getLevel(),
248
+ loggers: [...this._loggerService.getRegisteredLoggers()],
249
+ logsLocation: this._extensionHostLogsLocation,
250
+ autoStart: ((this.startup === 1) ),
251
+ remote: {
252
+ authority: this._environmentService.remoteAuthority,
253
+ connectionData: null,
254
+ isRemote: false
255
+ },
256
+ uiKind: platform.isWeb ? UIKind.Web : UIKind.Desktop
257
+ };
258
+ }
259
+ };
260
+ WebWorkerExtensionHost = ( __decorate([
261
+ ( __param(3, ITelemetryService)),
262
+ ( __param(4, IWorkspaceContextService)),
263
+ ( __param(5, ILabelService)),
264
+ ( __param(6, ILogService)),
265
+ ( __param(7, ILoggerService)),
266
+ ( __param(8, IBrowserWorkbenchEnvironmentService)),
267
+ ( __param(9, IUserDataProfilesService)),
268
+ ( __param(10, IProductService)),
269
+ ( __param(11, ILayoutService)),
270
+ ( __param(12, IStorageService))
271
+ ], WebWorkerExtensionHost));
272
+
273
+ export { WebWorkerExtensionHost };
@@ -0,0 +1,52 @@
1
+ import { FileSystemProviderErrorCode, createFileSystemProviderError, FileType } from 'monaco-editor/esm/vs/platform/files/common/files.js';
2
+ import { Event } from 'monaco-editor/esm/vs/base/common/event.js';
3
+ import { Disposable } from 'monaco-editor/esm/vs/base/common/lifecycle.js';
4
+ import { NotSupportedError } from 'monaco-editor/esm/vs/base/common/errors.js';
5
+
6
+ class FetchFileSystemProvider {
7
+ constructor() {
8
+ this.capabilities = 2048 + 2 + 1024 ;
9
+ this.onDidChangeCapabilities = Event.None;
10
+ this.onDidChangeFile = Event.None;
11
+ }
12
+ async readFile(resource) {
13
+ try {
14
+ const res = await fetch(( resource.toString(true)));
15
+ if (res.status === 200) {
16
+ return ( new Uint8Array(await res.arrayBuffer()));
17
+ }
18
+ throw createFileSystemProviderError(res.statusText, FileSystemProviderErrorCode.Unknown);
19
+ }
20
+ catch (err) {
21
+ throw createFileSystemProviderError(err, FileSystemProviderErrorCode.Unknown);
22
+ }
23
+ }
24
+ async stat(_resource) {
25
+ return {
26
+ type: FileType.File,
27
+ size: 0,
28
+ mtime: 0,
29
+ ctime: 0
30
+ };
31
+ }
32
+ watch() {
33
+ return Disposable.None;
34
+ }
35
+ writeFile(_resource, _content, _opts) {
36
+ throw new NotSupportedError();
37
+ }
38
+ readdir(_resource) {
39
+ throw new NotSupportedError();
40
+ }
41
+ mkdir(_resource) {
42
+ throw new NotSupportedError();
43
+ }
44
+ delete(_resource, _opts) {
45
+ throw new NotSupportedError();
46
+ }
47
+ rename(_from, _to, _opts) {
48
+ throw new NotSupportedError();
49
+ }
50
+ }
51
+
52
+ export { FetchFileSystemProvider };