@codingame/monaco-vscode-mcp-service-override 22.1.9 → 23.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.
Files changed (55) hide show
  1. package/package.json +15 -16
  2. package/vscode/src/vs/platform/mcp/common/allowedMcpServersService.js +1 -1
  3. package/vscode/src/vs/platform/mcp/common/mcpGalleryManifestService.d.ts +9 -2
  4. package/vscode/src/vs/platform/mcp/common/mcpGalleryManifestService.js +60 -11
  5. package/vscode/src/vs/platform/mcp/common/mcpGalleryService.d.ts +11 -9
  6. package/vscode/src/vs/platform/mcp/common/mcpGalleryService.js +234 -623
  7. package/vscode/src/vs/platform/mcp/common/mcpManagementIpc.d.ts +5 -4
  8. package/vscode/src/vs/platform/mcp/common/mcpManagementService.d.ts +1 -1
  9. package/vscode/src/vs/platform/mcp/common/mcpManagementService.js +9 -4
  10. package/vscode/src/vs/workbench/contrib/mcp/browser/mcp.contribution.js +6 -5
  11. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpAddContextContribution.js +5 -2
  12. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpCommands.d.ts +4 -0
  13. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpCommands.js +108 -92
  14. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpElicitationService.js +22 -21
  15. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpLanguageFeatures.js +19 -19
  16. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpMigration.js +6 -6
  17. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpResourceQuickAccess.js +8 -9
  18. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpServerActions.d.ts +85 -22
  19. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpServerActions.js +347 -96
  20. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpServerEditor.d.ts +4 -2
  21. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpServerEditor.js +62 -65
  22. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpServerEditorInput.js +3 -3
  23. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpServerIcons.js +5 -5
  24. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpServerWidgets.d.ts +5 -4
  25. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpServerWidgets.js +22 -26
  26. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpServersView.d.ts +5 -3
  27. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpServersView.js +68 -60
  28. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpWorkbenchService.d.ts +20 -10
  29. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpWorkbenchService.js +177 -84
  30. package/vscode/src/vs/workbench/contrib/mcp/browser/openPanelChatAndGetWidget.d.ts +1 -1
  31. package/vscode/src/vs/workbench/contrib/mcp/browser/openPanelChatAndGetWidget.js +1 -1
  32. package/vscode/src/vs/workbench/contrib/mcp/common/discovery/extensionMcpDiscovery.js +4 -4
  33. package/vscode/src/vs/workbench/contrib/mcp/common/discovery/installedMcpServersDiscovery.d.ts +4 -2
  34. package/vscode/src/vs/workbench/contrib/mcp/common/discovery/installedMcpServersDiscovery.js +33 -13
  35. package/vscode/src/vs/workbench/contrib/mcp/common/discovery/nativeMcpDiscoveryAbstract.js +1 -1
  36. package/vscode/src/vs/workbench/contrib/mcp/common/mcpContextKeys.js +4 -4
  37. package/vscode/src/vs/workbench/contrib/mcp/common/mcpDevMode.d.ts +0 -1
  38. package/vscode/src/vs/workbench/contrib/mcp/common/mcpDevMode.js +0 -1
  39. package/vscode/src/vs/workbench/contrib/mcp/common/mcpIcons.d.ts +12 -1
  40. package/vscode/src/vs/workbench/contrib/mcp/common/mcpIcons.js +27 -5
  41. package/vscode/src/vs/workbench/contrib/mcp/common/mcpLanguageModelToolContribution.js +25 -34
  42. package/vscode/src/vs/workbench/contrib/mcp/common/mcpRegistry.js +12 -12
  43. package/vscode/src/vs/workbench/contrib/mcp/common/mcpSamplingLog.d.ts +1 -2
  44. package/vscode/src/vs/workbench/contrib/mcp/common/mcpSamplingLog.js +2 -2
  45. package/vscode/src/vs/workbench/contrib/mcp/common/mcpSamplingService.js +13 -13
  46. package/vscode/src/vs/workbench/contrib/mcp/common/mcpServer.d.ts +6 -2
  47. package/vscode/src/vs/workbench/contrib/mcp/common/mcpServer.js +91 -76
  48. package/vscode/src/vs/workbench/contrib/mcp/common/mcpServerConnection.js +3 -3
  49. package/vscode/src/vs/workbench/contrib/mcp/common/mcpService.d.ts +7 -7
  50. package/vscode/src/vs/workbench/contrib/mcp/common/mcpService.js +67 -73
  51. package/vscode/src/vs/workbench/services/authentication/browser/authenticationMcpService.js +10 -10
  52. package/vscode/src/vs/workbench/services/mcp/browser/mcpGalleryManifestService.d.ts +3 -1
  53. package/vscode/src/vs/workbench/services/mcp/browser/mcpGalleryManifestService.js +7 -3
  54. package/vscode/src/vs/workbench/services/mcp/common/mcpWorkbenchManagementService.d.ts +1 -1
  55. 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": "22.1.9",
