UNPKG

mcp-chain-of-draft-server

Version:

A Model Context Protocol server which provides Chain of Draft style thinking

43 lines (42 loc) 1.44 kB
export interface SessionMetadata { created: Date; lastAccessed: Date; size: number; version: number; } export interface SessionData<T> { data: T; metadata: SessionMetadata; } export interface SessionStorageProvider<T> { get(sessionId: string): Promise<SessionData<T> | null>; set(sessionId: string, data: SessionData<T>): Promise<void>; delete(sessionId: string): Promise<void>; cleanup(maxAge: number): Promise<void>; } export declare class InMemorySessionStorage<T> implements SessionStorageProvider<T> { private sessions; get(sessionId: string): Promise<SessionData<T> | null>; set(sessionId: string, data: SessionData<T>): Promise<void>; delete(sessionId: string): Promise<void>; cleanup(maxAge: number): Promise<void>; } export declare class SessionManager<T> { private storage; private readonly maxSessionAge; private readonly maxSessionSize; private cleanupInterval; constructor(storage: SessionStorageProvider<T>, options?: { maxSessionAge?: number; maxSessionSize?: number; cleanupIntervalMs?: number; }); private startCleanupInterval; getSession(sessionId: string): Promise<SessionData<T>>; private createSession; updateSession(sessionId: string, data: T): Promise<void>; deleteSession(sessionId: string): Promise<void>; cleanup(): Promise<void>; private calculateSize; destroy(): void; }