pub struct InMemoryAdapter { /* private fields */ }Expand description
In-memory implementation of MemoryAdapter.
Suitable for testing and development. Not persistent.
Implementations§
Source§impl InMemoryAdapter
impl InMemoryAdapter
Sourcepub fn memory_count(&self) -> usize
pub fn memory_count(&self) -> usize
Count all memories across all projects.
Sourcepub fn link_count(&self, project: &str) -> usize
pub fn link_count(&self, project: &str) -> usize
Count links for a project.
Trait Implementations§
Source§impl Default for InMemoryAdapter
impl Default for InMemoryAdapter
Source§impl MemoryAdapter for InMemoryAdapter
impl MemoryAdapter for InMemoryAdapter
Source§async fn store(
&self,
project: &str,
request: InsertMemory,
) -> Result<MemoryRecord, MemoryError>
async fn store( &self, project: &str, request: InsertMemory, ) -> Result<MemoryRecord, MemoryError>
Store a new memory record. Read more
Source§async fn query(
&self,
project: &str,
query: MemoryQuery,
) -> Result<Vec<MemoryRecord>, MemoryError>
async fn query( &self, project: &str, query: MemoryQuery, ) -> Result<Vec<MemoryRecord>, MemoryError>
Query memories by text search within a scope.
Source§async fn get(
&self,
project: &str,
memory_id: &str,
) -> Result<MemoryRecord, MemoryError>
async fn get( &self, project: &str, memory_id: &str, ) -> Result<MemoryRecord, MemoryError>
Retrieve a single memory by ID.
Source§async fn delete(
&self,
project: &str,
memory_id: &str,
) -> Result<(), MemoryError>
async fn delete( &self, project: &str, memory_id: &str, ) -> Result<(), MemoryError>
Delete a memory.
Source§async fn link(
&self,
project: &str,
link: LinkMemories,
) -> Result<(), MemoryError>
async fn link( &self, project: &str, link: LinkMemories, ) -> Result<(), MemoryError>
Link two memories with a relationship (Section 14.3).
Source§async fn unlink(
&self,
project: &str,
from_memory_id: &str,
to_memory_id: &str,
) -> Result<(), MemoryError>
async fn unlink( &self, project: &str, from_memory_id: &str, to_memory_id: &str, ) -> Result<(), MemoryError>
Unlink two memories.
Source§async fn create_scope(
&self,
project: &str,
scope_id: &ScopeId,
parent: Option<&ScopeId>,
) -> Result<(), MemoryError>
async fn create_scope( &self, project: &str, scope_id: &ScopeId, parent: Option<&ScopeId>, ) -> Result<(), MemoryError>
Create a scope for organizing memories.
Source§async fn close_scope(
&self,
project: &str,
scope_id: &ScopeId,
) -> Result<(), MemoryError>
async fn close_scope( &self, project: &str, scope_id: &ScopeId, ) -> Result<(), MemoryError>
Close a scope (make read-only).
Source§async fn health_check(&self) -> Result<bool, MemoryError>
async fn health_check(&self) -> Result<bool, MemoryError>
Check if the backend is healthy.
Auto Trait Implementations§
impl !Freeze for InMemoryAdapter
impl RefUnwindSafe for InMemoryAdapter
impl Send for InMemoryAdapter
impl Sync for InMemoryAdapter
impl Unpin for InMemoryAdapter
impl UnsafeUnpin for InMemoryAdapter
impl UnwindSafe for InMemoryAdapter
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
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request