Skip to main content

Memory Store API

SQLite-based persistent storage.

MemoryStore

from owl.memory import get_memory_store

store = get_memory_store()

Conversation Methods

add_message()

store.add_message(
session_id="abc123",
role="user",
content="Hello",
project_path="/path/to/project",
metadata={"key": "value"}
)

get_conversation()

messages = store.get_conversation(session_id="abc123", limit=20)

get_conversation_for_project()

messages = store.get_conversation_for_project(
session_id="abc123",
project_path="/path/to/project",
limit=20
)

Learning Methods

add_learning()

store.add_learning(
category="preference",
observation="User prefers pytest",
learning="Suggest pytest for testing",
project_path=None, # Global
scope="global",
source="auto"
)

get_learnings()

learnings = store.get_learnings(scope="global", limit=50)

Session Methods

get_sessions()

sessions = store.get_sessions(limit=10)

get_session_summary()

summary = store.get_session_summary(session_id="abc123")

MemoryFile

from owl.memory import get_memory_file

memory = get_memory_file()

Methods

read()

content = memory.read()

remember()

memory.remember("I prefer tabs", category="Preferences")

forget()

removed = memory.forget("I prefer tabs")  # True/False

get_stats()

stats = memory.get_stats()
# {"total_items": 5, "categories": {...}}