Path: blob/main/src/vs/workbench/contrib/mcp/electron-browser/nativeMpcDiscovery.ts
3296 views
/*---------------------------------------------------------------------------------------------1* Copyright (c) Microsoft Corporation. All rights reserved.2* Licensed under the MIT License. See License.txt in the project root for license information.3*--------------------------------------------------------------------------------------------*/45import { ProxyChannel } from '../../../../base/parts/ipc/common/ipc.js';6import { IConfigurationService } from '../../../../platform/configuration/common/configuration.js';7import { IFileService } from '../../../../platform/files/common/files.js';8import { IInstantiationService } from '../../../../platform/instantiation/common/instantiation.js';9import { IMainProcessService } from '../../../../platform/ipc/common/mainProcessService.js';10import { ILabelService } from '../../../../platform/label/common/label.js';11import { ILogService } from '../../../../platform/log/common/log.js';12import { INativeMcpDiscoveryHelperService, NativeMcpDiscoveryHelperChannelName } from '../../../../platform/mcp/common/nativeMcpDiscoveryHelper.js';13import { NativeFilesystemMcpDiscovery } from '../common/discovery/nativeMcpDiscoveryAbstract.js';14import { IMcpRegistry } from '../common/mcpRegistryTypes.js';1516export class NativeMcpDiscovery extends NativeFilesystemMcpDiscovery {17constructor(18@IMainProcessService private readonly mainProcess: IMainProcessService,19@ILogService private readonly logService: ILogService,20@ILabelService labelService: ILabelService,21@IFileService fileService: IFileService,22@IInstantiationService instantiationService: IInstantiationService,23@IMcpRegistry mcpRegistry: IMcpRegistry,24@IConfigurationService configurationService: IConfigurationService,25) {26super(null, labelService, fileService, instantiationService, mcpRegistry, configurationService);27}2829public override start(): void {30const service = ProxyChannel.toService<INativeMcpDiscoveryHelperService>(31this.mainProcess.getChannel(NativeMcpDiscoveryHelperChannelName));3233service.load().then(34data => this.setDetails(data),35err => {36this.logService.warn('Error getting main process MCP environment', err);37this.setDetails(undefined);38}39);40}41}424344