@codingame/monaco-vscode-extensions-service-override 11.1.2 → 12.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (217) hide show
  1. package/index.d.ts +40 -2
  2. package/index.js +266 -1
  3. package/package.json +81 -11
  4. package/vscode/src/vs/base/common/console.d.ts +22 -0
  5. package/vscode/src/vs/base/common/console.js +3 -0
  6. package/vscode/src/vs/platform/extensionManagement/common/extensionManagementCLI.d.ts +24 -0
  7. package/vscode/src/vs/platform/extensionManagement/common/extensionManagementCLI.js +54 -53
  8. package/vscode/src/vs/platform/extensionResourceLoader/browser/extensionResourceLoaderService.d.ts +14 -0
  9. package/vscode/src/vs/platform/extensionResourceLoader/browser/extensionResourceLoaderService.js +4 -2
  10. package/vscode/src/vs/platform/lifecycle/common/lifecycle.d.ts +1 -0
  11. package/vscode/src/vs/platform/lifecycle/common/lifecycle.js +1 -0
  12. package/vscode/src/vs/platform/remote/common/managedSocket.d.ts +30 -0
  13. package/vscode/src/vs/platform/remote/common/managedSocket.js +1 -0
  14. package/vscode/src/vs/workbench/api/browser/mainThreadAiEmbeddingVector.d.ts +12 -0
  15. package/vscode/src/vs/workbench/api/browser/mainThreadAiEmbeddingVector.js +2 -1
  16. package/vscode/src/vs/workbench/api/browser/mainThreadAiRelatedInformation.d.ts +15 -0
  17. package/vscode/src/vs/workbench/api/browser/mainThreadAiRelatedInformation.js +2 -1
  18. package/vscode/src/vs/workbench/api/browser/mainThreadAuthentication.d.ts +73 -0
  19. package/vscode/src/vs/workbench/api/browser/mainThreadAuthentication.js +67 -39
  20. package/vscode/src/vs/workbench/api/browser/mainThreadBulkEdits.d.ts +18 -0
  21. package/vscode/src/vs/workbench/api/browser/mainThreadBulkEdits.js +5 -3
  22. package/vscode/src/vs/workbench/api/browser/mainThreadCLICommands.d.ts +1 -0
  23. package/vscode/src/vs/workbench/api/browser/mainThreadCLICommands.js +12 -11
  24. package/vscode/src/vs/workbench/api/browser/mainThreadChatAgents2.d.ts +65 -0
  25. package/vscode/src/vs/workbench/api/browser/mainThreadChatAgents2.js +33 -14
  26. package/vscode/src/vs/workbench/api/browser/mainThreadChatCodeMapper.d.ts +15 -0
  27. package/vscode/src/vs/workbench/api/browser/mainThreadChatCodeMapper.js +2 -1
  28. package/vscode/src/vs/workbench/api/browser/mainThreadChatVariables.d.ts +15 -0
  29. package/vscode/src/vs/workbench/api/browser/mainThreadChatVariables.js +2 -1
  30. package/vscode/src/vs/workbench/api/browser/mainThreadClipboard.d.ts +9 -0
  31. package/vscode/src/vs/workbench/api/browser/mainThreadClipboard.js +2 -1
  32. package/vscode/src/vs/workbench/api/browser/mainThreadCodeInsets.d.ts +21 -0
  33. package/vscode/src/vs/workbench/api/browser/mainThreadCodeInsets.js +2 -1
  34. package/vscode/src/vs/workbench/api/browser/mainThreadCommands.d.ts +20 -0
  35. package/vscode/src/vs/workbench/api/browser/mainThreadCommands.js +2 -1
  36. package/vscode/src/vs/workbench/api/browser/mainThreadComments.d.ts +169 -0
  37. package/vscode/src/vs/workbench/api/browser/mainThreadComments.js +50 -58
  38. package/vscode/src/vs/workbench/api/browser/mainThreadConfiguration.d.ts +20 -0
  39. package/vscode/src/vs/workbench/api/browser/mainThreadConfiguration.js +13 -10
  40. package/vscode/src/vs/workbench/api/browser/mainThreadConsole.d.ts +13 -0
  41. package/vscode/src/vs/workbench/api/browser/mainThreadConsole.js +2 -1
  42. package/vscode/src/vs/workbench/api/browser/mainThreadCustomEditors.d.ts +38 -0
  43. package/vscode/src/vs/workbench/api/browser/mainThreadCustomEditors.js +82 -75
  44. package/vscode/src/vs/workbench/api/browser/mainThreadDebugService.d.ts +53 -0
  45. package/vscode/src/vs/workbench/api/browser/mainThreadDebugService.js +7 -6
  46. package/vscode/src/vs/workbench/api/browser/mainThreadDecorations.d.ts +14 -0
  47. package/vscode/src/vs/workbench/api/browser/mainThreadDecorations.js +2 -1
  48. package/vscode/src/vs/workbench/api/browser/mainThreadDiagnostics.d.ts +21 -0
  49. package/vscode/src/vs/workbench/api/browser/mainThreadDiagnostics.js +2 -1
  50. package/vscode/src/vs/workbench/api/browser/mainThreadDialogs.d.ts +13 -0
  51. package/vscode/src/vs/workbench/api/browser/mainThreadDialogs.js +2 -1
  52. package/vscode/src/vs/workbench/api/browser/mainThreadDocumentContentProviders.d.ts +21 -0
  53. package/vscode/src/vs/workbench/api/browser/mainThreadDocumentContentProviders.js +2 -1
  54. package/vscode/src/vs/workbench/api/browser/mainThreadDocuments.d.ts +58 -0
  55. package/vscode/src/vs/workbench/api/browser/mainThreadDocuments.js +5 -3
  56. package/vscode/src/vs/workbench/api/browser/mainThreadDocumentsAndEditors.d.ts +40 -0
  57. package/vscode/src/vs/workbench/api/browser/mainThreadDocumentsAndEditors.js +23 -13
  58. package/vscode/src/vs/workbench/api/browser/mainThreadDownloadService.d.ts +10 -0
  59. package/vscode/src/vs/workbench/api/browser/mainThreadDownloadService.js +2 -1
  60. package/vscode/src/vs/workbench/api/browser/mainThreadEditSessionIdentityParticipant.d.ts +9 -0
  61. package/vscode/src/vs/workbench/api/browser/mainThreadEditSessionIdentityParticipant.js +8 -7
  62. package/vscode/src/vs/workbench/api/browser/mainThreadEditor.d.ts +65 -0
  63. package/vscode/src/vs/workbench/api/browser/mainThreadEditor.js +15 -16
  64. package/vscode/src/vs/workbench/api/browser/mainThreadEditorTabs.d.ts +37 -0
  65. package/vscode/src/vs/workbench/api/browser/mainThreadEditorTabs.js +53 -52
  66. package/vscode/src/vs/workbench/api/browser/mainThreadEditors.d.ts +60 -0
  67. package/vscode/src/vs/workbench/api/browser/mainThreadEditors.js +97 -5
  68. package/vscode/src/vs/workbench/api/browser/mainThreadEmbeddings.d.ts +34 -0
  69. package/vscode/src/vs/workbench/api/browser/mainThreadEmbeddings.js +4 -3
  70. package/vscode/src/vs/workbench/api/browser/mainThreadErrors.d.ts +6 -0
  71. package/vscode/src/vs/workbench/api/browser/mainThreadErrors.js +2 -1
  72. package/vscode/src/vs/workbench/api/browser/mainThreadExtensionService.d.ts +42 -0
  73. package/vscode/src/vs/workbench/api/browser/mainThreadExtensionService.js +42 -45
  74. package/vscode/src/vs/workbench/api/browser/mainThreadFileSystem.d.ts +32 -0
  75. package/vscode/src/vs/workbench/api/browser/mainThreadFileSystem.js +7 -6
  76. package/vscode/src/vs/workbench/api/browser/mainThreadFileSystemEventService.d.ts +25 -0
  77. package/vscode/src/vs/workbench/api/browser/mainThreadFileSystemEventService.js +64 -60
  78. package/vscode/src/vs/workbench/api/browser/mainThreadInteractive.d.ts +9 -0
  79. package/vscode/src/vs/workbench/api/browser/mainThreadInteractive.js +2 -1
  80. package/vscode/src/vs/workbench/api/browser/mainThreadLabelService.d.ts +12 -0
  81. package/vscode/src/vs/workbench/api/browser/mainThreadLabelService.js +2 -1
  82. package/vscode/src/vs/workbench/api/browser/mainThreadLanguageFeatures.d.ts +108 -0
  83. package/vscode/src/vs/workbench/api/browser/mainThreadLanguageFeatures.js +31 -28
  84. package/vscode/src/vs/workbench/api/browser/mainThreadLanguageModelTools.d.ts +18 -0
  85. package/vscode/src/vs/workbench/api/browser/mainThreadLanguageModelTools.js +2 -1
  86. package/vscode/src/vs/workbench/api/browser/mainThreadLanguageModels.d.ts +42 -0
  87. package/vscode/src/vs/workbench/api/browser/mainThreadLanguageModels.js +23 -22
  88. package/vscode/src/vs/workbench/api/browser/mainThreadLanguages.d.ts +29 -0
  89. package/vscode/src/vs/workbench/api/browser/mainThreadLanguages.js +2 -1
  90. package/vscode/src/vs/workbench/api/browser/mainThreadLocalization.d.ts +13 -0
  91. package/vscode/src/vs/workbench/api/browser/mainThreadLocalization.js +2 -1
  92. package/vscode/src/vs/workbench/api/browser/mainThreadLogService.d.ts +20 -0
  93. package/vscode/src/vs/workbench/api/browser/mainThreadLogService.js +2 -1
  94. package/vscode/src/vs/workbench/api/browser/mainThreadManagedSockets.d.ts +27 -0
  95. package/vscode/src/vs/workbench/api/browser/mainThreadManagedSockets.js +6 -3
  96. package/vscode/src/vs/workbench/api/browser/mainThreadMessageService.d.ts +22 -0
  97. package/vscode/src/vs/workbench/api/browser/mainThreadMessageService.js +46 -47
  98. package/vscode/src/vs/workbench/api/browser/mainThreadNotebook.d.ts +22 -0
  99. package/vscode/src/vs/workbench/api/browser/mainThreadNotebook.js +3 -2
  100. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookDocuments.d.ts +24 -0
  101. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookDocuments.js +2 -1
  102. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookDocumentsAndEditors.d.ts +29 -0
  103. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookDocumentsAndEditors.js +4 -3
  104. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookDto.d.ts +17 -0
  105. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookDto.js +5 -3
  106. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookEditors.d.ts +27 -0
  107. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookEditors.js +4 -3
  108. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookKernels.d.ts +49 -0
  109. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookKernels.js +3 -2
  110. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookRenderers.d.ts +10 -0
  111. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookRenderers.js +2 -1
  112. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookSaveParticipant.d.ts +9 -0
  113. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookSaveParticipant.js +9 -8
  114. package/vscode/src/vs/workbench/api/browser/mainThreadOutputService.d.ts +26 -0
  115. package/vscode/src/vs/workbench/api/browser/mainThreadOutputService.js +39 -6
  116. package/vscode/src/vs/workbench/api/browser/mainThreadProfileContentHandlers.d.ts +12 -0
  117. package/vscode/src/vs/workbench/api/browser/mainThreadProfileContentHandlers.js +2 -1
  118. package/vscode/src/vs/workbench/api/browser/mainThreadProgress.d.ts +17 -0
  119. package/vscode/src/vs/workbench/api/browser/mainThreadProgress.js +13 -13
  120. package/vscode/src/vs/workbench/api/browser/mainThreadQuickDiff.d.ts +13 -0
  121. package/vscode/src/vs/workbench/api/browser/mainThreadQuickDiff.js +4 -2
  122. package/vscode/src/vs/workbench/api/browser/mainThreadQuickOpen.d.ts +19 -0
  123. package/vscode/src/vs/workbench/api/browser/mainThreadQuickOpen.js +2 -1
  124. package/vscode/src/vs/workbench/api/browser/mainThreadRemoteConnectionData.d.ts +9 -0
  125. package/vscode/src/vs/workbench/api/browser/mainThreadRemoteConnectionData.js +2 -1
  126. package/vscode/src/vs/workbench/api/browser/mainThreadSCM.d.ts +52 -0
  127. package/vscode/src/vs/workbench/api/browser/mainThreadSCM.js +11 -7
  128. package/vscode/src/vs/workbench/api/browser/mainThreadSaveParticipant.d.ts +9 -0
  129. package/vscode/src/vs/workbench/api/browser/mainThreadSaveParticipant.js +9 -8
  130. package/vscode/src/vs/workbench/api/browser/mainThreadSearch.d.ts +24 -0
  131. package/vscode/src/vs/workbench/api/browser/mainThreadSearch.js +9 -19
  132. package/vscode/src/vs/workbench/api/browser/mainThreadSecretState.d.ts +21 -0
  133. package/vscode/src/vs/workbench/api/browser/mainThreadSecretState.js +2 -1
  134. package/vscode/src/vs/workbench/api/browser/mainThreadShare.d.ts +13 -0
  135. package/vscode/src/vs/workbench/api/browser/mainThreadShare.js +2 -1
  136. package/vscode/src/vs/workbench/api/browser/mainThreadSpeech.d.ts +21 -0
  137. package/vscode/src/vs/workbench/api/browser/mainThreadSpeech.js +2 -1
  138. package/vscode/src/vs/workbench/api/browser/mainThreadStatusBar.d.ts +15 -0
  139. package/vscode/src/vs/workbench/api/browser/mainThreadStatusBar.js +6 -4
  140. package/vscode/src/vs/workbench/api/browser/mainThreadStorage.d.ts +22 -0
  141. package/vscode/src/vs/workbench/api/browser/mainThreadStorage.js +4 -2
  142. package/vscode/src/vs/workbench/api/browser/mainThreadTask.d.ts +28 -0
  143. package/vscode/src/vs/workbench/api/browser/mainThreadTask.js +174 -195
  144. package/vscode/src/vs/workbench/api/browser/mainThreadTelemetry.d.ts +20 -0
  145. package/vscode/src/vs/workbench/api/browser/mainThreadTelemetry.js +4 -3
  146. package/vscode/src/vs/workbench/api/browser/mainThreadTerminalService.d.ts +80 -0
  147. package/vscode/src/vs/workbench/api/browser/mainThreadTerminalService.js +27 -9
  148. package/vscode/src/vs/workbench/api/browser/mainThreadTerminalShellIntegration.d.ts +12 -0
  149. package/vscode/src/vs/workbench/api/browser/mainThreadTerminalShellIntegration.js +7 -5
  150. package/vscode/src/vs/workbench/api/browser/mainThreadTesting.d.ts +44 -0
  151. package/vscode/src/vs/workbench/api/browser/mainThreadTesting.js +6 -5
  152. package/vscode/src/vs/workbench/api/browser/mainThreadTheming.d.ts +10 -0
  153. package/vscode/src/vs/workbench/api/browser/mainThreadTheming.js +2 -1
  154. package/vscode/src/vs/workbench/api/browser/mainThreadTimeline.d.ts +16 -0
  155. package/vscode/src/vs/workbench/api/browser/mainThreadTimeline.js +2 -1
  156. package/vscode/src/vs/workbench/api/browser/mainThreadTreeViews.d.ts +45 -0
  157. package/vscode/src/vs/workbench/api/browser/mainThreadTreeViews.js +41 -16
  158. package/vscode/src/vs/workbench/api/browser/mainThreadTunnelService.d.ts +44 -0
  159. package/vscode/src/vs/workbench/api/browser/mainThreadTunnelService.js +29 -30
  160. package/vscode/src/vs/workbench/api/browser/mainThreadUriOpeners.d.ts +25 -0
  161. package/vscode/src/vs/workbench/api/browser/mainThreadUriOpeners.js +21 -25
  162. package/vscode/src/vs/workbench/api/browser/mainThreadUrls.d.ts +17 -0
  163. package/vscode/src/vs/workbench/api/browser/mainThreadUrls.js +2 -1
  164. package/vscode/src/vs/workbench/api/browser/mainThreadWebviewManager.d.ts +6 -0
  165. package/vscode/src/vs/workbench/api/browser/mainThreadWebviewManager.js +2 -1
  166. package/vscode/src/vs/workbench/api/browser/mainThreadWebviewPanels.d.ts +42 -0
  167. package/vscode/src/vs/workbench/api/browser/mainThreadWebviewPanels.js +9 -8
  168. package/vscode/src/vs/workbench/api/browser/mainThreadWebviewViews.d.ts +26 -0
  169. package/vscode/src/vs/workbench/api/browser/mainThreadWebviewViews.js +2 -1
  170. package/vscode/src/vs/workbench/api/browser/mainThreadWebviews.d.ts +29 -0
  171. package/vscode/src/vs/workbench/api/browser/mainThreadWebviews.js +19 -18
  172. package/vscode/src/vs/workbench/api/browser/mainThreadWindow.d.ts +22 -0
  173. package/vscode/src/vs/workbench/api/browser/mainThreadWindow.js +10 -1
  174. package/vscode/src/vs/workbench/api/browser/mainThreadWorkspace.d.ts +71 -0
  175. package/vscode/src/vs/workbench/api/browser/mainThreadWorkspace.js +34 -35
  176. package/vscode/src/vs/workbench/api/common/shared/dataTransferCache.d.ts +12 -0
  177. package/vscode/src/vs/workbench/api/common/shared/dataTransferCache.js +1 -0
  178. package/vscode/src/vs/workbench/common/comments.d.ts +10 -0
  179. package/vscode/src/vs/workbench/contrib/customEditor/common/customTextEditorModel.d.ts +39 -0
  180. package/vscode/src/vs/workbench/contrib/customEditor/common/customTextEditorModel.js +14 -12
  181. package/vscode/src/vs/workbench/contrib/externalUriOpener/common/contributedOpeners.d.ts +16 -0
  182. package/vscode/src/vs/workbench/contrib/externalUriOpener/common/contributedOpeners.js +6 -4
  183. package/vscode/src/vs/workbench/services/extensionManagement/browser/extensionBisect.d.ts +25 -0
  184. package/vscode/src/vs/workbench/services/extensionManagement/browser/extensionBisect.js +62 -60
  185. package/vscode/src/vs/workbench/services/extensions/browser/extensionService.d.ts +74 -0
  186. package/vscode/src/vs/workbench/services/extensions/browser/extensionService.js +63 -45
  187. package/vscode/src/vs/workbench/services/extensions/browser/webWorkerExtensionHost.d.ts +57 -0
  188. package/vscode/src/vs/workbench/services/extensions/browser/webWorkerExtensionHost.js +16 -12
  189. package/vscode/src/vs/workbench/services/extensions/browser/webWorkerFileSystemProvider.d.ts +20 -0
  190. package/vscode/src/vs/workbench/services/extensions/browser/webWorkerFileSystemProvider.js +3 -2
  191. package/vscode/src/vs/workbench/services/extensions/common/abstractExtensionService.d.ts +203 -0
  192. package/vscode/src/vs/workbench/services/extensions/common/abstractExtensionService.js +217 -180
  193. package/vscode/src/vs/workbench/services/extensions/common/extHostCustomers.d.ts +32 -0
  194. package/vscode/src/vs/workbench/services/extensions/common/extHostCustomers.js +4 -2
  195. package/vscode/src/vs/workbench/services/extensions/common/extensionDevOptions.d.ts +8 -0
  196. package/vscode/src/vs/workbench/services/extensions/common/extensionDevOptions.js +1 -0
  197. package/vscode/src/vs/workbench/services/extensions/common/extensionHostManager.d.ts +68 -0
  198. package/vscode/src/vs/workbench/services/extensions/common/extensionHostManager.js +37 -39
  199. package/vscode/src/vs/workbench/services/extensions/common/extensionHostManagers.d.ts +40 -0
  200. package/vscode/src/vs/workbench/services/extensions/common/extensionRunningLocationTracker.d.ts +38 -0
  201. package/vscode/src/vs/workbench/services/extensions/common/extensionRunningLocationTracker.js +15 -14
  202. package/vscode/src/vs/workbench/services/extensions/common/extensionStorageMigration.d.ts +2 -0
  203. package/vscode/src/vs/workbench/services/extensions/common/extensionStorageMigration.js +4 -2
  204. package/vscode/src/vs/workbench/services/extensions/common/extensionsProposedApi.d.ts +14 -0
  205. package/vscode/src/vs/workbench/services/extensions/common/extensionsProposedApi.js +18 -19
  206. package/vscode/src/vs/workbench/services/extensions/common/extensionsUtil.d.ts +3 -0
  207. package/vscode/src/vs/workbench/services/extensions/common/extensionsUtil.js +8 -7
  208. package/vscode/src/vs/workbench/services/extensions/common/lazyCreateExtensionHostManager.d.ts +54 -0
  209. package/vscode/src/vs/workbench/services/extensions/common/lazyCreateExtensionHostManager.js +4 -3
  210. package/vscode/src/vs/workbench/services/extensions/common/remoteConsoleUtil.d.ts +4 -0
  211. package/vscode/src/vs/workbench/services/extensions/common/remoteConsoleUtil.js +1 -0
  212. package/vscode/src/vs/workbench/services/extensions/common/remoteExtensionHost.d.ts +68 -0
  213. package/vscode/src/vs/workbench/services/extensions/common/remoteExtensionHost.js +12 -9
  214. package/_virtual/semver.js +0 -5
  215. package/extensions.js +0 -257
  216. package/override/vs/workbench/browser/parts/editor/textEditor.weak.js +0 -11
  217. package/tools/url.js +0 -10
