pub trait MemoryProvider: Send + Sync {
// Required methods
fn name(&self) -> &str;
fn remember(&self, fact: Fact) -> Result<()>;
fn recall(&self, query: &str, limit: usize) -> Result<Vec<Fact>>;
fn memory_doc(&self, kind: MemoryDocKind) -> Result<Option<MemoryDoc>>;
fn upsert_memory_doc(
&self,
kind: MemoryDocKind,
content: &str,
) -> Result<()>;
}Required Methods§
fn name(&self) -> &str
fn remember(&self, fact: Fact) -> Result<()>
fn recall(&self, query: &str, limit: usize) -> Result<Vec<Fact>>
fn memory_doc(&self, kind: MemoryDocKind) -> Result<Option<MemoryDoc>>
fn upsert_memory_doc(&self, kind: MemoryDocKind, content: &str) -> Result<()>
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".