"""B10 Transfer - Lock-free PyTorch compilation cache for Baseten."""

from .core import transfer
from .torch_cache import load_compile_cache, save_compile_cache, clear_local_cache
from .async_transfers import (
    start_transfer_async,
    get_transfer_status,
    is_transfer_complete,
    wait_for_completion,
    cancel_transfer,
    list_active_transfers,
    TransferProgress,
)
from .async_torch_cache import (
    load_compile_cache_async,
    save_compile_cache_async,
)
from .utils import CacheError, CacheValidationError
from .space_monitor import CacheOperationInterrupted
from .info import get_cache_info, list_available_caches
from .constants import SaveStatus, LoadStatus, TransferStatus, AsyncTransferStatus

# Version
__version__ = "0.1.1"

__all__ = [
    "CacheError",
    "CacheValidationError",
    "CacheOperationInterrupted",
    "SaveStatus",
    "LoadStatus",
    "TransferStatus",
    "AsyncTransferStatus",
    "transfer",
    "load_compile_cache",
    "save_compile_cache",
    "clear_local_cache",
    "get_cache_info",
    "list_available_caches",
    # Generic async operations
    "start_transfer_async",
    "get_transfer_status",
    "is_transfer_complete",
    "wait_for_completion",
    "cancel_transfer",
    "list_active_transfers",
    "TransferProgress",
    # Torch-specific async operations
    "load_compile_cache_async",
    "save_compile_cache_async",
]
