pub trait BaseMemory: Send + Sync {
// Required methods
fn messages(&self) -> Vec<Message>;
fn add_message(&mut self, message: Message);
fn clear(&mut self);
// Provided methods
fn add_user_message(&mut self, message: &dyn Display) { ... }
fn add_ai_message(&mut self, message: &dyn Display) { ... }
fn to_string(&self) -> String { ... }
}