scip-query 0.19.0 → 0.19.1

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 (178) hide show
  1. package/dist/augment-vue-worker.js +1 -1
  2. package/dist/{chunk-YHYTDWFT.js → chunk-24ET4VLC.js} +2 -2
  3. package/dist/{chunk-IXORBCMR.js → chunk-2NA6TYP4.js} +2 -2
  4. package/dist/{chunk-XKWEMFHP.js → chunk-2WCXKANA.js} +2 -2
  5. package/dist/{chunk-GJ3FR5WG.js → chunk-34MLC6UI.js} +2 -2
  6. package/dist/{chunk-PAZFJMXB.js → chunk-3WLRW5TC.js} +2 -2
  7. package/dist/{chunk-EZHARAL4.js → chunk-4BU54UJG.js} +2 -2
  8. package/dist/{chunk-XTSVYYAL.js → chunk-4CZJ4YJB.js} +2 -2
  9. package/dist/{chunk-TCVRJ56J.js → chunk-4FMT4HPC.js} +2 -2
  10. package/dist/{chunk-7FG5M53V.js → chunk-53SUJOJA.js} +2 -2
  11. package/dist/{chunk-YBAC3RON.js → chunk-5GOBZI34.js} +2 -2
  12. package/dist/{chunk-X36LKKVG.js → chunk-5OZCNAVM.js} +2 -2
  13. package/dist/{chunk-FMC3BI4I.js → chunk-5TEUKVSM.js} +2 -2
  14. package/dist/{chunk-WT7TOU2C.js → chunk-5W2VAEVR.js} +2 -2
  15. package/dist/{chunk-AWSRND4W.js → chunk-63P42UR6.js} +2 -2
  16. package/dist/{chunk-GNJHHPZE.js → chunk-64QITTX7.js} +2 -2
  17. package/dist/{chunk-XPYXEEDO.js → chunk-6O5JOS7T.js} +2 -2
  18. package/dist/{chunk-X65VYV2S.js → chunk-6PKO2TNZ.js} +2 -2
  19. package/dist/{chunk-X3OOU7CF.js → chunk-7SGOWD2Y.js} +2 -2
  20. package/dist/{chunk-ZXWFN7CK.js → chunk-7TJJY2C3.js} +2 -2
  21. package/dist/{chunk-OGHGTD6Z.js → chunk-AEM24WSF.js} +2 -2
  22. package/dist/{chunk-IWK562KR.js → chunk-AGTATREV.js} +2 -2
  23. package/dist/{chunk-SATRCB5O.js → chunk-AOSFSYEA.js} +2 -2
  24. package/dist/{chunk-3OSRXJKK.js → chunk-APLNTJPJ.js} +2 -2
  25. package/dist/{chunk-TDGCALH6.js → chunk-AYRHVJXW.js} +2 -2
  26. package/dist/{chunk-AM2LGOEX.js → chunk-B2WQKQKP.js} +2 -2
  27. package/dist/{chunk-F5L7WEZF.js → chunk-BBBKPOIT.js} +2 -2
  28. package/dist/{chunk-2FAJTZSX.js → chunk-BCMOTIB6.js} +2 -2
  29. package/dist/{chunk-RJLU7IMR.js → chunk-BMTBVMA3.js} +2 -2
  30. package/dist/{chunk-JFGUBZWE.js → chunk-C3KCSAQ4.js} +2 -2
  31. package/dist/{chunk-FLIF3JWA.js → chunk-CAKPEQZB.js} +2 -2
  32. package/dist/{chunk-PKAPOFF5.js → chunk-CIYUFF24.js} +2 -2
  33. package/dist/{chunk-7EI4MU5A.js → chunk-CKFMZE77.js} +2 -2
  34. package/dist/{chunk-A45K6VUK.js → chunk-DCDOGW32.js} +2 -2
  35. package/dist/{chunk-4ZCNFENR.js → chunk-DFQNE73Y.js} +2 -2
  36. package/dist/{chunk-J3U47L4Q.js → chunk-DO775SYA.js} +2 -2
  37. package/dist/{chunk-NEG77KKH.js → chunk-DRH3AD7W.js} +2 -2
  38. package/dist/{chunk-UVMME4FI.js → chunk-DZXFZAZO.js} +2 -2
  39. package/dist/{chunk-GMZYT44R.js → chunk-E3KWOHH7.js} +2 -2
  40. package/dist/{chunk-F334Z5UA.js → chunk-EMIIOOTM.js} +2 -2
  41. package/dist/{chunk-GBB2RUDN.js → chunk-ESNRT7QN.js} +130 -130
  42. package/dist/{chunk-RIGY5DDE.js → chunk-FB6IKAKZ.js} +2 -2
  43. package/dist/{chunk-BGUYAA3Q.js → chunk-FBUNGRKI.js} +2 -2
  44. package/dist/{chunk-M2TRDR25.js → chunk-FC5K7T35.js} +1 -1
  45. package/dist/{chunk-4ZHJAHLE.js → chunk-FHLYJVXF.js} +2 -2
  46. package/dist/{chunk-KWBA6FDD.js → chunk-FRXB74RQ.js} +2 -2
  47. package/dist/{chunk-BYPVNKJT.js → chunk-FTRNGQGR.js} +2 -2
  48. package/dist/{chunk-54UYBTZW.js → chunk-FUFNRZFJ.js} +2 -2
  49. package/dist/{chunk-QNMOZ3CJ.js → chunk-GAE7WCBK.js} +2 -2
  50. package/dist/{chunk-547VY366.js → chunk-GIHVWNKQ.js} +2 -2
  51. package/dist/{chunk-AEDB4WXE.js → chunk-HCS5LB6U.js} +2 -2
  52. package/dist/{chunk-UXOVHGT6.js → chunk-HFBNIIZX.js} +2 -2
  53. package/dist/{chunk-JHK2DMUQ.js → chunk-HGFDYOVB.js} +1 -1
  54. package/dist/{chunk-6SHX42QQ.js → chunk-IOOCKVUA.js} +2 -2
  55. package/dist/{chunk-XDVT7QPG.js → chunk-J4MYRIYT.js} +2 -2
  56. package/dist/{chunk-TAB7AWKO.js → chunk-J5XJWCB3.js} +2 -2
  57. package/dist/{chunk-PXJIEMND.js → chunk-JBZXJXIS.js} +2 -2
  58. package/dist/{chunk-UJL3N6TC.js → chunk-JJZRS2OP.js} +2 -2
  59. package/dist/chunk-KC2IFAAU.js +3 -0
  60. package/dist/{chunk-4XTPZ5CR.js → chunk-KMOMNTB4.js} +2 -2
  61. package/dist/{chunk-YYR7ADNB.js → chunk-KMUFGAIK.js} +2 -2
  62. package/dist/{chunk-DWN7QDTV.js → chunk-LF5CIKWZ.js} +2 -2
  63. package/dist/{chunk-ZL5Y23AJ.js → chunk-LM72NQ7T.js} +1 -1
  64. package/dist/{chunk-3KQOIXLO.js → chunk-LQUDSHLB.js} +2 -2
  65. package/dist/{chunk-VV5WJLRO.js → chunk-MP43RX4O.js} +1 -1
  66. package/dist/{chunk-D5OXYOJP.js → chunk-MQ2B33LQ.js} +1 -1
  67. package/dist/{chunk-EZGT3NJX.js → chunk-NTOBQK5H.js} +2 -2
  68. package/dist/{chunk-TOYQTO44.js → chunk-OLG2YPLS.js} +2 -2
  69. package/dist/{chunk-J65FQLDL.js → chunk-OOUJBAKJ.js} +2 -2
  70. package/dist/{chunk-PBADFBRR.js → chunk-OQ6TCHBB.js} +2 -2
  71. package/dist/{chunk-BOXAKNN6.js → chunk-PNESKY2Z.js} +2 -2
  72. package/dist/{chunk-TDZXQAH7.js → chunk-PYMZU5EG.js} +2 -2
  73. package/dist/{chunk-HOXI4F5I.js → chunk-Q2WEWIKX.js} +2 -2
  74. package/dist/{chunk-DQIJMKNE.js → chunk-QHKXGMOI.js} +2 -2
  75. package/dist/{chunk-MTFHE7ZO.js → chunk-RPEA7P5Z.js} +2 -2
  76. package/dist/{chunk-DV6B262O.js → chunk-SJ6XSCG7.js} +2 -2
  77. package/dist/{chunk-LJD7V7UO.js → chunk-SSXEYWN3.js} +2 -2
  78. package/dist/{chunk-XESK6725.js → chunk-SYGAA54M.js} +2 -2
  79. package/dist/{chunk-TC3X33N6.js → chunk-TYEGFDOP.js} +2 -2
  80. package/dist/chunk-UJKZQLDB.js +2 -0
  81. package/dist/{chunk-QB5WSOTY.js → chunk-US44MEVU.js} +2 -2
  82. package/dist/{chunk-2ZNZSNVW.js → chunk-V5WBVF6K.js} +2 -2
  83. package/dist/{chunk-S65OEY2G.js → chunk-V7J4A3AH.js} +2 -2
  84. package/dist/{chunk-J6BR4MD6.js → chunk-VIKEPD4D.js} +2 -2
  85. package/dist/{chunk-XDSB47KO.js → chunk-WAU7HVDI.js} +2 -2
  86. package/dist/{chunk-T5CSWYAZ.js → chunk-WCZAABYF.js} +2 -2
  87. package/dist/{chunk-KD6TPIXM.js → chunk-WFRET75Z.js} +2 -2
  88. package/dist/chunk-WWCZCH7W.js +3 -0
  89. package/dist/{chunk-G6RQVDTI.js → chunk-XCPE3G75.js} +2 -2
  90. package/dist/{chunk-QN67MWDU.js → chunk-XYBNOILR.js} +2 -2
  91. package/dist/{chunk-MFBXBLHA.js → chunk-XZXUMGAA.js} +2 -2
  92. package/dist/{chunk-QHOUNTDZ.js → chunk-YCSTKIYU.js} +2 -2
  93. package/dist/{chunk-ZNSLF5AC.js → chunk-YGQBJUS6.js} +2 -2
  94. package/dist/{chunk-6DHPQS72.js → chunk-YILKXTIY.js} +2 -2
  95. package/dist/{chunk-G6QQCX45.js → chunk-ZJGZCBYT.js} +2 -2
  96. package/dist/{chunk-MDDF67O2.js → chunk-ZNK6K3LB.js} +2 -2
  97. package/dist/cli.js +1 -1
  98. package/dist/{command-descriptors-SWFWGIFK.js → command-descriptors-3EJHQLQZ.js} +55 -55
  99. package/dist/direct-navigation-C2A44KFT.js +3 -0
  100. package/dist/index.js +1 -1
  101. package/dist/queries/affected.js +1 -1
  102. package/dist/queries/architecture.js +1 -1
  103. package/dist/queries/bottlenecks.js +1 -1
  104. package/dist/queries/by-kind.js +1 -1
  105. package/dist/queries/call-graph.js +1 -1
  106. package/dist/queries/change-surface.js +1 -1
  107. package/dist/queries/cleanup-plan.js +1 -1
  108. package/dist/queries/co-change.js +1 -1
  109. package/dist/queries/code.js +1 -1
  110. package/dist/queries/complexity-hotspots.js +1 -1
  111. package/dist/queries/complexity.js +1 -1
  112. package/dist/queries/convergence.js +1 -1
  113. package/dist/queries/coupling.js +1 -1
  114. package/dist/queries/cycles.js +1 -1
  115. package/dist/queries/dataflow.js +1 -1
  116. package/dist/queries/dead.js +1 -1
  117. package/dist/queries/decorative-checkers.js +1 -1
  118. package/dist/queries/deep-chains.js +1 -1
  119. package/dist/queries/deps.js +1 -1
  120. package/dist/queries/diff-gate.js +1 -1
  121. package/dist/queries/diff-impact.js +1 -1
  122. package/dist/queries/doc-drift.js +1 -1
  123. package/dist/queries/drift.js +1 -1
  124. package/dist/queries/duplicate-bodies.js +1 -1
  125. package/dist/queries/extract-candidates.js +1 -1
  126. package/dist/queries/fan.js +1 -1
  127. package/dist/queries/health.js +1 -1
  128. package/dist/queries/hierarchy.js +1 -1
  129. package/dist/queries/hotspots.js +1 -1
  130. package/dist/queries/imports.js +1 -1
  131. package/dist/queries/incomplete-migration.js +1 -1
  132. package/dist/queries/index.js +1 -1
  133. package/dist/queries/isolated.js +1 -1
  134. package/dist/queries/locality-candidates.js +1 -1
  135. package/dist/queries/members.js +1 -1
  136. package/dist/queries/methods.js +1 -1
  137. package/dist/queries/not-implemented.js +1 -1
  138. package/dist/queries/outline.js +1 -1
  139. package/dist/queries/passthrough-candidates.js +1 -1
  140. package/dist/queries/plan-context.js +1 -1
  141. package/dist/queries/react-component-duplicates.js +1 -1
  142. package/dist/queries/react-hook-candidates.js +1 -1
  143. package/dist/queries/react-large-component-pressure.js +1 -1
  144. package/dist/queries/recent-duplicates.js +1 -1
  145. package/dist/queries/redundant-reexports.js +1 -1
  146. package/dist/queries/refs.js +1 -1
  147. package/dist/queries/self-audit.js +1 -1
  148. package/dist/queries/similar-chains.js +1 -1
  149. package/dist/queries/similar-files.js +1 -1
  150. package/dist/queries/similar-signatures.js +1 -1
  151. package/dist/queries/similar.js +1 -1
  152. package/dist/queries/slice.js +1 -1
  153. package/dist/queries/stale-abstractions.js +1 -1
  154. package/dist/queries/surface.js +1 -1
  155. package/dist/queries/symbols.js +1 -1
  156. package/dist/queries/system.js +1 -1
  157. package/dist/queries/test-quality.js +1 -1
  158. package/dist/queries/trace.js +1 -1
  159. package/dist/queries/twin-ab.js +1 -1
  160. package/dist/queries/twin-drift.js +1 -1
  161. package/dist/queries/unused-imports.js +1 -1
  162. package/dist/queries/unused-params.js +1 -1
  163. package/dist/queries/vue-component-duplicates.js +1 -1
  164. package/dist/queries/vue-composable-candidates.js +1 -1
  165. package/dist/queries/vue-large-view-pressure.js +1 -1
  166. package/dist/queries/wrapper-candidates.js +1 -1
  167. package/dist/reindex-worker.js +5 -5
  168. package/dist/reindex.js +15 -15
  169. package/dist/runtime.js +1 -1
  170. package/dist/rust-semantic-session-server.js +1 -1
  171. package/dist/rust-semantic-session-worker.js +1 -1
  172. package/dist/rust-semantic-worker.js +1 -1
  173. package/dist/watch-server.js +1 -1
  174. package/package.json +1 -1
  175. package/dist/chunk-42QYU6FD.js +0 -3
  176. package/dist/chunk-AERYQJ52.js +0 -3
  177. package/dist/chunk-OYYZLJVT.js +0 -2
  178. package/dist/direct-navigation-RKMPBXMI.js +0 -3
@@ -1,2 +1,2 @@
1
- import{a,b,c,d,e}from"../chunk-7FG5M53V.js";import"../chunk-AERYQJ52.js";import"../chunk-4XTPZ5CR.js";import"../chunk-FLIF3JWA.js";import"../chunk-B75HZHUP.js";import"../chunk-BGBBVSH4.js";import"../chunk-P5XHIJHI.js";import"../chunk-SATRCB5O.js";import"../chunk-MTDBHTSF.js";import"../chunk-TDGCALH6.js";import"../chunk-QNMOZ3CJ.js";import"../chunk-XDSB47KO.js";import"../chunk-M2TRDR25.js";import"../chunk-64MNV6AB.js";export{b as allTwinGroups,c as groupTwins,d as isThinForwarderBody,e as splitTopLevelStatements,a as twinDrift};
1
+ import{a,b,c,d,e}from"../chunk-53SUJOJA.js";import"../chunk-WWCZCH7W.js";import"../chunk-KMOMNTB4.js";import"../chunk-CAKPEQZB.js";import"../chunk-B75HZHUP.js";import"../chunk-BGBBVSH4.js";import"../chunk-P5XHIJHI.js";import"../chunk-AOSFSYEA.js";import"../chunk-MTDBHTSF.js";import"../chunk-AYRHVJXW.js";import"../chunk-GAE7WCBK.js";import"../chunk-WAU7HVDI.js";import"../chunk-FC5K7T35.js";import"../chunk-64MNV6AB.js";export{b as allTwinGroups,c as groupTwins,d as isThinForwarderBody,e as splitTopLevelStatements,a as twinDrift};
2
2
  //# sourceMappingURL=twin-drift.js.map
@@ -1,2 +1,2 @@
1
- import{a,b,c}from"../chunk-LJD7V7UO.js";import"../chunk-DV6B262O.js";import"../chunk-QB5WSOTY.js";import"../chunk-UXOVHGT6.js";import"../chunk-GMZYT44R.js";import"../chunk-P5XHIJHI.js";import"../chunk-ZL5Y23AJ.js";import"../chunk-SATRCB5O.js";import"../chunk-TDGCALH6.js";import"../chunk-QNMOZ3CJ.js";import"../chunk-XDSB47KO.js";import"../chunk-M2TRDR25.js";import"../chunk-64MNV6AB.js";export{b as importedBy,a as imports,c as unusedImports};
1
+ import{a,b,c}from"../chunk-SSXEYWN3.js";import"../chunk-SJ6XSCG7.js";import"../chunk-US44MEVU.js";import"../chunk-HFBNIIZX.js";import"../chunk-E3KWOHH7.js";import"../chunk-P5XHIJHI.js";import"../chunk-LM72NQ7T.js";import"../chunk-AOSFSYEA.js";import"../chunk-AYRHVJXW.js";import"../chunk-GAE7WCBK.js";import"../chunk-WAU7HVDI.js";import"../chunk-FC5K7T35.js";import"../chunk-64MNV6AB.js";export{b as importedBy,a as imports,c as unusedImports};
2
2
  //# sourceMappingURL=unused-imports.js.map
