//! Embedding generation for semantic search

use crate::error::Result;

/// Embedding provider trait
pub trait EmbeddingProvider: Send + Sync {
    /// Generate embeddings for text
    ///
    /// # Errors
    ///
    /// Returns an error if embedding generation fails
    fn embed(&self, text: &str) -> Result<Vec<f32>>;

    /// Get embedding dimensions
    fn dimensions(&self) -> usize;
}

// Module stubs
pub mod fastembed;
pub mod rig;
