Skip to main content

MemoryManager

Trait MemoryManager 

Source
pub trait MemoryManager: Send + Sync {
    // Required methods
    fn recall_memories<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        session: &'life1 mut Session,
        config: &'life2 AgentLoopConfig,
    ) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait,
             'life2: 'async_trait;
    fn maybe_compress<'life0, 'life1, 'life2, 'life3, 'life4, 'life5, 'life6, 'async_trait>(
        &'life0 self,
        session: &'life1 mut Session,
        config: &'life2 AgentLoopConfig,
        phase: &'life3 str,
        session_id: &'life4 str,
        model_name: &'life5 str,
        tool_schemas: &'life6 [ToolSchema],
    ) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait,
             'life2: 'async_trait,
             'life3: 'async_trait,
             'life4: 'async_trait,
             'life5: 'async_trait,
             'life6: 'async_trait;
}
Expand description

Manages external memory recall, compression, and summarization.

Required Methods§

Source

fn recall_memories<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, session: &'life1 mut Session, config: &'life2 AgentLoopConfig, ) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Recall relevant memories for the current context. Returns true if any memories were injected.

Source

fn maybe_compress<'life0, 'life1, 'life2, 'life3, 'life4, 'life5, 'life6, 'async_trait>( &'life0 self, session: &'life1 mut Session, config: &'life2 AgentLoopConfig, phase: &'life3 str, session_id: &'life4 str, model_name: &'life5 str, tool_schemas: &'life6 [ToolSchema], ) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, 'life3: 'async_trait, 'life4: 'async_trait, 'life5: 'async_trait, 'life6: 'async_trait,

Check if compression should be applied and apply it. Returns true if compression was performed.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§