@@ -1,8 +1,11 @@
1
- import { __decorate, __param } from 'vscode/external/tslib/tslib.es6.js';
1
+
2
+ import { __decorate, __param } from 'vscode/external/tslib/tslib.es6';
2
3
  import { localize, localize2 } from 'vscode/vscode/vs/nls';
3
4
  import { IExtensionManagementService, IGlobalExtensionEnablementService } from 'vscode/vscode/vs/platform/extensionManagement/common/extensionManagement.service';
5
+ import { StorageScope, StorageTarget } from 'vscode/vscode/vs/platform/storage/common/storage';
4
6
  import { IStorageService } from 'vscode/vscode/vs/platform/storage/common/storage.service';
5
- import { isResolverExtension } from 'vscode/vscode/vs/platform/extensions/common/extensions';
7
+ import { isResolverExtension, ExtensionType } from 'vscode/vscode/vs/platform/extensions/common/extensions';
8
+ import 'vscode/vscode/vs/platform/instantiation/common/extensions';
6
9
  import { NotificationPriority } from 'vscode/vscode/vs/platform/notification/common/notification';
7
10
  import { INotificationService } from 'vscode/vscode/vs/platform/notification/common/notification.service';
8
11
  import { IHostService } from 'vscode/vscode/vs/workbench/services/host/browser/host.service';
