Files
cadSet/CADDesigner-Code/web_interface/routers/health_router.py
T
2026-07-22 19:38:36 +08:00

47 lines
1.2 KiB
Python

"""
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",
)