@codingame/monaco-vscode-extensions-service-override 19.1.3 → 20.0.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/index.js +3 -0
- package/package.json +27 -27
- package/vscode/src/vs/platform/extensionManagement/common/extensionManagementCLI.js +28 -28
- package/vscode/src/vs/workbench/api/browser/mainThreadAuthentication.d.ts +10 -3
- package/vscode/src/vs/workbench/api/browser/mainThreadAuthentication.js +85 -22
- package/vscode/src/vs/workbench/api/browser/mainThreadBulkEdits.js +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadCLICommands.js +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadChatAgents2.js +9 -6
- package/vscode/src/vs/workbench/api/browser/mainThreadChatOutputRenderer.d.ts +18 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadChatOutputRenderer.js +44 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadChatSessions.d.ts +42 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadChatSessions.js +247 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadClipboard.d.ts +3 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadClipboard.js +9 -3
- package/vscode/src/vs/workbench/api/browser/mainThreadComments.d.ts +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadComments.js +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadCustomEditors.js +6 -6
- package/vscode/src/vs/workbench/api/browser/mainThreadDataChannels.d.ts +9 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadDataChannels.js +23 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadDocumentsAndEditors.js +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadEditSessionIdentityParticipant.js +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadEditorTabs.d.ts +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadEditorTabs.js +10 -10
- package/vscode/src/vs/workbench/api/browser/mainThreadEditors.d.ts +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadEditors.js +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadExtensionService.js +11 -11
- package/vscode/src/vs/workbench/api/browser/mainThreadFileSystemEventService.js +20 -20
- package/vscode/src/vs/workbench/api/browser/mainThreadLanguageFeatures.d.ts +3 -3
- package/vscode/src/vs/workbench/api/browser/mainThreadLanguageFeatures.js +12 -6
- package/vscode/src/vs/workbench/api/browser/mainThreadLanguageModelTools.js +1 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadLanguageModels.d.ts +8 -9
- package/vscode/src/vs/workbench/api/browser/mainThreadLanguageModels.js +38 -37
- package/vscode/src/vs/workbench/api/browser/mainThreadMcp.js +11 -8
- package/vscode/src/vs/workbench/api/browser/mainThreadMessageService.js +4 -4
- package/vscode/src/vs/workbench/api/browser/mainThreadNotebook.js +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadNotebookDocumentsAndEditors.js +2 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadNotebookEditors.d.ts +2 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadNotebookEditors.js +2 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadNotebookSaveParticipant.js +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadOutputService.js +3 -3
- package/vscode/src/vs/workbench/api/browser/mainThreadProgress.js +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadSCM.d.ts +5 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadSCM.js +21 -8
- package/vscode/src/vs/workbench/api/browser/mainThreadSaveParticipant.js +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadSecretState.d.ts +2 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadSecretState.js +25 -8
- package/vscode/src/vs/workbench/api/browser/mainThreadTask.js +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadTerminalService.d.ts +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadTerminalService.js +5 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadTerminalShellIntegration.d.ts +3 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadTerminalShellIntegration.js +9 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadTunnelService.js +2 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadUriOpeners.js +2 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadWebviewManager.js +3 -0
- package/vscode/src/vs/workbench/api/browser/mainThreadWebviewPanels.d.ts +1 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadWebviewPanels.js +4 -4
- package/vscode/src/vs/workbench/api/browser/mainThreadWebviews.d.ts +3 -3
- package/vscode/src/vs/workbench/api/browser/mainThreadWebviews.js +2 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadWorkspace.js +5 -5
- package/vscode/src/vs/workbench/contrib/customEditor/common/customTextEditorModel.js +1 -1
- package/vscode/src/vs/workbench/contrib/editTelemetry/browser/telemetry/forwardingTelemetryService.d.ts +30 -0
- package/vscode/src/vs/workbench/contrib/editTelemetry/browser/telemetry/forwardingTelemetryService.js +67 -0
- package/vscode/src/vs/workbench/services/extensionManagement/browser/extensionBisect.js +23 -23
- package/vscode/src/vs/workbench/services/extensions/browser/webWorkerExtensionHost.js +1 -1
- package/vscode/src/vs/workbench/services/extensions/common/abstractExtensionService.d.ts +3 -5
- package/vscode/src/vs/workbench/services/extensions/common/abstractExtensionService.js +32 -22
- package/vscode/src/vs/workbench/services/extensions/common/extensionHostManager.d.ts +2 -5
- package/vscode/src/vs/workbench/services/extensions/common/extensionHostManager.js +1 -1
- package/vscode/src/vs/workbench/services/extensions/common/extensionHostManagers.d.ts +2 -5
- package/vscode/src/vs/workbench/services/extensions/common/extensionsProposedApi.js +1 -1
- package/vscode/src/vs/workbench/services/extensions/common/extensionsUtil.js +4 -4
- package/vscode/src/vs/workbench/services/extensions/common/lazyCreateExtensionHostManager.d.ts +4 -7
- package/vscode/src/vs/workbench/services/extensions/common/lazyCreateExtensionHostManager.js +9 -11
package/index.js
CHANGED
|
@@ -130,6 +130,9 @@ import './vscode/src/vs/workbench/api/browser/mainThreadAiEmbeddingVector.js';
|
|
|
130
130
|
import './vscode/src/vs/workbench/api/browser/mainThreadAiSettingsSearch.js';
|
|
131
131
|
import './vscode/src/vs/workbench/api/browser/mainThreadMcp.js';
|
|
132
132
|
import './vscode/src/vs/workbench/api/browser/mainThreadChatStatus.js';
|
|
133
|
+
import './vscode/src/vs/workbench/api/browser/mainThreadChatOutputRenderer.js';
|
|
134
|
+
import './vscode/src/vs/workbench/api/browser/mainThreadChatSessions.js';
|
|
135
|
+
import './vscode/src/vs/workbench/api/browser/mainThreadDataChannels.js';
|
|
133
136
|
|
|
134
137
|
let localExtensionHost;
|
|
135
138
|
function setLocalExtensionHost(_localExtensionHost) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@codingame/monaco-vscode-extensions-service-override",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "20.0.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "VSCode public API plugged on the monaco editor - extensions service-override",
|
|
6
6
|
"keywords": [],
|
|
@@ -15,32 +15,32 @@
|
|
|
15
15
|
},
|
|
16
16
|
"type": "module",
|
|
17
17
|
"dependencies": {
|
|
18
|
-
"@codingame/monaco-vscode-
|
|
19
|
-
"@codingame/monaco-vscode-256d5b78-0649-50e9-8354-2807f95f68f4-common": "
|
|
20
|
-
"@codingame/monaco-vscode-
|
|
21
|
-
"@codingame/monaco-vscode-
|
|
22
|
-
"@codingame/monaco-vscode-
|
|
23
|
-
"@codingame/monaco-vscode-
|
|
24
|
-
"@codingame/monaco-vscode-
|
|
25
|
-
"@codingame/monaco-vscode-
|
|
26
|
-
"@codingame/monaco-vscode-
|
|
27
|
-
"@codingame/monaco-vscode-6845754f-e617-5ed9-8aaa-6ca3653a9532-common": "
|
|
28
|
-
"@codingame/monaco-vscode-6f931a91-88ea-5232-897f-a17ec3929ba5-common": "
|
|
29
|
-
"@codingame/monaco-vscode-7f39b6f1-3542-5430-8760-0f404d7a7cee-common": "
|
|
30
|
-
"@codingame/monaco-vscode-
|
|
31
|
-
"@codingame/monaco-vscode-
|
|
32
|
-
"@codingame/monaco-vscode-
|
|
33
|
-
"@codingame/monaco-vscode-
|
|
34
|
-
"@codingame/monaco-vscode-
|
|
35
|
-
"@codingame/monaco-vscode-
|
|
36
|
-
"@codingame/monaco-vscode-
|
|
37
|
-
"@codingame/monaco-vscode-bf94ddb5-e436-506a-9763-5ab86b642508-common": "
|
|
38
|
-
"@codingame/monaco-vscode-
|
|
39
|
-
"@codingame/monaco-vscode-
|
|
40
|
-
"@codingame/monaco-vscode-eb7d5efd-2e60-59f8-9ba4-9a8ae8cb2957-common": "
|
|
41
|
-
"@codingame/monaco-vscode-eba0b9b3-174c-5dae-9867-a37810ca1808-common": "
|
|
42
|
-
"@codingame/monaco-vscode-f22e7e55-aee8-5b52-a6bc-950efd9f5890-common": "
|
|
43
|
-
"@codingame/monaco-vscode-files-service-override": "
|
|
18
|
+
"@codingame/monaco-vscode-0af61f78-dfc5-57ba-8d32-66268c8de38d-common": "20.0.0",
|
|
19
|
+
"@codingame/monaco-vscode-256d5b78-0649-50e9-8354-2807f95f68f4-common": "20.0.0",
|
|
20
|
+
"@codingame/monaco-vscode-2a94c04a-b85b-5669-b06b-89c1bfa11cb9-common": "20.0.0",
|
|
21
|
+
"@codingame/monaco-vscode-34a0ffd3-b9f5-5699-b43b-38af5732f38a-common": "20.0.0",
|
|
22
|
+
"@codingame/monaco-vscode-4a3ac544-9a61-534c-88df-756262793ef7-common": "20.0.0",
|
|
23
|
+
"@codingame/monaco-vscode-571c8352-7953-5038-9f09-e03bb6219a0e-common": "20.0.0",
|
|
24
|
+
"@codingame/monaco-vscode-60014c9d-b815-501d-83a9-4b08725c2ec2-common": "20.0.0",
|
|
25
|
+
"@codingame/monaco-vscode-622c0cca-d5fa-59b6-b730-0715afcf93ee-common": "20.0.0",
|
|
26
|
+
"@codingame/monaco-vscode-670aae94-7f88-54d7-90ea-6fcbef423557-common": "20.0.0",
|
|
27
|
+
"@codingame/monaco-vscode-6845754f-e617-5ed9-8aaa-6ca3653a9532-common": "20.0.0",
|
|
28
|
+
"@codingame/monaco-vscode-6f931a91-88ea-5232-897f-a17ec3929ba5-common": "20.0.0",
|
|
29
|
+
"@codingame/monaco-vscode-7f39b6f1-3542-5430-8760-0f404d7a7cee-common": "20.0.0",
|
|
30
|
+
"@codingame/monaco-vscode-8ccb7637-50ea-5359-97bf-00015d7fe567-common": "20.0.0",
|
|
31
|
+
"@codingame/monaco-vscode-a17e9d37-b6c1-5556-8402-5db73960fae3-common": "20.0.0",
|
|
32
|
+
"@codingame/monaco-vscode-a654b07e-8806-5425-b124-18f03ba8e11a-common": "20.0.0",
|
|
33
|
+
"@codingame/monaco-vscode-a8d3bd74-e63e-5327-96e8-4f931661e329-common": "20.0.0",
|
|
34
|
+
"@codingame/monaco-vscode-a9da9abe-278d-5ce6-9418-99c7c07c5c37-common": "20.0.0",
|
|
35
|
+
"@codingame/monaco-vscode-api": "20.0.0",
|
|
36
|
+
"@codingame/monaco-vscode-b994942c-360d-5b68-8a33-77d4bde6b714-common": "20.0.0",
|
|
37
|
+
"@codingame/monaco-vscode-bf94ddb5-e436-506a-9763-5ab86b642508-common": "20.0.0",
|
|
38
|
+
"@codingame/monaco-vscode-caeb744c-8e3f-5c11-80fb-0f057d24d544-common": "20.0.0",
|
|
39
|
+
"@codingame/monaco-vscode-d0569cfb-4706-5ad6-b0b0-5115ad8685db-common": "20.0.0",
|
|
40
|
+
"@codingame/monaco-vscode-eb7d5efd-2e60-59f8-9ba4-9a8ae8cb2957-common": "20.0.0",
|
|
41
|
+
"@codingame/monaco-vscode-eba0b9b3-174c-5dae-9867-a37810ca1808-common": "20.0.0",
|
|
42
|
+
"@codingame/monaco-vscode-f22e7e55-aee8-5b52-a6bc-950efd9f5890-common": "20.0.0",
|
|
43
|
+
"@codingame/monaco-vscode-files-service-override": "20.0.0"
|
|
44
44
|
},
|
|
45
45
|
"main": "index.js",
|
|
46
46
|
"module": "index.js",
|
|
@@ -12,9 +12,9 @@ import { IExtensionManagementService, IExtensionGalleryService } from '@codingam
|
|
|
12
12
|
import { getIdAndVersion, areSameExtensions, getGalleryExtensionId, getExtensionId } from '@codingame/monaco-vscode-api/vscode/vs/platform/extensionManagement/common/extensionManagementUtil';
|
|
13
13
|
import { ExtensionType, EXTENSION_CATEGORIES } from '@codingame/monaco-vscode-api/vscode/vs/platform/extensions/common/extensions';
|
|
14
14
|
|
|
15
|
-
const notFound = (id) => ( localize(
|
|
15
|
+
const notFound = (id) => ( localize(1816, "Extension '{0}' not found.", id));
|
|
16
16
|
const useId = ( localize(
|
|
17
|
-
|
|
17
|
+
1817,
|
|
18
18
|
"Make sure you use the full extension ID, including the publisher, e.g.: {0}",
|
|
19
19
|
'ms-dotnettools.csharp'
|
|
20
20
|
));
|
|
@@ -51,7 +51,7 @@ let ExtensionManagementCLI = class ExtensionManagementCLI {
|
|
|
51
51
|
return;
|
|
52
52
|
}
|
|
53
53
|
if (this.location) {
|
|
54
|
-
this.logger.info(( localize(
|
|
54
|
+
this.logger.info(( localize(1818, "Extensions installed on {0}:", this.location)));
|
|
55
55
|
}
|
|
56
56
|
extensions = extensions.sort((e1, e2) => e1.identifier.id.localeCompare(e2.identifier.id));
|
|
57
57
|
let lastId = undefined;
|
|
@@ -66,7 +66,7 @@ let ExtensionManagementCLI = class ExtensionManagementCLI {
|
|
|
66
66
|
const failed = [];
|
|
67
67
|
try {
|
|
68
68
|
if (extensions.length) {
|
|
69
|
-
this.logger.info(this.location ? ( localize(
|
|
69
|
+
this.logger.info(this.location ? ( localize(1819, "Installing extensions on {0}...", this.location)) : ( localize(1820, "Installing extensions...")));
|
|
70
70
|
}
|
|
71
71
|
const installVSIXInfos = [];
|
|
72
72
|
const installExtensionInfos = [];
|
|
@@ -109,11 +109,11 @@ let ExtensionManagementCLI = class ExtensionManagementCLI {
|
|
|
109
109
|
}
|
|
110
110
|
}
|
|
111
111
|
catch (error) {
|
|
112
|
-
this.logger.error(( localize(
|
|
112
|
+
this.logger.error(( localize(1821, "Error while installing extensions: {0}", getErrorMessage(error))));
|
|
113
113
|
throw error;
|
|
114
114
|
}
|
|
115
115
|
if (failed.length) {
|
|
116
|
-
throw ( new Error(( localize(
|
|
116
|
+
throw ( new Error(( localize(1822, "Failed Installing Extensions: {0}", failed.join(', ')))));
|
|
117
117
|
}
|
|
118
118
|
}
|
|
119
119
|
async updateExtensions(profileLocation) {
|
|
@@ -125,7 +125,7 @@ let ExtensionManagementCLI = class ExtensionManagementCLI {
|
|
|
125
125
|
}
|
|
126
126
|
}
|
|
127
127
|
this.logger.trace(( localize(
|
|
128
|
-
|
|
128
|
+
1823,
|
|
129
129
|
"Fetching latest versions for {0} extensions",
|
|
130
130
|
installedExtensionsQuery.length
|
|
131
131
|
)));
|
|
@@ -142,11 +142,11 @@ let ExtensionManagementCLI = class ExtensionManagementCLI {
|
|
|
142
142
|
}
|
|
143
143
|
}
|
|
144
144
|
if (!extensionsToUpdate.length) {
|
|
145
|
-
this.logger.info(( localize(
|
|
145
|
+
this.logger.info(( localize(1824, "No extension to update")));
|
|
146
146
|
return;
|
|
147
147
|
}
|
|
148
148
|
this.logger.info(( localize(
|
|
149
|
-
|
|
149
|
+
1825,
|
|
150
150
|
"Updating extensions: {0}",
|
|
151
151
|
( extensionsToUpdate.map(ext => ext.extension.identifier.id)).join(', ')
|
|
152
152
|
)));
|
|
@@ -154,7 +154,7 @@ let ExtensionManagementCLI = class ExtensionManagementCLI {
|
|
|
154
154
|
for (const extensionResult of installationResult) {
|
|
155
155
|
if (extensionResult.error) {
|
|
156
156
|
this.logger.error(( localize(
|
|
157
|
-
|
|
157
|
+
1826,
|
|
158
158
|
"Error while updating extension {0}: {1}",
|
|
159
159
|
extensionResult.identifier.id,
|
|
160
160
|
getErrorMessage(extensionResult.error)
|
|
@@ -162,7 +162,7 @@ let ExtensionManagementCLI = class ExtensionManagementCLI {
|
|
|
162
162
|
}
|
|
163
163
|
else {
|
|
164
164
|
this.logger.info(( localize(
|
|
165
|
-
|
|
165
|
+
1827,
|
|
166
166
|
"Extension '{0}' v{1} was successfully updated.",
|
|
167
167
|
extensionResult.identifier.id,
|
|
168
168
|
extensionResult.local?.manifest.version
|
|
@@ -177,7 +177,7 @@ let ExtensionManagementCLI = class ExtensionManagementCLI {
|
|
|
177
177
|
if (installedExtension) {
|
|
178
178
|
if (!force && (!version || (version === 'prerelease' && installedExtension.preRelease))) {
|
|
179
179
|
this.logger.info(( localize(
|
|
180
|
-
|
|
180
|
+
1828,
|
|
181
181
|
"Extension '{0}' v{1} is already installed. Use '--force' option to update to latest version or provide '@<version>' to install a specific version, for example: '{2}@1.2.3'.",
|
|
182
182
|
id,
|
|
183
183
|
installedExtension.manifest.version,
|
|
@@ -186,7 +186,7 @@ let ExtensionManagementCLI = class ExtensionManagementCLI {
|
|
|
186
186
|
return false;
|
|
187
187
|
}
|
|
188
188
|
if (version && installedExtension.manifest.version === version) {
|
|
189
|
-
this.logger.info(( localize(
|
|
189
|
+
this.logger.info(( localize(1829, "Extension '{0}' is already installed.", `${id}@${version}`)));
|
|
190
190
|
return false;
|
|
191
191
|
}
|
|
192
192
|
if (installedExtension.preRelease && version !== 'prerelease') {
|
|
@@ -223,24 +223,24 @@ let ExtensionManagementCLI = class ExtensionManagementCLI {
|
|
|
223
223
|
if (installedExtension) {
|
|
224
224
|
if (gallery.version === installedExtension.manifest.version) {
|
|
225
225
|
this.logger.info(( localize(
|
|
226
|
-
|
|
226
|
+
1829,
|
|
227
227
|
"Extension '{0}' is already installed.",
|
|
228
228
|
version ? `${id}@${version}` : id
|
|
229
229
|
)));
|
|
230
230
|
return;
|
|
231
231
|
}
|
|
232
232
|
this.logger.info(( localize(
|
|
233
|
-
|
|
233
|
+
1830,
|
|
234
234
|
"Updating the extension '{0}' to the version {1}",
|
|
235
235
|
id,
|
|
236
236
|
gallery.version
|
|
237
237
|
)));
|
|
238
238
|
}
|
|
239
239
|
if (installOptions.isBuiltin) {
|
|
240
|
-
this.logger.info(version ? ( localize(
|
|
240
|
+
this.logger.info(version ? ( localize(1831, "Installing builtin extension '{0}' v{1}...", id, version)) : ( localize(1832, "Installing builtin extension '{0}'...", id)));
|
|
241
241
|
}
|
|
242
242
|
else {
|
|
243
|
-
this.logger.info(version ? ( localize(
|
|
243
|
+
this.logger.info(version ? ( localize(1833, "Installing extension '{0}' v{1}...", id, version)) : ( localize(1834, "Installing extension '{0}'...", id)));
|
|
244
244
|
}
|
|
245
245
|
extensionsToInstall.push({
|
|
246
246
|
extension: gallery,
|
|
@@ -252,7 +252,7 @@ let ExtensionManagementCLI = class ExtensionManagementCLI {
|
|
|
252
252
|
for (const extensionResult of installationResult) {
|
|
253
253
|
if (extensionResult.error) {
|
|
254
254
|
this.logger.error(( localize(
|
|
255
|
-
|
|
255
|
+
1835,
|
|
256
256
|
"Error while installing extension {0}: {1}",
|
|
257
257
|
extensionResult.identifier.id,
|
|
258
258
|
getErrorMessage(extensionResult.error)
|
|
@@ -261,7 +261,7 @@ let ExtensionManagementCLI = class ExtensionManagementCLI {
|
|
|
261
261
|
}
|
|
262
262
|
else {
|
|
263
263
|
this.logger.info(( localize(
|
|
264
|
-
|
|
264
|
+
1836,
|
|
265
265
|
"Extension '{0}' v{1} was successfully installed.",
|
|
266
266
|
extensionResult.identifier.id,
|
|
267
267
|
extensionResult.local?.manifest.version
|
|
@@ -280,11 +280,11 @@ let ExtensionManagementCLI = class ExtensionManagementCLI {
|
|
|
280
280
|
if (valid) {
|
|
281
281
|
try {
|
|
282
282
|
await this.extensionManagementService.install(vsix, { ...installOptions, installGivenVersion: true });
|
|
283
|
-
this.logger.info(( localize(
|
|
283
|
+
this.logger.info(( localize(1837, "Extension '{0}' was successfully installed.", basename(vsix))));
|
|
284
284
|
}
|
|
285
285
|
catch (error) {
|
|
286
286
|
if (isCancellationError(error)) {
|
|
287
|
-
this.logger.info(( localize(
|
|
287
|
+
this.logger.info(( localize(1838, "Cancelled installing extension '{0}'.", basename(vsix))));
|
|
288
288
|
}
|
|
289
289
|
else {
|
|
290
290
|
throw error;
|
|
@@ -319,7 +319,7 @@ let ExtensionManagementCLI = class ExtensionManagementCLI {
|
|
|
319
319
|
const newer = installedExtensions.find(local => areSameExtensions(extensionIdentifier, local.identifier) && semverExports.gt(local.manifest.version, manifest.version));
|
|
320
320
|
if (newer) {
|
|
321
321
|
this.logger.info(( localize(
|
|
322
|
-
|
|
322
|
+
1839,
|
|
323
323
|
"A newer version of extension '{0}' v{1} is already installed. Use '--force' option to downgrade to older version.",
|
|
324
324
|
newer.identifier.id,
|
|
325
325
|
newer.manifest.version,
|
|
@@ -347,7 +347,7 @@ let ExtensionManagementCLI = class ExtensionManagementCLI {
|
|
|
347
347
|
}
|
|
348
348
|
if (( extensionsToUninstall.some(e => e.type === ExtensionType.System))) {
|
|
349
349
|
this.logger.info(( localize(
|
|
350
|
-
|
|
350
|
+
1840,
|
|
351
351
|
"Extension '{0}' is a Built-in extension and cannot be uninstalled",
|
|
352
352
|
id
|
|
353
353
|
)));
|
|
@@ -355,26 +355,26 @@ let ExtensionManagementCLI = class ExtensionManagementCLI {
|
|
|
355
355
|
}
|
|
356
356
|
if (!force && ( extensionsToUninstall.some(e => e.isBuiltin))) {
|
|
357
357
|
this.logger.info(( localize(
|
|
358
|
-
|
|
358
|
+
1841,
|
|
359
359
|
"Extension '{0}' is marked as a Built-in extension by user. Please use '--force' option to uninstall it.",
|
|
360
360
|
id
|
|
361
361
|
)));
|
|
362
362
|
return;
|
|
363
363
|
}
|
|
364
|
-
this.logger.info(( localize(
|
|
364
|
+
this.logger.info(( localize(1842, "Uninstalling {0}...", id)));
|
|
365
365
|
for (const extensionToUninstall of extensionsToUninstall) {
|
|
366
366
|
await this.extensionManagementService.uninstall(extensionToUninstall, { profileLocation });
|
|
367
367
|
}
|
|
368
368
|
if (this.location) {
|
|
369
369
|
this.logger.info(( localize(
|
|
370
|
-
|
|
370
|
+
1843,
|
|
371
371
|
"Extension '{0}' was successfully uninstalled from {1}!",
|
|
372
372
|
id,
|
|
373
373
|
this.location
|
|
374
374
|
)));
|
|
375
375
|
}
|
|
376
376
|
else {
|
|
377
|
-
this.logger.info(( localize(
|
|
377
|
+
this.logger.info(( localize(1844, "Extension '{0}' was successfully uninstalled!", id)));
|
|
378
378
|
}
|
|
379
379
|
}
|
|
380
380
|
}
|
|
@@ -392,7 +392,7 @@ let ExtensionManagementCLI = class ExtensionManagementCLI {
|
|
|
392
392
|
});
|
|
393
393
|
}
|
|
394
394
|
notInstalled(id) {
|
|
395
|
-
return this.location ? ( localize(
|
|
395
|
+
return this.location ? ( localize(1845, "Extension '{0}' is not installed on {1}.", id, this.location)) : ( localize(1846, "Extension '{0}' is not installed.", id));
|
|
396
396
|
}
|
|
397
397
|
};
|
|
398
398
|
ExtensionManagementCLI = ( __decorate([
|
|
@@ -18,6 +18,7 @@ import { IURLService } from "@codingame/monaco-vscode-api/vscode/vs/platform/url
|
|
|
18
18
|
import { IAuthorizationTokenResponse } from "@codingame/monaco-vscode-api/vscode/vs/base/common/oauth";
|
|
19
19
|
import { IDynamicAuthenticationProviderStorageService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/authentication/common/dynamicAuthenticationProviderStorage.service";
|
|
20
20
|
import { IClipboardService } from "@codingame/monaco-vscode-api/vscode/vs/platform/clipboard/common/clipboardService.service";
|
|
21
|
+
import { IQuickInputService } from "@codingame/monaco-vscode-api/vscode/vs/platform/quickinput/common/quickInput.service";
|
|
21
22
|
export interface AuthenticationInteractiveOptions {
|
|
22
23
|
detail?: string;
|
|
23
24
|
learnMore?: UriComponents;
|
|
@@ -57,11 +58,12 @@ export declare class MainThreadAuthentication extends Disposable implements Main
|
|
|
57
58
|
private readonly urlService;
|
|
58
59
|
private readonly dynamicAuthProviderStorageService;
|
|
59
60
|
private readonly clipboardService;
|
|
61
|
+
private readonly quickInputService;
|
|
60
62
|
private readonly _proxy;
|
|
61
63
|
private readonly _registrations;
|
|
62
64
|
private _sentProviderUsageEvents;
|
|
63
65
|
private _suppressUnregisterEvent;
|
|
64
|
-
constructor(extHostContext: IExtHostContext, authenticationService: IAuthenticationService, authenticationExtensionsService: IAuthenticationExtensionsService, authenticationAccessService: IAuthenticationAccessService, authenticationUsageService: IAuthenticationUsageService, dialogService: IDialogService, notificationService: INotificationService, extensionService: IExtensionService, telemetryService: ITelemetryService, openerService: IOpenerService, logService: ILogService, urlService: IURLService, dynamicAuthProviderStorageService: IDynamicAuthenticationProviderStorageService, clipboardService: IClipboardService);
|
|
66
|
+
constructor(extHostContext: IExtHostContext, authenticationService: IAuthenticationService, authenticationExtensionsService: IAuthenticationExtensionsService, authenticationAccessService: IAuthenticationAccessService, authenticationUsageService: IAuthenticationUsageService, dialogService: IDialogService, notificationService: INotificationService, extensionService: IExtensionService, telemetryService: ITelemetryService, openerService: IOpenerService, logService: ILogService, urlService: IURLService, dynamicAuthProviderStorageService: IDynamicAuthenticationProviderStorageService, clipboardService: IClipboardService, quickInputService: IQuickInputService);
|
|
65
67
|
$registerAuthenticationProvider(id: string, label: string, supportsMultipleAccounts: boolean, supportedAuthorizationServer?: UriComponents[]): Promise<void>;
|
|
66
68
|
$unregisterAuthenticationProvider(id: string): Promise<void>;
|
|
67
69
|
$ensureProvider(id: string): Promise<void>;
|
|
@@ -69,15 +71,16 @@ export declare class MainThreadAuthentication extends Disposable implements Main
|
|
|
69
71
|
$removeSession(providerId: string, sessionId: string): Promise<void>;
|
|
70
72
|
$waitForUriHandler(expectedUri: UriComponents): Promise<UriComponents>;
|
|
71
73
|
$showContinueNotification(message: string): Promise<boolean>;
|
|
72
|
-
$registerDynamicAuthenticationProvider(id: string, label: string, authorizationServer: UriComponents, clientId: string): Promise<void>;
|
|
74
|
+
$registerDynamicAuthenticationProvider(id: string, label: string, authorizationServer: UriComponents, clientId: string, clientSecret?: string): Promise<void>;
|
|
73
75
|
$setSessionsForDynamicAuthProvider(authProviderId: string, clientId: string, sessions: (IAuthorizationTokenResponse & {
|
|
74
76
|
created_at: number;
|
|
75
77
|
})[]): Promise<void>;
|
|
76
|
-
$sendDidChangeDynamicProviderInfo({ providerId, clientId, authorizationServer, label }: Partial<{
|
|
78
|
+
$sendDidChangeDynamicProviderInfo({ providerId, clientId, authorizationServer, label, clientSecret }: Partial<{
|
|
77
79
|
providerId: string;
|
|
78
80
|
clientId: string;
|
|
79
81
|
authorizationServer: UriComponents;
|
|
80
82
|
label: string;
|
|
83
|
+
clientSecret: string;
|
|
81
84
|
}>): Promise<void>;
|
|
82
85
|
private loginPrompt;
|
|
83
86
|
private continueWithIncorrectAccountPrompt;
|
|
@@ -91,4 +94,8 @@ export declare class MainThreadAuthentication extends Disposable implements Main
|
|
|
91
94
|
private _updateAccountPreference;
|
|
92
95
|
private _removeAccountPreference;
|
|
93
96
|
$showDeviceCodeModal(userCode: string, verificationUri: string): Promise<boolean>;
|
|
97
|
+
$promptForClientRegistration(authorizationServerUrl: string): Promise<{
|
|
98
|
+
clientId: string;
|
|
99
|
+
clientSecret?: string;
|
|
100
|
+
} | undefined>;
|
|
94
101
|
}
|
|
@@ -24,6 +24,7 @@ import { IURLService } from '@codingame/monaco-vscode-api/vscode/vs/platform/url
|
|
|
24
24
|
import { DeferredPromise, raceTimeout } from '@codingame/monaco-vscode-api/vscode/vs/base/common/async';
|
|
25
25
|
import { IDynamicAuthenticationProviderStorageService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/authentication/common/dynamicAuthenticationProviderStorage.service';
|
|
26
26
|
import { IClipboardService } from '@codingame/monaco-vscode-api/vscode/vs/platform/clipboard/common/clipboardService.service';
|
|
27
|
+
import { IQuickInputService } from '@codingame/monaco-vscode-api/vscode/vs/platform/quickinput/common/quickInput.service';
|
|
27
28
|
|
|
28
29
|
class MainThreadAuthenticationProvider extends Disposable {
|
|
29
30
|
constructor(_proxy, id, label, supportsMultipleAccounts, authorizationServers, onDidChangeSessionsEmitter) {
|
|
@@ -46,7 +47,7 @@ class MainThreadAuthenticationProvider extends Disposable {
|
|
|
46
47
|
}
|
|
47
48
|
}
|
|
48
49
|
let MainThreadAuthentication = class MainThreadAuthentication extends Disposable {
|
|
49
|
-
constructor(extHostContext, authenticationService, authenticationExtensionsService, authenticationAccessService, authenticationUsageService, dialogService, notificationService, extensionService, telemetryService, openerService, logService, urlService, dynamicAuthProviderStorageService, clipboardService) {
|
|
50
|
+
constructor(extHostContext, authenticationService, authenticationExtensionsService, authenticationAccessService, authenticationUsageService, dialogService, notificationService, extensionService, telemetryService, openerService, logService, urlService, dynamicAuthProviderStorageService, clipboardService, quickInputService) {
|
|
50
51
|
super();
|
|
51
52
|
this.authenticationService = authenticationService;
|
|
52
53
|
this.authenticationExtensionsService = authenticationExtensionsService;
|
|
@@ -61,6 +62,7 @@ let MainThreadAuthentication = class MainThreadAuthentication extends Disposable
|
|
|
61
62
|
this.urlService = urlService;
|
|
62
63
|
this.dynamicAuthProviderStorageService = dynamicAuthProviderStorageService;
|
|
63
64
|
this.clipboardService = clipboardService;
|
|
65
|
+
this.quickInputService = quickInputService;
|
|
64
66
|
this._registrations = this._register(( new DisposableMap()));
|
|
65
67
|
this._sentProviderUsageEvents = ( new Set());
|
|
66
68
|
this._suppressUnregisterEvent = false;
|
|
@@ -83,12 +85,14 @@ let MainThreadAuthentication = class MainThreadAuthentication extends Disposable
|
|
|
83
85
|
priority: extHostContext.extensionHostKind === ExtensionHostKind.LocalWebWorker ? 0 : 1,
|
|
84
86
|
create: async (authorizationServer, serverMetadata, resource) => {
|
|
85
87
|
const authProviderId = resource ? `${( authorizationServer.toString(true))} ${resource.resource}` : ( authorizationServer.toString(true));
|
|
86
|
-
const
|
|
88
|
+
const clientDetails = await this.dynamicAuthProviderStorageService.getClientRegistration(authProviderId);
|
|
89
|
+
const clientId = clientDetails?.clientId;
|
|
90
|
+
const clientSecret = clientDetails?.clientSecret;
|
|
87
91
|
let initialTokens = undefined;
|
|
88
92
|
if (clientId) {
|
|
89
93
|
initialTokens = await this.dynamicAuthProviderStorageService.getSessionsForDynamicAuthProvider(authProviderId, clientId);
|
|
90
94
|
}
|
|
91
|
-
return await this._proxy.$registerDynamicAuthProvider(authorizationServer, serverMetadata, resource, clientId, initialTokens);
|
|
95
|
+
return await this._proxy.$registerDynamicAuthProvider(authorizationServer, serverMetadata, resource, clientId, clientSecret, initialTokens);
|
|
92
96
|
}
|
|
93
97
|
}));
|
|
94
98
|
}
|
|
@@ -153,8 +157,8 @@ let MainThreadAuthentication = class MainThreadAuthentication extends Disposable
|
|
|
153
157
|
return await deferredPromise.p;
|
|
154
158
|
}
|
|
155
159
|
$showContinueNotification(message) {
|
|
156
|
-
const yes = ( localize(
|
|
157
|
-
const no = ( localize(
|
|
160
|
+
const yes = ( localize(2420, "Yes"));
|
|
161
|
+
const no = ( localize(2421, "No"));
|
|
158
162
|
const deferredPromise = ( new DeferredPromise());
|
|
159
163
|
let result = false;
|
|
160
164
|
const handle = this.notificationService.prompt(Severity.Warning, message, [{
|
|
@@ -170,14 +174,14 @@ let MainThreadAuthentication = class MainThreadAuthentication extends Disposable
|
|
|
170
174
|
});
|
|
171
175
|
return deferredPromise.p;
|
|
172
176
|
}
|
|
173
|
-
async $registerDynamicAuthenticationProvider(id, label, authorizationServer, clientId) {
|
|
177
|
+
async $registerDynamicAuthenticationProvider(id, label, authorizationServer, clientId, clientSecret) {
|
|
174
178
|
await this.$registerAuthenticationProvider(id, label, true, [authorizationServer]);
|
|
175
|
-
this.dynamicAuthProviderStorageService.
|
|
179
|
+
await this.dynamicAuthProviderStorageService.storeClientRegistration(id, ( URI.revive(authorizationServer).toString(true)), clientId, clientSecret, label);
|
|
176
180
|
}
|
|
177
181
|
async $setSessionsForDynamicAuthProvider(authProviderId, clientId, sessions) {
|
|
178
182
|
await this.dynamicAuthProviderStorageService.setSessionsForDynamicAuthProvider(authProviderId, clientId, sessions);
|
|
179
183
|
}
|
|
180
|
-
async $sendDidChangeDynamicProviderInfo({ providerId, clientId, authorizationServer, label }) {
|
|
184
|
+
async $sendDidChangeDynamicProviderInfo({ providerId, clientId, authorizationServer, label, clientSecret }) {
|
|
181
185
|
this.logService.info(`Client ID for authentication provider ${providerId} changed to ${clientId}`);
|
|
182
186
|
const existing = this.dynamicAuthProviderStorageService.getInteractedProviders().find(p => p.providerId === providerId);
|
|
183
187
|
if (!existing) {
|
|
@@ -185,7 +189,7 @@ let MainThreadAuthentication = class MainThreadAuthentication extends Disposable
|
|
|
185
189
|
`Dynamic authentication provider ${providerId} not found. Has it been registered?`
|
|
186
190
|
));
|
|
187
191
|
}
|
|
188
|
-
this.dynamicAuthProviderStorageService.
|
|
192
|
+
await this.dynamicAuthProviderStorageService.storeClientRegistration(providerId || existing.providerId, authorizationServer ? ( URI.revive(authorizationServer).toString(true)) : existing.authorizationServer, clientId || existing.clientId, clientSecret, label || existing.label);
|
|
189
193
|
}
|
|
190
194
|
async loginPrompt(provider, extensionName, recreatingSession, options) {
|
|
191
195
|
let message;
|
|
@@ -196,13 +200,13 @@ let MainThreadAuthentication = class MainThreadAuthentication extends Disposable
|
|
|
196
200
|
else {
|
|
197
201
|
message = recreatingSession
|
|
198
202
|
? ( localize(
|
|
199
|
-
|
|
203
|
+
2422,
|
|
200
204
|
"The extension '{0}' wants you to sign in again using {1}.",
|
|
201
205
|
extensionName,
|
|
202
206
|
provider.label
|
|
203
207
|
))
|
|
204
208
|
: ( localize(
|
|
205
|
-
|
|
209
|
+
2423,
|
|
206
210
|
"The extension '{0}' wants to sign in using {1}.",
|
|
207
211
|
extensionName,
|
|
208
212
|
provider.label
|
|
@@ -210,7 +214,7 @@ let MainThreadAuthentication = class MainThreadAuthentication extends Disposable
|
|
|
210
214
|
}
|
|
211
215
|
const buttons = [
|
|
212
216
|
{
|
|
213
|
-
label: ( localize(
|
|
217
|
+
label: ( localize(2424, "&&Allow")),
|
|
214
218
|
run() {
|
|
215
219
|
return true;
|
|
216
220
|
},
|
|
@@ -218,7 +222,7 @@ let MainThreadAuthentication = class MainThreadAuthentication extends Disposable
|
|
|
218
222
|
];
|
|
219
223
|
if (options?.learnMore) {
|
|
220
224
|
buttons.push({
|
|
221
|
-
label: ( localize(
|
|
225
|
+
label: ( localize(2425, "Learn more")),
|
|
222
226
|
run: async () => {
|
|
223
227
|
const result = this.loginPrompt(provider, extensionName, recreatingSession, options);
|
|
224
228
|
await this.openerService.open(URI.revive(options.learnMore), { allowCommands: true });
|
|
@@ -237,9 +241,9 @@ let MainThreadAuthentication = class MainThreadAuthentication extends Disposable
|
|
|
237
241
|
}
|
|
238
242
|
async continueWithIncorrectAccountPrompt(chosenAccountLabel, requestedAccountLabel) {
|
|
239
243
|
const result = await this.dialogService.prompt({
|
|
240
|
-
message: ( localize(
|
|
244
|
+
message: ( localize(2426, "Incorrect account detected")),
|
|
241
245
|
detail: ( localize(
|
|
242
|
-
|
|
246
|
+
2427,
|
|
243
247
|
"The chosen account, {0}, does not match the requested account, {1}.",
|
|
244
248
|
chosenAccountLabel,
|
|
245
249
|
requestedAccountLabel
|
|
@@ -248,11 +252,11 @@ let MainThreadAuthentication = class MainThreadAuthentication extends Disposable
|
|
|
248
252
|
cancelButton: true,
|
|
249
253
|
buttons: [
|
|
250
254
|
{
|
|
251
|
-
label: ( localize(
|
|
255
|
+
label: ( localize(2428, 'Keep {0}', chosenAccountLabel)),
|
|
252
256
|
run: () => chosenAccountLabel
|
|
253
257
|
},
|
|
254
258
|
{
|
|
255
|
-
label: ( localize(
|
|
259
|
+
label: ( localize(2429, 'Login with {0}', requestedAccountLabel)),
|
|
256
260
|
run: () => requestedAccountLabel
|
|
257
261
|
}
|
|
258
262
|
],
|
|
@@ -406,16 +410,16 @@ let MainThreadAuthentication = class MainThreadAuthentication extends Disposable
|
|
|
406
410
|
async $showDeviceCodeModal(userCode, verificationUri) {
|
|
407
411
|
const { result } = await this.dialogService.prompt({
|
|
408
412
|
type: Severity.Info,
|
|
409
|
-
message: ( localize(
|
|
413
|
+
message: ( localize(2430, "Device Code Authentication")),
|
|
410
414
|
detail: ( localize(
|
|
411
|
-
|
|
415
|
+
2431,
|
|
412
416
|
"Your code: {0}\n\nTo complete authentication, navigate to {1} and enter the code above.",
|
|
413
417
|
userCode,
|
|
414
418
|
verificationUri
|
|
415
419
|
)),
|
|
416
420
|
buttons: [
|
|
417
421
|
{
|
|
418
|
-
label: ( localize(
|
|
422
|
+
label: ( localize(2432, "Copy & Continue")),
|
|
419
423
|
run: () => true
|
|
420
424
|
}
|
|
421
425
|
],
|
|
@@ -427,11 +431,69 @@ let MainThreadAuthentication = class MainThreadAuthentication extends Disposable
|
|
|
427
431
|
return await this.openerService.open(( URI.parse(verificationUri)));
|
|
428
432
|
}
|
|
429
433
|
catch (error) {
|
|
430
|
-
this.notificationService.error(( localize(
|
|
434
|
+
this.notificationService.error(( localize(2433, "Failed to open {0}", verificationUri)));
|
|
431
435
|
}
|
|
432
436
|
}
|
|
433
437
|
return false;
|
|
434
438
|
}
|
|
439
|
+
async $promptForClientRegistration(authorizationServerUrl) {
|
|
440
|
+
const result = await this.dialogService.prompt({
|
|
441
|
+
type: Severity.Info,
|
|
442
|
+
message: ( localize(2434, "Dynamic Client Registration not supported")),
|
|
443
|
+
detail: ( localize(
|
|
444
|
+
2435,
|
|
445
|
+
"The authorization server '{0}' does not support automatic client registration. Do you want to proceed by manually providing a client registration (client ID)?\n\nNote: When registering your OAuth application, make sure to include these redirect URIs:\nhttp://127.0.0.1:33418\nhttps://vscode.dev/redirect",
|
|
446
|
+
authorizationServerUrl
|
|
447
|
+
)),
|
|
448
|
+
buttons: [
|
|
449
|
+
{
|
|
450
|
+
label: ( localize(2436, "Proceed")),
|
|
451
|
+
run: () => true
|
|
452
|
+
}
|
|
453
|
+
],
|
|
454
|
+
cancelButton: {
|
|
455
|
+
label: ( localize(2437, "Cancel")),
|
|
456
|
+
run: () => false
|
|
457
|
+
}
|
|
458
|
+
});
|
|
459
|
+
if (!result) {
|
|
460
|
+
return undefined;
|
|
461
|
+
}
|
|
462
|
+
const sharedTitle = ( localize(2438, "Add Client Registration Details"));
|
|
463
|
+
const clientId = await this.quickInputService.input({
|
|
464
|
+
title: sharedTitle,
|
|
465
|
+
prompt: ( localize(
|
|
466
|
+
2439,
|
|
467
|
+
"Enter an existing client ID that has been registered with the following redirect URIs: http://127.0.0.1:33418, https://vscode.dev/redirect"
|
|
468
|
+
)),
|
|
469
|
+
placeHolder: ( localize(2440, "OAuth client ID (azye39d...)")),
|
|
470
|
+
ignoreFocusLost: true,
|
|
471
|
+
validateInput: async (value) => {
|
|
472
|
+
if (!value || value.trim().length === 0) {
|
|
473
|
+
return localize(2441, "Client ID is required");
|
|
474
|
+
}
|
|
475
|
+
return undefined;
|
|
476
|
+
}
|
|
477
|
+
});
|
|
478
|
+
if (!clientId || clientId.trim().length === 0) {
|
|
479
|
+
return undefined;
|
|
480
|
+
}
|
|
481
|
+
const clientSecret = await this.quickInputService.input({
|
|
482
|
+
title: sharedTitle,
|
|
483
|
+
prompt: ( localize(
|
|
484
|
+
2442,
|
|
485
|
+
"(optional) Enter an existing client secret associated with the client id '{0}' or leave this field blank",
|
|
486
|
+
clientId
|
|
487
|
+
)),
|
|
488
|
+
placeHolder: ( localize(2443, "OAuth client secret (wer32o50f...) or leave it blank")),
|
|
489
|
+
password: true,
|
|
490
|
+
ignoreFocusLost: true
|
|
491
|
+
});
|
|
492
|
+
return {
|
|
493
|
+
clientId: clientId.trim(),
|
|
494
|
+
clientSecret: clientSecret?.trim() || undefined
|
|
495
|
+
};
|
|
496
|
+
}
|
|
435
497
|
};
|
|
436
498
|
MainThreadAuthentication = __decorate([
|
|
437
499
|
extHostNamedCustomer(MainContext.MainThreadAuthentication),
|
|
@@ -447,7 +509,8 @@ MainThreadAuthentication = __decorate([
|
|
|
447
509
|
( __param(10, ILogService)),
|
|
448
510
|
( __param(11, IURLService)),
|
|
449
511
|
( __param(12, IDynamicAuthenticationProviderStorageService)),
|
|
450
|
-
( __param(13, IClipboardService))
|
|
512
|
+
( __param(13, IClipboardService)),
|
|
513
|
+
( __param(14, IQuickInputService))
|
|
451
514
|
], MainThreadAuthentication);
|
|
452
515
|
|
|
453
516
|
export { MainThreadAuthentication, MainThreadAuthenticationProvider };
|
|
@@ -7,7 +7,7 @@ import { IBulkEditService } from '@codingame/monaco-vscode-api/vscode/vs/editor/
|
|
|
7
7
|
import { ILogService } from '@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service';
|
|
8
8
|
import { IUriIdentityService } from '@codingame/monaco-vscode-api/vscode/vs/platform/uriIdentity/common/uriIdentity.service';
|
|
9
9
|
import { MainContext } from '@codingame/monaco-vscode-api/vscode/vs/workbench/api/common/extHost.protocol';
|
|
10
|
-
import { ResourceNotebookCellEdit } from '@codingame/monaco-vscode-
|
|
10
|
+
import { ResourceNotebookCellEdit } from '@codingame/monaco-vscode-670aae94-7f88-54d7-90ea-6fcbef423557-common/vscode/vs/workbench/contrib/bulkEdit/browser/bulkCellEdits';
|
|
11
11
|
import { CellEditType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/notebook/common/notebookCommon';
|
|
12
12
|
import { extHostNamedCustomer } from '../../services/extensions/common/extHostCustomers.js';
|
|
13
13
|
|
|
@@ -92,7 +92,7 @@ let RemoteExtensionManagementCLI = class RemoteExtensionManagementCLI extends Ex
|
|
|
92
92
|
if (!this._extensionManifestPropertiesService.canExecuteOnWorkspace(manifest)
|
|
93
93
|
&& !(isWeb && this._extensionManifestPropertiesService.canExecuteOnWeb(manifest))) {
|
|
94
94
|
this.logger.info(( localize(
|
|
95
|
-
|
|
95
|
+
2444,
|
|
96
96
|
"Cannot install the '{0}' extension because it is declared to not run in this setup.",
|
|
97
97
|
getExtensionId(manifest.publisher, manifest.name)
|
|
98
98
|
)));
|