@codingame/monaco-vscode-mcp-service-override 23.2.2 → 24.1.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 +19 -19
- package/package.json +2 -15
- package/vscode/src/vs/platform/mcp/common/allowedMcpServersService.d.ts +1 -1
- package/vscode/src/vs/platform/mcp/common/allowedMcpServersService.js +2 -2
- package/vscode/src/vs/platform/mcp/common/mcpGalleryService.d.ts +2 -2
- package/vscode/src/vs/platform/mcp/common/mcpGalleryService.js +4 -8
- package/vscode/src/vs/platform/mcp/common/mcpManagementIpc.d.ts +2 -2
- package/vscode/src/vs/platform/mcp/common/mcpManagementService.d.ts +2 -2
- package/vscode/src/vs/platform/mcp/common/mcpManagementService.js +3 -3
- package/vscode/src/vs/platform/mcp/common/mcpResourceScannerService.d.ts +2 -2
- package/vscode/src/vs/platform/mcp/common/mcpResourceScannerService.js +1 -1
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcp.contribution.js +8 -8
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpAddContextContribution.d.ts +3 -2
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpAddContextContribution.js +43 -27
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpCommands.js +70 -70
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpDiscovery.js +1 -1
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpElicitationService.d.ts +10 -4
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpElicitationService.js +198 -35
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpLanguageFeatures.js +21 -21
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpMigration.js +9 -9
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpResourceQuickAccess.d.ts +24 -5
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpResourceQuickAccess.js +178 -51
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpServerActions.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpServerActions.js +35 -35
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpServerEditor.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpServerEditor.js +37 -37
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpServerEditorInput.js +2 -2
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpServerIcons.js +5 -5
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpServerWidgets.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpServerWidgets.js +7 -7
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpServersView.d.ts +3 -3
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpServersView.js +26 -26
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpWorkbenchService.d.ts +3 -3
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpWorkbenchService.js +12 -12
- package/vscode/src/vs/workbench/contrib/mcp/browser/openPanelChatAndGetWidget.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/mcp/browser/openPanelChatAndGetWidget.js +1 -1
- package/vscode/src/vs/workbench/contrib/mcp/common/discovery/extensionMcpDiscovery.js +5 -5
- package/vscode/src/vs/workbench/contrib/mcp/common/discovery/installedMcpServersDiscovery.js +1 -1
- package/vscode/src/vs/workbench/contrib/mcp/common/discovery/nativeMcpDiscoveryAbstract.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/mcp/common/discovery/nativeMcpDiscoveryAbstract.js +2 -2
- package/vscode/src/vs/workbench/contrib/mcp/common/discovery/nativeMcpDiscoveryAdapters.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/mcp/common/discovery/nativeMcpDiscoveryAdapters.js +1 -1
- package/vscode/src/vs/workbench/contrib/mcp/common/discovery/nativeMcpRemoteDiscovery.js +1 -1
- package/vscode/src/vs/workbench/contrib/mcp/common/discovery/workspaceMcpDiscoveryAdapter.js +1 -1
- package/vscode/src/vs/workbench/contrib/mcp/common/mcpContextKeys.js +4 -4
- package/vscode/src/vs/workbench/contrib/mcp/common/mcpDevMode.js +4 -2
- package/vscode/src/vs/workbench/contrib/mcp/common/mcpLanguageModelToolContribution.js +20 -14
- package/vscode/src/vs/workbench/contrib/mcp/common/mcpRegistry.js +14 -14
- package/vscode/src/vs/workbench/contrib/mcp/common/mcpResourceFilesystem.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/mcp/common/mcpResourceFilesystem.js +19 -3
- package/vscode/src/vs/workbench/contrib/mcp/common/mcpSamplingLog.js +2 -2
- package/vscode/src/vs/workbench/contrib/mcp/common/mcpSamplingService.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/mcp/common/mcpSamplingService.js +21 -20
- package/vscode/src/vs/workbench/contrib/mcp/common/mcpServer.d.ts +6 -2
- package/vscode/src/vs/workbench/contrib/mcp/common/mcpServer.js +79 -47
- package/vscode/src/vs/workbench/contrib/mcp/common/mcpServerConnection.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/mcp/common/mcpServerConnection.js +8 -6
- package/vscode/src/vs/workbench/contrib/mcp/common/mcpServerRequestHandler.d.ts +47 -2
- package/vscode/src/vs/workbench/contrib/mcp/common/mcpServerRequestHandler.js +229 -14
- package/vscode/src/vs/workbench/contrib/mcp/common/mcpService.js +2 -2
- package/vscode/src/vs/workbench/contrib/mcp/common/mcpTaskManager.d.ts +68 -0
- package/vscode/src/vs/workbench/contrib/mcp/common/mcpTaskManager.js +168 -0
- package/vscode/src/vs/workbench/services/authentication/browser/authenticationMcpService.js +10 -10
- package/vscode/src/vs/workbench/services/mcp/browser/mcpGalleryManifestService.d.ts +17 -2
- package/vscode/src/vs/workbench/services/mcp/browser/mcpGalleryManifestService.js +60 -10
- package/vscode/src/vs/workbench/services/mcp/common/mcpWorkbenchManagementService.d.ts +1 -1
- package/vscode/src/vs/workbench/services/mcp/common/mcpWorkbenchManagementService.js +2 -2
|
@@ -16,12 +16,12 @@ import { ITelemetryService } from '@codingame/monaco-vscode-api/vscode/vs/platfo
|
|
|
16
16
|
import { IAuthenticationService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/authentication/common/authentication.service';
|
|
17
17
|
import { IAuthenticationQueryService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/authentication/common/authenticationQuery.service';
|
|
18
18
|
import { IEditorService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService.service';
|
|
19
|
-
import { manageExtensionIcon, warningIcon, errorIcon, infoIcon, trustIcon } from '@codingame/monaco-vscode-
|
|
20
|
-
import { McpCommandIds } from '@codingame/monaco-vscode-
|
|
19
|
+
import { manageExtensionIcon, warningIcon, errorIcon, infoIcon, trustIcon } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/extensions/browser/extensionsIcons';
|
|
20
|
+
import { McpCommandIds } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/mcp/common/mcpCommandIds';
|
|
21
21
|
import { IMcpRegistry } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/mcp/common/mcpRegistryTypes.service';
|
|
22
22
|
import { McpServerInstallState, McpConnectionState, McpServerEditorTab, McpCapability } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/mcp/common/mcpTypes';
|
|
23
23
|
import { IMcpWorkbenchService, IMcpService, IMcpSamplingService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/mcp/common/mcpTypes.service';
|
|
24
|
-
import { startServerByFilter } from '@codingame/monaco-vscode-
|
|
24
|
+
import { startServerByFilter } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/mcp/common/mcpTypesUtils';
|
|
25
25
|
import { ConfigurationTarget } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration';
|
|
26
26
|
import { WorkbenchState } from '@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspace';
|
|
27
27
|
import { IWorkspaceContextService } from '@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspace.service';
|
|
@@ -194,7 +194,7 @@ let InstallAction = class InstallAction extends McpServerAction {
|
|
|
194
194
|
static { this.CLASS = `${this.LABEL_ACTION_CLASS} prominent install`; }
|
|
195
195
|
static { this.HIDE = `${this.CLASS} hide`; }
|
|
196
196
|
constructor(open, mcpWorkbenchService, telemetryService, mcpService) {
|
|
197
|
-
super('extensions.install', ( localize(
|
|
197
|
+
super('extensions.install', ( localize(8872, "Install")), InstallAction_1.CLASS, false);
|
|
198
198
|
this.open = open;
|
|
199
199
|
this.mcpWorkbenchService = mcpWorkbenchService;
|
|
200
200
|
this.telemetryService = telemetryService;
|
|
@@ -220,7 +220,7 @@ let InstallAction = class InstallAction extends McpServerAction {
|
|
|
220
220
|
if (this.open) {
|
|
221
221
|
this.mcpWorkbenchService.open(this.mcpServer);
|
|
222
222
|
alert(( localize(
|
|
223
|
-
|
|
223
|
+
8873,
|
|
224
224
|
"Installing MCP Server {0} started. An editor is now open with more details on this MCP Server",
|
|
225
225
|
this.mcpServer.label
|
|
226
226
|
)));
|
|
@@ -242,7 +242,7 @@ let InstallInWorkspaceAction = class InstallInWorkspaceAction extends McpServerA
|
|
|
242
242
|
static { this.CLASS = `${this.LABEL_ACTION_CLASS} prominent install`; }
|
|
243
243
|
static { this.HIDE = `${this.CLASS} hide`; }
|
|
244
244
|
constructor(open, mcpWorkbenchService, workspaceService, quickInputService, telemetryService, mcpService) {
|
|
245
|
-
super('extensions.installWorkspace', ( localize(
|
|
245
|
+
super('extensions.installWorkspace', ( localize(8874, "Install in Workspace")), InstallAction.CLASS, false);
|
|
246
246
|
this.open = open;
|
|
247
247
|
this.mcpWorkbenchService = mcpWorkbenchService;
|
|
248
248
|
this.workspaceService = workspaceService;
|
|
@@ -273,7 +273,7 @@ let InstallInWorkspaceAction = class InstallInWorkspaceAction extends McpServerA
|
|
|
273
273
|
if (this.open) {
|
|
274
274
|
this.mcpWorkbenchService.open(this.mcpServer, { preserveFocus: true });
|
|
275
275
|
alert(( localize(
|
|
276
|
-
|
|
276
|
+
8873,
|
|
277
277
|
"Installing MCP Server {0} started. An editor is now open with more details on this MCP Server",
|
|
278
278
|
this.mcpServer.label
|
|
279
279
|
)));
|
|
@@ -291,19 +291,19 @@ let InstallInWorkspaceAction = class InstallInWorkspaceAction extends McpServerA
|
|
|
291
291
|
async getConfigurationTarget() {
|
|
292
292
|
const options = [];
|
|
293
293
|
for (const folder of this.workspaceService.getWorkspace().folders) {
|
|
294
|
-
options.push({ target: folder, label: folder.name, description: ( localize(
|
|
294
|
+
options.push({ target: folder, label: folder.name, description: ( localize(8875, "Workspace Folder")) });
|
|
295
295
|
}
|
|
296
296
|
if (this.workspaceService.getWorkbenchState() === WorkbenchState.WORKSPACE) {
|
|
297
297
|
if (options.length > 0) {
|
|
298
298
|
options.push({ type: 'separator' });
|
|
299
299
|
}
|
|
300
|
-
options.push({ target: ConfigurationTarget.WORKSPACE, label: ( localize(
|
|
300
|
+
options.push({ target: ConfigurationTarget.WORKSPACE, label: ( localize(8876, "Workspace")) });
|
|
301
301
|
}
|
|
302
302
|
if (options.length === 1) {
|
|
303
303
|
return options[0].target;
|
|
304
304
|
}
|
|
305
305
|
const targetPick = await this.quickInputService.pick(options, {
|
|
306
|
-
title: ( localize(
|
|
306
|
+
title: ( localize(8877, "Choose where to install the MCP server")),
|
|
307
307
|
});
|
|
308
308
|
return targetPick?.target;
|
|
309
309
|
}
|
|
@@ -320,7 +320,7 @@ let InstallInRemoteAction = class InstallInRemoteAction extends McpServerAction
|
|
|
320
320
|
static { this.CLASS = `${this.LABEL_ACTION_CLASS} prominent install`; }
|
|
321
321
|
static { this.HIDE = `${this.CLASS} hide`; }
|
|
322
322
|
constructor(open, mcpWorkbenchService, environmentService, telemetryService, labelService, mcpService) {
|
|
323
|
-
super('extensions.installRemote', ( localize(
|
|
323
|
+
super('extensions.installRemote', ( localize(8878, "Install (Remote)")), InstallAction.CLASS, false);
|
|
324
324
|
this.open = open;
|
|
325
325
|
this.mcpWorkbenchService = mcpWorkbenchService;
|
|
326
326
|
this.environmentService = environmentService;
|
|
@@ -328,7 +328,7 @@ let InstallInRemoteAction = class InstallInRemoteAction extends McpServerAction
|
|
|
328
328
|
this.labelService = labelService;
|
|
329
329
|
this.mcpService = mcpService;
|
|
330
330
|
const remoteLabel = this.labelService.getHostLabel(Schemas.vscodeRemote, this.environmentService.remoteAuthority);
|
|
331
|
-
this.label = ( localize(
|
|
331
|
+
this.label = ( localize(8879, "Install in {0}", remoteLabel));
|
|
332
332
|
this.update();
|
|
333
333
|
}
|
|
334
334
|
update() {
|
|
@@ -358,7 +358,7 @@ let InstallInRemoteAction = class InstallInRemoteAction extends McpServerAction
|
|
|
358
358
|
if (this.open) {
|
|
359
359
|
this.mcpWorkbenchService.open(this.mcpServer);
|
|
360
360
|
alert(( localize(
|
|
361
|
-
|
|
361
|
+
8873,
|
|
362
362
|
"Installing MCP Server {0} started. An editor is now open with more details on this MCP Server",
|
|
363
363
|
this.mcpServer.label
|
|
364
364
|
)));
|
|
@@ -378,7 +378,7 @@ InstallInRemoteAction = InstallInRemoteAction_1 = ( __decorate([
|
|
|
378
378
|
( __param(5, IMcpService))
|
|
379
379
|
], InstallInRemoteAction));
|
|
380
380
|
class InstallingLabelAction extends McpServerAction {
|
|
381
|
-
static { this.LABEL = ( localize(
|
|
381
|
+
static { this.LABEL = ( localize(8880, "Installing")); }
|
|
382
382
|
static { this.CLASS = `${McpServerAction.LABEL_ACTION_CLASS} install installing`; }
|
|
383
383
|
constructor() {
|
|
384
384
|
super('extension.installing', InstallingLabelAction.LABEL, InstallingLabelAction.CLASS, false);
|
|
@@ -392,7 +392,7 @@ let UninstallAction = class UninstallAction extends McpServerAction {
|
|
|
392
392
|
static { this.CLASS = `${this.LABEL_ACTION_CLASS} prominent uninstall`; }
|
|
393
393
|
static { this.HIDE = `${this.CLASS} hide`; }
|
|
394
394
|
constructor(mcpWorkbenchService) {
|
|
395
|
-
super('extensions.uninstall', ( localize(
|
|
395
|
+
super('extensions.uninstall', ( localize(8881, "Uninstall")), UninstallAction_1.CLASS, false);
|
|
396
396
|
this.mcpWorkbenchService = mcpWorkbenchService;
|
|
397
397
|
this.update();
|
|
398
398
|
}
|
|
@@ -411,7 +411,7 @@ let UninstallAction = class UninstallAction extends McpServerAction {
|
|
|
411
411
|
}
|
|
412
412
|
this.class = UninstallAction_1.CLASS;
|
|
413
413
|
this.enabled = true;
|
|
414
|
-
this.label = ( localize(
|
|
414
|
+
this.label = ( localize(8881, "Uninstall"));
|
|
415
415
|
}
|
|
416
416
|
async run() {
|
|
417
417
|
if (!this.mcpServer) {
|
|
@@ -485,7 +485,7 @@ let ManageMcpServerAction = class ManageMcpServerAction extends DropDownAction {
|
|
|
485
485
|
constructor(isEditorAction, instantiationService) {
|
|
486
486
|
super(ManageMcpServerAction_1.ID, '', '', true, instantiationService);
|
|
487
487
|
this.isEditorAction = isEditorAction;
|
|
488
|
-
this.tooltip = ( localize(
|
|
488
|
+
this.tooltip = ( localize(8882, "Manage"));
|
|
489
489
|
this.update();
|
|
490
490
|
}
|
|
491
491
|
async run() {
|
|
@@ -515,7 +515,7 @@ let StartServerAction = class StartServerAction extends McpServerAction {
|
|
|
515
515
|
static { this.CLASS = `${this.LABEL_ACTION_CLASS} prominent start`; }
|
|
516
516
|
static { this.HIDE = `${this.CLASS} hide`; }
|
|
517
517
|
constructor(mcpService) {
|
|
518
|
-
super('extensions.start', ( localize(
|
|
518
|
+
super('extensions.start', ( localize(8883, "Start Server")), StartServerAction_1.CLASS, false);
|
|
519
519
|
this.mcpService = mcpService;
|
|
520
520
|
this.update();
|
|
521
521
|
}
|
|
@@ -532,7 +532,7 @@ let StartServerAction = class StartServerAction extends McpServerAction {
|
|
|
532
532
|
}
|
|
533
533
|
this.class = StartServerAction_1.CLASS;
|
|
534
534
|
this.enabled = true;
|
|
535
|
-
this.label = ( localize(
|
|
535
|
+
this.label = ( localize(8883, "Start Server"));
|
|
536
536
|
}
|
|
537
537
|
async run() {
|
|
538
538
|
const server = this.getServer();
|
|
@@ -560,7 +560,7 @@ let StopServerAction = class StopServerAction extends McpServerAction {
|
|
|
560
560
|
static { this.CLASS = `${this.LABEL_ACTION_CLASS} prominent stop`; }
|
|
561
561
|
static { this.HIDE = `${this.CLASS} hide`; }
|
|
562
562
|
constructor(mcpService) {
|
|
563
|
-
super('extensions.stop', ( localize(
|
|
563
|
+
super('extensions.stop', ( localize(8884, "Stop Server")), StopServerAction_1.CLASS, false);
|
|
564
564
|
this.mcpService = mcpService;
|
|
565
565
|
this.update();
|
|
566
566
|
}
|
|
@@ -577,7 +577,7 @@ let StopServerAction = class StopServerAction extends McpServerAction {
|
|
|
577
577
|
}
|
|
578
578
|
this.class = StopServerAction_1.CLASS;
|
|
579
579
|
this.enabled = true;
|
|
580
|
-
this.label = ( localize(
|
|
580
|
+
this.label = ( localize(8884, "Stop Server"));
|
|
581
581
|
}
|
|
582
582
|
async run() {
|
|
583
583
|
const server = this.getServer();
|
|
@@ -604,7 +604,7 @@ let RestartServerAction = class RestartServerAction extends McpServerAction {
|
|
|
604
604
|
static { this.CLASS = `${this.LABEL_ACTION_CLASS} prominent restart`; }
|
|
605
605
|
static { this.HIDE = `${this.CLASS} hide`; }
|
|
606
606
|
constructor(mcpService) {
|
|
607
|
-
super('extensions.restart', ( localize(
|
|
607
|
+
super('extensions.restart', ( localize(8885, "Restart Server")), RestartServerAction_1.CLASS, false);
|
|
608
608
|
this.mcpService = mcpService;
|
|
609
609
|
this.update();
|
|
610
610
|
}
|
|
@@ -621,7 +621,7 @@ let RestartServerAction = class RestartServerAction extends McpServerAction {
|
|
|
621
621
|
}
|
|
622
622
|
this.class = RestartServerAction_1.CLASS;
|
|
623
623
|
this.enabled = true;
|
|
624
|
-
this.label = ( localize(
|
|
624
|
+
this.label = ( localize(8885, "Restart Server"));
|
|
625
625
|
}
|
|
626
626
|
async run() {
|
|
627
627
|
const server = this.getServer();
|
|
@@ -649,10 +649,10 @@ let AuthServerAction = class AuthServerAction extends McpServerAction {
|
|
|
649
649
|
static { AuthServerAction_1 = this; }
|
|
650
650
|
static { this.CLASS = `${this.LABEL_ACTION_CLASS} prominent account`; }
|
|
651
651
|
static { this.HIDE = `${this.CLASS} hide`; }
|
|
652
|
-
static { this.SIGN_OUT = ( localize(
|
|
653
|
-
static { this.DISCONNECT = ( localize(
|
|
652
|
+
static { this.SIGN_OUT = ( localize(8886, 'Sign Out')); }
|
|
653
|
+
static { this.DISCONNECT = ( localize(8887, 'Disconnect Account')); }
|
|
654
654
|
constructor(mcpService, _authenticationQueryService, _authenticationService) {
|
|
655
|
-
super('extensions.restart', ( localize(
|
|
655
|
+
super('extensions.restart', ( localize(8885, "Restart Server")), RestartServerAction.CLASS, false);
|
|
656
656
|
this.mcpService = mcpService;
|
|
657
657
|
this._authenticationQueryService = _authenticationQueryService;
|
|
658
658
|
this._authenticationService = _authenticationService;
|
|
@@ -741,7 +741,7 @@ let ShowServerOutputAction = class ShowServerOutputAction extends McpServerActio
|
|
|
741
741
|
static { this.CLASS = `${this.LABEL_ACTION_CLASS} prominent output`; }
|
|
742
742
|
static { this.HIDE = `${this.CLASS} hide`; }
|
|
743
743
|
constructor(mcpService) {
|
|
744
|
-
super('extensions.output', ( localize(
|
|
744
|
+
super('extensions.output', ( localize(8888, "Show Output")), ShowServerOutputAction_1.CLASS, false);
|
|
745
745
|
this.mcpService = mcpService;
|
|
746
746
|
this.update();
|
|
747
747
|
}
|
|
@@ -754,7 +754,7 @@ let ShowServerOutputAction = class ShowServerOutputAction extends McpServerActio
|
|
|
754
754
|
}
|
|
755
755
|
this.class = ShowServerOutputAction_1.CLASS;
|
|
756
756
|
this.enabled = true;
|
|
757
|
-
this.label = ( localize(
|
|
757
|
+
this.label = ( localize(8888, "Show Output"));
|
|
758
758
|
}
|
|
759
759
|
async run() {
|
|
760
760
|
const server = this.getServer();
|
|
@@ -781,7 +781,7 @@ let ShowServerConfigurationAction = class ShowServerConfigurationAction extends
|
|
|
781
781
|
static { this.CLASS = `${this.LABEL_ACTION_CLASS} prominent config`; }
|
|
782
782
|
static { this.HIDE = `${this.CLASS} hide`; }
|
|
783
783
|
constructor(mcpWorkbenchService) {
|
|
784
|
-
super('extensions.config', ( localize(
|
|
784
|
+
super('extensions.config', ( localize(8889, "Show Configuration")), ShowServerConfigurationAction_1.CLASS, false);
|
|
785
785
|
this.mcpWorkbenchService = mcpWorkbenchService;
|
|
786
786
|
this.update();
|
|
787
787
|
}
|
|
@@ -809,7 +809,7 @@ let ShowServerJsonConfigurationAction = class ShowServerJsonConfigurationAction
|
|
|
809
809
|
static { this.CLASS = `${this.LABEL_ACTION_CLASS} prominent config`; }
|
|
810
810
|
static { this.HIDE = `${this.CLASS} hide`; }
|
|
811
811
|
constructor(mcpService, mcpRegistry, editorService) {
|
|
812
|
-
super('extensions.jsonConfig', ( localize(
|
|
812
|
+
super('extensions.jsonConfig', ( localize(8890, "Show Configuration (JSON)")), ShowServerJsonConfigurationAction_1.CLASS, false);
|
|
813
813
|
this.mcpService = mcpService;
|
|
814
814
|
this.mcpRegistry = mcpRegistry;
|
|
815
815
|
this.editorService = editorService;
|
|
@@ -861,7 +861,7 @@ let ConfigureModelAccessAction = class ConfigureModelAccessAction extends McpSer
|
|
|
861
861
|
static { this.CLASS = `${this.LABEL_ACTION_CLASS} prominent config`; }
|
|
862
862
|
static { this.HIDE = `${this.CLASS} hide`; }
|
|
863
863
|
constructor(mcpService, commandService) {
|
|
864
|
-
super('extensions.config', ( localize(
|
|
864
|
+
super('extensions.config', ( localize(8891, 'Configure Model Access')), ConfigureModelAccessAction_1.CLASS, false);
|
|
865
865
|
this.mcpService = mcpService;
|
|
866
866
|
this.commandService = commandService;
|
|
867
867
|
this.update();
|
|
@@ -875,7 +875,7 @@ let ConfigureModelAccessAction = class ConfigureModelAccessAction extends McpSer
|
|
|
875
875
|
}
|
|
876
876
|
this.class = ConfigureModelAccessAction_1.CLASS;
|
|
877
877
|
this.enabled = true;
|
|
878
|
-
this.label = ( localize(
|
|
878
|
+
this.label = ( localize(8891, 'Configure Model Access'));
|
|
879
879
|
}
|
|
880
880
|
async run() {
|
|
881
881
|
const server = this.getServer();
|
|
@@ -903,7 +903,7 @@ let ShowSamplingRequestsAction = class ShowSamplingRequestsAction extends McpSer
|
|
|
903
903
|
static { this.CLASS = `${this.LABEL_ACTION_CLASS} prominent config`; }
|
|
904
904
|
static { this.HIDE = `${this.CLASS} hide`; }
|
|
905
905
|
constructor(mcpService, samplingService, editorService) {
|
|
906
|
-
super('extensions.config', ( localize(
|
|
906
|
+
super('extensions.config', ( localize(8892, 'Show Sampling Requests')), ShowSamplingRequestsAction_1.CLASS, false);
|
|
907
907
|
this.mcpService = mcpService;
|
|
908
908
|
this.samplingService = samplingService;
|
|
909
909
|
this.editorService = editorService;
|
|
@@ -933,7 +933,7 @@ let ShowSamplingRequestsAction = class ShowSamplingRequestsAction extends McpSer
|
|
|
933
933
|
this.editorService.openEditor({
|
|
934
934
|
resource: undefined,
|
|
935
935
|
contents: this.samplingService.getLogText(server),
|
|
936
|
-
label: ( localize(
|
|
936
|
+
label: ( localize(8893, 'MCP Sampling: {0}', server.definition.label)),
|
|
937
937
|
});
|
|
938
938
|
}
|
|
939
939
|
getServer() {
|
|
@@ -956,7 +956,7 @@ let BrowseResourcesAction = class BrowseResourcesAction extends McpServerAction
|
|
|
956
956
|
static { this.CLASS = `${this.LABEL_ACTION_CLASS} prominent config`; }
|
|
957
957
|
static { this.HIDE = `${this.CLASS} hide`; }
|
|
958
958
|
constructor(mcpService, commandService) {
|
|
959
|
-
super('extensions.config', ( localize(
|
|
959
|
+
super('extensions.config', ( localize(8894, 'Browse Resources')), BrowseResourcesAction_1.CLASS, false);
|
|
960
960
|
this.mcpService = mcpService;
|
|
961
961
|
this.commandService = commandService;
|
|
962
962
|
this.update();
|
|
@@ -8,9 +8,9 @@ import { IOpenerService } from "@codingame/monaco-vscode-api/vscode/vs/platform/
|
|
|
8
8
|
import { IStorageService } from "@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage.service";
|
|
9
9
|
import { ITelemetryService } from "@codingame/monaco-vscode-api/vscode/vs/platform/telemetry/common/telemetry.service";
|
|
10
10
|
import { IThemeService } from "@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/themeService.service";
|
|
11
|
-
import { EditorPane } from "@codingame/monaco-vscode-
|
|
11
|
+
import { EditorPane } from "@codingame/monaco-vscode-api/vscode/vs/workbench/browser/parts/editor/editorPane";
|
|
12
12
|
import { IEditorOpenContext } from "@codingame/monaco-vscode-api/vscode/vs/workbench/common/editor";
|
|
13
|
-
import { IWebview } from "@codingame/monaco-vscode-
|
|
13
|
+
import { IWebview } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/webview/browser/webview";
|
|
14
14
|
import { IWebviewService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/webview/browser/webview.service";
|
|
15
15
|
import { IEditorGroup } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorGroupsService";
|
|
16
16
|
import { IExtensionService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/extensions/common/extensions.service";
|
|
@@ -27,8 +27,8 @@ import { IOpenerService } from '@codingame/monaco-vscode-api/vscode/vs/platform/
|
|
|
27
27
|
import { IStorageService } from '@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage.service';
|
|
28
28
|
import { ITelemetryService } from '@codingame/monaco-vscode-api/vscode/vs/platform/telemetry/common/telemetry.service';
|
|
29
29
|
import { IThemeService } from '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/themeService.service';
|
|
30
|
-
import { EditorPane } from '@codingame/monaco-vscode-
|
|
31
|
-
import { renderMarkdownDocument, DEFAULT_MARKDOWN_STYLES } from '@codingame/monaco-vscode-
|
|
30
|
+
import { EditorPane } from '@codingame/monaco-vscode-api/vscode/vs/workbench/browser/parts/editor/editorPane';
|
|
31
|
+
import { renderMarkdownDocument, DEFAULT_MARKDOWN_STYLES } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/markdown/browser/markdownDocumentRenderer';
|
|
32
32
|
import { IWebviewService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/webview/browser/webview.service';
|
|
33
33
|
import { IExtensionService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/extensions/common/extensions.service';
|
|
34
34
|
import { IHoverService } from '@codingame/monaco-vscode-api/vscode/vs/platform/hover/browser/hover.service';
|
|
@@ -36,7 +36,7 @@ import { McpServerInstallState, McpServerContainers } from '@codingame/monaco-vs
|
|
|
36
36
|
import { IMcpWorkbenchService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/mcp/common/mcpTypes.service';
|
|
37
37
|
import { McpServerIconWidget, McpServerScopeBadgeWidget, PublisherWidget, StarredWidget, LicenseWidget, McpServerStatusWidget, McpServerWidget, onClick } from './mcpServerWidgets.js';
|
|
38
38
|
import { InstallAction, InstallingLabelAction, ButtonWithDropDownExtensionAction, UninstallAction, InstallInWorkspaceAction, InstallInRemoteAction, ManageMcpServerAction, DropDownAction, ButtonWithDropdownExtensionActionViewItem, McpServerStatusAction } from './mcpServerActions.js';
|
|
39
|
-
import { McpServerType } from '@codingame/monaco-vscode-
|
|
39
|
+
import { McpServerType } from '@codingame/monaco-vscode-api/vscode/vs/platform/mcp/common/mcpPlatformTypes';
|
|
40
40
|
import { ThemeIcon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/themables';
|
|
41
41
|
import { Codicon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/codicons';
|
|
42
42
|
import { getMcpGalleryManifestResourceUri, McpGalleryResourceType } from '@codingame/monaco-vscode-api/vscode/vs/platform/mcp/common/mcpGalleryManifest';
|
|
@@ -155,7 +155,7 @@ let McpServerEditor = class McpServerEditor extends EditorPane {
|
|
|
155
155
|
const details = append(header, $('.details'));
|
|
156
156
|
const title = append(details, $('.title'));
|
|
157
157
|
const name = append(title, $('span.name.clickable', { role: 'heading', tabIndex: 0 }));
|
|
158
|
-
this._register(this.hoverService.setupManagedHover(getDefaultHoverDelegate('mouse'), name, ( localize(
|
|
158
|
+
this._register(this.hoverService.setupManagedHover(getDefaultHoverDelegate('mouse'), name, ( localize(8895, "Extension name"))));
|
|
159
159
|
const subtitle = append(details, $('.subtitle'));
|
|
160
160
|
const subTitleEntryContainers = [];
|
|
161
161
|
const publisherContainer = append(subtitle, $('.subtitle-entry'));
|
|
@@ -294,18 +294,18 @@ let McpServerEditor = class McpServerEditor extends EditorPane {
|
|
|
294
294
|
this.currentIdentifier = extension.id;
|
|
295
295
|
}
|
|
296
296
|
if (extension.readmeUrl || extension.gallery?.readme) {
|
|
297
|
-
template.navbar.push(McpServerEditorTab.Readme, ( localize(
|
|
297
|
+
template.navbar.push(McpServerEditorTab.Readme, ( localize(8896, "Details")), ( localize(8897, "Extension details, rendered from the extension's 'README.md' file")));
|
|
298
298
|
}
|
|
299
299
|
if (extension.gallery || extension.local?.manifest) {
|
|
300
|
-
template.navbar.push(McpServerEditorTab.Manifest, ( localize(
|
|
300
|
+
template.navbar.push(McpServerEditorTab.Manifest, ( localize(8898, "Manifest")), ( localize(8899, "Server manifest details")));
|
|
301
301
|
}
|
|
302
302
|
if (extension.config) {
|
|
303
|
-
template.navbar.push(McpServerEditorTab.Configuration, ( localize(
|
|
303
|
+
template.navbar.push(McpServerEditorTab.Configuration, ( localize(8900, "Configuration")), ( localize(8901, "Server configuration details")));
|
|
304
304
|
}
|
|
305
305
|
this.transientDisposables.add(this.mcpWorkbenchService.onChange(e => {
|
|
306
306
|
if (e === extension) {
|
|
307
307
|
if (e.config && !( template.navbar.has(McpServerEditorTab.Configuration))) {
|
|
308
|
-
template.navbar.push(McpServerEditorTab.Configuration, ( localize(
|
|
308
|
+
template.navbar.push(McpServerEditorTab.Configuration, ( localize(8900, "Configuration")), ( localize(8901, "Server configuration details")), extension.readmeUrl ? 1 : 0);
|
|
309
309
|
}
|
|
310
310
|
if (!e.config && ( template.navbar.has(McpServerEditorTab.Configuration))) {
|
|
311
311
|
template.navbar.remove(McpServerEditorTab.Configuration);
|
|
@@ -504,7 +504,7 @@ let McpServerEditor = class McpServerEditor extends EditorPane {
|
|
|
504
504
|
const layout = () => details.classList.toggle('narrow', this.dimension && this.dimension.width < 500);
|
|
505
505
|
layout();
|
|
506
506
|
this.contentDisposables.add(toDisposable(insert(this.layoutParticipants, { layout })));
|
|
507
|
-
const activeElement = await this.openMarkdown(extension, this.mcpServerReadme.get(), ( localize(
|
|
507
|
+
const activeElement = await this.openMarkdown(extension, this.mcpServerReadme.get(), ( localize(8902, "No README available.")), readmeContainer, WebviewIndex.Readme, ( localize(8903, "Readme")), token);
|
|
508
508
|
this.renderAdditionalDetails(additionalDetailsContainer, extension);
|
|
509
509
|
return activeElement;
|
|
510
510
|
}
|
|
@@ -544,7 +544,7 @@ let McpServerEditor = class McpServerEditor extends EditorPane {
|
|
|
544
544
|
content.removeChild(content.firstChild);
|
|
545
545
|
}
|
|
546
546
|
const noManifestMessage = append(content, $('.no-manifest'));
|
|
547
|
-
noManifestMessage.textContent = ( localize(
|
|
547
|
+
noManifestMessage.textContent = ( localize(8904, "No manifest available for this MCP server."));
|
|
548
548
|
}
|
|
549
549
|
const scrollableContent = ( new DomScrollableElement(content, {}));
|
|
550
550
|
const layout = () => scrollableContent.scanDomNode();
|
|
@@ -557,29 +557,29 @@ let McpServerEditor = class McpServerEditor extends EditorPane {
|
|
|
557
557
|
const config = mcpServer.config;
|
|
558
558
|
if (!config) {
|
|
559
559
|
const noConfigMessage = append(container, $('.no-config'));
|
|
560
|
-
noConfigMessage.textContent = ( localize(
|
|
560
|
+
noConfigMessage.textContent = ( localize(8905, "No configuration available for this MCP server."));
|
|
561
561
|
return;
|
|
562
562
|
}
|
|
563
563
|
const nameSection = append(container, $('.config-section'));
|
|
564
564
|
const nameLabel = append(nameSection, $('.config-label'));
|
|
565
|
-
nameLabel.textContent = ( localize(
|
|
565
|
+
nameLabel.textContent = ( localize(8906, "Name:"));
|
|
566
566
|
const nameValue = append(nameSection, $('.config-value'));
|
|
567
567
|
nameValue.textContent = mcpServer.name;
|
|
568
568
|
const typeSection = append(container, $('.config-section'));
|
|
569
569
|
const typeLabel = append(typeSection, $('.config-label'));
|
|
570
|
-
typeLabel.textContent = ( localize(
|
|
570
|
+
typeLabel.textContent = ( localize(8907, "Type:"));
|
|
571
571
|
const typeValue = append(typeSection, $('.config-value'));
|
|
572
572
|
typeValue.textContent = config.type;
|
|
573
573
|
if (config.type === McpServerType.LOCAL) {
|
|
574
574
|
const commandSection = append(container, $('.config-section'));
|
|
575
575
|
const commandLabel = append(commandSection, $('.config-label'));
|
|
576
|
-
commandLabel.textContent = ( localize(
|
|
576
|
+
commandLabel.textContent = ( localize(8908, "Command:"));
|
|
577
577
|
const commandValue = append(commandSection, $('code.config-value'));
|
|
578
578
|
commandValue.textContent = config.command;
|
|
579
579
|
if (config.args && config.args.length > 0) {
|
|
580
580
|
const argsSection = append(container, $('.config-section'));
|
|
581
581
|
const argsLabel = append(argsSection, $('.config-label'));
|
|
582
|
-
argsLabel.textContent = ( localize(
|
|
582
|
+
argsLabel.textContent = ( localize(8909, "Arguments:"));
|
|
583
583
|
const argsValue = append(argsSection, $('code.config-value'));
|
|
584
584
|
argsValue.textContent = config.args.join(' ');
|
|
585
585
|
}
|
|
@@ -587,7 +587,7 @@ let McpServerEditor = class McpServerEditor extends EditorPane {
|
|
|
587
587
|
else if (config.type === McpServerType.REMOTE) {
|
|
588
588
|
const urlSection = append(container, $('.config-section'));
|
|
589
589
|
const urlLabel = append(urlSection, $('.config-label'));
|
|
590
|
-
urlLabel.textContent = ( localize(
|
|
590
|
+
urlLabel.textContent = ( localize(8910, "URL:"));
|
|
591
591
|
const urlValue = append(urlSection, $('code.config-value'));
|
|
592
592
|
urlValue.textContent = config.url;
|
|
593
593
|
}
|
|
@@ -604,13 +604,13 @@ let McpServerEditor = class McpServerEditor extends EditorPane {
|
|
|
604
604
|
}
|
|
605
605
|
packages.push(pkg);
|
|
606
606
|
}
|
|
607
|
-
append(container, $('.manifest-section', undefined, $('.manifest-section-title', undefined, ( localize(
|
|
607
|
+
append(container, $('.manifest-section', undefined, $('.manifest-section-title', undefined, ( localize(8911, "Packages")))));
|
|
608
608
|
for (const [packageType, packages] of packagesByType) {
|
|
609
609
|
const packageSection = append(container, $('.package-section', undefined, $('.package-section-title', undefined, packageType.toUpperCase())));
|
|
610
610
|
const packagesGrid = append(packageSection, $('.package-details'));
|
|
611
611
|
for (let i = 0; i < packages.length; i++) {
|
|
612
612
|
const pkg = packages[i];
|
|
613
|
-
append(packagesGrid, $('.package-detail', undefined, $('.detail-label', undefined, ( localize(
|
|
613
|
+
append(packagesGrid, $('.package-detail', undefined, $('.detail-label', undefined, ( localize(8912, "Package:"))), $('.detail-value', undefined, pkg.identifier)));
|
|
614
614
|
if (pkg.packageArguments && pkg.packageArguments.length > 0) {
|
|
615
615
|
const argStrings = [];
|
|
616
616
|
for (const arg of pkg.packageArguments) {
|
|
@@ -627,7 +627,7 @@ let McpServerEditor = class McpServerEditor extends EditorPane {
|
|
|
627
627
|
}
|
|
628
628
|
}
|
|
629
629
|
}
|
|
630
|
-
append(packagesGrid, $('.package-detail', undefined, $('.detail-label', undefined, ( localize(
|
|
630
|
+
append(packagesGrid, $('.package-detail', undefined, $('.detail-label', undefined, ( localize(8913, "Package Arguments:"))), $('code.detail-value', undefined, argStrings.join(' '))));
|
|
631
631
|
}
|
|
632
632
|
if (pkg.runtimeArguments && pkg.runtimeArguments.length > 0) {
|
|
633
633
|
const argStrings = [];
|
|
@@ -645,11 +645,11 @@ let McpServerEditor = class McpServerEditor extends EditorPane {
|
|
|
645
645
|
}
|
|
646
646
|
}
|
|
647
647
|
}
|
|
648
|
-
append(packagesGrid, $('.package-detail', undefined, $('.detail-label', undefined, ( localize(
|
|
648
|
+
append(packagesGrid, $('.package-detail', undefined, $('.detail-label', undefined, ( localize(8914, "Runtime Arguments:"))), $('code.detail-value', undefined, argStrings.join(' '))));
|
|
649
649
|
}
|
|
650
650
|
if (pkg.environmentVariables && pkg.environmentVariables.length > 0) {
|
|
651
651
|
const envStrings = ( pkg.environmentVariables.map((envVar) => `${envVar.name}=${envVar.value ?? ''}`));
|
|
652
|
-
append(packagesGrid, $('.package-detail', undefined, $('.detail-label', undefined, ( localize(
|
|
652
|
+
append(packagesGrid, $('.package-detail', undefined, $('.detail-label', undefined, ( localize(8915, "Environment Variables:"))), $('code.detail-value', undefined, envStrings.join(' '))));
|
|
653
653
|
}
|
|
654
654
|
if (i < packages.length - 1) {
|
|
655
655
|
append(packagesGrid, $('.package-separator'));
|
|
@@ -658,16 +658,16 @@ let McpServerEditor = class McpServerEditor extends EditorPane {
|
|
|
658
658
|
}
|
|
659
659
|
}
|
|
660
660
|
if (manifest.remotes && manifest.remotes.length > 0) {
|
|
661
|
-
const packageSection = append(container, $('.package-section', undefined, $('.package-section-title', undefined, ( localize(
|
|
661
|
+
const packageSection = append(container, $('.package-section', undefined, $('.package-section-title', undefined, ( localize(8916, "Remote")).toLocaleUpperCase())));
|
|
662
662
|
for (const remote of manifest.remotes) {
|
|
663
663
|
const packagesGrid = append(packageSection, $('.package-details'));
|
|
664
|
-
append(packagesGrid, $('.package-detail', undefined, $('.detail-label', undefined, ( localize(
|
|
664
|
+
append(packagesGrid, $('.package-detail', undefined, $('.detail-label', undefined, ( localize(8910, "URL:"))), $('.detail-value', undefined, remote.url)));
|
|
665
665
|
if (remote.type) {
|
|
666
|
-
append(packagesGrid, $('.package-detail', undefined, $('.detail-label', undefined, ( localize(
|
|
666
|
+
append(packagesGrid, $('.package-detail', undefined, $('.detail-label', undefined, ( localize(8917, "Transport:"))), $('.detail-value', undefined, remote.type)));
|
|
667
667
|
}
|
|
668
668
|
if (remote.headers && remote.headers.length > 0) {
|
|
669
669
|
const headerStrings = ( remote.headers.map((header) => `${header.name}: ${header.value ?? ''}`));
|
|
670
|
-
append(packagesGrid, $('.package-detail', undefined, $('.detail-label', undefined, ( localize(
|
|
670
|
+
append(packagesGrid, $('.package-detail', undefined, $('.detail-label', undefined, ( localize(8918, "Headers:"))), $('.detail-value', undefined, headerStrings.join(', '))));
|
|
671
671
|
}
|
|
672
672
|
}
|
|
673
673
|
}
|
|
@@ -742,7 +742,7 @@ let AdditionalDetailsWidget = class AdditionalDetailsWidget extends Disposable {
|
|
|
742
742
|
renderTags(container, extension) {
|
|
743
743
|
if (extension.gallery?.topics?.length) {
|
|
744
744
|
const categoriesContainer = append(container, $('.categories-container.additional-details-element'));
|
|
745
|
-
append(categoriesContainer, $('.additional-details-title', undefined, ( localize(
|
|
745
|
+
append(categoriesContainer, $('.additional-details-title', undefined, ( localize(8919, "Tags"))));
|
|
746
746
|
const categoriesElement = append(categoriesContainer, $('.categories'));
|
|
747
747
|
for (const category of extension.gallery.topics) {
|
|
748
748
|
append(categoriesElement, $('span.category', { tabindex: '0' }, category));
|
|
@@ -754,7 +754,7 @@ let AdditionalDetailsWidget = class AdditionalDetailsWidget extends Disposable {
|
|
|
754
754
|
const manifest = await this.mcpGalleryManifestService.getMcpGalleryManifest();
|
|
755
755
|
if (extension.repository) {
|
|
756
756
|
try {
|
|
757
|
-
resources.push([( localize(
|
|
757
|
+
resources.push([( localize(8920, "Repository")), ThemeIcon.fromId(Codicon.repo.id), ( URI.parse(extension.repository))]);
|
|
758
758
|
}
|
|
759
759
|
catch (error) { }
|
|
760
760
|
}
|
|
@@ -762,14 +762,14 @@ let AdditionalDetailsWidget = class AdditionalDetailsWidget extends Disposable {
|
|
|
762
762
|
const supportUri = getMcpGalleryManifestResourceUri(manifest, McpGalleryResourceType.ContactSupportUri);
|
|
763
763
|
if (supportUri) {
|
|
764
764
|
try {
|
|
765
|
-
resources.push([( localize(
|
|
765
|
+
resources.push([( localize(8921, "Contact Support")), ThemeIcon.fromId(Codicon.commentDiscussion.id), ( URI.parse(supportUri))]);
|
|
766
766
|
}
|
|
767
767
|
catch (error) { }
|
|
768
768
|
}
|
|
769
769
|
}
|
|
770
770
|
if (resources.length) {
|
|
771
771
|
const extensionResourcesContainer = append(container, $('.resources-container.additional-details-element'));
|
|
772
|
-
append(extensionResourcesContainer, $('.additional-details-title', undefined, ( localize(
|
|
772
|
+
append(extensionResourcesContainer, $('.additional-details-title', undefined, ( localize(8922, "Resources"))));
|
|
773
773
|
const resourcesElement = append(extensionResourcesContainer, $('.resources'));
|
|
774
774
|
for (const [label, icon, uri] of resources) {
|
|
775
775
|
const resourceElement = append(resourcesElement, $('.resource'));
|
|
@@ -782,32 +782,32 @@ let AdditionalDetailsWidget = class AdditionalDetailsWidget extends Disposable {
|
|
|
782
782
|
}
|
|
783
783
|
renderInstallInfo(container, extension) {
|
|
784
784
|
const installInfoContainer = append(container, $('.more-info-container.additional-details-element'));
|
|
785
|
-
append(installInfoContainer, $('.additional-details-title', undefined, ( localize(
|
|
785
|
+
append(installInfoContainer, $('.additional-details-title', undefined, ( localize(8923, "Installation"))));
|
|
786
786
|
const installInfo = append(installInfoContainer, $('.more-info'));
|
|
787
|
-
append(installInfo, $('.more-info-entry', undefined, $('div.more-info-entry-name', undefined, ( localize(
|
|
787
|
+
append(installInfo, $('.more-info-entry', undefined, $('div.more-info-entry-name', undefined, ( localize(8924, "Identifier"))), $('code', undefined, extension.name)));
|
|
788
788
|
if (extension.version) {
|
|
789
|
-
append(installInfo, $('.more-info-entry', undefined, $('div.more-info-entry-name', undefined, ( localize(
|
|
789
|
+
append(installInfo, $('.more-info-entry', undefined, $('div.more-info-entry-name', undefined, ( localize(8925, "Version"))), $('code', undefined, extension.version)));
|
|
790
790
|
}
|
|
791
791
|
}
|
|
792
792
|
renderMarketplaceInfo(container, extension) {
|
|
793
793
|
const gallery = extension.gallery;
|
|
794
794
|
const moreInfoContainer = append(container, $('.more-info-container.additional-details-element'));
|
|
795
|
-
append(moreInfoContainer, $('.additional-details-title', undefined, ( localize(
|
|
795
|
+
append(moreInfoContainer, $('.additional-details-title', undefined, ( localize(8926, "Marketplace"))));
|
|
796
796
|
const moreInfo = append(moreInfoContainer, $('.more-info'));
|
|
797
797
|
if (gallery) {
|
|
798
798
|
if (!extension.local) {
|
|
799
|
-
append(moreInfo, $('.more-info-entry', undefined, $('div.more-info-entry-name', undefined, ( localize(
|
|
799
|
+
append(moreInfo, $('.more-info-entry', undefined, $('div.more-info-entry-name', undefined, ( localize(8924, "Identifier"))), $('code', undefined, extension.name)));
|
|
800
800
|
if (gallery.version) {
|
|
801
|
-
append(moreInfo, $('.more-info-entry', undefined, $('div.more-info-entry-name', undefined, ( localize(
|
|
801
|
+
append(moreInfo, $('.more-info-entry', undefined, $('div.more-info-entry-name', undefined, ( localize(8925, "Version"))), $('code', undefined, gallery.version)));
|
|
802
802
|
}
|
|
803
803
|
}
|
|
804
804
|
if (gallery.lastUpdated) {
|
|
805
|
-
append(moreInfo, $('.more-info-entry', undefined, $('div.more-info-entry-name', undefined, ( localize(
|
|
805
|
+
append(moreInfo, $('.more-info-entry', undefined, $('div.more-info-entry-name', undefined, ( localize(8927, "Last Released"))), $('div', {
|
|
806
806
|
'title': ( ( new Date(gallery.lastUpdated)).toString())
|
|
807
807
|
}, fromNow(gallery.lastUpdated, true, true, true))));
|
|
808
808
|
}
|
|
809
809
|
if (gallery.publishDate) {
|
|
810
|
-
append(moreInfo, $('.more-info-entry', undefined, $('div.more-info-entry-name', undefined, ( localize(
|
|
810
|
+
append(moreInfo, $('.more-info-entry', undefined, $('div.more-info-entry-name', undefined, ( localize(8928, "Published"))), $('div', {
|
|
811
811
|
'title': ( ( new Date(gallery.publishDate)).toString())
|
|
812
812
|
}, fromNow(gallery.publishDate, true, true, true))));
|
|
813
813
|
}
|
|
@@ -8,7 +8,7 @@ import { join } from '@codingame/monaco-vscode-api/vscode/vs/base/common/path';
|
|
|
8
8
|
import { Codicon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/codicons';
|
|
9
9
|
import { registerIcon } from '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/iconRegistry';
|
|
10
10
|
|
|
11
|
-
const MCPServerEditorIcon = registerIcon('mcp-server-editor-icon', Codicon.mcp, ( localize(
|
|
11
|
+
const MCPServerEditorIcon = registerIcon('mcp-server-editor-icon', Codicon.mcp, ( localize(8929, 'Icon of the MCP Server editor.')));
|
|
12
12
|
class McpServerEditorInput extends EditorInput {
|
|
13
13
|
static { this.ID = 'workbench.mcpServer.input2'; }
|
|
14
14
|
get typeId() {
|
|
@@ -29,7 +29,7 @@ class McpServerEditorInput extends EditorInput {
|
|
|
29
29
|
}
|
|
30
30
|
get mcpServer() { return this._mcpServer; }
|
|
31
31
|
getName() {
|
|
32
|
-
return localize(
|
|
32
|
+
return localize(8930, "MCP Server: {0}", this._mcpServer.label);
|
|
33
33
|
}
|
|
34
34
|
getIcon() {
|
|
35
35
|
return MCPServerEditorIcon;
|
|
@@ -3,10 +3,10 @@ import { Codicon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/codi
|
|
|
3
3
|
import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
4
4
|
import { registerIcon } from '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/iconRegistry';
|
|
5
5
|
|
|
6
|
-
const mcpServerIcon = registerIcon('mcp-server', Codicon.mcp, ( localize(
|
|
7
|
-
const mcpServerRemoteIcon = registerIcon('mcp-server-remote', Codicon.remote, ( localize(
|
|
8
|
-
const mcpServerWorkspaceIcon = registerIcon('mcp-server-workspace', Codicon.rootFolder, ( localize(
|
|
9
|
-
const mcpStarredIcon = registerIcon('mcp-server-starred', Codicon.starFull, ( localize(
|
|
10
|
-
const mcpLicenseIcon = registerIcon('mcp-server-license', Codicon.law, ( localize(
|
|
6
|
+
const mcpServerIcon = registerIcon('mcp-server', Codicon.mcp, ( localize(8931, 'Icon used for the MCP server.')));
|
|
7
|
+
const mcpServerRemoteIcon = registerIcon('mcp-server-remote', Codicon.remote, ( localize(8932, 'Icon to indicate that an MCP server is for the remote user scope.')));
|
|
8
|
+
const mcpServerWorkspaceIcon = registerIcon('mcp-server-workspace', Codicon.rootFolder, ( localize(8933, 'Icon to indicate that an MCP server is for the workspace scope.')));
|
|
9
|
+
const mcpStarredIcon = registerIcon('mcp-server-starred', Codicon.starFull, ( localize(8934, 'Icon shown along with the starred status.')));
|
|
10
|
+
const mcpLicenseIcon = registerIcon('mcp-server-license', Codicon.law, ( localize(8935, 'Icon shown along with the license status.')));
|
|
11
11
|
|
|
12
12
|
export { mcpLicenseIcon, mcpServerIcon, mcpServerRemoteIcon, mcpServerWorkspaceIcon, mcpStarredIcon };
|
|
@@ -5,7 +5,7 @@ import { IMcpServerContainer, IWorkbenchMcpServer } from "@codingame/monaco-vsco
|
|
|
5
5
|
import { IThemeService } from "@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/themeService.service";
|
|
6
6
|
import { Event } from "@codingame/monaco-vscode-api/vscode/vs/base/common/event";
|
|
7
7
|
import { McpServerStatusAction } from "./mcpServerActions.js";
|
|
8
|
-
import { ExtensionHoverOptions } from "@codingame/monaco-vscode-
|
|
8
|
+
import { ExtensionHoverOptions } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/extensions/browser/extensionsWidgets";
|
|
9
9
|
import { IConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service";
|
|
10
10
|
import { IInstantiationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation";
|
|
11
11
|
import { IMarkdownRendererService } from "@codingame/monaco-vscode-api/vscode/vs/platform/markdown/browser/markdownRenderer.service";
|