diff --git a/bench/bench_diff_quality.py b/bench/bench_diff_quality.py index 3fdd27b..9c063c0 100644 --- a/bench/bench_diff_quality.py +++ b/bench/bench_diff_quality.py @@ -74,23 +74,25 @@ if str(_REPO_ROOT) not in sys.path: sys.path.insert(0, str(_REPO_ROOT)) from reagraph import memory +from reagraph.diff import _LOCATION_UNSTABLE_KINDS from reagraph.diff import diff as structural_diff from reagraph.diff import normalize_label, rea_signature # -- descriptors --------------------------------------------------------------- -# A descriptor is the stable, cross-build identity of a node: the fields REAgraph -# stores regardless of where the bytes landed. Never crash on a missing field. -# The label is range-normalized (reagraph.diff.normalize_label) so a symbol whose -# source line:col merely shifted is still the same descriptor. +# A descriptor is the stable, cross-build identity of a node -- the SAME identity +# reagraph.diff's signature mode uses, so the benchmark's "true delta" is measured +# against the stable identity (not the raw per-build id). The label is +# range-normalized, and for kinds whose source attribution drifts between runs +# (_LOCATION_UNSTABLE_KINDS, e.g. an IPC channel that spans main+preload) the +# source file is left out -- exactly as rea_signature does. Never crashes. def descriptor(node: dict) -> tuple: - """The (rea_kind, normalized label, source_file) identity of a node.""" - return ( - node.get("rea_kind") or "", - normalize_label(node.get("label") or ""), - node.get("source_file") or "", - ) + """The stable (rea_kind, normalized label, source_file-or-"") identity of a node.""" + kind = node.get("rea_kind") or "" + label = normalize_label(node.get("label") or "") + source = "" if kind in _LOCATION_UNSTABLE_KINDS else (node.get("source_file") or "") + return (kind, label, source) def _sig_desc(sig_key: str) -> tuple: diff --git a/bench/fixtures/diff/real2/graphs/addmod.json b/bench/fixtures/diff/real2/graphs/addmod.json new file mode 100644 index 0000000..e3a56a3 --- /dev/null +++ b/bench/fixtures/diff/real2/graphs/addmod.json @@ -0,0 +1,1137 @@ +{ + "directed": true, + "multigraph": false, + "nodes": [ + { + "id": "jag_node_02ca10ec6f1f84c38155aceb6a6f11205f76c715cc60ac7311efc8213a920d9b", + "label": "package.json", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "asar-entry", + "source_file": "package.json" + }, + { + "id": "jag_node_058860319d65982cb6461c86705f4ac5792b20a58f7989e601be174b32408b33", + "label": "src/cache.js", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "asar-entry", + "source_file": "src/cache.js" + }, + { + "id": "jag_node_0621527cbd9f56c7f14ce26a8fc4b421abc6bec18cff242fcb1b7c2a5687fe3e", + "label": "src/auth.js", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "javascript-module", + "source_file": "src/auth.js" + }, + { + "id": "jag_node_0861ace8cd71db4b72c47f22786be42abef18af23eca6ee0c313b82cbf54e40b", + "label": "src/logger.js:default", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "javascript-module", + "source_file": "src/logger.js" + }, + { + "id": "jag_node_0b61fe4e6718277d3722077cfb4372b779e6fbb35051bd0b469d24c7c909af80", + "label": "src/main.js", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "javascript-module", + "source_file": "src/main.js" + }, + { + "id": "jag_node_1059d27ba7dc5d8bd9354e8ce6f981d0ef18ea9601b9dcfb82dc9acb3c111734", + "label": "src/preload.js", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "javascript-asset", + "source_file": "src/preload.js" + }, + { + "id": "jag_node_12c7966d91b55d116e8e73a23dc7648554dfeb9bd50263274626dc4603bbdbab", + "label": "src/cryptoutil.js", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "javascript-asset", + "source_file": "src/cryptoutil.js" + }, + { + "id": "jag_node_14dca4f59abfaacd0e511c5ad2ac31f85c52f8c76a0148c3e81a441e147d1faa", + "label": "path", + "file_type": "code", + "confidence": "INFERRED", + "rea_kind": "javascript-module", + "source_file": "src/main.js" + }, + { + "id": "jag_node_23ff485dbe39c21d1ee437908a44b6d83219c5beb6d117f2b1c8ceea415d51ca", + "label": "src/net.js", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "asar-entry", + "source_file": "src/net.js" + }, + { + "id": "jag_node_2b0057b73f3c9218c8c3aa50a2acdb7d3ad850bdb9b3707a170e22e6e02e0bc3", + "label": "src/auth.js", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "asar-entry", + "source_file": "src/auth.js" + }, + { + "id": "jag_node_31eb940881af069d823200385b57ed5845174955d7f9b0d2236a2597da3dface", + "label": "src/cache.js", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "javascript-module", + "source_file": "src/cache.js" + }, + { + "id": "jag_node_32c1b618a752c0787f691b3098e8f819a5322e799649d9bb34c8c9fb8dd88e0a", + "label": "src/preload.js", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "javascript-module", + "source_file": "src/preload.js" + }, + { + "id": "jag_node_32e5e76c31157f2b4e2572a43e330675554914a772d270ef07e5b1bd90c0839d", + "label": "src/net.js:default", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "javascript-module", + "source_file": "src/net.js" + }, + { + "id": "jag_node_3baf9093e0dc174135100b411a283219f57fd2e9b526b2bf929c6cce93ee0db9", + "label": "src/store.js", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "javascript-module", + "source_file": "src/store.js" + }, + { + "id": "jag_node_3d5606769827f12f29342e5962b213b8ae907afaa6d06d674a3159a7a2266832", + "label": "src/net.js", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "javascript-asset", + "source_file": "src/net.js" + }, + { + "id": "jag_node_3f03f815678e82efe9d146b35a0102212ac13e89ccd5bba8f60ff60b702c03e1", + "label": "network endpoint", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "endpoint", + "source_file": "src/auth.js" + }, + { + "id": "jag_node_43a8e1151dc8f188568f130d145069f76b8853960f6878899e29a674b8f22876", + "label": "electron", + "file_type": "code", + "confidence": "INFERRED", + "rea_kind": "javascript-module", + "source_file": "src/preload.js" + }, + { + "id": "jag_node_4552927e5c6665657c4bbd4298a324823363cb0352533ec864c871bb7b4946df", + "label": "package.json", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "artifact", + "source_file": "package.json" + }, + { + "id": "jag_node_47b97a082177472f9066d6d6f51c86e4a9d6fdfd2131bdd298de331d8907b09c", + "label": "src/logger.js", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "javascript-asset", + "source_file": "src/logger.js" + }, + { + "id": "jag_node_4f99d9491e4469b82074e114b46153e374d0201e21f4a05e6b4efdc13cb86a7b", + "label": "src/cache.js", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "javascript-asset", + "source_file": "src/cache.js" + }, + { + "id": "jag_node_53b5ba15b5bb3bd499be2fa43f73695aea6f60e41d5dd9e6f180d062400b16b8", + "label": "notes:list", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "ipc-channel", + "source_file": "src/main.js" + }, + { + "id": "jag_node_55529ab83216e29bca87ada4a4c9403ccd5ebc3de4f8811beb36182bad805dc5", + "label": "fs", + "file_type": "code", + "confidence": "INFERRED", + "rea_kind": "javascript-module", + "source_file": "src/store.js" + }, + { + "id": "jag_node_5a5dadcf3f23c06d757d8e34e22343b5d87fc58177bf42a44d79373693e2f5b9", + "label": "electron", + "file_type": "code", + "confidence": "INFERRED", + "rea_kind": "javascript-module", + "source_file": "src/main.js" + }, + { + "id": "jag_node_77bef8f40b13931291747fa1e5f09f3747294ee5a7b283e32d21108b40ba141e", + "label": "BrowserWindow@9:14-9:110", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "browser-window", + "source_file": "src/main.js" + }, + { + "id": "jag_node_7c7b22a506f7264dc691be495580d6db74c144d109c71578e0861f99f219579c", + "label": "electron", + "file_type": "code", + "confidence": "INFERRED", + "rea_kind": "javascript-module", + "source_file": "src/preload.js" + }, + { + "id": "jag_node_7caba048a78334277c65319889e7c454490687f3e10f934ddc89acb014876ba9", + "label": "src/main.js", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "javascript-asset", + "source_file": "src/main.js" + }, + { + "id": "jag_node_88fe9f1cdaf8cdf548e9230e881e7d409077a146c00da254625df18cd1b13487", + "label": "src/net.js", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "javascript-module", + "source_file": "src/net.js" + }, + { + "id": "jag_node_8b10d623e5cce67dcf72f745430ff61730325177f90ec75bcc75ceb4b14477b0", + "label": "notes.list", + "file_type": "code", + "confidence": "INFERRED", + "rea_kind": "javascript-expression", + "source_file": "src/preload.js" + }, + { + "id": "jag_node_974fc98607079b44159e4456869a6f682787779df94bd1714c94c5c5001d35ea", + "label": "src/store.js", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "javascript-asset", + "source_file": "src/store.js" + }, + { + "id": "jag_node_9b8028a2e2ab9ab4063d59fa3bce0f3fef83a6b752e01fd0f03160c0a9f6b979", + "label": "path", + "file_type": "code", + "confidence": "INFERRED", + "rea_kind": "javascript-module", + "source_file": "src/store.js" + }, + { + "id": "jag_node_9c33a3b9a1791ff1311214538786408cede6e9e2e4b814bbb3ea79498739347b", + "label": "src/cryptoutil.js:default", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "javascript-module", + "source_file": "src/cryptoutil.js" + }, + { + "id": "jag_node_a0757c8d4e2bd6305a806bb4b2c80371c10c5648db9bacbc744ab758591d16cb", + "label": "src/main.js", + "file_type": "code", + "confidence": "INFERRED", + "rea_kind": "electron-main", + "source_file": "package.json" + }, + { + "id": "jag_node_a0e0f41ab4bdc3e588872df944c47f90625e9b96031febb84bf4e03acd465b05", + "label": "notes:list", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "ipc-handler", + "source_file": "src/main.js" + }, + { + "id": "jag_node_a1a37b2c32d8bcd597a1848e998ec4e63a89412c608278617914270d5e757ecd", + "label": "electron.ipcRenderer.invoke", + "file_type": "code", + "confidence": "INFERRED", + "rea_kind": "javascript-expression", + "source_file": "src/preload.js" + }, + { + "id": "jag_node_a59bf04d649ee61c7a6a2d40847354650bc7d289a93ed5651b19d3cd33f9da33", + "label": "bigapp", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "package", + "source_file": "package.json" + }, + { + "id": "jag_node_a62fb5ab7b60e2e9e272b1d6b353b7514ce70590185dbb2583eae9c09d118cfa", + "label": "src/cryptoutil.js", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "javascript-module", + "source_file": "src/cryptoutil.js" + }, + { + "id": "jag_node_aaed8bf063519de23f724cc01399b25442e5a1c84ce40026ec6ff48f6cc759b5", + "label": "src/logger.js", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "javascript-module", + "source_file": "src/logger.js" + }, + { + "id": "jag_node_ada50a6420d4500fab5ab4b2e94812e2cff624f6e151b0f5c49e4d42a9de4606", + "label": "crypto", + "file_type": "code", + "confidence": "INFERRED", + "rea_kind": "javascript-module", + "source_file": "src/cryptoutil.js" + }, + { + "id": "jag_node_aeff0f73415f32c499dcaf07bc4f86bdff8fbffd0eb3517e255d9b29e3cb5124", + "label": "src/auth.js", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "javascript-asset", + "source_file": "src/auth.js" + }, + { + "id": "jag_node_b30b70ebf2d67a330909aebeeda631115df618ad7dd92596d3b4925072b3c305", + "label": "notes", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "context-bridge-api", + "source_file": "src/preload.js" + }, + { + "id": "jag_node_b50a1e51c2a67c541eb4ecabae18c46aa63e7eb675f8869bc8ac56c586c0a7ee", + "label": "src/store.js:default", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "javascript-module", + "source_file": "src/store.js" + }, + { + "id": "jag_node_b6e13da8f4063891f0ea070538ca65d33864a69e03b2499bc855f8585967ecb7", + "label": "src/preload.js", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "asar-entry", + "source_file": "src/preload.js" + }, + { + "id": "jag_node_b914783bf9b341a3de466def6375da8f874fc13139a1b41513e272f97d5a3edd", + "label": "electron.ipcRenderer.invoke", + "file_type": "code", + "confidence": "INFERRED", + "rea_kind": "javascript-expression", + "source_file": "src/preload.js" + }, + { + "id": "jag_node_bef7564e2eea1bf1bc8d192407905ee0fa75f21c21cdffaa4e46e959b3a05750", + "label": "artifact root", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "artifact", + "source_file": "artifact-root" + }, + { + "id": "jag_node_c14d28d7b088d361543ea9ba167138b6b90a3c11a574d0615a69e107c2687f07", + "label": "closure", + "file_type": "code", + "confidence": "INFERRED", + "rea_kind": "javascript-expression", + "source_file": "src/preload.js" + }, + { + "id": "jag_node_c6b653f5558c1773a23d2381181912088d5b1cff99d5c10ca1f21458c7e9eba5", + "label": "src/logger.js", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "asar-entry", + "source_file": "src/logger.js" + }, + { + "id": "jag_node_c711b9c30529239a2bf01ef9b4f53cea66e2bc0454819eaf88d9938b86e6d0d0", + "label": "crypto", + "file_type": "code", + "confidence": "INFERRED", + "rea_kind": "javascript-module", + "source_file": "src/cryptoutil.js" + }, + { + "id": "jag_node_c7a88ea17bff53d8105f961d11110c7b66c05b2f588237e0e83d105664617c2a", + "label": "src/preload.js", + "file_type": "code", + "confidence": "INFERRED", + "rea_kind": "electron-preload", + "source_file": "src/main.js" + }, + { + "id": "jag_node_ca0c57893f3b9addd9f91ebe2de85970e7b5f2b0da0cfb60d289d222f73f3b22", + "label": "src/auth.js:default", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "javascript-module", + "source_file": "src/auth.js" + }, + { + "id": "jag_node_d06ed74a932a834e33c5fac6b33a6804ec900a59bf7141cb13fc5573f88d6e73", + "label": "https", + "file_type": "code", + "confidence": "INFERRED", + "rea_kind": "javascript-module", + "source_file": "src/net.js" + }, + { + "id": "jag_node_d20b9bd3bcf79214b3993091aa28d7c3e4e72a1e2c2664e3668690523dd3944c", + "label": "notes:save", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "ipc-channel", + "source_file": "src/main.js" + }, + { + "id": "jag_node_d481c54ac1704503c0b069c048e5c39dfa153a6821cf066b86c9628c0af7c0e7", + "label": "notes:save", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "ipc-handler", + "source_file": "src/main.js" + }, + { + "id": "jag_node_d4c9388d979398536907ea265bf2ed603dcce273d7bf723fee4d303c9828aab7", + "label": "closure", + "file_type": "code", + "confidence": "INFERRED", + "rea_kind": "javascript-expression", + "source_file": "src/preload.js" + }, + { + "id": "jag_node_d69bf36da2cffc70f07fffda0610b947c996614e19326a8f71e10f5597d047dc", + "label": "index.html", + "file_type": "code", + "confidence": "INFERRED", + "rea_kind": "electron-renderer", + "source_file": "src/main.js" + }, + { + "id": "jag_node_db880116e587ebaaf388d85f2887e315807b60e0a840c0570f452a33ffb33482", + "label": "src/cryptoutil.js", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "asar-entry", + "source_file": "src/cryptoutil.js" + }, + { + "id": "jag_node_dbcf33b5f22d31caed1121237d9c279fd0c9be7d79688a23e7bed5b14850adbd", + "label": "src/cache.js:default", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "javascript-module", + "source_file": "src/cache.js" + }, + { + "id": "jag_node_ddd7c637107db880669b1001f5e9ba22bd737e4b94da00df08d0570915625020", + "label": "src/store.js", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "asar-entry", + "source_file": "src/store.js" + }, + { + "id": "jag_node_e2536895e6772700682a44e9a54c98aa6335470dda00231d973f5cabe639e664", + "label": "network endpoint", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "endpoint", + "source_file": "src/net.js" + }, + { + "id": "jag_node_e65329878a1f10923a71841abb7db697043fa177b2b6830c0de58ec5fb53fe30", + "label": "electron", + "file_type": "code", + "confidence": "INFERRED", + "rea_kind": "javascript-module", + "source_file": "src/main.js" + }, + { + "id": "jag_node_e75d1eb117aca211069cb49b39cb3fb219eece768a10bb8088ed96dc2c907125", + "label": "src/main.js", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "asar-entry", + "source_file": "src/main.js" + }, + { + "id": "jag_node_f2d245bdf4189bb5a54ade332fd8aac36748dcfe092c58cb2165fb062afe0525", + "label": "path", + "file_type": "code", + "confidence": "INFERRED", + "rea_kind": "javascript-module", + "source_file": "src/store.js" + }, + { + "id": "jag_node_f7d8bba46c14ce3471e73c706a9ea34ce8f25b58ee2e1aadaf128fb6fce4340d", + "label": "fs", + "file_type": "code", + "confidence": "INFERRED", + "rea_kind": "javascript-module", + "source_file": "src/store.js" + }, + { + "id": "jag_node_f90ea5262a6a8aa80018869784e01f34c349c17a9b1f686d75d2b5125ea3369b", + "label": "https", + "file_type": "code", + "confidence": "INFERRED", + "rea_kind": "javascript-module", + "source_file": "src/net.js" + }, + { + "id": "jag_node_fb7483f8490e2fd393bd5e73af18cd608b25ad6cd1d3e7962a79175cc9255ab4", + "label": "path", + "file_type": "code", + "confidence": "INFERRED", + "rea_kind": "javascript-module", + "source_file": "src/main.js" + }, + { + "id": "jag_node_fff24d64a64cdd18a551dbee93ace336e740c45f2f9f26c6ca5195f54f3b2563", + "label": "notes.save", + "file_type": "code", + "confidence": "INFERRED", + "rea_kind": "javascript-expression", + "source_file": "src/preload.js" + } + ], + "links": [ + { + "source": "jag_node_88fe9f1cdaf8cdf548e9230e881e7d409077a146c00da254625df18cd1b13487", + "target": "jag_node_f90ea5262a6a8aa80018869784e01f34c349c17a9b1f686d75d2b5125ea3369b", + "relation": "imports", + "confidence": "INFERRED", + "context": "rea:imports" + }, + { + "source": "jag_node_0621527cbd9f56c7f14ce26a8fc4b421abc6bec18cff242fcb1b7c2a5687fe3e", + "target": "jag_node_3f03f815678e82efe9d146b35a0102212ac13e89ccd5bba8f60ff60b702c03e1", + "relation": "calls", + "confidence": "INFERRED", + "context": "rea:calls" + }, + { + "source": "jag_node_bef7564e2eea1bf1bc8d192407905ee0fa75f21c21cdffaa4e46e959b3a05750", + "target": "jag_node_db880116e587ebaaf388d85f2887e315807b60e0a840c0570f452a33ffb33482", + "relation": "contains", + "confidence": "EXTRACTED", + "context": "rea:contains" + }, + { + "source": "jag_node_1059d27ba7dc5d8bd9354e8ce6f981d0ef18ea9601b9dcfb82dc9acb3c111734", + "target": "jag_node_b30b70ebf2d67a330909aebeeda631115df618ad7dd92596d3b4925072b3c305", + "relation": "exposes", + "confidence": "INFERRED", + "context": "rea:exposes" + }, + { + "source": "jag_node_3baf9093e0dc174135100b411a283219f57fd2e9b526b2bf929c6cce93ee0db9", + "target": "jag_node_b50a1e51c2a67c541eb4ecabae18c46aa63e7eb675f8869bc8ac56c586c0a7ee", + "relation": "exposes", + "confidence": "INFERRED", + "context": "rea:exposes" + }, + { + "source": "jag_node_3baf9093e0dc174135100b411a283219f57fd2e9b526b2bf929c6cce93ee0db9", + "target": "jag_node_f7d8bba46c14ce3471e73c706a9ea34ce8f25b58ee2e1aadaf128fb6fce4340d", + "relation": "imports", + "confidence": "INFERRED", + "context": "rea:imports" + }, + { + "source": "jag_node_2b0057b73f3c9218c8c3aa50a2acdb7d3ad850bdb9b3707a170e22e6e02e0bc3", + "target": "jag_node_aeff0f73415f32c499dcaf07bc4f86bdff8fbffd0eb3517e255d9b29e3cb5124", + "relation": "maps_to", + "confidence": "EXTRACTED", + "context": "rea:maps_to" + }, + { + "source": "jag_node_32c1b618a752c0787f691b3098e8f819a5322e799649d9bb34c8c9fb8dd88e0a", + "target": "jag_node_7c7b22a506f7264dc691be495580d6db74c144d109c71578e0861f99f219579c", + "relation": "imports", + "confidence": "INFERRED", + "context": "rea:imports" + }, + { + "source": "jag_node_7caba048a78334277c65319889e7c454490687f3e10f934ddc89acb014876ba9", + "target": "jag_node_d481c54ac1704503c0b069c048e5c39dfa153a6821cf066b86c9628c0af7c0e7", + "relation": "contains", + "confidence": "EXTRACTED", + "context": "rea:contains" + }, + { + "source": "jag_node_fff24d64a64cdd18a551dbee93ace336e740c45f2f9f26c6ca5195f54f3b2563", + "target": "jag_node_d4c9388d979398536907ea265bf2ed603dcce273d7bf723fee4d303c9828aab7", + "relation": "maps_to", + "confidence": "INFERRED", + "context": "rea:maps_to" + }, + { + "source": "jag_node_a0757c8d4e2bd6305a806bb4b2c80371c10c5648db9bacbc744ab758591d16cb", + "target": "jag_node_7caba048a78334277c65319889e7c454490687f3e10f934ddc89acb014876ba9", + "relation": "maps_to", + "confidence": "INFERRED", + "context": "rea:maps_to" + }, + { + "source": "jag_node_bef7564e2eea1bf1bc8d192407905ee0fa75f21c21cdffaa4e46e959b3a05750", + "target": "jag_node_e75d1eb117aca211069cb49b39cb3fb219eece768a10bb8088ed96dc2c907125", + "relation": "contains", + "confidence": "EXTRACTED", + "context": "rea:contains" + }, + { + "source": "jag_node_bef7564e2eea1bf1bc8d192407905ee0fa75f21c21cdffaa4e46e959b3a05750", + "target": "jag_node_23ff485dbe39c21d1ee437908a44b6d83219c5beb6d117f2b1c8ceea415d51ca", + "relation": "contains", + "confidence": "EXTRACTED", + "context": "rea:contains" + }, + { + "source": "jag_node_1059d27ba7dc5d8bd9354e8ce6f981d0ef18ea9601b9dcfb82dc9acb3c111734", + "target": "jag_node_d20b9bd3bcf79214b3993091aa28d7c3e4e72a1e2c2664e3668690523dd3944c", + "relation": "invokes", + "confidence": "INFERRED", + "context": "rea:invokes" + }, + { + "source": "jag_node_0b61fe4e6718277d3722077cfb4372b779e6fbb35051bd0b469d24c7c909af80", + "target": "jag_node_5a5dadcf3f23c06d757d8e34e22343b5d87fc58177bf42a44d79373693e2f5b9", + "relation": "imports", + "confidence": "INFERRED", + "context": "rea:imports" + }, + { + "source": "jag_node_0b61fe4e6718277d3722077cfb4372b779e6fbb35051bd0b469d24c7c909af80", + "target": "jag_node_47b97a082177472f9066d6d6f51c86e4a9d6fdfd2131bdd298de331d8907b09c", + "relation": "imports", + "confidence": "INFERRED", + "context": "rea:imports" + }, + { + "source": "jag_node_31eb940881af069d823200385b57ed5845174955d7f9b0d2236a2597da3dface", + "target": "jag_node_dbcf33b5f22d31caed1121237d9c279fd0c9be7d79688a23e7bed5b14850adbd", + "relation": "exposes", + "confidence": "INFERRED", + "context": "rea:exposes" + }, + { + "source": "jag_node_02ca10ec6f1f84c38155aceb6a6f11205f76c715cc60ac7311efc8213a920d9b", + "target": "jag_node_4552927e5c6665657c4bbd4298a324823363cb0352533ec864c871bb7b4946df", + "relation": "maps_to", + "confidence": "EXTRACTED", + "context": "rea:maps_to" + }, + { + "source": "jag_node_0b61fe4e6718277d3722077cfb4372b779e6fbb35051bd0b469d24c7c909af80", + "target": "jag_node_88fe9f1cdaf8cdf548e9230e881e7d409077a146c00da254625df18cd1b13487", + "relation": "imports", + "confidence": "INFERRED", + "context": "rea:imports" + }, + { + "source": "jag_node_7caba048a78334277c65319889e7c454490687f3e10f934ddc89acb014876ba9", + "target": "jag_node_a0e0f41ab4bdc3e588872df944c47f90625e9b96031febb84bf4e03acd465b05", + "relation": "contains", + "confidence": "EXTRACTED", + "context": "rea:contains" + }, + { + "source": "jag_node_aeff0f73415f32c499dcaf07bc4f86bdff8fbffd0eb3517e255d9b29e3cb5124", + "target": "jag_node_0621527cbd9f56c7f14ce26a8fc4b421abc6bec18cff242fcb1b7c2a5687fe3e", + "relation": "contains", + "confidence": "EXTRACTED", + "context": "rea:contains" + }, + { + "source": "jag_node_0b61fe4e6718277d3722077cfb4372b779e6fbb35051bd0b469d24c7c909af80", + "target": "jag_node_4f99d9491e4469b82074e114b46153e374d0201e21f4a05e6b4efdc13cb86a7b", + "relation": "imports", + "confidence": "INFERRED", + "context": "rea:imports" + }, + { + "source": "jag_node_0621527cbd9f56c7f14ce26a8fc4b421abc6bec18cff242fcb1b7c2a5687fe3e", + "target": "jag_node_ca0c57893f3b9addd9f91ebe2de85970e7b5f2b0da0cfb60d289d222f73f3b22", + "relation": "exposes", + "confidence": "INFERRED", + "context": "rea:exposes" + }, + { + "source": "jag_node_1059d27ba7dc5d8bd9354e8ce6f981d0ef18ea9601b9dcfb82dc9acb3c111734", + "target": "jag_node_d481c54ac1704503c0b069c048e5c39dfa153a6821cf066b86c9628c0af7c0e7", + "relation": "invokes", + "confidence": "INFERRED", + "context": "rea:invokes" + }, + { + "source": "jag_node_0b61fe4e6718277d3722077cfb4372b779e6fbb35051bd0b469d24c7c909af80", + "target": "jag_node_3d5606769827f12f29342e5962b213b8ae907afaa6d06d674a3159a7a2266832", + "relation": "imports", + "confidence": "INFERRED", + "context": "rea:imports" + }, + { + "source": "jag_node_1059d27ba7dc5d8bd9354e8ce6f981d0ef18ea9601b9dcfb82dc9acb3c111734", + "target": "jag_node_fff24d64a64cdd18a551dbee93ace336e740c45f2f9f26c6ca5195f54f3b2563", + "relation": "contains", + "confidence": "INFERRED", + "context": "rea:contains" + }, + { + "source": "jag_node_77bef8f40b13931291747fa1e5f09f3747294ee5a7b283e32d21108b40ba141e", + "target": "jag_node_c7a88ea17bff53d8105f961d11110c7b66c05b2f588237e0e83d105664617c2a", + "relation": "loads", + "confidence": "INFERRED", + "context": "rea:loads" + }, + { + "source": "jag_node_a62fb5ab7b60e2e9e272b1d6b353b7514ce70590185dbb2583eae9c09d118cfa", + "target": "jag_node_ada50a6420d4500fab5ab4b2e94812e2cff624f6e151b0f5c49e4d42a9de4606", + "relation": "imports", + "confidence": "INFERRED", + "context": "rea:imports" + }, + { + "source": "jag_node_a62fb5ab7b60e2e9e272b1d6b353b7514ce70590185dbb2583eae9c09d118cfa", + "target": "jag_node_c711b9c30529239a2bf01ef9b4f53cea66e2bc0454819eaf88d9938b86e6d0d0", + "relation": "imports", + "confidence": "INFERRED", + "context": "rea:imports" + }, + { + "source": "jag_node_88fe9f1cdaf8cdf548e9230e881e7d409077a146c00da254625df18cd1b13487", + "target": "jag_node_32e5e76c31157f2b4e2572a43e330675554914a772d270ef07e5b1bd90c0839d", + "relation": "exposes", + "confidence": "INFERRED", + "context": "rea:exposes" + }, + { + "source": "jag_node_0b61fe4e6718277d3722077cfb4372b779e6fbb35051bd0b469d24c7c909af80", + "target": "jag_node_d69bf36da2cffc70f07fffda0610b947c996614e19326a8f71e10f5597d047dc", + "relation": "loads", + "confidence": "INFERRED", + "context": "rea:loads" + }, + { + "source": "jag_node_0b61fe4e6718277d3722077cfb4372b779e6fbb35051bd0b469d24c7c909af80", + "target": "jag_node_c7a88ea17bff53d8105f961d11110c7b66c05b2f588237e0e83d105664617c2a", + "relation": "loads", + "confidence": "INFERRED", + "context": "rea:loads" + }, + { + "source": "jag_node_3baf9093e0dc174135100b411a283219f57fd2e9b526b2bf929c6cce93ee0db9", + "target": "jag_node_47b97a082177472f9066d6d6f51c86e4a9d6fdfd2131bdd298de331d8907b09c", + "relation": "imports", + "confidence": "INFERRED", + "context": "rea:imports" + }, + { + "source": "jag_node_0621527cbd9f56c7f14ce26a8fc4b421abc6bec18cff242fcb1b7c2a5687fe3e", + "target": "jag_node_a62fb5ab7b60e2e9e272b1d6b353b7514ce70590185dbb2583eae9c09d118cfa", + "relation": "imports", + "confidence": "INFERRED", + "context": "rea:imports" + }, + { + "source": "jag_node_0b61fe4e6718277d3722077cfb4372b779e6fbb35051bd0b469d24c7c909af80", + "target": "jag_node_fb7483f8490e2fd393bd5e73af18cd608b25ad6cd1d3e7962a79175cc9255ab4", + "relation": "imports", + "confidence": "INFERRED", + "context": "rea:imports" + }, + { + "source": "jag_node_e75d1eb117aca211069cb49b39cb3fb219eece768a10bb8088ed96dc2c907125", + "target": "jag_node_7caba048a78334277c65319889e7c454490687f3e10f934ddc89acb014876ba9", + "relation": "maps_to", + "confidence": "EXTRACTED", + "context": "rea:maps_to" + }, + { + "source": "jag_node_23ff485dbe39c21d1ee437908a44b6d83219c5beb6d117f2b1c8ceea415d51ca", + "target": "jag_node_3d5606769827f12f29342e5962b213b8ae907afaa6d06d674a3159a7a2266832", + "relation": "maps_to", + "confidence": "EXTRACTED", + "context": "rea:maps_to" + }, + { + "source": "jag_node_0b61fe4e6718277d3722077cfb4372b779e6fbb35051bd0b469d24c7c909af80", + "target": "jag_node_3baf9093e0dc174135100b411a283219f57fd2e9b526b2bf929c6cce93ee0db9", + "relation": "imports", + "confidence": "INFERRED", + "context": "rea:imports" + }, + { + "source": "jag_node_ddd7c637107db880669b1001f5e9ba22bd737e4b94da00df08d0570915625020", + "target": "jag_node_974fc98607079b44159e4456869a6f682787779df94bd1714c94c5c5001d35ea", + "relation": "maps_to", + "confidence": "EXTRACTED", + "context": "rea:maps_to" + }, + { + "source": "jag_node_0b61fe4e6718277d3722077cfb4372b779e6fbb35051bd0b469d24c7c909af80", + "target": "jag_node_0621527cbd9f56c7f14ce26a8fc4b421abc6bec18cff242fcb1b7c2a5687fe3e", + "relation": "imports", + "confidence": "INFERRED", + "context": "rea:imports" + }, + { + "source": "jag_node_c7a88ea17bff53d8105f961d11110c7b66c05b2f588237e0e83d105664617c2a", + "target": "jag_node_1059d27ba7dc5d8bd9354e8ce6f981d0ef18ea9601b9dcfb82dc9acb3c111734", + "relation": "maps_to", + "confidence": "INFERRED", + "context": "rea:maps_to" + }, + { + "source": "jag_node_3baf9093e0dc174135100b411a283219f57fd2e9b526b2bf929c6cce93ee0db9", + "target": "jag_node_55529ab83216e29bca87ada4a4c9403ccd5ebc3de4f8811beb36182bad805dc5", + "relation": "imports", + "confidence": "INFERRED", + "context": "rea:imports" + }, + { + "source": "jag_node_a59bf04d649ee61c7a6a2d40847354650bc7d289a93ed5651b19d3cd33f9da33", + "target": "jag_node_a0757c8d4e2bd6305a806bb4b2c80371c10c5648db9bacbc744ab758591d16cb", + "relation": "loads", + "confidence": "INFERRED", + "context": "rea:loads" + }, + { + "source": "jag_node_1059d27ba7dc5d8bd9354e8ce6f981d0ef18ea9601b9dcfb82dc9acb3c111734", + "target": "jag_node_a0e0f41ab4bdc3e588872df944c47f90625e9b96031febb84bf4e03acd465b05", + "relation": "invokes", + "confidence": "INFERRED", + "context": "rea:invokes" + }, + { + "source": "jag_node_aaed8bf063519de23f724cc01399b25442e5a1c84ce40026ec6ff48f6cc759b5", + "target": "jag_node_0861ace8cd71db4b72c47f22786be42abef18af23eca6ee0c313b82cbf54e40b", + "relation": "exposes", + "confidence": "INFERRED", + "context": "rea:exposes" + }, + { + "source": "jag_node_bef7564e2eea1bf1bc8d192407905ee0fa75f21c21cdffaa4e46e959b3a05750", + "target": "jag_node_c6b653f5558c1773a23d2381181912088d5b1cff99d5c10ca1f21458c7e9eba5", + "relation": "contains", + "confidence": "EXTRACTED", + "context": "rea:contains" + }, + { + "source": "jag_node_c14d28d7b088d361543ea9ba167138b6b90a3c11a574d0615a69e107c2687f07", + "target": "jag_node_a1a37b2c32d8bcd597a1848e998ec4e63a89412c608278617914270d5e757ecd", + "relation": "calls", + "confidence": "INFERRED", + "context": "rea:calls" + }, + { + "source": "jag_node_a59bf04d649ee61c7a6a2d40847354650bc7d289a93ed5651b19d3cd33f9da33", + "target": "jag_node_bef7564e2eea1bf1bc8d192407905ee0fa75f21c21cdffaa4e46e959b3a05750", + "relation": "contains", + "confidence": "INFERRED", + "context": "rea:contains" + }, + { + "source": "jag_node_974fc98607079b44159e4456869a6f682787779df94bd1714c94c5c5001d35ea", + "target": "jag_node_3baf9093e0dc174135100b411a283219f57fd2e9b526b2bf929c6cce93ee0db9", + "relation": "contains", + "confidence": "EXTRACTED", + "context": "rea:contains" + }, + { + "source": "jag_node_bef7564e2eea1bf1bc8d192407905ee0fa75f21c21cdffaa4e46e959b3a05750", + "target": "jag_node_058860319d65982cb6461c86705f4ac5792b20a58f7989e601be174b32408b33", + "relation": "contains", + "confidence": "EXTRACTED", + "context": "rea:contains" + }, + { + "source": "jag_node_bef7564e2eea1bf1bc8d192407905ee0fa75f21c21cdffaa4e46e959b3a05750", + "target": "jag_node_02ca10ec6f1f84c38155aceb6a6f11205f76c715cc60ac7311efc8213a920d9b", + "relation": "contains", + "confidence": "EXTRACTED", + "context": "rea:contains" + }, + { + "source": "jag_node_0b61fe4e6718277d3722077cfb4372b779e6fbb35051bd0b469d24c7c909af80", + "target": "jag_node_aeff0f73415f32c499dcaf07bc4f86bdff8fbffd0eb3517e255d9b29e3cb5124", + "relation": "imports", + "confidence": "INFERRED", + "context": "rea:imports" + }, + { + "source": "jag_node_a62fb5ab7b60e2e9e272b1d6b353b7514ce70590185dbb2583eae9c09d118cfa", + "target": "jag_node_9c33a3b9a1791ff1311214538786408cede6e9e2e4b814bbb3ea79498739347b", + "relation": "exposes", + "confidence": "INFERRED", + "context": "rea:exposes" + }, + { + "source": "jag_node_0b61fe4e6718277d3722077cfb4372b779e6fbb35051bd0b469d24c7c909af80", + "target": "jag_node_e65329878a1f10923a71841abb7db697043fa177b2b6830c0de58ec5fb53fe30", + "relation": "imports", + "confidence": "INFERRED", + "context": "rea:imports" + }, + { + "source": "jag_node_c6b653f5558c1773a23d2381181912088d5b1cff99d5c10ca1f21458c7e9eba5", + "target": "jag_node_47b97a082177472f9066d6d6f51c86e4a9d6fdfd2131bdd298de331d8907b09c", + "relation": "maps_to", + "confidence": "EXTRACTED", + "context": "rea:maps_to" + }, + { + "source": "jag_node_0621527cbd9f56c7f14ce26a8fc4b421abc6bec18cff242fcb1b7c2a5687fe3e", + "target": "jag_node_12c7966d91b55d116e8e73a23dc7648554dfeb9bd50263274626dc4603bbdbab", + "relation": "imports", + "confidence": "INFERRED", + "context": "rea:imports" + }, + { + "source": "jag_node_3d5606769827f12f29342e5962b213b8ae907afaa6d06d674a3159a7a2266832", + "target": "jag_node_88fe9f1cdaf8cdf548e9230e881e7d409077a146c00da254625df18cd1b13487", + "relation": "contains", + "confidence": "EXTRACTED", + "context": "rea:contains" + }, + { + "source": "jag_node_bef7564e2eea1bf1bc8d192407905ee0fa75f21c21cdffaa4e46e959b3a05750", + "target": "jag_node_ddd7c637107db880669b1001f5e9ba22bd737e4b94da00df08d0570915625020", + "relation": "contains", + "confidence": "EXTRACTED", + "context": "rea:contains" + }, + { + "source": "jag_node_4f99d9491e4469b82074e114b46153e374d0201e21f4a05e6b4efdc13cb86a7b", + "target": "jag_node_31eb940881af069d823200385b57ed5845174955d7f9b0d2236a2597da3dface", + "relation": "contains", + "confidence": "EXTRACTED", + "context": "rea:contains" + }, + { + "source": "jag_node_d4c9388d979398536907ea265bf2ed603dcce273d7bf723fee4d303c9828aab7", + "target": "jag_node_b914783bf9b341a3de466def6375da8f874fc13139a1b41513e272f97d5a3edd", + "relation": "calls", + "confidence": "INFERRED", + "context": "rea:calls" + }, + { + "source": "jag_node_7caba048a78334277c65319889e7c454490687f3e10f934ddc89acb014876ba9", + "target": "jag_node_0b61fe4e6718277d3722077cfb4372b779e6fbb35051bd0b469d24c7c909af80", + "relation": "contains", + "confidence": "EXTRACTED", + "context": "rea:contains" + }, + { + "source": "jag_node_3baf9093e0dc174135100b411a283219f57fd2e9b526b2bf929c6cce93ee0db9", + "target": "jag_node_9b8028a2e2ab9ab4063d59fa3bce0f3fef83a6b752e01fd0f03160c0a9f6b979", + "relation": "imports", + "confidence": "INFERRED", + "context": "rea:imports" + }, + { + "source": "jag_node_1059d27ba7dc5d8bd9354e8ce6f981d0ef18ea9601b9dcfb82dc9acb3c111734", + "target": "jag_node_53b5ba15b5bb3bd499be2fa43f73695aea6f60e41d5dd9e6f180d062400b16b8", + "relation": "invokes", + "confidence": "INFERRED", + "context": "rea:invokes" + }, + { + "source": "jag_node_a0e0f41ab4bdc3e588872df944c47f90625e9b96031febb84bf4e03acd465b05", + "target": "jag_node_53b5ba15b5bb3bd499be2fa43f73695aea6f60e41d5dd9e6f180d062400b16b8", + "relation": "handles", + "confidence": "INFERRED", + "context": "rea:handles" + }, + { + "source": "jag_node_058860319d65982cb6461c86705f4ac5792b20a58f7989e601be174b32408b33", + "target": "jag_node_4f99d9491e4469b82074e114b46153e374d0201e21f4a05e6b4efdc13cb86a7b", + "relation": "maps_to", + "confidence": "EXTRACTED", + "context": "rea:maps_to" + }, + { + "source": "jag_node_bef7564e2eea1bf1bc8d192407905ee0fa75f21c21cdffaa4e46e959b3a05750", + "target": "jag_node_2b0057b73f3c9218c8c3aa50a2acdb7d3ad850bdb9b3707a170e22e6e02e0bc3", + "relation": "contains", + "confidence": "EXTRACTED", + "context": "rea:contains" + }, + { + "source": "jag_node_7caba048a78334277c65319889e7c454490687f3e10f934ddc89acb014876ba9", + "target": "jag_node_77bef8f40b13931291747fa1e5f09f3747294ee5a7b283e32d21108b40ba141e", + "relation": "contains", + "confidence": "EXTRACTED", + "context": "rea:contains" + }, + { + "source": "jag_node_32c1b618a752c0787f691b3098e8f819a5322e799649d9bb34c8c9fb8dd88e0a", + "target": "jag_node_43a8e1151dc8f188568f130d145069f76b8853960f6878899e29a674b8f22876", + "relation": "imports", + "confidence": "INFERRED", + "context": "rea:imports" + }, + { + "source": "jag_node_12c7966d91b55d116e8e73a23dc7648554dfeb9bd50263274626dc4603bbdbab", + "target": "jag_node_a62fb5ab7b60e2e9e272b1d6b353b7514ce70590185dbb2583eae9c09d118cfa", + "relation": "contains", + "confidence": "EXTRACTED", + "context": "rea:contains" + }, + { + "source": "jag_node_1059d27ba7dc5d8bd9354e8ce6f981d0ef18ea9601b9dcfb82dc9acb3c111734", + "target": "jag_node_32c1b618a752c0787f691b3098e8f819a5322e799649d9bb34c8c9fb8dd88e0a", + "relation": "contains", + "confidence": "EXTRACTED", + "context": "rea:contains" + }, + { + "source": "jag_node_0b61fe4e6718277d3722077cfb4372b779e6fbb35051bd0b469d24c7c909af80", + "target": "jag_node_aaed8bf063519de23f724cc01399b25442e5a1c84ce40026ec6ff48f6cc759b5", + "relation": "imports", + "confidence": "INFERRED", + "context": "rea:imports" + }, + { + "source": "jag_node_d481c54ac1704503c0b069c048e5c39dfa153a6821cf066b86c9628c0af7c0e7", + "target": "jag_node_d20b9bd3bcf79214b3993091aa28d7c3e4e72a1e2c2664e3668690523dd3944c", + "relation": "handles", + "confidence": "INFERRED", + "context": "rea:handles" + }, + { + "source": "jag_node_0621527cbd9f56c7f14ce26a8fc4b421abc6bec18cff242fcb1b7c2a5687fe3e", + "target": "jag_node_3d5606769827f12f29342e5962b213b8ae907afaa6d06d674a3159a7a2266832", + "relation": "imports", + "confidence": "INFERRED", + "context": "rea:imports" + }, + { + "source": "jag_node_8b10d623e5cce67dcf72f745430ff61730325177f90ec75bcc75ceb4b14477b0", + "target": "jag_node_c14d28d7b088d361543ea9ba167138b6b90a3c11a574d0615a69e107c2687f07", + "relation": "maps_to", + "confidence": "INFERRED", + "context": "rea:maps_to" + }, + { + "source": "jag_node_bef7564e2eea1bf1bc8d192407905ee0fa75f21c21cdffaa4e46e959b3a05750", + "target": "jag_node_b6e13da8f4063891f0ea070538ca65d33864a69e03b2499bc855f8585967ecb7", + "relation": "contains", + "confidence": "EXTRACTED", + "context": "rea:contains" + }, + { + "source": "jag_node_0621527cbd9f56c7f14ce26a8fc4b421abc6bec18cff242fcb1b7c2a5687fe3e", + "target": "jag_node_88fe9f1cdaf8cdf548e9230e881e7d409077a146c00da254625df18cd1b13487", + "relation": "imports", + "confidence": "INFERRED", + "context": "rea:imports" + }, + { + "source": "jag_node_88fe9f1cdaf8cdf548e9230e881e7d409077a146c00da254625df18cd1b13487", + "target": "jag_node_d06ed74a932a834e33c5fac6b33a6804ec900a59bf7141cb13fc5573f88d6e73", + "relation": "imports", + "confidence": "INFERRED", + "context": "rea:imports" + }, + { + "source": "jag_node_db880116e587ebaaf388d85f2887e315807b60e0a840c0570f452a33ffb33482", + "target": "jag_node_12c7966d91b55d116e8e73a23dc7648554dfeb9bd50263274626dc4603bbdbab", + "relation": "maps_to", + "confidence": "EXTRACTED", + "context": "rea:maps_to" + }, + { + "source": "jag_node_3baf9093e0dc174135100b411a283219f57fd2e9b526b2bf929c6cce93ee0db9", + "target": "jag_node_f2d245bdf4189bb5a54ade332fd8aac36748dcfe092c58cb2165fb062afe0525", + "relation": "imports", + "confidence": "INFERRED", + "context": "rea:imports" + }, + { + "source": "jag_node_b6e13da8f4063891f0ea070538ca65d33864a69e03b2499bc855f8585967ecb7", + "target": "jag_node_1059d27ba7dc5d8bd9354e8ce6f981d0ef18ea9601b9dcfb82dc9acb3c111734", + "relation": "maps_to", + "confidence": "EXTRACTED", + "context": "rea:maps_to" + }, + { + "source": "jag_node_0b61fe4e6718277d3722077cfb4372b779e6fbb35051bd0b469d24c7c909af80", + "target": "jag_node_974fc98607079b44159e4456869a6f682787779df94bd1714c94c5c5001d35ea", + "relation": "imports", + "confidence": "INFERRED", + "context": "rea:imports" + }, + { + "source": "jag_node_47b97a082177472f9066d6d6f51c86e4a9d6fdfd2131bdd298de331d8907b09c", + "target": "jag_node_aaed8bf063519de23f724cc01399b25442e5a1c84ce40026ec6ff48f6cc759b5", + "relation": "contains", + "confidence": "EXTRACTED", + "context": "rea:contains" + }, + { + "source": "jag_node_0b61fe4e6718277d3722077cfb4372b779e6fbb35051bd0b469d24c7c909af80", + "target": "jag_node_31eb940881af069d823200385b57ed5845174955d7f9b0d2236a2597da3dface", + "relation": "imports", + "confidence": "INFERRED", + "context": "rea:imports" + }, + { + "source": "jag_node_1059d27ba7dc5d8bd9354e8ce6f981d0ef18ea9601b9dcfb82dc9acb3c111734", + "target": "jag_node_8b10d623e5cce67dcf72f745430ff61730325177f90ec75bcc75ceb4b14477b0", + "relation": "contains", + "confidence": "INFERRED", + "context": "rea:contains" + }, + { + "source": "jag_node_88fe9f1cdaf8cdf548e9230e881e7d409077a146c00da254625df18cd1b13487", + "target": "jag_node_e2536895e6772700682a44e9a54c98aa6335470dda00231d973f5cabe639e664", + "relation": "calls", + "confidence": "INFERRED", + "context": "rea:calls" + }, + { + "source": "jag_node_3baf9093e0dc174135100b411a283219f57fd2e9b526b2bf929c6cce93ee0db9", + "target": "jag_node_aaed8bf063519de23f724cc01399b25442e5a1c84ce40026ec6ff48f6cc759b5", + "relation": "imports", + "confidence": "INFERRED", + "context": "rea:imports" + }, + { + "source": "jag_node_0b61fe4e6718277d3722077cfb4372b779e6fbb35051bd0b469d24c7c909af80", + "target": "jag_node_14dca4f59abfaacd0e511c5ad2ac31f85c52f8c76a0148c3e81a441e147d1faa", + "relation": "imports", + "confidence": "INFERRED", + "context": "rea:imports" + } + ] +} \ No newline at end of file diff --git a/bench/fixtures/diff/real2/graphs/base.json b/bench/fixtures/diff/real2/graphs/base.json new file mode 100644 index 0000000..55660f4 --- /dev/null +++ b/bench/fixtures/diff/real2/graphs/base.json @@ -0,0 +1,1063 @@ +{ + "directed": true, + "multigraph": false, + "nodes": [ + { + "id": "jag_node_018188ff6b66f446bc06038777b1eb4e5634b4cefe8a781dec5a004dca5b5094", + "label": "package.json", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "asar-entry", + "source_file": "package.json" + }, + { + "id": "jag_node_1059d27ba7dc5d8bd9354e8ce6f981d0ef18ea9601b9dcfb82dc9acb3c111734", + "label": "src/preload.js", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "javascript-asset", + "source_file": "src/preload.js" + }, + { + "id": "jag_node_11a51434f146a08c03d1ae2ce88d542ab3d0096b216767ae0645091691c14a42", + "label": "src/main.js", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "javascript-module", + "source_file": "src/main.js" + }, + { + "id": "jag_node_12c7966d91b55d116e8e73a23dc7648554dfeb9bd50263274626dc4603bbdbab", + "label": "src/cryptoutil.js", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "javascript-asset", + "source_file": "src/cryptoutil.js" + }, + { + "id": "jag_node_22c04cd8da074e970328604fba4634ee704f70c4740e5f7b8417dae7751e4de5", + "label": "electron", + "file_type": "code", + "confidence": "INFERRED", + "rea_kind": "javascript-module", + "source_file": "src/main.js" + }, + { + "id": "jag_node_24007d253373a55910f1e1c91a78a9b0e7076ce8d8394bfbd7965efc8c0f7dc4", + "label": "path", + "file_type": "code", + "confidence": "INFERRED", + "rea_kind": "javascript-module", + "source_file": "src/main.js" + }, + { + "id": "jag_node_3d5606769827f12f29342e5962b213b8ae907afaa6d06d674a3159a7a2266832", + "label": "src/net.js", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "javascript-asset", + "source_file": "src/net.js" + }, + { + "id": "jag_node_3f03f815678e82efe9d146b35a0102212ac13e89ccd5bba8f60ff60b702c03e1", + "label": "network endpoint", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "endpoint", + "source_file": "src/auth.js" + }, + { + "id": "jag_node_3f5014719f442e28d5fb0c173e8a6a9d02f25ca11e954ab16b40e698a305509d", + "label": "notes:save", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "ipc-channel", + "source_file": "src/preload.js" + }, + { + "id": "jag_node_43a8e1151dc8f188568f130d145069f76b8853960f6878899e29a674b8f22876", + "label": "electron", + "file_type": "code", + "confidence": "INFERRED", + "rea_kind": "javascript-module", + "source_file": "src/preload.js" + }, + { + "id": "jag_node_44cd75eb87e69fb3926aacd1e8d76ec65023b23c00781e77729b5c3b47495336", + "label": "src/logger.js", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "javascript-module", + "source_file": "src/logger.js" + }, + { + "id": "jag_node_4552927e5c6665657c4bbd4298a324823363cb0352533ec864c871bb7b4946df", + "label": "package.json", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "artifact", + "source_file": "package.json" + }, + { + "id": "jag_node_4695a86bd866d2b27e09660da41503169d02b7d1c67457e5026f60cdbaec79d0", + "label": "BrowserWindow@8:14-8:110", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "browser-window", + "source_file": "src/main.js" + }, + { + "id": "jag_node_47b97a082177472f9066d6d6f51c86e4a9d6fdfd2131bdd298de331d8907b09c", + "label": "src/logger.js", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "javascript-asset", + "source_file": "src/logger.js" + }, + { + "id": "jag_node_48d69b8f77ba7d6bb9930e5ac5c9b4850eb9fcfcd4122c3edb69201de65ff645", + "label": "notes:list", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "ipc-channel", + "source_file": "src/preload.js" + }, + { + "id": "jag_node_4b0855b1f9f779658836a7764accb9ac4f12c2645c72fe3588f1ca7bff943c36", + "label": "src/auth.js:default", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "javascript-module", + "source_file": "src/auth.js" + }, + { + "id": "jag_node_4c4680fc908ec952a11f4fd11b027d465452c006114bf530523ca3c805a625ca", + "label": "src/net.js:default", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "javascript-module", + "source_file": "src/net.js" + }, + { + "id": "jag_node_514c970d1d5f26962e264a305c5e10254468cc429824355bea2e8ad314c4ab91", + "label": "src/cryptoutil.js", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "asar-entry", + "source_file": "src/cryptoutil.js" + }, + { + "id": "jag_node_55529ab83216e29bca87ada4a4c9403ccd5ebc3de4f8811beb36182bad805dc5", + "label": "fs", + "file_type": "code", + "confidence": "INFERRED", + "rea_kind": "javascript-module", + "source_file": "src/store.js" + }, + { + "id": "jag_node_59ad14dd7b17d9704d892fc200754b45266d458105acafd64f690c155f2bfc1c", + "label": "src/auth.js", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "javascript-module", + "source_file": "src/auth.js" + }, + { + "id": "jag_node_5aa4f9aa27ee9bea79d2b9a601a4973b87771dbceb79938e7044600e6887e204", + "label": "src/net.js", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "asar-entry", + "source_file": "src/net.js" + }, + { + "id": "jag_node_5e41c5d619f33a9bbe3461ab0b7ac649eb0b2f319d10dc1c048e48c95cbc49a6", + "label": "src/store.js:default", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "javascript-module", + "source_file": "src/store.js" + }, + { + "id": "jag_node_5f093630c55a56a6ed03e20b07f1c3fa65b5aa6d8cceee4f44cb2512dd6dd3ff", + "label": "src/preload.js", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "javascript-module", + "source_file": "src/preload.js" + }, + { + "id": "jag_node_67e7a03d83bce66e365c9d8f3e7f973e15b4457ffe1509e1f9e6da293571705b", + "label": "src/preload.js", + "file_type": "code", + "confidence": "INFERRED", + "rea_kind": "electron-preload", + "source_file": "src/main.js" + }, + { + "id": "jag_node_7003d21b5f586a1d934d356693fa158aaaeee7f1dcb0311f083bd0123b8bd4b1", + "label": "src/auth.js", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "asar-entry", + "source_file": "src/auth.js" + }, + { + "id": "jag_node_72cf57b63cf2788c530a756d231b003eae2e1f59e908638d0ac17a4eb250624d", + "label": "notes:list", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "ipc-handler", + "source_file": "src/main.js" + }, + { + "id": "jag_node_730255a76677763943a9a4368dae16b6a6cf39888017372aa1f5c0bb5f248121", + "label": "src/preload.js", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "asar-entry", + "source_file": "src/preload.js" + }, + { + "id": "jag_node_7c7b22a506f7264dc691be495580d6db74c144d109c71578e0861f99f219579c", + "label": "electron", + "file_type": "code", + "confidence": "INFERRED", + "rea_kind": "javascript-module", + "source_file": "src/preload.js" + }, + { + "id": "jag_node_7f93b8635fb8ba76e6108e8eaf4244b8a67b45409630aaa71abe1a835d30a591", + "label": "src/main.js", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "javascript-asset", + "source_file": "src/main.js" + }, + { + "id": "jag_node_81a7d508a88358c1e410928fa92f56b4416f0fee5dbc858d31c3a092a5fa9bec", + "label": "src/store.js", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "javascript-module", + "source_file": "src/store.js" + }, + { + "id": "jag_node_8a6447d8142929eb8d1ad0c624d5e3a69fde94e8ccf547e9d293389b8c1b5908", + "label": "path", + "file_type": "code", + "confidence": "INFERRED", + "rea_kind": "javascript-module", + "source_file": "src/main.js" + }, + { + "id": "jag_node_8b10d623e5cce67dcf72f745430ff61730325177f90ec75bcc75ceb4b14477b0", + "label": "notes.list", + "file_type": "code", + "confidence": "INFERRED", + "rea_kind": "javascript-expression", + "source_file": "src/preload.js" + }, + { + "id": "jag_node_93e2111cffeffd1df13ae97202db54397946add55758a8408da951022714909b", + "label": "src/logger.js", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "asar-entry", + "source_file": "src/logger.js" + }, + { + "id": "jag_node_974fc98607079b44159e4456869a6f682787779df94bd1714c94c5c5001d35ea", + "label": "src/store.js", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "javascript-asset", + "source_file": "src/store.js" + }, + { + "id": "jag_node_9b8028a2e2ab9ab4063d59fa3bce0f3fef83a6b752e01fd0f03160c0a9f6b979", + "label": "path", + "file_type": "code", + "confidence": "INFERRED", + "rea_kind": "javascript-module", + "source_file": "src/store.js" + }, + { + "id": "jag_node_a0757c8d4e2bd6305a806bb4b2c80371c10c5648db9bacbc744ab758591d16cb", + "label": "src/main.js", + "file_type": "code", + "confidence": "INFERRED", + "rea_kind": "electron-main", + "source_file": "package.json" + }, + { + "id": "jag_node_a1a37b2c32d8bcd597a1848e998ec4e63a89412c608278617914270d5e757ecd", + "label": "electron.ipcRenderer.invoke", + "file_type": "code", + "confidence": "INFERRED", + "rea_kind": "javascript-expression", + "source_file": "src/preload.js" + }, + { + "id": "jag_node_a59bf04d649ee61c7a6a2d40847354650bc7d289a93ed5651b19d3cd33f9da33", + "label": "bigapp", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "package", + "source_file": "package.json" + }, + { + "id": "jag_node_ad0ca050bdab919472a62f16691b12d6a28e81647a14c71d616bce563de130f5", + "label": "src/net.js", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "javascript-module", + "source_file": "src/net.js" + }, + { + "id": "jag_node_ada50a6420d4500fab5ab4b2e94812e2cff624f6e151b0f5c49e4d42a9de4606", + "label": "crypto", + "file_type": "code", + "confidence": "INFERRED", + "rea_kind": "javascript-module", + "source_file": "src/cryptoutil.js" + }, + { + "id": "jag_node_aeff0f73415f32c499dcaf07bc4f86bdff8fbffd0eb3517e255d9b29e3cb5124", + "label": "src/auth.js", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "javascript-asset", + "source_file": "src/auth.js" + }, + { + "id": "jag_node_b30b70ebf2d67a330909aebeeda631115df618ad7dd92596d3b4925072b3c305", + "label": "notes", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "context-bridge-api", + "source_file": "src/preload.js" + }, + { + "id": "jag_node_b914783bf9b341a3de466def6375da8f874fc13139a1b41513e272f97d5a3edd", + "label": "electron.ipcRenderer.invoke", + "file_type": "code", + "confidence": "INFERRED", + "rea_kind": "javascript-expression", + "source_file": "src/preload.js" + }, + { + "id": "jag_node_c14d28d7b088d361543ea9ba167138b6b90a3c11a574d0615a69e107c2687f07", + "label": "closure", + "file_type": "code", + "confidence": "INFERRED", + "rea_kind": "javascript-expression", + "source_file": "src/preload.js" + }, + { + "id": "jag_node_c711b9c30529239a2bf01ef9b4f53cea66e2bc0454819eaf88d9938b86e6d0d0", + "label": "crypto", + "file_type": "code", + "confidence": "INFERRED", + "rea_kind": "javascript-module", + "source_file": "src/cryptoutil.js" + }, + { + "id": "jag_node_d06ed74a932a834e33c5fac6b33a6804ec900a59bf7141cb13fc5573f88d6e73", + "label": "https", + "file_type": "code", + "confidence": "INFERRED", + "rea_kind": "javascript-module", + "source_file": "src/net.js" + }, + { + "id": "jag_node_d4c9388d979398536907ea265bf2ed603dcce273d7bf723fee4d303c9828aab7", + "label": "closure", + "file_type": "code", + "confidence": "INFERRED", + "rea_kind": "javascript-expression", + "source_file": "src/preload.js" + }, + { + "id": "jag_node_dac560eb4e8932b050a0237fe5193589116fa212b1ed7a3015c2eb3fc325da4f", + "label": "src/logger.js:default", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "javascript-module", + "source_file": "src/logger.js" + }, + { + "id": "jag_node_e2536895e6772700682a44e9a54c98aa6335470dda00231d973f5cabe639e664", + "label": "network endpoint", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "endpoint", + "source_file": "src/net.js" + }, + { + "id": "jag_node_e4c00cf108d7d94e68b2745fe7097ded2b94ea68ec627ad538ed32b9639a2e9e", + "label": "artifact root", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "artifact", + "source_file": "artifact-root" + }, + { + "id": "jag_node_e563efb30c01117ccf6bd3f093ccefd815d6577a9fbb635b5a19933fb8248d76", + "label": "src/store.js", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "asar-entry", + "source_file": "src/store.js" + }, + { + "id": "jag_node_ebd023cbb0369e9a23f7bccb09b5f897d4b64549f3687da2211a10b60f5f76c6", + "label": "src/cryptoutil.js", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "javascript-module", + "source_file": "src/cryptoutil.js" + }, + { + "id": "jag_node_f0e647c79277e9b8e2cad8e84fd9aea341aa504b69515f9ca1b9dbfb5a337ec7", + "label": "electron", + "file_type": "code", + "confidence": "INFERRED", + "rea_kind": "javascript-module", + "source_file": "src/main.js" + }, + { + "id": "jag_node_f2d245bdf4189bb5a54ade332fd8aac36748dcfe092c58cb2165fb062afe0525", + "label": "path", + "file_type": "code", + "confidence": "INFERRED", + "rea_kind": "javascript-module", + "source_file": "src/store.js" + }, + { + "id": "jag_node_f3fa58895711ec6916ee8d66f4434a379ba27bbe28634a31a5370f8bf9970534", + "label": "src/main.js", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "asar-entry", + "source_file": "src/main.js" + }, + { + "id": "jag_node_f7d8bba46c14ce3471e73c706a9ea34ce8f25b58ee2e1aadaf128fb6fce4340d", + "label": "fs", + "file_type": "code", + "confidence": "INFERRED", + "rea_kind": "javascript-module", + "source_file": "src/store.js" + }, + { + "id": "jag_node_f90ea5262a6a8aa80018869784e01f34c349c17a9b1f686d75d2b5125ea3369b", + "label": "https", + "file_type": "code", + "confidence": "INFERRED", + "rea_kind": "javascript-module", + "source_file": "src/net.js" + }, + { + "id": "jag_node_fa6c12295ee70ebd239ba0a94b774191dd6926b041672270cb92f3cde0dd683c", + "label": "notes:save", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "ipc-handler", + "source_file": "src/main.js" + }, + { + "id": "jag_node_fb0a75d1cfc1333c87051b9d981d3c6fcab6972f0e53ae5086cc34ab731b95f7", + "label": "src/cryptoutil.js:default", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "javascript-module", + "source_file": "src/cryptoutil.js" + }, + { + "id": "jag_node_fcc4699d5def6c01669354fd9429251aa3a45bdff812a4b903b48402cdcc2291", + "label": "index.html", + "file_type": "code", + "confidence": "INFERRED", + "rea_kind": "electron-renderer", + "source_file": "src/main.js" + }, + { + "id": "jag_node_fff24d64a64cdd18a551dbee93ace336e740c45f2f9f26c6ca5195f54f3b2563", + "label": "notes.save", + "file_type": "code", + "confidence": "INFERRED", + "rea_kind": "javascript-expression", + "source_file": "src/preload.js" + } + ], + "links": [ + { + "source": "jag_node_3d5606769827f12f29342e5962b213b8ae907afaa6d06d674a3159a7a2266832", + "target": "jag_node_ad0ca050bdab919472a62f16691b12d6a28e81647a14c71d616bce563de130f5", + "relation": "contains", + "confidence": "EXTRACTED", + "context": "rea:contains" + }, + { + "source": "jag_node_67e7a03d83bce66e365c9d8f3e7f973e15b4457ffe1509e1f9e6da293571705b", + "target": "jag_node_1059d27ba7dc5d8bd9354e8ce6f981d0ef18ea9601b9dcfb82dc9acb3c111734", + "relation": "maps_to", + "confidence": "INFERRED", + "context": "rea:maps_to" + }, + { + "source": "jag_node_e4c00cf108d7d94e68b2745fe7097ded2b94ea68ec627ad538ed32b9639a2e9e", + "target": "jag_node_f3fa58895711ec6916ee8d66f4434a379ba27bbe28634a31a5370f8bf9970534", + "relation": "contains", + "confidence": "EXTRACTED", + "context": "rea:contains" + }, + { + "source": "jag_node_11a51434f146a08c03d1ae2ce88d542ab3d0096b216767ae0645091691c14a42", + "target": "jag_node_f0e647c79277e9b8e2cad8e84fd9aea341aa504b69515f9ca1b9dbfb5a337ec7", + "relation": "imports", + "confidence": "INFERRED", + "context": "rea:imports" + }, + { + "source": "jag_node_1059d27ba7dc5d8bd9354e8ce6f981d0ef18ea9601b9dcfb82dc9acb3c111734", + "target": "jag_node_48d69b8f77ba7d6bb9930e5ac5c9b4850eb9fcfcd4122c3edb69201de65ff645", + "relation": "invokes", + "confidence": "INFERRED", + "context": "rea:invokes" + }, + { + "source": "jag_node_f3fa58895711ec6916ee8d66f4434a379ba27bbe28634a31a5370f8bf9970534", + "target": "jag_node_7f93b8635fb8ba76e6108e8eaf4244b8a67b45409630aaa71abe1a835d30a591", + "relation": "maps_to", + "confidence": "EXTRACTED", + "context": "rea:maps_to" + }, + { + "source": "jag_node_5aa4f9aa27ee9bea79d2b9a601a4973b87771dbceb79938e7044600e6887e204", + "target": "jag_node_3d5606769827f12f29342e5962b213b8ae907afaa6d06d674a3159a7a2266832", + "relation": "maps_to", + "confidence": "EXTRACTED", + "context": "rea:maps_to" + }, + { + "source": "jag_node_11a51434f146a08c03d1ae2ce88d542ab3d0096b216767ae0645091691c14a42", + "target": "jag_node_3d5606769827f12f29342e5962b213b8ae907afaa6d06d674a3159a7a2266832", + "relation": "imports", + "confidence": "INFERRED", + "context": "rea:imports" + }, + { + "source": "jag_node_ebd023cbb0369e9a23f7bccb09b5f897d4b64549f3687da2211a10b60f5f76c6", + "target": "jag_node_fb0a75d1cfc1333c87051b9d981d3c6fcab6972f0e53ae5086cc34ab731b95f7", + "relation": "exposes", + "confidence": "INFERRED", + "context": "rea:exposes" + }, + { + "source": "jag_node_1059d27ba7dc5d8bd9354e8ce6f981d0ef18ea9601b9dcfb82dc9acb3c111734", + "target": "jag_node_b30b70ebf2d67a330909aebeeda631115df618ad7dd92596d3b4925072b3c305", + "relation": "exposes", + "confidence": "INFERRED", + "context": "rea:exposes" + }, + { + "source": "jag_node_018188ff6b66f446bc06038777b1eb4e5634b4cefe8a781dec5a004dca5b5094", + "target": "jag_node_4552927e5c6665657c4bbd4298a324823363cb0352533ec864c871bb7b4946df", + "relation": "maps_to", + "confidence": "EXTRACTED", + "context": "rea:maps_to" + }, + { + "source": "jag_node_e4c00cf108d7d94e68b2745fe7097ded2b94ea68ec627ad538ed32b9639a2e9e", + "target": "jag_node_e563efb30c01117ccf6bd3f093ccefd815d6577a9fbb635b5a19933fb8248d76", + "relation": "contains", + "confidence": "EXTRACTED", + "context": "rea:contains" + }, + { + "source": "jag_node_5f093630c55a56a6ed03e20b07f1c3fa65b5aa6d8cceee4f44cb2512dd6dd3ff", + "target": "jag_node_7c7b22a506f7264dc691be495580d6db74c144d109c71578e0861f99f219579c", + "relation": "imports", + "confidence": "INFERRED", + "context": "rea:imports" + }, + { + "source": "jag_node_fff24d64a64cdd18a551dbee93ace336e740c45f2f9f26c6ca5195f54f3b2563", + "target": "jag_node_d4c9388d979398536907ea265bf2ed603dcce273d7bf723fee4d303c9828aab7", + "relation": "maps_to", + "confidence": "INFERRED", + "context": "rea:maps_to" + }, + { + "source": "jag_node_81a7d508a88358c1e410928fa92f56b4416f0fee5dbc858d31c3a092a5fa9bec", + "target": "jag_node_f7d8bba46c14ce3471e73c706a9ea34ce8f25b58ee2e1aadaf128fb6fce4340d", + "relation": "imports", + "confidence": "INFERRED", + "context": "rea:imports" + }, + { + "source": "jag_node_e4c00cf108d7d94e68b2745fe7097ded2b94ea68ec627ad538ed32b9639a2e9e", + "target": "jag_node_7003d21b5f586a1d934d356693fa158aaaeee7f1dcb0311f083bd0123b8bd4b1", + "relation": "contains", + "confidence": "EXTRACTED", + "context": "rea:contains" + }, + { + "source": "jag_node_11a51434f146a08c03d1ae2ce88d542ab3d0096b216767ae0645091691c14a42", + "target": "jag_node_59ad14dd7b17d9704d892fc200754b45266d458105acafd64f690c155f2bfc1c", + "relation": "imports", + "confidence": "INFERRED", + "context": "rea:imports" + }, + { + "source": "jag_node_81a7d508a88358c1e410928fa92f56b4416f0fee5dbc858d31c3a092a5fa9bec", + "target": "jag_node_47b97a082177472f9066d6d6f51c86e4a9d6fdfd2131bdd298de331d8907b09c", + "relation": "imports", + "confidence": "INFERRED", + "context": "rea:imports" + }, + { + "source": "jag_node_7f93b8635fb8ba76e6108e8eaf4244b8a67b45409630aaa71abe1a835d30a591", + "target": "jag_node_72cf57b63cf2788c530a756d231b003eae2e1f59e908638d0ac17a4eb250624d", + "relation": "contains", + "confidence": "EXTRACTED", + "context": "rea:contains" + }, + { + "source": "jag_node_1059d27ba7dc5d8bd9354e8ce6f981d0ef18ea9601b9dcfb82dc9acb3c111734", + "target": "jag_node_fa6c12295ee70ebd239ba0a94b774191dd6926b041672270cb92f3cde0dd683c", + "relation": "invokes", + "confidence": "INFERRED", + "context": "rea:invokes" + }, + { + "source": "jag_node_81a7d508a88358c1e410928fa92f56b4416f0fee5dbc858d31c3a092a5fa9bec", + "target": "jag_node_5e41c5d619f33a9bbe3461ab0b7ac649eb0b2f319d10dc1c048e48c95cbc49a6", + "relation": "exposes", + "confidence": "INFERRED", + "context": "rea:exposes" + }, + { + "source": "jag_node_ebd023cbb0369e9a23f7bccb09b5f897d4b64549f3687da2211a10b60f5f76c6", + "target": "jag_node_c711b9c30529239a2bf01ef9b4f53cea66e2bc0454819eaf88d9938b86e6d0d0", + "relation": "imports", + "confidence": "INFERRED", + "context": "rea:imports" + }, + { + "source": "jag_node_1059d27ba7dc5d8bd9354e8ce6f981d0ef18ea9601b9dcfb82dc9acb3c111734", + "target": "jag_node_fff24d64a64cdd18a551dbee93ace336e740c45f2f9f26c6ca5195f54f3b2563", + "relation": "contains", + "confidence": "INFERRED", + "context": "rea:contains" + }, + { + "source": "jag_node_e4c00cf108d7d94e68b2745fe7097ded2b94ea68ec627ad538ed32b9639a2e9e", + "target": "jag_node_514c970d1d5f26962e264a305c5e10254468cc429824355bea2e8ad314c4ab91", + "relation": "contains", + "confidence": "EXTRACTED", + "context": "rea:contains" + }, + { + "source": "jag_node_59ad14dd7b17d9704d892fc200754b45266d458105acafd64f690c155f2bfc1c", + "target": "jag_node_3d5606769827f12f29342e5962b213b8ae907afaa6d06d674a3159a7a2266832", + "relation": "imports", + "confidence": "INFERRED", + "context": "rea:imports" + }, + { + "source": "jag_node_11a51434f146a08c03d1ae2ce88d542ab3d0096b216767ae0645091691c14a42", + "target": "jag_node_47b97a082177472f9066d6d6f51c86e4a9d6fdfd2131bdd298de331d8907b09c", + "relation": "imports", + "confidence": "INFERRED", + "context": "rea:imports" + }, + { + "source": "jag_node_81a7d508a88358c1e410928fa92f56b4416f0fee5dbc858d31c3a092a5fa9bec", + "target": "jag_node_55529ab83216e29bca87ada4a4c9403ccd5ebc3de4f8811beb36182bad805dc5", + "relation": "imports", + "confidence": "INFERRED", + "context": "rea:imports" + }, + { + "source": "jag_node_a59bf04d649ee61c7a6a2d40847354650bc7d289a93ed5651b19d3cd33f9da33", + "target": "jag_node_e4c00cf108d7d94e68b2745fe7097ded2b94ea68ec627ad538ed32b9639a2e9e", + "relation": "contains", + "confidence": "INFERRED", + "context": "rea:contains" + }, + { + "source": "jag_node_44cd75eb87e69fb3926aacd1e8d76ec65023b23c00781e77729b5c3b47495336", + "target": "jag_node_dac560eb4e8932b050a0237fe5193589116fa212b1ed7a3015c2eb3fc325da4f", + "relation": "exposes", + "confidence": "INFERRED", + "context": "rea:exposes" + }, + { + "source": "jag_node_59ad14dd7b17d9704d892fc200754b45266d458105acafd64f690c155f2bfc1c", + "target": "jag_node_ebd023cbb0369e9a23f7bccb09b5f897d4b64549f3687da2211a10b60f5f76c6", + "relation": "imports", + "confidence": "INFERRED", + "context": "rea:imports" + }, + { + "source": "jag_node_11a51434f146a08c03d1ae2ce88d542ab3d0096b216767ae0645091691c14a42", + "target": "jag_node_974fc98607079b44159e4456869a6f682787779df94bd1714c94c5c5001d35ea", + "relation": "imports", + "confidence": "INFERRED", + "context": "rea:imports" + }, + { + "source": "jag_node_7003d21b5f586a1d934d356693fa158aaaeee7f1dcb0311f083bd0123b8bd4b1", + "target": "jag_node_aeff0f73415f32c499dcaf07bc4f86bdff8fbffd0eb3517e255d9b29e3cb5124", + "relation": "maps_to", + "confidence": "EXTRACTED", + "context": "rea:maps_to" + }, + { + "source": "jag_node_59ad14dd7b17d9704d892fc200754b45266d458105acafd64f690c155f2bfc1c", + "target": "jag_node_4b0855b1f9f779658836a7764accb9ac4f12c2645c72fe3588f1ca7bff943c36", + "relation": "exposes", + "confidence": "INFERRED", + "context": "rea:exposes" + }, + { + "source": "jag_node_11a51434f146a08c03d1ae2ce88d542ab3d0096b216767ae0645091691c14a42", + "target": "jag_node_81a7d508a88358c1e410928fa92f56b4416f0fee5dbc858d31c3a092a5fa9bec", + "relation": "imports", + "confidence": "INFERRED", + "context": "rea:imports" + }, + { + "source": "jag_node_47b97a082177472f9066d6d6f51c86e4a9d6fdfd2131bdd298de331d8907b09c", + "target": "jag_node_44cd75eb87e69fb3926aacd1e8d76ec65023b23c00781e77729b5c3b47495336", + "relation": "contains", + "confidence": "EXTRACTED", + "context": "rea:contains" + }, + { + "source": "jag_node_11a51434f146a08c03d1ae2ce88d542ab3d0096b216767ae0645091691c14a42", + "target": "jag_node_24007d253373a55910f1e1c91a78a9b0e7076ce8d8394bfbd7965efc8c0f7dc4", + "relation": "imports", + "confidence": "INFERRED", + "context": "rea:imports" + }, + { + "source": "jag_node_a59bf04d649ee61c7a6a2d40847354650bc7d289a93ed5651b19d3cd33f9da33", + "target": "jag_node_a0757c8d4e2bd6305a806bb4b2c80371c10c5648db9bacbc744ab758591d16cb", + "relation": "loads", + "confidence": "INFERRED", + "context": "rea:loads" + }, + { + "source": "jag_node_e563efb30c01117ccf6bd3f093ccefd815d6577a9fbb635b5a19933fb8248d76", + "target": "jag_node_974fc98607079b44159e4456869a6f682787779df94bd1714c94c5c5001d35ea", + "relation": "maps_to", + "confidence": "EXTRACTED", + "context": "rea:maps_to" + }, + { + "source": "jag_node_93e2111cffeffd1df13ae97202db54397946add55758a8408da951022714909b", + "target": "jag_node_47b97a082177472f9066d6d6f51c86e4a9d6fdfd2131bdd298de331d8907b09c", + "relation": "maps_to", + "confidence": "EXTRACTED", + "context": "rea:maps_to" + }, + { + "source": "jag_node_c14d28d7b088d361543ea9ba167138b6b90a3c11a574d0615a69e107c2687f07", + "target": "jag_node_a1a37b2c32d8bcd597a1848e998ec4e63a89412c608278617914270d5e757ecd", + "relation": "calls", + "confidence": "INFERRED", + "context": "rea:calls" + }, + { + "source": "jag_node_1059d27ba7dc5d8bd9354e8ce6f981d0ef18ea9601b9dcfb82dc9acb3c111734", + "target": "jag_node_5f093630c55a56a6ed03e20b07f1c3fa65b5aa6d8cceee4f44cb2512dd6dd3ff", + "relation": "contains", + "confidence": "EXTRACTED", + "context": "rea:contains" + }, + { + "source": "jag_node_ad0ca050bdab919472a62f16691b12d6a28e81647a14c71d616bce563de130f5", + "target": "jag_node_f90ea5262a6a8aa80018869784e01f34c349c17a9b1f686d75d2b5125ea3369b", + "relation": "imports", + "confidence": "INFERRED", + "context": "rea:imports" + }, + { + "source": "jag_node_e4c00cf108d7d94e68b2745fe7097ded2b94ea68ec627ad538ed32b9639a2e9e", + "target": "jag_node_730255a76677763943a9a4368dae16b6a6cf39888017372aa1f5c0bb5f248121", + "relation": "contains", + "confidence": "EXTRACTED", + "context": "rea:contains" + }, + { + "source": "jag_node_e4c00cf108d7d94e68b2745fe7097ded2b94ea68ec627ad538ed32b9639a2e9e", + "target": "jag_node_5aa4f9aa27ee9bea79d2b9a601a4973b87771dbceb79938e7044600e6887e204", + "relation": "contains", + "confidence": "EXTRACTED", + "context": "rea:contains" + }, + { + "source": "jag_node_730255a76677763943a9a4368dae16b6a6cf39888017372aa1f5c0bb5f248121", + "target": "jag_node_1059d27ba7dc5d8bd9354e8ce6f981d0ef18ea9601b9dcfb82dc9acb3c111734", + "relation": "maps_to", + "confidence": "EXTRACTED", + "context": "rea:maps_to" + }, + { + "source": "jag_node_514c970d1d5f26962e264a305c5e10254468cc429824355bea2e8ad314c4ab91", + "target": "jag_node_12c7966d91b55d116e8e73a23dc7648554dfeb9bd50263274626dc4603bbdbab", + "relation": "maps_to", + "confidence": "EXTRACTED", + "context": "rea:maps_to" + }, + { + "source": "jag_node_ad0ca050bdab919472a62f16691b12d6a28e81647a14c71d616bce563de130f5", + "target": "jag_node_d06ed74a932a834e33c5fac6b33a6804ec900a59bf7141cb13fc5573f88d6e73", + "relation": "imports", + "confidence": "INFERRED", + "context": "rea:imports" + }, + { + "source": "jag_node_7f93b8635fb8ba76e6108e8eaf4244b8a67b45409630aaa71abe1a835d30a591", + "target": "jag_node_fa6c12295ee70ebd239ba0a94b774191dd6926b041672270cb92f3cde0dd683c", + "relation": "contains", + "confidence": "EXTRACTED", + "context": "rea:contains" + }, + { + "source": "jag_node_59ad14dd7b17d9704d892fc200754b45266d458105acafd64f690c155f2bfc1c", + "target": "jag_node_12c7966d91b55d116e8e73a23dc7648554dfeb9bd50263274626dc4603bbdbab", + "relation": "imports", + "confidence": "INFERRED", + "context": "rea:imports" + }, + { + "source": "jag_node_ad0ca050bdab919472a62f16691b12d6a28e81647a14c71d616bce563de130f5", + "target": "jag_node_e2536895e6772700682a44e9a54c98aa6335470dda00231d973f5cabe639e664", + "relation": "calls", + "confidence": "INFERRED", + "context": "rea:calls" + }, + { + "source": "jag_node_974fc98607079b44159e4456869a6f682787779df94bd1714c94c5c5001d35ea", + "target": "jag_node_81a7d508a88358c1e410928fa92f56b4416f0fee5dbc858d31c3a092a5fa9bec", + "relation": "contains", + "confidence": "EXTRACTED", + "context": "rea:contains" + }, + { + "source": "jag_node_e4c00cf108d7d94e68b2745fe7097ded2b94ea68ec627ad538ed32b9639a2e9e", + "target": "jag_node_018188ff6b66f446bc06038777b1eb4e5634b4cefe8a781dec5a004dca5b5094", + "relation": "contains", + "confidence": "EXTRACTED", + "context": "rea:contains" + }, + { + "source": "jag_node_11a51434f146a08c03d1ae2ce88d542ab3d0096b216767ae0645091691c14a42", + "target": "jag_node_8a6447d8142929eb8d1ad0c624d5e3a69fde94e8ccf547e9d293389b8c1b5908", + "relation": "imports", + "confidence": "INFERRED", + "context": "rea:imports" + }, + { + "source": "jag_node_59ad14dd7b17d9704d892fc200754b45266d458105acafd64f690c155f2bfc1c", + "target": "jag_node_3f03f815678e82efe9d146b35a0102212ac13e89ccd5bba8f60ff60b702c03e1", + "relation": "calls", + "confidence": "INFERRED", + "context": "rea:calls" + }, + { + "source": "jag_node_d4c9388d979398536907ea265bf2ed603dcce273d7bf723fee4d303c9828aab7", + "target": "jag_node_b914783bf9b341a3de466def6375da8f874fc13139a1b41513e272f97d5a3edd", + "relation": "calls", + "confidence": "INFERRED", + "context": "rea:calls" + }, + { + "source": "jag_node_81a7d508a88358c1e410928fa92f56b4416f0fee5dbc858d31c3a092a5fa9bec", + "target": "jag_node_f2d245bdf4189bb5a54ade332fd8aac36748dcfe092c58cb2165fb062afe0525", + "relation": "imports", + "confidence": "INFERRED", + "context": "rea:imports" + }, + { + "source": "jag_node_81a7d508a88358c1e410928fa92f56b4416f0fee5dbc858d31c3a092a5fa9bec", + "target": "jag_node_9b8028a2e2ab9ab4063d59fa3bce0f3fef83a6b752e01fd0f03160c0a9f6b979", + "relation": "imports", + "confidence": "INFERRED", + "context": "rea:imports" + }, + { + "source": "jag_node_ad0ca050bdab919472a62f16691b12d6a28e81647a14c71d616bce563de130f5", + "target": "jag_node_4c4680fc908ec952a11f4fd11b027d465452c006114bf530523ca3c805a625ca", + "relation": "exposes", + "confidence": "INFERRED", + "context": "rea:exposes" + }, + { + "source": "jag_node_a0757c8d4e2bd6305a806bb4b2c80371c10c5648db9bacbc744ab758591d16cb", + "target": "jag_node_7f93b8635fb8ba76e6108e8eaf4244b8a67b45409630aaa71abe1a835d30a591", + "relation": "maps_to", + "confidence": "INFERRED", + "context": "rea:maps_to" + }, + { + "source": "jag_node_e4c00cf108d7d94e68b2745fe7097ded2b94ea68ec627ad538ed32b9639a2e9e", + "target": "jag_node_93e2111cffeffd1df13ae97202db54397946add55758a8408da951022714909b", + "relation": "contains", + "confidence": "EXTRACTED", + "context": "rea:contains" + }, + { + "source": "jag_node_aeff0f73415f32c499dcaf07bc4f86bdff8fbffd0eb3517e255d9b29e3cb5124", + "target": "jag_node_59ad14dd7b17d9704d892fc200754b45266d458105acafd64f690c155f2bfc1c", + "relation": "contains", + "confidence": "EXTRACTED", + "context": "rea:contains" + }, + { + "source": "jag_node_11a51434f146a08c03d1ae2ce88d542ab3d0096b216767ae0645091691c14a42", + "target": "jag_node_22c04cd8da074e970328604fba4634ee704f70c4740e5f7b8417dae7751e4de5", + "relation": "imports", + "confidence": "INFERRED", + "context": "rea:imports" + }, + { + "source": "jag_node_7f93b8635fb8ba76e6108e8eaf4244b8a67b45409630aaa71abe1a835d30a591", + "target": "jag_node_4695a86bd866d2b27e09660da41503169d02b7d1c67457e5026f60cdbaec79d0", + "relation": "contains", + "confidence": "EXTRACTED", + "context": "rea:contains" + }, + { + "source": "jag_node_11a51434f146a08c03d1ae2ce88d542ab3d0096b216767ae0645091691c14a42", + "target": "jag_node_ad0ca050bdab919472a62f16691b12d6a28e81647a14c71d616bce563de130f5", + "relation": "imports", + "confidence": "INFERRED", + "context": "rea:imports" + }, + { + "source": "jag_node_11a51434f146a08c03d1ae2ce88d542ab3d0096b216767ae0645091691c14a42", + "target": "jag_node_aeff0f73415f32c499dcaf07bc4f86bdff8fbffd0eb3517e255d9b29e3cb5124", + "relation": "imports", + "confidence": "INFERRED", + "context": "rea:imports" + }, + { + "source": "jag_node_81a7d508a88358c1e410928fa92f56b4416f0fee5dbc858d31c3a092a5fa9bec", + "target": "jag_node_44cd75eb87e69fb3926aacd1e8d76ec65023b23c00781e77729b5c3b47495336", + "relation": "imports", + "confidence": "INFERRED", + "context": "rea:imports" + }, + { + "source": "jag_node_fa6c12295ee70ebd239ba0a94b774191dd6926b041672270cb92f3cde0dd683c", + "target": "jag_node_3f5014719f442e28d5fb0c173e8a6a9d02f25ca11e954ab16b40e698a305509d", + "relation": "handles", + "confidence": "INFERRED", + "context": "rea:handles" + }, + { + "source": "jag_node_1059d27ba7dc5d8bd9354e8ce6f981d0ef18ea9601b9dcfb82dc9acb3c111734", + "target": "jag_node_3f5014719f442e28d5fb0c173e8a6a9d02f25ca11e954ab16b40e698a305509d", + "relation": "invokes", + "confidence": "INFERRED", + "context": "rea:invokes" + }, + { + "source": "jag_node_1059d27ba7dc5d8bd9354e8ce6f981d0ef18ea9601b9dcfb82dc9acb3c111734", + "target": "jag_node_72cf57b63cf2788c530a756d231b003eae2e1f59e908638d0ac17a4eb250624d", + "relation": "invokes", + "confidence": "INFERRED", + "context": "rea:invokes" + }, + { + "source": "jag_node_59ad14dd7b17d9704d892fc200754b45266d458105acafd64f690c155f2bfc1c", + "target": "jag_node_ad0ca050bdab919472a62f16691b12d6a28e81647a14c71d616bce563de130f5", + "relation": "imports", + "confidence": "INFERRED", + "context": "rea:imports" + }, + { + "source": "jag_node_8b10d623e5cce67dcf72f745430ff61730325177f90ec75bcc75ceb4b14477b0", + "target": "jag_node_c14d28d7b088d361543ea9ba167138b6b90a3c11a574d0615a69e107c2687f07", + "relation": "maps_to", + "confidence": "INFERRED", + "context": "rea:maps_to" + }, + { + "source": "jag_node_5f093630c55a56a6ed03e20b07f1c3fa65b5aa6d8cceee4f44cb2512dd6dd3ff", + "target": "jag_node_43a8e1151dc8f188568f130d145069f76b8853960f6878899e29a674b8f22876", + "relation": "imports", + "confidence": "INFERRED", + "context": "rea:imports" + }, + { + "source": "jag_node_11a51434f146a08c03d1ae2ce88d542ab3d0096b216767ae0645091691c14a42", + "target": "jag_node_67e7a03d83bce66e365c9d8f3e7f973e15b4457ffe1509e1f9e6da293571705b", + "relation": "loads", + "confidence": "INFERRED", + "context": "rea:loads" + }, + { + "source": "jag_node_72cf57b63cf2788c530a756d231b003eae2e1f59e908638d0ac17a4eb250624d", + "target": "jag_node_48d69b8f77ba7d6bb9930e5ac5c9b4850eb9fcfcd4122c3edb69201de65ff645", + "relation": "handles", + "confidence": "INFERRED", + "context": "rea:handles" + }, + { + "source": "jag_node_7f93b8635fb8ba76e6108e8eaf4244b8a67b45409630aaa71abe1a835d30a591", + "target": "jag_node_11a51434f146a08c03d1ae2ce88d542ab3d0096b216767ae0645091691c14a42", + "relation": "contains", + "confidence": "EXTRACTED", + "context": "rea:contains" + }, + { + "source": "jag_node_11a51434f146a08c03d1ae2ce88d542ab3d0096b216767ae0645091691c14a42", + "target": "jag_node_fcc4699d5def6c01669354fd9429251aa3a45bdff812a4b903b48402cdcc2291", + "relation": "loads", + "confidence": "INFERRED", + "context": "rea:loads" + }, + { + "source": "jag_node_1059d27ba7dc5d8bd9354e8ce6f981d0ef18ea9601b9dcfb82dc9acb3c111734", + "target": "jag_node_8b10d623e5cce67dcf72f745430ff61730325177f90ec75bcc75ceb4b14477b0", + "relation": "contains", + "confidence": "INFERRED", + "context": "rea:contains" + }, + { + "source": "jag_node_ebd023cbb0369e9a23f7bccb09b5f897d4b64549f3687da2211a10b60f5f76c6", + "target": "jag_node_ada50a6420d4500fab5ab4b2e94812e2cff624f6e151b0f5c49e4d42a9de4606", + "relation": "imports", + "confidence": "INFERRED", + "context": "rea:imports" + }, + { + "source": "jag_node_11a51434f146a08c03d1ae2ce88d542ab3d0096b216767ae0645091691c14a42", + "target": "jag_node_44cd75eb87e69fb3926aacd1e8d76ec65023b23c00781e77729b5c3b47495336", + "relation": "imports", + "confidence": "INFERRED", + "context": "rea:imports" + }, + { + "source": "jag_node_4695a86bd866d2b27e09660da41503169d02b7d1c67457e5026f60cdbaec79d0", + "target": "jag_node_67e7a03d83bce66e365c9d8f3e7f973e15b4457ffe1509e1f9e6da293571705b", + "relation": "loads", + "confidence": "INFERRED", + "context": "rea:loads" + }, + { + "source": "jag_node_12c7966d91b55d116e8e73a23dc7648554dfeb9bd50263274626dc4603bbdbab", + "target": "jag_node_ebd023cbb0369e9a23f7bccb09b5f897d4b64549f3687da2211a10b60f5f76c6", + "relation": "contains", + "confidence": "EXTRACTED", + "context": "rea:contains" + } + ] +} \ No newline at end of file diff --git a/bench/fixtures/diff/real2/graphs/movefunc.json b/bench/fixtures/diff/real2/graphs/movefunc.json new file mode 100644 index 0000000..ae2d64e --- /dev/null +++ b/bench/fixtures/diff/real2/graphs/movefunc.json @@ -0,0 +1,1063 @@ +{ + "directed": true, + "multigraph": false, + "nodes": [ + { + "id": "jag_node_05988d9d8089189b8d9220b9bac47e4ed42007260d144ecd973e57a187477595", + "label": "src/logger.js", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "asar-entry", + "source_file": "src/logger.js" + }, + { + "id": "jag_node_075a6e364cfe478071a4cf32bcafe39c9d69994a1894bc9c714a9dfcc2d45583", + "label": "src/main.js", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "asar-entry", + "source_file": "src/main.js" + }, + { + "id": "jag_node_1059d27ba7dc5d8bd9354e8ce6f981d0ef18ea9601b9dcfb82dc9acb3c111734", + "label": "src/preload.js", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "javascript-asset", + "source_file": "src/preload.js" + }, + { + "id": "jag_node_19dabdb6e86e4ebf4477f8e7f8b66a01309656148f871e906ad0c3eb88fbbd6f", + "label": "src/logger.js", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "javascript-module", + "source_file": "src/logger.js" + }, + { + "id": "jag_node_22c04cd8da074e970328604fba4634ee704f70c4740e5f7b8417dae7751e4de5", + "label": "electron", + "file_type": "code", + "confidence": "INFERRED", + "rea_kind": "javascript-module", + "source_file": "src/main.js" + }, + { + "id": "jag_node_24007d253373a55910f1e1c91a78a9b0e7076ce8d8394bfbd7965efc8c0f7dc4", + "label": "path", + "file_type": "code", + "confidence": "INFERRED", + "rea_kind": "javascript-module", + "source_file": "src/main.js" + }, + { + "id": "jag_node_2c4fb5ccb9b70c1976f987ebcab2430c79bcc07eb8eeabf6568b50f30ce7a40e", + "label": "src/preload.js", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "javascript-module", + "source_file": "src/preload.js" + }, + { + "id": "jag_node_37a03fadae7b90cf0acc5fa5d4444c559f43814aef7da7216e68c3f919b33600", + "label": "src/store.js", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "javascript-module", + "source_file": "src/store.js" + }, + { + "id": "jag_node_3bc691b9c9ee093dc1bfdbe4d3911779a3e76b8c3af7c983a844f7f58cf08839", + "label": "notes:save", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "ipc-channel", + "source_file": "src/main.js" + }, + { + "id": "jag_node_3d5606769827f12f29342e5962b213b8ae907afaa6d06d674a3159a7a2266832", + "label": "src/net.js", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "javascript-asset", + "source_file": "src/net.js" + }, + { + "id": "jag_node_3f03f815678e82efe9d146b35a0102212ac13e89ccd5bba8f60ff60b702c03e1", + "label": "network endpoint", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "endpoint", + "source_file": "src/auth.js" + }, + { + "id": "jag_node_407c28b80ab3de6830cb3fd9ddef6d7dcdcb6d78f3d3ff40602aab2948da48f8", + "label": "src/cryptoutil.js", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "javascript-module", + "source_file": "src/cryptoutil.js" + }, + { + "id": "jag_node_43a8e1151dc8f188568f130d145069f76b8853960f6878899e29a674b8f22876", + "label": "electron", + "file_type": "code", + "confidence": "INFERRED", + "rea_kind": "javascript-module", + "source_file": "src/preload.js" + }, + { + "id": "jag_node_4552927e5c6665657c4bbd4298a324823363cb0352533ec864c871bb7b4946df", + "label": "package.json", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "artifact", + "source_file": "package.json" + }, + { + "id": "jag_node_4695a86bd866d2b27e09660da41503169d02b7d1c67457e5026f60cdbaec79d0", + "label": "BrowserWindow@8:14-8:110", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "browser-window", + "source_file": "src/main.js" + }, + { + "id": "jag_node_47b97a082177472f9066d6d6f51c86e4a9d6fdfd2131bdd298de331d8907b09c", + "label": "src/logger.js", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "javascript-asset", + "source_file": "src/logger.js" + }, + { + "id": "jag_node_4853bea5834004e76ac3befb35e94e5f81f1320dd02032954e64c9716fed2fd7", + "label": "src/auth.js", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "asar-entry", + "source_file": "src/auth.js" + }, + { + "id": "jag_node_4ebf1abb10a37d1cf7cff38977128767dd6dc9285a3bcb75625fd91a2cb9158e", + "label": "src/cryptoutil.js:default", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "javascript-module", + "source_file": "src/cryptoutil.js" + }, + { + "id": "jag_node_51a48b114e23043cb0cb52c42633ce3075eca745bbd7f18aec18c0fffb7b2150", + "label": "src/net.js", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "asar-entry", + "source_file": "src/net.js" + }, + { + "id": "jag_node_55529ab83216e29bca87ada4a4c9403ccd5ebc3de4f8811beb36182bad805dc5", + "label": "fs", + "file_type": "code", + "confidence": "INFERRED", + "rea_kind": "javascript-module", + "source_file": "src/store.js" + }, + { + "id": "jag_node_5da6952519a70a8e9a164a0a358895de78b26a8b3a7227cf8a65f27fc062d1f7", + "label": "artifact root", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "artifact", + "source_file": "artifact-root" + }, + { + "id": "jag_node_626325ae92d0b9f7a7a1ce9d956c25c96c91aa101588045528387b7839a636fc", + "label": "src/main.js", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "javascript-module", + "source_file": "src/main.js" + }, + { + "id": "jag_node_67e7a03d83bce66e365c9d8f3e7f973e15b4457ffe1509e1f9e6da293571705b", + "label": "src/preload.js", + "file_type": "code", + "confidence": "INFERRED", + "rea_kind": "electron-preload", + "source_file": "src/main.js" + }, + { + "id": "jag_node_72cf57b63cf2788c530a756d231b003eae2e1f59e908638d0ac17a4eb250624d", + "label": "notes:list", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "ipc-handler", + "source_file": "src/main.js" + }, + { + "id": "jag_node_7b12976d4a6e146170a3c32523437b5d5f697d341f430ed2901f59c54fe6df78", + "label": "crypto", + "file_type": "code", + "confidence": "INFERRED", + "rea_kind": "javascript-module", + "source_file": "src/cryptoutil.js" + }, + { + "id": "jag_node_7c7b22a506f7264dc691be495580d6db74c144d109c71578e0861f99f219579c", + "label": "electron", + "file_type": "code", + "confidence": "INFERRED", + "rea_kind": "javascript-module", + "source_file": "src/preload.js" + }, + { + "id": "jag_node_7f93b8635fb8ba76e6108e8eaf4244b8a67b45409630aaa71abe1a835d30a591", + "label": "src/main.js", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "javascript-asset", + "source_file": "src/main.js" + }, + { + "id": "jag_node_8a6447d8142929eb8d1ad0c624d5e3a69fde94e8ccf547e9d293389b8c1b5908", + "label": "path", + "file_type": "code", + "confidence": "INFERRED", + "rea_kind": "javascript-module", + "source_file": "src/main.js" + }, + { + "id": "jag_node_8b10d623e5cce67dcf72f745430ff61730325177f90ec75bcc75ceb4b14477b0", + "label": "notes.list", + "file_type": "code", + "confidence": "INFERRED", + "rea_kind": "javascript-expression", + "source_file": "src/preload.js" + }, + { + "id": "jag_node_8bb6d8f8fbc934898bbac22c8d3c5c6e1fa5ac90541e1a180a87dcf4fb841900", + "label": "src/store.js", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "asar-entry", + "source_file": "src/store.js" + }, + { + "id": "jag_node_974fc98607079b44159e4456869a6f682787779df94bd1714c94c5c5001d35ea", + "label": "src/store.js", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "javascript-asset", + "source_file": "src/store.js" + }, + { + "id": "jag_node_9b8028a2e2ab9ab4063d59fa3bce0f3fef83a6b752e01fd0f03160c0a9f6b979", + "label": "path", + "file_type": "code", + "confidence": "INFERRED", + "rea_kind": "javascript-module", + "source_file": "src/store.js" + }, + { + "id": "jag_node_a0757c8d4e2bd6305a806bb4b2c80371c10c5648db9bacbc744ab758591d16cb", + "label": "src/main.js", + "file_type": "code", + "confidence": "INFERRED", + "rea_kind": "electron-main", + "source_file": "package.json" + }, + { + "id": "jag_node_a1a37b2c32d8bcd597a1848e998ec4e63a89412c608278617914270d5e757ecd", + "label": "electron.ipcRenderer.invoke", + "file_type": "code", + "confidence": "INFERRED", + "rea_kind": "javascript-expression", + "source_file": "src/preload.js" + }, + { + "id": "jag_node_a59bf04d649ee61c7a6a2d40847354650bc7d289a93ed5651b19d3cd33f9da33", + "label": "bigapp", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "package", + "source_file": "package.json" + }, + { + "id": "jag_node_aeff0f73415f32c499dcaf07bc4f86bdff8fbffd0eb3517e255d9b29e3cb5124", + "label": "src/auth.js", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "javascript-asset", + "source_file": "src/auth.js" + }, + { + "id": "jag_node_b30b70ebf2d67a330909aebeeda631115df618ad7dd92596d3b4925072b3c305", + "label": "notes", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "context-bridge-api", + "source_file": "src/preload.js" + }, + { + "id": "jag_node_b33b39b1dffe388e2639395111299883bcbd193fe3973cf14a1ba6088ede3504", + "label": "src/store.js:default", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "javascript-module", + "source_file": "src/store.js" + }, + { + "id": "jag_node_b914783bf9b341a3de466def6375da8f874fc13139a1b41513e272f97d5a3edd", + "label": "electron.ipcRenderer.invoke", + "file_type": "code", + "confidence": "INFERRED", + "rea_kind": "javascript-expression", + "source_file": "src/preload.js" + }, + { + "id": "jag_node_bc824ab40145da223678ae8cb2acc00c19ffeee09df5bbae835a70bae75fb330", + "label": "notes:list", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "ipc-channel", + "source_file": "src/preload.js" + }, + { + "id": "jag_node_be6f3285da61e724b646dc20ddf3ed154faf67ca2513ba314c901a3d34dda02d", + "label": "src/auth.js:default", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "javascript-module", + "source_file": "src/auth.js" + }, + { + "id": "jag_node_c0f71d8b1ba3c90b03c6a3636162e1decec38b2c6eae592eccb903431a5e7c93", + "label": "src/auth.js", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "javascript-module", + "source_file": "src/auth.js" + }, + { + "id": "jag_node_c14d28d7b088d361543ea9ba167138b6b90a3c11a574d0615a69e107c2687f07", + "label": "closure", + "file_type": "code", + "confidence": "INFERRED", + "rea_kind": "javascript-expression", + "source_file": "src/preload.js" + }, + { + "id": "jag_node_c468c48a50c1d3d7930729d7c7389eed9ca9d42c0fd68db5aab6504db9584278", + "label": "src/logger.js:default", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "javascript-module", + "source_file": "src/logger.js" + }, + { + "id": "jag_node_c837a07416cb1eac63ef41c66f2bbdda93c367946028627dd9d2f044ac6e2715", + "label": "src/preload.js", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "asar-entry", + "source_file": "src/preload.js" + }, + { + "id": "jag_node_d06ed74a932a834e33c5fac6b33a6804ec900a59bf7141cb13fc5573f88d6e73", + "label": "https", + "file_type": "code", + "confidence": "INFERRED", + "rea_kind": "javascript-module", + "source_file": "src/net.js" + }, + { + "id": "jag_node_d087d8cca282f2967215ee922e18b1541a9aef783d9bc71080630565bf683f06", + "label": "src/cryptoutil.js", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "asar-entry", + "source_file": "src/cryptoutil.js" + }, + { + "id": "jag_node_d4c9388d979398536907ea265bf2ed603dcce273d7bf723fee4d303c9828aab7", + "label": "closure", + "file_type": "code", + "confidence": "INFERRED", + "rea_kind": "javascript-expression", + "source_file": "src/preload.js" + }, + { + "id": "jag_node_d9b2b538ef2829bb01fc7c91f2a5651d50466263f069dc93cee0bd33bb7ac53d", + "label": "package.json", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "asar-entry", + "source_file": "package.json" + }, + { + "id": "jag_node_e2536895e6772700682a44e9a54c98aa6335470dda00231d973f5cabe639e664", + "label": "network endpoint", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "endpoint", + "source_file": "src/net.js" + }, + { + "id": "jag_node_eee3c7458a174777360c44f09b10887bc60f16f3fc9b7d34415b2b5035b16bf0", + "label": "src/net.js", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "javascript-module", + "source_file": "src/net.js" + }, + { + "id": "jag_node_f0e647c79277e9b8e2cad8e84fd9aea341aa504b69515f9ca1b9dbfb5a337ec7", + "label": "electron", + "file_type": "code", + "confidence": "INFERRED", + "rea_kind": "javascript-module", + "source_file": "src/main.js" + }, + { + "id": "jag_node_f2d245bdf4189bb5a54ade332fd8aac36748dcfe092c58cb2165fb062afe0525", + "label": "path", + "file_type": "code", + "confidence": "INFERRED", + "rea_kind": "javascript-module", + "source_file": "src/store.js" + }, + { + "id": "jag_node_f35c7261520aa4fbb4044a174609771bc712ff844b6713b7ff30a58b66ad0b82", + "label": "src/net.js:default", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "javascript-module", + "source_file": "src/net.js" + }, + { + "id": "jag_node_f7d8bba46c14ce3471e73c706a9ea34ce8f25b58ee2e1aadaf128fb6fce4340d", + "label": "fs", + "file_type": "code", + "confidence": "INFERRED", + "rea_kind": "javascript-module", + "source_file": "src/store.js" + }, + { + "id": "jag_node_f90ea5262a6a8aa80018869784e01f34c349c17a9b1f686d75d2b5125ea3369b", + "label": "https", + "file_type": "code", + "confidence": "INFERRED", + "rea_kind": "javascript-module", + "source_file": "src/net.js" + }, + { + "id": "jag_node_f9d0b10f366e8e054f90df2b287daf6020c581df9b0a44837661473473810845", + "label": "src/cryptoutil.js", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "javascript-asset", + "source_file": "src/cryptoutil.js" + }, + { + "id": "jag_node_fa391ba55385abc8acbd3ee46448cfdbd03219aa3790d6f7f46937f97ddb905a", + "label": "crypto", + "file_type": "code", + "confidence": "INFERRED", + "rea_kind": "javascript-module", + "source_file": "src/cryptoutil.js" + }, + { + "id": "jag_node_fa6c12295ee70ebd239ba0a94b774191dd6926b041672270cb92f3cde0dd683c", + "label": "notes:save", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "ipc-handler", + "source_file": "src/main.js" + }, + { + "id": "jag_node_fcc4699d5def6c01669354fd9429251aa3a45bdff812a4b903b48402cdcc2291", + "label": "index.html", + "file_type": "code", + "confidence": "INFERRED", + "rea_kind": "electron-renderer", + "source_file": "src/main.js" + }, + { + "id": "jag_node_fff24d64a64cdd18a551dbee93ace336e740c45f2f9f26c6ca5195f54f3b2563", + "label": "notes.save", + "file_type": "code", + "confidence": "INFERRED", + "rea_kind": "javascript-expression", + "source_file": "src/preload.js" + } + ], + "links": [ + { + "source": "jag_node_67e7a03d83bce66e365c9d8f3e7f973e15b4457ffe1509e1f9e6da293571705b", + "target": "jag_node_1059d27ba7dc5d8bd9354e8ce6f981d0ef18ea9601b9dcfb82dc9acb3c111734", + "relation": "maps_to", + "confidence": "INFERRED", + "context": "rea:maps_to" + }, + { + "source": "jag_node_626325ae92d0b9f7a7a1ce9d956c25c96c91aa101588045528387b7839a636fc", + "target": "jag_node_37a03fadae7b90cf0acc5fa5d4444c559f43814aef7da7216e68c3f919b33600", + "relation": "imports", + "confidence": "INFERRED", + "context": "rea:imports" + }, + { + "source": "jag_node_626325ae92d0b9f7a7a1ce9d956c25c96c91aa101588045528387b7839a636fc", + "target": "jag_node_3d5606769827f12f29342e5962b213b8ae907afaa6d06d674a3159a7a2266832", + "relation": "imports", + "confidence": "INFERRED", + "context": "rea:imports" + }, + { + "source": "jag_node_c0f71d8b1ba3c90b03c6a3636162e1decec38b2c6eae592eccb903431a5e7c93", + "target": "jag_node_be6f3285da61e724b646dc20ddf3ed154faf67ca2513ba314c901a3d34dda02d", + "relation": "exposes", + "confidence": "INFERRED", + "context": "rea:exposes" + }, + { + "source": "jag_node_626325ae92d0b9f7a7a1ce9d956c25c96c91aa101588045528387b7839a636fc", + "target": "jag_node_f0e647c79277e9b8e2cad8e84fd9aea341aa504b69515f9ca1b9dbfb5a337ec7", + "relation": "imports", + "confidence": "INFERRED", + "context": "rea:imports" + }, + { + "source": "jag_node_37a03fadae7b90cf0acc5fa5d4444c559f43814aef7da7216e68c3f919b33600", + "target": "jag_node_b33b39b1dffe388e2639395111299883bcbd193fe3973cf14a1ba6088ede3504", + "relation": "exposes", + "confidence": "INFERRED", + "context": "rea:exposes" + }, + { + "source": "jag_node_1059d27ba7dc5d8bd9354e8ce6f981d0ef18ea9601b9dcfb82dc9acb3c111734", + "target": "jag_node_b30b70ebf2d67a330909aebeeda631115df618ad7dd92596d3b4925072b3c305", + "relation": "exposes", + "confidence": "INFERRED", + "context": "rea:exposes" + }, + { + "source": "jag_node_c0f71d8b1ba3c90b03c6a3636162e1decec38b2c6eae592eccb903431a5e7c93", + "target": "jag_node_eee3c7458a174777360c44f09b10887bc60f16f3fc9b7d34415b2b5035b16bf0", + "relation": "imports", + "confidence": "INFERRED", + "context": "rea:imports" + }, + { + "source": "jag_node_5da6952519a70a8e9a164a0a358895de78b26a8b3a7227cf8a65f27fc062d1f7", + "target": "jag_node_075a6e364cfe478071a4cf32bcafe39c9d69994a1894bc9c714a9dfcc2d45583", + "relation": "contains", + "confidence": "EXTRACTED", + "context": "rea:contains" + }, + { + "source": "jag_node_407c28b80ab3de6830cb3fd9ddef6d7dcdcb6d78f3d3ff40602aab2948da48f8", + "target": "jag_node_fa391ba55385abc8acbd3ee46448cfdbd03219aa3790d6f7f46937f97ddb905a", + "relation": "imports", + "confidence": "INFERRED", + "context": "rea:imports" + }, + { + "source": "jag_node_37a03fadae7b90cf0acc5fa5d4444c559f43814aef7da7216e68c3f919b33600", + "target": "jag_node_f2d245bdf4189bb5a54ade332fd8aac36748dcfe092c58cb2165fb062afe0525", + "relation": "imports", + "confidence": "INFERRED", + "context": "rea:imports" + }, + { + "source": "jag_node_7f93b8635fb8ba76e6108e8eaf4244b8a67b45409630aaa71abe1a835d30a591", + "target": "jag_node_626325ae92d0b9f7a7a1ce9d956c25c96c91aa101588045528387b7839a636fc", + "relation": "contains", + "confidence": "EXTRACTED", + "context": "rea:contains" + }, + { + "source": "jag_node_5da6952519a70a8e9a164a0a358895de78b26a8b3a7227cf8a65f27fc062d1f7", + "target": "jag_node_c837a07416cb1eac63ef41c66f2bbdda93c367946028627dd9d2f044ac6e2715", + "relation": "contains", + "confidence": "EXTRACTED", + "context": "rea:contains" + }, + { + "source": "jag_node_5da6952519a70a8e9a164a0a358895de78b26a8b3a7227cf8a65f27fc062d1f7", + "target": "jag_node_8bb6d8f8fbc934898bbac22c8d3c5c6e1fa5ac90541e1a180a87dcf4fb841900", + "relation": "contains", + "confidence": "EXTRACTED", + "context": "rea:contains" + }, + { + "source": "jag_node_5da6952519a70a8e9a164a0a358895de78b26a8b3a7227cf8a65f27fc062d1f7", + "target": "jag_node_4853bea5834004e76ac3befb35e94e5f81f1320dd02032954e64c9716fed2fd7", + "relation": "contains", + "confidence": "EXTRACTED", + "context": "rea:contains" + }, + { + "source": "jag_node_fff24d64a64cdd18a551dbee93ace336e740c45f2f9f26c6ca5195f54f3b2563", + "target": "jag_node_d4c9388d979398536907ea265bf2ed603dcce273d7bf723fee4d303c9828aab7", + "relation": "maps_to", + "confidence": "INFERRED", + "context": "rea:maps_to" + }, + { + "source": "jag_node_47b97a082177472f9066d6d6f51c86e4a9d6fdfd2131bdd298de331d8907b09c", + "target": "jag_node_19dabdb6e86e4ebf4477f8e7f8b66a01309656148f871e906ad0c3eb88fbbd6f", + "relation": "contains", + "confidence": "EXTRACTED", + "context": "rea:contains" + }, + { + "source": "jag_node_626325ae92d0b9f7a7a1ce9d956c25c96c91aa101588045528387b7839a636fc", + "target": "jag_node_22c04cd8da074e970328604fba4634ee704f70c4740e5f7b8417dae7751e4de5", + "relation": "imports", + "confidence": "INFERRED", + "context": "rea:imports" + }, + { + "source": "jag_node_2c4fb5ccb9b70c1976f987ebcab2430c79bcc07eb8eeabf6568b50f30ce7a40e", + "target": "jag_node_7c7b22a506f7264dc691be495580d6db74c144d109c71578e0861f99f219579c", + "relation": "imports", + "confidence": "INFERRED", + "context": "rea:imports" + }, + { + "source": "jag_node_aeff0f73415f32c499dcaf07bc4f86bdff8fbffd0eb3517e255d9b29e3cb5124", + "target": "jag_node_c0f71d8b1ba3c90b03c6a3636162e1decec38b2c6eae592eccb903431a5e7c93", + "relation": "contains", + "confidence": "EXTRACTED", + "context": "rea:contains" + }, + { + "source": "jag_node_c837a07416cb1eac63ef41c66f2bbdda93c367946028627dd9d2f044ac6e2715", + "target": "jag_node_1059d27ba7dc5d8bd9354e8ce6f981d0ef18ea9601b9dcfb82dc9acb3c111734", + "relation": "maps_to", + "confidence": "EXTRACTED", + "context": "rea:maps_to" + }, + { + "source": "jag_node_7f93b8635fb8ba76e6108e8eaf4244b8a67b45409630aaa71abe1a835d30a591", + "target": "jag_node_72cf57b63cf2788c530a756d231b003eae2e1f59e908638d0ac17a4eb250624d", + "relation": "contains", + "confidence": "EXTRACTED", + "context": "rea:contains" + }, + { + "source": "jag_node_1059d27ba7dc5d8bd9354e8ce6f981d0ef18ea9601b9dcfb82dc9acb3c111734", + "target": "jag_node_fa6c12295ee70ebd239ba0a94b774191dd6926b041672270cb92f3cde0dd683c", + "relation": "invokes", + "confidence": "INFERRED", + "context": "rea:invokes" + }, + { + "source": "jag_node_1059d27ba7dc5d8bd9354e8ce6f981d0ef18ea9601b9dcfb82dc9acb3c111734", + "target": "jag_node_2c4fb5ccb9b70c1976f987ebcab2430c79bcc07eb8eeabf6568b50f30ce7a40e", + "relation": "contains", + "confidence": "EXTRACTED", + "context": "rea:contains" + }, + { + "source": "jag_node_4853bea5834004e76ac3befb35e94e5f81f1320dd02032954e64c9716fed2fd7", + "target": "jag_node_aeff0f73415f32c499dcaf07bc4f86bdff8fbffd0eb3517e255d9b29e3cb5124", + "relation": "maps_to", + "confidence": "EXTRACTED", + "context": "rea:maps_to" + }, + { + "source": "jag_node_d9b2b538ef2829bb01fc7c91f2a5651d50466263f069dc93cee0bd33bb7ac53d", + "target": "jag_node_4552927e5c6665657c4bbd4298a324823363cb0352533ec864c871bb7b4946df", + "relation": "maps_to", + "confidence": "EXTRACTED", + "context": "rea:maps_to" + }, + { + "source": "jag_node_51a48b114e23043cb0cb52c42633ce3075eca745bbd7f18aec18c0fffb7b2150", + "target": "jag_node_3d5606769827f12f29342e5962b213b8ae907afaa6d06d674a3159a7a2266832", + "relation": "maps_to", + "confidence": "EXTRACTED", + "context": "rea:maps_to" + }, + { + "source": "jag_node_c0f71d8b1ba3c90b03c6a3636162e1decec38b2c6eae592eccb903431a5e7c93", + "target": "jag_node_3d5606769827f12f29342e5962b213b8ae907afaa6d06d674a3159a7a2266832", + "relation": "imports", + "confidence": "INFERRED", + "context": "rea:imports" + }, + { + "source": "jag_node_626325ae92d0b9f7a7a1ce9d956c25c96c91aa101588045528387b7839a636fc", + "target": "jag_node_47b97a082177472f9066d6d6f51c86e4a9d6fdfd2131bdd298de331d8907b09c", + "relation": "imports", + "confidence": "INFERRED", + "context": "rea:imports" + }, + { + "source": "jag_node_1059d27ba7dc5d8bd9354e8ce6f981d0ef18ea9601b9dcfb82dc9acb3c111734", + "target": "jag_node_fff24d64a64cdd18a551dbee93ace336e740c45f2f9f26c6ca5195f54f3b2563", + "relation": "contains", + "confidence": "INFERRED", + "context": "rea:contains" + }, + { + "source": "jag_node_626325ae92d0b9f7a7a1ce9d956c25c96c91aa101588045528387b7839a636fc", + "target": "jag_node_c0f71d8b1ba3c90b03c6a3636162e1decec38b2c6eae592eccb903431a5e7c93", + "relation": "imports", + "confidence": "INFERRED", + "context": "rea:imports" + }, + { + "source": "jag_node_eee3c7458a174777360c44f09b10887bc60f16f3fc9b7d34415b2b5035b16bf0", + "target": "jag_node_d06ed74a932a834e33c5fac6b33a6804ec900a59bf7141cb13fc5573f88d6e73", + "relation": "imports", + "confidence": "INFERRED", + "context": "rea:imports" + }, + { + "source": "jag_node_626325ae92d0b9f7a7a1ce9d956c25c96c91aa101588045528387b7839a636fc", + "target": "jag_node_974fc98607079b44159e4456869a6f682787779df94bd1714c94c5c5001d35ea", + "relation": "imports", + "confidence": "INFERRED", + "context": "rea:imports" + }, + { + "source": "jag_node_f9d0b10f366e8e054f90df2b287daf6020c581df9b0a44837661473473810845", + "target": "jag_node_407c28b80ab3de6830cb3fd9ddef6d7dcdcb6d78f3d3ff40602aab2948da48f8", + "relation": "contains", + "confidence": "EXTRACTED", + "context": "rea:contains" + }, + { + "source": "jag_node_37a03fadae7b90cf0acc5fa5d4444c559f43814aef7da7216e68c3f919b33600", + "target": "jag_node_19dabdb6e86e4ebf4477f8e7f8b66a01309656148f871e906ad0c3eb88fbbd6f", + "relation": "imports", + "confidence": "INFERRED", + "context": "rea:imports" + }, + { + "source": "jag_node_626325ae92d0b9f7a7a1ce9d956c25c96c91aa101588045528387b7839a636fc", + "target": "jag_node_19dabdb6e86e4ebf4477f8e7f8b66a01309656148f871e906ad0c3eb88fbbd6f", + "relation": "imports", + "confidence": "INFERRED", + "context": "rea:imports" + }, + { + "source": "jag_node_37a03fadae7b90cf0acc5fa5d4444c559f43814aef7da7216e68c3f919b33600", + "target": "jag_node_9b8028a2e2ab9ab4063d59fa3bce0f3fef83a6b752e01fd0f03160c0a9f6b979", + "relation": "imports", + "confidence": "INFERRED", + "context": "rea:imports" + }, + { + "source": "jag_node_5da6952519a70a8e9a164a0a358895de78b26a8b3a7227cf8a65f27fc062d1f7", + "target": "jag_node_d087d8cca282f2967215ee922e18b1541a9aef783d9bc71080630565bf683f06", + "relation": "contains", + "confidence": "EXTRACTED", + "context": "rea:contains" + }, + { + "source": "jag_node_05988d9d8089189b8d9220b9bac47e4ed42007260d144ecd973e57a187477595", + "target": "jag_node_47b97a082177472f9066d6d6f51c86e4a9d6fdfd2131bdd298de331d8907b09c", + "relation": "maps_to", + "confidence": "EXTRACTED", + "context": "rea:maps_to" + }, + { + "source": "jag_node_3d5606769827f12f29342e5962b213b8ae907afaa6d06d674a3159a7a2266832", + "target": "jag_node_eee3c7458a174777360c44f09b10887bc60f16f3fc9b7d34415b2b5035b16bf0", + "relation": "contains", + "confidence": "EXTRACTED", + "context": "rea:contains" + }, + { + "source": "jag_node_a59bf04d649ee61c7a6a2d40847354650bc7d289a93ed5651b19d3cd33f9da33", + "target": "jag_node_a0757c8d4e2bd6305a806bb4b2c80371c10c5648db9bacbc744ab758591d16cb", + "relation": "loads", + "confidence": "INFERRED", + "context": "rea:loads" + }, + { + "source": "jag_node_c0f71d8b1ba3c90b03c6a3636162e1decec38b2c6eae592eccb903431a5e7c93", + "target": "jag_node_407c28b80ab3de6830cb3fd9ddef6d7dcdcb6d78f3d3ff40602aab2948da48f8", + "relation": "imports", + "confidence": "INFERRED", + "context": "rea:imports" + }, + { + "source": "jag_node_2c4fb5ccb9b70c1976f987ebcab2430c79bcc07eb8eeabf6568b50f30ce7a40e", + "target": "jag_node_43a8e1151dc8f188568f130d145069f76b8853960f6878899e29a674b8f22876", + "relation": "imports", + "confidence": "INFERRED", + "context": "rea:imports" + }, + { + "source": "jag_node_8bb6d8f8fbc934898bbac22c8d3c5c6e1fa5ac90541e1a180a87dcf4fb841900", + "target": "jag_node_974fc98607079b44159e4456869a6f682787779df94bd1714c94c5c5001d35ea", + "relation": "maps_to", + "confidence": "EXTRACTED", + "context": "rea:maps_to" + }, + { + "source": "jag_node_075a6e364cfe478071a4cf32bcafe39c9d69994a1894bc9c714a9dfcc2d45583", + "target": "jag_node_7f93b8635fb8ba76e6108e8eaf4244b8a67b45409630aaa71abe1a835d30a591", + "relation": "maps_to", + "confidence": "EXTRACTED", + "context": "rea:maps_to" + }, + { + "source": "jag_node_626325ae92d0b9f7a7a1ce9d956c25c96c91aa101588045528387b7839a636fc", + "target": "jag_node_67e7a03d83bce66e365c9d8f3e7f973e15b4457ffe1509e1f9e6da293571705b", + "relation": "loads", + "confidence": "INFERRED", + "context": "rea:loads" + }, + { + "source": "jag_node_c14d28d7b088d361543ea9ba167138b6b90a3c11a574d0615a69e107c2687f07", + "target": "jag_node_a1a37b2c32d8bcd597a1848e998ec4e63a89412c608278617914270d5e757ecd", + "relation": "calls", + "confidence": "INFERRED", + "context": "rea:calls" + }, + { + "source": "jag_node_c0f71d8b1ba3c90b03c6a3636162e1decec38b2c6eae592eccb903431a5e7c93", + "target": "jag_node_f9d0b10f366e8e054f90df2b287daf6020c581df9b0a44837661473473810845", + "relation": "imports", + "confidence": "INFERRED", + "context": "rea:imports" + }, + { + "source": "jag_node_37a03fadae7b90cf0acc5fa5d4444c559f43814aef7da7216e68c3f919b33600", + "target": "jag_node_47b97a082177472f9066d6d6f51c86e4a9d6fdfd2131bdd298de331d8907b09c", + "relation": "imports", + "confidence": "INFERRED", + "context": "rea:imports" + }, + { + "source": "jag_node_5da6952519a70a8e9a164a0a358895de78b26a8b3a7227cf8a65f27fc062d1f7", + "target": "jag_node_05988d9d8089189b8d9220b9bac47e4ed42007260d144ecd973e57a187477595", + "relation": "contains", + "confidence": "EXTRACTED", + "context": "rea:contains" + }, + { + "source": "jag_node_1059d27ba7dc5d8bd9354e8ce6f981d0ef18ea9601b9dcfb82dc9acb3c111734", + "target": "jag_node_3bc691b9c9ee093dc1bfdbe4d3911779a3e76b8c3af7c983a844f7f58cf08839", + "relation": "invokes", + "confidence": "INFERRED", + "context": "rea:invokes" + }, + { + "source": "jag_node_19dabdb6e86e4ebf4477f8e7f8b66a01309656148f871e906ad0c3eb88fbbd6f", + "target": "jag_node_c468c48a50c1d3d7930729d7c7389eed9ca9d42c0fd68db5aab6504db9584278", + "relation": "exposes", + "confidence": "INFERRED", + "context": "rea:exposes" + }, + { + "source": "jag_node_407c28b80ab3de6830cb3fd9ddef6d7dcdcb6d78f3d3ff40602aab2948da48f8", + "target": "jag_node_7b12976d4a6e146170a3c32523437b5d5f697d341f430ed2901f59c54fe6df78", + "relation": "imports", + "confidence": "INFERRED", + "context": "rea:imports" + }, + { + "source": "jag_node_7f93b8635fb8ba76e6108e8eaf4244b8a67b45409630aaa71abe1a835d30a591", + "target": "jag_node_fa6c12295ee70ebd239ba0a94b774191dd6926b041672270cb92f3cde0dd683c", + "relation": "contains", + "confidence": "EXTRACTED", + "context": "rea:contains" + }, + { + "source": "jag_node_72cf57b63cf2788c530a756d231b003eae2e1f59e908638d0ac17a4eb250624d", + "target": "jag_node_bc824ab40145da223678ae8cb2acc00c19ffeee09df5bbae835a70bae75fb330", + "relation": "handles", + "confidence": "INFERRED", + "context": "rea:handles" + }, + { + "source": "jag_node_626325ae92d0b9f7a7a1ce9d956c25c96c91aa101588045528387b7839a636fc", + "target": "jag_node_fcc4699d5def6c01669354fd9429251aa3a45bdff812a4b903b48402cdcc2291", + "relation": "loads", + "confidence": "INFERRED", + "context": "rea:loads" + }, + { + "source": "jag_node_c0f71d8b1ba3c90b03c6a3636162e1decec38b2c6eae592eccb903431a5e7c93", + "target": "jag_node_3f03f815678e82efe9d146b35a0102212ac13e89ccd5bba8f60ff60b702c03e1", + "relation": "calls", + "confidence": "INFERRED", + "context": "rea:calls" + }, + { + "source": "jag_node_626325ae92d0b9f7a7a1ce9d956c25c96c91aa101588045528387b7839a636fc", + "target": "jag_node_eee3c7458a174777360c44f09b10887bc60f16f3fc9b7d34415b2b5035b16bf0", + "relation": "imports", + "confidence": "INFERRED", + "context": "rea:imports" + }, + { + "source": "jag_node_d4c9388d979398536907ea265bf2ed603dcce273d7bf723fee4d303c9828aab7", + "target": "jag_node_b914783bf9b341a3de466def6375da8f874fc13139a1b41513e272f97d5a3edd", + "relation": "calls", + "confidence": "INFERRED", + "context": "rea:calls" + }, + { + "source": "jag_node_a59bf04d649ee61c7a6a2d40847354650bc7d289a93ed5651b19d3cd33f9da33", + "target": "jag_node_5da6952519a70a8e9a164a0a358895de78b26a8b3a7227cf8a65f27fc062d1f7", + "relation": "contains", + "confidence": "INFERRED", + "context": "rea:contains" + }, + { + "source": "jag_node_a0757c8d4e2bd6305a806bb4b2c80371c10c5648db9bacbc744ab758591d16cb", + "target": "jag_node_7f93b8635fb8ba76e6108e8eaf4244b8a67b45409630aaa71abe1a835d30a591", + "relation": "maps_to", + "confidence": "INFERRED", + "context": "rea:maps_to" + }, + { + "source": "jag_node_37a03fadae7b90cf0acc5fa5d4444c559f43814aef7da7216e68c3f919b33600", + "target": "jag_node_55529ab83216e29bca87ada4a4c9403ccd5ebc3de4f8811beb36182bad805dc5", + "relation": "imports", + "confidence": "INFERRED", + "context": "rea:imports" + }, + { + "source": "jag_node_407c28b80ab3de6830cb3fd9ddef6d7dcdcb6d78f3d3ff40602aab2948da48f8", + "target": "jag_node_4ebf1abb10a37d1cf7cff38977128767dd6dc9285a3bcb75625fd91a2cb9158e", + "relation": "exposes", + "confidence": "INFERRED", + "context": "rea:exposes" + }, + { + "source": "jag_node_626325ae92d0b9f7a7a1ce9d956c25c96c91aa101588045528387b7839a636fc", + "target": "jag_node_aeff0f73415f32c499dcaf07bc4f86bdff8fbffd0eb3517e255d9b29e3cb5124", + "relation": "imports", + "confidence": "INFERRED", + "context": "rea:imports" + }, + { + "source": "jag_node_974fc98607079b44159e4456869a6f682787779df94bd1714c94c5c5001d35ea", + "target": "jag_node_37a03fadae7b90cf0acc5fa5d4444c559f43814aef7da7216e68c3f919b33600", + "relation": "contains", + "confidence": "EXTRACTED", + "context": "rea:contains" + }, + { + "source": "jag_node_7f93b8635fb8ba76e6108e8eaf4244b8a67b45409630aaa71abe1a835d30a591", + "target": "jag_node_4695a86bd866d2b27e09660da41503169d02b7d1c67457e5026f60cdbaec79d0", + "relation": "contains", + "confidence": "EXTRACTED", + "context": "rea:contains" + }, + { + "source": "jag_node_5da6952519a70a8e9a164a0a358895de78b26a8b3a7227cf8a65f27fc062d1f7", + "target": "jag_node_51a48b114e23043cb0cb52c42633ce3075eca745bbd7f18aec18c0fffb7b2150", + "relation": "contains", + "confidence": "EXTRACTED", + "context": "rea:contains" + }, + { + "source": "jag_node_eee3c7458a174777360c44f09b10887bc60f16f3fc9b7d34415b2b5035b16bf0", + "target": "jag_node_f35c7261520aa4fbb4044a174609771bc712ff844b6713b7ff30a58b66ad0b82", + "relation": "exposes", + "confidence": "INFERRED", + "context": "rea:exposes" + }, + { + "source": "jag_node_1059d27ba7dc5d8bd9354e8ce6f981d0ef18ea9601b9dcfb82dc9acb3c111734", + "target": "jag_node_72cf57b63cf2788c530a756d231b003eae2e1f59e908638d0ac17a4eb250624d", + "relation": "invokes", + "confidence": "INFERRED", + "context": "rea:invokes" + }, + { + "source": "jag_node_d087d8cca282f2967215ee922e18b1541a9aef783d9bc71080630565bf683f06", + "target": "jag_node_f9d0b10f366e8e054f90df2b287daf6020c581df9b0a44837661473473810845", + "relation": "maps_to", + "confidence": "EXTRACTED", + "context": "rea:maps_to" + }, + { + "source": "jag_node_8b10d623e5cce67dcf72f745430ff61730325177f90ec75bcc75ceb4b14477b0", + "target": "jag_node_c14d28d7b088d361543ea9ba167138b6b90a3c11a574d0615a69e107c2687f07", + "relation": "maps_to", + "confidence": "INFERRED", + "context": "rea:maps_to" + }, + { + "source": "jag_node_1059d27ba7dc5d8bd9354e8ce6f981d0ef18ea9601b9dcfb82dc9acb3c111734", + "target": "jag_node_bc824ab40145da223678ae8cb2acc00c19ffeee09df5bbae835a70bae75fb330", + "relation": "invokes", + "confidence": "INFERRED", + "context": "rea:invokes" + }, + { + "source": "jag_node_626325ae92d0b9f7a7a1ce9d956c25c96c91aa101588045528387b7839a636fc", + "target": "jag_node_24007d253373a55910f1e1c91a78a9b0e7076ce8d8394bfbd7965efc8c0f7dc4", + "relation": "imports", + "confidence": "INFERRED", + "context": "rea:imports" + }, + { + "source": "jag_node_626325ae92d0b9f7a7a1ce9d956c25c96c91aa101588045528387b7839a636fc", + "target": "jag_node_8a6447d8142929eb8d1ad0c624d5e3a69fde94e8ccf547e9d293389b8c1b5908", + "relation": "imports", + "confidence": "INFERRED", + "context": "rea:imports" + }, + { + "source": "jag_node_eee3c7458a174777360c44f09b10887bc60f16f3fc9b7d34415b2b5035b16bf0", + "target": "jag_node_f90ea5262a6a8aa80018869784e01f34c349c17a9b1f686d75d2b5125ea3369b", + "relation": "imports", + "confidence": "INFERRED", + "context": "rea:imports" + }, + { + "source": "jag_node_5da6952519a70a8e9a164a0a358895de78b26a8b3a7227cf8a65f27fc062d1f7", + "target": "jag_node_d9b2b538ef2829bb01fc7c91f2a5651d50466263f069dc93cee0bd33bb7ac53d", + "relation": "contains", + "confidence": "EXTRACTED", + "context": "rea:contains" + }, + { + "source": "jag_node_eee3c7458a174777360c44f09b10887bc60f16f3fc9b7d34415b2b5035b16bf0", + "target": "jag_node_e2536895e6772700682a44e9a54c98aa6335470dda00231d973f5cabe639e664", + "relation": "calls", + "confidence": "INFERRED", + "context": "rea:calls" + }, + { + "source": "jag_node_1059d27ba7dc5d8bd9354e8ce6f981d0ef18ea9601b9dcfb82dc9acb3c111734", + "target": "jag_node_8b10d623e5cce67dcf72f745430ff61730325177f90ec75bcc75ceb4b14477b0", + "relation": "contains", + "confidence": "INFERRED", + "context": "rea:contains" + }, + { + "source": "jag_node_fa6c12295ee70ebd239ba0a94b774191dd6926b041672270cb92f3cde0dd683c", + "target": "jag_node_3bc691b9c9ee093dc1bfdbe4d3911779a3e76b8c3af7c983a844f7f58cf08839", + "relation": "handles", + "confidence": "INFERRED", + "context": "rea:handles" + }, + { + "source": "jag_node_4695a86bd866d2b27e09660da41503169d02b7d1c67457e5026f60cdbaec79d0", + "target": "jag_node_67e7a03d83bce66e365c9d8f3e7f973e15b4457ffe1509e1f9e6da293571705b", + "relation": "loads", + "confidence": "INFERRED", + "context": "rea:loads" + }, + { + "source": "jag_node_37a03fadae7b90cf0acc5fa5d4444c559f43814aef7da7216e68c3f919b33600", + "target": "jag_node_f7d8bba46c14ce3471e73c706a9ea34ce8f25b58ee2e1aadaf128fb6fce4340d", + "relation": "imports", + "confidence": "INFERRED", + "context": "rea:imports" + } + ] +} \ No newline at end of file diff --git a/bench/fixtures/diff/real2/graphs/reorder.json b/bench/fixtures/diff/real2/graphs/reorder.json new file mode 100644 index 0000000..3d4b91a --- /dev/null +++ b/bench/fixtures/diff/real2/graphs/reorder.json @@ -0,0 +1,1063 @@ +{ + "directed": true, + "multigraph": false, + "nodes": [ + { + "id": "jag_node_05f63f406a630c5fb90215f3ddfed63fd4773ed6b123867d08d6823cc583ca00", + "label": "notes:save", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "ipc-channel", + "source_file": "src/preload.js" + }, + { + "id": "jag_node_0b4bd7b84f8c9ade3ccf143000b5b28fcc55f906167b93b17ce8e1d162576285", + "label": "src/main.js", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "javascript-module", + "source_file": "src/main.js" + }, + { + "id": "jag_node_1059d27ba7dc5d8bd9354e8ce6f981d0ef18ea9601b9dcfb82dc9acb3c111734", + "label": "src/preload.js", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "javascript-asset", + "source_file": "src/preload.js" + }, + { + "id": "jag_node_12c7966d91b55d116e8e73a23dc7648554dfeb9bd50263274626dc4603bbdbab", + "label": "src/cryptoutil.js", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "javascript-asset", + "source_file": "src/cryptoutil.js" + }, + { + "id": "jag_node_160a0667184d2147b83f802c361e60d5b0ac24f13d348cd66cade3fe3bdd66d0", + "label": "src/net.js", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "javascript-module", + "source_file": "src/net.js" + }, + { + "id": "jag_node_1617e4c53070dbc81f852ee83f904802ec78bf7d340411279608df68ed911981", + "label": "src/net.js", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "asar-entry", + "source_file": "src/net.js" + }, + { + "id": "jag_node_2144d5bb5a05865ebd17903acb25e3cb2098449ab738d1945d2ce24c7e5a67d5", + "label": "artifact root", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "artifact", + "source_file": "artifact-root" + }, + { + "id": "jag_node_22c04cd8da074e970328604fba4634ee704f70c4740e5f7b8417dae7751e4de5", + "label": "electron", + "file_type": "code", + "confidence": "INFERRED", + "rea_kind": "javascript-module", + "source_file": "src/main.js" + }, + { + "id": "jag_node_24007d253373a55910f1e1c91a78a9b0e7076ce8d8394bfbd7965efc8c0f7dc4", + "label": "path", + "file_type": "code", + "confidence": "INFERRED", + "rea_kind": "javascript-module", + "source_file": "src/main.js" + }, + { + "id": "jag_node_24aa4e799dd17fe458422e4318e6c6aac0a48afb6bb869a5497f85c2291bc795", + "label": "notes:list", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "ipc-channel", + "source_file": "src/main.js" + }, + { + "id": "jag_node_36471cb5af67122abcc085583955fe2cfa59645728f8c84ca93c895c50509d74", + "label": "src/logger.js", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "asar-entry", + "source_file": "src/logger.js" + }, + { + "id": "jag_node_3d5606769827f12f29342e5962b213b8ae907afaa6d06d674a3159a7a2266832", + "label": "src/net.js", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "javascript-asset", + "source_file": "src/net.js" + }, + { + "id": "jag_node_3f03f815678e82efe9d146b35a0102212ac13e89ccd5bba8f60ff60b702c03e1", + "label": "network endpoint", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "endpoint", + "source_file": "src/auth.js" + }, + { + "id": "jag_node_41c52311a4adeb5f55019fa0e13de92d84f5940e55cebb3e3cb051218fece71f", + "label": "src/preload.js", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "javascript-module", + "source_file": "src/preload.js" + }, + { + "id": "jag_node_42d8fdeecbeb6aa1496bf1e0bc88cb7085508c65e755ea5374b60ecc73af6dbe", + "label": "path", + "file_type": "code", + "confidence": "INFERRED", + "rea_kind": "javascript-module", + "source_file": "src/store.js" + }, + { + "id": "jag_node_43a8e1151dc8f188568f130d145069f76b8853960f6878899e29a674b8f22876", + "label": "electron", + "file_type": "code", + "confidence": "INFERRED", + "rea_kind": "javascript-module", + "source_file": "src/preload.js" + }, + { + "id": "jag_node_4552927e5c6665657c4bbd4298a324823363cb0352533ec864c871bb7b4946df", + "label": "package.json", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "artifact", + "source_file": "package.json" + }, + { + "id": "jag_node_4695a86bd866d2b27e09660da41503169d02b7d1c67457e5026f60cdbaec79d0", + "label": "BrowserWindow@8:14-8:110", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "browser-window", + "source_file": "src/main.js" + }, + { + "id": "jag_node_47b97a082177472f9066d6d6f51c86e4a9d6fdfd2131bdd298de331d8907b09c", + "label": "src/logger.js", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "javascript-asset", + "source_file": "src/logger.js" + }, + { + "id": "jag_node_4d47f066ff66c9fa5e31facba8fcbdc3ff627df38111c6c1bb5607299aa5a7c1", + "label": "fs", + "file_type": "code", + "confidence": "INFERRED", + "rea_kind": "javascript-module", + "source_file": "src/store.js" + }, + { + "id": "jag_node_59e759a3cebd9fc6b6a43219ee508272c1e368743325d8002fa339d2b2d6a8e5", + "label": "src/net.js:default", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "javascript-module", + "source_file": "src/net.js" + }, + { + "id": "jag_node_5ea00a0bacc161be5233ce11f8d5a62ca25d45a0a0dff0e60a4d52b7fc0a0d4c", + "label": "src/auth.js", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "javascript-module", + "source_file": "src/auth.js" + }, + { + "id": "jag_node_5f7fcea7cf0c29d3a73a8b275191d329a07c2338c896c63f5cd25320ca1eb76f", + "label": "src/store.js", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "javascript-asset", + "source_file": "src/store.js" + }, + { + "id": "jag_node_61ab7ce9f79369014ddbe7722d0ed8875ced18aec58f856c3c20eba1a9021342", + "label": "path", + "file_type": "code", + "confidence": "INFERRED", + "rea_kind": "javascript-module", + "source_file": "src/store.js" + }, + { + "id": "jag_node_67e7a03d83bce66e365c9d8f3e7f973e15b4457ffe1509e1f9e6da293571705b", + "label": "src/preload.js", + "file_type": "code", + "confidence": "INFERRED", + "rea_kind": "electron-preload", + "source_file": "src/main.js" + }, + { + "id": "jag_node_6ec446b41b810c35154ba8aaa989439720a3355548a6e9f1089a216838b44119", + "label": "src/store.js", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "javascript-module", + "source_file": "src/store.js" + }, + { + "id": "jag_node_72cf57b63cf2788c530a756d231b003eae2e1f59e908638d0ac17a4eb250624d", + "label": "notes:list", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "ipc-handler", + "source_file": "src/main.js" + }, + { + "id": "jag_node_753e5e81d39eb27036eb4fe35951f0cca0293b7570bd4f8e62d665f6b390de96", + "label": "src/auth.js:default", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "javascript-module", + "source_file": "src/auth.js" + }, + { + "id": "jag_node_7c7b22a506f7264dc691be495580d6db74c144d109c71578e0861f99f219579c", + "label": "electron", + "file_type": "code", + "confidence": "INFERRED", + "rea_kind": "javascript-module", + "source_file": "src/preload.js" + }, + { + "id": "jag_node_7ecd354a6d799ad210d105ef1bc1508cf0469a32fe69bd2a81965dadfc1095dd", + "label": "src/cryptoutil.js", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "javascript-module", + "source_file": "src/cryptoutil.js" + }, + { + "id": "jag_node_7f93b8635fb8ba76e6108e8eaf4244b8a67b45409630aaa71abe1a835d30a591", + "label": "src/main.js", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "javascript-asset", + "source_file": "src/main.js" + }, + { + "id": "jag_node_8a6447d8142929eb8d1ad0c624d5e3a69fde94e8ccf547e9d293389b8c1b5908", + "label": "path", + "file_type": "code", + "confidence": "INFERRED", + "rea_kind": "javascript-module", + "source_file": "src/main.js" + }, + { + "id": "jag_node_8b10d623e5cce67dcf72f745430ff61730325177f90ec75bcc75ceb4b14477b0", + "label": "notes.list", + "file_type": "code", + "confidence": "INFERRED", + "rea_kind": "javascript-expression", + "source_file": "src/preload.js" + }, + { + "id": "jag_node_8d109a216f368237686116176af7df0f3b5220256f1f92887bd2464a1b7763af", + "label": "src/main.js", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "asar-entry", + "source_file": "src/main.js" + }, + { + "id": "jag_node_9bc2c0155eda637e434139a10a287a7499359912426943bbf6883695a0c555b5", + "label": "src/cryptoutil.js", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "asar-entry", + "source_file": "src/cryptoutil.js" + }, + { + "id": "jag_node_9f610f8cf67b02b715493866bb9b3795e4f36816e172ffffe1af2bde3104187b", + "label": "src/auth.js", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "asar-entry", + "source_file": "src/auth.js" + }, + { + "id": "jag_node_a0757c8d4e2bd6305a806bb4b2c80371c10c5648db9bacbc744ab758591d16cb", + "label": "src/main.js", + "file_type": "code", + "confidence": "INFERRED", + "rea_kind": "electron-main", + "source_file": "package.json" + }, + { + "id": "jag_node_a1a37b2c32d8bcd597a1848e998ec4e63a89412c608278617914270d5e757ecd", + "label": "electron.ipcRenderer.invoke", + "file_type": "code", + "confidence": "INFERRED", + "rea_kind": "javascript-expression", + "source_file": "src/preload.js" + }, + { + "id": "jag_node_a59bf04d649ee61c7a6a2d40847354650bc7d289a93ed5651b19d3cd33f9da33", + "label": "bigapp", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "package", + "source_file": "package.json" + }, + { + "id": "jag_node_ada50a6420d4500fab5ab4b2e94812e2cff624f6e151b0f5c49e4d42a9de4606", + "label": "crypto", + "file_type": "code", + "confidence": "INFERRED", + "rea_kind": "javascript-module", + "source_file": "src/cryptoutil.js" + }, + { + "id": "jag_node_aeff0f73415f32c499dcaf07bc4f86bdff8fbffd0eb3517e255d9b29e3cb5124", + "label": "src/auth.js", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "javascript-asset", + "source_file": "src/auth.js" + }, + { + "id": "jag_node_b08f53cf0aba91b50248e6506d33705dc21237d572bc44034e66fcf73a7a251f", + "label": "package.json", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "asar-entry", + "source_file": "package.json" + }, + { + "id": "jag_node_b26eb8d8af480fd0d40fe4b2736bdd7fbca95d5eda8cb599c9bc5886157ed043", + "label": "src/logger.js", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "javascript-module", + "source_file": "src/logger.js" + }, + { + "id": "jag_node_b30b70ebf2d67a330909aebeeda631115df618ad7dd92596d3b4925072b3c305", + "label": "notes", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "context-bridge-api", + "source_file": "src/preload.js" + }, + { + "id": "jag_node_b914783bf9b341a3de466def6375da8f874fc13139a1b41513e272f97d5a3edd", + "label": "electron.ipcRenderer.invoke", + "file_type": "code", + "confidence": "INFERRED", + "rea_kind": "javascript-expression", + "source_file": "src/preload.js" + }, + { + "id": "jag_node_bc02d534541fd5d28267d60ea3bfaace0a0477115e7831eb1a5324d8a0c29284", + "label": "src/store.js", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "asar-entry", + "source_file": "src/store.js" + }, + { + "id": "jag_node_c14d28d7b088d361543ea9ba167138b6b90a3c11a574d0615a69e107c2687f07", + "label": "closure", + "file_type": "code", + "confidence": "INFERRED", + "rea_kind": "javascript-expression", + "source_file": "src/preload.js" + }, + { + "id": "jag_node_c711b9c30529239a2bf01ef9b4f53cea66e2bc0454819eaf88d9938b86e6d0d0", + "label": "crypto", + "file_type": "code", + "confidence": "INFERRED", + "rea_kind": "javascript-module", + "source_file": "src/cryptoutil.js" + }, + { + "id": "jag_node_d06ed74a932a834e33c5fac6b33a6804ec900a59bf7141cb13fc5573f88d6e73", + "label": "https", + "file_type": "code", + "confidence": "INFERRED", + "rea_kind": "javascript-module", + "source_file": "src/net.js" + }, + { + "id": "jag_node_d4c9388d979398536907ea265bf2ed603dcce273d7bf723fee4d303c9828aab7", + "label": "closure", + "file_type": "code", + "confidence": "INFERRED", + "rea_kind": "javascript-expression", + "source_file": "src/preload.js" + }, + { + "id": "jag_node_d6a81bc68f5106a8cec99d235be4645c558741fd53b99521e32725b6bb48fe31", + "label": "src/preload.js", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "asar-entry", + "source_file": "src/preload.js" + }, + { + "id": "jag_node_db4b9b36cf41083077a6cdf7a5c620044b88c256fe075a348f6f25513e1aa70d", + "label": "src/store.js:default", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "javascript-module", + "source_file": "src/store.js" + }, + { + "id": "jag_node_e2536895e6772700682a44e9a54c98aa6335470dda00231d973f5cabe639e664", + "label": "network endpoint", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "endpoint", + "source_file": "src/net.js" + }, + { + "id": "jag_node_e60a4686dd1a99f7ecf50847c6d414c803b00a463e03e38b46e628cb4b0c2239", + "label": "fs", + "file_type": "code", + "confidence": "INFERRED", + "rea_kind": "javascript-module", + "source_file": "src/store.js" + }, + { + "id": "jag_node_ec2aa14b38c85981cf77ed68d8e5bd00c5fe36fe03b734a6df8ccf182495f6bf", + "label": "src/logger.js:default", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "javascript-module", + "source_file": "src/logger.js" + }, + { + "id": "jag_node_f07d3663ca7bcbe67bc7e0636d4dbb8f2e172f1096ca3e0290e94fa32c95edda", + "label": "src/cryptoutil.js:default", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "javascript-module", + "source_file": "src/cryptoutil.js" + }, + { + "id": "jag_node_f0e647c79277e9b8e2cad8e84fd9aea341aa504b69515f9ca1b9dbfb5a337ec7", + "label": "electron", + "file_type": "code", + "confidence": "INFERRED", + "rea_kind": "javascript-module", + "source_file": "src/main.js" + }, + { + "id": "jag_node_f90ea5262a6a8aa80018869784e01f34c349c17a9b1f686d75d2b5125ea3369b", + "label": "https", + "file_type": "code", + "confidence": "INFERRED", + "rea_kind": "javascript-module", + "source_file": "src/net.js" + }, + { + "id": "jag_node_fa6c12295ee70ebd239ba0a94b774191dd6926b041672270cb92f3cde0dd683c", + "label": "notes:save", + "file_type": "code", + "confidence": "EXTRACTED", + "rea_kind": "ipc-handler", + "source_file": "src/main.js" + }, + { + "id": "jag_node_fcc4699d5def6c01669354fd9429251aa3a45bdff812a4b903b48402cdcc2291", + "label": "index.html", + "file_type": "code", + "confidence": "INFERRED", + "rea_kind": "electron-renderer", + "source_file": "src/main.js" + }, + { + "id": "jag_node_fff24d64a64cdd18a551dbee93ace336e740c45f2f9f26c6ca5195f54f3b2563", + "label": "notes.save", + "file_type": "code", + "confidence": "INFERRED", + "rea_kind": "javascript-expression", + "source_file": "src/preload.js" + } + ], + "links": [ + { + "source": "jag_node_67e7a03d83bce66e365c9d8f3e7f973e15b4457ffe1509e1f9e6da293571705b", + "target": "jag_node_1059d27ba7dc5d8bd9354e8ce6f981d0ef18ea9601b9dcfb82dc9acb3c111734", + "relation": "maps_to", + "confidence": "INFERRED", + "context": "rea:maps_to" + }, + { + "source": "jag_node_160a0667184d2147b83f802c361e60d5b0ac24f13d348cd66cade3fe3bdd66d0", + "target": "jag_node_e2536895e6772700682a44e9a54c98aa6335470dda00231d973f5cabe639e664", + "relation": "calls", + "confidence": "INFERRED", + "context": "rea:calls" + }, + { + "source": "jag_node_2144d5bb5a05865ebd17903acb25e3cb2098449ab738d1945d2ce24c7e5a67d5", + "target": "jag_node_bc02d534541fd5d28267d60ea3bfaace0a0477115e7831eb1a5324d8a0c29284", + "relation": "contains", + "confidence": "EXTRACTED", + "context": "rea:contains" + }, + { + "source": "jag_node_1059d27ba7dc5d8bd9354e8ce6f981d0ef18ea9601b9dcfb82dc9acb3c111734", + "target": "jag_node_b30b70ebf2d67a330909aebeeda631115df618ad7dd92596d3b4925072b3c305", + "relation": "exposes", + "confidence": "INFERRED", + "context": "rea:exposes" + }, + { + "source": "jag_node_2144d5bb5a05865ebd17903acb25e3cb2098449ab738d1945d2ce24c7e5a67d5", + "target": "jag_node_b08f53cf0aba91b50248e6506d33705dc21237d572bc44034e66fcf73a7a251f", + "relation": "contains", + "confidence": "EXTRACTED", + "context": "rea:contains" + }, + { + "source": "jag_node_0b4bd7b84f8c9ade3ccf143000b5b28fcc55f906167b93b17ce8e1d162576285", + "target": "jag_node_47b97a082177472f9066d6d6f51c86e4a9d6fdfd2131bdd298de331d8907b09c", + "relation": "imports", + "confidence": "INFERRED", + "context": "rea:imports" + }, + { + "source": "jag_node_0b4bd7b84f8c9ade3ccf143000b5b28fcc55f906167b93b17ce8e1d162576285", + "target": "jag_node_160a0667184d2147b83f802c361e60d5b0ac24f13d348cd66cade3fe3bdd66d0", + "relation": "imports", + "confidence": "INFERRED", + "context": "rea:imports" + }, + { + "source": "jag_node_fff24d64a64cdd18a551dbee93ace336e740c45f2f9f26c6ca5195f54f3b2563", + "target": "jag_node_d4c9388d979398536907ea265bf2ed603dcce273d7bf723fee4d303c9828aab7", + "relation": "maps_to", + "confidence": "INFERRED", + "context": "rea:maps_to" + }, + { + "source": "jag_node_0b4bd7b84f8c9ade3ccf143000b5b28fcc55f906167b93b17ce8e1d162576285", + "target": "jag_node_22c04cd8da074e970328604fba4634ee704f70c4740e5f7b8417dae7751e4de5", + "relation": "imports", + "confidence": "INFERRED", + "context": "rea:imports" + }, + { + "source": "jag_node_41c52311a4adeb5f55019fa0e13de92d84f5940e55cebb3e3cb051218fece71f", + "target": "jag_node_7c7b22a506f7264dc691be495580d6db74c144d109c71578e0861f99f219579c", + "relation": "imports", + "confidence": "INFERRED", + "context": "rea:imports" + }, + { + "source": "jag_node_2144d5bb5a05865ebd17903acb25e3cb2098449ab738d1945d2ce24c7e5a67d5", + "target": "jag_node_36471cb5af67122abcc085583955fe2cfa59645728f8c84ca93c895c50509d74", + "relation": "contains", + "confidence": "EXTRACTED", + "context": "rea:contains" + }, + { + "source": "jag_node_9bc2c0155eda637e434139a10a287a7499359912426943bbf6883695a0c555b5", + "target": "jag_node_12c7966d91b55d116e8e73a23dc7648554dfeb9bd50263274626dc4603bbdbab", + "relation": "maps_to", + "confidence": "EXTRACTED", + "context": "rea:maps_to" + }, + { + "source": "jag_node_7f93b8635fb8ba76e6108e8eaf4244b8a67b45409630aaa71abe1a835d30a591", + "target": "jag_node_72cf57b63cf2788c530a756d231b003eae2e1f59e908638d0ac17a4eb250624d", + "relation": "contains", + "confidence": "EXTRACTED", + "context": "rea:contains" + }, + { + "source": "jag_node_0b4bd7b84f8c9ade3ccf143000b5b28fcc55f906167b93b17ce8e1d162576285", + "target": "jag_node_f0e647c79277e9b8e2cad8e84fd9aea341aa504b69515f9ca1b9dbfb5a337ec7", + "relation": "imports", + "confidence": "INFERRED", + "context": "rea:imports" + }, + { + "source": "jag_node_1059d27ba7dc5d8bd9354e8ce6f981d0ef18ea9601b9dcfb82dc9acb3c111734", + "target": "jag_node_24aa4e799dd17fe458422e4318e6c6aac0a48afb6bb869a5497f85c2291bc795", + "relation": "invokes", + "confidence": "INFERRED", + "context": "rea:invokes" + }, + { + "source": "jag_node_1059d27ba7dc5d8bd9354e8ce6f981d0ef18ea9601b9dcfb82dc9acb3c111734", + "target": "jag_node_fa6c12295ee70ebd239ba0a94b774191dd6926b041672270cb92f3cde0dd683c", + "relation": "invokes", + "confidence": "INFERRED", + "context": "rea:invokes" + }, + { + "source": "jag_node_0b4bd7b84f8c9ade3ccf143000b5b28fcc55f906167b93b17ce8e1d162576285", + "target": "jag_node_6ec446b41b810c35154ba8aaa989439720a3355548a6e9f1089a216838b44119", + "relation": "imports", + "confidence": "INFERRED", + "context": "rea:imports" + }, + { + "source": "jag_node_a59bf04d649ee61c7a6a2d40847354650bc7d289a93ed5651b19d3cd33f9da33", + "target": "jag_node_2144d5bb5a05865ebd17903acb25e3cb2098449ab738d1945d2ce24c7e5a67d5", + "relation": "contains", + "confidence": "INFERRED", + "context": "rea:contains" + }, + { + "source": "jag_node_0b4bd7b84f8c9ade3ccf143000b5b28fcc55f906167b93b17ce8e1d162576285", + "target": "jag_node_3d5606769827f12f29342e5962b213b8ae907afaa6d06d674a3159a7a2266832", + "relation": "imports", + "confidence": "INFERRED", + "context": "rea:imports" + }, + { + "source": "jag_node_160a0667184d2147b83f802c361e60d5b0ac24f13d348cd66cade3fe3bdd66d0", + "target": "jag_node_d06ed74a932a834e33c5fac6b33a6804ec900a59bf7141cb13fc5573f88d6e73", + "relation": "imports", + "confidence": "INFERRED", + "context": "rea:imports" + }, + { + "source": "jag_node_1059d27ba7dc5d8bd9354e8ce6f981d0ef18ea9601b9dcfb82dc9acb3c111734", + "target": "jag_node_fff24d64a64cdd18a551dbee93ace336e740c45f2f9f26c6ca5195f54f3b2563", + "relation": "contains", + "confidence": "INFERRED", + "context": "rea:contains" + }, + { + "source": "jag_node_6ec446b41b810c35154ba8aaa989439720a3355548a6e9f1089a216838b44119", + "target": "jag_node_61ab7ce9f79369014ddbe7722d0ed8875ced18aec58f856c3c20eba1a9021342", + "relation": "imports", + "confidence": "INFERRED", + "context": "rea:imports" + }, + { + "source": "jag_node_2144d5bb5a05865ebd17903acb25e3cb2098449ab738d1945d2ce24c7e5a67d5", + "target": "jag_node_9bc2c0155eda637e434139a10a287a7499359912426943bbf6883695a0c555b5", + "relation": "contains", + "confidence": "EXTRACTED", + "context": "rea:contains" + }, + { + "source": "jag_node_36471cb5af67122abcc085583955fe2cfa59645728f8c84ca93c895c50509d74", + "target": "jag_node_47b97a082177472f9066d6d6f51c86e4a9d6fdfd2131bdd298de331d8907b09c", + "relation": "maps_to", + "confidence": "EXTRACTED", + "context": "rea:maps_to" + }, + { + "source": "jag_node_160a0667184d2147b83f802c361e60d5b0ac24f13d348cd66cade3fe3bdd66d0", + "target": "jag_node_59e759a3cebd9fc6b6a43219ee508272c1e368743325d8002fa339d2b2d6a8e5", + "relation": "exposes", + "confidence": "INFERRED", + "context": "rea:exposes" + }, + { + "source": "jag_node_7ecd354a6d799ad210d105ef1bc1508cf0469a32fe69bd2a81965dadfc1095dd", + "target": "jag_node_f07d3663ca7bcbe67bc7e0636d4dbb8f2e172f1096ca3e0290e94fa32c95edda", + "relation": "exposes", + "confidence": "INFERRED", + "context": "rea:exposes" + }, + { + "source": "jag_node_6ec446b41b810c35154ba8aaa989439720a3355548a6e9f1089a216838b44119", + "target": "jag_node_47b97a082177472f9066d6d6f51c86e4a9d6fdfd2131bdd298de331d8907b09c", + "relation": "imports", + "confidence": "INFERRED", + "context": "rea:imports" + }, + { + "source": "jag_node_b26eb8d8af480fd0d40fe4b2736bdd7fbca95d5eda8cb599c9bc5886157ed043", + "target": "jag_node_ec2aa14b38c85981cf77ed68d8e5bd00c5fe36fe03b734a6df8ccf182495f6bf", + "relation": "exposes", + "confidence": "INFERRED", + "context": "rea:exposes" + }, + { + "source": "jag_node_6ec446b41b810c35154ba8aaa989439720a3355548a6e9f1089a216838b44119", + "target": "jag_node_42d8fdeecbeb6aa1496bf1e0bc88cb7085508c65e755ea5374b60ecc73af6dbe", + "relation": "imports", + "confidence": "INFERRED", + "context": "rea:imports" + }, + { + "source": "jag_node_6ec446b41b810c35154ba8aaa989439720a3355548a6e9f1089a216838b44119", + "target": "jag_node_b26eb8d8af480fd0d40fe4b2736bdd7fbca95d5eda8cb599c9bc5886157ed043", + "relation": "imports", + "confidence": "INFERRED", + "context": "rea:imports" + }, + { + "source": "jag_node_5ea00a0bacc161be5233ce11f8d5a62ca25d45a0a0dff0e60a4d52b7fc0a0d4c", + "target": "jag_node_7ecd354a6d799ad210d105ef1bc1508cf0469a32fe69bd2a81965dadfc1095dd", + "relation": "imports", + "confidence": "INFERRED", + "context": "rea:imports" + }, + { + "source": "jag_node_6ec446b41b810c35154ba8aaa989439720a3355548a6e9f1089a216838b44119", + "target": "jag_node_e60a4686dd1a99f7ecf50847c6d414c803b00a463e03e38b46e628cb4b0c2239", + "relation": "imports", + "confidence": "INFERRED", + "context": "rea:imports" + }, + { + "source": "jag_node_2144d5bb5a05865ebd17903acb25e3cb2098449ab738d1945d2ce24c7e5a67d5", + "target": "jag_node_8d109a216f368237686116176af7df0f3b5220256f1f92887bd2464a1b7763af", + "relation": "contains", + "confidence": "EXTRACTED", + "context": "rea:contains" + }, + { + "source": "jag_node_160a0667184d2147b83f802c361e60d5b0ac24f13d348cd66cade3fe3bdd66d0", + "target": "jag_node_f90ea5262a6a8aa80018869784e01f34c349c17a9b1f686d75d2b5125ea3369b", + "relation": "imports", + "confidence": "INFERRED", + "context": "rea:imports" + }, + { + "source": "jag_node_5ea00a0bacc161be5233ce11f8d5a62ca25d45a0a0dff0e60a4d52b7fc0a0d4c", + "target": "jag_node_3d5606769827f12f29342e5962b213b8ae907afaa6d06d674a3159a7a2266832", + "relation": "imports", + "confidence": "INFERRED", + "context": "rea:imports" + }, + { + "source": "jag_node_a59bf04d649ee61c7a6a2d40847354650bc7d289a93ed5651b19d3cd33f9da33", + "target": "jag_node_a0757c8d4e2bd6305a806bb4b2c80371c10c5648db9bacbc744ab758591d16cb", + "relation": "loads", + "confidence": "INFERRED", + "context": "rea:loads" + }, + { + "source": "jag_node_2144d5bb5a05865ebd17903acb25e3cb2098449ab738d1945d2ce24c7e5a67d5", + "target": "jag_node_9f610f8cf67b02b715493866bb9b3795e4f36816e172ffffe1af2bde3104187b", + "relation": "contains", + "confidence": "EXTRACTED", + "context": "rea:contains" + }, + { + "source": "jag_node_2144d5bb5a05865ebd17903acb25e3cb2098449ab738d1945d2ce24c7e5a67d5", + "target": "jag_node_1617e4c53070dbc81f852ee83f904802ec78bf7d340411279608df68ed911981", + "relation": "contains", + "confidence": "EXTRACTED", + "context": "rea:contains" + }, + { + "source": "jag_node_1059d27ba7dc5d8bd9354e8ce6f981d0ef18ea9601b9dcfb82dc9acb3c111734", + "target": "jag_node_05f63f406a630c5fb90215f3ddfed63fd4773ed6b123867d08d6823cc583ca00", + "relation": "invokes", + "confidence": "INFERRED", + "context": "rea:invokes" + }, + { + "source": "jag_node_0b4bd7b84f8c9ade3ccf143000b5b28fcc55f906167b93b17ce8e1d162576285", + "target": "jag_node_24007d253373a55910f1e1c91a78a9b0e7076ce8d8394bfbd7965efc8c0f7dc4", + "relation": "imports", + "confidence": "INFERRED", + "context": "rea:imports" + }, + { + "source": "jag_node_c14d28d7b088d361543ea9ba167138b6b90a3c11a574d0615a69e107c2687f07", + "target": "jag_node_a1a37b2c32d8bcd597a1848e998ec4e63a89412c608278617914270d5e757ecd", + "relation": "calls", + "confidence": "INFERRED", + "context": "rea:calls" + }, + { + "source": "jag_node_9f610f8cf67b02b715493866bb9b3795e4f36816e172ffffe1af2bde3104187b", + "target": "jag_node_aeff0f73415f32c499dcaf07bc4f86bdff8fbffd0eb3517e255d9b29e3cb5124", + "relation": "maps_to", + "confidence": "EXTRACTED", + "context": "rea:maps_to" + }, + { + "source": "jag_node_6ec446b41b810c35154ba8aaa989439720a3355548a6e9f1089a216838b44119", + "target": "jag_node_db4b9b36cf41083077a6cdf7a5c620044b88c256fe075a348f6f25513e1aa70d", + "relation": "exposes", + "confidence": "INFERRED", + "context": "rea:exposes" + }, + { + "source": "jag_node_12c7966d91b55d116e8e73a23dc7648554dfeb9bd50263274626dc4603bbdbab", + "target": "jag_node_7ecd354a6d799ad210d105ef1bc1508cf0469a32fe69bd2a81965dadfc1095dd", + "relation": "contains", + "confidence": "EXTRACTED", + "context": "rea:contains" + }, + { + "source": "jag_node_3d5606769827f12f29342e5962b213b8ae907afaa6d06d674a3159a7a2266832", + "target": "jag_node_160a0667184d2147b83f802c361e60d5b0ac24f13d348cd66cade3fe3bdd66d0", + "relation": "contains", + "confidence": "EXTRACTED", + "context": "rea:contains" + }, + { + "source": "jag_node_7f93b8635fb8ba76e6108e8eaf4244b8a67b45409630aaa71abe1a835d30a591", + "target": "jag_node_fa6c12295ee70ebd239ba0a94b774191dd6926b041672270cb92f3cde0dd683c", + "relation": "contains", + "confidence": "EXTRACTED", + "context": "rea:contains" + }, + { + "source": "jag_node_0b4bd7b84f8c9ade3ccf143000b5b28fcc55f906167b93b17ce8e1d162576285", + "target": "jag_node_aeff0f73415f32c499dcaf07bc4f86bdff8fbffd0eb3517e255d9b29e3cb5124", + "relation": "imports", + "confidence": "INFERRED", + "context": "rea:imports" + }, + { + "source": "jag_node_d4c9388d979398536907ea265bf2ed603dcce273d7bf723fee4d303c9828aab7", + "target": "jag_node_b914783bf9b341a3de466def6375da8f874fc13139a1b41513e272f97d5a3edd", + "relation": "calls", + "confidence": "INFERRED", + "context": "rea:calls" + }, + { + "source": "jag_node_a0757c8d4e2bd6305a806bb4b2c80371c10c5648db9bacbc744ab758591d16cb", + "target": "jag_node_7f93b8635fb8ba76e6108e8eaf4244b8a67b45409630aaa71abe1a835d30a591", + "relation": "maps_to", + "confidence": "INFERRED", + "context": "rea:maps_to" + }, + { + "source": "jag_node_0b4bd7b84f8c9ade3ccf143000b5b28fcc55f906167b93b17ce8e1d162576285", + "target": "jag_node_b26eb8d8af480fd0d40fe4b2736bdd7fbca95d5eda8cb599c9bc5886157ed043", + "relation": "imports", + "confidence": "INFERRED", + "context": "rea:imports" + }, + { + "source": "jag_node_47b97a082177472f9066d6d6f51c86e4a9d6fdfd2131bdd298de331d8907b09c", + "target": "jag_node_b26eb8d8af480fd0d40fe4b2736bdd7fbca95d5eda8cb599c9bc5886157ed043", + "relation": "contains", + "confidence": "EXTRACTED", + "context": "rea:contains" + }, + { + "source": "jag_node_5ea00a0bacc161be5233ce11f8d5a62ca25d45a0a0dff0e60a4d52b7fc0a0d4c", + "target": "jag_node_12c7966d91b55d116e8e73a23dc7648554dfeb9bd50263274626dc4603bbdbab", + "relation": "imports", + "confidence": "INFERRED", + "context": "rea:imports" + }, + { + "source": "jag_node_7f93b8635fb8ba76e6108e8eaf4244b8a67b45409630aaa71abe1a835d30a591", + "target": "jag_node_0b4bd7b84f8c9ade3ccf143000b5b28fcc55f906167b93b17ce8e1d162576285", + "relation": "contains", + "confidence": "EXTRACTED", + "context": "rea:contains" + }, + { + "source": "jag_node_1059d27ba7dc5d8bd9354e8ce6f981d0ef18ea9601b9dcfb82dc9acb3c111734", + "target": "jag_node_41c52311a4adeb5f55019fa0e13de92d84f5940e55cebb3e3cb051218fece71f", + "relation": "contains", + "confidence": "EXTRACTED", + "context": "rea:contains" + }, + { + "source": "jag_node_0b4bd7b84f8c9ade3ccf143000b5b28fcc55f906167b93b17ce8e1d162576285", + "target": "jag_node_8a6447d8142929eb8d1ad0c624d5e3a69fde94e8ccf547e9d293389b8c1b5908", + "relation": "imports", + "confidence": "INFERRED", + "context": "rea:imports" + }, + { + "source": "jag_node_7ecd354a6d799ad210d105ef1bc1508cf0469a32fe69bd2a81965dadfc1095dd", + "target": "jag_node_c711b9c30529239a2bf01ef9b4f53cea66e2bc0454819eaf88d9938b86e6d0d0", + "relation": "imports", + "confidence": "INFERRED", + "context": "rea:imports" + }, + { + "source": "jag_node_bc02d534541fd5d28267d60ea3bfaace0a0477115e7831eb1a5324d8a0c29284", + "target": "jag_node_5f7fcea7cf0c29d3a73a8b275191d329a07c2338c896c63f5cd25320ca1eb76f", + "relation": "maps_to", + "confidence": "EXTRACTED", + "context": "rea:maps_to" + }, + { + "source": "jag_node_d6a81bc68f5106a8cec99d235be4645c558741fd53b99521e32725b6bb48fe31", + "target": "jag_node_1059d27ba7dc5d8bd9354e8ce6f981d0ef18ea9601b9dcfb82dc9acb3c111734", + "relation": "maps_to", + "confidence": "EXTRACTED", + "context": "rea:maps_to" + }, + { + "source": "jag_node_7f93b8635fb8ba76e6108e8eaf4244b8a67b45409630aaa71abe1a835d30a591", + "target": "jag_node_4695a86bd866d2b27e09660da41503169d02b7d1c67457e5026f60cdbaec79d0", + "relation": "contains", + "confidence": "EXTRACTED", + "context": "rea:contains" + }, + { + "source": "jag_node_5ea00a0bacc161be5233ce11f8d5a62ca25d45a0a0dff0e60a4d52b7fc0a0d4c", + "target": "jag_node_753e5e81d39eb27036eb4fe35951f0cca0293b7570bd4f8e62d665f6b390de96", + "relation": "exposes", + "confidence": "INFERRED", + "context": "rea:exposes" + }, + { + "source": "jag_node_5f7fcea7cf0c29d3a73a8b275191d329a07c2338c896c63f5cd25320ca1eb76f", + "target": "jag_node_6ec446b41b810c35154ba8aaa989439720a3355548a6e9f1089a216838b44119", + "relation": "contains", + "confidence": "EXTRACTED", + "context": "rea:contains" + }, + { + "source": "jag_node_1059d27ba7dc5d8bd9354e8ce6f981d0ef18ea9601b9dcfb82dc9acb3c111734", + "target": "jag_node_72cf57b63cf2788c530a756d231b003eae2e1f59e908638d0ac17a4eb250624d", + "relation": "invokes", + "confidence": "INFERRED", + "context": "rea:invokes" + }, + { + "source": "jag_node_8b10d623e5cce67dcf72f745430ff61730325177f90ec75bcc75ceb4b14477b0", + "target": "jag_node_c14d28d7b088d361543ea9ba167138b6b90a3c11a574d0615a69e107c2687f07", + "relation": "maps_to", + "confidence": "INFERRED", + "context": "rea:maps_to" + }, + { + "source": "jag_node_0b4bd7b84f8c9ade3ccf143000b5b28fcc55f906167b93b17ce8e1d162576285", + "target": "jag_node_5ea00a0bacc161be5233ce11f8d5a62ca25d45a0a0dff0e60a4d52b7fc0a0d4c", + "relation": "imports", + "confidence": "INFERRED", + "context": "rea:imports" + }, + { + "source": "jag_node_1617e4c53070dbc81f852ee83f904802ec78bf7d340411279608df68ed911981", + "target": "jag_node_3d5606769827f12f29342e5962b213b8ae907afaa6d06d674a3159a7a2266832", + "relation": "maps_to", + "confidence": "EXTRACTED", + "context": "rea:maps_to" + }, + { + "source": "jag_node_0b4bd7b84f8c9ade3ccf143000b5b28fcc55f906167b93b17ce8e1d162576285", + "target": "jag_node_67e7a03d83bce66e365c9d8f3e7f973e15b4457ffe1509e1f9e6da293571705b", + "relation": "loads", + "confidence": "INFERRED", + "context": "rea:loads" + }, + { + "source": "jag_node_41c52311a4adeb5f55019fa0e13de92d84f5940e55cebb3e3cb051218fece71f", + "target": "jag_node_43a8e1151dc8f188568f130d145069f76b8853960f6878899e29a674b8f22876", + "relation": "imports", + "confidence": "INFERRED", + "context": "rea:imports" + }, + { + "source": "jag_node_5ea00a0bacc161be5233ce11f8d5a62ca25d45a0a0dff0e60a4d52b7fc0a0d4c", + "target": "jag_node_160a0667184d2147b83f802c361e60d5b0ac24f13d348cd66cade3fe3bdd66d0", + "relation": "imports", + "confidence": "INFERRED", + "context": "rea:imports" + }, + { + "source": "jag_node_0b4bd7b84f8c9ade3ccf143000b5b28fcc55f906167b93b17ce8e1d162576285", + "target": "jag_node_5f7fcea7cf0c29d3a73a8b275191d329a07c2338c896c63f5cd25320ca1eb76f", + "relation": "imports", + "confidence": "INFERRED", + "context": "rea:imports" + }, + { + "source": "jag_node_6ec446b41b810c35154ba8aaa989439720a3355548a6e9f1089a216838b44119", + "target": "jag_node_4d47f066ff66c9fa5e31facba8fcbdc3ff627df38111c6c1bb5607299aa5a7c1", + "relation": "imports", + "confidence": "INFERRED", + "context": "rea:imports" + }, + { + "source": "jag_node_aeff0f73415f32c499dcaf07bc4f86bdff8fbffd0eb3517e255d9b29e3cb5124", + "target": "jag_node_5ea00a0bacc161be5233ce11f8d5a62ca25d45a0a0dff0e60a4d52b7fc0a0d4c", + "relation": "contains", + "confidence": "EXTRACTED", + "context": "rea:contains" + }, + { + "source": "jag_node_2144d5bb5a05865ebd17903acb25e3cb2098449ab738d1945d2ce24c7e5a67d5", + "target": "jag_node_d6a81bc68f5106a8cec99d235be4645c558741fd53b99521e32725b6bb48fe31", + "relation": "contains", + "confidence": "EXTRACTED", + "context": "rea:contains" + }, + { + "source": "jag_node_72cf57b63cf2788c530a756d231b003eae2e1f59e908638d0ac17a4eb250624d", + "target": "jag_node_24aa4e799dd17fe458422e4318e6c6aac0a48afb6bb869a5497f85c2291bc795", + "relation": "handles", + "confidence": "INFERRED", + "context": "rea:handles" + }, + { + "source": "jag_node_1059d27ba7dc5d8bd9354e8ce6f981d0ef18ea9601b9dcfb82dc9acb3c111734", + "target": "jag_node_8b10d623e5cce67dcf72f745430ff61730325177f90ec75bcc75ceb4b14477b0", + "relation": "contains", + "confidence": "INFERRED", + "context": "rea:contains" + }, + { + "source": "jag_node_8d109a216f368237686116176af7df0f3b5220256f1f92887bd2464a1b7763af", + "target": "jag_node_7f93b8635fb8ba76e6108e8eaf4244b8a67b45409630aaa71abe1a835d30a591", + "relation": "maps_to", + "confidence": "EXTRACTED", + "context": "rea:maps_to" + }, + { + "source": "jag_node_5ea00a0bacc161be5233ce11f8d5a62ca25d45a0a0dff0e60a4d52b7fc0a0d4c", + "target": "jag_node_3f03f815678e82efe9d146b35a0102212ac13e89ccd5bba8f60ff60b702c03e1", + "relation": "calls", + "confidence": "INFERRED", + "context": "rea:calls" + }, + { + "source": "jag_node_b08f53cf0aba91b50248e6506d33705dc21237d572bc44034e66fcf73a7a251f", + "target": "jag_node_4552927e5c6665657c4bbd4298a324823363cb0352533ec864c871bb7b4946df", + "relation": "maps_to", + "confidence": "EXTRACTED", + "context": "rea:maps_to" + }, + { + "source": "jag_node_4695a86bd866d2b27e09660da41503169d02b7d1c67457e5026f60cdbaec79d0", + "target": "jag_node_67e7a03d83bce66e365c9d8f3e7f973e15b4457ffe1509e1f9e6da293571705b", + "relation": "loads", + "confidence": "INFERRED", + "context": "rea:loads" + }, + { + "source": "jag_node_fa6c12295ee70ebd239ba0a94b774191dd6926b041672270cb92f3cde0dd683c", + "target": "jag_node_05f63f406a630c5fb90215f3ddfed63fd4773ed6b123867d08d6823cc583ca00", + "relation": "handles", + "confidence": "INFERRED", + "context": "rea:handles" + }, + { + "source": "jag_node_7ecd354a6d799ad210d105ef1bc1508cf0469a32fe69bd2a81965dadfc1095dd", + "target": "jag_node_ada50a6420d4500fab5ab4b2e94812e2cff624f6e151b0f5c49e4d42a9de4606", + "relation": "imports", + "confidence": "INFERRED", + "context": "rea:imports" + }, + { + "source": "jag_node_0b4bd7b84f8c9ade3ccf143000b5b28fcc55f906167b93b17ce8e1d162576285", + "target": "jag_node_fcc4699d5def6c01669354fd9429251aa3a45bdff812a4b903b48402cdcc2291", + "relation": "loads", + "confidence": "INFERRED", + "context": "rea:loads" + } + ] +} \ No newline at end of file diff --git a/bench/fixtures/diff/real2/manifest.json b/bench/fixtures/diff/real2/manifest.json new file mode 100644 index 0000000..7cb5516 --- /dev/null +++ b/bench/fixtures/diff/real2/manifest.json @@ -0,0 +1,8 @@ +{ + "_comment": "Real REA graphs of a bigger (7-module) Electron app, generated via examples/rea-docker. Stress-tests the signature diff on harder cases. Note: REA models modules/imports/IPC/endpoints/windows, NOT individual function definitions, so a function-level change (movefunc) is below its node granularity and correctly reads as no change -- the diff must not hallucinate it.", + "pairs": [ + {"name": "reorder", "a": "graphs/base.json", "b": "graphs/reorder.json", "note": "pure intra-file reorder of store.js -> ideal diff empty (the #4520 case at scale)"}, + {"name": "addmod", "a": "graphs/base.json", "b": "graphs/addmod.json", "note": "added src/cache.js module + its import -> detected"}, + {"name": "movefunc", "a": "graphs/base.json", "b": "graphs/movefunc.json", "note": "removed a helper FUNCTION (rand) -> below REA's node granularity, correctly 0"} + ] +} diff --git a/reagraph/diff.py b/reagraph/diff.py index 800e34d..41596a1 100644 --- a/reagraph/diff.py +++ b/reagraph/diff.py @@ -41,17 +41,33 @@ def normalize_label(label): return _LABEL_RANGE.sub("", label).strip() +# Node kinds whose SOURCE FILE is not a stable part of their identity, because the +# entity legitimately spans more than one file and REA attributes it to one or the +# other from run to run. An Electron IPC channel is the canonical case: the same +# channel is `ipcMain.handle(...)` in the main process and `ipcRenderer.invoke(...)` +# in the preload, and REA may file the channel node under either. Its NAME (the +# channel string) is the stable identity, so these kinds are keyed on kind+label +# only -- including source_file would make an untouched channel flip add/remove. +_LOCATION_UNSTABLE_KINDS = frozenset({"ipc-channel"}) + + def rea_signature(node: dict) -> str: - """A build-stable signature for a REA node: kind + normalized label + source file. + """A build-stable signature for a REA node: kind + normalized label (+ source file). REA node_ids are not stable across builds; this signature is, because it is built from what the node MEANS (its kind, its symbol/label with any source - range normalized out, and the file it lives in) rather than how this build - happened to hash it. Used as ``diff(a, b, signature=rea_signature)`` to diff - two REA builds without the per-build id churn swamping the result. + range normalized out, and -- for file-local entities -- the file it lives in) + rather than how this build happened to hash it. For kinds that legitimately + span files and whose source attribution drifts between runs + (``_LOCATION_UNSTABLE_KINDS``, e.g. an IPC channel), the source file is left + OUT so an untouched entity is not reported as moved. Used as + ``diff(a, b, signature=rea_signature)`` to diff two REA builds without the + per-build id churn (or that attribution drift) swamping the result. """ kind = node.get("rea_kind") or node.get("kind") or "" label = normalize_label(node.get("label") or "") + if kind in _LOCATION_UNSTABLE_KINDS: + return f"{kind}|{label}" source = node.get("source_file") or "" return f"{kind}|{label}|{source}" diff --git a/tests/test_diff_signature.py b/tests/test_diff_signature.py index c50de6e..edc2be0 100644 --- a/tests/test_diff_signature.py +++ b/tests/test_diff_signature.py @@ -116,6 +116,26 @@ def test_default_diff_is_unchanged_backcompat(): assert d["summary"]["nodes_added"] == 0 +def test_ipc_channel_source_file_is_not_part_of_identity(): + # An IPC channel spans main (handle) + preload (invoke); REA attributes the + # channel node to one file or the other from run to run. Its name is the + # stable identity, so a source-file flip on an untouched channel must NOT + # register as a change. + a = _graph([_n("a1", "ipc-channel", "notes:list", "src/preload.js")]) + b = _graph([_n("z1", "ipc-channel", "notes:list", "src/main.js")]) + + sig = diff.diff(a, b, signature=diff.rea_signature) + assert sig["summary"]["nodes_added"] == 0 + assert sig["summary"]["nodes_removed"] == 0 + assert sig["summary"]["unchanged_nodes"] == 1 + + # A genuinely different channel name is still a change. + c = _graph([_n("z1", "ipc-channel", "notes:save", "src/main.js")]) + sig2 = diff.diff(a, c, signature=diff.rea_signature) + assert sig2["summary"]["nodes_added"] == 1 + assert sig2["summary"]["nodes_removed"] == 1 + + def test_normalize_label_strips_only_ranges(): assert diff.normalize_label("BrowserWindow@7:14-9:4") == "BrowserWindow" assert diff.normalize_label("handler@24:33-28:1") == "handler"