"""Embedder providers for text embedding.

Includes mock implementations for testing and production implementations.
"""

from core.interfaces import Embedder
from .mock_embedder import MockEmbedder, ZeroEmbedder, MOCK_EMBEDDING_DIM

def get_openai_embedder():
    """Lazy-load OpenAIEmbedder. Requires: pip install openai"""
    from .openai_embedder import OpenAIEmbedder, CachedOpenAIEmbedder
    return OpenAIEmbedder, CachedOpenAIEmbedder

__all__ = [
    "Embedder",
    # Mock implementations
    "MockEmbedder",
    "ZeroEmbedder",
    "MOCK_EMBEDDING_DIM",
    # Lazy loader for OpenAI
    "get_openai_embedder",
]