use async_trait::async_trait;
use crate::types::Passage;
use anyhow::Result;
#[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>>;
}