import type { ExtensionAPI } from './pi-ext-types.js'; import { Client } from '@modelcontextprotocol/sdk/client/index.js'; import type { Transport } from '@modelcontextprotocol/sdk/shared/transport.js'; /** The one server `benchmark-thread-run` exposes, named as the Claude-side config names it. */ export declare const BENCHMARK_THREAD_SERVER_NAME = "cortex-benchmark-thread"; type BridgeClient = Pick; export interface McpClientHandle { client: BridgeClient; transport: Pick; } export interface McpBridgeDeps { env: NodeJS.ProcessEnv; spawnClient(serverPath: string, serverName: string): Promise; reportFailure(error: unknown): void; } export interface ServerState { name: string; path: string; handle: McpClientHandle | null; } /** * §5.6 P1: under a restricted composition the server set is the composition's and nothing else — * decided before any ambient switch is consulted, so a stray `CORTEX_THREAD_ID` or `SLACK_CHANNEL` * in the child environment cannot layer a server onto a benchmark trial. */ export declare function buildServerStates(env: NodeJS.ProcessEnv): ServerState[]; export declare function installMcpBridge(pi: ExtensionAPI, deps?: McpBridgeDeps): Promise; export default function mcpBridge(pi: ExtensionAPI): Promise; export {};