""" Health check router module. """ from datetime import datetime from fastapi import APIRouter, Depends from typing import Dict, Any from ..models import HealthResponse, ServerInfoResponse from ..state import get_server_state, ServerState router = APIRouter() @router.get("/", response_model=ServerInfoResponse) async def root(): """Server root path information.""" return ServerInfoResponse( name="CADDesigner API Server", version="1.0.0", description="OpenAI-compatible API for CADDesigner", api_version="v1", supported_models=["cadagent"], capabilities=[ "chat.completions", "streaming", "tool_calling", "conversation_history", "sketch_pad_storage", ], ) @router.get("/health", response_model=HealthResponse) async def health_check(state: ServerState = Depends(get_server_state)): """Health check endpoint.""" default_agent = ( state.agent_registry.get_agent("cadagent") if state.agent_registry else None ) return HealthResponse( status="ok", timestamp=datetime.now().isoformat(), version="1.0.0", agent_name=default_agent.name if default_agent else "Not initialized", )