use Pin;
use crateResult;
/// Trait for embedding providers.
///
/// Implementations call an external embedding API and return the result as a
/// little-endian f32 byte blob ready for libsql `F32_BLOB` columns.
///
/// The built-in providers are [`super::OpenAIEmbedding`],
/// [`super::GeminiEmbedding`], [`super::MistralEmbedding`], and
/// [`super::VoyageEmbedding`]. Custom providers implement this trait directly.