/** * Bounded in-memory EventStore backing the SDK's Streamable HTTP resumability (priming * events, disconnected-message buffering, Last-Event-ID replay). One instance per session; * streams within it are the SDK's per-POST streams plus the standalone GET stream. * * Bounded on purpose: replay here is a transport nicety for notifications in flight. Run * truth always lives in the persisted journal and the status action, so eviction * degrades to a missed notification, never to lost run state. On a replay whose cursor was * evicted, the parsed streamId is still returned so the SDK re-binds the reconnected stream * to live traffic. */ import type { EventStore, JSONRPCMessage } from "@modelcontextprotocol/server"; export interface BoundedEventStoreOptions { maxPerStream?: number; maxTotal?: number; } export declare class BoundedEventStore implements EventStore { private readonly maxPerStream; private readonly maxTotal; /** Insertion order doubles as write-recency for global LRU eviction (re-set on write). */ private readonly streams; /** Monotonic per-stream counters survive stream eviction so event IDs never regress. */ private readonly counters; private total; constructor(options?: BoundedEventStoreOptions); storeEvent(streamId: string, message: JSONRPCMessage): Promise; private evictOldest; getStreamIdForEventId(eventId: string): Promise; replayEventsAfter(lastEventId: string, { send }: { send: (eventId: string, message: JSONRPCMessage) => Promise; }): Promise; } //# sourceMappingURL=event-store.d.ts.map