trellis
Version:
Agentic State Engine — event-sourced causal graph with branching, decision traces, and realtime sync for AI-native applications
22 lines • 1.12 kB
TypeScript
/**
* 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<McpServer>): Promise<Response>;
close(): Promise<void>;
}
//# sourceMappingURL=streamable-mcp-gateway.d.ts.map