pub struct InMemoryDreamStore { /* private fields */ }Expand description
InMemoryDreamStore — a lightweight DreamStore backed by per-agent in-memory maps.
Rust port of node/src/memory/in-memory-store.ts. Use for benchmarks, unit tests, and local
development where persistent memory isn’t needed. search() is a deterministic reference
ranker: distinct lexical overlap first, metadata recency second, insertion order last.
Implementations§
Source§impl InMemoryDreamStore
impl InMemoryDreamStore
pub fn new() -> Self
pub fn with_initial_memories(initial: Vec<MemoryRecord>) -> Self
pub fn saved_sessions(&self) -> Vec<SessionData>
Trait Implementations§
Source§impl Default for InMemoryDreamStore
impl Default for InMemoryDreamStore
Source§impl DreamStore for InMemoryDreamStore
impl DreamStore for InMemoryDreamStore
fn upsert<'life0, 'life1, 'async_trait>(
&'life0 self,
agent_id: &'life1 str,
incoming: MemoryRecord,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Source§fn search<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
agent_id: &'life1 str,
query: &'life2 MemoryQuery,
) -> Pin<Box<dyn Future<Output = Result<Vec<MemoryRecall>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn search<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
agent_id: &'life1 str,
query: &'life2 MemoryQuery,
) -> Pin<Box<dyn Future<Output = Result<Vec<MemoryRecall>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Semantic search over the agent’s long-term memories.
Called on demand during a session when the LLM invokes the
memory meta-tool.Source§fn save_session<'life0, 'async_trait>(
&'life0 self,
data: SessionData,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn save_session<'life0, 'async_trait>(
&'life0 self,
data: SessionData,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Persist a completed session before the runner’s one extraction pass.
Auto Trait Implementations§
impl !Freeze for InMemoryDreamStore
impl RefUnwindSafe for InMemoryDreamStore
impl Send for InMemoryDreamStore
impl Sync for InMemoryDreamStore
impl Unpin for InMemoryDreamStore
impl UnsafeUnpin for InMemoryDreamStore
impl UnwindSafe for InMemoryDreamStore
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