"""
公共模块

提供路由层通用的工具函数、装饰器、验证器和响应格式化
"""

from .utils import (
    is_binary_file,
    get_challenge_and_output_dir,
    get_category_id_from_challenge,
    get_project_root
)

from .responses import (
    success_response,
    error_response,
    paginated_response
)

from .decorators import (
    category_permission_required,
    challenge_owner_required
)

__all__ = [
    # Utils
    'is_binary_file',
    'get_challenge_and_output_dir',
    'get_category_id_from_challenge',
    'get_project_root',
    # Responses
    'success_response',
    'error_response',
    'paginated_response',
    # Decorators
    'category_permission_required',
    'challenge_owner_required',
]
