@codingame/monaco-vscode-extensions-service-override 1.83.8 → 1.83.10-next.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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,123 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta http-equiv="Content-Security-Policy" content="
5
+ default-src 'none';
6
+ child-src 'self' data: blob:;
7
+ script-src 'self' 'unsafe-eval' 'sha256-OTnWt0xD0mDGlMgzQref1DqApnE9MipgFz2t0Q/3vcE=' https:;
8
+ connect-src 'self' https: wss: http://localhost:* http://127.0.0.1:* ws://localhost:* ws://127.0.0.1:*;"/>
9
+ </head>
10
+ <body>
11
+ <script>
12
+ (function() {
13
+ const searchParams = new URL(document.location.href).searchParams;
14
+ const vscodeWebWorkerExtHostId = searchParams.get('vscodeWebWorkerExtHostId') || '';
15
+ const name = searchParams.get('debugged') ? 'DebugWorkerExtensionHost' : 'WorkerExtensionHost';
16
+ const parentOrigin = searchParams.get('parentOrigin') || window.origin;
17
+ const salt = searchParams.get('salt');
18
+ const vscodeExtHostWorkerSrc = searchParams.get('vscodeExtHostWorkerSrc');
19
+ const vscodeExtHostWorkerOptions = JSON.parse(searchParams.get('vscodeExtHostWorkerOptions') ?? '{}');
20
+
21
+ (async function() {
22
+ const hostnameValidationMarker = 'v--';
23
+ const hostname = location.hostname;
24
+ if (!hostname.startsWith(hostnameValidationMarker)) {
25
+ // validation not requested
26
+ return start();
27
+ }
28
+ if (!crypto.subtle) {
29
+ // cannot validate, not running in a secure context
30
+ return sendError(new Error(`Cannot validate in current context!`));
31
+ }
32
+
33
+ // Here the `parentOriginHash()` function from `src/vs/workbench/common/webview.ts` is inlined
34
+ // compute a sha-256 composed of `parentOrigin` and `salt` converted to base 32
35
+ let parentOriginHash;
36
+ try {
37
+ const strData = JSON.stringify({ parentOrigin, salt });
38
+ const encoder = new TextEncoder();
39
+ const arrData = encoder.encode(strData);
40
+ const hash = await crypto.subtle.digest('sha-256', arrData);
41
+ const hashArray = Array.from(new Uint8Array(hash));
42
+ const hashHex = hashArray.map(b => b.toString(16).padStart(2, '0')).join('');
43
+ // sha256 has 256 bits, so we need at most ceil(lg(2^256-1)/lg(32)) = 52 chars to represent it in base 32
44
+ parentOriginHash = BigInt(`0x${hashHex}`).toString(32).padStart(52, '0');
45
+ } catch(err) {
46
+ return sendError(err instanceof Error ? err : new Error(String(err)));
47
+ }
48
+
49
+ const requiredSubdomain = `${hostnameValidationMarker}${parentOriginHash}.`;
50
+ if (hostname.substring(0, requiredSubdomain.length) === requiredSubdomain) {
51
+ // validation succeeded!
52
+ return start();
53
+ }
54
+
55
+ return sendError(new Error(`Expected '${requiredSubdomain}' as subdomain!`));
56
+ })();
57
+
58
+ function sendError(error) {
59
+ window.parent.postMessage({
60
+ vscodeWebWorkerExtHostId,
61
+ error: {
62
+ name: error ? error.name : '',
63
+ message: error ? error.message : '',
64
+ stack: error ? error.stack : []
65
+ }
66
+ }, '*');
67
+ }
68
+
69
+ function start() {
70
+ try {
71
+ let workerUrl = vscodeExtHostWorkerSrc
72
+ if(globalThis.crossOriginIsolated) {
73
+ workerUrl += '?vscode-coi=2'; // COEP
74
+ }
75
+
76
+ const worker = new Worker(workerUrl, Object.assign({ name }, vscodeExtHostWorkerOptions));
77
+ const nestedWorkers = new Map();
78
+
79
+ worker.onmessage = (event) => {
80
+ const { data } = event;
81
+
82
+ if (data?.type === '_newWorker') {
83
+ const { id, port, url, options } = data;
84
+ const newWorker = new Worker(url, options);
85
+ newWorker.postMessage(port, [port]);
86
+ worker.onerror = console.error.bind(console);
87
+ nestedWorkers.set(id, newWorker);
88
+
89
+ } else if (data?.type === '_terminateWorker') {
90
+ const { id } = data;
91
+ if(nestedWorkers.has(id)) {
92
+ nestedWorkers.get(id).terminate();
93
+ nestedWorkers.delete(id);
94
+ }
95
+ } else {
96
+ worker.onerror = console.error.bind(console);
97
+ window.parent.postMessage({
98
+ vscodeWebWorkerExtHostId,
99
+ data
100
+ }, parentOrigin, [data]);
101
+ }
102
+ };
103
+
104
+ worker.onerror = (event) => {
105
+ console.error(event.message, event.error);
106
+ sendError(event.error);
107
+ };
108
+
109
+ self.onmessage = (event) => {
110
+ if (event.origin !== parentOrigin) {
111
+ return;
112
+ }
113
+ worker.postMessage(event.data, event.ports);
114
+ }
115
+ } catch(err) {
116
+ console.error(err);
117
+ sendError(err);
118
+ }
119
+ }
120
+ })();
121
+ </script>
122
+ </body>
123
+ </html>
package/extensions.d.ts CHANGED
@@ -6,28 +6,31 @@ import { IExtension, IRelaxedExtensionDescription } from 'vscode/vscode/vs/platf
6
6
  import { IWorkspaceContextService } from 'vscode/vscode/vs/platform/workspace/common/workspace';
7
7
  import { IInstantiationService } from 'vscode/vscode/vs/platform/instantiation/common/instantiation';
