NEON / backend /src /ai /memory.ts
picklefried706's picture
Upload folder using huggingface_hub
40a9423 verified
import { ChatMessage } from "../types.js";
import { LRUCache } from "lru-cache";
export type SessionState = {
messages: ChatMessage[];
summary: string;
lastAccess: number;
};
const sessions = new LRUCache<string, SessionState>({
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);
}
};