"""MemoClaw Python SDK — semantic memory for AI agents."""

__version__ = "0.1.0"

from .client import AsyncMemoClaw, MemoClaw
from .errors import (
    APIError,
    AuthenticationError,
    ForbiddenError,
    InternalServerError,
    MemoClawError,
    NotFoundError,
    PaymentRequiredError,
    RateLimitError,
    ValidationError,
)
from .types import (
    ClusterInfo,
    ConsolidateResult,
    DeleteResult,
    ExtractResult,
    FreeTierStatus,
    IngestResult,
    ListResponse,
    Memory,
    MemoryType,
    Message,
    RecallMemory,
    RecallResponse,
    RecallSignals,
    Relation,
    RelationsResponse,
    RelationType,
    RelationWithMemory,
    StoreBatchResult,
    StoreInput,
    StoreResult,
    SuggestedCategory,
    SuggestedMemory,
    SuggestedResponse,
)

__all__ = [
    "__version__",
    # Clients
    "MemoClaw",
    "AsyncMemoClaw",
    # Errors
    "MemoClawError",
    "APIError",
    "AuthenticationError",
    "PaymentRequiredError",
    "ForbiddenError",
    "NotFoundError",
    "ValidationError",
    "RateLimitError",
    "InternalServerError",
    # Types
    "Memory",
    "MemoryType",
    "Message",
    "RecallMemory",
    "RecallResponse",
    "RecallSignals",
    "Relation",
    "RelationsResponse",
    "RelationType",
    "RelationWithMemory",
    "StoreResult",
    "StoreBatchResult",
    "StoreInput",
    "ListResponse",
    "DeleteResult",
    "IngestResult",
    "ExtractResult",
    "ConsolidateResult",
    "ClusterInfo",
    "SuggestedMemory",
    "SuggestedResponse",
    "SuggestedCategory",
    "FreeTierStatus",
]