8
8
  import { INotificationService } from 'vscode/vscode/vs/platform/notification/common/notification';
9
- import { AbstractExtensionService, ResolvedExtensions } from 'vscode/vscode/vs/workbench/services/extensions/common/abstractExtensionService';
10
9
  import { ITelemetryService } from 'vscode/vscode/vs/platform/telemetry/common/telemetry';
11
10
  import { IDialogService } from 'vscode/vscode/vs/platform/dialogs/common/dialogs';
12
- import { IRemoteAuthorityResolverService, ResolverResult } from 'vscode/vscode/vs/platform/remote/common/remoteAuthorityResolver';
11
+ import { IRemoteAuthorityResolverService } from 'vscode/vscode/vs/platform/remote/common/remoteAuthorityResolver';
13
12
  import { IRemoteExtensionsScannerService } from 'vscode/vscode/vs/platform/remote/common/remoteExtensionsScanner';
14
13
  import { IRemoteAgentService } from 'vscode/vscode/vs/workbench/services/remote/common/remoteAgentService';
15
- import { IWorkbenchExtensionEnablementService, IWorkbenchExtensionManagementService } from 'vscode/vscode/vs/workbench/services/extensionManagement/common/extensionManagement';
14
+ import { IWorkbenchExtensionEnablementService, IWorkbenchExtensionManagementService, IWebExtensionsScannerService } from 'vscode/vscode/vs/workbench/services/extensionManagement/common/extensionManagement';
16
15
  import { IExtensionManifestPropertiesService } from 'vscode/vscode/vs/workbench/services/extensions/common/extensionManifestPropertiesService';
17
16
  import { IConfigurationService } from 'vscode/vscode/vs/platform/configuration/common/configuration';
18
17
  import { IProductService } from 'vscode/vscode/vs/platform/product/common/productService';
19
18
  import { IBrowserWorkbenchEnvironmentService } from 'vscode/vscode/vs/workbench/services/environment/browser/environmentService';
20
19
  import { IEditorOverrideServices } from 'vscode/vscode/vs/editor/standalone/browser/standaloneServices';
21
20
  import { IUserDataInitializationService } from 'vscode/vscode/vs/workbench/services/userData/browser/userDataInit';
21
+ import { ExtensionService } from 'vscode/vscode/vs/workbench/services/extensions/browser/extensionService';
22
22
  import { ExtensionHostKind } from 'vscode/vscode/vs/workbench/services/extensions/common/extensionHostKind';
23
23
  export { ExtensionHostKind } from 'vscode/vscode/vs/workbench/services/extensions/common/extensionHostKind';
24
- import { ExtHostExtensionService } from './dist/main/vscode/src/vs/workbench/api/worker/extHostExtensionService.js';
25
- import * as vscodeProposed_d from './vscode-proposed.js';
24
+ import { ExtHostExtensionService } from './vscode/src/vs/workbench/api/worker/extHostExtensionService.js';
25
+ import * as vscode from 'vscode';
26
+ import { IUserDataProfileService } from 'vscode/vscode/vs/workbench/services/userDataProfile/common/userDataProfile';
27
+ import { IWorkspaceTrustManagementService } from 'vscode/vscode/vs/platform/workspace/common/workspaceTrust';
28
+ import { IRemoteExplorerService } from 'vscode/vscode/vs/workbench/services/remote/common/remoteExplorerService';
26
29
 
27
30
  declare class LocalExtHostExtensionService extends ExtHostExtensionService {
28
31
  private _defaultApiImpl?;
29
32
  private readonly _extApiImpl;
30
- getApi(extensionId?: string): Promise<typeof vscodeProposed_d>;
33
+ getApi(extensionId?: string): Promise<typeof vscode>;
31
34
  }
