Skip to main content

Store

Trait Store 

Source
pub trait Store: Send + Sync {
Show 20 methods // Required methods fn store_memory(&self, memory: &Memory) -> Result<()>; fn get_memory(&self, id: Uuid) -> Result<Option<Memory>>; fn delete_memory(&self, id: Uuid) -> Result<()>; fn store_entity(&self, entity: &Entity) -> Result<()>; fn get_entity(&self, id: Uuid) -> Result<Option<Entity>>; fn find_entity_by_name(&self, name: &str) -> Result<Option<Entity>>; fn store_conversation(&self, conversation: &Conversation) -> Result<()>; fn store_relation(&self, relation: &Relation) -> Result<()>; fn get_relations( &self, node_id: Uuid, relation_type: Option<RelationType>, ) -> Result<Vec<Relation>>; fn vector_search( &self, embedding: &[f32], limit: usize, ) -> Result<Vec<(Memory, f32)>>; fn traverse( &self, start_id: Uuid, depth: u32, ) -> Result<Vec<(Memory, Vec<Relation>)>>; fn memories_by_source(&self, source: &str) -> Result<Vec<Memory>>; fn memories_by_type(&self, memory_type: MemoryType) -> Result<Vec<Memory>>; fn memories_needing_decay(&self, threshold_days: u32) -> Result<Vec<Memory>>; fn update_memory(&self, memory: &Memory) -> Result<()>; fn record_access(&self, memory: &Memory) -> Result<()>; fn text_search(&self, query: &str, limit: usize) -> Result<Vec<Memory>>; fn memory_count(&self) -> Result<usize>; fn all_memory_ids(&self) -> Result<Vec<Uuid>>; fn all_relations(&self) -> Result<Vec<Relation>>;
}

Required Methods§

Source

fn store_memory(&self, memory: &Memory) -> Result<()>

Source

fn get_memory(&self, id: Uuid) -> Result<Option<Memory>>

Source

fn delete_memory(&self, id: Uuid) -> Result<()>

Source

fn store_entity(&self, entity: &Entity) -> Result<()>

Source

fn get_entity(&self, id: Uuid) -> Result<Option<Entity>>

Source

fn find_entity_by_name(&self, name: &str) -> Result<Option<Entity>>

Source

fn store_conversation(&self, conversation: &Conversation) -> Result<()>

Source

fn store_relation(&self, relation: &Relation) -> Result<()>

Source

fn get_relations( &self, node_id: Uuid, relation_type: Option<RelationType>, ) -> Result<Vec<Relation>>

Source

fn traverse( &self, start_id: Uuid, depth: u32, ) -> Result<Vec<(Memory, Vec<Relation>)>>

Source

fn memories_by_source(&self, source: &str) -> Result<Vec<Memory>>

Source

fn memories_by_type(&self, memory_type: MemoryType) -> Result<Vec<Memory>>

Source

fn memories_needing_decay(&self, threshold_days: u32) -> Result<Vec<Memory>>

Source

fn update_memory(&self, memory: &Memory) -> Result<()>

Source

fn record_access(&self, memory: &Memory) -> Result<()>

Source

fn memory_count(&self) -> Result<usize>

Source

fn all_memory_ids(&self) -> Result<Vec<Uuid>>

Source

fn all_relations(&self) -> Result<Vec<Relation>>

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§