from pathlib import Path from fastapi import APIRouter, FastAPI, HTTPException from fastapi.staticfiles import StaticFiles from .content import EXAMPLE, PROJECT from .models import Example, Project app = FastAPI(title="MedCaseAgent Project", version="0.1.0") api = APIRouter(prefix="/api") @api.get("/health") def health() -> dict[str, str]: return {"status": "ok"} @api.get("/project", response_model=Project) def project() -> Project: return PROJECT @api.get("/example", response_model=Example) def example() -> Example: return EXAMPLE app.include_router(api) @app.get("/api/{path:path}", include_in_schema=False) def missing_api(path: str) -> None: raise HTTPException(status_code=404, detail="API endpoint not found") frontend_dist = Path(__file__).resolve().parents[2] / "frontend" / "dist" if frontend_dist.is_dir(): app.mount("/", StaticFiles(directory=frontend_dist, html=True), name="frontend")