@@ -10,6 +13,7 @@ import { registerAction2, Action2, MenuId } from 'vscode/vscode/vs/platform/acti
10
13
  import { RawContextKey, ContextKeyExpr } from 'vscode/vscode/vs/platform/contextkey/common/contextkey';
11
14
  import { IContextKeyService } from 'vscode/vscode/vs/platform/contextkey/common/contextkey.service';
12
15
  import { IDialogService } from 'vscode/vscode/vs/platform/dialogs/common/dialogs.service';
16
+ import { LifecyclePhase } from 'vscode/vscode/vs/workbench/services/lifecycle/common/lifecycle';
13
17
  import { Registry } from 'vscode/vscode/vs/platform/registry/common/platform';
14
18
  import { Extensions } from 'vscode/vscode/vs/workbench/common/contributions';
15
19
  import { ICommandService } from 'vscode/vscode/vs/platform/commands/common/commands.service';
@@ -20,7 +24,7 @@ import { areSameExtensions } from 'vscode/vscode/vs/platform/extensionManagement
20
24
  import { Categories } from 'vscode/vscode/vs/platform/action/common/actionCommonCategories';
21
25
  import { IWorkbenchExtensionEnablementService } from 'vscode/vscode/vs/workbench/services/extensionManagement/common/extensionManagement.service';
