garudust_memory/lib.rs
1//! SQLite-backed persistent memory and user profiles for Garudust AI agents.
2//!
3//! Provides two storage layers:
4//!
5//! * **[`FileMemoryStore`]** — Markdown files under `~/.garudust/` for long-term
6//! facts and user profile. Readable and editable by humans.
7//! * **[`SessionDb`]** — SQLite database for conversation history, tool call
8//! logs, and session metadata.
9//!
10//! # Example
11//!
12//! ```no_run
13//! use garudust_memory::FileMemoryStore;
14//! use garudust_core::memory::MemoryStore;
15//!
16//! #[tokio::main]
17//! async fn main() -> anyhow::Result<()> {
18//! let store = FileMemoryStore::new(dirs::home_dir().unwrap().join(".garudust"));
19//! let memory = store.read_memory().await?;
20//! println!("Facts: {:?}", memory.facts);
21//! Ok(())
22//! }
23//! ```
24
25pub mod file_store;
26pub mod migrations;
27pub mod session_db;
28
29pub use file_store::FileMemoryStore;
30pub use session_db::SessionDb;