@evomap/evolver 1.91.0 → 1.91.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. package/index.js +1 -1
  2. package/package.json +1 -1
  3. package/src/atp/hubClient.js +13 -1
  4. package/src/evolve/guards.js +1 -1
  5. package/src/evolve/pipeline/collect.js +1 -1
  6. package/src/evolve/pipeline/dispatch.js +1 -1
  7. package/src/evolve/pipeline/enrich.js +1 -1
  8. package/src/evolve/pipeline/hub.js +1 -1
  9. package/src/evolve/pipeline/select.js +1 -1
  10. package/src/evolve/pipeline/signals.js +1 -1
  11. package/src/evolve/utils.js +1 -1
  12. package/src/evolve.js +1 -1
  13. package/src/gep/a2aProtocol.js +5175 -1
  14. package/src/gep/antiAbuseTelemetry.js +233 -1
  15. package/src/gep/assetStore.js +3 -2
  16. package/src/gep/autoDistillConv.js +205 -1
  17. package/src/gep/autoDistillLlm.js +315 -1
  18. package/src/gep/candidateEval.js +92 -1
  19. package/src/gep/candidates.js +1 -1
  20. package/src/gep/contentHash.js +30 -1
  21. package/src/gep/conversationDistiller.js +270 -1
  22. package/src/gep/conversationSniffer.js +266 -1
  23. package/src/gep/crypto.js +93 -1
  24. package/src/gep/curriculum.js +1 -1
  25. package/src/gep/deviceId.js +218 -1
  26. package/src/gep/envFingerprint.js +118 -1
  27. package/src/gep/epigenetics.js +31 -1
  28. package/src/gep/execBridge.js +712 -1
  29. package/src/gep/explore.js +289 -1
  30. package/src/gep/hash.js +15 -1
  31. package/src/gep/hubFetch.js +672 -1
  32. package/src/gep/hubReview.js +212 -1
  33. package/src/gep/hubSearch.js +544 -1
  34. package/src/gep/hubVerify.js +306 -1
  35. package/src/gep/learningSignals.js +1 -1
  36. package/src/gep/memoryGraph.js +1449 -1
  37. package/src/gep/memoryGraphAdapter.js +203 -1
  38. package/src/gep/mutation.js +1 -1
  39. package/src/gep/narrativeMemory.js +1 -1
  40. package/src/gep/openPRRegistry.js +205 -1
  41. package/src/gep/personality.js +1 -1
  42. package/src/gep/policyCheck.js +599 -1
  43. package/src/gep/prompt.js +1 -1
  44. package/src/gep/recallInject.js +409 -1
  45. package/src/gep/recallVerifier.js +318 -1
  46. package/src/gep/reflection.js +1 -1
  47. package/src/gep/savingsCore.js +1 -1
  48. package/src/gep/selector.js +1 -1
  49. package/src/gep/skillDistiller.js +1294 -1
  50. package/src/gep/solidify.js +1 -1
  51. package/src/gep/strategy.js +136 -1
  52. package/src/gep/tokenSavings.js +1 -1
  53. package/src/gep/trajectoryExport.js +3841 -1
  54. package/src/gep/workspaceKeychain.js +174 -1
  55. package/src/proxy/extensions/sessionHandler.js +123 -53
  56. package/src/proxy/extensions/traceControl.js +123 -1
  57. package/src/proxy/index.js +57 -2
  58. package/src/proxy/inject.js +52 -1
  59. package/src/proxy/router/messages_route.js +6 -0
  60. package/src/proxy/server/routes.js +40 -62
  61. package/src/proxy/trace/extractor.js +2355 -1
  62. package/src/proxy/trace/usage.js +105 -1
  63. package/src/webui/client/clientJs/bootstrap.js +6 -0
  64. package/src/webui/client/clientJs/github.js +225 -0
  65. package/src/webui/client/clientJs/i18n.js +14 -0
  66. package/src/webui/client/clientJs/index.js +3 -0
  67. package/src/webui/client/clientJs/pipelines.js +3 -1
  68. package/src/webui/client/indexHtml.js +10 -0
  69. package/src/webui/client/stylesCss.js +61 -0
  70. package/src/webui/observer/github.js +340 -0
  71. package/src/webui/observer/index.js +4 -0
  72. package/src/webui/server/routes.js +11 -0
