ground-zero / src /api /routes /health.py
jefffffff9
Initial commit: Sahel-Agri Voice AI
76db545
Raw
History Blame Contribute Delete
866 Bytes
"""GET /api/v1/health — model status and adapter availability."""
from __future__ import annotations
from fastapi import APIRouter, Depends, Request
from src.api.dependencies import get_adapter_manager
from src.api.schemas import HealthResponse
from src.engine.adapter_manager import AdapterManager
router = APIRouter()
@router.get("/health", response_model=HealthResponse)
async def health_check(
request: Request,
adapter_manager: AdapterManager = Depends(get_adapter_manager),
) -> HealthResponse:
model_loaded = hasattr(request.app.state, "transcriber")
return HealthResponse(
status="ok" if model_loaded else "loading",
model_loaded=model_loaded,
active_adapter=adapter_manager.get_active(),
adapters_available=adapter_manager.list_available(),
adapters_loaded=adapter_manager.list_loaded(),
)