const store = { contacts: new Map(), chats: new Map(), messages: new Map(), saveMessage(jid, id, message, expireMs = 1200000) { if (!jid || !id || !message) return false; if (!this.messages.has(jid)) this.messages.set(jid, new Map()); const msgs = this.messages.get(jid); if (msgs.has(id)) clearTimeout(msgs.get(id).timer); msgs.set(id, { data: message, timer: setTimeout(() => { msgs.delete(id); if (!msgs.size) this.messages.delete(jid); }, expireMs), savedAt: Date.now() }); return true; }, loadMessage(jid, id) { return this.messages.get(jid)?.get(id)?.data; }, hasMessage(jid, id) { return !!this.messages.get(jid)?.has(id); }, deleteMessage(jid, id) { const msgs = this.messages.get(jid); if (!msgs?.has(id)) return false; clearTimeout(msgs.get(id).timer); msgs.delete(id); if (!msgs.size) this.messages.delete(jid); return true; }, flushMessages() { this.messages.forEach(msgs => msgs.forEach(m => clearTimeout(m.timer))); this.messages.clear(); } };