{"nodes": [{"id": "$graphify-root$_live_hooks_py", "label": "live_hooks.py", "file_type": "code", "source_file": "live_hooks.py", "source_location": "L1"}, {"id": "$graphify-root$_live_hooks_is_live", "label": "is_live()", "file_type": "code", "source_file": "live_hooks.py", "source_location": "L12", "_callable": true}, {"id": "$graphify-root$_live_hooks_live_set_prop_value", "label": "live_set_prop_value()", "file_type": "code", "source_file": "live_hooks.py", "source_location": "L20", "_callable": true}, {"id": "$graphify-root$_live_hooks_live_add_component", "label": "live_add_component()", "file_type": "code", "source_file": "live_hooks.py", "source_location": "L47", "_callable": true}, {"id": "$graphify-root$_live_hooks_live_delete_component", "label": "live_delete_component()", "file_type": "code", "source_file": "live_hooks.py", "source_location": "L78", "_callable": true}, {"id": "$graphify-root$_live_hooks_live_rename_component", "label": "live_rename_component()", "file_type": "code", "source_file": "live_hooks.py", "source_location": "L106", "_callable": true}, {"id": "$graphify-root$_live_hooks_live_add_link", "label": "live_add_link()", "file_type": "code", "source_file": "live_hooks.py", "source_location": "L126", "_callable": true}, {"id": "$graphify-root$_live_hooks_live_delete_link", "label": "live_delete_link()", "file_type": "code", "source_file": "live_hooks.py", "source_location": "L150", "_callable": true}, {"id": "$graphify-root$_live_hooks_live_invoke", "label": "live_invoke()", "file_type": "code", "source_file": "live_hooks.py", "source_location": "L176", "_callable": true}, {"id": "$graphify-root$_live_hooks_comp_id", "label": "_comp_id()", "file_type": "code", "source_file": "live_hooks.py", "source_location": "L200", "_callable": true}, {"id": "$graphify-root$_live_hooks_find_slot", "label": "_find_slot()", "file_type": "code", "source_file": "live_hooks.py", "source_location": "L212", "_callable": true}, {"id": "$graphify-root$_live_hooks_kit_id", "label": "_kit_id()", "file_type": "code", "source_file": "live_hooks.py", "source_location": "L231", "_callable": true}, {"id": "$graphify-root$_live_hooks_type_id", "label": "_type_id()", "file_type": "code", "source_file": "live_hooks.py", "source_location": "L239", "_callable": true}, {"id": "$graphify-root$_live_hooks_coerce_value", "label": "_coerce_value()", "file_type": "code", "source_file": "live_hooks.py", "source_location": "L248", "_callable": true}, {"id": "$graphify-root$_live_hooks_rationale_1", "label": "Write-through interception layer for live device mode. Checks\u2026", "file_type": "rationale", "source_file": "live_hooks.py", "source_location": "L1"}, {"id": "$graphify-root$_live_hooks_rationale_21", "label": "In live mode, sends a Sox write to the device. Returns True on success.", "file_type": "rationale", "source_file": "live_hooks.py", "source_location": "L21"}, {"id": "$graphify-root$_live_hooks_rationale_48", "label": "In live mode, sends a Sox add to the device. Returns new comp_id or None.", "file_type": "rationale", "source_file": "live_hooks.py", "source_location": "L48"}, {"id": "$graphify-root$_live_hooks_rationale_79", "label": "In live mode, sends a Sox delete to the device. Returns True on success.", "file_type": "rationale", "source_file": "live_hooks.py", "source_location": "L79"}, {"id": "$graphify-root$_live_hooks_rationale_107", "label": "In live mode, sends a Sox rename to the device. Returns True on success.", "file_type": "rationale", "source_file": "live_hooks.py", "source_location": "L107"}, {"id": "$graphify-root$_live_hooks_rationale_127", "label": "In live mode, sends a Sox link command. Returns True on success.", "file_type": "rationale", "source_file": "live_hooks.py", "source_location": "L127"}, {"id": "$graphify-root$_live_hooks_rationale_151", "label": "In live mode, sends a Sox unlink command. Returns True on success.", "file_type": "rationale", "source_file": "live_hooks.py", "source_location": "L151"}, {"id": "$graphify-root$_live_hooks_rationale_177", "label": "In live mode, sends a Sox invoke. Returns True on success.", "file_type": "rationale", "source_file": "live_hooks.py", "source_location": "L177"}], "edges": [{"source": "$graphify-root$_live_hooks_py", "target": "app_state", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "live_hooks.py", "source_location": "L8", "weight": 1.0}, {"source": "$graphify-root$_live_hooks_py", "target": "sox", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "live_hooks.py", "source_location": "L9", "weight": 1.0}, {"source": "$graphify-root$_live_hooks_py", "target": "$graphify-root$_live_hooks_is_live", "relation": "contains", "confidence": "EXTRACTED", "source_file": "live_hooks.py", "source_location": "L12", "weight": 1.0}, {"source": "$graphify-root$_live_hooks_py", "target": "$graphify-root$_live_hooks_live_set_prop_value", "relation": "contains", "confidence": "EXTRACTED", "source_file": "live_hooks.py", "source_location": "L20", "weight": 1.0}, {"source": "$graphify-root$_live_hooks_py", "target": "$graphify-root$_live_hooks_live_add_component", "relation": "contains", "confidence": "EXTRACTED", "source_file": "live_hooks.py", "source_location": "L47", "weight": 1.0}, {"source": "$graphify-root$_live_hooks_py", "target": "$graphify-root$_live_hooks_live_delete_component", "relation": "contains", "confidence": "EXTRACTED", "source_file": "live_hooks.py", "source_location": "L78", "weight": 1.0}, {"source": "$graphify-root$_live_hooks_py", "target": "$graphify-root$_live_hooks_live_rename_component", "relation": "contains", "confidence": "EXTRACTED", "source_file": "live_hooks.py", "source_location": "L106", "weight": 1.0}, {"source": "$graphify-root$_live_hooks_py", "target": "$graphify-root$_live_hooks_live_add_link", "relation": "contains", "confidence": "EXTRACTED", "source_file": "live_hooks.py", "source_location": "L126", "weight": 1.0}, {"source": "$graphify-root$_live_hooks_py", "target": "$graphify-root$_live_hooks_live_delete_link", "relation": "contains", "confidence": "EXTRACTED", "source_file": "live_hooks.py", "source_location": "L150", "weight": 1.0}, {"source": "$graphify-root$_live_hooks_py", "target": "$graphify-root$_live_hooks_live_invoke", "relation": "contains", "confidence": "EXTRACTED", "source_file": "live_hooks.py", "source_location": "L176", "weight": 1.0}, {"source": "$graphify-root$_live_hooks_py", "target": "$graphify-root$_live_hooks_comp_id", "relation": "contains", "confidence": "EXTRACTED", "source_file": "live_hooks.py", "source_location": "L200", "weight": 1.0}, {"source": "$graphify-root$_live_hooks_py", "target": "$graphify-root$_live_hooks_find_slot", "relation": "contains", "confidence": "EXTRACTED", "source_file": "live_hooks.py", "source_location": "L212", "weight": 1.0}, {"source": "$graphify-root$_live_hooks_py", "target": "$graphify-root$_live_hooks_kit_id", "relation": "contains", "confidence": "EXTRACTED", "source_file": "live_hooks.py", "source_location": "L231", "weight": 1.0}, {"source": "$graphify-root$_live_hooks_py", "target": "$graphify-root$_live_hooks_type_id", "relation": "contains", "confidence": "EXTRACTED", "source_file": "live_hooks.py", "source_location": "L239", "weight": 1.0}, {"source": "$graphify-root$_live_hooks_py", "target": "$graphify-root$_live_hooks_coerce_value", "relation": "contains", "confidence": "EXTRACTED", "source_file": "live_hooks.py", "source_location": "L248", "weight": 1.0}, {"source": "$graphify-root$_live_hooks_live_set_prop_value", "target": "$graphify-root$_live_hooks_is_live", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "live_hooks.py", "source_location": "L22", "weight": 1.0}, {"source": "$graphify-root$_live_hooks_live_set_prop_value", "target": "$graphify-root$_live_hooks_comp_id", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "live_hooks.py", "source_location": "L26", "weight": 1.0}, {"source": "$graphify-root$_live_hooks_live_set_prop_value", "target": "$graphify-root$_live_hooks_find_slot", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "live_hooks.py", "source_location": "L30", "weight": 1.0}, {"source": "$graphify-root$_live_hooks_live_set_prop_value", "target": "$graphify-root$_live_hooks_coerce_value", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "live_hooks.py", "source_location": "L35", "weight": 1.0}, {"source": "$graphify-root$_live_hooks_live_add_component", "target": "$graphify-root$_live_hooks_is_live", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "live_hooks.py", "source_location": "L49", "weight": 1.0}, {"source": "$graphify-root$_live_hooks_live_add_component", "target": "$graphify-root$_live_hooks_comp_id", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "live_hooks.py", "source_location": "L53", "weight": 1.0}, {"source": "$graphify-root$_live_hooks_live_add_component", "target": "$graphify-root$_live_hooks_kit_id", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "live_hooks.py", "source_location": "L57", "weight": 1.0}, {"source": "$graphify-root$_live_hooks_live_add_component", "target": "$graphify-root$_live_hooks_type_id", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "live_hooks.py", "source_location": "L58", "weight": 1.0}, {"source": "$graphify-root$_live_hooks_live_delete_component", "target": "$graphify-root$_live_hooks_is_live", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "live_hooks.py", "source_location": "L80", "weight": 1.0}, {"source": "$graphify-root$_live_hooks_live_delete_component", "target": "$graphify-root$_live_hooks_comp_id", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "live_hooks.py", "source_location": "L84", "weight": 1.0}, {"source": "$graphify-root$_live_hooks_live_rename_component", "target": "$graphify-root$_live_hooks_is_live", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "live_hooks.py", "source_location": "L108", "weight": 1.0}, {"source": "$graphify-root$_live_hooks_live_rename_component", "target": "$graphify-root$_live_hooks_comp_id", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "live_hooks.py", "source_location": "L112", "weight": 1.0}, {"source": "$graphify-root$_live_hooks_live_add_link", "target": "$graphify-root$_live_hooks_is_live", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "live_hooks.py", "source_location": "L128", "weight": 1.0}, {"source": "$graphify-root$_live_hooks_live_add_link", "target": "$graphify-root$_live_hooks_comp_id", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "live_hooks.py", "source_location": "L132", "weight": 1.0}, {"source": "$graphify-root$_live_hooks_live_add_link", "target": "$graphify-root$_live_hooks_find_slot", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "live_hooks.py", "source_location": "L137", "weight": 1.0}, {"source": "$graphify-root$_live_hooks_live_delete_link", "target": "$graphify-root$_live_hooks_is_live", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "live_hooks.py", "source_location": "L152", "weight": 1.0}, {"source": "$graphify-root$_live_hooks_live_delete_link", "target": "$graphify-root$_live_hooks_comp_id", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "live_hooks.py", "source_location": "L156", "weight": 1.0}, {"source": "$graphify-root$_live_hooks_live_delete_link", "target": "$graphify-root$_live_hooks_find_slot", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "live_hooks.py", "source_location": "L161", "weight": 1.0}, {"source": "$graphify-root$_live_hooks_live_invoke", "target": "$graphify-root$_live_hooks_is_live", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "live_hooks.py", "source_location": "L178", "weight": 1.0}, {"source": "$graphify-root$_live_hooks_live_invoke", "target": "$graphify-root$_live_hooks_comp_id", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "live_hooks.py", "source_location": "L182", "weight": 1.0}, {"source": "$graphify-root$_live_hooks_live_invoke", "target": "$graphify-root$_live_hooks_find_slot", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "live_hooks.py", "source_location": "L186", "weight": 1.0}, {"source": "$graphify-root$_live_hooks_rationale_1", "target": "$graphify-root$_live_hooks_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "live_hooks.py", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_live_hooks_rationale_21", "target": "$graphify-root$_live_hooks_live_set_prop_value", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "live_hooks.py", "source_location": "L21", "weight": 1.0}, {"source": "$graphify-root$_live_hooks_rationale_48", "target": "$graphify-root$_live_hooks_live_add_component", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "live_hooks.py", "source_location": "L48", "weight": 1.0}, {"source": "$graphify-root$_live_hooks_rationale_79", "target": "$graphify-root$_live_hooks_live_delete_component", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "live_hooks.py", "source_location": "L79", "weight": 1.0}, {"source": "$graphify-root$_live_hooks_rationale_107", "target": "$graphify-root$_live_hooks_live_rename_component", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "live_hooks.py", "source_location": "L107", "weight": 1.0}, {"source": "$graphify-root$_live_hooks_rationale_127", "target": "$graphify-root$_live_hooks_live_add_link", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "live_hooks.py", "source_location": "L127", "weight": 1.0}, {"source": "$graphify-root$_live_hooks_rationale_151", "target": "$graphify-root$_live_hooks_live_delete_link", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "live_hooks.py", "source_location": "L151", "weight": 1.0}, {"source": "$graphify-root$_live_hooks_rationale_177", "target": "$graphify-root$_live_hooks_live_invoke", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "live_hooks.py", "source_location": "L177", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_live_hooks_live_set_prop_value", "callee": "type_id_for_slot", "is_member_call": false, "source_file": "live_hooks.py", "source_location": "L34", "receiver": null}, {"caller_nid": "$graphify-root$_live_hooks_live_set_prop_value", "callee": "write_prop", "is_member_call": true, "source_file": "live_hooks.py", "source_location": "L38", "receiver": null}, {"caller_nid": "$graphify-root$_live_hooks_live_set_prop_value", "callee": "set_status", "is_member_call": true, "source_file": "live_hooks.py", "source_location": "L41", "receiver": "app_state"}, {"caller_nid": "$graphify-root$_live_hooks_live_add_component", "callee": "append", "is_member_call": true, "source_file": "live_hooks.py", "source_location": "L65", "receiver": "sox_config"}, {"caller_nid": "$graphify-root$_live_hooks_live_add_component", "callee": "add", "is_member_call": true, "source_file": "live_hooks.py", "source_location": "L68", "receiver": null}, {"caller_nid": "$graphify-root$_live_hooks_live_add_component", "callee": "after_add", "is_member_call": true, "source_file": "live_hooks.py", "source_location": "L69", "receiver": "ds"}, {"caller_nid": "$graphify-root$_live_hooks_live_add_component", "callee": "set_status", "is_member_call": true, "source_file": "live_hooks.py", "source_location": "L72", "receiver": "app_state"}, {"caller_nid": "$graphify-root$_live_hooks_live_delete_component", "callee": "iter", "is_member_call": true, "source_file": "live_hooks.py", "source_location": "L89", "receiver": "element"}, {"caller_nid": "$graphify-root$_live_hooks_live_delete_component", "callee": "append", "is_member_call": true, "source_file": "live_hooks.py", "source_location": "L93", "receiver": "descendant_ids"}, {"caller_nid": "$graphify-root$_live_hooks_live_delete_component", "callee": "delete", "is_member_call": true, "source_file": "live_hooks.py", "source_location": "L96", "receiver": null}, {"caller_nid": "$graphify-root$_live_hooks_live_delete_component", "callee": "after_delete", "is_member_call": true, "source_file": "live_hooks.py", "source_location": "L97", "receiver": "ds"}, {"caller_nid": "$graphify-root$_live_hooks_live_delete_component", "callee": "set_status", "is_member_call": true, "source_file": "live_hooks.py", "source_location": "L100", "receiver": "app_state"}, {"caller_nid": "$graphify-root$_live_hooks_live_rename_component", "callee": "rename", "is_member_call": true, "source_file": "live_hooks.py", "source_location": "L117", "receiver": null}, {"caller_nid": "$graphify-root$_live_hooks_live_rename_component", "callee": "set_status", "is_member_call": true, "source_file": "live_hooks.py", "source_location": "L120", "receiver": "app_state"}, {"caller_nid": "$graphify-root$_live_hooks_live_add_link", "callee": "link", "is_member_call": true, "source_file": "live_hooks.py", "source_location": "L143", "receiver": null}, {"caller_nid": "$graphify-root$_live_hooks_live_add_link", "callee": "set_status", "is_member_call": true, "source_file": "live_hooks.py", "source_location": "L146", "receiver": "app_state"}, {"caller_nid": "$graphify-root$_live_hooks_live_delete_link", "callee": "unlink", "is_member_call": true, "source_file": "live_hooks.py", "source_location": "L167", "receiver": null}, {"caller_nid": "$graphify-root$_live_hooks_live_delete_link", "callee": "set_status", "is_member_call": true, "source_file": "live_hooks.py", "source_location": "L170", "receiver": "app_state"}, {"caller_nid": "$graphify-root$_live_hooks_live_invoke", "callee": "invoke", "is_member_call": true, "source_file": "live_hooks.py", "source_location": "L191", "receiver": null}, {"caller_nid": "$graphify-root$_live_hooks_live_invoke", "callee": "set_status", "is_member_call": true, "source_file": "live_hooks.py", "source_location": "L194", "receiver": "app_state"}, {"caller_nid": "$graphify-root$_live_hooks_comp_id", "callee": "get", "is_member_call": true, "source_file": "live_hooks.py", "source_location": "L203", "receiver": "element"}, {"caller_nid": "$graphify-root$_live_hooks_find_slot", "callee": "cache_get", "is_member_call": true, "source_file": "live_hooks.py", "source_location": "L213", "receiver": null}, {"caller_nid": "$graphify-root$_live_hooks_find_slot", "callee": "get", "is_member_call": true, "source_file": "live_hooks.py", "source_location": "L216", "receiver": null}, {"caller_nid": "$graphify-root$_live_hooks_find_slot", "callee": "get", "is_member_call": true, "source_file": "live_hooks.py", "source_location": "L221", "receiver": "s"}, {"caller_nid": "$graphify-root$_live_hooks_find_slot", "callee": "get", "is_member_call": true, "source_file": "live_hooks.py", "source_location": "L222", "receiver": null}, {"caller_nid": "$graphify-root$_live_hooks_type_id", "callee": "items", "is_member_call": true, "source_file": "live_hooks.py", "source_location": "L242", "receiver": null}, {"caller_nid": "$graphify-root$_live_hooks_type_id", "callee": "endswith", "is_member_call": true, "source_file": "live_hooks.py", "source_location": "L243", "receiver": "full_name"}, {"caller_nid": "$graphify-root$_live_hooks_coerce_value", "callee": "lower", "is_member_call": true, "source_file": "live_hooks.py", "source_location": "L251", "receiver": "value_str"}, {"caller_nid": "$graphify-root$_live_hooks_coerce_value", "callee": "BYTE_ID", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "live_hooks.py", "source_location": "L252"}, {"caller_nid": "$graphify-root$_live_hooks_coerce_value", "callee": "SHORT_ID", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "live_hooks.py", "source_location": "L252"}, {"caller_nid": "$graphify-root$_live_hooks_coerce_value", "callee": "INT_ID", "is_member_call": false, "indirect": true, "context": "collection", "source_file": "live_hooks.py", "source_location": "L252"}]}