32
35
  interface WorkerConfig {
33
36
  url: string;
@@ -36,16 +39,12 @@ interface WorkerConfig {
36
39
  interface IExtensionWithExtHostKind extends IExtension {
37
40
  extHostKind?: ExtensionHostKind;
38
41
  }
39
- declare class SimpleExtensionService extends AbstractExtensionService implements IExtensionService {
40
- constructor(workerConfig: WorkerConfig | undefined, instantiationService: IInstantiationService, notificationService: INotificationService, browserEnvironmentService: IBrowserWorkbenchEnvironmentService, telemetryService: ITelemetryService, extensionEnablementService: IWorkbenchExtensionEnablementService, fileService: IFileService, productService: IProductService, extensionManagementService: IWorkbenchExtensionManagementService, contextService: IWorkspaceContextService, configurationService: IConfigurationService, extensionManifestPropertiesService: IExtensionManifestPropertiesService, logService: ILogService, remoteAgentService: IRemoteAgentService, remoteExtensionsScannerService: IRemoteExtensionsScannerService, lifecycleService: ILifecycleService, remoteAuthorityResolverService: IRemoteAuthorityResolverService, userDataInitializationService: IUserDataInitializationService, dialogService: IDialogService);
41
- private _initFetchFileSystem;
42
+ declare class ExtensionServiceOverride extends ExtensionService implements IExtensionService {
43
+ constructor(workerConfig: WorkerConfig | undefined, instantiationService: IInstantiationService, notificationService: INotificationService, browserEnvironmentService: IBrowserWorkbenchEnvironmentService, telemetryService: ITelemetryService, extensionEnablementService: IWorkbenchExtensionEnablementService, fileService: IFileService, productService: IProductService, extensionManagementService: IWorkbenchExtensionManagementService, contextService: IWorkspaceContextService, configurationService: IConfigurationService, extensionManifestPropertiesService: IExtensionManifestPropertiesService, webExtensionsScannerService: IWebExtensionsScannerService, logService: ILogService, remoteAgentService: IRemoteAgentService, remoteExtensionsScannerService: IRemoteExtensionsScannerService, lifecycleService: ILifecycleService, remoteAuthorityResolverService: IRemoteAuthorityResolverService, userDataInitializationService: IUserDataInitializationService, userDataProfileService: IUserDataProfileService, workspaceTrustManagementService: IWorkspaceTrustManagementService, remoteExplorerService: IRemoteExplorerService, dialogService: IDialogService);
42
44
  deltaExtensions(toAdd: IExtensionWithExtHostKind[], toRemove: IExtension[]): Promise<void>;
43
- protected _resolveExtensions(): Promise<ResolvedExtensions>;
44
45
  protected _scanSingleExtension(extension: IExtension): Promise<Readonly<IRelaxedExtensionDescription> | null>;
45
- protected _onExtensionHostExit(): void;
46
- protected _resolveAuthority(remoteAuthority: string): Promise<ResolverResult>;
47
46
  }
48
47
  declare function getServiceOverride(workerConfig?: WorkerConfig, _iframeAlternateDomains?: string): IEditorOverrideServices;
49
48
  declare function getLocalExtHostExtensionService(): Promise<LocalExtHostExtensionService>;
50
49
 
51
- export { type IExtensionWithExtHostKind, LocalExtHostExtensionService, SimpleExtensionService, type WorkerConfig, getServiceOverride as default, getLocalExtHostExtensionService };
50
+ export { ExtensionServiceOverride, type IExtensionWithExtHostKind, LocalExtHostExtensionService, type WorkerConfig, getServiceOverride as default, getLocalExtHostExtensionService };
package/extensions.js ADDED
@@ -0,0 +1,456 @@
1
+ import { __decorate, __param } from './external/tslib/tslib.es6.js';
2
+ import { IFileService } from 'monaco-editor/esm/vs/platform/files/common/files.js';
3
+ import { ILifecycleService } from 'vscode/vscode/vs/workbench/services/lifecycle/common/lifecycle';
4
+ import { nullExtensionDescription, toExtensionDescription, IExtensionService } from 'vscode/vscode/vs/workbench/services/extensions/common/extensions';
5
+ import { ILogService, ILoggerService } from 'monaco-editor/esm/vs/platform/log/common/log.js';
6
+ import { ExtensionIdentifierMap } from 'monaco-editor/esm/vs/platform/extensions/common/extensions.js';
7
+ import { IWorkspaceContextService } from 'monaco-editor/esm/vs/platform/workspace/common/workspace.js';
8
+ import { IInstantiationService } from 'monaco-editor/esm/vs/platform/instantiation/common/instantiation.js';
9
+ import { INotificationService } from 'monaco-editor/esm/vs/platform/notification/common/notification.js';
10
+ import { DeltaExtensionsQueueItem } from './vscode/src/vs/workbench/services/extensions/common/abstractExtensionService.js';
11
+ import { ITelemetryService } from 'monaco-editor/esm/vs/platform/telemetry/common/telemetry.js';
12
+ import { Event } from 'monaco-editor/esm/vs/base/common/event.js';
13
+ import './override/vs/platform/dialogs/common/dialogs.js';
14
+ import { IRemoteAuthorityResolverService } from 'vscode/vscode/vs/platform/remote/common/remoteAuthorityResolver';
15
+ import { IRemoteExtensionsScannerService } from 'vscode/vscode/vs/platform/remote/common/remoteExtensionsScanner';
16
+ import { IRemoteAgentService } from 'vscode/vscode/vs/workbench/services/remote/common/remoteAgentService';
17
+ import { IWorkbenchExtensionEnablementService, IWorkbenchExtensionManagementService, IWebExtensionsScannerService } from 'vscode/vscode/vs/workbench/services/extensionManagement/common/extensionManagement';
18
+ import { IExtensionManifestPropertiesService, ExtensionManifestPropertiesService } from 'vscode/vscode/vs/workbench/services/extensions/common/extensionManifestPropertiesService';
19
+ import { IConfigurationService } from 'monaco-editor/esm/vs/platform/configuration/common/configuration.js';
20
+ import { IProductService } from 'monaco-editor/esm/vs/platform/product/common/productService.js';
21
+ import { IBrowserWorkbenchEnvironmentService } from 'vscode/vscode/vs/workbench/services/environment/browser/environmentService';
22
+ import { SyncDescriptor } from 'monaco-editor/esm/vs/platform/instantiation/common/descriptors.js';
23
+ import { IUserDataInitializationService } from 'vscode/vscode/vs/workbench/services/userData/browser/userDataInit';
24
+ import { ExtensionsProposedApi } from './vscode/src/vs/workbench/services/extensions/common/extensionsProposedApi.js';
25
+ import { ExtensionService, BrowserExtensionHostFactory, BrowserExtensionHostKindPicker } from './vscode/src/vs/workbench/services/extensions/browser/extensionService.js';
26
+ export { ExtensionHostKind } from 'vscode/vscode/vs/workbench/services/extensions/common/extensionHostKind';
27
+ import { IExtHostExtensionService } from 'vscode/vscode/vs/workbench/api/common/extHostExtensionService';
28
+ import { ExtHostExtensionService } from 'vscode/vscode/vs/workbench/api/worker/extHostExtensionService';
29
+ import { URI } from 'monaco-editor/esm/vs/base/common/uri.js';
30
+ import * as platform from 'monaco-editor/esm/vs/base/common/platform.js';
31
+ import { registerSingleton } from 'monaco-editor/esm/vs/platform/instantiation/common/extensions.js';
32
+ import { IExtensionStoragePaths, ExtensionStoragePaths } from 'vscode/vscode/vs/workbench/api/common/extHostStoragePaths';
33
+ import { WebWorkerExtensionHost } from './vscode/src/vs/workbench/services/extensions/browser/webWorkerExtensionHost.js';
34
+ import { ExtensionHostMain } from 'vscode/vscode/vs/workbench/api/common/extensionHostMain';
35
+ import { BufferedEmitter } from 'vscode/vscode/vs/base/parts/ipc/common/ipc.net';
36
+ import { isLoggingOnly } from 'vscode/vscode/vs/platform/telemetry/common/telemetryUtils';
37
+ import { joinPath } from 'monaco-editor/esm/vs/base/common/resources.js';
38
+ import { DeferredPromise } from 'monaco-editor/esm/vs/base/common/async.js';
39
+ import { UIKind } from 'vscode/vscode/vs/workbench/services/extensions/common/extensionHostProtocol';
40
+ import { IUserDataProfilesService } from 'monaco-editor/esm/vs/platform/userDataProfile/common/userDataProfile.js';
41
+ import { ILayoutService } from 'monaco-editor/esm/vs/platform/layout/browser/layoutService.js';
42
+ import { IStorageService } from 'monaco-editor/esm/vs/platform/storage/common/storage.js';
43
+ import { ILabelService } from 'monaco-editor/esm/vs/platform/label/common/label.js';
44
+ import { IUserDataProfileService } from 'vscode/vscode/vs/workbench/services/userDataProfile/common/userDataProfile';
45
+ import { IWorkspaceTrustManagementService } from 'monaco-editor/esm/vs/platform/workspace/common/workspaceTrust.js';
46
+ import { IRemoteExplorerService } from 'vscode/vscode/vs/workbench/services/remote/common/remoteExplorerService';
47
+ import { changeUrlDomain } from './tools/url.js';
48
+ import { CustomSchemas } from '@codingame/monaco-vscode-files-service-override';
49
+ import { registerAssets } from 'vscode/assets';
50
+ import { unsupported } from './tools.js';
51
+ import 'vscode/vscode/vs/workbench/services/themes/common/colorExtensionPoint';
52
+ import './vscode/src/vs/workbench/services/themes/common/iconExtensionPoint.js';
53
+ import 'vscode/vscode/vs/workbench/services/extensions/common/extensionsRegistry';
54
+ import 'vscode/vscode/vs/platform/theme/common/tokenClassificationRegistry';
55
+ import 'vscode/vscode/vs/workbench/contrib/codeEditor/browser/languageConfigurationExtensionPoint';
56
+ import 'vscode/vscode/vs/workbench/api/browser/statusBarExtensionPoint';
57
+ import './vscode/src/vs/workbench/api/browser/mainThreadLocalization.js';
58
+ import './vscode/src/vs/workbench/api/browser/mainThreadBulkEdits.js';
59
+ import './vscode/src/vs/workbench/api/browser/mainThreadChatProvider.js';
60
+ import './vscode/src/vs/workbench/api/browser/mainThreadChatSlashCommands.js';
61
+ import './vscode/src/vs/workbench/api/browser/mainThreadChatAgents.js';
62
+ import './vscode/src/vs/workbench/api/browser/mainThreadChatVariables.js';
63
+ import './vscode/src/vs/workbench/api/browser/mainThreadCodeInsets.js';
64
+ import './vscode/src/vs/workbench/api/browser/mainThreadClipboard.js';
65
+ import './vscode/src/vs/workbench/api/browser/mainThreadCommands.js';
66
+ import './vscode/src/vs/workbench/api/browser/mainThreadConfiguration.js';
67
+ import './vscode/src/vs/workbench/api/browser/mainThreadConsole.js';
68
+ import './vscode/src/vs/workbench/api/browser/mainThreadDebugService.js';
69
+ import './vscode/src/vs/workbench/api/browser/mainThreadDecorations.js';
70
+ import './vscode/src/vs/workbench/api/browser/mainThreadDiagnostics.js';
71
+ import './vscode/src/vs/workbench/api/browser/mainThreadDialogs.js';
72
+ import './vscode/src/vs/workbench/api/browser/mainThreadDocumentContentProviders.js';
73
+ import './vscode/src/vs/workbench/api/browser/mainThreadDocuments.js';
74
+ import './vscode/src/vs/workbench/api/browser/mainThreadDocumentsAndEditors.js';
75
+ import './vscode/src/vs/workbench/api/browser/mainThreadEditors.js';
76
+ import './vscode/src/vs/workbench/api/browser/mainThreadEditorTabs.js';
77
+ import './vscode/src/vs/workbench/api/browser/mainThreadErrors.js';
78
+ import './vscode/src/vs/workbench/api/browser/mainThreadExtensionService.js';
79
+ import './vscode/src/vs/workbench/api/browser/mainThreadFileSystem.js';
80
+ import './vscode/src/vs/workbench/api/browser/mainThreadFileSystemEventService.js';
81
+ import './vscode/src/vs/workbench/api/browser/mainThreadLanguageFeatures.js';
82
+ import './vscode/src/vs/workbench/api/browser/mainThreadLanguages.js';
83
+ import './vscode/src/vs/workbench/api/browser/mainThreadLogService.js';
84
+ import './vscode/src/vs/workbench/api/browser/mainThreadMessageService.js';
85
+ import './vscode/src/vs/workbench/api/browser/mainThreadManagedSockets.js';
86
+ import './vscode/src/vs/workbench/api/browser/mainThreadOutputService.js';
87
+ import './vscode/src/vs/workbench/api/browser/mainThreadProgress.js';
88
+ import './vscode/src/vs/workbench/api/browser/mainThreadQuickDiff.js';
89
+ import './vscode/src/vs/workbench/api/browser/mainThreadQuickOpen.js';
90
+ import './vscode/src/vs/workbench/api/browser/mainThreadRemoteConnectionData.js';
91
+ import './vscode/src/vs/workbench/api/browser/mainThreadSaveParticipant.js';
92
+ import './vscode/src/vs/workbench/api/browser/mainThreadEditSessionIdentityParticipant.js';
93
+ import './vscode/src/vs/workbench/api/browser/mainThreadSCM.js';
94
+ import './vscode/src/vs/workbench/api/browser/mainThreadSearch.js';
95
+ import './vscode/src/vs/workbench/api/browser/mainThreadStatusBar.js';
96
+ import './vscode/src/vs/workbench/api/browser/mainThreadStorage.js';
97
+ import './vscode/src/vs/workbench/api/browser/mainThreadTelemetry.js';
98
+ import './vscode/src/vs/workbench/api/browser/mainThreadTerminalService.js';
99
+ import './vscode/src/vs/workbench/api/browser/mainThreadTheming.js';
100
+ import './vscode/src/vs/workbench/api/browser/mainThreadTreeViews.js';
101
+ import './vscode/src/vs/workbench/api/browser/mainThreadDownloadService.js';
102
+ import './vscode/src/vs/workbench/api/browser/mainThreadUrls.js';
103
+ import './vscode/src/vs/workbench/api/browser/mainThreadUriOpeners.js';
104
+ import './vscode/src/vs/workbench/api/browser/mainThreadWindow.js';
105
+ import './vscode/src/vs/workbench/api/browser/mainThreadWebviewManager.js';
106
+ import './vscode/src/vs/workbench/api/browser/mainThreadWorkspace.js';
107
+ import './vscode/src/vs/workbench/api/browser/mainThreadComments.js';
108
+ import './vscode/src/vs/workbench/api/browser/mainThreadNotebook.js';
109
+ import './vscode/src/vs/workbench/api/browser/mainThreadNotebookKernels.js';
110
+ import './vscode/src/vs/workbench/api/browser/mainThreadNotebookDocumentsAndEditors.js';
111
+ import './vscode/src/vs/workbench/api/browser/mainThreadNotebookRenderers.js';
112
+ import './vscode/src/vs/workbench/api/browser/mainThreadNotebookSaveParticipant.js';
113
+ import './vscode/src/vs/workbench/api/browser/mainThreadInteractive.js';
114
+ import './vscode/src/vs/workbench/api/browser/mainThreadInlineChat.js';
115
+ import './vscode/src/vs/workbench/api/browser/mainThreadChat.js';
116
+ import './vscode/src/vs/workbench/api/browser/mainThreadTask.js';
117
+ import './vscode/src/vs/workbench/api/browser/mainThreadLabelService.js';
118
+ import './vscode/src/vs/workbench/api/browser/mainThreadTunnelService.js';
119
+ import './vscode/src/vs/workbench/api/browser/mainThreadAuthentication.js';
120
+ import './vscode/src/vs/workbench/api/browser/mainThreadTimeline.js';
121
+ import './vscode/src/vs/workbench/api/browser/mainThreadTesting.js';
122
+ import './vscode/src/vs/workbench/api/browser/mainThreadSecretState.js';
123
+ import './vscode/src/vs/workbench/api/browser/mainThreadShare.js';
124
+ import './vscode/src/vs/workbench/api/browser/mainThreadProfilContentHandlers.js';
125
+ import './vscode/src/vs/workbench/api/browser/mainThreadAiRelatedInformation.js';
126
+ import './vscode/src/vs/workbench/api/browser/mainThreadAiEmbeddingVector.js';
127
+ import './vscode/src/vs/workbench/api/browser/mainThreadIssueReporter.js';
128
+ import 'vscode/missing-services';
129
+ import 'vscode/vscode/vs/workbench/api/common/extHost.common.services';
130
+ import { IDialogService } from 'vscode/vscode/vs/platform/dialogs/common/dialogs';
131
+
132
+ function createMessagePassingProtocolPair() {
133
+ const emitterA = new BufferedEmitter();
134
+ const emitterB = new BufferedEmitter();
135
+ class SimpleMessagePassingProtocol {
136
+ constructor(emitterIn, emitterOut) {
137
+ this.emitterIn = emitterIn;
138
+ this.emitterOut = emitterOut;
139
+ this.onMessage = this.emitterIn.event;
140
+ }
141
+ send(buffer) {
142
+ this.emitterOut.fire(buffer);
143
+ }
144
+ }
145
+ return [new SimpleMessagePassingProtocol(emitterA, emitterB), new SimpleMessagePassingProtocol(emitterB, emitterA)];
146
+ }
147
+ class LocalExtHostExtensionService extends ExtHostExtensionService {
148
+ constructor() {
149
+ super(...arguments);
150
+ this._extApiImpl = new ExtensionIdentifierMap();
151
+ }
152
+ async getApi(extensionId) {
153
+ const [myRegistry, configProvider] = await Promise.all([
154
+ this.getExtensionRegistry(),
155
+ this._extHostConfiguration.getConfigProvider()
156
+ ]);
157
+ const extensionRegistry = { mine: myRegistry, all: this._globalRegistry };
158
+ const ext = extensionId != null ? myRegistry.getExtensionDescription(extensionId) : undefined;
159
+ if (ext != null) {
160
+ let apiImpl = this._extApiImpl.get(ext.identifier);
161
+ if (apiImpl == null) {
162
+ apiImpl = this._apiFactory(ext, extensionRegistry, configProvider);
163
+ this._extApiImpl.set(ext.identifier, apiImpl);
164
+ }
165
+ return apiImpl;
166
+ }
167
+ if (this._defaultApiImpl == null) {
168
+ this._defaultApiImpl = this._apiFactory(nullExtensionDescription, extensionRegistry, configProvider);
169
+ }
170
+ return this._defaultApiImpl;
171
+ }
172
+ }
173
+ registerSingleton(IExtHostExtensionService, LocalExtHostExtensionService, 0 );
174
+ registerSingleton(IExtensionStoragePaths, ExtensionStoragePaths, 0 );
175
+ const hostUtil = new class {
176
+ constructor() {
177
+ this.pid = undefined;
178
+ this.exit = unsupported;
179
+ }
180
+ async exists(_path) {
181
+ return true;
182
+ }
183
+ async realpath(path) {
184
+ return path;
185
+ }
186
+ }();
187
+ const localExtHostDeferred = new DeferredPromise();
188
+ const localExtHostPromise = localExtHostDeferred.p;
189
+ let LocalExtensionHost = class LocalExtensionHost {
190
+ constructor(runningLocation, startup, _initDataProvider, _telemetryService, _contextService, _labelService, _logService, _loggerService, _environmentService, _productService, _userDataProfilesService) {
191
+ this.runningLocation = runningLocation;
192
+ this.startup = startup;
193
+ this._initDataProvider = _initDataProvider;
194
+ this._telemetryService = _telemetryService;
195
+ this._contextService = _contextService;
196
+ this._labelService = _labelService;
197
+ this._logService = _logService;
198
+ this._loggerService = _loggerService;
199
+ this._environmentService = _environmentService;
200
+ this._productService = _productService;
201
+ this._userDataProfilesService = _userDataProfilesService;
202
+ this.remoteAuthority = null;
203
+ this.extensions = null;
204
+ this.onExit = Event.None;
205
+ this._protocolPromise = null;
206
+ this._extensionHostLogsLocation = joinPath(this._environmentService.extHostLogsPath, 'local');
207
+ }
208
+ async start() {
209
+ if (this._protocolPromise == null) {
210
+ this._protocolPromise = this._start();
211
+ }
212
+ return this._protocolPromise;
213
+ }
214
+ async _start() {
215
+ const [mainThreadMessagePassingProtocol, extHostMessagePassingProtocol] = createMessagePassingProtocolPair();
216
+ const initData = await this._createExtHostInitData();
217
+ const hostMain = new ExtensionHostMain(extHostMessagePassingProtocol, initData, hostUtil, null);
218
+ await localExtHostDeferred.complete(hostMain.getExtHostExtensionService());
219
+ return mainThreadMessagePassingProtocol;
220
+ }
221
+ async _createExtHostInitData() {
222
+ const initData = await this._initDataProvider.getInitData();
223
+ this.extensions = initData.extensions;
224
+ const workspace = this._contextService.getWorkspace();
225
+ const nlsBaseUrl = this._productService.extensionsGallery?.nlsBaseUrl;
226
+ let nlsUrlWithDetails;
227
+ if (nlsBaseUrl != null && this._productService.commit != null && !platform.Language.isDefaultVariant()) {
228
+ nlsUrlWithDetails = URI.joinPath(( URI.parse(nlsBaseUrl)), this._productService.commit, this._productService.version, platform.Language.value());
229
+ }
230
+ return {
231
+ commit: this._productService.commit,
232
+ version: this._productService.version,
233
+ quality: this._productService.quality,
234
+ parentPid: 0,
235
+ environment: {
236
+ isExtensionDevelopmentDebug: this._environmentService.debugRenderer,
237
+ appName: this._productService.nameLong,
238
+ appHost: this._productService.embedderIdentifier ?? (platform.isWeb ? 'web' : 'desktop'),
239
+ appUriScheme: this._productService.urlProtocol,
240
+ appLanguage: platform.language,
241
+ extensionTelemetryLogResource: this._environmentService.extHostTelemetryLogFile,
242
+ isExtensionTelemetryLoggingOnly: isLoggingOnly(this._productService, this._environmentService),
243
+ extensionDevelopmentLocationURI: this._environmentService.extensionDevelopmentLocationURI,
244
+ extensionTestsLocationURI: this._environmentService.extensionTestsLocationURI,
245
+ globalStorageHome: this._userDataProfilesService.defaultProfile.globalStorageHome,
246
+ workspaceStorageHome: this._environmentService.workspaceStorageHome,
247
+ extensionLogLevel: this._environmentService.extensionLogLevel
248
+ },
249
+ workspace: this._contextService.getWorkbenchState() === 1
250
+ ? undefined
251
+ : {
252
+ configuration: workspace.configuration ?? undefined,
253
+ id: workspace.id,
254
+ name: this._labelService.getWorkspaceLabel(workspace),
255
+ transient: workspace.transient
256
+ },
257
+ consoleForward: {
258
+ includeStack: false,
259
+ logNative: this._environmentService.debugRenderer
260
+ },
261
+ extensions: initData.extensions.toSnapshot(),
262
+ nlsBaseUrl: nlsUrlWithDetails,
263
+ telemetryInfo: {
264
+ sessionId: this._telemetryService.sessionId,
265
+ machineId: this._telemetryService.machineId,
266
+ firstSessionDate: this._telemetryService.firstSessionDate,
267
+ msftInternal: this._telemetryService.msftInternal
268
+ },
269
+ logLevel: this._logService.getLevel(),
270
+ loggers: [...this._loggerService.getRegisteredLoggers()],
271
+ logsLocation: this._extensionHostLogsLocation,
272
+ autoStart: ((this.startup === 1) ),
273
+ remote: {
274
+ authority: this._environmentService.remoteAuthority,
275
+ connectionData: null,
276
+ isRemote: false
277
+ },
278
+ uiKind: platform.isWeb ? UIKind.Web : UIKind.Desktop
279
+ };
280
+ }
281
+ getInspectPort() {
282
+ return undefined;
283
+ }
284
+ enableInspectPort() {
285
+ return Promise.resolve(false);
286
+ }
287
+ dispose() {
288
+ }
289
+ };
290
+ LocalExtensionHost = __decorate([
291
+ ( __param(3, ITelemetryService)),
292
+ ( __param(4, IWorkspaceContextService)),
293
+ ( __param(5, ILabelService)),
294
+ ( __param(6, ILogService)),
295
+ ( __param(7, ILoggerService)),
296
+ ( __param(8, IBrowserWorkbenchEnvironmentService)),
297
+ ( __param(9, IProductService)),
298
+ ( __param(10, IUserDataProfilesService))
299
+ ], LocalExtensionHost);
300
+ let EsmWebWorkerExtensionHost = class EsmWebWorkerExtensionHost extends WebWorkerExtensionHost {
301
+ constructor(workerConfig, runningLocation, startup, _initDataProvider, _telemetryService, _contextService, _labelService, _logService, _loggerService, _environmentService, _userDataProfilesService, _productService, _layoutService, _storageService) {
302
+ super(runningLocation, startup, _initDataProvider, _telemetryService, _contextService, _labelService, _logService, _loggerService, _environmentService, _userDataProfilesService, _productService, _layoutService, _storageService);
303
+ this.workerConfig = workerConfig;
304
+ }
305
+ async _getWebWorkerExtensionHostIframeSrc() {
306
+ const url = new URL(await super._getWebWorkerExtensionHostIframeSrc(), window.location.href);
307
+ url.searchParams.set('vscodeExtHostWorkerSrc', this.workerConfig.url);
308
+ if (this.workerConfig.options != null) {
309
+ url.searchParams.set('vscodeExtHostWorkerOptions', JSON.stringify(this.workerConfig.options));
310
+ }
311
+ url.searchParams.set('parentOrigin', window.origin);
312
+ return ( url.toString());
313
+ }
314
+ };
315
+ EsmWebWorkerExtensionHost = __decorate([
316
+ ( __param(4, ITelemetryService)),
317
+ ( __param(5, IWorkspaceContextService)),
318
+ ( __param(6, ILabelService)),
319
+ ( __param(7, ILogService)),
320
+ ( __param(8, ILoggerService)),
321
+ ( __param(9, IBrowserWorkbenchEnvironmentService)),
322
+ ( __param(10, IUserDataProfilesService)),
323
+ ( __param(11, IProductService)),
324
+ ( __param(12, ILayoutService)),
325
+ ( __param(13, IStorageService))
326
+ ], EsmWebWorkerExtensionHost);
327
+ let LocalBrowserExtensionHostFactory = class LocalBrowserExtensionHostFactory extends BrowserExtensionHostFactory {
328
+ constructor(workerConfig, _extensionsProposedApi, _scanWebExtensions, _getExtensionRegistrySnapshotWhenReady, _instantiationService, _remoteAgentService, _remoteAuthorityResolverService, _extensionEnablementService, _logService) {
329
+ super(_extensionsProposedApi, _scanWebExtensions, _getExtensionRegistrySnapshotWhenReady, _instantiationService, _remoteAgentService, _remoteAuthorityResolverService, _extensionEnablementService, _logService);
330
+ this.workerConfig = workerConfig;
331
+ }
332
+ createExtensionHost(runningLocations, runningLocation, isInitialStart) {
333
+ switch (runningLocation.kind) {
334
+ case 1 : {
335
+ return this._instantiationService.createInstance(LocalExtensionHost, runningLocation, 1 , this._createLocalExtensionHostDataProvider(runningLocations, runningLocation, isInitialStart));
336
+ }
337
+ case 2 : {
338
+ if (this.workerConfig == null) {
339
+ return null;
340
+ }
341
+ const startup = ((isInitialStart ? 2 : 1) );
342
+ return this._instantiationService.createInstance(EsmWebWorkerExtensionHost, this.workerConfig, runningLocation, startup, this._createLocalExtensionHostDataProvider(runningLocations, runningLocation, isInitialStart));
343
+ }
344
+ case 3 : {
345
+ return super.createExtensionHost(runningLocations, runningLocation, isInitialStart);
346
+ }
347
+ }
348
+ }
349
+ };
350
+ LocalBrowserExtensionHostFactory = __decorate([
351
+ ( __param(4, IInstantiationService)),
352
+ ( __param(5, IRemoteAgentService)),
353
+ ( __param(6, IRemoteAuthorityResolverService)),
354
+ ( __param(7, IWorkbenchExtensionEnablementService)),
355
+ ( __param(8, ILogService))
356
+ ], LocalBrowserExtensionHostFactory);
357
+ let LocalBrowserExtensionHostKindPicker = class LocalBrowserExtensionHostKindPicker extends BrowserExtensionHostKindPicker {
358
+ constructor(allowedExtHostKinds, _logService) {
359
+ super(_logService);
360
+ this.allowedExtHostKinds = allowedExtHostKinds;
361
+ this.extensionHostKinds = new Map();
362
+ }
363
+ pickExtensionHostKind(extensionId, extensionKinds, isInstalledLocally, isInstalledRemotely, preference) {
364
+ const forcedKind = this.extensionHostKinds.get(extensionId.value);
365
+ if (forcedKind != null) {
366
+ return forcedKind;
367
+ }
368
+ const detectedKind = super.pickExtensionHostKind(extensionId, extensionKinds, isInstalledLocally, isInstalledRemotely, preference);
369
+ if (detectedKind != null && !this.allowedExtHostKinds.includes(detectedKind)) {
370
+ return this.allowedExtHostKinds[0] ?? null;
371
+ }
372
+ return detectedKind;
373
+ }
374
+ setForcedExtensionHostKind(id, kind) {
375
+ this.extensionHostKinds.set(id, kind);
376
+ }
377
+ removeForcedExtensionHostKind(id) {
378
+ this.extensionHostKinds.delete(id);
379
+ }
380
+ };
381
+ LocalBrowserExtensionHostKindPicker = __decorate([
382
+ ( __param(1, ILogService))
383
+ ], LocalBrowserExtensionHostKindPicker);
384
+ let ExtensionServiceOverride = class ExtensionServiceOverride extends ExtensionService {
385
+ constructor(workerConfig, instantiationService, notificationService, browserEnvironmentService, telemetryService, extensionEnablementService, fileService, productService, extensionManagementService, contextService, configurationService, extensionManifestPropertiesService, webExtensionsScannerService, logService, remoteAgentService, remoteExtensionsScannerService, lifecycleService, remoteAuthorityResolverService, userDataInitializationService, userDataProfileService, workspaceTrustManagementService, remoteExplorerService, dialogService) {
386
+ const extensionsProposedApi = instantiationService.createInstance(ExtensionsProposedApi);
387
+ const extensionHostFactory = new LocalBrowserExtensionHostFactory(workerConfig, extensionsProposedApi, async () => this._scanWebExtensions(), () => this._getExtensionRegistrySnapshotWhenReady(), instantiationService, remoteAgentService, remoteAuthorityResolverService, extensionEnablementService, logService);
388
+ super(extensionsProposedApi, extensionHostFactory, new LocalBrowserExtensionHostKindPicker(workerConfig != null ? [2 , 1 , 3 ] : [1 , 3 ], logService), instantiationService, notificationService, browserEnvironmentService, telemetryService, extensionEnablementService, fileService, productService, extensionManagementService, contextService, configurationService, extensionManifestPropertiesService, webExtensionsScannerService, logService, remoteAgentService, remoteExtensionsScannerService, lifecycleService, remoteAuthorityResolverService, userDataInitializationService, userDataProfileService, workspaceTrustManagementService, remoteExplorerService, dialogService);
389
+ }
390
+ async deltaExtensions(toAdd, toRemove) {
391
+ const extHostPicker = this._extensionHostKindPicker;
392
+ for (const extension of toRemove) {
393
+ extHostPicker.removeForcedExtensionHostKind(extension.identifier.id);
394
+ }
395
+ for (const extension of toAdd) {
396
+ if (extension.extHostKind != null) {
397
+ extHostPicker.setForcedExtensionHostKind(extension.identifier.id, extension.extHostKind);
398
+ }
399
+ }
400
+ await this._handleDeltaExtensions(new DeltaExtensionsQueueItem(toAdd, toRemove));
401
+ }
402
+ async _scanSingleExtension(extension) {
403
+ if (extension.location.scheme === CustomSchemas.extensionFile) {
404
+ return toExtensionDescription(extension);
405
+ }
406
+ return super._scanSingleExtension(extension);
407
+ }
408
+ };
409
+ ExtensionServiceOverride = __decorate([
410
+ ( __param(1, IInstantiationService)),
411
+ ( __param(2, INotificationService)),
412
+ ( __param(3, IBrowserWorkbenchEnvironmentService)),
413
+ ( __param(4, ITelemetryService)),
414
+ ( __param(5, IWorkbenchExtensionEnablementService)),
415
+ ( __param(6, IFileService)),
416
+ ( __param(7, IProductService)),
417
+ ( __param(8, IWorkbenchExtensionManagementService)),
418
+ ( __param(9, IWorkspaceContextService)),
419
+ ( __param(10, IConfigurationService)),
420
+ ( __param(11, IExtensionManifestPropertiesService)),
421
+ ( __param(12, IWebExtensionsScannerService)),
422
+ ( __param(13, ILogService)),
423
+ ( __param(14, IRemoteAgentService)),
424
+ ( __param(15, IRemoteExtensionsScannerService)),
425
+ ( __param(16, ILifecycleService)),
426
+ ( __param(17, IRemoteAuthorityResolverService)),
427
+ ( __param(18, IUserDataInitializationService)),
428
+ ( __param(19, IUserDataProfileService)),
429
+ ( __param(20, IWorkspaceTrustManagementService)),
430
+ ( __param(21, IRemoteExplorerService)),
431
+ ( __param(22, IDialogService))
432
+ ], ExtensionServiceOverride);
433
+ let iframeAlternateDomains;
434
+ registerAssets({
435
+ 'vs/workbench/services/extensions/worker/webWorkerExtensionHostIframe.html': () => changeUrlDomain(new URL('./assets/webWorkerExtensionHostIframe.html', import.meta.url).href, iframeAlternateDomains)
436
+ });
437
+ function getServiceOverride(workerConfig, _iframeAlternateDomains) {
438
+ if (_iframeAlternateDomains != null) {
439
+ iframeAlternateDomains = _iframeAlternateDomains;
440
+ }
441
+ const _workerConfig = workerConfig != null
442
+ ? {
443
+ ...workerConfig,
444
+ url: changeUrlDomain(workerConfig.url, iframeAlternateDomains)
445
+ }
446
+ : undefined;
447
+ return {
448
+ [( IExtensionService.toString())]: new SyncDescriptor(ExtensionServiceOverride, [_workerConfig], false),
449
+ [( IExtensionManifestPropertiesService.toString())]: new SyncDescriptor(ExtensionManifestPropertiesService, [], true)
450
+ };
451
+ }
452
+ function getLocalExtHostExtensionService() {
453
+ return localExtHostPromise;
454
+ }
455
+
456
+ export { ExtensionServiceOverride, LocalExtHostExtensionService, getServiceOverride as default, getLocalExtHostExtensionService };
@@ -0,0 +1,3 @@
1
+ var e=[],t=[];function n(n,r){if(n&&"undefined"!=typeof document){var a,s=!0===r.prepend?"prepend":"append",d=!0===r.singleTag,i="string"==typeof r.container?document.querySelector(r.container):document.getElementsByTagName("head")[0];if(d){var u=e.indexOf(i);-1===u&&(u=e.push(i)-1,t[u]={}),a=t[u]&&t[u][s]?t[u][s]:t[u][s]=c();}else a=c();65279===n.charCodeAt(0)&&(n=n.substring(1)),a.styleSheet?a.styleSheet.cssText+=n:a.appendChild(document.createTextNode(n));}function c(){var e=document.createElement("style");if(e.setAttribute("type","text/css"),r.attributes)for(var t=( Object.keys(r.attributes)),n=0;n<t.length;n++)e.setAttribute(t[n],r.attributes[t[n]]);var a="prepend"===s?"afterbegin":"beforeend";return i.insertAdjacentElement(a,e),e}}
2
+
3
+ export { n as default };