22
26
  import { IExtensionBisectService } from 'vscode/vscode/vs/workbench/services/extensionManagement/browser/extensionBisect.service';
23
- import Severity$1 from 'vscode/vscode/vs/base/common/severity';
27
+ import Severity from 'vscode/vscode/vs/base/common/severity';
24
28
 
25
29
  var ExtensionBisectService_1, ExtensionBisectUi_1;
26
30
  class BisectState {
@@ -30,9 +34,7 @@ class BisectState {
30
34
  }
31
35
  try {
32
36
  const data = JSON.parse(raw);
33
- return (
34
- (new BisectState(data.extensions, data.low, data.high, data.mid))
35
- );
37
+ return ( new BisectState(data.extensions, data.low, data.high, data.mid));
36
38
  }
37
39
  catch {
38
40
  return undefined;
@@ -51,8 +53,8 @@ let ExtensionBisectService = class ExtensionBisectService {
51
53
  constructor(logService, _storageService, _envService) {
52
54
  this._storageService = _storageService;
53
55
  this._envService = _envService;
54
- this._disabled = ( (new Map()));
55
- const raw = _storageService.get(ExtensionBisectService_1._storageKey, -1 );
56
+ this._disabled = ( new Map());
57
+ const raw = _storageService.get(ExtensionBisectService_1._storageKey, StorageScope.APPLICATION);
56
58
  this._state = BisectState.fromJSON(raw);
57
59
  if (this._state) {
58
60
  const { mid, high } = this._state;
@@ -83,20 +85,20 @@ let ExtensionBisectService = class ExtensionBisectService {
83
85
  return disabled ?? false;
84
86
  }
85
87
  _isEnabledInEnv(extension) {
86
- return Array.isArray(this._envService.enableExtensions) && ( (this._envService.enableExtensions.some(id => areSameExtensions({ id }, extension.identifier))));
88
+ return Array.isArray(this._envService.enableExtensions) && ( this._envService.enableExtensions.some(id => areSameExtensions({ id }, extension.identifier)));
87
89
  }
88
90
  async start(extensions) {
89
91
  if (this._state) {
90
- throw ( (new Error('invalid state')));
92
+ throw ( new Error('invalid state'));
91
93
  }
92
- const extensionIds = ( (extensions.map(ext => ext.identifier.id)));
93
- const newState = ( (new BisectState(extensionIds, 0, extensionIds.length, 0)));
94
- this._storageService.store(ExtensionBisectService_1._storageKey, JSON.stringify(newState), -1 , 1 );
94
+ const extensionIds = ( extensions.map(ext => ext.identifier.id));
95
+ const newState = ( new BisectState(extensionIds, 0, extensionIds.length, 0));
96
+ this._storageService.store(ExtensionBisectService_1._storageKey, JSON.stringify(newState), StorageScope.APPLICATION, StorageTarget.MACHINE);
95
97
  await this._storageService.flush();
96
98
  }
97
99
  async next(seeingBad) {
98
100
  if (!this._state) {
99
- throw ( (new Error('invalid state')));
101
+ throw ( new Error('invalid state'));
100
102
  }
101
103
  if (seeingBad && this._state.mid === 0 && this._state.high === this._state.extensions.length) {
102
104
  return { bad: true, id: '' };
@@ -105,28 +107,28 @@ let ExtensionBisectService = class ExtensionBisectService {
105
107
  await this.reset();
106
108
  return { id: this._state.extensions[this._state.low], bad: seeingBad };
107
109
  }
108
- const nextState = ( (new BisectState(
110
+ const nextState = ( new BisectState(
109
111
  this._state.extensions,
110
112
  seeingBad ? this._state.low : this._state.mid,
111
113
  seeingBad ? this._state.mid : this._state.high
112
- )));
113
- this._storageService.store(ExtensionBisectService_1._storageKey, JSON.stringify(nextState), -1 , 1 );
114
+ ));
115
+ this._storageService.store(ExtensionBisectService_1._storageKey, JSON.stringify(nextState), StorageScope.APPLICATION, StorageTarget.MACHINE);
114
116
  await this._storageService.flush();
115
117
  return undefined;
116
118
  }
117
119
  async reset() {
118
- this._storageService.remove(ExtensionBisectService_1._storageKey, -1 );
120
+ this._storageService.remove(ExtensionBisectService_1._storageKey, StorageScope.APPLICATION);
119
121
  await this._storageService.flush();
120
122
  }
121
123
  };
122
- ExtensionBisectService = ExtensionBisectService_1 = ( (__decorate([
123
- ( (__param(0, ILogService))),
124
- ( (__param(1, IStorageService))),
125
- ( (__param(2, IWorkbenchEnvironmentService)))
126
- ], ExtensionBisectService)));
124
+ ExtensionBisectService = ExtensionBisectService_1 = ( __decorate([
125
+ ( __param(0, ILogService)),
126
+ ( __param(1, IStorageService)),
127
+ ( __param(2, IWorkbenchEnvironmentService))
128
+ ], ExtensionBisectService));
127
129
  let ExtensionBisectUi = class ExtensionBisectUi {
128
130
  static { ExtensionBisectUi_1 = this; }
129
- static { this.ctxIsBisectActive = ( (new RawContextKey('isExtensionBisectActive', false))); }
131
+ static { this.ctxIsBisectActive = ( new RawContextKey('isExtensionBisectActive', false)); }
130
132
  constructor(contextKeyService, _extensionBisectService, _notificationService, _commandService) {
131
133
  this._extensionBisectService = _extensionBisectService;
132
134
  this._notificationService = _notificationService;
@@ -138,11 +140,11 @@ let ExtensionBisectUi = class ExtensionBisectUi {
138
140
  }
139
141
  _showBisectPrompt() {
140
142
  const goodPrompt = {
141
- label: ( localize(692, "I can't reproduce")),
143
+ label: ( localize(11393, "I can't reproduce")),
142
144
  run: () => this._commandService.executeCommand('extension.bisect.next', false)
143
145
  };
144
146
  const badPrompt = {
145
- label: ( localize(693, "I can reproduce")),
147
+ label: ( localize(11394, "I can reproduce")),
146
148
  run: () => this._commandService.executeCommand('extension.bisect.next', true)
147
149
  };
148
150
  const stop = {
@@ -151,35 +153,35 @@ let ExtensionBisectUi = class ExtensionBisectUi {
151
153
  };
152
154
  const message = this._extensionBisectService.disabledCount === 1
153
155
  ? ( localize(
154
- 694,
156
+ 11395,
155
157
  "Extension Bisect is active and has disabled 1 extension. Check if you can still reproduce the problem and proceed by selecting from these options."
156
158
  ))
157
159
  : ( localize(
158
- 695,
160
+ 11396,
159
161
  "Extension Bisect is active and has disabled {0} extensions. Check if you can still reproduce the problem and proceed by selecting from these options.",
160
162
  this._extensionBisectService.disabledCount
161
163
  ));
162
- this._notificationService.prompt(Severity$1.Info, message, [goodPrompt, badPrompt, stop], { sticky: true, priority: NotificationPriority.URGENT });
164
+ this._notificationService.prompt(Severity.Info, message, [goodPrompt, badPrompt, stop], { sticky: true, priority: NotificationPriority.URGENT });
163
165
  }
164
166
  };
165
- ExtensionBisectUi = ExtensionBisectUi_1 = ( (__decorate([
166
- ( (__param(0, IContextKeyService))),
167
- ( (__param(1, IExtensionBisectService))),
168
- ( (__param(2, INotificationService))),
169
- ( (__param(3, ICommandService)))
170
- ], ExtensionBisectUi)));
171
- ( (Registry.as(Extensions.Workbench))).registerWorkbenchContribution(ExtensionBisectUi, 3 );
167
+ ExtensionBisectUi = ExtensionBisectUi_1 = ( __decorate([
168
+ ( __param(0, IContextKeyService)),
169
+ ( __param(1, IExtensionBisectService)),
170
+ ( __param(2, INotificationService)),
171
+ ( __param(3, ICommandService))
172
+ ], ExtensionBisectUi));
173
+ ( Registry.as(Extensions.Workbench)).registerWorkbenchContribution(ExtensionBisectUi, LifecyclePhase.Restored);
172
174
  registerAction2(class extends Action2 {
173
175
  constructor() {
174
176
  super({
175
177
  id: 'extension.bisect.start',
176
- title: ( localize2(696, 'Start Extension Bisect')),
178
+ title: ( localize2(11397, 'Start Extension Bisect')),
177
179
  category: Categories.Help,
178
180
  f1: true,
179
- precondition: ( (ExtensionBisectUi.ctxIsBisectActive.negate())),
181
+ precondition: ( ExtensionBisectUi.ctxIsBisectActive.negate()),
180
182
  menu: {
181
183
  id: MenuId.ViewContainerTitle,
182
- when: ( (ContextKeyExpr.equals('viewContainer', 'workbench.view.extensions'))),
184
+ when: ( ContextKeyExpr.equals('viewContainer', 'workbench.view.extensions')),
183
185
  group: '2_enablement',
184
186
  order: 4
185
187
  }
@@ -191,15 +193,15 @@ registerAction2(class extends Action2 {
191
193
  const extensionManagement = accessor.get(IExtensionManagementService);
192
194
  const extensionEnablementService = accessor.get(IWorkbenchExtensionEnablementService);
193
195
  const extensionsBisect = accessor.get(IExtensionBisectService);
194
- const extensions = (await extensionManagement.getInstalled(1 )).filter(ext => extensionEnablementService.isEnabled(ext));
196
+ const extensions = (await extensionManagement.getInstalled(ExtensionType.User)).filter(ext => extensionEnablementService.isEnabled(ext));
195
197
  const res = await dialogService.confirm({
196
- message: ( localize(697, "Extension Bisect")),
198
+ message: ( localize(11398, "Extension Bisect")),
197
199
  detail: ( localize(
198
- 698,
200
+ 11399,
199
201
  "Extension Bisect will use binary search to find an extension that causes a problem. During the process the window reloads repeatedly (~{0} times). Each time you must confirm if you are still seeing problems.",
200
202
  2 + Math.log2(extensions.length) | 0
201
203
  )),
202
- primaryButton: ( localize(699, "&&Start Extension Bisect"))
204
+ primaryButton: ( localize(11400, "&&Start Extension Bisect"))
203
205
  });
204
206
  if (res.confirmed) {
205
207
  await extensionsBisect.start(extensions);
@@ -211,7 +213,7 @@ registerAction2(class extends Action2 {
211
213
  constructor() {
212
214
  super({
213
215
  id: 'extension.bisect.next',
214
- title: ( localize2(700, 'Continue Extension Bisect')),
216
+ title: ( localize2(11401, 'Continue Extension Bisect')),
215
217
  category: Categories.Help,
216
218
  f1: true,
217
219
  precondition: ExtensionBisectUi.ctxIsBisectActive
@@ -245,24 +247,24 @@ registerAction2(class extends Action2 {
245
247
  return;
246
248
  }
247
249
  if (done.bad) {
248
- await dialogService.info(( localize(701, "Extension Bisect")), ( localize(
249
- 702,
250
+ await dialogService.info(( localize(11402, "Extension Bisect")), ( localize(
251
+ 11403,
250
252
  "Extension Bisect is done but no extension has been identified. This might be a problem with {0}.",
251
253
  productService.nameShort
252
254
  )));
253
255
  }
254
256
  else {
255
257
  const res = await dialogService.confirm({
256
- type: Severity$1.Info,
257
- message: ( localize(701, "Extension Bisect")),
258
- primaryButton: ( localize(703, "&&Report Issue & Continue")),
259
- cancelButton: ( localize(704, "Continue")),
258
+ type: Severity.Info,
259
+ message: ( localize(11402, "Extension Bisect")),
260
+ primaryButton: ( localize(11404, "&&Report Issue & Continue")),
261
+ cancelButton: ( localize(11405, "Continue")),
260
262
  detail: ( localize(
261
- 705,
263
+ 11406,
262
264
  "Extension Bisect is done and has identified {0} as the extension causing the problem.",
263
265
  done.id
264
266
  )),
265
- checkbox: { label: ( localize(706, "Keep this extension disabled")), checked: true }
267
+ checkbox: { label: ( localize(11407, "Keep this extension disabled")), checked: true }
266
268
  });
267
269
  if (res.checkboxChecked) {
268
270
  await extensionEnablementService.disableExtension({ id: done.id }, undefined);
@@ -276,29 +278,29 @@ registerAction2(class extends Action2 {
276
278
  }
277
279
  async _checkForBad(dialogService, bisectService) {
278
280
  const { result } = await dialogService.prompt({
279
- type: Severity$1.Info,
280
- message: ( localize(707, "Extension Bisect")),
281
+ type: Severity.Info,
282
+ message: ( localize(11408, "Extension Bisect")),
281
283
  detail: ( localize(
282
- 708,
284
+ 11409,
283
285
  "Extension Bisect is active and has disabled {0} extensions. Check if you can still reproduce the problem and proceed by selecting from these options.",
284
286
  bisectService.disabledCount
285
287
  )),
286
288
  buttons: [
287
289
  {
288
- label: ( localize(709, "I ca&&n't reproduce")),
290
+ label: ( localize(11410, "I ca&&n't reproduce")),
289
291
  run: () => false
290
292
  },
291
293
  {
292
- label: ( localize(710, "I can &&reproduce")),
294
+ label: ( localize(11411, "I can &&reproduce")),
293
295
  run: () => true
294
296
  },
295
297
  {
296
- label: ( localize(711, "&&Stop Bisect")),
298
+ label: ( localize(11412, "&&Stop Bisect")),
297
299
  run: () => undefined
298
300
  }
299
301
  ],
300
302
  cancelButton: {
301
- label: ( localize(712, "&&Cancel Bisect")),
303
+ label: ( localize(11413, "&&Cancel Bisect")),
302
304
  run: () => null
303
305
  }
304
306
  });
@@ -309,7 +311,7 @@ registerAction2(class extends Action2 {
309
311
  constructor() {
310
312
  super({
311
313
  id: 'extension.bisect.stop',
312
- title: ( localize2(713, 'Stop Extension Bisect')),
314
+ title: ( localize2(11414, 'Stop Extension Bisect')),
313
315
  category: Categories.Help,
314
316
  f1: true,
315
317
  precondition: ExtensionBisectUi.ctxIsBisectActive
@@ -0,0 +1,74 @@
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 { ExtensionKind } from "vscode/vscode/vs/platform/environment/common/environment";
4
+ import { ExtensionIdentifier, IExtensionDescription } from "vscode/vscode/vs/platform/extensions/common/extensions";
5
+ import { IFileService } from "vscode/vscode/vs/platform/files/common/files.service";
6
+ import { IInstantiationService } from "vscode/vscode/vs/platform/instantiation/common/instantiation";
7
+ import { ILogService } from "vscode/vscode/vs/platform/log/common/log.service";
8
+ import { INotificationService } from "vscode/vscode/vs/platform/notification/common/notification.service";
9
+ import { IProductService } from "vscode/vscode/vs/platform/product/common/productService.service";
10
+ import { ResolverResult } from "vscode/vscode/vs/platform/remote/common/remoteAuthorityResolver";
11
+ import { IRemoteAuthorityResolverService } from "vscode/vscode/vs/platform/remote/common/remoteAuthorityResolver.service";
12
+ import { IRemoteExtensionsScannerService } from "vscode/vscode/vs/platform/remote/common/remoteExtensionsScanner.service";
13
+ import { ITelemetryService } from "vscode/vscode/vs/platform/telemetry/common/telemetry.service";
14
+ import { IWorkspaceContextService } from "vscode/vscode/vs/platform/workspace/common/workspace.service";
15
+ import { IWorkspaceTrustManagementService } from "vscode/vscode/vs/platform/workspace/common/workspaceTrust.service";
16
+ import { IBrowserWorkbenchEnvironmentService } from "vscode/vscode/vs/workbench/services/environment/browser/environmentService.service";
17
+ import { IWebExtensionsScannerService } from "vscode/vscode/vs/workbench/services/extensionManagement/common/extensionManagement.service";
18
+ import { IWorkbenchExtensionEnablementService } from "vscode/vscode/vs/workbench/services/extensionManagement/common/extensionManagement.service";
19
+ import { IWorkbenchExtensionManagementService } from "vscode/vscode/vs/workbench/services/extensionManagement/common/extensionManagement.service";
20
+ import { IWebWorkerExtensionHostDataProvider } from "./webWorkerExtensionHost.js";
21
+ import { AbstractExtensionService, IExtensionHostFactory, ResolvedExtensions } from "../common/abstractExtensionService.js";
22
+ import { ExtensionDescriptionRegistrySnapshot } from "vscode/vscode/vs/workbench/services/extensions/common/extensionDescriptionRegistry";
23
+ import { ExtensionHostKind, ExtensionRunningPreference, IExtensionHostKindPicker } from "vscode/vscode/vs/workbench/services/extensions/common/extensionHostKind";
24
+ import { IExtensionManifestPropertiesService } from "vscode/vscode/vs/workbench/services/extensions/common/extensionManifestPropertiesService.service";
25
+ import { ExtensionRunningLocation } from "@codingame/monaco-vscode-d7f659f5-da33-5ea8-a3b8-9b94f2cf5f33-common/vscode/vs/workbench/services/extensions/common/extensionRunningLocation";
26
+ import { ExtensionRunningLocationTracker } from "../common/extensionRunningLocationTracker.js";
27
+ import { IExtensionHost } from "vscode/vscode/vs/workbench/services/extensions/common/extensions";
28
+ import { IExtensionService } from "vscode/vscode/vs/workbench/services/extensions/common/extensions.service";
29
+ import { ExtensionsProposedApi } from "../common/extensionsProposedApi.js";
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
+ export declare class ExtensionService extends AbstractExtensionService implements IExtensionService {
36
+ private readonly _browserEnvironmentService;
37
+ private readonly _webExtensionsScannerService;
38
+ private readonly _userDataInitializationService;
39
+ private readonly _userDataProfileService;
40
+ private readonly _workspaceTrustManagementService;
41
+ private readonly _remoteExplorerService;
42
+ 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);
43
+ private _initFetchFileSystem;
44
+ private _scanWebExtensionsPromise;
45
+ protected _scanWebExtensions(): Promise<IExtensionDescription[]>;
46
+ private _resolveExtensionsDefault;
47
+ protected _resolveExtensions(): AsyncIterable<ResolvedExtensions>;
48
+ private _doResolveExtensions;
49
+ protected _onExtensionHostExit(code: number): Promise<void>;
50
+ protected _resolveAuthority(remoteAuthority: string): Promise<ResolverResult>;
51
+ }
52
+ export declare class BrowserExtensionHostFactory implements IExtensionHostFactory {
53
+ private readonly _extensionsProposedApi;
54
+ private readonly _scanWebExtensions;
55
+ private readonly _getExtensionRegistrySnapshotWhenReady;
56
+ protected readonly _instantiationService: IInstantiationService;
57
+ protected readonly _remoteAgentService: IRemoteAgentService;
58
+ protected readonly _remoteAuthorityResolverService: IRemoteAuthorityResolverService;
59
+ protected readonly _extensionEnablementService: IWorkbenchExtensionEnablementService;
60
+ private readonly _logService;
61
+ constructor(_extensionsProposedApi: ExtensionsProposedApi, _scanWebExtensions: () => Promise<IExtensionDescription[]>, _getExtensionRegistrySnapshotWhenReady: () => Promise<ExtensionDescriptionRegistrySnapshot>, _instantiationService: IInstantiationService, _remoteAgentService: IRemoteAgentService, _remoteAuthorityResolverService: IRemoteAuthorityResolverService, _extensionEnablementService: IWorkbenchExtensionEnablementService, _logService: ILogService);
62
+ createExtensionHost(runningLocations: ExtensionRunningLocationTracker, runningLocation: ExtensionRunningLocation, isInitialStart: boolean): IExtensionHost | null;
63
+ protected _createLocalExtensionHostDataProvider(runningLocations: ExtensionRunningLocationTracker, desiredRunningLocation: ExtensionRunningLocation, isInitialStart: boolean): IWebWorkerExtensionHostDataProvider;
64
+ private _createRemoteExtensionHostDataProvider;
65
+ }
66
+ export declare class BrowserExtensionHostKindPicker implements IExtensionHostKindPicker {
67
+ private readonly _logService;
68
+ constructor(_logService: ILogService);
69
+ pickExtensionHostKind(extensionId: ExtensionIdentifier, extensionKinds: ExtensionKind[], isInstalledLocally: boolean, isInstalledRemotely: boolean, preference: ExtensionRunningPreference): ExtensionHostKind | null;
70
+ static pickRunningLocation(extensionKinds: ExtensionKind[], isInstalledLocally: boolean, isInstalledRemotely: boolean, preference: ExtensionRunningPreference): ExtensionHostKind | null;
71
+ }
72
+ export declare class BrowserExtensionService extends ExtensionService {
73
+ constructor(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);
74
+ }
@@ -1,14 +1,17 @@
1
- import { __decorate, __param } from 'vscode/external/tslib/tslib.es6.js';
1
+
2
+ import { __decorate, __param } from 'vscode/external/tslib/tslib.es6';
2
3
  import { mainWindow } from 'vscode/vscode/vs/base/browser/window';
3
4
  import { Schemas } from 'vscode/vscode/vs/base/common/network';
4
5
  import { IConfigurationService } from 'vscode/vscode/vs/platform/configuration/common/configuration.service';
5
6
  import { IDialogService } from 'vscode/vscode/vs/platform/dialogs/common/dialogs.service';
6
7
  import { IFileService } from 'vscode/vscode/vs/platform/files/common/files.service';
8
+ import 'vscode/vscode/vs/platform/instantiation/common/extensions';
7
9
  import { IInstantiationService } from 'vscode/vscode/vs/platform/instantiation/common/instantiation';
8
- import { getLogs } from 'vscode/vscode/vs/platform/log/browser/log';
10
+ import { getLogs } from '@codingame/monaco-vscode-256d5b78-0649-50e9-8354-2807f95f68f4-common/vscode/vs/platform/log/browser/log';
9
11
  import { ILogService } from 'vscode/vscode/vs/platform/log/common/log.service';
10
12
  import { INotificationService } from 'vscode/vscode/vs/platform/notification/common/notification.service';
11
13
  import { IProductService } from 'vscode/vscode/vs/platform/product/common/productService.service';
14
+ import { PersistentConnectionEventType } from '@codingame/monaco-vscode-2a94c04a-b85b-5669-b06b-89c1bfa11cb9-common/vscode/vs/platform/remote/common/remoteAgentConnection';
12
15
  import { RemoteAuthorityResolverError } from 'vscode/vscode/vs/platform/remote/common/remoteAuthorityResolver';
13
16
  import { IRemoteAuthorityResolverService } from 'vscode/vscode/vs/platform/remote/common/remoteAuthorityResolver.service';
14
17
  import { IRemoteExtensionsScannerService } from 'vscode/vscode/vs/platform/remote/common/remoteExtensionsScanner.service';
@@ -19,31 +22,33 @@ import { IBrowserWorkbenchEnvironmentService } from 'vscode/vscode/vs/workbench/
19
22
  import { IWorkbenchExtensionEnablementService, IWorkbenchExtensionManagementService, IWebExtensionsScannerService } from 'vscode/vscode/vs/workbench/services/extensionManagement/common/extensionManagement.service';
20
23
  import { WebWorkerExtensionHost } from './webWorkerExtensionHost.js';
21
24
  import { FetchFileSystemProvider } from './webWorkerFileSystemProvider.js';
22
- import { AbstractExtensionService, ResolvedExtensions, checkEnabledAndProposedAPI } from '../common/abstractExtensionService.js';
23
- import { extensionRunningPreferenceToString, extensionHostKindToString } from 'vscode/vscode/vs/workbench/services/extensions/common/extensionHostKind';
25
+ import { AbstractExtensionService, RemoteExtensions, LocalExtensions, isResolverExtension, ResolverExtensions, checkEnabledAndProposedAPI } from '../common/abstractExtensionService.js';
26
+ import { ExtensionHostKind, extensionRunningPreferenceToString, extensionHostKindToString, ExtensionRunningPreference } from 'vscode/vscode/vs/workbench/services/extensions/common/extensionHostKind';
24
27
  import { IExtensionManifestPropertiesService } from 'vscode/vscode/vs/workbench/services/extensions/common/extensionManifestPropertiesService.service';
25
28
  import { filterExtensionDescriptions } from '../common/extensionRunningLocationTracker.js';
26
- import { toExtensionDescription, ExtensionHostExtensions } from 'vscode/vscode/vs/workbench/services/extensions/common/extensions';
29
+ import { toExtensionDescription, ExtensionHostStartup, ExtensionHostExtensions } from 'vscode/vscode/vs/workbench/services/extensions/common/extensions';
27
30
  import '../common/extensionsProposedApi.js';
28
31
  import { dedupExtensions } from '../common/extensionsUtil.js';
29
32
  import { RemoteExtensionHost } from '../common/remoteExtensionHost.js';
33
+ import { LifecyclePhase } from 'vscode/vscode/vs/workbench/services/lifecycle/common/lifecycle';
30
34
  import { ILifecycleService } from 'vscode/vscode/vs/workbench/services/lifecycle/common/lifecycle.service';
31
35
  import { IRemoteAgentService } from 'vscode/vscode/vs/workbench/services/remote/common/remoteAgentService.service';
32
36
  import { IRemoteExplorerService } from 'vscode/vscode/vs/workbench/services/remote/common/remoteExplorerService.service';
33
37
  import { IUserDataInitializationService } from 'vscode/vscode/vs/workbench/services/userData/browser/userDataInit.service';
34
38
  import { IUserDataProfileService } from 'vscode/vscode/vs/workbench/services/userDataProfile/common/userDataProfile.service';
39
+ import { AsyncIterableObject } from 'vscode/vscode/vs/base/common/async';
35
40
 
36
41
  var BrowserExtensionHostKindPicker_1;
37
42
  let ExtensionService = class ExtensionService extends AbstractExtensionService {
38
43
  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) {
39
- super(extensionsProposedApi, extensionHostFactory, extensionHostKindPicker, instantiationService, notificationService, _browserEnvironmentService, telemetryService, extensionEnablementService, fileService, productService, extensionManagementService, contextService, configurationService, extensionManifestPropertiesService, logService, remoteAgentService, remoteExtensionsScannerService, lifecycleService, remoteAuthorityResolverService, dialogService);
44
+ super({ hasLocalProcess: false, allowRemoteExtensionsInLocalWebWorker: true }, extensionsProposedApi, extensionHostFactory, extensionHostKindPicker, instantiationService, notificationService, _browserEnvironmentService, telemetryService, extensionEnablementService, fileService, productService, extensionManagementService, contextService, configurationService, extensionManifestPropertiesService, logService, remoteAgentService, remoteExtensionsScannerService, lifecycleService, remoteAuthorityResolverService, dialogService);
40
45
  this._browserEnvironmentService = _browserEnvironmentService;
41
46
  this._webExtensionsScannerService = _webExtensionsScannerService;
42
47
  this._userDataInitializationService = _userDataInitializationService;
43
48
  this._userDataProfileService = _userDataProfileService;
44
49
  this._workspaceTrustManagementService = _workspaceTrustManagementService;
45
50
  this._remoteExplorerService = _remoteExplorerService;
46
- lifecycleService.when(2 ).then(async () => {
51
+ lifecycleService.when(LifecyclePhase.Ready).then(async () => {
47
52
  await this._userDataInitializationService.initializeInstalledExtensions(this._instantiationService);
48
53
  this._initialize();
49
54
  });
@@ -55,37 +60,48 @@ let ExtensionService = class ExtensionService extends AbstractExtensionService {
55
60
  this._register(this._fileService.registerProvider(Schemas.https, provider));
56
61
  }
57
62
  async _scanWebExtensions() {
58
- const system = [], user = [], development = [];
59
- try {
60
- await Promise.all([
61
- this._webExtensionsScannerService.scanSystemExtensions().then(extensions => system.push(...( extensions.map(e => toExtensionDescription(e))))),
62
- this._webExtensionsScannerService.scanUserExtensions(this._userDataProfileService.currentProfile.extensionsResource, { skipInvalidExtensions: true }).then(extensions => user.push(...( extensions.map(e => toExtensionDescription(e))))),
63
- this._webExtensionsScannerService.scanExtensionsUnderDevelopment().then(extensions => development.push(...( extensions.map(e => toExtensionDescription(e, true)))))
64
- ]);
65
- }
66
- catch (error) {
67
- this._logService.error(error);
63
+ if (!this._scanWebExtensionsPromise) {
64
+ this._scanWebExtensionsPromise = (async () => {
65
+ const system = [], user = [], development = [];
66
+ try {
67
+ await Promise.all([
68
+ this._webExtensionsScannerService.scanSystemExtensions().then(extensions => system.push(...( extensions.map(e => toExtensionDescription(e))))),
69
+ this._webExtensionsScannerService.scanUserExtensions(this._userDataProfileService.currentProfile.extensionsResource, { skipInvalidExtensions: true }).then(extensions => user.push(...( extensions.map(e => toExtensionDescription(e))))),
70
+ this._webExtensionsScannerService.scanExtensionsUnderDevelopment().then(extensions => development.push(...( extensions.map(e => toExtensionDescription(e, true)))))
71
+ ]);
72
+ }
73
+ catch (error) {
74
+ this._logService.error(error);
75
+ }
76
+ return dedupExtensions(system, user, [], development, this._logService);
77
+ })();
68
78
  }
69
- return dedupExtensions(system, user, [], development, this._logService);
79
+ return this._scanWebExtensionsPromise;
70
80
  }
71
- async _resolveExtensionsDefault() {
81
+ async _resolveExtensionsDefault(emitter) {
72
82
  const [localExtensions, remoteExtensions] = await Promise.all([
73
83
  this._scanWebExtensions(),
74
84
  this._remoteExtensionsScannerService.scanExtensions()
75
85
  ]);
76
- return ( new ResolvedExtensions(
77
- localExtensions,
78
- remoteExtensions,
79
- false,
80
- true
81
- ));
86
+ if (remoteExtensions.length) {
87
+ emitter.emitOne(( new RemoteExtensions(remoteExtensions)));
88
+ }
89
+ emitter.emitOne(( new LocalExtensions(localExtensions)));
82
90
  }
83
- async _resolveExtensions() {
91
+ _resolveExtensions() {
92
+ return ( new AsyncIterableObject(emitter => this._doResolveExtensions(emitter)));
93
+ }
94
+ async _doResolveExtensions(emitter) {
84
95
  if (!this._browserEnvironmentService.expectsResolverExtension) {
85
- return this._resolveExtensionsDefault();
96
+ return this._resolveExtensionsDefault(emitter);
86
97
  }
87
98
  const remoteAuthority = this._environmentService.remoteAuthority;
88
99
  await this._workspaceTrustManagementService.workspaceResolved;
100
+ const localExtensions = await this._scanWebExtensions();
101
+ const resolverExtensions = localExtensions.filter(extension => isResolverExtension(extension));
102
+ if (resolverExtensions.length) {
103
+ emitter.emitOne(( new ResolverExtensions(resolverExtensions)));
104
+ }
89
105
  let resolverResult;
90
106
  try {
91
107
  resolverResult = await this._resolveAuthorityInitial(remoteAuthority);
@@ -95,20 +111,20 @@ let ExtensionService = class ExtensionService extends AbstractExtensionService {
95
111
  console.log(`Error handled: Not showing a notification for the error`);
96
112
  }
97
113
  this._remoteAuthorityResolverService._setResolvedAuthorityError(remoteAuthority, err);
98
- return this._resolveExtensionsDefault();
114
+ return this._resolveExtensionsDefault(emitter);
99
115
  }
100
116
  this._remoteAuthorityResolverService._setResolvedAuthority(resolverResult.authority, resolverResult.options);
101
117
  this._remoteExplorerService.setTunnelInformation(resolverResult.tunnelInformation);
102
118
  const connection = this._remoteAgentService.getConnection();
103
119
  if (connection) {
104
120
  connection.onDidStateChange(async (e) => {
105
- if (e.type === 0 ) {
121
+ if (e.type === PersistentConnectionEventType.ConnectionLost) {
106
122
  this._remoteAuthorityResolverService._clearResolvedAuthority(remoteAuthority);
107
123
  }
108
124
  });
109
125
  connection.onReconnecting(() => this._resolveAuthorityAgain());
110
126
  }
111
- return this._resolveExtensionsDefault();
127
+ return this._resolveExtensionsDefault(emitter);
112
128
  }
113
129
  async _onExtensionHostExit(code) {
114
130
  await this._doStopExtensionHosts();
@@ -118,7 +134,7 @@ let ExtensionService = class ExtensionService extends AbstractExtensionService {
118
134
  }
119
135
  }
120
136
  async _resolveAuthority(remoteAuthority) {
121
- return this._resolveAuthorityOnExtensionHosts(2 , remoteAuthority);
137
+ return this._resolveAuthorityOnExtensionHosts(ExtensionHostKind.LocalWebWorker, remoteAuthority);
122
138
  }
123
139
  };
124
140
  ExtensionService = ( __decorate([
@@ -158,14 +174,16 @@ let BrowserExtensionHostFactory = class BrowserExtensionHostFactory {
158
174
  }
159
175
  createExtensionHost(runningLocations, runningLocation, isInitialStart) {
160
176
  switch (runningLocation.kind) {
161
- case 1 : {
177
+ case ExtensionHostKind.LocalProcess: {
162
178
  return null;
163
179
  }
164
- case 2 : {
165
- const startup = ((isInitialStart ? 2 : 1) );
180
+ case ExtensionHostKind.LocalWebWorker: {
181
+ const startup = (isInitialStart
182
+ ? ExtensionHostStartup.EagerManualStart
183
+ : ExtensionHostStartup.EagerAutoStart);
166
184
  return this._instantiationService.createInstance(WebWorkerExtensionHost, runningLocation, startup, this._createLocalExtensionHostDataProvider(runningLocations, runningLocation, isInitialStart));
167
185
  }
168
- case 3 : {
186
+ case ExtensionHostKind.Remote: {
169
187
  const remoteAgentConnection = this._remoteAgentService.getConnection();
170
188
  if (remoteAgentConnection) {
171
189
  return this._instantiationService.createInstance(RemoteExtensionHost, runningLocation, this._createRemoteExtensionHostDataProvider(runningLocations, remoteAgentConnection.remoteAuthority));
@@ -202,7 +220,7 @@ let BrowserExtensionHostFactory = class BrowserExtensionHostFactory {
202
220
  if (!remoteEnv) {
203
221
  throw ( new Error('Cannot provide init data for remote extension host!'));
204
222
  }
205
- const myExtensions = runningLocations.filterByExtensionHostKind(snapshot.extensions, 3 );
223
+ const myExtensions = runningLocations.filterByExtensionHostKind(snapshot.extensions, ExtensionHostKind.Remote);
206
224
  const extensions = ( new ExtensionHostExtensions(snapshot.versionId, snapshot.extensions, ( myExtensions.map(extension => extension.identifier))));
207
225
  return {
208
226
  connectionData: this._remoteAuthorityResolverService.getConnectionData(remoteAuthority),
@@ -238,32 +256,32 @@ let BrowserExtensionHostKindPicker = BrowserExtensionHostKindPicker_1 = class Br
238
256
  let canRunRemotely = false;
239
257
  for (const extensionKind of extensionKinds) {
240
258
  if (extensionKind === 'ui' && isInstalledRemotely) {
241
- if (preference === 2 ) {
242
- return 3 ;
259
+ if (preference === ExtensionRunningPreference.Remote) {
260
+ return ExtensionHostKind.Remote;
243
261
  }
244
262
  else {
245
263
  canRunRemotely = true;
246
264
  }
247
265
  }
248
266
  if (extensionKind === 'workspace' && isInstalledRemotely) {
249
- if (preference === 0 || preference === 2 ) {
250
- return 3 ;
267
+ if (preference === ExtensionRunningPreference.None || preference === ExtensionRunningPreference.Remote) {
268
+ return ExtensionHostKind.Remote;
251
269
  }
252
270
  else {
253
- result.push(3 );
271
+ result.push(ExtensionHostKind.Remote);
254
272
  }
255
273
  }
256
274
  if (extensionKind === 'web' && (isInstalledLocally || isInstalledRemotely)) {
257
- if (preference === 0 || preference === 1 ) {
258
- return 2 ;
275
+ if (preference === ExtensionRunningPreference.None || preference === ExtensionRunningPreference.Local) {
276
+ return ExtensionHostKind.LocalWebWorker;
259
277
  }
260
278
  else {
261
- result.push(2 );
279
+ result.push(ExtensionHostKind.LocalWebWorker);
262
280
  }
263
281
  }
264
282
  }
265
283
  if (canRunRemotely) {
266
- result.push(3 );
284
+ result.push(ExtensionHostKind.Remote);
267
285
  }
268
286
  return (result.length > 0 ? result[0] : null);
269
287
  }