Files
tfm_ainventory/graphify-out/cache/f2970c1c4642363a61427d0bde760161546dc0134e224ec26bb89dab6e557874.json

1 line
43 KiB
JSON

{"nodes": [{"id": "backend_venv_lib_python3_12_site_packages_uvicorn_protocols_websockets_wsproto_impl_py", "label": "wsproto_impl.py", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L1"}, {"id": "wsproto_impl_wsprotocol", "label": "WSProtocol", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L33"}, {"id": "wsproto_impl_wsprotocol_init", "label": ".__init__()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L34"}, {"id": "wsproto_impl_wsprotocol_connection_made", "label": ".connection_made()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L82"}, {"id": "wsproto_impl_wsprotocol_connection_lost", "label": ".connection_lost()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L95"}, {"id": "wsproto_impl_wsprotocol_eof_received", "label": ".eof_received()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L108"}, {"id": "wsproto_impl_wsprotocol_data_received", "label": ".data_received()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L111"}, {"id": "wsproto_impl_wsprotocol_handle_events", "label": ".handle_events()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L121"}, {"id": "wsproto_impl_wsprotocol_pause_writing", "label": ".pause_writing()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L134"}, {"id": "wsproto_impl_wsprotocol_resume_writing", "label": ".resume_writing()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L140"}, {"id": "wsproto_impl_wsprotocol_shutdown", "label": ".shutdown()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L146"}, {"id": "wsproto_impl_wsprotocol_on_task_complete", "label": ".on_task_complete()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L155"}, {"id": "wsproto_impl_wsprotocol_handle_connect", "label": ".handle_connect()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L160"}, {"id": "wsproto_impl_wsprotocol_handle_text", "label": ".handle_text()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L188"}, {"id": "wsproto_impl_wsprotocol_handle_bytes", "label": ".handle_bytes()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L197"}, {"id": "wsproto_impl_wsprotocol_handle_close", "label": ".handle_close()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L207"}, {"id": "wsproto_impl_wsprotocol_handle_ping", "label": ".handle_ping()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L213"}, {"id": "wsproto_impl_wsprotocol_send_500_response", "label": ".send_500_response()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L216"}, {"id": "wsproto_impl_wsprotocol_run_asgi", "label": ".run_asgi()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L228"}, {"id": "wsproto_impl_wsprotocol_send", "label": ".send()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L244"}, {"id": "wsproto_impl_wsprotocol_receive", "label": ".receive()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L355"}, {"id": "wsproto_impl_rationale_135", "label": "Called by the transport when the write buffer exceeds the high water mark.", "file_type": "rationale", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L135"}, {"id": "wsproto_impl_rationale_141", "label": "Called by the transport when the write buffer drops below the low water mark.", "file_type": "rationale", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L141"}, {"id": "wsproto_impl_rationale_115", "label": "# TODO: Remove `type: ignore` when wsproto fixes the type annotation.", "file_type": "rationale", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L115"}], "edges": [{"source": "backend_venv_lib_python3_12_site_packages_uvicorn_protocols_websockets_wsproto_impl_py", "target": "asyncio", "relation": "imports", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L3", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_uvicorn_protocols_websockets_wsproto_impl_py", "target": "logging", "relation": "imports", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L4", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_uvicorn_protocols_websockets_wsproto_impl_py", "target": "typing", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L5", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_uvicorn_protocols_websockets_wsproto_impl_py", "target": "urllib_parse", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L6", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_uvicorn_protocols_websockets_wsproto_impl_py", "target": "wsproto", "relation": "imports", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L8", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_uvicorn_protocols_websockets_wsproto_impl_py", "target": "wsproto", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L9", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_uvicorn_protocols_websockets_wsproto_impl_py", "target": "wsproto_connection", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L10", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_uvicorn_protocols_websockets_wsproto_impl_py", "target": "wsproto_extensions", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L11", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_uvicorn_protocols_websockets_wsproto_impl_py", "target": "wsproto_utilities", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L12", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_uvicorn_protocols_websockets_wsproto_impl_py", "target": "uvicorn_types", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L14", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_uvicorn_protocols_websockets_wsproto_impl_py", "target": "uvicorn_config", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L20", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_uvicorn_protocols_websockets_wsproto_impl_py", "target": "uvicorn_logging", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L21", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_uvicorn_protocols_websockets_wsproto_impl_py", "target": "uvicorn_protocols_utils", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L22", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_uvicorn_protocols_websockets_wsproto_impl_py", "target": "uvicorn_server", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L30", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_uvicorn_protocols_websockets_wsproto_impl_py", "target": "wsproto_impl_wsprotocol", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L33", "weight": 1.0}, {"source": "wsproto_impl_wsprotocol", "target": "wsproto_impl_wsprotocol_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L34", "weight": 1.0}, {"source": "wsproto_impl_wsprotocol", "target": "wsproto_impl_wsprotocol_connection_made", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L82", "weight": 1.0}, {"source": "wsproto_impl_wsprotocol", "target": "wsproto_impl_wsprotocol_connection_lost", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L95", "weight": 1.0}, {"source": "wsproto_impl_wsprotocol", "target": "wsproto_impl_wsprotocol_eof_received", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L108", "weight": 1.0}, {"source": "wsproto_impl_wsprotocol", "target": "wsproto_impl_wsprotocol_data_received", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L111", "weight": 1.0}, {"source": "wsproto_impl_wsprotocol", "target": "wsproto_impl_wsprotocol_handle_events", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L121", "weight": 1.0}, {"source": "wsproto_impl_wsprotocol", "target": "wsproto_impl_wsprotocol_pause_writing", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L134", "weight": 1.0}, {"source": "wsproto_impl_wsprotocol", "target": "wsproto_impl_wsprotocol_resume_writing", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L140", "weight": 1.0}, {"source": "wsproto_impl_wsprotocol", "target": "wsproto_impl_wsprotocol_shutdown", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L146", "weight": 1.0}, {"source": "wsproto_impl_wsprotocol", "target": "wsproto_impl_wsprotocol_on_task_complete", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L155", "weight": 1.0}, {"source": "wsproto_impl_wsprotocol", "target": "wsproto_impl_wsprotocol_handle_connect", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L160", "weight": 1.0}, {"source": "wsproto_impl_wsprotocol", "target": "wsproto_impl_wsprotocol_handle_text", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L188", "weight": 1.0}, {"source": "wsproto_impl_wsprotocol", "target": "wsproto_impl_wsprotocol_handle_bytes", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L197", "weight": 1.0}, {"source": "wsproto_impl_wsprotocol", "target": "wsproto_impl_wsprotocol_handle_close", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L207", "weight": 1.0}, {"source": "wsproto_impl_wsprotocol", "target": "wsproto_impl_wsprotocol_handle_ping", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L213", "weight": 1.0}, {"source": "wsproto_impl_wsprotocol", "target": "wsproto_impl_wsprotocol_send_500_response", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L216", "weight": 1.0}, {"source": "wsproto_impl_wsprotocol", "target": "wsproto_impl_wsprotocol_run_asgi", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L228", "weight": 1.0}, {"source": "wsproto_impl_wsprotocol", "target": "wsproto_impl_wsprotocol_send", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L244", "weight": 1.0}, {"source": "wsproto_impl_wsprotocol", "target": "wsproto_impl_wsprotocol_receive", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L355", "weight": 1.0}, {"source": "wsproto_impl_wsprotocol_data_received", "target": "wsproto_impl_wsprotocol_send", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L116", "weight": 1.0}, {"source": "wsproto_impl_wsprotocol_data_received", "target": "wsproto_impl_wsprotocol_handle_events", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L119", "weight": 1.0}, {"source": "wsproto_impl_wsprotocol_handle_events", "target": "wsproto_impl_wsprotocol_handle_connect", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L124", "weight": 1.0}, {"source": "wsproto_impl_wsprotocol_handle_events", "target": "wsproto_impl_wsprotocol_handle_text", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L126", "weight": 1.0}, {"source": "wsproto_impl_wsprotocol_handle_events", "target": "wsproto_impl_wsprotocol_handle_bytes", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L128", "weight": 1.0}, {"source": "wsproto_impl_wsprotocol_handle_events", "target": "wsproto_impl_wsprotocol_handle_close", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L130", "weight": 1.0}, {"source": "wsproto_impl_wsprotocol_handle_events", "target": "wsproto_impl_wsprotocol_handle_ping", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L132", "weight": 1.0}, {"source": "wsproto_impl_wsprotocol_shutdown", "target": "wsproto_impl_wsprotocol_send", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L149", "weight": 1.0}, {"source": "wsproto_impl_wsprotocol_shutdown", "target": "wsproto_impl_wsprotocol_send_500_response", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L152", "weight": 1.0}, {"source": "wsproto_impl_wsprotocol_handle_connect", "target": "wsproto_impl_wsprotocol_run_asgi", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L184", "weight": 1.0}, {"source": "wsproto_impl_wsprotocol_handle_close", "target": "wsproto_impl_wsprotocol_send", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L209", "weight": 1.0}, {"source": "wsproto_impl_wsprotocol_handle_ping", "target": "wsproto_impl_wsprotocol_send", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L214", "weight": 1.0}, {"source": "wsproto_impl_wsprotocol_send_500_response", "target": "wsproto_impl_wsprotocol_send", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L224", "weight": 1.0}, {"source": "wsproto_impl_wsprotocol_run_asgi", "target": "wsproto_impl_wsprotocol_send_500_response", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L235", "weight": 1.0}, {"source": "wsproto_impl_rationale_135", "target": "wsproto_impl_wsprotocol_pause_writing", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L135", "weight": 1.0}, {"source": "wsproto_impl_rationale_141", "target": "wsproto_impl_wsprotocol_resume_writing", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L141", "weight": 1.0}, {"source": "wsproto_impl_rationale_115", "target": "backend_venv_lib_python3_12_site_packages_uvicorn_protocols_websockets_wsproto_impl_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L115", "weight": 1.0}], "raw_calls": [{"caller_nid": "wsproto_impl_wsprotocol_init", "callee": "load", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L42"}, {"caller_nid": "wsproto_impl_wsprotocol_init", "callee": "cast", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L45"}, {"caller_nid": "wsproto_impl_wsprotocol_init", "callee": "get_event_loop", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L46"}, {"caller_nid": "wsproto_impl_wsprotocol_init", "callee": "getLogger", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L47"}, {"caller_nid": "wsproto_impl_wsprotocol_init", "callee": "Queue", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L63"}, {"caller_nid": "wsproto_impl_wsprotocol_init", "callee": "WSConnection", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L70"}, {"caller_nid": "wsproto_impl_wsprotocol_init", "callee": "Event", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L73"}, {"caller_nid": "wsproto_impl_wsprotocol_init", "callee": "set", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L74"}, {"caller_nid": "wsproto_impl_wsprotocol_connection_made", "callee": "add", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L85"}, {"caller_nid": "wsproto_impl_wsprotocol_connection_made", "callee": "get_local_addr", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L87"}, {"caller_nid": "wsproto_impl_wsprotocol_connection_made", "callee": "get_remote_addr", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L88"}, {"caller_nid": "wsproto_impl_wsprotocol_connection_made", "callee": "is_ssl", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L89"}, {"caller_nid": "wsproto_impl_wsprotocol_connection_made", "callee": "log", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L93"}, {"caller_nid": "wsproto_impl_wsprotocol_connection_lost", "callee": "put_nowait", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L97"}, {"caller_nid": "wsproto_impl_wsprotocol_connection_lost", "callee": "remove", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L98"}, {"caller_nid": "wsproto_impl_wsprotocol_connection_lost", "callee": "log", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L102"}, {"caller_nid": "wsproto_impl_wsprotocol_connection_lost", "callee": "close", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L106"}, {"caller_nid": "wsproto_impl_wsprotocol_data_received", "callee": "receive_data", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L113"}, {"caller_nid": "wsproto_impl_wsprotocol_data_received", "callee": "write", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L116"}, {"caller_nid": "wsproto_impl_wsprotocol_data_received", "callee": "close", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L117"}, {"caller_nid": "wsproto_impl_wsprotocol_handle_events", "callee": "events", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L122"}, {"caller_nid": "wsproto_impl_wsprotocol_handle_events", "callee": "isinstance", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L123"}, {"caller_nid": "wsproto_impl_wsprotocol_handle_events", "callee": "isinstance", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L125"}, {"caller_nid": "wsproto_impl_wsprotocol_handle_events", "callee": "isinstance", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L127"}, {"caller_nid": "wsproto_impl_wsprotocol_handle_events", "callee": "isinstance", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L129"}, {"caller_nid": "wsproto_impl_wsprotocol_handle_events", "callee": "isinstance", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L131"}, {"caller_nid": "wsproto_impl_wsprotocol_pause_writing", "callee": "clear", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L138"}, {"caller_nid": "wsproto_impl_wsprotocol_resume_writing", "callee": "set", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L144"}, {"caller_nid": "wsproto_impl_wsprotocol_shutdown", "callee": "put_nowait", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L148"}, {"caller_nid": "wsproto_impl_wsprotocol_shutdown", "callee": "CloseConnection", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L149"}, {"caller_nid": "wsproto_impl_wsprotocol_shutdown", "callee": "write", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L150"}, {"caller_nid": "wsproto_impl_wsprotocol_shutdown", "callee": "close", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L153"}, {"caller_nid": "wsproto_impl_wsprotocol_on_task_complete", "callee": "discard", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L156"}, {"caller_nid": "wsproto_impl_wsprotocol_handle_connect", "callee": "encode", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L161"}, {"caller_nid": "wsproto_impl_wsprotocol_handle_connect", "callee": "lower", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L162"}, {"caller_nid": "wsproto_impl_wsprotocol_handle_connect", "callee": "partition", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L163"}, {"caller_nid": "wsproto_impl_wsprotocol_handle_connect", "callee": "unquote", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L164"}, {"caller_nid": "wsproto_impl_wsprotocol_handle_connect", "callee": "encode", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L166"}, {"caller_nid": "wsproto_impl_wsprotocol_handle_connect", "callee": "encode", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L166"}, {"caller_nid": "wsproto_impl_wsprotocol_handle_connect", "callee": "encode", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L177"}, {"caller_nid": "wsproto_impl_wsprotocol_handle_connect", "callee": "copy", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L180"}, {"caller_nid": "wsproto_impl_wsprotocol_handle_connect", "callee": "put_nowait", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L183"}, {"caller_nid": "wsproto_impl_wsprotocol_handle_connect", "callee": "create_task", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L184"}, {"caller_nid": "wsproto_impl_wsprotocol_handle_connect", "callee": "add_done_callback", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L185"}, {"caller_nid": "wsproto_impl_wsprotocol_handle_connect", "callee": "add", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L186"}, {"caller_nid": "wsproto_impl_wsprotocol_handle_text", "callee": "put_nowait", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L191"}, {"caller_nid": "wsproto_impl_wsprotocol_handle_text", "callee": "pause_reading", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L195"}, {"caller_nid": "wsproto_impl_wsprotocol_handle_bytes", "callee": "put_nowait", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L201"}, {"caller_nid": "wsproto_impl_wsprotocol_handle_bytes", "callee": "pause_reading", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L205"}, {"caller_nid": "wsproto_impl_wsprotocol_handle_close", "callee": "write", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L209"}, {"caller_nid": "wsproto_impl_wsprotocol_handle_close", "callee": "response", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L209"}, {"caller_nid": "wsproto_impl_wsprotocol_handle_close", "callee": "put_nowait", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L210"}, {"caller_nid": "wsproto_impl_wsprotocol_handle_close", "callee": "close", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L211"}, {"caller_nid": "wsproto_impl_wsprotocol_handle_ping", "callee": "write", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L214"}, {"caller_nid": "wsproto_impl_wsprotocol_handle_ping", "callee": "response", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L214"}, {"caller_nid": "wsproto_impl_wsprotocol_send_500_response", "callee": "RejectConnection", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L224"}, {"caller_nid": "wsproto_impl_wsprotocol_send_500_response", "callee": "RejectData", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L225"}, {"caller_nid": "wsproto_impl_wsprotocol_send_500_response", "callee": "write", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L226"}, {"caller_nid": "wsproto_impl_wsprotocol_run_asgi", "callee": "app", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L230"}, {"caller_nid": "wsproto_impl_wsprotocol_run_asgi", "callee": "exception", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L234"}, {"caller_nid": "wsproto_impl_wsprotocol_run_asgi", "callee": "error", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L238"}, {"caller_nid": "wsproto_impl_wsprotocol_run_asgi", "callee": "error", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L241"}, {"caller_nid": "wsproto_impl_wsprotocol_run_asgi", "callee": "close", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L242"}, {"caller_nid": "wsproto_impl_wsprotocol_send", "callee": "wait", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L245"}, {"caller_nid": "wsproto_impl_wsprotocol_send", "callee": "info", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L249"}, {"caller_nid": "wsproto_impl_wsprotocol_send", "callee": "get_client_addr", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L251"}, {"caller_nid": "wsproto_impl_wsprotocol_send", "callee": "get_path_with_query_string", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L252"}, {"caller_nid": "wsproto_impl_wsprotocol_send", "callee": "get", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L254"}, {"caller_nid": "wsproto_impl_wsprotocol_send", "callee": "list", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L255"}, {"caller_nid": "wsproto_impl_wsprotocol_send", "callee": "get", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L255"}, {"caller_nid": "wsproto_impl_wsprotocol_send", "callee": "append", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L258"}, {"caller_nid": "wsproto_impl_wsprotocol_send", "callee": "PerMessageDeflate", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L258"}, {"caller_nid": "wsproto_impl_wsprotocol_send", "callee": "is_closing", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L259"}, {"caller_nid": "wsproto_impl_wsprotocol_send", "callee": "AcceptConnection", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L262"}, {"caller_nid": "wsproto_impl_wsprotocol_send", "callee": "write", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L268"}, {"caller_nid": "wsproto_impl_wsprotocol_send", "callee": "put_nowait", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L271"}, {"caller_nid": "wsproto_impl_wsprotocol_send", "callee": "info", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L272"}, {"caller_nid": "wsproto_impl_wsprotocol_send", "callee": "get_client_addr", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L274"}, {"caller_nid": "wsproto_impl_wsprotocol_send", "callee": "get_path_with_query_string", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L275"}, {"caller_nid": "wsproto_impl_wsprotocol_send", "callee": "RejectConnection", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L279"}, {"caller_nid": "wsproto_impl_wsprotocol_send", "callee": "write", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L281"}, {"caller_nid": "wsproto_impl_wsprotocol_send", "callee": "close", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L282"}, {"caller_nid": "wsproto_impl_wsprotocol_send", "callee": "RuntimeError", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L288"}, {"caller_nid": "wsproto_impl_wsprotocol_send", "callee": "info", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L289"}, {"caller_nid": "wsproto_impl_wsprotocol_send", "callee": "get_client_addr", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L291"}, {"caller_nid": "wsproto_impl_wsprotocol_send", "callee": "get_path_with_query_string", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L292"}, {"caller_nid": "wsproto_impl_wsprotocol_send", "callee": "RejectConnection", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L296"}, {"caller_nid": "wsproto_impl_wsprotocol_send", "callee": "list", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L298"}, {"caller_nid": "wsproto_impl_wsprotocol_send", "callee": "write", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L302"}, {"caller_nid": "wsproto_impl_wsprotocol_send", "callee": "RuntimeError", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L306"}, {"caller_nid": "wsproto_impl_wsprotocol_send", "callee": "get", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L314"}, {"caller_nid": "wsproto_impl_wsprotocol_send", "callee": "get", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L315"}, {"caller_nid": "wsproto_impl_wsprotocol_send", "callee": "Message", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L317"}, {"caller_nid": "wsproto_impl_wsprotocol_send", "callee": "is_closing", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L318"}, {"caller_nid": "wsproto_impl_wsprotocol_send", "callee": "write", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L319"}, {"caller_nid": "wsproto_impl_wsprotocol_send", "callee": "get", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L323"}, {"caller_nid": "wsproto_impl_wsprotocol_send", "callee": "get", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L324"}, {"caller_nid": "wsproto_impl_wsprotocol_send", "callee": "put_nowait", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L325"}, {"caller_nid": "wsproto_impl_wsprotocol_send", "callee": "CloseConnection", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L326"}, {"caller_nid": "wsproto_impl_wsprotocol_send", "callee": "is_closing", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L327"}, {"caller_nid": "wsproto_impl_wsprotocol_send", "callee": "write", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L328"}, {"caller_nid": "wsproto_impl_wsprotocol_send", "callee": "close", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L329"}, {"caller_nid": "wsproto_impl_wsprotocol_send", "callee": "RuntimeError", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L332"}, {"caller_nid": "wsproto_impl_wsprotocol_send", "callee": "get", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L339"}, {"caller_nid": "wsproto_impl_wsprotocol_send", "callee": "RejectData", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L340"}, {"caller_nid": "wsproto_impl_wsprotocol_send", "callee": "write", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L342"}, {"caller_nid": "wsproto_impl_wsprotocol_send", "callee": "put_nowait", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L345"}, {"caller_nid": "wsproto_impl_wsprotocol_send", "callee": "close", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L347"}, {"caller_nid": "wsproto_impl_wsprotocol_send", "callee": "RuntimeError", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L350"}, {"caller_nid": "wsproto_impl_wsprotocol_send", "callee": "RuntimeError", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L353"}, {"caller_nid": "wsproto_impl_wsprotocol_receive", "callee": "get", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L356"}, {"caller_nid": "wsproto_impl_wsprotocol_receive", "callee": "empty", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L357"}, {"caller_nid": "wsproto_impl_wsprotocol_receive", "callee": "resume_reading", "source_file": "backend/venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/wsproto_impl.py", "source_location": "L359"}]}