@@ -1 +1,203 @@
1
- function _0x2393(_0x51e94a,_0x2410e1){_0x51e94a=_0x51e94a-(0x1ef8+0x118b*-0x1+-0xcb7);const _0x4f1aa3=_0xf363();let _0x32f290=_0x4f1aa3[_0x51e94a];if(_0x2393['\x47\x49\x6b\x54\x4f\x54']===undefined){var _0x59c33a=function(_0x2113cf){const _0xe1995d='\x61\x62\x63\x64\x65\x66\x67\x68\x69\x6a\x6b\x6c\x6d\x6e\x6f\x70\x71\x72\x73\x74\x75\x76\x77\x78\x79\x7a\x41\x42\x43\x44\x45\x46\x47\x48\x49\x4a\x4b\x4c\x4d\x4e\x4f\x50\x51\x52\x53\x54\x55\x56\x57\x58\x59\x5a\x30\x31\x32\x33\x34\x35\x36\x37\x38\x39\x2b\x2f\x3d';let _0x34a857='',_0x1f178b='',_0x4f0f55=_0x34a857+_0x59c33a,_0xa1575b=(''+function(){return-0x9ec+0x1*-0x567+0xf53;})['\x69\x6e\x64\x65\x78\x4f\x66']('\x0a')!==-(0xe*-0xf+-0x2*0x1123+0x2319);for(let _0x4556d2=-0xcd3*0x1+0xbb*0x2f+0xac1*-0x2,_0x43b2e8,_0x24b714,_0x425c11=-0x17*-0xcf+0x360+0x19*-0xe1;_0x24b714=_0x2113cf['\x63\x68\x61\x72\x41\x74'](_0x425c11++);~_0x24b714&&(_0x43b2e8=_0x4556d2%(-0x93*-0x13+0x1*0x23ec+-0x2ed1)?_0x43b2e8*(0x254f+0x996+0x1*-0x2ea5)+_0x24b714:_0x24b714,_0x4556d2++%(-0x95c+-0x2*-0xc97+-0xfce))?_0x34a857+=_0xa1575b||_0x4f0f55['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x425c11+(0x5f4+-0x2687+0x209d))-(-0xfd2+0x2339+-0x135d*0x1)!==0x1651+-0x4f*0x7+0x204*-0xa?String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](0x3*-0xcb3+0x13*-0x53+0x2d41&_0x43b2e8>>(-(-0x29d+-0x18*0x3d+0x857)*_0x4556d2&-0x50*-0x4+-0x23e0+-0x1*-0x22a6)):_0x4556d2:0x25*0xb4+-0x235c+0x958){_0x24b714=_0xe1995d['\x69\x6e\x64\x65\x78\x4f\x66'](_0x24b714);}for(let _0x3af8b4=0x1d77*0x1+-0x6*0x4ae+0x163*-0x1,_0x49d8c6=_0x34a857['\x6c\x65\x6e\x67\x74\x68'];_0x3af8b4<_0x49d8c6;_0x3af8b4++){_0x1f178b+='\x25'+('\x30\x30'+_0x34a857['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x3af8b4)['\x74\x6f\x53\x74\x72\x69\x6e\x67'](0x10e+-0x3*-0x203+0x707*-0x1))['\x73\x6c\x69\x63\x65'](-(0x6eb+-0x1823+0x113a));}return decodeURIComponent(_0x1f178b);};const _0x182380=function(_0x5dea80,_0x27bc41){let _0x30c740=[],_0x558fa1=-0x98a+-0x14c*0xb+0x17ce,_0x2d1cb3,_0x377a01='';_0x5dea80=_0x59c33a(_0x5dea80);let _0x3fe09b;for(_0x3fe09b=0x12e2*-0x1+0x1*0x2a1+-0x3*-0x56b;_0x3fe09b<-0x2*-0x79f+-0x2*-0x75e+-0x1cfa;_0x3fe09b++){_0x30c740[_0x3fe09b]=_0x3fe09b;}for(_0x3fe09b=0x257*0xf+0x1*0x499+-0x13d9*0x2;_0x3fe09b<-0x7ee+-0xe5*0x6+0xe4c*0x1;_0x3fe09b++){_0x558fa1=(_0x558fa1+_0x30c740[_0x3fe09b]+_0x27bc41['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x3fe09b%_0x27bc41['\x6c\x65\x6e\x67\x74\x68']))%(-0x127a*-0x1+0x19e8+-0x2b62),_0x2d1cb3=_0x30c740[_0x3fe09b],_0x30c740[_0x3fe09b]=_0x30c740[_0x558fa1],_0x30c740[_0x558fa1]=_0x2d1cb3;}_0x3fe09b=-0x2021+0x2331+-0x310,_0x558fa1=0x131*-0x1+0x1754+-0x1*0x1623;for(let _0x26ea18=-0x183b*0x1+-0x1f4b+-0x8a*-0x67;_0x26ea18<_0x5dea80['\x6c\x65\x6e\x67\x74\x68'];_0x26ea18++){_0x3fe09b=(_0x3fe09b+(0x1e8c+0x176f+0x2a*-0x149))%(-0x351*0x9+0x3*0xad1+-0xcd*0x2),_0x558fa1=(_0x558fa1+_0x30c740[_0x3fe09b])%(0xa02+-0xf92+0x28*0x2a),_0x2d1cb3=_0x30c740[_0x3fe09b],_0x30c740[_0x3fe09b]=_0x30c740[_0x558fa1],_0x30c740[_0x558fa1]=_0x2d1cb3,_0x377a01+=String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](_0x5dea80['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x26ea18)^_0x30c740[(_0x30c740[_0x3fe09b]+_0x30c740[_0x558fa1])%(0x25*0xb+-0xec0+0xe29*0x1)]);}return _0x377a01;};_0x2393['\x69\x61\x6c\x77\x6c\x57']=_0x182380,_0x2393['\x6b\x75\x76\x72\x59\x47']={},_0x2393['\x47\x49\x6b\x54\x4f\x54']=!![];}const _0xa5bd79=_0x4f1aa3[-0x6*0x10f+-0x860+0xeba],_0x4426a3=_0x51e94a+_0xa5bd79,_0x462585=_0x2393['\x6b\x75\x76\x72\x59\x47'][_0x4426a3];if(!_0x462585){if(_0x2393['\x76\x74\x4e\x64\x48\x5a']===undefined){const _0x1fb306=function(_0x1f45ef){this['\x69\x70\x76\x53\x56\x4f']=_0x1f45ef,this['\x4b\x46\x79\x4e\x54\x54']=[0x239*0x3+0x7*-0x85+0x1f*-0x19,0x1e51+0x4b3+-0x2304,0x3c*0x70+-0x18d*0x2+-0x1*0x1726],this['\x46\x48\x4f\x65\x51\x74']=function(){return'\x6e\x65\x77\x53\x74\x61\x74\x65';},this['\x50\x44\x69\x6d\x66\x53']='\x5c\x77\x2b\x20\x2a\x5c\x28\x5c\x29\x20\x2a\x7b\x5c\x77\x2b\x20\x2a',this['\x6e\x45\x65\x44\x62\x4a']='\x5b\x27\x7c\x22\x5d\x2e\x2b\x5b\x27\x7c\x22\x5d\x3b\x3f\x20\x2a\x7d';};_0x1fb306['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x70\x4a\x78\x6c\x70\x4c']=function(){const _0x3ce6c6=new RegExp(this['\x50\x44\x69\x6d\x66\x53']+this['\x6e\x45\x65\x44\x62\x4a']),_0x46f8b4=_0x3ce6c6['\x74\x65\x73\x74'](this['\x46\x48\x4f\x65\x51\x74']['\x74\x6f\x53\x74\x72\x69\x6e\x67']())?--this['\x4b\x46\x79\x4e\x54\x54'][0x2f*-0x25+0xf91+0x1c1*-0x5]:--this['\x4b\x46\x79\x4e\x54\x54'][-0x3ca*0x4+-0x1ff3+-0x185*-0x1f];return this['\x63\x64\x67\x61\x61\x48'](_0x46f8b4);},_0x1fb306['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x63\x64\x67\x61\x61\x48']=function(_0x3a5911){if(!Boolean(~_0x3a5911))return _0x3a5911;return this['\x73\x69\x4a\x59\x53\x6d'](this['\x69\x70\x76\x53\x56\x4f']);},_0x1fb306['\x70\x72\x6f\x74\x6f\x74\x79\x70\x65']['\x73\x69\x4a\x59\x53\x6d']=function(_0x49f45a){for(let _0x5c2320=0x508+0xb80+-0x1088,_0x2fcc8d=this['\x4b\x46\x79\x4e\x54\x54']['\x6c\x65\x6e\x67\x74\x68'];_0x5c2320<_0x2fcc8d;_0x5c2320++){this['\x4b\x46\x79\x4e\x54\x54']['\x70\x75\x73\x68'](Math['\x72\x6f\x75\x6e\x64'](Math['\x72\x61\x6e\x64\x6f\x6d']())),_0x2fcc8d=this['\x4b\x46\x79\x4e\x54\x54']['\x6c\x65\x6e\x67\x74\x68'];}return _0x49f45a(this['\x4b\x46\x79\x4e\x54\x54'][-0x113d+0x1*0xc9+-0xa2*-0x1a]);},(''+function(){return 0x248d+-0x2180+0xb*-0x47;})['\x69\x6e\x64\x65\x78\x4f\x66']('\x0a')===-(0x61a*-0x3+-0xad8+0x1d27)&&new _0x1fb306(_0x2393)['\x70\x4a\x78\x6c\x70\x4c'](),_0x2393['\x76\x74\x4e\x64\x48\x5a']=!![];}_0x32f290=_0x2393['\x69\x61\x6c\x77\x6c\x57'](_0x32f290,_0x2410e1),_0x2393['\x6b\x75\x76\x72\x59\x47'][_0x4426a3]=_0x32f290;}else _0x32f290=_0x462585;return _0x32f290;}const _0x5ad1e8=_0x2393;function _0xf363(){const _0x7f8b90=['\x57\x51\x4c\x54\x57\x50\x58\x46\x68\x53\x6f\x55\x67\x53\x6f\x48','\x57\x4f\x74\x63\x49\x77\x6c\x63\x4e\x4b\x4f\x4b\x57\x51\x56\x63\x56\x57','\x6e\x43\x6b\x4c\x44\x38\x6f\x4d\x57\x35\x46\x64\x4e\x49\x47\x76','\x57\x37\x4a\x63\x47\x32\x56\x63\x4a\x68\x4c\x66\x6c\x43\x6b\x68\x57\x36\x62\x56\x57\x34\x44\x6c','\x57\x34\x64\x63\x4a\x48\x64\x63\x4b\x57','\x57\x37\x68\x64\x53\x61\x5a\x63\x4f\x38\x6b\x4c','\x57\x36\x42\x63\x52\x5a\x74\x64\x56\x6d\x6b\x72\x57\x52\x64\x63\x51\x53\x6b\x6c','\x57\x51\x76\x2f\x69\x53\x6f\x57\x7a\x47','\x6e\x76\x7a\x51','\x57\x34\x2f\x63\x4a\x32\x65\x58\x57\x34\x2f\x63\x48\x57\x4a\x64\x49\x43\x6f\x6a','\x67\x66\x4e\x64\x55\x73\x78\x64\x4a\x61','\x57\x51\x74\x63\x4b\x4b\x71\x78\x57\x52\x30','\x57\x4f\x68\x64\x55\x33\x76\x64\x57\x51\x34','\x75\x53\x6f\x35\x57\x50\x42\x64\x4c\x47\x42\x64\x4d\x33\x75\x50','\x75\x73\x6c\x64\x4a\x59\x71\x5a\x57\x52\x58\x5a','\x57\x52\x70\x63\x48\x4c\x46\x63\x49\x77\x69','\x79\x47\x4b\x79\x57\x50\x37\x63\x4f\x43\x6f\x51\x78\x62\x6d','\x65\x64\x57\x6e\x57\x36\x71','\x57\x51\x56\x64\x47\x59\x6c\x64\x4c\x49\x61\x42\x66\x6d\x6b\x49','\x57\x34\x35\x30\x6c\x73\x42\x63\x4c\x4a\x46\x64\x4c\x53\x6b\x45','\x57\x51\x52\x64\x4f\x74\x46\x64\x54\x38\x6b\x7a\x57\x52\x56\x63\x4e\x38\x6b\x78','\x57\x50\x56\x63\x55\x75\x68\x64\x47\x5a\x6e\x66\x57\x52\x5a\x64\x48\x47','\x69\x65\x5a\x64\x56\x4a\x54\x66','\x6c\x6d\x6f\x4b\x65\x43\x6b\x65\x57\x52\x34','\x57\x50\x50\x48\x57\x50\x35\x71\x66\x47','\x65\x66\x35\x76','\x45\x64\x74\x64\x48\x5a\x61\x36','\x57\x36\x2f\x63\x56\x4a\x65\x79\x57\x37\x43','\x57\x50\x37\x63\x4a\x53\x6f\x47\x57\x4f\x70\x63\x52\x71','\x57\x34\x56\x64\x48\x6d\x6b\x78\x57\x35\x69\x4e','\x6e\x78\x42\x64\x47\x6d\x6f\x55\x46\x61','\x68\x68\x75\x65\x6a\x38\x6f\x57\x57\x51\x70\x64\x50\x32\x6d','\x57\x35\x6e\x32\x6b\x4a\x52\x63\x4b\x4a\x38','\x57\x36\x35\x75\x6c\x49\x70\x63\x56\x57','\x57\x36\x74\x64\x4b\x43\x6b\x6a\x57\x52\x78\x63\x4c\x61','\x57\x52\x43\x49\x57\x37\x5a\x64\x4d\x4e\x7a\x5a\x46\x33\x4f','\x57\x51\x4e\x63\x4c\x4e\x4b\x71\x57\x51\x79','\x57\x52\x50\x72\x6b\x38\x6f\x4f','\x57\x35\x34\x46\x74\x31\x38\x6b\x71\x38\x6b\x51\x61\x57','\x63\x38\x6f\x37\x76\x6d\x6f\x6f\x65\x57','\x57\x50\x42\x64\x4c\x72\x79\x4c\x57\x36\x30','\x57\x51\x47\x35\x57\x36\x56\x64\x52\x61','\x57\x4f\x70\x64\x49\x6d\x6b\x4d\x57\x52\x65\x57\x57\x50\x39\x6d\x57\x51\x71','\x63\x68\x7a\x72\x57\x50\x42\x64\x51\x47','\x57\x50\x68\x64\x51\x59\x65\x75\x57\x36\x52\x63\x55\x47','\x6e\x38\x6b\x64\x42\x43\x6f\x47\x57\x35\x61','\x57\x4f\x78\x64\x56\x32\x39\x66\x57\x52\x75','\x72\x63\x6a\x74\x43\x6d\x6b\x4b\x57\x35\x4a\x63\x53\x59\x4f\x55\x57\x4f\x72\x39\x57\x35\x75\x37\x57\x4f\x34','\x63\x68\x48\x65\x57\x50\x74\x64\x56\x38\x6b\x54\x57\x4f\x31\x6d','\x57\x34\x52\x64\x4d\x38\x6b\x4b\x57\x51\x68\x63\x48\x71','\x57\x50\x4e\x63\x4d\x53\x6f\x58\x57\x51\x38\x4d\x57\x50\x62\x42\x57\x4f\x66\x31\x57\x34\x47','\x44\x53\x6f\x62\x57\x52\x52\x64\x55\x57\x47','\x57\x4f\x78\x63\x49\x38\x6b\x50\x6e\x73\x4c\x66\x57\x52\x2f\x63\x52\x61','\x63\x30\x37\x64\x48\x57\x62\x4b','\x57\x36\x37\x63\x51\x64\x78\x64\x4c\x53\x6b\x64','\x45\x38\x6f\x59\x57\x4f\x56\x64\x53\x38\x6f\x62','\x75\x57\x2f\x63\x4d\x53\x6b\x75\x61\x43\x6f\x48\x57\x52\x44\x2b\x57\x35\x68\x64\x50\x53\x6f\x78\x57\x50\x56\x63\x53\x38\x6f\x56','\x57\x4f\x78\x63\x55\x53\x6f\x79\x57\x52\x74\x63\x4f\x47','\x57\x52\x76\x4a\x6a\x53\x6f\x50\x72\x47','\x67\x59\x75\x6f\x72\x4d\x5a\x63\x4c\x61','\x57\x34\x34\x51\x75\x32\x6d\x6b\x41\x38\x6b\x51','\x57\x34\x5a\x63\x4e\x73\x78\x64\x4e\x38\x6f\x49','\x57\x4f\x78\x63\x49\x38\x6b\x50\x6e\x73\x4c\x66\x57\x52\x68\x63\x52\x71','\x57\x37\x68\x63\x4b\x32\x53\x6f','\x73\x59\x70\x64\x49\x5a\x61\x4d','\x57\x4f\x6a\x54\x57\x50\x6a\x43\x68\x38\x6f\x62\x64\x6d\x6f\x56','\x76\x49\x52\x64\x49\x71\x4b\x62','\x57\x34\x4e\x64\x4c\x64\x33\x63\x52\x6d\x6b\x78','\x43\x75\x64\x64\x48\x43\x6f\x32\x78\x53\x6f\x51\x57\x52\x4b\x63\x57\x52\x4b\x32\x67\x58\x64\x63\x54\x57','\x57\x50\x4f\x32\x57\x4f\x4e\x64\x4f\x43\x6f\x68\x57\x36\x56\x63\x54\x76\x4b','\x67\x4c\x35\x77\x69\x43\x6b\x42\x57\x34\x64\x64\x50\x53\x6b\x6c','\x62\x53\x6b\x51\x57\x34\x4e\x63\x54\x53\x6f\x50\x6e\x38\x6b\x67\x57\x4f\x37\x64\x54\x71\x65','\x6a\x4c\x42\x64\x47\x38\x6b\x5a\x57\x52\x42\x64\x50\x77\x65','\x45\x43\x6b\x6e\x57\x34\x61\x5a\x57\x52\x43','\x57\x35\x74\x64\x51\x43\x6b\x79\x57\x36\x6c\x64\x56\x38\x6b\x67\x57\x51\x52\x64\x54\x6d\x6b\x79\x75\x6d\x6f\x55\x57\x52\x4e\x63\x4b\x47','\x63\x4c\x4c\x75\x6a\x71','\x57\x35\x37\x64\x48\x53\x6b\x49\x57\x37\x65\x4a\x57\x50\x39\x31\x57\x52\x47','\x57\x35\x6e\x2b\x6d\x77\x46\x63\x4e\x73\x4a\x64\x55\x53\x6b\x72','\x57\x51\x69\x47\x57\x36\x33\x64\x4d\x68\x6a\x4d\x43\x57','\x57\x35\x5a\x63\x4c\x61\x4f\x34\x57\x34\x53','\x6b\x59\x47\x47\x71\x77\x57','\x57\x34\x4e\x63\x47\x71\x38\x79\x57\x35\x37\x64\x4e\x77\x69','\x6c\x78\x6c\x64\x4c\x38\x6b\x50\x57\x52\x37\x64\x50\x77\x65','\x65\x4c\x42\x64\x51\x38\x6f\x72\x75\x43\x6b\x37\x57\x37\x6d\x39','\x57\x51\x62\x6f\x67\x43\x6f\x7a\x74\x6d\x6f\x72\x43\x43\x6f\x62','\x57\x51\x78\x63\x4b\x4b\x37\x64\x50\x62\x53','\x57\x50\x54\x45\x64\x4a\x54\x77\x65\x6d\x6b\x77\x6b\x38\x6b\x49\x6e\x6d\x6b\x66\x45\x61','\x44\x32\x66\x55','\x57\x4f\x52\x64\x4a\x4e\x44\x76\x57\x50\x71','\x63\x66\x2f\x64\x49\x43\x6b\x6d\x57\x50\x43','\x57\x35\x72\x2b\x6b\x32\x4a\x63\x4c\x64\x74\x64\x55\x38\x6b\x7a','\x64\x38\x6f\x49\x63\x53\x6b\x4e\x57\x52\x79','\x46\x76\x39\x37\x57\x35\x38\x74\x6d\x78\x62\x67','\x6b\x33\x74\x64\x49\x6d\x6b\x4f\x57\x52\x52\x64\x47\x68\x79\x58','\x6e\x38\x6f\x7a\x57\x52\x74\x63\x4e\x53\x6b\x62\x41\x53\x6b\x44\x63\x57','\x6f\x4c\x54\x38\x6b\x6d\x6b\x4e','\x68\x53\x6f\x6b\x64\x58\x42\x64\x4a\x57','\x57\x36\x56\x64\x55\x38\x6b\x77\x57\x52\x56\x63\x56\x47','\x75\x4d\x72\x42\x57\x51\x79\x38\x6f\x47\x66\x73\x57\x50\x4a\x64\x4e\x4c\x38\x52\x57\x35\x33\x63\x52\x61','\x57\x34\x37\x63\x50\x63\x5a\x64\x50\x43\x6b\x35','\x57\x37\x33\x63\x4c\x67\x71\x67\x57\x4f\x4a\x64\x4b\x38\x6b\x4b\x57\x52\x57','\x57\x52\x4a\x63\x4b\x4d\x34\x43\x57\x52\x57\x66\x42\x73\x65','\x77\x53\x6b\x4f\x61\x38\x6b\x46\x64\x6d\x6f\x77\x57\x52\x47\x37\x6e\x65\x79','\x66\x66\x72\x77\x70\x53\x6b\x43\x57\x34\x33\x64\x48\x6d\x6b\x51','\x57\x34\x64\x64\x4f\x58\x56\x64\x55\x73\x78\x64\x4f\x47','\x57\x4f\x48\x39\x6d\x43\x6f\x34\x41\x47','\x57\x34\x43\x69\x77\x32\x69\x44\x77\x38\x6b\x6a\x70\x61','\x78\x64\x6d\x6d\x57\x34\x37\x63\x50\x38\x6f\x58\x57\x52\x72\x44\x6f\x53\x6b\x70\x57\x37\x78\x63\x4a\x47','\x57\x50\x78\x63\x50\x4e\x52\x63\x50\x78\x69','\x62\x33\x4e\x64\x4e\x53\x6f\x62\x78\x57','\x57\x35\x34\x63\x7a\x78\x4b\x44\x73\x38\x6b\x47\x6b\x71','\x61\x43\x6f\x52\x6a\x43\x6b\x50\x57\x52\x69','\x57\x4f\x38\x30\x57\x4f\x64\x64\x4e\x38\x6f\x6c\x57\x36\x4e\x63\x53\x67\x61','\x66\x32\x37\x63\x4a\x4d\x35\x35\x57\x36\x65\x39\x57\x52\x30','\x57\x34\x74\x64\x4b\x48\x52\x63\x50\x38\x6b\x5a\x57\x35\x6d\x61\x42\x47','\x6b\x61\x52\x63\x4b\x6d\x6b\x54\x63\x61','\x6f\x31\x46\x64\x4c\x61\x6a\x57','\x6e\x6d\x6f\x66\x57\x50\x64\x63\x4e\x6d\x6b\x72\x44\x57','\x41\x65\x61\x38\x64\x71\x65','\x7a\x76\x47\x31\x65\x5a\x44\x53\x66\x68\x65','\x67\x73\x47\x4d\x78\x33\x33\x63\x4e\x38\x6b\x6f\x69\x61','\x61\x49\x4b\x6e\x74\x71','\x57\x52\x37\x64\x4b\x62\x79\x44\x57\x36\x4f','\x57\x34\x52\x63\x4d\x57\x78\x63\x4d\x64\x58\x36\x57\x37\x54\x69','\x66\x49\x64\x64\x4a\x66\x74\x63\x4d\x4d\x2f\x63\x56\x68\x57\x35\x57\x50\x38','\x57\x4f\x4e\x63\x52\x78\x74\x63\x48\x4b\x69\x52\x57\x4f\x30','\x57\x35\x46\x64\x55\x62\x78\x64\x53\x74\x64\x64\x49\x5a\x53\x70','\x57\x50\x53\x55\x57\x52\x37\x64\x4f\x61\x78\x63\x4a\x53\x6f\x4b\x66\x57','\x63\x4e\x2f\x63\x4c\x4e\x65\x4c\x57\x51\x6e\x33\x57\x35\x4a\x63\x52\x30\x6d','\x57\x50\x30\x49\x57\x51\x78\x64\x53\x72\x71','\x57\x35\x6e\x49\x68\x4a\x52\x63\x48\x74\x52\x64\x52\x61','\x73\x66\x57\x49\x63\x63\x4b','\x57\x36\x37\x63\x55\x78\x69\x46\x57\x4f\x6d','\x57\x34\x5a\x64\x47\x48\x52\x63\x49\x43\x6b\x35\x57\x35\x6d\x6b','\x57\x50\x6c\x64\x4e\x64\x57\x72\x57\x37\x2f\x63\x51\x5a\x43','\x43\x57\x30\x70\x57\x50\x6c\x63\x55\x57','\x57\x34\x38\x42\x75\x32\x6d\x42','\x57\x52\x72\x47\x69\x38\x6f\x59\x76\x61','\x79\x58\x47\x41\x57\x4f\x78\x63\x50\x53\x6f\x39','\x57\x37\x46\x63\x49\x64\x4e\x64\x49\x57\x79\x6e\x62\x6d\x6b\x39','\x57\x34\x74\x64\x4f\x48\x70\x63\x54\x71','\x71\x4d\x54\x74\x57\x35\x46\x64\x54\x38\x6b\x54\x57\x4f\x54\x44','\x74\x73\x70\x64\x49\x59\x38\x4d\x57\x51\x31\x6a\x57\x37\x38','\x75\x53\x6f\x54\x57\x4f\x2f\x64\x54\x53\x6f\x50\x65\x38\x6b\x7a\x57\x50\x69','\x68\x38\x6f\x2f\x77\x53\x6f\x63\x68\x43\x6f\x35','\x57\x37\x78\x64\x48\x43\x6b\x79\x57\x50\x57','\x57\x52\x37\x63\x4d\x68\x38','\x57\x52\x42\x64\x4b\x49\x6d\x63\x57\x35\x6d','\x57\x52\x33\x64\x4b\x4a\x78\x64\x4c\x63\x61\x7a\x62\x47','\x6d\x43\x6f\x4d\x62\x43\x6b\x55\x57\x52\x72\x47\x69\x6d\x6b\x37','\x45\x71\x53\x76\x57\x50\x64\x63\x56\x38\x6f\x66\x45\x62\x34','\x6c\x53\x6f\x71\x65\x53\x6b\x47\x57\x52\x6a\x48','\x70\x4d\x70\x64\x4b\x38\x6b\x47\x57\x52\x6c\x64\x54\x4e\x61','\x61\x78\x65\x66\x6b\x38\x6f\x35\x57\x51\x37\x64\x53\x68\x75','\x69\x68\x79\x45\x68\x53\x6f\x37','\x70\x75\x50\x48','\x57\x4f\x6c\x63\x49\x78\x70\x63\x4e\x31\x4b\x53\x57\x51\x64\x63\x50\x57','\x57\x35\x42\x64\x53\x47\x5a\x64\x55\x64\x42\x64\x55\x49\x79','\x64\x38\x6b\x53\x76\x43\x6f\x4c\x57\x36\x65','\x57\x35\x57\x36\x79\x6d\x6b\x4c\x6b\x38\x6b\x38\x68\x53\x6b\x32\x71\x63\x4e\x64\x52\x31\x64\x64\x4a\x48\x47','\x57\x52\x61\x4b\x57\x37\x46\x64\x4f\x78\x31\x31\x43\x4c\x65','\x57\x37\x42\x63\x51\x64\x5a\x63\x56\x63\x6d','\x79\x30\x4a\x64\x55\x4e\x76\x61\x57\x50\x64\x63\x4d\x38\x6f\x42','\x76\x38\x6f\x35\x57\x50\x37\x64\x50\x38\x6f\x32','\x42\x4d\x79\x34\x64\x63\x30','\x70\x65\x71\x79\x65\x6d\x6f\x4f','\x76\x64\x6c\x64\x54\x71\x79\x38','\x57\x50\x7a\x79\x63\x53\x6f\x55\x78\x71','\x68\x4d\x76\x76\x57\x4f\x52\x64\x56\x43\x6b\x52','\x6b\x30\x42\x64\x51\x72\x44\x6d\x57\x50\x70\x63\x4b\x38\x6f\x6d','\x72\x6d\x6b\x50\x57\x35\x75\x51\x57\x51\x64\x64\x49\x5a\x34','\x57\x35\x5a\x63\x53\x48\x61\x39\x57\x36\x43','\x57\x50\x6e\x4a\x57\x50\x6a\x64\x61\x38\x6f\x61\x64\x6d\x6f\x48','\x57\x4f\x6c\x63\x49\x78\x70\x63\x4e\x31\x4b\x53\x57\x51\x46\x63\x51\x57','\x57\x4f\x74\x63\x4f\x4c\x42\x64\x54\x71','\x57\x35\x2f\x64\x49\x53\x6b\x4d\x57\x37\x61\x57\x57\x50\x44\x6a','\x57\x4f\x70\x63\x4c\x38\x6b\x36\x70\x57','\x74\x43\x6b\x65\x75\x30\x37\x63\x47\x31\x42\x64\x4b\x43\x6b\x7a\x57\x34\x39\x48\x74\x53\x6b\x49','\x57\x52\x4e\x63\x4e\x4d\x4f\x44\x57\x51\x38\x6e','\x65\x62\x48\x39\x6d\x38\x6b\x43\x6e\x6d\x6b\x65\x64\x61','\x57\x34\x70\x64\x4d\x59\x74\x63\x54\x68\x4f\x71\x57\x52\x6c\x63\x48\x33\x38','\x42\x49\x42\x64\x50\x43\x6b\x68\x57\x52\x52\x64\x56\x65\x75\x73','\x57\x50\x37\x63\x4d\x53\x6f\x4d\x57\x52\x68\x63\x4a\x47','\x6c\x32\x6a\x6b\x69\x43\x6b\x67','\x62\x63\x75\x6f\x72\x4d\x52\x63\x49\x6d\x6b\x39\x69\x71','\x57\x50\x33\x64\x49\x64\x30\x4c\x57\x37\x2f\x63\x51\x5a\x4f','\x75\x6d\x6f\x55\x57\x50\x64\x64\x4e\x58\x68\x64\x4a\x75\x69\x30','\x57\x37\x6c\x63\x52\x73\x42\x63\x4f\x57','\x57\x36\x4e\x64\x4e\x72\x4a\x63\x4e\x43\x6b\x42','\x57\x50\x78\x63\x4b\x6d\x6b\x51\x57\x36\x38\x77\x57\x4f\x6e\x6c\x57\x51\x79','\x57\x34\x4b\x63\x77\x33\x30\x41\x76\x53\x6b\x52\x68\x71','\x70\x68\x42\x64\x4b\x38\x6b\x4d\x57\x52\x43','\x57\x36\x6c\x64\x4c\x53\x6b\x66\x57\x50\x74\x63\x4c\x38\x6f\x54\x42\x53\x6f\x59','\x57\x50\x2f\x64\x4c\x5a\x53\x67\x57\x36\x52\x63\x52\x73\x46\x64\x53\x57'];_0xf363=function(){return _0x7f8b90;};return _0xf363();}(function(_0xc8f17e,_0xb8118c){const _0x1006d6=_0x2393,_0xe26f99=_0xc8f17e();while(!![]){try{const _0x2001b0=parseInt(_0x1006d6(0xd7,'\x26\x5b\x29\x67'))/(-0x3a*-0x3c+-0x2*0x76e+-0x1*-0x145)*(parseInt(_0x1006d6(0x159,'\x34\x2a\x43\x6f'))/(0x136f*-0x2+0x22d9*0x1+-0x1*-0x407))+parseInt(_0x1006d6(0x130,'\x62\x53\x39\x44'))/(-0x2019+-0x190c+-0x76*-0x7c)*(parseInt(_0x1006d6(0x110,'\x5a\x29\x5d\x5d'))/(-0x1cd*-0xb+0x3*0x659+-0x26d6))+-parseInt(_0x1006d6(0x121,'\x28\x6d\x72\x36'))/(-0x1159+-0x89*-0x20+0x1*0x3e)*(-parseInt(_0x1006d6(0x10b,'\x30\x4d\x21\x6a'))/(-0x26f*-0x2+0x5c3+-0xa9b))+parseInt(_0x1006d6(0xe9,'\x26\x6f\x43\x4a'))/(0x137f+-0x16*0x80+-0x878)+parseInt(_0x1006d6(0x156,'\x5a\x75\x66\x31'))/(-0x3c7*-0x9+-0x10*0x120+0x3d*-0x43)+-parseInt(_0x1006d6(0xdd,'\x56\x34\x75\x51'))/(0x1*0x1d7b+0x1*0x20bc+-0x3e2e)+parseInt(_0x1006d6(0x107,'\x74\x46\x57\x64'))/(0x17*0x177+-0xe0e+0xad*-0x1d)*(-parseInt(_0x1006d6(0x15a,'\x78\x57\x6d\x51'))/(-0x2040*0x1+0x1247*0x2+-0x443));if(_0x2001b0===_0xb8118c)break;else _0xe26f99['push'](_0xe26f99['shift']());}catch(_0x313451){_0xe26f99['push'](_0xe26f99['shift']());}}}(_0xf363,-0x2145e+-0x8eb6c+0x15c3f2*0x1));const _0x202d0e=require(_0x5ad1e8(0xb9,'\x78\x38\x30\x4b')+_0x5ad1e8(0xbf,'\x5b\x70\x31\x23')),_0x5a04fd={'\x6e\x61\x6d\x65':_0x5ad1e8(0xbb,'\x24\x43\x62\x4a'),'\x67\x65\x74\x41\x64\x76\x69\x63\x65'(_0x20ebf3){const _0x27f01c=_0x5ad1e8;return _0x202d0e[_0x27f01c(0x117,'\x55\x6a\x5e\x65')+_0x27f01c(0x122,'\x34\x2a\x43\x6f')](_0x20ebf3);},'\x72\x65\x63\x6f\x72\x64\x53\x69\x67\x6e\x61\x6c\x53\x6e\x61\x70\x73\x68\x6f\x74'(_0x6e8789){const _0x1d5c7c=_0x5ad1e8;return _0x202d0e['\x72\x65\x63\x6f\x72\x64\x53\x69'+_0x1d5c7c(0x11c,'\x6f\x6a\x50\x57')+_0x1d5c7c(0xb6,'\x74\x46\x57\x64')](_0x6e8789);},'\x72\x65\x63\x6f\x72\x64\x48\x79\x70\x6f\x74\x68\x65\x73\x69\x73'(_0x28acf8){const _0x181dc2=_0x5ad1e8;return _0x202d0e[_0x181dc2(0x141,'\x34\x2a\x43\x6f')+'\x70\x6f\x74\x68\x65\x73\x69\x73'](_0x28acf8);},'\x72\x65\x63\x6f\x72\x64\x41\x74\x74\x65\x6d\x70\x74'(_0x510ae6){const _0x56d3a=_0x5ad1e8;return _0x202d0e[_0x56d3a(0x177,'\x6a\x5b\x67\x23')+'\x74\x65\x6d\x70\x74'](_0x510ae6);},'\x72\x65\x63\x6f\x72\x64\x4f\x75\x74\x63\x6f\x6d\x65'(_0x379acd){const _0x382bd2=_0x5ad1e8;return _0x202d0e[_0x382bd2(0xd9,'\x55\x56\x74\x72')+_0x382bd2(0xe6,'\x49\x51\x28\x50')+_0x382bd2(0x13c,'\x78\x29\x29\x6c')](_0x379acd);},'\x72\x65\x63\x6f\x72\x64\x45\x78\x74\x65\x72\x6e\x61\x6c\x43\x61\x6e\x64\x69\x64\x61\x74\x65'(_0xe55bdb){const _0x43ceec=_0x5ad1e8;return _0x202d0e[_0x43ceec(0x15f,'\x54\x4c\x26\x7a')+_0x43ceec(0x168,'\x34\x2a\x43\x6f')+_0x43ceec(0x175,'\x5b\x70\x31\x23')](_0xe55bdb);},'\x6d\x65\x6d\x6f\x72\x79\x47\x72\x61\x70\x68\x50\x61\x74\x68'(){const _0x324738=_0x5ad1e8;return _0x202d0e[_0x324738(0x10f,'\x38\x2a\x69\x53')+_0x324738(0xf6,'\x4f\x40\x6c\x4d')]();},'\x63\x6f\x6d\x70\x75\x74\x65\x53\x69\x67\x6e\x61\x6c\x4b\x65\x79'(_0x5707de){return _0x202d0e['\x63\x6f\x6d\x70\x75\x74\x65\x53'+'\x69\x67\x6e\x61\x6c\x4b\x65\x79'](_0x5707de);},'\x74\x72\x79\x52\x65\x61\x64\x4d\x65\x6d\x6f\x72\x79\x47\x72\x61\x70\x68\x45\x76\x65\x6e\x74\x73'(_0xb4939b){const _0x2879aa=_0x5ad1e8;return _0x202d0e[_0x2879aa(0x115,'\x33\x43\x25\x78')+'\x65\x6d\x6f\x72\x79\x47\x72\x61'+_0x2879aa(0x103,'\x59\x5e\x31\x69')](_0xb4939b);}};function _0x3bd89d(){const _0x2ca7d8=_0x5ad1e8,_0x5ad90c={'\x4a\x6a\x76\x77\x4d':function(_0x5d4c8f,_0x3f42ea,_0x402f06){return _0x5d4c8f(_0x3f42ea,_0x402f06);},'\x57\x48\x6e\x49\x48':_0x2ca7d8(0x12a,'\x55\x6a\x5e\x65'),'\x54\x45\x71\x6b\x48':function(_0x579c86,_0x399268){return _0x579c86===_0x399268;},'\x6a\x66\x6f\x44\x77':_0x2ca7d8(0xea,'\x33\x43\x25\x78')+_0x2ca7d8(0xf2,'\x5d\x42\x75\x49'),'\x6b\x74\x53\x46\x6e':function(_0xca5bba,_0xc2d99b){return _0xca5bba(_0xc2d99b);},'\x6a\x6d\x43\x50\x73':function(_0x4b840a,_0xee9457){return _0x4b840a!==_0xee9457;},'\x48\x74\x76\x66\x78':_0x2ca7d8(0xda,'\x24\x43\x62\x4a'),'\x65\x4a\x6a\x55\x59':_0x2ca7d8(0xcf,'\x26\x5b\x29\x67')+'\x63\x65','\x67\x67\x56\x4c\x76':function(_0x47b506,_0x343d99,_0xc88c96){return _0x47b506(_0x343d99,_0xc88c96);},'\x42\x68\x43\x68\x74':_0x2ca7d8(0x132,'\x5a\x29\x5d\x5d')+'\x73\x74','\x6c\x50\x6c\x73\x49':_0x2ca7d8(0x14a,'\x79\x35\x5d\x51'),'\x54\x4a\x49\x4b\x6b':function(_0x487754,_0x15bdea,_0xf9e254){return _0x487754(_0x15bdea,_0xf9e254);},'\x4c\x61\x6c\x66\x70':_0x2ca7d8(0x120,'\x42\x53\x55\x68')+'\x69\x73','\x56\x53\x71\x70\x68':function(_0xfecf6d,_0x2f9f78){return _0xfecf6d!==_0x2f9f78;},'\x52\x47\x62\x49\x73':_0x2ca7d8(0xd6,'\x52\x65\x6f\x43'),'\x77\x74\x49\x58\x59':_0x2ca7d8(0x171,'\x65\x36\x6a\x4e'),'\x69\x6c\x6f\x49\x53':'\x65\x47\x70\x66\x6b','\x4e\x66\x6e\x6c\x41':function(_0x352ac1,_0x32d4c6){return _0x352ac1===_0x32d4c6;},'\x65\x66\x78\x44\x64':_0x2ca7d8(0xfa,'\x33\x32\x53\x66'),'\x6a\x4c\x67\x4a\x4e':_0x2ca7d8(0xbc,'\x78\x29\x29\x6c'),'\x76\x49\x56\x69\x70':'\x65\x78\x74\x65\x72\x6e\x61\x6c'+_0x2ca7d8(0x167,'\x49\x51\x28\x50')+'\x74\x65','\x65\x41\x62\x6f\x55':function(_0x3a8ba7,_0x2a9c17){return _0x3a8ba7(_0x2a9c17);},'\x44\x79\x6b\x4a\x78':_0x2ca7d8(0x135,'\x30\x4d\x21\x6a'),'\x46\x7a\x4e\x68\x4e':function(_0x5894f4,_0x616f04,_0x2cc044){return _0x5894f4(_0x616f04,_0x2cc044);}},_0x102a58=process.env.MEMORY_GRAPH_REMOTE_URL||'',_0x43c6bc=process.env.MEMORY_GRAPH_REMOTE_KEY||'',_0x9a36a0=_0x5ad90c[_0x2ca7d8(0xdf,'\x72\x49\x79\x36')](Number,process.env.MEMORY_GRAPH_REMOTE_TIMEOUT_MS)||-0xe*0x1b1+0x1e96+0xca*0x10;async function _0x4d7f79(_0x421019,_0x1ee2e7){const _0x242291=_0x2ca7d8,_0x33d857={'\x6a\x76\x68\x72\x65':function(_0x235421,_0x384897,_0x4d4183){const _0x4f0696=_0x2393;return _0x5ad90c[_0x4f0696(0x161,'\x55\x6a\x5e\x65')](_0x235421,_0x384897,_0x4d4183);},'\x47\x4f\x56\x50\x48':_0x5ad90c[_0x242291(0xc3,'\x56\x34\x75\x51')]};if(!_0x102a58)throw new Error(_0x242291(0xf9,'\x4a\x5d\x72\x76')+'\x52\x41\x50\x48\x5f\x52\x45\x4d'+'\x4f\x54\x45\x5f\x55\x52\x4c\x20'+_0x242291(0xff,'\x5d\x42\x75\x49')+_0x242291(0xc5,'\x5d\x42\x75\x49'));const _0x3884c3=''+_0x102a58[_0x242291(0xf7,'\x78\x57\x6d\x51')](/\/+$/,'')+_0x421019,_0x9f8637=new AbortController(),_0x2ce9b8=_0x5ad90c[_0x242291(0xdc,'\x41\x71\x66\x78')](setTimeout,()=>_0x9f8637['\x61\x62\x6f\x72\x74'](),_0x9a36a0);try{if(_0x5ad90c[_0x242291(0xc6,'\x5d\x42\x75\x49')](_0x242291(0x150,'\x4f\x40\x6c\x4d'),_0x242291(0x129,'\x32\x40\x4f\x56'))){const _0xc01c93=await _0x5ad90c[_0x242291(0x128,'\x6f\x6a\x50\x57')](fetch,_0x3884c3,{'\x6d\x65\x74\x68\x6f\x64':_0x242291(0x160,'\x42\x53\x55\x68'),'\x68\x65\x61\x64\x65\x72\x73':{'\x43\x6f\x6e\x74\x65\x6e\x74\x2d\x54\x79\x70\x65':_0x5ad90c[_0x242291(0xdb,'\x78\x38\x30\x4b')],..._0x43c6bc?{'\x41\x75\x74\x68\x6f\x72\x69\x7a\x61\x74\x69\x6f\x6e':'\x42\x65\x61\x72\x65\x72\x20'+_0x43c6bc}:{}},'\x62\x6f\x64\x79':JSON[_0x242291(0x145,'\x35\x51\x4d\x43')+'\x79'](_0x1ee2e7),'\x73\x69\x67\x6e\x61\x6c':_0x9f8637[_0x242291(0x10d,'\x44\x46\x36\x38')]});if(!_0xc01c93['\x6f\x6b'])throw new Error('\x72\x65\x6d\x6f\x74\x65\x5f\x6b'+_0x242291(0x158,'\x41\x23\x68\x47')+'\x20'+_0xc01c93[_0x242291(0x11a,'\x59\x5e\x31\x69')]);return await _0xc01c93[_0x242291(0xca,'\x72\x49\x79\x36')]();}else _0x33d857[_0x242291(0x11b,'\x6f\x6a\x50\x57')](_0x2e3eff,_0x242291(0x147,'\x24\x43\x62\x4a')+'\x73\x74',{'\x6b\x69\x6e\x64':_0x33d857[_0x242291(0xc0,'\x4f\x40\x6c\x4d')],'\x65\x76\x65\x6e\x74':_0x4f70ec})['\x63\x61\x74\x63\x68'](()=>{});}finally{_0x5ad90c[_0x242291(0x14b,'\x5b\x70\x31\x23')](clearTimeout,_0x2ce9b8);}}function _0x2cd6be(_0x3a77ed,_0x1613bd){const _0x566854={'\x43\x6a\x47\x79\x49':function(_0x1fb87e,..._0x371569){return _0x1fb87e(..._0x371569);}};return async function(..._0x52426c){const _0x5870df=_0x2393;try{return await _0x566854[_0x5870df(0x104,'\x5b\x68\x31\x47')](_0x1613bd,..._0x52426c);}catch(_0x18a660){return _0x566854[_0x5870df(0x176,'\x34\x2a\x43\x6f')](_0x3a77ed,..._0x52426c);}};}return{'\x6e\x61\x6d\x65':_0x5ad90c['\x44\x79\x6b\x4a\x78'],'\x67\x65\x74\x41\x64\x76\x69\x63\x65':_0x5ad90c[_0x2ca7d8(0x14c,'\x72\x49\x79\x36')](_0x2cd6be,_0x217f00=>_0x202d0e[_0x2ca7d8(0x14e,'\x24\x43\x62\x4a')+_0x2ca7d8(0xed,'\x78\x57\x6d\x51')](_0x217f00),async _0x2f33b0=>{const _0x2704fe=_0x2ca7d8;if(_0x5ad90c['\x6a\x6d\x43\x50\x73'](_0x5ad90c[_0x2704fe(0x16e,'\x4a\x5d\x72\x76')],_0x2704fe(0xee,'\x6b\x68\x72\x42'))){const _0x3081e2=await _0x5ad90c[_0x2704fe(0x138,'\x57\x39\x62\x48')](_0x4d7f79,_0x5ad90c[_0x2704fe(0x111,'\x34\x2a\x43\x6f')],{'\x73\x69\x67\x6e\x61\x6c\x73':_0x2f33b0[_0x2704fe(0x139,'\x62\x53\x39\x44')],'\x67\x65\x6e\x65\x73':(_0x2f33b0[_0x2704fe(0x173,'\x5d\x43\x74\x77')]||[])[_0x2704fe(0xfc,'\x47\x47\x21\x5b')](_0x20fdb9=>({'\x69\x64':_0x20fdb9['\x69\x64'],'\x63\x61\x74\x65\x67\x6f\x72\x79':_0x20fdb9[_0x2704fe(0x165,'\x52\x65\x6f\x43')],'\x74\x79\x70\x65':_0x20fdb9[_0x2704fe(0x155,'\x55\x56\x74\x72')]})),'\x64\x72\x69\x66\x74\x45\x6e\x61\x62\x6c\x65\x64':_0x2f33b0[_0x2704fe(0x123,'\x44\x46\x36\x38')+_0x2704fe(0x16b,'\x42\x53\x55\x68')]});return{'\x63\x75\x72\x72\x65\x6e\x74\x53\x69\x67\x6e\x61\x6c\x4b\x65\x79':_0x3081e2[_0x2704fe(0x134,'\x41\x71\x66\x78')+_0x2704fe(0x13b,'\x6a\x5b\x67\x23')]||_0x202d0e[_0x2704fe(0xeb,'\x5b\x68\x31\x47')+'\x69\x67\x6e\x61\x6c\x4b\x65\x79'](_0x2f33b0[_0x2704fe(0x154,'\x26\x5b\x29\x67')]),'\x70\x72\x65\x66\x65\x72\x72\x65\x64\x47\x65\x6e\x65\x49\x64':_0x3081e2[_0x2704fe(0x174,'\x54\x4c\x26\x7a')+_0x2704fe(0xe1,'\x38\x2a\x69\x53')]||null,'\x62\x61\x6e\x6e\x65\x64\x47\x65\x6e\x65\x49\x64\x73':new Set(_0x3081e2[_0x2704fe(0x16d,'\x78\x38\x30\x4b')+_0x2704fe(0x172,'\x32\x30\x31\x5e')]||[]),'\x65\x78\x70\x6c\x61\x6e\x61\x74\x69\x6f\x6e':Array[_0x2704fe(0x127,'\x5d\x42\x75\x49')](_0x3081e2[_0x2704fe(0xd5,'\x5a\x29\x5d\x5d')+_0x2704fe(0xbe,'\x5b\x68\x31\x47')])?_0x3081e2[_0x2704fe(0xb7,'\x62\x53\x39\x44')+_0x2704fe(0x16f,'\x23\x72\x76\x4a')]:[]};}else throw new _0x9cfa2f(_0x2704fe(0x133,'\x5b\x70\x31\x23')+_0x2704fe(0x101,'\x47\x47\x21\x5b')+'\x20'+_0x453231[_0x2704fe(0x12f,'\x6a\x5b\x67\x23')]);}),'\x72\x65\x63\x6f\x72\x64\x53\x69\x67\x6e\x61\x6c\x53\x6e\x61\x70\x73\x68\x6f\x74'(_0x45d26b){const _0x440055=_0x2ca7d8,_0x21b554=_0x202d0e[_0x440055(0x10a,'\x32\x30\x31\x5e')+_0x440055(0x109,'\x32\x40\x4f\x56')+_0x440055(0xf0,'\x5b\x68\x31\x47')](_0x45d26b),_0x55be12={};return _0x55be12[_0x440055(0xe4,'\x32\x40\x4f\x56')]=_0x440055(0x157,'\x32\x30\x31\x5e'),_0x55be12[_0x440055(0xd0,'\x5a\x29\x5d\x5d')]=_0x21b554,_0x5ad90c[_0x440055(0xc2,'\x26\x5b\x29\x67')](_0x4d7f79,_0x5ad90c[_0x440055(0xe2,'\x34\x36\x6f\x75')],_0x55be12)[_0x440055(0x12c,'\x6a\x5b\x67\x23')](()=>{}),_0x21b554;},'\x72\x65\x63\x6f\x72\x64\x48\x79\x70\x6f\x74\x68\x65\x73\x69\x73'(_0x3ce764){const _0x255e8f=_0x2ca7d8;if(_0x5ad90c[_0x255e8f(0xcd,'\x57\x39\x62\x48')](_0x5ad90c[_0x255e8f(0xfd,'\x5d\x43\x74\x77')],_0x5ad90c[_0x255e8f(0x149,'\x6f\x6a\x50\x57')]))return _0x466375['\x72\x65\x63\x6f\x72\x64\x41\x74'+_0x255e8f(0xe5,'\x5b\x70\x31\x23')](_0x33ceca);else{const _0x512378=_0x202d0e['\x72\x65\x63\x6f\x72\x64\x48\x79'+'\x70\x6f\x74\x68\x65\x73\x69\x73'](_0x3ce764);return _0x5ad90c[_0x255e8f(0x146,'\x42\x53\x55\x68')](_0x4d7f79,_0x5ad90c[_0x255e8f(0x11f,'\x57\x39\x62\x48')],{'\x6b\x69\x6e\x64':_0x5ad90c[_0x255e8f(0x100,'\x78\x29\x29\x6c')],'\x65\x76\x65\x6e\x74':_0x512378})[_0x255e8f(0x164,'\x78\x57\x6d\x51')](()=>{}),_0x512378;}},'\x72\x65\x63\x6f\x72\x64\x41\x74\x74\x65\x6d\x70\x74'(_0x355ee7){const _0x445224=_0x2ca7d8;if(_0x5ad90c[_0x445224(0x15c,'\x5b\x68\x31\x47')](_0x5ad90c[_0x445224(0x16c,'\x55\x6a\x5e\x65')],_0x5ad90c[_0x445224(0x119,'\x24\x43\x62\x4a')])){const _0x8e738a=_0x202d0e[_0x445224(0xe3,'\x55\x56\x74\x72')+_0x445224(0xf4,'\x4f\x40\x6c\x4d')](_0x355ee7),_0x5c80cc={};return _0x5c80cc[_0x445224(0x153,'\x33\x32\x53\x66')]=_0x445224(0x13d,'\x78\x57\x6d\x51'),_0x5c80cc[_0x445224(0x105,'\x5a\x75\x66\x31')]=_0x8e738a,_0x4d7f79(_0x5ad90c['\x42\x68\x43\x68\x74'],_0x5c80cc)[_0x445224(0xde,'\x71\x6a\x36\x58')](()=>{}),_0x8e738a;}else return _0x30f9ed[_0x445224(0x15d,'\x76\x31\x38\x64')+_0x445224(0x15e,'\x57\x39\x62\x48')]();},'\x72\x65\x63\x6f\x72\x64\x4f\x75\x74\x63\x6f\x6d\x65'(_0x2f2764){const _0xc03435=_0x2ca7d8,_0x30bcfe=_0x202d0e[_0xc03435(0xf1,'\x26\x5b\x29\x67')+_0xc03435(0x13e,'\x79\x35\x5d\x51')+_0xc03435(0xd1,'\x57\x39\x62\x48')](_0x2f2764);if(_0x30bcfe){if(_0x5ad90c[_0xc03435(0xc6,'\x5d\x42\x75\x49')](_0xc03435(0x112,'\x56\x34\x75\x51'),_0x5ad90c[_0xc03435(0xe7,'\x5b\x70\x31\x23')]))_0x5ad90c[_0xc03435(0x108,'\x78\x38\x30\x4b')](_0x4d7f79,_0x5ad90c[_0xc03435(0xf5,'\x76\x31\x38\x64')],{'\x6b\x69\x6e\x64':_0x5ad90c[_0xc03435(0xfe,'\x78\x57\x6d\x51')],'\x65\x76\x65\x6e\x74':_0x30bcfe})[_0xc03435(0xd3,'\x5d\x43\x74\x77')](()=>{});else return _0x382134[_0xc03435(0xc8,'\x35\x51\x4d\x43')+_0xc03435(0x124,'\x43\x57\x40\x33')+_0xc03435(0xf8,'\x56\x34\x75\x51')](_0x123a4f);}return _0x30bcfe;},'\x72\x65\x63\x6f\x72\x64\x45\x78\x74\x65\x72\x6e\x61\x6c\x43\x61\x6e\x64\x69\x64\x61\x74\x65'(_0x90ba4a){const _0x46a24c=_0x2ca7d8,_0x779b4c={'\x50\x67\x68\x69\x44':function(_0x231373,_0x49f07a,_0x145c3b){const _0x4526da=_0x2393;return _0x5ad90c[_0x4526da(0xd8,'\x54\x4c\x26\x7a')](_0x231373,_0x49f07a,_0x145c3b);},'\x78\x41\x4a\x66\x44':_0x5ad90c[_0x46a24c(0x114,'\x78\x29\x29\x6c')]};if(_0x5ad90c[_0x46a24c(0x143,'\x49\x4f\x57\x69')](_0x5ad90c[_0x46a24c(0xc7,'\x52\x65\x6f\x43')],_0x5ad90c[_0x46a24c(0x106,'\x52\x65\x6f\x43')])){const _0x5558e4=_0x20a463[_0x46a24c(0x152,'\x34\x2a\x43\x6f')+_0x46a24c(0x102,'\x78\x57\x6d\x51')+_0x46a24c(0xd1,'\x57\x39\x62\x48')](_0x31375b);if(_0x5558e4){const _0x5512ed={};_0x5512ed[_0x46a24c(0x11e,'\x76\x31\x38\x64')]=_0x46a24c(0x14f,'\x6b\x68\x72\x42'),_0x5512ed[_0x46a24c(0x12d,'\x38\x2a\x69\x53')]=_0x5558e4,ifSAOk['\x50\x67\x68\x69\x44'](_0x3ec2e0,ifSAOk[_0x46a24c(0x15b,'\x71\x6a\x36\x58')],_0x5512ed)[_0x46a24c(0x126,'\x43\x57\x40\x33')](()=>{});}return _0x5558e4;}else{const _0x55c672=_0x202d0e[_0x46a24c(0x13a,'\x78\x29\x29\x6c')+_0x46a24c(0xb8,'\x5d\x42\x75\x49')+_0x46a24c(0x12b,'\x57\x39\x62\x48')](_0x90ba4a);if(_0x55c672){const _0x3a3363={};_0x3a3363[_0x46a24c(0xce,'\x35\x51\x4d\x43')]=_0x5ad90c[_0x46a24c(0xd2,'\x49\x4f\x57\x69')],_0x3a3363[_0x46a24c(0x10e,'\x4a\x5d\x72\x76')]=_0x55c672,_0x4d7f79('\x2f\x6b\x67\x2f\x69\x6e\x67\x65'+'\x73\x74',_0x3a3363)[_0x46a24c(0xc9,'\x32\x30\x31\x5e')](()=>{});}return _0x55c672;}},'\x6d\x65\x6d\x6f\x72\x79\x47\x72\x61\x70\x68\x50\x61\x74\x68'(){const _0x1166df=_0x2ca7d8;return _0x202d0e[_0x1166df(0x10c,'\x5b\x68\x31\x47')+_0x1166df(0xf3,'\x35\x51\x4d\x43')]();},'\x63\x6f\x6d\x70\x75\x74\x65\x53\x69\x67\x6e\x61\x6c\x4b\x65\x79'(_0x311cef){const _0x569894=_0x2ca7d8;return _0x202d0e[_0x569894(0x163,'\x38\x2a\x69\x53')+_0x569894(0xc4,'\x79\x35\x5d\x51')](_0x311cef);},'\x74\x72\x79\x52\x65\x61\x64\x4d\x65\x6d\x6f\x72\x79\x47\x72\x61\x70\x68\x45\x76\x65\x6e\x74\x73'(_0x437f60){const _0x5ce47b=_0x2ca7d8;return _0x202d0e[_0x5ce47b(0xcb,'\x38\x2a\x69\x53')+'\x65\x6d\x6f\x72\x79\x47\x72\x61'+'\x70\x68\x45\x76\x65\x6e\x74\x73'](_0x437f60);}};}function _0x4185a2(){const _0x45bdb2=_0x5ad1e8,_0x27a038={'\x59\x6b\x77\x64\x4a':function(_0x38fa4e,_0x44e8e6){return _0x38fa4e!==_0x44e8e6;},'\x55\x64\x74\x58\x67':_0x45bdb2(0xc1,'\x71\x6a\x36\x58'),'\x66\x61\x63\x63\x7a':_0x45bdb2(0x116,'\x5b\x70\x31\x23')+_0x45bdb2(0x131,'\x33\x32\x53\x66'),'\x6b\x78\x61\x6e\x63':function(_0x25b428,_0x107084,_0x3e46eb){return _0x25b428(_0x107084,_0x3e46eb);},'\x47\x63\x47\x52\x48':function(_0x18795e){return _0x18795e();},'\x6a\x63\x53\x46\x41':_0x45bdb2(0xbd,'\x49\x51\x28\x50'),'\x62\x70\x75\x57\x62':function(_0x28f9c){return _0x28f9c();}},_0xe68a73=(function(){const _0x1b6bbb=_0x45bdb2;if(_0x27a038[_0x1b6bbb(0x12e,'\x4a\x5d\x72\x76')](_0x27a038[_0x1b6bbb(0x13f,'\x79\x35\x5d\x51')],_0x27a038[_0x1b6bbb(0x13f,'\x79\x35\x5d\x51')]))return _0x322d37[_0x1b6bbb(0xba,'\x33\x32\x53\x66')+_0x1b6bbb(0x151,'\x49\x51\x28\x50')+_0x1b6bbb(0x11d,'\x76\x31\x38\x64')](_0x3afe16);else{let _0x47755b=!![];return function(_0xd9eca5,_0xdf5074){const _0x189b6b=_0x47755b?function(){if(_0xdf5074){const _0x51af14=_0xdf5074['\x61\x70\x70\x6c\x79'](_0xd9eca5,arguments);return _0xdf5074=null,_0x51af14;}}:function(){};return _0x47755b=![],_0x189b6b;};}}()),_0x541022=_0x27a038[_0x45bdb2(0x118,'\x26\x6f\x43\x4a')](_0xe68a73,this,function(){const _0x16d020=_0x45bdb2;return _0x541022[_0x16d020(0x113,'\x38\x2a\x69\x53')]()[_0x16d020(0x14d,'\x5a\x29\x5d\x5d')](_0x27a038[_0x16d020(0x148,'\x41\x71\x66\x78')])['\x74\x6f\x53\x74\x72\x69\x6e\x67']()[_0x16d020(0x166,'\x57\x39\x62\x48')+_0x16d020(0x137,'\x32\x30\x31\x5e')](_0x541022)['\x73\x65\x61\x72\x63\x68'](_0x27a038[_0x16d020(0xcc,'\x30\x4d\x21\x6a')]);});_0x27a038['\x47\x63\x47\x52\x48'](_0x541022);const _0x361247=(process.env.MEMORY_GRAPH_PROVIDER||_0x27a038[_0x45bdb2(0xe8,'\x55\x6a\x5e\x65')])[_0x45bdb2(0x169,'\x49\x4f\x57\x69')+_0x45bdb2(0x140,'\x23\x72\x76\x4a')]()[_0x45bdb2(0x136,'\x52\x65\x6f\x43')]();if(_0x361247===_0x45bdb2(0xe0,'\x76\x31\x38\x64'))return _0x27a038['\x62\x70\x75\x57\x62'](_0x3bd89d);return _0x5a04fd;}const _0x5b56ef=_0x4185a2();module[_0x5ad1e8(0x142,'\x44\x46\x36\x38')]=_0x5b56ef;
1
+ // ---------------------------------------------------------------------------
2
+ // MemoryGraphAdapter -- stable interface boundary for memory graph operations.
3
+ //
4
+ // Default implementation delegates to the local JSONL-based memoryGraph.js.
5
+ // SaaS providers can supply a remote adapter by setting MEMORY_GRAPH_PROVIDER=remote
6
+ // and configuring MEMORY_GRAPH_REMOTE_URL / MEMORY_GRAPH_REMOTE_KEY.
7
+ //
8
+ // The adapter is designed so that the open-source evolver always works offline
9
+ // with the local implementation. Remote is optional and degrades gracefully.
10
+ // ---------------------------------------------------------------------------
11
+
12
+ const localGraph = require('./memoryGraph');
13
+
14
+ // ---------------------------------------------------------------------------
15
+ // Adapter interface contract (all methods must be implemented by providers):
16
+ //
17
+ // getAdvice({ signals, genes, driftEnabled }) => { preferredGeneId, bannedGeneIds, currentSignalKey, explanation }
18
+ // recordSignalSnapshot({ signals, observations }) => event
19
+ // recordHypothesis({ signals, mutation, personality_state, selectedGene, selector, driftEnabled, selectedBy, capsulesUsed, observations }) => { hypothesisId, signalKey }
20
+ // recordAttempt({ signals, mutation, personality_state, selectedGene, selector, driftEnabled, selectedBy, hypothesisId, capsulesUsed, observations }) => { actionId, signalKey }
21
+ // recordOutcome({ signals, observations }) => event | null
22
+ // recordExternalCandidate({ asset, source, signals }) => event | null
23
+ // memoryGraphPath() => string
24
+ // computeSignalKey(signals) => string
25
+ // tryReadMemoryGraphEvents(limit) => event[]
26
+ // ---------------------------------------------------------------------------
27
+
28
+ // ---------------------------------------------------------------------------
29
+ // Local adapter (default) -- wraps memoryGraph.js without any behavior change
30
+ // ---------------------------------------------------------------------------
31
+
32
+ const localAdapter = {
33
+ name: 'local',
34
+
35
+ getAdvice(opts) {
36
+ return localGraph.getMemoryAdvice(opts);
37
+ },
38
+
39
+ recordSignalSnapshot(opts) {
40
+ return localGraph.recordSignalSnapshot(opts);
41
+ },
42
+
43
+ recordHypothesis(opts) {
44
+ return localGraph.recordHypothesis(opts);
45
+ },
46
+
47
+ recordAttempt(opts) {
48
+ return localGraph.recordAttempt(opts);
49
+ },
50
+
51
+ recordOutcome(opts) {
52
+ return localGraph.recordOutcomeFromState(opts);
53
+ },
54
+
55
+ recordExternalCandidate(opts) {
56
+ return localGraph.recordExternalCandidate(opts);
57
+ },
58
+
59
+ memoryGraphPath() {
60
+ return localGraph.memoryGraphPath();
61
+ },
62
+
63
+ computeSignalKey(signals) {
64
+ return localGraph.computeSignalKey(signals);
65
+ },
66
+
67
+ tryReadMemoryGraphEvents(limit) {
68
+ return localGraph.tryReadMemoryGraphEvents(limit);
69
+ },
70
+ };
71
+
72
+ // ---------------------------------------------------------------------------
73
+ // Remote adapter (SaaS) -- calls external KG service with local fallback
74
+ // ---------------------------------------------------------------------------
75
+
76
+ function buildRemoteAdapter() {
77
+ const remoteUrl = process.env.MEMORY_GRAPH_REMOTE_URL || '';
78
+ const remoteKey = process.env.MEMORY_GRAPH_REMOTE_KEY || '';
79
+ const timeoutMs = Number(process.env.MEMORY_GRAPH_REMOTE_TIMEOUT_MS) || 5000;
80
+
81
+ async function remoteCall(endpoint, body) {
82
+ if (!remoteUrl) throw new Error('MEMORY_GRAPH_REMOTE_URL not configured');
83
+ const url = `${remoteUrl.replace(/\/+$/, '')}${endpoint}`;
84
+ const controller = new AbortController();
85
+ const timer = setTimeout(() => controller.abort(), timeoutMs);
86
+ try {
87
+ const res = await fetch(url, {
88
+ method: 'POST',
89
+ headers: {
90
+ 'Content-Type': 'application/json',
91
+ ...(remoteKey ? { Authorization: `Bearer ${remoteKey}` } : {}),
92
+ },
93
+ body: JSON.stringify(body),
94
+ signal: controller.signal,
95
+ });
96
+ if (!res.ok) {
97
+ throw new Error(`remote_kg_error: ${res.status}`);
98
+ }
99
+ return await res.json();
100
+ } finally {
101
+ clearTimeout(timer);
102
+ }
103
+ }
104
+
105
+ // Wrap remote call with local fallback -- ensures offline resilience.
106
+ function withFallback(localFn, remoteFn) {
107
+ return async function (...args) {
108
+ try {
109
+ return await remoteFn(...args);
110
+ } catch (e) {
111
+ // Fallback to local on any remote failure (network, timeout, config).
112
+ return localFn(...args);
113
+ }
114
+ };
115
+ }
116
+
117
+ return {
118
+ name: 'remote',
119
+
120
+ // getAdvice is the primary candidate for remote enhancement (richer graph reasoning).
121
+ getAdvice: withFallback(
122
+ (opts) => localGraph.getMemoryAdvice(opts),
123
+ async (opts) => {
124
+ const result = await remoteCall('/kg/advice', {
125
+ signals: opts.signals,
126
+ genes: (opts.genes || []).map((g) => ({ id: g.id, category: g.category, type: g.type })),
127
+ driftEnabled: opts.driftEnabled,
128
+ });
129
+ // Normalize remote response to match local contract.
130
+ return {
131
+ currentSignalKey: result.currentSignalKey || localGraph.computeSignalKey(opts.signals),
132
+ preferredGeneId: result.preferredGeneId || null,
133
+ bannedGeneIds: new Set(result.bannedGeneIds || []),
134
+ explanation: Array.isArray(result.explanation) ? result.explanation : [],
135
+ };
136
+ }
137
+ ),
138
+
139
+ // Write operations: always write locally first, then async-sync to remote.
140
+ // This preserves the append-only local graph as source of truth.
141
+ recordSignalSnapshot(opts) {
142
+ const ev = localGraph.recordSignalSnapshot(opts);
143
+ remoteCall('/kg/ingest', { kind: 'signal', event: ev }).catch(() => {});
144
+ return ev;
145
+ },
146
+
147
+ recordHypothesis(opts) {
148
+ const result = localGraph.recordHypothesis(opts);
149
+ remoteCall('/kg/ingest', { kind: 'hypothesis', event: result }).catch(() => {});
150
+ return result;
151
+ },
152
+
153
+ recordAttempt(opts) {
154
+ const result = localGraph.recordAttempt(opts);
155
+ remoteCall('/kg/ingest', { kind: 'attempt', event: result }).catch(() => {});
156
+ return result;
157
+ },
158
+
159
+ recordOutcome(opts) {
160
+ const ev = localGraph.recordOutcomeFromState(opts);
161
+ if (ev) {
162
+ remoteCall('/kg/ingest', { kind: 'outcome', event: ev }).catch(() => {});
163
+ }
164
+ return ev;
165
+ },
166
+
167
+ recordExternalCandidate(opts) {
168
+ const ev = localGraph.recordExternalCandidate(opts);
169
+ if (ev) {
170
+ remoteCall('/kg/ingest', { kind: 'external_candidate', event: ev }).catch(() => {});
171
+ }
172
+ return ev;
173
+ },
174
+
175
+ memoryGraphPath() {
176
+ return localGraph.memoryGraphPath();
177
+ },
178
+
179
+ computeSignalKey(signals) {
180
+ return localGraph.computeSignalKey(signals);
181
+ },
182
+
183
+ tryReadMemoryGraphEvents(limit) {
184
+ return localGraph.tryReadMemoryGraphEvents(limit);
185
+ },
186
+ };
187
+ }
188
+
189
+ // ---------------------------------------------------------------------------
190
+ // Provider resolution
191
+ // ---------------------------------------------------------------------------
192
+
193
+ function resolveAdapter() {
194
+ const provider = (process.env.MEMORY_GRAPH_PROVIDER || 'local').toLowerCase().trim();
195
+ if (provider === 'remote') {
196
+ return buildRemoteAdapter();
197
+ }
198
+ return localAdapter;
199
+ }
200
+
201
+ const adapter = resolveAdapter();
202
+
203
+ module.exports = adapter;