# app.py from fastapi import FastAPI from fastapi.middleware.cors import CORSMiddleware import gradio as gr from agentic_reliability_framework.core.governance.risk_engine import RiskEngine from agentic_reliability_framework.core.memory.semantic_memory import SemanticMemory app = FastAPI(title="ARF v4 API") # Enable CORS for your frontend app.add_middleware( CORSMiddleware, allow_origins=["https://arf-frontend-sandy.vercel.app"], allow_methods=["*"], ) # Initialize ARF components risk_engine = RiskEngine() memory = SemanticMemory() @app.get("/health") async def health(): return {"status": "ok", "version": "4.0.0"} @app.get("/api/v1/get_risk") async def get_risk(): # Your existing risk endpoint logic risk_score = risk_engine.get_current_risk() return { "system_risk": risk_score.mean, "status": "critical" if risk_score.mean > 0.8 else "normal" } # Optional: keep the Gradio interface for interactive testing iface = gr.Interface( fn=lambda: f"ARF v4 - Current risk: {risk_engine.get_current_risk().mean:.2f}", inputs=[], outputs="text", title="ARF v4 Demo" ) app = gr.mount_gradio_app(app, iface, path="/")