"""
Backboard API Python SDK

A developer-friendly Python SDK for the Backboard API.
Build conversational AI applications with persistent memory and intelligent document processing.
"""

from ._version import __version__

from .client import BackboardClient
from .models import (
    DocumentStatus,
    MessageRole,
    Assistant,
    Thread, 
    Document,
    Message,
    ToolDefinition,
    FunctionDefinition,
    ToolParameters,
    ToolParameterProperties,
    ToolCall,
    ToolCallFunction,
    AttachmentInfo,
    ContextUsage,
    MessageResponse,
    ChatMessagesResponse,
    ToolOutputsResponse,
    SubmitToolOutputsRequest,
    ToolOutput,
    Memory,
    MemoryCreate,
    MemoryUpdate,
    MemoriesListResponse,
    MemoryStats,
    Model,
    ModelsListResponse,
    EmbeddingModel,
    EmbeddingModelsListResponse,
    ProvidersListResponse,
    MemoryOperationStatus
)
from .exceptions import (
    BackboardError,
    BackboardAPIError,
    BackboardValidationError,
    BackboardNotFoundError,
    BackboardRateLimitError,
    BackboardServerError
)

__all__ = [
    "BackboardClient",
    "DocumentStatus",
    "MessageRole",
    "Assistant",
    "Thread",
    "Document", 
    "Message",
    "ToolDefinition",
    "FunctionDefinition",
    "ToolParameters",
    "ToolParameterProperties",
    "ToolCall",
    "ToolCallFunction",
    "AttachmentInfo",
    "ContextUsage",
    "MessageResponse",
    "ChatMessagesResponse",
    "ToolOutputsResponse",
    "SubmitToolOutputsRequest",
    "ToolOutput",
    "Memory",
    "MemoryCreate",
    "MemoryUpdate",
    "MemoriesListResponse",
    "MemoryStats",
    "Model",
    "ModelsListResponse",
    "EmbeddingModel",
    "EmbeddingModelsListResponse",
    "ProvidersListResponse",
    "MemoryOperationStatus",
    "BackboardError",
    "BackboardAPIError",
    "BackboardValidationError", 
    "BackboardNotFoundError",
    "BackboardRateLimitError",
    "BackboardServerError"
]
