pub struct AgentMemoryManager { /* private fields */ }Expand description
Manages all memory types for an agent
Implementations§
Source§impl AgentMemoryManager
impl AgentMemoryManager
Sourcepub fn new(config: MemoryConfig) -> Self
pub fn new(config: MemoryConfig) -> Self
Create a new agent memory manager
Sourcepub fn working(&mut self) -> &mut WorkingMemory
pub fn working(&mut self) -> &mut WorkingMemory
Get or initialize working memory
Sourcepub fn semantic(&mut self) -> &mut SemanticMemory
pub fn semantic(&mut self) -> &mut SemanticMemory
Get or initialize semantic memory
Sourcepub fn episodic(&mut self) -> &mut EpisodicMemory
pub fn episodic(&mut self) -> &mut EpisodicMemory
Get or initialize episodic memory
Get or initialize shared knowledge base
Sourcepub fn session_id(&self) -> &str
pub fn session_id(&self) -> &str
Get session ID
Sourcepub fn conversation(&self) -> &ConversationMemoryStore
pub fn conversation(&self) -> &ConversationMemoryStore
Get conversation memory
Sourcepub async fn add_conversation_message(
&self,
message: ChatMessage,
) -> RragResult<()>
pub async fn add_conversation_message( &self, message: ChatMessage, ) -> RragResult<()>
Add a message to conversation history
Sourcepub async fn get_conversation_messages(&self) -> RragResult<Vec<ChatMessage>>
pub async fn get_conversation_messages(&self) -> RragResult<Vec<ChatMessage>>
Get all conversation messages
Sourcepub async fn clear_conversation(&self) -> RragResult<()>
pub async fn clear_conversation(&self) -> RragResult<()>
Clear conversation (keeps system message)
Sourcepub fn session_key(&self, key: &str) -> String
pub fn session_key(&self, key: &str) -> String
Generate a namespace key for session-scoped memory
Sourcepub fn global_key(key: &str) -> String
pub fn global_key(key: &str) -> String
Generate a namespace key for global memory
Sourcepub async fn set_agent_memory(
&self,
key: &str,
value: impl Into<MemoryValue>,
) -> RragResult<()>
pub async fn set_agent_memory( &self, key: &str, value: impl Into<MemoryValue>, ) -> RragResult<()>
Store a value in agent-scoped memory
Sourcepub async fn get_agent_memory(
&self,
key: &str,
) -> RragResult<Option<MemoryValue>>
pub async fn get_agent_memory( &self, key: &str, ) -> RragResult<Option<MemoryValue>>
Get a value from agent-scoped memory
Sourcepub async fn set_session_memory(
&self,
key: &str,
value: impl Into<MemoryValue>,
) -> RragResult<()>
pub async fn set_session_memory( &self, key: &str, value: impl Into<MemoryValue>, ) -> RragResult<()>
Store a value in session-scoped memory
Sourcepub async fn get_session_memory(
&self,
key: &str,
) -> RragResult<Option<MemoryValue>>
pub async fn get_session_memory( &self, key: &str, ) -> RragResult<Option<MemoryValue>>
Get a value from session-scoped memory
Sourcepub async fn set_global_memory(
&self,
key: &str,
value: impl Into<MemoryValue>,
) -> RragResult<()>
pub async fn set_global_memory( &self, key: &str, value: impl Into<MemoryValue>, ) -> RragResult<()>
Store a value in global memory
Sourcepub async fn get_global_memory(
&self,
key: &str,
) -> RragResult<Option<MemoryValue>>
pub async fn get_global_memory( &self, key: &str, ) -> RragResult<Option<MemoryValue>>
Get a value from global memory
Sourcepub fn config(&self) -> &MemoryConfig
pub fn config(&self) -> &MemoryConfig
Get configuration
Trait Implementations§
Auto Trait Implementations§
impl Freeze for AgentMemoryManager
impl !RefUnwindSafe for AgentMemoryManager
impl Send for AgentMemoryManager
impl Sync for AgentMemoryManager
impl Unpin for AgentMemoryManager
impl !UnwindSafe for AgentMemoryManager
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more