"""
Aperion FSAL - The Iron Vault

The absolute boundary between AI agents and the underlying operating system.
Enforces Constitution B3 (Sandbox Boundaries) and guarantees file integrity
via atomic operations.

All filesystem operations MUST go through this layer.
"""

__version__ = "1.2.2"
__title__ = "The Iron Vault"

from .core.safeio import (
    atomic_write,
    copy,
    delete,
    digest,
    exists,
    listdir,
    listdir_recursive,
    mkdir,
    move,
    read,
    read_bytes,
    stat,
    write,
    write_bytes,
)
from .core.sandbox import get_sandbox_root, resolve_safe_path
from .service.auth import get_auth_status, require_auth, require_auth_direct
from .service.models import (
    DeleteIn,
    Entry,
    ExistsIn,
    HashIn,
    ListIn,
    MkdirIn,
    MoveCopyIn,
    PathIn,
    ReadIn,
    StatIn,
    WriteIn,
)

__all__ = [
    # Core operations
    "atomic_write",
    "copy",
    "delete",
    "digest",
    "exists",
    "listdir",
    "listdir_recursive",
    "mkdir",
    "move",
    "read",
    "read_bytes",
    "stat",
    "write",
    "write_bytes",
    # Sandbox
    "get_sandbox_root",
    "resolve_safe_path",
    # Auth
    "require_auth",
    "require_auth_direct",
    "get_auth_status",
    # Models
    "PathIn",
    "ListIn",
    "ReadIn",
    "WriteIn",
    "MoveCopyIn",
    "MkdirIn",
    "DeleteIn",
    "HashIn",
    "ExistsIn",
    "StatIn",
    "Entry",
]
