import { CancellationToken } from "@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation"; import { Event } from "@codingame/monaco-vscode-api/vscode/vs/base/common/event"; import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle"; import { IServerChannel } from "@codingame/monaco-vscode-api/vscode/vs/base/parts/ipc/common/ipc"; import { ILogService } from "@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service"; import { IMcpService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/mcp/common/mcpTypes.service"; export declare class McpGatewayToolBrokerChannel extends Disposable implements IServerChannel { private readonly _mcpService; private readonly _logService; private readonly _startupGracePeriodMs; private readonly _onDidChangeTools; private readonly _onDidChangeResources; private readonly _onDidChangeServers; /** * Per-server promise that races server startup against the grace period timeout. * Once set for a server, subsequent list calls await the already-resolved promise * and return immediately instead of waiting again. * * The `resolved` flag tracks whether the promise has settled. If a server's * cacheState regresses to Unknown/Outdated after the promise resolved (e.g. * after a cache reset), `_waitForStartup` discards the stale entry and creates * a fresh race so the server gets another chance to start. */ private readonly _startupGrace; constructor(_mcpService: IMcpService, _logService: ILogService, _startupGracePeriodMs?: number); private _getServerById; private _waitForStartup; private _shouldUseCachedData; listen(_ctx: unknown, event: string): Event; call(_ctx: unknown, command: string, arg?: unknown, cancellationToken?: CancellationToken): Promise; private _listServers; private _listToolsForServer; private _callToolForServer; private _listResourcesForServer; private _readResourceForServer; private _listResourceTemplatesForServer; private _ensureServerReady; }