from ..types import CommandConfiguration

from .as_command import as_command, decorated_commands
from .on_event import on_startup, on_shutdown, decorated_startup, decorated_shutdown
from .initialize_data import initialize_data
from .error_handling import with_failure_handling

__all__ = [
    "as_command",
    "on_startup",
    "on_shutdown",
    "initialize_data",
    "with_failure_handling",
    "get_command_config",
]


def get_command_config() -> CommandConfiguration:
    return CommandConfiguration(
        commands=decorated_commands,
        call_and_response={},
        aliases={},
        bangs=(),
        startup=decorated_startup,
        shutdown=decorated_shutdown,
    )
