"""FastAPI wrapper for deterministic numeric validation.""" from fastapi import HTTPException from numeric_core import validate_numeric async def post_validate_numeric(request: dict) -> dict: items = request.get("items", []) if not items: raise HTTPException( status_code=400, detail="'items' requis", ) results = [] rel_tol = float( request.get("relative_tolerance", 0.02) ) for item in items: claim = str(item.get("claim", "")) evidence = str(item.get("evidence", "")) if not claim or not evidence: results.append({ "id": item.get("id", 0), "error": "claim/evidence manquant", }) continue validation = validate_numeric( claim, evidence, rel_tol=rel_tol, ) results.append({ "id": item.get("id", 0), **validation, }) return {"results": results}