apt-mcp-agent-setup 3.5.36 → 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.
Files changed (172) hide show
  1. package/README.md +1 -1
  2. package/bin/cli.js +1 -1
  3. package/build-input.json +215 -211
  4. package/bundle/NOTICES.md +0 -0
  5. package/bundle/core.enc +0 -0
  6. package/bundle/mcp-rules.enc +0 -0
  7. package/bundle/skills-aso.enc +0 -0
  8. package/bundle/skills-ba.enc +0 -0
  9. package/bundle/skills-base.enc +0 -0
  10. package/bundle/skills-be.enc +0 -0
  11. package/bundle/skills-design.enc +0 -0
  12. package/bundle/skills-fe.enc +0 -0
  13. package/bundle/skills-marketing.enc +0 -0
  14. package/bundle/skills-mobile.enc +0 -0
  15. package/bundle/skills-pm.enc +0 -0
  16. package/docs/technical-sources.md +7 -7
  17. package/integrity-manifest.json +172 -172
  18. package/package.json +1 -1
  19. package/release-check.js +30 -30
  20. package/src/backends/browser-tools.js +1 -1
  21. package/src/backends/index-cache-authority.js +1 -1
  22. package/src/backends/index-command.js +1 -1
  23. package/src/backends/index-contract.json +11 -11
  24. package/src/backends/index-maintenance.js +1 -1
  25. package/src/backends/index-store.js +1 -1
  26. package/src/backends/profiles.js +1 -1
  27. package/src/backends/review_graph.py +103 -103
  28. package/src/backends/source-discovery.js +1 -1
  29. package/src/core/admission-fence.js +1 -1
  30. package/src/core/aso-import.js +1 -1
  31. package/src/core/backend-lease-recovery.js +1 -1
  32. package/src/core/boot-evidence.js +1 -1
  33. package/src/core/caller-context.js +1 -1
  34. package/src/core/catalog.js +1 -1
  35. package/src/core/claude-caller-authority.js +1 -1
  36. package/src/core/claude-invocation.js +1 -1
  37. package/src/core/claude-launch-recovery.js +1 -1
  38. package/src/core/claude-native.js +1 -1
  39. package/src/core/claude-plan.js +1 -1
  40. package/src/core/claude-transcript-scan.js +1 -1
  41. package/src/core/claude-worker-transcript.js +1 -1
  42. package/src/core/codex-host-metadata.js +1 -1
  43. package/src/core/codex-transcript-receipt.js +1 -1
  44. package/src/core/connection-inspector.js +1 -1
  45. package/src/core/content-hash-cache.js +1 -1
  46. package/src/core/context-metrics.js +1 -1
  47. package/src/core/doctor.js +1 -1
  48. package/src/core/draining-completion.js +1 -1
  49. package/src/core/execution.js +1 -1
  50. package/src/core/git-context.js +1 -1
  51. package/src/core/hook-bridge.js +1 -1
  52. package/src/core/hook-diagnostics.js +1 -1
  53. package/src/core/hook-lease.js +1 -1
  54. package/src/core/host-adapters.js +1 -1
  55. package/src/core/interrupted-boot-transport-proof.js +1 -1
  56. package/src/core/interrupted-natural-closure-proof.js +1 -1
  57. package/src/core/interrupted-operation-audit.js +1 -1
  58. package/src/core/interrupted-transport-proof.js +1 -1
  59. package/src/core/ipc-envelope.js +1 -1
  60. package/src/core/legacy-retirement-proof.js +1 -1
  61. package/src/core/memory-scope.js +1 -1
  62. package/src/core/memory-store.js +1 -1
  63. package/src/core/model-inventory.js +1 -1
  64. package/src/core/model-routing.js +1 -1
  65. package/src/core/native-dispatch.js +1 -1
  66. package/src/core/native-receipt.js +1 -1
  67. package/src/core/native-retirement.js +1 -1
  68. package/src/core/node-version.js +1 -1
  69. package/src/core/npm-cli.js +1 -1
  70. package/src/core/owned-command-child.js +1 -1
  71. package/src/core/owned-command.js +1 -1
  72. package/src/core/owned-lock.js +1 -1
  73. package/src/core/owned-process.js +1 -1
  74. package/src/core/pipeline-journal.js +1 -1
  75. package/src/core/presentations.js +1 -1
  76. package/src/core/quality-artifacts.js +1 -1
  77. package/src/core/quality.js +1 -1
  78. package/src/core/read-command.js +1 -1
  79. package/src/core/readonly-skill.js +1 -1
  80. package/src/core/recovery-archive.js +1 -1
  81. package/src/core/recovery-proof.js +1 -1
  82. package/src/core/resource-transaction.js +1 -1
  83. package/src/core/run-checkpoint.js +1 -1
  84. package/src/core/run-compatibility.js +1 -1
  85. package/src/core/run-state-codec.js +1 -1
  86. package/src/core/runtime-authority.js +1 -1
  87. package/src/core/runtime-info.js +1 -1
  88. package/src/core/runtime-ownership.js +1 -1
  89. package/src/core/session.js +1 -1
  90. package/src/core/shared-checkout.js +1 -1
  91. package/src/core/skill-companions.js +1 -1
  92. package/src/core/skill-names.js +1 -1
  93. package/src/core/storage-retry.js +1 -1
  94. package/src/core/tool-contracts.js +1 -1
  95. package/src/core/transport-boot-contract.json +12 -12
  96. package/src/core/transport-close-contract.json +10 -10
  97. package/src/core/transport-contract.json +10 -10
  98. package/src/core/transport-pending-boot-contract.json +12 -12
  99. package/src/core/update-control.js +1 -1
  100. package/src/core/upgrade-runs.js +1 -1
  101. package/src/core/upgrade-stop.js +1 -1
  102. package/src/core/windows-job.js +1 -1
  103. package/src/core/workflow-policy.js +1 -1
  104. package/src/core/workspace-generation.js +1 -1
  105. package/src/core/workspace-path.js +1 -1
  106. package/src/installer/bounded-command.js +1 -1
  107. package/src/installer/candidate-preflight.js +1 -1
  108. package/src/installer/claude-commands.js +1 -1
  109. package/src/installer/connection-activation.js +1 -1
  110. package/src/installer/connection-supervisor.js +1 -1
  111. package/src/installer/deployment-draft.js +1 -1
  112. package/src/installer/gateway-context.js +1 -1
  113. package/src/installer/gateway-migration.js +1 -1
  114. package/src/installer/gateway-runtime.js +1 -1
  115. package/src/installer/global-setup.js +1 -1
  116. package/src/installer/hook-context-client.js +1 -1
  117. package/src/installer/hook-dispatcher.js +179 -179
  118. package/src/installer/host-hooks.js +1 -1
  119. package/src/installer/index-interruption-recovery.js +1 -1
  120. package/src/installer/index-recovery.js +1 -1
  121. package/src/installer/install-intent.js +1 -1
  122. package/src/installer/interrupted-operation-recovery.js +1 -1
  123. package/src/installer/legacy-prepared-plan.js +1 -1
  124. package/src/installer/legacy-registration.js +1 -1
  125. package/src/installer/managed-config.js +1 -1
  126. package/src/installer/migration-scope.js +1 -1
  127. package/src/installer/platform-config.js +1 -1
  128. package/src/installer/prerequisites.js +1 -1
  129. package/src/installer/presentations.js +1 -1
  130. package/src/installer/project-outcome.js +1 -1
  131. package/src/installer/project-setup.js +1 -1
  132. package/src/installer/recovery-backup-retention.js +1 -1
  133. package/src/installer/registration-closure.js +1 -1
  134. package/src/installer/registration-plan.js +1 -1
  135. package/src/installer/registration-receipt.js +1 -1
  136. package/src/installer/registrations.js +1 -1
  137. package/src/installer/runtime-activation.js +1 -1
  138. package/src/installer/runtime-child.js +1 -1
  139. package/src/installer/runtime-cleanup.js +1 -1
  140. package/src/installer/runtime-lock.js +1 -1
  141. package/src/installer/runtime-store.js +1 -1
  142. package/src/installer/runtime-supervisor.js +1 -1
  143. package/src/installer/setup-wizard.js +1 -1
  144. package/src/installer/stale-run-release.js +1 -1
  145. package/src/installer/update-addons.js +1 -1
  146. package/src/installer/update-cleanup.js +1 -1
  147. package/src/installer/update-executor.js +1 -1
  148. package/src/installer/update-history.js +1 -1
  149. package/src/installer/update-registration.js +1 -1
  150. package/src/installer/update-report.js +1 -1
  151. package/src/installer/update-request.js +1 -1
  152. package/src/installer/update-scope.js +1 -1
  153. package/src/installer/workspace-registry.js +1 -1
  154. package/src/installer/workspace-transaction.js +1 -1
  155. package/src/installer/workspace-update.js +1 -1
  156. package/src/license/crypto.js +1 -1
  157. package/src/license/fingerprint.js +1 -1
  158. package/src/license/terms.js +1 -1
  159. package/src/license/verify.js +1 -1
  160. package/src/presets/index.js +1 -1
  161. package/src/proxy/backends.js +1 -1
  162. package/src/proxy/browser-sessions.js +1 -1
  163. package/src/proxy/core-tools.js +1 -1
  164. package/src/proxy/pipeline.js +1 -1
  165. package/src/proxy/public-catalog.js +1 -1
  166. package/src/proxy/router.config.js +1 -1
  167. package/src/proxy/router.js +1 -1
  168. package/src/proxy/run-summary.js +1 -1
  169. package/src/proxy/server.js +1 -1
  170. package/src/proxy/workspace-gateway.js +1 -1
  171. package/src/templates/apt-runtime.md +3 -2
  172. package/src/templates/mcp-tools.md +3 -3
