@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.
- package/assets/webWorkerExtensionHostIframe.html +123 -0
- package/extensions.d.ts +12 -13
- package/extensions.js +456 -0
- package/external/rollup-plugin-styles/dist/runtime/inject-css.js +3 -0
- package/external/tslib/tslib.es6.js +11 -0
- package/index.d.ts +1 -1
- package/index.js +2 -2
- package/override/vs/platform/dialogs/common/dialogs.js +8 -0
- package/override/vs/workbench/browser/parts/editor/textEditor.weak.js +8 -0
- package/override/vs/workbench/contrib/notebook/common/notebookEditorInput.js +3 -0
- package/package.json +5 -3
- package/tools/url.js +10 -0
- package/tools.js +5 -0
- package/vscode/src/vs/base/common/console.js +59 -0
- package/vscode/src/vs/base/common/prefixTree.js +131 -0
- package/vscode/src/vs/platform/files/common/watcher.js +71 -0
- package/vscode/src/vs/platform/lifecycle/common/lifecycle.js +27 -0
- package/vscode/src/vs/platform/log/browser/log.js +26 -0
- package/vscode/src/vs/platform/remote/common/managedSocket.js +98 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadAiEmbeddingVector.js +31 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadAiRelatedInformation.js +35 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadAuthentication.js +330 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadBulkEdits.js +68 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadChat.js +174 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadChatAgents.js +52 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadChatProvider.js +61 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadChatSlashCommands.js +49 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadChatVariables.js +31 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadClipboard.js +24 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadCodeInsets.js +107 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadCommands.js +94 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadComments.js +541 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadConfiguration.js +80 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadConsole.js +35 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadCustomEditors.js +578 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadDebugService.js +387 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadDecorations.js +102 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadDiagnostics.js +69 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadDialogs.js +68 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadDocumentContentProviders.js +75 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadDocuments.js +249 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadDocumentsAndEditors.js +370 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadDownloadService.js +22 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadEditSessionIdentityParticipant.js +41 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadEditor.js +411 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadEditorTabs.js +475 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadEditors.js +227 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadErrors.js +24 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadExtensionService.js +317 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadFileSystem.js +280 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadFileSystemEventService.js +283 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadInlineChat.js +68 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadInteractive.js +28 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadIssueReporter.js +33 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadLabelService.js +27 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadLanguageFeatures.js +947 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadLanguages.js +78 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadLocalization.js +35 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadLogService.js +78 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadManagedSockets.js +93 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadMessageService.js +118 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadNotebook.js +158 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadNotebookDocuments.js +123 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadNotebookDocumentsAndEditors.js +188 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadNotebookDto.js +129 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadNotebookEditors.js +131 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadNotebookKernels.js +341 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadNotebookRenderers.js +25 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadNotebookSaveParticipant.js +48 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadOutputService.js +76 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadProfilContentHandlers.js +38 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadProgress.js +68 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadQuickDiff.js +49 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadQuickOpen.js +185 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadRemoteConnectionData.js +30 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadSCM.js +463 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadSaveParticipant.js +49 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadSearch.js +148 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadSecretState.js +70 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadShare.js +50 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadStatusBar.js +53 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadStorage.js +72 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadTask.js +731 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadTelemetry.js +53 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadTerminalService.js +412 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadTesting.js +182 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadTheming.js +24 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadTimeline.js +55 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadTreeViews.js +313 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadTunnelService.js +223 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadUriOpeners.js +110 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadUrls.js +61 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadWebviewManager.js +29 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadWebviewPanels.js +283 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadWebviewViews.js +100 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadWebviews.js +135 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadWindow.js +57 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadWorkspace.js +273 -0
- package/{dist/main/vscode → vscode}/src/vs/workbench/api/common/extHost.api.impl.d.ts +2 -2
- package/{dist/main/vscode → vscode}/src/vs/workbench/api/common/extHostConfiguration.d.ts +3 -3
- package/{dist/main/vscode → vscode}/src/vs/workbench/api/common/extHostExtensionService.d.ts +3 -4
- package/{dist/main/vscode → vscode}/src/vs/workbench/api/common/extHostManagedSockets.d.ts +2 -2
- package/{dist/main/vscode → vscode}/src/vs/workbench/api/common/extHostTerminalService.d.ts +19 -20
- package/{dist/main/vscode → vscode}/src/vs/workbench/api/common/extHostTunnelService.d.ts +7 -8
- package/{dist/main/vscode → vscode}/src/vs/workbench/api/common/extHostWorkspace.d.ts +25 -26
- package/vscode/src/vs/workbench/api/common/shared/dataTransferCache.js +35 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatModel.js +217 -0
- package/vscode/src/vs/workbench/contrib/comments/browser/commentColors.js +57 -0
- package/vscode/src/vs/workbench/contrib/comments/browser/commentFormActions.js +51 -0
- package/vscode/src/vs/workbench/contrib/comments/browser/commentGlyphWidget.js +92 -0
- package/vscode/src/vs/workbench/contrib/comments/browser/commentNode.js +648 -0
- package/vscode/src/vs/workbench/contrib/comments/browser/commentReply.js +297 -0
- package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadAdditionalActions.js +62 -0
- package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadBody.js +249 -0
- package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadHeader.js +109 -0
- package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadRangeDecorator.js +109 -0
- package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadWidget.js +331 -0
- package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadZoneWidget.js +380 -0
- package/vscode/src/vs/workbench/contrib/comments/browser/comments.js +5 -0
- package/vscode/src/vs/workbench/contrib/comments/browser/commentsController.js +1196 -0
- package/vscode/src/vs/workbench/contrib/comments/browser/commentsFilterOptions.js +19 -0
- package/vscode/src/vs/workbench/contrib/comments/browser/commentsTreeViewer.js +334 -0
- package/vscode/src/vs/workbench/contrib/comments/browser/commentsView.js +543 -0
- package/vscode/src/vs/workbench/contrib/comments/browser/commentsViewActions.js +178 -0
- package/vscode/src/vs/workbench/contrib/comments/browser/media/panel.css.js +6 -0
- package/vscode/src/vs/workbench/contrib/comments/browser/media/review.css.js +6 -0
- package/vscode/src/vs/workbench/contrib/comments/browser/reactionsAction.js +101 -0
- package/vscode/src/vs/workbench/contrib/comments/browser/timestamp.js +57 -0
- package/vscode/src/vs/workbench/contrib/comments/common/commentModel.js +145 -0
- package/vscode/src/vs/workbench/contrib/comments/common/commentsConfiguration.js +3 -0
- package/vscode/src/vs/workbench/contrib/customEditor/common/customTextEditorModel.js +73 -0
- package/vscode/src/vs/workbench/contrib/externalUriOpener/common/contributedOpeners.js +83 -0
- package/vscode/src/vs/workbench/contrib/interactive/browser/interactiveEditorInput.js +179 -0
- package/vscode/src/vs/workbench/contrib/interactive/browser/interactiveHistoryService.js +5 -0
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInput.js +144 -0
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInputModel.js +482 -0
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeMarkers/mergeMarkersController.js +6 -0
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/diffComputer.js +85 -0
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/editing.js +56 -0
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/lineRange.js +110 -0
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/mapping.js +260 -0
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/mergeEditorModel.js +616 -0
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/modifiedBaseRange.js +309 -0
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/rangeUtils.js +38 -0
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/textModelDiffs.js +167 -0
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/telemetry.js +80 -0
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/utils.js +70 -0
- package/vscode/src/vs/workbench/contrib/mergeEditor/common/mergeEditor.js +3 -0
- package/vscode/src/vs/workbench/contrib/notebook/common/notebookEditorModel.js +108 -0
- package/vscode/src/vs/workbench/contrib/tasks/common/tasks.js +506 -0
- package/vscode/src/vs/workbench/contrib/terminal/browser/terminalProcessExtHostProxy.js +132 -0
- package/vscode/src/vs/workbench/contrib/testing/common/getComputedState.js +103 -0
- package/vscode/src/vs/workbench/contrib/testing/common/observableValue.js +28 -0
- package/vscode/src/vs/workbench/contrib/testing/common/testCoverage.js +25 -0
- package/vscode/src/vs/workbench/contrib/testing/common/testResult.js +336 -0
- package/vscode/src/vs/workbench/contrib/testing/common/testingStates.js +46 -0
- package/vscode/src/vs/workbench/services/extensions/browser/extensionService.js +283 -0
- package/vscode/src/vs/workbench/services/extensions/browser/webWorkerExtensionHost.js +273 -0
- package/vscode/src/vs/workbench/services/extensions/browser/webWorkerFileSystemProvider.js +52 -0
- package/vscode/src/vs/workbench/services/extensions/common/abstractExtensionService.js +1093 -0
- package/vscode/src/vs/workbench/services/extensions/common/extHostCustomers.js +41 -0
- package/vscode/src/vs/workbench/services/extensions/common/extensionDevOptions.js +25 -0
- package/vscode/src/vs/workbench/services/extensions/common/extensionHostManager.js +643 -0
- package/vscode/src/vs/workbench/services/extensions/common/extensionRunningLocationTracker.js +274 -0
- package/vscode/src/vs/workbench/services/extensions/common/extensionStorageMigration.js +58 -0
- package/vscode/src/vs/workbench/services/extensions/common/extensionsProposedApi.js +80 -0
- package/vscode/src/vs/workbench/services/extensions/common/extensionsUtil.js +64 -0
- package/vscode/src/vs/workbench/services/extensions/common/remoteConsoleUtil.js +49 -0
- package/vscode/src/vs/workbench/services/extensions/common/remoteExtensionHost.js +220 -0
- package/vscode/src/vs/workbench/services/themes/common/iconExtensionPoint.js +5 -0
- package/vscode/src/vs/workbench/services/workingCopy/common/resourceWorkingCopy.js +79 -0
- package/vscode-proposed.d.ts +0 -3872
- /package/{dist/main/vscode → vscode}/src/vs/workbench/api/common/extHost.protocol.d.ts +0 -0
- /package/{dist/main/vscode → vscode}/src/vs/workbench/api/common/extHostExtensionActivator.d.ts +0 -0
- /package/{dist/main/vscode → vscode}/src/vs/workbench/api/common/extHostFileSystemInfo.d.ts +0 -0
- /package/{dist/main/vscode → vscode}/src/vs/workbench/api/common/extHostInitDataService.d.ts +0 -0
- /package/{dist/main/vscode → vscode}/src/vs/workbench/api/common/extHostLocalizationService.d.ts +0 -0
- /package/{dist/main/vscode → vscode}/src/vs/workbench/api/common/extHostRpcService.d.ts +0 -0
- /package/{dist/main/vscode → vscode}/src/vs/workbench/api/common/extHostStoragePaths.d.ts +0 -0
- /package/{dist/main/vscode → vscode}/src/vs/workbench/api/common/extHostTypes.d.ts +0 -0
- /package/{dist/main/vscode → vscode}/src/vs/workbench/api/common/extHostUriTransformerService.d.ts +0 -0
- /package/{dist/main/vscode → vscode}/src/vs/workbench/api/worker/extHostExtensionService.d.ts +0 -0
- /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
|
|
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 './
|
|
25
|
-
import * as
|
|
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
|
|
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
|
|
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,
|
|
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 };
|