/** * In-process session store for compiled IR and RuntimeEngine instances. * * The MCP server is a long-lived stdio process managed by the host (e.g. Claude * Desktop). This store caches compiled IR keyed by content hash so that the * execute and explain tools can reference a prior compile result. * * No cross-process persistence — when the server process restarts, all cached * IR is lost. Re-compilation is cheap (sub-millisecond for typical manifests). */ import type { IR } from '@angriff36/manifest/ir'; import { RuntimeEngine, type RuntimeContext, type RuntimeOptions } from '@angriff36/manifest'; export interface CacheEntry { ir: IR; contentHash: string; engine: RuntimeEngine; createdAt: number; } declare class SessionStore { private cache; private maxSize; /** * Store compiled IR and create a pre-warmed RuntimeEngine for it. * Uses FIFO eviction when the cache exceeds maxSize. */ store(contentHash: string, ir: IR, context?: RuntimeContext, options?: RuntimeOptions): void; get(contentHash: string): CacheEntry | undefined; getEngine(contentHash: string): RuntimeEngine | undefined; getIR(contentHash: string): IR | undefined; list(): Array<{ contentHash: string; createdAt: number; }>; clear(): void; } /** Singleton session store for the MCP server process lifetime. */ export declare const sessionStore: SessionStore; export {}; //# sourceMappingURL=session-store.d.ts.map