"""Contiss AI Python SDK.

Official Python SDK for Contiss AI - Unlimited Memory for AI Agents.

Example:
    ```python
    from contiss import Contiss

    # Initialize with API key
    client = Contiss(api_key="sk_live_...")

    # Write a memory
    memory = client.memory.write(
        org_id="org_uuid",
        project_id="proj_uuid",
        content="User prefers dark mode",
        type="preference"
    )

    # Search memories
    results = client.memory.search(
        org_id="org_uuid",
        project_id="proj_uuid",
        query="user preferences"
    )
    ```
"""

from .client import Contiss
from .exceptions import (
    APIError,
    AuthenticationError,
    ConflictError,
    ConnectionError,
    ContissError,
    NotFoundError,
    RateLimitError,
    TimeoutError,
    ValidationError,
)
from .types import (
    APIKey,
    APIKeyCreate,
    APIKeyList,
    AuthResponse,
    BundleResult,
    HealthCheck,
    Memory,
    MemoryType,
    MemoryWriteResult,
    SearchMode,
    SearchResult,
    TokenUsage,
    User,
)

__version__ = "0.1.0"

__all__ = [
    # Main client
    "Contiss",
    # Exceptions
    "ContissError",
    "APIError",
    "AuthenticationError",
    "ValidationError",
    "NotFoundError",
    "ConflictError",
    "RateLimitError",
    "TimeoutError",
    "ConnectionError",
    # Types
    "Memory",
    "MemoryType",
    "SearchMode",
    "MemoryWriteResult",
    "SearchResult",
    "BundleResult",
    "User",
    "AuthResponse",
    "APIKey",
    "APIKeyCreate",
    "APIKeyList",
    "HealthCheck",
    "TokenUsage",
]
