{"nodes": [{"id": "root_socialdesk_apps_web_src_lib_websocket_js", "label": "websocket.js", "file_type": "code", "source_file": "/root/socialdesk/apps/web/src/lib/websocket.js", "source_location": "L1"}, {"id": "lib_websocket_initwebsocket", "label": "initWebSocket()", "file_type": "code", "source_file": "/root/socialdesk/apps/web/src/lib/websocket.js", "source_location": "L11"}, {"id": "lib_websocket_emittotenant", "label": "emitToTenant()", "file_type": "code", "source_file": "/root/socialdesk/apps/web/src/lib/websocket.js", "source_location": "L65"}, {"id": "lib_websocket_emittoconversation", "label": "emitToConversation()", "file_type": "code", "source_file": "/root/socialdesk/apps/web/src/lib/websocket.js", "source_location": "L70"}, {"id": "lib_websocket_notifynewconversation", "label": "notifyNewConversation()", "file_type": "code", "source_file": "/root/socialdesk/apps/web/src/lib/websocket.js", "source_location": "L82"}, {"id": "lib_websocket_notifynewmessage", "label": "notifyNewMessage()", "file_type": "code", "source_file": "/root/socialdesk/apps/web/src/lib/websocket.js", "source_location": "L86"}, {"id": "lib_websocket_notifyconversationupdated", "label": "notifyConversationUpdated()", "file_type": "code", "source_file": "/root/socialdesk/apps/web/src/lib/websocket.js", "source_location": "L91"}], "edges": [{"source": "root_socialdesk_apps_web_src_lib_websocket_js", "target": "socket_io", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/root/socialdesk/apps/web/src/lib/websocket.js", "source_location": "L5", "weight": 1.0}, {"source": "root_socialdesk_apps_web_src_lib_websocket_js", "target": "redis_adapter", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/root/socialdesk/apps/web/src/lib/websocket.js", "source_location": "L6", "weight": 1.0}, {"source": "root_socialdesk_apps_web_src_lib_websocket_js", "target": "root_socialdesk_apps_web_src_app_api_utils_redis_js", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/root/socialdesk/apps/web/src/lib/websocket.js", "source_location": "L7", "weight": 1.0}, {"source": "root_socialdesk_apps_web_src_lib_websocket_js", "target": "utils_redis_redis", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/root/socialdesk/apps/web/src/lib/websocket.js", "source_location": "L7", "weight": 1.0}, {"source": "root_socialdesk_apps_web_src_lib_websocket_js", "target": "lib_websocket_initwebsocket", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/root/socialdesk/apps/web/src/lib/websocket.js", "source_location": "L11", "weight": 1.0}, {"source": "root_socialdesk_apps_web_src_lib_websocket_js", "target": "lib_websocket_emittotenant", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/root/socialdesk/apps/web/src/lib/websocket.js", "source_location": "L65", "weight": 1.0}, {"source": "root_socialdesk_apps_web_src_lib_websocket_js", "target": "lib_websocket_emittoconversation", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/root/socialdesk/apps/web/src/lib/websocket.js", "source_location": "L70", "weight": 1.0}, {"source": "root_socialdesk_apps_web_src_lib_websocket_js", "target": "lib_websocket_notifynewconversation", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/root/socialdesk/apps/web/src/lib/websocket.js", "source_location": "L82", "weight": 1.0}, {"source": "root_socialdesk_apps_web_src_lib_websocket_js", "target": "lib_websocket_notifynewmessage", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/root/socialdesk/apps/web/src/lib/websocket.js", "source_location": "L86", "weight": 1.0}, {"source": "root_socialdesk_apps_web_src_lib_websocket_js", "target": "lib_websocket_notifyconversationupdated", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/root/socialdesk/apps/web/src/lib/websocket.js", "source_location": "L91", "weight": 1.0}, {"source": "lib_websocket_notifynewconversation", "target": "lib_websocket_emittotenant", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/root/socialdesk/apps/web/src/lib/websocket.js", "source_location": "L83", "weight": 1.0}, {"source": "lib_websocket_notifynewmessage", "target": "lib_websocket_emittotenant", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/root/socialdesk/apps/web/src/lib/websocket.js", "source_location": "L87", "weight": 1.0}, {"source": "lib_websocket_notifynewmessage", "target": "lib_websocket_emittoconversation", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/root/socialdesk/apps/web/src/lib/websocket.js", "source_location": "L88", "weight": 1.0}, {"source": "lib_websocket_notifyconversationupdated", "target": "lib_websocket_emittotenant", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/root/socialdesk/apps/web/src/lib/websocket.js", "source_location": "L92", "weight": 1.0}, {"source": "lib_websocket_notifyconversationupdated", "target": "lib_websocket_emittoconversation", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/root/socialdesk/apps/web/src/lib/websocket.js", "source_location": "L93", "weight": 1.0}], "raw_calls": [{"caller_nid": "lib_websocket_initwebsocket", "callee": "duplicate", "is_member_call": true, "source_file": "/root/socialdesk/apps/web/src/lib/websocket.js", "source_location": "L21"}, {"caller_nid": "lib_websocket_initwebsocket", "callee": "duplicate", "is_member_call": true, "source_file": "/root/socialdesk/apps/web/src/lib/websocket.js", "source_location": "L22"}, {"caller_nid": "lib_websocket_initwebsocket", "callee": "adapter", "is_member_call": true, "source_file": "/root/socialdesk/apps/web/src/lib/websocket.js", "source_location": "L23"}, {"caller_nid": "lib_websocket_initwebsocket", "callee": "createAdapter", "is_member_call": false, "source_file": "/root/socialdesk/apps/web/src/lib/websocket.js", "source_location": "L23"}, {"caller_nid": "lib_websocket_initwebsocket", "callee": "on", "is_member_call": true, "source_file": "/root/socialdesk/apps/web/src/lib/websocket.js", "source_location": "L25"}, {"caller_nid": "lib_websocket_emittotenant", "callee": "emit", "is_member_call": true, "source_file": "/root/socialdesk/apps/web/src/lib/websocket.js", "source_location": "L67"}, {"caller_nid": "lib_websocket_emittotenant", "callee": "to", "is_member_call": true, "source_file": "/root/socialdesk/apps/web/src/lib/websocket.js", "source_location": "L67"}, {"caller_nid": "lib_websocket_emittoconversation", "callee": "emit", "is_member_call": true, "source_file": "/root/socialdesk/apps/web/src/lib/websocket.js", "source_location": "L72"}, {"caller_nid": "lib_websocket_emittoconversation", "callee": "to", "is_member_call": true, "source_file": "/root/socialdesk/apps/web/src/lib/websocket.js", "source_location": "L72"}]}