umi_memory/memory/mod.rs
1//! Memory - Core and Working Memory for Umi
2//!
3//! TigerStyle: Three-tier memory architecture with explicit limits.
4//!
5//! # Memory Tiers
6//!
7//! 1. **Core Memory** (~32KB) - Always in LLM context
8//! 2. **Working Memory** (~1MB) - Session state, KV store with TTL
9//! 3. **Archival Memory** (unlimited) - Long-term storage (separate module)
10//!
11//! # Example
12//!
13//! ```rust
14//! use umi_memory::memory::{CoreMemory, MemoryBlockType};
15//!
16//! let mut core = CoreMemory::new();
17//! core.set_block(MemoryBlockType::System, "You are a helpful assistant.").unwrap();
18//! core.set_block(MemoryBlockType::Human, "User prefers concise responses.").unwrap();
19//!
20//! let context = core.render();
21//! // <core_memory>
22//! // <block type="system">You are a helpful assistant.</block>
23//! // <block type="human">User prefers concise responses.</block>
24//! // </core_memory>
25//! ```
26
27mod archival;
28mod block;
29mod core;
30mod working;
31
32pub use archival::{ArchivalMemory, ArchivalMemoryConfig};
33pub use block::{MemoryBlock, MemoryBlockId, MemoryBlockType};
34pub use core::{CoreMemory, CoreMemoryConfig, CoreMemoryError};
35pub use working::{WorkingMemory, WorkingMemoryConfig, WorkingMemoryError};