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 non-semantic slice — it
returns the first top_k memories regardless of query. The kernel ranks by score, so
caller insertion order is what surfaces.
Implementations§
Source§impl InMemoryDreamStore
impl InMemoryDreamStore
pub fn new() -> Self
pub fn with_initial_memories(initial: Vec<MemoryEntry>) -> Self
pub fn add_session(&self, agent_id: impl Into<String>, session: SessionData)
pub fn add_memories( &self, agent_id: impl Into<String>, entries: Vec<MemoryEntry>, )
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
Source§fn load_sessions<'life0, 'life1, 'async_trait>(
&'life0 self,
agent_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Vec<SessionData>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn load_sessions<'life0, 'life1, 'async_trait>(
&'life0 self,
agent_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Vec<SessionData>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Load recent sessions for the given agent. The kernel caps processing
at
IdlePolicy::max_sessions_per_run; returning more is fine.Source§fn load_memories<'life0, 'life1, 'async_trait>(
&'life0 self,
agent_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Vec<MemoryEntry>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn load_memories<'life0, 'life1, 'async_trait>(
&'life0 self,
agent_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Vec<MemoryEntry>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Load all current long-term memory entries for the agent.
Source§fn commit<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
agent_id: &'life1 str,
result: CurationResult,
existing: &'life2 [MemoryEntry],
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn commit<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
agent_id: &'life1 str,
result: CurationResult,
existing: &'life2 [MemoryEntry],
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Apply the curation delta — add new entries, remove stale ones. Read more
Source§fn search<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
agent_id: &'life1 str,
_query: &'life2 str,
top_k: usize,
) -> Pin<Box<dyn Future<Output = Result<Vec<MemoryEntry>>> + 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 str,
top_k: usize,
) -> Pin<Box<dyn Future<Output = Result<Vec<MemoryEntry>>> + 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 for future consolidation via
Agent::dream().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