@codingame/monaco-vscode-mcp-service-override 22.1.8 → 23.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/package.json +15 -16
- package/vscode/src/vs/platform/mcp/common/allowedMcpServersService.js +1 -1
- package/vscode/src/vs/platform/mcp/common/mcpGalleryManifestService.d.ts +9 -2
- package/vscode/src/vs/platform/mcp/common/mcpGalleryManifestService.js +60 -11
- package/vscode/src/vs/platform/mcp/common/mcpGalleryService.d.ts +11 -9
- package/vscode/src/vs/platform/mcp/common/mcpGalleryService.js +234 -623
- package/vscode/src/vs/platform/mcp/common/mcpManagementIpc.d.ts +5 -4
- package/vscode/src/vs/platform/mcp/common/mcpManagementService.d.ts +1 -1
- package/vscode/src/vs/platform/mcp/common/mcpManagementService.js +9 -4
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcp.contribution.js +6 -5
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpAddContextContribution.js +5 -2
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpCommands.d.ts +4 -0
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpCommands.js +108 -92
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpElicitationService.js +22 -21
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpLanguageFeatures.js +19 -19
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpMigration.js +6 -6
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpResourceQuickAccess.js +8 -9
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpServerActions.d.ts +85 -22
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpServerActions.js +347 -96
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpServerEditor.d.ts +4 -2
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpServerEditor.js +62 -65
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpServerEditorInput.js +3 -3
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpServerIcons.js +5 -5
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpServerWidgets.d.ts +5 -4
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpServerWidgets.js +22 -26
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpServersView.d.ts +5 -3
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpServersView.js +68 -60
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpWorkbenchService.d.ts +20 -10
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpWorkbenchService.js +177 -84
- 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 +4 -4
- package/vscode/src/vs/workbench/contrib/mcp/common/discovery/installedMcpServersDiscovery.d.ts +4 -2
- package/vscode/src/vs/workbench/contrib/mcp/common/discovery/installedMcpServersDiscovery.js +33 -13
- package/vscode/src/vs/workbench/contrib/mcp/common/discovery/nativeMcpDiscoveryAbstract.js +1 -1
- package/vscode/src/vs/workbench/contrib/mcp/common/mcpContextKeys.js +4 -4
- package/vscode/src/vs/workbench/contrib/mcp/common/mcpDevMode.d.ts +0 -1
- package/vscode/src/vs/workbench/contrib/mcp/common/mcpDevMode.js +0 -1
- package/vscode/src/vs/workbench/contrib/mcp/common/mcpIcons.d.ts +12 -1
- package/vscode/src/vs/workbench/contrib/mcp/common/mcpIcons.js +27 -5
- package/vscode/src/vs/workbench/contrib/mcp/common/mcpLanguageModelToolContribution.js +25 -34
- package/vscode/src/vs/workbench/contrib/mcp/common/mcpRegistry.js +12 -12
- package/vscode/src/vs/workbench/contrib/mcp/common/mcpSamplingLog.d.ts +1 -2
- package/vscode/src/vs/workbench/contrib/mcp/common/mcpSamplingLog.js +2 -2
- package/vscode/src/vs/workbench/contrib/mcp/common/mcpSamplingService.js +13 -13
- package/vscode/src/vs/workbench/contrib/mcp/common/mcpServer.d.ts +6 -2
- package/vscode/src/vs/workbench/contrib/mcp/common/mcpServer.js +91 -76
- package/vscode/src/vs/workbench/contrib/mcp/common/mcpServerConnection.js +3 -3
- package/vscode/src/vs/workbench/contrib/mcp/common/mcpService.d.ts +7 -7
- package/vscode/src/vs/workbench/contrib/mcp/common/mcpService.js +67 -73
- package/vscode/src/vs/workbench/services/authentication/browser/authenticationMcpService.js +10 -10
- package/vscode/src/vs/workbench/services/mcp/browser/mcpGalleryManifestService.d.ts +3 -1
- package/vscode/src/vs/workbench/services/mcp/browser/mcpGalleryManifestService.js +7 -3
- package/vscode/src/vs/workbench/services/mcp/common/mcpWorkbenchManagementService.d.ts +1 -1
- package/vscode/src/vs/workbench/services/mcp/common/mcpWorkbenchManagementService.js +82 -6
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@codingame/monaco-vscode-mcp-service-override",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "23.0.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "VSCode public API plugged on the monaco editor - mcp service-override",
|
|
6
6
|
"keywords": [],
|
|
@@ -15,21 +15,20 @@
|
|
|
15
15
|
},
|
|
16
16
|
"type": "module",
|
|
17
17
|
"dependencies": {
|
|
18
|
-
"@codingame/monaco-vscode-
|
|
19
|
-
"@codingame/monaco-vscode-
|
|
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-
|
|
28
|
-
"@codingame/monaco-vscode-ce7c734f-7712-563c-9335-d7acb43306af-common": "
|
|
29
|
-
"@codingame/monaco-vscode-cf77987b-b1b7-5359-aaf8-a259c63d9f03-common": "
|
|
30
|
-
"@codingame/monaco-vscode-
|
|
31
|
-
"@codingame/monaco-vscode-
|
|
32
|
-
"@codingame/monaco-vscode-f24e325c-2ce0-5bba-8236-bfc4f53180ab-common": "22.1.8"
|
|
18
|
+
"@codingame/monaco-vscode-2339d6ac-d6bb-53cd-95ee-81911735d1c7-common": "23.0.0",
|
|
19
|
+
"@codingame/monaco-vscode-2673c6e2-17c1-5710-b169-46f3d4a28696-common": "23.0.0",
|
|
20
|
+
"@codingame/monaco-vscode-2a04f0cd-b806-5886-909e-418183d32279-common": "23.0.0",
|
|
21
|
+
"@codingame/monaco-vscode-2eda793f-4b5b-58e8-83c5-1bfd3bad15f1-common": "23.0.0",
|
|
22
|
+
"@codingame/monaco-vscode-3b5a5cd1-d4ff-500a-b609-57e0cd4afa0a-common": "23.0.0",
|
|
23
|
+
"@codingame/monaco-vscode-4a3ac544-9a61-534c-88df-756262793ef7-common": "23.0.0",
|
|
24
|
+
"@codingame/monaco-vscode-501b06ab-3f58-516b-8a1a-c29d375d3da4-common": "23.0.0",
|
|
25
|
+
"@codingame/monaco-vscode-60014c9d-b815-501d-83a9-4b08725c2ec2-common": "23.0.0",
|
|
26
|
+
"@codingame/monaco-vscode-7b19b93e-7a49-5c48-81f5-091a64f468d2-common": "23.0.0",
|
|
27
|
+
"@codingame/monaco-vscode-api": "23.0.0",
|
|
28
|
+
"@codingame/monaco-vscode-ce7c734f-7712-563c-9335-d7acb43306af-common": "23.0.0",
|
|
29
|
+
"@codingame/monaco-vscode-cf77987b-b1b7-5359-aaf8-a259c63d9f03-common": "23.0.0",
|
|
30
|
+
"@codingame/monaco-vscode-dc3fa21d-a483-5b99-a7ab-173235644a34-common": "23.0.0",
|
|
31
|
+
"@codingame/monaco-vscode-f24e325c-2ce0-5bba-8236-bfc4f53180ab-common": "23.0.0"
|
|
33
32
|
},
|
|
34
33
|
"main": "index.js",
|
|
35
34
|
"module": "index.js",
|
|
@@ -25,7 +25,7 @@ let AllowedMcpServersService = class AllowedMcpServersService extends Disposable
|
|
|
25
25
|
}
|
|
26
26
|
const settingsCommandLink = ( createCommandUri('workbench.action.openSettings', { query: `@id:${mcpAccessConfig}` }).toString());
|
|
27
27
|
return (new MarkdownString(localize(
|
|
28
|
-
|
|
28
|
+
1981,
|
|
29
29
|
"Model Context Protocol servers are disabled in the Editor. Please check your [settings]({0}).",
|
|
30
30
|
settingsCommandLink
|
|
31
31
|
)));
|
|
@@ -1,15 +1,22 @@
|
|
|
1
1
|
import { Event } from "@codingame/monaco-vscode-api/vscode/vs/base/common/event";
|
|
2
2
|
import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
|
|
3
|
+
import { ILogService } from "@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service";
|
|
3
4
|
import { IProductService } from "@codingame/monaco-vscode-api/vscode/vs/platform/product/common/productService.service";
|
|
5
|
+
import { IRequestService } from "@codingame/monaco-vscode-api/vscode/vs/platform/request/common/request.service";
|
|
4
6
|
import { IMcpGalleryManifest, McpGalleryManifestStatus } from "@codingame/monaco-vscode-api/vscode/vs/platform/mcp/common/mcpGalleryManifest";
|
|
5
7
|
import { IMcpGalleryManifestService } from "@codingame/monaco-vscode-api/vscode/vs/platform/mcp/common/mcpGalleryManifest.service";
|
|
6
8
|
export declare class McpGalleryManifestService extends Disposable implements IMcpGalleryManifestService {
|
|
7
9
|
private readonly productService;
|
|
10
|
+
private readonly requestService;
|
|
11
|
+
protected readonly logService: ILogService;
|
|
8
12
|
readonly _serviceBrand: undefined;
|
|
9
13
|
readonly onDidChangeMcpGalleryManifest: Event<any>;
|
|
10
14
|
readonly onDidChangeMcpGalleryManifestStatus: Event<any>;
|
|
15
|
+
private readonly versionByUrl;
|
|
11
16
|
get mcpGalleryManifestStatus(): McpGalleryManifestStatus;
|
|
12
|
-
constructor(productService: IProductService);
|
|
17
|
+
constructor(productService: IProductService, requestService: IRequestService, logService: ILogService);
|
|
13
18
|
getMcpGalleryManifest(): Promise<IMcpGalleryManifest | null>;
|
|
14
|
-
protected createMcpGalleryManifest(url: string): IMcpGalleryManifest
|
|
19
|
+
protected createMcpGalleryManifest(url: string, version?: string): Promise<IMcpGalleryManifest>;
|
|
20
|
+
private getVersion;
|
|
21
|
+
private checkVersion;
|
|
15
22
|
}
|
|
@@ -1,30 +1,47 @@
|
|
|
1
1
|
|
|
2
2
|
import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
|
|
3
|
+
import { CancellationToken } from '@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation';
|
|
3
4
|
import { Event } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
|
|
4
5
|
import { Disposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
|
|
6
|
+
import { ILogService } from '@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service';
|
|
5
7
|
import { IProductService } from '@codingame/monaco-vscode-api/vscode/vs/platform/product/common/productService.service';
|
|
8
|
+
import { isSuccess } from '@codingame/monaco-vscode-api/vscode/vs/platform/request/common/request';
|
|
9
|
+
import { IRequestService } from '@codingame/monaco-vscode-api/vscode/vs/platform/request/common/request.service';
|
|
6
10
|
import { McpGalleryManifestStatus, McpGalleryResourceType } from '@codingame/monaco-vscode-api/vscode/vs/platform/mcp/common/mcpGalleryManifest';
|
|
7
11
|
|
|
12
|
+
const SUPPORTED_VERSIONS = [
|
|
13
|
+
'v0.1',
|
|
14
|
+
'v0',
|
|
15
|
+
];
|
|
8
16
|
let McpGalleryManifestService = class McpGalleryManifestService extends Disposable {
|
|
9
17
|
get mcpGalleryManifestStatus() {
|
|
10
18
|
return !!this.productService.mcpGallery?.serviceUrl ? McpGalleryManifestStatus.Available : McpGalleryManifestStatus.Unavailable;
|
|
11
19
|
}
|
|
12
|
-
constructor(productService) {
|
|
20
|
+
constructor(productService, requestService, logService) {
|
|
13
21
|
super();
|
|
14
22
|
this.productService = productService;
|
|
23
|
+
this.requestService = requestService;
|
|
24
|
+
this.logService = logService;
|
|
15
25
|
this.onDidChangeMcpGalleryManifest = Event.None;
|
|
16
26
|
this.onDidChangeMcpGalleryManifestStatus = Event.None;
|
|
27
|
+
this.versionByUrl = ( new Map());
|
|
17
28
|
}
|
|
18
29
|
async getMcpGalleryManifest() {
|
|
19
30
|
if (!this.productService.mcpGallery) {
|
|
20
31
|
return null;
|
|
21
32
|
}
|
|
22
|
-
return this.createMcpGalleryManifest(this.productService.mcpGallery.serviceUrl);
|
|
33
|
+
return this.createMcpGalleryManifest(this.productService.mcpGallery.serviceUrl, SUPPORTED_VERSIONS[0]);
|
|
23
34
|
}
|
|
24
|
-
createMcpGalleryManifest(url) {
|
|
35
|
+
async createMcpGalleryManifest(url, version) {
|
|
25
36
|
url = url.endsWith('/') ? url.slice(0, -1) : url;
|
|
37
|
+
if (!version) {
|
|
38
|
+
let versionPromise = this.versionByUrl.get(url);
|
|
39
|
+
if (!versionPromise) {
|
|
40
|
+
this.versionByUrl.set(url, versionPromise = this.getVersion(url));
|
|
41
|
+
}
|
|
42
|
+
version = await versionPromise;
|
|
43
|
+
}
|
|
26
44
|
const isProductGalleryUrl = this.productService.mcpGallery?.serviceUrl === url;
|
|
27
|
-
const version = 'v0';
|
|
28
45
|
const serversUrl = `${url}/${version}/servers`;
|
|
29
46
|
const resources = [
|
|
30
47
|
{
|
|
@@ -32,15 +49,15 @@ let McpGalleryManifestService = class McpGalleryManifestService extends Disposab
|
|
|
32
49
|
type: McpGalleryResourceType.McpServersQueryService
|
|
33
50
|
},
|
|
34
51
|
{
|
|
35
|
-
id: `${serversUrl}/{
|
|
36
|
-
type: McpGalleryResourceType.
|
|
52
|
+
id: `${serversUrl}/{name}/versions/{version}`,
|
|
53
|
+
type: McpGalleryResourceType.McpServerVersionUri
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
id: `${serversUrl}/{name}/versions/latest`,
|
|
57
|
+
type: McpGalleryResourceType.McpServerLatestVersionUri
|
|
37
58
|
}
|
|
38
59
|
];
|
|
39
60
|
if (isProductGalleryUrl) {
|
|
40
|
-
resources.push({
|
|
41
|
-
id: `${serversUrl}/search`,
|
|
42
|
-
type: McpGalleryResourceType.McpServersSearchService
|
|
43
|
-
});
|
|
44
61
|
resources.push({
|
|
45
62
|
id: `${serversUrl}/by-name/{name}`,
|
|
46
63
|
type: McpGalleryResourceType.McpServerNamedResourceUri
|
|
@@ -74,15 +91,47 @@ let McpGalleryManifestService = class McpGalleryManifestService extends Disposab
|
|
|
74
91
|
type: McpGalleryResourceType.ReportUri
|
|
75
92
|
});
|
|
76
93
|
}
|
|
94
|
+
if (version === 'v0') {
|
|
95
|
+
resources.push({
|
|
96
|
+
id: `${serversUrl}/{id}`,
|
|
97
|
+
type: McpGalleryResourceType.McpServerIdUri
|
|
98
|
+
});
|
|
99
|
+
}
|
|
77
100
|
return {
|
|
78
101
|
version,
|
|
79
102
|
url,
|
|
80
103
|
resources
|
|
81
104
|
};
|
|
82
105
|
}
|
|
106
|
+
async getVersion(url) {
|
|
107
|
+
for (const version of SUPPORTED_VERSIONS) {
|
|
108
|
+
if (await this.checkVersion(url, version)) {
|
|
109
|
+
return version;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
return SUPPORTED_VERSIONS[0];
|
|
113
|
+
}
|
|
114
|
+
async checkVersion(url, version) {
|
|
115
|
+
try {
|
|
116
|
+
const context = await this.requestService.request({
|
|
117
|
+
type: 'GET',
|
|
118
|
+
url: `${url}/${version}/servers?limit=1`,
|
|
119
|
+
}, CancellationToken.None);
|
|
120
|
+
if (isSuccess(context)) {
|
|
121
|
+
return true;
|
|
122
|
+
}
|
|
123
|
+
this.logService.info(`The service at ${url} does not support version ${version}. Service returned status ${context.res.statusCode}.`);
|
|
124
|
+
}
|
|
125
|
+
catch (error) {
|
|
126
|
+
this.logService.error(error);
|
|
127
|
+
}
|
|
128
|
+
return false;
|
|
129
|
+
}
|
|
83
130
|
};
|
|
84
131
|
McpGalleryManifestService = ( __decorate([
|
|
85
|
-
( __param(0, IProductService))
|
|
132
|
+
( __param(0, IProductService)),
|
|
133
|
+
( __param(1, IRequestService)),
|
|
134
|
+
( __param(2, ILogService))
|
|
86
135
|
], McpGalleryManifestService));
|
|
87
136
|
|
|
88
137
|
export { McpGalleryManifestService };
|
|
@@ -3,11 +3,11 @@ import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/l
|
|
|
3
3
|
import { IFileService } from "@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service";
|
|
4
4
|
import { ILogService } from "@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service";
|
|
5
5
|
import { IRequestService } from "@codingame/monaco-vscode-api/vscode/vs/platform/request/common/request.service";
|
|
6
|
-
import { IGalleryMcpServer,
|
|
6
|
+
import { IGalleryMcpServer, IQueryOptions } from "@codingame/monaco-vscode-dc3fa21d-a483-5b99-a7ab-173235644a34-common/vscode/vs/platform/mcp/common/mcpManagement";
|
|
7
7
|
import { IMcpGalleryService } from "@codingame/monaco-vscode-api/vscode/vs/platform/mcp/common/mcpManagement.service";
|
|
8
8
|
import { IMcpGalleryManifest } from "@codingame/monaco-vscode-api/vscode/vs/platform/mcp/common/mcpGalleryManifest";
|
|
9
9
|
import { IMcpGalleryManifestService } from "@codingame/monaco-vscode-api/vscode/vs/platform/mcp/common/mcpGalleryManifest.service";
|
|
10
|
-
import {
|
|
10
|
+
import { IIterativePager } from "@codingame/monaco-vscode-2eda793f-4b5b-58e8-83c5-1bfd3bad15f1-common/vscode/vs/base/common/paging";
|
|
11
11
|
export declare class McpGalleryService extends Disposable implements IMcpGalleryService {
|
|
12
12
|
private readonly requestService;
|
|
13
13
|
private readonly fileService;
|
|
@@ -17,21 +17,23 @@ export declare class McpGalleryService extends Disposable implements IMcpGallery
|
|
|
17
17
|
private galleryMcpServerDataSerializers;
|
|
18
18
|
constructor(requestService: IRequestService, fileService: IFileService, logService: ILogService, mcpGalleryManifestService: IMcpGalleryManifestService);
|
|
19
19
|
isEnabled(): boolean;
|
|
20
|
-
query(options?: IQueryOptions, token?: CancellationToken): Promise<
|
|
21
|
-
getMcpServersFromGallery(
|
|
22
|
-
|
|
20
|
+
query(options?: IQueryOptions, token?: CancellationToken): Promise<IIterativePager<IGalleryMcpServer>>;
|
|
21
|
+
getMcpServersFromGallery(infos: {
|
|
22
|
+
name: string;
|
|
23
|
+
id?: string;
|
|
24
|
+
}[]): Promise<IGalleryMcpServer[]>;
|
|
25
|
+
private getMcpServerByName;
|
|
23
26
|
getReadme(gallery: IGalleryMcpServer, token: CancellationToken): Promise<string>;
|
|
24
27
|
private toGalleryMcpServer;
|
|
25
|
-
private toGalleryMcpServerConfiguration;
|
|
26
28
|
private queryGalleryMcpServers;
|
|
27
29
|
private queryRawGalleryMcpServers;
|
|
28
30
|
getMcpServer(mcpServerUrl: string, mcpGalleryManifest?: IMcpGalleryManifest | null): Promise<IGalleryMcpServer | undefined>;
|
|
29
|
-
getMcpServerByName(name: string): Promise<IGalleryMcpServer | undefined>;
|
|
30
31
|
private serializeMcpServer;
|
|
31
32
|
private serializeMcpServersResult;
|
|
32
|
-
private
|
|
33
|
+
private getSerializer;
|
|
33
34
|
private getNamedServerUrl;
|
|
34
|
-
private
|
|
35
|
+
private getServerIdUrl;
|
|
36
|
+
private getLatestServerVersionUrl;
|
|
35
37
|
private getWebUrl;
|
|
36
38
|
private getPublisherUrl;
|
|
37
39
|
private getMcpGalleryUrl;
|