// memory/events.js const { saveMemory, getMemory, listMemory } = require('./index'); function logEvent(db, type, data) { const label = `event:${type}`; getMemory(db, label, (err, existing) => { const events = Array.isArray(existing) ? existing : []; events.push({ ...data, timestamp: Date.now() }); const trimmed = events.slice(-50); // Keep last 50 events per type saveMemory(db, label, trimmed); }); } function getRecentEvents(db, type, callback) { const label = `event:${type}`; getMemory(db, label, callback); } function listEventTypes(db, callback) { listMemory(db, (err, entries) => { if (err) return callback(err, []); const types = entries .filter(e => e.label.startsWith('event:')) .map(e => e.label.replace('event:', '')); callback(null, types); }); } module.exports = { logEvent, getRecentEvents, listEventTypes };