"""
mizan.setup - Django integration helpers.

The function/composition registry now lives in `mizan_core.registry`.
Channels register themselves through the channel-specific registry in
`mizan.channels`. Forms register through `mizan.forms`. This module
re-exports the helpers that Django mizan users typically reach for, so
`from mizan.setup import register, get_function, mizan_clients, …` keeps
working as a single curated surface.
"""

from mizan_core.registry import (
    register,
    register_as,
    register_compose,
    get_function,
    get_compose,
    get_all_functions,
    get_all_compositions,
    get_registry,
    get_schema,
    get_contexts,
    get_context_groups,
    validate_registry,
    clear_registry,
)

from mizan.channels import (
    get_channel,
    get_registered_channels as get_all_channels,
)

from mizan.forms import (
    register_form,
    get_forms,
)

from .discovery import (
    mizan_clients,
    mizan_module,
)

from .settings import (
    mizanSettings,
    get_settings,
    clear_settings_cache,
)

__all__ = [
    # Registration
    "register",
    "register_as",
    "register_form",
    "register_compose",
    # Lookup
    "get_function",
    "get_channel",
    "get_compose",
    "get_all_functions",
    "get_all_channels",
    "get_all_compositions",
    "get_registry",
    "get_schema",
    "get_contexts",
    "get_context_groups",
    "get_forms",
    "validate_registry",
    "clear_registry",
    # Discovery
    "mizan_clients",
    "mizan_module",
    # Settings
    "mizanSettings",
    "get_settings",
    "clear_settings_cache",
]
