@codingame/monaco-vscode-mcp-service-override 20.5.0 → 21.0.1
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 +4 -1
- package/package.json +15 -15
- package/vscode/src/vs/platform/mcp/common/allowedMcpServersService.js +5 -6
- package/vscode/src/vs/platform/mcp/common/mcpGalleryManifestService.d.ts +15 -0
- package/vscode/src/vs/platform/mcp/common/mcpGalleryManifestService.js +52 -0
- package/vscode/src/vs/platform/mcp/common/mcpGalleryService.d.ts +16 -9
- package/vscode/src/vs/platform/mcp/common/mcpGalleryService.js +238 -106
- package/vscode/src/vs/platform/mcp/common/mcpManagementService.d.ts +12 -14
- package/vscode/src/vs/platform/mcp/common/mcpManagementService.js +166 -188
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcp.contribution.js +22 -5
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpAddContextContribution.js +2 -2
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpCommands.d.ts +5 -0
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpCommands.js +94 -59
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpDiscovery.js +14 -9
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpElicitationService.js +19 -24
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpLanguageFeatures.js +32 -31
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpMigration.js +5 -5
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpResourceQuickAccess.js +7 -7
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpServerActions.d.ts +3 -3
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpServerActions.js +49 -39
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpServerEditor.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpServerEditor.js +72 -48
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpServerEditorInput.js +2 -2
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpServerIcons.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpServerIcons.js +5 -4
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpServerWidgets.d.ts +4 -14
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpServerWidgets.js +62 -111
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpServersView.d.ts +4 -3
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpServersView.js +38 -30
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpWorkbenchService.d.ts +18 -9
- package/vscode/src/vs/workbench/contrib/mcp/browser/mcpWorkbenchService.js +196 -83
- package/vscode/src/vs/workbench/contrib/mcp/common/discovery/extensionMcpDiscovery.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/mcp/common/discovery/extensionMcpDiscovery.js +5 -4
- package/vscode/src/vs/workbench/contrib/mcp/common/discovery/installedMcpServersDiscovery.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/mcp/common/discovery/installedMcpServersDiscovery.js +1 -0
- package/vscode/src/vs/workbench/contrib/mcp/common/discovery/mcpDiscovery.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/mcp/common/discovery/nativeMcpDiscoveryAbstract.d.ts +7 -6
- package/vscode/src/vs/workbench/contrib/mcp/common/discovery/nativeMcpDiscoveryAbstract.js +11 -10
- package/vscode/src/vs/workbench/contrib/mcp/common/mcpContextKeys.js +4 -4
- package/vscode/src/vs/workbench/contrib/mcp/common/mcpLanguageModelToolContribution.js +36 -27
- package/vscode/src/vs/workbench/contrib/mcp/common/mcpRegistry.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/mcp/common/mcpRegistry.js +28 -17
- package/vscode/src/vs/workbench/contrib/mcp/common/mcpSamplingLog.js +1 -1
- package/vscode/src/vs/workbench/contrib/mcp/common/mcpSamplingService.js +16 -16
- package/vscode/src/vs/workbench/contrib/mcp/common/mcpServer.d.ts +45 -1
- package/vscode/src/vs/workbench/contrib/mcp/common/mcpServer.js +14 -11
- package/vscode/src/vs/workbench/contrib/mcp/common/mcpServerConnection.js +10 -3
- package/vscode/src/vs/workbench/contrib/mcp/common/mcpService.js +8 -5
- package/vscode/src/vs/workbench/contrib/mcp/common/mcpTypesUtils.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/mcp/common/mcpTypesUtils.js +12 -1
- package/vscode/src/vs/workbench/services/authentication/browser/authenticationMcpService.js +13 -13
- package/vscode/src/vs/workbench/services/mcp/browser/mcpGalleryManifestService.d.ts +7 -0
- package/vscode/src/vs/workbench/services/mcp/browser/mcpGalleryManifestService.js +27 -0
package/index.js
CHANGED
|
@@ -22,6 +22,8 @@ import { McpElicitationService } from './vscode/src/vs/workbench/contrib/mcp/bro
|
|
|
22
22
|
import { IWorkbenchMcpManagementService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/mcp/common/mcpWorkbenchManagementService.service';
|
|
23
23
|
import { WorkbenchMcpManagementService } from './vscode/src/vs/workbench/services/mcp/browser/mcpWorkbenchManagementService.js';
|
|
24
24
|
import { AllowedMcpServersService } from './vscode/src/vs/platform/mcp/common/allowedMcpServersService.js';
|
|
25
|
+
import { IMcpGalleryManifestService } from '@codingame/monaco-vscode-api/vscode/vs/platform/mcp/common/mcpGalleryManifest.service';
|
|
26
|
+
import { WebMcpGalleryManifestService } from './vscode/src/vs/workbench/services/mcp/browser/mcpGalleryManifestService.js';
|
|
25
27
|
|
|
26
28
|
function getServiceOverride() {
|
|
27
29
|
return {
|
|
@@ -36,7 +38,8 @@ function getServiceOverride() {
|
|
|
36
38
|
[IMcpSamplingService.toString()]: new SyncDescriptor(McpSamplingService, [], true),
|
|
37
39
|
[IMcpElicitationService.toString()]: new SyncDescriptor(McpElicitationService, [], true),
|
|
38
40
|
[IWorkbenchMcpManagementService.toString()]: new SyncDescriptor(WorkbenchMcpManagementService, [], true),
|
|
39
|
-
[IAllowedMcpServersService.toString()]: new SyncDescriptor(AllowedMcpServersService, [], true)
|
|
41
|
+
[IAllowedMcpServersService.toString()]: new SyncDescriptor(AllowedMcpServersService, [], true),
|
|
42
|
+
[IMcpGalleryManifestService.toString()]: new SyncDescriptor(WebMcpGalleryManifestService, [], true)
|
|
40
43
|
};
|
|
41
44
|
}
|
|
42
45
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@codingame/monaco-vscode-mcp-service-override",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "21.0.1",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "VSCode public API plugged on the monaco editor - mcp service-override",
|
|
6
6
|
"keywords": [],
|
|
@@ -15,20 +15,20 @@
|
|
|
15
15
|
},
|
|
16
16
|
"type": "module",
|
|
17
17
|
"dependencies": {
|
|
18
|
-
"@codingame/monaco-vscode-2673c6e2-17c1-5710-b169-46f3d4a28696-common": "
|
|
19
|
-
"@codingame/monaco-vscode-4a3ac544-9a61-534c-88df-756262793ef7-common": "
|
|
20
|
-
"@codingame/monaco-vscode-
|
|
21
|
-
"@codingame/monaco-vscode-
|
|
22
|
-
"@codingame/monaco-vscode-62190c26-af1c-5f7a-a364-e05a59cfb7c7-common": "
|
|
23
|
-
"@codingame/monaco-vscode-
|
|
24
|
-
"@codingame/monaco-vscode-
|
|
25
|
-
"@codingame/monaco-vscode-
|
|
26
|
-
"@codingame/monaco-vscode-
|
|
27
|
-
"@codingame/monaco-vscode-
|
|
28
|
-
"@codingame/monaco-vscode-
|
|
29
|
-
"@codingame/monaco-vscode-
|
|
30
|
-
"@codingame/monaco-vscode-dc3fa21d-a483-5b99-a7ab-173235644a34-common": "
|
|
31
|
-
"@codingame/monaco-vscode-f24e325c-2ce0-5bba-8236-bfc4f53180ab-common": "
|
|
18
|
+
"@codingame/monaco-vscode-2673c6e2-17c1-5710-b169-46f3d4a28696-common": "21.0.1",
|
|
19
|
+
"@codingame/monaco-vscode-4a3ac544-9a61-534c-88df-756262793ef7-common": "21.0.1",
|
|
20
|
+
"@codingame/monaco-vscode-4fad3647-b95d-5c19-bab1-bb9de627a5ec-common": "21.0.1",
|
|
21
|
+
"@codingame/monaco-vscode-5e2c24a1-3217-55e8-bc90-521eaf7df5a6-common": "21.0.1",
|
|
22
|
+
"@codingame/monaco-vscode-62190c26-af1c-5f7a-a364-e05a59cfb7c7-common": "21.0.1",
|
|
23
|
+
"@codingame/monaco-vscode-9a5ab9e7-d838-5831-9eb4-e79ea3764dcb-common": "21.0.1",
|
|
24
|
+
"@codingame/monaco-vscode-a654b07e-8806-5425-b124-18f03ba8e11a-common": "21.0.1",
|
|
25
|
+
"@codingame/monaco-vscode-api": "21.0.1",
|
|
26
|
+
"@codingame/monaco-vscode-b994942c-360d-5b68-8a33-77d4bde6b714-common": "21.0.1",
|
|
27
|
+
"@codingame/monaco-vscode-c2deffc4-ad68-5e63-8f95-9b89e0fc6898-common": "21.0.1",
|
|
28
|
+
"@codingame/monaco-vscode-ce7c734f-7712-563c-9335-d7acb43306af-common": "21.0.1",
|
|
29
|
+
"@codingame/monaco-vscode-cf77987b-b1b7-5359-aaf8-a259c63d9f03-common": "21.0.1",
|
|
30
|
+
"@codingame/monaco-vscode-dc3fa21d-a483-5b99-a7ab-173235644a34-common": "21.0.1",
|
|
31
|
+
"@codingame/monaco-vscode-f24e325c-2ce0-5bba-8236-bfc4f53180ab-common": "21.0.1"
|
|
32
32
|
},
|
|
33
33
|
"main": "index.js",
|
|
34
34
|
"module": "index.js",
|
|
@@ -6,7 +6,7 @@ import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
|
6
6
|
import { MarkdownString } from '@codingame/monaco-vscode-api/vscode/vs/base/common/htmlContent';
|
|
7
7
|
import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service';
|
|
8
8
|
import { Emitter } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
|
|
9
|
-
import {
|
|
9
|
+
import { mcpAccessConfig, McpAccessValue } from '@codingame/monaco-vscode-dc3fa21d-a483-5b99-a7ab-173235644a34-common/vscode/vs/platform/mcp/common/mcpManagement';
|
|
10
10
|
|
|
11
11
|
let AllowedMcpServersService = class AllowedMcpServersService extends Disposable {
|
|
12
12
|
constructor(configurationService) {
|
|
@@ -15,21 +15,20 @@ let AllowedMcpServersService = class AllowedMcpServersService extends Disposable
|
|
|
15
15
|
this._onDidChangeAllowedMcpServers = this._register(( new Emitter()));
|
|
16
16
|
this.onDidChangeAllowedMcpServers = this._onDidChangeAllowedMcpServers.event;
|
|
17
17
|
this._register(this.configurationService.onDidChangeConfiguration(e => {
|
|
18
|
-
if (e.affectsConfiguration(
|
|
18
|
+
if (e.affectsConfiguration(mcpAccessConfig)) {
|
|
19
19
|
this._onDidChangeAllowedMcpServers.fire();
|
|
20
20
|
}
|
|
21
21
|
}));
|
|
22
22
|
}
|
|
23
23
|
isAllowed(mcpServer) {
|
|
24
|
-
|
|
25
|
-
if (isEnabled) {
|
|
24
|
+
if (this.configurationService.getValue(mcpAccessConfig) !== McpAccessValue.None) {
|
|
26
25
|
return true;
|
|
27
26
|
}
|
|
28
27
|
const settingsCommandLink = ( ( URI.parse(
|
|
29
|
-
`command:workbench.action.openSettings?${encodeURIComponent(JSON.stringify({ query: `@id:${
|
|
28
|
+
`command:workbench.action.openSettings?${encodeURIComponent(JSON.stringify({ query: `@id:${mcpAccessConfig}` }))}`
|
|
30
29
|
)).toString());
|
|
31
30
|
return (new MarkdownString(localize(
|
|
32
|
-
|
|
31
|
+
1970,
|
|
33
32
|
"Model Context Protocol servers are disabled in the Editor. Please check your [settings]({0}).",
|
|
34
33
|
settingsCommandLink
|
|
35
34
|
)));
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Event } from "@codingame/monaco-vscode-api/vscode/vs/base/common/event";
|
|
2
|
+
import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
|
|
3
|
+
import { IProductService } from "@codingame/monaco-vscode-api/vscode/vs/platform/product/common/productService.service";
|
|
4
|
+
import { IMcpGalleryManifest, McpGalleryManifestStatus } from "@codingame/monaco-vscode-api/vscode/vs/platform/mcp/common/mcpGalleryManifest";
|
|
5
|
+
import { IMcpGalleryManifestService } from "@codingame/monaco-vscode-api/vscode/vs/platform/mcp/common/mcpGalleryManifest.service";
|
|
6
|
+
export declare class McpGalleryManifestService extends Disposable implements IMcpGalleryManifestService {
|
|
7
|
+
protected readonly productService: IProductService;
|
|
8
|
+
readonly _serviceBrand: undefined;
|
|
9
|
+
readonly onDidChangeMcpGalleryManifest: Event<any>;
|
|
10
|
+
readonly onDidChangeMcpGalleryManifestStatus: Event<any>;
|
|
11
|
+
get mcpGalleryManifestStatus(): McpGalleryManifestStatus;
|
|
12
|
+
constructor(productService: IProductService);
|
|
13
|
+
getMcpGalleryManifest(): Promise<IMcpGalleryManifest | null>;
|
|
14
|
+
protected createMcpGalleryManifest(url: string): IMcpGalleryManifest;
|
|
15
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
|
|
2
|
+
import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
|
|
3
|
+
import { Event } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
|
|
4
|
+
import { Disposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
|
|
5
|
+
import { IProductService } from '@codingame/monaco-vscode-api/vscode/vs/platform/product/common/productService.service';
|
|
6
|
+
import { McpGalleryManifestStatus, McpGalleryResourceType } from '@codingame/monaco-vscode-api/vscode/vs/platform/mcp/common/mcpGalleryManifest';
|
|
7
|
+
|
|
8
|
+
let McpGalleryManifestService = class McpGalleryManifestService extends Disposable {
|
|
9
|
+
get mcpGalleryManifestStatus() {
|
|
10
|
+
return !!this.productService.mcpGallery?.serviceUrl ? McpGalleryManifestStatus.Available : McpGalleryManifestStatus.Unavailable;
|
|
11
|
+
}
|
|
12
|
+
constructor(productService) {
|
|
13
|
+
super();
|
|
14
|
+
this.productService = productService;
|
|
15
|
+
this.onDidChangeMcpGalleryManifest = Event.None;
|
|
16
|
+
this.onDidChangeMcpGalleryManifestStatus = Event.None;
|
|
17
|
+
}
|
|
18
|
+
async getMcpGalleryManifest() {
|
|
19
|
+
if (!this.productService.mcpGallery) {
|
|
20
|
+
return null;
|
|
21
|
+
}
|
|
22
|
+
return this.createMcpGalleryManifest(this.productService.mcpGallery.serviceUrl);
|
|
23
|
+
}
|
|
24
|
+
createMcpGalleryManifest(url) {
|
|
25
|
+
url = url.endsWith('/') ? url.slice(0, -1) : url;
|
|
26
|
+
const isVSCodeGalleryUrl = this.productService.extensionsGallery?.mcpUrl === url;
|
|
27
|
+
const version = isVSCodeGalleryUrl ? undefined : 'v0';
|
|
28
|
+
const serversUrl = isVSCodeGalleryUrl ? url : `${url}/${version}/servers`;
|
|
29
|
+
const resources = [
|
|
30
|
+
{
|
|
31
|
+
id: serversUrl,
|
|
32
|
+
type: McpGalleryResourceType.McpQueryService
|
|
33
|
+
}
|
|
34
|
+
];
|
|
35
|
+
if (!isVSCodeGalleryUrl) {
|
|
36
|
+
resources.push({
|
|
37
|
+
id: `${serversUrl}/{id}`,
|
|
38
|
+
type: McpGalleryResourceType.McpServerManifestUri
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
return {
|
|
42
|
+
version,
|
|
43
|
+
url,
|
|
44
|
+
resources
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
McpGalleryManifestService = ( __decorate([
|
|
49
|
+
( __param(0, IProductService))
|
|
50
|
+
], McpGalleryManifestService));
|
|
51
|
+
|
|
52
|
+
export { McpGalleryManifestService };
|
|
@@ -1,27 +1,34 @@
|
|
|
1
1
|
import { CancellationToken } from "@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation";
|
|
2
2
|
import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
|
|
3
|
-
import { IConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service";
|
|
4
3
|
import { IFileService } from "@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service";
|
|
5
4
|
import { ILogService } from "@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service";
|
|
6
5
|
import { IProductService } from "@codingame/monaco-vscode-api/vscode/vs/platform/product/common/productService.service";
|
|
7
6
|
import { IRequestService } from "@codingame/monaco-vscode-api/vscode/vs/platform/request/common/request.service";
|
|
8
|
-
import { IGalleryMcpServer,
|
|
7
|
+
import { IGalleryMcpServer, IGalleryMcpServerConfiguration, IQueryOptions } from "@codingame/monaco-vscode-dc3fa21d-a483-5b99-a7ab-173235644a34-common/vscode/vs/platform/mcp/common/mcpManagement";
|
|
9
8
|
import { IMcpGalleryService } from "@codingame/monaco-vscode-api/vscode/vs/platform/mcp/common/mcpManagement.service";
|
|
9
|
+
import { IMcpGalleryManifestService } from "@codingame/monaco-vscode-api/vscode/vs/platform/mcp/common/mcpGalleryManifest.service";
|
|
10
|
+
import { IPager } from "@codingame/monaco-vscode-62190c26-af1c-5f7a-a364-e05a59cfb7c7-common/vscode/vs/base/common/paging";
|
|
10
11
|
export declare class McpGalleryService extends Disposable implements IMcpGalleryService {
|
|
11
|
-
private readonly configurationService;
|
|
12
12
|
private readonly requestService;
|
|
13
13
|
private readonly fileService;
|
|
14
14
|
private readonly productService;
|
|
15
15
|
private readonly logService;
|
|
16
|
+
private readonly mcpGalleryManifestService;
|
|
16
17
|
_serviceBrand: undefined;
|
|
17
|
-
constructor(
|
|
18
|
+
constructor(requestService: IRequestService, fileService: IFileService, productService: IProductService, logService: ILogService, mcpGalleryManifestService: IMcpGalleryManifestService);
|
|
18
19
|
isEnabled(): boolean;
|
|
19
|
-
query(options?: IQueryOptions, token?: CancellationToken): Promise<IGalleryMcpServer
|
|
20
|
-
|
|
21
|
-
|
|
20
|
+
query(options?: IQueryOptions, token?: CancellationToken): Promise<IPager<IGalleryMcpServer>>;
|
|
21
|
+
getMcpServersFromGallery(urls: string[]): Promise<IGalleryMcpServer[]>;
|
|
22
|
+
getMcpServersFromVSCodeGallery(names: string[]): Promise<IGalleryMcpServer[]>;
|
|
23
|
+
getMcpServerConfiguration(gallery: IGalleryMcpServer, token: CancellationToken): Promise<IGalleryMcpServerConfiguration>;
|
|
22
24
|
getReadme(gallery: IGalleryMcpServer, token: CancellationToken): Promise<string>;
|
|
23
25
|
private toGalleryMcpServer;
|
|
24
|
-
private
|
|
25
|
-
private
|
|
26
|
+
private toGalleryMcpServerConfiguration;
|
|
27
|
+
private queryGalleryMcpServers;
|
|
28
|
+
private queryRawGalleryMcpServers;
|
|
29
|
+
getMcpServer(mcpServerUrl: string): Promise<IGalleryMcpServer | undefined>;
|
|
30
|
+
private toIRawGalleryMcpServer;
|
|
31
|
+
private fetchMcpServersFromVSCodeGallery;
|
|
32
|
+
private getServerUrl;
|
|
26
33
|
private getMcpGalleryUrl;
|
|
27
34
|
}
|