@@ -1,2 +1,2 @@
1
- import{a}from"../chunk-KD6TPIXM.js";import"../chunk-BGUYAA3Q.js";import"../chunk-ZXWFN7CK.js";import"../chunk-FLIF3JWA.js";import"../chunk-B75HZHUP.js";import"../chunk-BGBBVSH4.js";import"../chunk-F334Z5UA.js";import"../chunk-UVMME4FI.js";import"../chunk-QB5WSOTY.js";import"../chunk-UXOVHGT6.js";import"../chunk-GMZYT44R.js";import"../chunk-P5XHIJHI.js";import"../chunk-ZL5Y23AJ.js";import"../chunk-SATRCB5O.js";import"../chunk-MTDBHTSF.js";import"../chunk-TDGCALH6.js";import"../chunk-QNMOZ3CJ.js";import"../chunk-XDSB47KO.js";import"../chunk-M2TRDR25.js";import"../chunk-64MNV6AB.js";export{a as unusedParams};
1
+ import{a}from"../chunk-WFRET75Z.js";import"../chunk-FBUNGRKI.js";import"../chunk-7TJJY2C3.js";import"../chunk-CAKPEQZB.js";import"../chunk-B75HZHUP.js";import"../chunk-BGBBVSH4.js";import"../chunk-EMIIOOTM.js";import"../chunk-DZXFZAZO.js";import"../chunk-US44MEVU.js";import"../chunk-HFBNIIZX.js";import"../chunk-E3KWOHH7.js";import"../chunk-P5XHIJHI.js";import"../chunk-LM72NQ7T.js";import"../chunk-AOSFSYEA.js";import"../chunk-MTDBHTSF.js";import"../chunk-AYRHVJXW.js";import"../chunk-GAE7WCBK.js";import"../chunk-WAU7HVDI.js";import"../chunk-FC5K7T35.js";import"../chunk-64MNV6AB.js";export{a as unusedParams};
2
2
  //# sourceMappingURL=unused-params.js.map
@@ -1,2 +1,2 @@
1
- import{a}from"../chunk-PBADFBRR.js";import"../chunk-XKWEMFHP.js";import"../chunk-B3X6KU75.js";import"../chunk-KMVGRIO2.js";import"../chunk-XDSB47KO.js";import"../chunk-M2TRDR25.js";import"../chunk-64MNV6AB.js";export{a as vueComponentDuplicates};
1
+ import{a}from"../chunk-OQ6TCHBB.js";import"../chunk-2WCXKANA.js";import"../chunk-B3X6KU75.js";import"../chunk-KMVGRIO2.js";import"../chunk-WAU7HVDI.js";import"../chunk-FC5K7T35.js";import"../chunk-64MNV6AB.js";export{a as vueComponentDuplicates};
2
2
  //# sourceMappingURL=vue-component-duplicates.js.map
@@ -1,2 +1,2 @@
1
- import{a}from"../chunk-ZNSLF5AC.js";import"../chunk-XKWEMFHP.js";import"../chunk-B3X6KU75.js";import"../chunk-KMVGRIO2.js";import"../chunk-XDSB47KO.js";import"../chunk-M2TRDR25.js";import"../chunk-64MNV6AB.js";export{a as vueComposableCandidates};
1
+ import{a}from"../chunk-YGQBJUS6.js";import"../chunk-2WCXKANA.js";import"../chunk-B3X6KU75.js";import"../chunk-KMVGRIO2.js";import"../chunk-WAU7HVDI.js";import"../chunk-FC5K7T35.js";import"../chunk-64MNV6AB.js";export{a as vueComposableCandidates};
2
2
  //# sourceMappingURL=vue-composable-candidates.js.map
@@ -1,2 +1,2 @@
1
- import{a}from"../chunk-JFGUBZWE.js";import"../chunk-B3X6KU75.js";import"../chunk-KMVGRIO2.js";import"../chunk-XDSB47KO.js";import"../chunk-M2TRDR25.js";import"../chunk-64MNV6AB.js";export{a as vueLargeViewPressure};
1
+ import{a}from"../chunk-C3KCSAQ4.js";import"../chunk-B3X6KU75.js";import"../chunk-KMVGRIO2.js";import"../chunk-WAU7HVDI.js";import"../chunk-FC5K7T35.js";import"../chunk-64MNV6AB.js";export{a as vueLargeViewPressure};
2
2
  //# sourceMappingURL=vue-large-view-pressure.js.map
@@ -1,2 +1,2 @@
1
- import{a}from"../chunk-MFBXBLHA.js";import"../chunk-TAB7AWKO.js";import"../chunk-IWK562KR.js";import"../chunk-BGUYAA3Q.js";import"../chunk-ZXWFN7CK.js";import"../chunk-FLIF3JWA.js";import"../chunk-B75HZHUP.js";import"../chunk-BGBBVSH4.js";import"../chunk-F334Z5UA.js";import"../chunk-UVMME4FI.js";import"../chunk-QB5WSOTY.js";import"../chunk-UXOVHGT6.js";import"../chunk-GMZYT44R.js";import"../chunk-P5XHIJHI.js";import"../chunk-ZL5Y23AJ.js";import"../chunk-SATRCB5O.js";import"../chunk-MTDBHTSF.js";import"../chunk-TDGCALH6.js";import"../chunk-QNMOZ3CJ.js";import"../chunk-XDSB47KO.js";import"../chunk-M2TRDR25.js";import"../chunk-64MNV6AB.js";export{a as wrapperCandidates};
1
+ import{a}from"../chunk-XZXUMGAA.js";import"../chunk-J5XJWCB3.js";import"../chunk-AGTATREV.js";import"../chunk-FBUNGRKI.js";import"../chunk-7TJJY2C3.js";import"../chunk-CAKPEQZB.js";import"../chunk-B75HZHUP.js";import"../chunk-BGBBVSH4.js";import"../chunk-EMIIOOTM.js";import"../chunk-DZXFZAZO.js";import"../chunk-US44MEVU.js";import"../chunk-HFBNIIZX.js";import"../chunk-E3KWOHH7.js";import"../chunk-P5XHIJHI.js";import"../chunk-LM72NQ7T.js";import"../chunk-AOSFSYEA.js";import"../chunk-MTDBHTSF.js";import"../chunk-AYRHVJXW.js";import"../chunk-GAE7WCBK.js";import"../chunk-WAU7HVDI.js";import"../chunk-FC5K7T35.js";import"../chunk-64MNV6AB.js";export{a as wrapperCandidates};
2
2
  //# sourceMappingURL=wrapper-candidates.js.map
