{"nodes": [{"id": "middleware", "label": "middleware.ts", "file_type": "code", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/middleware.ts", "source_location": "L1"}, {"id": "middleware_validatecsrforigin", "label": "validateCsrfOrigin()", "file_type": "code", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/middleware.ts", "source_location": "L19"}], "edges": [{"source": "middleware", "target": "astro_middleware", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/middleware.ts", "source_location": "L1", "weight": 1.0}, {"source": "middleware", "target": "logger", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/middleware.ts", "source_location": "L2", "weight": 1.0}, {"source": "middleware", "target": "sentry", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/middleware.ts", "source_location": "L3", "weight": 1.0}, {"source": "middleware", "target": "middleware_validatecsrforigin", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/middleware.ts", "source_location": "L19", "weight": 1.0}]}