import sys from pathlib import Path sys.path.append(str(Path(__file__).resolve().parent.parent)) import sqlite3 from datetime import datetime # Connect to SQLite database (will create if it doesn't exist) conn = sqlite3.connect("memory.db") cursor = conn.cursor() # Create memory table if it doesn't exist cursor.execute(""" CREATE TABLE IF NOT EXISTS memory ( id INTEGER PRIMARY KEY AUTOINCREMENT, prompt TEXT NOT NULL, response TEXT NOT NULL, timestamp TEXT DEFAULT CURRENT_TIMESTAMP ) """) conn.commit() def save_memory(prompt: str, response: str): """Save a prompt-response pair to the memory database.""" cursor.execute( "INSERT INTO memory (prompt, response) VALUES (?, ?)", (prompt, response) ) conn.commit() def recall_memories(limit: int = 5): """Retrieve the most recent prompt-response pairs.""" cursor.execute( "SELECT prompt, response, timestamp FROM memory ORDER BY timestamp DESC LIMIT ?", (limit,) ) return cursor.fetchall() def clear_memory(): """Delete all memory records.""" cursor.execute("DELETE FROM memory") conn.commit()