@codingame/monaco-vscode-mcp-service-override 37.2.0 → 37.3.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 (43) hide show
  1. package/common.d.ts +2 -0
  2. package/common.js +56 -0
  3. package/index.d.ts +1 -2
  4. package/index.js +1 -52
  5. package/package.json +10 -2
  6. package/session.d.ts +1 -0
  7. package/session.js +2 -0
  8. package/vscode/src/vs/platform/mcp/common/allowedMcpServersService.js +3 -3
  9. package/vscode/src/vs/platform/mcp/common/mcpGalleryService.js +8 -8
  10. package/vscode/src/vs/platform/mcp/common/mcpResourceScannerService.js +7 -3
  11. package/vscode/src/vs/workbench/api/browser/mainThreadMcp.js +18 -18
  12. package/vscode/src/vs/workbench/contrib/mcp/browser/mcp.contribution.js +3 -3
  13. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpAddContextContribution.js +2 -2
  14. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpCommands.js +108 -108
  15. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpElicitationService.js +47 -47
  16. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpGatewayService.js +4 -4
  17. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpLanguageFeatures.js +37 -37
  18. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpMigration.js +20 -16
  19. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpResourceQuickAccess.js +52 -50
  20. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpServerEditor.js +45 -43
  21. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpServerEditorInput.js +2 -2
  22. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpServerIcons.js +5 -5
  23. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpServerWidgets.js +5 -5
  24. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpServersView.js +18 -18
  25. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpWorkbenchService.js +14 -14
  26. package/vscode/src/vs/workbench/contrib/mcp/common/discovery/extensionMcpDiscovery.js +8 -6
  27. package/vscode/src/vs/workbench/contrib/mcp/common/discovery/nativeMcpDiscoveryAbstract.js +1 -1
  28. package/vscode/src/vs/workbench/contrib/mcp/common/discovery/nativeMcpDiscoveryAdapters.js +2 -2
  29. package/vscode/src/vs/workbench/contrib/mcp/common/mcpContextKeys.js +13 -13
  30. package/vscode/src/vs/workbench/contrib/mcp/common/mcpGatewayToolBrokerChannel.js +4 -4
  31. package/vscode/src/vs/workbench/contrib/mcp/common/mcpLanguageModelToolContribution.js +7 -7
  32. package/vscode/src/vs/workbench/contrib/mcp/common/mcpRegistry.js +25 -25
  33. package/vscode/src/vs/workbench/contrib/mcp/common/mcpResourceFilesystem.js +1 -1
  34. package/vscode/src/vs/workbench/contrib/mcp/common/mcpSamplingLog.js +1 -1
  35. package/vscode/src/vs/workbench/contrib/mcp/common/mcpSamplingService.js +28 -24
  36. package/vscode/src/vs/workbench/contrib/mcp/common/mcpSandboxService.js +6 -6
  37. package/vscode/src/vs/workbench/contrib/mcp/common/mcpServerConnection.js +3 -3
  38. package/vscode/src/vs/workbench/contrib/mcp/common/mcpServerRequestHandler.js +1 -1
  39. package/vscode/src/vs/workbench/contrib/mcp/common/mcpService.js +13 -11
  40. package/vscode/src/vs/workbench/services/authentication/browser/authenticationMcpService.js +13 -18
  41. package/vscode/src/vs/workbench/services/authentication/browser/authenticationMcpUsageService.js +3 -1
  42. package/vscode/src/vs/workbench/contrib/mcp/common/mcpDevMode.service.d.ts +0 -6
  43. package/vscode/src/vs/workbench/contrib/mcp/common/mcpDevMode.service.js +0 -6
