pub struct InMemoryMemoryService { /* private fields */ }Implementations§
Trait Implementations§
Source§impl Default for InMemoryMemoryService
impl Default for InMemoryMemoryService
Source§impl MemoryService for InMemoryMemoryService
impl MemoryService for InMemoryMemoryService
fn add_session<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
app_name: &'life1 str,
user_id: &'life2 str,
session_id: &'life3 str,
entries: Vec<MemoryEntry>,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Source§fn supports_project_scoping(&self) -> bool
fn supports_project_scoping(&self) -> bool
Whether this backend keeps project-scoped entries isolated. Read more
Source§fn add_session_to_project<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait>(
&'life0 self,
app_name: &'life1 str,
user_id: &'life2 str,
session_id: &'life3 str,
project_id: &'life4 str,
entries: Vec<MemoryEntry>,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
fn add_session_to_project<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait>(
&'life0 self,
app_name: &'life1 str,
user_id: &'life2 str,
session_id: &'life3 str,
project_id: &'life4 str,
entries: Vec<MemoryEntry>,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
Adds session entries scoped to a project. Read more
Source§fn add_entry<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
app_name: &'life1 str,
user_id: &'life2 str,
entry: MemoryEntry,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn add_entry<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
app_name: &'life1 str,
user_id: &'life2 str,
entry: MemoryEntry,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Add a single memory entry directly (not tied to a session).
Source§fn add_entry_to_project<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
app_name: &'life1 str,
user_id: &'life2 str,
project_id: &'life3 str,
entry: MemoryEntry,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn add_entry_to_project<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
app_name: &'life1 str,
user_id: &'life2 str,
project_id: &'life3 str,
entry: MemoryEntry,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Adds a single entry scoped to a project. Read more
Source§fn delete_entries<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
app_name: &'life1 str,
user_id: &'life2 str,
query: &'life3 str,
) -> Pin<Box<dyn Future<Output = Result<u64>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn delete_entries<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
app_name: &'life1 str,
user_id: &'life2 str,
query: &'life3 str,
) -> Pin<Box<dyn Future<Output = Result<u64>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Delete entries matching a query. Returns count of deleted entries.
Source§fn list_recent<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
app_name: &'life1 str,
user_id: &'life2 str,
limit: 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 list_recent<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
app_name: &'life1 str,
user_id: &'life2 str,
limit: 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,
List the most recent entries for a user (global + project-scoped),
newest first. Unlike
search, this is a pure recency listing — no
query, no similarity ranking — suitable for “what does the agent
remember?” UIs and latest-item lookups.Source§fn delete_entries_in_project<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait>(
&'life0 self,
app_name: &'life1 str,
user_id: &'life2 str,
project_id: &'life3 str,
query: &'life4 str,
) -> Pin<Box<dyn Future<Output = Result<u64>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
fn delete_entries_in_project<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait>(
&'life0 self,
app_name: &'life1 str,
user_id: &'life2 str,
project_id: &'life3 str,
query: &'life4 str,
) -> Pin<Box<dyn Future<Output = Result<u64>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
Deletes entries matching a query within a specific project. Read more
Source§fn delete_project<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
app_name: &'life1 str,
user_id: &'life2 str,
project_id: &'life3 str,
) -> Pin<Box<dyn Future<Output = Result<u64>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn delete_project<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
app_name: &'life1 str,
user_id: &'life2 str,
project_id: &'life3 str,
) -> Pin<Box<dyn Future<Output = Result<u64>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Delete all entries for a specific project.
Default returns “not implemented” error.
Source§fn delete_user<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
app_name: &'life1 str,
user_id: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn delete_user<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
app_name: &'life1 str,
user_id: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Delete all memory entries for a specific user. Read more
fn search<'life0, 'async_trait>(
&'life0 self,
req: SearchRequest,
) -> Pin<Box<dyn Future<Output = Result<SearchResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn delete_session<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
app_name: &'life1 str,
user_id: &'life2 str,
session_id: &'life3 str,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn delete_session<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
app_name: &'life1 str,
user_id: &'life2 str,
session_id: &'life3 str,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Delete all memory entries for a specific session.
Auto Trait Implementations§
impl Freeze for InMemoryMemoryService
impl RefUnwindSafe for InMemoryMemoryService
impl Send for InMemoryMemoryService
impl Sync for InMemoryMemoryService
impl Unpin for InMemoryMemoryService
impl UnsafeUnpin for InMemoryMemoryService
impl UnwindSafe for InMemoryMemoryService
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