lc_memory/lib.rs
1// lc-memory/src/lib.rs
2//! Memory system for conversation history management.
3//!
4//! Provides conversation memory management functionality.
5//!
6//! # Core Concepts
7//!
8//! - **BaseMemory**: Base trait for memory.
9//! - **ConversationBufferMemory**: Simple conversation buffer.
10//! - **ConversationBufferWindowMemory**: Conversation buffer with window.
11//! - **ConversationSummaryMemory**: LLM-based summary compression.
12//! - **ConversationSummaryBufferMemory**: Hybrid compression (summary + recent messages).
13//! - **PersistentMemory**: Trait for persistent memory storage.
14//! - **ContextWindow**: Fits messages within a token budget.
15//!
16//! # Feature Flags
17//!
18//! - `mongodb-persistence` — Enables `MongoPersistentMemory` (MongoDB-backed persistent memory).
19//! - `vectorstore-memory` — Enables `VectorStoreRetrieverMemory` (vector-store-backed memory).
20
21pub mod base;
22pub mod buffer;
23pub mod context_window;
24pub mod persistent;
25pub mod summary;
26pub mod summary_buffer;
27pub mod window;
28
29#[cfg(feature = "vectorstore-memory")]
30pub mod vectorstore_memory;
31
32#[cfg(feature = "mongodb-persistence")]
33pub mod mongo_memory;
34
35pub use base::{BaseChatMemory, BaseMemory, ChatMessageHistory, MemoryError};
36pub use buffer::ConversationBufferMemory;
37pub use context_window::{ContextWindow, Strategy};
38pub use persistent::{MemoryData, PersistenceConfig, PersistentMemory};
39pub use summary::ConversationSummaryMemory;
40pub use summary_buffer::ConversationSummaryBufferMemory;
41pub use window::ConversationBufferWindowMemory;
42
43#[cfg(feature = "vectorstore-memory")]
44pub use vectorstore_memory::VectorStoreRetrieverMemory;
45
46#[cfg(feature = "mongodb-persistence")]
47pub use mongo_memory::MongoPersistentMemory;