| from fastapi import APIRouter, Request | |
| router = APIRouter() | |
| async def memory_stats(request: Request): | |
| """ | |
| Return current memory graph statistics using the risk engine's memory instance. | |
| """ | |
| risk_engine = request.app.state.risk_engine | |
| # Check if memory exists and has the required method | |
| if hasattr( | |
| risk_engine, | |
| 'memory') and hasattr( | |
| risk_engine.memory, | |
| 'get_graph_stats'): | |
| stats = risk_engine.memory.get_graph_stats() | |
| return stats | |
| else: | |
| # Graceful fallback (e.g., during testing or if memory not initialized) | |
| return { | |
| "incident_nodes": 0, | |
| "outcome_nodes": 0, | |
| "edges": 0, | |
| "message": "Memory not fully initialized" | |
| } | |