SwarmAudit / app /main.py
Pranoy Mukherjee
Add crawler, security agent, API, and Gradio MVP
a3ecd30
raw
history blame contribute delete
754 Bytes
from fastapi import FastAPI, HTTPException
from app.agents.graph import AuditGraph
from app.config import get_settings
from app.schemas import AuditReport, AuditRequest
app = FastAPI(title="SwarmAudit", version="0.1.0")
@app.get("/health")
async def health() -> dict[str, str]:
return {"status": "ok", "app": get_settings().app_name}
@app.post("/audit", response_model=AuditReport)
async def audit(request: AuditRequest) -> AuditReport:
try:
graph = AuditGraph()
return await graph.run(str(request.repo_url))
except ValueError as exc:
raise HTTPException(status_code=400, detail=str(exc)) from exc
except Exception as exc:
raise HTTPException(status_code=500, detail=f"Audit failed: {exc}") from exc