"""Color strip source routes — split into focused submodules.

Aggregated `router` is exported so that
`from ledgrab.api.routes.color_strip_sources import router` works as before.
"""

from fastapi import APIRouter

from ._helpers import (
    _calibration_schema,
    _common_response_kwargs,
    _css_to_response,
    _extract_css_kwargs,
    _resolve_display_index,
    _RESPONSE_MAP,
    _stops_schema,
)
from .calibration import router as _calibration_router
from .crud import router as _crud_router
from .preview import router as _preview_router
from .ws_stream import router as _ws_stream_router

router = APIRouter()
router.include_router(_crud_router)
router.include_router(_calibration_router)
router.include_router(_preview_router)
router.include_router(_ws_stream_router)

__all__ = [
    "router",
    "_calibration_schema",
    "_common_response_kwargs",
    "_css_to_response",
    "_extract_css_kwargs",
    "_resolve_display_index",
    "_RESPONSE_MAP",
    "_stops_schema",
]
