// lib/memory.js module.exports = { saveMemory: function (db, label, data, callback = () => {}) { db.run( `INSERT OR REPLACE INTO memory (label, data) VALUES (?, ?)`, [label, JSON.stringify(data)], callback ); }, getMemory: function (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); } } ); }, forgetMemory: function (db, label, callback = () => {}) { db.run( `DELETE FROM memory WHERE label = ?`, [label], callback ); }, listMemory: function (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); }); } };