apt-mcp-agent-setup 3.5.35 → 3.5.37
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.
- package/README.md +1 -1
- package/bin/cli.js +1 -1
- package/build-input.json +220 -215
- package/bundle/NOTICES.md +0 -0
- package/bundle/core.enc +0 -0
- package/bundle/mcp-rules.enc +0 -0
- package/bundle/skills-aso.enc +0 -0
- package/bundle/skills-ba.enc +0 -0
- package/bundle/skills-base.enc +0 -0
- package/bundle/skills-be.enc +0 -0
- package/bundle/skills-design.enc +0 -0
- package/bundle/skills-fe.enc +0 -0
- package/bundle/skills-marketing.enc +0 -0
- package/bundle/skills-mobile.enc +0 -0
- package/bundle/skills-pm.enc +0 -0
- package/docs/technical-sources.md +7 -7
- package/integrity-manifest.json +172 -172
- package/package.json +1 -1
- package/release-check.js +30 -30
- package/src/backends/browser-tools.js +1 -1
- package/src/backends/index-cache-authority.js +1 -1
- package/src/backends/index-command.js +1 -1
- package/src/backends/index-contract.json +11 -11
- package/src/backends/index-maintenance.js +1 -1
- package/src/backends/index-store.js +1 -1
- package/src/backends/profiles.js +1 -1
- package/src/backends/review_graph.py +103 -103
- package/src/backends/source-discovery.js +1 -1
- package/src/core/admission-fence.js +1 -1
- package/src/core/aso-import.js +1 -1
- package/src/core/backend-lease-recovery.js +1 -1
- package/src/core/boot-evidence.js +1 -1
- package/src/core/caller-context.js +1 -1
- package/src/core/catalog.js +1 -1
- package/src/core/claude-caller-authority.js +1 -1
- package/src/core/claude-invocation.js +1 -1
- package/src/core/claude-launch-recovery.js +1 -1
- package/src/core/claude-native.js +1 -1
- package/src/core/claude-plan.js +1 -1
- package/src/core/claude-transcript-scan.js +1 -1
- package/src/core/claude-worker-transcript.js +1 -1
- package/src/core/codex-host-metadata.js +1 -1
- package/src/core/codex-transcript-receipt.js +1 -1
- package/src/core/connection-inspector.js +1 -1
- package/src/core/content-hash-cache.js +1 -1
- package/src/core/context-metrics.js +1 -1
- package/src/core/doctor.js +1 -1
- package/src/core/draining-completion.js +1 -1
- package/src/core/execution.js +1 -1
- package/src/core/git-context.js +1 -1
- package/src/core/hook-bridge.js +1 -1
- package/src/core/hook-diagnostics.js +1 -1
- package/src/core/hook-lease.js +1 -1
- package/src/core/host-adapters.js +1 -1
- package/src/core/interrupted-boot-transport-proof.js +1 -1
- package/src/core/interrupted-natural-closure-proof.js +1 -1
- package/src/core/interrupted-operation-audit.js +1 -1
- package/src/core/interrupted-transport-proof.js +1 -1
- package/src/core/ipc-envelope.js +1 -1
- package/src/core/legacy-retirement-proof.js +1 -1
- package/src/core/memory-scope.js +1 -1
- package/src/core/memory-store.js +1 -1
- package/src/core/model-inventory.js +1 -1
- package/src/core/model-routing.js +1 -1
- package/src/core/native-dispatch.js +1 -1
- package/src/core/native-receipt.js +1 -1
- package/src/core/native-retirement.js +1 -1
- package/src/core/node-version.js +1 -1
- package/src/core/npm-cli.js +1 -1
- package/src/core/owned-command-child.js +1 -1
- package/src/core/owned-command.js +1 -1
- package/src/core/owned-lock.js +1 -1
- package/src/core/owned-process.js +1 -1
- package/src/core/pipeline-journal.js +1 -1
- package/src/core/presentations.js +1 -1
- package/src/core/quality-artifacts.js +1 -1
- package/src/core/quality.js +1 -1
- package/src/core/read-command.js +1 -1
- package/src/core/readonly-skill.js +1 -1
- package/src/core/recovery-archive.js +1 -1
- package/src/core/recovery-proof.js +1 -1
- package/src/core/resource-transaction.js +1 -1
- package/src/core/run-checkpoint.js +1 -1
- package/src/core/run-compatibility.js +1 -1
- package/src/core/run-state-codec.js +1 -1
- package/src/core/runtime-authority.js +1 -1
- package/src/core/runtime-info.js +1 -1
- package/src/core/runtime-ownership.js +1 -1
- package/src/core/session.js +1 -1
- package/src/core/shared-checkout.js +1 -1
- package/src/core/skill-companions.js +1 -1
- package/src/core/skill-names.js +1 -1
- package/src/core/storage-retry.js +1 -1
- package/src/core/tool-contracts.js +1 -1
- package/src/core/transport-boot-contract.json +12 -12
- package/src/core/transport-close-contract.json +10 -10
- package/src/core/transport-contract.json +10 -10
- package/src/core/transport-pending-boot-contract.json +12 -12
- package/src/core/update-control.js +1 -1
- package/src/core/upgrade-runs.js +1 -1
- package/src/core/upgrade-stop.js +1 -1
- package/src/core/windows-job.js +1 -1
- package/src/core/workflow-policy.js +1 -1
- package/src/core/workspace-generation.js +1 -1
- package/src/core/workspace-path.js +1 -1
- package/src/installer/bounded-command.js +1 -1
- package/src/installer/candidate-preflight.js +1 -1
- package/src/installer/claude-commands.js +1 -1
- package/src/installer/connection-activation.js +1 -1
- package/src/installer/connection-supervisor.js +1 -1
- package/src/installer/deployment-draft.js +1 -1
- package/src/installer/gateway-context.js +1 -1
- package/src/installer/gateway-migration.js +1 -1
- package/src/installer/gateway-runtime.js +1 -1
- package/src/installer/global-setup.js +1 -1
- package/src/installer/hook-context-client.js +1 -1
- package/src/installer/hook-dispatcher.js +179 -179
- package/src/installer/host-hooks.js +1 -1
- package/src/installer/index-interruption-recovery.js +1 -1
- package/src/installer/index-recovery.js +1 -1
- package/src/installer/install-intent.js +1 -1
- package/src/installer/interrupted-operation-recovery.js +1 -1
- package/src/installer/legacy-prepared-plan.js +1 -1
- package/src/installer/legacy-registration.js +1 -1
- package/src/installer/managed-config.js +1 -1
- package/src/installer/migration-scope.js +1 -1
- package/src/installer/platform-config.js +1 -1
- package/src/installer/prerequisites.js +1 -1
- package/src/installer/presentations.js +1 -1
- package/src/installer/project-outcome.js +1 -1
- package/src/installer/project-setup.js +1 -1
- package/src/installer/recovery-backup-retention.js +1 -1
- package/src/installer/registration-closure.js +1 -1
- package/src/installer/registration-plan.js +1 -1
- package/src/installer/registration-receipt.js +1 -1
- package/src/installer/registrations.js +1 -1
- package/src/installer/runtime-activation.js +1 -1
- package/src/installer/runtime-child.js +1 -1
- package/src/installer/runtime-cleanup.js +1 -1
- package/src/installer/runtime-lock.js +1 -1
- package/src/installer/runtime-store.js +1 -1
- package/src/installer/runtime-supervisor.js +1 -1
- package/src/installer/setup-wizard.js +1 -1
- package/src/installer/stale-run-release.js +1 -1
- package/src/installer/update-addons.js +1 -1
- package/src/installer/update-cleanup.js +1 -1
- package/src/installer/update-executor.js +1 -1
- package/src/installer/update-history.js +1 -1
- package/src/installer/update-registration.js +1 -1
- package/src/installer/update-report.js +1 -1
- package/src/installer/update-request.js +1 -1
- package/src/installer/update-scope.js +1 -1
- package/src/installer/workspace-registry.js +1 -1
- package/src/installer/workspace-transaction.js +1 -1
- package/src/installer/workspace-update.js +1 -1
- package/src/license/crypto.js +1 -1
- package/src/license/fingerprint.js +1 -1
- package/src/license/terms.js +1 -1
- package/src/license/verify.js +1 -1
- package/src/presets/index.js +1 -1
- package/src/proxy/backends.js +1 -1
- package/src/proxy/browser-sessions.js +1 -1
- package/src/proxy/core-tools.js +1 -1
- package/src/proxy/pipeline.js +1 -1
- package/src/proxy/public-catalog.js +1 -1
- package/src/proxy/router.config.js +1 -1
- package/src/proxy/router.js +1 -1
- package/src/proxy/run-summary.js +1 -1
- package/src/proxy/server.js +1 -1
- package/src/proxy/workspace-gateway.js +1 -1
- package/src/templates/apt-runtime.md +3 -2
- package/src/templates/mcp-tools.md +3 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
const _0x452d55=_0x13ed;(function(_0x86f8c3,_0x2f4fae){const _0x54fd56=_0x13ed,_0x11d758=_0x86f8c3();while(!![]){try{const _0x2efcb0=parseInt(_0x54fd56(0x152))/0x1+-parseInt(_0x54fd56(0x1d4))/0x2+parseInt(_0x54fd56(0x19f))/0x3*(-parseInt(_0x54fd56(0x11b))/0x4)+-parseInt(_0x54fd56(0x171))/0x5+parseInt(_0x54fd56(0x1c1))/0x6+parseInt(_0x54fd56(0x12f))/0x7*(parseInt(_0x54fd56(0x15d))/0x8)+parseInt(_0x54fd56(0x132))/0x9*(parseInt(_0x54fd56(0x140))/0xa);if(_0x2efcb0===_0x2f4fae)break;else _0x11d758['push'](_0x11d758['shift']());}catch(_0x1328d5){_0x11d758['push'](_0x11d758['shift']());}}}(_0x2929,0x595ec));const fs=require('fs'),path=require(_0x452d55(0x17c)),crypto=require(_0x452d55(0x120)),cp=require(_0x452d55(0x12b)),cacheHost=require('os')[_0x452d55(0x15e)]()+':'+process[_0x452d55(0x1d5)]+':'+process[_0x452d55(0x156)],{runIndexCommand,indexTimeout}=require('./index-command'),{identity,sameWorkspace,containsWorkspace}=require(_0x452d55(0x118)),{acquireRuntimeLock}=require(_0x452d55(0x128)),{resolveManagedIndexCache,openManagedIndexCache,validateManagedIndexCache,assertCacheOutcome,safePath}=require(_0x452d55(0x1ce)),recoveryOwners=new WeakMap(),buildOwners=new WeakMap(),run=runIndexCommand,hash=_0x13240a=>crypto[_0x452d55(0x17d)]('sha256')[_0x452d55(0x207)](_0x13240a)['digest']('hex'),bridge=path['join'](__dirname,'review_graph.py'),fail=(_0x5596f6,_0x491515)=>Object[_0x452d55(0x15c)](new Error(_0x491515),{'code':_0x5596f6}),spelling=_0x26c4a1=>process[_0x452d55(0x1d5)]===_0x452d55(0x241)?path[_0x452d55(0x248)](_0x26c4a1)[_0x452d55(0x1d0)]():path['resolve'](_0x26c4a1);function rejectLink(_0xb5dbc7){const _0x2a97c5=_0x452d55;try{if(fs[_0x2a97c5(0x1d2)](_0xb5dbc7)[_0x2a97c5(0x1f0)]())throw fail('UNSAFE_INDEX','Index\x20metadata\x20must\x20not\x20be\x20a\x20symbolic\x20link');}catch(_0xd0bdfc){if(_0xd0bdfc['code']!==_0x2a97c5(0x225))throw _0xd0bdfc;}}function safeDirectory(_0x4c50b8,_0xac4681){const _0x127535=_0x452d55;if(path[_0x127535(0x22b)](_0xac4681)||_0xac4681[_0x127535(0x226)](/[\\/]/)['includes']('..'))throw fail(_0x127535(0x145),_0x127535(0x223));let _0x60a0dd=_0x4c50b8;for(const _0x15c599 of _0xac4681[_0x127535(0x226)](/[\\/]/)[_0x127535(0x1e8)](Boolean)){_0x60a0dd=path['join'](_0x60a0dd,_0x15c599),rejectLink(_0x60a0dd);const _0x1a31e4={};_0x1a31e4['recursive']=!![],fs[_0x127535(0x217)](_0x60a0dd,_0x1a31e4);if(!containsWorkspace(_0x4c50b8,_0x60a0dd))throw fail(_0x127535(0x145),_0x127535(0x223));}return _0x60a0dd;}function atomic(_0x4ba000,_0x25a94b){const _0x26f008=_0x452d55;rejectLink(_0x4ba000);const _0x32f50e=_0x4ba000+'.'+crypto[_0x26f008(0x172)]()+_0x26f008(0x240);try{const _0x2d9fd4=fs['openSync'](_0x32f50e,'wx');try{fs[_0x26f008(0x11f)](_0x2d9fd4,JSON['stringify'](_0x25a94b)),fs[_0x26f008(0x1df)](_0x2d9fd4);}finally{fs[_0x26f008(0x18d)](_0x2d9fd4);}fs[_0x26f008(0x19b)](_0x32f50e,_0x4ba000);}finally{const _0x5b1c9d={};_0x5b1c9d[_0x26f008(0x1c4)]=!![],fs[_0x26f008(0x150)](_0x32f50e,_0x5b1c9d);}}function read(_0x4eba8d){const _0x40ee43=_0x452d55;try{return rejectLink(_0x4eba8d),JSON[_0x40ee43(0x18f)](fs[_0x40ee43(0x1ba)](_0x4eba8d,'utf8'));}catch(_0x2b3821){if(_0x2b3821[_0x40ee43(0x20c)]===_0x40ee43(0x225))return null;throw _0x2b3821;}}function classify(_0x6b44ab){const _0x57757d=_0x452d55;if(/database disk image is malformed|file is not a database|SQLITE_CORRUPT|SQLITE_NOTADB/i[_0x57757d(0x220)](_0x6b44ab))return _0x57757d(0x12d);if(/not indexed|no index|not initialized|no codegraph project|index (?:missing|invalid|corrupt)/i[_0x57757d(0x220)](_0x6b44ab))return _0x57757d(0x211);return _0x57757d(0x239);}function responseError(_0x4ad77f){const _0x4884ec=_0x452d55,_0x1f4379=_0x4ad77f?.['result'],_0x140c59=_0x1f4379?.[_0x4884ec(0x1dc)],_0x450828=_0x1f4379?.[_0x4884ec(0x1e5)]?.['filter'](_0x4f13b8=>_0x4f13b8[_0x4884ec(0x1ff)]===_0x4884ec(0x1b4))[_0x4884ec(0x153)](_0x29d094=>_0x29d094['text'])[_0x4884ec(0x14b)]('\x0a'),_0x32ecdd=_0x4ad77f?.[_0x4884ec(0x209)]?.['message']||typeof _0x4ad77f?.[_0x4884ec(0x209)]===_0x4884ec(0x1a1)&&_0x4ad77f[_0x4884ec(0x209)]||_0x140c59?.[_0x4884ec(0x209)]||_0x450828||_0x4884ec(0x19a);return fail(classify(_0x32ecdd),String(_0x32ecdd)[_0x4884ec(0x16b)](0x0,0x640));}function snapshot(_0x253717,_0x562625,_0x69ae9f,_0x5222c5){const _0x2285c7=_0x452d55;if(_0x562625&&_0x69ae9f){const _0x476026=require('./source-discovery')[_0x2285c7(0x1ad)](_0x562625,_0x253717,_0x69ae9f,_0x5222c5);if(_0x476026)return _0x476026['snapshot'];}const _0x28c910=[],_0x32a337=new Set([_0x2285c7(0x1cc),'.svn',_0x2285c7(0x23a),_0x2285c7(0x1c3),_0x2285c7(0x19d),_0x2285c7(0x196),'node_modules',_0x2285c7(0x218),_0x2285c7(0x121),_0x2285c7(0x1f8),'dist',_0x2285c7(0x157)]),_0x3c64c8=_0x5b8bdc=>{const _0x163759=_0x2285c7,_0x1124cf={};_0x1124cf[_0x163759(0x20e)]=!![];for(const _0x2ea68f of fs['readdirSync'](_0x5b8bdc,_0x1124cf)[_0x163759(0x159)]((_0x36bad5,_0x283105)=>_0x36bad5[_0x163759(0x117)][_0x163759(0x245)](_0x283105[_0x163759(0x117)]))){if(_0x32a337[_0x163759(0x190)](_0x2ea68f[_0x163759(0x117)])||_0x2ea68f['name'][_0x163759(0x1aa)]('.codegraph-')||_0x2ea68f['name'][_0x163759(0x1a4)](_0x163759(0x15f))||_0x2ea68f[_0x163759(0x1f0)]())continue;const _0x3f37fd=path[_0x163759(0x14b)](_0x5b8bdc,_0x2ea68f[_0x163759(0x117)]);if(_0x2ea68f[_0x163759(0x186)]())_0x3c64c8(_0x3f37fd);else{if(_0x2ea68f[_0x163759(0x210)]())_0x28c910['push']([path[_0x163759(0x166)](_0x253717,_0x3f37fd)['replace'](/\\/g,'/'),hash(fs[_0x163759(0x1ba)](_0x3f37fd))]);}}};return _0x3c64c8(_0x253717),hash(JSON[_0x2285c7(0x21b)](_0x28c910));}function live(_0x3e3dbf){const _0x47deaa=_0x452d55;if(!Number[_0x47deaa(0x215)](_0x3e3dbf)||_0x3e3dbf<=0x0)return![];try{return process[_0x47deaa(0x183)](_0x3e3dbf,0x0),!![];}catch(_0x2d3e54){return _0x2d3e54[_0x47deaa(0x20c)]!==_0x47deaa(0x17f);}}class IndexStore{constructor(_0x49ee5e,_0xbf4fd1,_0xf5048c,_0x4c8e5f={}){const _0x42bc66=_0x452d55;this[_0x42bc66(0x205)]=_0x49ee5e,this[_0x42bc66(0x12e)]=fs[_0x42bc66(0x195)](_0xbf4fd1),this['profile']=_0xf5048c,this[_0x42bc66(0x236)]=resolveManagedIndexCache({'workspace':this[_0x42bc66(0x12e)],'kind':_0x49ee5e,'profile':_0xf5048c,'pending':Boolean(_0x4c8e5f[_0x42bc66(0x163)])}),this[_0x42bc66(0x163)]=_0x4c8e5f[_0x42bc66(0x163)];if(this[_0x42bc66(0x236)]){require('./index-maintenance')[_0x42bc66(0x21c)](this['workspace'],this[_0x42bc66(0x163)]),openManagedIndexCache(this[_0x42bc66(0x236)]),this[_0x42bc66(0x127)]=this[_0x42bc66(0x236)][_0x42bc66(0x14d)],this['lockPath']=path[_0x42bc66(0x14b)](this[_0x42bc66(0x127)],_0x42bc66(0x11d)),this[_0x42bc66(0x1d7)]=safeDirectory(this['workspace'],path[_0x42bc66(0x166)](this[_0x42bc66(0x12e)],path['join'](this[_0x42bc66(0x127)],_0x42bc66(0x1d7)))),this[_0x42bc66(0x198)]=path['join'](this['users'],crypto[_0x42bc66(0x172)]()+_0x42bc66(0x179)),this['env']=this[_0x42bc66(0x236)][_0x42bc66(0x1a9)],this['cache']=this[_0x42bc66(0x236)][_0x42bc66(0x1ec)],this[_0x42bc66(0x199)]=this[_0x42bc66(0x236)]['database'],this[_0x42bc66(0x185)]='managed-cache-contract-v'+_0xf5048c[_0x42bc66(0x18b)],this[_0x42bc66(0x1e9)]();return;}this[_0x42bc66(0x127)]=safeDirectory(this[_0x42bc66(0x12e)],_0x42bc66(0x116)+_0x49ee5e);if(!containsWorkspace(this[_0x42bc66(0x12e)],this[_0x42bc66(0x127)]))throw fail(_0x42bc66(0x145),'Backend\x20state\x20escapes\x20workspace');this[_0x42bc66(0x1c0)]=path[_0x42bc66(0x14b)](this[_0x42bc66(0x127)],_0x42bc66(0x11d)),this[_0x42bc66(0x1d7)]=safeDirectory(this[_0x42bc66(0x12e)],_0x42bc66(0x116)+_0x49ee5e+_0x42bc66(0x1b6)),this[_0x42bc66(0x198)]=path[_0x42bc66(0x14b)](this[_0x42bc66(0x1d7)],crypto['randomUUID']()+'.json');if(_0x49ee5e===_0x42bc66(0x176)){const _0x367f2f=path[_0x42bc66(0x14b)](this[_0x42bc66(0x12e)],'.code-review-graph');if(!fs[_0x42bc66(0x1bc)](_0x367f2f))fs[_0x42bc66(0x217)](_0x367f2f);const _0x4fbc94=_0xf5048c[_0x42bc66(0x1ec)]||_0x42bc66(0x168);if(!/^\.agents\/\.data\/graph(?:-[0-9]+\.[0-9]+\.[0-9]+)?$/[_0x42bc66(0x220)](_0x4fbc94))throw fail(_0x42bc66(0x145),'Invalid\x20review\x20graph\x20cache\x20directory');this['env']={..._0xf5048c[_0x42bc66(0x1a9)],'CRG_DATA_DIR':path['join'](this['workspace'],_0x4fbc94)};const _0x254d70=this[_0x42bc66(0x155)]();this[_0x42bc66(0x11c)]=_0x254d70['dataDirectory'],this[_0x42bc66(0x199)]=_0x254d70[_0x42bc66(0x199)],this['pathSource']=_0x254d70[_0x42bc66(0x1f4)];}else{this['env']=_0xf5048c[_0x42bc66(0x1a9)]||{};if(_0xf5048c[_0x42bc66(0x1ec)]&&!/^\.codegraph(?:-[a-z0-9]+-[a-z0-9]+)?$/['test'](_0xf5048c[_0x42bc66(0x1ec)]))throw fail(_0x42bc66(0x145),_0x42bc66(0x12c));this[_0x42bc66(0x11c)]=path[_0x42bc66(0x14b)](this[_0x42bc66(0x12e)],_0xf5048c['cacheDirectory']||_0x42bc66(0x19d)),this['database']=path[_0x42bc66(0x14b)](this[_0x42bc66(0x11c)],_0x42bc66(0x191));}this[_0x42bc66(0x1a8)]();const _0x590ad3=this[_0x42bc66(0x177)]();try{this['prepare']();}finally{_0x590ad3();}}[_0x452d55(0x155)](){const _0x5afe96=_0x452d55;if(this[_0x5afe96(0x236)])validateManagedIndexCache(this['authority']);const _0x1b7cc7=cp[_0x5afe96(0x22d)](this[_0x5afe96(0x234)][_0x5afe96(0x1b1)],[bridge,_0x5afe96(0x206),this[_0x5afe96(0x12e)]],{'env':{...process.env,...this[_0x5afe96(0x1a9)]},'windowsHide':!![],'encoding':'utf8','timeout':0x3a98}),_0x4c9888=JSON['parse'](_0x1b7cc7);if(this[_0x5afe96(0x236)]&&(spelling(_0x4c9888[_0x5afe96(0x199)])!==spelling(this[_0x5afe96(0x199)])||spelling(_0x4c9888[_0x5afe96(0x201)])!==spelling(this[_0x5afe96(0x11c)])))throw fail(_0x5afe96(0x1d3),_0x5afe96(0x20d));return _0x4c9888;}['selectWorkspaceCache'](){const _0x329bef=_0x452d55,_0x3b99c4=read(path[_0x329bef(0x14b)](this['cache'],_0x329bef(0x22f)));if(!_0x3b99c4?.['workspace'])return;let _0xdb559f=![];try{_0xdb559f=sameWorkspace(_0x3b99c4['workspace'],this[_0x329bef(0x12e)]);}catch{}if(_0xdb559f)return;if(!containsWorkspace(this[_0x329bef(0x12e)],this[_0x329bef(0x11c)]))throw fail('UNSAFE_INDEX','Foreign\x20custom\x20cache\x20is\x20outside\x20workspace');this[_0x329bef(0x1c9)]={'code':_0x329bef(0x16a),'kind':this['kind'],'cache':this[_0x329bef(0x11c)]};const _0x4b641c='-w'+hash(identity(this[_0x329bef(0x12e)]))[_0x329bef(0x16b)](0x0,0x10),_0x19cd1c=(this[_0x329bef(0x234)][_0x329bef(0x1ec)]||(this[_0x329bef(0x205)]===_0x329bef(0x1e7)?_0x329bef(0x19d):_0x329bef(0x168)))+_0x4b641c;this[_0x329bef(0x234)]={...this[_0x329bef(0x234)],'cacheDirectory':_0x19cd1c},this[_0x329bef(0x11c)]=path['join'](this['workspace'],_0x19cd1c);if(this[_0x329bef(0x205)]==='codegraph')this[_0x329bef(0x1a9)]={...this[_0x329bef(0x1a9)],'CODEGRAPH_DIR':_0x19cd1c},this[_0x329bef(0x199)]=path['join'](this[_0x329bef(0x11c)],'codegraph.db');else{this[_0x329bef(0x1a9)]={...this['env'],'CRG_DATA_DIR':this['cache']};const _0x99af72=this['resolveReview']();if(spelling(_0x99af72[_0x329bef(0x201)])!==spelling(this['cache']))throw fail('FOREIGN_INDEX_REGISTRY_CONFLICT',_0x329bef(0x21f));this[_0x329bef(0x199)]=_0x99af72['database'];}this[_0x329bef(0x185)]=_0x329bef(0x13b);}['prepare'](){const _0x675ecd=_0x452d55,_0x33f835=this[_0x675ecd(0x205)]==='codegraph'?this['cache']:path[_0x675ecd(0x14b)](this[_0x675ecd(0x12e)],this[_0x675ecd(0x234)][_0x675ecd(0x1ec)]||_0x675ecd(0x168)),_0x58d7bb=fs[_0x675ecd(0x1bc)](this[_0x675ecd(0x11c)]);if(!_0x58d7bb&&spelling(this['cache'])===spelling(_0x33f835)){safeDirectory(this[_0x675ecd(0x12e)],path[_0x675ecd(0x166)](this[_0x675ecd(0x12e)],this[_0x675ecd(0x11c)]));if(!containsWorkspace(this['workspace'],this[_0x675ecd(0x11c)]))throw fail(_0x675ecd(0x145),_0x675ecd(0x242));atomic(path['join'](this[_0x675ecd(0x11c)],_0x675ecd(0x22f)),{'owner':_0x675ecd(0x1d8),'workspace':this['workspace'],'kind':this[_0x675ecd(0x205)],'host':cacheHost});}}[_0x452d55(0x1bb)](){const _0x25735f=_0x452d55;if(this['authority'])return![];if(this[_0x25735f(0x1b3)]())return!![];if(read(path[_0x25735f(0x14b)](this[_0x25735f(0x11c)],'.apt-managed.json')))return![];const _0x1a5072=this['kind']===_0x25735f(0x1e7)?_0x25735f(0x19d):_0x25735f(0x168);if(spelling(this[_0x25735f(0x11c)])!==spelling(path[_0x25735f(0x14b)](this[_0x25735f(0x12e)],_0x1a5072)))return![];if(identity(this[_0x25735f(0x11c)])!==spelling(path[_0x25735f(0x14b)](this[_0x25735f(0x12e)],_0x1a5072)))return![];const _0x3f128d=read(path[_0x25735f(0x14b)](this['workspace'],_0x25735f(0x16c))),_0x3a66fe=_0x25735f(0x22a),_0x306764=_0x3f128d?.[_0x25735f(0x1a3)]?.[_0x3a66fe];if(!_0x306764||!_0x3f128d[_0x25735f(0x167)]?.[_0x25735f(0x1a4)](_0x3a66fe))return![];const _0x439d49=path[_0x25735f(0x14b)](this[_0x25735f(0x12e)],_0x3a66fe);rejectLink(path['dirname'](_0x439d49)),rejectLink(_0x439d49);if(hash(fs['readFileSync'](_0x439d49))!==_0x306764)return![];for(const _0x40735a of['',_0x25735f(0x203),'-shm'])rejectLink(this['database']+_0x40735a);this['checkNativeLocks']();if(this[_0x25735f(0x1b9)]())throw fail(_0x25735f(0x1c6),'Another\x20backend\x20is\x20using\x20the\x20legacy\x20cache');const _0x4539a1={};return _0x4539a1[_0x25735f(0x1b8)]=_0x3f128d[_0x25735f(0x227)],_0x4539a1[_0x25735f(0x13a)]=_0x3a66fe,_0x4539a1[_0x25735f(0x1b2)]=_0x306764,atomic(path[_0x25735f(0x14b)](this[_0x25735f(0x11c)],'.apt-managed.json'),{'owner':_0x25735f(0x1d8),'workspace':this[_0x25735f(0x12e)],'kind':this[_0x25735f(0x205)],'provenance':_0x4539a1}),!![];}[_0x452d55(0x1b3)](){const _0x74c07e=_0x452d55;try{if(this[_0x74c07e(0x236)])return validateManagedIndexCache(this['authority']),!![];const _0x41a2e9=read(path[_0x74c07e(0x14b)](this['cache'],_0x74c07e(0x22f)));for(const _0xfe8494 of['',_0x74c07e(0x203),_0x74c07e(0x1fb)])rejectLink(this[_0x74c07e(0x199)]+_0xfe8494);const _0x2d0528=identity(this[_0x74c07e(0x11c)]),_0x38e324=this[_0x74c07e(0x205)]===_0x74c07e(0x1e7)?[this[_0x74c07e(0x234)][_0x74c07e(0x1ec)]||_0x74c07e(0x19d),_0x74c07e(0x19d),'.agents/.data/code']:[this[_0x74c07e(0x234)][_0x74c07e(0x1ec)]||_0x74c07e(0x168)];return _0x41a2e9?.[_0x74c07e(0x23e)]===_0x74c07e(0x1d8)&&sameWorkspace(_0x41a2e9[_0x74c07e(0x12e)],this[_0x74c07e(0x12e)])&&_0x38e324['some'](_0x4c5775=>{const _0x367b78=_0x74c07e,_0x4a5f2c=path[_0x367b78(0x248)](this[_0x367b78(0x12e)],_0x4c5775);return _0x2d0528===(process[_0x367b78(0x1d5)]===_0x367b78(0x241)?_0x4a5f2c[_0x367b78(0x1d0)]():_0x4a5f2c);});}catch{return![];}}[_0x452d55(0x177)](){const _0x115de6=_0x452d55;if(this[_0x115de6(0x236)])safePath(this[_0x115de6(0x12e)],this['lockPath']);rejectLink(this['lockPath']);const _0xd940df=acquireRuntimeLock(this[_0x115de6(0x1c0)],0x0,cacheHost);if(!_0xd940df)throw fail(_0x115de6(0x1c6),'Index\x20maintenance\x20is\x20busy;\x20retry\x20after\x20the\x20current\x20operation\x20finishes');return _0xd940df;}['assertAvailable'](){const _0x44dfc6=_0x452d55;if(!this[_0x44dfc6(0x236)])return;require('./index-maintenance')[_0x44dfc6(0x21c)](this['workspace'],this['maintenance']);if(this[_0x44dfc6(0x236)][_0x44dfc6(0x148)][_0x44dfc6(0x227)]===0x3){if(this[_0x44dfc6(0x163)]){require('./index-maintenance')['indexPublicationExecution'](this[_0x44dfc6(0x12e)],this[_0x44dfc6(0x163)],this[_0x44dfc6(0x236)]['marker']);const _0x3bb84e=read(safePath(this[_0x44dfc6(0x12e)],this[_0x44dfc6(0x236)][_0x44dfc6(0x170)]));if(_0x3bb84e&&_0x3bb84e[_0x44dfc6(0x175)]!==this[_0x44dfc6(0x236)]['contractId']||(_0x3bb84e?.[_0x44dfc6(0x151)]?.[_0x44dfc6(0x15b)]||_0x3bb84e?.[_0x44dfc6(0x158)]||_0x44dfc6(0x144))!==this[_0x44dfc6(0x236)]['marker'][_0x44dfc6(0x15b)])throw fail('INDEX_RECOVERY_CHANGED','Cache\x20selection\x20changed\x20during\x20maintenance');}else{const _0x4360d5={};_0x4360d5[_0x44dfc6(0x12e)]=this[_0x44dfc6(0x12e)],_0x4360d5[_0x44dfc6(0x205)]=this[_0x44dfc6(0x205)],_0x4360d5[_0x44dfc6(0x234)]=this[_0x44dfc6(0x234)];const _0x298e5f=resolveManagedIndexCache(_0x4360d5);if(_0x298e5f[_0x44dfc6(0x231)]!==this['authority'][_0x44dfc6(0x231)]||_0x298e5f[_0x44dfc6(0x193)]!==this['authority']['descriptorHash'])throw fail('INDEX_RECOVERY_CHANGED',_0x44dfc6(0x178));}}validateManagedIndexCache(this[_0x44dfc6(0x236)]),assertCacheOutcome(this[_0x44dfc6(0x236)],recoveryOwners[_0x44dfc6(0x147)](this),buildOwners[_0x44dfc6(0x147)](this));if(this[_0x44dfc6(0x205)]===_0x44dfc6(0x176))this[_0x44dfc6(0x155)]();}[_0x452d55(0x1ac)](_0x58cdce,_0x5cd14e){const _0x317fae=_0x452d55;if(this[_0x317fae(0x236)])safePath(this['workspace'],_0x58cdce);atomic(_0x58cdce,_0x5cd14e);}[_0x452d55(0x1ea)](_0x31efd9,_0x2e86dd,_0xb31800){const _0x478d12=_0x452d55;if(this['authority']){if(!_0x2e86dd)return;try{safePath(this[_0x478d12(0x12e)],_0x31efd9);if(!fs['readFileSync'](_0x31efd9)[_0x478d12(0x124)](Buffer[_0x478d12(0x122)](JSON[_0x478d12(0x21b)](_0x2e86dd))))return;}catch{return;}}this['writeState'](_0x31efd9,_0xb31800);}[_0x452d55(0x24c)](_0xaf2ecf,_0x46233a,_0x270687){const _0x2b57bc=_0x452d55;this[_0x2b57bc(0x1e9)]();if(this[_0x2b57bc(0x236)]&&JSON[_0x2b57bc(0x21b)](read(_0xaf2ecf))!==JSON[_0x2b57bc(0x21b)](_0x46233a))throw fail('INDEX_RECOVERY_CHANGED',_0x2b57bc(0x20f));this[_0x2b57bc(0x1ac)](_0xaf2ecf,_0x270687);if(this['authority'])recoveryOwners[_0x2b57bc(0x246)](this,_0x270687);}['register'](_0x2c349a=null,_0x210247=![]){const _0x5ce5ae=_0x452d55,_0x110722=_0x210247?null:this[_0x5ce5ae(0x177)]();try{this[_0x5ce5ae(0x1e9)]();if(this[_0x5ce5ae(0x236)])safePath(this[_0x5ce5ae(0x12e)],this[_0x5ce5ae(0x198)]);const _0x28612b=require(_0x5ce5ae(0x197))[_0x5ce5ae(0x13d)](),_0x1d36f4=_0x38d5af=>{const _0x4b361d=_0x5ce5ae;try{return _0x38d5af?_0x28612b(_0x38d5af)?.[_0x4b361d(0x237)]||null:null;}catch{return null;}};this[_0x5ce5ae(0x1ac)](this[_0x5ce5ae(0x198)],{'ownerPid':process[_0x5ce5ae(0x249)],'ownerProcessStart':_0x1d36f4(process[_0x5ce5ae(0x249)]),'childPid':_0x2c349a,'childProcessStart':_0x1d36f4(_0x2c349a),'workspace':this['workspace'],'host':cacheHost,...this[_0x5ce5ae(0x236)]?{'authorityId':this[_0x5ce5ae(0x236)][_0x5ce5ae(0x231)],'descriptorHash':this[_0x5ce5ae(0x236)]['descriptorHash']}:{}});}finally{_0x110722?.();}}['unregister'](){const _0x4416bc=_0x452d55;if(this['authority'])safePath(this['workspace'],this[_0x4416bc(0x198)]);const _0x57eaa6={};_0x57eaa6[_0x4416bc(0x1c4)]=!![],fs['rmSync'](this['userFile'],_0x57eaa6);}['otherUsers'](){const _0x1c6b54=_0x452d55;if(this[_0x1c6b54(0x236)])safePath(this['workspace'],this[_0x1c6b54(0x1d7)]);const _0x358422=require(_0x1c6b54(0x197))[_0x1c6b54(0x13d)](),_0x52da6a=(_0x5c240c,_0x258f36)=>{const _0x44c0dd=_0x1c6b54;if(!Number[_0x44c0dd(0x215)](_0x5c240c)||_0x5c240c<=0x0)return![];try{const _0x1a3c4d=_0x358422(_0x5c240c);if(!_0x1a3c4d)return live(_0x5c240c);if(typeof _0x258f36!==_0x44c0dd(0x1a1)||!/^[1-9][0-9]{0,19}$/[_0x44c0dd(0x220)](_0x258f36)||typeof _0x1a3c4d[_0x44c0dd(0x237)]!=='string'||!/^[1-9][0-9]{0,19}$/[_0x44c0dd(0x220)](_0x1a3c4d['start']))return!![];if(_0x1a3c4d['start']===_0x258f36)return!![];const _0x5d6cc7=require(_0x44c0dd(0x197))[_0x44c0dd(0x1db)](_0x5c240c);if(!_0x5d6cc7)return live(_0x5c240c);return typeof _0x5d6cc7[_0x44c0dd(0x237)]!=='string'||!/^[1-9][0-9]{0,19}$/[_0x44c0dd(0x220)](_0x5d6cc7[_0x44c0dd(0x237)])||_0x5d6cc7[_0x44c0dd(0x237)]===_0x258f36;}catch(_0x3d45f3){return[_0x44c0dd(0x225),_0x44c0dd(0x17f)][_0x44c0dd(0x1a4)](_0x3d45f3['code'])?![]:!![];}};return fs[_0x1c6b54(0x1c2)](this[_0x1c6b54(0x1d7)])[_0x1c6b54(0x1e8)](_0x582fec=>_0x582fec[_0x1c6b54(0x219)](_0x1c6b54(0x179)))[_0x1c6b54(0x133)](_0x4edfed=>{const _0x72ec4a=_0x1c6b54,_0x1eaf55=path[_0x72ec4a(0x14b)](this['users'],_0x4edfed);if(_0x1eaf55===this['userFile'])return![];if(this[_0x72ec4a(0x236)])safePath(this[_0x72ec4a(0x12e)],_0x1eaf55);const _0x9d827b=read(_0x1eaf55);if(this[_0x72ec4a(0x236)]&&(!_0x9d827b||_0x9d827b['authorityId']!==this[_0x72ec4a(0x236)][_0x72ec4a(0x231)]||_0x9d827b[_0x72ec4a(0x193)]!==this['authority'][_0x72ec4a(0x193)]||!Number['isSafeInteger'](_0x9d827b[_0x72ec4a(0x21a)])||_0x9d827b[_0x72ec4a(0x21a)]<=0x0||_0x9d827b[_0x72ec4a(0x1f1)]!==null&&(!Number[_0x72ec4a(0x215)](_0x9d827b['childPid'])||_0x9d827b[_0x72ec4a(0x1f1)]<=0x0)))return!![];if(_0x9d827b?.[_0x72ec4a(0x12e)]){let _0x1e801e=![];try{_0x1e801e=sameWorkspace(_0x9d827b['workspace'],this[_0x72ec4a(0x12e)]);}catch{}if(!_0x1e801e)return Boolean(this[_0x72ec4a(0x236)]);}else{if(this['authority'])return!![];}if(!_0x9d827b||_0x9d827b['host']!==cacheHost||_0x52da6a(_0x9d827b[_0x72ec4a(0x21a)],_0x9d827b[_0x72ec4a(0x1b0)])||_0x52da6a(_0x9d827b[_0x72ec4a(0x1f1)],_0x9d827b[_0x72ec4a(0x1f9)]))return!![];return fs[_0x72ec4a(0x165)](_0x1eaf55),![];});}[_0x452d55(0x1a7)](){const _0x408277=_0x452d55;for(const _0x36887e of['codegraph.lock',_0x408277(0x164)]){const _0x27ff8e=path[_0x408277(0x14b)](this['cache'],_0x36887e);if(!fs[_0x408277(0x1bc)](_0x27ff8e))continue;rejectLink(_0x27ff8e);const _0x77220f=fs[_0x408277(0x1ba)](_0x27ff8e,_0x408277(0x1dd))[_0x408277(0x24d)]();let _0x2fb66d;try{_0x2fb66d=_0x36887e===_0x408277(0x164)?JSON[_0x408277(0x18f)](_0x77220f)[_0x408277(0x249)]:Number(_0x77220f);}catch{}if(!Number['isSafeInteger'](_0x2fb66d)||_0x2fb66d<=0x0||live(_0x2fb66d)||Date[_0x408277(0x192)]()-fs[_0x408277(0x1c8)](_0x27ff8e)[_0x408277(0x21d)]<0x1d4c0)throw fail('INDEX_BUSY',_0x408277(0x1e3)+_0x36887e+_0x408277(0x18a));}}async[_0x452d55(0x1cd)](){const _0x35a153=_0x452d55;if(!fs[_0x35a153(0x1bc)](this[_0x35a153(0x199)])){if([_0x35a153(0x203),'-shm'][_0x35a153(0x133)](_0x31d31f=>fs[_0x35a153(0x1bc)](this[_0x35a153(0x199)]+_0x31d31f)))throw fail(_0x35a153(0x12d),'Database\x20is\x20missing\x20but\x20SQLite\x20sidecars\x20remain;\x20preserve\x20them\x20before\x20rebuilding');return;}for(const _0x2bd57d of['',_0x35a153(0x203),_0x35a153(0x1fb)])rejectLink(this[_0x35a153(0x199)]+_0x2bd57d);this[_0x35a153(0x205)]===_0x35a153(0x1e7)?await run(this['profile'][_0x35a153(0x1b1)],[...this[_0x35a153(0x234)][_0x35a153(0x1be)][_0x35a153(0x16b)](0x0,-0x1),'-e',_0x35a153(0x19e),this['database']],{'timeout':indexTimeout()}):await run(this[_0x35a153(0x234)][_0x35a153(0x1b1)],['-c','import\x20sqlite3,sys,pathlib;\x20c=sqlite3.connect(pathlib.Path(sys.argv[1]).as_uri()+\x27?mode=ro\x27,uri=True);\x20rows=c.execute(\x27PRAGMA\x20integrity_check\x27).fetchall();\x20c.close();\x20assert\x20all(r[0]==\x27ok\x27\x20for\x20r\x20in\x20rows),\x20\x27database\x20disk\x20image\x20is\x20malformed\x27',this[_0x35a153(0x199)]],{'timeout':indexTimeout()});}async[_0x452d55(0x1fa)](){const _0x7e447a=_0x452d55;if(this[_0x7e447a(0x236)])return![];if(this['kind']!==_0x7e447a(0x1e7)||!this['profile']['cacheDirectory']||fs['existsSync'](this['database']))return![];const _0x5a6e8d=path[_0x7e447a(0x14b)](this[_0x7e447a(0x12e)],_0x7e447a(0x19d));if(!fs[_0x7e447a(0x1bc)](path['join'](_0x5a6e8d,_0x7e447a(0x191))))return![];const _0x4e2d90=Object[_0x7e447a(0x15c)](Object['create'](Object[_0x7e447a(0x20a)](this)),this,{'cache':_0x5a6e8d,'database':path['join'](_0x5a6e8d,_0x7e447a(0x191)),'env':{...this[_0x7e447a(0x1a9)],'CODEGRAPH_DIR':_0x7e447a(0x19d)}});try{const _0x2c7759=read(path[_0x7e447a(0x14b)](_0x5a6e8d,_0x7e447a(0x22f)));if(_0x2c7759?.[_0x7e447a(0x161)]!==cacheHost){const _0x172a3a={};return _0x172a3a[_0x7e447a(0x23c)]=_0x7e447a(0x1b5),_0x172a3a[_0x7e447a(0x221)]=_0x7e447a(0x1c7),this['legacyMigration']=_0x172a3a,![];}_0x4e2d90[_0x7e447a(0x1a7)]();if(_0x4e2d90[_0x7e447a(0x1b9)]()||!_0x4e2d90[_0x7e447a(0x1b3)]()&&!_0x4e2d90[_0x7e447a(0x1bb)]())return![];await _0x4e2d90[_0x7e447a(0x1cd)]();}catch(_0x139dbe){const _0x51b955={};return _0x51b955[_0x7e447a(0x23c)]=_0x7e447a(0x1b5),_0x51b955[_0x7e447a(0x221)]=_0x139dbe[_0x7e447a(0x20c)]||_0x139dbe['message'],this['legacyMigration']=_0x51b955,![];}if(!this[_0x7e447a(0x1b3)]()||fs[_0x7e447a(0x1c2)](this[_0x7e447a(0x11c)])[_0x7e447a(0x133)](_0x16cad9=>_0x16cad9!=='.apt-managed.json'))return![];const _0xebe2c5=this[_0x7e447a(0x11c)]+_0x7e447a(0x15f)+crypto[_0x7e447a(0x172)]();fs[_0x7e447a(0x19b)](this['cache'],_0xebe2c5);try{fs[_0x7e447a(0x19b)](_0x5a6e8d,this[_0x7e447a(0x11c)]);}catch(_0x41d796){fs[_0x7e447a(0x19b)](_0xebe2c5,this[_0x7e447a(0x11c)]);throw _0x41d796;}return this['legacyMigration']={'status':'migrated','from':_0x5a6e8d,'to':this[_0x7e447a(0x11c)]},!![];}[_0x452d55(0x1ef)](){const _0x5f3eb7=_0x452d55;return require(_0x5f3eb7(0x24b))['discoverBackendSources'](this[_0x5f3eb7(0x205)],this[_0x5f3eb7(0x12e)],this[_0x5f3eb7(0x234)],this[_0x5f3eb7(0x1a9)],this[_0x5f3eb7(0x163)]?{'timeout':indexTimeout()}:{})||{'snapshot':snapshot(this['workspace']),'contract':_0x5f3eb7(0x18e),'config':hash(JSON[_0x5f3eb7(0x21b)](this[_0x5f3eb7(0x234)])),'incremental':![]};}[_0x452d55(0x149)](){const _0x5628ee=_0x452d55;if(!fs['existsSync'](this[_0x5628ee(0x199)]))return null;rejectLink(this[_0x5628ee(0x199)]);const _0x30ac5e=fs[_0x5628ee(0x1c8)](this[_0x5628ee(0x199)]);return{'path':identity(this[_0x5628ee(0x199)]),'dev':String(_0x30ac5e[_0x5628ee(0x154)]),'ino':String(_0x30ac5e[_0x5628ee(0x11a)]),'birthtimeMs':_0x30ac5e['birthtimeMs']};}[_0x452d55(0x1a0)](_0x4b32a9,_0x205545){const _0x5e52ce=_0x452d55;return _0x4b32a9?.['status']===_0x5e52ce(0x1e4)&&_0x4b32a9['workspace']===this[_0x5e52ce(0x12e)]&&(!this[_0x5e52ce(0x236)]||_0x4b32a9[_0x5e52ce(0x231)]===this[_0x5e52ce(0x236)][_0x5e52ce(0x231)]&&_0x4b32a9[_0x5e52ce(0x193)]===this[_0x5e52ce(0x236)][_0x5e52ce(0x193)])&&_0x4b32a9['version']===this[_0x5e52ce(0x234)]['version']&&_0x4b32a9[_0x5e52ce(0x199)]===this['database']&&_0x4b32a9[_0x5e52ce(0x1f4)]?.[_0x5e52ce(0x1ee)]===_0x205545['contract']&&_0x4b32a9['source']?.[_0x5e52ce(0x19c)]===_0x205545[_0x5e52ce(0x19c)]&&JSON[_0x5e52ce(0x21b)](_0x4b32a9[_0x5e52ce(0x149)])===JSON[_0x5e52ce(0x21b)](this[_0x5e52ce(0x149)]())&&fs[_0x5e52ce(0x1bc)](this['database']);}async['incrementalHealthy'](){const _0x2eda0f=_0x452d55;await this[_0x2eda0f(0x1cd)]();const _0x1fcb38=cp[_0x2eda0f(0x22d)](this['profile']['command'],[bridge,_0x2eda0f(0x23b),this[_0x2eda0f(0x12e)]],{'env':{...process.env,...this[_0x2eda0f(0x1a9)]},'windowsHide':!![],'encoding':_0x2eda0f(0x1dd),'timeout':0x3a98});return JSON[_0x2eda0f(0x18f)](_0x1fcb38)[_0x2eda0f(0x17a)]===!![];}[_0x452d55(0x181)](_0x1f2e03){const _0x256bd8=_0x452d55;if(_0x1f2e03[_0x256bd8(0x134)]!==_0x256bd8(0x222))return!![];if(!fs[_0x256bd8(0x1bc)](this['database']))return![];for(const _0x515cc6 of['',_0x256bd8(0x203),'-shm'])rejectLink(this[_0x256bd8(0x199)]+_0x515cc6);const _0xad8190=this[_0x256bd8(0x234)][_0x256bd8(0x1be)]['findIndex'](_0x59d701=>/[\\/]bin[\\/]codegraph\.js$/['test'](_0x59d701)),_0x51ca77=path[_0x256bd8(0x1ab)](path[_0x256bd8(0x1ab)](this[_0x256bd8(0x234)][_0x256bd8(0x1be)][_0xad8190])),_0x1609ae=[_0x256bd8(0x136),'const\x20[m,file,root,version]=process.argv.slice(1),db=new\x20DatabaseSync(file,{readOnly:true});',_0x256bd8(0x13c),'const\x20extraction=require(p.join(m,\x27extraction\x27)),ev=require(p.join(m,\x27extraction/extraction-version\x27)).EXTRACTION_VERSION;','const\x20files=new\x20Map(db.prepare(\x27SELECT\x20path,content_hash,errors\x20FROM\x20files\x27).all().map(r=>[r.path,r]));',_0x256bd8(0x16e),_0x256bd8(0x1ae),_0x256bd8(0x212)][_0x256bd8(0x14b)]('');try{const _0x4b7d87=cp['execFileSync'](this[_0x256bd8(0x234)][_0x256bd8(0x1b1)],[...this[_0x256bd8(0x234)][_0x256bd8(0x1be)]['slice'](0x0,_0xad8190),'-e',_0x1609ae,_0x51ca77,this[_0x256bd8(0x199)],this[_0x256bd8(0x12e)],this[_0x256bd8(0x234)]['version']],{'env':{...process.env,...this[_0x256bd8(0x1a9)]},'windowsHide':!![],'encoding':_0x256bd8(0x1dd),'timeout':0x1d4c0,'maxBuffer':0x400*0x400});return JSON['parse'](_0x4b7d87)[_0x256bd8(0x17a)]===!![];}catch{return![];}}async[_0x452d55(0x157)](_0x717586={}){const _0x1b2d65=_0x452d55;this['assertAvailable']();if(!this['owned']()&&!this['adoptLegacy']())throw fail(_0x1b2d65(0x145),_0x1b2d65(0x22e));const _0x51059d=this[_0x1b2d65(0x236)]?{'authorityId':this[_0x1b2d65(0x236)][_0x1b2d65(0x231)],'descriptorHash':this['authority'][_0x1b2d65(0x193)],'status':_0x1b2d65(0x1e4)}:{};if(this[_0x1b2d65(0x236)]&&this[_0x1b2d65(0x163)]){const _0x3ce439=require('./index-maintenance')['indexPublicationExecution'](this[_0x1b2d65(0x12e)],this['maintenance'],this[_0x1b2d65(0x236)]['marker']),_0x1da1e0={};_0x1da1e0['launchAttemptId']=_0x3ce439[_0x1b2d65(0x173)],Object[_0x1b2d65(0x15c)](_0x51059d,_0x1da1e0,Object[_0x1b2d65(0x1d9)]([_0x1b2d65(0x204),_0x1b2d65(0x230),_0x1b2d65(0x1bf),_0x1b2d65(0x1e2)][_0x1b2d65(0x153)](_0x5cdcf7=>[_0x5cdcf7,_0x3ce439[_0x5cdcf7]])));}const _0x3e0459={..._0x51059d,'status':_0x1b2d65(0x17b),'attemptId':crypto['randomUUID']()};this['authority']&&(this[_0x1b2d65(0x1ac)](path[_0x1b2d65(0x14b)](this['directory'],_0x1b2d65(0x1a6)),_0x3e0459),buildOwners[_0x1b2d65(0x246)](this,_0x3e0459));try{return await this[_0x1b2d65(0x15a)](_0x51059d,_0x717586);}catch(_0x253215){if(this[_0x1b2d65(0x236)])this[_0x1b2d65(0x1ea)](path[_0x1b2d65(0x14b)](this['directory'],'receipt.json'),_0x3e0459,{..._0x51059d,'status':[_0x1b2d65(0x160),_0x1b2d65(0x1af)][_0x1b2d65(0x1a4)](_0x253215[_0x1b2d65(0x20c)])?_0x1b2d65(0x233):_0x1b2d65(0x1da),'code':_0x253215['code']||_0x1b2d65(0x139),'diagnostic':_0x253215[_0x1b2d65(0x24a)]||null});throw _0x253215;}finally{buildOwners[_0x1b2d65(0x189)](this);}}['publishBuildReceipt'](_0x219dd8){const _0x414d6d=_0x452d55;this[_0x414d6d(0x1e9)]();if(this[_0x414d6d(0x236)]&&JSON['stringify'](read(path['join'](this[_0x414d6d(0x127)],'receipt.json')))!==JSON[_0x414d6d(0x21b)](buildOwners[_0x414d6d(0x147)](this)))throw fail('INDEX_OUTCOME_UNKNOWN',_0x414d6d(0x1f7));this[_0x414d6d(0x1ac)](path[_0x414d6d(0x14b)](this[_0x414d6d(0x127)],_0x414d6d(0x1a6)),_0x219dd8);}async[_0x452d55(0x15a)](_0x2a697a,_0x11c06c={}){const _0x5e730c=_0x452d55,_0x7507f3=this[_0x5e730c(0x1ef)](),_0x1ebe7b=_0x11c06c[_0x5e730c(0x208)]===!![]&&_0x7507f3[_0x5e730c(0x208)]&&this[_0x5e730c(0x1a0)](_0x11c06c[_0x5e730c(0x20b)],_0x7507f3)&&await this[_0x5e730c(0x1cf)]();let _0x46cfa7=_0x5e730c(0x1b7);const _0x2d74b0=()=>{const _0x2e02f0=_0x5e730c,_0x4317d0=this[_0x2e02f0(0x1ef)]();if(_0x7507f3['snapshot']!==_0x4317d0[_0x2e02f0(0x1de)]||_0x7507f3['config']!==_0x4317d0['config']||_0x7507f3['contract']!==_0x4317d0[_0x2e02f0(0x1ee)])throw fail('GRAPH_CHANGED',_0x2e02f0(0x243));if(this[_0x2e02f0(0x205)]==='codegraph'&&!this[_0x2e02f0(0x181)](_0x4317d0))throw fail(_0x2e02f0(0x14c),_0x2e02f0(0x1ed));const _0xc891fc=this[_0x2e02f0(0x1ef)]();if(_0x7507f3[_0x2e02f0(0x1de)]!==_0xc891fc[_0x2e02f0(0x1de)]||_0x7507f3[_0x2e02f0(0x19c)]!==_0xc891fc[_0x2e02f0(0x19c)]||_0x7507f3['contract']!==_0xc891fc[_0x2e02f0(0x1ee)])throw fail(_0x2e02f0(0x214),'Backend\x20source\x20or\x20configuration\x20changed\x20during\x20graph\x20health\x20validation');this['publishBuildReceipt']({'workspace':this[_0x2e02f0(0x12e)],'snapshot':_0x7507f3['snapshot'],'source':{'contract':_0x7507f3[_0x2e02f0(0x1ee)],'config':_0x7507f3[_0x2e02f0(0x19c)],'adapter':_0x7507f3[_0x2e02f0(0x134)]||null,'sourceCount':_0x7507f3[_0x2e02f0(0x1fd)]??null},'databaseIdentity':this['databaseIdentity'](),'buildMode':_0x46cfa7,'status':_0x2e02f0(0x1e4),'version':this[_0x2e02f0(0x234)]['version'],'database':this[_0x2e02f0(0x199)],'builtAt':new Date()[_0x2e02f0(0x1eb)](),..._0x2a697a});};if(this[_0x5e730c(0x205)]===_0x5e730c(0x1e7)){const _0x565849=fs[_0x5e730c(0x1bc)](this['database']),_0x12770e=await run(this[_0x5e730c(0x234)][_0x5e730c(0x1b1)],[...this[_0x5e730c(0x234)][_0x5e730c(0x1be)],_0x565849?_0x5e730c(0x200):_0x5e730c(0x1f6),this[_0x5e730c(0x12e)],_0x565849?_0x5e730c(0x1e6):_0x5e730c(0x216)],{'cwd':this[_0x5e730c(0x12e)],'env':{...process.env,...this[_0x5e730c(0x1a9)]},'windowsHide':!![],'timeout':indexTimeout(),'maxBuffer':0x4*0x400*0x400}),_0x1d3fdc={..._0x12770e[_0x5e730c(0x24a)]};_0x1d3fdc['buildMode']=_0x46cfa7,this[_0x5e730c(0x135)]=_0x1d3fdc,_0x2d74b0();return;}const _0x20dc4b=this[_0x5e730c(0x155)]();if(path[_0x5e730c(0x248)](_0x20dc4b[_0x5e730c(0x199)])!==path[_0x5e730c(0x248)](this['database']))throw fail('INDEX_PATH_CHANGED',_0x5e730c(0x213));try{const _0x2d6d85=await run(this[_0x5e730c(0x234)][_0x5e730c(0x1b1)],[bridge,_0x1ebe7b?'update':_0x5e730c(0x157),this[_0x5e730c(0x12e)]],{'cwd':this[_0x5e730c(0x12e)],'env':{...process.env,...this[_0x5e730c(0x1a9)]},'windowsHide':!![],'timeout':indexTimeout(),'maxBuffer':0x4*0x400*0x400}),_0x408bc2=JSON['parse'](_0x2d6d85[_0x5e730c(0x238)]);_0x46cfa7=String(_0x408bc2[_0x5e730c(0x23d)])[_0x5e730c(0x1aa)]('incremental')?_0x5e730c(0x208):_0x5e730c(0x1b7);const _0x1d83fe={..._0x2d6d85[_0x5e730c(0x24a)]};_0x1d83fe[_0x5e730c(0x14a)]=_0x46cfa7,this[_0x5e730c(0x135)]=_0x1d83fe;}catch(_0x51fbc5){let _0x37f6ac=_0x51fbc5[_0x5e730c(0x1f3)];try{_0x37f6ac=JSON[_0x5e730c(0x18f)](_0x51fbc5['diagnostic']?.[_0x5e730c(0x238)])['error']||_0x37f6ac;}catch{}throw Object[_0x5e730c(0x15c)](fail(_0x51fbc5[_0x5e730c(0x20c)]||classify(_0x37f6ac),_0x37f6ac),{'diagnostic':_0x51fbc5[_0x5e730c(0x24a)]});}_0x2d74b0();}['rebuild'](_0x100bfe=process.env){const _0x534eba=_0x452d55,_0x2eb27b=_0x100bfe[_0x534eba(0x229)]==='full'?null:read(path[_0x534eba(0x14b)](this[_0x534eba(0x127)],_0x534eba(0x1a6)));return this[_0x534eba(0x157)](_0x2eb27b?.['status']===_0x534eba(0x1e4)?{'incremental':!![],'previousReceipt':_0x2eb27b}:{});}async[_0x452d55(0x14f)](){const _0x414599=_0x452d55,_0x5142b6=this['lock']();try{this[_0x414599(0x1e9)]();const _0x2277ac=read(path[_0x414599(0x14b)](this[_0x414599(0x127)],_0x414599(0x1a6))),_0x51b594=this[_0x414599(0x1ef)](),_0x29690d=this['receiptMatches'](_0x2277ac,_0x51b594);if(!_0x29690d||_0x2277ac[_0x414599(0x1de)]!==_0x51b594[_0x414599(0x1de)]||_0x51b594[_0x414599(0x208)]&&!await this[_0x414599(0x1cf)]()||this['kind']===_0x414599(0x1e7)&&!this[_0x414599(0x181)](_0x51b594))await this[_0x414599(0x157)]({'incremental':_0x29690d,'previousReceipt':_0x2277ac});return read(path[_0x414599(0x14b)](this[_0x414599(0x127)],_0x414599(0x1a6)));}finally{_0x5142b6();}}async[_0x452d55(0x1f2)](_0x118961=![]){const _0x20841d=_0x452d55,_0x5f41c4=_0x118961?null:this['lock'](),_0x323e78=path[_0x20841d(0x14b)](this['directory'],'recovery.json');let _0x500825;try{this[_0x20841d(0x1e9)]();if(!this[_0x20841d(0x1b3)]())throw fail(_0x20841d(0x145),_0x20841d(0x126));if(this[_0x20841d(0x1b9)]())throw fail('INDEX_BUSY',_0x20841d(0x143));this['checkNativeLocks']();if(this[_0x20841d(0x205)]===_0x20841d(0x176)&&spelling(this['resolveReview']()['database'])!==spelling(this[_0x20841d(0x199)]))throw fail('INDEX_PATH_CHANGED',_0x20841d(0x213));const _0x10c914=fs[_0x20841d(0x1bc)](this[_0x20841d(0x11c)])?fs[_0x20841d(0x195)](this[_0x20841d(0x11c)]):null,_0x5a7dff=_0x10c914?_0x10c914+_0x20841d(0x15f)+crypto['randomUUID']():null;_0x500825={'status':'recovering','backup':_0x5a7dff,'workspace':this[_0x20841d(0x12e)],'at':new Date()[_0x20841d(0x1eb)]()},this[_0x20841d(0x1ac)](_0x323e78,_0x500825);if(this[_0x20841d(0x236)])recoveryOwners['set'](this,_0x500825);if(_0x5a7dff)fs[_0x20841d(0x19b)](_0x10c914,_0x5a7dff);const _0x34b277={};_0x34b277[_0x20841d(0x1a5)]=!![],fs['mkdirSync'](this['cache'],_0x34b277),this[_0x20841d(0x1ac)](path[_0x20841d(0x14b)](this[_0x20841d(0x11c)],_0x20841d(0x22f)),this['authority']?.[_0x20841d(0x148)]||{'owner':'apt-mcp-agent','workspace':this[_0x20841d(0x12e)],'kind':this['kind']}),await this['build']();const _0x36c3a0={..._0x500825};_0x36c3a0[_0x20841d(0x23c)]=_0x20841d(0x142);const _0x5d5027=_0x36c3a0;return this[_0x20841d(0x24c)](_0x323e78,_0x500825,_0x5d5027),_0x5a7dff;}catch(_0x2825af){if(_0x500825)this['writeRecoveryFailure'](_0x323e78,_0x500825,{..._0x500825,'status':[_0x20841d(0x160),_0x20841d(0x1af)]['includes'](_0x2825af[_0x20841d(0x20c)])?'unknown':_0x20841d(0x1da),'code':_0x2825af[_0x20841d(0x20c)]||'INDEX_BUILD_FAILED','diagnostic':_0x2825af[_0x20841d(0x24a)]||null,'reason':_0x2825af['message']});recoveryOwners['delete'](this);throw _0x2825af;}finally{_0x5f41c4?.();}}async[_0x452d55(0x187)](_0x260854,_0x2d19eb){const _0x108b99=_0x452d55;if(![_0x108b99(0x211),_0x108b99(0x12d)][_0x108b99(0x1a4)](_0x2d19eb[_0x108b99(0x20c)])||!this['owned']())return![];let _0x53725c;try{_0x53725c=this['lock']();}catch(_0x3af497){const _0xb6a8={};return _0xb6a8['status']=_0x108b99(0x1e0),_0xb6a8[_0x108b99(0x221)]=_0x3af497[_0x108b99(0x1f3)],_0x260854[_0x108b99(0x235)]=_0xb6a8,![];}const _0x42020b=path[_0x108b99(0x14b)](this['directory'],'recovery.json');let _0xa1f33d;try{this[_0x108b99(0x1e9)]();if(this[_0x108b99(0x205)]===_0x108b99(0x176)&&spelling(this[_0x108b99(0x155)]()['database'])!==spelling(this[_0x108b99(0x199)]))throw fail('INDEX_PATH_CHANGED',_0x108b99(0x213));if(this[_0x108b99(0x1b9)]()){const _0x284c8a={};return _0x284c8a[_0x108b99(0x23c)]=_0x108b99(0x1e0),_0x284c8a[_0x108b99(0x221)]='Another\x20live\x20backend\x20is\x20using\x20the\x20cache',_0x260854['indexRecovery']=_0x284c8a,![];}const _0x1928ba=hash(fs[_0x108b99(0x1bc)](this['database'])?fs[_0x108b99(0x1ba)](this['database']):_0x108b99(0x182)),_0x2119e4=read(_0x42020b);if(_0x2119e4&&_0x2119e4['status']!==_0x108b99(0x1e1)&&(_0x2119e4['fingerprint']===_0x1928ba||_0x2119e4['failedFingerprint']===_0x1928ba))return _0x260854['indexRecovery']=_0x2119e4,![];const _0x75529c=fs['realpathSync'](this['cache']),_0x4b26f2=_0x75529c+_0x108b99(0x15f)+crypto[_0x108b99(0x172)](),_0xcd7de4=read(path[_0x108b99(0x14b)](_0x75529c,_0x108b99(0x22f)));_0xa1f33d={'status':_0x108b99(0x131),'fingerprint':_0x1928ba,'backup':_0x4b26f2,'workspace':this['workspace'],'at':new Date()[_0x108b99(0x1eb)]()},this['writeState'](_0x42020b,_0xa1f33d),_0x260854[_0x108b99(0x235)]=_0xa1f33d;if(this['authority'])recoveryOwners[_0x108b99(0x246)](this,_0xa1f33d);const _0x5ee28d=_0x260854[_0x108b99(0x204)]===undefined?undefined:_0x260854[_0x108b99(0x204)]+0x1;await _0x260854['stopAndWait']();if(_0x260854['generation']!==_0x5ee28d)throw fail(_0x108b99(0x141),_0x108b99(0x119));this[_0x108b99(0x1e9)](),this[_0x108b99(0x1a7)]();if(!this[_0x108b99(0x1b3)]())throw fail(_0x108b99(0x145),_0x108b99(0x1d1));fs[_0x108b99(0x19b)](_0x75529c,_0x4b26f2),fs[_0x108b99(0x217)](_0x75529c),this[_0x108b99(0x1ac)](path[_0x108b99(0x14b)](_0x75529c,_0x108b99(0x22f)),_0xcd7de4),await this[_0x108b99(0x157)]();if(_0x260854[_0x108b99(0x204)]!==_0x5ee28d)throw fail(_0x108b99(0x141),_0x108b99(0x14e));_0x260854['start'](![],!![]);const _0x5886c2={..._0xa1f33d};return _0x5886c2[_0x108b99(0x23c)]=_0x108b99(0x142),_0x260854[_0x108b99(0x235)]=_0x5886c2,this[_0x108b99(0x24c)](_0x42020b,_0xa1f33d,_0x260854[_0x108b99(0x235)]),!![];}catch(_0x1b9371){const _0x17213f=hash(fs[_0x108b99(0x1bc)](this[_0x108b99(0x199)])?fs[_0x108b99(0x1ba)](this['database']):_0x108b99(0x182));return _0x260854[_0x108b99(0x235)]={..._0x260854[_0x108b99(0x235)]||{},'status':[_0x108b99(0x160),_0x108b99(0x1af)][_0x108b99(0x1a4)](_0x1b9371[_0x108b99(0x20c)])?_0x108b99(0x233):_0x108b99(0x1da),'code':_0x1b9371[_0x108b99(0x20c)]||_0x108b99(0x139),'diagnostic':_0x1b9371[_0x108b99(0x24a)]||null,'failedFingerprint':_0x17213f,'reason':_0x1b9371[_0x108b99(0x1f3)]},this[_0x108b99(0x1ea)](_0x42020b,_0xa1f33d,_0x260854[_0x108b99(0x235)]),recoveryOwners[_0x108b99(0x189)](this),![];}finally{_0x53725c();}}[_0x452d55(0x1e1)](_0x27dc71){const _0x19dc3b=_0x452d55;if(this[_0x19dc3b(0x236)]){const _0x4fbbf1=this[_0x19dc3b(0x177)]();try{this['assertAvailable']();const _0x3be29e=read(path['join'](this[_0x19dc3b(0x127)],_0x19dc3b(0x129))),_0x56da84=recoveryOwners[_0x19dc3b(0x147)](this);if(!_0x56da84||_0x56da84['status']!==_0x19dc3b(0x142)||JSON['stringify'](_0x3be29e)!==JSON[_0x19dc3b(0x21b)](_0x56da84)||JSON[_0x19dc3b(0x21b)](_0x27dc71[_0x19dc3b(0x235)])!==JSON[_0x19dc3b(0x21b)](_0x56da84))throw fail(_0x19dc3b(0x224),_0x19dc3b(0x130));if(_0x27dc71['indexStore']!==this||_0x27dc71['functionalReady']!==!![])throw fail(_0x19dc3b(0x14c),_0x19dc3b(0x1cb));const _0x4ccbc3={..._0x56da84};_0x4ccbc3[_0x19dc3b(0x23c)]=_0x19dc3b(0x1e1),_0x27dc71['indexRecovery']=_0x4ccbc3,this[_0x19dc3b(0x1ac)](path['join'](this[_0x19dc3b(0x127)],'recovery.json'),_0x27dc71[_0x19dc3b(0x235)]),recoveryOwners[_0x19dc3b(0x189)](this);return;}finally{_0x4fbbf1();}}_0x27dc71[_0x19dc3b(0x235)]={..._0x27dc71[_0x19dc3b(0x235)],'status':_0x19dc3b(0x1e1)},atomic(path[_0x19dc3b(0x14b)](this[_0x19dc3b(0x127)],'recovery.json'),_0x27dc71['indexRecovery']),recoveryOwners['delete'](this);}}const _0x38d2a4={};function _0x2929(){const _0x528420=['otq1mJKYChnpzhvg','CgXHDgzVCM0','yMfJA3vW','DxnLCNm','yxb0lw1JCc1Hz2vUDa','zNjVBuvUDhjPzxm','zMfPBgvK','ChjVy2vZC0LKzw50Axr5','C3rYDwn0DxjLzenVBNrLBNq','DxrMoa','C25HChnOB3q','zNn5BMntEw5J','yNvZEq','CMvJB3zLCMvK','DhjHBNnHy3rPB25jza','q2fJAguGBg9JAYa','yNvPBhq','y29UDgvUDa','ls1MB3jJzq','y29KzwDYyxbO','zMLSDgvY','yxnZzxj0qxzHAwXHyMXL','D3jPDgvszwnVDMvYEuzHAwX1CMu','Dg9ju09tDhjPBMC','y2fJAgveAxjLy3rVCNK','q29KzuDYyxbOigHHCYbUBYbJB21WBgv0zsbJDxjYzw50igLUzgv4ignVDMvYAw5NigL0CYbKAxnJB3zLCMvKihnVDxjJzxm','y29UDhjHy3q','C291CMnLu3rHDgu','AxntEw1IB2XPy0XPBMS','y2HPBgrqAwq','C3rHBMrHBg9UzvjLyNvPBgq','BwvZC2fNzq','C291CMnL','yxv0AgvUDgLJyxrLsw5KzxHsDw5Uzxi','Aw5PDa','qNvPBgqGCMvJzwLWDcbJAgfUz2vKigr1CMLUzYbPBMrLEcbLEgvJDxrPB24','x19WEwnHy2HLx18','y2HPBgrqCM9JzxnZu3rHCNq','BwLNCMf0zuXLz2fJEq','lxnOBq','mJaYnc0Xms0Wnq','C291CMnLq291BNq','lI9WCM9MAwXLCW','DhLWzq','Aw5KzxG','zgf0yurPCMvJDg9YEq','lI4VChjVEhKVyMfJA2vUzhm','lxDHBa','z2vUzxjHDgLVBG','A2LUza','Aw5ZCgvJDa','DxbKyxrL','Aw5JCMvTzw50ywW','zxjYB3i','z2v0uhjVDg90ExbLt2y','ChjLDMLVDxnszwnLAxb0','y29Kzq','uMv2Awv3ihjLz2LZDhj5ihjLzgLYzwn0CYb0AguGBwfUywDLzcbJywnOzq','D2L0AezPBgvuExbLCW','uMvJB3zLCNKGyxv0Ag9YAxr5ignOyw5NzwqGyMvMB3jLihb1yMXPy2f0Aw9U','AxngAwXL','su5ervHFtuLtu0LorW','y29UC29Szs5SB2COsLnptI5ZDhjPBMDPzNKOE2HLywX0AhL9ksK7FwzPBMfSBhL7zgiUy2XVC2uOkx0','uMv2Awv3ihjLz2LZDhj5ignOyw5NzwqGDgHLigfJDgL2zsbKyxrHyMfZzq','r1jbueHFq0HbtKDfra','AxntywzLsw50zwDLCG','ls15zxm','BwTKAxjtEw5J','lNzLBNy','zw5KC1DPDgG','B3DUzxjqAwq','C3rYAw5NAwz5','yxnZzxj0sw5KzxHby2nLC3m','BxrPBwvnCW','qsbSAxzLigjHy2TLBMqGAxmGDxnPBMCGDgHLigLUzgv4oYbYzxn0yxj0igL0igjLzM9YzsbYzwj1AwXKAw5N','uMv2Awv3igDYyxbOihjLz2LZDhj5ig92zxjYAwrLCYb0AguGAxnVBgf0zwqGD29YA3nWywnLignHy2HLoYbVCMLNAw5HBcbKyxrHihDHCYbWCMvZzxj2zwq','DgvZDa','CMvHC29U','y29KzwDYyxbOqdeUnI4W','sw5KzxGGzgLYzwn0B3j5igvZy2fWzxmGD29YA3nWywnL','su5ervHFuKvdt1zfuLLFq0HbtKDfra','ru5pru5u','C3bSAxq','DMvYC2LVBG','CMvZCg9UC2vfCNjVCG','qvbux0Lorevyx0jvsuXe','lMfNzw50CY9WCM94Es9IywnRzw5KCY5QCW','AxnbyNnVBhv0zq','BgvNywn5twLNCMf0Aw9U','zxHLy0zPBgvtEw5J','q2fJAguGB3DUzxjZAgLWigLZig5VDcbWCM92zw47ign1C3rVBsbPBMrLEgvZig11C3qGyMuGBwfUywDLzcbZzxbHCMf0zwX5','lMfWDc1Tyw5Hz2vKlMPZB24','CMvZB3vYy2veAwDLC3q','yxv0Ag9YAxr5swq','zxHLy3v0ywjSzq','Dw5RBM93BG','ChjVzMLSzq','Aw5KzxHszwnVDMvYEq','yxv0Ag9YAxr5','C3rHCNq','C3rKB3v0','qKfds0vorf9rvuvswv9gquLmruq','lMfNzw50CW','AgvHBhrO','C3rHDhvZ','yNvPBgrFDhLWzq','B3DUzxi','y2fWywjPBgL0AwvZ','lNrTCa','D2LUmZi','q2fJAguGzxnJyxbLCYb3B3jRC3bHy2u','qMfJA2vUzcbZB3vYy2uGB3iGy29UzMLNDxjHDgLVBIbJAgfUz2vKigr1CMLUzYbNCMfWAcbIDwLSzdSGCMv0CNKGyMvMB3jLigLTCgfJDcbHBMfSExnPCW','sw5KzxHtDg9Yzq','Bg9JywXLq29TCgfYzq','C2v0','CMvJB3zLCNLtDgf0Dxm','CMvZB2X2zq','CgLK','zgLHz25VC3rPyW','lI9ZB3vYy2uTzgLZy292zxj5','DhjHBNnPDgLVBLjLy292zxj5','DhjPBq','Aw5PDgLHBgL6zq','lMfNzw50CY9YDw50Aw1Ll2jHy2TLBMrZlW','BMfTzq','lI4Vy29Yzs93B3jRC3bHy2uTCgf0Aa','qMfJA2vUzcb3yxmGC3rVChbLzcbKDxjPBMCGCMvJB3zLCNK','Aw5V','nty4mJKYyvzctMHS','y2fJAgu','y2fJAguUBg9JAW','yxb0lwLUzgv4lxzLCMLMAwnHDgLVBG','D3jPDgvgAwXLu3LUyW','y3j5ChrV','DMvUDG','zNjVBq','CMvIDwLSza','zxf1ywXZ','ywn0AxzHDgvnyw5Hz2vKsw5KzxHdywnOzq','q2fJAguGB3DUzxjZAgLWigLZig5VDcbWCM92zw4','zgLYzwn0B3j5','lI4Vy29Yzs9VD25Lzc1SB2nR','CMvJB3zLCNKUANnVBG','Aw5KzxGTyNvPBgqTBgfZDc5QC29U','y2HPBgrFChjVy2vZCW','sw52ywXPzcbdB2rLr3jHCgGGy2fJAguGzgLYzwn0B3j5','su5ervHFq09suLvqva','D29YA3nWywnL','otCZn1HQq1L6BW','sw5KzxGGCMvJB3zLCNKGB3DUzxjZAgLWignOyw5NzwqGzhvYAw5NigL0CYbMDw5JDgLVBMfSihbYB2jL','CMvJB3zLCMLUzW','nZy4mtm0n3vVC2nkva','C29Tzq','ywrHChrLCG','BgfZDej1AwXK','y29UC3qGzNm9CMvXDwLYzsGNBM9KztPMCYCPlha9CMvXDwLYzsGNBM9KztPWyxrOjYKSE0rHDgfIyxnLu3LUy309CMvXDwLYzsGNBM9KztPZCwXPDguNktS','C2vYDMu','CNvUBMLUzW','su5ervHFqLvjterFrKfjteve','zgvWBg95zwq','y2fUB25Py2fSlxDVCMTZCgfJzs1PC29SyxrPB24','Dhj5E2nVBNn0ig1LDge9t2jQzwn0lMzYB21fBNrYAwvZkgrIlNbYzxbHCMuOj1nftevdvcbRzxKSDMfSDwuGrLjptsbWCM9Qzwn0x21LDgfKyxrHjYKUywXSkcKUBwfWkhi9pLTYlMTLEsXYlNzHBhvLxsKPoW','ChjVy2vZC0LKzw50Axr5u25HChnOB3q','ChvZAa','zw5KzwrbDa','mtb0Aevmzu4','uKvdt1zfuLLFq0foq0vmteve','CMvIDwLSDa','qw5VDgHLCIbSAxzLigjHy2TLBMqGAxmGDxnPBMCGDgHLignHy2HL','mdaWmdaWmdaTmdaWmc0WmdaWltaWmdaTmdaWmdaWmdaWmdaW','vu5tquzfx0Lorevy','CMv2Awv3','z2v0','BwfYA2vY','zgf0ywjHC2vjzgvUDgL0Eq','yNvPBgrnB2rL','AM9PBG','su5ervHFufjpqKvFrKfjteve','C3rHDgveAxjLy3rVCNK','qMfJA2vUzcb3yxmGC3rVChbLzcb3AgLSzsbYzwj1AwXKAw5NigL0CYbPBMrLEa','CMvMCMvZAa','CM1tEw5J','CgvUzgLUzW','nJe0nJCWuKvjwhfo','BwfW','zgv2','CMvZB2X2zvjLDMLLDW','yxjJAa','yNvPBgq','ywn0AxzL','C29YDa','CgvYzM9YBuj1AwXK','Aw5ZDgfUy2vjza','yxnZAwDU','mJy0uuPwtwvj','Ag9ZDg5HBwu','lMfWDc1IywnRDxaT','su5ervHFu1rpuf9vtKnptKzjuK1fra','Ag9ZDa','yxrVBwLJ','BwfPBNrLBMfUy2u','zgfLBw9UlNbPza','Dw5SAw5Ru3LUyW','CMvSyxrPDMu','zMLSzxm','lMfNzw50CY8Uzgf0ys9NCMfWAa','yxjNDG','rK9sruLhtL9xt1jlu1bbq0vFu1rbveu','C2XPy2u','lMfNzw50CY9Tyw5PzMvZDc5QC29U','su5ervHFu0vuvvbFrKfjteve','y29UC3qGzgLZy292zxjLzd1LEhrYywn0Aw9UlNnJyw5eAxjLy3rVCNKOCM9VDcK7y29UC3qGAgvHBhrOEt1TzxrHlMLUzgv4x3n0yxrLpt09j2nVBxbSzxrLjYyMkgrPC2nVDMvYzwqUBgvUz3rOpt09md9MAwXLCY5ZAxPLpt09mdO','zNvUy3rPB25HBfjLywr5','C2vSzwn0B3jgAwXL','mtiZodi3nwPKvu52Bq','CMfUzg9Tvvvjra','yxr0zw1WDeLK','y2XPzw50sw5MBW','y29UDhjHy3rjza','y29Kzs1YzxzPzxCTz3jHCgG','Bg9JAW','q2fJAguGC2vSzwn0Aw9UignOyw5Nzwq7ihjLy29UBMvJDcb0BYb0AguGC2vSzwn0zwqGy2fJAgu','lMPZB24','AgvHBhrOEq','yNvPBgrPBMC','Cgf0Aa','y3jLyxrLsgfZAa','zxHPDenVzgu','rvnsq0G','CMvHC29Uq29Kzq','y29KzwDYyxbOsgvHBhrOEq','BwLZC2LUzW','A2LSBa','Aw5KzxHtDg9Yzq','Cgf0AfnVDxjJzq','AxneAxjLy3rVCNK','CMvJB3zLCG','ls1Ty3a','zgvSzxrL','ihjLCxvPCMvZigL0CYbVD25PBMCGyMfJA2vUzcb0BYbZDg9W','y2fJAgvdB250CMfJDa','BM90lw5LzwrLza','y2XVC2vtEw5J','BgvNywn5lxDVCMTZCgfJzs0X','CgfYC2u','AgfZ','y29KzwDYyxbOlMrI','BM93','zgvZy3jPChrVCKHHC2G','zxHWB3j0CW','CMvHBhbHDgHtEw5J','lMnVzguTCMv2Awv3lwDYyxbO','lI4Vy29Yzs9VD25Lzc1WCM9JzxnZ','DxnLCKzPBgu','zgf0ywjHC2u','qMfJA2vUzcbXDwvYEsbMywLSzwq','CMvUyw1Lu3LUyW','y29UzMLN','lMnVzgvNCMfWAa','y29UC3qGE0rHDgfIyxnLu3LUy309CMvXDwLYzsGNBM9KztPZCwXPDguNktTJB25ZDcbKyJ1UzxCGrgf0ywjHC2vtEw5JkhbYB2nLC3mUyxjNDLSXxsX7CMvHze9UBhK6Dhj1zx0Po3rYExTJB25ZDcbYB3DZpwrIlNbYzxbHCMuOj1bsquDnqsbPBNrLz3jPDhLFy2HLy2SNks5HBgWOktTPzIHYB3DZlNnVBwuOCJ0+t2jQzwn0lNzHBhvLCYHYkvSWxse9psDVAYCPkxrOCM93ievYCM9YkcDKyxrHyMfZzsbKAxnRigLTywDLigLZig1HBgzVCM1LzcCPo31MAw5HBgX5E2rIlMnSB3nLkcL9','mtjICKDPwgG','CMvJzwLWDe1HDgnOzxm','C3rYAw5N','qMfJA2vUzcbKAwqGBM90ihbHC3mGAxrZigz1BMn0Aw9UywWGChjVyMu','BwfUywDLzezPBgviyxnOzxm','Aw5JBhvKzxm','CMvJDxjZAxzL','CMvJzwLWDc5QC29U','y2HLy2ToyxrPDMvmB2nRCW','C2vSzwn0v29YA3nWywnLq2fJAgu','zw52','C3rHCNrZv2L0Aa','zgLYBMfTzq','D3jPDgvtDgf0zq','zgLZy292zxjcywnRzw5Ku291CMnLCW','Bwv0ys5PBMrLEgvKx3DPDgHFDMvYC2LVBJ09pxzLCNnPB24MjK51BwjLCIHTzxrHlMLUzgv4zwrFD2L0Af9LEhrYywn0Aw9Ux3zLCNnPB24Ppt09zxyMjMrPC2nVDMvYzwqUzxzLCNKOzJ0+E2nVBNn0ihjVDZ1MAwXLCY5NzxqOzIKSzxjYB3jZpxjVDYyMsLnptI5WyxjZzsHYB3CUzxjYB3jZFhWNw10NktTYzxr1CM4GCM93jIzbCNjHEs5PC0fYCMf5kgvYCM9YCYKMjMvYCM9YCY5Szw5NDgG9pt0WjIzYB3CUy29UDgvUDf9OyxnOpt09zxH0CMfJDgLVBI5OyxnOq29UDgvUDcHMCY5YzwfKrMLSzvn5BMmOCc5QB2LUkhjVB3qSzIKSj3v0zJGNksL9ksK7','su5ervHFt1vuq09nrv9vtKTot1Do','B3DUzxjqCM9JzxnZu3rHCNq','y29TBwfUza','zgLNzxn0','B3DUzwq','Dgv4Da','ChjLC2vYDMvK','l3vZzxjZ','zNvSBa','BwfUAwzLC3rwzxjZAw9U','B3rOzxjvC2vYCW','CMvHzezPBgvtEw5J','ywrVChrmzwDHy3K','zxHPC3rZu3LUyW','BwfPBG','yxjNCW','y2f0ywXVz0HHC2G','Bg9JA1bHDgG','odqZntGYr2HPqKv2','CMvHzgrPCLn5BMm','lM1LBw9YEq','zM9Yy2u','ChjVDg9JB2XwzxjZAw9U','su5ervHFqLvtwq','su5ervHFse9tvf9vtLzfuKLgsuve','C3rHDfn5BMm','zM9YzwLNBLDVCMTZCgfJzvn0yxrL','y2XHC3nPzNK','sw5KzxGGCMvJB3zLCNKGCMvXDwLYzxmGysbZDwnJzxnZzNvSigz1BMn0Aw9UywWGChjVyMu','lMDPDa','y2HLy2TeyxrHyMfZzq','lI9PBMrLEc1JywnOzs1HDxrOB3jPDhK','Aw5JCMvTzw50ywXizwfSDgH5','Dg9mB3DLCKnHC2u','q2fJAguGB3DUzxjZAgLWignOyw5NzwqGyMvMB3jLihjLy292zxj5','Bhn0yxrtEw5J','su5ervHFuefusf9dsefor0ve'];_0x2929=function(){return _0x528420;};return _0x2929();}_0x38d2a4[_0x452d55(0x244)]=IndexStore,_0x38d2a4[_0x452d55(0x1de)]=snapshot,_0x38d2a4[_0x452d55(0x228)]=responseError,_0x38d2a4[_0x452d55(0x1ca)]=classify,_0x38d2a4[_0x452d55(0x162)]=atomic,module[_0x452d55(0x194)]=_0x38d2a4;function _0x13ed(_0x2f018e,_0x49047f){_0x2f018e=_0x2f018e-0x115;const _0x2929ee=_0x2929();let _0x13edd4=_0x2929ee[_0x2f018e];if(_0x13ed['ZFCNMO']===undefined){var _0x4b2ec9=function(_0x366483){const _0x4cc3e8='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x44c0f5='',_0x4c883d='';for(let _0x31ef06=0x0,_0x2e5f44,_0x572187,_0x472e8c=0x0;_0x572187=_0x366483['charAt'](_0x472e8c++);~_0x572187&&(_0x2e5f44=_0x31ef06%0x4?_0x2e5f44*0x40+_0x572187:_0x572187,_0x31ef06++%0x4)?_0x44c0f5+=String['fromCharCode'](0xff&_0x2e5f44>>(-0x2*_0x31ef06&0x6)):0x0){_0x572187=_0x4cc3e8['indexOf'](_0x572187);}for(let _0x502bf8=0x0,_0x313837=_0x44c0f5['length'];_0x502bf8<_0x313837;_0x502bf8++){_0x4c883d+='%'+('00'+_0x44c0f5['charCodeAt'](_0x502bf8)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4c883d);};_0x13ed['PFEFoz']=_0x4b2ec9,_0x13ed['LrkrQT']={},_0x13ed['ZFCNMO']=!![];}const _0x5847f9=_0x2929ee[0x0],_0xfc805d=_0x2f018e+_0x5847f9,_0x1be177=_0x13ed['LrkrQT'][_0xfc805d];return!_0x1be177?(_0x13edd4=_0x13ed['PFEFoz'](_0x13edd4),_0x13ed['LrkrQT'][_0xfc805d]=_0x13edd4):_0x13edd4=_0x1be177,_0x13edd4;}require[_0x452d55(0x1bd)]===module&&(async()=>{const _0x284b9f=_0x452d55,_0x224755=require(_0x284b9f(0x1fe)),_0x3b935e=fs[_0x284b9f(0x195)](process[_0x284b9f(0x169)][0x2]),_0x360ccc=require('./index-maintenance')[_0x284b9f(0x1f5)](_0x3b935e),_0x5a16dd=safeDirectory(_0x3b935e,'.agents/runtime/backends'),_0x5321eb={'workspace':_0x3b935e,'startedAt':new Date()[_0x284b9f(0x1eb)](),'status':'running','backends':[]},_0x39cf30=path['join'](_0x5a16dd,_0x284b9f(0x12a));atomic(_0x39cf30,_0x5321eb);for(const [_0x294191,_0x153761]of[['codegraph',_0x224755['codegraph']],['code-review-graph',_0x224755[_0x284b9f(0x146)]]]){let _0x4d7fcc,_0x17e518;const _0x3ce4d0={'backend':_0x294191,'workspace':_0x3b935e,'startedAt':new Date()['toISOString'](),'status':_0x284b9f(0x138)};_0x5321eb['backends'][_0x284b9f(0x13e)](_0x3ce4d0);try{const _0x2eaf0a=_0x153761(),_0x2cdc19={};_0x2cdc19['version']=_0x2eaf0a[_0x284b9f(0x227)],_0x2cdc19[_0x284b9f(0x232)]=_0x2eaf0a['command'],Object['assign'](_0x3ce4d0,_0x2cdc19);const _0x4b2796={};_0x4b2796[_0x284b9f(0x163)]=_0x360ccc,_0x4d7fcc=new IndexStore(_0x294191,_0x3b935e,_0x2eaf0a,_0x4b2796);const _0x4c473f={};_0x4c473f['cache']=_0x4d7fcc['cache'],_0x4c473f['database']=_0x4d7fcc['database'],_0x4c473f['pathSource']=_0x4d7fcc[_0x284b9f(0x185)]||_0x284b9f(0x234),Object[_0x284b9f(0x15c)](_0x3ce4d0,_0x4c473f),_0x17e518=_0x4d7fcc[_0x284b9f(0x177)]();if(_0x4d7fcc[_0x284b9f(0x1b9)]())throw fail('INDEX_BUSY',_0x284b9f(0x21e));await _0x4d7fcc[_0x284b9f(0x1fa)](),_0x3ce4d0['legacyMigration']=_0x4d7fcc[_0x284b9f(0x22c)]||null,_0x4d7fcc[_0x284b9f(0x1a7)]();try{await _0x4d7fcc[_0x284b9f(0x1cd)](),await _0x4d7fcc[_0x284b9f(0x123)]();}catch(_0x36a129){if(_0x36a129['code']!==_0x284b9f(0x12d)||!_0x4d7fcc[_0x284b9f(0x1b3)]()&&!_0x4d7fcc[_0x284b9f(0x1bb)]())throw _0x36a129;_0x3ce4d0['recoveryStatus']='quarantining',_0x3ce4d0['backup']=await _0x4d7fcc[_0x284b9f(0x1f2)](!![]);}Object[_0x284b9f(0x15c)](_0x3ce4d0,_0x4d7fcc[_0x284b9f(0x135)],{'status':_0x284b9f(0x1e4),'functionalReady':![],'recoveryStatus':_0x3ce4d0[_0x284b9f(0x247)]||_0x284b9f(0x18c)}),_0x17e518(),_0x17e518=null;const {BackendProcess:_0x3cba0d}=require(_0x284b9f(0x202)),_0x303a34=_0x294191==='codegraph'?[..._0x2eaf0a[_0x284b9f(0x1be)],_0x284b9f(0x137),_0x284b9f(0x188)]:_0x2eaf0a[_0x284b9f(0x1be)],_0x493473=new _0x3cba0d(_0x294191,_0x2eaf0a[_0x284b9f(0x1b1)],_0x303a34,{'cwd':_0x3b935e,'env':{..._0x2eaf0a[_0x284b9f(0x1a9)],..._0x4d7fcc[_0x284b9f(0x1a9)]},'maxRetries':0x0});_0x493473[_0x284b9f(0x184)]=_0x4d7fcc;try{_0x493473[_0x284b9f(0x237)](![]);const _0x6bfc4d={};_0x6bfc4d[_0x284b9f(0x117)]=_0x284b9f(0x11e),_0x6bfc4d['version']='1';const _0x1e8cf3={};_0x1e8cf3[_0x284b9f(0x1c5)]=_0x284b9f(0x1fc),_0x1e8cf3[_0x284b9f(0x23f)]={},_0x1e8cf3[_0x284b9f(0x174)]=_0x6bfc4d,await _0x493473[_0x284b9f(0x115)](_0x1e8cf3);if(!_0x493473[_0x284b9f(0x16f)])throw fail(_0x284b9f(0x14c),_0x284b9f(0x1a2));_0x3ce4d0[_0x284b9f(0x16f)]=!![];_0x3ce4d0[_0x284b9f(0x1d6)]&&(_0x493473['indexRecovery']=read(path[_0x284b9f(0x14b)](_0x4d7fcc['directory'],_0x284b9f(0x129))),_0x4d7fcc[_0x284b9f(0x1e1)](_0x493473),_0x3ce4d0[_0x284b9f(0x247)]='recovered');if(_0x4d7fcc[_0x284b9f(0x236)])require(_0x284b9f(0x1ce))[_0x284b9f(0x125)](_0x4d7fcc['authority'],_0x493473,_0x360ccc);}finally{await _0x493473['stopAndWait']();}_0x4d7fcc[_0x284b9f(0x1e9)]();}catch(_0x551a42){Object[_0x284b9f(0x15c)](_0x3ce4d0,_0x551a42[_0x284b9f(0x24a)],{'status':_0x284b9f(0x1da),'reasonCode':_0x551a42[_0x284b9f(0x20c)]||_0x284b9f(0x16d),'message':_0x551a42[_0x284b9f(0x1f3)]});if(_0x4d7fcc){const _0x5ce298=read(path[_0x284b9f(0x14b)](_0x4d7fcc[_0x284b9f(0x127)],_0x284b9f(0x129)));if(_0x5ce298)Object[_0x284b9f(0x15c)](_0x3ce4d0,{'recoveryStatus':_0x5ce298[_0x284b9f(0x23c)],'backup':_0x5ce298['backup']});}console[_0x284b9f(0x209)]('['+_0x294191+']\x20'+_0x3ce4d0[_0x284b9f(0x180)]+':\x20'+_0x551a42['message']),process[_0x284b9f(0x17e)]=0x2;}finally{_0x17e518?.(),_0x3ce4d0[_0x284b9f(0x13f)]=new Date()[_0x284b9f(0x1eb)](),atomic(_0x39cf30,_0x5321eb);}}_0x5321eb[_0x284b9f(0x23c)]=process[_0x284b9f(0x17e)]?'failed':_0x284b9f(0x1e4),_0x5321eb['endedAt']=new Date()[_0x284b9f(0x1eb)](),atomic(_0x39cf30,_0x5321eb);})()['catch'](_0x211764=>{const _0x46506a=_0x452d55;console[_0x46506a(0x209)]((_0x211764[_0x46506a(0x20c)]||_0x46506a(0x16d))+':\x20'+_0x211764['message']),process['exitCode']=0x1;});
|
|
1
|
+
const _0x3b194f=_0x5852;(function(_0xe46f4b,_0x291f66){const _0xa4501a=_0x5852,_0xeb82=_0xe46f4b();while(!![]){try{const _0x11e673=-parseInt(_0xa4501a(0x1fa))/0x1+parseInt(_0xa4501a(0x1ca))/0x2*(parseInt(_0xa4501a(0x1aa))/0x3)+-parseInt(_0xa4501a(0x178))/0x4+-parseInt(_0xa4501a(0x253))/0x5*(parseInt(_0xa4501a(0x258))/0x6)+parseInt(_0xa4501a(0x171))/0x7+-parseInt(_0xa4501a(0x180))/0x8+parseInt(_0xa4501a(0x198))/0x9;if(_0x11e673===_0x291f66)break;else _0xeb82['push'](_0xeb82['shift']());}catch(_0x1e5f8a){_0xeb82['push'](_0xeb82['shift']());}}}(_0x4526,0xabc20));const fs=require('fs'),path=require(_0x3b194f(0x226)),crypto=require('crypto'),cp=require(_0x3b194f(0x16b)),cacheHost=require('os')[_0x3b194f(0x190)]()+':'+process[_0x3b194f(0x237)]+':'+process[_0x3b194f(0x23b)],{runIndexCommand,indexTimeout}=require(_0x3b194f(0x217)),{identity,sameWorkspace,containsWorkspace}=require(_0x3b194f(0x1eb)),{acquireRuntimeLock}=require(_0x3b194f(0x26e)),{resolveManagedIndexCache,openManagedIndexCache,validateManagedIndexCache,assertCacheOutcome,safePath}=require(_0x3b194f(0x1b3)),recoveryOwners=new WeakMap(),buildOwners=new WeakMap(),run=runIndexCommand,hash=_0x2aea0e=>crypto[_0x3b194f(0x18c)](_0x3b194f(0x1d9))[_0x3b194f(0x24c)](_0x2aea0e)[_0x3b194f(0x16c)](_0x3b194f(0x185)),bridge=path[_0x3b194f(0x26f)](__dirname,_0x3b194f(0x182)),fail=(_0x20f3e6,_0x111109)=>Object[_0x3b194f(0x247)](new Error(_0x111109),{'code':_0x20f3e6}),spelling=_0x1419a9=>process[_0x3b194f(0x237)]===_0x3b194f(0x24f)?path[_0x3b194f(0x27b)](_0x1419a9)[_0x3b194f(0x232)]():path[_0x3b194f(0x27b)](_0x1419a9);function rejectLink(_0x4bbc2c){const _0x436665=_0x3b194f;try{if(fs[_0x436665(0x259)](_0x4bbc2c)[_0x436665(0x1c1)]())throw fail('UNSAFE_INDEX',_0x436665(0x162));}catch(_0x253806){if(_0x253806[_0x436665(0x14e)]!==_0x436665(0x260))throw _0x253806;}}function safeDirectory(_0x1ad6a9,_0x191b70){const _0x385bd3=_0x3b194f;if(path[_0x385bd3(0x17e)](_0x191b70)||_0x191b70[_0x385bd3(0x1a9)](/[\\/]/)['includes']('..'))throw fail(_0x385bd3(0x1e7),_0x385bd3(0x26c));let _0x581d0f=_0x1ad6a9;for(const _0x12e8c0 of _0x191b70[_0x385bd3(0x1a9)](/[\\/]/)['filter'](Boolean)){_0x581d0f=path[_0x385bd3(0x26f)](_0x581d0f,_0x12e8c0),rejectLink(_0x581d0f);const _0xa48d57={};_0xa48d57[_0x385bd3(0x1b4)]=!![],fs['mkdirSync'](_0x581d0f,_0xa48d57);if(!containsWorkspace(_0x1ad6a9,_0x581d0f))throw fail(_0x385bd3(0x1e7),'Index\x20directory\x20escapes\x20workspace');}return _0x581d0f;}function atomic(_0x52f6b0,_0x5835be){const _0x1ba15c=_0x3b194f;rejectLink(_0x52f6b0);const _0x41b335=_0x52f6b0+'.'+crypto[_0x1ba15c(0x143)]()+_0x1ba15c(0x1fd);try{const _0x2a1c4d=fs[_0x1ba15c(0x1da)](_0x41b335,'wx');try{fs['writeFileSync'](_0x2a1c4d,JSON['stringify'](_0x5835be)),fs['fsyncSync'](_0x2a1c4d);}finally{fs[_0x1ba15c(0x1ff)](_0x2a1c4d);}fs['renameSync'](_0x41b335,_0x52f6b0);}finally{const _0x483fd6={};_0x483fd6[_0x1ba15c(0x157)]=!![],fs[_0x1ba15c(0x1c8)](_0x41b335,_0x483fd6);}}function _0x4526(){const _0x487cbe=['CMvIDwLSza','yNvPBgrPBMC','mJaYnc0Xms0Wnq','rK9sruLhtL9xt1jlu1bbq0vFu1rbveu','Bg9JA1bHDgG','B3DUzxjqAwq','y29KzwDYyxbOsgvHBhrOEq','C2vYDMu','lNn2BG','AxntEw1IB2XPy0XPBMS','CMvWBgfJzq','qNvPBgqGCMvJzwLWDcbJAgfUz2vKigr1CMLUzYbPBMrLEcbLEgvJDxrPB24','C3rYAw5NAwz5','CMvNAxn0zxi','C3rKB3v0','qMfJA2vUzcbZB3vYy2uGB3iGy29UzMLNDxjHDgLVBIbJAgfUz2vKigr1CMLUzYbNCMfWAcbIDwLSzdSGCMv0CNKGyMvMB3jLigLTCgfJDcbHBMfSExnPCW','CM1tEw5J','y2fJAguUBg9JAW','mLHLCeXSua','sw52ywXPzcbdB2rLr3jHCgGGy2fJAguGzgLYzwn0B3j5','zgLYBMfTzq','uKvdt1zfuLLFq0foq0vmteve','ywn0AxzL','zxf1ywXZ','lMfNzw50CY9WCM94Es9IywnRzw5KCY5QCW','yNvPBgq','uMv2Awv3igDYyxbOihjLz2LZDhj5ig92zxjYAwrLCYb0AguGAxnVBgf0zwqGD29YA3nWywnLignHy2HLoYbVCMLNAw5HBcbKyxrHihDHCYbWCMvZzxj2zwq','ywrHChrLCG','zMLUz2vYChjPBNq','ls1Ty3a','zxHWB3j0CW','yxv0Ag9YAxr5swq','CMvJB3zLCG','C2HHmJu2','B3bLBLn5BMm','sw5KzxHtDg9Yzq','q2fJAguGC2vSzwn0Aw9UignOyw5Nzwq7ihjLy29UBMvJDcb0BYb0AguGC2vSzwn0zwqGy2fJAgu','CMvHC29U','sw52ywXPzcbYzxzPzxCGz3jHCgGGy2fJAguGzgLYzwn0B3j5','Aw5PDgLHBgL6zq','zxHLy3v0ywjSzq','su5ervHFse9tvf9vtLzfuKLgsuve','CMvHC29Uq29Kzq','Bwv0ys5PBMrLEgvKx3DPDgHFDMvYC2LVBJ09pxzLCNnPB24MjK51BwjLCIHTzxrHlMLUzgv4zwrFD2L0Af9LEhrYywn0Aw9Ux3zLCNnPB24Ppt09zxyMjMrPC2nVDMvYzwqUzxzLCNKOzJ0+E2nVBNn0ihjVDZ1MAwXLCY5NzxqOzIKSzxjYB3jZpxjVDYyMsLnptI5WyxjZzsHYB3CUzxjYB3jZFhWNw10NktTYzxr1CM4GCM93jIzbCNjHEs5PC0fYCMf5kgvYCM9YCYKMjMvYCM9YCY5Szw5NDgG9pt0WjIzYB3CUy29UDgvUDf9OyxnOpt09zxH0CMfJDgLVBI5OyxnOq29UDgvUDcHMCY5YzwfKrMLSzvn5BMmOCc5QB2LUkhjVB3qSzIKSj3v0zJGNksL9ksK7','C2v0','lMDPDa','uMv2Awv3ihjLz2LZDhj5ihjLzgLYzwn0CYb0AguGBwfUywDLzcbJywnOzq','vu5tquzfx0Lorevy','zNjVBuvUDhjPzxm','lI9ZB3vYy2uTzgLZy292zxj5','yxr0zw1WDeLK','lI4Vy29Yzs93B3jRC3bHy2uTCgf0Aa','su5ervHFqLvtwq','lI9WCM9MAwXLCW','D2L0AezPBgvuExbLCW','CMvUyw1Lu3LUyW','y29UzMLN','y29UC3qGzxH0CMfJDgLVBJ1Yzxf1AxjLkhaUAM9PBIHTlcDLEhrYywn0Aw9UjYKPlgv2pxjLCxvPCMuOCc5QB2LUkg0Sj2v4DhjHy3rPB24VzxH0CMfJDgLVBI12zxjZAw9UjYKPlKvyvfjbq1rjt05FvKvsu0LptJS','zgvSzxrL','ls15zxm','y2HPBgrqAwq','CMv2Awv3','q29KzuDYyxbOigHHCYbUBYbJB21WBgv0zsbJDxjYzw50igLUzgv4ignVDMvYAw5NigL0CYbKAxnJB3zLCMvKihnVDxjJzxm','uMv2Awv3ihjLz2LZDhj5ignOyw5NzwqGDgHLigfJDgL2zsbKyxrHyMfZzq','su5ervHFq09suLvqva','BwLZC2LUzW','ndG0nZiXAM96tg56','C3rHDgveAxjLy3rVCNK','rK9sruLhtL9jtKrfwf9sruDju1rswv9dt05gteLdva','lNrTCa','y2fJAgu','y2XVC2vtEw5J','zxjYB3i','A2LSBa','CMvJzwLWDc5QC29U','C3rHDfn5BMm','zMLUzeLUzgv4','Aw5KzxHtDg9Yzq','qsbSAxzLigjHy2TLBMqGAxmGDxnPBMCGDgHLigLUzgv4oYbYzxn0yxj0igL0igjLzM9YzsbYzwj1AwXKAw5N','y2fJAgveAxjLy3rVCNK','ChjVDg9JB2XwzxjZAw9U','DgvZDa','BM90lw5LzwrLza','CMvJB3zLCMvK','BwfPBNrLBMfUy2u','Aw5JCMvTzw50ywW','yxjNDG','AgvHBhrO','BgfZDej1AwXK','C291CMnL','AgfZ','qMfJA2vUzcbKAwqGBM90ihbHC3mGAxrZigz1BMn0Aw9UywWGChjVyMu','y29TBwfUza','z2v0uhjVDg90ExbLt2y','D3jPDgvtDgf0zq','lI9PBMrLEc1JB21Tyw5K','AxneAxjLy3rVCNK','CMvSyxrPDMu','ls1MB3jJzq','Aw5KzxHszwnVDMvYEq','Aw5ZCgvJDa','lMPZB24','yxrVBwLJ','zNvUy3rPB25HBfjLywr5','y3jLyxrL','ChjVy2vZC0LKzw50Axr5u25HChnOB3q','Bgf1BMnOqxr0zw1WDeLK','sw5KzxGGBwfPBNrLBMfUy2uGAxmGyNvZEtSGCMv0CNKGywz0zxiGDgHLign1CNjLBNqGB3bLCMf0Aw9UigzPBMLZAgvZ','CMvJzwLWDe1HDgnOzxm','ywn0AxzHDgvnyw5Hz2vKsw5KzxHdywnOzq','Cgf0Aa','Dg9ju09tDhjPBMC','qMfJA2vUzcb3yxmGC3rVChbLzcb3AgLSzsbYzwj1AwXKAw5NigL0CYbPBMrLEa','y29UC3qGzNm9CMvXDwLYzsGNBM9KztPMCYCPlha9CMvXDwLYzsGNBM9KztPWyxrOjYKSE0rHDgfIyxnLu3LUy309CMvXDwLYzsGNBM9KztPZCwXPDguNktS','lMfNzw50CY8Uzgf0ys9NCMfWAa','y29UDgvUDa','CMvHBhbHDgHtEw5J','ChvIBgLZAej1AwXKuMvJzwLWDa','CgfYC2u','zw5KC1DPDgG','yNvPBgrFDhLWzq','yxv0AgvUDgLJyxrLsw5KzxHsDw5Uzxi','Dg9mB3DLCKnHC2u','C2XPy2u','zw5KzwrbDa','y29Kzs1YzxzPzxCTz3jHCgG','z2vUzxjHDgLVBG','CgXHDgzVCM0','C291CMnLq291BNq','yMfJA2vUzhm','BwfUywDLzezPBgviyxnOzxm','yxjJAa','zw52','Bg9JAW','BwvZC2fNzq','zgv2','ChjLDMLVDxnszwnLAxb0','rvnsq0G','yNvZEq','qMfJA2vUzcbZB3vYy2uGB3iGy29UzMLNDxjHDgLVBIbJAgfUz2vKigr1CMLUzYbNCMfWAcbOzwfSDgGGDMfSAwrHDgLVBG','BwfUAwzLC3rwzxjZAw9U','CMvHzezPBgvtEw5J','DhjPBq','yxnZAwDU','lI9PBMrLEc1TywLUDgvUyw5Jzq','C3rHDhvZ','BwfPBG','zgf0ywjHC2u','DxbKyxrL','B3rOzxjvC2vYCW','lMfWDc1Tyw5Hz2vKlMPZB24','D2LUmZi','lMfWDc1IywnRDxaT','C3rVCefUzfDHAxq','BwTKAxjtEw5J','oda2nuHIBxniwq','zNvSBa','ChjVzMLSzq','y2fUB25Py2fSlxDVCMTZCgfJzs1PC29SyxrPB24','z2v0','mte0nNnhExHiCa','Bhn0yxrtEw5J','su5ervHFuefusf9dsefor0ve','y2fJAgvdB250CMfJDa','y29KzwDYyxbOlMrI','AgvHBhrOEq','BMfTzq','DxrMoa','ru5pru5u','yNvPBhq','y29KzwDYyxbO','C25HChnOB3q','x19WEwnHy2HLx18','zgf0yurPCMvJDg9YEq','zgLYzwn0B3j5','su5ervHFu0vuvvbFrKfjteve','yxv0Ag9YAxr5','CMvIDwLSDa','zxHLy0zPBgvtEw5J','su5ervHFu1rpuf9vtKnptKzjuK1fra','sw5KzxGGzgLYzwn0B3j5igvZy2fWzxmGD29YA3nWywnL','AxngAwXL','lI4Vy29Yzs9VD25Lzc1SB2nR','AM9PBG','B3DUzxjqCM9JzxnZu3rHCNq','yxnZzxj0sw5KzxHby2nLC3m','Aw5PDa','yxb0lwLUzgv4lxzLCMLMAwnHDgLVBG','lMnVzgvNCMfWAc0','y2f0ywXVz0HHC2G','Dw5SAw5Ru3LUyW','C3rYAw5N','su5ervHFt1vuq09nrv9vtKTot1Do','y2XHC3nPzNK','CgLK','CMvZB2X2zq','CMvJB3zLCNKUANnVBG','y29UDhjHy3rjza','CMvHzgrPCLn5BMm','CMvJB3zLCNLtDgf0Dxm','ywrVChrmzwDHy3K','zgvZy3jPChrVCKHHC2G','ChjLCgfYzq','lMfNzw50CW','C291CMnLu3rHDgu','C29YDa','CMfUzg9Tvvvjra','su5ervHFuKvdt1zfuLLFq0HbtKDfra','DhLWzq','DxnLCKzPBgu','ChvZAa','lMfNzw50CY9YDw50Aw1Ll2jHy2TLBMrZ','C3rHCNq','C3rYDwn0DxjLzenVBNrLBNq','D3jPDgvszwnVDMvYEuzHAwX1CMu','ChjLC2vYDMvK','lxDHBa','y29Kzq','zMLSDgvY','ihjLCxvPCMvZigL0CYbVD25PBMCGyMfJA2vUzcb0BYbZDg9W','yMfJA3vW','yxjNCW','C3rHBMrHBg9UzvjLyNvPBgq','Cgf0AfnVDxjJzq','y2f0y2G','BwfW','zM9Yy2u','C2vSzwn0v29YA3nWywnLq2fJAgu','CMvJB3zLCMLUzW','zgLZDa','r1jbueHFq0HbtKDfra','Aw5JBhvKzxm','CNvUBMLUzW','zM9YzwLNBLDVCMTZCgfJzvn0yxrL','yMLYDgH0Aw1Ltxm','lI4Vy29Yzs9VD25Lzc1WCM9JzxnZ','rgf0ywjHC2uGAxmGBwLZC2LUzYbIDxqGu1fmAxrLihnPzgvJyxjZihjLBwfPBJSGChjLC2vYDMuGDgHLBsbIzwzVCMuGCMvIDwLSzgLUzW','sw5KzxGGBwv0ywrHDgeGBxvZDcbUB3qGyMuGysbZEw1IB2XPyYbSAw5R','zMfPBgvK','DMvUDG','BgvNywn5twLNCMf0Aw9U','qw5VDgHLCIbSAxzLigjHy2TLBMqGAxmGDxnPBMCGDgHLignHy2HL','zgvWBg95zwq','y2HLy2ToyxrPDMvmB2nRCW','Dw5RBM93BG','su5ervHFtuLtu0LorW','y2HPBgrFChjVy2vZCW','zgLNzxn0','AxntywzLsw50zwDLCG','BgvNywn5lxDVCMTZCgfJzs0X','zNjVBq','Aw5JCMvTzw50ywXizwfSDgH5','mtu5mZG4nLfTtLbyvq','su5ervHFufjpqKvFrKfjteve','zxHPC3rZu3LUyW','lMnVzguTCMv2Awv3lwDYyxbO','lMfNzw50CY9YDw50Aw1Ll2jHy2TLBMrZlW','DhjHBNnPDgLVBLjLy292zxj5','y29UC29Szs5SB2COsLnptI5ZDhjPBMDPzNKOE2HLywX0AhL9ksK7FwzPBMfSBhL7zgiUy2XVC2uOkx0','mZqYmdu5mMnWy2DiDq','BwfUywDLzc1JywnOzs1JB250CMfJDc12','CMvZCg9UC2vfCNjVCG','q2fJAguGB3DUzxjZAgLWigLZig5VDcbWCM92zw4','yxnZzxj0qxzHAwXHyMXL','DxnLCNm','AxnbyNnVBhv0zq','Aw5KzxGTyNvPBgqTBgfZDc5QC29U','oda3otC2ogvxsgrfvW','Aw5KzxHqDwjSAwnHDgLVBKv4zwn1DgLVBG','CMv2Awv3x2DYyxbOlNb5','CxvHCMfUDgLUAw5N','CMvZB2X2zvjLDMLLDW','Agv4','sw5KzxGGCMvJB3zLCNKGB3DUzxjZAgLWignOyw5NzwqGzhvYAw5NigL0CYbMDw5JDgLVBMfSihbYB2jL','y2HPBgrqCM9JzxnZu3rHCNq','zgLHz25VC3rPyW','yxb0lw1JCc1Hz2vUDa','y29UC3qGzgLZy292zxjLzd1LEhrYywn0Aw9UlNnJyw5eAxjLy3rVCNKOCM9VDcK7y29UC3qGAgvHBhrOEt1TzxrHlMLUzgv4x3n0yxrLpt09j2nVBxbSzxrLjYyMkgrPC2nVDMvYzwqUBgvUz3rOpt09md9MAwXLCY5ZAxPLpt09mdO','sw5KzxGGCMvJB3zLCNKGCMvXDwLYzxmGysbZDwnJzxnZzNvSigz1BMn0Aw9UywWGChjVyMu','y3jLyxrLsgfZAa','yNvPBgrnB2rL','y29KzwDYyxbOlMXVy2S','zgf0ywjHC2vjzgvUDgL0Eq','Ag9ZDg5HBwu','CgvYzM9YBuj1AwXK','qMfJA2vUzcbZDgf0zsbLC2nHCgvZihDVCMTZCgfJzq','su5ervHFqLvjterFrKfjteve','CMvZB3vYy2veAwDLC3q','y2HLy2TeyxrHyMfZzq','zgLZy292zxjcywnRzw5Ku291CMnLCW','q2fJAguGB3DUzxjZAgLWignOyw5NzwqGyMvMB3jLihjLy292zxj5','mJi5nJKZmZjOsvH3u3C','Aw5ZDgfUy2vjza','lMnVzgvNCMfWAa','Dgv4Da','qMfJA2vUzcbXDwvYEsbMywLSzwq','Ag9ZDa','Aw5V','mdaWmdaWmdaTmdaWmc0WmdaWltaWmdaTmdaWmdaWmdaWmdaW','zgfLBw9UlNbPza','DMvYC2LVBG','CgvUzgLUzW','qvbux0Lorevyx0jvsuXe','lMfNzw50CY9Tyw5PzMvZDc5QC29U','lxnOBq','B3DUzwq','C2vSzwn0B3jgAwXL','C3rHCNrZv2L0Aa','C3bSAxq','mtC0ndC5mwLKAhzcEa','q2fJAguGzxnJyxbLCYb3B3jRC3bHy2u','C29Tzq','y29UDhjHy3q','A2LUza','BwfYA2vY','qw5VDgHLCIbIywnRzw5KigLZihvZAw5NihrOzsbSzwDHy3KGy2fJAgu','BwLNCMf0zuXLz2fJEq','BM93','lI9PBMrLEc1JywnOzs1HDxrOB3jPDhK','CMvJDxjZAxzL','D29YA3nWywnL','BwLNCMf0zwq','zxHPDenVzgu'];_0x4526=function(){return _0x487cbe;};return _0x4526();}function read(_0x8d1f98){const _0x38161a=_0x3b194f;try{return rejectLink(_0x8d1f98),JSON[_0x38161a(0x22e)](fs[_0x38161a(0x245)](_0x8d1f98,_0x38161a(0x25f)));}catch(_0x162ee3){if(_0x162ee3[_0x38161a(0x14e)]==='ENOENT')return null;throw _0x162ee3;}}function classify(_0xeacabf){const _0x457aea=_0x3b194f;if(/database disk image is malformed|file is not a database|SQLITE_CORRUPT|SQLITE_NOTADB/i[_0x457aea(0x209)](_0xeacabf))return _0x457aea(0x1f8);if(/not indexed|no index|not initialized|no codegraph project|index (?:missing|invalid|corrupt)/i[_0x457aea(0x209)](_0xeacabf))return _0x457aea(0x16a);return'BACKEND_QUERY_FAILED';}function responseError(_0x469704){const _0x4189f7=_0x3b194f,_0x283868=_0x469704?.['result'],_0x32e349=_0x283868?.[_0x4189f7(0x14a)],_0x32735b=_0x283868?.[_0x4189f7(0x22b)]?.[_0x4189f7(0x14f)](_0x48b0c2=>_0x48b0c2[_0x4189f7(0x145)]===_0x4189f7(0x19b))[_0x4189f7(0x156)](_0x1ba099=>_0x1ba099[_0x4189f7(0x19b)])['join']('\x0a'),_0x1bab6c=_0x469704?.[_0x4189f7(0x200)]?.['message']||typeof _0x469704?.[_0x4189f7(0x200)]===_0x4189f7(0x277)&&_0x469704[_0x4189f7(0x200)]||_0x32e349?.[_0x4189f7(0x200)]||_0x32735b||_0x4189f7(0x19c);return fail(classify(_0x1bab6c),String(_0x1bab6c)[_0x4189f7(0x233)](0x0,0x640));}function snapshot(_0x27ddb3,_0x125c29,_0xc55d42,_0x35eb5f){const _0x51b2ee=_0x3b194f;if(_0x125c29&&_0xc55d42){const _0x2d3bde=require(_0x51b2ee(0x1e9))['discoverBackendSources'](_0x125c29,_0x27ddb3,_0xc55d42,_0x35eb5f);if(_0x2d3bde)return _0x2d3bde['snapshot'];}const _0x233c47=[],_0x44ab2b=new Set([_0x51b2ee(0x1e5),_0x51b2ee(0x1c0),_0x51b2ee(0x283),'.memory',_0x51b2ee(0x19a),_0x51b2ee(0x174),'node_modules','.venv',_0x51b2ee(0x164),_0x51b2ee(0x264),_0x51b2ee(0x15a),_0x51b2ee(0x1d1)]),_0x25a6aa=_0xa24a7d=>{const _0x542fcc=_0x51b2ee,_0x3b6376={};_0x3b6376[_0x542fcc(0x1ee)]=!![];for(const _0x205aaf of fs['readdirSync'](_0xa24a7d,_0x3b6376)[_0x542fcc(0x142)]((_0x365509,_0x176c31)=>_0x365509['name']['localeCompare'](_0x176c31[_0x542fcc(0x25e)]))){if(_0x44ab2b[_0x542fcc(0x212)](_0x205aaf[_0x542fcc(0x25e)])||_0x205aaf[_0x542fcc(0x25e)][_0x542fcc(0x1a8)](_0x542fcc(0x274))||_0x205aaf['name'][_0x542fcc(0x15c)](_0x542fcc(0x250))||_0x205aaf[_0x542fcc(0x1c1)]())continue;const _0x1b7d94=path[_0x542fcc(0x26f)](_0xa24a7d,_0x205aaf[_0x542fcc(0x25e)]);if(_0x205aaf[_0x542fcc(0x218)]())_0x25a6aa(_0x1b7d94);else{if(_0x205aaf[_0x542fcc(0x26d)]())_0x233c47[_0x542fcc(0x147)]([path[_0x542fcc(0x219)](_0x27ddb3,_0x1b7d94)[_0x542fcc(0x1c2)](/\\/g,'/'),hash(fs[_0x542fcc(0x245)](_0x1b7d94))]);}}};return _0x25a6aa(_0x27ddb3),hash(JSON['stringify'](_0x233c47));}function live(_0xf8c4a6){const _0x21c0c0=_0x3b194f;if(!Number[_0x21c0c0(0x16d)](_0xf8c4a6)||_0xf8c4a6<=0x0)return![];try{return process[_0x21c0c0(0x201)](_0xf8c4a6,0x0),!![];}catch(_0x53b63a){return _0x53b63a['code']!==_0x21c0c0(0x241);}}class IndexStore{constructor(_0x4bf1e2,_0x2d3cb4,_0x53a910,_0x4bf53e={}){const _0x3caf3c=_0x3b194f;this[_0x3caf3c(0x1ae)]=_0x4bf1e2,this[_0x3caf3c(0x1b5)]=fs[_0x3caf3c(0x22c)](_0x2d3cb4),this[_0x3caf3c(0x255)]=_0x53a910,this[_0x3caf3c(0x268)]=resolveManagedIndexCache({'workspace':this[_0x3caf3c(0x1b5)],'kind':_0x4bf1e2,'profile':_0x53a910,'pending':Boolean(_0x4bf53e[_0x3caf3c(0x20c)])}),this[_0x3caf3c(0x20c)]=_0x4bf53e[_0x3caf3c(0x20c)];if(this[_0x3caf3c(0x268)]){require(_0x3caf3c(0x248))[_0x3caf3c(0x271)](this['workspace'],this['maintenance']),openManagedIndexCache(this[_0x3caf3c(0x268)]),this['directory']=this[_0x3caf3c(0x268)][_0x3caf3c(0x1fb)],this[_0x3caf3c(0x1bc)]=path[_0x3caf3c(0x26f)](this[_0x3caf3c(0x266)],_0x3caf3c(0x1c9)),this[_0x3caf3c(0x17d)]=safeDirectory(this[_0x3caf3c(0x1b5)],path[_0x3caf3c(0x219)](this[_0x3caf3c(0x1b5)],path[_0x3caf3c(0x26f)](this[_0x3caf3c(0x266)],_0x3caf3c(0x17d)))),this['userFile']=path[_0x3caf3c(0x26f)](this[_0x3caf3c(0x17d)],crypto[_0x3caf3c(0x143)]()+_0x3caf3c(0x21d)),this[_0x3caf3c(0x23c)]=this[_0x3caf3c(0x268)]['env'],this[_0x3caf3c(0x1fe)]=this[_0x3caf3c(0x268)][_0x3caf3c(0x207)],this[_0x3caf3c(0x24b)]=this[_0x3caf3c(0x268)]['database'],this[_0x3caf3c(0x154)]=_0x3caf3c(0x179)+_0x53a910[_0x3caf3c(0x25b)],this[_0x3caf3c(0x17c)]();return;}this['directory']=safeDirectory(this[_0x3caf3c(0x1b5)],_0x3caf3c(0x175)+_0x4bf1e2);if(!containsWorkspace(this[_0x3caf3c(0x1b5)],this['directory']))throw fail(_0x3caf3c(0x1e7),_0x3caf3c(0x192));this['lockPath']=path[_0x3caf3c(0x26f)](this[_0x3caf3c(0x266)],_0x3caf3c(0x1c9)),this[_0x3caf3c(0x17d)]=safeDirectory(this['workspace'],_0x3caf3c(0x175)+_0x4bf1e2+'/users'),this['userFile']=path['join'](this[_0x3caf3c(0x17d)],crypto['randomUUID']()+_0x3caf3c(0x21d));if(_0x4bf1e2===_0x3caf3c(0x235)){const _0x1fda63=path[_0x3caf3c(0x26f)](this[_0x3caf3c(0x1b5)],_0x3caf3c(0x174));if(!fs['existsSync'](_0x1fda63))fs[_0x3caf3c(0x252)](_0x1fda63);const _0x5be84d=_0x53a910[_0x3caf3c(0x207)]||_0x3caf3c(0x22a);if(!/^\.agents\/\.data\/graph(?:-[0-9]+\.[0-9]+\.[0-9]+)?$/[_0x3caf3c(0x209)](_0x5be84d))throw fail(_0x3caf3c(0x1e7),_0x3caf3c(0x1de));this['env']={..._0x53a910[_0x3caf3c(0x23c)],'CRG_DATA_DIR':path['join'](this[_0x3caf3c(0x1b5)],_0x5be84d)};const _0x16f2af=this[_0x3caf3c(0x184)]();this['cache']=_0x16f2af['dataDirectory'],this[_0x3caf3c(0x24b)]=_0x16f2af[_0x3caf3c(0x24b)],this[_0x3caf3c(0x154)]=_0x16f2af[_0x3caf3c(0x211)];}else{this[_0x3caf3c(0x23c)]=_0x53a910[_0x3caf3c(0x23c)]||{};if(_0x53a910['cacheDirectory']&&!/^\.codegraph(?:-[a-z0-9]+-[a-z0-9]+)?$/[_0x3caf3c(0x209)](_0x53a910[_0x3caf3c(0x207)]))throw fail(_0x3caf3c(0x1e7),_0x3caf3c(0x1cb));this[_0x3caf3c(0x1fe)]=path['join'](this[_0x3caf3c(0x1b5)],_0x53a910['cacheDirectory']||_0x3caf3c(0x19a)),this[_0x3caf3c(0x24b)]=path[_0x3caf3c(0x26f)](this[_0x3caf3c(0x1fe)],_0x3caf3c(0x25c));}this[_0x3caf3c(0x158)]();const _0x38eae2=this[_0x3caf3c(0x23d)]();try{this[_0x3caf3c(0x282)]();}finally{_0x38eae2();}}['resolveReview'](){const _0xf279b=_0x3b194f;if(this[_0xf279b(0x268)])validateManagedIndexCache(this[_0xf279b(0x268)]);const _0x5b8e76=cp[_0xf279b(0x26a)](this['profile'][_0xf279b(0x214)],[bridge,_0xf279b(0x21c),this[_0xf279b(0x1b5)]],{'env':{...process.env,...this[_0xf279b(0x23c)]},'windowsHide':!![],'encoding':_0xf279b(0x25f),'timeout':0x3a98}),_0x311e39=JSON[_0xf279b(0x22e)](_0x5b8e76);if(this[_0xf279b(0x268)]&&(spelling(_0x311e39['database'])!==spelling(this[_0xf279b(0x24b)])||spelling(_0x311e39[_0xf279b(0x265)])!==spelling(this[_0xf279b(0x1fe)])))throw fail(_0xf279b(0x25a),_0xf279b(0x1e6));return _0x311e39;}[_0x3b194f(0x158)](){const _0x3a95aa=_0x3b194f,_0x461a3d=read(path[_0x3a95aa(0x26f)](this[_0x3a95aa(0x1fe)],_0x3a95aa(0x24e)));if(!_0x461a3d?.['workspace'])return;let _0x26e6e9=![];try{_0x26e6e9=sameWorkspace(_0x461a3d['workspace'],this[_0x3a95aa(0x1b5)]);}catch{}if(_0x26e6e9)return;if(!containsWorkspace(this[_0x3a95aa(0x1b5)],this[_0x3a95aa(0x1fe)]))throw fail(_0x3a95aa(0x1e7),'Foreign\x20custom\x20cache\x20is\x20outside\x20workspace');this[_0x3a95aa(0x15e)]={'code':_0x3a95aa(0x1bb),'kind':this[_0x3a95aa(0x1ae)],'cache':this[_0x3a95aa(0x1fe)]};const _0x54c30e='-w'+hash(identity(this[_0x3a95aa(0x1b5)]))[_0x3a95aa(0x233)](0x0,0x10),_0x2cd026=(this[_0x3a95aa(0x255)][_0x3a95aa(0x207)]||(this[_0x3a95aa(0x1ae)]===_0x3a95aa(0x262)?_0x3a95aa(0x19a):'.agents/.data/graph'))+_0x54c30e;this['profile']={...this['profile'],'cacheDirectory':_0x2cd026},this[_0x3a95aa(0x1fe)]=path['join'](this[_0x3a95aa(0x1b5)],_0x2cd026);if(this[_0x3a95aa(0x1ae)]===_0x3a95aa(0x262))this[_0x3a95aa(0x23c)]={...this[_0x3a95aa(0x23c)],'CODEGRAPH_DIR':_0x2cd026},this[_0x3a95aa(0x24b)]=path['join'](this[_0x3a95aa(0x1fe)],_0x3a95aa(0x25c));else{this['env']={...this[_0x3a95aa(0x23c)],'CRG_DATA_DIR':this[_0x3a95aa(0x1fe)]};const _0x41b46b=this[_0x3a95aa(0x184)]();if(spelling(_0x41b46b[_0x3a95aa(0x265)])!==spelling(this[_0x3a95aa(0x1fe)]))throw fail(_0x3a95aa(0x1fc),_0x3a95aa(0x1d2));this[_0x3a95aa(0x24b)]=_0x41b46b['database'];}this[_0x3a95aa(0x154)]=_0x3a95aa(0x256);}[_0x3b194f(0x282)](){const _0x4ada4c=_0x3b194f,_0x4c8d77=this[_0x4ada4c(0x1ae)]===_0x4ada4c(0x262)?this['cache']:path['join'](this[_0x4ada4c(0x1b5)],this[_0x4ada4c(0x255)][_0x4ada4c(0x207)]||_0x4ada4c(0x22a)),_0xa8b484=fs['existsSync'](this[_0x4ada4c(0x1fe)]);if(!_0xa8b484&&spelling(this[_0x4ada4c(0x1fe)])===spelling(_0x4c8d77)){safeDirectory(this[_0x4ada4c(0x1b5)],path[_0x4ada4c(0x219)](this['workspace'],this[_0x4ada4c(0x1fe)]));if(!containsWorkspace(this[_0x4ada4c(0x1b5)],this['cache']))throw fail(_0x4ada4c(0x1e7),_0x4ada4c(0x1ab));atomic(path['join'](this[_0x4ada4c(0x1fe)],_0x4ada4c(0x24e)),{'owner':_0x4ada4c(0x189),'workspace':this[_0x4ada4c(0x1b5)],'kind':this[_0x4ada4c(0x1ae)],'host':cacheHost});}}[_0x3b194f(0x280)](){const _0x239efd=_0x3b194f;if(this['authority'])return![];if(this[_0x239efd(0x1a6)]())return!![];if(read(path[_0x239efd(0x26f)](this[_0x239efd(0x1fe)],_0x239efd(0x24e))))return![];const _0x494a6f=this[_0x239efd(0x1ae)]===_0x239efd(0x262)?'.codegraph':_0x239efd(0x22a);if(spelling(this[_0x239efd(0x1fe)])!==spelling(path['join'](this['workspace'],_0x494a6f)))return![];if(identity(this['cache'])!==spelling(path[_0x239efd(0x26f)](this[_0x239efd(0x1b5)],_0x494a6f)))return![];const _0x453596=read(path[_0x239efd(0x26f)](this[_0x239efd(0x1b5)],_0x239efd(0x1a4))),_0x30760d=_0x239efd(0x1d0),_0x34ac72=_0x453596?.[_0x239efd(0x23a)]?.[_0x30760d];if(!_0x34ac72||!_0x453596['files']?.['includes'](_0x30760d))return![];const _0xd764cc=path[_0x239efd(0x26f)](this[_0x239efd(0x1b5)],_0x30760d);rejectLink(path['dirname'](_0xd764cc)),rejectLink(_0xd764cc);if(hash(fs['readFileSync'](_0xd764cc))!==_0x34ac72)return![];for(const _0x163c48 of['','-wal','-shm'])rejectLink(this[_0x239efd(0x24b)]+_0x163c48);this[_0x239efd(0x168)]();if(this[_0x239efd(0x24d)]())throw fail('INDEX_BUSY',_0x239efd(0x1b0));const _0x114bcd={};return _0x114bcd[_0x239efd(0x244)]=_0x453596[_0x239efd(0x1a1)],_0x114bcd[_0x239efd(0x167)]=_0x30760d,_0x114bcd[_0x239efd(0x16c)]=_0x34ac72,atomic(path[_0x239efd(0x26f)](this[_0x239efd(0x1fe)],_0x239efd(0x24e)),{'owner':'apt-mcp-agent','workspace':this[_0x239efd(0x1b5)],'kind':this[_0x239efd(0x1ae)],'provenance':_0x114bcd}),!![];}[_0x3b194f(0x1a6)](){const _0x1daa2c=_0x3b194f;try{if(this['authority'])return validateManagedIndexCache(this[_0x1daa2c(0x268)]),!![];const _0xf34f2=read(path['join'](this[_0x1daa2c(0x1fe)],_0x1daa2c(0x24e)));for(const _0x1ba255 of['',_0x1daa2c(0x14d),_0x1daa2c(0x1a5)])rejectLink(this[_0x1daa2c(0x24b)]+_0x1ba255);const _0x3a467f=identity(this['cache']),_0x23d480=this[_0x1daa2c(0x1ae)]===_0x1daa2c(0x262)?[this[_0x1daa2c(0x255)]['cacheDirectory']||'.codegraph',_0x1daa2c(0x19a),'.agents/.data/code']:[this['profile'][_0x1daa2c(0x207)]||'.agents/.data/graph'];return _0xf34f2?.['owner']==='apt-mcp-agent'&&sameWorkspace(_0xf34f2[_0x1daa2c(0x1b5)],this[_0x1daa2c(0x1b5)])&&_0x23d480[_0x1daa2c(0x1ac)](_0x172da9=>{const _0xd6a9d9=_0x1daa2c,_0x1ceb03=path[_0xd6a9d9(0x27b)](this[_0xd6a9d9(0x1b5)],_0x172da9);return _0x3a467f===(process['platform']==='win32'?_0x1ceb03[_0xd6a9d9(0x232)]():_0x1ceb03);});}catch{return![];}}[_0x3b194f(0x23d)](){const _0x5e3ed8=_0x3b194f;if(this[_0x5e3ed8(0x268)])safePath(this[_0x5e3ed8(0x1b5)],this[_0x5e3ed8(0x1bc)]);rejectLink(this[_0x5e3ed8(0x1bc)]);const _0x2d2b64=acquireRuntimeLock(this['lockPath'],0x0,cacheHost);if(!_0x2d2b64)throw fail('INDEX_BUSY',_0x5e3ed8(0x223));return _0x2d2b64;}[_0x3b194f(0x17c)](){const _0x20bbdb=_0x3b194f;if(!this[_0x20bbdb(0x268)])return;require(_0x20bbdb(0x248))[_0x20bbdb(0x271)](this[_0x20bbdb(0x1b5)],this['maintenance']);if(this[_0x20bbdb(0x268)]['marker'][_0x20bbdb(0x1a1)]===0x3){if(this[_0x20bbdb(0x20c)]){require(_0x20bbdb(0x248))[_0x20bbdb(0x181)](this[_0x20bbdb(0x1b5)],this[_0x20bbdb(0x20c)],this[_0x20bbdb(0x268)][_0x20bbdb(0x1af)]);const _0x194c65=read(safePath(this['workspace'],this['authority'][_0x20bbdb(0x1a7)]));if(_0x194c65&&_0x194c65[_0x20bbdb(0x27d)]!==this[_0x20bbdb(0x268)]['contractId']||(_0x194c65?.[_0x20bbdb(0x1a2)]?.[_0x20bbdb(0x199)]||_0x194c65?.[_0x20bbdb(0x1ce)]||_0x20bbdb(0x19f))!==this['authority'][_0x20bbdb(0x1af)][_0x20bbdb(0x199)])throw fail(_0x20bbdb(0x144),'Cache\x20selection\x20changed\x20during\x20maintenance');}else{const _0x1781df={};_0x1781df[_0x20bbdb(0x1b5)]=this[_0x20bbdb(0x1b5)],_0x1781df['kind']=this[_0x20bbdb(0x1ae)],_0x1781df['profile']=this[_0x20bbdb(0x255)];const _0x237c72=resolveManagedIndexCache(_0x1781df);if(_0x237c72[_0x20bbdb(0x1d7)]!==this[_0x20bbdb(0x268)][_0x20bbdb(0x1d7)]||_0x237c72[_0x20bbdb(0x281)]!==this['authority'][_0x20bbdb(0x281)])throw fail(_0x20bbdb(0x144),_0x20bbdb(0x1dc));}}validateManagedIndexCache(this[_0x20bbdb(0x268)]),assertCacheOutcome(this['authority'],recoveryOwners['get'](this),buildOwners[_0x20bbdb(0x257)](this));if(this[_0x20bbdb(0x1ae)]===_0x20bbdb(0x235))this[_0x20bbdb(0x184)]();}[_0x3b194f(0x216)](_0x40cf75,_0x269cb9){const _0x46de3d=_0x3b194f;if(this[_0x46de3d(0x268)])safePath(this['workspace'],_0x40cf75);atomic(_0x40cf75,_0x269cb9);}[_0x3b194f(0x14b)](_0x572b77,_0x66288c,_0x394c2a){const _0x51f79e=_0x3b194f;if(this[_0x51f79e(0x268)]){if(!_0x66288c)return;try{safePath(this[_0x51f79e(0x1b5)],_0x572b77);if(!fs[_0x51f79e(0x245)](_0x572b77)[_0x51f79e(0x1cf)](Buffer[_0x51f79e(0x16f)](JSON['stringify'](_0x66288c))))return;}catch{return;}}this['writeState'](_0x572b77,_0x394c2a);}[_0x3b194f(0x176)](_0x18a598,_0x30bc4d,_0x2b2b1c){const _0x3a9c18=_0x3b194f;this[_0x3a9c18(0x17c)]();if(this[_0x3a9c18(0x268)]&&JSON[_0x3a9c18(0x1c4)](read(_0x18a598))!==JSON[_0x3a9c18(0x1c4)](_0x30bc4d))throw fail(_0x3a9c18(0x144),'Recovery\x20authority\x20changed\x20before\x20publication');this['writeState'](_0x18a598,_0x2b2b1c);if(this[_0x3a9c18(0x268)])recoveryOwners[_0x3a9c18(0x1e4)](this,_0x2b2b1c);}[_0x3b194f(0x1c5)](_0x21888d=null,_0x309b5e=![]){const _0x1c4eb6=_0x3b194f,_0x3eddb0=_0x309b5e?null:this[_0x1c4eb6(0x23d)]();try{this[_0x1c4eb6(0x17c)]();if(this['authority'])safePath(this['workspace'],this['userFile']);const _0x508df6=require(_0x1c4eb6(0x160))[_0x1c4eb6(0x221)](),_0xb6ea73=_0x44552b=>{const _0x493778=_0x1c4eb6;try{return _0x44552b?_0x508df6(_0x44552b)?.[_0x493778(0x149)]||null:null;}catch{return null;}};this[_0x1c4eb6(0x216)](this['userFile'],{'ownerPid':process[_0x1c4eb6(0x27a)],'ownerProcessStart':_0xb6ea73(process[_0x1c4eb6(0x27a)]),'childPid':_0x21888d,'childProcessStart':_0xb6ea73(_0x21888d),'workspace':this['workspace'],'host':cacheHost,...this[_0x1c4eb6(0x268)]?{'authorityId':this[_0x1c4eb6(0x268)][_0x1c4eb6(0x1d7)],'descriptorHash':this['authority'][_0x1c4eb6(0x281)]}:{}});}finally{_0x3eddb0?.();}}['unregister'](){const _0x2054aa=_0x3b194f;if(this[_0x2054aa(0x268)])safePath(this[_0x2054aa(0x1b5)],this[_0x2054aa(0x146)]);const _0x2cf4e6={};_0x2cf4e6['force']=!![],fs[_0x2054aa(0x1c8)](this[_0x2054aa(0x146)],_0x2cf4e6);}[_0x3b194f(0x24d)](){const _0x211b3e=_0x3b194f;if(this[_0x211b3e(0x268)])safePath(this[_0x211b3e(0x1b5)],this['users']);const _0x1c8806=require(_0x211b3e(0x160))[_0x211b3e(0x221)](),_0x509a1c=(_0x363415,_0x113f67)=>{const _0x1a58d2=_0x211b3e;if(!Number[_0x1a58d2(0x16d)](_0x363415)||_0x363415<=0x0)return![];try{const _0x202c2a=_0x1c8806(_0x363415);if(!_0x202c2a)return live(_0x363415);if(typeof _0x113f67!==_0x1a58d2(0x277)||!/^[1-9][0-9]{0,19}$/['test'](_0x113f67)||typeof _0x202c2a['start']!==_0x1a58d2(0x277)||!/^[1-9][0-9]{0,19}$/[_0x1a58d2(0x209)](_0x202c2a[_0x1a58d2(0x149)]))return!![];if(_0x202c2a[_0x1a58d2(0x149)]===_0x113f67)return!![];const _0x5ceee3=require(_0x1a58d2(0x160))['processIdentity'](_0x363415);if(!_0x5ceee3)return live(_0x363415);return typeof _0x5ceee3[_0x1a58d2(0x149)]!==_0x1a58d2(0x277)||!/^[1-9][0-9]{0,19}$/['test'](_0x5ceee3[_0x1a58d2(0x149)])||_0x5ceee3[_0x1a58d2(0x149)]===_0x113f67;}catch(_0x1b6d51){return['ENOENT',_0x1a58d2(0x241)][_0x1a58d2(0x15c)](_0x1b6d51['code'])?![]:!![];}};return fs[_0x211b3e(0x27e)](this['users'])[_0x211b3e(0x14f)](_0x425d4f=>_0x425d4f[_0x211b3e(0x22f)](_0x211b3e(0x21d)))[_0x211b3e(0x1ac)](_0x54dfe1=>{const _0x2d16bb=_0x211b3e,_0x3395cf=path['join'](this[_0x2d16bb(0x17d)],_0x54dfe1);if(_0x3395cf===this[_0x2d16bb(0x146)])return![];if(this['authority'])safePath(this[_0x2d16bb(0x1b5)],_0x3395cf);const _0x425bc9=read(_0x3395cf);if(this[_0x2d16bb(0x268)]&&(!_0x425bc9||_0x425bc9['authorityId']!==this[_0x2d16bb(0x268)][_0x2d16bb(0x1d7)]||_0x425bc9[_0x2d16bb(0x281)]!==this[_0x2d16bb(0x268)][_0x2d16bb(0x281)]||!Number['isSafeInteger'](_0x425bc9['ownerPid'])||_0x425bc9[_0x2d16bb(0x1bd)]<=0x0||_0x425bc9['childPid']!==null&&(!Number['isSafeInteger'](_0x425bc9[_0x2d16bb(0x1f4)])||_0x425bc9[_0x2d16bb(0x1f4)]<=0x0)))return!![];if(_0x425bc9?.[_0x2d16bb(0x1b5)]){let _0x38c6ca=![];try{_0x38c6ca=sameWorkspace(_0x425bc9['workspace'],this[_0x2d16bb(0x1b5)]);}catch{}if(!_0x38c6ca)return Boolean(this[_0x2d16bb(0x268)]);}else{if(this[_0x2d16bb(0x268)])return!![];}if(!_0x425bc9||_0x425bc9['host']!==cacheHost||_0x509a1c(_0x425bc9[_0x2d16bb(0x1bd)],_0x425bc9[_0x2d16bb(0x270)])||_0x509a1c(_0x425bc9[_0x2d16bb(0x1f4)],_0x425bc9[_0x2d16bb(0x187)]))return!![];return fs[_0x2d16bb(0x276)](_0x3395cf),![];});}[_0x3b194f(0x168)](){const _0x2a346d=_0x3b194f;for(const _0x57ef19 of[_0x2a346d(0x18e),_0x2a346d(0x1a0)]){const _0x4bc28c=path[_0x2a346d(0x26f)](this['cache'],_0x57ef19);if(!fs[_0x2a346d(0x173)](_0x4bc28c))continue;rejectLink(_0x4bc28c);const _0x2fdb2a=fs[_0x2a346d(0x245)](_0x4bc28c,_0x2a346d(0x25f))[_0x2a346d(0x246)]();let _0x3a88d8;try{_0x3a88d8=_0x57ef19===_0x2a346d(0x1a0)?JSON[_0x2a346d(0x22e)](_0x2fdb2a)['pid']:Number(_0x2fdb2a);}catch{}if(!Number[_0x2a346d(0x16d)](_0x3a88d8)||_0x3a88d8<=0x0||live(_0x3a88d8)||Date[_0x2a346d(0x1b2)]()-fs['statSync'](_0x4bc28c)['mtimeMs']<0x1d4c0)throw fail(_0x2a346d(0x1ec),'Cache\x20lock\x20'+_0x57ef19+_0x2a346d(0x150));}}async['checkDatabase'](){const _0x54db2f=_0x3b194f;if(!fs['existsSync'](this['database'])){if([_0x54db2f(0x14d),_0x54db2f(0x1a5)][_0x54db2f(0x1ac)](_0x1692c3=>fs[_0x54db2f(0x173)](this['database']+_0x1692c3)))throw fail(_0x54db2f(0x1f8),_0x54db2f(0x161));return;}for(const _0xeb7374 of['','-wal',_0x54db2f(0x1a5)])rejectLink(this['database']+_0xeb7374);this['kind']===_0x54db2f(0x262)?await run(this[_0x54db2f(0x255)][_0x54db2f(0x214)],[...this[_0x54db2f(0x255)][_0x54db2f(0x152)]['slice'](0x0,-0x1),'-e','const\x20{DatabaseSync}=require(\x27node:sqlite\x27);const\x20db=new\x20DatabaseSync(process.argv[1],{readOnly:true});try{const\x20rows=db.prepare(\x27PRAGMA\x20integrity_check\x27).all();if(rows.some(r=>Object.values(r)[0]!==\x27ok\x27))throw\x20Error(\x27database\x20disk\x20image\x20is\x20malformed\x27);}finally{db.close()}',this['database']],{'timeout':indexTimeout()}):await run(this[_0x54db2f(0x255)][_0x54db2f(0x214)],['-c','import\x20sqlite3,sys,pathlib;\x20c=sqlite3.connect(pathlib.Path(sys.argv[1]).as_uri()+\x27?mode=ro\x27,uri=True);\x20rows=c.execute(\x27PRAGMA\x20integrity_check\x27).fetchall();\x20c.close();\x20assert\x20all(r[0]==\x27ok\x27\x20for\x20r\x20in\x20rows),\x20\x27database\x20disk\x20image\x20is\x20malformed\x27',this[_0x54db2f(0x24b)]],{'timeout':indexTimeout()});}async[_0x3b194f(0x1b1)](){const _0x588b02=_0x3b194f;if(this['authority'])return![];if(this[_0x588b02(0x1ae)]!==_0x588b02(0x262)||!this[_0x588b02(0x255)]['cacheDirectory']||fs[_0x588b02(0x173)](this[_0x588b02(0x24b)]))return![];const _0x553a84=path[_0x588b02(0x26f)](this[_0x588b02(0x1b5)],_0x588b02(0x19a));if(!fs[_0x588b02(0x173)](path[_0x588b02(0x26f)](_0x553a84,'codegraph.db')))return![];const _0x563b9d=Object[_0x588b02(0x247)](Object[_0x588b02(0x220)](Object[_0x588b02(0x215)](this)),this,{'cache':_0x553a84,'database':path[_0x588b02(0x26f)](_0x553a84,'codegraph.db'),'env':{...this[_0x588b02(0x23c)],'CODEGRAPH_DIR':_0x588b02(0x19a)}});try{const _0x22babe=read(path[_0x588b02(0x26f)](_0x553a84,'.apt-managed.json'));if(_0x22babe?.[_0x588b02(0x19d)]!==cacheHost){const _0x271014={};return _0x271014['status']=_0x588b02(0x14c),_0x271014[_0x588b02(0x1dd)]=_0x588b02(0x1e1),this[_0x588b02(0x165)]=_0x271014,![];}_0x563b9d['checkNativeLocks']();if(_0x563b9d[_0x588b02(0x24d)]()||!_0x563b9d[_0x588b02(0x1a6)]()&&!_0x563b9d['adoptLegacy']())return![];await _0x563b9d[_0x588b02(0x195)]();}catch(_0x1f6e01){const _0x459f78={};return _0x459f78[_0x588b02(0x249)]=_0x588b02(0x14c),_0x459f78[_0x588b02(0x1dd)]=_0x1f6e01['code']||_0x1f6e01[_0x588b02(0x23e)],this['legacyMigration']=_0x459f78,![];}if(!this['owned']()||fs['readdirSync'](this['cache'])['some'](_0x2c135e=>_0x2c135e!=='.apt-managed.json'))return![];const _0x362bd3=this[_0x588b02(0x1fe)]+'.apt-backup-'+crypto[_0x588b02(0x143)]();fs[_0x588b02(0x1ef)](this['cache'],_0x362bd3);try{fs['renameSync'](_0x553a84,this['cache']);}catch(_0x212f61){fs[_0x588b02(0x1ef)](_0x362bd3,this[_0x588b02(0x1fe)]);throw _0x212f61;}return this[_0x588b02(0x165)]={'status':_0x588b02(0x1b6),'from':_0x553a84,'to':this[_0x588b02(0x1fe)]},!![];}['sourceState'](){const _0x48a90f=_0x3b194f;return require(_0x48a90f(0x1e9))[_0x48a90f(0x196)](this[_0x48a90f(0x1ae)],this['workspace'],this[_0x48a90f(0x255)],this[_0x48a90f(0x23c)],this[_0x48a90f(0x20c)]?{'timeout':indexTimeout()}:{})||{'snapshot':snapshot(this['workspace']),'contract':_0x48a90f(0x16e),'config':hash(JSON[_0x48a90f(0x1c4)](this['profile'])),'incremental':![]};}[_0x3b194f(0x18f)](){const _0x29e0b5=_0x3b194f;if(!fs[_0x29e0b5(0x173)](this[_0x29e0b5(0x24b)]))return null;rejectLink(this[_0x29e0b5(0x24b)]);const _0x130608=fs[_0x29e0b5(0x203)](this['database']);return{'path':identity(this[_0x29e0b5(0x24b)]),'dev':String(_0x130608[_0x29e0b5(0x23f)]),'ino':String(_0x130608[_0x29e0b5(0x19e)]),'birthtimeMs':_0x130608[_0x29e0b5(0x15f)]};}[_0x3b194f(0x224)](_0x3f56f1,_0x558417){const _0x59819d=_0x3b194f;return _0x3f56f1?.[_0x59819d(0x249)]===_0x59819d(0x261)&&_0x3f56f1['workspace']===this[_0x59819d(0x1b5)]&&(!this[_0x59819d(0x268)]||_0x3f56f1[_0x59819d(0x1d7)]===this[_0x59819d(0x268)][_0x59819d(0x1d7)]&&_0x3f56f1[_0x59819d(0x281)]===this[_0x59819d(0x268)]['descriptorHash'])&&_0x3f56f1['version']===this[_0x59819d(0x255)][_0x59819d(0x1a1)]&&_0x3f56f1['database']===this[_0x59819d(0x24b)]&&_0x3f56f1[_0x59819d(0x211)]?.['contract']===_0x558417[_0x59819d(0x1ad)]&&_0x3f56f1[_0x59819d(0x211)]?.[_0x59819d(0x1f0)]===_0x558417[_0x59819d(0x1f0)]&&JSON[_0x59819d(0x1c4)](_0x3f56f1['databaseIdentity'])===JSON[_0x59819d(0x1c4)](this[_0x59819d(0x18f)]())&&fs[_0x59819d(0x173)](this['database']);}async[_0x3b194f(0x170)](){const _0x312c97=_0x3b194f;await this[_0x312c97(0x195)]();const _0x48f795=cp[_0x312c97(0x26a)](this[_0x312c97(0x255)][_0x312c97(0x214)],[bridge,_0x312c97(0x20f),this[_0x312c97(0x1b5)]],{'env':{...process.env,...this[_0x312c97(0x23c)]},'windowsHide':!![],'encoding':'utf8','timeout':0x3a98});return JSON['parse'](_0x48f795)[_0x312c97(0x25d)]===!![];}[_0x3b194f(0x1be)](_0x5c3cf2){const _0x294f87=_0x3b194f;if(_0x5c3cf2['adapter']!=='codegraph@1.6.0')return!![];if(!fs[_0x294f87(0x173)](this[_0x294f87(0x24b)]))return![];for(const _0x4e63f9 of['',_0x294f87(0x14d),_0x294f87(0x1a5)])rejectLink(this[_0x294f87(0x24b)]+_0x4e63f9);const _0x455ef1=this[_0x294f87(0x255)][_0x294f87(0x152)][_0x294f87(0x204)](_0x3c2253=>/[\\/]bin[\\/]codegraph\.js$/[_0x294f87(0x209)](_0x3c2253)),_0x4a5241=path[_0x294f87(0x1cc)](path[_0x294f87(0x1cc)](this['profile'][_0x294f87(0x152)][_0x455ef1])),_0x3aeca5=[_0x294f87(0x229),'const\x20[m,file,root,version]=process.argv.slice(1),db=new\x20DatabaseSync(file,{readOnly:true});','try{const\x20meta=Object.fromEntries(db.prepare(\x27SELECT\x20key,value\x20FROM\x20project_metadata\x27).all().map(r=>[r.key,r.value]));',_0x294f87(0x1f1),'const\x20files=new\x20Map(db.prepare(\x27SELECT\x20path,content_hash,errors\x20FROM\x20files\x27).all().map(r=>[r.path,r]));',_0x294f87(0x18a),_0x294f87(0x1e3),_0x294f87(0x177)][_0x294f87(0x26f)]('');try{const _0x295e8b=cp['execFileSync'](this[_0x294f87(0x255)][_0x294f87(0x214)],[...this[_0x294f87(0x255)][_0x294f87(0x152)][_0x294f87(0x233)](0x0,_0x455ef1),'-e',_0x3aeca5,_0x4a5241,this[_0x294f87(0x24b)],this[_0x294f87(0x1b5)],this['profile'][_0x294f87(0x1a1)]],{'env':{...process.env,...this[_0x294f87(0x23c)]},'windowsHide':!![],'encoding':_0x294f87(0x25f),'timeout':0x1d4c0,'maxBuffer':0x400*0x400});return JSON['parse'](_0x295e8b)['healthy']===!![];}catch{return![];}}async[_0x3b194f(0x1d1)](_0x429d7c={}){const _0x2bd336=_0x3b194f;this[_0x2bd336(0x17c)]();if(!this['owned']()&&!this['adoptLegacy']())throw fail(_0x2bd336(0x1e7),'Cache\x20ownership\x20is\x20not\x20proven;\x20custom\x20indexes\x20must\x20be\x20managed\x20separately');const _0x3b3a7a=this[_0x2bd336(0x268)]?{'authorityId':this[_0x2bd336(0x268)][_0x2bd336(0x1d7)],'descriptorHash':this['authority'][_0x2bd336(0x281)],'status':'built'}:{};if(this[_0x2bd336(0x268)]&&this['maintenance']){const _0x28db33=require(_0x2bd336(0x248))[_0x2bd336(0x181)](this[_0x2bd336(0x1b5)],this['maintenance'],this[_0x2bd336(0x268)][_0x2bd336(0x1af)]),_0x48a587={};_0x48a587[_0x2bd336(0x222)]=_0x28db33[_0x2bd336(0x1ea)],Object[_0x2bd336(0x247)](_0x3b3a7a,_0x48a587,Object[_0x2bd336(0x1e8)]([_0x2bd336(0x236),_0x2bd336(0x194),_0x2bd336(0x275),'transactionId'][_0x2bd336(0x156)](_0x48ad3a=>[_0x48ad3a,_0x28db33[_0x48ad3a]])));}const _0x5d2eba={..._0x3b3a7a,'status':_0x2bd336(0x1b9),'attemptId':crypto[_0x2bd336(0x143)]()};this['authority']&&(this[_0x2bd336(0x216)](path[_0x2bd336(0x26f)](this['directory'],_0x2bd336(0x202)),_0x5d2eba),buildOwners[_0x2bd336(0x1e4)](this,_0x5d2eba));try{return await this[_0x2bd336(0x191)](_0x3b3a7a,_0x429d7c);}catch(_0x50e636){if(this[_0x2bd336(0x268)])this[_0x2bd336(0x14b)](path[_0x2bd336(0x26f)](this[_0x2bd336(0x266)],'receipt.json'),_0x5d2eba,{..._0x3b3a7a,'status':[_0x2bd336(0x26b),_0x2bd336(0x278)][_0x2bd336(0x15c)](_0x50e636[_0x2bd336(0x14e)])?_0x2bd336(0x169):_0x2bd336(0x163),'code':_0x50e636['code']||_0x2bd336(0x193),'diagnostic':_0x50e636[_0x2bd336(0x188)]||null});throw _0x50e636;}finally{buildOwners[_0x2bd336(0x1f2)](this);}}[_0x3b194f(0x22d)](_0x494799){const _0x4c8c59=_0x3b194f;this[_0x4c8c59(0x17c)]();if(this['authority']&&JSON[_0x4c8c59(0x1c4)](read(path[_0x4c8c59(0x26f)](this[_0x4c8c59(0x266)],'receipt.json')))!==JSON[_0x4c8c59(0x1c4)](buildOwners['get'](this)))throw fail('INDEX_OUTCOME_UNKNOWN',_0x4c8c59(0x1c3));this['writeState'](path['join'](this[_0x4c8c59(0x266)],_0x4c8c59(0x202)),_0x494799);}async[_0x3b194f(0x191)](_0x4f7b6f,_0x477a4f={}){const _0x3aabd1=_0x3b194f,_0x53577f=this[_0x3aabd1(0x141)](),_0x2f185f=_0x477a4f[_0x3aabd1(0x20d)]===!![]&&_0x53577f[_0x3aabd1(0x20d)]&&this[_0x3aabd1(0x224)](_0x477a4f[_0x3aabd1(0x240)],_0x53577f)&&await this[_0x3aabd1(0x170)]();let _0x1e173f='full';const _0x2eb42e=()=>{const _0x384b57=_0x3aabd1,_0x1ccf6b=this[_0x384b57(0x141)]();if(_0x53577f[_0x384b57(0x263)]!==_0x1ccf6b[_0x384b57(0x263)]||_0x53577f[_0x384b57(0x1f0)]!==_0x1ccf6b['config']||_0x53577f[_0x384b57(0x1ad)]!==_0x1ccf6b[_0x384b57(0x1ad)])throw fail('GRAPH_CHANGED',_0x384b57(0x1c7));if(this['kind']==='codegraph'&&!this[_0x384b57(0x1be)](_0x1ccf6b))throw fail(_0x384b57(0x172),_0x384b57(0x1f6));const _0x49c837=this[_0x384b57(0x141)]();if(_0x53577f['snapshot']!==_0x49c837[_0x384b57(0x263)]||_0x53577f[_0x384b57(0x1f0)]!==_0x49c837[_0x384b57(0x1f0)]||_0x53577f[_0x384b57(0x1ad)]!==_0x49c837['contract'])throw fail(_0x384b57(0x15b),_0x384b57(0x243));this['publishBuildReceipt']({'workspace':this['workspace'],'snapshot':_0x53577f['snapshot'],'source':{'contract':_0x53577f[_0x384b57(0x1ad)],'config':_0x53577f[_0x384b57(0x1f0)],'adapter':_0x53577f[_0x384b57(0x1d3)]||null,'sourceCount':_0x53577f[_0x384b57(0x238)]??null},'databaseIdentity':this[_0x384b57(0x18f)](),'buildMode':_0x1e173f,'status':_0x384b57(0x261),'version':this[_0x384b57(0x255)][_0x384b57(0x1a1)],'database':this[_0x384b57(0x24b)],'builtAt':new Date()['toISOString'](),..._0x4f7b6f});};if(this['kind']===_0x3aabd1(0x262)){const _0x3c1d8c=fs[_0x3aabd1(0x173)](this[_0x3aabd1(0x24b)]),_0x520f97=await run(this[_0x3aabd1(0x255)][_0x3aabd1(0x214)],[...this[_0x3aabd1(0x255)][_0x3aabd1(0x152)],_0x3c1d8c?'index':_0x3aabd1(0x272),this[_0x3aabd1(0x1b5)],_0x3c1d8c?_0x3aabd1(0x21a):_0x3aabd1(0x1f3)],{'cwd':this[_0x3aabd1(0x1b5)],'env':{...process.env,...this[_0x3aabd1(0x23c)]},'windowsHide':!![],'timeout':indexTimeout(),'maxBuffer':0x4*0x400*0x400}),_0x9874d4={..._0x520f97[_0x3aabd1(0x188)]};_0x9874d4['buildMode']=_0x1e173f,this[_0x3aabd1(0x210)]=_0x9874d4,_0x2eb42e();return;}const _0x2d3ff5=this[_0x3aabd1(0x184)]();if(path[_0x3aabd1(0x27b)](_0x2d3ff5[_0x3aabd1(0x24b)])!==path[_0x3aabd1(0x27b)](this['database']))throw fail(_0x3aabd1(0x25a),_0x3aabd1(0x1f7));try{const _0xc81e98=await run(this[_0x3aabd1(0x255)]['command'],[bridge,_0x2f185f?_0x3aabd1(0x24c):_0x3aabd1(0x1d1),this[_0x3aabd1(0x1b5)]],{'cwd':this[_0x3aabd1(0x1b5)],'env':{...process.env,...this[_0x3aabd1(0x23c)]},'windowsHide':!![],'timeout':indexTimeout(),'maxBuffer':0x4*0x400*0x400}),_0x46ccf5=JSON['parse'](_0xc81e98[_0x3aabd1(0x1c6)]);_0x1e173f=String(_0x46ccf5[_0x3aabd1(0x230)])['startsWith'](_0x3aabd1(0x20d))?_0x3aabd1(0x20d):_0x3aabd1(0x254);const _0x4504bf={..._0xc81e98['diagnostic']};_0x4504bf[_0x3aabd1(0x18d)]=_0x1e173f,this[_0x3aabd1(0x210)]=_0x4504bf;}catch(_0x205a72){let _0x37c241=_0x205a72[_0x3aabd1(0x23e)];try{_0x37c241=JSON['parse'](_0x205a72[_0x3aabd1(0x188)]?.[_0x3aabd1(0x1c6)])['error']||_0x37c241;}catch{}throw Object[_0x3aabd1(0x247)](fail(_0x205a72[_0x3aabd1(0x14e)]||classify(_0x37c241),_0x37c241),{'diagnostic':_0x205a72['diagnostic']});}_0x2eb42e();}[_0x3b194f(0x1b8)](_0x46d8cd=process.env){const _0x428130=_0x3b194f,_0x4d347d=_0x46d8cd[_0x428130(0x1a3)]===_0x428130(0x254)?null:read(path[_0x428130(0x26f)](this[_0x428130(0x266)],'receipt.json'));return this[_0x428130(0x1d1)](_0x4d347d?.[_0x428130(0x249)]===_0x428130(0x261)?{'incremental':!![],'previousReceipt':_0x4d347d}:{});}async['refresh'](){const _0x284b96=_0x3b194f,_0x41b884=this[_0x284b96(0x23d)]();try{this[_0x284b96(0x17c)]();const _0x42eb5a=read(path[_0x284b96(0x26f)](this['directory'],_0x284b96(0x202))),_0x5c0d8d=this[_0x284b96(0x141)](),_0x57934c=this['receiptMatches'](_0x42eb5a,_0x5c0d8d);if(!_0x57934c||_0x42eb5a[_0x284b96(0x263)]!==_0x5c0d8d['snapshot']||_0x5c0d8d[_0x284b96(0x20d)]&&!await this['incrementalHealthy']()||this[_0x284b96(0x1ae)]===_0x284b96(0x262)&&!this[_0x284b96(0x1be)](_0x5c0d8d))await this[_0x284b96(0x1d1)]({'incremental':_0x57934c,'previousReceipt':_0x42eb5a});return read(path[_0x284b96(0x26f)](this['directory'],_0x284b96(0x202)));}finally{_0x41b884();}}async[_0x3b194f(0x153)](_0x1a05b4=![]){const _0x404f55=_0x3b194f,_0x507ce2=_0x1a05b4?null:this[_0x404f55(0x23d)](),_0x49b72e=path[_0x404f55(0x26f)](this[_0x404f55(0x266)],'recovery.json');let _0x1287fc;try{this[_0x404f55(0x17c)]();if(!this['owned']())throw fail(_0x404f55(0x1e7),_0x404f55(0x17b));if(this['otherUsers']())throw fail(_0x404f55(0x1ec),_0x404f55(0x166));this[_0x404f55(0x168)]();if(this[_0x404f55(0x1ae)]===_0x404f55(0x235)&&spelling(this[_0x404f55(0x184)]()[_0x404f55(0x24b)])!==spelling(this[_0x404f55(0x24b)]))throw fail(_0x404f55(0x25a),_0x404f55(0x1f7));const _0x1eb957=fs[_0x404f55(0x173)](this['cache'])?fs[_0x404f55(0x22c)](this[_0x404f55(0x1fe)]):null,_0x557f71=_0x1eb957?_0x1eb957+'.apt-backup-'+crypto['randomUUID']():null;_0x1287fc={'status':_0x404f55(0x159),'backup':_0x557f71,'workspace':this[_0x404f55(0x1b5)],'at':new Date()['toISOString']()},this[_0x404f55(0x216)](_0x49b72e,_0x1287fc);if(this[_0x404f55(0x268)])recoveryOwners[_0x404f55(0x1e4)](this,_0x1287fc);if(_0x557f71)fs[_0x404f55(0x1ef)](_0x1eb957,_0x557f71);const _0x38f575={};_0x38f575[_0x404f55(0x1b4)]=!![],fs[_0x404f55(0x252)](this['cache'],_0x38f575),this[_0x404f55(0x216)](path[_0x404f55(0x26f)](this['cache'],'.apt-managed.json'),this['authority']?.[_0x404f55(0x1af)]||{'owner':_0x404f55(0x189),'workspace':this[_0x404f55(0x1b5)],'kind':this[_0x404f55(0x1ae)]}),await this[_0x404f55(0x1d1)]();const _0x4fa21c={..._0x1287fc};_0x4fa21c['status']='rebuilt';const _0x203289=_0x4fa21c;return this[_0x404f55(0x176)](_0x49b72e,_0x1287fc,_0x203289),_0x557f71;}catch(_0x2100cc){if(_0x1287fc)this[_0x404f55(0x14b)](_0x49b72e,_0x1287fc,{..._0x1287fc,'status':['INDEX_STOP_UNCONFIRMED','INDEX_OUTCOME_UNKNOWN'][_0x404f55(0x15c)](_0x2100cc[_0x404f55(0x14e)])?'unknown':'failed','code':_0x2100cc['code']||_0x404f55(0x193),'diagnostic':_0x2100cc[_0x404f55(0x188)]||null,'reason':_0x2100cc[_0x404f55(0x23e)]});recoveryOwners['delete'](this);throw _0x2100cc;}finally{_0x507ce2?.();}}async[_0x3b194f(0x1d8)](_0x51ec6b,_0x3a5137){const _0x18fb15=_0x3b194f;if(![_0x18fb15(0x16a),'INDEX_CORRUPT'][_0x18fb15(0x15c)](_0x3a5137[_0x18fb15(0x14e)])||!this[_0x18fb15(0x1a6)]())return![];let _0x203b9e;try{_0x203b9e=this[_0x18fb15(0x23d)]();}catch(_0x386070){const _0x3f6662={};return _0x3f6662['status']=_0x18fb15(0x242),_0x3f6662['reason']=_0x386070[_0x18fb15(0x23e)],_0x51ec6b[_0x18fb15(0x21b)]=_0x3f6662,![];}const _0x26c392=path[_0x18fb15(0x26f)](this[_0x18fb15(0x266)],_0x18fb15(0x27c));let _0x3e700f;try{this[_0x18fb15(0x17c)]();if(this[_0x18fb15(0x1ae)]==='code-review-graph'&&spelling(this[_0x18fb15(0x184)]()[_0x18fb15(0x24b)])!==spelling(this['database']))throw fail(_0x18fb15(0x25a),'Review\x20registry\x20changed\x20the\x20active\x20database');if(this[_0x18fb15(0x24d)]()){const _0xd3f098={};return _0xd3f098['status']=_0x18fb15(0x242),_0xd3f098['reason']=_0x18fb15(0x166),_0x51ec6b[_0x18fb15(0x21b)]=_0xd3f098,![];}const _0x2760bb=hash(fs['existsSync'](this[_0x18fb15(0x24b)])?fs[_0x18fb15(0x245)](this[_0x18fb15(0x24b)]):_0x18fb15(0x1f9)),_0x85444b=read(_0x26c392);if(_0x85444b&&_0x85444b['status']!==_0x18fb15(0x20b)&&(_0x85444b[_0x18fb15(0x1d4)]===_0x2760bb||_0x85444b['failedFingerprint']===_0x2760bb))return _0x51ec6b[_0x18fb15(0x21b)]=_0x85444b,![];const _0x46a3bc=fs[_0x18fb15(0x22c)](this[_0x18fb15(0x1fe)]),_0x120a66=_0x46a3bc+_0x18fb15(0x250)+crypto[_0x18fb15(0x143)](),_0x5f04e7=read(path['join'](_0x46a3bc,_0x18fb15(0x24e)));_0x3e700f={'status':'recovering','fingerprint':_0x2760bb,'backup':_0x120a66,'workspace':this['workspace'],'at':new Date()['toISOString']()},this[_0x18fb15(0x216)](_0x26c392,_0x3e700f),_0x51ec6b[_0x18fb15(0x21b)]=_0x3e700f;if(this['authority'])recoveryOwners[_0x18fb15(0x1e4)](this,_0x3e700f);const _0x42d092=_0x51ec6b['generation']===undefined?undefined:_0x51ec6b[_0x18fb15(0x236)]+0x1;await _0x51ec6b[_0x18fb15(0x251)]();if(_0x51ec6b[_0x18fb15(0x236)]!==_0x42d092)throw fail(_0x18fb15(0x1cd),'Backend\x20was\x20stopped\x20during\x20recovery');this['assertAvailable'](),this['checkNativeLocks']();if(!this['owned']())throw fail(_0x18fb15(0x1e7),_0x18fb15(0x197));fs[_0x18fb15(0x1ef)](_0x46a3bc,_0x120a66),fs[_0x18fb15(0x252)](_0x46a3bc),this[_0x18fb15(0x216)](path['join'](_0x46a3bc,_0x18fb15(0x24e)),_0x5f04e7),await this[_0x18fb15(0x1d1)]();if(_0x51ec6b[_0x18fb15(0x236)]!==_0x42d092)throw fail(_0x18fb15(0x1cd),_0x18fb15(0x228));_0x51ec6b[_0x18fb15(0x149)](![],!![]);const _0x49e12f={..._0x3e700f};return _0x49e12f['status']=_0x18fb15(0x269),_0x51ec6b[_0x18fb15(0x21b)]=_0x49e12f,this[_0x18fb15(0x176)](_0x26c392,_0x3e700f,_0x51ec6b[_0x18fb15(0x21b)]),!![];}catch(_0x4d4246){const _0x57f8e5=hash(fs[_0x18fb15(0x173)](this['database'])?fs[_0x18fb15(0x245)](this[_0x18fb15(0x24b)]):_0x18fb15(0x1f9));return _0x51ec6b[_0x18fb15(0x21b)]={..._0x51ec6b[_0x18fb15(0x21b)]||{},'status':[_0x18fb15(0x26b),'INDEX_OUTCOME_UNKNOWN'][_0x18fb15(0x15c)](_0x4d4246[_0x18fb15(0x14e)])?'unknown':_0x18fb15(0x163),'code':_0x4d4246[_0x18fb15(0x14e)]||_0x18fb15(0x193),'diagnostic':_0x4d4246[_0x18fb15(0x188)]||null,'failedFingerprint':_0x57f8e5,'reason':_0x4d4246['message']},this[_0x18fb15(0x14b)](_0x26c392,_0x3e700f,_0x51ec6b[_0x18fb15(0x21b)]),recoveryOwners['delete'](this),![];}finally{_0x203b9e();}}[_0x3b194f(0x20b)](_0x3e869c){const _0x551877=_0x3b194f;if(this['authority']){const _0xf3c8c0=this[_0x551877(0x23d)]();try{this[_0x551877(0x17c)]();const _0x57a961=read(path[_0x551877(0x26f)](this['directory'],_0x551877(0x27c))),_0x9cae48=recoveryOwners[_0x551877(0x257)](this);if(!_0x9cae48||_0x9cae48[_0x551877(0x249)]!=='rebuilt'||JSON[_0x551877(0x1c4)](_0x57a961)!==JSON['stringify'](_0x9cae48)||JSON[_0x551877(0x1c4)](_0x3e869c[_0x551877(0x21b)])!==JSON['stringify'](_0x9cae48))throw fail('INDEX_RECOVERY_CHANGED',_0x551877(0x186));if(_0x3e869c['indexStore']!==this||_0x3e869c[_0x551877(0x21f)]!==!![])throw fail(_0x551877(0x172),_0x551877(0x18b));const _0x51f8f7={..._0x9cae48};_0x51f8f7[_0x551877(0x249)]=_0x551877(0x20b),_0x3e869c[_0x551877(0x21b)]=_0x51f8f7,this[_0x551877(0x216)](path[_0x551877(0x26f)](this[_0x551877(0x266)],_0x551877(0x27c)),_0x3e869c['indexRecovery']),recoveryOwners[_0x551877(0x1f2)](this);return;}finally{_0xf3c8c0();}}_0x3e869c[_0x551877(0x21b)]={..._0x3e869c[_0x551877(0x21b)],'status':'recovered'},atomic(path['join'](this['directory'],_0x551877(0x27c)),_0x3e869c[_0x551877(0x21b)]),recoveryOwners[_0x551877(0x1f2)](this);}}const _0x5cbd9c={};_0x5cbd9c[_0x3b194f(0x1db)]=IndexStore,_0x5cbd9c[_0x3b194f(0x263)]=snapshot,_0x5cbd9c[_0x3b194f(0x17a)]=responseError,_0x5cbd9c[_0x3b194f(0x279)]=classify,_0x5cbd9c[_0x3b194f(0x21e)]=atomic,module[_0x3b194f(0x1d6)]=_0x5cbd9c;function _0x5852(_0x3fffe5,_0x3fdf3f){_0x3fffe5=_0x3fffe5-0x141;const _0x452657=_0x4526();let _0x5852fd=_0x452657[_0x3fffe5];if(_0x5852['dGMpsY']===undefined){var _0x36ff7f=function(_0x6bb95d){const _0x143a44='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x516ff4='',_0x59e408='';for(let _0x2cff97=0x0,_0x45da63,_0x2e7fbd,_0x4980e9=0x0;_0x2e7fbd=_0x6bb95d['charAt'](_0x4980e9++);~_0x2e7fbd&&(_0x45da63=_0x2cff97%0x4?_0x45da63*0x40+_0x2e7fbd:_0x2e7fbd,_0x2cff97++%0x4)?_0x516ff4+=String['fromCharCode'](0xff&_0x45da63>>(-0x2*_0x2cff97&0x6)):0x0){_0x2e7fbd=_0x143a44['indexOf'](_0x2e7fbd);}for(let _0x457900=0x0,_0x395f6c=_0x516ff4['length'];_0x457900<_0x395f6c;_0x457900++){_0x59e408+='%'+('00'+_0x516ff4['charCodeAt'](_0x457900)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x59e408);};_0x5852['MEBUHd']=_0x36ff7f,_0x5852['PRdLCa']={},_0x5852['dGMpsY']=!![];}const _0x56e099=_0x452657[0x0],_0x3be279=_0x3fffe5+_0x56e099,_0x855f70=_0x5852['PRdLCa'][_0x3be279];return!_0x855f70?(_0x5852fd=_0x5852['MEBUHd'](_0x5852fd),_0x5852['PRdLCa'][_0x3be279]=_0x5852fd):_0x5852fd=_0x855f70,_0x5852fd;}require[_0x3b194f(0x24a)]===module&&(async()=>{const _0x3d1848=_0x3b194f,_0x366497=require(_0x3d1848(0x1ed)),_0x5023fa=fs[_0x3d1848(0x22c)](process[_0x3d1848(0x20e)][0x2]),_0x5b177f=require('./index-maintenance')[_0x3d1848(0x231)](_0x5023fa),_0x4ec8cc=safeDirectory(_0x5023fa,_0x3d1848(0x148)),_0x1886cb={'workspace':_0x5023fa,'startedAt':new Date()[_0x3d1848(0x227)](),'status':_0x3d1848(0x15d),'backends':[]},_0x208e0c=path['join'](_0x4ec8cc,_0x3d1848(0x17f));atomic(_0x208e0c,_0x1886cb);for(const [_0x35fc38,_0x660a50]of[[_0x3d1848(0x262),_0x366497['codegraph']],[_0x3d1848(0x235),_0x366497[_0x3d1848(0x1f5)]]]){let _0x463ca9,_0xacacc8;const _0x4bdca5={'backend':_0x35fc38,'workspace':_0x5023fa,'startedAt':new Date()[_0x3d1848(0x227)](),'status':_0x3d1848(0x15d)};_0x1886cb[_0x3d1848(0x239)][_0x3d1848(0x147)](_0x4bdca5);try{const _0x59b410=_0x660a50(),_0x21d26a={};_0x21d26a[_0x3d1848(0x1a1)]=_0x59b410[_0x3d1848(0x1a1)],_0x21d26a[_0x3d1848(0x1e0)]=_0x59b410[_0x3d1848(0x214)],Object['assign'](_0x4bdca5,_0x21d26a);const _0x3d737c={};_0x3d737c['maintenance']=_0x5b177f,_0x463ca9=new IndexStore(_0x35fc38,_0x5023fa,_0x59b410,_0x3d737c);const _0x3ad971={};_0x3ad971['cache']=_0x463ca9[_0x3d1848(0x1fe)],_0x3ad971['database']=_0x463ca9[_0x3d1848(0x24b)],_0x3ad971[_0x3d1848(0x154)]=_0x463ca9['pathSource']||_0x3d1848(0x255),Object[_0x3d1848(0x247)](_0x4bdca5,_0x3ad971),_0xacacc8=_0x463ca9['lock']();if(_0x463ca9[_0x3d1848(0x24d)]())throw fail(_0x3d1848(0x1ec),_0x3d1848(0x206));await _0x463ca9[_0x3d1848(0x1b1)](),_0x4bdca5[_0x3d1848(0x165)]=_0x463ca9['legacyMigration']||null,_0x463ca9[_0x3d1848(0x168)]();try{await _0x463ca9[_0x3d1848(0x195)](),await _0x463ca9[_0x3d1848(0x1b8)]();}catch(_0x5cd4c4){if(_0x5cd4c4[_0x3d1848(0x14e)]!==_0x3d1848(0x1f8)||!_0x463ca9[_0x3d1848(0x1a6)]()&&!_0x463ca9[_0x3d1848(0x280)]())throw _0x5cd4c4;_0x4bdca5[_0x3d1848(0x27f)]=_0x3d1848(0x183),_0x4bdca5['backup']=await _0x463ca9[_0x3d1848(0x153)](!![]);}Object[_0x3d1848(0x247)](_0x4bdca5,_0x463ca9[_0x3d1848(0x210)],{'status':_0x3d1848(0x261),'functionalReady':![],'recoveryStatus':_0x4bdca5['recoveryStatus']||_0x3d1848(0x20a)}),_0xacacc8(),_0xacacc8=null;const {BackendProcess:_0x3c9538}=require('../proxy/backends'),_0x20f239=_0x35fc38===_0x3d1848(0x262)?[..._0x59b410[_0x3d1848(0x152)],_0x3d1848(0x1bf),_0x3d1848(0x1d5)]:_0x59b410['args'],_0x54307d=new _0x3c9538(_0x35fc38,_0x59b410[_0x3d1848(0x214)],_0x20f239,{'cwd':_0x5023fa,'env':{..._0x59b410[_0x3d1848(0x23c)],..._0x463ca9[_0x3d1848(0x23c)]},'maxRetries':0x0});_0x54307d[_0x3d1848(0x205)]=_0x463ca9;try{_0x54307d[_0x3d1848(0x149)](![]);const _0x4627fb={};_0x4627fb[_0x3d1848(0x25e)]=_0x3d1848(0x273),_0x4627fb['version']='1';const _0x2bad51={};_0x2bad51[_0x3d1848(0x208)]=_0x3d1848(0x1ba),_0x2bad51['capabilities']={},_0x2bad51['clientInfo']=_0x4627fb,await _0x54307d[_0x3d1848(0x1df)](_0x2bad51);if(!_0x54307d[_0x3d1848(0x21f)])throw fail('INDEX_PROBE_FAILED',_0x3d1848(0x213));_0x4bdca5[_0x3d1848(0x21f)]=!![];_0x4bdca5[_0x3d1848(0x151)]&&(_0x54307d[_0x3d1848(0x21b)]=read(path[_0x3d1848(0x26f)](_0x463ca9[_0x3d1848(0x266)],_0x3d1848(0x27c))),_0x463ca9['recovered'](_0x54307d),_0x4bdca5[_0x3d1848(0x27f)]=_0x3d1848(0x20b));if(_0x463ca9[_0x3d1848(0x268)])require(_0x3d1848(0x1b3))[_0x3d1848(0x225)](_0x463ca9['authority'],_0x54307d,_0x5b177f);}finally{await _0x54307d[_0x3d1848(0x251)]();}_0x463ca9[_0x3d1848(0x17c)]();}catch(_0x2ba35d){Object[_0x3d1848(0x247)](_0x4bdca5,_0x2ba35d[_0x3d1848(0x188)],{'status':_0x3d1848(0x163),'reasonCode':_0x2ba35d[_0x3d1848(0x14e)]||'INDEX_SETUP_FAILED','message':_0x2ba35d[_0x3d1848(0x23e)]});if(_0x463ca9){const _0xc4381d=read(path[_0x3d1848(0x26f)](_0x463ca9[_0x3d1848(0x266)],_0x3d1848(0x27c)));if(_0xc4381d)Object[_0x3d1848(0x247)](_0x4bdca5,{'recoveryStatus':_0xc4381d[_0x3d1848(0x249)],'backup':_0xc4381d[_0x3d1848(0x151)]});}console[_0x3d1848(0x200)]('['+_0x35fc38+']\x20'+_0x4bdca5[_0x3d1848(0x1e2)]+':\x20'+_0x2ba35d[_0x3d1848(0x23e)]),process['exitCode']=0x2;}finally{_0xacacc8?.(),_0x4bdca5['endedAt']=new Date()[_0x3d1848(0x227)](),atomic(_0x208e0c,_0x1886cb);}}_0x1886cb[_0x3d1848(0x249)]=process['exitCode']?_0x3d1848(0x163):_0x3d1848(0x261),_0x1886cb[_0x3d1848(0x234)]=new Date()[_0x3d1848(0x227)](),atomic(_0x208e0c,_0x1886cb);})()[_0x3b194f(0x155)](_0x2bebf7=>{const _0x37f98d=_0x3b194f;console[_0x37f98d(0x200)]((_0x2bebf7[_0x37f98d(0x14e)]||_0x37f98d(0x267))+':\x20'+_0x2bebf7[_0x37f98d(0x23e)]),process[_0x37f98d(0x1b7)]=0x1;});
|
package/src/backends/profiles.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const _0x4fe66a=_0x33bb;(function(_0x12e147,_0x7442e2){const _0x3e9780=_0x33bb,_0xa2e2e4=_0x12e147();while(!![]){try{const _0x42bd79=-parseInt(_0x3e9780(0x247))/0x1+-parseInt(_0x3e9780(0x234))/0x2*(parseInt(_0x3e9780(0x259))/0x3)+parseInt(_0x3e9780(0x22b))/0x4*(-parseInt(_0x3e9780(0x24c))/0x5)+parseInt(_0x3e9780(0x237))/0x6+parseInt(_0x3e9780(0x23a))/0x7*(-parseInt(_0x3e9780(0x21e))/0x8)+parseInt(_0x3e9780(0x253))/0x9+parseInt(_0x3e9780(0x213))/0xa;if(_0x42bd79===_0x7442e2)break;else _0xa2e2e4['push'](_0xa2e2e4['shift']());}catch(_0x3b7ac8){_0xa2e2e4['push'](_0xa2e2e4['shift']());}}}(_0x2d48,0xb73d7));const fs=require('fs'),path=require(_0x4fe66a(0x268)),os=require('os'),cp=require('child_process'),CODEGRAPH_VERSION='1.6.0',_0x34105f={};_0x34105f[_0x4fe66a(0x24d)]=_0x4fe66a(0x260),_0x34105f[_0x4fe66a(0x209)]='3.4.2',_0x34105f[_0x4fe66a(0x205)]=_0x4fe66a(0x215);const REVIEW_VERSIONS=Object[_0x4fe66a(0x240)](_0x34105f),MEMORY_VERSION=_0x4fe66a(0x1f2),PLAYWRIGHT_MCP_VERSION=_0x4fe66a(0x25a),CACHE_CONTRACT=0x3,PROFILE=_0x4fe66a(0x233)+CODEGRAPH_VERSION+_0x4fe66a(0x20b)+REVIEW_VERSIONS[_0x4fe66a(0x24d)]+_0x4fe66a(0x20f)+REVIEW_VERSIONS[_0x4fe66a(0x209)]+_0x4fe66a(0x211)+REVIEW_VERSIONS[_0x4fe66a(0x205)]+_0x4fe66a(0x245)+MEMORY_VERSION,root=()=>process.env.APT_BACKEND_ROOT||path[_0x4fe66a(0x270)](os['homedir'](),'.anhdh','backends'),pythonAt=_0x46300a=>path[_0x4fe66a(0x270)](_0x46300a,process['platform']===_0x4fe66a(0x251)?_0x4fe66a(0x1f8):'bin/python'),reviewHome=()=>path[_0x4fe66a(0x270)](root(),'review-'+REVIEW_VERSIONS[_0x4fe66a(0x24d)]+'-fastmcp-'+REVIEW_VERSIONS[_0x4fe66a(0x209)]+'-mcp-'+REVIEW_VERSIONS['mcp']),memoryHome=()=>path[_0x4fe66a(0x270)](root(),'memory-'+MEMORY_VERSION),codeHome=()=>path[_0x4fe66a(0x270)](root(),_0x4fe66a(0x233)+CODEGRAPH_VERSION),run=(_0x42e790,_0xe50e8f,_0x2c2960={})=>cp['execFileSync'](_0x42e790,_0xe50e8f,{'windowsHide':!![],'encoding':_0x4fe66a(0x226),'timeout':0x1d4c0,'stdio':'pipe',..._0x2c2960}),npmCli=require('../core/npm-cli');function _0x33bb(_0x540018,_0x5c56d0){_0x540018=_0x540018-0x1ea;const _0x2d4855=_0x2d48();let _0x33bb92=_0x2d4855[_0x540018];if(_0x33bb['peruYc']===undefined){var _0x441789=function(_0xc7e25d){const _0x2be760='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x34105f='',_0x420550='';for(let _0x231706=0x0,_0x304674,_0x4ca032,_0x1508d8=0x0;_0x4ca032=_0xc7e25d['charAt'](_0x1508d8++);~_0x4ca032&&(_0x304674=_0x231706%0x4?_0x304674*0x40+_0x4ca032:_0x4ca032,_0x231706++%0x4)?_0x34105f+=String['fromCharCode'](0xff&_0x304674>>(-0x2*_0x231706&0x6)):0x0){_0x4ca032=_0x2be760['indexOf'](_0x4ca032);}for(let _0x175d97=0x0,_0x5465ca=_0x34105f['length'];_0x175d97<_0x5465ca;_0x175d97++){_0x420550+='%'+('00'+_0x34105f['charCodeAt'](_0x175d97)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x420550);};_0x33bb['uKdxRY']=_0x441789,_0x33bb['LgesDf']={},_0x33bb['peruYc']=!![];}const _0x524444=_0x2d4855[0x0],_0x5d744e=_0x540018+_0x524444,_0x57bd51=_0x33bb['LgesDf'][_0x5d744e];return!_0x57bd51?(_0x33bb92=_0x33bb['uKdxRY'](_0x33bb92),_0x33bb['LgesDf'][_0x5d744e]=_0x33bb92):_0x33bb92=_0x57bd51,_0x33bb92;}function codegraph(){const _0x321ea1=_0x4fe66a,_0x16b7e3=path[_0x321ea1(0x270)](codeHome(),_0x321ea1(0x210)),_0xf9322a=JSON['parse'](fs[_0x321ea1(0x1ea)](path[_0x321ea1(0x270)](_0x16b7e3,_0x321ea1(0x23e)),'utf8'));if(_0xf9322a[_0x321ea1(0x201)]!==CODEGRAPH_VERSION)throw new Error(_0x321ea1(0x1fc));const _0x1db582=path['join'](codeHome(),'node_modules/@colbymchenry/codegraph-'+process[_0x321ea1(0x20c)]+'-'+process[_0x321ea1(0x278)]),_0x3bccdb=JSON[_0x321ea1(0x26d)](fs[_0x321ea1(0x1ea)](path['join'](_0x1db582,_0x321ea1(0x23e)),_0x321ea1(0x226))),_0x206a8f=path[_0x321ea1(0x270)](_0x1db582,process[_0x321ea1(0x20c)]==='win32'?_0x321ea1(0x1f3):_0x321ea1(0x25e)),_0x15108a=path[_0x321ea1(0x270)](_0x1db582,_0x321ea1(0x25b));if(_0x3bccdb[_0x321ea1(0x201)]!==CODEGRAPH_VERSION||!fs[_0x321ea1(0x224)](_0x206a8f)||!fs[_0x321ea1(0x224)](_0x15108a))throw new Error(_0x321ea1(0x22a));const _0x514cb3=process[_0x321ea1(0x20c)]+'-'+process['arch'],_0x2c9916={};return _0x2c9916[_0x321ea1(0x246)]=_0x206a8f,_0x2c9916[_0x321ea1(0x254)]=[_0x321ea1(0x1f1),_0x321ea1(0x20e),_0x15108a],_0x2c9916[_0x321ea1(0x201)]=CODEGRAPH_VERSION,_0x2c9916['cacheContract']=CACHE_CONTRACT,_0x2c9916[_0x321ea1(0x221)]=_0x321ea1(0x21b)+_0x514cb3,_0x2c9916[_0x321ea1(0x1f6)]={},_0x2c9916[_0x321ea1(0x1f6)][_0x321ea1(0x1fb)]=_0x321ea1(0x214),_0x2c9916[_0x321ea1(0x1f6)][_0x321ea1(0x271)]='1',_0x2c9916[_0x321ea1(0x1f6)]['CODEGRAPH_DIR']=_0x321ea1(0x21b)+_0x514cb3,_0x2c9916;}function review(){const _0x5320dc=_0x4fe66a,_0x1382d7=pythonAt(reviewHome());if(!fs[_0x5320dc(0x224)](_0x1382d7))throw new Error(_0x5320dc(0x200));const _0x3c4b6d=process['platform']===_0x5320dc(0x251)?path[_0x5320dc(0x270)](reviewHome(),_0x5320dc(0x206),'site-packages'):fs[_0x5320dc(0x243)](path[_0x5320dc(0x270)](reviewHome(),_0x5320dc(0x22c)))[_0x5320dc(0x255)](_0x5765ce=>/^python\d+\.\d+$/[_0x5320dc(0x22e)](_0x5765ce))['map'](_0x3c1ed6=>path['join'](reviewHome(),_0x5320dc(0x22c),_0x3c1ed6,_0x5320dc(0x21c)))[_0x5320dc(0x242)](_0x72310e=>fs[_0x5320dc(0x224)](_0x72310e));if(!_0x3c4b6d)throw new Error(_0x5320dc(0x1f9));const _0x2039a5=fs[_0x5320dc(0x243)](_0x3c4b6d)[_0x5320dc(0x255)](_0x91ac83=>_0x91ac83['endsWith'](_0x5320dc(0x26b))),_0x4430d4=Object[_0x5320dc(0x217)](Object[_0x5320dc(0x219)](REVIEW_VERSIONS)[_0x5320dc(0x231)](_0x3cbfab=>{const _0x216b4c=_0x5320dc,_0x145fae=(_0x3cbfab['replace'](/-/g,'_')+'-')['toLowerCase'](),_0x49a834=_0x2039a5[_0x216b4c(0x242)](_0x80ecef=>_0x80ecef[_0x216b4c(0x216)]()['startsWith'](_0x145fae));return[_0x3cbfab,_0x49a834?.[_0x216b4c(0x274)](_0x145fae[_0x216b4c(0x262)],-_0x216b4c(0x26b)['length'])||null];}));if(Object[_0x5320dc(0x207)](REVIEW_VERSIONS)[_0x5320dc(0x1fe)](([_0x1ea6e2,_0x3758a0])=>_0x4430d4[_0x1ea6e2]!==_0x3758a0))throw new Error(_0x5320dc(0x26c));return{'command':_0x1382d7,'args':['-m','code_review_graph','serve'],'version':REVIEW_VERSIONS[_0x5320dc(0x24d)],'versions':_0x4430d4,'cacheContract':CACHE_CONTRACT,'cacheDirectory':'.agents/.data/graph-'+REVIEW_VERSIONS[_0x5320dc(0x24d)],'env':{'CRG_HOME':path[_0x5320dc(0x270)](reviewHome(),_0x5320dc(0x26a))}};}function memory(){const _0x5d2095=_0x4fe66a,_0x2681ec=path[_0x5d2095(0x270)](memoryHome(),'node_modules/@modelcontextprotocol/server-memory'),_0x325be4=JSON['parse'](fs['readFileSync'](path[_0x5d2095(0x270)](_0x2681ec,'package.json'),'utf8'));if(_0x325be4[_0x5d2095(0x201)]!==MEMORY_VERSION)throw new Error(_0x5d2095(0x1fa));const _0x50bbe5=path[_0x5d2095(0x270)](_0x2681ec,_0x325be4[_0x5d2095(0x227)]?.[_0x5d2095(0x23d)]||_0x5d2095(0x263));if(!fs['existsSync'](_0x50bbe5))throw new Error(_0x5d2095(0x202));const _0xcd16b9={};return _0xcd16b9['command']=process['execPath'],_0xcd16b9['args']=[_0x50bbe5],_0xcd16b9[_0x5d2095(0x201)]=MEMORY_VERSION,_0xcd16b9;}function browserLocal(){const _0x46ee5b=_0x4fe66a,_0xf10577=path[_0x46ee5b(0x270)](root(),_0x46ee5b(0x225)+PLAYWRIGHT_MCP_VERSION),_0x2f82dc=path['join'](_0xf10577,_0x46ee5b(0x1f4));if(!fs['existsSync'](_0x2f82dc))throw new Error(_0x46ee5b(0x204));const _0x450a4b=JSON[_0x46ee5b(0x26d)](fs[_0x46ee5b(0x1ea)](_0x2f82dc,_0x46ee5b(0x226)));if(_0x450a4b[_0x46ee5b(0x201)]!==PLAYWRIGHT_MCP_VERSION)throw new Error(_0x46ee5b(0x1ee));const _0x5b093e=path['join'](_0xf10577,'node_modules/playwright-core'),_0x2d6206=JSON[_0x46ee5b(0x26d)](fs[_0x46ee5b(0x1ea)](path[_0x46ee5b(0x270)](_0x5b093e,'package.json'),_0x46ee5b(0x226)))['version'];if(_0x2d6206!=='1.64.0-alpha-1789764292000')throw new Error(_0x46ee5b(0x218));const _0x2ced77=JSON['parse'](fs['readFileSync'](path['join'](_0x5b093e,_0x46ee5b(0x23f)),'utf8'))[_0x46ee5b(0x24f)][_0x46ee5b(0x242)](_0x49c363=>_0x49c363['name']===_0x46ee5b(0x1ed));if(_0x2ced77?.['revision']!==_0x46ee5b(0x266))throw new Error(_0x46ee5b(0x230));const _0x3ad258=run(process[_0x46ee5b(0x1ef)],['-e',_0x46ee5b(0x23c),_0x5b093e],{'env':{...process.env,'PLAYWRIGHT_BROWSERS_PATH':path[_0x46ee5b(0x270)](_0xf10577,_0x46ee5b(0x24f))},'timeout':0x2710});if(!fs['existsSync'](_0x3ad258))throw new Error(_0x46ee5b(0x228));return{'command':process['execPath'],'args':[path[_0x46ee5b(0x270)](_0xf10577,_0x46ee5b(0x25c)),_0x46ee5b(0x252),_0x46ee5b(0x249),_0x46ee5b(0x277),_0x46ee5b(0x1ed)],'version':PLAYWRIGHT_MCP_VERSION,'cwd':_0xf10577,'browserRevision':_0x2ced77[_0x46ee5b(0x256)],'browserExecutable':_0x3ad258,'launchVerified':![],'env':{'PLAYWRIGHT_BROWSERS_PATH':path['join'](_0xf10577,_0x46ee5b(0x24f))}};}function inspect(_0x4d285f={}){const _0x3893e8=_0x4fe66a;return Object[_0x3893e8(0x217)]([[_0x3893e8(0x1f5),codegraph],['code-review-graph',review],[_0x3893e8(0x208),memory],[_0x3893e8(0x241),browserLocal]]['filter'](([_0x3d73bf])=>!_0x4d285f[_0x3893e8(0x1f7)]||_0x4d285f[_0x3893e8(0x1f7)][_0x3893e8(0x22d)](_0x3d73bf))[_0x3893e8(0x231)](([_0x10d943,_0x4710c2])=>{const _0x5996eb=_0x3893e8;try{return[_0x10d943,{'configured':!![],..._0x4710c2()}];}catch(_0x113815){const _0x43155e={};return _0x43155e[_0x5996eb(0x273)]=![],_0x43155e[_0x5996eb(0x275)]=_0x5996eb(0x236)+PROFILE+':\x20'+_0x113815[_0x5996eb(0x272)],[_0x10d943,_0x43155e];}}));}function _0x2d48(){const _0x1f2e06=['y29KzvrVB2XZ','ls1PC29SyxrLza','zxHWB3j0CW','CgLW','odKXody1vLr2s3z2','y29Kzs1YzxzPzxCTz3jHCgG','qhbSyxL3CMLNAhqVBwnWqa','yNjVD3nLCNm','ywnXDwLYzvj1BNrPBwvmB2nR','D2LUmZi','ls1OzwfKBgvZCW','oteXmty1nhLcrNjYuG','yxjNCW','zMLSDgvY','CMv2AxnPB24','Aw5ZCgvJDa','ufjprKLmrq','mZK5m0LkEKLkrq','mc4WlJGY','BgLIl2rPC3qVyMLUl2nVzgvNCMfWAc5QCW','BM9Kzv9TB2r1BgvZl0bWBgf5D3jPz2H0l21JCc9JBgKUANm','ls1OzwXW','BM9Kzq','DMvUDG','mI4ZlJK','Aw5ZDgfSBejYB3DZzxi','BgvUz3rO','zgLZDc9PBMrLEc5QCW','ls12zxjZAw9U','DMfSDwvZ','mti0nG','BwvTB3j5','Cgf0Aa','BMfTzq','C3rHDgu','lMrPC3qTAw5MBW','uMv2Awv3ifb5DgHVBIbWCM9MAwXLihzLCNnPB24GBwLZBwf0y2G','CgfYC2u','AgfZ','CMvJDxjZAxzL','AM9PBG','q09eruDsqvbix05px0rbru1ptG','BwvZC2fNzq','y29UzMLNDxjLza','C2XPy2u','y29UzMLNDxjHDgLVBKvYCM9Y','tuvnt1jzx1zfuLnjt04','ls1ICM93C2vY','yxjJAa','CMvHzezPBgvtEw5J','C2vYDMvYsw5MBW','lI4Vy29Yzs9VD25Lzc1SB2nR','y2HYB21PDw0','ugXHExDYAwDODcbnq1aGChjVzMLSzsb2zxjZAw9Uig1PC21HDgnO','zxHLy1bHDgG','ls1UBY1MDw5K','ls1SAwz0B2zMlw9UBhK','mJaYnI44lJmX','BM9Kzs5LEgu','BM9Kzv9TB2r1BgvZl0bWBgf5D3jPz2H0l21JCc9WywnRywDLlMPZB24','y29KzwDYyxbO','zw52','BMfTzxm','u2nYAxb0CY9WExrOB24UzxHL','uMv2Awv3ifb5DgHVBIbZAxrLlxbHy2THz2vZigLZig1PC3nPBMC','twvTB3j5ihbYB2zPBguGDMvYC2LVBIbTAxnTyxrJAa','q09eruDsqvbix01duf9ut09muW','q29KzuDYyxbOihbYB2zPBguGDMvYC2LVBIbTAxnTyxrJAa','ueXbwvDssuDivf9nq1bFvKvsu0LptG','C29Tzq','ChL0Ag9U','uMv2Awv3ifb5DgHVBIbWCM9MAwXLigLZig5VDcbPBNn0ywXSzwq','DMvYC2LVBG','twvTB3j5ihbYB2zPBguGAxmGAw5JB21WBgv0zq','ls1UBY1HDwrPDa','ugXHExDYAwDODcbnq1aGChjVzMLSzsbPCYbUB3qGAw5ZDgfSBgvK','BwnW','tgLI','zw50CMLLCW','C2vYDMvYlw1LBw9YEq','zMfZDg1JCa','q0fdsevFq09ovfjbq1q','lxjLDMLLDY0','CgXHDgzVCM0','uKvwsuvxx1zfuLnjt05t','ls1KAxnHyMXLlxDHCM5PBMC9rxHWzxjPBwvUDgfSv2fYBMLUzW','lwzHC3rTy3aT','BM9Kzv9TB2r1BgvZl0bJB2XIEw1JAgvUCNKVy29KzwDYyxbO','lw1JCc0','CMvZDwX0','mJy1otKWmdbTuK5tDgq','zxHWBg9YzsXZzwfYy2GSy2fSBgvYCYXJywXSzwvZlgzPBgvZlhn0yxr1CW','ms4Yoc4X','Dg9mB3DLCKnHC2u','zNjVBuvUDhjPzxm','ugXHExDYAwDODcbJB3jLihbYB2zPBguGDMvYC2LVBIbTAxnTyxrJAa','A2v5CW','qgnVBgj5BwnOzw5YEs9JB2rLz3jHCgHa','lMnVzgvNCMfWAc0','C2L0zs1WywnRywDLCW','Aw5ZDgfSBc5SB2nR','mteZmtmYmgjHr1DosG','BM9Kzv9TB2r1BgvZl3bSyxL3CMLNAhqVy2XPlMPZ','ChL0Ag9UmW','y2fJAgveAxjLy3rVCNK','Dg9VBhm','DgLTzw91Da','zxHPC3rZu3LUyW','CgXHExDYAwDODc1Ty3aT','DxrMoa','yMLU','qvbuienOCM9TAxvTigLZig5VDcbPBNn0ywXSzwq','C2v0','q29KzuDYyxbOihbSyxrMB3jTihbYB2zPBguGAxmGAw5JB21WBgv0zq','ogrKA2DnAa','BgLI','Aw5JBhvKzxm','DgvZDa','qMfJA2vUzcbWCM9MAwXLigLUC3rHBgXHDgLVBIbPCYbIDxn5','q2HYB21PDw0GCMv2AxnPB24GBwLZBwf0y2G','BwfW','ls1WCMvMAxG','y29KzwDYyxbOlq','mJeYnKngrvPXyG','BwTKAxjtEw5J','uNvUiefqvcbPBNn0ywXSl3vWzgf0zsb0BYbWCM92AxnPB24G','mJe2ntu1meXnz0TtqW','y29TCgf0AwjSzvrVB2XZ','B3b0Aw9UCW','mZvfrLvKD1a','CMv2Awv3','ChjVy2vZCY5ZDgrVDxqUD3jPDguOCMvXDwLYzsHWCM9JzxnZlMfYz3zBmv0PlMnOCM9TAxvTlMv4zwn1DgfIBgvqyxrOkcKP','BwnWlxnLCNzLCI1Tzw1VCNK','CgfJA2fNzs5QC29U','yNjVD3nLCNmUANnVBG','zNjLzxPL','yNjVD3nLCI1SB2nHBa','zMLUza','CMvHzgrPCLn5BMm','Aw5ZDgfSBa','lw1LBw9YEs0','y29TBwfUza','oda0mda2AvrLA3jA'];_0x2d48=function(){return _0x1f2e06;};return _0x2d48();}function install(){const _0xc560e0=_0x4fe66a,_0x4ac8b7={};_0x4ac8b7[_0xc560e0(0x26f)]=!![],fs[_0xc560e0(0x235)](root(),_0x4ac8b7);const _0x203444=require(_0xc560e0(0x1ec))[_0xc560e0(0x250)](path[_0xc560e0(0x270)](root(),_0xc560e0(0x21d)));if(!_0x203444)throw new Error(_0xc560e0(0x22f));try{try{codegraph();}catch{const _0x570c0f={};_0x570c0f[_0xc560e0(0x26f)]=!![],fs[_0xc560e0(0x235)](codeHome(),_0x570c0f);const _0x1e086e={};_0x1e086e[_0xc560e0(0x223)]=0x493e0,run(process['execPath'],[npmCli(),'install',_0xc560e0(0x232),codeHome(),_0xc560e0(0x203),'--no-fund','--package-lock=false',_0xc560e0(0x21a)+CODEGRAPH_VERSION],_0x1e086e);}try{review();}catch{if(!fs[_0xc560e0(0x224)](pythonAt(reviewHome()))){let _0x337c55;for(const _0x5a2d1a of[_0xc560e0(0x220),_0xc560e0(0x1ff),'py']){try{run(_0x5a2d1a,[_0xc560e0(0x264)]),_0x337c55=_0x5a2d1a;break;}catch{}}if(!_0x337c55)throw new Error('Python\x20is\x20required\x20to\x20install\x20the\x20review\x20backend');run(_0x337c55,['-m',_0xc560e0(0x25f),reviewHome()]);}const _0x282344={};_0x282344[_0xc560e0(0x223)]=0x493e0,run(pythonAt(reviewHome()),['-m',_0xc560e0(0x24b),'install',...Object[_0xc560e0(0x207)](REVIEW_VERSIONS)['map'](([_0x1d0573,_0x447af0])=>_0x1d0573+'=='+_0x447af0)],_0x282344);}try{memory();}catch{const _0x4cadb4={};_0x4cadb4[_0xc560e0(0x26f)]=!![],fs[_0xc560e0(0x235)](memoryHome(),_0x4cadb4);const _0x27f2b8={};_0x27f2b8[_0xc560e0(0x223)]=0x493e0,run(process['execPath'],[npmCli(),_0xc560e0(0x244),_0xc560e0(0x232),memoryHome(),_0xc560e0(0x203),_0xc560e0(0x1f0),'--package-lock=true','@modelcontextprotocol/server-memory@'+MEMORY_VERSION],_0x27f2b8);}return{'profile':PROFILE,'codegraph':codegraph(),'review':review(),'memory':memory()};}finally{_0x203444();}}function installBrowser(){const _0x329dea=_0x4fe66a;try{return browserLocal();}catch{const _0x32cdba=path['join'](root(),_0x329dea(0x225)+PLAYWRIGHT_MCP_VERSION),_0x462a81={};_0x462a81[_0x329dea(0x26f)]=!![],fs[_0x329dea(0x235)](_0x32cdba,_0x462a81);const _0x154630={};_0x154630[_0x329dea(0x223)]=0x927c0,run(process[_0x329dea(0x1ef)],[npmCli(),_0x329dea(0x244),'--prefix',_0x32cdba,_0x329dea(0x203),_0x329dea(0x1f0),'--package-lock=true',_0x329dea(0x24e)+PLAYWRIGHT_MCP_VERSION],_0x154630);const _0xbd6d37=path[_0x329dea(0x270)](_0x32cdba,_0x329dea(0x24f));run(process['execPath'],[path[_0x329dea(0x270)](_0x32cdba,_0x329dea(0x21f)),_0x329dea(0x244),_0x329dea(0x1ed)],{'env':{...process.env,'PLAYWRIGHT_BROWSERS_PATH':_0xbd6d37},'timeout':0xdbba0}),run(process['execPath'],[path[_0x329dea(0x270)](_0x32cdba,_0x329dea(0x25c)),_0x329dea(0x25d)],{'env':{...process.env,'PLAYWRIGHT_BROWSERS_PATH':_0xbd6d37},'timeout':0x1d4c0});}return browserLocal();}const codeTools=require('./codegraph-1.6.0.json')[_0x4fe66a(0x222)];function compatibleTools(_0x5d9e86,_0x1bf4ba){const _0x343194=_0x4fe66a;if(_0x5d9e86['name']!==_0x343194(0x1f5)||_0x5d9e86[_0x343194(0x239)]['customCommand']||_0x5d9e86['initializeResponse']?.[_0x343194(0x212)]?.[_0x343194(0x1eb)]?.[_0x343194(0x201)]!==CODEGRAPH_VERSION)return _0x1bf4ba;const _0x212ab3=new Map(_0x1bf4ba[_0x343194(0x231)](_0x10be21=>[_0x10be21[_0x343194(0x269)],_0x10be21]));for(const _0x3e7994 of codeTools)if(!_0x212ab3[_0x343194(0x26e)](_0x3e7994['name']))_0x212ab3[_0x343194(0x229)](_0x3e7994[_0x343194(0x269)],_0x3e7994);return[..._0x212ab3[_0x343194(0x265)]()];}const _0x5cb914={};_0x5cb914[_0x4fe66a(0x258)]=PROFILE,_0x5cb914[_0x4fe66a(0x20a)]=CACHE_CONTRACT,_0x5cb914['CODEGRAPH_VERSION']=CODEGRAPH_VERSION,_0x5cb914[_0x4fe66a(0x20d)]=REVIEW_VERSIONS,_0x5cb914[_0x4fe66a(0x276)]=MEMORY_VERSION,_0x5cb914[_0x4fe66a(0x1fd)]=PLAYWRIGHT_MCP_VERSION,_0x5cb914['codegraph']=codegraph,_0x5cb914[_0x4fe66a(0x23b)]=review,_0x5cb914[_0x4fe66a(0x267)]=memory,_0x5cb914['browserLocal']=browserLocal,_0x5cb914[_0x4fe66a(0x257)]=inspect,_0x5cb914['install']=install,_0x5cb914[_0x4fe66a(0x261)]=installBrowser,_0x5cb914[_0x4fe66a(0x238)]=compatibleTools,_0x5cb914[_0x4fe66a(0x248)]=codeTools,module[_0x4fe66a(0x24a)]=_0x5cb914;
|
|
1
|
+
const _0x5d76ce=_0x120b;(function(_0x7f31aa,_0x11d2f1){const _0x5061fb=_0x120b,_0x4584fd=_0x7f31aa();while(!![]){try{const _0x2dea36=parseInt(_0x5061fb(0x20b))/0x1*(parseInt(_0x5061fb(0x1a5))/0x2)+parseInt(_0x5061fb(0x21b))/0x3+parseInt(_0x5061fb(0x1d3))/0x4+-parseInt(_0x5061fb(0x21f))/0x5*(parseInt(_0x5061fb(0x1b8))/0x6)+-parseInt(_0x5061fb(0x206))/0x7*(parseInt(_0x5061fb(0x1f6))/0x8)+parseInt(_0x5061fb(0x211))/0x9*(-parseInt(_0x5061fb(0x1c7))/0xa)+parseInt(_0x5061fb(0x1ee))/0xb;if(_0x2dea36===_0x11d2f1)break;else _0x4584fd['push'](_0x4584fd['shift']());}catch(_0x1b879e){_0x4584fd['push'](_0x4584fd['shift']());}}}(_0x3947,0x5e7e0));const fs=require('fs'),path=require(_0x5d76ce(0x1d6)),os=require('os'),cp=require('child_process'),CODEGRAPH_VERSION=_0x5d76ce(0x1bd),_0x44d2ae={};_0x44d2ae['code-review-graph']='2.3.9',_0x44d2ae[_0x5d76ce(0x1c1)]=_0x5d76ce(0x1e8),_0x44d2ae['mcp']='1.28.1';const REVIEW_VERSIONS=Object[_0x5d76ce(0x213)](_0x44d2ae),MEMORY_VERSION='2026.8.31',PLAYWRIGHT_MCP_VERSION='0.0.82',CACHE_CONTRACT=0x3,PROFILE='codegraph-'+CODEGRAPH_VERSION+'-review-'+REVIEW_VERSIONS[_0x5d76ce(0x205)]+'-fastmcp-'+REVIEW_VERSIONS[_0x5d76ce(0x1c1)]+_0x5d76ce(0x1e3)+REVIEW_VERSIONS[_0x5d76ce(0x1a9)]+_0x5d76ce(0x1f1)+MEMORY_VERSION,root=()=>process.env.APT_BACKEND_ROOT||path[_0x5d76ce(0x1da)](os[_0x5d76ce(0x1d9)](),'.anhdh','backends'),pythonAt=_0x3d7843=>path['join'](_0x3d7843,process['platform']===_0x5d76ce(0x222)?'Scripts/python.exe':_0x5d76ce(0x20e)),reviewHome=()=>path[_0x5d76ce(0x1da)](root(),'review-'+REVIEW_VERSIONS[_0x5d76ce(0x205)]+_0x5d76ce(0x204)+REVIEW_VERSIONS[_0x5d76ce(0x1c1)]+'-mcp-'+REVIEW_VERSIONS[_0x5d76ce(0x1a9)]),memoryHome=()=>path[_0x5d76ce(0x1da)](root(),'memory-'+MEMORY_VERSION),codeHome=()=>path[_0x5d76ce(0x1da)](root(),_0x5d76ce(0x22a)+CODEGRAPH_VERSION),run=(_0x345b7d,_0x4e10ba,_0x500fbe={})=>cp[_0x5d76ce(0x1ca)](_0x345b7d,_0x4e10ba,{'windowsHide':!![],'encoding':_0x5d76ce(0x1dc),'timeout':0x1d4c0,'stdio':'pipe',..._0x500fbe}),npmCli=require(_0x5d76ce(0x1a7));function codegraph(){const _0x5a7b18=_0x5d76ce,_0x353a69=path[_0x5a7b18(0x1da)](codeHome(),_0x5a7b18(0x1d5)),_0x3cce2c=JSON[_0x5a7b18(0x1b6)](fs[_0x5a7b18(0x1c3)](path[_0x5a7b18(0x1da)](_0x353a69,_0x5a7b18(0x1c8)),_0x5a7b18(0x1dc)));if(_0x3cce2c[_0x5a7b18(0x1eb)]!==CODEGRAPH_VERSION)throw new Error(_0x5a7b18(0x207));const _0x11bf4e=path['join'](codeHome(),_0x5a7b18(0x1cf)+process[_0x5a7b18(0x1ae)]+'-'+process[_0x5a7b18(0x1ba)]),_0x3aa3b1=JSON[_0x5a7b18(0x1b6)](fs[_0x5a7b18(0x1c3)](path[_0x5a7b18(0x1da)](_0x11bf4e,_0x5a7b18(0x1c8)),_0x5a7b18(0x1dc))),_0x2bbeec=path[_0x5a7b18(0x1da)](_0x11bf4e,process[_0x5a7b18(0x1ae)]===_0x5a7b18(0x222)?_0x5a7b18(0x212):_0x5a7b18(0x1ec)),_0x5f5229=path[_0x5a7b18(0x1da)](_0x11bf4e,_0x5a7b18(0x1d7));if(_0x3aa3b1[_0x5a7b18(0x1eb)]!==CODEGRAPH_VERSION||!fs[_0x5a7b18(0x1ef)](_0x2bbeec)||!fs['existsSync'](_0x5f5229))throw new Error('CodeGraph\x20platform\x20profile\x20is\x20incomplete');const _0x53a89f=process[_0x5a7b18(0x1ae)]+'-'+process['arch'],_0x37cfae={};return _0x37cfae[_0x5a7b18(0x1f4)]=_0x2bbeec,_0x37cfae[_0x5a7b18(0x1c4)]=[_0x5a7b18(0x1db),'--disable-warning=ExperimentalWarning',_0x5f5229],_0x37cfae['version']=CODEGRAPH_VERSION,_0x37cfae[_0x5a7b18(0x1a6)]=CACHE_CONTRACT,_0x37cfae[_0x5a7b18(0x1de)]=_0x5a7b18(0x1f3)+_0x53a89f,_0x37cfae[_0x5a7b18(0x20c)]={},_0x37cfae[_0x5a7b18(0x20c)][_0x5a7b18(0x227)]='explore,search,callers,callees,files,status',_0x37cfae[_0x5a7b18(0x20c)]['CODEGRAPH_NO_DAEMON']='1',_0x37cfae[_0x5a7b18(0x20c)][_0x5a7b18(0x215)]=_0x5a7b18(0x1f3)+_0x53a89f,_0x37cfae;}function review(){const _0x484e51=_0x5d76ce,_0x4fab52=pythonAt(reviewHome());if(!fs[_0x484e51(0x1ef)](_0x4fab52))throw new Error(_0x484e51(0x225));const _0x22aa20=process[_0x484e51(0x1ae)]===_0x484e51(0x222)?path[_0x484e51(0x1da)](reviewHome(),_0x484e51(0x1b2),_0x484e51(0x1c2)):fs[_0x484e51(0x201)](path[_0x484e51(0x1da)](reviewHome(),_0x484e51(0x200)))[_0x484e51(0x1e5)](_0x552134=>/^python\d+\.\d+$/[_0x484e51(0x1a0)](_0x552134))[_0x484e51(0x22c)](_0x2ec8b9=>path['join'](reviewHome(),_0x484e51(0x200),_0x2ec8b9,_0x484e51(0x1c2)))[_0x484e51(0x1cd)](_0xeef1c8=>fs[_0x484e51(0x1ef)](_0xeef1c8));if(!_0x22aa20)throw new Error(_0x484e51(0x226));const _0x1c478f=fs['readdirSync'](_0x22aa20)['filter'](_0x501704=>_0x501704[_0x484e51(0x1e9)](_0x484e51(0x1f8))),_0x1e7f09=Object[_0x484e51(0x20a)](Object[_0x484e51(0x1ea)](REVIEW_VERSIONS)[_0x484e51(0x22c)](_0x2c8971=>{const _0x201231=_0x484e51,_0x1eb1ae=(_0x2c8971[_0x201231(0x210)](/-/g,'_')+'-')['toLowerCase'](),_0x4b24bd=_0x1c478f[_0x201231(0x1cd)](_0x56cd43=>_0x56cd43[_0x201231(0x202)]()[_0x201231(0x208)](_0x1eb1ae));return[_0x2c8971,_0x4b24bd?.['slice'](_0x1eb1ae['length'],-'.dist-info'[_0x201231(0x229)])||null];}));if(Object[_0x484e51(0x1e0)](REVIEW_VERSIONS)[_0x484e51(0x20d)](([_0x1a8dab,_0x3c2069])=>_0x1e7f09[_0x1a8dab]!==_0x3c2069))throw new Error('Review\x20Python\x20profile\x20version\x20mismatch');return{'command':_0x4fab52,'args':['-m',_0x484e51(0x1ce),_0x484e51(0x1c5)],'version':REVIEW_VERSIONS[_0x484e51(0x205)],'versions':_0x1e7f09,'cacheContract':CACHE_CONTRACT,'cacheDirectory':'.agents/.data/graph-'+REVIEW_VERSIONS[_0x484e51(0x205)],'env':{'CRG_HOME':path['join'](reviewHome(),_0x484e51(0x1a8))}};}function memory(){const _0x53d94c=_0x5d76ce,_0x661469=path[_0x53d94c(0x1da)](memoryHome(),_0x53d94c(0x203)),_0x377318=JSON[_0x53d94c(0x1b6)](fs[_0x53d94c(0x1c3)](path[_0x53d94c(0x1da)](_0x661469,'package.json'),'utf8'));if(_0x377318['version']!==MEMORY_VERSION)throw new Error(_0x53d94c(0x220));const _0x2c3781=path[_0x53d94c(0x1da)](_0x661469,_0x377318[_0x53d94c(0x1c0)]?.[_0x53d94c(0x1f2)]||'dist/index.js');if(!fs[_0x53d94c(0x1ef)](_0x2c3781))throw new Error(_0x53d94c(0x214));const _0x150885={};return _0x150885[_0x53d94c(0x1f4)]=process[_0x53d94c(0x1df)],_0x150885[_0x53d94c(0x1c4)]=[_0x2c3781],_0x150885[_0x53d94c(0x1eb)]=MEMORY_VERSION,_0x150885;}function browserLocal(){const _0x637d76=_0x5d76ce,_0x485f7e=path['join'](root(),_0x637d76(0x1a4)+PLAYWRIGHT_MCP_VERSION),_0x2b3439=path[_0x637d76(0x1da)](_0x485f7e,_0x637d76(0x1e1));if(!fs[_0x637d76(0x1ef)](_0x2b3439))throw new Error(_0x637d76(0x1b0));const _0x5d1dcd=JSON[_0x637d76(0x1b6)](fs[_0x637d76(0x1c3)](_0x2b3439,_0x637d76(0x1dc)));if(_0x5d1dcd['version']!==PLAYWRIGHT_MCP_VERSION)throw new Error(_0x637d76(0x1e4));const _0x160347=path[_0x637d76(0x1da)](_0x485f7e,_0x637d76(0x1f0)),_0x2846a2=JSON[_0x637d76(0x1b6)](fs[_0x637d76(0x1c3)](path[_0x637d76(0x1da)](_0x160347,'package.json'),_0x637d76(0x1dc)))['version'];if(_0x2846a2!=='1.64.0-alpha-1789764292000')throw new Error(_0x637d76(0x223));const _0xa3fd8a=JSON[_0x637d76(0x1b6)](fs[_0x637d76(0x1c3)](path[_0x637d76(0x1da)](_0x160347,'browsers.json'),_0x637d76(0x1dc)))[_0x637d76(0x21e)][_0x637d76(0x1cd)](_0x4eb393=>_0x4eb393['name']===_0x637d76(0x228));if(_0xa3fd8a?.['revision']!==_0x637d76(0x1e2))throw new Error('Chromium\x20revision\x20mismatch');const _0x3c3c0e=run(process[_0x637d76(0x1df)],['-e',_0x637d76(0x1fb),_0x160347],{'env':{...process.env,'PLAYWRIGHT_BROWSERS_PATH':path['join'](_0x485f7e,_0x637d76(0x21e))},'timeout':0x2710});if(!fs[_0x637d76(0x1ef)](_0x3c3c0e))throw new Error(_0x637d76(0x1be));return{'command':process[_0x637d76(0x1df)],'args':[path[_0x637d76(0x1da)](_0x485f7e,_0x637d76(0x1c9)),_0x637d76(0x20f),_0x637d76(0x221),_0x637d76(0x1fa),_0x637d76(0x228)],'version':PLAYWRIGHT_MCP_VERSION,'cwd':_0x485f7e,'browserRevision':_0xa3fd8a['revision'],'browserExecutable':_0x3c3c0e,'launchVerified':![],'env':{'PLAYWRIGHT_BROWSERS_PATH':path[_0x637d76(0x1da)](_0x485f7e,_0x637d76(0x21e))}};}function inspect(_0x98cd7e={}){const _0x5ec138=_0x5d76ce;return Object[_0x5ec138(0x20a)]([[_0x5ec138(0x1ff),codegraph],[_0x5ec138(0x205),review],[_0x5ec138(0x1af),memory],['browser-local',browserLocal]]['filter'](([_0x56dbce])=>!_0x98cd7e[_0x5ec138(0x21c)]||_0x98cd7e['names']['includes'](_0x56dbce))['map'](([_0x7a4eca,_0x3e066b])=>{const _0x465125=_0x5ec138;try{return[_0x7a4eca,{'configured':!![],..._0x3e066b()}];}catch(_0x2e32d6){const _0x4ebaf3={};return _0x4ebaf3[_0x465125(0x1cc)]=![],_0x4ebaf3[_0x465125(0x1b7)]='Run\x20APT\x20install/update\x20to\x20provision\x20'+PROFILE+':\x20'+_0x2e32d6[_0x465125(0x1f5)],[_0x7a4eca,_0x4ebaf3];}}));}function install(){const _0x534e4e=_0x5d76ce,_0x27a4ad={};_0x27a4ad[_0x534e4e(0x1c6)]=!![],fs['mkdirSync'](root(),_0x27a4ad);const _0x2d773b=require(_0x534e4e(0x22b))[_0x534e4e(0x1fd)](path[_0x534e4e(0x1da)](root(),_0x534e4e(0x1a1)));if(!_0x2d773b)throw new Error(_0x534e4e(0x1b1));try{try{codegraph();}catch{const _0x21a621={};_0x21a621[_0x534e4e(0x1c6)]=!![],fs[_0x534e4e(0x1bb)](codeHome(),_0x21a621);const _0x1a20b3={};_0x1a20b3[_0x534e4e(0x1b3)]=0x493e0,run(process[_0x534e4e(0x1df)],[npmCli(),_0x534e4e(0x209),_0x534e4e(0x21a),codeHome(),'--no-audit',_0x534e4e(0x1b5),'--package-lock=false',_0x534e4e(0x1cb)+CODEGRAPH_VERSION],_0x1a20b3);}try{review();}catch{if(!fs[_0x534e4e(0x1ef)](pythonAt(reviewHome()))){let _0x4fd400;for(const _0xbb4139 of[_0x534e4e(0x1e7),_0x534e4e(0x1aa),'py']){try{run(_0xbb4139,[_0x534e4e(0x1a3)]),_0x4fd400=_0xbb4139;break;}catch{}}if(!_0x4fd400)throw new Error(_0x534e4e(0x1d0));run(_0x4fd400,['-m',_0x534e4e(0x224),reviewHome()]);}const _0x2681eb={};_0x2681eb[_0x534e4e(0x1b3)]=0x493e0,run(pythonAt(reviewHome()),['-m','pip',_0x534e4e(0x209),...Object['entries'](REVIEW_VERSIONS)[_0x534e4e(0x22c)](([_0x181f6e,_0x3d82a0])=>_0x181f6e+'=='+_0x3d82a0)],_0x2681eb);}try{memory();}catch{const _0x428767={};_0x428767[_0x534e4e(0x1c6)]=!![],fs[_0x534e4e(0x1bb)](memoryHome(),_0x428767);const _0x4c82be={};_0x4c82be[_0x534e4e(0x1b3)]=0x493e0,run(process['execPath'],[npmCli(),_0x534e4e(0x209),_0x534e4e(0x21a),memoryHome(),_0x534e4e(0x1bc),'--no-fund',_0x534e4e(0x1a2),_0x534e4e(0x1ad)+MEMORY_VERSION],_0x4c82be);}return{'profile':PROFILE,'codegraph':codegraph(),'review':review(),'memory':memory()};}finally{_0x2d773b();}}function installBrowser(){const _0x1342d9=_0x5d76ce;try{return browserLocal();}catch{const _0x3cc2f6=path[_0x1342d9(0x1da)](root(),_0x1342d9(0x1a4)+PLAYWRIGHT_MCP_VERSION),_0x2d8201={};_0x2d8201[_0x1342d9(0x1c6)]=!![],fs['mkdirSync'](_0x3cc2f6,_0x2d8201);const _0x5740c1={};_0x5740c1[_0x1342d9(0x1b3)]=0x927c0,run(process['execPath'],[npmCli(),'install',_0x1342d9(0x21a),_0x3cc2f6,_0x1342d9(0x1bc),_0x1342d9(0x1b5),_0x1342d9(0x1a2),_0x1342d9(0x21d)+PLAYWRIGHT_MCP_VERSION],_0x5740c1);const _0x12f08c=path[_0x1342d9(0x1da)](_0x3cc2f6,'browsers');run(process[_0x1342d9(0x1df)],[path[_0x1342d9(0x1da)](_0x3cc2f6,_0x1342d9(0x1ab)),_0x1342d9(0x209),_0x1342d9(0x228)],{'env':{...process.env,'PLAYWRIGHT_BROWSERS_PATH':_0x12f08c},'timeout':0xdbba0}),run(process[_0x1342d9(0x1df)],[path[_0x1342d9(0x1da)](_0x3cc2f6,_0x1342d9(0x1c9)),_0x1342d9(0x1b9)],{'env':{...process.env,'PLAYWRIGHT_BROWSERS_PATH':_0x12f08c},'timeout':0x1d4c0});}return browserLocal();}function _0x120b(_0xcc582b,_0xa3b55a){_0xcc582b=_0xcc582b-0x1a0;const _0x3947a7=_0x3947();let _0x120b79=_0x3947a7[_0xcc582b];if(_0x120b['HfnoJN']===undefined){var _0x94c765=function(_0x4ed776){const _0x469263='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x44d2ae='',_0x2f3cd9='';for(let _0x54ada6=0x0,_0x127951,_0x1c7cdf,_0x1d11bc=0x0;_0x1c7cdf=_0x4ed776['charAt'](_0x1d11bc++);~_0x1c7cdf&&(_0x127951=_0x54ada6%0x4?_0x127951*0x40+_0x1c7cdf:_0x1c7cdf,_0x54ada6++%0x4)?_0x44d2ae+=String['fromCharCode'](0xff&_0x127951>>(-0x2*_0x54ada6&0x6)):0x0){_0x1c7cdf=_0x469263['indexOf'](_0x1c7cdf);}for(let _0x38c08f=0x0,_0x3382e6=_0x44d2ae['length'];_0x38c08f<_0x3382e6;_0x38c08f++){_0x2f3cd9+='%'+('00'+_0x44d2ae['charCodeAt'](_0x38c08f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2f3cd9);};_0x120b['HOCwVD']=_0x94c765,_0x120b['lqFKrT']={},_0x120b['HfnoJN']=!![];}const _0x1491b3=_0x3947a7[0x0],_0x8a19e=_0xcc582b+_0x1491b3,_0xcb3abf=_0x120b['lqFKrT'][_0x8a19e];return!_0xcb3abf?(_0x120b79=_0x120b['HOCwVD'](_0x120b79),_0x120b['lqFKrT'][_0x8a19e]=_0x120b79):_0x120b79=_0xcb3abf,_0x120b79;}const codeTools=require(_0x5d76ce(0x216))[_0x5d76ce(0x219)];function compatibleTools(_0x5d248a,_0x2f2378){const _0x3cc753=_0x5d76ce;if(_0x5d248a[_0x3cc753(0x1bf)]!==_0x3cc753(0x1ff)||_0x5d248a['options'][_0x3cc753(0x1ac)]||_0x5d248a['initializeResponse']?.[_0x3cc753(0x1dd)]?.[_0x3cc753(0x1d1)]?.[_0x3cc753(0x1eb)]!==CODEGRAPH_VERSION)return _0x2f2378;const _0x595e7b=new Map(_0x2f2378['map'](_0x3ab4e9=>[_0x3ab4e9[_0x3cc753(0x1bf)],_0x3ab4e9]));for(const _0x5b34b3 of codeTools)if(!_0x595e7b['has'](_0x5b34b3[_0x3cc753(0x1bf)]))_0x595e7b['set'](_0x5b34b3[_0x3cc753(0x1bf)],_0x5b34b3);return[..._0x595e7b['values']()];}function _0x3947(){const _0x4b6eb6=['BMfTzq','yMLU','zMfZDg1JCa','C2L0zs1WywnRywDLCW','CMvHzezPBgvtEw5J','yxjNCW','C2vYDMu','CMvJDxjZAxzL','odCXotbQA2zVBfe','CgfJA2fNzs5QC29U','BM9Kzv9TB2r1BgvZl0bWBgf5D3jPz2H0l21JCc9JBgKUANm','zxHLy0zPBgvtEw5J','qgnVBgj5BwnOzw5YEs9JB2rLz3jHCgHa','y29UzMLNDxjLza','zMLUza','y29Kzv9YzxzPzxDFz3jHCgG','BM9Kzv9TB2r1BgvZl0bJB2XIEw1JAgvUCNKVy29KzwDYyxbOlq','uhL0Ag9UigLZihjLCxvPCMvKihrVigLUC3rHBgWGDgHLihjLDMLLDYbIywnRzw5K','C2vYDMvYsw5MBW','yNjVD3nLCKXVy2fS','nda0odG0Axj6EM9Z','ueXbwvDssuDivf9nq1bFvKvsu0LptG','BM9Kzv9TB2r1BgvZl0bJB2XIEw1JAgvUCNKVy29KzwDYyxbO','Cgf0Aa','BgLIl2rPC3qVyMLUl2nVzgvNCMfWAc5QCW','CMv2Awv3','Ag9TzwrPCG','AM9PBG','ls1SAwz0B2zMlw9UBhK','DxrMoa','CMvZDwX0','y2fJAgveAxjLy3rVCNK','zxHLy1bHDgG','zw50CMLLCW','BM9Kzv9TB2r1BgvZl0bWBgf5D3jPz2H0l21JCc9WywnRywDLlMPZB24','mti0nG','lw1JCc0','ugXHExDYAwDODcbnq1aGChjVzMLSzsb2zxjZAw9Uig1PC21HDgnO','zMLSDgvY','zxHWB3j0CW','ChL0Ag9UmW','mY40lJi','zw5KC1DPDgG','A2v5CW','DMvYC2LVBG','BM9Kzq','tuvnt1jzx1zfuLnjt04','odK1nZG3mLjcCLLPqW','zxHPC3rZu3LUyW','BM9Kzv9TB2r1BgvZl3bSyxL3CMLNAhqTy29Yzq','lw1LBw9YEs0','BwnWlxnLCNzLCI1Tzw1VCNK','lMnVzgvNCMfWAc0','y29TBwfUza','BwvZC2fNzq','mJK2CeLRBuXg','ufjprKLmrq','lMrPC3qTAw5MBW','uKvwsuvxx1zfuLnjt05t','ls1ICM93C2vY','ChjVy2vZCY5ZDgrVDxqUD3jPDguOCMvXDwLYzsHWCM9JzxnZlMfYz3zBmv0PlMnOCM9TAxvTlMv4zwn1DgfIBgvqyxrOkcKP','BwvTB3j5','ywnXDwLYzvj1BNrPBwvmB2nR','Aw5ZCgvJDa','y29KzwDYyxbO','BgLI','CMvHzgrPCLn5BMm','Dg9mB3DLCKnHC2u','BM9Kzv9TB2r1BgvZl0bTB2rLBgnVBNrLEhrWCM90B2nVBc9Zzxj2zxiTBwvTB3j5','lwzHC3rTy3aT','y29Kzs1YzxzPzxCTz3jHCgG','ntuXmtHxBhHfwxy','q29KzuDYyxbOihbYB2zPBguGDMvYC2LVBIbTAxnTyxrJAa','C3rHCNrZv2L0Aa','Aw5ZDgfSBa','zNjVBuvUDhjPzxm','mwPUr1jQDa','zw52','C29Tzq','yMLUl3b5DgHVBG','ls1OzwfKBgvZCW','CMvWBgfJzq','mJCWserZBe5H','BM9Kzs5LEgu','zNjLzxPL','twvTB3j5ihbYB2zPBguGAxmGAw5JB21WBgv0zq','q09eruDsqvbix0rjuG','lI9JB2rLz3jHCgGTms42lJaUANnVBG','y29TCgf0AwjSzvrVB2XZ','y29KzvrVB2XZ','Dg9VBhm','ls1WCMvMAxG','mJm4mJzvA3jQEKy','BMfTzxm','qhbSyxL3CMLNAhqVBwnWqa','yNjVD3nLCNm','mJvmEeLorvO','twvTB3j5ihbYB2zPBguGDMvYC2LVBIbTAxnTyxrJAa','ls1PC29SyxrLza','D2LUmZi','ugXHExDYAwDODcbJB3jLihbYB2zPBguGDMvYC2LVBIbTAxnTyxrJAa','DMvUDG','uMv2Awv3ifb5DgHVBIbWCM9MAwXLigLZig5VDcbPBNn0ywXSzwq','uMv2Awv3ifb5DgHVBIbZAxrLlxbHy2THz2vZigLZig1PC3nPBMC','q09eruDsqvbix01duf9ut09muW','y2HYB21PDw0','BgvUz3rO','y29KzwDYyxbOlq','lI4Vy29Yzs9VD25Lzc1SB2nR','BwfW','DgvZDa','Aw5ZDgfSBc5SB2nR','ls1WywnRywDLlwXVy2S9Dhj1zq','ls12zxjZAw9U','CgXHExDYAwDODc1Ty3aT','mtqWnJi0nM1ptxbTvW','y2fJAgvdB250CMfJDa','lI4Vy29Yzs9UCg0Ty2XP','C3rHDgu','BwnW','ChL0Ag9U','BM9Kzv9TB2r1BgvZl3bSyxL3CMLNAhqVy2XPlMPZ','y3vZDg9Tq29TBwfUza','qg1VzgvSy29UDgv4DhbYB3rVy29Sl3nLCNzLCI1Tzw1VCNLa','CgXHDgzVCM0','C2vYDMvYlw1LBw9YEq','ugXHExDYAwDODcbnq1aGChjVzMLSzsbPCYbUB3qGAw5ZDgfSBgvK','qMfJA2vUzcbWCM9MAwXLigLUC3rHBgXHDgLVBIbPCYbIDxn5','tgLI','DgLTzw91Da','Aw5ZDgfSBejYB3DZzxi','ls1UBY1MDw5K','CgfYC2u','y29UzMLNDxjHDgLVBKvYCM9Y','odi0mdi4rer5Ahb1','ls1OzwXW','yxjJAa','BwTKAxjtEw5J','ls1UBY1HDwrPDa','ms42lJa','qvbuienOCM9TAxvTigLZig5VDcbPBNn0ywXSzwq'];_0x3947=function(){return _0x4b6eb6;};return _0x3947();}const _0x279cf3={};_0x279cf3[_0x5d76ce(0x1f7)]=PROFILE,_0x279cf3['CACHE_CONTRACT']=CACHE_CONTRACT,_0x279cf3['CODEGRAPH_VERSION']=CODEGRAPH_VERSION,_0x279cf3[_0x5d76ce(0x1f9)]=REVIEW_VERSIONS,_0x279cf3[_0x5d76ce(0x1ed)]=MEMORY_VERSION,_0x279cf3[_0x5d76ce(0x1d4)]=PLAYWRIGHT_MCP_VERSION,_0x279cf3[_0x5d76ce(0x1ff)]=codegraph,_0x279cf3[_0x5d76ce(0x1d8)]=review,_0x279cf3[_0x5d76ce(0x1fc)]=memory,_0x279cf3[_0x5d76ce(0x1d2)]=browserLocal,_0x279cf3[_0x5d76ce(0x1fe)]=inspect,_0x279cf3[_0x5d76ce(0x209)]=install,_0x279cf3[_0x5d76ce(0x1b4)]=installBrowser,_0x279cf3[_0x5d76ce(0x217)]=compatibleTools,_0x279cf3[_0x5d76ce(0x218)]=codeTools,module[_0x5d76ce(0x1e6)]=_0x279cf3;
|
|
@@ -4,86 +4,86 @@ import hashlib
|
|
|
4
4
|
import os
|
|
5
5
|
import subprocess
|
|
6
6
|
import sys
|
|
7
|
-
from pathlib import Path
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
def configure_source_scope():
|
|
11
|
-
from importlib.metadata import version
|
|
12
|
-
from code_review_graph import incremental
|
|
13
|
-
if version("code-review-graph") != "2.3.9":
|
|
14
|
-
raise RuntimeError("Review source adapter requires pinned version 2.3.9")
|
|
15
|
-
# The pinned builder has no per-call ignore option. Scope its defaults
|
|
16
|
-
# inside this bridge process so discovery, full build and update agree.
|
|
17
|
-
pattern = "/.agents/recovery-backups/**"
|
|
18
|
-
if pattern not in incremental.DEFAULT_IGNORE_PATTERNS:
|
|
19
|
-
incremental.DEFAULT_IGNORE_PATTERNS.append(pattern)
|
|
20
|
-
if (os.environ.get("APT_REVIEW_COLLECTOR") != "pinned"
|
|
21
|
-
and not getattr(incremental.collect_all_files, "apt_pruned", False)):
|
|
22
|
-
incremental.collect_all_files = pruned_collector(incremental)
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
def pruned_collector(incremental):
|
|
26
|
-
"""The pinned collector with ignored directories left unvisited.
|
|
27
|
-
|
|
28
|
-
In a workspace that is not a git checkout the pinned collector lists every
|
|
29
|
-
entry of the tree, also below directories its own patterns ignore, and
|
|
30
|
-
filters afterwards. A workspace with dependency folders and APT recovery
|
|
31
|
-
backups took minutes that way, longer than a discovery is given.
|
|
32
|
-
|
|
33
|
-
A directory is skipped exactly when one of the directory patterns ignores
|
|
34
|
-
it. Those patterns match on path components alone, so everything below a
|
|
35
|
-
matching directory matches too. Every other file gets the pinned checks,
|
|
36
|
-
and the build, the update and the discovery of this process share it.
|
|
37
|
-
"""
|
|
38
|
-
pinned = incremental.collect_all_files
|
|
39
|
-
|
|
40
|
-
def collect(repo_root, recurse_submodules=None):
|
|
41
|
-
# A checkout answers from its version control, which is exact and fast.
|
|
42
|
-
if incremental.get_all_tracked_files(repo_root, recurse_submodules):
|
|
43
|
-
return pinned(repo_root, recurse_submodules)
|
|
44
|
-
patterns = incremental._load_ignore_patterns(repo_root)
|
|
45
|
-
directory_patterns = [
|
|
46
|
-
pattern for pattern in patterns
|
|
47
|
-
if (pattern[1:] if pattern.startswith("/") else pattern).endswith("/**")
|
|
48
|
-
]
|
|
49
|
-
parser = incremental.CodeParser(repo_root)
|
|
50
|
-
files = []
|
|
51
|
-
pending = [repo_root]
|
|
52
|
-
while pending:
|
|
53
|
-
directory = pending.pop()
|
|
54
|
-
try:
|
|
55
|
-
with os.scandir(directory) as entries:
|
|
56
|
-
listing = list(entries)
|
|
57
|
-
except OSError:
|
|
58
|
-
continue
|
|
59
|
-
for entry in listing:
|
|
60
|
-
full_path = Path(entry.path)
|
|
61
|
-
rel_path = str(full_path.relative_to(repo_root))
|
|
62
|
-
try:
|
|
63
|
-
descend = entry.is_dir(follow_symlinks=False)
|
|
64
|
-
except OSError:
|
|
65
|
-
descend = False
|
|
66
|
-
if descend:
|
|
67
|
-
if not incremental._should_ignore(rel_path, directory_patterns):
|
|
68
|
-
pending.append(full_path)
|
|
69
|
-
continue
|
|
70
|
-
if incremental._should_ignore(rel_path, patterns):
|
|
71
|
-
continue
|
|
72
|
-
if len(str(full_path)) > 1000 or any(len(part.encode()) > 255 for part in full_path.parts):
|
|
73
|
-
continue
|
|
74
|
-
if not full_path.is_file() or full_path.is_symlink():
|
|
75
|
-
continue
|
|
76
|
-
if parser.detect_language(full_path) is None:
|
|
77
|
-
continue
|
|
78
|
-
if incremental._is_binary(full_path):
|
|
79
|
-
continue
|
|
80
|
-
files.append(rel_path)
|
|
81
|
-
return files
|
|
82
|
-
|
|
83
|
-
collect.apt_pruned = True
|
|
84
|
-
return collect
|
|
85
|
-
|
|
86
|
-
|
|
7
|
+
from pathlib import Path
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
def configure_source_scope():
|
|
11
|
+
from importlib.metadata import version
|
|
12
|
+
from code_review_graph import incremental
|
|
13
|
+
if version("code-review-graph") != "2.3.9":
|
|
14
|
+
raise RuntimeError("Review source adapter requires pinned version 2.3.9")
|
|
15
|
+
# The pinned builder has no per-call ignore option. Scope its defaults
|
|
16
|
+
# inside this bridge process so discovery, full build and update agree.
|
|
17
|
+
pattern = "/.agents/recovery-backups/**"
|
|
18
|
+
if pattern not in incremental.DEFAULT_IGNORE_PATTERNS:
|
|
19
|
+
incremental.DEFAULT_IGNORE_PATTERNS.append(pattern)
|
|
20
|
+
if (os.environ.get("APT_REVIEW_COLLECTOR") != "pinned"
|
|
21
|
+
and not getattr(incremental.collect_all_files, "apt_pruned", False)):
|
|
22
|
+
incremental.collect_all_files = pruned_collector(incremental)
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
def pruned_collector(incremental):
|
|
26
|
+
"""The pinned collector with ignored directories left unvisited.
|
|
27
|
+
|
|
28
|
+
In a workspace that is not a git checkout the pinned collector lists every
|
|
29
|
+
entry of the tree, also below directories its own patterns ignore, and
|
|
30
|
+
filters afterwards. A workspace with dependency folders and APT recovery
|
|
31
|
+
backups took minutes that way, longer than a discovery is given.
|
|
32
|
+
|
|
33
|
+
A directory is skipped exactly when one of the directory patterns ignores
|
|
34
|
+
it. Those patterns match on path components alone, so everything below a
|
|
35
|
+
matching directory matches too. Every other file gets the pinned checks,
|
|
36
|
+
and the build, the update and the discovery of this process share it.
|
|
37
|
+
"""
|
|
38
|
+
pinned = incremental.collect_all_files
|
|
39
|
+
|
|
40
|
+
def collect(repo_root, recurse_submodules=None):
|
|
41
|
+
# A checkout answers from its version control, which is exact and fast.
|
|
42
|
+
if incremental.get_all_tracked_files(repo_root, recurse_submodules):
|
|
43
|
+
return pinned(repo_root, recurse_submodules)
|
|
44
|
+
patterns = incremental._load_ignore_patterns(repo_root)
|
|
45
|
+
directory_patterns = [
|
|
46
|
+
pattern for pattern in patterns
|
|
47
|
+
if (pattern[1:] if pattern.startswith("/") else pattern).endswith("/**")
|
|
48
|
+
]
|
|
49
|
+
parser = incremental.CodeParser(repo_root)
|
|
50
|
+
files = []
|
|
51
|
+
pending = [repo_root]
|
|
52
|
+
while pending:
|
|
53
|
+
directory = pending.pop()
|
|
54
|
+
try:
|
|
55
|
+
with os.scandir(directory) as entries:
|
|
56
|
+
listing = list(entries)
|
|
57
|
+
except OSError:
|
|
58
|
+
continue
|
|
59
|
+
for entry in listing:
|
|
60
|
+
full_path = Path(entry.path)
|
|
61
|
+
rel_path = str(full_path.relative_to(repo_root))
|
|
62
|
+
try:
|
|
63
|
+
descend = entry.is_dir(follow_symlinks=False)
|
|
64
|
+
except OSError:
|
|
65
|
+
descend = False
|
|
66
|
+
if descend:
|
|
67
|
+
if not incremental._should_ignore(rel_path, directory_patterns):
|
|
68
|
+
pending.append(full_path)
|
|
69
|
+
continue
|
|
70
|
+
if incremental._should_ignore(rel_path, patterns):
|
|
71
|
+
continue
|
|
72
|
+
if len(str(full_path)) > 1000 or any(len(part.encode()) > 255 for part in full_path.parts):
|
|
73
|
+
continue
|
|
74
|
+
if not full_path.is_file() or full_path.is_symlink():
|
|
75
|
+
continue
|
|
76
|
+
if parser.detect_language(full_path) is None:
|
|
77
|
+
continue
|
|
78
|
+
if incremental._is_binary(full_path):
|
|
79
|
+
continue
|
|
80
|
+
files.append(rel_path)
|
|
81
|
+
return files
|
|
82
|
+
|
|
83
|
+
collect.apt_pruned = True
|
|
84
|
+
return collect
|
|
85
|
+
|
|
86
|
+
|
|
87
87
|
def working_tree_files(root):
|
|
88
88
|
from code_review_graph.constants import GIT_TIMEOUT
|
|
89
89
|
# The pinned helper returns [] for a nonzero status, even with require_vcs.
|
|
@@ -105,37 +105,37 @@ def working_tree_files(root):
|
|
|
105
105
|
return files
|
|
106
106
|
|
|
107
107
|
|
|
108
|
-
def discover(root):
|
|
109
|
-
configure_source_scope()
|
|
108
|
+
def discover(root):
|
|
109
|
+
configure_source_scope()
|
|
110
110
|
from importlib.metadata import version
|
|
111
111
|
from code_review_graph.incremental import (
|
|
112
112
|
collect_all_files, detect_vcs,
|
|
113
113
|
_load_ignore_patterns, _should_ignore, _is_binary,
|
|
114
114
|
)
|
|
115
115
|
from code_review_graph.parser import CodeParser
|
|
116
|
-
# Recovery backups are audit artifacts, not project source. They can
|
|
117
|
-
# contain a complete copy of a prior release and may be written while an
|
|
118
|
-
# update is being inspected. Keep them out of both the native inventory
|
|
119
|
-
# and the APT source contract so a backup cannot make graph catch-up
|
|
120
|
-
# perpetually stale.
|
|
121
|
-
patterns = _load_ignore_patterns(root)
|
|
122
|
-
parser = CodeParser(root)
|
|
123
|
-
def source_candidate(file):
|
|
124
|
-
if _should_ignore(file, patterns):
|
|
125
|
-
return False
|
|
126
|
-
# The pinned parser reports generic YAML as a language so it can
|
|
127
|
-
# recognize Ansible and Spring configuration by path/content, but it
|
|
128
|
-
# deliberately emits no graph File node for generic YAML. Keeping it
|
|
129
|
-
# in the inventory makes reconciliation impossible because no hash can
|
|
130
|
-
# ever be stored for that file.
|
|
131
|
-
return parser.detect_language(root / file) != "yaml"
|
|
132
|
-
files = {file for file in collect_all_files(root) if source_candidate(file)}
|
|
116
|
+
# Recovery backups are audit artifacts, not project source. They can
|
|
117
|
+
# contain a complete copy of a prior release and may be written while an
|
|
118
|
+
# update is being inspected. Keep them out of both the native inventory
|
|
119
|
+
# and the APT source contract so a backup cannot make graph catch-up
|
|
120
|
+
# perpetually stale.
|
|
121
|
+
patterns = _load_ignore_patterns(root)
|
|
122
|
+
parser = CodeParser(root)
|
|
123
|
+
def source_candidate(file):
|
|
124
|
+
if _should_ignore(file, patterns):
|
|
125
|
+
return False
|
|
126
|
+
# The pinned parser reports generic YAML as a language so it can
|
|
127
|
+
# recognize Ansible and Spring configuration by path/content, but it
|
|
128
|
+
# deliberately emits no graph File node for generic YAML. Keeping it
|
|
129
|
+
# in the inventory makes reconciliation impossible because no hash can
|
|
130
|
+
# ever be stored for that file.
|
|
131
|
+
return parser.detect_language(root / file) != "yaml"
|
|
132
|
+
files = {file for file in collect_all_files(root) if source_candidate(file)}
|
|
133
133
|
if detect_vcs(root) == "git":
|
|
134
134
|
parser = CodeParser(root)
|
|
135
135
|
for file in working_tree_files(root):
|
|
136
136
|
source = root / file
|
|
137
137
|
if (source.is_file() and not source.is_symlink()
|
|
138
|
-
and source_candidate(file)
|
|
138
|
+
and source_candidate(file)
|
|
139
139
|
and parser.detect_language(source) is not None
|
|
140
140
|
and not _is_binary(source)):
|
|
141
141
|
files.add(file)
|
|
@@ -219,9 +219,9 @@ def main():
|
|
|
219
219
|
return discover(root)
|
|
220
220
|
if operation == "health":
|
|
221
221
|
return health(data)
|
|
222
|
-
if operation not in ("build", "update"):
|
|
223
|
-
raise ValueError("Unsupported review graph operation")
|
|
224
|
-
configure_source_scope()
|
|
222
|
+
if operation not in ("build", "update"):
|
|
223
|
+
raise ValueError("Unsupported review graph operation")
|
|
224
|
+
configure_source_scope()
|
|
225
225
|
from code_review_graph.tools.build import build_or_update_graph
|
|
226
226
|
result = build_or_update_graph(repo_root=str(root), full_rebuild=operation == "build", postprocess="full")
|
|
227
227
|
require_success(result)
|