pub struct InMemoryConversationMemory { /* private fields */ }Expand description
A simple thread-safe in-memory ConversationMemory backed by a HashMap.
Messages are stored in process memory only and lost on restart. Useful for
tests, examples, and short-lived agents. Pass a closure to
InMemoryConversationMemory::with_filter to apply a history-shaping
transformation on every load (truncation, summarization, re-ordering, etc.).
Reusable named policies live in the rig-memory companion crate.
Implementations§
Source§impl InMemoryConversationMemory
impl InMemoryConversationMemory
Sourcepub fn with_filter<F>(self, filter: F) -> Selfwhere
F: MessageFilter + 'static,
pub fn with_filter<F>(self, filter: F) -> Selfwhere
F: MessageFilter + 'static,
Replaces the filter applied to each loaded history after releasing the store lock. Filtering does not modify stored messages.
Trait Implementations§
Source§impl Clone for InMemoryConversationMemory
impl Clone for InMemoryConversationMemory
Source§impl ConversationMemory for InMemoryConversationMemory
impl ConversationMemory for InMemoryConversationMemory
Source§fn load<'a>(
&'a self,
conversation_id: &'a ConversationId,
) -> WasmBoxedFuture<'a, Result<Vec<Message>, MemoryError>>
fn load<'a>( &'a self, conversation_id: &'a ConversationId, ) -> WasmBoxedFuture<'a, Result<Vec<Message>, MemoryError>>
Load the full conversation history for
conversation_id. Read moreSource§fn append<'a>(
&'a self,
conversation_id: &'a ConversationId,
messages: Vec<Message>,
) -> WasmBoxedFuture<'a, Result<(), MemoryError>>
fn append<'a>( &'a self, conversation_id: &'a ConversationId, messages: Vec<Message>, ) -> WasmBoxedFuture<'a, Result<(), MemoryError>>
Source§fn clear<'a>(
&'a self,
conversation_id: &'a ConversationId,
) -> WasmBoxedFuture<'a, Result<(), MemoryError>>
fn clear<'a>( &'a self, conversation_id: &'a ConversationId, ) -> WasmBoxedFuture<'a, Result<(), MemoryError>>
Remove all stored messages for
conversation_id.Source§impl Debug for InMemoryConversationMemory
impl Debug for InMemoryConversationMemory
Auto Trait Implementations§
impl !RefUnwindSafe for InMemoryConversationMemory
impl !UnwindSafe for InMemoryConversationMemory
impl Freeze for InMemoryConversationMemory
impl Send for InMemoryConversationMemory
impl Sync for InMemoryConversationMemory
impl Unpin for InMemoryConversationMemory
impl UnsafeUnpin for InMemoryConversationMemory
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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 more