use crate::types::Passage;
use anyhow::Result;
use async_trait::async_trait;
#[async_trait]
pub trait VectorStore: Send + Sync {
async fn add_passages(&self, passages: Vec<Passage>) -> Result<Vec<String>>;
async fn search(&self, query_embedding: &[f32], limit: usize) -> Result<Vec<Passage>>;
}