"""Health-/Status-Endpoint — schlanker Lebenszeichen-Check für MC 2.0.""" from config import VERSION from fastapi import APIRouter from pydantic import BaseModel from services import gateway, llamaswap router = APIRouter(prefix="/api") class HealthResponse(BaseModel): status: str version: str engine_reachable: bool gateway_reachable: bool brain: dict @router.get("/health", response_model=HealthResponse) def health() -> dict: return { "status": "ok", "version": VERSION, "engine_reachable": llamaswap.engine_reachable(), "gateway_reachable": gateway.gateway_reachable(), # Echte Hirn-Bereitschaft: Engine kann erreichbar sein, das Agent-Hirn ('fast') aber tot # (Crash/OOM nach Engine-Update). Das wäre sonst ein silent fail (App-Fehler statt Status). "brain": llamaswap.brain_status(), }