@@ -1,4 +1,4 @@
1
- import{a as ee,b as te}from"./chunk-XDVT7QPG.js";import{a as mt}from"./chunk-P5XHIJHI.js";import{$ as Ft,C as gt,D as ft,F as ht,G as yt,H as xe,K as G,M as St,Q as bt,R as Pt,S as xt,T as Rt,Y as vt,Z as It,_ as Et,a as K,aa as jt,ba as wt,ca as Dt,da as _t,ea as Tt,f as rt,fa as kt,ga as U,h as it,ha as ne,i as T,ia as Ot,j as $,ka as re,l as lt,la as Mt,ma as Re,n as ut,na as Nt,o as pt,oa as ve,p as Z,qa as Ie,sa as ie,ta as At,v as B,va as Lt}from"./chunk-IXORBCMR.js";import{a as V,b as Ze,c as Y,d as at,e as st,f as ot,h as ct,i as dt,l as w}from"./chunk-VV5WJLRO.js";import{a as k,b as O}from"./chunk-KHE7J5ZN.js";import{e as F,f as L}from"./chunk-JHK2DMUQ.js";import{a as C,b as et,c as tt,d as Pe,e as nt}from"./chunk-XBN5VO53.js";import{execFileSync as ga}from"child_process";import{createHash as fa}from"crypto";import{closeSync as ma,copyFileSync as he,existsSync as E,mkdirSync as me,mkdtempSync as ha,openSync as ya,readdirSync as Sa,readFileSync as ye,renameSync as Wn,rmSync as _,statSync as ba,writeFileSync as Pa}from"fs";import{basename as fe,dirname as y,extname as xa,join as R,resolve as Ln}from"path";import{platform as Ra}from"os";import{execFileSync as $t}from"child_process";import{existsSync as Ee,readFileSync as lr}from"fs";import{createRequire as ur}from"module";import{platform as Bt}from"os";import{dirname as Ct,join as ae}from"path";var pr=ur(import.meta.url),M={language:"rust",indexerBinary:"rust-analyzer",installUrl:"https://github.com/rust-lang/rust-analyzer"};function Fe(e){return[e.indexerBinary,...e.binaryAliases??[]]}function se(e){let t=Fe(e);return t.length===1?t[0]:t.join(" or ")}function J(e){for(let t of Fe(e))if(Bt()==="win32"){let n=tt(t);if(n)return n}else if(C(t))return t;return fr(e)}function Gt(e){return J(e)!==null||gr(e)}function gr(e){return Ut(e)!==null}function fr(e){let t=Ut(e);if(!t)return null;let r=JSON.parse(lr(t,"utf8")).bin;if(!r)return null;if(typeof r=="string")return ae(Ct(t),r);for(let i of Fe(e)){let a=r[i];if(a)return ae(Ct(t),a)}return null}function Ut(e){if(!e.bundledNpmPackage)return null;try{return pr.resolve(`${e.bundledNpmPackage}/package.json`)}catch{return null}}function Jt(e,t){for(let n of e.projectLocalBinaries??[]){let r=ae(t,n);if(Ee(r))return r}return null}function Wt(e,t=process.env,n=e.indexerBinary){if(e.indexerBinary!=="scip-dotnet"||Ht(n,t))return t;let r=mr(n,t);return r?{...t,DOTNET_ROOT:r}:t}function mr(e,t){for(let n of hr(t))if(Ht(e,{...t,DOTNET_ROOT:n}))return n;return null}function hr(e){let t=[],n=e.DOTNET_ROOT;if(n&&Ee(n)&&t.push(n),Bt()==="darwin"&&C("brew"))try{let r=$t("brew",["--prefix","dotnet@9"],{stdio:"pipe",env:e}).toString().trim(),i=ae(r,"libexec");Ee(i)&&!t.includes(i)&&t.push(i)}catch{}return t}function Ht(e,t){try{return $t(e,["--version"],{stdio:"pipe",env:t}),!0}catch{return!1}}import{readFileSync as Ts}from"fs";import{dirname as Os,join as Ms}from"path";var qt=pt({kind:"file-dependency-graph",invalidation:Z("file-dependency-graph"),serialize:e=>JSON.stringify(e),deserialize:vr}),yr=ct("file-dep-graph",{clearGroups:["whole-project"]});function N(e,t,n={}){let r=n.scipEdges??"all-references",i=n.sourceEdges??"imports-only",a=Pr(t,r,i);return yr.get(e,a,()=>{let s=new Set(w(e,{includeIgnored:!1})),o=lt(e),d=0,c=0,l=null,u=!1,g=0,m=0;return F("file-dep-graph.product",()=>{if(o){let f=qt.read(e,a,o);if(f){u=!0;let h=Rr(f);return d=f.sourceFileCount,c=f.sourceEdgeCount,g=f.scipEdgeCount,m=h.size,l=f.sourceDependencyFingerprint,h}}let p=F("file-dep-graph.source-imports",()=>{let f=Sr(e,s,t,i);return d=f.files.length,c=f.edges.length,l=f.fingerprint,f},()=>({scope:t??null,sourceEdges:i,files:d,edges:c})),S=new Map,b=(f,h)=>jr(e,S,s,f,h);F("file-dep-graph.scip-edges",()=>{for(let f of Fr(e,t,r))g+=1,b(f.from_file,f.to_file)},()=>({scope:t??null,edges:g}));for(let f of p.edges)b(f.fromFile,f.toFile);return m=S.size,o&&qt.write(e,a,o,{sourceDependencyFingerprint:p.fingerprint,sourceFileCount:p.files.length,sourceEdgeCount:p.edges.length,scipEdgeCount:g,graph:xr(S)}),S},()=>({scope:t??null,available:o!==null,hit:u,files:d,sourceEdges:c,sourceEdgeMode:i,scipEdges:g,graphFiles:m,sourceDependencyFingerprint:l}))})}function Sr(e,t,n,r){let i=[],a=[];for(let s of t)if(!(n&&!s.includes(n))){i.push(s);for(let o of ft(e,s))o.sourcePath&&a.push({fromFile:s,toFile:o.sourcePath});if(r==="imports-and-reexports")for(let o of gt(e,s))o.sourcePath&&a.push({fromFile:s,toFile:o.sourcePath})}return{files:i,edges:a,fingerprint:br(i,a)}}function br(e,t){let n=t.map(r=>`${r.fromFile}\0${r.toFile}`).sort();return $(JSON.stringify({files:e,edges:n}))}function Pr(e,t,n){return`edge-mode-v3:${t}:${n}:${e??"<all>"}`}function xr(e){return[...e].map(([t,n])=>[t,[...n]])}function Rr(e){return new Map(e.graph.map(([t,n])=>[t,new Set(n)]))}function vr(e){let t=JSON.parse(e);return Ir(t)?t:null}function Ir(e){if(!e||typeof e!="object")return!1;let t=e;return typeof t.sourceDependencyFingerprint=="string"&&typeof t.sourceFileCount=="number"&&typeof t.sourceEdgeCount=="number"&&typeof t.scipEdgeCount=="number"&&Array.isArray(t.graph)&&t.graph.every(Er)}function Er(e){return Array.isArray(e)&&e.length===2&&typeof e[0]=="string"&&Array.isArray(e[1])&&e[1].every(t=>typeof t=="string")}function Fr(e,t,n){let r=t?"AND d1.relative_path LIKE ?":"",i=t?[`%${t}%`]:[],a=n==="imports-only"?"AND m.role = 2":"AND m.role != 1";return e.all(`SELECT DISTINCT
1
+ import{a as ee,b as te}from"./chunk-J4MYRIYT.js";import{a as mt}from"./chunk-P5XHIJHI.js";import{$ as Ft,C as gt,D as ft,F as ht,G as yt,H as xe,K as G,M as St,Q as bt,R as Pt,S as xt,T as Rt,Y as vt,Z as It,_ as Et,a as K,aa as jt,ba as wt,ca as Dt,da as _t,ea as Tt,f as rt,fa as kt,ga as U,h as it,ha as ne,i as T,ia as Ot,j as $,ka as re,l as lt,la as Mt,ma as Re,n as ut,na as Nt,o as pt,oa as ve,p as Z,qa as Ie,sa as ie,ta as At,v as B,va as Lt}from"./chunk-2NA6TYP4.js";import{a as V,b as Ze,c as Y,d as at,e as st,f as ot,h as ct,i as dt,l as w}from"./chunk-MP43RX4O.js";import{a as k,b as O}from"./chunk-KHE7J5ZN.js";import{e as F,f as L}from"./chunk-HGFDYOVB.js";import{a as C,b as et,c as tt,d as Pe,e as nt}from"./chunk-XBN5VO53.js";import{execFileSync as ga}from"child_process";import{createHash as fa}from"crypto";import{closeSync as ma,copyFileSync as he,existsSync as E,mkdirSync as me,mkdtempSync as ha,openSync as ya,readdirSync as Sa,readFileSync as ye,renameSync as Wn,rmSync as _,statSync as ba,writeFileSync as Pa}from"fs";import{basename as fe,dirname as y,extname as xa,join as R,resolve as Ln}from"path";import{platform as Ra}from"os";import{execFileSync as $t}from"child_process";import{existsSync as Ee,readFileSync as lr}from"fs";import{createRequire as ur}from"module";import{platform as Bt}from"os";import{dirname as Ct,join as ae}from"path";var pr=ur(import.meta.url),M={language:"rust",indexerBinary:"rust-analyzer",installUrl:"https://github.com/rust-lang/rust-analyzer"};function Fe(e){return[e.indexerBinary,...e.binaryAliases??[]]}function se(e){let t=Fe(e);return t.length===1?t[0]:t.join(" or ")}function J(e){for(let t of Fe(e))if(Bt()==="win32"){let n=tt(t);if(n)return n}else if(C(t))return t;return fr(e)}function Gt(e){return J(e)!==null||gr(e)}function gr(e){return Ut(e)!==null}function fr(e){let t=Ut(e);if(!t)return null;let r=JSON.parse(lr(t,"utf8")).bin;if(!r)return null;if(typeof r=="string")return ae(Ct(t),r);for(let i of Fe(e)){let a=r[i];if(a)return ae(Ct(t),a)}return null}function Ut(e){if(!e.bundledNpmPackage)return null;try{return pr.resolve(`${e.bundledNpmPackage}/package.json`)}catch{return null}}function Jt(e,t){for(let n of e.projectLocalBinaries??[]){let r=ae(t,n);if(Ee(r))return r}return null}function Wt(e,t=process.env,n=e.indexerBinary){if(e.indexerBinary!=="scip-dotnet"||Ht(n,t))return t;let r=mr(n,t);return r?{...t,DOTNET_ROOT:r}:t}function mr(e,t){for(let n of hr(t))if(Ht(e,{...t,DOTNET_ROOT:n}))return n;return null}function hr(e){let t=[],n=e.DOTNET_ROOT;if(n&&Ee(n)&&t.push(n),Bt()==="darwin"&&C("brew"))try{let r=$t("brew",["--prefix","dotnet@9"],{stdio:"pipe",env:e}).toString().trim(),i=ae(r,"libexec");Ee(i)&&!t.includes(i)&&t.push(i)}catch{}return t}function Ht(e,t){try{return $t(e,["--version"],{stdio:"pipe",env:t}),!0}catch{return!1}}import{readFileSync as _s}from"fs";import{dirname as ks,join as Os}from"path";var qt=pt({kind:"file-dependency-graph",invalidation:Z("file-dependency-graph"),serialize:e=>JSON.stringify(e),deserialize:vr}),yr=ct("file-dep-graph",{clearGroups:["whole-project"]});function N(e,t,n={}){let r=n.scipEdges??"all-references",i=n.sourceEdges??"imports-only",a=Pr(t,r,i);return yr.get(e,a,()=>{let s=new Set(w(e,{includeIgnored:!1})),o=lt(e),d=0,c=0,l=null,u=!1,g=0,m=0;return F("file-dep-graph.product",()=>{if(o){let f=qt.read(e,a,o);if(f){u=!0;let h=Rr(f);return d=f.sourceFileCount,c=f.sourceEdgeCount,g=f.scipEdgeCount,m=h.size,l=f.sourceDependencyFingerprint,h}}let p=F("file-dep-graph.source-imports",()=>{let f=Sr(e,s,t,i);return d=f.files.length,c=f.edges.length,l=f.fingerprint,f},()=>({scope:t??null,sourceEdges:i,files:d,edges:c})),S=new Map,b=(f,h)=>jr(e,S,s,f,h);F("file-dep-graph.scip-edges",()=>{for(let f of Fr(e,t,r))g+=1,b(f.from_file,f.to_file)},()=>({scope:t??null,edges:g}));for(let f of p.edges)b(f.fromFile,f.toFile);return m=S.size,o&&qt.write(e,a,o,{sourceDependencyFingerprint:p.fingerprint,sourceFileCount:p.files.length,sourceEdgeCount:p.edges.length,scipEdgeCount:g,graph:xr(S)}),S},()=>({scope:t??null,available:o!==null,hit:u,files:d,sourceEdges:c,sourceEdgeMode:i,scipEdges:g,graphFiles:m,sourceDependencyFingerprint:l}))})}function Sr(e,t,n,r){let i=[],a=[];for(let s of t)if(!(n&&!s.includes(n))){i.push(s);for(let o of ft(e,s))o.sourcePath&&a.push({fromFile:s,toFile:o.sourcePath});if(r==="imports-and-reexports")for(let o of gt(e,s))o.sourcePath&&a.push({fromFile:s,toFile:o.sourcePath})}return{files:i,edges:a,fingerprint:br(i,a)}}function br(e,t){let n=t.map(r=>`${r.fromFile}\0${r.toFile}`).sort();return $(JSON.stringify({files:e,edges:n}))}function Pr(e,t,n){return`edge-mode-v3:${t}:${n}:${e??"<all>"}`}function xr(e){return[...e].map(([t,n])=>[t,[...n]])}function Rr(e){return new Map(e.graph.map(([t,n])=>[t,new Set(n)]))}function vr(e){let t=JSON.parse(e);return Ir(t)?t:null}function Ir(e){if(!e||typeof e!="object")return!1;let t=e;return typeof t.sourceDependencyFingerprint=="string"&&typeof t.sourceFileCount=="number"&&typeof t.sourceEdgeCount=="number"&&typeof t.scipEdgeCount=="number"&&Array.isArray(t.graph)&&t.graph.every(Er)}function Er(e){return Array.isArray(e)&&e.length===2&&typeof e[0]=="string"&&Array.isArray(e[1])&&e[1].every(t=>typeof t=="string")}function Fr(e,t,n){let r=t?"AND d1.relative_path LIKE ?":"",i=t?[`%${t}%`]:[],a=n==="imports-only"?"AND m.role = 2":"AND m.role != 1";return e.all(`SELECT DISTINCT
2
2
  d1.relative_path AS from_file,
3
3
  d2.relative_path AS to_file
4
4
  FROM mentions m
@@ -16,7 +16,7 @@ import{a as ee,b as te}from"./chunk-XDVT7QPG.js";import{a as mt}from"./chunk-P5X
16
16
  WHERE d1.id != d2.id
17
17
  ${a}
18
18
  ${e.pathExclusionsFor("d1","d2")}
19
- ${r}`,...i)}function jr(e,t,n,r,i){if(r===i||e.isIgnored(r)||e.isIgnored(i)||!n.has(i))return;let a=t.get(r);a||(a=new Set,t.set(r,a)),a.add(i)}function ce(e){let t=oe(e.projectFiles),n=new Set(t),r=new Map(e.snapshot.files.map(u=>[u.path,u])),i=e.snapshot.files.filter(u=>{let g=V(u.path,["typescript"]);return g==="config"||g==="ambient"}).map(u=>u.path),a=oe([...t,...i]),s=a.find(u=>!r.has(u)),o=new Set(e.snapshot.files.map(u=>u.path)).size!==e.snapshot.files.length,d=!s&&a.some(u=>zt(r.get(u))),c=$(JSON.stringify({pnpmWorkspaces:e.snapshot.pnpmWorkspaces,typescriptProjectMode:e.snapshot.typescriptProjectMode,typescriptProjects:oe(e.snapshot.typescriptProjects),membership:t})),l=new Map;return{identityFor(u,g){if(!n.has(u))return A("target-outside-project");if(o)return A("duplicate-input-path");if(s)return A("missing-input-fingerprint");if(d)return A("unreadable-input");let m=[],p,S;if(e.graph===null)m.push("dependency-graph-unavailable"),S="whole-project",p=a;else{let h=Dr(u,e.graph,l);if(h.find(P=>!r.has(P)))return A("missing-input-fingerprint");if(p=oe([...h,...i]),p.some(P=>zt(r.get(P))))return A("unreadable-input");S="dependency-closure"}let b=p.map(h=>_r(r.get(h)));return{version:1,key:$(JSON.stringify({version:1,engineIdentity:e.engineIdentity,schemaVersion:g,projectIdentity:c,inputs:b})),mode:S,inputFiles:p,reasons:m}}}}function wr(e,t){let n=new Set,r=[e];for(let i=0;i<r.length;i+=1){let a=r[i];if(!(a===void 0||n.has(a))){n.add(a);for(let s of[...t.get(a)??[]].sort())n.has(s)||r.push(s)}}return[...n].sort()}function Dr(e,t,n){let r=n.get(e);if(r)return r;let i=wr(e,t);return n.set(e,i),i}function _r(e){return{path:e.path,size:e.size,hash:e.hash}}function zt(e){return e.size<0||e.hash==="unreadable"}function A(e){return{version:1,key:null,mode:"unkeyed",inputFiles:[],reasons:[e]}}function oe(e){return[...new Set(e)].sort()}var Cs=dt("typescript-semantic-identity-context",{clearGroups:["whole-project"]});function Xt(e){return w(e,{includeIgnored:!1}).filter(G).sort()}var Tr="typescript-reference-fragment-v2",kr=ut({kind:"typescript-reference-fragments",invalidation:Z("typescript-reference-fragments"),serialize:e=>JSON.stringify(e),deserialize:Or});function Qt(e,t,n,r=e){let i=Xt(e),a=ce({projectFiles:i,snapshot:t,graph:N(e),engineIdentity:St()}),s=[...n].map(([o,d])=>({relativePath:o,contentHash:a.identityFor(o,Tr).key,value:[...d]}));if(s.some(o=>o.contentHash===null))throw new Error("TypeScript reference fragment identity is unavailable for an affected document.");return kr.writeBatch(r,s.map(o=>({...o,contentHash:o.contentHash}))),s.length}function Or(e){try{let t=JSON.parse(e);return!Array.isArray(t)||!t.every(Mr)?null:t}catch{return null}}function Mr(e){if(!e||typeof e!="object")return!1;let t=e,n=t.location;return typeof t.targetSymbol=="string"&&!!n&&typeof n.file=="string"&&typeof n.line=="number"&&typeof n.column=="number"}import{createHash as Ar}from"crypto";import{appendFileSync as Lr,existsSync as Cr,mkdirSync as $r,readFileSync as Vs}from"fs";import{dirname as Zt,join as Yt}from"path";function je(e){let t=new Set;for(let n of e.uncertainty)t.add(n);e.projectIdentityChanged&&t.add("project-identity-changed");for(let n of e.changes)n.kind==="added"&&t.add("file-added"),n.kind==="deleted"&&t.add("file-deleted"),n.inputKind==="config"&&t.add("configuration-changed"),n.inputKind==="ambient"&&t.add("ambient-declaration-changed"),n.inputKind==="other"&&t.add("unclassified-input");return{fullProject:t.size>0,reasons:[...t].sort()}}function de(e,t,n){let r=e.changes.map(o=>o.path).sort();if(r.length===0&&!e.projectIdentityChanged&&e.uncertainty.length===0)return{mode:"none",changedFiles:r,affectedFiles:[],reasons:[]};let i=new Set(n),a=je(e),s=new Set(a.reasons);return r.some(o=>!i.has(o))&&s.add("changed-file-outside-project"),t===null?(s.add("dependency-graph-unavailable"),Vt(r,i,s)):s.size>0?Vt(r,i,s):{mode:"closure",changedFiles:r,affectedFiles:Nr(r,t,i),reasons:[]}}function Vt(e,t,n){return{mode:"full-project",changedFiles:e,affectedFiles:[...t].sort(),reasons:[...n].sort()}}function Nr(e,t,n){let r=new Map;for(let[s,o]of t)if(n.has(s))for(let d of o){if(!n.has(d))continue;let c=r.get(d)??new Set;c.add(s),r.set(d,c)}let i=new Set(e),a=[...e];for(let s=0;s<a.length;s+=1){let o=a[s];if(o!==void 0)for(let d of r.get(o)??[])i.has(d)||(i.add(d),a.push(d))}return[...i].sort()}var Br="<global-symbols>";function Gr(e){let t=[];for(let n of e.all(`
19
+ ${r}`,...i)}function jr(e,t,n,r,i){if(r===i||e.isIgnored(r)||e.isIgnored(i)||!n.has(i))return;let a=t.get(r);a||(a=new Set,t.set(r,a)),a.add(i)}function ce(e){let t=oe(e.projectFiles),n=new Set(t),r=new Map(e.snapshot.files.map(u=>[u.path,u])),i=e.snapshot.files.filter(u=>{let g=V(u.path,["typescript"]);return g==="config"||g==="ambient"}).map(u=>u.path),a=oe([...t,...i]),s=a.find(u=>!r.has(u)),o=new Set(e.snapshot.files.map(u=>u.path)).size!==e.snapshot.files.length,d=!s&&a.some(u=>zt(r.get(u))),c=$(JSON.stringify({pnpmWorkspaces:e.snapshot.pnpmWorkspaces,typescriptProjectMode:e.snapshot.typescriptProjectMode,typescriptProjects:oe(e.snapshot.typescriptProjects),membership:t})),l=new Map;return{identityFor(u,g){if(!n.has(u))return A("target-outside-project");if(o)return A("duplicate-input-path");if(s)return A("missing-input-fingerprint");if(d)return A("unreadable-input");let m=[],p,S;if(e.graph===null)m.push("dependency-graph-unavailable"),S="whole-project",p=a;else{let h=Dr(u,e.graph,l);if(h.find(P=>!r.has(P)))return A("missing-input-fingerprint");if(p=oe([...h,...i]),p.some(P=>zt(r.get(P))))return A("unreadable-input");S="dependency-closure"}let b=p.map(h=>_r(r.get(h)));return{version:1,key:$(JSON.stringify({version:1,engineIdentity:e.engineIdentity,schemaVersion:g,projectIdentity:c,inputs:b})),mode:S,inputFiles:p,reasons:m}}}}function wr(e,t){let n=new Set,r=[e];for(let i=0;i<r.length;i+=1){let a=r[i];if(!(a===void 0||n.has(a))){n.add(a);for(let s of[...t.get(a)??[]].sort())n.has(s)||r.push(s)}}return[...n].sort()}function Dr(e,t,n){let r=n.get(e);if(r)return r;let i=wr(e,t);return n.set(e,i),i}function _r(e){return{path:e.path,size:e.size,hash:e.hash}}function zt(e){return e.size<0||e.hash==="unreadable"}function A(e){return{version:1,key:null,mode:"unkeyed",inputFiles:[],reasons:[e]}}function oe(e){return[...new Set(e)].sort()}var Ls=dt("typescript-semantic-identity-context",{clearGroups:["whole-project"]});function Xt(e){return w(e,{includeIgnored:!1}).filter(G).sort()}var Tr="typescript-reference-fragment-v2",kr=ut({kind:"typescript-reference-fragments",invalidation:Z("typescript-reference-fragments"),serialize:e=>JSON.stringify(e),deserialize:Or});function Qt(e,t,n,r=e){let i=Xt(e),a=ce({projectFiles:i,snapshot:t,graph:N(e),engineIdentity:St()}),s=[...n].map(([o,d])=>({relativePath:o,contentHash:a.identityFor(o,Tr).key,value:[...d]}));if(s.some(o=>o.contentHash===null))throw new Error("TypeScript reference fragment identity is unavailable for an affected document.");return kr.writeBatch(r,s.map(o=>({...o,contentHash:o.contentHash}))),s.length}function Or(e){try{let t=JSON.parse(e);return!Array.isArray(t)||!t.every(Mr)?null:t}catch{return null}}function Mr(e){if(!e||typeof e!="object")return!1;let t=e,n=t.location;return typeof t.targetSymbol=="string"&&!!n&&typeof n.file=="string"&&typeof n.line=="number"&&typeof n.column=="number"}import{createHash as Ar}from"crypto";import{appendFileSync as Lr,existsSync as Cr,mkdirSync as $r,readFileSync as Qs}from"fs";import{dirname as Zt,join as Yt}from"path";function je(e){let t=new Set;for(let n of e.uncertainty)t.add(n);e.projectIdentityChanged&&t.add("project-identity-changed");for(let n of e.changes)n.kind==="added"&&t.add("file-added"),n.kind==="deleted"&&t.add("file-deleted"),n.inputKind==="config"&&t.add("configuration-changed"),n.inputKind==="ambient"&&t.add("ambient-declaration-changed"),n.inputKind==="other"&&t.add("unclassified-input");return{fullProject:t.size>0,reasons:[...t].sort()}}function de(e,t,n){let r=e.changes.map(o=>o.path).sort();if(r.length===0&&!e.projectIdentityChanged&&e.uncertainty.length===0)return{mode:"none",changedFiles:r,affectedFiles:[],reasons:[]};let i=new Set(n),a=je(e),s=new Set(a.reasons);return r.some(o=>!i.has(o))&&s.add("changed-file-outside-project"),t===null?(s.add("dependency-graph-unavailable"),Vt(r,i,s)):s.size>0?Vt(r,i,s):{mode:"closure",changedFiles:r,affectedFiles:Nr(r,t,i),reasons:[]}}function Vt(e,t,n){return{mode:"full-project",changedFiles:e,affectedFiles:[...t].sort(),reasons:[...n].sort()}}function Nr(e,t,n){let r=new Map;for(let[s,o]of t)if(n.has(s))for(let d of o){if(!n.has(d))continue;let c=r.get(d)??new Set;c.add(s),r.set(d,c)}let i=new Set(e),a=[...e];for(let s=0;s<a.length;s+=1){let o=a[s];if(o!==void 0)for(let d of r.get(o)??[])i.has(d)||(i.add(d),a.push(d))}return[...i].sort()}var Br="<global-symbols>";function Gr(e){let t=[];for(let n of e.all(`
20
20
  SELECT relative_path, language, position_encoding, text
21
21
  FROM documents
22
22
  `))t.push({relativePath:n.relative_path,kind:"document",values:[n.language,n.position_encoding,n.text]});for(let n of e.all(`
@@ -246,13 +246,13 @@ import{a as ee,b as te}from"./chunk-XDVT7QPG.js";import{a as mt}from"./chunk-P5X
246
246
  ORDER BY d.relative_path, c.chunk_index, m.role, g.symbol`).all(),d=new Map;for(let[l,u]of Object.entries({documents:i,chunks:a,definitions:s,mentions:o}))for(let g of u){let m=JSON.stringify([l,g]),p=d.get(g.relative_path)??[];p.push(m),d.set(g.relative_path,p)}let c=new Map;for(let[l,u]of[...d].sort(([g],[m])=>g.localeCompare(m))){let g=Yr("sha256");for(let m of u.sort())g.update(m).update(`
247
247
  `);c.set(l,g.digest("hex"))}return c}function D(e,t){return e.prepare(t).get().value}import{createHash as fi}from"crypto";import{existsSync as Ne,readFileSync as mi,readdirSync as hi}from"fs";import{dirname as Ae,join as ue,relative as yi,resolve as Le,sep as pn}from"path";function gn(e,t){let n=t.includes("."),r={};for(let a of t)r[a]=[];let i=[];for(let a of e){let s=yn(a.path,t);s?r[s].push(a):n?r["."].push(a):i.push(a)}return{files:r,shared:i}}function fn(e,t){let n=new Map;for(let i of e){let a=t[i]?.packageName;a&&n.set(a,i)}let r=new Map;for(let i of e)r.set(i,new Set);for(let i of e){let a=t[i],s=r.get(i);if(!a||a.parseFailed){for(let o of e)o!==i&&s.add(o);continue}for(let o of a.dependencyNames){let d=n.get(o);d&&d!==i&&s.add(d)}for(let o of[...a.pathsTargets,...a.referencesPaths]){let d=yn(o,e);d&&d!==i&&s.add(d)}}return Si(e,r)}function mn(e,t,n){let r={};for(let i of e){let a=new Map;for(let s of t.files[i]??[])a.set(s.path,s);for(let s of n[i]??[])for(let o of t.files[s]??[])a.set(o.path,o);for(let s of t.shared)a.set(s.path,s);r[i]={files:[...a.values()].sort((s,o)=>s.path.localeCompare(o.path))}}return r}function Ce(e){if(e===".")return"root";let t=fi("sha256").update(e).digest("hex").slice(0,8);return`${e.split("/").join("__")}-${t}`}function hn(e,t){let n=Le(e),r={};for(let i of t)r[i]=bi(n,i);return r}function yn(e,t){let n;for(let r of t)r!=="."&&(e===r||e.startsWith(`${r}/`))&&(!n||r.length>n.length)&&(n=r);return n}function Si(e,t){let n={};for(let r of e){let i=new Set,a=[...t.get(r)??[]];for(;a.length>0;){let s=a.pop();if(!(s===r||i.has(s))){i.add(s);for(let o of t.get(s)??[])o!==r&&!i.has(o)&&a.push(o)}}n[r]=[...i].sort((s,o)=>s.localeCompare(o))}return n}function bi(e,t){let n=t==="."?e:ue(e,t),r=Pi(n),i=xi(n),a=i?Ri(i,e):{pathsTargets:[],referencesPaths:[],failed:!1};return{packageName:r.name,dependencyNames:r.dependencyNames,pathsTargets:a.pathsTargets,referencesPaths:a.referencesPaths,parseFailed:r.failed||a.failed}}function Pi(e){let t=ue(e,"package.json");if(!Ne(t))return{name:void 0,dependencyNames:[],failed:!1};let n=$e(t);if(!n.ok)return{name:void 0,dependencyNames:[],failed:!0};let r=typeof n.value.name=="string"?n.value.name:void 0,i=new Set;for(let a of["dependencies","devDependencies","peerDependencies"]){let s=n.value[a];if(s&&typeof s=="object"&&!Array.isArray(s))for(let o of Object.keys(s))i.add(o)}return{name:r,dependencyNames:[...i],failed:!1}}function xi(e){let t=ue(e,"tsconfig.json");if(Ne(t))return t;let n;try{n=hi(e).filter(r=>/^tsconfig.*\.json$/.test(r))}catch{return}return n.sort((r,i)=>r.localeCompare(i)),n.length>0?ue(e,n[0]):void 0}function Ri(e,t){let n=$e(e);if(!n.ok)return{pathsTargets:[],referencesPaths:[],failed:!0};let r=vi(n.value,e,t),i=Sn(e,n.value,t,0);return{pathsTargets:i.pathsTargets,referencesPaths:r,failed:i.failed}}function vi(e,t,n){let r=e.references;if(!Array.isArray(r))return[];let i=Ae(t),a=new Set;for(let s of r){if(!s||typeof s!="object")continue;let o=s.path;if(typeof o!="string"||o.trim()==="")continue;let d=bn(o,i,n);d&&a.add(d)}return[...a]}function Sn(e,t,n,r){let i=Ii(t);if(i)return{pathsTargets:Ei(i,Ae(e),n),failed:!1};if(r>=5)return{pathsTargets:[],failed:!1};let a=Fi(t.extends,e,n);if(!a)return{pathsTargets:[],failed:!1};let s=$e(a);return s.ok?Sn(a,s.value,n,r+1):{pathsTargets:[],failed:!0}}function Ii(e){let t=e.compilerOptions;if(!t||typeof t!="object"||Array.isArray(t))return;let n=t.paths;return n&&typeof n=="object"&&!Array.isArray(n)?n:void 0}function Ei(e,t,n){let r=new Set;for(let i of Object.values(e))if(Array.isArray(i))for(let a of i){if(typeof a!="string")continue;let s=bn(a,t,n);s&&r.add(s)}return[...r]}function Fi(e,t,n){let r=Array.isArray(e)?e.at(-1):e;if(typeof r!="string"||r.trim()===""||!r.startsWith(".")&&!r.startsWith("/"))return;let i=Le(Ae(t),r);if(i.endsWith(".json")||(i=`${i}.json`),!i.split(pn).includes("node_modules")&&B(n,i)&&Ne(i))return i}function bn(e,t,n){let r=e.replace(/\/?\*+$/,""),i=Le(t,r===""?".":r);if(!B(n,i))return;let s=yi(n,i).split(pn).join("/");return s===""?".":s}function ji(e){let t="",n=0,r=!1,i=e.length;for(;n<i;){let a=e[n];if(r){if(t+=a,a==="\\"&&n+1<i){t+=e[n+1],n+=2;continue}a==='"'&&(r=!1),n+=1;continue}if(a==='"'){r=!0,t+=a,n+=1;continue}if(a==="/"&&e[n+1]==="/"){for(n+=2;n<i&&e[n]!==`
248
248
  `;)n+=1;continue}if(a==="/"&&e[n+1]==="*"){for(n+=2;n<i&&!(e[n]==="*"&&e[n+1]==="/");)n+=1;n+=2;continue}t+=a,n+=1}return t}function $e(e){try{let t=mi(e,"utf-8"),n=JSON.parse(ji(t));return n&&typeof n=="object"&&!Array.isArray(n)?{ok:!0,value:n}:{ok:!1}}catch{return{ok:!1}}}import{existsSync as wi,readFileSync as Di,readdirSync as _i,statSync as Ti}from"fs";import x from"path";var ki=new Set([".cache",".git",".next",".nuxt",".turbo",".nx","build","coverage","dist","node_modules","tmp","vendor"]);function W(e,t=[]){let n=x.resolve(e),r=t.flatMap(d=>Mi(n,d));if(r.length>0)return Pn(n,xn(r));let i=Oi(n),a=xn(i),s=Ai(n,a)?[n,...a]:a,o=s.length>0?s:[n];return Pn(n,o)}function Pn(e,t){return[...new Set(t.map(n=>Ci(e,n)))].sort((n,r)=>n.localeCompare(r))}function Oi(e){let t=[],n=[e];for(;n.length>0;){let r=n.pop(),i;try{i=_i(r,{withFileTypes:!0})}catch{continue}for(let a of i){let s=x.join(r,a.name);if(a.isDirectory()){!ki.has(a.name)&&!a.name.startsWith(".")&&n.push(s);continue}a.isFile()&&Ni(s)&&t.push(x.dirname(s))}}return t}function Mi(e,t){let n=t.trim();if(!n)return[];let r=x.resolve(e,n);if(!B(e,r))return[];try{let i=Ti(r);if(i.isDirectory())return[r];if(i.isFile()&&Rn(x.basename(r)))return[x.dirname(r)]}catch{return[]}return[]}function Ni(e){if(!Rn(x.basename(e)))return!1;let t=vn(e);return t?x.basename(e)==="tsconfig.json"||"include"in t||"files"in t||"references"in t:!1}function Rn(e){return e.startsWith("tsconfig")&&e.endsWith(".json")}function xn(e){let t=[...new Set(e.map(n=>x.resolve(n)))].sort((n,r)=>n.localeCompare(r));return t.length<=1?t:t.filter(n=>!t.some(r=>r!==n&&$i(n,r)))}function Ai(e,t){if(t.length===0||t.some(r=>x.resolve(r)===e))return!1;let n=x.join(e,"tsconfig.json");return wi(n)&&Li(n)}function Li(e){let n=vn(e)?.include;return Array.isArray(n)?n.some(r=>typeof r=="string"&&r.trim()!==""&&!r.startsWith("!")&&(r.includes("/")||r.includes("**")||!x.extname(r))):!1}function vn(e){try{let t=JSON.parse(Di(e,"utf-8"));return t&&typeof t=="object"&&!Array.isArray(t)?t:null}catch{return null}}function Ci(e,t){let n=x.relative(e,t);return n?n.split(x.sep).join("/"):"."}function $i(e,t){let n=x.relative(e,t);return!!n&&!n.startsWith("..")&&!x.isAbsolute(n)}import{createHash as Yi}from"crypto";import{existsSync as Be,readFileSync as Tn,statSync as Ki,writeFileSync as Ge}from"fs";import{join as Zi}from"path";import{randomUUID as Bi}from"crypto";import{existsSync as Gi,mkdirSync as In,readFileSync as Ui,rmSync as En}from"fs";import{resolve as Fn}from"path";var Ji=12e4,Wi=5,pe=class{projectRoot;cacheDir;baseGeneration;timeoutMs;runtime;constructor(t,n={}){this.projectRoot=rt(t.projectRoot),this.cacheDir=t.cacheDir,this.baseGeneration=t.baseGeneration,this.timeoutMs=n.timeoutMs??Qi(),this.runtime=n.runtime??Vi}request(t){let n=yt(this.cacheDir),r=At(this.cacheDir),i=xe(n.statePath);if(!jn(i,this.projectRoot,this.runtime))throw new Error("Compatible TypeScript index service is not running.");let a=this.runtime.randomId(),s=Fn(r.requestDir,`${a}.json`),o=Fn(r.responseDir,`${a}.json`),d=this.runtime.now()+this.timeoutMs;In(r.requestDir,{recursive:!0}),In(r.responseDir,{recursive:!0}),O(s,{protocolVersion:ie,id:a,baseGeneration:this.baseGeneration,deadlineAtMs:d,request:t});try{for(;this.runtime.now()<=d;){if(Gi(o))return Hi(Ui(o,"utf8"),a,this.baseGeneration,t.producerIdentity,t.affectedFiles);let c=xe(n.statePath);if(!jn(c,this.projectRoot,this.runtime))throw new Error("TypeScript index service stopped while processing a request.");this.runtime.sleep(Wi)}throw new Error(`TypeScript index service timed out after ${this.timeoutMs}ms.`)}finally{En(s,{force:!0}),En(o,{force:!0})}}};function jn(e,t,n){let r=e!==null&&n.now()-Date.parse(e.heartbeatAt)<=ht,i=e?.typescriptIndex?.busyUntil!==void 0&&n.now()<=Date.parse(e.typescriptIndex.busyUntil);return e!==null&&e.projectRoot===t&&e.typescriptIndex?.protocolVersion===ie&&n.isProcessAlive(e.pid)&&(r||i)}function Hi(e,t,n,r,i){let a=JSON.parse(e);if(a.protocolVersion!==ie||a.id!==t||a.ok===!0&&a.baseGeneration!==n)throw new Error("TypeScript index service wrote an incompatible response.");if(a.ok!==!0)throw new Error(typeof a.error=="string"?a.error:"TypeScript index service request failed.");let s=qi(a.response,r),o=[...new Set(i)].sort(),d=s.fragments.map(c=>c.relativePath).sort();if(JSON.stringify(d)!==JSON.stringify(o))throw new Error("TypeScript index service omitted or added an affected document.");return s}function qi(e,t){if(!e||typeof e!="object")throw new Error("TypeScript index service wrote an invalid response.");let n=e;if(n.producerIdentity!==t||typeof n.cold!="boolean"||typeof n.durationMs!="number"||!Number.isFinite(n.durationMs)||!Array.isArray(n.fragments))throw new Error("TypeScript index service wrote an invalid response.");let r=new Set,i=n.fragments.map(a=>{if(!a||typeof a.relativePath!="string"||a.bytesBase64!==null&&typeof a.bytesBase64!="string"||typeof a.occurrences!="number"||!Number.isInteger(a.occurrences)||a.occurrences<0||typeof a.symbols!="number"||!Number.isInteger(a.symbols)||a.symbols<0||!Array.isArray(a.referenceFragments)||!a.referenceFragments.every(zi)||r.has(a.relativePath))throw new Error("TypeScript index service wrote an invalid fragment.");r.add(a.relativePath);let s=a.bytesBase64===null?null:Xi(a.bytesBase64);return{relativePath:a.relativePath,bytes:s,occurrences:a.occurrences,symbols:a.symbols,referenceFragments:a.referenceFragments}});return{producerIdentity:n.producerIdentity,cold:n.cold,durationMs:n.durationMs,fragments:i}}function zi(e){if(!e||typeof e!="object")return!1;let t=e;return typeof t.targetSymbol=="string"&&!!t.location&&typeof t.location.file=="string"&&Number.isInteger(t.location.line)&&Number.isInteger(t.location.column)}function Xi(e){let t=Buffer.from(e,"base64");if(t.toString("base64")!==e)throw new Error("TypeScript index service wrote invalid base64.");return t}function Qi(){let e=Number(process.env.SCIP_TYPESCRIPT_INDEX_TIMEOUT_MS);return Number.isInteger(e)&&e>0?e:Ji}var Vi={now:Date.now,randomId:Bi,sleep(e){let t=new Int32Array(new SharedArrayBuffer(4));Atomics.wait(t,0,0,e)},isProcessAlive:k};function ea(e){let t=e.projectMode==="workspace"?e.workspaceProjects??[]:["."];if(t.length===0)return{eligible:!1,reason:"workspace project roots unavailable"};if(t.length===1&&t[0]==="."&&!e.rootTsconfigExists)return{eligible:!1,reason:"root tsconfig unavailable"};if(!e.previousSnapshot)return{eligible:!1,reason:"prior project snapshot unavailable"};if(e.graph===null)return{eligible:!1,reason:"dependency graph unavailable"};if(e.projectFiles.length===0)return{eligible:!1,reason:"prior TypeScript documents unavailable"};let n=Y(e.previousSnapshot,e.currentSnapshot);if(n.changes.length===0)return{eligible:!1,reason:"no changed project inputs"};if(n.changes.some(c=>c.kind!=="modified"||c.inputKind!=="source"||!G(c.path)))return{eligible:!1,reason:"change is not a modified TypeScript source file"};let r=de(n,e.graph,e.projectFiles);if(r.mode!=="closure"||r.affectedFiles.length===0)return{eligible:!1,reason:r.reasons.length>0?`affected set widened: ${r.reasons.join(", ")}`:"empty affected set"};let i=ta([...r.changedFiles,...r.affectedFiles],t);if(!i)return{eligible:!1,reason:"affected files cross or ambiguously match TypeScript projects"};let a=wn(e.currentSnapshot,e.projectFiles,e.producerIdentity),s=wn(e.previousSnapshot,e.projectFiles,e.producerIdentity);if(a!==s)return{eligible:!1,reason:"TypeScript fragment project identity changed"};let o=_n(e.previousSnapshot,e.projectFiles,e.graph,e.producerIdentity,e.projectFiles);if(!o)return{eligible:!1,reason:"prior document identity unavailable"};let d=_n(e.currentSnapshot,e.projectFiles,e.graph,e.producerIdentity,r.affectedFiles);return d?{eligible:!0,manifest:n,plan:r,projectIdentity:a,previousFragmentGeneration:Dn(e.previousSnapshot,e.producerIdentity),nextFragmentGeneration:Dn(e.currentSnapshot,e.producerIdentity),previousDocumentIdentities:o,nextDocumentIdentities:d,tsconfigPath:i==="."?"tsconfig.json":`${i}/tsconfig.json`,projectArgument:i}:{eligible:!1,reason:"next document identity unavailable"}}function ta(e,t){let n=null;for(let r of e){let i=t.filter(a=>a==="."||r===a||r.startsWith(`${a}/`));if(i.length!==1||n!==null&&n!==i[0])return null;n=i[0]}return n}function kn(e){let t=Date.now();try{if(!Be(e.previousDbPath)||!Be(e.previousShardPath))throw new Error("prior TypeScript graph or language shard unavailable");let n=performance.now(),r=Ie();if(!r.available)throw new Error(r.reason);let i=performance.now()-n;n=performance.now();let a=new T({projectRoot:e.projectRoot,dbPath:e.previousDbPath,indexPath:e.previousIndexPath}),s,o;try{s=w(a,{includeIgnored:!1}).filter(G).sort(),o=N(a)}finally{a.close()}let d=performance.now()-n,c=ea({projectMode:e.projectMode,workspaceProjects:e.projectMode==="workspace"?W(e.projectRoot,e.currentSnapshot.typescriptProjects):void 0,previousSnapshot:e.previousSnapshot,currentSnapshot:e.currentSnapshot,projectFiles:s,graph:o,producerIdentity:r.producerIdentity,rootTsconfigExists:Be(Zi(e.projectRoot,"tsconfig.json"))});if(!c.eligible)throw new Error(c.reason);let l=Lt(e.previousDbPath);if(!l)throw new Error("published TypeScript base generation unavailable");n=performance.now();let g=new pe({projectRoot:e.projectRoot,cacheDir:e.cacheDir,baseGeneration:l}).request({kind:"emit-documents",tsconfigPath:c.tsconfigPath,projectArgument:c.projectArgument,projectIdentity:c.projectIdentity,producerIdentity:r.producerIdentity,modifiedFiles:c.plan.changedFiles,affectedFiles:c.plan.affectedFiles}),m=performance.now()-n,p=Ki(e.previousShardPath).size>=jt;n=performance.now();let S=p?null:Tn(e.previousShardPath),b=p?{completeIndexBytes:null,affectedIndexBytes:vt(g.fragments)}:Ft({packageVersion:r.packageVersion,baseIndexBytes:S,fragments:g.fragments}),f=performance.now()-n;n=performance.now(),p?wt({cacheDir:e.cacheDir,previousGenerationIdentity:c.previousFragmentGeneration,nextGenerationIdentity:c.nextFragmentGeneration,producerIdentity:r.producerIdentity,projectIdentity:c.projectIdentity,baseShardCurrent:e.baseShardCurrent,fragments:g.fragments}):(It({cacheDir:e.cacheDir,packageVersion:r.packageVersion,indexBytes:S,producerIdentity:r.producerIdentity,projectIdentity:c.projectIdentity,generationIdentity:c.previousFragmentGeneration,documentIdentities:c.previousDocumentIdentities,allowUntrackedDocuments:!0}),Et({cacheDir:e.cacheDir,previousGenerationIdentity:c.previousFragmentGeneration,producerIdentity:r.producerIdentity,projectIdentity:c.projectIdentity,generationIdentity:c.nextFragmentGeneration,fragments:g.fragments,documentIdentities:c.nextDocumentIdentities}));let h=performance.now()-n;n=performance.now(),b.completeIndexBytes&&Ge(e.candidateShardPath,b.completeIndexBytes),Ge(e.candidateAffectedScipPath,b.affectedIndexBytes);let v=performance.now()-n,P={scipPath:p?e.previousShardPath:e.candidateShardPath,candidateScipPath:e.candidateShardPath,affectedScipPath:e.candidateAffectedScipPath,completeScipUpdated:!p,durationMs:Date.now()-t,cold:g.cold,changedFiles:c.plan.changedFiles,affectedFiles:c.plan.affectedFiles,producerIdentity:r.producerIdentity,previousFragmentGeneration:c.previousFragmentGeneration,nextFragmentGeneration:c.nextFragmentGeneration,manifest:c.manifest,plan:c.plan,projectFileCount:s.length,referenceFragmentsByFile:new Map(g.fragments.map(Q=>[Q.relativePath,Q.referenceFragments])),timings:{runtimeMs:i,graphMs:d,requestMs:m,serviceMs:g.durationMs,assemblyMs:f,fragmentStoreMs:h,writeMs:v}};return e.onStatus(`Incremental TypeScript index emitted ${P.affectedFiles.length} affected document(s) in ${(P.durationMs/1e3).toFixed(3)}s (${P.cold?"cold":"warm"} service; ${p?"whole SCIP deferred":"whole SCIP current"}; runtime ${i.toFixed(0)}ms, graph ${d.toFixed(0)}ms, request ${m.toFixed(0)}ms, assembly ${f.toFixed(0)}ms, fragments ${h.toFixed(0)}ms, write ${v.toFixed(0)}ms).`),P}catch(n){return e.onStatus(`Incremental TypeScript index unavailable: ${n instanceof Error?n.message:String(n)}. Falling back to the whole-project indexer.`),null}}function On(e){let t=Ie();if(!t.available)throw new Error(t.reason);let n=Dt({cacheDir:e.cacheDir,generationIdentity:e.generationIdentity,baseIndexBytes:Tn(e.baseShardPath),packageVersion:t.packageVersion});Ge(e.candidateShardPath,n)}function wn(e,t,n){let r=e.files.filter(i=>V(i.path,e.languages)!=="source").map(i=>({path:i.path,size:i.size,hash:i.hash})).sort((i,a)=>i.path.localeCompare(a.path));return Ue(JSON.stringify({version:1,producerIdentity:n,pnpmWorkspaces:e.pnpmWorkspaces,typescriptProjectMode:e.typescriptProjectMode,typescriptProjects:[...e.typescriptProjects].sort(),projectFiles:[...t].sort(),nonSourceInputs:r}))}function Dn(e,t){return Ue(JSON.stringify({version:1,producerIdentity:t,snapshot:e}))}function _n(e,t,n,r,i){let a=new Set(e.files.map(d=>d.path)),s=ce({projectFiles:t.filter(d=>a.has(d)),snapshot:e,graph:n,engineIdentity:r}),o=new Map;for(let d of i){let c=s.identityFor(d,"typescript-scip-document-v1");if(c.key){o.set(d,c.key);continue}if(a.has(d))return null;o.set(d,Ue(JSON.stringify({version:1,producerIdentity:r,generatedDocument:d})))}return o}function Ue(e){return Yi("sha256").update(e).digest("hex")}import{execFile as na}from"child_process";import{existsSync as ge,renameSync as We,rmSync as He,statSync as ra}from"fs";import{cpus as ia}from"os";import{join as Mn}from"path";function aa(e,t,n){if(!e.defaultOutputPath)return;let r=Mn(t,e.defaultOutputPath);n!==r&&ge(r)&&We(r,n)}function sa(e,t,n){if(!e.defaultOutputPath)return null;let r=Mn(t,e.defaultOutputPath);if(r===n)return null;let i=`${n}.default-output-backup`;return He(i,{force:!0}),ge(r)?(We(r,i),{defaultOutputPath:r,backupPath:i}):{defaultOutputPath:r,backupPath:null}}function oa(e){e&&(He(e.defaultOutputPath,{force:!0}),e.backupPath&&ge(e.backupPath)&&We(e.backupPath,e.defaultOutputPath))}function ca(e,t){if(e<=1)return 1;let n=Number(process.env.SCIP_QUERY_INDEXER_CONCURRENCY??0),r=Number.isFinite(t)&&t&&t>0?t:Number.isFinite(n)&&n>0?n:Math.min(8,Math.max(1,ia().length));return Math.max(1,Math.min(e,Math.floor(r)))}async function Nn(e,t,n,r){let i=e.filter(c=>c.config.defaultOutputPath),a=e.filter(c=>!c.config.defaultOutputPath),s=[],o=ca(a.length,r),d=await la(a,o,c=>Je(c,t,n));if(o>1){let c=new Map;for(let l of d.filter(u=>u.skipped)){let u=a.find(g=>g.id===l.id);u&&(n(`Retrying ${u.label} indexer serially after parallel failure...`),c.set(u.id,await Je(u,t,n)))}s.push(...d.map(l=>c.get(l.id)??l))}else s.push(...d);for(let c of i)s.push(await Je(c,t,n));return s.sort((c,l)=>e.findIndex(u=>u.id===c.id)-e.findIndex(u=>u.id===l.id))}async function Je(e,t,n){n(`Indexing ${e.label} with ${e.resolvedBinary}...`),He(e.scipPath,{force:!0});let r=sa(e.config,t,e.scipPath),i=[e.binary,...e.args].join(" "),a=Date.now();try{let o=et(e.binary,e.args);await da(o.binary,o.args,{cwd:t,env:e.env,maxBuffer:50*1024*1024}),aa(e.config,t,e.scipPath)}catch(o){let d=o instanceof Error?o.message:String(o),c=`${e.resolvedBinary} indexer failed: ${d.split(`
249
- `)[0]}`,l=e.label===e.language?c:`${e.label}: ${c}`;return n(`Skipping ${e.label}: ${c}`),{id:e.id,language:e.language,label:e.label,scipPath:e.scipPath,outputScipPath:e.outputScipPath,durationMs:Date.now()-a,command:i,skipped:{language:e.language,reason:l}}}finally{oa(r)}if(!ge(e.scipPath)){let o=`${e.resolvedBinary} indexer completed but did not produce ${e.scipPath}`,d=e.label===e.language?o:`${e.label}: ${o}`;return n(`Skipping ${e.label}: ${o}`),{id:e.id,language:e.language,label:e.label,scipPath:e.scipPath,outputScipPath:e.outputScipPath,durationMs:Date.now()-a,command:i,skipped:{language:e.language,reason:d}}}let s;try{s=ra(e.scipPath).size}catch{s=void 0}return{id:e.id,language:e.language,label:e.label,scipPath:e.scipPath,outputScipPath:e.outputScipPath,durationMs:Date.now()-a,command:i,outputBytes:s}}function da(e,t,n){return new Promise((r,i)=>{na(e,[...t],n,a=>{a?i(a):r()})})}async function la(e,t,n){if(e.length===0)return[];let r=new Array(e.length),i=0,a=Math.max(1,Math.min(e.length,t)),s=Array.from({length:a},async()=>{for(;i<e.length;){let o=i++;r[o]=await n(e[o])}});return await Promise.all(s),r}import{execFileSync as ua}from"child_process";import{platform as pa}from"os";function An(e,t){let n=e.installMethods,r=se(e);if(!n?.length)return t(`No auto-install method available for ${r}.`),e.installUrl&&t(`Install manually from: ${e.installUrl}`),!1;for(let i of n)if(C(i.prerequisite)){t(`Installing ${r} via ${i.label}...`);try{ua(i.binary,i.args,{stdio:"inherit",timeout:3e5,env:process.env,shell:pa()==="win32"});let a=J(e);if(a){let s=a===e.indexerBinary?"":` (using ${a})`;return t(`Successfully installed ${r} via ${i.label}${s}`),!0}t(`${i.label} command completed but ${r} was not found on PATH`)}catch(a){let s=a instanceof Error?a.message:String(a);t(`${i.label} install failed: ${s}`)}}return t(`Could not auto-install ${r}.`),e.installUrl&&t(`Install manually from: ${e.installUrl}`),!1}async function Hn(e){let{projectRoot:t,maxHeapMb:n=8192,onStatus:r=console.log,skipAutoInstall:i=!1}=e,a=Ia(e),s=Date.now();me(y(a.outputScip),{recursive:!0}),me(y(a.outputDb),{recursive:!0});let o=e.languages??bt(t);if(o.length===0)throw new Error("No supported languages detected in this project. Looked for: tsconfig.json, Cargo.toml, go.mod, pyproject.toml, etc.");r(`Detected languages: ${o.join(", ")}`);let d=F("reindex.fingerprint",()=>rs(t,o,{pnpmWorkspaces:e.pnpmWorkspaces,typescriptProjectMode:e.typescriptProjectMode,typescriptProjects:e.typescriptProjects,clojureConfigPath:e.clojureConfigPath}),{languages:o.length}),c,l;if(e.skipIfUnchanged!==!1&&!Ot(t,a.outputDb)&&Ln(a.outputScip)===Ln(R(y(a.outputDb),"index.scip"))){let p=K(t);if(c=p?ne(p,d):void 0,c){let S=re(c);if(S){if(!va(a,d))try{Re({snapshot:c,manifest:S,targetCacheDir:y(a.outputDb),targetProjectRoot:t}),r(`Attached shared generation ${c.generationId.slice(0,12)}`)}catch(b){r(`Shared generation attach failed; continuing locally: ${ze(b)}`)}}else{let b=await Nt(c);if(b.kind==="owner")l=b.release;else if(b.kind==="generation-ready"){let f=re(c);if(f)try{Re({snapshot:c,manifest:f,targetCacheDir:y(a.outputDb),targetProjectRoot:t,action:"waited"}),r(`Attached shared generation ${c.generationId.slice(0,12)} after waiting`)}catch(h){r(`Shared generation attach failed after waiting; continuing locally: ${ze(h)}`)}}else r("Shared generation build lock timed out; continuing with an isolated local reindex")}}}let u=it(R(y(a.outputDb),"cache-lifecycle.lock"),{waitMs:3e4});if(!u)throw l?.(),new Error(`Could not acquire scip-query cache lifecycle lock for ${y(a.outputDb)}.`);let g;try{g=await L("reindex.lock",()=>Va(R(y(a.outputDb),"index.lock"),{projectRoot:t,trigger:e.trigger,onStatus:r}),{languages:o.length})}catch(p){throw u.release(),l?.(),p}let m=null;try{let p=null,S=F("reindex.reuse-check",()=>(p=Ea({opts:e,paths:a,languages:o,fingerprint:d,start:s,onStatus:r}),p),()=>({languages:o.length,reused:p!==null}));if(S)return Cn({snapshot:c,paths:a,projectRoot:t,fingerprint:d,onStatus:r}),S;await L("reindex.scip-cli-ready",()=>Ua(i,r));let b=ja(a);m=b.runDir;let f,h=await L("reindex.fresh",async()=>(f=await wa({opts:e,languages:o,projectRoot:t,paths:a,tempPaths:b,fingerprint:d,start:s,maxHeapMb:n,skipAutoInstall:i,onStatus:r}),f),()=>({languages:o.length,reused:f?.reused,skipped:f?.skipped.length}));return Cn({snapshot:c,paths:a,projectRoot:t,fingerprint:d,onStatus:r}),h}catch(p){throw tr(a.metaPath,be({trigger:e.trigger,result:"failed",start:s,error:p instanceof Error?p.message:String(p)})),p}finally{m&&_(m,{recursive:!0,force:!0}),g(),u.release(),l?.()}}function Cn(e){if(e.snapshot){if(re(e.snapshot)){ve(e.snapshot,y(e.paths.outputDb),"local-fresh");return}try{let t=K(e.projectRoot),n=t?ne(t,e.fingerprint):void 0;if(!n||n.generationId!==e.snapshot.generationId){e.onStatus("Skipped shared generation publication because the worktree changed during indexing");return}Mt({snapshot:e.snapshot,sourceCacheDir:y(e.paths.outputDb),sourceProjectRoot:e.projectRoot,sourceStillValid:()=>{let r=K(e.projectRoot);return(r?ne(r,e.fingerprint):void 0)?.generationId===e.snapshot?.generationId}}),ve(e.snapshot,y(e.paths.outputDb),"built"),e.onStatus(`Published shared generation ${e.snapshot.generationId.slice(0,12)}`)}catch(t){e.onStatus(`Shared generation publication failed; local index remains valid: ${ze(t)}`)}}}function va(e,t){if(!E(e.outputScip)||!E(e.outputDb)||!er(e.metaPath,t))return!1;let n=U(e.outputDb,e.metaPath);return n.state!=="invalid"&&n.state!=="drifted"}function ze(e){return e instanceof Error?e.message:String(e)}function Ia(e){let t=e.outputScip??R(e.projectRoot,"index.scip"),n=e.outputDb??R(e.projectRoot,"index.db");return{outputScip:t,outputDb:n,metaPath:R(y(n),"meta.json")}}function Ea(e){let t=U(e.paths.outputDb,e.paths.metaPath);if(e.opts.skipIfUnchanged===!1||!E(e.paths.outputScip)||!E(e.paths.outputDb)||!er(e.paths.metaPath,e.fingerprint)||t.state==="invalid"||t.state==="drifted")return null;te(ee(),{projectRoot:e.opts.projectRoot,dbPath:e.paths.outputDb,onStatus:e.onStatus});let n=Date.now()-e.start,r=be({trigger:e.opts.trigger,result:"reused",start:e.start,languages:e.languages,skipped:[]});return tr(e.paths.metaPath,r),e.onStatus(`Index unchanged; reused existing SQLite index in ${(n/1e3).toFixed(1)}s`),{languages:e.languages,indexPath:e.paths.outputScip,dbPath:e.paths.outputDb,durationMs:n,reused:!0,skipped:[],lastRefresh:r,shards:Fa(e.paths,e.opts.projectRoot,e.languages,e.opts)}}function Fa(e,t,n,r){let i=Kn(t,n,r);return n.map(a=>({id:a,language:a,reused:!0,fingerprint:H(i[a]),outputBytes:q(Qe(e.outputDb,a)),durationMs:0}))}function ja(e){let t=ha(R(y(e.outputDb),"reindex-"));return{runDir:t,tempOutputScip:R(t,fe(e.outputScip)),tempOutputDb:R(t,fe(e.outputDb)),tempMetaPath:R(t,fe(e.metaPath))}}async function wa(e){let t={...process.env,NODE_OPTIONS:`--max-old-space-size=${e.maxHeapMb}`},n,r=await L("reindex.language-indexers",async()=>(n=await _a(e,t),n),()=>({languages:e.languages.length,indexed:n?.indexedOutputs.length,reused:n?.reusedLanguages.length,skipped:n?.skippedLanguages.length})),{indexedOutputs:i,skippedLanguages:a,reusedLanguages:s,languageFingerprints:o,shards:d,typescriptProjectShardContext:c,incrementalTypeScript:l}=r;if(s.length>0&&e.onStatus(`Reused ${s.length} cached language shard(s): ${s.join(", ")}`),Da({run:e,indexedOutputs:i,skippedLanguages:a,reusedLanguages:s})){let m=F("reindex.publish",()=>$a(e,i,a,s,o,c),{mode:"metadata-only",languages:i.length,reused:s.length}),p=m.durationMs;return e.onStatus(`All language shards unchanged; reused existing SQLite index in ${(p/1e3).toFixed(1)}s`),{languages:i.map(S=>S.language),indexPath:e.paths.outputScip,dbPath:e.paths.outputDb,durationMs:p,reused:!0,skipped:a,lastRefresh:m,shards:d}}let u=F("reindex.publish",()=>Ca(e,t,i,a,s,o,c,l),{mode:l?"incremental-or-fallback":"full",languages:i.length,reused:s.length,skipped:a.length}),g=u.durationMs;return e.onStatus(`Done in ${(g/1e3).toFixed(1)}s`),{languages:i.map(m=>m.language),indexPath:e.paths.outputScip,dbPath:e.paths.outputDb,durationMs:g,reused:!1,skipped:a,lastRefresh:u,shards:d}}function Da(e){if(e.run.opts.skipIfUnchanged===!1||e.skippedLanguages.length>0||!E(e.run.paths.outputScip)||!E(e.run.paths.outputDb))return!1;let t=U(e.run.paths.outputDb,e.run.paths.metaPath);if(t.state==="invalid"||t.state==="drifted")return!1;let n=new Set(e.reusedLanguages),r=new Set(e.indexedOutputs.map(i=>i.language));return e.run.languages.length>0&&r.size===e.run.languages.length&&e.indexedOutputs.length===e.run.languages.length&&e.run.languages.every(i=>n.has(i)&&r.has(i))}async function _a(e,t){let n=Na({paths:e.paths,projectRoot:e.projectRoot,languages:e.languages,pnpmWorkspaces:e.opts.pnpmWorkspaces,typescriptProjectMode:e.opts.typescriptProjectMode,typescriptProjects:e.opts.typescriptProjects,clojureConfigPath:e.opts.clojureConfigPath}),r=[],i=new Set;for(let[I,Ke]of n)Ke.reused&&(r.push({language:I,scipPath:Ke.scipPath}),i.add(I));for(let I of i)e.onStatus(`Reusing cached ${I} SCIP shard (language inputs unchanged).`);let a=n.get("typescript"),s=U(e.paths.outputDb,e.paths.metaPath),o=X(e.paths.metaPath),d=s.state==="legacy"||s.state==="current",c=o?.scipCompanion!=="deferred"&&(s.state!=="current"||s.generation.publication?.scipCompanion!=="deferred"),l=a&&!a.reused&&d?kn({projectRoot:e.projectRoot,cacheDir:y(e.paths.outputDb),previousDbPath:e.paths.outputDb,previousIndexPath:e.paths.outputScip,previousShardPath:a.scipPath,candidateShardPath:z(e.tempPaths.tempOutputScip,"typescript-incremental",0),candidateAffectedScipPath:z(e.tempPaths.tempOutputScip,"typescript-affected",0),baseShardCurrent:c,previousSnapshot:Xe(e.paths.metaPath),currentSnapshot:e.fingerprint,projectMode:e.opts.typescriptProjectMode,onStatus:e.onStatus}):null,u=new Set(l?["typescript"]:[]),g=l?void 0:Ta(e,n),{preparedRuns:m,skippedLanguages:p,languageOutputScipPaths:S}=Ja({languages:e.languages.filter(I=>!i.has(I)&&!u.has(I)),tempOutputScip:e.tempPaths.tempOutputScip,projectRoot:e.projectRoot,env:t,skipAutoInstall:e.skipAutoInstall,pnpmWorkspaces:e.opts.pnpmWorkspaces,typescriptProjectMode:e.opts.typescriptProjectMode,typescriptProjects:e.opts.typescriptProjects,preDiscoveredTypeScriptProjects:g?.allProjects,clojureConfigPath:e.opts.clojureConfigPath,onStatus:e.onStatus}),b=g?m.filter(I=>I.language!=="typescript"||g.missedProjectIds.has(I.id)):m,f=await Nn(b,e.projectRoot,e.onStatus,e.opts.indexerConcurrency),h=[];if(g){Oa(e.paths.outputDb,f);let I=S.typescript??e.tempPaths.tempOutputScip;h=Ma({outputDb:e.paths.outputDb,tempOutputScip:e.tempPaths.tempOutputScip,outputScipPath:I,reusedProjects:g.reusedProjects})}let v=[...f,...h],{indexedOutputs:P}=Ha(v,p),Q=l?[{language:"typescript",scipPath:l.scipPath}]:[],Ye=[...r,...Q,...P];qa(Ye,p,e.languages,e.opts.allowPartial,e.onStatus);let cr=l?[{id:"typescript",language:"typescript",label:"typescript (incremental documents)",scipPath:l.scipPath,outputScipPath:l.scipPath,durationMs:l.durationMs,command:"watch-service:typescript-index",outputBytes:q(l.scipPath)??void 0}]:[],dr=Aa(n,[...f,...cr],g?{outputDb:e.paths.outputDb,classification:g.classification}:void 0);return{indexedOutputs:Ye,skippedLanguages:p,reusedLanguages:[...i],languageFingerprints:La(n,e.languages),shards:dr,typescriptProjectShardContext:g?{projects:g.allProjects,fingerprints:g.fingerprints}:void 0,incrementalTypeScript:l??void 0}}function Ta(e,t){let n=t.get("typescript");if(!n||n.reused||e.opts.typescriptProjectMode!=="workspace")return;let r=W(e.projectRoot,e.opts.typescriptProjects);if(r.length===0)return;let i=hn(e.projectRoot,r),a=gn(n.fingerprint.files,r),s=fn(r,i),o=mn(r,a,s),d=X(e.paths.metaPath),l=ka(d,o,p=>E(Se(e.paths.outputDb,p))),u=[...l.entries()].filter(([,p])=>p.reused).map(([p])=>p),g=new Set(u),m=new Set(r.filter(p=>!g.has(p)).map(p=>`typescript:${p}`));return{allProjects:r,fingerprints:o,classification:l,reusedProjects:u,missedProjectIds:m}}function ka(e,t,n){let r=new Map;for(let i of Object.keys(t)){let a=t[i];if(!e){r.set(i,{reused:!1,reason:"no reindex metadata found",fingerprint:a});continue}let s=e.typescriptProjectShards?.[i];if(!s){r.set(i,{reused:!1,reason:"no cached fingerprint for this project",fingerprint:a});continue}if(!n(i)){r.set(i,{reused:!1,reason:"cached shard file missing on disk",fingerprint:a});continue}if(j(s)!==j(a)){r.set(i,{reused:!1,reason:"project inputs changed since last index",fingerprint:a});continue}r.set(i,{reused:!0,fingerprint:a})}return r}function Oa(e,t){for(let n of t){if(n.skipped||!n.id.startsWith("typescript:"))continue;let r=n.id.slice(11),i=Se(e,r);me(y(i),{recursive:!0}),he(n.scipPath,i)}}function Ma(e){return e.reusedProjects.map((t,n)=>{let r=Se(e.outputDb,t),i=z(e.tempOutputScip,"typescript-project-cached",n);return he(r,i),{id:`typescript:${t}`,language:"typescript",label:`typescript (${t})`,scipPath:i,outputScipPath:e.outputScipPath,durationMs:0,command:"cached",outputBytes:q(i)??void 0}})}function Na(e){let t=X(e.paths.metaPath),n=Kn(e.projectRoot,e.languages,e),r=new Map;for(let i of e.languages){let a=Qe(e.paths.outputDb,i),s=n[i];if(!t){r.set(i,{reused:!1,reason:"no reindex metadata found",fingerprint:s,scipPath:a});continue}if(t.version!==3){r.set(i,{reused:!1,reason:`metadata version ${String(t.version??"unknown")} predates per-language shard caching`,fingerprint:s,scipPath:a});continue}if(i==="typescript"&&t.scipCompanion==="deferred"){r.set(i,{reused:!1,reason:"whole TypeScript SCIP companion is deferred behind changed-document overlays",fingerprint:s,scipPath:a});continue}if(!t.languageFingerprints){r.set(i,{reused:!1,reason:"no per-language fingerprints recorded in metadata",fingerprint:s,scipPath:a});continue}let o=t.languageFingerprints[i];if(!o){r.set(i,{reused:!1,reason:"no cached fingerprint for this language",fingerprint:s,scipPath:a});continue}if(!E(a)){r.set(i,{reused:!1,reason:"cached shard file missing on disk",fingerprint:s,scipPath:a});continue}if(j(o)!==j(s)){r.set(i,{reused:!1,reason:"language inputs changed since last index",fingerprint:s,scipPath:a});continue}r.set(i,{reused:!0,fingerprint:s,scipPath:a})}return r}function Aa(e,t,n){let r=[];for(let[i,a]of e)a.reused&&r.push({id:i,language:i,reused:!0,fingerprint:H(a.fingerprint),outputBytes:q(a.scipPath),durationMs:0});for(let i of t){let a=e.get(i.language),s=n&&i.id.startsWith("typescript:")?i.id.slice(11):null,o=s?n.classification.get(s):void 0;r.push({id:i.id,language:i.language,reused:!1,missReason:o?.reason??a?.reason??i.skipped?.reason,fingerprint:o?H(o.fingerprint):a?H(a.fingerprint):"unknown",outputBytes:i.outputBytes??null,durationMs:i.durationMs,command:i.command})}if(n)for(let[i,a]of n.classification)a.reused&&r.push({id:`typescript:${i}`,language:"typescript",reused:!0,fingerprint:H(a.fingerprint),outputBytes:q(Se(n.outputDb,i)),durationMs:0});return r}function H(e){return fa("sha256").update(j(e)).digest("hex").slice(0,16)}function q(e){try{return ba(e).size}catch{return null}}function La(e,t){let n={};for(let r of t){let i=e.get(r);i&&(n[r]=i.fingerprint)}return n}function Ca(e,t,n,r,i,a,s,o){let d=!o||o.completeScipUpdated,c=!1;d&&($n(e.paths.outputDb,n),c=Bn(n,e.tempPaths.tempOutputScip,e.onStatus));let l=za({run:e,env:t,indexedOutputs:n,skippedLanguages:r,reusedLanguages:i,incrementalTypeScript:o,completeScipAvailable:d,completeScipSanitized:c,materializeFullFallback:()=>{if(!o||o.completeScipUpdated)return c;e.onStatus("Materializing the deferred whole TypeScript SCIP companion for full conversion..."),On({cacheDir:y(e.paths.outputDb),generationIdentity:o.nextFragmentGeneration,baseShardPath:o.scipPath,candidateShardPath:o.candidateScipPath});let h=n.map(v=>v.language==="typescript"?{language:v.language,scipPath:o.candidateScipPath}:v);return $n(e.paths.outputDb,h),c=Bn(h,e.tempPaths.tempOutputScip,e.onStatus),c}});if(te(ee(),{projectRoot:e.projectRoot,dbPath:e.tempPaths.tempOutputDb,onStatus:e.onStatus}),l.mode==="incremental"&&o){let h=null,v=null;try{h=new T({projectRoot:e.projectRoot,dbPath:e.tempPaths.tempOutputDb,indexPath:e.tempPaths.tempOutputScip}),v=new T({projectRoot:e.projectRoot,dbPath:e.paths.outputDb,indexPath:e.paths.outputScip});let P=Qt(h,e.fingerprint,o.referenceFragmentsByFile,v);e.onStatus(`Cached exact TypeScript reference fragments for ${P} affected document(s).`)}catch(P){e.onStatus(`Exact TypeScript reference fragment prefill unavailable: ${P instanceof Error?P.message:String(P)}.`)}finally{h?.close(),v?.close()}}let u=Xe(e.paths.metaPath),g=l.mode==="incremental"&&o?Qa(o,l.changedDocumentPaths):_e({projectRoot:e.projectRoot,previousDbPath:e.paths.outputDb,previousIndexPath:e.paths.outputScip,candidateDbPath:e.tempPaths.tempOutputDb,candidateIndexPath:e.tempPaths.tempOutputScip,previousSnapshot:u,currentSnapshot:e.fingerprint,refreshResult:"rebuilt"}),m=be({trigger:e.opts.trigger,result:"rebuilt",start:e.start,languages:n.map(h=>h.language),skipped:[...r]}),p=l.mode==="incremental"&&l.scipCompanion==="deferred",S={...a};p&&delete S.typescript;let{metadata:b,pruneProjects:f}=zn({run:e,indexedOutputs:n,skippedLanguages:r,reusedLanguages:i,languageFingerprints:S,typescriptProjectShardContext:s,lastRefresh:m});return b.scipCompanion=p?"deferred":"current",Xn(e.paths.outputDb,f),Ve(e.tempPaths.tempMetaPath,b),Tt({tempOutputScip:e.tempPaths.tempOutputScip,tempOutputDb:e.tempPaths.tempOutputDb,tempMetaPath:e.tempPaths.tempMetaPath,outputScip:e.paths.outputScip,outputDb:e.paths.outputDb,metaPath:e.paths.metaPath,preserveOutputScip:l.mode==="incremental"&&l.scipCompanion==="deferred",publication:l.mode==="incremental"?{mode:"incremental",validation:"passed",converterDurationMs:l.converterDurationMs,affectedDocumentCount:o?.affectedFiles.length,changedDocumentCount:l.changedDocumentPaths.length,producerDurationMs:o?.timings.serviceMs,materializationDurationMs:o?.durationMs,patchDurationMs:l.patchDurationMs,scipCompanion:l.scipCompanion,...l.scipCompanion==="deferred"&&o?{typescriptOverlayGeneration:o.nextFragmentGeneration}:{}}:{mode:"full",validation:"passed",converterDurationMs:l.converterDurationMs,scipCompanion:"current",...l.fallbackReason?{fallbackReason:l.fallbackReason}:{}}}),_t(y(e.paths.outputDb),l.mode==="incremental"&&l.scipCompanion==="deferred"?[o.nextFragmentGeneration]:[]),qn(e.paths.outputDb,g,e.onStatus),m}function $a(e,t,n,r,i,a){let s=Xe(e.paths.metaPath),o=null;try{he(e.paths.outputDb,e.tempPaths.tempOutputDb)}catch(u){o=en("reused","oracle-error",`Could not snapshot the prior database: ${u instanceof Error?u.message:String(u)}`)}te(ee(),{projectRoot:e.projectRoot,dbPath:e.paths.outputDb,onStatus:e.onStatus}),o??=_e({projectRoot:e.projectRoot,previousDbPath:e.tempPaths.tempOutputDb,previousIndexPath:e.paths.outputScip,candidateDbPath:e.paths.outputDb,candidateIndexPath:e.paths.outputScip,previousSnapshot:s,currentSnapshot:e.fingerprint,refreshResult:"reused"});let d=be({trigger:e.opts.trigger,result:"reused",start:e.start,languages:t.map(u=>u.language),skipped:[...n]}),{metadata:c,pruneProjects:l}=zn({run:e,indexedOutputs:t,skippedLanguages:n,reusedLanguages:r,languageFingerprints:i,typescriptProjectShardContext:a,lastRefresh:d});return Xn(e.paths.outputDb,l),Ve(e.paths.metaPath,c),kt(e.paths.outputDb,e.paths.metaPath),qn(e.paths.outputDb,o,e.onStatus),d}function Xe(e){return Ze(X(e)?.fingerprint)}function qn(e,t,n){try{tn(e,t),t.status==="evaluated"?n(`Affected-set shadow: ${(t.evaluation.recall*100).toFixed(1)}% recall; ${t.plan.affectedFiles.length} predicted, ${t.comparison.changedFiles.length} changed.`):n(`Affected-set shadow unavailable: ${t.reason}.`)}catch(r){n(`Affected-set shadow telemetry unavailable: ${r instanceof Error?r.message:String(r)}`)}}function zn(e){let t=Ba({mode:e.run.opts.typescriptProjectMode,skippedLanguages:e.skippedLanguages,reusedLanguages:e.reusedLanguages,context:e.typescriptProjectShardContext,metaPath:e.run.paths.metaPath});return{metadata:{version:3,status:e.skippedLanguages.length===0?"complete":"partial",updatedAt:new Date().toISOString(),fingerprint:e.run.fingerprint,languageFingerprints:e.languageFingerprints,typescriptProjectShards:t.field,requestedLanguages:e.run.languages,indexedLanguages:e.indexedOutputs.map(n=>n.language),skipped:[...e.skippedLanguages],lastRefresh:e.lastRefresh},pruneProjects:t.pruneProjects}}function Ba(e){if(e.mode!=="workspace")return{field:void 0,pruneProjects:null};if(e.skippedLanguages.some(t=>t.language==="typescript"))return{field:void 0,pruneProjects:null};if(e.reusedLanguages.includes("typescript")){let t=X(e.metaPath)?.typescriptProjectShards;return{field:t,pruneProjects:t?Object.keys(t):[]}}return e.context?{field:e.context.fingerprints,pruneProjects:e.context.projects}:{field:void 0,pruneProjects:[]}}function Xn(e,t){let n=Zn(e);if(t===null){_(n,{recursive:!0,force:!0});return}let r;try{r=Sa(n)}catch{return}for(let i of Ga(r,t))_(R(n,i),{force:!0})}function Ga(e,t){let n=new Set(t.map(r=>`${Ce(r)}.scip`));return e.filter(r=>!n.has(r))}function $n(e,t){for(let n of t){let r=Qe(e,n.language);me(y(r),{recursive:!0}),n.scipPath!==r&&he(n.scipPath,r)}}async function Ua(e,t){if(!Pe()){if(e)throw new Error(`The scip CLI is required but not found on PATH.
249
+ `)[0]}`,l=e.label===e.language?c:`${e.label}: ${c}`;return n(`Skipping ${e.label}: ${c}`),{id:e.id,language:e.language,label:e.label,scipPath:e.scipPath,outputScipPath:e.outputScipPath,durationMs:Date.now()-a,command:i,skipped:{language:e.language,reason:l}}}finally{oa(r)}if(!ge(e.scipPath)){let o=`${e.resolvedBinary} indexer completed but did not produce ${e.scipPath}`,d=e.label===e.language?o:`${e.label}: ${o}`;return n(`Skipping ${e.label}: ${o}`),{id:e.id,language:e.language,label:e.label,scipPath:e.scipPath,outputScipPath:e.outputScipPath,durationMs:Date.now()-a,command:i,skipped:{language:e.language,reason:d}}}let s;try{s=ra(e.scipPath).size}catch{s=void 0}return{id:e.id,language:e.language,label:e.label,scipPath:e.scipPath,outputScipPath:e.outputScipPath,durationMs:Date.now()-a,command:i,outputBytes:s}}function da(e,t,n){return new Promise((r,i)=>{na(e,[...t],n,a=>{a?i(a):r()})})}async function la(e,t,n){if(e.length===0)return[];let r=new Array(e.length),i=0,a=Math.max(1,Math.min(e.length,t)),s=Array.from({length:a},async()=>{for(;i<e.length;){let o=i++;r[o]=await n(e[o])}});return await Promise.all(s),r}import{execFileSync as ua}from"child_process";import{platform as pa}from"os";function An(e,t){let n=e.installMethods,r=se(e);if(!n?.length)return t(`No auto-install method available for ${r}.`),e.installUrl&&t(`Install manually from: ${e.installUrl}`),!1;for(let i of n)if(C(i.prerequisite)){t(`Installing ${r} via ${i.label}...`);try{ua(i.binary,i.args,{stdio:"inherit",timeout:3e5,env:process.env,shell:pa()==="win32"});let a=J(e);if(a){let s=a===e.indexerBinary?"":` (using ${a})`;return t(`Successfully installed ${r} via ${i.label}${s}`),!0}t(`${i.label} command completed but ${r} was not found on PATH`)}catch(a){let s=a instanceof Error?a.message:String(a);t(`${i.label} install failed: ${s}`)}}return t(`Could not auto-install ${r}.`),e.installUrl&&t(`Install manually from: ${e.installUrl}`),!1}async function Hn(e){let{projectRoot:t,maxHeapMb:n=8192,onStatus:r=console.log,skipAutoInstall:i=!1}=e,a=Ia(e),s=Date.now();me(y(a.outputScip),{recursive:!0}),me(y(a.outputDb),{recursive:!0});let o=e.languages??bt(t);if(o.length===0)throw new Error("No supported languages detected in this project. Looked for: tsconfig.json, Cargo.toml, go.mod, pyproject.toml, etc.");r(`Detected languages: ${o.join(", ")}`);let d=F("reindex.fingerprint",()=>ot(t,o,{pnpmWorkspaces:e.pnpmWorkspaces,typescriptProjectMode:e.typescriptProjectMode,typescriptProjects:e.typescriptProjects,clojureConfigPath:e.clojureConfigPath}),{languages:o.length}),c,l;if(e.skipIfUnchanged!==!1&&!Ot(t,a.outputDb)&&Ln(a.outputScip)===Ln(R(y(a.outputDb),"index.scip"))){let p=K(t);if(c=p?ne(p,d):void 0,c){let S=re(c);if(S){if(!va(a,d))try{Re({snapshot:c,manifest:S,targetCacheDir:y(a.outputDb),targetProjectRoot:t}),r(`Attached shared generation ${c.generationId.slice(0,12)}`)}catch(b){r(`Shared generation attach failed; continuing locally: ${ze(b)}`)}}else{let b=await Nt(c);if(b.kind==="owner")l=b.release;else if(b.kind==="generation-ready"){let f=re(c);if(f)try{Re({snapshot:c,manifest:f,targetCacheDir:y(a.outputDb),targetProjectRoot:t,action:"waited"}),r(`Attached shared generation ${c.generationId.slice(0,12)} after waiting`)}catch(h){r(`Shared generation attach failed after waiting; continuing locally: ${ze(h)}`)}}else r("Shared generation build lock timed out; continuing with an isolated local reindex")}}}let u=it(R(y(a.outputDb),"cache-lifecycle.lock"),{waitMs:3e4});if(!u)throw l?.(),new Error(`Could not acquire scip-query cache lifecycle lock for ${y(a.outputDb)}.`);let g;try{g=await L("reindex.lock",()=>Va(R(y(a.outputDb),"index.lock"),{projectRoot:t,trigger:e.trigger,onStatus:r}),{languages:o.length})}catch(p){throw u.release(),l?.(),p}let m=null;try{let p=null,S=F("reindex.reuse-check",()=>(p=Ea({opts:e,paths:a,languages:o,fingerprint:d,start:s,onStatus:r}),p),()=>({languages:o.length,reused:p!==null}));if(S)return Cn({snapshot:c,paths:a,projectRoot:t,fingerprint:d,onStatus:r}),S;await L("reindex.scip-cli-ready",()=>Ua(i,r));let b=ja(a);m=b.runDir;let f,h=await L("reindex.fresh",async()=>(f=await wa({opts:e,languages:o,projectRoot:t,paths:a,tempPaths:b,fingerprint:d,start:s,maxHeapMb:n,skipAutoInstall:i,onStatus:r}),f),()=>({languages:o.length,reused:f?.reused,skipped:f?.skipped.length}));return Cn({snapshot:c,paths:a,projectRoot:t,fingerprint:d,onStatus:r}),h}catch(p){throw tr(a.metaPath,be({trigger:e.trigger,result:"failed",start:s,error:p instanceof Error?p.message:String(p)})),p}finally{m&&_(m,{recursive:!0,force:!0}),g(),u.release(),l?.()}}function Cn(e){if(e.snapshot){if(re(e.snapshot)){ve(e.snapshot,y(e.paths.outputDb),"local-fresh");return}try{let t=K(e.projectRoot),n=t?ne(t,e.fingerprint):void 0;if(!n||n.generationId!==e.snapshot.generationId){e.onStatus("Skipped shared generation publication because the worktree changed during indexing");return}Mt({snapshot:e.snapshot,sourceCacheDir:y(e.paths.outputDb),sourceProjectRoot:e.projectRoot,sourceStillValid:()=>{let r=K(e.projectRoot);return(r?ne(r,e.fingerprint):void 0)?.generationId===e.snapshot?.generationId}}),ve(e.snapshot,y(e.paths.outputDb),"built"),e.onStatus(`Published shared generation ${e.snapshot.generationId.slice(0,12)}`)}catch(t){e.onStatus(`Shared generation publication failed; local index remains valid: ${ze(t)}`)}}}function va(e,t){if(!E(e.outputScip)||!E(e.outputDb)||!er(e.metaPath,t))return!1;let n=U(e.outputDb,e.metaPath);return n.state!=="invalid"&&n.state!=="drifted"}function ze(e){return e instanceof Error?e.message:String(e)}function Ia(e){let t=e.outputScip??R(e.projectRoot,"index.scip"),n=e.outputDb??R(e.projectRoot,"index.db");return{outputScip:t,outputDb:n,metaPath:R(y(n),"meta.json")}}function Ea(e){let t=U(e.paths.outputDb,e.paths.metaPath);if(e.opts.skipIfUnchanged===!1||!E(e.paths.outputScip)||!E(e.paths.outputDb)||!er(e.paths.metaPath,e.fingerprint)||t.state==="invalid"||t.state==="drifted")return null;te(ee(),{projectRoot:e.opts.projectRoot,dbPath:e.paths.outputDb,onStatus:e.onStatus});let n=Date.now()-e.start,r=be({trigger:e.opts.trigger,result:"reused",start:e.start,languages:e.languages,skipped:[]});return tr(e.paths.metaPath,r),e.onStatus(`Index unchanged; reused existing SQLite index in ${(n/1e3).toFixed(1)}s`),{languages:e.languages,indexPath:e.paths.outputScip,dbPath:e.paths.outputDb,durationMs:n,reused:!0,skipped:[],lastRefresh:r,shards:Fa(e.paths,e.opts.projectRoot,e.languages,e.opts)}}function Fa(e,t,n,r){let i=Kn(t,n,r);return n.map(a=>({id:a,language:a,reused:!0,fingerprint:H(i[a]),outputBytes:q(Qe(e.outputDb,a)),durationMs:0}))}function ja(e){let t=ha(R(y(e.outputDb),"reindex-"));return{runDir:t,tempOutputScip:R(t,fe(e.outputScip)),tempOutputDb:R(t,fe(e.outputDb)),tempMetaPath:R(t,fe(e.metaPath))}}async function wa(e){let t={...process.env,NODE_OPTIONS:`--max-old-space-size=${e.maxHeapMb}`},n,r=await L("reindex.language-indexers",async()=>(n=await _a(e,t),n),()=>({languages:e.languages.length,indexed:n?.indexedOutputs.length,reused:n?.reusedLanguages.length,skipped:n?.skippedLanguages.length})),{indexedOutputs:i,skippedLanguages:a,reusedLanguages:s,languageFingerprints:o,shards:d,typescriptProjectShardContext:c,incrementalTypeScript:l}=r;if(s.length>0&&e.onStatus(`Reused ${s.length} cached language shard(s): ${s.join(", ")}`),Da({run:e,indexedOutputs:i,skippedLanguages:a,reusedLanguages:s})){let m=F("reindex.publish",()=>$a(e,i,a,s,o,c),{mode:"metadata-only",languages:i.length,reused:s.length}),p=m.durationMs;return e.onStatus(`All language shards unchanged; reused existing SQLite index in ${(p/1e3).toFixed(1)}s`),{languages:i.map(S=>S.language),indexPath:e.paths.outputScip,dbPath:e.paths.outputDb,durationMs:p,reused:!0,skipped:a,lastRefresh:m,shards:d}}let u=F("reindex.publish",()=>Ca(e,t,i,a,s,o,c,l),{mode:l?"incremental-or-fallback":"full",languages:i.length,reused:s.length,skipped:a.length}),g=u.durationMs;return e.onStatus(`Done in ${(g/1e3).toFixed(1)}s`),{languages:i.map(m=>m.language),indexPath:e.paths.outputScip,dbPath:e.paths.outputDb,durationMs:g,reused:!1,skipped:a,lastRefresh:u,shards:d}}function Da(e){if(e.run.opts.skipIfUnchanged===!1||e.skippedLanguages.length>0||!E(e.run.paths.outputScip)||!E(e.run.paths.outputDb))return!1;let t=U(e.run.paths.outputDb,e.run.paths.metaPath);if(t.state==="invalid"||t.state==="drifted")return!1;let n=new Set(e.reusedLanguages),r=new Set(e.indexedOutputs.map(i=>i.language));return e.run.languages.length>0&&r.size===e.run.languages.length&&e.indexedOutputs.length===e.run.languages.length&&e.run.languages.every(i=>n.has(i)&&r.has(i))}async function _a(e,t){let n=Na({paths:e.paths,projectRoot:e.projectRoot,languages:e.languages,pnpmWorkspaces:e.opts.pnpmWorkspaces,typescriptProjectMode:e.opts.typescriptProjectMode,typescriptProjects:e.opts.typescriptProjects,clojureConfigPath:e.opts.clojureConfigPath}),r=[],i=new Set;for(let[I,Ke]of n)Ke.reused&&(r.push({language:I,scipPath:Ke.scipPath}),i.add(I));for(let I of i)e.onStatus(`Reusing cached ${I} SCIP shard (language inputs unchanged).`);let a=n.get("typescript"),s=U(e.paths.outputDb,e.paths.metaPath),o=X(e.paths.metaPath),d=s.state==="legacy"||s.state==="current",c=o?.scipCompanion!=="deferred"&&(s.state!=="current"||s.generation.publication?.scipCompanion!=="deferred"),l=a&&!a.reused&&d?kn({projectRoot:e.projectRoot,cacheDir:y(e.paths.outputDb),previousDbPath:e.paths.outputDb,previousIndexPath:e.paths.outputScip,previousShardPath:a.scipPath,candidateShardPath:z(e.tempPaths.tempOutputScip,"typescript-incremental",0),candidateAffectedScipPath:z(e.tempPaths.tempOutputScip,"typescript-affected",0),baseShardCurrent:c,previousSnapshot:Xe(e.paths.metaPath),currentSnapshot:e.fingerprint,projectMode:e.opts.typescriptProjectMode,onStatus:e.onStatus}):null,u=new Set(l?["typescript"]:[]),g=l?void 0:Ta(e,n),{preparedRuns:m,skippedLanguages:p,languageOutputScipPaths:S}=Ja({languages:e.languages.filter(I=>!i.has(I)&&!u.has(I)),tempOutputScip:e.tempPaths.tempOutputScip,projectRoot:e.projectRoot,env:t,skipAutoInstall:e.skipAutoInstall,pnpmWorkspaces:e.opts.pnpmWorkspaces,typescriptProjectMode:e.opts.typescriptProjectMode,typescriptProjects:e.opts.typescriptProjects,preDiscoveredTypeScriptProjects:g?.allProjects,clojureConfigPath:e.opts.clojureConfigPath,onStatus:e.onStatus}),b=g?m.filter(I=>I.language!=="typescript"||g.missedProjectIds.has(I.id)):m,f=await Nn(b,e.projectRoot,e.onStatus,e.opts.indexerConcurrency),h=[];if(g){Oa(e.paths.outputDb,f);let I=S.typescript??e.tempPaths.tempOutputScip;h=Ma({outputDb:e.paths.outputDb,tempOutputScip:e.tempPaths.tempOutputScip,outputScipPath:I,reusedProjects:g.reusedProjects})}let v=[...f,...h],{indexedOutputs:P}=Ha(v,p),Q=l?[{language:"typescript",scipPath:l.scipPath}]:[],Ye=[...r,...Q,...P];qa(Ye,p,e.languages,e.opts.allowPartial,e.onStatus);let cr=l?[{id:"typescript",language:"typescript",label:"typescript (incremental documents)",scipPath:l.scipPath,outputScipPath:l.scipPath,durationMs:l.durationMs,command:"watch-service:typescript-index",outputBytes:q(l.scipPath)??void 0}]:[],dr=Aa(n,[...f,...cr],g?{outputDb:e.paths.outputDb,classification:g.classification}:void 0);return{indexedOutputs:Ye,skippedLanguages:p,reusedLanguages:[...i],languageFingerprints:La(n,e.languages),shards:dr,typescriptProjectShardContext:g?{projects:g.allProjects,fingerprints:g.fingerprints}:void 0,incrementalTypeScript:l??void 0}}function Ta(e,t){let n=t.get("typescript");if(!n||n.reused||e.opts.typescriptProjectMode!=="workspace")return;let r=W(e.projectRoot,e.opts.typescriptProjects);if(r.length===0)return;let i=hn(e.projectRoot,r),a=gn(n.fingerprint.files,r),s=fn(r,i),o=mn(r,a,s),d=X(e.paths.metaPath),l=ka(d,o,p=>E(Se(e.paths.outputDb,p))),u=[...l.entries()].filter(([,p])=>p.reused).map(([p])=>p),g=new Set(u),m=new Set(r.filter(p=>!g.has(p)).map(p=>`typescript:${p}`));return{allProjects:r,fingerprints:o,classification:l,reusedProjects:u,missedProjectIds:m}}function ka(e,t,n){let r=new Map;for(let i of Object.keys(t)){let a=t[i];if(!e){r.set(i,{reused:!1,reason:"no reindex metadata found",fingerprint:a});continue}let s=e.typescriptProjectShards?.[i];if(!s){r.set(i,{reused:!1,reason:"no cached fingerprint for this project",fingerprint:a});continue}if(!n(i)){r.set(i,{reused:!1,reason:"cached shard file missing on disk",fingerprint:a});continue}if(j(s)!==j(a)){r.set(i,{reused:!1,reason:"project inputs changed since last index",fingerprint:a});continue}r.set(i,{reused:!0,fingerprint:a})}return r}function Oa(e,t){for(let n of t){if(n.skipped||!n.id.startsWith("typescript:"))continue;let r=n.id.slice(11),i=Se(e,r);me(y(i),{recursive:!0}),he(n.scipPath,i)}}function Ma(e){return e.reusedProjects.map((t,n)=>{let r=Se(e.outputDb,t),i=z(e.tempOutputScip,"typescript-project-cached",n);return he(r,i),{id:`typescript:${t}`,language:"typescript",label:`typescript (${t})`,scipPath:i,outputScipPath:e.outputScipPath,durationMs:0,command:"cached",outputBytes:q(i)??void 0}})}function Na(e){let t=X(e.paths.metaPath),n=Kn(e.projectRoot,e.languages,e),r=new Map;for(let i of e.languages){let a=Qe(e.paths.outputDb,i),s=n[i];if(!t){r.set(i,{reused:!1,reason:"no reindex metadata found",fingerprint:s,scipPath:a});continue}if(t.version!==3){r.set(i,{reused:!1,reason:`metadata version ${String(t.version??"unknown")} predates per-language shard caching`,fingerprint:s,scipPath:a});continue}if(i==="typescript"&&t.scipCompanion==="deferred"){r.set(i,{reused:!1,reason:"whole TypeScript SCIP companion is deferred behind changed-document overlays",fingerprint:s,scipPath:a});continue}if(!t.languageFingerprints){r.set(i,{reused:!1,reason:"no per-language fingerprints recorded in metadata",fingerprint:s,scipPath:a});continue}let o=t.languageFingerprints[i];if(!o){r.set(i,{reused:!1,reason:"no cached fingerprint for this language",fingerprint:s,scipPath:a});continue}if(!E(a)){r.set(i,{reused:!1,reason:"cached shard file missing on disk",fingerprint:s,scipPath:a});continue}if(j(o)!==j(s)){r.set(i,{reused:!1,reason:"language inputs changed since last index",fingerprint:s,scipPath:a});continue}r.set(i,{reused:!0,fingerprint:s,scipPath:a})}return r}function Aa(e,t,n){let r=[];for(let[i,a]of e)a.reused&&r.push({id:i,language:i,reused:!0,fingerprint:H(a.fingerprint),outputBytes:q(a.scipPath),durationMs:0});for(let i of t){let a=e.get(i.language),s=n&&i.id.startsWith("typescript:")?i.id.slice(11):null,o=s?n.classification.get(s):void 0;r.push({id:i.id,language:i.language,reused:!1,missReason:o?.reason??a?.reason??i.skipped?.reason,fingerprint:o?H(o.fingerprint):a?H(a.fingerprint):"unknown",outputBytes:i.outputBytes??null,durationMs:i.durationMs,command:i.command})}if(n)for(let[i,a]of n.classification)a.reused&&r.push({id:`typescript:${i}`,language:"typescript",reused:!0,fingerprint:H(a.fingerprint),outputBytes:q(Se(n.outputDb,i)),durationMs:0});return r}function H(e){return fa("sha256").update(j(e)).digest("hex").slice(0,16)}function q(e){try{return ba(e).size}catch{return null}}function La(e,t){let n={};for(let r of t){let i=e.get(r);i&&(n[r]=i.fingerprint)}return n}function Ca(e,t,n,r,i,a,s,o){let d=!o||o.completeScipUpdated,c=!1;d&&($n(e.paths.outputDb,n),c=Bn(n,e.tempPaths.tempOutputScip,e.onStatus));let l=za({run:e,env:t,indexedOutputs:n,skippedLanguages:r,reusedLanguages:i,incrementalTypeScript:o,completeScipAvailable:d,completeScipSanitized:c,materializeFullFallback:()=>{if(!o||o.completeScipUpdated)return c;e.onStatus("Materializing the deferred whole TypeScript SCIP companion for full conversion..."),On({cacheDir:y(e.paths.outputDb),generationIdentity:o.nextFragmentGeneration,baseShardPath:o.scipPath,candidateShardPath:o.candidateScipPath});let h=n.map(v=>v.language==="typescript"?{language:v.language,scipPath:o.candidateScipPath}:v);return $n(e.paths.outputDb,h),c=Bn(h,e.tempPaths.tempOutputScip,e.onStatus),c}});if(te(ee(),{projectRoot:e.projectRoot,dbPath:e.tempPaths.tempOutputDb,onStatus:e.onStatus}),l.mode==="incremental"&&o){let h=null,v=null;try{h=new T({projectRoot:e.projectRoot,dbPath:e.tempPaths.tempOutputDb,indexPath:e.tempPaths.tempOutputScip}),v=new T({projectRoot:e.projectRoot,dbPath:e.paths.outputDb,indexPath:e.paths.outputScip});let P=Qt(h,e.fingerprint,o.referenceFragmentsByFile,v);e.onStatus(`Cached exact TypeScript reference fragments for ${P} affected document(s).`)}catch(P){e.onStatus(`Exact TypeScript reference fragment prefill unavailable: ${P instanceof Error?P.message:String(P)}.`)}finally{h?.close(),v?.close()}}let u=Xe(e.paths.metaPath),g=l.mode==="incremental"&&o?Qa(o,l.changedDocumentPaths):_e({projectRoot:e.projectRoot,previousDbPath:e.paths.outputDb,previousIndexPath:e.paths.outputScip,candidateDbPath:e.tempPaths.tempOutputDb,candidateIndexPath:e.tempPaths.tempOutputScip,previousSnapshot:u,currentSnapshot:e.fingerprint,refreshResult:"rebuilt"}),m=be({trigger:e.opts.trigger,result:"rebuilt",start:e.start,languages:n.map(h=>h.language),skipped:[...r]}),p=l.mode==="incremental"&&l.scipCompanion==="deferred",S={...a};p&&delete S.typescript;let{metadata:b,pruneProjects:f}=zn({run:e,indexedOutputs:n,skippedLanguages:r,reusedLanguages:i,languageFingerprints:S,typescriptProjectShardContext:s,lastRefresh:m});return b.scipCompanion=p?"deferred":"current",Xn(e.paths.outputDb,f),Ve(e.tempPaths.tempMetaPath,b),Tt({tempOutputScip:e.tempPaths.tempOutputScip,tempOutputDb:e.tempPaths.tempOutputDb,tempMetaPath:e.tempPaths.tempMetaPath,outputScip:e.paths.outputScip,outputDb:e.paths.outputDb,metaPath:e.paths.metaPath,preserveOutputScip:l.mode==="incremental"&&l.scipCompanion==="deferred",publication:l.mode==="incremental"?{mode:"incremental",validation:"passed",converterDurationMs:l.converterDurationMs,affectedDocumentCount:o?.affectedFiles.length,changedDocumentCount:l.changedDocumentPaths.length,producerDurationMs:o?.timings.serviceMs,materializationDurationMs:o?.durationMs,patchDurationMs:l.patchDurationMs,scipCompanion:l.scipCompanion,...l.scipCompanion==="deferred"&&o?{typescriptOverlayGeneration:o.nextFragmentGeneration}:{}}:{mode:"full",validation:"passed",converterDurationMs:l.converterDurationMs,scipCompanion:"current",...l.fallbackReason?{fallbackReason:l.fallbackReason}:{}}}),_t(y(e.paths.outputDb),l.mode==="incremental"&&l.scipCompanion==="deferred"?[o.nextFragmentGeneration]:[]),qn(e.paths.outputDb,g,e.onStatus),m}function $a(e,t,n,r,i,a){let s=Xe(e.paths.metaPath),o=null;try{he(e.paths.outputDb,e.tempPaths.tempOutputDb)}catch(u){o=en("reused","oracle-error",`Could not snapshot the prior database: ${u instanceof Error?u.message:String(u)}`)}te(ee(),{projectRoot:e.projectRoot,dbPath:e.paths.outputDb,onStatus:e.onStatus}),o??=_e({projectRoot:e.projectRoot,previousDbPath:e.tempPaths.tempOutputDb,previousIndexPath:e.paths.outputScip,candidateDbPath:e.paths.outputDb,candidateIndexPath:e.paths.outputScip,previousSnapshot:s,currentSnapshot:e.fingerprint,refreshResult:"reused"});let d=be({trigger:e.opts.trigger,result:"reused",start:e.start,languages:t.map(u=>u.language),skipped:[...n]}),{metadata:c,pruneProjects:l}=zn({run:e,indexedOutputs:t,skippedLanguages:n,reusedLanguages:r,languageFingerprints:i,typescriptProjectShardContext:a,lastRefresh:d});return Xn(e.paths.outputDb,l),Ve(e.paths.metaPath,c),kt(e.paths.outputDb,e.paths.metaPath),qn(e.paths.outputDb,o,e.onStatus),d}function Xe(e){return Ze(X(e)?.fingerprint)}function qn(e,t,n){try{tn(e,t),t.status==="evaluated"?n(`Affected-set shadow: ${(t.evaluation.recall*100).toFixed(1)}% recall; ${t.plan.affectedFiles.length} predicted, ${t.comparison.changedFiles.length} changed.`):n(`Affected-set shadow unavailable: ${t.reason}.`)}catch(r){n(`Affected-set shadow telemetry unavailable: ${r instanceof Error?r.message:String(r)}`)}}function zn(e){let t=Ba({mode:e.run.opts.typescriptProjectMode,skippedLanguages:e.skippedLanguages,reusedLanguages:e.reusedLanguages,context:e.typescriptProjectShardContext,metaPath:e.run.paths.metaPath});return{metadata:{version:3,status:e.skippedLanguages.length===0?"complete":"partial",updatedAt:new Date().toISOString(),fingerprint:e.run.fingerprint,languageFingerprints:e.languageFingerprints,typescriptProjectShards:t.field,requestedLanguages:e.run.languages,indexedLanguages:e.indexedOutputs.map(n=>n.language),skipped:[...e.skippedLanguages],lastRefresh:e.lastRefresh},pruneProjects:t.pruneProjects}}function Ba(e){if(e.mode!=="workspace")return{field:void 0,pruneProjects:null};if(e.skippedLanguages.some(t=>t.language==="typescript"))return{field:void 0,pruneProjects:null};if(e.reusedLanguages.includes("typescript")){let t=X(e.metaPath)?.typescriptProjectShards;return{field:t,pruneProjects:t?Object.keys(t):[]}}return e.context?{field:e.context.fingerprints,pruneProjects:e.context.projects}:{field:void 0,pruneProjects:[]}}function Xn(e,t){let n=Zn(e);if(t===null){_(n,{recursive:!0,force:!0});return}let r;try{r=Sa(n)}catch{return}for(let i of Ga(r,t))_(R(n,i),{force:!0})}function Ga(e,t){let n=new Set(t.map(r=>`${Ce(r)}.scip`));return e.filter(r=>!n.has(r))}function $n(e,t){for(let n of t){let r=Qe(e,n.language);me(y(r),{recursive:!0}),n.scipPath!==r&&he(n.scipPath,r)}}async function Ua(e,t){if(!Pe()){if(e)throw new Error(`The scip CLI is required but not found on PATH.
250
250
  Install from: https://github.com/sourcegraph/scip/releases`);if(Ra()==="win32")throw new Error("The scip CLI was not found. On Windows it ships via the npm sidecar package scip-query-scip-windows (installed automatically with scip-query). Reinstall with optional dependencies enabled, run 'npm install -g scip-query-scip-windows', or set SCIP_QUERY_SCIP_BIN to a local scip.exe path.");if(t("scip CLI not found on PATH. Attempting auto-install..."),!nt(t))throw new Error(`The scip CLI is required but could not be installed.
251
251
  Install manually from: https://github.com/sourcegraph/scip/releases`)}}function Ja(e){let t=[],n=[],r=e.languages.map((a,s)=>({language:a,scipPath:e.languages.length>1?z(e.tempOutputScip,a,s):e.tempOutputScip})),i=Object.fromEntries(r.map(({language:a,scipPath:s})=>[a,s]));for(let{language:a,scipPath:s}of r){let o=Wa({...e,language:a,scipPath:s});for(let d of o)"skipped"in d?Qn(n,d.skipped):t.push(d.prepared)}return{preparedRuns:t,skippedLanguages:n,languageOutputScipPaths:i}}function Wa(e){if(e.language!=="typescript"||e.typescriptProjectMode!=="workspace")return[qe({...e,id:e.language,label:e.language,outputScipPath:e.scipPath})];let t=e.preDiscoveredTypeScriptProjects??W(e.projectRoot,e.typescriptProjects);return t.length===0?[qe({...e,id:e.language,label:e.language,outputScipPath:e.scipPath})]:(e.onStatus(`Indexing TypeScript workspace as ${t.length} project shard(s).`),t.map((n,r)=>qe({...e,id:`typescript:${n}`,label:`typescript (${n})`,scipPath:z(e.tempOutputScip,"typescript-project",r),outputScipPath:e.scipPath,pnpmWorkspaces:!1,projectPath:n})))}function qe(e){let t=ke(e.language),n=se(t),r=Jt(t,e.projectRoot);if(!r&&!Gt(t)){if(e.skipAutoInstall){let o=`${n} not found on PATH (auto-install disabled). ${t.installUrl??""}`.trim();return e.onStatus(`Skipping ${e.language}: ${o}`),{skipped:{language:e.language,reason:o}}}if(e.onStatus(`${n} not found. Attempting auto-install...`),!An(t,e.onStatus)){let o=`${n} could not be auto-installed. ${t.installUrl?`Install manually from ${t.installUrl}`:`Install ${n} and put it on PATH.`}`;return e.onStatus(`Skipping ${e.language}: ${o}`),{skipped:{language:e.language,reason:o}}}}let i=r??J(t);if(!i){let o=`${n} was not found after installation checks.`;return e.onStatus(`Skipping ${e.language}: ${o}`),{skipped:{language:e.language,reason:o}}}let{binary:a,args:s}=t.indexArgs({projectRoot:e.projectRoot,outputPath:e.scipPath,pnpmWorkspaces:e.pnpmWorkspaces,indexerBinary:i,projectPath:e.projectPath,configPath:e.language==="clojure"?e.clojureConfigPath:void 0});return{prepared:{id:e.id,language:e.language,label:e.label,scipPath:e.scipPath,outputScipPath:e.outputScipPath,config:t,resolvedBinary:i,binary:a,args:s,env:Wt(t,e.env,i)}}}function Ha(e,t){let n=new Map;for(let i of e)if(i.skipped)Qn(t,i.skipped);else{let a=`${i.language}\0${i.outputScipPath}`,s=n.get(a)??{language:i.language,outputScipPath:i.outputScipPath,scipPaths:[]};s.scipPaths.push(i.scipPath),n.set(a,s)}let r=[];for(let i of n.values())if(i.scipPaths.length>1)xt(i.scipPaths,i.outputScipPath),r.push({language:i.language,scipPath:i.outputScipPath});else{let a=i.scipPaths[0];a!==i.outputScipPath&&Wn(a,i.outputScipPath),r.push({language:i.language,scipPath:i.outputScipPath})}return{indexedOutputs:r}}function Qn(e,t){let n=e.find(r=>r.language===t.language);if(!n){e.push(t);return}n.reason.includes(t.reason)||(n.reason=`${n.reason}; ${t.reason}`)}function qa(e,t,n,r,i){if(e.length===0){let a=t.map(s=>` - ${s.language}: ${s.reason}`).join(`
252
252
  `);throw new Error(`No language indexers ran successfully. Install at least one indexer for the languages in this project.
253
253
  `+a)}if(t.length!==0&&(i(`Indexed ${e.length} language output(s); skipped or incomplete: ${t.map(a=>a.language).join(", ")}.`),!r))throw new Error(`Failed to index all required languages; preserving the previous index. Pass --allow-partial to intentionally write an incomplete index.
254
254
  `+t.map(a=>` - ${a.language}: ${a.reason}`).join(`
255
255
  `))}function Bn(e,t,n){if(e.length>1){n(`Merging ${e.length} language indexes...`);let r=performance.now(),i=Rt(e.map(a=>a.scipPath),t);return Yn(i,n),n(`Merged and sanitized SCIP indexes in ${(performance.now()-r).toFixed(0)}ms.`),!0}else e[0].scipPath!==t&&Wn(e[0].scipPath,t);return!1}function za(e){let t;if(Xa(e)){let i=R(e.run.tempPaths.runDir,"typescript-affected.db");try{Vn(e.incrementalTypeScript.affectedScipPath,e.run.onStatus),e.run.onStatus(`Converting ${e.incrementalTypeScript.affectedFiles.length} affected TypeScript document(s) to SQLite...`);let a=performance.now();Gn(e.incrementalTypeScript.affectedScipPath,i,e.env,e.run.onStatus),e.run.onStatus(`Converted affected SCIP documents in ${(performance.now()-a).toFixed(0)}ms.`);let s=ln({previousDbPath:e.run.paths.outputDb,miniDbPath:i,candidateDbPath:e.run.tempPaths.tempOutputDb,affectedFiles:e.incrementalTypeScript.affectedFiles});return e.run.onStatus(`Patched ${s.affectedDocumentCount} SQLite document(s) in ${(s.durationMs/1e3).toFixed(3)}s.`),{mode:"incremental",changedDocumentPaths:s.changedDocumentPaths,patchDurationMs:s.durationMs,converterDurationMs:performance.now()-a,scipCompanion:e.incrementalTypeScript.completeScipUpdated?"current":"deferred"}}catch(a){t=a instanceof Error?a.message:String(a),_(i,{force:!0}),_(e.run.tempPaths.tempOutputDb,{force:!0}),e.run.onStatus(`Incremental SQLite publication unavailable: ${t}. Falling back to complete conversion.`)}}let n=e.completeScipSanitized;e.completeScipAvailable||(n=e.materializeFullFallback());let r=performance.now();return Gn(e.run.tempPaths.tempOutputScip,e.run.tempPaths.tempOutputDb,e.env,e.run.onStatus,n),{mode:"full",converterDurationMs:performance.now()-r,...t?{fallbackReason:t}:{}}}function Xa(e){if(!e.incrementalTypeScript||e.skippedLanguages.length>0||!E(e.run.paths.outputDb)||!E(e.run.paths.outputScip))return!1;let t=new Set(e.reusedLanguages);return e.indexedOutputs.length===e.run.languages.length&&e.run.languages.every(n=>n==="typescript"||t.has(n))}function Qa(e,t){let n=Date.now(),r=[...t].sort(),i=new Set(r),a={addedFiles:[],modifiedFiles:r,deletedFiles:[],changedFiles:r,unchangedFiles:e.affectedFiles.filter(s=>!i.has(s)).sort()};return{version:1,status:"evaluated",refreshResult:"rebuilt",recordedAt:new Date().toISOString(),durationMs:Date.now()-n,manifest:e.manifest,plan:e.plan,comparison:a,evaluation:De(e.plan,a,e.projectFileCount)}}function Gn(e,t,n,r,i=!1){if(r("Converting to SQLite..."),!E(e))throw new Error(`SCIP index not found at ${e} after indexing`);try{i||Vn(e,r);let a=Pe();if(!a)throw new Error("scip CLI is not available");ga(a,["expt-convert","--output",t,e],{env:n,stdio:"pipe",maxBuffer:50*1024*1024})}catch(a){let s=a instanceof Error?a.message:String(a);throw new Error(`Failed to convert SCIP index to SQLite: ${s}`,{cause:a})}}function Vn(e,t){let n=Pt(e);Yn(n,t)}function Yn(e,t){e.removedDefinitionOccurrences!==0&&t(`Sanitized ${e.removedDefinitionOccurrences} invalid definition occurrences across ${e.touchedDocuments} documents before SQLite conversion.`)}function z(e,t,n){let r=xa(e)||".scip",i=fe(e,r);return R(y(e),`${i}.${n+1}.${t}${r}`)}async function Va(e,t){for(let n=0;n<2;n++){let r=Ya(e,t);if(r)return r;let i=Ka(e);if(i&&Za(t.trigger,i)){if(t.onStatus(`Manual reindex preempting watcher refresh started at ${i.startedAt}.`),!await ts(i.pid))throw new Error(`Could not confirm the watcher's in-progress reindex (pid ${i.pid}) terminated for ${y(e)}; refusing to steal an active lock.`);_(e,{force:!0});continue}if(i&&!k(i.pid)){_(e,{force:!0});continue}throw new Error(`Another scip-query reindex is already running for ${y(e)}.`)}throw new Error(`Could not acquire scip-query reindex lock for ${y(e)}.`)}function Ya(e,t){let n;try{n=ya(e,"wx")}catch(i){if((typeof i=="object"&&i&&"code"in i?i.code:void 0)==="EEXIST")return null;throw i}let r={version:1,pid:process.pid,projectRoot:t.projectRoot,startedAt:new Date().toISOString(),trigger:t.trigger};return Pa(n,JSON.stringify(r)+`
256
- `),()=>{try{ma(n)}finally{_(e,{force:!0})}}}function Ka(e){try{let t=JSON.parse(ye(e,"utf-8"));return typeof t.pid!="number"||!Number.isInteger(t.pid)||t.pid<=0?null:{version:1,pid:t.pid,projectRoot:typeof t.projectRoot=="string"?t.projectRoot:y(e),startedAt:typeof t.startedAt=="string"?t.startedAt:"unknown",trigger:t.trigger}}catch{return null}}function Za(e,t){return e?.kind==="manual-cli"&&es(t?.trigger)}function es(e){return e?.kind==="watch-source"||e?.kind==="watch-git-head"||e?.kind==="watch-git-index"||e?.kind==="watch-git-state"}async function ts(e){return Un(e,"SIGTERM"),await Jn(e,2e3)?!0:(Un(e,"SIGKILL"),Jn(e,1e3))}function Un(e,t){try{process.kill(-e,t)}catch{try{process.kill(e,t)}catch{}}}async function Jn(e,t){let n=Date.now()+t;for(;Date.now()<n;){if(!k(e))return!0;await ns(50)}return!k(e)}function ns(e){return new Promise(t=>setTimeout(t,e))}function rs(e,t,n){return ot(e,t,n)}function Kn(e,t,n){return Object.fromEntries(t.map(r=>{let i=ke(r).markerFiles,a=r==="typescript"?{typescriptProjectMode:n.typescriptProjectMode??"single",typescriptProjects:at(n.typescriptProjects)}:{typescriptProjectMode:"single",typescriptProjects:[]},s=r==="clojure"?is(n.clojureConfigPath):void 0;return[r,{version:2,languages:[r],pnpmWorkspaces:r==="typescript"&&as(n),...a,clojureConfigPath:s,files:st(e,{language:r,markerFiles:i})}]}))}function is(e){return e?.trim()||void 0}function as(e){return e.typescriptProjectMode!=="workspace"&&e.pnpmWorkspaces===!0}function Qe(e,t){return R(y(e),"language-indexes",`${t}.scip`)}function Zn(e){return R(y(e),"language-indexes","typescript-projects")}function Se(e,t){return R(Zn(e),`${Ce(t)}.scip`)}function X(e){try{return JSON.parse(ye(e,"utf-8"))}catch{return null}}function er(e,t){try{let n=JSON.parse(ye(e,"utf-8"));return(n.version===2||n.version===3)&&n.status==="complete"&&j(n.fingerprint)===j(t)&&j([...n.indexedLanguages??[]].sort())===j(t.languages)}catch{return!1}}function Ve(e,t){O(e,t,{spacing:2,trailingNewline:!0})}function tr(e,t){try{let n=JSON.parse(ye(e,"utf-8"));if(n.version!==2&&n.version!==3)return;Ve(e,{...n,lastRefresh:t})}catch{}}function be(e){return{trigger:e.trigger??{kind:"unknown"},result:e.result,startedAt:new Date(e.start).toISOString(),completedAt:new Date().toISOString(),durationMs:Date.now()-e.start,indexedLanguages:e.languages?[...e.languages]:void 0,skipped:e.skipped?[...e.skipped]:void 0,error:e.error}}function j(e){return JSON.stringify(e)}var ar=process.env.SCIP_REINDEX_PROJECT_ROOT,sr=process.env.SCIP_REINDEX_OUTPUT_SCIP,or=process.env.SCIP_REINDEX_OUTPUT_DB,nr=process.env.SCIP_REINDEX_LANGUAGES,ss=mt(process.env.SCIP_REINDEX_INDEXER_CONCURRENCY),os=process.env.SCIP_REINDEX_PNPM_WORKSPACES==="1",rr=ps(process.env.SCIP_REINDEX_TYPESCRIPT_CONFIG),cs=process.env.SCIP_REINDEX_CLOJURE_CONFIG_PATH||void 0,ds=us(process.env.SCIP_REINDEX_TRIGGER_KIND),ls=process.env.SCIP_REINDEX_TRIGGER_DETAIL;(!ar||!sr||!or)&&(console.error("reindex-worker: missing required env vars"),process.exit(1));var ir=nr?nr.split(",").filter(Boolean):void 0;Hn({projectRoot:ar,outputScip:sr,outputDb:or,languages:ir?.length?ir:void 0,pnpmWorkspaces:os,typescriptProjectMode:rr.projectMode,typescriptProjects:rr.projects,clojureConfigPath:cs,indexerConcurrency:ss,trigger:{kind:ds,detail:ls||void 0},onStatus:e=>process.stderr.write(`[reindex] ${e}
257
- `)}).then(()=>{process.exit(0)}).catch(e=>{console.error(`reindex-worker error: ${e}`),process.exit(1)});function us(e){switch(e){case"manual-cli":case"setup":case"watch-source":case"watch-git-head":case"watch-git-index":case"watch-git-state":return e;default:return"unknown"}}function ps(e){if(!e)return{};try{let t=JSON.parse(e);if(!t||typeof t!="object"||Array.isArray(t))return{};let n=t,r=n.projectMode==="single"||n.projectMode==="workspace"?n.projectMode:void 0,i=Array.isArray(n.projects)?n.projects.filter(a=>typeof a=="string"&&a.trim()!==""):void 0;return{projectMode:r,projects:i&&i.length>0?i:void 0}}catch{return{}}}
256
+ `),()=>{try{ma(n)}finally{_(e,{force:!0})}}}function Ka(e){try{let t=JSON.parse(ye(e,"utf-8"));return typeof t.pid!="number"||!Number.isInteger(t.pid)||t.pid<=0?null:{version:1,pid:t.pid,projectRoot:typeof t.projectRoot=="string"?t.projectRoot:y(e),startedAt:typeof t.startedAt=="string"?t.startedAt:"unknown",trigger:t.trigger}}catch{return null}}function Za(e,t){return e?.kind==="manual-cli"&&es(t?.trigger)}function es(e){return e?.kind==="watch-source"||e?.kind==="watch-git-head"||e?.kind==="watch-git-index"||e?.kind==="watch-git-state"}async function ts(e){return Un(e,"SIGTERM"),await Jn(e,2e3)?!0:(Un(e,"SIGKILL"),Jn(e,1e3))}function Un(e,t){try{process.kill(-e,t)}catch{try{process.kill(e,t)}catch{}}}async function Jn(e,t){let n=Date.now()+t;for(;Date.now()<n;){if(!k(e))return!0;await ns(50)}return!k(e)}function ns(e){return new Promise(t=>setTimeout(t,e))}function Kn(e,t,n){return Object.fromEntries(t.map(r=>{let i=ke(r).markerFiles,a=r==="typescript"?{typescriptProjectMode:n.typescriptProjectMode??"single",typescriptProjects:at(n.typescriptProjects)}:{typescriptProjectMode:"single",typescriptProjects:[]},s=r==="clojure"?rs(n.clojureConfigPath):void 0;return[r,{version:2,languages:[r],pnpmWorkspaces:r==="typescript"&&is(n),...a,clojureConfigPath:s,files:st(e,{language:r,markerFiles:i})}]}))}function rs(e){return e?.trim()||void 0}function is(e){return e.typescriptProjectMode!=="workspace"&&e.pnpmWorkspaces===!0}function Qe(e,t){return R(y(e),"language-indexes",`${t}.scip`)}function Zn(e){return R(y(e),"language-indexes","typescript-projects")}function Se(e,t){return R(Zn(e),`${Ce(t)}.scip`)}function X(e){try{return JSON.parse(ye(e,"utf-8"))}catch{return null}}function er(e,t){try{let n=JSON.parse(ye(e,"utf-8"));return(n.version===2||n.version===3)&&n.status==="complete"&&j(n.fingerprint)===j(t)&&j([...n.indexedLanguages??[]].sort())===j(t.languages)}catch{return!1}}function Ve(e,t){O(e,t,{spacing:2,trailingNewline:!0})}function tr(e,t){try{let n=JSON.parse(ye(e,"utf-8"));if(n.version!==2&&n.version!==3)return;Ve(e,{...n,lastRefresh:t})}catch{}}function be(e){return{trigger:e.trigger??{kind:"unknown"},result:e.result,startedAt:new Date(e.start).toISOString(),completedAt:new Date().toISOString(),durationMs:Date.now()-e.start,indexedLanguages:e.languages?[...e.languages]:void 0,skipped:e.skipped?[...e.skipped]:void 0,error:e.error}}function j(e){return JSON.stringify(e)}var ar=process.env.SCIP_REINDEX_PROJECT_ROOT,sr=process.env.SCIP_REINDEX_OUTPUT_SCIP,or=process.env.SCIP_REINDEX_OUTPUT_DB,nr=process.env.SCIP_REINDEX_LANGUAGES,as=mt(process.env.SCIP_REINDEX_INDEXER_CONCURRENCY),ss=process.env.SCIP_REINDEX_PNPM_WORKSPACES==="1",rr=us(process.env.SCIP_REINDEX_TYPESCRIPT_CONFIG),os=process.env.SCIP_REINDEX_CLOJURE_CONFIG_PATH||void 0,cs=ls(process.env.SCIP_REINDEX_TRIGGER_KIND),ds=process.env.SCIP_REINDEX_TRIGGER_DETAIL;(!ar||!sr||!or)&&(console.error("reindex-worker: missing required env vars"),process.exit(1));var ir=nr?nr.split(",").filter(Boolean):void 0;Hn({projectRoot:ar,outputScip:sr,outputDb:or,languages:ir?.length?ir:void 0,pnpmWorkspaces:ss,typescriptProjectMode:rr.projectMode,typescriptProjects:rr.projects,clojureConfigPath:os,indexerConcurrency:as,trigger:{kind:cs,detail:ds||void 0},onStatus:e=>process.stderr.write(`[reindex] ${e}
257
+ `)}).then(()=>{process.exit(0)}).catch(e=>{console.error(`reindex-worker error: ${e}`),process.exit(1)});function ls(e){switch(e){case"manual-cli":case"setup":case"watch-source":case"watch-git-head":case"watch-git-index":case"watch-git-state":return e;default:return"unknown"}}function us(e){if(!e)return{};try{let t=JSON.parse(e);if(!t||typeof t!="object"||Array.isArray(t))return{};let n=t,r=n.projectMode==="single"||n.projectMode==="workspace"?n.projectMode:void 0,i=Array.isArray(n.projects)?n.projects.filter(a=>typeof a=="string"&&a.trim()!==""):void 0;return{projectMode:r,projects:i&&i.length>0?i:void 0}}catch{return{}}}
258
258
  //# sourceMappingURL=reindex-worker.js.map