@@ -1 +1 @@
1
- const _0x1b28aa=_0x385a;(function(_0x1b4ee0,_0x38a67c){const _0x177811=_0x385a,_0x50ed7f=_0x1b4ee0();while(!![]){try{const _0x3967fa=-parseInt(_0x177811(0x1c6))/0x1+-parseInt(_0x177811(0x1c8))/0x2*(-parseInt(_0x177811(0x24d))/0x3)+parseInt(_0x177811(0x251))/0x4*(parseInt(_0x177811(0x213))/0x5)+-parseInt(_0x177811(0x226))/0x6*(-parseInt(_0x177811(0x22b))/0x7)+-parseInt(_0x177811(0x2a8))/0x8+parseInt(_0x177811(0x1e8))/0x9+-parseInt(_0x177811(0x2f0))/0xa;if(_0x3967fa===_0x38a67c)break;else _0x50ed7f['push'](_0x50ed7f['shift']());}catch(_0x19bb8a){_0x50ed7f['push'](_0x50ed7f['shift']());}}}(_0x51db,0x58575));const fs=require('fs'),path=require(_0x1b28aa(0x269)),crypto=require(_0x1b28aa(0x29f)),cp=require(_0x1b28aa(0x24c)),cacheHost=require('os')[_0x1b28aa(0x296)]()+':'+process[_0x1b28aa(0x2ca)]+':'+process['arch'],{runIndexCommand,indexTimeout}=require('./index-command'),{identity,sameWorkspace,containsWorkspace}=require('../core/workspace-path'),{acquireRuntimeLock}=require(_0x1b28aa(0x293)),{resolveManagedIndexCache,openManagedIndexCache,validateManagedIndexCache,assertCacheOutcome,safePath}=require('./index-cache-authority'),recoveryOwners=new WeakMap(),buildOwners=new WeakMap(),run=runIndexCommand,hash=_0x1bd393=>crypto['createHash'](_0x1b28aa(0x1e2))['update'](_0x1bd393)[_0x1b28aa(0x1cf)](_0x1b28aa(0x228)),bridge=path[_0x1b28aa(0x2b8)](__dirname,_0x1b28aa(0x1fd)),fail=(_0x172bea,_0x1f4d94)=>Object[_0x1b28aa(0x2af)](new Error(_0x1f4d94),{'code':_0x172bea}),spelling=_0x3ad82c=>process['platform']===_0x1b28aa(0x203)?path['resolve'](_0x3ad82c)[_0x1b28aa(0x25f)]():path[_0x1b28aa(0x2a1)](_0x3ad82c);function rejectLink(_0x561c17){const _0x15e6b5=_0x1b28aa;try{if(fs[_0x15e6b5(0x2f6)](_0x561c17)[_0x15e6b5(0x26a)]())throw fail(_0x15e6b5(0x287),_0x15e6b5(0x25e));}catch(_0x344186){if(_0x344186[_0x15e6b5(0x1e6)]!==_0x15e6b5(0x1d8))throw _0x344186;}}function _0x51db(){const _0x418112=['y2HPBgrFChjVy2vZCW','mJy3mZLMsMzswhu','CMvHC29Uq29Kzq','D3jPDgvgAwXLu3LUyW','lMfNzw50CW','ne1xBvnZEa','sw5KzxGGCMvJB3zLCNKGB3DUzxjZAgLWignOyw5NzwqGzhvYAw5NigL0CYbMDw5JDgLVBMfSihbYB2jL','yNvPBhq','DxrMoa','y2fJAgvdB250CMfJDa','B3DUzwq','ywn0AxzHDgvnyw5Hz2vKsw5KzxHdywnOzq','C29YDa','Aw5KzxHtDg9Yzq','y29KzwDYyxbO','C2vYDMu','CMvHC29U','lMfWDc1IywnRDxaT','sw5KzxGGBwv0ywrHDgeGBxvZDcbUB3qGyMuGysbZEw1IB2XPyYbSAw5R','Dg9mB3DLCKnHC2u','r1jbueHFq0HbtKDfra','BxrPBwvnCW','qNvPBgqGCMvJzwLWDcbJAgfUz2vKigr1CMLUzYbPBMrLEcbLEgvJDxrPB24','zgLZy292zxjcywnRzw5Ku291CMnLCW','zgvSzxrL','lI9PBMrLEc1TywLUDgvUyw5Jzq','qsbSAxzLigjHy2TLBMqGAxmGDxnPBMCGDgHLigLUzgv4oYbYzxn0yxj0igL0igjLzM9YzsbYzwj1AwXKAw5N','zxHPC3rZu3LUyW','lMfNzw50CY9YDw50Aw1Ll2jHy2TLBMrZlW','Cgf0Aa','AxntEw1IB2XPy0XPBMS','CgfYC2u','y29UC3qGE0rHDgfIyxnLu3LUy309CMvXDwLYzsGNBM9KztPZCwXPDguNktTJB25ZDcbKyJ1UzxCGrgf0ywjHC2vtEw5JkhbYB2nLC3mUyxjNDLSXxsX7CMvHze9UBhK6Dhj1zx0Po3rYExTJB25ZDcbYB3DZpwrIlNbYzxbHCMuOj1bsquDnqsbPBNrLz3jPDhLFy2HLy2SNks5HBgWOktTPzIHYB3DZlNnVBwuOCJ0+t2jQzwn0lNzHBhvLCYHYkvSWxse9psDVAYCPkxrOCM93ievYCM9YkcDKyxrHyMfZzsbKAxnRigLTywDLigLZig1HBgzVCM1LzcCPo31MAw5HBgX5E2rIlMnSB3nLkcL9','CgLK','CMvJB3zLCNLtDgf0Dxm','ywrVChrmzwDHy3K','lMfWDc1Tyw5Hz2vKlMPZB24','q2fJAguGB3DUzxjZAgLWignOyw5NzwqGyMvMB3jLihjLy292zxj5','DhjPBq','z2v0uhjVDg90ExbLt2y','zgf0ywjHC2vjzgvUDgL0Eq','su5ervHFuKvdt1zfuLLFq0HbtKDfra','zxHWB3j0CW','CMvJzwLWDe1HDgnOzxm','lxnOBq','yxv0Ag9YAxr5','su5ervHFufjpqKvFrKfjteve','C3rHDhvZ','CMvHzezPBgvtEw5J','q2fJAguGB3DUzxjZAgLWigLZig5VDcbWCM92zw4','yxnZzxj0qxzHAwXHyMXL','Aw5PDgLHBgL6zq','Aw5JCMvTzw50ywXizwfSDgH5','CMvNAxn0zxi','sw52ywXPzcbdB2rLr3jHCgGGy2fJAguGzgLYzwn0B3j5','yMfJA3vW','y2fUB25Py2fSlxDVCMTZCgfJzs1PC29SyxrPB24','C291CMnLq291BNq','qMfJA2vUzcbXDwvYEsbMywLSzwq','vu5tquzfx0Lorevy','qMfJA2vUzcbKAwqGBM90ihbHC3mGAxrZigz1BMn0Aw9UywWGChjVyMu','y2fJAgu','ChjVDg9JB2XwzxjZAw9U','zNvUy3rPB25HBfjLywr5','yNvZEq','qMfJA2vUzcb3yxmGC3rVChbLzcbKDxjPBMCGCMvJB3zLCNK','sw52ywXPzcbYzxzPzxCGz3jHCgGGy2fJAguGzgLYzwn0B3j5','zMfPBgvKrMLUz2vYChjPBNq','y3jLyxrL','y29UDhjHy3q','y29UC3qGw20SzMLSzsXYB290lhzLCNnPB25DpxbYB2nLC3mUyxjNDI5ZBgLJzsGXksXKyJ1UzxCGrgf0ywjHC2vtEw5JkgzPBguSE3jLywrpBMX5oNrYDwv9ktS','lI4Vy29Yzs9VD25Lzc1SB2nR','zMfPBgvK','Aw5V','Ag9ZDg5HBwu','y29UzMLN','BwLNCMf0zuXLz2fJEq','AxneAxjLy3rVCNK','y29UC3qGzMLSzxm9BMv3ie1HCcHKyI5WCMvWyxjLkcDtruXfq1qGCgf0AcXJB250zw50x2HHC2GSzxjYB3jZiezst00GzMLSzxmNks5HBgWOks5TyxaOCJ0+w3iUCgf0AcXYxsKPoW','C29Tzq','qvbux0Lorevyx0jvsuXe','ChjVy2vZC0LKzw50Axr5','qMfJA2vUzcbZDgf0zsbLC2nHCgvZihDVCMTZCgfJzq','y3j5ChrV','C3rVCefUzfDHAxq','CMvZB2X2zq','zxjYB3i','rK9sruLhtL9jtKrfwf9sruDju1rswv9dt05gteLdva','DxnLCNm','y29UC3qGzxH0CMfJDgLVBJ1Yzxf1AxjLkhaUAM9PBIHTlcDLEhrYywn0Aw9UjYKPlgv2pxjLCxvPCMuOCc5QB2LUkg0Sj2v4DhjHy3rPB24VzxH0CMfJDgLVBI12zxjZAw9UjYKPlKvyvfjbq1rjt05FvKvsu0LptJS','zxHPDenVzgu','su5ervHFqLvjterFrKfjteve','ntmZotCXmMzAvLbYra','C3rHDgveAxjLy3rVCNK','CMfUzg9Tvvvjra','DxbKyxrL','A2LSBa','yMfJA2vUzhm','D3jPDgvszwnVDMvYEuzHAwX1CMu','yxnZAwDU','rM9YzwLNBIbJDxn0B20Gy2fJAguGAxmGB3v0C2LKzsb3B3jRC3bHy2u','y2HLy2ToyxrPDMvmB2nRCW','zNjVBuvUDhjPzxm','Ag9ZDa','Dg9ju09tDhjPBMC','D3jPDgvtDgf0zq','Aw5ZDgfUy2vjza','zNn5BMntEw5J','AM9PBG','D2L0AezPBgvuExbLCW','zgLHz25VC3rPyW','ls15zxm','ls1Ty3a','y2fJAguUBg9JAW','Aw5JBhvKzxm','qMfJA2vUzcbZB3vYy2uGB3iGy29UzMLNDxjHDgLVBIbJAgfUz2vKigr1CMLUzYbNCMfWAcbIDwLSzdSGCMv0CNKGyMvMB3jLigLTCgfJDcbHBMfSExnPCW','C3rHCNrZv2L0Aa','uMv2Awv3ihjLz2LZDhj5ignOyw5NzwqGDgHLigfJDgL2zsbKyxrHyMfZzq','q29KzuDYyxbOigHHCYbUBYbJB21WBgv0zsbJDxjYzw50igLUzgv4ignVDMvYAw5NigL0CYbKAxnJB3zLCMvKihnVDxjJzxm','lNzLBNy','zgvWBg95zwq','ChjLCgfYzq','zNjVBq','qMfJA2vUzcb3yxmGC3rVChbLzcb3AgLSzsbYzwj1AwXKAw5NigL0CYbPBMrLEa','y2XVC2vtEw5J','su5ervHFse9tvf9vtLzfuKLgsuve','CgXHDgzVCM0','CMvUyw1Lu3LUyW','DMvUDG','BwLZC2LUzW','lMnVzgvNCMfWAa','Dgv4Da','ChvZAa','Dw5RBM93BG','zw52','zxHLy3v0ywjSzq','y29TBwfUza','ChjLDMLVDxnszwnLAxb0','BwfPBNrLBMfUy2u','Aw5PDa','z2vUzxjHDgLVBG','y2f0y2G','B3DUzxjqCM9JzxnZu3rHCNq','mdaWmdaWmdaTmdaWmc0WmdaWltaWmdaTmdaWmdaWmdaWmdaW','y29KzwDYyxbOlMXVy2S','su5ervHFu1rpuf9vtKnptKzjuK1fra','su5ervHFt1vuq09nrv9vtKTot1Do','zgLYzwn0B3j5','y29UC3qGzgLZy292zxjLzd1LEhrYywn0Aw9UlNnJyw5eAxjLy3rVCNKOCM9VDcK7y29UC3qGAgvHBhrOEt1TzxrHlMLUzgv4x3n0yxrLpt09j2nVBxbSzxrLjYyMkgrPC2nVDMvYzwqUBgvUz3rOpt09md9MAwXLCY5ZAxPLpt09mdO','lMfNzw50CY8Uzgf0ys9NCMfWAa','Bg9JywXLq29TCgfYzq','CMvJDxjZAxzL','AxngAwXL','zM9YzwLNBLDVCMTZCgfJzvn0yxrL','yNvPBgrnB2rL','yNvPBgrFDhLWzq','zMLSDgvY','q2fJAguGB3DUzxjZAgLWigLZig5VDcbWCM92zw47ign1C3rVBsbPBMrLEgvZig11C3qGyMuGBwfUywDLzcbZzxbHCMf0zwX5','CMvJB3zLCG','yxv0Ag9YAxr5swq','y29UDhjHy3rjza','Aw5JCMvTzw50ywW','zw5KzwrbDa','BgfZDej1AwXK','ntG5mZm3mgLht2zgrW','ChjVy2vZC0LKzw50Axr5u25HChnOB3q','y2fJAgveAxjLy3rVCNK','DMvYC2LVBG','CMvJB3zLCMvK','C291CMnL','Bhn0yxrtEw5J','lM1LBw9YEq','BwvZC2fNzq','zgLZDa','DxnLCKzPBgu','y29KzwDYyxbOsgvHBhrOEq','Bg9JA1bHDgG','C3bSAxq','CMvZB3vYy2veAwDLC3q','BMfTzq','ChjLC2vYDMvK','ndGZotG4yMTjA3nk','BgvNywn5twLNCMf0Aw9U','ndzpBLzVAKi','zxf1ywXZ','sw5KzxGGBwfPBNrLBMfUy2uGAxmGyNvZEtSGCMv0CNKGywz0zxiGDgHLign1CNjLBNqGB3bLCMf0Aw9UigzPBMLZAgvZ','q2fJAguGC2vSzwn0Aw9UignOyw5Nzwq7ihjLy29UBMvJDcb0BYb0AguGC2vSzwn0zwqGy2fJAgu','yNvPBgq','y2f0ywXVz0HHC2G','DhjHBNnPDgLVBLjLy292zxj5','zgLNzxn0','CMvJB3zLCNKUANnVBG','lI4VChjVEhKVyMfJA2vUzhm','BwTKAxjtEw5J','C2XPy2u','y2HPBgrqAwq','Dw5YzwDPC3rLCG','lI9ZB3vYy2uTzgLZy292zxj5','DgvZDa','ru5pru5u','qMfJA2vUzcbZB3vYy2uGB3iGy29UzMLNDxjHDgLVBIbJAgfUz2vKigr1CMLUzYbNCMfWAcbOzwfSDgGGDMfSAwrHDgLVBG','lxDHBa','y2HPBgrqCM9JzxnZu3rHCNq','yxjNCW','sw5KzxHtDg9Yzq','BwLNCMf0zwq','q2fJAguGBg9JAYa','zMLUzeLUzgv4','AgfZ','C2HHmJu2','lI4Vy29Yzs9VD25Lzc1WCM9JzxnZ','mJaYnc0Xms0Wnq','lI9WCM9MAwXLCW','y29Kzq','lMPZB24','nJmWotu3nNrlEfrbyG','su5ervHFuefusf9dsefor0ve','CMvHBhbHDgHtEw5J','CMvIDwLSDa','qw5VDgHLCIbIywnRzw5KigLZihvZAw5NihrOzsbSzwDHy3KGy2fJAgu','q2fJAguGC2vSzwn0Aw9UignOyw5NzwqGzhvYAw5Nig1HAw50zw5HBMnL','CNvUBMLUzW','y29UDgvUDa','A2LUza','su5ervHFqLvtwq','CMv2Awv3','y29Kzs1YzxzPzxCTz3jHCgG','zgf0yurPCMvJDg9YEq','CMvJzwLWDc5QC29U','y2XPzw50sw5MBW','ls1MB3jJzq','su5ervHFtuLtu0LorW','CgvUzgLUzW','Cgf0AfnVDxjJzq','rK9sruLhtL9xt1jlu1bbq0vFu1rbveu','CMvIDwLSza','CMv2Awv3x2DYyxbOlNb5','zgvZy3jPChrVCKHHC2G','CMvZB2X2zvjLDMLLDW','su5ervHFu0vuvvbFrKfjteve','y29KzwDYyxbOlMrI','zMLUz2vYChjPBNq','D2LUmZi','D29YA3nWywnL','C3rYAw5NAwz5','BwfUywDLzezPBgviyxnOzxm','zgLYBMfTzq','C291CMnLu3rHDgu','yxjNDG','yxv0AgvUDgLJyxrLsw5KzxHsDw5Uzxi','C3rHBMrHBg9UzvjLyNvPBgq','yxnZzxj0sw5KzxHby2nLC3m','C3rKB3v0','Aw5ZCgvJDa','zxHLy0zPBgvtEw5J','ChjVzMLSzq','C25HChnOB3q','C2vSzwn0v29YA3nWywnLq2fJAgu','mZqXmZyWnuPeEufVCa','sw5KzxGGzgLYzwn0B3j5igvZy2fWzxmGD29YA3nWywnL','lMfNzw50CY9YDw50Aw1Ll2jHy2TLBMrZ','C2vSzwn0B3jgAwXL','C3rHCNq','y2XHC3nPzNK','uMvJB3zLCNKGyxv0Ag9YAxr5ignOyw5NzwqGyMvMB3jLihb1yMXPy2f0Aw9U','DhjHBNnHy3rPB25jza','zNvSBa','C3rYDwn0DxjLzenVBNrLBNq','Bg9JAW','Aw5KzxG','CMvSyxrPDMu','C2v0','Bwv0ys5PBMrLEgvKx3DPDgHFDMvYC2LVBJ09pxzLCNnPB24MjK51BwjLCIHTzxrHlMLUzgv4zwrFD2L0Af9LEhrYywn0Aw9Ux3zLCNnPB24Ppt09zxyMjMrPC2nVDMvYzwqUzxzLCNKOzJ0+E2nVBNn0ihjVDZ1MAwXLCY5NzxqOzIKSzxjYB3jZpxjVDYyMsLnptI5WyxjZzsHYB3CUzxjYB3jZFhWNw10NktTYzxr1CM4GCM93jIzbCNjHEs5PC0fYCMf5kgvYCM9YCYKMjMvYCM9YCY5Szw5NDgG9pt0WjIzYB3CUy29UDgvUDf9OyxnOpt09zxH0CMfJDgLVBI5OyxnOq29UDgvUDcHMCY5YzwfKrMLSzvn5BMmOCc5QB2LUkhjVB3qSzIKSj3v0zJGNksL9ksK7','Aw5KzxHqDwjSAwnHDgLVBKv4zwn1DgLVBG','lMnVzguTCMv2Awv3lwDYyxbO','DhLWzq','zw5KC1DPDgG','mtqZndbfuNLTDhq','zM9Yy2u','Agv4','BM90lw5LzwrLza','CMvJB3zLCMLUzW','mtuWnvLKEeHMuG','uMv2Awv3igDYyxbOihjLz2LZDhj5ig92zxjYAwrLCYb0AguGAxnVBgf0zwqGD29YA3nWywnLignHy2HLoYbVCMLNAw5HBcbKyxrHihDHCYbWCMvZzxj2zwq','Bgf1BMnOqxr0zw1WDeLK','zgf0ywjHC2u','BwfUAwzLC3rwzxjZAw9U','y29UC29Szs5SB2COsLnptI5ZDhjPBMDPzNKOE2HLywX0AhL9ksK7FwzPBMfSBhL7zgiUy2XVC2uOkx0','zgfLBw9UlNbPza','AxnbyNnVBhv0zq','lI9PBMrLEc1JywnOzs1HDxrOB3jPDhK','CMvZDwX0','BwfYA2vY','y2HLy2TeyxrHyMfZzq','B3rOzxjvC2vYCW','su5ervHFq09suLvqva','uKvdt1zfuLLFq0foq0vmteve','AxntywzLsw50zwDLCG','yxb0lwLUzgv4lxzLCMLMAwnHDgLVBG','CgvYzM9YBuj1AwXK','AgvHBhrO','C3rYAw5N','Aw5KzxHszwnVDMvYEq','rvnsq0G','zgv2','lNrTCa','BwfW','CMvHzgrPCLn5BMm','Aw5KzxGTyNvPBgqTBgfZDc5QC29U','z2v0','AgvHBhrOEq','BM93','Dhj5E2nVBNn0ig1LDge9t2jQzwn0lMzYB21fBNrYAwvZkgrIlNbYzxbHCMuOj1nftevdvcbRzxKSDMfSDwuGrLjptsbWCM9Qzwn0x21LDgfKyxrHjYKUywXSkcKUBwfWkhi9pLTYlMTLEsXYlNzHBhvLxsKPoW','C3rHDfn5BMm','yxb0lw1JCc1Hz2vUDa'];_0x51db=function(){return _0x418112;};return _0x51db();}function _0x385a(_0xad5a39,_0xd5dec2){_0xad5a39=_0xad5a39-0x1c0;const _0x51dbb1=_0x51db();let _0x385a02=_0x51dbb1[_0xad5a39];if(_0x385a['pYKRsf']===undefined){var _0x818449=function(_0x3fd78d){const _0xe50dd2='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x324974='',_0x1d8f45='';for(let _0x320c06=0x0,_0x3406fc,_0x1c0ec2,_0xd8f5de=0x0;_0x1c0ec2=_0x3fd78d['charAt'](_0xd8f5de++);~_0x1c0ec2&&(_0x3406fc=_0x320c06%0x4?_0x3406fc*0x40+_0x1c0ec2:_0x1c0ec2,_0x320c06++%0x4)?_0x324974+=String['fromCharCode'](0xff&_0x3406fc>>(-0x2*_0x320c06&0x6)):0x0){_0x1c0ec2=_0xe50dd2['indexOf'](_0x1c0ec2);}for(let _0x517a66=0x0,_0x3252a1=_0x324974['length'];_0x517a66<_0x3252a1;_0x517a66++){_0x1d8f45+='%'+('00'+_0x324974['charCodeAt'](_0x517a66)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1d8f45);};_0x385a['ChKruB']=_0x818449,_0x385a['iBmWOg']={},_0x385a['pYKRsf']=!![];}const _0x44ad5e=_0x51dbb1[0x0],_0x375b06=_0xad5a39+_0x44ad5e,_0x42c8a1=_0x385a['iBmWOg'][_0x375b06];return!_0x42c8a1?(_0x385a02=_0x385a['ChKruB'](_0x385a02),_0x385a['iBmWOg'][_0x375b06]=_0x385a02):_0x385a02=_0x42c8a1,_0x385a02;}function safeDirectory(_0x132395,_0x27a1fe){const _0x4f69ac=_0x1b28aa;if(path[_0x4f69ac(0x232)](_0x27a1fe)||_0x27a1fe['split'](/[\\/]/)[_0x4f69ac(0x2be)]('..'))throw fail(_0x4f69ac(0x287),_0x4f69ac(0x214));let _0x2a876e=_0x132395;for(const _0xf3423d of _0x27a1fe[_0x4f69ac(0x1c2)](/[\\/]/)[_0x4f69ac(0x2e8)](Boolean)){_0x2a876e=path[_0x4f69ac(0x2b8)](_0x2a876e,_0xf3423d),rejectLink(_0x2a876e);const _0xfd3c6={};_0xfd3c6[_0x4f69ac(0x2e3)]=!![],fs['mkdirSync'](_0x2a876e,_0xfd3c6);if(!containsWorkspace(_0x132395,_0x2a876e))throw fail('UNSAFE_INDEX',_0x4f69ac(0x214));}return _0x2a876e;}function atomic(_0x4e69d2,_0xcaea10){const _0xecf548=_0x1b28aa;rejectLink(_0x4e69d2);const _0x3d360f=_0x4e69d2+'.'+crypto[_0xecf548(0x2aa)]()+_0xecf548(0x242);try{const _0x559155=fs['openSync'](_0x3d360f,'wx');try{fs[_0xecf548(0x24f)](_0x559155,JSON[_0xecf548(0x205)](_0xcaea10)),fs[_0xecf548(0x2b7)](_0x559155);}finally{fs[_0xecf548(0x2c8)](_0x559155);}fs[_0xecf548(0x2cb)](_0x3d360f,_0x4e69d2);}finally{const _0x5614e7={};_0x5614e7[_0xecf548(0x227)]=!![],fs['rmSync'](_0x3d360f,_0x5614e7);}}function read(_0x3f767b){const _0x477cc=_0x1b28aa;try{return rejectLink(_0x3f767b),JSON[_0x477cc(0x26b)](fs[_0x477cc(0x27c)](_0x3f767b,_0x477cc(0x254)));}catch(_0x4ea9c0){if(_0x4ea9c0[_0x477cc(0x1e6)]===_0x477cc(0x1d8))return null;throw _0x4ea9c0;}}function classify(_0x5594cb){const _0x302f0a=_0x1b28aa;if(/database disk image is malformed|file is not a database|SQLITE_CORRUPT|SQLITE_NOTADB/i['test'](_0x5594cb))return _0x302f0a(0x238);if(/not indexed|no index|not initialized|no codegraph project|index (?:missing|invalid|corrupt)/i[_0x302f0a(0x1d7)](_0x5594cb))return _0x302f0a(0x1f8);return'BACKEND_QUERY_FAILED';}function responseError(_0x1ce902){const _0x355a7e=_0x1b28aa,_0x4816f6=_0x1ce902?.[_0x355a7e(0x234)],_0x20932c=_0x4816f6?.[_0x355a7e(0x21c)],_0xdcda3=_0x4816f6?.[_0x355a7e(0x1ef)]?.[_0x355a7e(0x2e8)](_0x26734a=>_0x26734a[_0x355a7e(0x224)]===_0x355a7e(0x2cf))[_0x355a7e(0x243)](_0x410031=>_0x410031['text'])[_0x355a7e(0x2b8)]('\x0a'),_0x27476f=_0x1ce902?.[_0x355a7e(0x2a2)]?.[_0x355a7e(0x2f8)]||typeof _0x1ce902?.['error']===_0x355a7e(0x23e)&&_0x1ce902[_0x355a7e(0x2a2)]||_0x20932c?.[_0x355a7e(0x2a2)]||_0xdcda3||_0x355a7e(0x286);return fail(classify(_0x27476f),String(_0x27476f)[_0x355a7e(0x1d3)](0x0,0x640));}function snapshot(_0x343e22,_0x213a78,_0x19118f,_0x31258a){const _0x3b0f9b=_0x1b28aa;if(_0x213a78&&_0x19118f){const _0x507d60=require(_0x3b0f9b(0x1d6))[_0x3b0f9b(0x263)](_0x213a78,_0x343e22,_0x19118f,_0x31258a);if(_0x507d60)return _0x507d60[_0x3b0f9b(0x211)];}const _0x8f0757=[],_0x29b3bc=new Set(['.git','.svn',_0x3b0f9b(0x250),_0x3b0f9b(0x2f7),_0x3b0f9b(0x2ce),'.code-review-graph','node_modules',_0x3b0f9b(0x2c3),_0x3b0f9b(0x2cc),'__pycache__',_0x3b0f9b(0x2f9),_0x3b0f9b(0x1cc)]),_0x3352cd=_0x21be4b=>{const _0x90d1e8=_0x3b0f9b,_0x386fab={};_0x386fab[_0x90d1e8(0x2b9)]=!![];for(const _0x2673ed of fs[_0x90d1e8(0x244)](_0x21be4b,_0x386fab)[_0x90d1e8(0x258)]((_0x3abe44,_0x4d6b0c)=>_0x3abe44[_0x90d1e8(0x1c4)][_0x90d1e8(0x2e2)](_0x4d6b0c['name']))){if(_0x29b3bc[_0x90d1e8(0x1e1)](_0x2673ed[_0x90d1e8(0x1c4)])||_0x2673ed[_0x90d1e8(0x1c4)][_0x90d1e8(0x2c0)]('.codegraph-')||_0x2673ed['name']['includes']('.apt-backup-')||_0x2673ed['isSymbolicLink']())continue;const _0x22cd7a=path[_0x90d1e8(0x2b8)](_0x21be4b,_0x2673ed[_0x90d1e8(0x1c4)]);if(_0x2673ed[_0x90d1e8(0x299)]())_0x3352cd(_0x22cd7a);else{if(_0x2673ed[_0x90d1e8(0x2e4)]())_0x8f0757[_0x90d1e8(0x2d0)]([path[_0x90d1e8(0x21f)](_0x343e22,_0x22cd7a)['replace'](/\\/g,'/'),hash(fs['readFileSync'](_0x22cd7a))]);}}};return _0x3352cd(_0x343e22),hash(JSON[_0x3b0f9b(0x205)](_0x8f0757));}function live(_0x1f3439){const _0x5bf476=_0x1b28aa;if(!Number[_0x5bf476(0x23a)](_0x1f3439)||_0x1f3439<=0x0)return![];try{return process[_0x5bf476(0x2ac)](_0x1f3439,0x0),!![];}catch(_0x1cde2d){return _0x1cde2d[_0x5bf476(0x1e6)]!==_0x5bf476(0x240);}}class IndexStore{constructor(_0x2d5b19,_0x5cc605,_0x1b977a,_0x2b8990={}){const _0x9312ed=_0x1b28aa;this[_0x9312ed(0x1f0)]=_0x2d5b19,this[_0x9312ed(0x204)]=fs[_0x9312ed(0x1ea)](_0x5cc605),this[_0x9312ed(0x210)]=_0x1b977a,this[_0x9312ed(0x279)]=resolveManagedIndexCache({'workspace':this[_0x9312ed(0x204)],'kind':_0x2d5b19,'profile':_0x1b977a,'pending':Boolean(_0x2b8990[_0x9312ed(0x2d6)])}),this['maintenance']=_0x2b8990['maintenance'];if(this[_0x9312ed(0x279)]){require('./index-maintenance')[_0x9312ed(0x20c)](this['workspace'],this[_0x9312ed(0x2d6)]),openManagedIndexCache(this['authority']),this[_0x9312ed(0x2df)]=this['authority'][_0x9312ed(0x2a9)],this[_0x9312ed(0x1c1)]=path[_0x9312ed(0x2b8)](this[_0x9312ed(0x2df)],'cache.lock'),this[_0x9312ed(0x2a4)]=safeDirectory(this[_0x9312ed(0x204)],path[_0x9312ed(0x21f)](this[_0x9312ed(0x204)],path['join'](this[_0x9312ed(0x2df)],_0x9312ed(0x2a4)))),this[_0x9312ed(0x2fa)]=path[_0x9312ed(0x2b8)](this[_0x9312ed(0x2a4)],crypto['randomUUID']()+'.json'),this[_0x9312ed(0x2d2)]=this['authority'][_0x9312ed(0x2d2)],this[_0x9312ed(0x289)]=this['authority']['cacheDirectory'],this[_0x9312ed(0x22e)]=this['authority'][_0x9312ed(0x22e)],this[_0x9312ed(0x1fa)]='managed-cache-contract-v'+_0x1b977a[_0x9312ed(0x255)],this[_0x9312ed(0x27e)]();return;}this[_0x9312ed(0x2df)]=safeDirectory(this[_0x9312ed(0x204)],_0x9312ed(0x268)+_0x2d5b19);if(!containsWorkspace(this[_0x9312ed(0x204)],this[_0x9312ed(0x2df)]))throw fail(_0x9312ed(0x287),_0x9312ed(0x29e));this[_0x9312ed(0x1c1)]=path[_0x9312ed(0x2b8)](this[_0x9312ed(0x2df)],_0x9312ed(0x2bd)),this[_0x9312ed(0x2a4)]=safeDirectory(this['workspace'],'.agents/runtime/backends/'+_0x2d5b19+'/users'),this[_0x9312ed(0x2fa)]=path[_0x9312ed(0x2b8)](this[_0x9312ed(0x2a4)],crypto[_0x9312ed(0x2aa)]()+_0x9312ed(0x1e7));if(_0x2d5b19===_0x9312ed(0x1f3)){const _0x35016e=path['join'](this[_0x9312ed(0x204)],_0x9312ed(0x223));if(!fs[_0x9312ed(0x267)](_0x35016e))fs[_0x9312ed(0x1d2)](_0x35016e);const _0x2cb530=_0x1b977a[_0x9312ed(0x2f2)]||_0x9312ed(0x2e1);if(!/^\.agents\/\.data\/graph(?:-[0-9]+\.[0-9]+\.[0-9]+)?$/['test'](_0x2cb530))throw fail(_0x9312ed(0x287),_0x9312ed(0x28e));this[_0x9312ed(0x2d2)]={..._0x1b977a['env'],'CRG_DATA_DIR':path[_0x9312ed(0x2b8)](this[_0x9312ed(0x204)],_0x2cb530)};const _0x584bfd=this[_0x9312ed(0x1ff)]();this[_0x9312ed(0x289)]=_0x584bfd[_0x9312ed(0x1f4)],this[_0x9312ed(0x22e)]=_0x584bfd[_0x9312ed(0x22e)],this[_0x9312ed(0x1fa)]=_0x584bfd[_0x9312ed(0x2f5)];}else{this[_0x9312ed(0x2d2)]=_0x1b977a[_0x9312ed(0x2d2)]||{};if(_0x1b977a['cacheDirectory']&&!/^\.codegraph(?:-[a-z0-9]+-[a-z0-9]+)?$/['test'](_0x1b977a[_0x9312ed(0x2f2)]))throw fail(_0x9312ed(0x287),_0x9312ed(0x282));this[_0x9312ed(0x289)]=path[_0x9312ed(0x2b8)](this[_0x9312ed(0x204)],_0x1b977a[_0x9312ed(0x2f2)]||_0x9312ed(0x2ce)),this[_0x9312ed(0x22e)]=path[_0x9312ed(0x2b8)](this[_0x9312ed(0x289)],_0x9312ed(0x201));}this['selectWorkspaceCache']();const _0x3ebed2=this[_0x9312ed(0x21d)]();try{this[_0x9312ed(0x2c5)]();}finally{_0x3ebed2();}}['resolveReview'](){const _0x4118f9=_0x1b28aa;if(this[_0x4118f9(0x279)])validateManagedIndexCache(this[_0x4118f9(0x279)]);const _0x4d055c=cp[_0x4118f9(0x20f)](this[_0x4118f9(0x210)][_0x4118f9(0x2d4)],[bridge,_0x4118f9(0x20e),this[_0x4118f9(0x204)]],{'env':{...process.env,...this[_0x4118f9(0x2d2)]},'windowsHide':!![],'encoding':'utf8','timeout':0x3a98}),_0x5aef4d=JSON['parse'](_0x4d055c);if(this[_0x4118f9(0x279)]&&(spelling(_0x5aef4d[_0x4118f9(0x22e)])!==spelling(this['database'])||spelling(_0x5aef4d[_0x4118f9(0x1f4)])!==spelling(this[_0x4118f9(0x289)])))throw fail(_0x4118f9(0x1e9),'Review\x20registry\x20redirects\x20the\x20managed\x20cache');return _0x5aef4d;}[_0x1b28aa(0x212)](){const _0x4b5864=_0x1b28aa,_0x4e87ba=read(path[_0x4b5864(0x2b8)](this[_0x4b5864(0x289)],'.apt-managed.json'));if(!_0x4e87ba?.[_0x4b5864(0x204)])return;let _0x101c52=![];try{_0x101c52=sameWorkspace(_0x4e87ba[_0x4b5864(0x204)],this[_0x4b5864(0x204)]);}catch{}if(_0x101c52)return;if(!containsWorkspace(this[_0x4b5864(0x204)],this['cache']))throw fail(_0x4b5864(0x287),_0x4b5864(0x2b0));this[_0x4b5864(0x2e5)]={'code':_0x4b5864(0x1fb),'kind':this[_0x4b5864(0x1f0)],'cache':this[_0x4b5864(0x289)]};const _0x3d143b='-w'+hash(identity(this[_0x4b5864(0x204)]))[_0x4b5864(0x1d3)](0x0,0x10),_0x357127=(this[_0x4b5864(0x210)][_0x4b5864(0x2f2)]||(this[_0x4b5864(0x1f0)]==='codegraph'?_0x4b5864(0x2ce):'.agents/.data/graph'))+_0x3d143b;this[_0x4b5864(0x210)]={...this[_0x4b5864(0x210)],'cacheDirectory':_0x357127},this[_0x4b5864(0x289)]=path[_0x4b5864(0x2b8)](this[_0x4b5864(0x204)],_0x357127);if(this['kind']===_0x4b5864(0x25a))this[_0x4b5864(0x2d2)]={...this[_0x4b5864(0x2d2)],'CODEGRAPH_DIR':_0x357127},this[_0x4b5864(0x22e)]=path[_0x4b5864(0x2b8)](this[_0x4b5864(0x289)],_0x4b5864(0x201));else{this[_0x4b5864(0x2d2)]={...this['env'],'CRG_DATA_DIR':this[_0x4b5864(0x289)]};const _0x6be824=this[_0x4b5864(0x1ff)]();if(spelling(_0x6be824[_0x4b5864(0x1f4)])!==spelling(this['cache']))throw fail(_0x4b5864(0x2a3),_0x4b5864(0x22c));this['database']=_0x6be824[_0x4b5864(0x22e)];}this['pathSource']=_0x4b5864(0x284);}[_0x1b28aa(0x2c5)](){const _0x3d26e5=_0x1b28aa,_0x47aab5=this[_0x3d26e5(0x1f0)]===_0x3d26e5(0x25a)?this[_0x3d26e5(0x289)]:path['join'](this[_0x3d26e5(0x204)],this['profile']['cacheDirectory']||_0x3d26e5(0x2e1)),_0x4ab2f2=fs[_0x3d26e5(0x267)](this[_0x3d26e5(0x289)]);if(!_0x4ab2f2&&spelling(this['cache'])===spelling(_0x47aab5)){safeDirectory(this['workspace'],path['relative'](this[_0x3d26e5(0x204)],this['cache']));if(!containsWorkspace(this[_0x3d26e5(0x204)],this[_0x3d26e5(0x289)]))throw fail(_0x3d26e5(0x287),'Cache\x20escapes\x20workspace');atomic(path[_0x3d26e5(0x2b8)](this[_0x3d26e5(0x289)],_0x3d26e5(0x270)),{'owner':_0x3d26e5(0x24b),'workspace':this['workspace'],'kind':this[_0x3d26e5(0x1f0)],'host':cacheHost});}}[_0x1b28aa(0x26f)](){const _0x5b8ac0=_0x1b28aa;if(this['authority'])return![];if(this[_0x5b8ac0(0x256)]())return!![];if(read(path[_0x5b8ac0(0x2b8)](this[_0x5b8ac0(0x289)],'.apt-managed.json')))return![];const _0x4c4233=this[_0x5b8ac0(0x1f0)]==='codegraph'?_0x5b8ac0(0x2ce):'.agents/.data/graph';if(spelling(this[_0x5b8ac0(0x289)])!==spelling(path[_0x5b8ac0(0x2b8)](this[_0x5b8ac0(0x204)],_0x4c4233)))return![];if(identity(this[_0x5b8ac0(0x289)])!==spelling(path[_0x5b8ac0(0x2b8)](this[_0x5b8ac0(0x204)],_0x4c4233)))return![];const _0x108af1=read(path['join'](this[_0x5b8ac0(0x204)],'.agents/manifest.json')),_0x3ca564='.agents/proxy/backends.js',_0x2e6da1=_0x108af1?.[_0x5b8ac0(0x206)]?.[_0x3ca564];if(!_0x2e6da1||!_0x108af1['files']?.['includes'](_0x3ca564))return![];const _0x5438bb=path[_0x5b8ac0(0x2b8)](this[_0x5b8ac0(0x204)],_0x3ca564);rejectLink(path[_0x5b8ac0(0x207)](_0x5438bb)),rejectLink(_0x5438bb);if(hash(fs[_0x5b8ac0(0x27c)](_0x5438bb))!==_0x2e6da1)return![];for(const _0x48c2fd of['','-wal',_0x5b8ac0(0x278)])rejectLink(this[_0x5b8ac0(0x22e)]+_0x48c2fd);this[_0x5b8ac0(0x2b1)]();if(this[_0x5b8ac0(0x237)]())throw fail(_0x5b8ac0(0x1f1),_0x5b8ac0(0x1ec));const _0x102ee6={};return _0x102ee6[_0x5b8ac0(0x22f)]=_0x108af1[_0x5b8ac0(0x2f3)],_0x102ee6[_0x5b8ac0(0x2c4)]=_0x3ca564,_0x102ee6[_0x5b8ac0(0x1cf)]=_0x2e6da1,atomic(path[_0x5b8ac0(0x2b8)](this[_0x5b8ac0(0x289)],_0x5b8ac0(0x270)),{'owner':_0x5b8ac0(0x24b),'workspace':this[_0x5b8ac0(0x204)],'kind':this[_0x5b8ac0(0x1f0)],'provenance':_0x102ee6}),!![];}[_0x1b28aa(0x256)](){const _0x955287=_0x1b28aa;try{if(this['authority'])return validateManagedIndexCache(this[_0x955287(0x279)]),!![];const _0x1e7927=read(path['join'](this['cache'],_0x955287(0x270)));for(const _0xe6872 of['',_0x955287(0x1da),_0x955287(0x278)])rejectLink(this[_0x955287(0x22e)]+_0xe6872);const _0x22eb26=identity(this['cache']),_0x17b2c3=this['kind']===_0x955287(0x25a)?[this['profile']['cacheDirectory']||_0x955287(0x2ce),'.codegraph','.agents/.data/code']:[this['profile'][_0x955287(0x2f2)]||_0x955287(0x2e1)];return _0x1e7927?.['owner']===_0x955287(0x24b)&&sameWorkspace(_0x1e7927[_0x955287(0x204)],this['workspace'])&&_0x17b2c3[_0x955287(0x29b)](_0x5f4273=>{const _0x1c1326=_0x955287,_0xb78e91=path['resolve'](this[_0x1c1326(0x204)],_0x5f4273);return _0x22eb26===(process[_0x1c1326(0x2ca)]===_0x1c1326(0x203)?_0xb78e91['toLowerCase']():_0xb78e91);});}catch{return![];}}['lock'](){const _0x12cd85=_0x1b28aa;if(this[_0x12cd85(0x279)])safePath(this[_0x12cd85(0x204)],this['lockPath']);rejectLink(this[_0x12cd85(0x1c1)]);const _0x12d98c=acquireRuntimeLock(this[_0x12cd85(0x1c1)],0x0,cacheHost);if(!_0x12d98c)throw fail(_0x12cd85(0x1f1),_0x12cd85(0x1ca));return _0x12d98c;}[_0x1b28aa(0x27e)](){const _0xb88ca7=_0x1b28aa;if(!this[_0xb88ca7(0x279)])return;require(_0xb88ca7(0x265))[_0xb88ca7(0x20c)](this[_0xb88ca7(0x204)],this['maintenance']);if(this[_0xb88ca7(0x279)]['marker'][_0xb88ca7(0x2f3)]===0x3){if(this[_0xb88ca7(0x2d6)]){require(_0xb88ca7(0x265))[_0xb88ca7(0x222)](this['workspace'],this[_0xb88ca7(0x2d6)],this['authority'][_0xb88ca7(0x235)]);const _0x5ce8d4=read(safePath(this[_0xb88ca7(0x204)],this[_0xb88ca7(0x279)][_0xb88ca7(0x216)]));if(_0x5ce8d4&&_0x5ce8d4[_0xb88ca7(0x2ec)]!==this['authority'][_0xb88ca7(0x2ec)]||(_0x5ce8d4?.[_0xb88ca7(0x1f9)]?.[_0xb88ca7(0x2b6)]||_0x5ce8d4?.['active']||_0xb88ca7(0x2db))!==this[_0xb88ca7(0x279)][_0xb88ca7(0x235)][_0xb88ca7(0x2b6)])throw fail(_0xb88ca7(0x275),_0xb88ca7(0x1ed));}else{const _0x1df369={};_0x1df369[_0xb88ca7(0x204)]=this[_0xb88ca7(0x204)],_0x1df369[_0xb88ca7(0x1f0)]=this[_0xb88ca7(0x1f0)],_0x1df369[_0xb88ca7(0x210)]=this[_0xb88ca7(0x210)];const _0x317869=resolveManagedIndexCache(_0x1df369);if(_0x317869['authorityId']!==this[_0xb88ca7(0x279)]['authorityId']||_0x317869[_0xb88ca7(0x1fe)]!==this[_0xb88ca7(0x279)][_0xb88ca7(0x1fe)])throw fail(_0xb88ca7(0x275),_0xb88ca7(0x1cb));}}validateManagedIndexCache(this[_0xb88ca7(0x279)]),assertCacheOutcome(this[_0xb88ca7(0x279)],recoveryOwners[_0xb88ca7(0x246)](this),buildOwners[_0xb88ca7(0x246)](this));if(this[_0xb88ca7(0x1f0)]==='code-review-graph')this[_0xb88ca7(0x1ff)]();}[_0x1b28aa(0x2b5)](_0x28efba,_0x354870){const _0x1f4926=_0x1b28aa;if(this[_0x1f4926(0x279)])safePath(this['workspace'],_0x28efba);atomic(_0x28efba,_0x354870);}[_0x1b28aa(0x2ae)](_0x655206,_0x28e97d,_0x2a4c48){const _0x56a290=_0x1b28aa;if(this['authority']){if(!_0x28e97d)return;try{safePath(this[_0x56a290(0x204)],_0x655206);if(!fs['readFileSync'](_0x655206)[_0x56a290(0x1c9)](Buffer[_0x56a290(0x2c6)](JSON['stringify'](_0x28e97d))))return;}catch{return;}}this[_0x56a290(0x2b5)](_0x655206,_0x2a4c48);}[_0x1b28aa(0x1ce)](_0x7aae47,_0x1cfcc9,_0x4a8cd5){const _0x18c31f=_0x1b28aa;this[_0x18c31f(0x27e)]();if(this[_0x18c31f(0x279)]&&JSON[_0x18c31f(0x205)](read(_0x7aae47))!==JSON[_0x18c31f(0x205)](_0x1cfcc9))throw fail(_0x18c31f(0x275),_0x18c31f(0x219));this[_0x18c31f(0x2b5)](_0x7aae47,_0x4a8cd5);if(this['authority'])recoveryOwners[_0x18c31f(0x220)](this,_0x4a8cd5);}[_0x1b28aa(0x281)](_0x530a0a=null,_0x29b455=![]){const _0x375a34=_0x1b28aa,_0x11b74f=_0x29b455?null:this['lock']();try{this[_0x375a34(0x27e)]();if(this[_0x375a34(0x279)])safePath(this['workspace'],this[_0x375a34(0x2fa)]);const _0x74494=require(_0x375a34(0x1e3))[_0x375a34(0x2f1)](),_0x1e39a3=_0x1d94d7=>{const _0x3eb5df=_0x375a34;try{return _0x1d94d7?_0x74494(_0x1d94d7)?.[_0x3eb5df(0x217)]||null:null;}catch{return null;}};this[_0x375a34(0x2b5)](this[_0x375a34(0x2fa)],{'ownerPid':process[_0x375a34(0x26d)],'ownerProcessStart':_0x1e39a3(process[_0x375a34(0x26d)]),'childPid':_0x530a0a,'childProcessStart':_0x1e39a3(_0x530a0a),'workspace':this['workspace'],'host':cacheHost,...this[_0x375a34(0x279)]?{'authorityId':this[_0x375a34(0x279)][_0x375a34(0x2eb)],'descriptorHash':this[_0x375a34(0x279)]['descriptorHash']}:{}});}finally{_0x11b74f?.();}}[_0x1b28aa(0x1d5)](){const _0x4a3afd=_0x1b28aa;if(this['authority'])safePath(this[_0x4a3afd(0x204)],this['userFile']);const _0x4b821f={};_0x4b821f['force']=!![],fs['rmSync'](this[_0x4a3afd(0x2fa)],_0x4b821f);}[_0x1b28aa(0x237)](){const _0x4f35bf=_0x1b28aa;if(this[_0x4f35bf(0x279)])safePath(this[_0x4f35bf(0x204)],this[_0x4f35bf(0x2a4)]);const _0x2084f7=require('../core/owned-process')[_0x4f35bf(0x2f1)](),_0x1bd87c=(_0x11da11,_0xad2736)=>{const _0x3ed033=_0x4f35bf;if(!Number[_0x3ed033(0x23a)](_0x11da11)||_0x11da11<=0x0)return![];try{const _0x10b39c=_0x2084f7(_0x11da11);if(!_0x10b39c)return live(_0x11da11);if(typeof _0xad2736!==_0x3ed033(0x23e)||!/^[1-9][0-9]{0,19}$/['test'](_0xad2736)||typeof _0x10b39c[_0x3ed033(0x217)]!=='string'||!/^[1-9][0-9]{0,19}$/[_0x3ed033(0x1d7)](_0x10b39c[_0x3ed033(0x217)]))return!![];if(_0x10b39c[_0x3ed033(0x217)]===_0xad2736)return!![];const _0x36d965=require(_0x3ed033(0x1e3))[_0x3ed033(0x29d)](_0x11da11);if(!_0x36d965)return live(_0x11da11);return typeof _0x36d965[_0x3ed033(0x217)]!=='string'||!/^[1-9][0-9]{0,19}$/[_0x3ed033(0x1d7)](_0x36d965[_0x3ed033(0x217)])||_0x36d965[_0x3ed033(0x217)]===_0xad2736;}catch(_0x5550a6){return[_0x3ed033(0x1d8),_0x3ed033(0x240)][_0x3ed033(0x2be)](_0x5550a6[_0x3ed033(0x1e6)])?![]:!![];}};return fs[_0x4f35bf(0x244)](this['users'])[_0x4f35bf(0x2e8)](_0x4f6216=>_0x4f6216[_0x4f35bf(0x225)](_0x4f35bf(0x1e7)))[_0x4f35bf(0x29b)](_0x4e901d=>{const _0x15a0a3=_0x4f35bf,_0x9030ea=path[_0x15a0a3(0x2b8)](this['users'],_0x4e901d);if(_0x9030ea===this[_0x15a0a3(0x2fa)])return![];if(this[_0x15a0a3(0x279)])safePath(this[_0x15a0a3(0x204)],_0x9030ea);const _0x27b0b4=read(_0x9030ea);if(this[_0x15a0a3(0x279)]&&(!_0x27b0b4||_0x27b0b4[_0x15a0a3(0x2eb)]!==this[_0x15a0a3(0x279)][_0x15a0a3(0x2eb)]||_0x27b0b4['descriptorHash']!==this[_0x15a0a3(0x279)][_0x15a0a3(0x1fe)]||!Number[_0x15a0a3(0x23a)](_0x27b0b4['ownerPid'])||_0x27b0b4['ownerPid']<=0x0||_0x27b0b4[_0x15a0a3(0x1d4)]!==null&&(!Number[_0x15a0a3(0x23a)](_0x27b0b4[_0x15a0a3(0x1d4)])||_0x27b0b4[_0x15a0a3(0x1d4)]<=0x0)))return!![];if(_0x27b0b4?.['workspace']){let _0x23b843=![];try{_0x23b843=sameWorkspace(_0x27b0b4[_0x15a0a3(0x204)],this[_0x15a0a3(0x204)]);}catch{}if(!_0x23b843)return Boolean(this[_0x15a0a3(0x279)]);}else{if(this[_0x15a0a3(0x279)])return!![];}if(!_0x27b0b4||_0x27b0b4['host']!==cacheHost||_0x1bd87c(_0x27b0b4['ownerPid'],_0x27b0b4[_0x15a0a3(0x2da)])||_0x1bd87c(_0x27b0b4[_0x15a0a3(0x1d4)],_0x27b0b4[_0x15a0a3(0x1db)]))return!![];return fs['unlinkSync'](_0x9030ea),![];});}[_0x1b28aa(0x2b1)](){const _0x5433f6=_0x1b28aa;for(const _0x13c25b of[_0x5433f6(0x2dc),_0x5433f6(0x231)]){const _0x146938=path['join'](this[_0x5433f6(0x289)],_0x13c25b);if(!fs[_0x5433f6(0x267)](_0x146938))continue;rejectLink(_0x146938);const _0x28b74c=fs[_0x5433f6(0x27c)](_0x146938,_0x5433f6(0x254))[_0x5433f6(0x272)]();let _0x49f630;try{_0x49f630=_0x13c25b===_0x5433f6(0x231)?JSON['parse'](_0x28b74c)[_0x5433f6(0x26d)]:Number(_0x28b74c);}catch{}if(!Number[_0x5433f6(0x23a)](_0x49f630)||_0x49f630<=0x0||live(_0x49f630)||Date[_0x5433f6(0x248)]()-fs[_0x5433f6(0x24a)](_0x146938)[_0x5433f6(0x261)]<0x1d4c0)throw fail(_0x5433f6(0x1f1),_0x5433f6(0x1df)+_0x13c25b+'\x20requires\x20its\x20owning\x20backend\x20to\x20stop');}}async[_0x1b28aa(0x236)](){const _0x1f82b4=_0x1b28aa;if(!fs['existsSync'](this[_0x1f82b4(0x22e)])){if([_0x1f82b4(0x1da),_0x1f82b4(0x278)][_0x1f82b4(0x29b)](_0x5c1450=>fs[_0x1f82b4(0x267)](this[_0x1f82b4(0x22e)]+_0x5c1450)))throw fail(_0x1f82b4(0x238),'Database\x20is\x20missing\x20but\x20SQLite\x20sidecars\x20remain;\x20preserve\x20them\x20before\x20rebuilding');return;}for(const _0xdb837f of['','-wal',_0x1f82b4(0x278)])rejectLink(this[_0x1f82b4(0x22e)]+_0xdb837f);this['kind']==='codegraph'?await run(this[_0x1f82b4(0x210)][_0x1f82b4(0x2d4)],[...this[_0x1f82b4(0x210)]['args'][_0x1f82b4(0x1d3)](0x0,-0x1),'-e',_0x1f82b4(0x26c),this[_0x1f82b4(0x22e)]],{'timeout':indexTimeout()}):await run(this['profile'][_0x1f82b4(0x2d4)],['-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[_0x1f82b4(0x22e)]],{'timeout':indexTimeout()});}async['migrateLegacy'](){const _0x1a4b7a=_0x1b28aa;if(this[_0x1a4b7a(0x279)])return![];if(this[_0x1a4b7a(0x1f0)]!==_0x1a4b7a(0x25a)||!this[_0x1a4b7a(0x210)][_0x1a4b7a(0x2f2)]||fs[_0x1a4b7a(0x267)](this[_0x1a4b7a(0x22e)]))return![];const _0x259ea5=path[_0x1a4b7a(0x2b8)](this[_0x1a4b7a(0x204)],_0x1a4b7a(0x2ce));if(!fs[_0x1a4b7a(0x267)](path['join'](_0x259ea5,'codegraph.db')))return![];const _0x2914a4=Object[_0x1a4b7a(0x2af)](Object[_0x1a4b7a(0x290)](Object[_0x1a4b7a(0x273)](this)),this,{'cache':_0x259ea5,'database':path[_0x1a4b7a(0x2b8)](_0x259ea5,_0x1a4b7a(0x201)),'env':{...this[_0x1a4b7a(0x2d2)],'CODEGRAPH_DIR':_0x1a4b7a(0x2ce)}});try{const _0x159a00=read(path[_0x1a4b7a(0x2b8)](_0x259ea5,_0x1a4b7a(0x270)));if(_0x159a00?.[_0x1a4b7a(0x2b3)]!==cacheHost){const _0x1d4bfb={};return _0x1d4bfb[_0x1a4b7a(0x27b)]='preserved',_0x1d4bfb[_0x1a4b7a(0x25c)]=_0x1a4b7a(0x2c9),this[_0x1a4b7a(0x1c7)]=_0x1d4bfb,![];}_0x2914a4[_0x1a4b7a(0x2b1)]();if(_0x2914a4[_0x1a4b7a(0x237)]()||!_0x2914a4[_0x1a4b7a(0x256)]()&&!_0x2914a4['adoptLegacy']())return![];await _0x2914a4[_0x1a4b7a(0x236)]();}catch(_0x2acb8a){const _0x84a111={};return _0x84a111[_0x1a4b7a(0x27b)]=_0x1a4b7a(0x1c5),_0x84a111[_0x1a4b7a(0x25c)]=_0x2acb8a[_0x1a4b7a(0x1e6)]||_0x2acb8a[_0x1a4b7a(0x2f8)],this[_0x1a4b7a(0x1c7)]=_0x84a111,![];}if(!this['owned']()||fs[_0x1a4b7a(0x244)](this[_0x1a4b7a(0x289)])[_0x1a4b7a(0x29b)](_0x38077c=>_0x38077c!==_0x1a4b7a(0x270)))return![];const _0x129123=this[_0x1a4b7a(0x289)]+_0x1a4b7a(0x25d)+crypto['randomUUID']();fs[_0x1a4b7a(0x2cb)](this[_0x1a4b7a(0x289)],_0x129123);try{fs['renameSync'](_0x259ea5,this['cache']);}catch(_0x24f083){fs[_0x1a4b7a(0x2cb)](_0x129123,this[_0x1a4b7a(0x289)]);throw _0x24f083;}return this[_0x1a4b7a(0x1c7)]={'status':_0x1a4b7a(0x1de),'from':_0x259ea5,'to':this[_0x1a4b7a(0x289)]},!![];}[_0x1b28aa(0x208)](){const _0x490829=_0x1b28aa;return require(_0x490829(0x1d6))['discoverBackendSources'](this[_0x490829(0x1f0)],this[_0x490829(0x204)],this[_0x490829(0x210)],this[_0x490829(0x2d2)],this['maintenance']?{'timeout':indexTimeout()}:{})||{'snapshot':snapshot(this[_0x490829(0x204)]),'contract':'legacy-workspace-1','config':hash(JSON[_0x490829(0x205)](this['profile'])),'incremental':![]};}[_0x1b28aa(0x274)](){const _0x5f4b24=_0x1b28aa;if(!fs[_0x5f4b24(0x267)](this[_0x5f4b24(0x22e)]))return null;rejectLink(this['database']);const _0x53a281=fs[_0x5f4b24(0x24a)](this[_0x5f4b24(0x22e)]);return{'path':identity(this[_0x5f4b24(0x22e)]),'dev':String(_0x53a281[_0x5f4b24(0x241)]),'ino':String(_0x53a281[_0x5f4b24(0x295)]),'birthtimeMs':_0x53a281['birthtimeMs']};}[_0x1b28aa(0x277)](_0x70b450,_0x2c7019){const _0x327149=_0x1b28aa;return _0x70b450?.['status']===_0x327149(0x253)&&_0x70b450[_0x327149(0x204)]===this[_0x327149(0x204)]&&(!this[_0x327149(0x279)]||_0x70b450[_0x327149(0x2eb)]===this[_0x327149(0x279)][_0x327149(0x2eb)]&&_0x70b450[_0x327149(0x1fe)]===this[_0x327149(0x279)]['descriptorHash'])&&_0x70b450[_0x327149(0x2f3)]===this[_0x327149(0x210)][_0x327149(0x2f3)]&&_0x70b450[_0x327149(0x22e)]===this[_0x327149(0x22e)]&&_0x70b450[_0x327149(0x2f5)]?.[_0x327149(0x291)]===_0x2c7019[_0x327149(0x291)]&&_0x70b450[_0x327149(0x2f5)]?.[_0x327149(0x297)]===_0x2c7019[_0x327149(0x297)]&&JSON['stringify'](_0x70b450[_0x327149(0x274)])===JSON[_0x327149(0x205)](this[_0x327149(0x274)]())&&fs['existsSync'](this[_0x327149(0x22e)]);}async[_0x1b28aa(0x280)](){const _0x12237a=_0x1b28aa;await this[_0x12237a(0x236)]();const _0x891910=cp['execFileSync'](this['profile'][_0x12237a(0x2d4)],[bridge,_0x12237a(0x23d),this[_0x12237a(0x204)]],{'env':{...process.env,...this['env']},'windowsHide':!![],'encoding':_0x12237a(0x254),'timeout':0x3a98});return JSON[_0x12237a(0x26b)](_0x891910)[_0x12237a(0x247)]===!![];}[_0x1b28aa(0x1c0)](_0x5d0360){const _0x37c749=_0x1b28aa;if(_0x5d0360['adapter']!=='codegraph@1.6.0')return!![];if(!fs['existsSync'](this[_0x37c749(0x22e)]))return![];for(const _0x5a4a85 of['',_0x37c749(0x1da),'-shm'])rejectLink(this['database']+_0x5a4a85);const _0x39e126=this[_0x37c749(0x210)]['args'][_0x37c749(0x1e0)](_0x1e9a57=>/[\\/]bin[\\/]codegraph\.js$/[_0x37c749(0x1d7)](_0x1e9a57)),_0x5153da=path[_0x37c749(0x207)](path['dirname'](this[_0x37c749(0x210)]['args'][_0x39e126])),_0x2b75d3=['const\x20fs=require(\x27node:fs\x27),p=require(\x27node:path\x27),{DatabaseSync}=require(\x27node:sqlite\x27);',_0x37c749(0x292),_0x37c749(0x249),_0x37c749(0x2a5),_0x37c749(0x29a),_0x37c749(0x2e0),_0x37c749(0x221),_0x37c749(0x230)][_0x37c749(0x2b8)]('');try{const _0x544924=cp[_0x37c749(0x20f)](this[_0x37c749(0x210)][_0x37c749(0x2d4)],[...this[_0x37c749(0x210)][_0x37c749(0x1dc)][_0x37c749(0x1d3)](0x0,_0x39e126),'-e',_0x2b75d3,_0x5153da,this[_0x37c749(0x22e)],this[_0x37c749(0x204)],this[_0x37c749(0x210)][_0x37c749(0x2f3)]],{'env':{...process.env,...this[_0x37c749(0x2d2)]},'windowsHide':!![],'encoding':'utf8','timeout':0x1d4c0,'maxBuffer':0x400*0x400});return JSON[_0x37c749(0x26b)](_0x544924)[_0x37c749(0x247)]===!![];}catch{return![];}}async[_0x1b28aa(0x1cc)](_0x274650={}){const _0x43917a=_0x1b28aa;this[_0x43917a(0x27e)]();if(!this['owned']()&&!this['adoptLegacy']())throw fail(_0x43917a(0x287),_0x43917a(0x2e9));const _0x3733c7=this[_0x43917a(0x279)]?{'authorityId':this[_0x43917a(0x279)][_0x43917a(0x2eb)],'descriptorHash':this[_0x43917a(0x279)]['descriptorHash'],'status':_0x43917a(0x253)}:{};if(this[_0x43917a(0x279)]&&this[_0x43917a(0x2d6)]){const _0x65e8d5=require('./index-maintenance')[_0x43917a(0x222)](this[_0x43917a(0x204)],this[_0x43917a(0x2d6)],this[_0x43917a(0x279)]['marker']),_0x3f1c9f={};_0x3f1c9f[_0x43917a(0x22d)]=_0x65e8d5['attemptId'],Object[_0x43917a(0x2af)](_0x3733c7,_0x3f1c9f,Object[_0x43917a(0x2b2)](['generation',_0x43917a(0x1c3),_0x43917a(0x1cd),_0x43917a(0x21a)][_0x43917a(0x243)](_0x192aa1=>[_0x192aa1,_0x65e8d5[_0x192aa1]])));}const _0x12715c={..._0x3733c7,'status':'building','attemptId':crypto[_0x43917a(0x2aa)]()};this[_0x43917a(0x279)]&&(this[_0x43917a(0x2b5)](path[_0x43917a(0x2b8)](this['directory'],'receipt.json'),_0x12715c),buildOwners[_0x43917a(0x220)](this,_0x12715c));try{return await this['performBuild'](_0x3733c7,_0x274650);}catch(_0x59a20f){if(this[_0x43917a(0x279)])this[_0x43917a(0x2ae)](path[_0x43917a(0x2b8)](this[_0x43917a(0x2df)],_0x43917a(0x1f5)),_0x12715c,{..._0x3733c7,'status':['INDEX_STOP_UNCONFIRMED',_0x43917a(0x2de)][_0x43917a(0x2be)](_0x59a20f[_0x43917a(0x1e6)])?'unknown':_0x43917a(0x294),'code':_0x59a20f[_0x43917a(0x1e6)]||'INDEX_BUILD_FAILED','diagnostic':_0x59a20f[_0x43917a(0x2ba)]||null});throw _0x59a20f;}finally{buildOwners[_0x43917a(0x264)](this);}}['publishBuildReceipt'](_0x135dbd){const _0x5e5f4d=_0x1b28aa;this[_0x5e5f4d(0x27e)]();if(this['authority']&&JSON[_0x5e5f4d(0x205)](read(path['join'](this[_0x5e5f4d(0x2df)],'receipt.json')))!==JSON[_0x5e5f4d(0x205)](buildOwners[_0x5e5f4d(0x246)](this)))throw fail(_0x5e5f4d(0x2de),_0x5e5f4d(0x262));this[_0x5e5f4d(0x2b5)](path['join'](this[_0x5e5f4d(0x2df)],_0x5e5f4d(0x1f5)),_0x135dbd);}async[_0x1b28aa(0x23c)](_0x1cbac3,_0x57d6ec={}){const _0x1988a2=_0x1b28aa,_0x2066d4=this[_0x1988a2(0x208)](),_0x10698b=_0x57d6ec['incremental']===!![]&&_0x2066d4[_0x1988a2(0x2ed)]&&this[_0x1988a2(0x277)](_0x57d6ec[_0x1988a2(0x2d5)],_0x2066d4)&&await this[_0x1988a2(0x280)]();let _0xa2bbed=_0x1988a2(0x21b);const _0x4e2ff6=()=>{const _0x244a31=_0x1988a2,_0x3c415d=this[_0x244a31(0x208)]();if(_0x2066d4[_0x244a31(0x211)]!==_0x3c415d[_0x244a31(0x211)]||_0x2066d4[_0x244a31(0x297)]!==_0x3c415d[_0x244a31(0x297)]||_0x2066d4[_0x244a31(0x291)]!==_0x3c415d['contract'])throw fail(_0x244a31(0x260),_0x244a31(0x2bf));if(this[_0x244a31(0x1f0)]===_0x244a31(0x25a)&&!this[_0x244a31(0x1c0)](_0x3c415d))throw fail(_0x244a31(0x27a),_0x244a31(0x2c2));const _0x3d6faf=this['sourceState']();if(_0x2066d4[_0x244a31(0x211)]!==_0x3d6faf[_0x244a31(0x211)]||_0x2066d4[_0x244a31(0x297)]!==_0x3d6faf[_0x244a31(0x297)]||_0x2066d4[_0x244a31(0x291)]!==_0x3d6faf[_0x244a31(0x291)])throw fail(_0x244a31(0x260),_0x244a31(0x1d9));this['publishBuildReceipt']({'workspace':this['workspace'],'snapshot':_0x2066d4[_0x244a31(0x211)],'source':{'contract':_0x2066d4[_0x244a31(0x291)],'config':_0x2066d4[_0x244a31(0x297)],'adapter':_0x2066d4['adapter']||null,'sourceCount':_0x2066d4[_0x244a31(0x285)]??null},'databaseIdentity':this[_0x244a31(0x274)](),'buildMode':_0xa2bbed,'status':_0x244a31(0x253),'version':this[_0x244a31(0x210)][_0x244a31(0x2f3)],'database':this[_0x244a31(0x22e)],'builtAt':new Date()['toISOString'](),..._0x1cbac3});};if(this['kind']==='codegraph'){const _0x2ec83e=fs[_0x1988a2(0x267)](this[_0x1988a2(0x22e)]),_0x5972f6=await run(this[_0x1988a2(0x210)][_0x1988a2(0x2d4)],[...this['profile'][_0x1988a2(0x1dc)],_0x2ec83e?_0x1988a2(0x21e):_0x1988a2(0x2d7),this[_0x1988a2(0x204)],_0x2ec83e?_0x1988a2(0x1f7):_0x1988a2(0x2bb)],{'cwd':this[_0x1988a2(0x204)],'env':{...process.env,...this[_0x1988a2(0x2d2)]},'windowsHide':!![],'timeout':indexTimeout(),'maxBuffer':0x4*0x400*0x400}),_0x139d2f={..._0x5972f6['diagnostic']};_0x139d2f[_0x1988a2(0x2e6)]=_0xa2bbed,this[_0x1988a2(0x2ef)]=_0x139d2f,_0x4e2ff6();return;}const _0x167eec=this[_0x1988a2(0x1ff)]();if(path['resolve'](_0x167eec[_0x1988a2(0x22e)])!==path[_0x1988a2(0x2a1)](this['database']))throw fail(_0x1988a2(0x1e9),_0x1988a2(0x2c1));try{const _0x6420ec=await run(this[_0x1988a2(0x210)][_0x1988a2(0x2d4)],[bridge,_0x10698b?_0x1988a2(0x2ab):'build',this[_0x1988a2(0x204)]],{'cwd':this[_0x1988a2(0x204)],'env':{...process.env,...this['env']},'windowsHide':!![],'timeout':indexTimeout(),'maxBuffer':0x4*0x400*0x400}),_0x5b4f42=JSON[_0x1988a2(0x26b)](_0x6420ec[_0x1988a2(0x20d)]);_0xa2bbed=String(_0x5b4f42[_0x1988a2(0x2e7)])['startsWith']('incremental')?'incremental':'full';const _0x16344e={..._0x6420ec[_0x1988a2(0x2ba)]};_0x16344e['buildMode']=_0xa2bbed,this[_0x1988a2(0x2ef)]=_0x16344e;}catch(_0x510bd7){let _0x1045e2=_0x510bd7[_0x1988a2(0x2f8)];try{_0x1045e2=JSON[_0x1988a2(0x26b)](_0x510bd7['diagnostic']?.[_0x1988a2(0x20d)])[_0x1988a2(0x2a2)]||_0x1045e2;}catch{}throw Object['assign'](fail(_0x510bd7['code']||classify(_0x1045e2),_0x1045e2),{'diagnostic':_0x510bd7[_0x1988a2(0x2ba)]});}_0x4e2ff6();}[_0x1b28aa(0x1fc)](_0x1880b9=process.env){const _0x28f8f4=_0x1b28aa,_0x5034f9=_0x1880b9[_0x28f8f4(0x29c)]===_0x28f8f4(0x21b)?null:read(path[_0x28f8f4(0x2b8)](this[_0x28f8f4(0x2df)],_0x28f8f4(0x1f5)));return this[_0x28f8f4(0x1cc)](_0x5034f9?.[_0x28f8f4(0x27b)]==='built'?{'incremental':!![],'previousReceipt':_0x5034f9}:{});}async['refresh'](){const _0x251005=_0x1b28aa,_0x2dd845=this[_0x251005(0x21d)]();try{this[_0x251005(0x27e)]();const _0x28b85f=read(path[_0x251005(0x2b8)](this['directory'],_0x251005(0x1f5))),_0x157c68=this[_0x251005(0x208)](),_0x161272=this[_0x251005(0x277)](_0x28b85f,_0x157c68);if(!_0x161272||_0x28b85f[_0x251005(0x211)]!==_0x157c68['snapshot']||_0x157c68[_0x251005(0x2ed)]&&!await this['incrementalHealthy']()||this[_0x251005(0x1f0)]===_0x251005(0x25a)&&!this['codegraphHealthy'](_0x157c68))await this['build']({'incremental':_0x161272,'previousReceipt':_0x28b85f});return read(path[_0x251005(0x2b8)](this[_0x251005(0x2df)],_0x251005(0x1f5)));}finally{_0x2dd845();}}async[_0x1b28aa(0x20b)](_0x423ed0=![]){const _0x15780a=_0x1b28aa,_0x5f272f=_0x423ed0?null:this[_0x15780a(0x21d)](),_0xb1bc3c=path['join'](this[_0x15780a(0x2df)],_0x15780a(0x1d0));let _0x3404b9;try{this[_0x15780a(0x27e)]();if(!this['owned']())throw fail('UNSAFE_INDEX',_0x15780a(0x27d));if(this[_0x15780a(0x237)]())throw fail(_0x15780a(0x1f1),'Another\x20live\x20backend\x20is\x20using\x20the\x20cache');this['checkNativeLocks']();if(this[_0x15780a(0x1f0)]==='code-review-graph'&&spelling(this['resolveReview']()['database'])!==spelling(this[_0x15780a(0x22e)]))throw fail(_0x15780a(0x1e9),_0x15780a(0x2c1));const _0x3ab91d=fs[_0x15780a(0x267)](this[_0x15780a(0x289)])?fs[_0x15780a(0x1ea)](this['cache']):null,_0x310848=_0x3ab91d?_0x3ab91d+_0x15780a(0x25d)+crypto[_0x15780a(0x2aa)]():null;_0x3404b9={'status':'recovering','backup':_0x310848,'workspace':this[_0x15780a(0x204)],'at':new Date()[_0x15780a(0x2b4)]()},this[_0x15780a(0x2b5)](_0xb1bc3c,_0x3404b9);if(this[_0x15780a(0x279)])recoveryOwners[_0x15780a(0x220)](this,_0x3404b9);if(_0x310848)fs['renameSync'](_0x3ab91d,_0x310848);const _0x54144b={};_0x54144b['recursive']=!![],fs['mkdirSync'](this['cache'],_0x54144b),this[_0x15780a(0x2b5)](path[_0x15780a(0x2b8)](this[_0x15780a(0x289)],_0x15780a(0x270)),this[_0x15780a(0x279)]?.[_0x15780a(0x235)]||{'owner':_0x15780a(0x24b),'workspace':this[_0x15780a(0x204)],'kind':this[_0x15780a(0x1f0)]}),await this[_0x15780a(0x1cc)]();const _0x83a34d={..._0x3404b9};_0x83a34d[_0x15780a(0x27b)]='rebuilt';const _0x47887f=_0x83a34d;return this[_0x15780a(0x1ce)](_0xb1bc3c,_0x3404b9,_0x47887f),_0x310848;}catch(_0x106ea4){if(_0x3404b9)this[_0x15780a(0x2ae)](_0xb1bc3c,_0x3404b9,{..._0x3404b9,'status':[_0x15780a(0x2dd),_0x15780a(0x2de)]['includes'](_0x106ea4[_0x15780a(0x1e6)])?_0x15780a(0x2d1):'failed','code':_0x106ea4[_0x15780a(0x1e6)]||_0x15780a(0x2a7),'diagnostic':_0x106ea4[_0x15780a(0x2ba)]||null,'reason':_0x106ea4[_0x15780a(0x2f8)]});recoveryOwners[_0x15780a(0x264)](this);throw _0x106ea4;}finally{_0x5f272f?.();}}async[_0x1b28aa(0x2ea)](_0x5da1e4,_0x40f44a){const _0x56f00c=_0x1b28aa;if(!['INDEX_MISSING',_0x56f00c(0x238)]['includes'](_0x40f44a['code'])||!this[_0x56f00c(0x256)]())return![];let _0x156795;try{_0x156795=this['lock']();}catch(_0x50fcc2){const _0x455041={};return _0x455041[_0x56f00c(0x27b)]=_0x56f00c(0x28c),_0x455041[_0x56f00c(0x25c)]=_0x50fcc2['message'],_0x5da1e4[_0x56f00c(0x23f)]=_0x455041,![];}const _0x2eb687=path[_0x56f00c(0x2b8)](this[_0x56f00c(0x2df)],_0x56f00c(0x1d0));let _0x26d4af;try{this[_0x56f00c(0x27e)]();if(this['kind']==='code-review-graph'&&spelling(this[_0x56f00c(0x1ff)]()['database'])!==spelling(this[_0x56f00c(0x22e)]))throw fail(_0x56f00c(0x1e9),_0x56f00c(0x2c1));if(this['otherUsers']()){const _0x20913d={};return _0x20913d[_0x56f00c(0x27b)]=_0x56f00c(0x28c),_0x20913d[_0x56f00c(0x25c)]='Another\x20live\x20backend\x20is\x20using\x20the\x20cache',_0x5da1e4['indexRecovery']=_0x20913d,![];}const _0x2a9073=hash(fs[_0x56f00c(0x267)](this[_0x56f00c(0x22e)])?fs['readFileSync'](this['database']):_0x56f00c(0x2cd)),_0x4d1fbf=read(_0x2eb687);if(_0x4d1fbf&&_0x4d1fbf['status']!==_0x56f00c(0x2f4)&&(_0x4d1fbf[_0x56f00c(0x202)]===_0x2a9073||_0x4d1fbf[_0x56f00c(0x28f)]===_0x2a9073))return _0x5da1e4[_0x56f00c(0x23f)]=_0x4d1fbf,![];const _0x2e7132=fs['realpathSync'](this['cache']),_0xee91b7=_0x2e7132+_0x56f00c(0x25d)+crypto['randomUUID'](),_0x4ca0fa=read(path[_0x56f00c(0x2b8)](_0x2e7132,'.apt-managed.json'));_0x26d4af={'status':_0x56f00c(0x22a),'fingerprint':_0x2a9073,'backup':_0xee91b7,'workspace':this[_0x56f00c(0x204)],'at':new Date()[_0x56f00c(0x2b4)]()},this[_0x56f00c(0x2b5)](_0x2eb687,_0x26d4af),_0x5da1e4[_0x56f00c(0x23f)]=_0x26d4af;if(this[_0x56f00c(0x279)])recoveryOwners[_0x56f00c(0x220)](this,_0x26d4af);const _0x1a6a56=_0x5da1e4[_0x56f00c(0x2d8)]===undefined?undefined:_0x5da1e4[_0x56f00c(0x2d8)]+0x1;await _0x5da1e4[_0x56f00c(0x2a0)]();if(_0x5da1e4[_0x56f00c(0x2d8)]!==_0x1a6a56)throw fail(_0x56f00c(0x239),_0x56f00c(0x28d));this['assertAvailable'](),this[_0x56f00c(0x2b1)]();if(!this[_0x56f00c(0x256)]())throw fail(_0x56f00c(0x287),_0x56f00c(0x271));fs[_0x56f00c(0x2cb)](_0x2e7132,_0xee91b7),fs[_0x56f00c(0x1d2)](_0x2e7132),this[_0x56f00c(0x2b5)](path[_0x56f00c(0x2b8)](_0x2e7132,_0x56f00c(0x270)),_0x4ca0fa),await this[_0x56f00c(0x1cc)]();if(_0x5da1e4['generation']!==_0x1a6a56)throw fail(_0x56f00c(0x239),_0x56f00c(0x2c7));_0x5da1e4[_0x56f00c(0x217)](![],!![]);const _0x45e3e0={..._0x26d4af};return _0x45e3e0[_0x56f00c(0x27b)]='rebuilt',_0x5da1e4[_0x56f00c(0x23f)]=_0x45e3e0,this[_0x56f00c(0x1ce)](_0x2eb687,_0x26d4af,_0x5da1e4[_0x56f00c(0x23f)]),!![];}catch(_0x201bbe){const _0x39d6fb=hash(fs[_0x56f00c(0x267)](this[_0x56f00c(0x22e)])?fs[_0x56f00c(0x27c)](this[_0x56f00c(0x22e)]):_0x56f00c(0x2cd));return _0x5da1e4[_0x56f00c(0x23f)]={..._0x5da1e4[_0x56f00c(0x23f)]||{},'status':[_0x56f00c(0x2dd),_0x56f00c(0x2de)][_0x56f00c(0x2be)](_0x201bbe[_0x56f00c(0x1e6)])?_0x56f00c(0x2d1):_0x56f00c(0x294),'code':_0x201bbe[_0x56f00c(0x1e6)]||'INDEX_BUILD_FAILED','diagnostic':_0x201bbe[_0x56f00c(0x2ba)]||null,'failedFingerprint':_0x39d6fb,'reason':_0x201bbe[_0x56f00c(0x2f8)]},this[_0x56f00c(0x2ae)](_0x2eb687,_0x26d4af,_0x5da1e4['indexRecovery']),recoveryOwners[_0x56f00c(0x264)](this),![];}finally{_0x156795();}}[_0x1b28aa(0x2f4)](_0x47807f){const _0x40dacb=_0x1b28aa;if(this['authority']){const _0x3e13d2=this[_0x40dacb(0x21d)]();try{this[_0x40dacb(0x27e)]();const _0x3b3c76=read(path[_0x40dacb(0x2b8)](this[_0x40dacb(0x2df)],_0x40dacb(0x1d0))),_0x3e6796=recoveryOwners[_0x40dacb(0x246)](this);if(!_0x3e6796||_0x3e6796['status']!==_0x40dacb(0x1eb)||JSON[_0x40dacb(0x205)](_0x3b3c76)!==JSON[_0x40dacb(0x205)](_0x3e6796)||JSON[_0x40dacb(0x205)](_0x47807f[_0x40dacb(0x23f)])!==JSON[_0x40dacb(0x205)](_0x3e6796))throw fail(_0x40dacb(0x275),_0x40dacb(0x252));if(_0x47807f[_0x40dacb(0x259)]!==this||_0x47807f['functionalReady']!==!![])throw fail('INDEX_PROBE_FAILED','Index\x20recovery\x20requires\x20a\x20successful\x20functional\x20probe');const _0x2021f1={..._0x3e6796};_0x2021f1[_0x40dacb(0x27b)]=_0x40dacb(0x2f4),_0x47807f[_0x40dacb(0x23f)]=_0x2021f1,this[_0x40dacb(0x2b5)](path['join'](this['directory'],_0x40dacb(0x1d0)),_0x47807f[_0x40dacb(0x23f)]),recoveryOwners[_0x40dacb(0x264)](this);return;}finally{_0x3e13d2();}}_0x47807f[_0x40dacb(0x23f)]={..._0x47807f['indexRecovery'],'status':_0x40dacb(0x2f4)},atomic(path[_0x40dacb(0x2b8)](this[_0x40dacb(0x2df)],'recovery.json'),_0x47807f['indexRecovery']),recoveryOwners[_0x40dacb(0x264)](this);}}const _0x4f5e31={};_0x4f5e31[_0x1b28aa(0x1dd)]=IndexStore,_0x4f5e31[_0x1b28aa(0x211)]=snapshot,_0x4f5e31['responseError']=responseError,_0x4f5e31[_0x1b28aa(0x218)]=classify,_0x4f5e31['atomic']=atomic,module[_0x1b28aa(0x276)]=_0x4f5e31;require['main']===module&&(async()=>{const _0x26dea2=_0x1b28aa,_0x599c24=require(_0x26dea2(0x1e5)),_0xc28972=fs[_0x26dea2(0x1ea)](process[_0x26dea2(0x209)][0x2]),_0x399a16=require(_0x26dea2(0x265))[_0x26dea2(0x20a)](_0xc28972),_0x1767ba=safeDirectory(_0xc28972,_0x26dea2(0x215)),_0x34dcf4={'workspace':_0xc28972,'startedAt':new Date()['toISOString'](),'status':_0x26dea2(0x1ee),'backends':[]},_0x59fe9e=path[_0x26dea2(0x2b8)](_0x1767ba,_0x26dea2(0x245));atomic(_0x59fe9e,_0x34dcf4);for(const [_0x12cc5d,_0x3dfe96]of[[_0x26dea2(0x25a),_0x599c24[_0x26dea2(0x25a)]],[_0x26dea2(0x1f3),_0x599c24[_0x26dea2(0x1f2)]]]){let _0xa61c16,_0x4c8778;const _0x5ed311={'backend':_0x12cc5d,'workspace':_0xc28972,'startedAt':new Date()['toISOString'](),'status':_0x26dea2(0x1ee)};_0x34dcf4[_0x26dea2(0x2ad)][_0x26dea2(0x2d0)](_0x5ed311);try{const _0x5579dc=_0x3dfe96(),_0x39d571={};_0x39d571[_0x26dea2(0x2f3)]=_0x5579dc[_0x26dea2(0x2f3)],_0x39d571[_0x26dea2(0x2d3)]=_0x5579dc[_0x26dea2(0x2d4)],Object['assign'](_0x5ed311,_0x39d571);const _0x349263={};_0x349263[_0x26dea2(0x2d6)]=_0x399a16,_0xa61c16=new IndexStore(_0x12cc5d,_0xc28972,_0x5579dc,_0x349263);const _0x1a154c={};_0x1a154c[_0x26dea2(0x289)]=_0xa61c16[_0x26dea2(0x289)],_0x1a154c[_0x26dea2(0x22e)]=_0xa61c16[_0x26dea2(0x22e)],_0x1a154c[_0x26dea2(0x1fa)]=_0xa61c16[_0x26dea2(0x1fa)]||'profile',Object[_0x26dea2(0x2af)](_0x5ed311,_0x1a154c),_0x4c8778=_0xa61c16[_0x26dea2(0x21d)]();if(_0xa61c16[_0x26dea2(0x237)]())throw fail(_0x26dea2(0x1f1),_0x26dea2(0x266));await _0xa61c16[_0x26dea2(0x298)](),_0x5ed311[_0x26dea2(0x1c7)]=_0xa61c16['legacyMigration']||null,_0xa61c16[_0x26dea2(0x2b1)]();try{await _0xa61c16[_0x26dea2(0x236)](),await _0xa61c16[_0x26dea2(0x1fc)]();}catch(_0x17a93d){if(_0x17a93d[_0x26dea2(0x1e6)]!==_0x26dea2(0x238)||!_0xa61c16[_0x26dea2(0x256)]()&&!_0xa61c16[_0x26dea2(0x26f)]())throw _0x17a93d;_0x5ed311['recoveryStatus']='quarantining',_0x5ed311['backup']=await _0xa61c16[_0x26dea2(0x20b)](!![]);}Object[_0x26dea2(0x2af)](_0x5ed311,_0xa61c16[_0x26dea2(0x2ef)],{'status':_0x26dea2(0x253),'functionalReady':![],'recoveryStatus':_0x5ed311[_0x26dea2(0x26e)]||_0x26dea2(0x229)}),_0x4c8778(),_0x4c8778=null;const {BackendProcess:_0x2441f6}=require(_0x26dea2(0x1d1)),_0x3a57dc=_0x12cc5d==='codegraph'?[..._0x5579dc['args'],_0x26dea2(0x25b),_0x26dea2(0x2bc)]:_0x5579dc[_0x26dea2(0x1dc)],_0x6abbaa=new _0x2441f6(_0x12cc5d,_0x5579dc[_0x26dea2(0x2d4)],_0x3a57dc,{'cwd':_0xc28972,'env':{..._0x5579dc[_0x26dea2(0x2d2)],..._0xa61c16[_0x26dea2(0x2d2)]},'maxRetries':0x0});_0x6abbaa[_0x26dea2(0x259)]=_0xa61c16;try{_0x6abbaa[_0x26dea2(0x217)](![]);const _0x4343df={};_0x4343df['name']=_0x26dea2(0x23b),_0x4343df['version']='1';const _0x5b9a20={};_0x5b9a20[_0x26dea2(0x28a)]=_0x26dea2(0x1e4),_0x5b9a20['capabilities']={},_0x5b9a20[_0x26dea2(0x1f6)]=_0x4343df,await _0x6abbaa[_0x26dea2(0x27f)](_0x5b9a20);if(!_0x6abbaa[_0x26dea2(0x28b)])throw fail(_0x26dea2(0x27a),_0x26dea2(0x288));_0x5ed311[_0x26dea2(0x28b)]=!![];_0x5ed311['backup']&&(_0x6abbaa[_0x26dea2(0x23f)]=read(path[_0x26dea2(0x2b8)](_0xa61c16[_0x26dea2(0x2df)],_0x26dea2(0x1d0))),_0xa61c16[_0x26dea2(0x2f4)](_0x6abbaa),_0x5ed311[_0x26dea2(0x26e)]='recovered');if(_0xa61c16['authority'])require(_0x26dea2(0x233))[_0x26dea2(0x257)](_0xa61c16[_0x26dea2(0x279)],_0x6abbaa,_0x399a16);}finally{await _0x6abbaa['stopAndWait']();}_0xa61c16[_0x26dea2(0x27e)]();}catch(_0x4d9c8d){Object[_0x26dea2(0x2af)](_0x5ed311,_0x4d9c8d[_0x26dea2(0x2ba)],{'status':_0x26dea2(0x294),'reasonCode':_0x4d9c8d['code']||_0x26dea2(0x200),'message':_0x4d9c8d[_0x26dea2(0x2f8)]});if(_0xa61c16){const _0x5ea8b2=read(path[_0x26dea2(0x2b8)](_0xa61c16[_0x26dea2(0x2df)],_0x26dea2(0x1d0)));if(_0x5ea8b2)Object[_0x26dea2(0x2af)](_0x5ed311,{'recoveryStatus':_0x5ea8b2['status'],'backup':_0x5ea8b2[_0x26dea2(0x283)]});}console[_0x26dea2(0x2a2)]('['+_0x12cc5d+']\x20'+_0x5ed311[_0x26dea2(0x24e)]+':\x20'+_0x4d9c8d[_0x26dea2(0x2f8)]),process['exitCode']=0x2;}finally{_0x4c8778?.(),_0x5ed311[_0x26dea2(0x2ee)]=new Date()[_0x26dea2(0x2b4)](),atomic(_0x59fe9e,_0x34dcf4);}}_0x34dcf4[_0x26dea2(0x27b)]=process['exitCode']?'failed':'built',_0x34dcf4[_0x26dea2(0x2ee)]=new Date()['toISOString'](),atomic(_0x59fe9e,_0x34dcf4);})()[_0x1b28aa(0x2d9)](_0x33ea7c=>{const _0x4b450e=_0x1b28aa;console[_0x4b450e(0x2a2)]((_0x33ea7c[_0x4b450e(0x1e6)]||_0x4b450e(0x200))+':\x20'+_0x33ea7c['message']),process[_0x4b450e(0x2a6)]=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;});
@@ -1 +1 @@
1
- const _0x244a40=_0x1895;(function(_0x30adea,_0x996500){const _0x3fb247=_0x1895,_0x6aed06=_0x30adea();while(!![]){try{const _0x5e1a23=-parseInt(_0x3fb247(0x1af))/0x1*(-parseInt(_0x3fb247(0x1f0))/0x2)+parseInt(_0x3fb247(0x19b))/0x3+parseInt(_0x3fb247(0x18a))/0x4+parseInt(_0x3fb247(0x211))/0x5+parseInt(_0x3fb247(0x191))/0x6*(parseInt(_0x3fb247(0x1e6))/0x7)+-parseInt(_0x3fb247(0x209))/0x8*(-parseInt(_0x3fb247(0x1cc))/0x9)+-parseInt(_0x3fb247(0x1ff))/0xa*(parseInt(_0x3fb247(0x19a))/0xb);if(_0x5e1a23===_0x996500)break;else _0x6aed06['push'](_0x6aed06['shift']());}catch(_0x296fe8){_0x6aed06['push'](_0x6aed06['shift']());}}}(_0x5ae5,0x64241));const fs=require('fs'),path=require(_0x244a40(0x1aa)),os=require('os'),cp=require(_0x244a40(0x1db)),CODEGRAPH_VERSION=_0x244a40(0x1c2),_0x3dd569={};_0x3dd569[_0x244a40(0x1d1)]=_0x244a40(0x1a5),_0x3dd569[_0x244a40(0x1b4)]=_0x244a40(0x1bb),_0x3dd569['mcp']=_0x244a40(0x18e);const REVIEW_VERSIONS=Object[_0x244a40(0x1eb)](_0x3dd569),MEMORY_VERSION=_0x244a40(0x1cb),PLAYWRIGHT_MCP_VERSION=_0x244a40(0x21f),CACHE_CONTRACT=0x3,PROFILE=_0x244a40(0x212)+CODEGRAPH_VERSION+_0x244a40(0x1d5)+REVIEW_VERSIONS[_0x244a40(0x1d1)]+_0x244a40(0x1d0)+REVIEW_VERSIONS['fastmcp']+_0x244a40(0x1fd)+REVIEW_VERSIONS[_0x244a40(0x1e5)]+_0x244a40(0x218)+MEMORY_VERSION,root=()=>process.env.APT_BACKEND_ROOT||path[_0x244a40(0x20c)](os[_0x244a40(0x1a4)](),'.anhdh',_0x244a40(0x1a6)),pythonAt=_0x57faf1=>path[_0x244a40(0x20c)](_0x57faf1,process[_0x244a40(0x20b)]===_0x244a40(0x1d3)?'Scripts/python.exe':'bin/python'),reviewHome=()=>path[_0x244a40(0x20c)](root(),'review-'+REVIEW_VERSIONS[_0x244a40(0x1d1)]+_0x244a40(0x1d0)+REVIEW_VERSIONS[_0x244a40(0x1b4)]+'-mcp-'+REVIEW_VERSIONS[_0x244a40(0x1e5)]),memoryHome=()=>path['join'](root(),_0x244a40(0x1c3)+MEMORY_VERSION),codeHome=()=>path['join'](root(),_0x244a40(0x212)+CODEGRAPH_VERSION),run=(_0x53e8c7,_0x429ff8,_0x234705={})=>cp[_0x244a40(0x1b2)](_0x53e8c7,_0x429ff8,{'windowsHide':!![],'encoding':_0x244a40(0x1ba),'timeout':0x1d4c0,'stdio':_0x244a40(0x1f4),..._0x234705}),npmCli=require(_0x244a40(0x1b8));function codegraph(){const _0x9463c6=_0x244a40,_0x1859da=path[_0x9463c6(0x20c)](codeHome(),_0x9463c6(0x1d7)),_0x4db66a=JSON[_0x9463c6(0x1d9)](fs[_0x9463c6(0x20d)](path[_0x9463c6(0x20c)](_0x1859da,'package.json'),_0x9463c6(0x1ba)));if(_0x4db66a[_0x9463c6(0x1c9)]!==CODEGRAPH_VERSION)throw new Error('CodeGraph\x20profile\x20version\x20mismatch');const _0x16a9d8=path['join'](codeHome(),_0x9463c6(0x21d)+process[_0x9463c6(0x20b)]+'-'+process[_0x9463c6(0x1fb)]),_0x385eda=JSON[_0x9463c6(0x1d9)](fs['readFileSync'](path['join'](_0x16a9d8,_0x9463c6(0x207)),_0x9463c6(0x1ba))),_0x458853=path[_0x9463c6(0x20c)](_0x16a9d8,process[_0x9463c6(0x20b)]===_0x9463c6(0x1d3)?'node.exe':_0x9463c6(0x1d4)),_0x560d1b=path[_0x9463c6(0x20c)](_0x16a9d8,_0x9463c6(0x1c4));if(_0x385eda[_0x9463c6(0x1c9)]!==CODEGRAPH_VERSION||!fs[_0x9463c6(0x1fc)](_0x458853)||!fs['existsSync'](_0x560d1b))throw new Error('CodeGraph\x20platform\x20profile\x20is\x20incomplete');const _0x3f2669=process['platform']+'-'+process[_0x9463c6(0x1fb)],_0x93b589={};return _0x93b589[_0x9463c6(0x1a2)]=_0x458853,_0x93b589[_0x9463c6(0x1f1)]=['--liftoff-only','--disable-warning=ExperimentalWarning',_0x560d1b],_0x93b589[_0x9463c6(0x1c9)]=CODEGRAPH_VERSION,_0x93b589[_0x9463c6(0x1ae)]=CACHE_CONTRACT,_0x93b589[_0x9463c6(0x21c)]=_0x9463c6(0x200)+_0x3f2669,_0x93b589[_0x9463c6(0x1df)]={},_0x93b589[_0x9463c6(0x1df)][_0x9463c6(0x1c1)]=_0x9463c6(0x1c5),_0x93b589[_0x9463c6(0x1df)][_0x9463c6(0x1ab)]='1',_0x93b589[_0x9463c6(0x1df)][_0x9463c6(0x199)]='.codegraph-'+_0x3f2669,_0x93b589;}function review(){const _0x1e4560=_0x244a40,_0x4b6db8=pythonAt(reviewHome());if(!fs[_0x1e4560(0x1fc)](_0x4b6db8))throw new Error('Review\x20Python\x20profile\x20is\x20not\x20installed');const _0xa4e725=process[_0x1e4560(0x20b)]===_0x1e4560(0x1d3)?path[_0x1e4560(0x20c)](reviewHome(),_0x1e4560(0x213),'site-packages'):fs[_0x1e4560(0x206)](path[_0x1e4560(0x20c)](reviewHome(),_0x1e4560(0x1ec)))['filter'](_0xbf0e38=>/^python\d+\.\d+$/[_0x1e4560(0x21a)](_0xbf0e38))[_0x1e4560(0x1ac)](_0x2cd23c=>path[_0x1e4560(0x20c)](reviewHome(),_0x1e4560(0x1ec),_0x2cd23c,_0x1e4560(0x202)))[_0x1e4560(0x1be)](_0x277d40=>fs[_0x1e4560(0x1fc)](_0x277d40));if(!_0xa4e725)throw new Error(_0x1e4560(0x1a0));const _0x4d9492=fs[_0x1e4560(0x206)](_0xa4e725)[_0x1e4560(0x1e4)](_0x18e87c=>_0x18e87c[_0x1e4560(0x217)](_0x1e4560(0x205))),_0x37574a=Object[_0x1e4560(0x1de)](Object[_0x1e4560(0x19e)](REVIEW_VERSIONS)[_0x1e4560(0x1ac)](_0x27fd20=>{const _0x2069d5=_0x1e4560,_0x2bcb08=(_0x27fd20[_0x2069d5(0x19f)](/-/g,'_')+'-')[_0x2069d5(0x1f7)](),_0x197e5f=_0x4d9492[_0x2069d5(0x1be)](_0x3a7676=>_0x3a7676[_0x2069d5(0x1f7)]()[_0x2069d5(0x1dc)](_0x2bcb08));return[_0x27fd20,_0x197e5f?.[_0x2069d5(0x1a9)](_0x2bcb08['length'],-_0x2069d5(0x205)[_0x2069d5(0x1e9)])||null];}));if(Object['entries'](REVIEW_VERSIONS)[_0x1e4560(0x1e7)](([_0x568fbe,_0x2a3bf6])=>_0x37574a[_0x568fbe]!==_0x2a3bf6))throw new Error(_0x1e4560(0x1f2));return{'command':_0x4b6db8,'args':['-m','code_review_graph',_0x1e4560(0x1d8)],'version':REVIEW_VERSIONS[_0x1e4560(0x1d1)],'versions':_0x37574a,'cacheContract':CACHE_CONTRACT,'cacheDirectory':'.agents/.data/graph-'+REVIEW_VERSIONS['code-review-graph'],'env':{'CRG_HOME':path[_0x1e4560(0x20c)](reviewHome(),_0x1e4560(0x18c))}};}function memory(){const _0x3620e4=_0x244a40,_0x38868b=path['join'](memoryHome(),_0x3620e4(0x1ce)),_0x5c17f9=JSON['parse'](fs[_0x3620e4(0x20d)](path[_0x3620e4(0x20c)](_0x38868b,_0x3620e4(0x207)),_0x3620e4(0x1ba)));if(_0x5c17f9[_0x3620e4(0x1c9)]!==MEMORY_VERSION)throw new Error(_0x3620e4(0x1fa));const _0x4e77fb=path[_0x3620e4(0x20c)](_0x38868b,_0x5c17f9[_0x3620e4(0x1ca)]?.[_0x3620e4(0x1bd)]||_0x3620e4(0x1ad));if(!fs[_0x3620e4(0x1fc)](_0x4e77fb))throw new Error(_0x3620e4(0x1fe));const _0x1cf26f={};return _0x1cf26f[_0x3620e4(0x1a2)]=process[_0x3620e4(0x196)],_0x1cf26f[_0x3620e4(0x1f1)]=[_0x4e77fb],_0x1cf26f[_0x3620e4(0x1c9)]=MEMORY_VERSION,_0x1cf26f;}function browserLocal(){const _0x3a3201=_0x244a40,_0x5a6963=path[_0x3a3201(0x20c)](root(),_0x3a3201(0x214)+PLAYWRIGHT_MCP_VERSION),_0xba327c=path[_0x3a3201(0x20c)](_0x5a6963,_0x3a3201(0x20f));if(!fs[_0x3a3201(0x1fc)](_0xba327c))throw new Error(_0x3a3201(0x1a8));const _0x5be5a7=JSON[_0x3a3201(0x1d9)](fs[_0x3a3201(0x20d)](_0xba327c,'utf8'));if(_0x5be5a7[_0x3a3201(0x1c9)]!==PLAYWRIGHT_MCP_VERSION)throw new Error(_0x3a3201(0x198));const _0x57a0d2=path[_0x3a3201(0x20c)](_0x5a6963,_0x3a3201(0x1f8)),_0xee5281=JSON['parse'](fs['readFileSync'](path[_0x3a3201(0x20c)](_0x57a0d2,'package.json'),'utf8'))[_0x3a3201(0x1c9)];if(_0xee5281!==_0x3a3201(0x1b3))throw new Error(_0x3a3201(0x1ef));const _0x696590=JSON['parse'](fs['readFileSync'](path['join'](_0x57a0d2,_0x3a3201(0x1dd)),_0x3a3201(0x1ba)))['browsers']['find'](_0x3df935=>_0x3df935[_0x3a3201(0x1f3)]===_0x3a3201(0x20a));if(_0x696590?.[_0x3a3201(0x192)]!==_0x3a3201(0x208))throw new Error(_0x3a3201(0x1e2));const _0x5a2630=run(process[_0x3a3201(0x196)],['-e',_0x3a3201(0x19d),_0x57a0d2],{'env':{...process.env,'PLAYWRIGHT_BROWSERS_PATH':path[_0x3a3201(0x20c)](_0x5a6963,_0x3a3201(0x189))},'timeout':0x2710});if(!fs['existsSync'](_0x5a2630))throw new Error(_0x3a3201(0x1cd));return{'command':process[_0x3a3201(0x196)],'args':[path[_0x3a3201(0x20c)](_0x5a6963,'node_modules/@playwright/mcp/cli.js'),_0x3a3201(0x197),_0x3a3201(0x1ee),'--browser',_0x3a3201(0x20a)],'version':PLAYWRIGHT_MCP_VERSION,'cwd':_0x5a6963,'browserRevision':_0x696590[_0x3a3201(0x192)],'browserExecutable':_0x5a2630,'launchVerified':![],'env':{'PLAYWRIGHT_BROWSERS_PATH':path[_0x3a3201(0x20c)](_0x5a6963,_0x3a3201(0x189))}};}function inspect(_0x46e161={}){const _0x402488=_0x244a40;return Object[_0x402488(0x1de)]([[_0x402488(0x1e3),codegraph],[_0x402488(0x1d1),review],[_0x402488(0x1f9),memory],['browser-local',browserLocal]]['filter'](([_0x2a4429])=>!_0x46e161[_0x402488(0x1b7)]||_0x46e161[_0x402488(0x1b7)][_0x402488(0x18d)](_0x2a4429))[_0x402488(0x1ac)](([_0x4a5e54,_0x5c6a2f])=>{const _0x41e22e=_0x402488;try{return[_0x4a5e54,{'configured':!![],..._0x5c6a2f()}];}catch(_0x537d9d){const _0xab893e={};return _0xab893e[_0x41e22e(0x1d6)]=![],_0xab893e[_0x41e22e(0x21e)]=_0x41e22e(0x220)+PROFILE+':\x20'+_0x537d9d[_0x41e22e(0x1d2)],[_0x4a5e54,_0xab893e];}}));}function _0x1895(_0x2b8791,_0x4d3387){_0x2b8791=_0x2b8791-0x189;const _0x5ae563=_0x5ae5();let _0x189553=_0x5ae563[_0x2b8791];if(_0x1895['rmPbyF']===undefined){var _0x21ed4c=function(_0x88153){const _0xfe4189='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3dd569='',_0x431b40='';for(let _0x418e6f=0x0,_0x52041e,_0x4bed91,_0x1699e9=0x0;_0x4bed91=_0x88153['charAt'](_0x1699e9++);~_0x4bed91&&(_0x52041e=_0x418e6f%0x4?_0x52041e*0x40+_0x4bed91:_0x4bed91,_0x418e6f++%0x4)?_0x3dd569+=String['fromCharCode'](0xff&_0x52041e>>(-0x2*_0x418e6f&0x6)):0x0){_0x4bed91=_0xfe4189['indexOf'](_0x4bed91);}for(let _0x2fd12f=0x0,_0x3afde5=_0x3dd569['length'];_0x2fd12f<_0x3afde5;_0x2fd12f++){_0x431b40+='%'+('00'+_0x3dd569['charCodeAt'](_0x2fd12f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x431b40);};_0x1895['CadXTr']=_0x21ed4c,_0x1895['fgTSMX']={},_0x1895['rmPbyF']=!![];}const _0x39623c=_0x5ae563[0x0],_0x7fbdd=_0x2b8791+_0x39623c,_0x54351a=_0x1895['fgTSMX'][_0x7fbdd];return!_0x54351a?(_0x189553=_0x1895['CadXTr'](_0x189553),_0x1895['fgTSMX'][_0x7fbdd]=_0x189553):_0x189553=_0x54351a,_0x189553;}function install(){const _0x9875d6=_0x244a40,_0x1f7c25={};_0x1f7c25[_0x9875d6(0x190)]=!![],fs[_0x9875d6(0x1b1)](root(),_0x1f7c25);const _0x1aa0e1=require(_0x9875d6(0x195))['acquireRuntimeLock'](path[_0x9875d6(0x20c)](root(),'install.lock'));if(!_0x1aa0e1)throw new Error(_0x9875d6(0x1c8));try{try{codegraph();}catch{const _0x322cb4={};_0x322cb4[_0x9875d6(0x190)]=!![],fs[_0x9875d6(0x1b1)](codeHome(),_0x322cb4);const _0x3519e3={};_0x3519e3[_0x9875d6(0x18b)]=0x493e0,run(process[_0x9875d6(0x196)],[npmCli(),_0x9875d6(0x1bf),_0x9875d6(0x1a3),codeHome(),_0x9875d6(0x1e8),'--no-fund',_0x9875d6(0x21b),_0x9875d6(0x1f5)+CODEGRAPH_VERSION],_0x3519e3);}try{review();}catch{if(!fs[_0x9875d6(0x1fc)](pythonAt(reviewHome()))){let _0x378307;for(const _0x4fc0c6 of[_0x9875d6(0x194),'python','py']){try{run(_0x4fc0c6,['--version']),_0x378307=_0x4fc0c6;break;}catch{}}if(!_0x378307)throw new Error('Python\x20is\x20required\x20to\x20install\x20the\x20review\x20backend');run(_0x378307,['-m',_0x9875d6(0x1b6),reviewHome()]);}const _0x2ba943={};_0x2ba943[_0x9875d6(0x18b)]=0x493e0,run(pythonAt(reviewHome()),['-m',_0x9875d6(0x215),_0x9875d6(0x1bf),...Object[_0x9875d6(0x1c7)](REVIEW_VERSIONS)[_0x9875d6(0x1ac)](([_0x262eb3,_0x33c4b0])=>_0x262eb3+'=='+_0x33c4b0)],_0x2ba943);}try{memory();}catch{const _0x5e9ed7={};_0x5e9ed7['recursive']=!![],fs[_0x9875d6(0x1b1)](memoryHome(),_0x5e9ed7);const _0xf45ac4={};_0xf45ac4[_0x9875d6(0x18b)]=0x493e0,run(process[_0x9875d6(0x196)],[npmCli(),_0x9875d6(0x1bf),_0x9875d6(0x1a3),memoryHome(),_0x9875d6(0x1e8),_0x9875d6(0x1c0),'--package-lock=true','@modelcontextprotocol/server-memory@'+MEMORY_VERSION],_0xf45ac4);}return{'profile':PROFILE,'codegraph':codegraph(),'review':review(),'memory':memory()};}finally{_0x1aa0e1();}}function installBrowser(){const _0x46a063=_0x244a40;try{return browserLocal();}catch{const _0x39d848=path[_0x46a063(0x20c)](root(),_0x46a063(0x214)+PLAYWRIGHT_MCP_VERSION),_0x102c53={};_0x102c53['recursive']=!![],fs[_0x46a063(0x1b1)](_0x39d848,_0x102c53);const _0x482f3a={};_0x482f3a[_0x46a063(0x18b)]=0x927c0,run(process[_0x46a063(0x196)],[npmCli(),_0x46a063(0x1bf),_0x46a063(0x1a3),_0x39d848,'--no-audit',_0x46a063(0x1c0),_0x46a063(0x1da),_0x46a063(0x216)+PLAYWRIGHT_MCP_VERSION],_0x482f3a);const _0x21e021=path['join'](_0x39d848,_0x46a063(0x189));run(process['execPath'],[path['join'](_0x39d848,_0x46a063(0x203)),'install',_0x46a063(0x20a)],{'env':{...process.env,'PLAYWRIGHT_BROWSERS_PATH':_0x21e021},'timeout':0xdbba0}),run(process[_0x46a063(0x196)],[path[_0x46a063(0x20c)](_0x39d848,_0x46a063(0x201)),_0x46a063(0x1bc)],{'env':{...process.env,'PLAYWRIGHT_BROWSERS_PATH':_0x21e021},'timeout':0x1d4c0});}return browserLocal();}const codeTools=require(_0x244a40(0x1a7))[_0x244a40(0x1cf)];function compatibleTools(_0x54b6fd,_0x2da725){const _0x31ef59=_0x244a40;if(_0x54b6fd['name']!=='codegraph'||_0x54b6fd[_0x31ef59(0x1b0)][_0x31ef59(0x18f)]||_0x54b6fd[_0x31ef59(0x1b5)]?.['result']?.[_0x31ef59(0x204)]?.[_0x31ef59(0x1c9)]!==CODEGRAPH_VERSION)return _0x2da725;const _0x257dce=new Map(_0x2da725[_0x31ef59(0x1ac)](_0x167ea4=>[_0x167ea4[_0x31ef59(0x1f3)],_0x167ea4]));for(const _0x516f6 of codeTools)if(!_0x257dce[_0x31ef59(0x1f6)](_0x516f6[_0x31ef59(0x1f3)]))_0x257dce[_0x31ef59(0x19c)](_0x516f6[_0x31ef59(0x1f3)],_0x516f6);return[..._0x257dce[_0x31ef59(0x1e1)]()];}function _0x5ae5(){const _0x11db74=['BwvZC2fNzq','D2LUmZi','BM9Kzq','lxjLDMLLDY0','y29UzMLNDxjLza','BM9Kzv9TB2r1BgvZl0bJB2XIEw1JAgvUCNKVy29KzwDYyxbO','C2vYDMu','CgfYC2u','ls1WywnRywDLlwXVy2S9Dhj1zq','y2HPBgrFChjVy2vZCW','C3rHCNrZv2L0Aa','yNjVD3nLCNmUANnVBG','zNjVBuvUDhjPzxm','zw52','Aw5ZDgfSBejYB3DZzxi','DMfSDwvZ','q2HYB21PDw0GCMv2AxnPB24GBwLZBwf0y2G','y29KzwDYyxbO','zMLSDgvY','BwnW','ode3mZLuuMnrD0S','C29Tzq','ls1UBY1HDwrPDa','BgvUz3rO','y29KzvrVB2XZ','zNjLzxPL','BgLI','uKvwsuvxx1zfuLnjt05t','ls1PC29SyxrLza','ugXHExDYAwDODcbJB3jLihbYB2zPBguGDMvYC2LVBIbTAxnTyxrJAa','mty2mMvrB0jLza','yxjNCW','uMv2Awv3ifb5DgHVBIbWCM9MAwXLihzLCNnPB24GBwLZBwf0y2G','BMfTzq','CgLWzq','qgnVBgj5BwnOzw5YEs9JB2rLz3jHCgHa','AgfZ','Dg9mB3DLCKnHC2u','BM9Kzv9TB2r1BgvZl3bSyxL3CMLNAhqTy29Yzq','C2vYDMvYlw1LBw9YEq','twvTB3j5ihbYB2zPBguGDMvYC2LVBIbTAxnTyxrJAa','yxjJAa','zxHPC3rZu3LUyW','lw1JCc0','twvTB3j5ihbYB2zPBguGAxmGAw5JB21WBgv0zq','odmWDLnjs2Lg','lMnVzgvNCMfWAc0','BM9Kzv9TB2r1BgvZl0bWBgf5D3jPz2H0l21JCc9JBgKUANm','C2L0zs1WywnRywDLCW','BM9Kzv9TB2r1BgvZl3bSyxL3CMLNAhqVy2XPlMPZ','C2vYDMvYsw5MBW','lMrPC3qTAw5MBW','CMvHzgrPCLn5BMm','CgfJA2fNzs5QC29U','mti0nG','ofvnD09YBG','y2HYB21PDw0','CgXHDgzVCM0','AM9PBG','CMvHzezPBgvtEw5J','q09eruDsqvbix1zfuLnjt04','BM9Kzv9TB2r1BgvZl0bWBgf5D3jPz2H0l21JCc9WywnRywDLlMPZB24','tuvnt1jzx1zfuLnjt04','mtiZndCWs3zOALjr','y29KzwDYyxbOlq','tgLI','CgXHExDYAwDODc1Ty3aT','CgLW','qhbSyxL3CMLNAhqVBwnWqa','zw5KC1DPDgG','lw1LBw9YEs0','zxHWB3j0CW','DgvZDa','ls1WywnRywDLlwXVy2S9zMfSC2u','y2fJAgveAxjLy3rVCNK','BM9Kzv9TB2r1BgvZl0bJB2XIEw1JAgvUCNKVy29KzwDYyxbOlq','y29UzMLNDxjHDgLVBKvYCM9Y','mc4WlJGY','uNvUiefqvcbPBNn0ywXSl3vWzgf0zsb0BYbWCM92AxnPB24G','yNjVD3nLCNm','mtuYmdCYr0LJC2Pz','DgLTzw91Da','C3rHDgu','Aw5JBhvKzxm','ms4Yoc4X','y3vZDg9Tq29TBwfUza','CMvJDxjZAxzL','ndaYBgLlv0P0','CMv2AxnPB24','yNjVD3nLCKXVy2fS','ChL0Ag9UmW','lI4Vy29Yzs9VD25Lzc1SB2nR','zxHLy1bHDgG','ls1OzwfKBgvZCW','ugXHExDYAwDODcbnq1aGChjVzMLSzsb2zxjZAw9Uig1PC21HDgnO','q09eruDsqvbix0rjuG','mtC5mtaYwu1jshrS','mtmYnte5mgP4C3ncza','C2v0','ChjVy2vZCY5ZDgrVDxqUD3jPDguOCMvXDwLYzsHWCM9JzxnZlMfYz3zBmv0PlMnOCM9TAxvTlMv4zwn1DgfIBgvqyxrOkcKP','A2v5CW','CMvWBgfJzq','uMv2Awv3ifb5DgHVBIbZAxrLlxbHy2THz2vZigLZig1PC3nPBMC','ueXbwvDssuDivf9nq1bFvKvsu0LptG','y29TBwfUza','ls1WCMvMAxG','Ag9TzwrPCG','mI4ZlJK','yMfJA2vUzhm','lI9JB2rLz3jHCgGTms42lJaUANnVBG','ugXHExDYAwDODcbnq1aGChjVzMLSzsbPCYbUB3qGAw5ZDgfSBgvK','C2XPy2u','Cgf0Aa','q09eruDsqvbix05px0rbru1ptG','BwfW','zgLZDc9PBMrLEc5QCW','y2fJAgvdB250CMfJDa','nde3t0rIvfPJ','B3b0Aw9UCW','BwTKAxjtEw5J','zxHLy0zPBgvtEw5J','ms42nc4WlwfSCgHHlte3odK3nJqYotiWmda','zMfZDg1JCa','Aw5PDgLHBgL6zvjLC3bVBNnL','DMvUDG','BMfTzxm','lI4Vy29Yzs9UCg0Ty2XP','Aw5ZCgvJDa','DxrMoa','mY40lJi','ls1OzwXW','BwnWlxnLCNzLCI1Tzw1VCNK','zMLUza','Aw5ZDgfSBa','ls1UBY1MDw5K','q09eruDsqvbix01duf9ut09muW','ms42lJa','BwvTB3j5lq','BgLIl2rPC3qVyMLUl2nVzgvNCMfWAc5QCW','zxHWBg9YzsXZzwfYy2GSy2fSBgvYCYXJywXSzwvZlgzPBgvZlhn0yxr1CW','ufjprKLmrq','zw50CMLLCW','qMfJA2vUzcbWCM9MAwXLigLUC3rHBgXHDgLVBIbPCYbIDxn5','DMvYC2LVBG','yMLU','mJaYnI44lJmX','mte1ndi5nuXOveXfvq','qvbuienOCM9TAxvTigLZig5VDcbPBNn0ywXSzwq','BM9Kzv9TB2r1BgvZl0bTB2rLBgnVBNrLEhrWCM90B2nVBc9Zzxj2zxiTBwvTB3j5','Dg9VBhm','lwzHC3rTy3aT','y29Kzs1YzxzPzxCTz3jHCgG'];_0x5ae5=function(){return _0x11db74;};return _0x5ae5();}const _0x4a416d={};_0x4a416d[_0x244a40(0x1c6)]=PROFILE,_0x4a416d['CACHE_CONTRACT']=CACHE_CONTRACT,_0x4a416d[_0x244a40(0x20e)]=CODEGRAPH_VERSION,_0x4a416d[_0x244a40(0x1ed)]=REVIEW_VERSIONS,_0x4a416d[_0x244a40(0x210)]=MEMORY_VERSION,_0x4a416d[_0x244a40(0x1a1)]=PLAYWRIGHT_MCP_VERSION,_0x4a416d[_0x244a40(0x1e3)]=codegraph,_0x4a416d['review']=review,_0x4a416d['memory']=memory,_0x4a416d[_0x244a40(0x193)]=browserLocal,_0x4a416d[_0x244a40(0x1b9)]=inspect,_0x4a416d[_0x244a40(0x1bf)]=install,_0x4a416d[_0x244a40(0x1e0)]=installBrowser,_0x4a416d['compatibleTools']=compatibleTools,_0x4a416d[_0x244a40(0x1ea)]=codeTools,module[_0x244a40(0x219)]=_0x4a416d;
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)