@@ -49,11 +49,13 @@ let McpConfigMigrationContribution = class McpConfigMigrationContribution extend
49
49
  try {
50
50
  const userMcpConfig = await this.parseMcpConfig(this.userDataProfileService.currentProfile.settingsResource);
51
51
  if (userMcpConfig && userMcpConfig.servers && ( Object.keys(userMcpConfig.servers)).length > 0) {
52
- await Promise.all(( Object.entries(userMcpConfig.servers).map(([name, config], index) => this.mcpManagementService.install({
53
- name,
54
- config,
55
- inputs: index === 0 ? userMcpConfig.inputs : undefined
56
- }))));
52
+ await Promise.all(
53
+ Object.entries(userMcpConfig.servers).map(([name, config], index) => this.mcpManagementService.install({
54
+ name,
55
+ config,
56
+ inputs: index === 0 ? userMcpConfig.inputs : undefined
57
+ }))
58
+ );
57
59
  await this.removeMcpConfig(this.userDataProfileService.currentProfile.settingsResource);
58
60
  }
59
61
  } catch (error) {
@@ -65,13 +67,15 @@ let McpConfigMigrationContribution = class McpConfigMigrationContribution extend
65
67
  try {
66
68
  const userRemoteMcpConfig = await this.parseMcpConfig(remoteEnvironment.settingsPath);
67
69
  if (userRemoteMcpConfig && userRemoteMcpConfig.servers && ( Object.keys(userRemoteMcpConfig.servers)).length > 0) {
68
- await Promise.all(( Object.entries(userRemoteMcpConfig.servers).map(([name, config], index) => this.mcpManagementService.install({
69
- name,
70
- config,
71
- inputs: index === 0 ? userRemoteMcpConfig.inputs : undefined
72
- }, {
73
- target: ConfigurationTarget.USER_REMOTE
74
- }))));
70
+ await Promise.all(
71
+ Object.entries(userRemoteMcpConfig.servers).map(([name, config], index) => this.mcpManagementService.install({
72
+ name,
73
+ config,
74
+ inputs: index === 0 ? userRemoteMcpConfig.inputs : undefined
75
+ }, {
76
+ target: ConfigurationTarget.USER_REMOTE
77
+ }))
78
+ );
75
79
  await this.removeMcpConfig(remoteEnvironment.settingsPath);
76
80
  }
77
81
  } catch (error) {
@@ -98,16 +102,16 @@ let McpConfigMigrationContribution = class McpConfigMigrationContribution extend
98
102
  }
99
103
  showMcpConfigErrorNotification(isRemote) {
100
104
  const message = isRemote ? ( localize(
101
- 13932,
105
+ 16069,
102
106
  "MCP servers should no longer be configured in remote user settings. Use the dedicated MCP configuration instead."
103
107
  )) : ( localize(
104
- 13933,
108
+ 16070,
105
109
  "MCP servers should no longer be configured in user settings. Use the dedicated MCP configuration instead."
106
110
  ));
107
- const openConfigLabel = isRemote ? ( localize(13934, "Open Remote User MCP Configuration")) : ( localize(13935, "Open User MCP Configuration"));
111
+ const openConfigLabel = isRemote ? ( localize(16071, "Open Remote User MCP Configuration")) : ( localize(16072, "Open User MCP Configuration"));
108
112
  const commandId = isRemote ? McpCommandIds.OpenRemoteUserMcp : McpCommandIds.OpenUserMcp;
109
113
  this.notificationService.prompt(Severity.Error, message, [{
110
- label: ( localize(13936, "Update Now")),
114
+ label: ( localize(16073, "Update Now")),
111
115
  run: async () => {
112
116
  await this.migrateMcpConfig();
113
117
  await this.commandService.executeCommand(commandId);
@@ -74,7 +74,7 @@ let McpResourcePickHelper = class McpResourcePickHelper extends Disposable {
74
74
  id: resource.template.template,
75
75
  label: resource.title || resource.name,
76
76
  description: resource.description,
77
- detail: ( localize(13952, "Resource template: {0}", resource.template.template)),
77
+ detail: ( localize(16089, "Resource template: {0}", resource.template.template)),
78
78
  iconPath
79
79
  };
80
80
  }
@@ -138,7 +138,7 @@ let McpResourcePickHelper = class McpResourcePickHelper extends Disposable {
138
138
  if (currentResources) {
139
139
  this.addCurrentMCPQuickPickItemLevel(server, currentResources);
140
140
  }
141
- const childResources = ( stat.children.map(child => {
141
+ const childResources = stat.children.map(child => {
142
142
  const mcpUri = McpResourceURI.fromServer(server.definition, ( child.resource.toString()));
143
143
  return {
144
144
  uri: mcpUri,
@@ -150,7 +150,7 @@ let McpResourcePickHelper = class McpResourcePickHelper extends Disposable {
150
150
  sizeInBytes: child.size,
151
151
  icons: McpIcons.fromParsed(undefined)
152
152
  };
153
- }));
153
+ });
154
154
  this._inDirectory.set({
155
155
  server,
156
156
  resources: childResources
@@ -221,7 +221,7 @@ let McpResourcePickHelper = class McpResourcePickHelper extends Disposable {
221
221
  return uri;
222
222
  }
223
223
  this._notificationService.warn(( localize(
224
- 13953,
224
+ 16090,
225
225
  "The resource {0} was not found.",
226
226
  (McpResourceURI.toServer(uri).resourceURL.toString())
227
227
  )));
@@ -266,13 +266,13 @@ let McpResourcePickHelper = class McpResourcePickHelper extends Disposable {
266
266
  }
267
267
  }
268
268
  let placeholder = ( localize(
269
- 13954,
269
+ 16091,
270
270
  "Value for ${0} in {1}",
271
271
  variable.name.toUpperCase(),
272
272
  rt.template.resolve(variablesWithPlaceholders).replaceAll("%24", "$")
273
273
  ));
274
274
  if (variable.optional) {
275
- placeholder += " (" + ( localize(13955, "Optional")) + ")";
275
+ placeholder += " (" + ( localize(16092, "Optional")) + ")";
276
276
  }
277
277
  input.placeholder = placeholder;
278
278
  input.value = "";
@@ -280,10 +280,10 @@ let McpResourcePickHelper = class McpResourcePickHelper extends Disposable {
280
280
  input.show();
281
281
  const currentID = generateUuid();
282
282
  const setItems = (value, completed = []) => {
283
- const items = ( completed.filter(c => c !== value).map(c => ({
283
+ const items = completed.filter(c => c !== value).map(c => ({
284
284
  id: c,
285
285
  label: c
286
- })));
286
+ }));
287
287
  if (value) {
288
288
  items.unshift({
289
289
  id: currentID,
@@ -292,7 +292,7 @@ let McpResourcePickHelper = class McpResourcePickHelper extends Disposable {
292
292
  } else if (variable.optional) {
293
293
  items.unshift({
294
294
  id: currentID,
295
- label: ( localize(13956, "<Empty>"))
295
+ label: ( localize(16093, "<Empty>"))
296
296
  });
297
297
  }
298
298
  input.items = items;
@@ -391,45 +391,47 @@ let McpResourcePickHelper = class McpResourcePickHelper extends Disposable {
391
391
  }, undefined);
392
392
  };
393
393
  const servers = ( new Map());
394
- Promise.all(( (this.explicitServers || this._mcpService.servers.get()).map(async server => {
395
- let cap = server.capabilities.get();
396
- const rec = {
397
- templates: ( new DeferredPromise()),
398
- resourcesSoFar: [],
399
- resources: ( new DeferredPromise())
400
- };
401
- servers.set(server, rec);
402
- if (cap === undefined) {
403
- cap = await ( new Promise(resolve => {
404
- server.start().then(state => {
405
- if (state.state === McpConnectionState.Kind.Error || state.state === McpConnectionState.Kind.Stopped) {
406
- resolve(undefined);
407
- }
408
- });
409
- this._register(cts.token.onCancellationRequested(() => resolve(undefined)));
410
- this._register(autorun(reader => {
411
- const cap2 = server.capabilities.read(reader);
412
- if (cap2 !== undefined) {
413
- resolve(cap2);
414
- }
394
+ Promise.all(
395
+ (this.explicitServers || this._mcpService.servers.get()).map(async server => {
396
+ let cap = server.capabilities.get();
397
+ const rec = {
398
+ templates: ( new DeferredPromise()),
399
+ resourcesSoFar: [],
400
+ resources: ( new DeferredPromise())
401
+ };
402
+ servers.set(server, rec);
403
+ if (cap === undefined) {
404
+ cap = await ( new Promise(resolve => {
405
+ server.start().then(state => {
406
+ if (state.state === McpConnectionState.Kind.Error || state.state === McpConnectionState.Kind.Stopped) {
407
+ resolve(undefined);
408
+ }
409
+ });
410
+ this._register(cts.token.onCancellationRequested(() => resolve(undefined)));
411
+ this._register(autorun(reader => {
412
+ const cap2 = server.capabilities.read(reader);
413
+ if (cap2 !== undefined) {
414
+ resolve(cap2);
415
+ }
416
+ }));
415
417
  }));
416
- }));
417
- }
418
- if (cap && (cap & McpCapability.Resources)) {
419
- await Promise.all([
420
- rec.templates.settleWith(server.resourceTemplates(cts.token).catch(() => [])).finally(publish),
421
- rec.resources.settleWith((async () => {
422
- for await (const page of server.resources(cts.token)) {
423
- rec.resourcesSoFar = rec.resourcesSoFar.concat(page);
424
- publish();
425
- }
426
- })())
427
- ]);
428
- } else {
429
- rec.templates.complete([]);
430
- rec.resources.complete([]);
431
- }
432
- }))).finally(() => {
418
+ }
419
+ if (cap && (cap & McpCapability.Resources)) {
420
+ await Promise.all([
421
+ rec.templates.settleWith(server.resourceTemplates(cts.token).catch(() => [])).finally(publish),
422
+ rec.resources.settleWith((async () => {
423
+ for await (const page of server.resources(cts.token)) {
424
+ rec.resourcesSoFar = rec.resourcesSoFar.concat(page);
425
+ publish();
426
+ }
427
+ })())
428
+ ]);
429
+ } else {
430
+ rec.templates.complete([]);
431
+ rec.resources.complete([]);
432
+ }
433
+ })
434
+ ).finally(() => {
433
435
  isBusyLoadingPicks = false;
434
436
  publish();
435
437
  });
@@ -463,7 +465,7 @@ let AbstractMcpResourceAccessPick = class AbstractMcpResourceAccessPick {
463
465
  picker.keepScrollPosition = true;
464
466
  const store = ( new DisposableStore());
465
467
  const goBackId = "_goback_";
466
- const attachButton = ( localize(13957, "Attach to chat"));
468
+ const attachButton = ( localize(16094, "Attach to chat"));
467
469
  const helper = store.add(this._instantiationService.createInstance(McpResourcePickHelper));
468
470
  if (this._scopeTo) {
469
471
  helper.explicitServers = [this._scopeTo];
@@ -491,7 +493,7 @@ let AbstractMcpResourceAccessPick = class AbstractMcpResourceAccessPick {
491
493
  if (helper.checkIfNestedResources()) {
492
494
  const goBackItem = {
493
495
  id: goBackId,
494
- label: ( localize(13958, "Go back ↩")),
496
+ label: ( localize(16095, "Go back ↩")),
495
497
  alwaysShow: true
496
498
  };
497
499
  items.push(goBackItem);
@@ -573,7 +575,7 @@ let McpResourceQuickPick = class McpResourceQuickPick extends AbstractMcpResourc
573
575
  const qp = store.add(this._quickInputService.createQuickPick({
574
576
  useSeparators: true
575
577
  }));
576
- qp.placeholder = ( localize(13959, "Search for resources"));
578
+ qp.placeholder = ( localize(16096, "Search for resources"));
577
579
  store.add(this.applyToPick(qp, token));
578
580
  store.add(qp.onDidHide(() => store.dispose()));
579
581
  qp.show();
@@ -45,7 +45,7 @@ import { fromNow } from '@codingame/monaco-vscode-api/vscode/vs/base/common/date
45
45
  import { IContextMenuService } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextview/browser/contextView.service';
46
46
 
47
47
  var McpServerEditor_1;
48
- registerCss(mcpServerEditor);
48
+ registerCss(mcpServerEditor, 1);
49
49
  var McpServerEditorTab;
50
50
  (function(McpServerEditorTab) {
51
51
  McpServerEditorTab["Readme"] = "readme";
@@ -192,7 +192,7 @@ let McpServerEditor = class McpServerEditor extends EditorPane {
192
192
  tabIndex: 0
193
193
  }));
194
194
  this._register(
195
- this.hoverService.setupManagedHover(getDefaultHoverDelegate("mouse"), name, ( localize(13991, "Extension name")))
195
+ this.hoverService.setupManagedHover(getDefaultHoverDelegate("mouse"), name, ( localize(16128, "Extension name")))
196
196
  );
197
197
  const subtitle = append(details, $(".subtitle"));
198
198
  const subTitleEntryContainers = [];
@@ -256,7 +256,9 @@ let McpServerEditor = class McpServerEditor extends EditorPane {
256
256
  label: true
257
257
  });
258
258
  actionBar.setFocusable(true);
259
- this._register(Event.any(...( actions.map(a => Event.filter(a.onDidChange, e => e.enabled !== undefined))))(() => {
259
+ this._register(Event.any(
260
+ ...actions.map(a => Event.filter(a.onDidChange, e => e.enabled !== undefined))
261
+ )(() => {
260
262
  actionBar.setFocusable(false);
261
263
  actionBar.setFocusable(true);
262
264
  }));
@@ -284,11 +286,11 @@ let McpServerEditor = class McpServerEditor extends EditorPane {
284
286
  for (const disposable of [...actions, ...widgets, ...otherContainers, mcpServerContainers]) {
285
287
  this._register(disposable);
286
288
  }
287
- const onError = Event.chain(actionBar.onDidRun, $ => ( $.map((
289
+ const onError = Event.chain(actionBar.onDidRun, $ => $.map((
288
290
  {
289
291
  error
290
292
  }
291
- ) => error)).filter(error => !!error));
293
+ ) => error).filter(error => !!error));
292
294
  this._register(onError(this.onError, this));
293
295
  const body = append(root, $(".body"));
294
296
  const navbar = ( new NavBar(body));
@@ -352,18 +354,18 @@ let McpServerEditor = class McpServerEditor extends EditorPane {
352
354
  this.currentIdentifier = extension.id;
353
355
  }
354
356
  if (extension.readmeUrl || extension.gallery?.readme) {
355
- template.navbar.push(McpServerEditorTab.Readme, ( localize(13992, "Details")), ( localize(13993, "Extension details, rendered from the extension's 'README.md' file")));
357
+ template.navbar.push(McpServerEditorTab.Readme, ( localize(16129, "Details")), ( localize(16130, "Extension details, rendered from the extension's 'README.md' file")));
356
358
  }
357
359
  if (extension.gallery || extension.local?.manifest) {
358
- template.navbar.push(McpServerEditorTab.Manifest, ( localize(13994, "Manifest")), ( localize(13995, "Server manifest details")));
360
+ template.navbar.push(McpServerEditorTab.Manifest, ( localize(16131, "Manifest")), ( localize(16132, "Server manifest details")));
359
361
  }
360
362
  if (extension.config) {
361
- template.navbar.push(McpServerEditorTab.Configuration, ( localize(13996, "Configuration")), ( localize(13997, "Server configuration details")));
363
+ template.navbar.push(McpServerEditorTab.Configuration, ( localize(16133, "Configuration")), ( localize(16134, "Server configuration details")));
362
364
  }
363
365
  this.transientDisposables.add(this.mcpWorkbenchService.onChange(e => {
364
366
  if (e === extension) {
365
367
  if (e.config && !( template.navbar.has(McpServerEditorTab.Configuration))) {
366
- template.navbar.push(McpServerEditorTab.Configuration, ( localize(13996, "Configuration")), ( localize(13997, "Server configuration details")), extension.readmeUrl ? 1 : 0);
368
+ template.navbar.push(McpServerEditorTab.Configuration, ( localize(16133, "Configuration")), ( localize(16134, "Server configuration details")), extension.readmeUrl ? 1 : 0);
367
369
  }
368
370
  if (!e.config && ( template.navbar.has(McpServerEditorTab.Configuration))) {
369
371
  template.navbar.remove(McpServerEditorTab.Configuration);
@@ -591,7 +593,7 @@ let McpServerEditor = class McpServerEditor extends EditorPane {
591
593
  this.contentDisposables.add(toDisposable(insert(this.layoutParticipants, {
592
594
  layout
593
595
  })));
594
- const activeElement = await this.openMarkdown(extension, this.mcpServerReadme.get(), ( localize(13998, "No README available.")), readmeContainer, WebviewIndex.Readme, ( localize(13999, "Readme")), token);
596
+ const activeElement = await this.openMarkdown(extension, this.mcpServerReadme.get(), ( localize(16135, "No README available.")), readmeContainer, WebviewIndex.Readme, ( localize(16136, "Readme")), token);
595
597
  this.renderAdditionalDetails(additionalDetailsContainer, extension);
596
598
  return activeElement;
597
599
  }
@@ -640,7 +642,7 @@ let McpServerEditor = class McpServerEditor extends EditorPane {
640
642
  content.removeChild(content.firstChild);
641
643
  }
642
644
  const noManifestMessage = append(content, $(".no-manifest"));
643
- noManifestMessage.textContent = ( localize(14000, "No manifest available for this MCP server."));
645
+ noManifestMessage.textContent = ( localize(16137, "No manifest available for this MCP server."));
644
646
  }
645
647
  const scrollableContent = ( new DomScrollableElement(content, {}));
646
648
  const layout = () => scrollableContent.scanDomNode();
@@ -657,36 +659,36 @@ let McpServerEditor = class McpServerEditor extends EditorPane {
657
659
  const config = mcpServer.config;
658
660
  if (!config) {
659
661
  const noConfigMessage = append(container, $(".no-config"));
660
- noConfigMessage.textContent = ( localize(14001, "No configuration available for this MCP server."));
662
+ noConfigMessage.textContent = ( localize(16138, "No configuration available for this MCP server."));
661
663
  return;
662
664
  }
663
665
  const nameSection = append(container, $(".config-section"));
664
666
  const nameLabel = append(nameSection, $(".config-label"));
665
- nameLabel.textContent = ( localize(14002, "Name:"));
667
+ nameLabel.textContent = ( localize(16139, "Name:"));
666
668
  const nameValue = append(nameSection, $(".config-value"));
667
669
  nameValue.textContent = mcpServer.name;
668
670
  const typeSection = append(container, $(".config-section"));
669
671
  const typeLabel = append(typeSection, $(".config-label"));
670
- typeLabel.textContent = ( localize(14003, "Type:"));
672
+ typeLabel.textContent = ( localize(16140, "Type:"));
671
673
  const typeValue = append(typeSection, $(".config-value"));
672
674
  typeValue.textContent = config.type;
673
675
  if (config.type === McpServerType.LOCAL) {
674
676
  const commandSection = append(container, $(".config-section"));
675
677
  const commandLabel = append(commandSection, $(".config-label"));
676
- commandLabel.textContent = ( localize(14004, "Command:"));
678
+ commandLabel.textContent = ( localize(16141, "Command:"));
677
679
  const commandValue = append(commandSection, $("code.config-value"));
678
680
  commandValue.textContent = config.command;
679
681
  if (config.args && config.args.length > 0) {
680
682
  const argsSection = append(container, $(".config-section"));
681
683
  const argsLabel = append(argsSection, $(".config-label"));
682
- argsLabel.textContent = ( localize(14005, "Arguments:"));
684
+ argsLabel.textContent = ( localize(16142, "Arguments:"));
683
685
  const argsValue = append(argsSection, $("code.config-value"));
684
686
  argsValue.textContent = config.args.join(" ");
685
687
  }
686
688
  if (config.env && ( Object.keys(config.env)).length > 0) {
687
689
  const envSection = append(container, $(".config-section"));
688
690
  const envLabel = append(envSection, $(".config-label"));
689
- envLabel.textContent = ( localize(14006, "Environment:"));
691
+ envLabel.textContent = ( localize(16143, "Environment:"));
690
692
  const envValue = append(envSection, $(".config-value"));
691
693
  for (const [key, value] of Object.entries(config.env)) {
692
694
  append(envValue, $("code.env-entry", undefined, `${key}=${value ?? ""}`));
@@ -695,20 +697,20 @@ let McpServerEditor = class McpServerEditor extends EditorPane {
695
697
  if (config.envFile) {
696
698
  const envFileSection = append(container, $(".config-section"));
697
699
  const envFileLabel = append(envFileSection, $(".config-label"));
698
- envFileLabel.textContent = ( localize(14007, "Environment File:"));
700
+ envFileLabel.textContent = ( localize(16144, "Environment File:"));
699
701
  const envFileValue = append(envFileSection, $("code.config-value"));
700
702
  envFileValue.textContent = config.envFile;
701
703
  }
702
704
  } else if (config.type === McpServerType.REMOTE) {
703
705
  const urlSection = append(container, $(".config-section"));
704
706
  const urlLabel = append(urlSection, $(".config-label"));
705
- urlLabel.textContent = ( localize(14008, "URL:"));
707
+ urlLabel.textContent = ( localize(16145, "URL:"));
706
708
  const urlValue = append(urlSection, $("code.config-value"));
707
709
  urlValue.textContent = config.url;
708
710
  if (config.headers && ( Object.keys(config.headers)).length > 0) {
709
711
  const headersSection = append(container, $(".config-section"));
710
712
  const headersLabel = append(headersSection, $(".config-label"));
711
- headersLabel.textContent = ( localize(14009, "Headers:"));
713
+ headersLabel.textContent = ( localize(16146, "Headers:"));
712
714
  const headersValue = append(headersSection, $(".config-value"));
713
715
  for (const [key, value] of Object.entries(config.headers)) {
714
716
  append(headersValue, $("code.env-entry", undefined, `${key}: ${value ?? ""}`));
@@ -731,7 +733,7 @@ let McpServerEditor = class McpServerEditor extends EditorPane {
731
733
  append(container, $(
732
734
  ".manifest-section",
733
735
  undefined,
734
- $(".manifest-section-title", undefined, ( localize(14010, "Packages")))
736
+ $(".manifest-section-title", undefined, ( localize(16147, "Packages")))
735
737
  ));
736
738
  for (const [packageType, packages] of packagesByType) {
737
739
  const packageSection = append(container, $(
@@ -744,7 +746,7 @@ let McpServerEditor = class McpServerEditor extends EditorPane {
744
746
  const pkg = packages[i];
745
747
  append(
746
748
  packagesGrid,
747
- $(".package-detail", undefined, $(".detail-label", undefined, ( localize(14011, "Package:"))), $(".detail-value", undefined, pkg.identifier))
749
+ $(".package-detail", undefined, $(".detail-label", undefined, ( localize(16148, "Package:"))), $(".detail-value", undefined, pkg.identifier))
748
750
  );
749
751
  if (pkg.packageArguments && pkg.packageArguments.length > 0) {
750
752
  const argStrings = [];
@@ -764,7 +766,7 @@ let McpServerEditor = class McpServerEditor extends EditorPane {
764
766
  }
765
767
  append(
766
768
  packagesGrid,
767
- $(".package-detail", undefined, $(".detail-label", undefined, ( localize(14012, "Package Arguments:"))), $("code.detail-value", undefined, argStrings.join(" ")))
769
+ $(".package-detail", undefined, $(".detail-label", undefined, ( localize(16149, "Package Arguments:"))), $("code.detail-value", undefined, argStrings.join(" ")))
768
770
  );
769
771
  }
770
772
  if (pkg.runtimeArguments && pkg.runtimeArguments.length > 0) {
@@ -785,14 +787,14 @@ let McpServerEditor = class McpServerEditor extends EditorPane {
785
787
  }
786
788
  append(
787
789
  packagesGrid,
788
- $(".package-detail", undefined, $(".detail-label", undefined, ( localize(14013, "Runtime Arguments:"))), $("code.detail-value", undefined, argStrings.join(" ")))
790
+ $(".package-detail", undefined, $(".detail-label", undefined, ( localize(16150, "Runtime Arguments:"))), $("code.detail-value", undefined, argStrings.join(" ")))
789
791
  );
790
792
  }
791
793
  if (pkg.environmentVariables && pkg.environmentVariables.length > 0) {
792
- const envStrings = ( pkg.environmentVariables.map(envVar => `${envVar.name}=${envVar.value ?? ""}`));
794
+ const envStrings = pkg.environmentVariables.map(envVar => `${envVar.name}=${envVar.value ?? ""}`);
793
795
  append(
794
796
  packagesGrid,
795
- $(".package-detail", undefined, $(".detail-label", undefined, ( localize(14014, "Environment Variables:"))), $("code.detail-value", undefined, envStrings.join(" ")))
797
+ $(".package-detail", undefined, $(".detail-label", undefined, ( localize(16151, "Environment Variables:"))), $("code.detail-value", undefined, envStrings.join(" ")))
796
798
  );
797
799
  }
798
800
  if (i < packages.length - 1) {
@@ -805,25 +807,25 @@ let McpServerEditor = class McpServerEditor extends EditorPane {
805
807
  const packageSection = append(container, $(
806
808
  ".package-section",
807
809
  undefined,
808
- $(".package-section-title", undefined, ( localize(14015, "Remote")).toLocaleUpperCase())
810
+ $(".package-section-title", undefined, ( localize(16152, "Remote")).toLocaleUpperCase())
809
811
  ));
810
812
  for (const remote of manifest.remotes) {
811
813
  const packagesGrid = append(packageSection, $(".package-details"));
812
814
  append(
813
815
  packagesGrid,
814
- $(".package-detail", undefined, $(".detail-label", undefined, ( localize(14008, "URL:"))), $(".detail-value", undefined, remote.url))
816
+ $(".package-detail", undefined, $(".detail-label", undefined, ( localize(16145, "URL:"))), $(".detail-value", undefined, remote.url))
815
817
  );
816
818
  if (remote.type) {
817
819
  append(
818
820
  packagesGrid,
819
- $(".package-detail", undefined, $(".detail-label", undefined, ( localize(14016, "Transport:"))), $(".detail-value", undefined, remote.type))
821
+ $(".package-detail", undefined, $(".detail-label", undefined, ( localize(16153, "Transport:"))), $(".detail-value", undefined, remote.type))
820
822
  );
821
823
  }
822
824
  if (remote.headers && remote.headers.length > 0) {
823
- const headerStrings = ( remote.headers.map(header => `${header.name}: ${header.value ?? ""}`));
825
+ const headerStrings = remote.headers.map(header => `${header.name}: ${header.value ?? ""}`);
824
826
  append(
825
827
  packagesGrid,
826
- $(".package-detail", undefined, $(".detail-label", undefined, ( localize(14009, "Headers:"))), $(".detail-value", undefined, headerStrings.join(", ")))
828
+ $(".package-detail", undefined, $(".detail-label", undefined, ( localize(16146, "Headers:"))), $(".detail-value", undefined, headerStrings.join(", ")))
827
829
  );
828
830
  }
829
831
  }
@@ -902,7 +904,7 @@ let AdditionalDetailsWidget = class AdditionalDetailsWidget extends Disposable {
902
904
  const categoriesContainer = append(container, $(".categories-container.additional-details-element"));
903
905
  append(
904
906
  categoriesContainer,
905
- $(".additional-details-title", undefined, ( localize(14017, "Tags")))
907
+ $(".additional-details-title", undefined, ( localize(16154, "Tags")))
906
908
  );
907
909
  const categoriesElement = append(categoriesContainer, $(".categories"));
908
910
  for (const category of extension.gallery.topics) {
@@ -917,14 +919,14 @@ let AdditionalDetailsWidget = class AdditionalDetailsWidget extends Disposable {
917
919
  const manifest = await this.mcpGalleryManifestService.getMcpGalleryManifest();
918
920
  if (extension.repository) {
919
921
  try {
920
- resources.push([( localize(14018, "Repository")), ThemeIcon.fromId(Codicon.repo.id), ( URI.parse(extension.repository))]);
922
+ resources.push([( localize(16155, "Repository")), ThemeIcon.fromId(Codicon.repo.id), ( URI.parse(extension.repository))]);
921
923
  } catch (error) {}
922
924
  }
923
925
  if (manifest) {
924
926
  const supportUri = getMcpGalleryManifestResourceUri(manifest, McpGalleryResourceType.ContactSupportUri);
925
927
  if (supportUri) {
926
928
  try {
927
- resources.push([( localize(14019, "Contact Support")), ThemeIcon.fromId(Codicon.commentDiscussion.id), ( URI.parse(supportUri))]);
929
+ resources.push([( localize(16156, "Contact Support")), ThemeIcon.fromId(Codicon.commentDiscussion.id), ( URI.parse(supportUri))]);
928
930
  } catch (error) {}
929
931
  }
930
932
  }
@@ -932,7 +934,7 @@ let AdditionalDetailsWidget = class AdditionalDetailsWidget extends Disposable {
932
934
  const extensionResourcesContainer = append(container, $(".resources-container.additional-details-element"));
933
935
  append(
934
936
  extensionResourcesContainer,
935
- $(".additional-details-title", undefined, ( localize(14020, "Resources")))
937
+ $(".additional-details-title", undefined, ( localize(16157, "Resources")))
936
938
  );
937
939
  const resourcesElement = append(extensionResourcesContainer, $(".resources"));
938
940
  for (const [label, icon, uri] of resources) {
@@ -952,20 +954,20 @@ let AdditionalDetailsWidget = class AdditionalDetailsWidget extends Disposable {
952
954
  const installInfoContainer = append(container, $(".more-info-container.additional-details-element"));
953
955
  append(
954
956
  installInfoContainer,
955
- $(".additional-details-title", undefined, ( localize(14021, "Installation")))
957
+ $(".additional-details-title", undefined, ( localize(16158, "Installation")))
956
958
  );
957
959
  const installInfo = append(installInfoContainer, $(".more-info"));
958
960
  append(installInfo, $(
959
961
  ".more-info-entry",
960
962
  undefined,
961
- $("div.more-info-entry-name", undefined, ( localize(14022, "Identifier"))),
963
+ $("div.more-info-entry-name", undefined, ( localize(16159, "Identifier"))),
962
964
  $("code", undefined, extension.name)
963
965
  ));
964
966
  if (extension.version) {
965
967
  append(installInfo, $(
966
968
  ".more-info-entry",
967
969
  undefined,
968
- $("div.more-info-entry-name", undefined, ( localize(14023, "Version"))),
970
+ $("div.more-info-entry-name", undefined, ( localize(16160, "Version"))),
969
971
  $("code", undefined, extension.version)
970
972
  ));
971
973
  }
@@ -975,7 +977,7 @@ let AdditionalDetailsWidget = class AdditionalDetailsWidget extends Disposable {
975
977
  const moreInfoContainer = append(container, $(".more-info-container.additional-details-element"));
976
978
  append(
977
979
  moreInfoContainer,
978
- $(".additional-details-title", undefined, ( localize(14024, "Marketplace")))
980
+ $(".additional-details-title", undefined, ( localize(16161, "Marketplace")))
979
981
  );
980
982
  const moreInfo = append(moreInfoContainer, $(".more-info"));
981
983
  if (gallery) {
@@ -983,14 +985,14 @@ let AdditionalDetailsWidget = class AdditionalDetailsWidget extends Disposable {
983
985
  append(moreInfo, $(
984
986
  ".more-info-entry",
985
987
  undefined,
986
- $("div.more-info-entry-name", undefined, ( localize(14022, "Identifier"))),
988
+ $("div.more-info-entry-name", undefined, ( localize(16159, "Identifier"))),
987
989
  $("code", undefined, extension.name)
988
990
  ));
989
991
  if (gallery.version) {
990
992
  append(moreInfo, $(
991
993
  ".more-info-entry",
992
994
  undefined,
993
- $("div.more-info-entry-name", undefined, ( localize(14023, "Version"))),
995
+ $("div.more-info-entry-name", undefined, ( localize(16160, "Version"))),
994
996
  $("code", undefined, gallery.version)
995
997
  ));
996
998
  }
@@ -999,7 +1001,7 @@ let AdditionalDetailsWidget = class AdditionalDetailsWidget extends Disposable {
999
1001
  append(moreInfo, $(
1000
1002
  ".more-info-entry",
1001
1003
  undefined,
1002
- $("div.more-info-entry-name", undefined, ( localize(14025, "Last Released"))),
1004
+ $("div.more-info-entry-name", undefined, ( localize(16162, "Last Released"))),
1003
1005
  $("div", {
1004
1006
  "title": ( ( new Date(gallery.lastUpdated)).toString())
1005
1007
  }, fromNow(gallery.lastUpdated, true, true, true))
@@ -1009,7 +1011,7 @@ let AdditionalDetailsWidget = class AdditionalDetailsWidget extends Disposable {
1009
1011
  append(moreInfo, $(
1010
1012
  ".more-info-entry",
1011
1013
  undefined,
1012
- $("div.more-info-entry-name", undefined, ( localize(14026, "Published"))),
1014
+ $("div.more-info-entry-name", undefined, ( localize(16163, "Published"))),
1013
1015
  $("div", {
1014
1016
  "title": ( ( new Date(gallery.publishDate)).toString())
1015
1017
  }, fromNow(gallery.publishDate, true, true, true))
@@ -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(14027, "Icon of the MCP Server editor.")));
11
+ const MCPServerEditorIcon = registerIcon("mcp-server-editor-icon", Codicon.mcp, ( localize(16164, "Icon of the MCP Server editor.")));
12
12
  class McpServerEditorInput extends EditorInput {
13
13
  static {
14
14
  this.ID = "workbench.mcpServer.input2";
@@ -33,7 +33,7 @@ class McpServerEditorInput extends EditorInput {
33
33
  return this._mcpServer;
34
34
  }
35
35
  getName() {
36
- return localize(14028, "MCP Server: {0}", this._mcpServer.label);
36
+ return localize(16165, "MCP Server: {0}", this._mcpServer.label);
37
37
  }
38
38
  getIcon() {
39
39
  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(14029, "Icon used for the MCP server.")));
7
- const mcpServerRemoteIcon = registerIcon("mcp-server-remote", Codicon.remote, ( localize(14030, "Icon to indicate that an MCP server is for the remote user scope.")));
8
- const mcpServerWorkspaceIcon = registerIcon("mcp-server-workspace", Codicon.rootFolder, ( localize(14031, "Icon to indicate that an MCP server is for the workspace scope.")));
9
- const mcpStarredIcon = registerIcon("mcp-server-starred", Codicon.starFull, ( localize(14032, "Icon shown along with the starred status.")));
10
- const mcpLicenseIcon = registerIcon("mcp-server-license", Codicon.law, ( localize(14033, "Icon shown along with the license status.")));
6
+ const mcpServerIcon = registerIcon("mcp-server", Codicon.mcp, ( localize(16166, "Icon used for the MCP server.")));
7
+ const mcpServerRemoteIcon = registerIcon("mcp-server-remote", Codicon.remote, ( localize(16167, "Icon to indicate that an MCP server is for the remote user scope.")));
8
+ const mcpServerWorkspaceIcon = registerIcon("mcp-server-workspace", Codicon.rootFolder, ( localize(16168, "Icon to indicate that an MCP server is for the workspace scope.")));
9
+ const mcpStarredIcon = registerIcon("mcp-server-starred", Codicon.starFull, ( localize(16169, "Icon shown along with the starred status.")));
10
+ const mcpLicenseIcon = registerIcon("mcp-server-license", Codicon.law, ( localize(16170, "Icon shown along with the license status.")));
11
11
 
12
12
  export { mcpLicenseIcon, mcpServerIcon, mcpServerRemoteIcon, mcpServerWorkspaceIcon, mcpStarredIcon };