3
+ "version": "23.0.1",
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-2673c6e2-17c1-5710-b169-46f3d4a28696-common": "22.1.9",
19
- "@codingame/monaco-vscode-37b3b402-09f5-5f69-89ef-ce30559f63cc-common": "22.1.9",
20
- "@codingame/monaco-vscode-4a3ac544-9a61-534c-88df-756262793ef7-common": "22.1.9",
21
- "@codingame/monaco-vscode-501b06ab-3f58-516b-8a1a-c29d375d3da4-common": "22.1.9",
22
- "@codingame/monaco-vscode-60014c9d-b815-501d-83a9-4b08725c2ec2-common": "22.1.9",
23
- "@codingame/monaco-vscode-62190c26-af1c-5f7a-a364-e05a59cfb7c7-common": "22.1.9",
24
- "@codingame/monaco-vscode-a654b07e-8806-5425-b124-18f03ba8e11a-common": "22.1.9",
25
- "@codingame/monaco-vscode-api": "22.1.9",
26
- "@codingame/monaco-vscode-b994942c-360d-5b68-8a33-77d4bde6b714-common": "22.1.9",
27
- "@codingame/monaco-vscode-c2deffc4-ad68-5e63-8f95-9b89e0fc6898-common": "22.1.9",
28
- "@codingame/monaco-vscode-ce7c734f-7712-563c-9335-d7acb43306af-common": "22.1.9",
29
- "@codingame/monaco-vscode-cf77987b-b1b7-5359-aaf8-a259c63d9f03-common": "22.1.9",
30
- "@codingame/monaco-vscode-d941ac7b-412f-57e3-b1bf-f6b0eb253b21-common": "22.1.9",
31
- "@codingame/monaco-vscode-dc3fa21d-a483-5b99-a7ab-173235644a34-common": "22.1.9",
32
- "@codingame/monaco-vscode-f24e325c-2ce0-5bba-8236-bfc4f53180ab-common": "22.1.9"
18
+ "@codingame/monaco-vscode-2339d6ac-d6bb-53cd-95ee-81911735d1c7-common": "23.0.1",
19
+ "@codingame/monaco-vscode-2673c6e2-17c1-5710-b169-46f3d4a28696-common": "23.0.1",
20
+ "@codingame/monaco-vscode-2a04f0cd-b806-5886-909e-418183d32279-common": "23.0.1",
21
+ "@codingame/monaco-vscode-2eda793f-4b5b-58e8-83c5-1bfd3bad15f1-common": "23.0.1",
22
+ "@codingame/monaco-vscode-3b5a5cd1-d4ff-500a-b609-57e0cd4afa0a-common": "23.0.1",
23
+ "@codingame/monaco-vscode-4a3ac544-9a61-534c-88df-756262793ef7-common": "23.0.1",
24
+ "@codingame/monaco-vscode-501b06ab-3f58-516b-8a1a-c29d375d3da4-common": "23.0.1",
25
+ "@codingame/monaco-vscode-60014c9d-b815-501d-83a9-4b08725c2ec2-common": "23.0.1",
26
+ "@codingame/monaco-vscode-7b19b93e-7a49-5c48-81f5-091a64f468d2-common": "23.0.1",
27
+ "@codingame/monaco-vscode-api": "23.0.1",
28
+ "@codingame/monaco-vscode-ce7c734f-7712-563c-9335-d7acb43306af-common": "23.0.1",
29
+ "@codingame/monaco-vscode-cf77987b-b1b7-5359-aaf8-a259c63d9f03-common": "23.0.1",
30
+ "@codingame/monaco-vscode-dc3fa21d-a483-5b99-a7ab-173235644a34-common": "23.0.1",
31
+ "@codingame/monaco-vscode-f24e325c-2ce0-5bba-8236-bfc4f53180ab-common": "23.0.1"
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
- 1972,
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}/{id}`,
36
- type: McpGalleryResourceType.McpServerResourceUri
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, IGalleryMcpServerConfiguration, IQueryOptions } from "@codingame/monaco-vscode-dc3fa21d-a483-5b99-a7ab-173235644a34-common/vscode/vs/platform/mcp/common/mcpManagement";
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 { IPager } from "@codingame/monaco-vscode-62190c26-af1c-5f7a-a364-e05a59cfb7c7-common/vscode/vs/base/common/paging";
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<IPager<IGalleryMcpServer>>;
21
- getMcpServersFromGallery(urls: string[]): Promise<IGalleryMcpServer[]>;
22
- getMcpServerConfiguration(gallery: IGalleryMcpServer, token: CancellationToken): Promise<IGalleryMcpServerConfiguration>;
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 getServerUrl;
33
+ private getSerializer;
33
34
  private getNamedServerUrl;
34
- private getSearchUrl;
35
+ private getServerIdUrl;
36
+ private getLatestServerVersionUrl;
35
37
  private getWebUrl;
36
38
  private getPublisherUrl;
37
39
  private getMcpGalleryUrl;