import type { Transport } from "@modelcontextprotocol/sdk/shared/transport.js"; import type { AgentSandboxRuntimeResolver } from "../sandbox/index.js"; export interface PluginLocalPrepareInput { build?: { contextDirectory: string; dockerfile: string; tag: string; }; containerName: string; imageTag: string; installationId: string; containerInstanceId: string; existingContainerInstanceId?: string; workspaceDirectory: string; workspaceGroupId: number; workspaceUserId: number; } export interface PluginLocalOpenInput { args: readonly string[]; command: string; containerName: string; environment: Readonly>; } export interface PluginLocalCommandHandle { wait: Promise<{ exitCode: number | null; signal: NodeJS.Signals | null; }>; close(): void; } export interface PluginMcpRuntime { prepareLocal(input: PluginLocalPrepareInput, signal?: AbortSignal): Promise<{ containerInstanceId: string; imageTag: string; reused: boolean; }>; startLocalCommand(input: PluginLocalOpenInput, signal?: AbortSignal): Promise; monitorLocalCommand(containerName: string, signal?: AbortSignal): Promise; openLocal(input: PluginLocalOpenInput, signal?: AbortSignal, onStderr?: (chunk: string) => void): Promise; isLocalRunning?(containerName: string, installationId: string, containerInstanceId: string): Promise; removeLocal(containerName: string): Promise; } /** Runs stdio MCP packages in dedicated containers owned by the selected local sandbox provider. */ export declare class SandboxPluginMcpRuntime implements PluginMcpRuntime { private readonly provider; constructor(provider: AgentSandboxRuntimeResolver); prepareLocal(input: PluginLocalPrepareInput, signal?: AbortSignal): Promise<{ containerInstanceId: string; imageTag: string; reused: boolean; }>; openLocal(input: PluginLocalOpenInput, signal?: AbortSignal, onStderr?: (chunk: string) => void): Promise; startLocalCommand(input: PluginLocalOpenInput, signal?: AbortSignal): Promise; monitorLocalCommand(containerName: string, signal?: AbortSignal): Promise; removeLocal(containerName: string): Promise; isLocalRunning(containerName: string, installationId: string, containerInstanceId: string): Promise; private localProvider; } //# sourceMappingURL=runtime.d.ts.map