"""GigaEvo Memory Module — Python client library for CARL artifact storage."""

__version__ = "0.2.1"

from .cache import CachePolicy
from .client import MemoryClient, SearchType
from .embeddings import (
    EmbeddingProvider,
    HuggingFaceProvider,
    MemoryApiProvider,
    OpenAIProvider,
    SentenceTransformersProvider,
    get_default_provider,
    set_default_provider,
)
from .exceptions import (
    ConflictError,
    ConnectionError,
    MemoryError,
    NotFoundError,
    ValidationError,
)
from .models import (
    AgentDict,
    AgentSpec,
    ChainDict,
    MemoryCardDict,
    MemoryCardSpec,
    DiffResponse,
    EntityRef,
    EntityResponse,
    FacetsResponse,
    StepDict,
    VersionDetail,
    VersionInfo,
)

__all__ = [
    "MemoryClient",
    "SearchType",
    "CachePolicy",
    "EntityRef",
    "EntityResponse",
    "VersionInfo",
    "VersionDetail",
    "DiffResponse",
    "FacetsResponse",
    "AgentSpec",
    "MemoryCardSpec",
    "ChainDict",
    "StepDict",
    "AgentDict",
    "MemoryCardDict",
    "EmbeddingProvider",
    "SentenceTransformersProvider",
    "HuggingFaceProvider",
    "OpenAIProvider",
    "MemoryApiProvider",
    "get_default_provider",
    "set_default_provider",
    "MemoryError",
    "NotFoundError",
    "ConflictError",
    "ConnectionError",
    "ValidationError",
]
