feat: enable SQLite WAL mode for all databases (AGI ticket #1) (#153)

This commit is contained in:
Alexander Whitestone
2026-03-08 16:07:02 -04:00
committed by GitHub
parent 11ba21418a
commit 82fb2417e3
31 changed files with 1042 additions and 170 deletions

View File

@@ -122,8 +122,7 @@ def _get_conn() -> sqlite3.Connection:
_has_vss = False
# Create tables
conn.execute(
"""
conn.execute("""
CREATE TABLE IF NOT EXISTS memory_entries (
id TEXT PRIMARY KEY,
content TEXT NOT NULL,
@@ -136,8 +135,7 @@ def _get_conn() -> sqlite3.Connection:
embedding TEXT, -- JSON array of floats
timestamp TEXT NOT NULL
)
"""
)
""")
# Create indexes
conn.execute("CREATE INDEX IF NOT EXISTS idx_memory_agent ON memory_entries(agent_id)")
@@ -193,8 +191,8 @@ def store_memory(
conn = _get_conn()
conn.execute(
"""
INSERT INTO memory_entries
(id, content, source, context_type, agent_id, task_id, session_id,
INSERT INTO memory_entries
(id, content, source, context_type, agent_id, task_id, session_id,
metadata, embedding, timestamp)
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
""",
@@ -505,7 +503,7 @@ def prune_memories(older_than_days: int = 90, keep_facts: bool = True) -> int:
if keep_facts:
cursor = conn.execute(
"""
DELETE FROM memory_entries
DELETE FROM memory_entries
WHERE timestamp < ? AND context_type != 'fact'
""",
(cutoff,),