/** * Streamable HTTP MCP gateway — stateless per-request transport for room + discovery. * * Runs in **stateless mode**: a fresh MCP server + transport is created for * every request, so no session state has to survive between requests. * * This matters for deployed rooms. The previous implementation kept sessions in * a per-process in-memory Map keyed by `mcp-session-id`. A deployed room cold- * starts, idles out, and scales across replicas, so the session established at * `initialize` was routinely gone by the time the model actually called a tool — * surfacing as a bodyless "Invalid or expired MCP session" (-32000) on every * tool call while tool *discovery* still worked. Stateless mode removes that * failure class entirely: every request is self-contained. * * @module trellis/server */ import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js'; export declare class StreamableMcpGateway { handle(req: Request, createServer: () => McpServer | Promise): Promise; close(): Promise; } //# sourceMappingURL=streamable-mcp-gateway.d.ts.map