//! `EmbeddingProvider` port — text → vector.
//!
//! `embed_batch` has a default implementation that loops `embed` per call:
//! providers with native batch endpoints (Ollama `/api/embed`, OpenAI
//! `/v1/embeddings` with `input: []`) override it for fewer round-trips.
use crateProviderError;
/// Embedding model boundary (Jina v5, Ollama, OpenAI, …).