VectorRecall

Trait VectorRecall 

Source
pub trait VectorRecall: Send + Sync {
    // Required methods
    fn name(&self) -> &str;
    fn upsert(&self, record: &VectorRecord) -> Result<(), CapabilityError>;
    fn query(
        &self,
        query: &VectorQuery,
    ) -> Result<Vec<VectorMatch>, CapabilityError>;
    fn delete(&self, id: &str) -> Result<(), CapabilityError>;
    fn clear(&self) -> Result<(), CapabilityError>;
    fn count(&self) -> Result<usize, CapabilityError>;

    // Provided method
    fn upsert_batch(
        &self,
        records: &[VectorRecord],
    ) -> Result<(), CapabilityError> { ... }
}
Expand description

Trait for vector stores that enable similarity search.

Vector stores are caches, not authoritative state. They can always be rebuilt from the Context which is the source of truth.

§Design Note

This follows Converge’s principle: vector stores expand what agents can see, not what they are allowed to decide.

Required Methods§

Source

fn name(&self) -> &str

Name of this vector store.

Source

fn upsert(&self, record: &VectorRecord) -> Result<(), CapabilityError>

Insert or update a vector record.

§Errors

Returns error if upsert fails.

Source

fn query( &self, query: &VectorQuery, ) -> Result<Vec<VectorMatch>, CapabilityError>

Query for similar vectors.

§Errors

Returns error if query fails.

Source

fn delete(&self, id: &str) -> Result<(), CapabilityError>

Delete a record by ID.

§Errors

Returns error if deletion fails.

Source

fn clear(&self) -> Result<(), CapabilityError>

Clear all records from the store.

This is safe because vector stores are regenerable caches.

§Errors

Returns error if clear fails.

Source

fn count(&self) -> Result<usize, CapabilityError>

Count of records in the store.

§Errors

Returns error if count fails.

Provided Methods§

Source

fn upsert_batch(&self, records: &[VectorRecord]) -> Result<(), CapabilityError>

Batch upsert multiple records.

Default implementation calls upsert for each record.

§Errors

Returns error if any upsert fails.

Implementors§