import { VSBuffer } from "@codingame/monaco-vscode-api/vscode/vs/base/common/buffer"; import { Disposable, IDisposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle"; import { IObservable, IReader, ISettableObservable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/observable"; import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri"; import { IConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service"; import { IFileService } from "@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service"; import { IInstantiationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation"; import { ILabelService } from "@codingame/monaco-vscode-api/vscode/vs/platform/label/common/label.service"; import { INativeMcpDiscoveryData } from "../../../../../platform/mcp/common/nativeMcpDiscoveryHelper.js"; import { Dto } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/extensions/common/proxyIdentifier"; import { DiscoverySource } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/mcp/common/mcpConfiguration"; import { IMcpRegistry } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/mcp/common/mcpRegistryTypes.service"; import { McpCollectionDefinition, McpServerDefinition } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/mcp/common/mcpTypes"; import { IMcpDiscovery } from "./mcpDiscovery.js"; export type WritableMcpCollectionDefinition = McpCollectionDefinition & { serverDefinitions: ISettableObservable; }; export declare abstract class FilesystemMcpDiscovery extends Disposable implements IMcpDiscovery { private readonly _fileService; private readonly _mcpRegistry; readonly fromGallery: boolean; protected readonly _fsDiscoveryEnabled: IObservable<{ [K in DiscoverySource]: boolean; } | undefined>; constructor(configurationService: IConfigurationService, _fileService: IFileService, _mcpRegistry: IMcpRegistry); protected _isDiscoveryEnabled(reader: IReader, discoverySource: DiscoverySource): boolean; protected watchFile(file: URI, collection: WritableMcpCollectionDefinition, discoverySource: DiscoverySource, adaptFile: (contents: VSBuffer) => Promise): IDisposable; abstract start(): void; } /** * Base class that discovers MCP servers on a filesystem, outside of the ones * defined in VS Code settings. */ export declare abstract class NativeFilesystemMcpDiscovery extends FilesystemMcpDiscovery implements IMcpDiscovery { private readonly adapters; private suffix; constructor(remoteAuthority: string | null, labelService: ILabelService, fileService: IFileService, instantiationService: IInstantiationService, mcpRegistry: IMcpRegistry, configurationService: IConfigurationService); protected setDetails(detailsDto: Dto | undefined): void; }