import { ChatMessage } from "../types.js"; import { LRUCache } from "lru-cache"; export type SessionState = { messages: ChatMessage[]; summary: string; lastAccess: number; }; const sessions = new LRUCache({ max: 5000, ttl: 1000 * 60 * 60 * 6 }); export const memoryStore = { get(sessionId: string): SessionState { const existing = sessions.get(sessionId); if (existing) { existing.lastAccess = Date.now(); return existing; } const created: SessionState = { messages: [], summary: "", lastAccess: Date.now() }; sessions.set(sessionId, created); return created; }, set(sessionId: string, state: SessionState) { state.lastAccess = Date.now(); sessions.set(sessionId, state); } };