// memory/index.js const db = require('../db'); function saveMemory(db, label, data, callback = () => {}) { db.run( `INSERT OR REPLACE INTO memory (label, data) VALUES (?, ?)`, [label, JSON.stringify(data)], callback ); } function getMemory(db, label, callback) { db.get( `SELECT data FROM memory WHERE label = ?`, [label], (err, row) => { if (err) return callback(err, null); if (!row) return callback(null, null); try { callback(null, JSON.parse(row.data)); } catch (e) { callback(e, null); } } ); } function forgetMemory(db, label, callback = () => {}) { db.run(`DELETE FROM memory WHERE label = ?`, [label], callback); } function listMemory(db, callback) { db.all(`SELECT label, data FROM memory`, [], (err, rows) => { if (err) return callback(err, null); const parsed = rows.map(row => ({ label: row.label, data: (() => { try { return JSON.parse(row.data); } catch { return row.data; } })() })); callback(null, parsed); }); } module.exports = { saveMemory, getMemory, forgetMemory, listMemory };