1 line
24 KiB
JSON
1 line
24 KiB
JSON
{"nodes": [{"id": "backend_venv_lib_python3_12_site_packages_starlette_websockets_py", "label": "websockets.py", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/starlette/websockets.py", "source_location": "L1"}, {"id": "websockets_websocketstate", "label": "WebSocketState", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/starlette/websockets.py", "source_location": "L13"}, {"id": "websockets_websocketdisconnect", "label": "WebSocketDisconnect", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/starlette/websockets.py", "source_location": "L20"}, {"id": "exception", "label": "Exception", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "websockets_websocketdisconnect_init", "label": ".__init__()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/starlette/websockets.py", "source_location": "L21"}, {"id": "websockets_websocket", "label": "WebSocket", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/starlette/websockets.py", "source_location": "L26"}, {"id": "websockets_websocket_init", "label": ".__init__()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/starlette/websockets.py", "source_location": "L27"}, {"id": "websockets_websocket_receive", "label": ".receive()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/starlette/websockets.py", "source_location": "L35"}, {"id": "websockets_websocket_send", "label": ".send()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/starlette/websockets.py", "source_location": "L59"}, {"id": "websockets_websocket_accept", "label": ".accept()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/starlette/websockets.py", "source_location": "L100"}, {"id": "websockets_websocket_raise_on_disconnect", "label": "._raise_on_disconnect()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/starlette/websockets.py", "source_location": "L112"}, {"id": "websockets_websocket_receive_text", "label": ".receive_text()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/starlette/websockets.py", "source_location": "L116"}, {"id": "websockets_websocket_receive_bytes", "label": ".receive_bytes()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/starlette/websockets.py", "source_location": "L123"}, {"id": "websockets_websocket_receive_json", "label": ".receive_json()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/starlette/websockets.py", "source_location": "L130"}, {"id": "websockets_websocket_iter_text", "label": ".iter_text()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/starlette/websockets.py", "source_location": "L144"}, {"id": "websockets_websocket_iter_bytes", "label": ".iter_bytes()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/starlette/websockets.py", "source_location": "L151"}, {"id": "websockets_websocket_iter_json", "label": ".iter_json()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/starlette/websockets.py", "source_location": "L158"}, {"id": "websockets_websocket_send_text", "label": ".send_text()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/starlette/websockets.py", "source_location": "L165"}, {"id": "websockets_websocket_send_bytes", "label": ".send_bytes()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/starlette/websockets.py", "source_location": "L168"}, {"id": "websockets_websocket_send_json", "label": ".send_json()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/starlette/websockets.py", "source_location": "L171"}, {"id": "websockets_websocket_close", "label": ".close()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/starlette/websockets.py", "source_location": "L180"}, {"id": "websockets_websocket_send_denial_response", "label": ".send_denial_response()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/starlette/websockets.py", "source_location": "L183"}, {"id": "websockets_websocketclose", "label": "WebSocketClose", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/starlette/websockets.py", "source_location": "L190"}, {"id": "websockets_websocketclose_init", "label": ".__init__()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/starlette/websockets.py", "source_location": "L191"}, {"id": "websockets_websocketclose_call", "label": ".__call__()", "file_type": "code", "source_file": "backend/venv/lib/python3.12/site-packages/starlette/websockets.py", "source_location": "L195"}, {"id": "websockets_rationale_36", "label": "Receive ASGI websocket messages, ensuring valid state transitions.", "file_type": "rationale", "source_file": "backend/venv/lib/python3.12/site-packages/starlette/websockets.py", "source_location": "L36"}, {"id": "websockets_rationale_60", "label": "Send ASGI websocket messages, ensuring valid state transitions.", "file_type": "rationale", "source_file": "backend/venv/lib/python3.12/site-packages/starlette/websockets.py", "source_location": "L60"}], "edges": [{"source": "backend_venv_lib_python3_12_site_packages_starlette_websockets_py", "target": "enum", "relation": "imports", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/starlette/websockets.py", "source_location": "L3", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_starlette_websockets_py", "target": "json", "relation": "imports", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/starlette/websockets.py", "source_location": "L4", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_starlette_websockets_py", "target": "collections_abc", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/starlette/websockets.py", "source_location": "L5", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_starlette_websockets_py", "target": "typing", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/starlette/websockets.py", "source_location": "L6", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_starlette_websockets_py", "target": "starlette_requests", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/starlette/websockets.py", "source_location": "L8", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_starlette_websockets_py", "target": "starlette_responses", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/starlette/websockets.py", "source_location": "L9", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_starlette_websockets_py", "target": "starlette_types", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/starlette/websockets.py", "source_location": "L10", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_starlette_websockets_py", "target": "websockets_websocketstate", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/starlette/websockets.py", "source_location": "L13", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_starlette_websockets_py", "target": "websockets_websocketdisconnect", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/starlette/websockets.py", "source_location": "L20", "weight": 1.0}, {"source": "websockets_websocketdisconnect", "target": "exception", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/starlette/websockets.py", "source_location": "L20", "weight": 1.0}, {"source": "websockets_websocketdisconnect", "target": "websockets_websocketdisconnect_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/starlette/websockets.py", "source_location": "L21", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_starlette_websockets_py", "target": "websockets_websocket", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/starlette/websockets.py", "source_location": "L26", "weight": 1.0}, {"source": "websockets_websocket", "target": "websockets_websocket_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/starlette/websockets.py", "source_location": "L27", "weight": 1.0}, {"source": "websockets_websocket", "target": "websockets_websocket_receive", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/starlette/websockets.py", "source_location": "L35", "weight": 1.0}, {"source": "websockets_websocket", "target": "websockets_websocket_send", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/starlette/websockets.py", "source_location": "L59", "weight": 1.0}, {"source": "websockets_websocket", "target": "websockets_websocket_accept", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/starlette/websockets.py", "source_location": "L100", "weight": 1.0}, {"source": "websockets_websocket", "target": "websockets_websocket_raise_on_disconnect", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/starlette/websockets.py", "source_location": "L112", "weight": 1.0}, {"source": "websockets_websocket", "target": "websockets_websocket_receive_text", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/starlette/websockets.py", "source_location": "L116", "weight": 1.0}, {"source": "websockets_websocket", "target": "websockets_websocket_receive_bytes", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/starlette/websockets.py", "source_location": "L123", "weight": 1.0}, {"source": "websockets_websocket", "target": "websockets_websocket_receive_json", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/starlette/websockets.py", "source_location": "L130", "weight": 1.0}, {"source": "websockets_websocket", "target": "websockets_websocket_iter_text", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/starlette/websockets.py", "source_location": "L144", "weight": 1.0}, {"source": "websockets_websocket", "target": "websockets_websocket_iter_bytes", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/starlette/websockets.py", "source_location": "L151", "weight": 1.0}, {"source": "websockets_websocket", "target": "websockets_websocket_iter_json", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/starlette/websockets.py", "source_location": "L158", "weight": 1.0}, {"source": "websockets_websocket", "target": "websockets_websocket_send_text", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/starlette/websockets.py", "source_location": "L165", "weight": 1.0}, {"source": "websockets_websocket", "target": "websockets_websocket_send_bytes", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/starlette/websockets.py", "source_location": "L168", "weight": 1.0}, {"source": "websockets_websocket", "target": "websockets_websocket_send_json", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/starlette/websockets.py", "source_location": "L171", "weight": 1.0}, {"source": "websockets_websocket", "target": "websockets_websocket_close", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/starlette/websockets.py", "source_location": "L180", "weight": 1.0}, {"source": "websockets_websocket", "target": "websockets_websocket_send_denial_response", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/starlette/websockets.py", "source_location": "L183", "weight": 1.0}, {"source": "backend_venv_lib_python3_12_site_packages_starlette_websockets_py", "target": "websockets_websocketclose", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/starlette/websockets.py", "source_location": "L190", "weight": 1.0}, {"source": "websockets_websocketclose", "target": "websockets_websocketclose_init", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/starlette/websockets.py", "source_location": "L191", "weight": 1.0}, {"source": "websockets_websocketclose", "target": "websockets_websocketclose_call", "relation": "method", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/starlette/websockets.py", "source_location": "L195", "weight": 1.0}, {"source": "websockets_websocket_init", "target": "websockets_websocketclose_init", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/starlette/websockets.py", "source_location": "L28", "weight": 1.0}, {"source": "websockets_websocket_send", "target": "websockets_websocketdisconnect", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/starlette/websockets.py", "source_location": "L89", "weight": 1.0}, {"source": "websockets_websocket_accept", "target": "websockets_websocket_receive", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/starlette/websockets.py", "source_location": "L109", "weight": 1.0}, {"source": "websockets_websocket_accept", "target": "websockets_websocket_send", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/starlette/websockets.py", "source_location": "L110", "weight": 1.0}, {"source": "websockets_websocket_raise_on_disconnect", "target": "websockets_websocketdisconnect", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/starlette/websockets.py", "source_location": "L114", "weight": 1.0}, {"source": "websockets_websocket_receive_text", "target": "websockets_websocket_receive", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/starlette/websockets.py", "source_location": "L119", "weight": 1.0}, {"source": "websockets_websocket_receive_text", "target": "websockets_websocket_raise_on_disconnect", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/starlette/websockets.py", "source_location": "L120", "weight": 1.0}, {"source": "websockets_websocket_receive_bytes", "target": "websockets_websocket_receive", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/starlette/websockets.py", "source_location": "L126", "weight": 1.0}, {"source": "websockets_websocket_receive_bytes", "target": "websockets_websocket_raise_on_disconnect", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/starlette/websockets.py", "source_location": "L127", "weight": 1.0}, {"source": "websockets_websocket_receive_json", "target": "websockets_websocket_receive", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/starlette/websockets.py", "source_location": "L135", "weight": 1.0}, {"source": "websockets_websocket_receive_json", "target": "websockets_websocket_raise_on_disconnect", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/starlette/websockets.py", "source_location": "L136", "weight": 1.0}, {"source": "websockets_websocket_iter_text", "target": "websockets_websocket_receive_text", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/starlette/websockets.py", "source_location": "L147", "weight": 1.0}, {"source": "websockets_websocket_iter_bytes", "target": "websockets_websocket_receive_bytes", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/starlette/websockets.py", "source_location": "L154", "weight": 1.0}, {"source": "websockets_websocket_iter_json", "target": "websockets_websocket_receive_json", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/starlette/websockets.py", "source_location": "L161", "weight": 1.0}, {"source": "websockets_websocket_send_text", "target": "websockets_websocket_send", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/starlette/websockets.py", "source_location": "L166", "weight": 1.0}, {"source": "websockets_websocket_send_bytes", "target": "websockets_websocket_send", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/starlette/websockets.py", "source_location": "L169", "weight": 1.0}, {"source": "websockets_websocket_send_json", "target": "websockets_websocket_send", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/starlette/websockets.py", "source_location": "L176", "weight": 1.0}, {"source": "websockets_websocket_close", "target": "websockets_websocket_send", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/starlette/websockets.py", "source_location": "L181", "weight": 1.0}, {"source": "websockets_websocketclose_call", "target": "websockets_websocket_send", "relation": "calls", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/starlette/websockets.py", "source_location": "L196", "weight": 1.0}, {"source": "websockets_rationale_36", "target": "websockets_websocket_receive", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/starlette/websockets.py", "source_location": "L36", "weight": 1.0}, {"source": "websockets_rationale_60", "target": "websockets_websocket_send", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/venv/lib/python3.12/site-packages/starlette/websockets.py", "source_location": "L60", "weight": 1.0}], "raw_calls": [{"caller_nid": "websockets_websocket_init", "callee": "super", "source_file": "backend/venv/lib/python3.12/site-packages/starlette/websockets.py", "source_location": "L28"}, {"caller_nid": "websockets_websocket_receive", "callee": "_receive", "source_file": "backend/venv/lib/python3.12/site-packages/starlette/websockets.py", "source_location": "L40"}, {"caller_nid": "websockets_websocket_receive", "callee": "RuntimeError", "source_file": "backend/venv/lib/python3.12/site-packages/starlette/websockets.py", "source_location": "L43"}, {"caller_nid": "websockets_websocket_receive", "callee": "_receive", "source_file": "backend/venv/lib/python3.12/site-packages/starlette/websockets.py", "source_location": "L47"}, {"caller_nid": "websockets_websocket_receive", "callee": "RuntimeError", "source_file": "backend/venv/lib/python3.12/site-packages/starlette/websockets.py", "source_location": "L50"}, {"caller_nid": "websockets_websocket_receive", "callee": "RuntimeError", "source_file": "backend/venv/lib/python3.12/site-packages/starlette/websockets.py", "source_location": "L57"}, {"caller_nid": "websockets_websocket_send", "callee": "RuntimeError", "source_file": "backend/venv/lib/python3.12/site-packages/starlette/websockets.py", "source_location": "L66"}, {"caller_nid": "websockets_websocket_send", "callee": "_send", "source_file": "backend/venv/lib/python3.12/site-packages/starlette/websockets.py", "source_location": "L76"}, {"caller_nid": "websockets_websocket_send", "callee": "RuntimeError", "source_file": "backend/venv/lib/python3.12/site-packages/starlette/websockets.py", "source_location": "L80"}, {"caller_nid": "websockets_websocket_send", "callee": "_send", "source_file": "backend/venv/lib/python3.12/site-packages/starlette/websockets.py", "source_location": "L86"}, {"caller_nid": "websockets_websocket_send", "callee": "RuntimeError", "source_file": "backend/venv/lib/python3.12/site-packages/starlette/websockets.py", "source_location": "L93"}, {"caller_nid": "websockets_websocket_send", "callee": "get", "source_file": "backend/venv/lib/python3.12/site-packages/starlette/websockets.py", "source_location": "L94"}, {"caller_nid": "websockets_websocket_send", "callee": "_send", "source_file": "backend/venv/lib/python3.12/site-packages/starlette/websockets.py", "source_location": "L96"}, {"caller_nid": "websockets_websocket_send", "callee": "RuntimeError", "source_file": "backend/venv/lib/python3.12/site-packages/starlette/websockets.py", "source_location": "L98"}, {"caller_nid": "websockets_websocket_raise_on_disconnect", "callee": "get", "source_file": "backend/venv/lib/python3.12/site-packages/starlette/websockets.py", "source_location": "L114"}, {"caller_nid": "websockets_websocket_receive_text", "callee": "RuntimeError", "source_file": "backend/venv/lib/python3.12/site-packages/starlette/websockets.py", "source_location": "L118"}, {"caller_nid": "websockets_websocket_receive_text", "callee": "cast", "source_file": "backend/venv/lib/python3.12/site-packages/starlette/websockets.py", "source_location": "L121"}, {"caller_nid": "websockets_websocket_receive_bytes", "callee": "RuntimeError", "source_file": "backend/venv/lib/python3.12/site-packages/starlette/websockets.py", "source_location": "L125"}, {"caller_nid": "websockets_websocket_receive_bytes", "callee": "cast", "source_file": "backend/venv/lib/python3.12/site-packages/starlette/websockets.py", "source_location": "L128"}, {"caller_nid": "websockets_websocket_receive_json", "callee": "RuntimeError", "source_file": "backend/venv/lib/python3.12/site-packages/starlette/websockets.py", "source_location": "L132"}, {"caller_nid": "websockets_websocket_receive_json", "callee": "RuntimeError", "source_file": "backend/venv/lib/python3.12/site-packages/starlette/websockets.py", "source_location": "L134"}, {"caller_nid": "websockets_websocket_receive_json", "callee": "decode", "source_file": "backend/venv/lib/python3.12/site-packages/starlette/websockets.py", "source_location": "L141"}, {"caller_nid": "websockets_websocket_receive_json", "callee": "loads", "source_file": "backend/venv/lib/python3.12/site-packages/starlette/websockets.py", "source_location": "L142"}, {"caller_nid": "websockets_websocket_send_json", "callee": "RuntimeError", "source_file": "backend/venv/lib/python3.12/site-packages/starlette/websockets.py", "source_location": "L173"}, {"caller_nid": "websockets_websocket_send_json", "callee": "dumps", "source_file": "backend/venv/lib/python3.12/site-packages/starlette/websockets.py", "source_location": "L174"}, {"caller_nid": "websockets_websocket_send_json", "callee": "encode", "source_file": "backend/venv/lib/python3.12/site-packages/starlette/websockets.py", "source_location": "L178"}, {"caller_nid": "websockets_websocket_send_denial_response", "callee": "get", "source_file": "backend/venv/lib/python3.12/site-packages/starlette/websockets.py", "source_location": "L184"}, {"caller_nid": "websockets_websocket_send_denial_response", "callee": "response", "source_file": "backend/venv/lib/python3.12/site-packages/starlette/websockets.py", "source_location": "L185"}, {"caller_nid": "websockets_websocket_send_denial_response", "callee": "RuntimeError", "source_file": "backend/venv/lib/python3.12/site-packages/starlette/websockets.py", "source_location": "L187"}]} |