agentic-qe 3.15.7 → 3.15.9

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 (489) hide show
  1. package/.claude/skills/skills-manifest.json +1 -1
  2. package/CHANGELOG.md +305 -0
  3. package/assets/skills/skills-manifest.json +1 -1
  4. package/dist/agents/claim-verifier/claim-verifier-service.js +13 -8
  5. package/dist/bridge/captured-experience-bridge.js +12 -13
  6. package/dist/cli/bundle.js +6 -6
  7. package/dist/cli/chunks/adapter-R2Q4QGXQ.js +2 -0
  8. package/dist/cli/chunks/{agent-booster-wasm-OS5G7KMQ.js → agent-booster-wasm-427FRKWG.js} +2 -2
  9. package/dist/cli/chunks/{agent-handler-PI4I7PME.js → agent-handler-RIYHTHVZ.js} +2 -2
  10. package/dist/cli/chunks/{agent-memory-branch-J7TXHX4U.js → agent-memory-branch-WSUCUHOO.js} +2 -2
  11. package/dist/cli/chunks/aqe-learning-engine-3RENLQWP.js +2 -0
  12. package/dist/cli/chunks/{arena-OWUGXKNT.js → arena-KRIBMIXX.js} +2 -2
  13. package/dist/cli/chunks/{arena-FXESDCFR.js → arena-YAJZX6MC.js} +4 -4
  14. package/dist/cli/chunks/{audit-EPAWLYIZ.js → audit-7ZNOXWP3.js} +3 -3
  15. package/dist/cli/chunks/base-67DXSAYM.js +2 -0
  16. package/dist/cli/chunks/{better-sqlite3-IYVR5EQY.js → better-sqlite3-ZQAT4I6H.js} +2 -2
  17. package/dist/cli/chunks/{brain-handler-3W2E6TC6.js → brain-handler-452WCPZC.js} +3 -3
  18. package/dist/cli/chunks/{branch-enumerator-HU7VACJ4.js → branch-enumerator-IJFXJRPN.js} +2 -2
  19. package/dist/cli/chunks/{browser-72XOR6E2.js → browser-CT3MTV6G.js} +2 -2
  20. package/dist/cli/chunks/browser-workflow-NDXRROWZ.js +2 -0
  21. package/dist/cli/chunks/{chunk-WXI2STKQ.js → chunk-2BA45H64.js} +2 -2
  22. package/dist/cli/chunks/{chunk-DGK6GQMO.js → chunk-2HL3UM5P.js} +2 -2
  23. package/dist/cli/chunks/{chunk-LGBN7TKC.js → chunk-2I2UPJS7.js} +2 -2
  24. package/dist/cli/chunks/{chunk-ZRLNACPY.js → chunk-2TDIS6YK.js} +2 -2
  25. package/dist/cli/chunks/{chunk-34JLY3U6.js → chunk-2URBI52G.js} +2 -2
  26. package/dist/cli/chunks/{chunk-K7W55B7Q.js → chunk-2XITOPYV.js} +2 -2
  27. package/dist/cli/chunks/{chunk-I7H4IP7T.js → chunk-2YH62JCN.js} +2 -2
  28. package/dist/cli/chunks/{chunk-HPG7354V.js → chunk-32UTLDNY.js} +2 -2
  29. package/dist/cli/chunks/{chunk-C2CUPJGR.js → chunk-37BIGMJI.js} +1 -1
  30. package/dist/cli/chunks/{chunk-2RJYA6WK.js → chunk-3CJCROMW.js} +2 -2
  31. package/dist/cli/chunks/{chunk-CWPRU7ZI.js → chunk-3LYU7BLY.js} +2 -2
  32. package/dist/cli/chunks/{chunk-24CENUT4.js → chunk-47TYABPD.js} +3 -3
  33. package/dist/cli/chunks/{chunk-WUV5RZUI.js → chunk-47V7FQGX.js} +2 -2
  34. package/dist/cli/chunks/{chunk-IWQQIXHO.js → chunk-4JCY45KV.js} +2 -2
  35. package/dist/cli/chunks/{chunk-ZTMZFF25.js → chunk-4SUOVLJ6.js} +2 -2
  36. package/dist/cli/chunks/{chunk-CIFWOMNX.js → chunk-4URT6JO2.js} +1 -1
  37. package/dist/cli/chunks/{chunk-5Q22XPTH.js → chunk-4V27J6YN.js} +2 -2
  38. package/dist/cli/chunks/{chunk-SX2YSHE7.js → chunk-4W4DYVSH.js} +1 -1
  39. package/dist/cli/chunks/chunk-55HRSNGN.js +2 -0
  40. package/dist/cli/chunks/{chunk-F62EKVVC.js → chunk-5D2I7JUP.js} +2 -2
  41. package/dist/cli/chunks/{chunk-XXAVQACL.js → chunk-5JWGCIQW.js} +1 -1
  42. package/dist/cli/chunks/chunk-5LAAZLUC.js +4 -0
  43. package/dist/cli/chunks/{chunk-EDU72RTW.js → chunk-5NS3USRW.js} +1 -1
  44. package/dist/cli/chunks/{chunk-BTYKGVJ5.js → chunk-6EPHNJTL.js} +1 -1
  45. package/dist/cli/chunks/{chunk-JVYPXW6Y.js → chunk-6OOYIO3W.js} +2 -2
  46. package/dist/cli/chunks/{chunk-PG64YV6C.js → chunk-6PXA2BQJ.js} +58 -58
  47. package/dist/cli/chunks/{chunk-IARSGAG7.js → chunk-6YL6JOQB.js} +2 -2
  48. package/dist/cli/chunks/{chunk-LDXQRNTT.js → chunk-72AMFDC7.js} +1 -1
  49. package/dist/cli/chunks/{chunk-Z3VJLWRR.js → chunk-763SUL4B.js} +2 -2
  50. package/dist/cli/chunks/{chunk-EL75G2A3.js → chunk-7DMA5NYL.js} +1 -1
  51. package/dist/cli/chunks/{chunk-J43DV3ME.js → chunk-7JKB3Q7O.js} +1 -1
  52. package/dist/cli/chunks/{chunk-ONVALAZN.js → chunk-7KII4CQG.js} +2 -2
  53. package/dist/cli/chunks/{chunk-AAA4SHEG.js → chunk-7QGYJ5OY.js} +1 -1
  54. package/dist/cli/chunks/{chunk-MMXG3LL6.js → chunk-7QTB5VJZ.js} +2 -2
  55. package/dist/cli/chunks/{chunk-BB7OLQKO.js → chunk-7X2Y727E.js} +1 -1
  56. package/dist/cli/chunks/{chunk-VNW5Q2CX.js → chunk-A4RU67VX.js} +2 -2
  57. package/dist/cli/chunks/{chunk-YFOBQSOW.js → chunk-A6YIH4C4.js} +2 -2
  58. package/dist/cli/chunks/{chunk-MJJC6HUK.js → chunk-ABFDB4X3.js} +1 -1
  59. package/dist/cli/chunks/{chunk-MHZPC4HJ.js → chunk-AJ4YDSOI.js} +2 -2
  60. package/dist/cli/chunks/{chunk-OA4GR3EZ.js → chunk-AOFO4N32.js} +2 -2
  61. package/dist/cli/chunks/{chunk-EB2PP6X2.js → chunk-AQTVVLNP.js} +1 -1
  62. package/dist/cli/chunks/chunk-AR2E4B7K.js +6 -0
  63. package/dist/cli/chunks/{chunk-N4PMPSJJ.js → chunk-AVB5QY2Q.js} +2 -2
  64. package/dist/cli/chunks/{chunk-HLZATDD2.js → chunk-BHKXMIWX.js} +2 -2
  65. package/dist/cli/chunks/{chunk-C2MDBBFF.js → chunk-BXO536GT.js} +3 -3
  66. package/dist/cli/chunks/{chunk-WTLIEBDH.js → chunk-C6RTMTEH.js} +1 -1
  67. package/dist/cli/chunks/{chunk-MNZFEIE5.js → chunk-CTZJUV5I.js} +1 -1
  68. package/dist/cli/chunks/{chunk-XEWXYGJI.js → chunk-D6XVGFTI.js} +2 -2
  69. package/dist/cli/chunks/{chunk-Y4SAWE45.js → chunk-DDPPSSHW.js} +1 -1
  70. package/dist/cli/chunks/{chunk-KPOPBUUJ.js → chunk-DGTLJNJH.js} +2 -2
  71. package/dist/cli/chunks/{chunk-6JT73S5B.js → chunk-DINZR5CF.js} +1 -1
  72. package/dist/cli/chunks/{chunk-HTWIGQL4.js → chunk-EFBLP43U.js} +2 -2
  73. package/dist/cli/chunks/chunk-ETG7O5E5.js +5 -0
  74. package/dist/cli/chunks/{chunk-2AYBYXOA.js → chunk-F2SQPP6U.js} +2 -2
  75. package/dist/cli/chunks/{chunk-V2SAEMZY.js → chunk-F3PQZX44.js} +1 -1
  76. package/dist/cli/chunks/{chunk-JPHDMHFG.js → chunk-F4JYIRW2.js} +2 -2
  77. package/dist/cli/chunks/{chunk-REEIFA6A.js → chunk-FJ4VTLLK.js} +2 -2
  78. package/dist/cli/chunks/{chunk-PTK66HEY.js → chunk-FL3OYGCS.js} +2 -2
  79. package/dist/cli/chunks/{chunk-PEKDSJBC.js → chunk-FLASM2XB.js} +2 -2
  80. package/dist/cli/chunks/{chunk-G762PEFO.js → chunk-FV3NHVC7.js} +22 -22
  81. package/dist/cli/chunks/{chunk-FTTFJ7SJ.js → chunk-FV7VAG74.js} +1 -1
  82. package/dist/cli/chunks/{chunk-2YVJ5OUL.js → chunk-G3BKZNFL.js} +8 -8
  83. package/dist/cli/chunks/{chunk-MDC4G323.js → chunk-GBUIG3FS.js} +1 -1
  84. package/dist/cli/chunks/{chunk-DCJW2DPL.js → chunk-GCWSX2NY.js} +4 -4
  85. package/dist/cli/chunks/{chunk-VCA6YYII.js → chunk-GII5WVAK.js} +1 -1
  86. package/dist/cli/chunks/{chunk-HXBAQKMH.js → chunk-GKPQ2GRR.js} +2 -2
  87. package/dist/cli/chunks/chunk-GR3JYE5A.js +2 -0
  88. package/dist/cli/chunks/{chunk-ZUMDDMDE.js → chunk-H3KBIWTO.js} +2 -2
  89. package/dist/cli/chunks/{chunk-ECSLJJOQ.js → chunk-HAROIAJE.js} +1 -1
  90. package/dist/cli/chunks/{chunk-ICPALF4Q.js → chunk-HCYQHWI2.js} +2 -2
  91. package/dist/cli/chunks/{chunk-V5NGBQAQ.js → chunk-HGTWAZWU.js} +2 -2
  92. package/dist/cli/chunks/{chunk-YK3NOC2R.js → chunk-HTZJSQ3C.js} +2 -2
  93. package/dist/cli/chunks/{chunk-IYQ7XNE5.js → chunk-HWK5L7IJ.js} +2 -2
  94. package/dist/cli/chunks/{chunk-HSDOOFV7.js → chunk-HZ5NC6U5.js} +1 -1
  95. package/dist/cli/chunks/{chunk-M63QB466.js → chunk-I6S35FRO.js} +2 -2
  96. package/dist/cli/chunks/{chunk-LMEU64TR.js → chunk-ICP2ORGI.js} +2 -2
  97. package/dist/cli/chunks/{chunk-PXZKPUW6.js → chunk-IFEIY3NQ.js} +2 -2
  98. package/dist/cli/chunks/{chunk-OJEZNLB6.js → chunk-J3DTDJDT.js} +2 -2
  99. package/dist/cli/chunks/chunk-J3WGK22W.js +2 -0
  100. package/dist/cli/chunks/{chunk-SQHLC6I5.js → chunk-J5KNRVXR.js} +1 -1
  101. package/dist/cli/chunks/{chunk-RORZ5O5Z.js → chunk-JAV5WPSY.js} +2 -2
  102. package/dist/cli/chunks/{chunk-SSP2B2WR.js → chunk-JEP4ULR6.js} +2 -2
  103. package/dist/cli/chunks/{chunk-6FEQ73BF.js → chunk-JK2ME6IT.js} +2 -2
  104. package/dist/cli/chunks/chunk-JNNZK7KH.js +2 -0
  105. package/dist/cli/chunks/{chunk-RXAFLK34.js → chunk-JP4P3P3D.js} +2 -2
  106. package/dist/cli/chunks/{chunk-JY4AIEZ7.js → chunk-JUVHZG7I.js} +1 -1
  107. package/dist/cli/chunks/{chunk-UBYCR3O4.js → chunk-JWGRWMZP.js} +2 -2
  108. package/dist/cli/chunks/{chunk-6BO3WCK7.js → chunk-K5DJXMAA.js} +2 -2
  109. package/dist/cli/chunks/{chunk-MKFQNCXI.js → chunk-KFUUIAR4.js} +2 -2
  110. package/dist/cli/chunks/chunk-KHSRIPBP.js +180 -0
  111. package/dist/cli/chunks/{chunk-UY3REQOK.js → chunk-KIKWJM6J.js} +2 -2
  112. package/dist/cli/chunks/{chunk-YUC7RJGR.js → chunk-KIXYKUCI.js} +1 -1
  113. package/dist/cli/chunks/{chunk-IC2WSSD5.js → chunk-KLGYIEJK.js} +3 -3
  114. package/dist/cli/chunks/{chunk-DVPGBDBP.js → chunk-KR3M44CF.js} +3 -3
  115. package/dist/cli/chunks/chunk-KTSLTZSG.js +2 -0
  116. package/dist/cli/chunks/{chunk-Y6A46M3B.js → chunk-KVBEGOJE.js} +2 -2
  117. package/dist/cli/chunks/{chunk-PZG3542B.js → chunk-L42JPFCC.js} +2 -2
  118. package/dist/cli/chunks/{chunk-J26GADQE.js → chunk-LCJTEUDC.js} +181 -181
  119. package/dist/cli/chunks/{chunk-3JD2USUH.js → chunk-LEAKYZ37.js} +2 -2
  120. package/dist/cli/chunks/{chunk-UCLN6AME.js → chunk-LMU5DUDK.js} +1 -1
  121. package/dist/cli/chunks/{chunk-EV2BYY6T.js → chunk-MZS32SYS.js} +1 -1
  122. package/dist/cli/chunks/{chunk-LVEX4GID.js → chunk-N3KEY4XJ.js} +2 -2
  123. package/dist/cli/chunks/{chunk-XNSQZ3O7.js → chunk-N3NP6PTT.js} +2 -2
  124. package/dist/cli/chunks/{chunk-QVG4ZDXX.js → chunk-N5PDFGCQ.js} +2 -2
  125. package/dist/cli/chunks/{chunk-6PKCQXEW.js → chunk-NDKLQW6N.js} +2 -2
  126. package/dist/cli/chunks/{chunk-6AYRAOCA.js → chunk-NHZIWIQZ.js} +2 -2
  127. package/dist/cli/chunks/{chunk-H4WHDFB5.js → chunk-NTAD5UX4.js} +2 -2
  128. package/dist/cli/chunks/{chunk-JYXOFN3E.js → chunk-O3JLOVZX.js} +2 -2
  129. package/dist/cli/chunks/{chunk-ZLVQSEZK.js → chunk-OCESWNAZ.js} +3 -3
  130. package/dist/cli/chunks/{chunk-7EX4DEQR.js → chunk-OG2UI6A3.js} +2 -2
  131. package/dist/cli/chunks/{chunk-3RM46XFP.js → chunk-OXTFSIGN.js} +1 -1
  132. package/dist/cli/chunks/{chunk-44DPYNPE.js → chunk-OXZLKP6C.js} +1 -1
  133. package/dist/cli/chunks/{chunk-TU4LIIOP.js → chunk-P2CXVNKK.js} +2 -2
  134. package/dist/cli/chunks/{chunk-LDZWIV2O.js → chunk-P73W2K7T.js} +1 -1
  135. package/dist/cli/chunks/{chunk-56ZKQYZY.js → chunk-PBZI2ZPV.js} +3 -3
  136. package/dist/cli/chunks/{chunk-MNCF643K.js → chunk-PMCRCEW5.js} +2 -2
  137. package/dist/cli/chunks/{chunk-4G2VNW4C.js → chunk-PVIA2FPD.js} +2 -2
  138. package/dist/cli/chunks/{chunk-MRHM4COP.js → chunk-PX2B5TS2.js} +2 -2
  139. package/dist/cli/chunks/{chunk-HZFT3P5B.js → chunk-Q3JVJRVJ.js} +1 -1
  140. package/dist/cli/chunks/{chunk-GY2SAIXP.js → chunk-QQ5SZH4D.js} +2 -2
  141. package/dist/cli/chunks/{chunk-LP4AS2E4.js → chunk-QTVWUQTB.js} +1 -1
  142. package/dist/cli/chunks/{chunk-W4X2VTIY.js → chunk-REUFWGMA.js} +2 -2
  143. package/dist/cli/chunks/{chunk-FVBFASOD.js → chunk-SNBYYO6F.js} +2 -2
  144. package/dist/cli/chunks/{chunk-RNYX4CPI.js → chunk-SVHUYVUR.js} +2 -2
  145. package/dist/cli/chunks/{chunk-AXO7OOOA.js → chunk-THAY7WHO.js} +2 -2
  146. package/dist/cli/chunks/{chunk-QWLTHFZW.js → chunk-TNMQVG4A.js} +2 -2
  147. package/dist/cli/chunks/{chunk-JFPXCQNP.js → chunk-TSYQDRNK.js} +1 -1
  148. package/dist/cli/chunks/{chunk-JK6B3ULP.js → chunk-TUYJ53V4.js} +2 -2
  149. package/dist/cli/chunks/{chunk-PUECC4WI.js → chunk-UNUTC6TX.js} +2 -2
  150. package/dist/cli/chunks/{chunk-ED32XJ5R.js → chunk-UOJBR4J3.js} +2 -2
  151. package/dist/cli/chunks/{chunk-CXTJ47QS.js → chunk-UOWHE77F.js} +2 -2
  152. package/dist/cli/chunks/{chunk-5KCBX225.js → chunk-UYLYMWV5.js} +2 -2
  153. package/dist/cli/chunks/{chunk-QNQSM2OG.js → chunk-V5PXQSFS.js} +2 -2
  154. package/dist/cli/chunks/{chunk-VKPKYMCT.js → chunk-VCMINU7K.js} +2 -2
  155. package/dist/cli/chunks/{chunk-QQT6QENQ.js → chunk-VQHVHVSF.js} +2 -2
  156. package/dist/cli/chunks/{chunk-634D2ENF.js → chunk-VRGCKBF7.js} +2 -2
  157. package/dist/cli/chunks/{chunk-T6W5APYP.js → chunk-VU2EL424.js} +1 -1
  158. package/dist/cli/chunks/{chunk-JY4WLN3K.js → chunk-VXZJOKOX.js} +2 -2
  159. package/dist/cli/chunks/{chunk-NZQPP533.js → chunk-VYLM2YV5.js} +3 -3
  160. package/dist/cli/chunks/{chunk-PQV7E7XH.js → chunk-W32YU3VI.js} +2 -2
  161. package/dist/cli/chunks/{chunk-RRPYWBFX.js → chunk-W5VJRDDG.js} +2 -2
  162. package/dist/cli/chunks/{chunk-7UCVYYWL.js → chunk-WGDR2KIR.js} +2 -2
  163. package/dist/cli/chunks/{chunk-2423JAA5.js → chunk-WRRCQ2UE.js} +1 -1
  164. package/dist/cli/chunks/{chunk-RCYLCA7E.js → chunk-XDBD4GXO.js} +2 -2
  165. package/dist/cli/chunks/{chunk-PYHYOKYT.js → chunk-XOLDMK23.js} +2 -2
  166. package/dist/cli/chunks/{chunk-5KS7HA37.js → chunk-XOVNZT7F.js} +1 -1
  167. package/dist/cli/chunks/{chunk-5PBRBS7D.js → chunk-XQ3DDY7X.js} +2 -2
  168. package/dist/cli/chunks/{chunk-4DIZ5BT6.js → chunk-XUIA5KMS.js} +2 -2
  169. package/dist/cli/chunks/{chunk-G7YTZTGU.js → chunk-XWIUFYM3.js} +1 -1
  170. package/dist/cli/chunks/{chunk-B7M323VL.js → chunk-XYCKHYBM.js} +2 -2
  171. package/dist/cli/chunks/{chunk-6OS7HREG.js → chunk-XZJ2O3VC.js} +1 -1
  172. package/dist/cli/chunks/{chunk-BTIBXGVQ.js → chunk-YRBBBUJX.js} +5 -5
  173. package/dist/cli/chunks/{chunk-MQ6OF6DU.js → chunk-YZGSJG34.js} +1 -1
  174. package/dist/cli/chunks/{chunk-XTJMY3KS.js → chunk-YZYDTABJ.js} +1 -1
  175. package/dist/cli/chunks/{chunk-LQOVA4YX.js → chunk-ZANDSVCK.js} +2 -2
  176. package/dist/cli/chunks/{chunk-2E3XWKEU.js → chunk-ZBDRLF43.js} +2 -2
  177. package/dist/cli/chunks/{chunk-UUHIEM2M.js → chunk-ZVSLCEVC.js} +3 -3
  178. package/dist/cli/chunks/{chunk-Q2T5FXEA.js → chunk-ZXBCCO2H.js} +2 -2
  179. package/dist/cli/chunks/{ci-5HEXJZ2C.js → ci-7SGRCFPS.js} +2 -2
  180. package/dist/cli/chunks/{ci-config-WU4NPDAM.js → ci-config-MX3URPZA.js} +2 -2
  181. package/dist/cli/chunks/{ci-output-BJQVXX5E.js → ci-output-M47NJY6D.js} +2 -2
  182. package/dist/cli/chunks/{circuit-breaker-3BMGTQCB.js → circuit-breaker-5GAK45SW.js} +2 -2
  183. package/dist/cli/chunks/{claude-flow-setup-GVDGJWMU.js → claude-flow-setup-YXYSRH4Y.js} +2 -2
  184. package/dist/cli/chunks/client-ZP3CTVRF.js +2 -0
  185. package/dist/cli/chunks/{cline-installer-V4MRGWVA.js → cline-installer-DLJ5QD5N.js} +2 -2
  186. package/dist/cli/chunks/{code-A3TGQPEO.js → code-ONKLMVQ2.js} +25 -24
  187. package/dist/cli/chunks/{code-index-extractor-YJQSYWD3.js → code-index-extractor-2232LGZN.js} +2 -2
  188. package/dist/cli/chunks/{codex-installer-7N7UQPAH.js → codex-installer-UOWLYCMH.js} +2 -2
  189. package/dist/cli/chunks/{completions-PPGVYLZS.js → completions-MHX7GCC7.js} +2 -2
  190. package/dist/cli/chunks/{complexity-analyzer-XZTFLYV5.js → complexity-analyzer-43ZUJKZU.js} +2 -2
  191. package/dist/cli/chunks/{continuedev-installer-Z5I57RAH.js → continuedev-installer-6Q5JR4FF.js} +2 -2
  192. package/dist/cli/chunks/{copilot-installer-F5YZ6BHB.js → copilot-installer-CZUMVHSI.js} +2 -2
  193. package/dist/cli/chunks/core-handlers-JSRXQWPE.js +2 -0
  194. package/dist/cli/chunks/{cost-tracker-GO33ZQAP.js → cost-tracker-VS5ZW3XN.js} +2 -2
  195. package/dist/cli/chunks/{coverage-GSHKLY74.js → coverage-VWKTWZ6D.js} +3 -3
  196. package/dist/cli/chunks/cross-domain-router-7UKODQWG.js +2 -0
  197. package/dist/cli/chunks/{cursor-installer-JJ7IVJZB.js → cursor-installer-YIFEMORH.js} +2 -2
  198. package/dist/cli/chunks/{daemon-IRL7QRNE.js → daemon-SHWJSJW5.js} +7 -7
  199. package/dist/cli/chunks/daemon-YIFT46FH.js +34 -0
  200. package/dist/cli/chunks/{dag-attention-scheduler-ORXSUHPA.js → dag-attention-scheduler-TCC2WM46.js} +2 -2
  201. package/dist/cli/chunks/{detect-RHU62KRI.js → detect-IGTWSQMA.js} +2 -2
  202. package/dist/cli/chunks/{dist-node-3VKV4Z6C.js → dist-node-TCOTJVQX.js} +2 -2
  203. package/dist/cli/chunks/{domain-handler-SFIML4FK.js → domain-handler-55ZVYODR.js} +2 -2
  204. package/dist/cli/chunks/{domain-plugins-CJ4FA3OC.js → domain-plugins-GJRWOHQP.js} +2 -2
  205. package/dist/cli/chunks/{domain-transfer-BCRKPCAA.js → domain-transfer-6EF75EKU.js} +2 -2
  206. package/dist/cli/chunks/dream-UDLM6M55.js +2 -0
  207. package/dist/cli/chunks/{embed-and-insert-pattern-VL3HFLPV.js → embed-and-insert-pattern-XAMNIKQL.js} +2 -2
  208. package/dist/cli/chunks/{eval-GGKRI4P5.js → eval-GO22R4OZ.js} +2 -2
  209. package/dist/cli/chunks/{experience-capture-middleware-F72TIRQY.js → experience-capture-middleware-F2BRMJ3Y.js} +3 -3
  210. package/dist/cli/chunks/{fast-paths-7KOOF3MA.js → fast-paths-6RGPYALD.js} +2 -2
  211. package/dist/cli/chunks/{feature-flags-FNHBTHBH.js → feature-flags-MIWQIOHU.js} +2 -2
  212. package/dist/cli/chunks/{feature-flags-IOZEWWFU.js → feature-flags-ZGS3KLPH.js} +2 -2
  213. package/dist/cli/chunks/file-discovery-THWOUQ7Z.js +2 -0
  214. package/dist/cli/chunks/fleet-ADL57COA.js +44 -0
  215. package/dist/cli/chunks/{gnn-wrapper-OH2DOQP7.js → gnn-wrapper-ALBJVW6T.js} +2 -2
  216. package/dist/cli/chunks/{heartbeat-handler-W67NXTNE.js → heartbeat-handler-ZMM53NDY.js} +4 -4
  217. package/dist/cli/chunks/heartbeat-scheduler-HGOC5KH3.js +2 -0
  218. package/dist/cli/chunks/hnsw-adapter-EPSA6AP7.js +2 -0
  219. package/dist/cli/chunks/hnsw-index-RMFOPYGY.js +2 -0
  220. package/dist/cli/chunks/{hnsw-legacy-bridge-6MLLOGOE.js → hnsw-legacy-bridge-RYUJPA7B.js} +2 -2
  221. package/dist/cli/chunks/{hnswlib-node-4UDISJ3G.js → hnswlib-node-XM6XF3YV.js} +2 -2
  222. package/dist/cli/chunks/{hooks-NOQJWQ4P.js → hooks-X62O7TJO.js} +10 -10
  223. package/dist/cli/chunks/hybrid-backend-NZ3G4WBX.js +2 -0
  224. package/dist/cli/chunks/{hypergraph-engine-2OD3APVP.js → hypergraph-engine-ZBWUPTVD.js} +2 -2
  225. package/dist/cli/chunks/{hypergraph-handler-5AZGMBUM.js → hypergraph-handler-DUMF6SJV.js} +3 -3
  226. package/dist/cli/chunks/impact-analyzer-WZC6NHFP.js +2 -0
  227. package/dist/cli/chunks/{init-guard-SMGJ45PW.js → init-guard-S4I2R46S.js} +2 -2
  228. package/dist/cli/chunks/{init-handler-5T4MP2NM.js → init-handler-L4KJHVWS.js} +6 -6
  229. package/dist/cli/chunks/init-wizard-422UZYQ5.js +2 -0
  230. package/dist/cli/chunks/kernel-N7PJ6FCE.js +2 -0
  231. package/dist/cli/chunks/{kilocode-installer-RLZYLVQJ.js → kilocode-installer-GNNB5FCZ.js} +2 -2
  232. package/dist/cli/chunks/{kiro-installer-LFZOC7VD.js → kiro-installer-HR6ZAH7T.js} +2 -2
  233. package/dist/cli/chunks/knowledge-graph-SZCVQF37.js +2 -0
  234. package/dist/cli/chunks/{learning-XRPGLUWR.js → learning-4IEEOHJS.js} +3 -3
  235. package/dist/cli/chunks/{llm-router-OMK5HYPH.js → llm-router-ZFMORP36.js} +4 -4
  236. package/dist/cli/chunks/llm-router-service-4DE5WDUZ.js +2 -0
  237. package/dist/cli/chunks/{load-XADC7KCU.js → load-ZM43WGDO.js} +2 -2
  238. package/dist/cli/chunks/load-test-POMIF4Q4.js +2 -0
  239. package/dist/cli/chunks/{mcp-PIBKSSVU.js → mcp-CRZKZE37.js} +2 -2
  240. package/dist/cli/chunks/{memory-AP7EZERS.js → memory-W5FZGVAD.js} +5 -5
  241. package/dist/cli/chunks/memory-backend-4P6AHSOY.js +2 -0
  242. package/dist/cli/chunks/memory-handlers-NK6NV3GE.js +2 -0
  243. package/dist/cli/chunks/{multi-model-executor-7JJ2FZ33.js → multi-model-executor-SXXGAQ2G.js} +2 -2
  244. package/dist/cli/chunks/{opencode-installer-ZZZ6EBYJ.js → opencode-installer-PIRBUAB5.js} +2 -2
  245. package/dist/cli/chunks/{orchestrator-2H2YKSGJ.js → orchestrator-H5SQCQTB.js} +11 -10
  246. package/dist/cli/chunks/pattern-null-store-CCHQHGQG.js +2 -0
  247. package/dist/cli/chunks/{pattern-usage-recorder-7MJJWC2Z.js → pattern-usage-recorder-XZTWDI2T.js} +2 -2
  248. package/dist/cli/chunks/{pipeline-LIE5BWQY.js → pipeline-5LMLBIJ7.js} +2 -2
  249. package/dist/cli/chunks/{platform-SMYUNLGX.js → platform-KJDABL5C.js} +2 -2
  250. package/dist/cli/chunks/{plugin-LJDIXQNT.js → plugin-V4KSBVVM.js} +2 -2
  251. package/dist/cli/chunks/{prime-radiant-advanced-wasm-RIDNE5D2.js → prime-radiant-advanced-wasm-JDHTKQAT.js} +2 -2
  252. package/dist/cli/chunks/project-root-X72FSM2F.js +2 -0
  253. package/dist/cli/chunks/protocol-executor-QW6XN6QN.js +2 -0
  254. package/dist/cli/chunks/{protocol-handler-YVM66DLI.js → protocol-handler-BNRONTQV.js} +2 -2
  255. package/dist/cli/chunks/{prove-ZBDT52GD.js → prove-ELLL6XMX.js} +2 -2
  256. package/dist/cli/chunks/qe-reasoning-bank-ZD3WF647.js +2 -0
  257. package/dist/cli/chunks/{quality-DUKXGDDO.js → quality-NH2QA4D4.js} +2 -2
  258. package/dist/cli/chunks/{quality-gate-SM3RXF4V.js → quality-gate-JTKLF7GW.js} +3 -3
  259. package/dist/cli/chunks/queen-coordinator-S4U4MKK2.js +2 -0
  260. package/dist/cli/chunks/{real-embeddings-4QLQZDB5.js → real-embeddings-J3KCKLPB.js} +2 -2
  261. package/dist/cli/chunks/{ref-validation-M3EO32YQ.js → ref-validation-HNXQRP4F.js} +2 -2
  262. package/dist/cli/chunks/{roocode-installer-S6Q5OLV5.js → roocode-installer-COJ6CX6S.js} +2 -2
  263. package/dist/cli/chunks/router-CXZKOOTR.js +2 -0
  264. package/dist/cli/chunks/routing-feedback-IYFANYY5.js +2 -0
  265. package/dist/cli/chunks/{routing-handler-55FMUACP.js → routing-handler-WM33ZILE.js} +2 -2
  266. package/dist/cli/chunks/{ruvector-commands-QATKAAPK.js → ruvector-commands-BBLXEA7A.js} +2 -2
  267. package/dist/cli/chunks/rvf-dual-writer-HCLQ5WUQ.js +2 -0
  268. package/dist/cli/chunks/rvf-migration-adapter-XCLUWOO3.js +2 -0
  269. package/dist/cli/chunks/{rvf-migration-coordinator-RFXFU6JD.js → rvf-migration-coordinator-P7H6HCAG.js} +2 -2
  270. package/dist/cli/chunks/rvf-native-adapter-MRT5H3IP.js +2 -0
  271. package/dist/cli/chunks/{rvf-store-integrity-PKDVXQAW.js → rvf-store-integrity-R5SPVRFP.js} +2 -2
  272. package/dist/cli/chunks/safe-db-WFODRGVZ.js +2 -0
  273. package/dist/cli/chunks/schedule-RO55OQXG.js +2 -0
  274. package/dist/cli/chunks/scheduler-XXMJCH24.js +2 -0
  275. package/dist/cli/chunks/{security-CMRB6WA3.js → security-AUDTRX3I.js} +3 -3
  276. package/dist/cli/chunks/{shared-rvf-adapter-YHLLNFHF.js → shared-rvf-adapter-PVDGBGI2.js} +2 -2
  277. package/dist/cli/chunks/{shared-rvf-dual-writer-4BGDVPQ7.js → shared-rvf-dual-writer-LZ2GMSS2.js} +2 -2
  278. package/dist/cli/chunks/sqlite-persistence-AWRIS4MK.js +2 -0
  279. package/dist/cli/chunks/{standalone-memory-LUHKQAGM.js → standalone-memory-XNOAI4G4.js} +2 -2
  280. package/dist/cli/chunks/{status-handler-S6S5PNR7.js → status-handler-K72XZE4T.js} +2 -2
  281. package/dist/cli/chunks/{structural-health-PQ7NZAJ4.js → structural-health-NF3YY7U5.js} +2 -2
  282. package/dist/cli/chunks/{sync-S744AEJC.js → sync-UVXA6CT2.js} +2 -2
  283. package/dist/cli/chunks/{sync-Q6KRQXU6.js → sync-VBD5Y3E2.js} +2 -2
  284. package/dist/cli/chunks/{task-handler-GAMGEHUW.js → task-handler-24S3WFVJ.js} +13 -7
  285. package/dist/cli/chunks/task-handlers-GUYW2EPJ.js +9 -0
  286. package/dist/cli/chunks/{test-FNH67DBK.js → test-XFSGQELD.js} +4 -4
  287. package/dist/cli/chunks/{test-scheduling-NZA5SHK6.js → test-scheduling-VYUQ4CDE.js} +3 -3
  288. package/dist/cli/chunks/{token-bootstrap-CXKG55JD.js → token-bootstrap-EDK6FNQ3.js} +2 -2
  289. package/dist/cli/chunks/{token-usage-M7WWEDJX.js → token-usage-VLQ6WO2L.js} +2 -2
  290. package/dist/cli/chunks/{transformers-2IFMCK6A.js → transformers-TOFMWWNM.js} +2 -2
  291. package/dist/cli/chunks/{tree-sitter-wasm-parser-NMNA6RJC.js → tree-sitter-wasm-parser-MI3NZKUD.js} +2 -2
  292. package/dist/cli/chunks/{types-N7FWTOLD.js → types-JTWLBAZJ.js} +2 -2
  293. package/dist/cli/chunks/unified-memory-6JWHV6EF.js +2 -0
  294. package/dist/cli/chunks/unified-memory-hnsw-4UANU6NU.js +2 -0
  295. package/dist/cli/chunks/unified-persistence-KGGNA46H.js +2 -0
  296. package/dist/cli/chunks/{upgrade-KDB5RGL7.js → upgrade-4ABM72T4.js} +2 -2
  297. package/dist/cli/chunks/{validate-KMUV5FUA.js → validate-UDJCWKXI.js} +2 -2
  298. package/dist/cli/chunks/{validate-swarm-ANZWRCJU.js → validate-swarm-TODOUWNN.js} +2 -2
  299. package/dist/cli/chunks/visual-security-6VZNQLH7.js +2 -0
  300. package/dist/cli/chunks/{web-tree-sitter-SXXC4NMS.js → web-tree-sitter-WBMAJPM5.js} +2 -2
  301. package/dist/cli/chunks/{windsurf-installer-2LWSKMBU.js → windsurf-installer-BTT53TUL.js} +2 -2
  302. package/dist/cli/chunks/witness-chain-AKKHWEWU.js +2 -0
  303. package/dist/cli/chunks/{witness-chain-JJMSJFZP.js → witness-chain-TATPXQRK.js} +2 -2
  304. package/dist/cli/chunks/{witness-chain-repair-OX7VFW6T.js → witness-chain-repair-2HGJGE7O.js} +2 -2
  305. package/dist/cli/chunks/{witness-chain-verifier-QLSMXHAZ.js → witness-chain-verifier-FRY3LMGH.js} +2 -2
  306. package/dist/cli/chunks/{witness-key-manager-3DS4L7LE.js → witness-key-manager-X7QHQQWL.js} +2 -2
  307. package/dist/cli/chunks/{workflow-ARWAMHD3.js → workflow-QMZPAWQW.js} +4 -4
  308. package/dist/cli/chunks/workflow-orchestrator-4GAW7HNZ.js +2 -0
  309. package/dist/cli/chunks/{wrappers-J6KGTUSJ.js → wrappers-ZD5NBHYI.js} +2 -2
  310. package/dist/cli/commands/code.js +8 -0
  311. package/dist/cli/commands/daemon.js +8 -0
  312. package/dist/cli/commands/fleet.js +14 -9
  313. package/dist/cli/handlers/task-handler.js +21 -1
  314. package/dist/coordination/handlers/code-intelligence-handlers.js +14 -2
  315. package/dist/coordination/handlers/coverage-collection.js +9 -10
  316. package/dist/coordination/handlers/coverage-handlers.js +21 -3
  317. package/dist/coordination/handlers/coverage-runner.d.ts +2 -1
  318. package/dist/coordination/handlers/coverage-runner.js +9 -2
  319. package/dist/coordination/handlers/coverage-target.d.ts +13 -3
  320. package/dist/coordination/handlers/coverage-target.js +224 -7
  321. package/dist/coordination/handlers/handler-types.d.ts +2 -0
  322. package/dist/coordination/handlers/test-execution-handlers.js +32 -5
  323. package/dist/coordination/index.d.ts +2 -2
  324. package/dist/coordination/index.js +1 -1
  325. package/dist/coordination/protocols/learning-consolidation-archive.d.ts +39 -0
  326. package/dist/coordination/protocols/learning-consolidation-archive.js +57 -0
  327. package/dist/coordination/protocols/learning-consolidation.d.ts +38 -3
  328. package/dist/coordination/protocols/learning-consolidation.js +130 -58
  329. package/dist/coordination/queen-coordinator.d.ts +12 -1
  330. package/dist/coordination/queen-coordinator.js +24 -1
  331. package/dist/coordination/queen-event-handlers.js +2 -1
  332. package/dist/coordination/queen-lifecycle.js +9 -0
  333. package/dist/coordination/queen-task-management.js +113 -40
  334. package/dist/coordination/queen-types.d.ts +10 -0
  335. package/dist/coordination/queen-types.js +8 -0
  336. package/dist/coordination/task-dag/dag-algorithms.d.ts +33 -0
  337. package/dist/coordination/task-dag/dag-algorithms.js +162 -0
  338. package/dist/coordination/task-dag/dag-obligations.d.ts +21 -0
  339. package/dist/coordination/task-dag/dag-obligations.js +83 -0
  340. package/dist/coordination/task-dag/dag.d.ts +69 -19
  341. package/dist/coordination/task-dag/dag.js +215 -269
  342. package/dist/coordination/task-dag/index.d.ts +12 -4
  343. package/dist/coordination/task-dag/index.js +11 -3
  344. package/dist/coordination/task-dag/prerequisite-ledger.d.ts +84 -0
  345. package/dist/coordination/task-dag/prerequisite-ledger.js +252 -0
  346. package/dist/coordination/task-dag/scheduler.d.ts +19 -9
  347. package/dist/coordination/task-dag/scheduler.js +36 -12
  348. package/dist/coordination/task-dag/types.d.ts +160 -1
  349. package/dist/coordination/task-dag/types.js +2 -1
  350. package/dist/coordination/task-executability.d.ts +18 -0
  351. package/dist/coordination/task-executability.js +31 -0
  352. package/dist/coordination/task-executor.d.ts +1 -0
  353. package/dist/coordination/task-executor.js +5 -0
  354. package/dist/domains/code-intelligence/coordinator.js +35 -9
  355. package/dist/domains/code-intelligence/index-path-guard.d.ts +49 -0
  356. package/dist/domains/code-intelligence/index-path-guard.js +125 -0
  357. package/dist/domains/code-intelligence/interfaces.d.ts +12 -0
  358. package/dist/domains/code-intelligence/services/knowledge-graph.d.ts +6 -0
  359. package/dist/domains/code-intelligence/services/knowledge-graph.js +42 -5
  360. package/dist/domains/contract-testing/coordinator.js +3 -1
  361. package/dist/domains/coverage-analysis/collected-metrics.js +2 -1
  362. package/dist/domains/defect-intelligence/services/defect-predictor.js +4 -2
  363. package/dist/domains/learning-optimization/active-patterns.d.ts +55 -0
  364. package/dist/domains/learning-optimization/active-patterns.js +80 -0
  365. package/dist/domains/learning-optimization/coordinator-helpers.js +2 -3
  366. package/dist/domains/learning-optimization/coordinator.d.ts +0 -3
  367. package/dist/domains/learning-optimization/coordinator.js +50 -106
  368. package/dist/domains/learning-optimization/index.d.ts +1 -1
  369. package/dist/domains/learning-optimization/interfaces.d.ts +56 -4
  370. package/dist/domains/learning-optimization/plugin.js +11 -1
  371. package/dist/domains/learning-optimization/reward-source.d.ts +37 -0
  372. package/dist/domains/learning-optimization/reward-source.js +58 -0
  373. package/dist/domains/learning-optimization/services/learning-coordinator.d.ts +4 -4
  374. package/dist/domains/learning-optimization/services/learning-coordinator.js +68 -34
  375. package/dist/domains/learning-optimization/services/metrics-optimizer.d.ts +14 -4
  376. package/dist/domains/learning-optimization/services/metrics-optimizer.js +129 -63
  377. package/dist/domains/learning-optimization/services/transfer-specialist.js +25 -15
  378. package/dist/domains/test-execution/interfaces.d.ts +16 -0
  379. package/dist/domains/test-execution/services/retry-handler.js +18 -2
  380. package/dist/domains/test-execution/services/runner-test-cases.d.ts +21 -0
  381. package/dist/domains/test-execution/services/runner-test-cases.js +69 -0
  382. package/dist/domains/test-execution/services/test-executor.d.ts +5 -0
  383. package/dist/domains/test-execution/services/test-executor.js +24 -2
  384. package/dist/init/fleet-integration.js +2 -0
  385. package/dist/init/init-wizard-steps.js +2 -0
  386. package/dist/init/phases/06-code-intelligence.js +2 -0
  387. package/dist/init/phases/10-workers.js +2 -1
  388. package/dist/kernel/anti-drift-middleware.d.ts +44 -5
  389. package/dist/kernel/anti-drift-middleware.js +147 -11
  390. package/dist/kernel/interfaces.d.ts +5 -0
  391. package/dist/learning/dream/dream-engine.d.ts +27 -1
  392. package/dist/learning/dream/dream-engine.js +56 -2
  393. package/dist/learning/dream/dream-insights-pruner.d.ts +18 -4
  394. package/dist/learning/dream/dream-insights-pruner.js +99 -11
  395. package/dist/learning/dream/rvcow-branch-manager.d.ts +8 -0
  396. package/dist/learning/dream/rvcow-branch-manager.js +8 -0
  397. package/dist/learning/dream/speculative-dreamer.d.ts +8 -0
  398. package/dist/learning/dream/speculative-dreamer.js +8 -0
  399. package/dist/learning/skill-validation-learner.d.ts +2 -0
  400. package/dist/learning/skill-validation-learner.js +29 -21
  401. package/dist/mcp/background-workers.d.ts +15 -0
  402. package/dist/mcp/background-workers.js +77 -0
  403. package/dist/mcp/bundle.js +511 -484
  404. package/dist/mcp/entry.js +4 -49
  405. package/dist/mcp/handlers/domain-handler-configs.d.ts +14 -0
  406. package/dist/mcp/handlers/domain-handler-configs.js +68 -30
  407. package/dist/mcp/handlers/handler-factory.js +1 -0
  408. package/dist/mcp/handlers/task-handlers.js +37 -1
  409. package/dist/mcp/metrics/metrics-collector.d.ts +11 -9
  410. package/dist/mcp/metrics/metrics-collector.js +13 -26
  411. package/dist/mcp/protocol-server.js +8 -3
  412. package/dist/mcp/tools/learning-optimization/optimize.d.ts +34 -3
  413. package/dist/mcp/tools/learning-optimization/optimize.js +106 -70
  414. package/dist/memory/crdt/lww-register.js +11 -1
  415. package/dist/routing/calibration/ema-calibrator.js +3 -1
  416. package/dist/shared/base-domain-plugin.d.ts +4 -0
  417. package/dist/shared/base-domain-plugin.js +6 -0
  418. package/dist/shared/llm/cache.js +4 -1
  419. package/dist/shared/security/compliance-patterns.js +3 -1
  420. package/dist/shared/test-runner-process.d.ts +26 -0
  421. package/dist/shared/test-runner-process.js +91 -0
  422. package/dist/shared/types/index.d.ts +9 -0
  423. package/dist/shared/types/index.js +13 -0
  424. package/dist/shared/utils/namespaced-search.d.ts +42 -0
  425. package/dist/shared/utils/namespaced-search.js +53 -0
  426. package/dist/strange-loop/infra-healing/infra-action-executor.js +7 -3
  427. package/dist/strange-loop/infra-healing/infra-healing-orchestrator.js +10 -9
  428. package/dist/workers/daemon.d.ts +7 -0
  429. package/dist/workers/daemon.js +21 -2
  430. package/dist/workers/namespaced-keys.d.ts +4 -7
  431. package/dist/workers/namespaced-keys.js +4 -15
  432. package/dist/workers/quality-daemon/ci-monitor.js +9 -5
  433. package/dist/workers/worker-env.d.ts +53 -0
  434. package/dist/workers/worker-env.js +89 -0
  435. package/dist/workers/worker-manager.js +4 -0
  436. package/dist/workers/workers/learning-consolidation.d.ts +20 -0
  437. package/dist/workers/workers/learning-consolidation.js +57 -23
  438. package/package.json +1 -1
  439. package/dist/cli/chunks/adapter-PEOUNYXJ.js +0 -2
  440. package/dist/cli/chunks/aqe-learning-engine-DHKZI5RX.js +0 -2
  441. package/dist/cli/chunks/base-QZWK3D5P.js +0 -2
  442. package/dist/cli/chunks/browser-workflow-ITPX72RX.js +0 -2
  443. package/dist/cli/chunks/chunk-CG5DZCOZ.js +0 -2
  444. package/dist/cli/chunks/chunk-QJE6ZW2X.js +0 -6
  445. package/dist/cli/chunks/chunk-T3ZDVU6F.js +0 -5
  446. package/dist/cli/chunks/chunk-UIYKR2SA.js +0 -2
  447. package/dist/cli/chunks/chunk-VJRZFWR5.js +0 -2
  448. package/dist/cli/chunks/chunk-VUFRTGML.js +0 -3
  449. package/dist/cli/chunks/chunk-YDZJWDR6.js +0 -180
  450. package/dist/cli/chunks/client-S7GNYTZ5.js +0 -2
  451. package/dist/cli/chunks/core-handlers-CUEPOQIO.js +0 -2
  452. package/dist/cli/chunks/cross-domain-router-CXN5QFEV.js +0 -2
  453. package/dist/cli/chunks/daemon-3DQCKRYO.js +0 -10
  454. package/dist/cli/chunks/dream-5AUNJW24.js +0 -2
  455. package/dist/cli/chunks/file-discovery-AYWF357I.js +0 -2
  456. package/dist/cli/chunks/fleet-QX5KXTRC.js +0 -43
  457. package/dist/cli/chunks/heartbeat-scheduler-7ZIDVXIP.js +0 -2
  458. package/dist/cli/chunks/hnsw-adapter-P77OC7FM.js +0 -2
  459. package/dist/cli/chunks/hnsw-index-3LBOTQAW.js +0 -2
  460. package/dist/cli/chunks/hybrid-backend-LOM54PDD.js +0 -2
  461. package/dist/cli/chunks/impact-analyzer-QSDJVBPS.js +0 -2
  462. package/dist/cli/chunks/init-wizard-MK2325JJ.js +0 -2
  463. package/dist/cli/chunks/kernel-2NJQQ2KT.js +0 -2
  464. package/dist/cli/chunks/knowledge-graph-SDISHO62.js +0 -2
  465. package/dist/cli/chunks/llm-router-service-YTCMRBAN.js +0 -2
  466. package/dist/cli/chunks/load-test-RPKHLBCC.js +0 -2
  467. package/dist/cli/chunks/memory-backend-BZXFO4JZ.js +0 -2
  468. package/dist/cli/chunks/memory-handlers-MOFDNB6E.js +0 -2
  469. package/dist/cli/chunks/pattern-null-store-4PRPIOR6.js +0 -2
  470. package/dist/cli/chunks/project-root-NBIQF63D.js +0 -2
  471. package/dist/cli/chunks/protocol-executor-BRPGIYWQ.js +0 -2
  472. package/dist/cli/chunks/qe-reasoning-bank-GDZACWKW.js +0 -2
  473. package/dist/cli/chunks/queen-coordinator-LDKLBPD5.js +0 -2
  474. package/dist/cli/chunks/router-H5YSIRH2.js +0 -2
  475. package/dist/cli/chunks/routing-feedback-5R36TJDH.js +0 -2
  476. package/dist/cli/chunks/rvf-dual-writer-TT2DBQQQ.js +0 -2
  477. package/dist/cli/chunks/rvf-migration-adapter-BCLFJKSK.js +0 -2
  478. package/dist/cli/chunks/rvf-native-adapter-UXI66OQJ.js +0 -2
  479. package/dist/cli/chunks/safe-db-MSTD2GDH.js +0 -2
  480. package/dist/cli/chunks/schedule-KST6KIFD.js +0 -2
  481. package/dist/cli/chunks/scheduler-FTQS6YK3.js +0 -2
  482. package/dist/cli/chunks/sqlite-persistence-ZX5QFDMR.js +0 -2
  483. package/dist/cli/chunks/task-handlers-6CRDEELN.js +0 -9
  484. package/dist/cli/chunks/unified-memory-2Z2F446J.js +0 -2
  485. package/dist/cli/chunks/unified-memory-hnsw-A4EWYPJQ.js +0 -2
  486. package/dist/cli/chunks/unified-persistence-Z6N6JZFA.js +0 -2
  487. package/dist/cli/chunks/visual-security-GXYZV7KR.js +0 -2
  488. package/dist/cli/chunks/witness-chain-52PEIEGK.js +0 -2
  489. package/dist/cli/chunks/workflow-orchestrator-DORMQMG7.js +0 -2
@@ -1,26 +1,26 @@
1
- import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.15.7");process.exit(0)}
2
- import{d as Pe}from"./chunk-RXAFLK34.js";import{a as Ie,b as Oe}from"./chunk-ED32XJ5R.js";import{m as we,n as De}from"./chunk-B7M323VL.js";import{b as D,d as Ee}from"./chunk-4G2VNW4C.js";import{c as R,d as w}from"./chunk-CG5DZCOZ.js";import{a as Ne}from"./chunk-VJRZFWR5.js";import{e as xe,f as ve,g as Ae}from"./chunk-JYXOFN3E.js";import{a as G,b as A,e as Y}from"./chunk-LVEX4GID.js";Ne();import{createRequire as ke}from"module";var O;function W(){if(!O){let p=ke(import.meta.url);try{O=p("typescript")}catch{try{O=p("typescript/lib/typescript.js")}catch{O=new Proxy({},{get(e,t){if(!(t==="__esModule"||typeof t=="symbol"))throw new Error("TypeScript is required for code analysis. Install it: npm install -g typescript")}})}}}return O}var m=new Proxy({},{get(p,e){return W()[e]},has(p,e){return e in W()},ownKeys(){return Object.keys(W())},getOwnPropertyDescriptor(p,e){let t=W()[e];if(t!==void 0)return{configurable:!0,enumerable:!0,value:t}}});var N=class{parseFile(e,t){return m.createSourceFile(e,t,m.ScriptTarget.Latest,!0,this.getScriptKind(e))}extractFunctions(e){let t=[],s=n=>{m.isFunctionDeclaration(n)&&n.name?t.push(this.extractFunctionDeclaration(n,e)):m.isVariableStatement(n)&&this.extractArrowFunctions(n,e,t),m.forEachChild(n,s)};return m.forEachChild(e,s),t}extractClasses(e){let t=[],s=n=>{m.isClassDeclaration(n)&&n.name&&t.push(this.extractClassDeclaration(n,e)),m.forEachChild(n,s)};return m.forEachChild(e,s),t}extractImports(e){let t=[],s=n=>{m.isImportDeclaration(n)&&t.push(this.extractImportDeclaration(n)),m.forEachChild(n,s)};return m.forEachChild(e,s),t}extractExports(e){let t=[],s=n=>{if(m.isExportDeclaration(n))this.extractExportDeclaration(n,t);else if(m.isExportAssignment(n))t.push({name:this.getExportAssignmentName(n),type:"unknown",isDefault:!0,isReexport:!1,sourceModule:void 0});else if(m.isFunctionDeclaration(n)&&n.name&&this.hasExportModifier(n))t.push({name:n.name.text,type:"function",isDefault:this.hasDefaultModifier(n),isReexport:!1,sourceModule:void 0});else if(m.isClassDeclaration(n)&&n.name&&this.hasExportModifier(n))t.push({name:n.name.text,type:"class",isDefault:this.hasDefaultModifier(n),isReexport:!1,sourceModule:void 0});else if(m.isVariableStatement(n)&&this.hasExportModifier(n))for(let i of n.declarationList.declarations)m.isIdentifier(i.name)&&t.push({name:i.name.text,type:"variable",isDefault:!1,isReexport:!1,sourceModule:void 0});else m.isInterfaceDeclaration(n)&&this.hasExportModifier(n)?t.push({name:n.name.text,type:"interface",isDefault:!1,isReexport:!1,sourceModule:void 0}):m.isTypeAliasDeclaration(n)&&this.hasExportModifier(n)?t.push({name:n.name.text,type:"type",isDefault:!1,isReexport:!1,sourceModule:void 0}):m.isEnumDeclaration(n)&&this.hasExportModifier(n)&&t.push({name:n.name.text,type:"enum",isDefault:!1,isReexport:!1,sourceModule:void 0});m.forEachChild(n,s)};return m.forEachChild(e,s),t}extractInterfaces(e){let t=[],s=n=>{m.isInterfaceDeclaration(n)&&t.push(this.extractInterfaceDeclaration(n,e)),m.forEachChild(n,s)};return m.forEachChild(e,s),t}extractEntities(e,t){let s=this.parseFile(t,e),n=[],i=this.extractFunctions(s);for(let a of i)n.push({name:a.name,type:"function",line:a.startLine,endLine:a.endLine,visibility:a.isExported?"public":"internal",isAsync:a.isAsync,isExported:a.isExported,parameters:a.parameters,returnType:a.returnType});let o=this.extractClasses(s);for(let a of o)n.push({name:a.name,type:"class",line:a.startLine,endLine:a.endLine,visibility:a.isExported?"public":"internal",isAsync:!1,isExported:a.isExported,extends:a.extends,implements:a.implements});let r=this.extractInterfaces(s);for(let a of r)n.push({name:a.name,type:"interface",line:a.startLine,endLine:a.endLine,visibility:a.isExported?"public":"internal",isAsync:!1,isExported:a.isExported});return n}getScriptKind(e){return e.endsWith(".tsx")?m.ScriptKind.TSX:e.endsWith(".ts")?m.ScriptKind.TS:e.endsWith(".jsx")?m.ScriptKind.JSX:e.endsWith(".js")?m.ScriptKind.JS:m.ScriptKind.TS}extractFunctionDeclaration(e,t){let{line:s}=t.getLineAndCharacterOfPosition(e.getStart()),{line:n}=t.getLineAndCharacterOfPosition(e.getEnd());return{name:e.name?.text??"anonymous",parameters:this.extractParameters(e.parameters),returnType:e.type?e.type.getText(t):void 0,startLine:s+1,endLine:n+1,isAsync:this.hasAsyncModifier(e),isExported:this.hasExportModifier(e),isGenerator:!!e.asteriskToken,typeParameters:this.extractTypeParameters(e.typeParameters)}}extractArrowFunctions(e,t,s){for(let n of e.declarationList.declarations)if(m.isIdentifier(n.name)&&n.initializer&&m.isArrowFunction(n.initializer)){let i=n.initializer,{line:o}=t.getLineAndCharacterOfPosition(e.getStart()),{line:r}=t.getLineAndCharacterOfPosition(e.getEnd());s.push({name:n.name.text,parameters:this.extractParameters(i.parameters),returnType:i.type?i.type.getText(t):void 0,startLine:o+1,endLine:r+1,isAsync:this.hasAsyncModifier(i),isExported:this.hasExportModifier(e),isGenerator:!1,typeParameters:this.extractTypeParameters(i.typeParameters)})}}extractClassDeclaration(e,t){let{line:s}=t.getLineAndCharacterOfPosition(e.getStart()),{line:n}=t.getLineAndCharacterOfPosition(e.getEnd()),i=[],o=[];for(let c of e.members)m.isMethodDeclaration(c)&&c.name?i.push(this.extractMethodDeclaration(c,t)):m.isPropertyDeclaration(c)&&c.name?o.push(this.extractPropertyDeclaration(c,t)):m.isConstructorDeclaration(c)&&(i.push(this.extractConstructor(c,t)),this.extractParameterProperties(c,o,t));let r,a=[];if(e.heritageClauses){for(let c of e.heritageClauses)if(c.token===m.SyntaxKind.ExtendsKeyword)r=c.types[0]?.expression.getText(t);else if(c.token===m.SyntaxKind.ImplementsKeyword)for(let l of c.types)a.push(l.expression.getText(t))}return{name:e.name?.text??"anonymous",methods:i,properties:o,extends:r,implements:a,isAbstract:this.hasAbstractModifier(e),isExported:this.hasExportModifier(e),startLine:s+1,endLine:n+1,typeParameters:this.extractTypeParameters(e.typeParameters)}}extractMethodDeclaration(e,t){let{line:s}=t.getLineAndCharacterOfPosition(e.getStart()),{line:n}=t.getLineAndCharacterOfPosition(e.getEnd());return{name:this.getPropertyName(e.name,t),parameters:this.extractParameters(e.parameters),returnType:e.type?e.type.getText(t):void 0,isAsync:this.hasAsyncModifier(e),isStatic:this.hasStaticModifier(e),isAbstract:this.hasAbstractModifier(e),visibility:this.getVisibility(e),startLine:s+1,endLine:n+1}}extractConstructor(e,t){let{line:s}=t.getLineAndCharacterOfPosition(e.getStart()),{line:n}=t.getLineAndCharacterOfPosition(e.getEnd());return{name:"constructor",parameters:this.extractParameters(e.parameters),returnType:void 0,isAsync:!1,isStatic:!1,isAbstract:!1,visibility:"public",startLine:s+1,endLine:n+1}}extractParameterProperties(e,t,s){for(let n of e.parameters)this.isParameterProperty(n)&&t.push({name:m.isIdentifier(n.name)?n.name.text:n.name.getText(s),type:n.type?n.type.getText(s):void 0,isStatic:!1,isReadonly:this.hasReadonlyModifier(n),visibility:this.getVisibility(n),hasInitializer:!!n.initializer})}isParameterProperty(e){return!!e.modifiers?.some(t=>t.kind===m.SyntaxKind.PublicKeyword||t.kind===m.SyntaxKind.PrivateKeyword||t.kind===m.SyntaxKind.ProtectedKeyword||t.kind===m.SyntaxKind.ReadonlyKeyword)}extractPropertyDeclaration(e,t){return{name:this.getPropertyName(e.name,t),type:e.type?e.type.getText(t):void 0,isStatic:this.hasStaticModifier(e),isReadonly:this.hasReadonlyModifier(e),visibility:this.getVisibility(e),hasInitializer:!!e.initializer}}extractImportDeclaration(e){let t=e.moduleSpecifier.text,s=[],n,i,o=e.importClause?.isTypeOnly??!1;if(e.importClause&&(e.importClause.name&&(n=e.importClause.name.text),e.importClause.namedBindings)){if(m.isNamespaceImport(e.importClause.namedBindings))i=e.importClause.namedBindings.name.text;else if(m.isNamedImports(e.importClause.namedBindings))for(let r of e.importClause.namedBindings.elements)s.push({name:r.propertyName?.text??r.name.text,alias:r.propertyName?r.name.text:void 0})}return{module:t,namedImports:s,defaultImport:n,namespaceImport:i,isTypeOnly:o}}extractExportDeclaration(e,t){let s=e.moduleSpecifier?e.moduleSpecifier.text:void 0;if(e.exportClause&&m.isNamedExports(e.exportClause))for(let n of e.exportClause.elements)t.push({name:n.name.text,type:"unknown",isDefault:!1,isReexport:!!s,sourceModule:s});else!e.exportClause&&s&&t.push({name:"*",type:"unknown",isDefault:!1,isReexport:!0,sourceModule:s})}extractInterfaceDeclaration(e,t){let{line:s}=t.getLineAndCharacterOfPosition(e.getStart()),{line:n}=t.getLineAndCharacterOfPosition(e.getEnd()),i=[],o=[];for(let a of e.members)m.isPropertySignature(a)&&a.name?i.push({name:this.getPropertyName(a.name,t),type:a.type?a.type.getText(t):void 0,isOptional:!!a.questionToken,isReadonly:this.hasReadonlyModifier(a)}):m.isMethodSignature(a)&&a.name&&o.push({name:this.getPropertyName(a.name,t),parameters:this.extractParameters(a.parameters),returnType:a.type?a.type.getText(t):void 0,isOptional:!!a.questionToken});let r=[];if(e.heritageClauses){for(let a of e.heritageClauses)if(a.token===m.SyntaxKind.ExtendsKeyword)for(let c of a.types)r.push(c.expression.getText(t))}return{name:e.name.text,properties:i,methods:o,extends:r,isExported:this.hasExportModifier(e),startLine:s+1,endLine:n+1,typeParameters:this.extractTypeParameters(e.typeParameters)}}extractParameters(e){return e.map(t=>{let s=t.getSourceFile();return{name:m.isIdentifier(t.name)?t.name.text:t.name.getText(s),type:t.type?t.type.getText(s):void 0,isOptional:!!t.questionToken||!!t.initializer,isRest:!!t.dotDotDotToken,defaultValue:t.initializer?t.initializer.getText(s):void 0}})}extractTypeParameters(e){return e?e.map(t=>t.name.text):[]}getPropertyName(e,t){return m.isIdentifier(e)||m.isStringLiteral(e)||m.isNumericLiteral(e)?e.text:e.getText(t)}getExportAssignmentName(e){return m.isIdentifier(e.expression)?e.expression.text:"default"}hasExportModifier(e){return m.canHaveModifiers(e)&&!!m.getModifiers(e)?.some(t=>t.kind===m.SyntaxKind.ExportKeyword)}hasDefaultModifier(e){return m.canHaveModifiers(e)&&!!m.getModifiers(e)?.some(t=>t.kind===m.SyntaxKind.DefaultKeyword)}hasAsyncModifier(e){return m.canHaveModifiers(e)&&!!m.getModifiers(e)?.some(t=>t.kind===m.SyntaxKind.AsyncKeyword)}hasStaticModifier(e){return m.canHaveModifiers(e)&&!!m.getModifiers(e)?.some(t=>t.kind===m.SyntaxKind.StaticKeyword)}hasAbstractModifier(e){return m.canHaveModifiers(e)&&!!m.getModifiers(e)?.some(t=>t.kind===m.SyntaxKind.AbstractKeyword)}hasReadonlyModifier(e){return m.canHaveModifiers(e)&&!!m.getModifiers(e)?.some(t=>t.kind===m.SyntaxKind.ReadonlyKeyword)}getVisibility(e){if(!m.canHaveModifiers(e))return"public";let t=m.getModifiers(e);return t?t.some(s=>s.kind===m.SyntaxKind.PrivateKeyword)?"private":t.some(s=>s.kind===m.SyntaxKind.ProtectedKeyword)?"protected":"public":"public"}},et=new N,Z=class{language="typescript";supportedExtensions=[".ts",".tsx",".js",".jsx",".mjs",".cjs"];parser=new N;async parseFile(e,t){let s=this.parser.parseFile(t,e),n=this.parser.extractFunctions(s),i=this.parser.extractClasses(s),o=this.parser.extractImports(s);return{functions:n.map(r=>this.mapFunction(r)),classes:i.map(r=>this.mapClass(r)),imports:o.map(r=>this.mapImport(r)),language:t.endsWith(".js")||t.endsWith(".jsx")||t.endsWith(".mjs")||t.endsWith(".cjs")?"javascript":"typescript",filePath:t}}mapFunction(e){return{name:e.name,parameters:e.parameters.map(t=>({name:t.name,type:t.type,isOptional:t.isOptional,defaultValue:t.defaultValue})),returnType:e.returnType,isAsync:e.isAsync,isPublic:e.isExported,complexity:1,decorators:[],genericParams:e.typeParameters,startLine:e.startLine,endLine:e.endLine}}mapClass(e){return{name:e.name,methods:e.methods.map(t=>({name:t.name,parameters:t.parameters.map(s=>({name:s.name,type:s.type,isOptional:s.isOptional,defaultValue:s.defaultValue})),returnType:t.returnType,isAsync:t.isAsync,isPublic:t.visibility==="public",complexity:1,decorators:[],genericParams:[],startLine:t.startLine,endLine:t.endLine})),properties:e.properties.map(t=>this.mapProperty(t)),isPublic:e.isExported,implements:e.implements,extends:e.extends,decorators:[],startLine:e.startLine,endLine:e.endLine}}mapProperty(e){return{name:e.name,type:e.type,isPublic:e.visibility==="public",isReadonly:e.isReadonly}}mapImport(e){return{module:e.module,namedImports:e.namedImports.map(t=>t.alias||t.name),isTypeOnly:e.isTypeOnly}}},tt=new Z;Ae();var P=1e3;function L(p){let e=p.split(`
1
+ import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.15.9");process.exit(0)}
2
+ import{c as Re}from"./chunk-J3WGK22W.js";import{d as Le}from"./chunk-JP4P3P3D.js";import{a as Pe,b as je}from"./chunk-UOJBR4J3.js";import{m as Ie,n as _e}from"./chunk-XYCKHYBM.js";import{b as D,d as we}from"./chunk-PVIA2FPD.js";import{c as C,d as I}from"./chunk-JNNZK7KH.js";import{a as Oe}from"./chunk-KTSLTZSG.js";import{e as xe,f as ve,g as De}from"./chunk-O3JLOVZX.js";import{a as G,b as A,e as Y}from"./chunk-N3KEY4XJ.js";import{c as Ee,d as ke}from"./chunk-4V27J6YN.js";Oe();import{createRequire as $e}from"module";var O;function W(){if(!O){let p=$e(import.meta.url);try{O=p("typescript")}catch{try{O=p("typescript/lib/typescript.js")}catch{O=new Proxy({},{get(e,t){if(!(t==="__esModule"||typeof t=="symbol"))throw new Error("TypeScript is required for code analysis. Install it: npm install -g typescript")}})}}}return O}var m=new Proxy({},{get(p,e){return W()[e]},has(p,e){return e in W()},ownKeys(){return Object.keys(W())},getOwnPropertyDescriptor(p,e){let t=W()[e];if(t!==void 0)return{configurable:!0,enumerable:!0,value:t}}});var N=class{parseFile(e,t){return m.createSourceFile(e,t,m.ScriptTarget.Latest,!0,this.getScriptKind(e))}extractFunctions(e){let t=[],s=n=>{m.isFunctionDeclaration(n)&&n.name?t.push(this.extractFunctionDeclaration(n,e)):m.isVariableStatement(n)&&this.extractArrowFunctions(n,e,t),m.forEachChild(n,s)};return m.forEachChild(e,s),t}extractClasses(e){let t=[],s=n=>{m.isClassDeclaration(n)&&n.name&&t.push(this.extractClassDeclaration(n,e)),m.forEachChild(n,s)};return m.forEachChild(e,s),t}extractImports(e){let t=[],s=n=>{m.isImportDeclaration(n)&&t.push(this.extractImportDeclaration(n)),m.forEachChild(n,s)};return m.forEachChild(e,s),t}extractExports(e){let t=[],s=n=>{if(m.isExportDeclaration(n))this.extractExportDeclaration(n,t);else if(m.isExportAssignment(n))t.push({name:this.getExportAssignmentName(n),type:"unknown",isDefault:!0,isReexport:!1,sourceModule:void 0});else if(m.isFunctionDeclaration(n)&&n.name&&this.hasExportModifier(n))t.push({name:n.name.text,type:"function",isDefault:this.hasDefaultModifier(n),isReexport:!1,sourceModule:void 0});else if(m.isClassDeclaration(n)&&n.name&&this.hasExportModifier(n))t.push({name:n.name.text,type:"class",isDefault:this.hasDefaultModifier(n),isReexport:!1,sourceModule:void 0});else if(m.isVariableStatement(n)&&this.hasExportModifier(n))for(let i of n.declarationList.declarations)m.isIdentifier(i.name)&&t.push({name:i.name.text,type:"variable",isDefault:!1,isReexport:!1,sourceModule:void 0});else m.isInterfaceDeclaration(n)&&this.hasExportModifier(n)?t.push({name:n.name.text,type:"interface",isDefault:!1,isReexport:!1,sourceModule:void 0}):m.isTypeAliasDeclaration(n)&&this.hasExportModifier(n)?t.push({name:n.name.text,type:"type",isDefault:!1,isReexport:!1,sourceModule:void 0}):m.isEnumDeclaration(n)&&this.hasExportModifier(n)&&t.push({name:n.name.text,type:"enum",isDefault:!1,isReexport:!1,sourceModule:void 0});m.forEachChild(n,s)};return m.forEachChild(e,s),t}extractInterfaces(e){let t=[],s=n=>{m.isInterfaceDeclaration(n)&&t.push(this.extractInterfaceDeclaration(n,e)),m.forEachChild(n,s)};return m.forEachChild(e,s),t}extractEntities(e,t){let s=this.parseFile(t,e),n=[],i=this.extractFunctions(s);for(let a of i)n.push({name:a.name,type:"function",line:a.startLine,endLine:a.endLine,visibility:a.isExported?"public":"internal",isAsync:a.isAsync,isExported:a.isExported,parameters:a.parameters,returnType:a.returnType});let o=this.extractClasses(s);for(let a of o)n.push({name:a.name,type:"class",line:a.startLine,endLine:a.endLine,visibility:a.isExported?"public":"internal",isAsync:!1,isExported:a.isExported,extends:a.extends,implements:a.implements});let r=this.extractInterfaces(s);for(let a of r)n.push({name:a.name,type:"interface",line:a.startLine,endLine:a.endLine,visibility:a.isExported?"public":"internal",isAsync:!1,isExported:a.isExported});return n}getScriptKind(e){return e.endsWith(".tsx")?m.ScriptKind.TSX:e.endsWith(".ts")?m.ScriptKind.TS:e.endsWith(".jsx")?m.ScriptKind.JSX:e.endsWith(".js")?m.ScriptKind.JS:m.ScriptKind.TS}extractFunctionDeclaration(e,t){let{line:s}=t.getLineAndCharacterOfPosition(e.getStart()),{line:n}=t.getLineAndCharacterOfPosition(e.getEnd());return{name:e.name?.text??"anonymous",parameters:this.extractParameters(e.parameters),returnType:e.type?e.type.getText(t):void 0,startLine:s+1,endLine:n+1,isAsync:this.hasAsyncModifier(e),isExported:this.hasExportModifier(e),isGenerator:!!e.asteriskToken,typeParameters:this.extractTypeParameters(e.typeParameters)}}extractArrowFunctions(e,t,s){for(let n of e.declarationList.declarations)if(m.isIdentifier(n.name)&&n.initializer&&m.isArrowFunction(n.initializer)){let i=n.initializer,{line:o}=t.getLineAndCharacterOfPosition(e.getStart()),{line:r}=t.getLineAndCharacterOfPosition(e.getEnd());s.push({name:n.name.text,parameters:this.extractParameters(i.parameters),returnType:i.type?i.type.getText(t):void 0,startLine:o+1,endLine:r+1,isAsync:this.hasAsyncModifier(i),isExported:this.hasExportModifier(e),isGenerator:!1,typeParameters:this.extractTypeParameters(i.typeParameters)})}}extractClassDeclaration(e,t){let{line:s}=t.getLineAndCharacterOfPosition(e.getStart()),{line:n}=t.getLineAndCharacterOfPosition(e.getEnd()),i=[],o=[];for(let c of e.members)m.isMethodDeclaration(c)&&c.name?i.push(this.extractMethodDeclaration(c,t)):m.isPropertyDeclaration(c)&&c.name?o.push(this.extractPropertyDeclaration(c,t)):m.isConstructorDeclaration(c)&&(i.push(this.extractConstructor(c,t)),this.extractParameterProperties(c,o,t));let r,a=[];if(e.heritageClauses){for(let c of e.heritageClauses)if(c.token===m.SyntaxKind.ExtendsKeyword)r=c.types[0]?.expression.getText(t);else if(c.token===m.SyntaxKind.ImplementsKeyword)for(let l of c.types)a.push(l.expression.getText(t))}return{name:e.name?.text??"anonymous",methods:i,properties:o,extends:r,implements:a,isAbstract:this.hasAbstractModifier(e),isExported:this.hasExportModifier(e),startLine:s+1,endLine:n+1,typeParameters:this.extractTypeParameters(e.typeParameters)}}extractMethodDeclaration(e,t){let{line:s}=t.getLineAndCharacterOfPosition(e.getStart()),{line:n}=t.getLineAndCharacterOfPosition(e.getEnd());return{name:this.getPropertyName(e.name,t),parameters:this.extractParameters(e.parameters),returnType:e.type?e.type.getText(t):void 0,isAsync:this.hasAsyncModifier(e),isStatic:this.hasStaticModifier(e),isAbstract:this.hasAbstractModifier(e),visibility:this.getVisibility(e),startLine:s+1,endLine:n+1}}extractConstructor(e,t){let{line:s}=t.getLineAndCharacterOfPosition(e.getStart()),{line:n}=t.getLineAndCharacterOfPosition(e.getEnd());return{name:"constructor",parameters:this.extractParameters(e.parameters),returnType:void 0,isAsync:!1,isStatic:!1,isAbstract:!1,visibility:"public",startLine:s+1,endLine:n+1}}extractParameterProperties(e,t,s){for(let n of e.parameters)this.isParameterProperty(n)&&t.push({name:m.isIdentifier(n.name)?n.name.text:n.name.getText(s),type:n.type?n.type.getText(s):void 0,isStatic:!1,isReadonly:this.hasReadonlyModifier(n),visibility:this.getVisibility(n),hasInitializer:!!n.initializer})}isParameterProperty(e){return!!e.modifiers?.some(t=>t.kind===m.SyntaxKind.PublicKeyword||t.kind===m.SyntaxKind.PrivateKeyword||t.kind===m.SyntaxKind.ProtectedKeyword||t.kind===m.SyntaxKind.ReadonlyKeyword)}extractPropertyDeclaration(e,t){return{name:this.getPropertyName(e.name,t),type:e.type?e.type.getText(t):void 0,isStatic:this.hasStaticModifier(e),isReadonly:this.hasReadonlyModifier(e),visibility:this.getVisibility(e),hasInitializer:!!e.initializer}}extractImportDeclaration(e){let t=e.moduleSpecifier.text,s=[],n,i,o=e.importClause?.isTypeOnly??!1;if(e.importClause&&(e.importClause.name&&(n=e.importClause.name.text),e.importClause.namedBindings)){if(m.isNamespaceImport(e.importClause.namedBindings))i=e.importClause.namedBindings.name.text;else if(m.isNamedImports(e.importClause.namedBindings))for(let r of e.importClause.namedBindings.elements)s.push({name:r.propertyName?.text??r.name.text,alias:r.propertyName?r.name.text:void 0})}return{module:t,namedImports:s,defaultImport:n,namespaceImport:i,isTypeOnly:o}}extractExportDeclaration(e,t){let s=e.moduleSpecifier?e.moduleSpecifier.text:void 0;if(e.exportClause&&m.isNamedExports(e.exportClause))for(let n of e.exportClause.elements)t.push({name:n.name.text,type:"unknown",isDefault:!1,isReexport:!!s,sourceModule:s});else!e.exportClause&&s&&t.push({name:"*",type:"unknown",isDefault:!1,isReexport:!0,sourceModule:s})}extractInterfaceDeclaration(e,t){let{line:s}=t.getLineAndCharacterOfPosition(e.getStart()),{line:n}=t.getLineAndCharacterOfPosition(e.getEnd()),i=[],o=[];for(let a of e.members)m.isPropertySignature(a)&&a.name?i.push({name:this.getPropertyName(a.name,t),type:a.type?a.type.getText(t):void 0,isOptional:!!a.questionToken,isReadonly:this.hasReadonlyModifier(a)}):m.isMethodSignature(a)&&a.name&&o.push({name:this.getPropertyName(a.name,t),parameters:this.extractParameters(a.parameters),returnType:a.type?a.type.getText(t):void 0,isOptional:!!a.questionToken});let r=[];if(e.heritageClauses){for(let a of e.heritageClauses)if(a.token===m.SyntaxKind.ExtendsKeyword)for(let c of a.types)r.push(c.expression.getText(t))}return{name:e.name.text,properties:i,methods:o,extends:r,isExported:this.hasExportModifier(e),startLine:s+1,endLine:n+1,typeParameters:this.extractTypeParameters(e.typeParameters)}}extractParameters(e){return e.map(t=>{let s=t.getSourceFile();return{name:m.isIdentifier(t.name)?t.name.text:t.name.getText(s),type:t.type?t.type.getText(s):void 0,isOptional:!!t.questionToken||!!t.initializer,isRest:!!t.dotDotDotToken,defaultValue:t.initializer?t.initializer.getText(s):void 0}})}extractTypeParameters(e){return e?e.map(t=>t.name.text):[]}getPropertyName(e,t){return m.isIdentifier(e)||m.isStringLiteral(e)||m.isNumericLiteral(e)?e.text:e.getText(t)}getExportAssignmentName(e){return m.isIdentifier(e.expression)?e.expression.text:"default"}hasExportModifier(e){return m.canHaveModifiers(e)&&!!m.getModifiers(e)?.some(t=>t.kind===m.SyntaxKind.ExportKeyword)}hasDefaultModifier(e){return m.canHaveModifiers(e)&&!!m.getModifiers(e)?.some(t=>t.kind===m.SyntaxKind.DefaultKeyword)}hasAsyncModifier(e){return m.canHaveModifiers(e)&&!!m.getModifiers(e)?.some(t=>t.kind===m.SyntaxKind.AsyncKeyword)}hasStaticModifier(e){return m.canHaveModifiers(e)&&!!m.getModifiers(e)?.some(t=>t.kind===m.SyntaxKind.StaticKeyword)}hasAbstractModifier(e){return m.canHaveModifiers(e)&&!!m.getModifiers(e)?.some(t=>t.kind===m.SyntaxKind.AbstractKeyword)}hasReadonlyModifier(e){return m.canHaveModifiers(e)&&!!m.getModifiers(e)?.some(t=>t.kind===m.SyntaxKind.ReadonlyKeyword)}getVisibility(e){if(!m.canHaveModifiers(e))return"public";let t=m.getModifiers(e);return t?t.some(s=>s.kind===m.SyntaxKind.PrivateKeyword)?"private":t.some(s=>s.kind===m.SyntaxKind.ProtectedKeyword)?"protected":"public":"public"}},nt=new N,Z=class{language="typescript";supportedExtensions=[".ts",".tsx",".js",".jsx",".mjs",".cjs"];parser=new N;async parseFile(e,t){let s=this.parser.parseFile(t,e),n=this.parser.extractFunctions(s),i=this.parser.extractClasses(s),o=this.parser.extractImports(s);return{functions:n.map(r=>this.mapFunction(r)),classes:i.map(r=>this.mapClass(r)),imports:o.map(r=>this.mapImport(r)),language:t.endsWith(".js")||t.endsWith(".jsx")||t.endsWith(".mjs")||t.endsWith(".cjs")?"javascript":"typescript",filePath:t}}mapFunction(e){return{name:e.name,parameters:e.parameters.map(t=>({name:t.name,type:t.type,isOptional:t.isOptional,defaultValue:t.defaultValue})),returnType:e.returnType,isAsync:e.isAsync,isPublic:e.isExported,complexity:1,decorators:[],genericParams:e.typeParameters,startLine:e.startLine,endLine:e.endLine}}mapClass(e){return{name:e.name,methods:e.methods.map(t=>({name:t.name,parameters:t.parameters.map(s=>({name:s.name,type:s.type,isOptional:s.isOptional,defaultValue:s.defaultValue})),returnType:t.returnType,isAsync:t.isAsync,isPublic:t.visibility==="public",complexity:1,decorators:[],genericParams:[],startLine:t.startLine,endLine:t.endLine})),properties:e.properties.map(t=>this.mapProperty(t)),isPublic:e.isExported,implements:e.implements,extends:e.extends,decorators:[],startLine:e.startLine,endLine:e.endLine}}mapProperty(e){return{name:e.name,type:e.type,isPublic:e.visibility==="public",isReadonly:e.isReadonly}}mapImport(e){return{module:e.module,namedImports:e.namedImports.map(t=>t.alias||t.name),isTypeOnly:e.isTypeOnly}}},it=new Z;De();var L=1e3;function R(p){let e=p.split(`
3
3
  `),t=[],s=[],n="",i=0,o=0,r=0,a=0;for(let c=0;c<e.length;c++){let l=e[c],d=l.trim();if(d===""||d.startsWith("//")||d.startsWith("#")||d.startsWith("*")){if(n){n+=" "+d;continue}t.push(l),s.push(c+1);continue}n||(i=c+1),n=n?n+" "+d:l;for(let u of d)u==="("?o++:u===")"?o=Math.max(0,o-1):u==="<"?r++:u===">"?r=Math.max(0,r-1):u==="["?a++:u==="]"&&(a=Math.max(0,a-1));o===0&&r===0&&a===0&&(t.push(n),s.push(i),n="")}return n&&(t.push(n),s.push(i)),{logicalLines:t,lineMap:s}}function B(p,e,t="<",s=">"){if(p[e]!==t)return;let n=1,i=e+1;for(;i<p.length&&n>0;)p[i]===t?n++:p[i]===s&&n--,i++;if(n===0)return p.substring(e+1,i-1)}function M(p,e,t){let s=[];for(let n=e-1;n>=0;n--){let i=p[n].trim();if(i.startsWith(t))s.unshift(i);else{if(i===""||i.startsWith("//")||i.startsWith("*")||i.startsWith("#"))continue;break}}return s}function T(p){let e=[],t=0,s="";for(let n of p)n==="<"||n==="("?t++:(n===">"||n===")")&&t--,n===","&&t===0?(e.push(s.trim()),s=""):s+=n;return s.trim()&&e.push(s.trim()),e}function de(p){let e=0,t=!1,s="";for(let n=0;n<p.length;n++){let i=p[n];if(t){i===s&&p[n-1]!=="\\"&&(t=!1);continue}i==='"'||i==="'"||i==="`"?(t=!0,s=i):i==="{"?e++:i==="}"&&e--}return e}var ee=class{language="python";supportedExtensions=[".py"];async parseFile(e,t){return{functions:this.extractFunctions(e),classes:this.extractClasses(e),imports:this.extractImports(e),language:"python",filePath:t}}extractFunctions(e){let t=[],s=e.split(`
4
- `),{logicalLines:n,lineMap:i}=L(e),o=/^(\s*)(async\s+)?def\s+(\w+)\s*\(([^)]*)\)(?:\s*->\s*([^:]*\S))?\s*:/;for(let r=0;r<n.length;r++){if(n[r].length>P)continue;let a=n[r].match(o);if(a){let c=a[1].length,l=!!a[2],d=a[3],u=a[4],h=a[5]?.trim(),f=i[r]-1,g=f+1;for(let y=f+1;y<s.length;y++){let v=s[y];if(v.trim()===""||v.trim().startsWith("#"))continue;if((v.match(/^(\s*)/)?.[1].length??0)<=c&&v.trim()!==""){g=y;break}g=y+1}let b=M(s,f,"@");t.push({name:d,parameters:this.parseParams(u),returnType:h,isAsync:l,isPublic:!d.startsWith("_"),complexity:1,decorators:b,genericParams:[],startLine:i[r],endLine:g})}}return t}extractClasses(e){let t=[],s=e.split(`
5
- `),{logicalLines:n,lineMap:i}=L(e),o=/^(\s*)class\s+(\w+)(?:\(([^)]*)\))?\s*:/;for(let r=0;r<n.length;r++){let a=n[r].match(o);if(a){let c=a[1].length,l=a[2],d=a[3]?a[3].split(",").map(y=>y.trim()):[],u=i[r]-1,h=u+1;for(let y=u+1;y<s.length;y++){let v=s[y];if(v.trim()===""||v.trim().startsWith("#"))continue;if((v.match(/^(\s*)/)?.[1].length??0)<=c&&v.trim()!==""){h=y;break}h=y+1}let f=s.slice(u+1,h).join(`
6
- `),g=this.extractFunctions(f).map(y=>({...y,startLine:y.startLine+u,endLine:y.endLine+u})),b=M(s,u,"@");t.push({name:l,methods:g,properties:[],isPublic:!l.startsWith("_"),implements:[],extends:d[0]||void 0,decorators:b,startLine:i[r],endLine:h})}}return t}extractImports(e){let t=[],s=e.split(`
7
- `);for(let n of s){if(n.length>P)continue;let i=n.match(/^\s*from\s+(\S+)\s+import\s+(.+)/);if(i){let r=i[2].split(",").map(a=>a.trim().split(" as ")[0]);t.push({module:i[1],namedImports:r,isTypeOnly:!1});continue}let o=n.match(/^\s*import\s+(\S+)/);o&&t.push({module:o[1],namedImports:[],isTypeOnly:!1})}return t}parseParams(e){return e.trim()?T(e).map(t=>t.trim()).filter(t=>t&&t!=="self"&&t!=="cls").map(t=>{let[s,n]=t.split(":").map(r=>r.trim()),[i,o]=s.split("=").map(r=>r.trim());return{name:i,type:n?.split("=")[0].trim()||void 0,isOptional:!!o||i.startsWith("*"),defaultValue:o||void 0}}):[]}},te=class{language="java";supportedExtensions=[".java"];async parseFile(e,t){return{functions:this.extractFunctions(e),classes:this.extractClasses(e),imports:this.extractImports(e),language:"java",filePath:t}}extractFunctions(e){let t=[],s=e.split(`
8
- `),{logicalLines:n,lineMap:i}=L(e),o=/^\s*(public|private|protected)?\s*(static)?\s*(async)?\s*(?:<\S+>\s+)?([\w<>,.[\]?]+(?:\s+[\w<>,.[\]?]+)*)\s+(\w+)\s*\(([^)]*)\)/;for(let r=0;r<n.length;r++){let a=n[r];if(a.includes(" class ")||a.includes(" interface ")||a.length>P)continue;let c=a.match(o);if(c){let l=c[1]||"default",d=c[5],u=c[6],h=c[4]?.trim(),f=h;if(h&&h.includes("<")){let y=h.indexOf("<"),v=B(h,y);v!==void 0&&(f=h.substring(0,y)+"<"+v+">")}let g=i[r]-1,b=M(s,g,"@");t.push({name:d,parameters:this.parseParams(u),returnType:f==="void"?void 0:f,isAsync:f?.includes("CompletableFuture")||!1,isPublic:l==="public",complexity:1,decorators:b,genericParams:[],startLine:i[r],endLine:i[r]})}}return t}extractClasses(e){let t=[],s=e.split(`
9
- `),{logicalLines:n,lineMap:i}=L(e),o=/^\s*(public|private|protected)?\s*(abstract)?\s*class\s+(\w+)(?:<[^{]*>)?(?:\s+extends\s+(\w+))?(?:\s+implements\s+([^{\s]+(?:\s+[^{\s]+)*))?\s*\{?/;for(let r=0;r<n.length;r++){if(n[r].length>P)continue;let a=n[r].match(o);if(a){let c=a[3],l=a[4],d=a[5]?a[5].split(",").map(f=>f.trim()):[],u=i[r]-1,h=M(s,u,"@");t.push({name:c,methods:[],properties:[],isPublic:(a[1]||"default")==="public",implements:d,extends:l,decorators:h,startLine:i[r],endLine:i[r]})}}return t}extractImports(e){let t=[],s=e.split(`
10
- `);for(let n of s){if(n.length>P)continue;let i=n.match(/^\s*import +(static +)?(\S[^;]*);/);if(i){let o=i[2].trim(),r=o.split("."),a=r[r.length-1];t.push({module:o,namedImports:a==="*"?[]:[a],isTypeOnly:!1})}}return t}parseParams(e){return e.trim()?T(e).map(t=>{let n=t.trim().split(/\s+/).filter(r=>!r.startsWith("@")),i=n[n.length-1]||"",o=n.slice(0,-1).join(" ")||void 0;return{name:i,type:o,isOptional:!1,defaultValue:void 0}}):[]}},se=class{language="csharp";supportedExtensions=[".cs"];async parseFile(e,t){return{functions:this.extractMethods(e),classes:this.extractClasses(e),imports:this.extractImports(e),language:"csharp",filePath:t}}extractMethods(e){let t=[],s=e.split(`
11
- `),{logicalLines:n,lineMap:i}=L(e),o=/^\s*(public|private|protected|internal)?\s*(static)?\s*(async)?\s*([\w<>,.[\]?]+(?:\s+[\w<>,.[\]?]+)*)\s+(\w+)\s*\(([^)]*)\)/;for(let r=0;r<n.length;r++){let a=n[r];if(a.includes(" class ")||a.includes(" interface ")||a.includes(" namespace ")||a.length>P)continue;let c=a.match(o);if(c){let l=c[1]||"private",d=!!c[3]||c[4]?.includes("Task")||!1,u=c[4]?.trim(),h=u;if(u&&u.includes("<")){let v=u.indexOf("<"),C=B(u,v);C!==void 0&&(h=u.substring(0,v)+"<"+C+">")}let f=c[5],g=c[6],b=i[r]-1,y=M(s,b,"[");t.push({name:f,parameters:this.parseParams(g),returnType:h==="void"?void 0:h,isAsync:d,isPublic:l==="public",complexity:1,decorators:y,genericParams:[],startLine:i[r],endLine:i[r]})}}return t}extractClasses(e){let t=[],s=e.split(`
12
- `),{logicalLines:n,lineMap:i}=L(e),o=/^\s*(public|private|protected|internal)?\s*(abstract|sealed|static|partial)?\s*class\s+(\w+)(?:<[^{]*>)?(?:\s*:\s*([^{\s]+(?:\s+[^{\s]+)*))?\s*\{?/;for(let r=0;r<n.length;r++){if(n[r].length>P)continue;let a=n[r].match(o);if(a){let c=a[3],l=a[4]?a[4].split(",").map(h=>h.trim()):[],d=i[r]-1,u=M(s,d,"[");t.push({name:c,methods:[],properties:[],isPublic:(a[1]||"internal")==="public",implements:l.slice(1),extends:l[0]||void 0,decorators:u,startLine:i[r],endLine:i[r]})}}return t}extractImports(e){let t=[],s=e.split(`
13
- `);for(let n of s){if(n.length>P)continue;let i=n.match(/^\s*using +(static +)?(\S[^;]*);/);i&&t.push({module:i[2].trim(),namedImports:[],isTypeOnly:!1})}return t}parseParams(e){return e.trim()?T(e).map(t=>{let s=t.trim().split(/\s+/),n=s[s.length-1]||"",i=s.slice(0,-1).join(" ")||void 0;return{name:n,type:i,isOptional:i?.endsWith("?")||!1,defaultValue:void 0}}):[]}},ne=class{language="go";supportedExtensions=[".go"];async parseFile(e,t){return{functions:this.extractFunctions(e),classes:this.extractStructs(e),imports:this.extractImports(e),language:"go",filePath:t}}extractFunctions(e){let t=[],s=e.split(`
14
- `),{logicalLines:n,lineMap:i}=L(e),o=/^\s*func\s+(?:\((\w+)\s+\*?(\w+)\)\s+)?(\w+)\s*\(([^)]*)\)\s*([\w*[\](),\s]*)\s*\{?/,r=0;for(let a=0;a<n.length;a++){let c=n[a];if(c.length>P){r+=(c.match(/\{/g)?.length??0)-(c.match(/\}/g)?.length??0);continue}let l=c.match(o);if(l&&r===0){let d=l[3],u=l[4],h=l[5]?.trim()||void 0;t.push({name:d,parameters:this.parseParams(u),returnType:h||void 0,isAsync:!1,isPublic:d[0]===d[0].toUpperCase(),complexity:1,decorators:[],genericParams:[],startLine:i[a],endLine:i[a]})}r+=de(c),r<0&&(r=0)}return t}extractStructs(e){let t=[],{logicalLines:s,lineMap:n}=L(e),i=/^\s*type\s+(\w+)\s+struct\s*\{/;for(let o=0;o<s.length;o++){let r=s[o].match(i);if(r){let a=r[1];t.push({name:a,methods:[],properties:[],isPublic:a[0]===a[0].toUpperCase(),implements:[],extends:void 0,decorators:[],startLine:n[o],endLine:n[o]})}}return t}extractImports(e){let t=[],s=/^\s*import\s+"([^"]+)"/,n=/^\s*import\s*\(/,i=/^\s*"([^"]+)"/,o=e.split(`
4
+ `),{logicalLines:n,lineMap:i}=R(e),o=/^(\s*)(async\s+)?def\s+(\w+)\s*\(([^)]*)\)(?:\s*->\s*([^:]*\S))?\s*:/;for(let r=0;r<n.length;r++){if(n[r].length>L)continue;let a=n[r].match(o);if(a){let c=a[1].length,l=!!a[2],d=a[3],u=a[4],h=a[5]?.trim(),f=i[r]-1,y=f+1;for(let g=f+1;g<s.length;g++){let x=s[g];if(x.trim()===""||x.trim().startsWith("#"))continue;if((x.match(/^(\s*)/)?.[1].length??0)<=c&&x.trim()!==""){y=g;break}y=g+1}let b=M(s,f,"@");t.push({name:d,parameters:this.parseParams(u),returnType:h,isAsync:l,isPublic:!d.startsWith("_"),complexity:1,decorators:b,genericParams:[],startLine:i[r],endLine:y})}}return t}extractClasses(e){let t=[],s=e.split(`
5
+ `),{logicalLines:n,lineMap:i}=R(e),o=/^(\s*)class\s+(\w+)(?:\(([^)]*)\))?\s*:/;for(let r=0;r<n.length;r++){let a=n[r].match(o);if(a){let c=a[1].length,l=a[2],d=a[3]?a[3].split(",").map(g=>g.trim()):[],u=i[r]-1,h=u+1;for(let g=u+1;g<s.length;g++){let x=s[g];if(x.trim()===""||x.trim().startsWith("#"))continue;if((x.match(/^(\s*)/)?.[1].length??0)<=c&&x.trim()!==""){h=g;break}h=g+1}let f=s.slice(u+1,h).join(`
6
+ `),y=this.extractFunctions(f).map(g=>({...g,startLine:g.startLine+u,endLine:g.endLine+u})),b=M(s,u,"@");t.push({name:l,methods:y,properties:[],isPublic:!l.startsWith("_"),implements:[],extends:d[0]||void 0,decorators:b,startLine:i[r],endLine:h})}}return t}extractImports(e){let t=[],s=e.split(`
7
+ `);for(let n of s){if(n.length>L)continue;let i=n.match(/^\s*from\s+(\S+)\s+import\s+(.+)/);if(i){let r=i[2].split(",").map(a=>a.trim().split(" as ")[0]);t.push({module:i[1],namedImports:r,isTypeOnly:!1});continue}let o=n.match(/^\s*import\s+(\S+)/);o&&t.push({module:o[1],namedImports:[],isTypeOnly:!1})}return t}parseParams(e){return e.trim()?T(e).map(t=>t.trim()).filter(t=>t&&t!=="self"&&t!=="cls").map(t=>{let[s,n]=t.split(":").map(r=>r.trim()),[i,o]=s.split("=").map(r=>r.trim());return{name:i,type:n?.split("=")[0].trim()||void 0,isOptional:!!o||i.startsWith("*"),defaultValue:o||void 0}}):[]}},te=class{language="java";supportedExtensions=[".java"];async parseFile(e,t){return{functions:this.extractFunctions(e),classes:this.extractClasses(e),imports:this.extractImports(e),language:"java",filePath:t}}extractFunctions(e){let t=[],s=e.split(`
8
+ `),{logicalLines:n,lineMap:i}=R(e),o=/^\s*(public|private|protected)?\s*(static)?\s*(async)?\s*(?:<\S+>\s+)?([\w<>,.[\]?]+(?:\s+[\w<>,.[\]?]+)*)\s+(\w+)\s*\(([^)]*)\)/;for(let r=0;r<n.length;r++){let a=n[r];if(a.includes(" class ")||a.includes(" interface ")||a.length>L)continue;let c=a.match(o);if(c){let l=c[1]||"default",d=c[5],u=c[6],h=c[4]?.trim(),f=h;if(h&&h.includes("<")){let g=h.indexOf("<"),x=B(h,g);x!==void 0&&(f=h.substring(0,g)+"<"+x+">")}let y=i[r]-1,b=M(s,y,"@");t.push({name:d,parameters:this.parseParams(u),returnType:f==="void"?void 0:f,isAsync:f?.includes("CompletableFuture")||!1,isPublic:l==="public",complexity:1,decorators:b,genericParams:[],startLine:i[r],endLine:i[r]})}}return t}extractClasses(e){let t=[],s=e.split(`
9
+ `),{logicalLines:n,lineMap:i}=R(e),o=/^\s*(public|private|protected)?\s*(abstract)?\s*class\s+(\w+)(?:<[^{]*>)?(?:\s+extends\s+(\w+))?(?:\s+implements\s+([^{\s]+(?:\s+[^{\s]+)*))?\s*\{?/;for(let r=0;r<n.length;r++){if(n[r].length>L)continue;let a=n[r].match(o);if(a){let c=a[3],l=a[4],d=a[5]?a[5].split(",").map(f=>f.trim()):[],u=i[r]-1,h=M(s,u,"@");t.push({name:c,methods:[],properties:[],isPublic:(a[1]||"default")==="public",implements:d,extends:l,decorators:h,startLine:i[r],endLine:i[r]})}}return t}extractImports(e){let t=[],s=e.split(`
10
+ `);for(let n of s){if(n.length>L)continue;let i=n.match(/^\s*import +(static +)?(\S[^;]*);/);if(i){let o=i[2].trim(),r=o.split("."),a=r[r.length-1];t.push({module:o,namedImports:a==="*"?[]:[a],isTypeOnly:!1})}}return t}parseParams(e){return e.trim()?T(e).map(t=>{let n=t.trim().split(/\s+/).filter(r=>!r.startsWith("@")),i=n[n.length-1]||"",o=n.slice(0,-1).join(" ")||void 0;return{name:i,type:o,isOptional:!1,defaultValue:void 0}}):[]}},se=class{language="csharp";supportedExtensions=[".cs"];async parseFile(e,t){return{functions:this.extractMethods(e),classes:this.extractClasses(e),imports:this.extractImports(e),language:"csharp",filePath:t}}extractMethods(e){let t=[],s=e.split(`
11
+ `),{logicalLines:n,lineMap:i}=R(e),o=/^\s*(public|private|protected|internal)?\s*(static)?\s*(async)?\s*([\w<>,.[\]?]+(?:\s+[\w<>,.[\]?]+)*)\s+(\w+)\s*\(([^)]*)\)/;for(let r=0;r<n.length;r++){let a=n[r];if(a.includes(" class ")||a.includes(" interface ")||a.includes(" namespace ")||a.length>L)continue;let c=a.match(o);if(c){let l=c[1]||"private",d=!!c[3]||c[4]?.includes("Task")||!1,u=c[4]?.trim(),h=u;if(u&&u.includes("<")){let x=u.indexOf("<"),w=B(u,x);w!==void 0&&(h=u.substring(0,x)+"<"+w+">")}let f=c[5],y=c[6],b=i[r]-1,g=M(s,b,"[");t.push({name:f,parameters:this.parseParams(y),returnType:h==="void"?void 0:h,isAsync:d,isPublic:l==="public",complexity:1,decorators:g,genericParams:[],startLine:i[r],endLine:i[r]})}}return t}extractClasses(e){let t=[],s=e.split(`
12
+ `),{logicalLines:n,lineMap:i}=R(e),o=/^\s*(public|private|protected|internal)?\s*(abstract|sealed|static|partial)?\s*class\s+(\w+)(?:<[^{]*>)?(?:\s*:\s*([^{\s]+(?:\s+[^{\s]+)*))?\s*\{?/;for(let r=0;r<n.length;r++){if(n[r].length>L)continue;let a=n[r].match(o);if(a){let c=a[3],l=a[4]?a[4].split(",").map(h=>h.trim()):[],d=i[r]-1,u=M(s,d,"[");t.push({name:c,methods:[],properties:[],isPublic:(a[1]||"internal")==="public",implements:l.slice(1),extends:l[0]||void 0,decorators:u,startLine:i[r],endLine:i[r]})}}return t}extractImports(e){let t=[],s=e.split(`
13
+ `);for(let n of s){if(n.length>L)continue;let i=n.match(/^\s*using +(static +)?(\S[^;]*);/);i&&t.push({module:i[2].trim(),namedImports:[],isTypeOnly:!1})}return t}parseParams(e){return e.trim()?T(e).map(t=>{let s=t.trim().split(/\s+/),n=s[s.length-1]||"",i=s.slice(0,-1).join(" ")||void 0;return{name:n,type:i,isOptional:i?.endsWith("?")||!1,defaultValue:void 0}}):[]}},ne=class{language="go";supportedExtensions=[".go"];async parseFile(e,t){return{functions:this.extractFunctions(e),classes:this.extractStructs(e),imports:this.extractImports(e),language:"go",filePath:t}}extractFunctions(e){let t=[],s=e.split(`
14
+ `),{logicalLines:n,lineMap:i}=R(e),o=/^\s*func\s+(?:\((\w+)\s+\*?(\w+)\)\s+)?(\w+)\s*\(([^)]*)\)\s*([\w*[\](),\s]*)\s*\{?/,r=0;for(let a=0;a<n.length;a++){let c=n[a];if(c.length>L){r+=(c.match(/\{/g)?.length??0)-(c.match(/\}/g)?.length??0);continue}let l=c.match(o);if(l&&r===0){let d=l[3],u=l[4],h=l[5]?.trim()||void 0;t.push({name:d,parameters:this.parseParams(u),returnType:h||void 0,isAsync:!1,isPublic:d[0]===d[0].toUpperCase(),complexity:1,decorators:[],genericParams:[],startLine:i[a],endLine:i[a]})}r+=de(c),r<0&&(r=0)}return t}extractStructs(e){let t=[],{logicalLines:s,lineMap:n}=R(e),i=/^\s*type\s+(\w+)\s+struct\s*\{/;for(let o=0;o<s.length;o++){let r=s[o].match(i);if(r){let a=r[1];t.push({name:a,methods:[],properties:[],isPublic:a[0]===a[0].toUpperCase(),implements:[],extends:void 0,decorators:[],startLine:n[o],endLine:n[o]})}}return t}extractImports(e){let t=[],s=/^\s*import\s+"([^"]+)"/,n=/^\s*import\s*\(/,i=/^\s*"([^"]+)"/,o=e.split(`
15
15
  `),r=!1;for(let a of o)if(r){if(a.includes(")")){r=!1;continue}let c=a.match(i);c&&t.push({module:c[1],namedImports:[],isTypeOnly:!1})}else{let c=a.match(s);c?t.push({module:c[1],namedImports:[],isTypeOnly:!1}):n.test(a)&&(r=!0)}return t}parseParams(e){return e.trim()?T(e).map(t=>{let s=t.trim().split(/\s+/),n=s[0]||"",i=s.slice(1).join(" ")||void 0;return{name:n,type:i,isOptional:!1,defaultValue:void 0}}):[]}},ie=class{language="rust";supportedExtensions=[".rs"];async parseFile(e,t){return{functions:this.extractFunctions(e),classes:this.extractStructsAndImpls(e),imports:this.extractImports(e),language:"rust",filePath:t}}extractFunctions(e){let t=[],s=e.split(`
16
- `),{logicalLines:n,lineMap:i}=L(e),o=/^\s*(pub(?:\(crate\))? +)?(async +)?fn\s+(\w+)(?:<[^{]*>)?\s*\(([^)]*)\)(?:\s*->\s*([^{\s]+(?:\s+[^{\s]+)*))?\s*(?:where\s+[^{\s]+(?:\s+[^{\s]+)*)?\s*\{?/,r=0;for(let a=0;a<n.length;a++){let c=n[a],l=c.match(o);if(l&&r<=1){let d=!!l[1],u=!!l[2],h=l[3],f=l[4],g=l[5]?.trim(),b=i[a]-1,y=M(s,b,"#[");t.push({name:h,parameters:this.parseParams(f),returnType:g,isAsync:u,isPublic:d,complexity:1,decorators:y,genericParams:[],startLine:i[a],endLine:i[a]})}r+=de(c),r<0&&(r=0)}return t}extractStructsAndImpls(e){let t=[],s=e.split(`
17
- `),{logicalLines:n,lineMap:i}=L(e),o=/^\s*(pub(?:\(crate\))?\s+)?struct\s+(\w+)(?:<[^{]*>)?\s*/;for(let r=0;r<n.length;r++){let a=n[r].match(o);if(a){let c=i[r]-1,l=M(s,c,"#[");t.push({name:a[2],methods:[],properties:[],isPublic:!!a[1],implements:[],extends:void 0,decorators:l,startLine:i[r],endLine:i[r]})}}return t}extractImports(e){let t=[],s=e.split(`
18
- `);for(let n of s){if(n.length>P)continue;let i=n.match(/^\s*use +(\S[^;]*);/);i&&t.push({module:i[1].trim(),namedImports:[],isTypeOnly:!1})}return t}parseParams(e){return e.trim()?T(e).map(t=>t.trim()).filter(t=>t&&t!=="&self"&&t!=="&mut self"&&t!=="self").map(t=>{let s=t.indexOf(":");if(s===-1)return{name:t,type:void 0,isOptional:!1,defaultValue:void 0};let n=t.substring(0,s).trim(),i=t.substring(s+1).trim();return{name:n,type:i,isOptional:!1,defaultValue:void 0}}):[]}},re=class{language="swift";supportedExtensions=[".swift"];async parseFile(e,t){return{functions:this.extractFunctions(e),classes:this.extractClasses(e),imports:this.extractImports(e),language:"swift",filePath:t}}extractFunctions(e){let t=[],{logicalLines:s,lineMap:n}=L(e),i=/^\s*(public|private|internal|open)?\s*(static)?\s*func\s+(\w+)(?:<[^{]*>)?\s*\(([^)]*)\)(?:\s*(async))?\s*(?:throws +)?(?:->\s*([^{\s]+(?:\s+[^{\s]+)*))?\s*\{?/;for(let o=0;o<s.length;o++){if(s[o].length>P)continue;let r=s[o].match(i);if(r){let a=r[1]||"internal",c=!!r[5],l=r[3],d=r[4],u=r[6]?.trim();t.push({name:l,parameters:this.parseParams(d),returnType:u,isAsync:c,isPublic:a==="public"||a==="open",complexity:1,decorators:[],genericParams:[],startLine:n[o],endLine:n[o]})}}return t}extractClasses(e){let t=[],{logicalLines:s,lineMap:n}=L(e),i=/^\s*(public|private|internal|open)?\s*(class|struct|protocol)\s+(\w+)(?:<[^{]*>)?(?:\s*:\s*([^{\s]+(?:\s+[^{\s]+)*))?\s*\{?/;for(let o=0;o<s.length;o++){if(s[o].length>P)continue;let r=s[o].match(i);if(r){let a=r[3],c=r[4]?r[4].split(",").map(l=>l.trim()):[];t.push({name:a,methods:[],properties:[],isPublic:(r[1]||"internal")==="public"||r[1]==="open",implements:c.slice(1),extends:c[0]||void 0,decorators:[],startLine:n[o],endLine:n[o]})}}return t}extractImports(e){let t=[],s=e.split(`
16
+ `),{logicalLines:n,lineMap:i}=R(e),o=/^\s*(pub(?:\(crate\))? +)?(async +)?fn\s+(\w+)(?:<[^{]*>)?\s*\(([^)]*)\)(?:\s*->\s*([^{\s]+(?:\s+[^{\s]+)*))?\s*(?:where\s+[^{\s]+(?:\s+[^{\s]+)*)?\s*\{?/,r=0;for(let a=0;a<n.length;a++){let c=n[a],l=c.match(o);if(l&&r<=1){let d=!!l[1],u=!!l[2],h=l[3],f=l[4],y=l[5]?.trim(),b=i[a]-1,g=M(s,b,"#[");t.push({name:h,parameters:this.parseParams(f),returnType:y,isAsync:u,isPublic:d,complexity:1,decorators:g,genericParams:[],startLine:i[a],endLine:i[a]})}r+=de(c),r<0&&(r=0)}return t}extractStructsAndImpls(e){let t=[],s=e.split(`
17
+ `),{logicalLines:n,lineMap:i}=R(e),o=/^\s*(pub(?:\(crate\))?\s+)?struct\s+(\w+)(?:<[^{]*>)?\s*/;for(let r=0;r<n.length;r++){let a=n[r].match(o);if(a){let c=i[r]-1,l=M(s,c,"#[");t.push({name:a[2],methods:[],properties:[],isPublic:!!a[1],implements:[],extends:void 0,decorators:l,startLine:i[r],endLine:i[r]})}}return t}extractImports(e){let t=[],s=e.split(`
18
+ `);for(let n of s){if(n.length>L)continue;let i=n.match(/^\s*use +(\S[^;]*);/);i&&t.push({module:i[1].trim(),namedImports:[],isTypeOnly:!1})}return t}parseParams(e){return e.trim()?T(e).map(t=>t.trim()).filter(t=>t&&t!=="&self"&&t!=="&mut self"&&t!=="self").map(t=>{let s=t.indexOf(":");if(s===-1)return{name:t,type:void 0,isOptional:!1,defaultValue:void 0};let n=t.substring(0,s).trim(),i=t.substring(s+1).trim();return{name:n,type:i,isOptional:!1,defaultValue:void 0}}):[]}},re=class{language="swift";supportedExtensions=[".swift"];async parseFile(e,t){return{functions:this.extractFunctions(e),classes:this.extractClasses(e),imports:this.extractImports(e),language:"swift",filePath:t}}extractFunctions(e){let t=[],{logicalLines:s,lineMap:n}=R(e),i=/^\s*(public|private|internal|open)?\s*(static)?\s*func\s+(\w+)(?:<[^{]*>)?\s*\(([^)]*)\)(?:\s*(async))?\s*(?:throws +)?(?:->\s*([^{\s]+(?:\s+[^{\s]+)*))?\s*\{?/;for(let o=0;o<s.length;o++){if(s[o].length>L)continue;let r=s[o].match(i);if(r){let a=r[1]||"internal",c=!!r[5],l=r[3],d=r[4],u=r[6]?.trim();t.push({name:l,parameters:this.parseParams(d),returnType:u,isAsync:c,isPublic:a==="public"||a==="open",complexity:1,decorators:[],genericParams:[],startLine:n[o],endLine:n[o]})}}return t}extractClasses(e){let t=[],{logicalLines:s,lineMap:n}=R(e),i=/^\s*(public|private|internal|open)?\s*(class|struct|protocol)\s+(\w+)(?:<[^{]*>)?(?:\s*:\s*([^{\s]+(?:\s+[^{\s]+)*))?\s*\{?/;for(let o=0;o<s.length;o++){if(s[o].length>L)continue;let r=s[o].match(i);if(r){let a=r[3],c=r[4]?r[4].split(",").map(l=>l.trim()):[];t.push({name:a,methods:[],properties:[],isPublic:(r[1]||"internal")==="public"||r[1]==="open",implements:c.slice(1),extends:c[0]||void 0,decorators:[],startLine:n[o],endLine:n[o]})}}return t}extractImports(e){let t=[],s=e.split(`
19
19
  `);for(let n of s){let i=n.match(/^\s*import\s+(\w+)/);i&&t.push({module:i[1],namedImports:[],isTypeOnly:!1})}return t}parseParams(e){return e.trim()?T(e).map(t=>{let s=t.trim().split(":"),n=s[0]?.trim().split(/\s+/)||[],i=n[n.length-1]||"",o=s.slice(1).join(":").trim();return{name:i,type:o||void 0,isOptional:o?.endsWith("?")||!1,defaultValue:void 0}}):[]}},ae=class{language="kotlin";supportedExtensions=[".kt",".kts"];async parseFile(e,t){return{functions:this.extractFunctions(e),classes:this.extractClasses(e),imports:this.extractImports(e),language:"kotlin",filePath:t}}extractFunctions(e){let t=[],s=e.split(`
20
- `),{logicalLines:n,lineMap:i}=L(e),o=/^\s*(public|private|protected|internal)?\s*(suspend)?\s*fun\s+(?:<[^{]*> +)?(\w+)\s*\(([^)]*)\)(?:\s*:\s*([^{=\s]+(?:\s+[^{=\s]+)*))?\s*/,r=0;for(let a=0;a<n.length;a++){let c=n[a];if(c.length>P){r+=(c.match(/\{/g)?.length??0)-(c.match(/\}/g)?.length??0);continue}let l=c.match(o);if(l&&r<=1){let d=l[1]||"public",u=!!l[2],h=l[3],f=l[4],g=l[5]?.trim();if(g&&g.includes("<")){let v=g.indexOf("<"),C=B(g,v);C!==void 0&&(g=g.substring(0,v)+"<"+C+">")}let b=i[a]-1,y=M(s,b,"@");t.push({name:h,parameters:this.parseParams(f),returnType:g,isAsync:u,isPublic:d==="public",complexity:1,decorators:y,genericParams:[],startLine:i[a],endLine:i[a]})}r+=de(c),r<0&&(r=0)}return t}extractClasses(e){let t=[],s=e.split(`
21
- `),{logicalLines:n,lineMap:i}=L(e),o=/^\s*(public|private|protected|internal)?\s*(data|sealed|abstract|open)?\s*class\s+(\w+)(?:<[^{]*>)?(?:\s*(?:\([^)]*\))?\s*:\s*([^{\s]+(?:\s+[^{\s]+)*))?\s*\{?/;for(let r=0;r<n.length;r++){if(n[r].length>P)continue;let a=n[r].match(o);if(a){let c=a[3],l=a[4]?a[4].split(",").map(h=>h.trim().split("(")[0].trim()):[],d=i[r]-1,u=M(s,d,"@");t.push({name:c,methods:[],properties:[],isPublic:(a[1]||"public")==="public",implements:l.slice(1),extends:l[0]||void 0,decorators:u,startLine:i[r],endLine:i[r]})}}return t}extractImports(e){let t=[],s=e.split(`
22
- `);for(let n of s){let i=n.match(/^\s*import\s+([^\s]+)/);i&&t.push({module:i[1],namedImports:[],isTypeOnly:!1})}return t}parseParams(e){return e.trim()?T(e).map(t=>{let s=t.indexOf(":");if(s===-1)return{name:t.replace("val ","").replace("var ","").trim(),type:void 0,isOptional:!1,defaultValue:void 0};let n=t.substring(0,s).replace("val ","").replace("var ","").trim(),i=t.substring(s+1).trim(),o=i.indexOf("="),r=o>=0?i.substring(0,o).trim():i,a=o>=0;return{name:n,type:r,isOptional:a||r?.endsWith("?")||!1,defaultValue:void 0}}):[]}},oe=class{language="dart";supportedExtensions=[".dart"];async parseFile(e,t){return{functions:this.extractFunctions(e),classes:this.extractClasses(e),imports:this.extractImports(e),language:"dart",filePath:t}}extractFunctions(e){let t=[],{logicalLines:s,lineMap:n}=L(e),i=/^\s*([\w<>,.?]+(?:\s+[\w<>,.?]+)*)\s+(\w+)\s*\(([^)]*)\)(?:\s*(async))?\s*\{/;for(let o=0;o<s.length;o++){let r=s[o];if(r.includes(" class ")||r.length>P)continue;let a=r.match(i);if(a){let c=a[1].trim(),l=c;if(c&&c.includes("<")){let f=c.indexOf("<"),g=B(c,f);g!==void 0&&(l=c.substring(0,f)+"<"+g+">")}let d=a[2],u=a[3],h=!!a[4]||l.includes("Future");t.push({name:d,parameters:this.parseParams(u),returnType:l==="void"?void 0:l,isAsync:h,isPublic:!d.startsWith("_"),complexity:1,decorators:[],genericParams:[],startLine:n[o],endLine:n[o]})}}return t}extractClasses(e){let t=[],{logicalLines:s,lineMap:n}=L(e),i=/^\s*(abstract +)?class\s+(\w+)(?:<[^{]*>)?(?:\s+extends\s+(\w+))?(?:\s+(?:with|implements)\s+([^{\s]+(?:\s+[^{\s]+)*))?\s*\{/;for(let o=0;o<s.length;o++){if(s[o].length>P)continue;let r=s[o].match(i);if(r){let a=r[2],c=r[3],l=r[4]?r[4].split(",").map(d=>d.trim()):[];t.push({name:a,methods:[],properties:[],isPublic:!a.startsWith("_"),implements:l,extends:c,decorators:[],startLine:n[o],endLine:n[o]})}}return t}extractImports(e){let t=[],s=e.split(`
23
- `);for(let n of s){let i=n.match(/^\s*import\s+'([^']+)'/);i&&t.push({module:i[1],namedImports:[],isTypeOnly:!1})}return t}parseParams(e){if(!e.trim())return[];let t=e.replace(/[{}[\]]/g,"");return T(t).map(s=>s.trim()).filter(s=>s).map(s=>{let n=s.replace("required ","").trim().split(/\s+/),i=n[n.length-1]||"",o=n.slice(0,-1).join(" ")||void 0;return{name:i,type:o,isOptional:s.includes("?")||s.includes("{"),defaultValue:void 0}})}},z=ve("ParserRegistry"),Le=["python","java","csharp","rust","swift"],ce=class p{language;supportedExtensions;wasmParser;regexParser;wasmFailCount=0;static MAX_WASM_RETRIES=3;constructor(e,t){this.wasmParser=e,this.regexParser=t,this.language=e.language,this.supportedExtensions=e.supportedExtensions}async parseFile(e,t){if(this.wasmFailCount<p.MAX_WASM_RETRIES)try{return await this.wasmParser.parseFile(e,t)}catch(s){this.wasmFailCount++;let n=s instanceof Error?s.message:String(s),i=this.wasmFailCount>=p.MAX_WASM_RETRIES;z.warn(`[${this.language}] tree-sitter WASM parser failed (attempt ${this.wasmFailCount}/${p.MAX_WASM_RETRIES}): ${n}. Falling back to regex parser (~97-98% accuracy). `+(i?"Set AQE_PARSER_REGEX_ONLY=1 to silence this warning.":"Will retry WASM on next parse."))}return this.regexParser.parseFile(e,t)}},le=class{parsers=new Map;_wasmInitPromise=null;constructor(){this.register(new ee),this.register(new te),this.register(new se),this.register(new ne),this.register(new ie),this.register(new re),this.register(new ae),this.register(new oe),this._wasmInitPromise=this._tryLoadWasmParsers()}async _tryLoadWasmParsers(){try{let e=await import("./tree-sitter-wasm-parser-NMNA6RJC.js");if(!e.isWasmAvailable()){z.info("tree-sitter WASM parsers disabled or unavailable. Using regex parsers (~97-98% accuracy). Set AQE_PARSER_REGEX_ONLY=0 or ensure web-tree-sitter is installed to enable WASM.");return}let t=e.createWasmParsers();for(let s of Le){let n=t.get(s),i=this.parsers.get(s);n&&i&&this.parsers.set(s,new ce(n,i))}z.info("tree-sitter WASM parsers available for: "+Le.join(", "))}catch{z.info("tree-sitter WASM parser module not available. Using regex parsers for all languages.")}}register(e){this.parsers.set(e.language,e)}getParser(e){return this.parsers.get(e)}async parseFile(e,t,s){this._wasmInitPromise&&(await this._wasmInitPromise,this._wasmInitPromise=null);let n=this.parsers.get(s);if(n)return n.parseFile(e,t)}getSupportedLanguages(){return Array.from(this.parsers.keys())}supportsLanguage(e){return this.parsers.has(e)}},it=new le;import*as I from"node:fs/promises";import*as E from"node:path";var _e=[/\.\./,/%2e%2e/i,/%252e%252e/i,/\.\.%2f/i,/%2f\.\./i,/\.\.%5c/i,/\.\.\\/,/%c0%ae/i,/%c0%2f/i,/%c1%9c/i,/\0/,/%00/i],$e=[/^\/etc\//i,/^\/proc\//i,/^\/sys\//i,/^\/dev\//i,/^\/root\//i,/^\/home\/.+\/\./i,/^[A-Z]:\\Windows/i,/^[A-Z]:\\System/i,/^[A-Z]:\\Users\\.+\\AppData/i],pe=class{name="path-traversal";getRiskLevel(){return"critical"}validate(e,t={}){let{basePath:s="",allowAbsolute:n=!1,allowedExtensions:i=[],deniedExtensions:o=[".exe",".bat",".cmd",".sh",".ps1",".dll",".so"],maxDepth:r=10,maxLength:a=4096}=t;if(e.length>a)return{valid:!1,error:`Path exceeds maximum length of ${a}`,riskLevel:"medium"};for(let f of _e)if(f.test(e))return{valid:!1,error:"Path traversal attempt detected",riskLevel:"critical"};if(!n&&(e.startsWith("/")||/^[A-Z]:/i.test(e)))return{valid:!1,error:"Absolute paths are not allowed",riskLevel:"high"};for(let f of $e)if(f.test(e))return{valid:!1,error:"Access to system paths is not allowed",riskLevel:"critical"};let c=this.normalizePath(e);if(c.includes(".."))return{valid:!1,error:"Path traversal detected after normalization",riskLevel:"critical"};if(c.split("/").filter(Boolean).length>r)return{valid:!1,error:`Path depth exceeds maximum of ${r}`,riskLevel:"low"};let d=this.getExtension(c);if(d){let f=`.${d.toLowerCase()}`,g=d.toLowerCase();if(o.length>0&&o.some(y=>y.toLowerCase()===f||y.toLowerCase()===g))return{valid:!1,error:`File extension '${d}' is not allowed`,riskLevel:"high"};if(i.length>0&&!i.some(y=>y.toLowerCase()===f||y.toLowerCase()===g))return{valid:!1,error:`File extension '${d}' is not in allowed list`,riskLevel:"medium"}}let u=s?this.joinPathsAbsolute(s,c):c,h=s.startsWith("/")?`/${this.normalizePath(s)}`:this.normalizePath(s);return s&&!u.startsWith(h)?{valid:!1,error:"Path escapes base directory",riskLevel:"critical"}:{valid:!0,normalizedPath:u,riskLevel:"none"}}normalizePath(e){let t=e.replace(/\\/g,"/");t=t.replace(/\/+/g,"/");let s=t.split("/"),n=[];for(let i of s)i==="."||i===""||(i===".."?n.length>0&&n[n.length-1]!==".."&&n.pop():n.push(i));return n.join("/")}joinPaths(...e){return e.length===0?"":e.map(t=>t.replace(/^\/+/,"").replace(/\/+$/,"")).filter(Boolean).join("/")}joinPathsAbsolute(...e){if(e.length===0)return"";let t=e[0].startsWith("/"),s=e.map(n=>{for(;n.startsWith("/");)n=n.slice(1);for(;n.endsWith("/");)n=n.slice(0,-1);return n}).filter(Boolean).join("/");return t?`/${s}`:s}getExtension(e){let t=e.match(/\.([^./\\]+)$/);return t?t[1]:null}},je=new pe,Re=(p,e)=>je.validate(p,e);Ee();var Ce=[".exe",".bat",".cmd",".ps1",".dll",".so"],F=class extends Error{constructor(t,s,n,i){super(t);this.filePath=s;this.code=n;this.cause=i;this.name="FileReadError"}filePath;code;cause},V=class extends Error{constructor(t,s,n){super(t);this.filePath=s;this.cause=n;this.name="JsonParseError"}filePath;cause},S=class extends Error{constructor(t,s,n){super(`Path traversal detected: ${s.join(", ")}`);this.requestedPath=t;this.issues=s;this.riskLevel=n;this.name="PathTraversalError"}requestedPath;issues;riskLevel};function ue(p,e){let t=p,s;switch(t.code){case"ENOENT":s="File not found: "+e;break;case"EACCES":s="Permission denied: "+e;break;case"EISDIR":s="Path is a directory: "+e;break;default:s="Failed to read file: "+e}return new F(s,e,t.code,t)}async function Ke(p,e,t){let s=async o=>{let r=await I.stat(o).catch(()=>null);return r!==null&&r.dev===t.dev&&r.ino===t.ino},n=await I.realpath(`/proc/self/fd/${p}`).catch(()=>null);if(n&&E.isAbsolute(n)&&await s(n))return n;let i=await I.realpath(e).catch(()=>null);return i&&await s(i)?i:null}function Se(p,e){let t=E.relative(p,e);return t===""||!t.startsWith(`..${E.sep}`)&&t!==".."&&!E.isAbsolute(t)}var me=class{constructor(e,t){this.maxSize=e;this.ttlMs=t}maxSize;ttlMs;cache=new Map;accessOrder=[];get(e){let t=this.cache.get(e);if(t){if(Date.now()-t.timestamp>this.ttlMs){this.delete(e);return}return this.updateAccessOrder(e),t.value}}set(e,t,s){for(this.cache.has(e)&&this.delete(e);this.cache.size>=this.maxSize&&this.accessOrder.length>0;){let n=this.accessOrder.shift();n&&this.cache.delete(n)}this.cache.set(e,{value:t,timestamp:Date.now(),size:s}),this.accessOrder.push(e)}delete(e){let t=this.cache.delete(e);if(t){let s=this.accessOrder.indexOf(e);s>-1&&this.accessOrder.splice(s,1)}return t}clear(){this.cache.clear(),this.accessOrder=[]}get size(){return this.cache.size}get totalBytes(){let e=0;return this.cache.forEach(t=>{e+=t.size}),e}updateAccessOrder(e){let t=this.accessOrder.indexOf(e);t>-1&&(this.accessOrder.splice(t,1),this.accessOrder.push(e))}prune(){let e=Date.now(),t=0,s=[];return this.cache.forEach((n,i)=>{e-n.timestamp>this.ttlMs&&s.push(i)}),s.forEach(n=>{this.delete(n),t++}),t}};function Ue(p){let e="",t=0;for(;t<p.length;){let s=p[t],n=p[t+1];s==="*"&&n==="*"?p[t+2]==="/"?(e+="(?:.*/)?",t+=3):(e+=".*",t+=2):s==="*"?(e+="[^/]*",t++):s==="?"?(e+="[^/]",t++):".+^${}()|[]\\".includes(s)?(e+="\\"+s,t++):(e+=s,t++)}return new RegExp("^"+e+"$")}async function Me(p,e,t,s){try{let n=await I.readdir(p,{withFileTypes:!0});for(let i of n){let o=E.join(p,i.name),r=E.relative(s,o);if(i.isDirectory())i.name!=="node_modules"&&!i.name.startsWith(".")&&await Me(o,e,t,s);else if(i.isFile()){let a=r.replace(/\\/g,"/");e.test(a)&&t.push(o)}}}catch(n){console.debug("[FileReader] Directory read error:",n instanceof Error?n.message:n)}}var k=class{basePath;cache;enableCache;projectRoot;projectRootReal;stats={cacheHits:0,cacheMisses:0,totalReads:0,cacheSize:0,cacheEntries:0};constructor(e={}){this.basePath=e.basePath??process.cwd(),this.enableCache=e.enableCache??!0,this.projectRoot=e.projectRoot?E.resolve(e.projectRoot):void 0,this.cache=new me(e.maxCacheSize??100,e.cacheTtlMs??300*1e3)}resolvePath(e){let t=E.isAbsolute(e),s=E.resolve(this.basePath),n=E.resolve(s,e),i=E.relative(s,n);if(this.basePath&&(i===".."||i.startsWith(`..${E.sep}`)||E.isAbsolute(i)))throw new S(e,["Path escapes base directory"],"critical");let o=this.basePath?s.split(/[\\/]/).filter(Boolean).length:0,r=Re(e,{basePath:t?"":this.basePath,allowAbsolute:!0,maxDepth:10+(t?o:0),deniedExtensions:Ce});if(!r.valid)throw new S(e,[r.error||"Path validation failed"],r.riskLevel);return t?n:r.normalizedPath?r.normalizedPath:t?e:E.resolve(this.basePath,e)}async inProjectRoot(e){if(!this.projectRoot)return;if(e.includes("\0"))throw new S(e,["Null byte in path"],"critical");let t=E.resolve(this.basePath,e);if(!Se(this.projectRoot,t))return;if(Ce.includes(E.extname(t).toLowerCase()))throw new S(e,[`File extension '${E.extname(t)}' is not allowed`],"high");this.projectRootReal??=I.realpath(this.projectRoot).catch(()=>null);let s=await this.projectRootReal;if(s)return{lexical:t,rootReal:s}}async readContained(e,t,s){this.stats.totalReads++;let n;try{n=await I.open(t,"r")}catch(i){return w(ue(i,t))}try{let i=await n.stat(),o=await Ke(n.fd,t,i);return!o||!Se(s,o)?w(new S(e,["Path resolves outside the project root"],"critical")):i.isFile()?R(await n.readFile("utf-8")):w(new F("Path is a directory: "+t,t,"EISDIR"))}catch(i){return w(ue(i,t))}finally{await n.close().catch(()=>{})}}async readFile(e){let t;try{let s=await this.inProjectRoot(e);if(s)return this.readContained(e,s.lexical,s.rootReal);t=this.resolvePath(e)}catch(s){if(s instanceof S)return w(s);throw s}if(this.stats.totalReads++,this.enableCache){let s=this.cache.get(t);if(s!==void 0)return this.stats.cacheHits++,this.updateCacheStats(),R(s);this.stats.cacheMisses++}try{let s=await I.readFile(t,"utf-8");return this.enableCache&&(this.cache.set(t,s,Buffer.byteLength(s,"utf-8")),this.updateCacheStats()),R(s)}catch(s){return w(ue(s,t))}}async readJSON(e){let t=await this.readFile(e);if(!t.success)return t;try{let s=D(t.value);return R(s)}catch(s){let n=s,i=e;try{i=this.resolvePath(e)}catch{}return w(new V("Invalid JSON in file: "+i+" - "+n.message,i,n))}}async fileExists(e){let t;try{t=this.resolvePath(e)}catch(s){if(s instanceof S)return w(s);throw s}try{return await I.access(t,I.constants.F_OK),R(!0)}catch(s){let n=s;return n.code==="ENOENT"?R(!1):w(new F("Cannot check file existence: "+t,t,n.code,n))}}async listFiles(e,t){let s;try{s=t?this.resolvePath(t):this.basePath}catch(n){if(n instanceof S)return w(n);throw n}try{if(!(await I.stat(s)).isDirectory())return w(new F("Base path is not a directory: "+s,s,"ENOTDIR"));let i=Ue(e),o=[];return await Me(s,i,o,s),o.sort(),R(o)}catch(n){let i=n;return w(new F("Failed to list files in: "+s,s,i.code,i))}}invalidateCache(e){let t=this.resolvePath(e);this.cache.delete(t),this.updateCacheStats()}clearCache(){this.cache.clear(),this.updateCacheStats()}pruneCache(){let e=this.cache.prune();return this.updateCacheStats(),e}getStats(){return{...this.stats}}resetStats(){this.stats={cacheHits:0,cacheMisses:0,totalReads:0,cacheSize:this.cache.totalBytes,cacheEntries:this.cache.size}}updateCacheStats(){this.stats.cacheSize=this.cache.totalBytes,this.stats.cacheEntries=this.cache.size}};Y();var x={MODEL:"all-MiniLM-L6-v2",DIMENSIONS:384,CONTEXT_WINDOW:8192,BATCH_SIZE:100,MAX_RETRIES:3,RETRY_DELAY_MS:1e3,TIMEOUT_MS:3e4,DEFAULT_OLLAMA_URL:"http://localhost:11434"};Oe();var _=class{baseUrl;maxRetries;retryDelayMs;timeoutMs;constructor(e=Ie(x.DEFAULT_OLLAMA_URL),t=x.MAX_RETRIES,s=x.RETRY_DELAY_MS,n=x.TIMEOUT_MS){this.baseUrl=e.replace(/\/$/,""),this.maxRetries=t,this.retryDelayMs=s,this.timeoutMs=n}async healthCheck(){try{return await this.fetchWithTimeout(`${this.baseUrl}/api/tags`,{method:"GET",headers:{"Content-Type":"application/json"}},5e3,async e=>{if(!e.ok)return!1;let t=await e.json();return t.models?t.models.some(s=>s.name===x.MODEL||s.name?.startsWith(`${x.MODEL}:`)||s.model===x.MODEL||s.model?.startsWith(`${x.MODEL}:`)):!1})}catch{return!1}}async generateEmbedding(e){let t={model:x.MODEL,prompt:e},s=null;for(let n=0;n<this.maxRetries;n++)try{let i=await this.fetchWithTimeout(`${this.baseUrl}/api/embeddings`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)},this.timeoutMs,async o=>{if(!o.ok){let r=await o.text();throw new Error(`Ollama API error (${o.status}): ${r}`)}return await o.json()});if(i.embedding.length!==x.DIMENSIONS)throw new Error(`Invalid embedding dimensions: expected ${x.DIMENSIONS}, got ${i.embedding.length}`);return i.embedding}catch(i){if(s=A(i),s.message.includes("Invalid embedding dimensions"))throw s;if(n<this.maxRetries-1){let o=this.retryDelayMs*Math.pow(2,n);await this.sleep(o)}}throw new Error(`Failed to generate embedding after ${this.maxRetries} attempts: ${s?.message}`)}async fetchWithTimeout(e,t,s,n){let i=new AbortController,o=setTimeout(()=>i.abort(),s);try{let r=await fetch(e,{...t,signal:i.signal});return await n(r)}finally{clearTimeout(o)}}sleep(e){return new Promise(t=>setTimeout(t,e))}async getServerInfo(){try{return await this.fetchWithTimeout(`${this.baseUrl}/api/tags`,{method:"GET",headers:{"Content-Type":"application/json"}},5e3,async e=>e.ok?await e.json():null)}catch{return null}}async ensureModelAvailable(){if(!await this.healthCheck())throw new Error(`Ollama model '${x.MODEL}' is not available. Please run: ollama pull ${x.MODEL}`)}};import{createHash as Ge}from"crypto";var $=class{cache;maxSize;hits;misses;constructor(e=1e4){this.cache=new Map,this.maxSize=e,this.hits=0,this.misses=0}hashContent(e,t,s){return Ge("sha256").update(JSON.stringify(s===void 0?[t,e]:[t,s,e])).digest("hex")}get(e,t,s){let n=this.hashContent(e,t,s),i=this.cache.get(n);return i?(this.hits++,this.cache.delete(n),this.cache.set(n,i),[...i.embedding]):(this.misses++,null)}set(e,t,s,n){let i=this.hashContent(e,t,n);if(this.cache.size>=this.maxSize&&!this.cache.has(i)){let r=this.cache.keys().next().value;r&&this.cache.delete(r)}let o={embedding:[...s],timestamp:Date.now(),model:t};this.cache.set(i,o)}has(e,t,s){let n=this.hashContent(e,t,s);return this.cache.has(n)}getStats(){let e=this.hits+this.misses,t=e>0?this.hits/e:0;return{size:this.cache.size,hitRate:t,hits:this.hits,misses:this.misses}}clear(){this.cache.clear(),this.hits=0,this.misses=0}evictOlderThan(e){let s=Date.now()-e,n=0;for(let[i,o]of this.cache.entries())o.timestamp<s&&(this.cache.delete(i),n++);return n}getMemoryUsageEstimate(){return this.cache.size*3172}export(){return Array.from(this.cache.entries()).map(([e,t])=>({key:e,entry:{...t,embedding:[...t.embedding]}}))}import(e){this.cache.clear();for(let{key:t,entry:s}of e)this.cache.size<this.maxSize&&this.cache.set(t,{...s,embedding:[...s.embedding]})}};Y();var q="pseudo-embedding",he="verified-backend-v1",H=p=>p===x.MODEL?he:void 0,j=class{client;cache;batchSize;enableFallback;ollamaAvailable=null;constructor(e={}){this.client=new _(e.ollamaBaseUrl),this.cache=e.cache??new $(e.maxCacheSize),this.batchSize=e.batchSize??x.BATCH_SIZE,this.enableFallback=e.enableFallback??!0}async embed(e){let t=this.cache.has(e,x.MODEL,he)||await this.isOllamaAvailable()||!this.enableFallback?x.MODEL:q,s=this.cache.get(e,t,H(t));if(s)return s;let n;if(await this.isOllamaAvailable())t=x.MODEL,n=await this.client.generateEmbedding(e);else if(this.enableFallback)t=q,n=this.generatePseudoEmbedding(e);else throw new Error(`Ollama is not available and fallback is disabled. Please run: ollama pull ${x.MODEL}`);return this.cache.set(e,t,n,H(t)),n}formatForEmbedding(e){let t=[];e.language&&t.push(e.language),e.type&&t.push(e.type),e.name&&t.push(e.name);let s=t.length>0?`${t.join(" ")}: `:"",n=x.CONTEXT_WINDOW*4,i=e.content.trim();if(s.length+i.length>n){let o=n-s.length-3;i=i.substring(0,o)+"..."}return s+i}async embedBatch(e){let t=[];for(let s of e){let n=await this.embed(s);t.push(n)}return t}async embedCodeChunks(e,t){let s=Date.now(),n=[],i=0,o=0,r=await this.isOllamaAvailable();if(r)await this.client.ensureModelAvailable();else if(!this.enableFallback)throw new Error(`Ollama is not available and fallback is disabled. Please run: ollama pull ${x.MODEL}`);for(let c=0;c<e.length;c+=this.batchSize){let l=e.slice(c,Math.min(c+this.batchSize,e.length)),d=await this.processBatch(l,r);n.push(...d);for(let u of d)u.cached?i++:o++;if(t){let u=c+l.length,h=e.length,g=(Date.now()-s)/u,y=(h-u)*g;t({current:u,total:h,percentage:u/h*100,estimatedTimeRemainingMs:y})}}let a=Date.now()-s;return{results:n,stats:{totalChunks:e.length,cachedHits:i,computedNew:o,totalTimeMs:a,avgTimePerChunk:a/e.length}}}async processBatch(e,t){let s=[],n=e.map(async o=>{let r=this.formatForEmbedding(o),a=Date.now(),c=t||this.cache.has(r,x.MODEL,he)?x.MODEL:q,l=this.cache.get(r,c,H(c));if(l)return{chunkId:o.id,embedding:l,model:c,cached:!0,computeTimeMs:Date.now()-a};try{let d;t?d=await this.client.generateEmbedding(r):d=this.generatePseudoEmbedding(r);let u=t?x.MODEL:q;return this.cache.set(r,u,d,H(u)),{chunkId:o.id,embedding:d,model:u,cached:!1,computeTimeMs:Date.now()-a}}catch(d){throw new Error(`Failed to generate embedding for chunk ${o.id}: ${G(d)}`)}}),i=await Promise.all(n);return s.push(...i),s}async isOllamaAvailable(){return this.ollamaAvailable!==null?this.ollamaAvailable:(this.ollamaAvailable=await this.client.healthCheck(),this.ollamaAvailable)}resetOllamaCheck(){this.ollamaAvailable=null}generatePseudoEmbedding(e){let t=new Array(x.DIMENSIONS).fill(0),s=e.split(/\s+|[^\w]+/).filter(o=>o.length>0);for(let o=0;o<s.length;o++){let r=s[o];for(let a=0;a<r.length&&a<t.length;a++)t[(o+a)%t.length]+=r.charCodeAt(a)/1e3}let n=[[/class\s+\w+/,0],[/function\s+\w+/,1],[/async\s+|await\s+|Promise/,2],[/interface\s+\w+/,3],[/export\s+/,4],[/import\s+/,5],[/try\s*{/,6],[/\.(map|filter|reduce)\(/,7]];for(let[o,r]of n)o.test(e)&&(t[r]+=.5);let i=Math.sqrt(t.reduce((o,r)=>o+r*r,0))||1;return t.map(o=>o/i)}clearCache(){this.cache.clear()}getCacheStats(){return this.cache.getStats()}async healthCheck(){return await this.client.healthCheck()}async getServerInfo(){return await this.client.getServerInfo()}getDimensions(){return x.DIMENSIONS}getConfig(){return{model:x.MODEL,dimensions:x.DIMENSIONS,contextWindow:x.CONTEXT_WINDOW,batchSize:this.batchSize,maxRetries:x.MAX_RETRIES,enableFallback:this.enableFallback}}};Y();Ee();import{existsSync as Ve,statSync as qe}from"fs";import{dirname as He,resolve as Xe,join as X}from"path";function We(p){switch(p){case"ts":case"mts":case"cts":return"tree-sitter-typescript.wasm";case"tsx":return"tree-sitter-tsx.wasm";case"js":case"jsx":case"mjs":case"cjs":return"tree-sitter-javascript.wasm";default:return null}}var K=p=>p.startPosition.row+1,U=(p,e)=>p.childForFieldName(e)?.text??"";function ge(p){for(let e=0;e<p.childCount;e++){let t=p.child(e);if(t){if(t.type==="async")return!0;if(t.type==="function"||t.type==="function_declaration")break}}return!1}function ze(p){for(let e=0;e<p.childCount;e++)if(p.child(e)?.type==="accessibility_modifier"){let s=p.child(e).text;if(s==="private")return"private";if(s==="protected")return"protected"}return"public"}function Be(p){let e=U(p,"name")||"(anonymous)",t=p.childForFieldName("body"),s=[];if(t)for(let n=0;n<t.childCount;n++){let i=t.child(n);i&&i.type==="method_definition"&&s.push({name:U(i,"name"),startLine:K(i),isAsync:ge(i),visibility:ze(i)})}return{name:e,startLine:K(p),methods:s}}function fe(p){return p.replace(/^['"`]|['"`]$/g,"")}async function ye(p,e){let t=We(e);if(!t)return null;let s=await Pe(t);if(!s)return null;let n=null;try{let i=s.parse(p);n=i;let o=i.rootNode;if(!o)return null;let r={functions:[],classes:[],interfaces:[],imports:[]},a=[o];for(;a.length;){let c=a.pop(),l=!0;switch(c.type){case"function_declaration":case"generator_function_declaration":r.functions.push({name:U(c,"name"),startLine:K(c),isAsync:ge(c),visibility:"public"}),l=!1;break;case"class_declaration":case"class":r.classes.push(Be(c)),l=!1;break;case"interface_declaration":r.interfaces.push({name:U(c,"name"),startLine:K(c)}),l=!1;break;case"lexical_declaration":case"variable_declaration":{for(let d=0;d<c.childCount;d++){let u=c.child(d);if(!u||u.type!=="variable_declarator")continue;let h=u.childForFieldName("value");if(h&&(h.type==="arrow_function"||h.type==="function"||h.type==="function_expression"))r.functions.push({name:U(u,"name"),startLine:K(u),isAsync:ge(h),visibility:"public"});else if(h&&h.type==="call_expression"&&h.child(0)?.text==="require"){let f=h.childForFieldName("arguments")?.child(1);f&&f.type==="string"&&r.imports.push(fe(f.text))}}l=!1;break}case"import_statement":{let d=c.childForFieldName("source");d&&r.imports.push(fe(d.text)),l=!1;break}case"call_expression":{let d=c.child(0);if(d&&d.text==="require"){let h=c.childForFieldName("arguments")?.child(1);h&&h.type==="string"&&r.imports.push(fe(h.text))}break}}if(l)for(let d=c.childCount-1;d>=0;d--){let u=c.child(d);u&&a.push(u)}}return r}catch{return null}finally{n?.delete?.()}}De();var Je={maxNodes:1e5,maxEdgesPerNode:500,namespace:"code-intelligence:kg",enableVectorEmbeddings:!0,embeddingDimension:384,enableLLMExtraction:!0,llmModelTier:2,llmMaxTokens:2048},be=xe.create("code-intelligence/knowledge-graph"),J=new Set(["ts","tsx","js","jsx"]),Te=class{config;memory;nodeCache=new Map;edgeIndex=new Map;allEdgesCache;tsParser;fileReader;embedder;llmRouter;constructor(e,t={}){this.config={...Je,...t},this.isKnowledgeGraphDependencies(e)?(this.memory=e.memory,this.llmRouter=e.llmRouter):(this.memory=e,this.llmRouter=void 0),this.tsParser=new N,this.fileReader=new k(this.config.basePath?{basePath:this.config.basePath}:void 0),this.embedder=new j({enableFallback:!0})}isKnowledgeGraphDependencies(e){return e.memory!==void 0}get nsOpts(){return{namespace:this.config.namespace}}async index(e){let t=Date.now(),s=[],n=0,i=0,o=new Map;try{let{paths:r,incremental:a=!1,includeTests:c=!0,languages:l}=e;a||await this.clear();for(let h of r)try{if(l&&l.length>0){let b=this.getFileExtension(h);if(!this.matchesLanguage(b,l))continue}if(!c&&this.isTestFile(h))continue;let f=this.getFileExtension(h);J.has(f)||o.set(f||"(none)",(o.get(f||"(none)")??0)+1);let g=await this.indexFile(h,a);n+=g.nodes,i+=g.edges}catch(f){s.push({file:h,error:G(f)})}let d=Date.now()-t,u=[];if(o.size>0){let h=Array.from(J).join(", ");for(let[f,g]of o){let b=`${g} file(s) with extension '.${f}' were indexed as plain nodes: no dependency extractor for this language, so 'deps'/'impact' will report 0 edges for them. Supported: ${h}.`;u.push(b),be.warn(b)}}return await this.storeIndexMetadata({filesIndexed:r.length-s.length,nodesCreated:n,edgesCreated:i,duration:d,indexedAt:new Date().toISOString()}),R({filesIndexed:r.length-s.length,nodesCreated:n,edgesCreated:i,duration:d,errors:s,warnings:u})}catch(r){return w(A(r))}}async query(e){try{let{query:t,type:s,limit:n=100}=e;return s==="cypher"?this.executeCypherQuery(t,n):this.executeNaturalLanguageQuery(t,n)}catch(t){return w(A(t))}}async mapDependencies(e){try{let{files:t,direction:s,depth:n=3}=e,i=[],o=[],r=new Set,a=[];for(let l of t)await this.traverseDependencies(l,s,n,r,i,o,[],a);let c=this.calculateDependencyMetrics(i,o);return R({nodes:i,edges:o,cycles:a,metrics:c})}catch(t){return w(A(t))}}async getNode(e){if(this.nodeCache.has(e))return this.nodeCache.get(e);let t=`${this.config.namespace}:node:${e}`,s=await this.memory.get(t,this.nsOpts);return s&&this.nodeCache.set(e,s),s}async getEdges(e,t){let s=await this.loadAllEdges();return this.filterEdgesByDirection(s,e,t)}async loadAllEdges(){if(this.allEdgesCache)return this.allEdgesCache;let e=[],t=`${this.config.namespace}:edge:*`,s=await this.memory.search(t,Number.MAX_SAFE_INTEGER,this.nsOpts);for(let n of s){let i=await this.memory.get(n,this.nsOpts);i&&e.push(i)}return this.allEdgesCache=e,e}async clear(){this.nodeCache.clear(),this.edgeIndex.clear(),this.allEdgesCache=void 0;for(let e of[`${this.config.namespace}:node:`,`${this.config.namespace}:edge:`]){let t=await this.memory.search(`${e}*`,Number.MAX_SAFE_INTEGER,this.nsOpts);for(let s of t)await this.memory.delete(s,this.nsOpts)}}async removeFileFromGraph(e){let t=this.pathToNodeId(e),s=this.config.namespace,n=await this.memory.search(`${s}:node:${t}*`,Number.MAX_SAFE_INTEGER,this.nsOpts);for(let o of n)await this.memory.delete(o,this.nsOpts),this.nodeCache.delete(o.slice(`${s}:node:`.length));let i=await this.memory.search(`${s}:edge:*`,Number.MAX_SAFE_INTEGER,this.nsOpts);for(let o of i){let r=await this.memory.get(o,this.nsOpts);r&&(r.source===t||r.source.startsWith(`${t}:`))&&await this.memory.delete(o,this.nsOpts)}this.edgeIndex.delete(t),this.allEdgesCache=void 0}isLLMExtractionAvailable(){return this.config.enableLLMExtraction===!0&&this.llmRouter!==void 0}getModelForTier(e){return we(e)}async extractRelationshipsWithLLM(e,t){if(!this.llmRouter)return{semanticRelationships:[],designPatterns:[],architecturalBoundaries:[],dependencyImpacts:[]};try{let s=this.buildRelationshipExtractionPrompt(e,t),n=this.getModelForTier(this.config.llmModelTier??2),i=await this.llmRouter.chat({messages:[{role:"system",content:`You are an expert software architect analyzing code structure. Extract:
20
+ `),{logicalLines:n,lineMap:i}=R(e),o=/^\s*(public|private|protected|internal)?\s*(suspend)?\s*fun\s+(?:<[^{]*> +)?(\w+)\s*\(([^)]*)\)(?:\s*:\s*([^{=\s]+(?:\s+[^{=\s]+)*))?\s*/,r=0;for(let a=0;a<n.length;a++){let c=n[a];if(c.length>L){r+=(c.match(/\{/g)?.length??0)-(c.match(/\}/g)?.length??0);continue}let l=c.match(o);if(l&&r<=1){let d=l[1]||"public",u=!!l[2],h=l[3],f=l[4],y=l[5]?.trim();if(y&&y.includes("<")){let x=y.indexOf("<"),w=B(y,x);w!==void 0&&(y=y.substring(0,x)+"<"+w+">")}let b=i[a]-1,g=M(s,b,"@");t.push({name:h,parameters:this.parseParams(f),returnType:y,isAsync:u,isPublic:d==="public",complexity:1,decorators:g,genericParams:[],startLine:i[a],endLine:i[a]})}r+=de(c),r<0&&(r=0)}return t}extractClasses(e){let t=[],s=e.split(`
21
+ `),{logicalLines:n,lineMap:i}=R(e),o=/^\s*(public|private|protected|internal)?\s*(data|sealed|abstract|open)?\s*class\s+(\w+)(?:<[^{]*>)?(?:\s*(?:\([^)]*\))?\s*:\s*([^{\s]+(?:\s+[^{\s]+)*))?\s*\{?/;for(let r=0;r<n.length;r++){if(n[r].length>L)continue;let a=n[r].match(o);if(a){let c=a[3],l=a[4]?a[4].split(",").map(h=>h.trim().split("(")[0].trim()):[],d=i[r]-1,u=M(s,d,"@");t.push({name:c,methods:[],properties:[],isPublic:(a[1]||"public")==="public",implements:l.slice(1),extends:l[0]||void 0,decorators:u,startLine:i[r],endLine:i[r]})}}return t}extractImports(e){let t=[],s=e.split(`
22
+ `);for(let n of s){let i=n.match(/^\s*import\s+([^\s]+)/);i&&t.push({module:i[1],namedImports:[],isTypeOnly:!1})}return t}parseParams(e){return e.trim()?T(e).map(t=>{let s=t.indexOf(":");if(s===-1)return{name:t.replace("val ","").replace("var ","").trim(),type:void 0,isOptional:!1,defaultValue:void 0};let n=t.substring(0,s).replace("val ","").replace("var ","").trim(),i=t.substring(s+1).trim(),o=i.indexOf("="),r=o>=0?i.substring(0,o).trim():i,a=o>=0;return{name:n,type:r,isOptional:a||r?.endsWith("?")||!1,defaultValue:void 0}}):[]}},oe=class{language="dart";supportedExtensions=[".dart"];async parseFile(e,t){return{functions:this.extractFunctions(e),classes:this.extractClasses(e),imports:this.extractImports(e),language:"dart",filePath:t}}extractFunctions(e){let t=[],{logicalLines:s,lineMap:n}=R(e),i=/^\s*([\w<>,.?]+(?:\s+[\w<>,.?]+)*)\s+(\w+)\s*\(([^)]*)\)(?:\s*(async))?\s*\{/;for(let o=0;o<s.length;o++){let r=s[o];if(r.includes(" class ")||r.length>L)continue;let a=r.match(i);if(a){let c=a[1].trim(),l=c;if(c&&c.includes("<")){let f=c.indexOf("<"),y=B(c,f);y!==void 0&&(l=c.substring(0,f)+"<"+y+">")}let d=a[2],u=a[3],h=!!a[4]||l.includes("Future");t.push({name:d,parameters:this.parseParams(u),returnType:l==="void"?void 0:l,isAsync:h,isPublic:!d.startsWith("_"),complexity:1,decorators:[],genericParams:[],startLine:n[o],endLine:n[o]})}}return t}extractClasses(e){let t=[],{logicalLines:s,lineMap:n}=R(e),i=/^\s*(abstract +)?class\s+(\w+)(?:<[^{]*>)?(?:\s+extends\s+(\w+))?(?:\s+(?:with|implements)\s+([^{\s]+(?:\s+[^{\s]+)*))?\s*\{/;for(let o=0;o<s.length;o++){if(s[o].length>L)continue;let r=s[o].match(i);if(r){let a=r[2],c=r[3],l=r[4]?r[4].split(",").map(d=>d.trim()):[];t.push({name:a,methods:[],properties:[],isPublic:!a.startsWith("_"),implements:l,extends:c,decorators:[],startLine:n[o],endLine:n[o]})}}return t}extractImports(e){let t=[],s=e.split(`
23
+ `);for(let n of s){let i=n.match(/^\s*import\s+'([^']+)'/);i&&t.push({module:i[1],namedImports:[],isTypeOnly:!1})}return t}parseParams(e){if(!e.trim())return[];let t=e.replace(/[{}[\]]/g,"");return T(t).map(s=>s.trim()).filter(s=>s).map(s=>{let n=s.replace("required ","").trim().split(/\s+/),i=n[n.length-1]||"",o=n.slice(0,-1).join(" ")||void 0;return{name:i,type:o,isOptional:s.includes("?")||s.includes("{"),defaultValue:void 0}})}},z=ve("ParserRegistry"),Ce=["python","java","csharp","rust","swift"],ce=class p{language;supportedExtensions;wasmParser;regexParser;wasmFailCount=0;static MAX_WASM_RETRIES=3;constructor(e,t){this.wasmParser=e,this.regexParser=t,this.language=e.language,this.supportedExtensions=e.supportedExtensions}async parseFile(e,t){if(this.wasmFailCount<p.MAX_WASM_RETRIES)try{return await this.wasmParser.parseFile(e,t)}catch(s){this.wasmFailCount++;let n=s instanceof Error?s.message:String(s),i=this.wasmFailCount>=p.MAX_WASM_RETRIES;z.warn(`[${this.language}] tree-sitter WASM parser failed (attempt ${this.wasmFailCount}/${p.MAX_WASM_RETRIES}): ${n}. Falling back to regex parser (~97-98% accuracy). `+(i?"Set AQE_PARSER_REGEX_ONLY=1 to silence this warning.":"Will retry WASM on next parse."))}return this.regexParser.parseFile(e,t)}},le=class{parsers=new Map;_wasmInitPromise=null;constructor(){this.register(new ee),this.register(new te),this.register(new se),this.register(new ne),this.register(new ie),this.register(new re),this.register(new ae),this.register(new oe),this._wasmInitPromise=this._tryLoadWasmParsers()}async _tryLoadWasmParsers(){try{let e=await import("./tree-sitter-wasm-parser-MI3NZKUD.js");if(!e.isWasmAvailable()){z.info("tree-sitter WASM parsers disabled or unavailable. Using regex parsers (~97-98% accuracy). Set AQE_PARSER_REGEX_ONLY=0 or ensure web-tree-sitter is installed to enable WASM.");return}let t=e.createWasmParsers();for(let s of Ce){let n=t.get(s),i=this.parsers.get(s);n&&i&&this.parsers.set(s,new ce(n,i))}z.info("tree-sitter WASM parsers available for: "+Ce.join(", "))}catch{z.info("tree-sitter WASM parser module not available. Using regex parsers for all languages.")}}register(e){this.parsers.set(e.language,e)}getParser(e){return this.parsers.get(e)}async parseFile(e,t,s){this._wasmInitPromise&&(await this._wasmInitPromise,this._wasmInitPromise=null);let n=this.parsers.get(s);if(n)return n.parseFile(e,t)}getSupportedLanguages(){return Array.from(this.parsers.keys())}supportsLanguage(e){return this.parsers.has(e)}},ot=new le;import*as P from"node:fs/promises";import*as E from"node:path";var Ke=[/\.\./,/%2e%2e/i,/%252e%252e/i,/\.\.%2f/i,/%2f\.\./i,/\.\.%5c/i,/\.\.\\/,/%c0%ae/i,/%c0%2f/i,/%c1%9c/i,/\0/,/%00/i],Ue=[/^\/etc\//i,/^\/proc\//i,/^\/sys\//i,/^\/dev\//i,/^\/root\//i,/^\/home\/.+\/\./i,/^[A-Z]:\\Windows/i,/^[A-Z]:\\System/i,/^[A-Z]:\\Users\\.+\\AppData/i],pe=class{name="path-traversal";getRiskLevel(){return"critical"}validate(e,t={}){let{basePath:s="",allowAbsolute:n=!1,allowedExtensions:i=[],deniedExtensions:o=[".exe",".bat",".cmd",".sh",".ps1",".dll",".so"],maxDepth:r=10,maxLength:a=4096}=t;if(e.length>a)return{valid:!1,error:`Path exceeds maximum length of ${a}`,riskLevel:"medium"};for(let f of Ke)if(f.test(e))return{valid:!1,error:"Path traversal attempt detected",riskLevel:"critical"};if(!n&&(e.startsWith("/")||/^[A-Z]:/i.test(e)))return{valid:!1,error:"Absolute paths are not allowed",riskLevel:"high"};for(let f of Ue)if(f.test(e))return{valid:!1,error:"Access to system paths is not allowed",riskLevel:"critical"};let c=this.normalizePath(e);if(c.includes(".."))return{valid:!1,error:"Path traversal detected after normalization",riskLevel:"critical"};if(c.split("/").filter(Boolean).length>r)return{valid:!1,error:`Path depth exceeds maximum of ${r}`,riskLevel:"low"};let d=this.getExtension(c);if(d){let f=`.${d.toLowerCase()}`,y=d.toLowerCase();if(o.length>0&&o.some(g=>g.toLowerCase()===f||g.toLowerCase()===y))return{valid:!1,error:`File extension '${d}' is not allowed`,riskLevel:"high"};if(i.length>0&&!i.some(g=>g.toLowerCase()===f||g.toLowerCase()===y))return{valid:!1,error:`File extension '${d}' is not in allowed list`,riskLevel:"medium"}}let u=s?this.joinPathsAbsolute(s,c):c,h=s.startsWith("/")?`/${this.normalizePath(s)}`:this.normalizePath(s);return s&&!u.startsWith(h)?{valid:!1,error:"Path escapes base directory",riskLevel:"critical"}:{valid:!0,normalizedPath:u,riskLevel:"none"}}normalizePath(e){let t=e.replace(/\\/g,"/");t=t.replace(/\/+/g,"/");let s=t.split("/"),n=[];for(let i of s)i==="."||i===""||(i===".."?n.length>0&&n[n.length-1]!==".."&&n.pop():n.push(i));return n.join("/")}joinPaths(...e){return e.length===0?"":e.map(t=>t.replace(/^\/+/,"").replace(/\/+$/,"")).filter(Boolean).join("/")}joinPathsAbsolute(...e){if(e.length===0)return"";let t=e[0].startsWith("/"),s=e.map(n=>{for(;n.startsWith("/");)n=n.slice(1);for(;n.endsWith("/");)n=n.slice(0,-1);return n}).filter(Boolean).join("/");return t?`/${s}`:s}getExtension(e){let t=e.match(/\.([^./\\]+)$/);return t?t[1]:null}},Ge=new pe,Se=(p,e)=>Ge.validate(p,e);we();var Me=[".exe",".bat",".cmd",".ps1",".dll",".so"],F=class extends Error{constructor(t,s,n,i){super(t);this.filePath=s;this.code=n;this.cause=i;this.name="FileReadError"}filePath;code;cause},V=class extends Error{constructor(t,s,n){super(t);this.filePath=s;this.cause=n;this.name="JsonParseError"}filePath;cause},S=class extends Error{constructor(t,s,n){super(`Path traversal detected: ${s.join(", ")}`);this.requestedPath=t;this.issues=s;this.riskLevel=n;this.name="PathTraversalError"}requestedPath;issues;riskLevel};function ue(p,e){let t=p,s;switch(t.code){case"ENOENT":s="File not found: "+e;break;case"EACCES":s="Permission denied: "+e;break;case"EISDIR":s="Path is a directory: "+e;break;default:s="Failed to read file: "+e}return new F(s,e,t.code,t)}async function We(p,e,t){let s=async o=>{let r=await P.stat(o).catch(()=>null);return r!==null&&r.dev===t.dev&&r.ino===t.ino},n=await P.realpath(`/proc/self/fd/${p}`).catch(()=>null);if(n&&E.isAbsolute(n)&&await s(n))return n;let i=await P.realpath(e).catch(()=>null);return i&&await s(i)?i:null}function Te(p,e){let t=E.relative(p,e);return t===""||!t.startsWith(`..${E.sep}`)&&t!==".."&&!E.isAbsolute(t)}var me=class{constructor(e,t){this.maxSize=e;this.ttlMs=t}maxSize;ttlMs;cache=new Map;accessOrder=[];get(e){let t=this.cache.get(e);if(t){if(Date.now()-t.timestamp>this.ttlMs){this.delete(e);return}return this.updateAccessOrder(e),t.value}}set(e,t,s){for(this.cache.has(e)&&this.delete(e);this.cache.size>=this.maxSize&&this.accessOrder.length>0;){let n=this.accessOrder.shift();n&&this.cache.delete(n)}this.cache.set(e,{value:t,timestamp:Date.now(),size:s}),this.accessOrder.push(e)}delete(e){let t=this.cache.delete(e);if(t){let s=this.accessOrder.indexOf(e);s>-1&&this.accessOrder.splice(s,1)}return t}clear(){this.cache.clear(),this.accessOrder=[]}get size(){return this.cache.size}get totalBytes(){let e=0;return this.cache.forEach(t=>{e+=t.size}),e}updateAccessOrder(e){let t=this.accessOrder.indexOf(e);t>-1&&(this.accessOrder.splice(t,1),this.accessOrder.push(e))}prune(){let e=Date.now(),t=0,s=[];return this.cache.forEach((n,i)=>{e-n.timestamp>this.ttlMs&&s.push(i)}),s.forEach(n=>{this.delete(n),t++}),t}};function ze(p){let e="",t=0;for(;t<p.length;){let s=p[t],n=p[t+1];s==="*"&&n==="*"?p[t+2]==="/"?(e+="(?:.*/)?",t+=3):(e+=".*",t+=2):s==="*"?(e+="[^/]*",t++):s==="?"?(e+="[^/]",t++):".+^${}()|[]\\".includes(s)?(e+="\\"+s,t++):(e+=s,t++)}return new RegExp("^"+e+"$")}async function Fe(p,e,t,s){try{let n=await P.readdir(p,{withFileTypes:!0});for(let i of n){let o=E.join(p,i.name),r=E.relative(s,o);if(i.isDirectory())i.name!=="node_modules"&&!i.name.startsWith(".")&&await Fe(o,e,t,s);else if(i.isFile()){let a=r.replace(/\\/g,"/");e.test(a)&&t.push(o)}}}catch(n){console.debug("[FileReader] Directory read error:",n instanceof Error?n.message:n)}}var k=class{basePath;cache;enableCache;projectRoot;projectRootReal;stats={cacheHits:0,cacheMisses:0,totalReads:0,cacheSize:0,cacheEntries:0};constructor(e={}){this.basePath=e.basePath??process.cwd(),this.enableCache=e.enableCache??!0,this.projectRoot=e.projectRoot?E.resolve(e.projectRoot):void 0,this.cache=new me(e.maxCacheSize??100,e.cacheTtlMs??300*1e3)}resolvePath(e){let t=E.isAbsolute(e),s=E.resolve(this.basePath),n=E.resolve(s,e),i=E.relative(s,n);if(this.basePath&&(i===".."||i.startsWith(`..${E.sep}`)||E.isAbsolute(i)))throw new S(e,["Path escapes base directory"],"critical");let o=this.basePath?s.split(/[\\/]/).filter(Boolean).length:0,r=Se(e,{basePath:t?"":this.basePath,allowAbsolute:!0,maxDepth:10+(t?o:0),deniedExtensions:Me});if(!r.valid)throw new S(e,[r.error||"Path validation failed"],r.riskLevel);return t?n:r.normalizedPath?r.normalizedPath:t?e:E.resolve(this.basePath,e)}async inProjectRoot(e){if(!this.projectRoot)return;if(e.includes("\0"))throw new S(e,["Null byte in path"],"critical");let t=E.resolve(this.basePath,e);if(!Te(this.projectRoot,t))return;if(Me.includes(E.extname(t).toLowerCase()))throw new S(e,[`File extension '${E.extname(t)}' is not allowed`],"high");this.projectRootReal??=P.realpath(this.projectRoot).catch(()=>null);let s=await this.projectRootReal;if(s)return{lexical:t,rootReal:s}}async readContained(e,t,s){this.stats.totalReads++;let n;try{n=await P.open(t,"r")}catch(i){return I(ue(i,t))}try{let i=await n.stat(),o=await We(n.fd,t,i);return!o||!Te(s,o)?I(new S(e,["Path resolves outside the project root"],"critical")):i.isFile()?C(await n.readFile("utf-8")):I(new F("Path is a directory: "+t,t,"EISDIR"))}catch(i){return I(ue(i,t))}finally{await n.close().catch(()=>{})}}async readFile(e){let t;try{let s=await this.inProjectRoot(e);if(s)return this.readContained(e,s.lexical,s.rootReal);t=this.resolvePath(e)}catch(s){if(s instanceof S)return I(s);throw s}if(this.stats.totalReads++,this.enableCache){let s=this.cache.get(t);if(s!==void 0)return this.stats.cacheHits++,this.updateCacheStats(),C(s);this.stats.cacheMisses++}try{let s=await P.readFile(t,"utf-8");return this.enableCache&&(this.cache.set(t,s,Buffer.byteLength(s,"utf-8")),this.updateCacheStats()),C(s)}catch(s){return I(ue(s,t))}}async readJSON(e){let t=await this.readFile(e);if(!t.success)return t;try{let s=D(t.value);return C(s)}catch(s){let n=s,i=e;try{i=this.resolvePath(e)}catch{}return I(new V("Invalid JSON in file: "+i+" - "+n.message,i,n))}}async fileExists(e){let t;try{t=this.resolvePath(e)}catch(s){if(s instanceof S)return I(s);throw s}try{return await P.access(t,P.constants.F_OK),C(!0)}catch(s){let n=s;return n.code==="ENOENT"?C(!1):I(new F("Cannot check file existence: "+t,t,n.code,n))}}async listFiles(e,t){let s;try{s=t?this.resolvePath(t):this.basePath}catch(n){if(n instanceof S)return I(n);throw n}try{if(!(await P.stat(s)).isDirectory())return I(new F("Base path is not a directory: "+s,s,"ENOTDIR"));let i=ze(e),o=[];return await Fe(s,i,o,s),o.sort(),C(o)}catch(n){let i=n;return I(new F("Failed to list files in: "+s,s,i.code,i))}}invalidateCache(e){let t=this.resolvePath(e);this.cache.delete(t),this.updateCacheStats()}clearCache(){this.cache.clear(),this.updateCacheStats()}pruneCache(){let e=this.cache.prune();return this.updateCacheStats(),e}getStats(){return{...this.stats}}resetStats(){this.stats={cacheHits:0,cacheMisses:0,totalReads:0,cacheSize:this.cache.totalBytes,cacheEntries:this.cache.size}}updateCacheStats(){this.stats.cacheSize=this.cache.totalBytes,this.stats.cacheEntries=this.cache.size}};Y();var v={MODEL:"all-MiniLM-L6-v2",DIMENSIONS:384,CONTEXT_WINDOW:8192,BATCH_SIZE:100,MAX_RETRIES:3,RETRY_DELAY_MS:1e3,TIMEOUT_MS:3e4,DEFAULT_OLLAMA_URL:"http://localhost:11434"};je();var _=class{baseUrl;maxRetries;retryDelayMs;timeoutMs;constructor(e=Pe(v.DEFAULT_OLLAMA_URL),t=v.MAX_RETRIES,s=v.RETRY_DELAY_MS,n=v.TIMEOUT_MS){this.baseUrl=e.replace(/\/$/,""),this.maxRetries=t,this.retryDelayMs=s,this.timeoutMs=n}async healthCheck(){try{return await this.fetchWithTimeout(`${this.baseUrl}/api/tags`,{method:"GET",headers:{"Content-Type":"application/json"}},5e3,async e=>{if(!e.ok)return!1;let t=await e.json();return t.models?t.models.some(s=>s.name===v.MODEL||s.name?.startsWith(`${v.MODEL}:`)||s.model===v.MODEL||s.model?.startsWith(`${v.MODEL}:`)):!1})}catch{return!1}}async generateEmbedding(e){let t={model:v.MODEL,prompt:e},s=null;for(let n=0;n<this.maxRetries;n++)try{let i=await this.fetchWithTimeout(`${this.baseUrl}/api/embeddings`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)},this.timeoutMs,async o=>{if(!o.ok){let r=await o.text();throw new Error(`Ollama API error (${o.status}): ${r}`)}return await o.json()});if(i.embedding.length!==v.DIMENSIONS)throw new Error(`Invalid embedding dimensions: expected ${v.DIMENSIONS}, got ${i.embedding.length}`);return i.embedding}catch(i){if(s=A(i),s.message.includes("Invalid embedding dimensions"))throw s;if(n<this.maxRetries-1){let o=this.retryDelayMs*Math.pow(2,n);await this.sleep(o)}}throw new Error(`Failed to generate embedding after ${this.maxRetries} attempts: ${s?.message}`)}async fetchWithTimeout(e,t,s,n){let i=new AbortController,o=setTimeout(()=>i.abort(),s);try{let r=await fetch(e,{...t,signal:i.signal});return await n(r)}finally{clearTimeout(o)}}sleep(e){return new Promise(t=>setTimeout(t,e))}async getServerInfo(){try{return await this.fetchWithTimeout(`${this.baseUrl}/api/tags`,{method:"GET",headers:{"Content-Type":"application/json"}},5e3,async e=>e.ok?await e.json():null)}catch{return null}}async ensureModelAvailable(){if(!await this.healthCheck())throw new Error(`Ollama model '${v.MODEL}' is not available. Please run: ollama pull ${v.MODEL}`)}};import{createHash as Be}from"crypto";var j=class{cache;maxSize;hits;misses;constructor(e=1e4){this.cache=new Map,this.maxSize=e,this.hits=0,this.misses=0}hashContent(e,t,s){return Be("sha256").update(JSON.stringify(s===void 0?[t,e]:[t,s,e])).digest("hex")}get(e,t,s){let n=this.hashContent(e,t,s),i=this.cache.get(n);return i?(this.hits++,this.cache.delete(n),this.cache.set(n,i),[...i.embedding]):(this.misses++,null)}set(e,t,s,n){let i=this.hashContent(e,t,n);if(this.cache.size>=this.maxSize&&!this.cache.has(i)){let r=this.cache.keys().next().value;r&&this.cache.delete(r)}let o={embedding:[...s],timestamp:Date.now(),model:t};this.cache.set(i,o)}has(e,t,s){let n=this.hashContent(e,t,s);return this.cache.has(n)}getStats(){let e=this.hits+this.misses,t=e>0?this.hits/e:0;return{size:this.cache.size,hitRate:t,hits:this.hits,misses:this.misses}}clear(){this.cache.clear(),this.hits=0,this.misses=0}evictOlderThan(e){let s=Date.now()-e,n=0;for(let[i,o]of this.cache.entries())o.timestamp<s&&(this.cache.delete(i),n++);return n}getMemoryUsageEstimate(){return this.cache.size*3172}export(){return Array.from(this.cache.entries()).map(([e,t])=>({key:e,entry:{...t,embedding:[...t.embedding]}}))}import(e){this.cache.clear();for(let{key:t,entry:s}of e)this.cache.size<this.maxSize&&this.cache.set(t,{...s,embedding:[...s.embedding]})}};Y();var q="pseudo-embedding",he="verified-backend-v1",H=p=>p===v.MODEL?he:void 0,$=class{client;cache;batchSize;enableFallback;ollamaAvailable=null;constructor(e={}){this.client=new _(e.ollamaBaseUrl),this.cache=e.cache??new j(e.maxCacheSize),this.batchSize=e.batchSize??v.BATCH_SIZE,this.enableFallback=e.enableFallback??!0}async embed(e){let t=this.cache.has(e,v.MODEL,he)||await this.isOllamaAvailable()||!this.enableFallback?v.MODEL:q,s=this.cache.get(e,t,H(t));if(s)return s;let n;if(await this.isOllamaAvailable())t=v.MODEL,n=await this.client.generateEmbedding(e);else if(this.enableFallback)t=q,n=this.generatePseudoEmbedding(e);else throw new Error(`Ollama is not available and fallback is disabled. Please run: ollama pull ${v.MODEL}`);return this.cache.set(e,t,n,H(t)),n}formatForEmbedding(e){let t=[];e.language&&t.push(e.language),e.type&&t.push(e.type),e.name&&t.push(e.name);let s=t.length>0?`${t.join(" ")}: `:"",n=v.CONTEXT_WINDOW*4,i=e.content.trim();if(s.length+i.length>n){let o=n-s.length-3;i=i.substring(0,o)+"..."}return s+i}async embedBatch(e){let t=[];for(let s of e){let n=await this.embed(s);t.push(n)}return t}async embedCodeChunks(e,t){let s=Date.now(),n=[],i=0,o=0,r=await this.isOllamaAvailable();if(r)await this.client.ensureModelAvailable();else if(!this.enableFallback)throw new Error(`Ollama is not available and fallback is disabled. Please run: ollama pull ${v.MODEL}`);for(let c=0;c<e.length;c+=this.batchSize){let l=e.slice(c,Math.min(c+this.batchSize,e.length)),d=await this.processBatch(l,r);n.push(...d);for(let u of d)u.cached?i++:o++;if(t){let u=c+l.length,h=e.length,y=(Date.now()-s)/u,g=(h-u)*y;t({current:u,total:h,percentage:u/h*100,estimatedTimeRemainingMs:g})}}let a=Date.now()-s;return{results:n,stats:{totalChunks:e.length,cachedHits:i,computedNew:o,totalTimeMs:a,avgTimePerChunk:a/e.length}}}async processBatch(e,t){let s=[],n=e.map(async o=>{let r=this.formatForEmbedding(o),a=Date.now(),c=t||this.cache.has(r,v.MODEL,he)?v.MODEL:q,l=this.cache.get(r,c,H(c));if(l)return{chunkId:o.id,embedding:l,model:c,cached:!0,computeTimeMs:Date.now()-a};try{let d;t?d=await this.client.generateEmbedding(r):d=this.generatePseudoEmbedding(r);let u=t?v.MODEL:q;return this.cache.set(r,u,d,H(u)),{chunkId:o.id,embedding:d,model:u,cached:!1,computeTimeMs:Date.now()-a}}catch(d){throw new Error(`Failed to generate embedding for chunk ${o.id}: ${G(d)}`)}}),i=await Promise.all(n);return s.push(...i),s}async isOllamaAvailable(){return this.ollamaAvailable!==null?this.ollamaAvailable:(this.ollamaAvailable=await this.client.healthCheck(),this.ollamaAvailable)}resetOllamaCheck(){this.ollamaAvailable=null}generatePseudoEmbedding(e){let t=new Array(v.DIMENSIONS).fill(0),s=e.split(/\s+|[^\w]+/).filter(o=>o.length>0);for(let o=0;o<s.length;o++){let r=s[o];for(let a=0;a<r.length&&a<t.length;a++)t[(o+a)%t.length]+=r.charCodeAt(a)/1e3}let n=[[/class\s+\w+/,0],[/function\s+\w+/,1],[/async\s+|await\s+|Promise/,2],[/interface\s+\w+/,3],[/export\s+/,4],[/import\s+/,5],[/try\s*{/,6],[/\.(map|filter|reduce)\(/,7]];for(let[o,r]of n)o.test(e)&&(t[r]+=.5);let i=Math.sqrt(t.reduce((o,r)=>o+r*r,0))||1;return t.map(o=>o/i)}clearCache(){this.cache.clear()}getCacheStats(){return this.cache.getStats()}async healthCheck(){return await this.client.healthCheck()}async getServerInfo(){return await this.client.getServerInfo()}getDimensions(){return v.DIMENSIONS}getConfig(){return{model:v.MODEL,dimensions:v.DIMENSIONS,contextWindow:v.CONTEXT_WINDOW,batchSize:this.batchSize,maxRetries:v.MAX_RETRIES,enableFallback:this.enableFallback}}};ke();Y();we();import{existsSync as Xe,statSync as Je}from"fs";import{dirname as Qe,resolve as Ye,join as X}from"path";function Ve(p){switch(p){case"ts":case"mts":case"cts":return"tree-sitter-typescript.wasm";case"tsx":return"tree-sitter-tsx.wasm";case"js":case"jsx":case"mjs":case"cjs":return"tree-sitter-javascript.wasm";default:return null}}var K=p=>p.startPosition.row+1,U=(p,e)=>p.childForFieldName(e)?.text??"";function ge(p){for(let e=0;e<p.childCount;e++){let t=p.child(e);if(t){if(t.type==="async")return!0;if(t.type==="function"||t.type==="function_declaration")break}}return!1}function qe(p){for(let e=0;e<p.childCount;e++)if(p.child(e)?.type==="accessibility_modifier"){let s=p.child(e).text;if(s==="private")return"private";if(s==="protected")return"protected"}return"public"}function He(p){let e=U(p,"name")||"(anonymous)",t=p.childForFieldName("body"),s=[];if(t)for(let n=0;n<t.childCount;n++){let i=t.child(n);i&&i.type==="method_definition"&&s.push({name:U(i,"name"),startLine:K(i),isAsync:ge(i),visibility:qe(i)})}return{name:e,startLine:K(p),methods:s}}function fe(p){return p.replace(/^['"`]|['"`]$/g,"")}async function ye(p,e){let t=Ve(e);if(!t)return null;let s=await Le(t);if(!s)return null;let n=null;try{let i=s.parse(p);n=i;let o=i.rootNode;if(!o)return null;let r={functions:[],classes:[],interfaces:[],imports:[]},a=[o];for(;a.length;){let c=a.pop(),l=!0;switch(c.type){case"function_declaration":case"generator_function_declaration":r.functions.push({name:U(c,"name"),startLine:K(c),isAsync:ge(c),visibility:"public"}),l=!1;break;case"class_declaration":case"class":r.classes.push(He(c)),l=!1;break;case"interface_declaration":r.interfaces.push({name:U(c,"name"),startLine:K(c)}),l=!1;break;case"lexical_declaration":case"variable_declaration":{for(let d=0;d<c.childCount;d++){let u=c.child(d);if(!u||u.type!=="variable_declarator")continue;let h=u.childForFieldName("value");if(h&&(h.type==="arrow_function"||h.type==="function"||h.type==="function_expression"))r.functions.push({name:U(u,"name"),startLine:K(u),isAsync:ge(h),visibility:"public"});else if(h&&h.type==="call_expression"&&h.child(0)?.text==="require"){let f=h.childForFieldName("arguments")?.child(1);f&&f.type==="string"&&r.imports.push(fe(f.text))}}l=!1;break}case"import_statement":{let d=c.childForFieldName("source");d&&r.imports.push(fe(d.text)),l=!1;break}case"call_expression":{let d=c.child(0);if(d&&d.text==="require"){let h=c.childForFieldName("arguments")?.child(1);h&&h.type==="string"&&r.imports.push(fe(h.text))}break}}if(l)for(let d=c.childCount-1;d>=0;d--){let u=c.child(d);u&&a.push(u)}}return r}catch{return null}finally{n?.delete?.()}}_e();var Ze={maxNodes:1e5,maxEdgesPerNode:500,namespace:"code-intelligence:kg",enableVectorEmbeddings:!0,embeddingDimension:384,enableLLMExtraction:!0,llmModelTier:2,llmMaxTokens:2048},be=xe.create("code-intelligence/knowledge-graph"),J=new Set(["ts","tsx","js","jsx"]),Ae=class{config;memory;nodeCache=new Map;edgeIndex=new Map;allEdgesCache;tsParser;fileReader;projectRoot;embedder;llmRouter;constructor(e,t={}){this.config={...Ze,...t},this.isKnowledgeGraphDependencies(e)?(this.memory=e.memory,this.llmRouter=e.llmRouter):(this.memory=e,this.llmRouter=void 0),this.tsParser=new N,this.projectRoot=this.config.projectRoot??this.config.basePath??Ee(),this.fileReader=new k({...this.config.basePath?{basePath:this.config.basePath}:{},projectRoot:this.projectRoot}),this.embedder=new $({enableFallback:!0})}isKnowledgeGraphDependencies(e){return e.memory!==void 0}get nsOpts(){return{namespace:this.config.namespace}}async index(e){let t=Date.now(),s=[],n=0,i=0,o=new Map;try{let{paths:r,incremental:a=!1,includeTests:c=!0,languages:l}=e,{accepted:d,skipped:u}=await Re(r,this.projectRoot,this.config.basePath??process.cwd()),h=0;if(!a)await this.clear();else for(let b of u)b.reason==="not-found"&&await this.removeFileFromGraph(b.path);for(let b of d)try{if(l&&l.length>0){let w=this.getFileExtension(b);if(!this.matchesLanguage(w,l)){u.push({path:b,reason:"excluded-by-language"});continue}}if(!c&&this.isTestFile(b)){u.push({path:b,reason:"excluded-test-file"});continue}let g=this.getFileExtension(b);J.has(g)||o.set(g||"(none)",(o.get(g||"(none)")??0)+1);let x=await this.indexFile(b,a);n+=x.nodes,i+=x.edges,h++}catch(g){s.push({file:b,error:G(g)})}let f=Date.now()-t,y=[];if(o.size>0){let b=Array.from(J).join(", ");for(let[g,x]of o){let w=`${x} file(s) with extension '.${g}' were indexed as plain nodes: no dependency extractor for this language, so 'deps'/'impact' will report 0 edges for them. Supported: ${b}.`;y.push(w),be.warn(w)}}return await this.storeIndexMetadata({filesIndexed:h,nodesCreated:n,edgesCreated:i,duration:f,indexedAt:new Date().toISOString()}),C({filesIndexed:h,nodesCreated:n,edgesCreated:i,duration:f,errors:s,warnings:y,skipped:u})}catch(r){return I(A(r))}}async query(e){try{let{query:t,type:s,limit:n=100}=e;return s==="cypher"?this.executeCypherQuery(t,n):this.executeNaturalLanguageQuery(t,n)}catch(t){return I(A(t))}}async mapDependencies(e){try{let{files:t,direction:s,depth:n=3}=e,i=[],o=[],r=new Set,a=[];for(let l of t)await this.traverseDependencies(l,s,n,r,i,o,[],a);let c=this.calculateDependencyMetrics(i,o);return C({nodes:i,edges:o,cycles:a,metrics:c})}catch(t){return I(A(t))}}async getNode(e){if(this.nodeCache.has(e))return this.nodeCache.get(e);let t=`${this.config.namespace}:node:${e}`,s=await this.memory.get(t,this.nsOpts);return s&&this.nodeCache.set(e,s),s}async getEdges(e,t){let s=await this.loadAllEdges();return this.filterEdgesByDirection(s,e,t)}async loadAllEdges(){if(this.allEdgesCache)return this.allEdgesCache;let e=[],t=`${this.config.namespace}:edge:*`,s=await this.memory.search(t,Number.MAX_SAFE_INTEGER,this.nsOpts);for(let n of s){let i=await this.memory.get(n,this.nsOpts);i&&e.push(i)}return this.allEdgesCache=e,e}async clear(){this.nodeCache.clear(),this.edgeIndex.clear(),this.allEdgesCache=void 0;for(let e of[`${this.config.namespace}:node:`,`${this.config.namespace}:edge:`]){let t=await this.memory.search(`${e}*`,Number.MAX_SAFE_INTEGER,this.nsOpts);for(let s of t)await this.memory.delete(s,this.nsOpts)}}async removeFileFromGraph(e){let t=this.pathToNodeId(e),s=this.config.namespace,n=await this.memory.search(`${s}:node:${t}*`,Number.MAX_SAFE_INTEGER,this.nsOpts);for(let o of n)await this.memory.delete(o,this.nsOpts),this.nodeCache.delete(o.slice(`${s}:node:`.length));let i=await this.memory.search(`${s}:edge:*`,Number.MAX_SAFE_INTEGER,this.nsOpts);for(let o of i){let r=await this.memory.get(o,this.nsOpts);r&&(r.source===t||r.source.startsWith(`${t}:`))&&await this.memory.delete(o,this.nsOpts)}this.edgeIndex.delete(t),this.allEdgesCache=void 0}isLLMExtractionAvailable(){return this.config.enableLLMExtraction===!0&&this.llmRouter!==void 0}getModelForTier(e){return Ie(e)}async extractRelationshipsWithLLM(e,t){if(!this.llmRouter)return{semanticRelationships:[],designPatterns:[],architecturalBoundaries:[],dependencyImpacts:[]};try{let s=this.buildRelationshipExtractionPrompt(e,t),n=this.getModelForTier(this.config.llmModelTier??2),i=await this.llmRouter.chat({messages:[{role:"system",content:`You are an expert software architect analyzing code structure. Extract:
24
24
  1. Semantic relationships between code entities (inheritance, composition, dependency, collaboration)
25
25
  2. Design patterns used (Factory, Singleton, Observer, Strategy, etc.)
26
26
  3. Architectural boundaries (layers, modules, domains)
@@ -55,5 +55,5 @@ ${e}
55
55
  Return JSON: { "rankedIds": ["id1", "id2", ...], "insights": ["insight1", "insight2", ...] }`},{role:"user",content:`Query: "${e}"
56
56
 
57
57
  Results:
58
- ${JSON.stringify(t.map(i=>({id:i.id,label:i.label,properties:i.properties})),null,2)}`}],model:s,maxTokens:1024,temperature:.3,agentType:"qe-code-intelligence"});if(n.content)try{let i=n.content.match(/\{[\s\S]*\}/);if(i){let o=D(i[0]),r=o.rankedIds||[],a=o.insights||[],c=new Map(t.map(d=>[d.id,d])),l=[];for(let d of r){let u=c.get(d);u&&(l.push(u),c.delete(d))}return l.push(...Array.from(c.values())),{enhancedResults:l,insights:a}}}catch{}return{enhancedResults:t,insights:[]}}catch{return be.warn("LLM query enhancement failed:"),{enhancedResults:t,insights:[]}}}async indexFile(e,t=!1){let s=0,n=0;this.fileReader.invalidateCache(e),t&&await this.removeFileFromGraph(e);let i=await this.createFileNode(e);s++;let o=await this.extractEntities(e);for(let a of o){let c=await this.createEntityNode(a,e);s++,await this.createEdge(i.id,c.id,"contains"),n++}let r=await this.extractImports(e);for(let a of r){let c=this.resolveImportPath(a,e),l=this.pathToNodeId(c);await this.createEdge(i.id,l,"import"),n++}if(this.isLLMExtractionAvailable()){let a=await this.fileReader.readFile(e);if(a.success){let c=await this.extractRelationshipsWithLLM(a.value,o);n+=await this.storeLLMRelationships(i.id,c)}}return{nodes:s,edges:n}}async storeLLMRelationships(e,t){let s=0;for(let i of t.semanticRelationships){let o=`${e}:*:${i.source}`,r=`${e}:*:${i.target}`;await this.createEdge(o,r,i.type),s++}let n=this.nodeCache.get(e);return n&&(t.designPatterns.length>0&&(n.properties.designPatterns=t.designPatterns),t.architecturalBoundaries.length>0&&(n.properties.architecturalBoundaries=t.architecturalBoundaries),t.dependencyImpacts.length>0&&(n.properties.dependencyImpacts=t.dependencyImpacts),this.nodeCache.set(e,n)),s}async createFileNode(e){let s={id:this.pathToNodeId(e),label:"File",properties:{path:e,name:this.getFileName(e),extension:this.getFileExtension(e),type:this.getFileType(e)}};return await this.storeNode(s),s}async createEntityNode(e,t){let s=`${this.pathToNodeId(t)}:${e.type}:${e.name}`,n={id:s,label:e.type,properties:{name:e.name,file:t,line:e.line,visibility:e.visibility,async:e.isAsync}};if(await this.storeNode(n),this.config.enableVectorEmbeddings){let i=await this.generateEmbedding(e);await this.memory.storeVector(`${this.config.namespace}:node:${s}`,i,{nodeId:s,type:e.type,name:e.name})}return n}async createEdge(e,t,s){let n=`${e}--${s}-->${t}`,i={source:e,target:t,type:s},o=this.edgeIndex.get(e)||[];return o.push(i),this.edgeIndex.set(e,o),await this.memory.set(`${this.config.namespace}:edge:${n}`,i,this.nsOpts),this.allEdgesCache=void 0,i}async storeNode(e){if(this.nodeCache.size>=this.config.maxNodes){let t=this.nodeCache.keys().next().value;t&&(this.nodeCache.delete(t),this.edgeIndex.delete(t))}this.nodeCache.set(e.id,e),await this.memory.set(`${this.config.namespace}:node:${e.id}`,e,this.nsOpts)}async extractEntities(e){let t=this.getFileExtension(e),s=[];if(J.has(t)){let n=await this.fileReader.readFile(e),i=this.getFileName(e);if(n.success){let o=!1;try{let r=await ye(n.value,t);if(r){for(let a of r.functions)s.push({type:"function",name:a.name,line:a.startLine,visibility:a.visibility,isAsync:a.isAsync});for(let a of r.classes){s.push({type:"class",name:a.name,line:a.startLine,visibility:"public",isAsync:!1});for(let c of a.methods)s.push({type:"function",name:`${a.name}.${c.name}`,line:c.startLine,visibility:c.visibility,isAsync:c.isAsync})}for(let a of r.interfaces)s.push({type:"interface",name:a.name,line:a.startLine,visibility:"public",isAsync:!1});o=!0}}catch{}if(!o)try{let r=this.tsParser.parseFile(i,n.value);for(let a of this.tsParser.extractFunctions(r))s.push({type:"function",name:a.name,line:a.startLine,visibility:"public",isAsync:a.isAsync});for(let a of this.tsParser.extractClasses(r)){s.push({type:"class",name:a.name,line:a.startLine,visibility:"public",isAsync:!1});for(let c of a.methods)s.push({type:"function",name:`${a.name}.${c.name}`,line:c.startLine,visibility:c.visibility,isAsync:c.isAsync})}for(let a of this.tsParser.extractInterfaces(r))s.push({type:"interface",name:a.name,line:a.startLine,visibility:"public",isAsync:!1})}catch{}s.length===0&&s.push({type:"module",name:i.replace(/\.[^.]+$/,""),line:1,visibility:"public",isAsync:!1})}else s.push({type:"module",name:this.getFileName(e).replace(/\.[^.]+$/,""),line:1,visibility:"public",isAsync:!1})}else if(t==="py"){let n=await this.fileReader.readFile(e);if(n.success){let o=n.value.split(`
59
- `),r=/^class\s+(\w+)\s*(?:\([^)]*\))?\s*:/,a=/^(async\s+)?def\s+(\w+)\s*\(/,c=null,l=0;for(let d=0;d<o.length;d++){let u=o[d],h=d+1,f=u.trimStart(),g=u.length-f.length;c&&g<=l&&(c=null);let b=f.match(r);if(b){let v=b[1];s.push({type:"class",name:v,line:h,visibility:v.startsWith("_")?"private":"public",isAsync:!1}),c=v,l=g;continue}let y=f.match(a);if(y){let v=!!y[1],C=y[2],Fe=c!==null&&g>l,Q="public";C.startsWith("__")&&!C.endsWith("__")?Q="private":C.startsWith("_")&&(Q="protected"),s.push({type:"function",name:Fe?`${c}.${C}`:C,line:h,visibility:Q,isAsync:v})}}s.length===0&&s.push({type:"module",name:this.getFileName(e).replace(".py",""),line:1,visibility:"public",isAsync:!1})}else s.push({type:"module",name:this.getFileName(e).replace(".py",""),line:1,visibility:"public",isAsync:!1})}return s}async extractImports(e){let t=this.getFileExtension(e),s=[];if(J.has(t)){let n=await this.fileReader.readFile(e);if(n.success){let i=this.getFileName(e),o=null;try{let r=await ye(n.value,t);r&&(o=r.imports)}catch{o=null}if(o===null)try{let r=this.tsParser.parseFile(i,n.value);o=this.tsParser.extractImports(r).map(a=>a.module)}catch{o=[]}for(let r of o)r.startsWith("node:")||s.push(r)}}return s}async executeCypherQuery(e,t){let s=[],n=[],i=new Map,o=/MATCH\s+\((\w+):(\w+)\)\s*-\[(\w+)?:?(\w+)?\]\s*->\s*\((\w+):(\w+)\)/i.exec(e);if(o){let[,a,c,,l,d,u]=o,h=await this.findNodesByLabel(c,t*2);i.set(a,h);for(let f of h.slice(0,t)){let g=await this.getEdges(f.id,"outgoing");for(let b of g){if(l&&b.type!==l)continue;let y=await this.getNode(b.target);y&&y.label===u&&(s.some(v=>v.id===f.id)||s.push(f),s.some(v=>v.id===y.id)||s.push(y),n.some(v=>v.source===b.source&&v.target===b.target&&v.type===b.type)||n.push(b))}}d&&i.set(d,s.filter(f=>f.label===u))}else{let a=/MATCH\s+\((\w+):(\w+)\)/i.exec(e);if(a){let[,c,l]=a,d=await this.findNodesByLabel(l,t);i.set(c,d),s.push(...d)}}let r=/WHERE\s+(\w+)\.(\w+)\s*=\s*['"]?([^'")\s]+)['"]?/i.exec(e);if(r){let[,a,c,l]=r,u=(i.get(a)||s).filter(g=>{let b=g.properties[c];return b!==void 0&&String(b)===l});s.length=0,s.push(...u.slice(0,t));let h=new Set(s.map(g=>g.id)),f=n.filter(g=>h.has(g.source)&&h.has(g.target));n.length=0,n.push(...f)}return R({nodes:s.slice(0,t),edges:n,metadata:{query:e,type:"cypher",resultCount:s.length,edgeCount:n.length}})}async findNodesByLabel(e,t){let s=[],n=`${this.config.namespace}:node:*`,i=await this.memory.search(n,t*2,this.nsOpts);for(let o of i){let r=await this.memory.get(o,this.nsOpts);if(r&&r.label===e&&(s.push(r),s.length>=t))break}return s}async executeNaturalLanguageQuery(e,t){if(this.config.enableVectorEmbeddings){let r=await this.generateQueryEmbedding(e),a=await this.memory.vectorSearch(r,t),c=[];for(let l of a){let d=l.metadata?.nodeId;if(d){let u=await this.getNode(d);u&&c.push(u)}}return R({nodes:c,edges:[],metadata:{query:e,type:"natural-language",resultCount:c.length,searchScores:a.map(l=>l.score)}})}let s=e.toLowerCase().split(/\s+/),n=`${this.config.namespace}:node:*`,i=await this.memory.search(n,t*3,this.nsOpts),o=[];for(let r of i){let a=await this.memory.get(r,this.nsOpts);if(a){let c=JSON.stringify(a.properties).toLowerCase();if(s.some(l=>c.includes(l))&&(o.push(a),o.length>=t))break}}return R({nodes:o,edges:[],metadata:{query:e,type:"keyword",resultCount:o.length}})}async traverseDependencies(e,t,s,n,i,o,r,a){if(s<=0||n.has(e)){let f=r.indexOf(e);f>=0&&a.push([...r.slice(f),e]);return}n.add(e),r.push(e);let c=this.pathToNodeId(e),l=new Set(["import","call","extends","implements"]),d=(await this.getEdges(c,t)).filter(f=>l.has(f.type)),u=d.filter(f=>f.target===c).length,h=d.filter(f=>f.source===c).length;i.push({id:c,path:e,type:"file",inDegree:u,outDegree:h});for(let f of d){let g={source:f.source,target:f.target,type:f.type};if(o.some(y=>y.source===g.source&&y.target===g.target)||o.push(g),f.source!==c)continue;let b=this.nodeIdToPath(f.target);b&&await this.traverseDependencies(b,t,s-1,n,i,o,r,a)}r.pop()}calculateDependencyMetrics(e,t){let s=e.length,n=t.length,i=s>0?e.reduce((a,c)=>a+c.inDegree+c.outDegree,0)/s:0,o=0;if(e.length>0){let a=new Map;for(let l of t){let d=a.get(l.source)||[];d.push(l.target),a.set(l.source,d)}let c=new Map;for(let l of e)c.has(l.id)||this.bfsDepth(l.id,a,c),o=Math.max(o,c.get(l.id)||0)}let r=n-s+2;return{totalNodes:s,totalEdges:n,avgDegree:Math.round(i*100)/100,maxDepth:o,cyclomaticComplexity:Math.max(1,r)}}bfsDepth(e,t,s){let n=[{id:e,depth:0}];for(;n.length>0;){let i=n.shift(),o=s.get(i.id)??-1;i.depth>o&&s.set(i.id,i.depth);let r=t.get(i.id)||[];for(let a of r)(!s.has(a)||(s.get(a)??0)<i.depth+1)&&n.push({id:a,depth:i.depth+1})}}filterEdgesByDirection(e,t,s){return e.filter(n=>s==="incoming"?n.target===t:s==="outgoing"?n.source===t:n.source===t||n.target===t)}async storeIndexMetadata(e){}async generateEmbedding(e){let t=`${e.type} ${e.name} ${e.visibility}${e.isAsync?" async":""}`;try{return await this.embedder.embed(t)}catch{return this.fallbackEmbedding(t)}}async generateQueryEmbedding(e){try{return await this.embedder.embed(e)}catch{return this.fallbackEmbedding(e)}}fallbackEmbedding(e){let t=new Array(this.config.embeddingDimension).fill(0),s=e.toLowerCase().split(/\s+/);for(let i=0;i<s.length;i++){let o=s[i];for(let r=0;r<o.length&&r<t.length;r++)t[(i+r)%t.length]+=o.charCodeAt(r)/1e3}let n=Math.sqrt(t.reduce((i,o)=>i+o*o,0))||1;return t.map(i=>i/n)}pathToNodeId(e){return e.replace(/[/\\]/g,":").replace(/\./g,"_")}resolveImportPath(e,t){if(!e.startsWith("."))return e;let s=Xe(He(t),e),n=[s,`${s}.ts`,`${s}.tsx`,`${s}.js`,`${s}.jsx`,`${s}.mjs`,`${s}.cjs`,X(s,"index.ts"),X(s,"index.tsx"),X(s,"index.js"),X(s,"index.jsx")];for(let i of n)try{if(Ve(i)&&qe(i).isFile())return i}catch{}return`${s}.ts`}nodeIdToPath(e){let t=e.replace(/:/g,"/").replace(/_(?=[^_]*$)/,".");return t.includes("/")?t:null}getFileName(e){return e.split(/[/\\]/).pop()||e}getFileExtension(e){let s=this.getFileName(e).split(".");return s.length>1?s.pop():""}getFileType(e){let t=this.getFileExtension(e);return{ts:"typescript",tsx:"typescript-react",js:"javascript",jsx:"javascript-react",py:"python",go:"go",java:"java",rs:"rust",rb:"ruby",cs:"csharp",swift:"swift"}[t]||"unknown"}matchesLanguage(e,t){let s={typescript:["ts","tsx"],javascript:["js","jsx"],python:["py"],go:["go"],java:["java"],rust:["rs"],csharp:["cs"],swift:["swift"]};return t.some(n=>(s[n.toLowerCase()]||[n]).includes(e))}isTestFile(e){return[/\.test\.[tj]sx?$/,/\.spec\.[tj]sx?$/,/_test\.[tj]sx?$/,/test_.*\.py$/,/.*_test\.py$/,/.*_test\.go$/].some(s=>s.test(e))}destroy(){this.nodeCache.clear(),this.edgeIndex.clear()}};export{m as a,it as b,x as c,j as d,N as e,S as f,k as g,Te as h};
58
+ ${JSON.stringify(t.map(i=>({id:i.id,label:i.label,properties:i.properties})),null,2)}`}],model:s,maxTokens:1024,temperature:.3,agentType:"qe-code-intelligence"});if(n.content)try{let i=n.content.match(/\{[\s\S]*\}/);if(i){let o=D(i[0]),r=o.rankedIds||[],a=o.insights||[],c=new Map(t.map(d=>[d.id,d])),l=[];for(let d of r){let u=c.get(d);u&&(l.push(u),c.delete(d))}return l.push(...Array.from(c.values())),{enhancedResults:l,insights:a}}}catch{}return{enhancedResults:t,insights:[]}}catch{return be.warn("LLM query enhancement failed:"),{enhancedResults:t,insights:[]}}}async indexFile(e,t=!1){let s=0,n=0;try{this.fileReader.invalidateCache(e)}catch{}let i=await this.fileReader.readFile(e);if(!i.success)throw i.error;t&&await this.removeFileFromGraph(e);let o=await this.createFileNode(e);s++;let r=await this.extractEntities(e);for(let c of r){let l=await this.createEntityNode(c,e);s++,await this.createEdge(o.id,l.id,"contains"),n++}let a=await this.extractImports(e);for(let c of a){let l=this.resolveImportPath(c,e),d=this.pathToNodeId(l);await this.createEdge(o.id,d,"import"),n++}if(this.isLLMExtractionAvailable()){let c=await this.fileReader.readFile(e);if(c.success){let l=await this.extractRelationshipsWithLLM(c.value,r);n+=await this.storeLLMRelationships(o.id,l)}}return{nodes:s,edges:n}}async storeLLMRelationships(e,t){let s=0;for(let i of t.semanticRelationships){let o=`${e}:*:${i.source}`,r=`${e}:*:${i.target}`;await this.createEdge(o,r,i.type),s++}let n=this.nodeCache.get(e);return n&&(t.designPatterns.length>0&&(n.properties.designPatterns=t.designPatterns),t.architecturalBoundaries.length>0&&(n.properties.architecturalBoundaries=t.architecturalBoundaries),t.dependencyImpacts.length>0&&(n.properties.dependencyImpacts=t.dependencyImpacts),this.nodeCache.set(e,n)),s}async createFileNode(e){let s={id:this.pathToNodeId(e),label:"File",properties:{path:e,name:this.getFileName(e),extension:this.getFileExtension(e),type:this.getFileType(e)}};return await this.storeNode(s),s}async createEntityNode(e,t){let s=`${this.pathToNodeId(t)}:${e.type}:${e.name}`,n={id:s,label:e.type,properties:{name:e.name,file:t,line:e.line,visibility:e.visibility,async:e.isAsync}};if(await this.storeNode(n),this.config.enableVectorEmbeddings){let i=await this.generateEmbedding(e);await this.memory.storeVector(`${this.config.namespace}:node:${s}`,i,{nodeId:s,type:e.type,name:e.name})}return n}async createEdge(e,t,s){let n=`${e}--${s}-->${t}`,i={source:e,target:t,type:s},o=this.edgeIndex.get(e)||[];return o.push(i),this.edgeIndex.set(e,o),await this.memory.set(`${this.config.namespace}:edge:${n}`,i,this.nsOpts),this.allEdgesCache=void 0,i}async storeNode(e){if(this.nodeCache.size>=this.config.maxNodes){let t=this.nodeCache.keys().next().value;t&&(this.nodeCache.delete(t),this.edgeIndex.delete(t))}this.nodeCache.set(e.id,e),await this.memory.set(`${this.config.namespace}:node:${e.id}`,e,this.nsOpts)}async extractEntities(e){let t=this.getFileExtension(e),s=[];if(J.has(t)){let n=await this.fileReader.readFile(e),i=this.getFileName(e);if(n.success){let o=!1;try{let r=await ye(n.value,t);if(r){for(let a of r.functions)s.push({type:"function",name:a.name,line:a.startLine,visibility:a.visibility,isAsync:a.isAsync});for(let a of r.classes){s.push({type:"class",name:a.name,line:a.startLine,visibility:"public",isAsync:!1});for(let c of a.methods)s.push({type:"function",name:`${a.name}.${c.name}`,line:c.startLine,visibility:c.visibility,isAsync:c.isAsync})}for(let a of r.interfaces)s.push({type:"interface",name:a.name,line:a.startLine,visibility:"public",isAsync:!1});o=!0}}catch{}if(!o)try{let r=this.tsParser.parseFile(i,n.value);for(let a of this.tsParser.extractFunctions(r))s.push({type:"function",name:a.name,line:a.startLine,visibility:"public",isAsync:a.isAsync});for(let a of this.tsParser.extractClasses(r)){s.push({type:"class",name:a.name,line:a.startLine,visibility:"public",isAsync:!1});for(let c of a.methods)s.push({type:"function",name:`${a.name}.${c.name}`,line:c.startLine,visibility:c.visibility,isAsync:c.isAsync})}for(let a of this.tsParser.extractInterfaces(r))s.push({type:"interface",name:a.name,line:a.startLine,visibility:"public",isAsync:!1})}catch{}s.length===0&&s.push({type:"module",name:i.replace(/\.[^.]+$/,""),line:1,visibility:"public",isAsync:!1})}else s.push({type:"module",name:this.getFileName(e).replace(/\.[^.]+$/,""),line:1,visibility:"public",isAsync:!1})}else if(t==="py"){let n=await this.fileReader.readFile(e);if(n.success){let o=n.value.split(`
59
+ `),r=/^class\s+(\w+)\s*(?:\([^)]*\))?\s*:/,a=/^(async\s+)?def\s+(\w+)\s*\(/,c=null,l=0;for(let d=0;d<o.length;d++){let u=o[d],h=d+1,f=u.trimStart(),y=u.length-f.length;c&&y<=l&&(c=null);let b=f.match(r);if(b){let x=b[1];s.push({type:"class",name:x,line:h,visibility:x.startsWith("_")?"private":"public",isAsync:!1}),c=x,l=y;continue}let g=f.match(a);if(g){let x=!!g[1],w=g[2],Ne=c!==null&&y>l,Q="public";w.startsWith("__")&&!w.endsWith("__")?Q="private":w.startsWith("_")&&(Q="protected"),s.push({type:"function",name:Ne?`${c}.${w}`:w,line:h,visibility:Q,isAsync:x})}}s.length===0&&s.push({type:"module",name:this.getFileName(e).replace(".py",""),line:1,visibility:"public",isAsync:!1})}else s.push({type:"module",name:this.getFileName(e).replace(".py",""),line:1,visibility:"public",isAsync:!1})}return s}async extractImports(e){let t=this.getFileExtension(e),s=[];if(J.has(t)){let n=await this.fileReader.readFile(e);if(n.success){let i=this.getFileName(e),o=null;try{let r=await ye(n.value,t);r&&(o=r.imports)}catch{o=null}if(o===null)try{let r=this.tsParser.parseFile(i,n.value);o=this.tsParser.extractImports(r).map(a=>a.module)}catch{o=[]}for(let r of o)r.startsWith("node:")||s.push(r)}}return s}async executeCypherQuery(e,t){let s=[],n=[],i=new Map,o=/MATCH\s+\((\w+):(\w+)\)\s*-\[(\w+)?:?(\w+)?\]\s*->\s*\((\w+):(\w+)\)/i.exec(e);if(o){let[,a,c,,l,d,u]=o,h=await this.findNodesByLabel(c,t*2);i.set(a,h);for(let f of h.slice(0,t)){let y=await this.getEdges(f.id,"outgoing");for(let b of y){if(l&&b.type!==l)continue;let g=await this.getNode(b.target);g&&g.label===u&&(s.some(x=>x.id===f.id)||s.push(f),s.some(x=>x.id===g.id)||s.push(g),n.some(x=>x.source===b.source&&x.target===b.target&&x.type===b.type)||n.push(b))}}d&&i.set(d,s.filter(f=>f.label===u))}else{let a=/MATCH\s+\((\w+):(\w+)\)/i.exec(e);if(a){let[,c,l]=a,d=await this.findNodesByLabel(l,t);i.set(c,d),s.push(...d)}}let r=/WHERE\s+(\w+)\.(\w+)\s*=\s*['"]?([^'")\s]+)['"]?/i.exec(e);if(r){let[,a,c,l]=r,u=(i.get(a)||s).filter(y=>{let b=y.properties[c];return b!==void 0&&String(b)===l});s.length=0,s.push(...u.slice(0,t));let h=new Set(s.map(y=>y.id)),f=n.filter(y=>h.has(y.source)&&h.has(y.target));n.length=0,n.push(...f)}return C({nodes:s.slice(0,t),edges:n,metadata:{query:e,type:"cypher",resultCount:s.length,edgeCount:n.length}})}async findNodesByLabel(e,t){let s=[],n=`${this.config.namespace}:node:*`,i=await this.memory.search(n,t*2,this.nsOpts);for(let o of i){let r=await this.memory.get(o,this.nsOpts);if(r&&r.label===e&&(s.push(r),s.length>=t))break}return s}async executeNaturalLanguageQuery(e,t){if(this.config.enableVectorEmbeddings){let r=await this.generateQueryEmbedding(e),a=await this.memory.vectorSearch(r,t),c=[];for(let l of a){let d=l.metadata?.nodeId;if(d){let u=await this.getNode(d);u&&c.push(u)}}return C({nodes:c,edges:[],metadata:{query:e,type:"natural-language",resultCount:c.length,searchScores:a.map(l=>l.score)}})}let s=e.toLowerCase().split(/\s+/),n=`${this.config.namespace}:node:*`,i=await this.memory.search(n,t*3,this.nsOpts),o=[];for(let r of i){let a=await this.memory.get(r,this.nsOpts);if(a){let c=JSON.stringify(a.properties).toLowerCase();if(s.some(l=>c.includes(l))&&(o.push(a),o.length>=t))break}}return C({nodes:o,edges:[],metadata:{query:e,type:"keyword",resultCount:o.length}})}async traverseDependencies(e,t,s,n,i,o,r,a){if(s<=0||n.has(e)){let f=r.indexOf(e);f>=0&&a.push([...r.slice(f),e]);return}n.add(e),r.push(e);let c=this.pathToNodeId(e),l=new Set(["import","call","extends","implements"]),d=(await this.getEdges(c,t)).filter(f=>l.has(f.type)),u=d.filter(f=>f.target===c).length,h=d.filter(f=>f.source===c).length;i.push({id:c,path:e,type:"file",inDegree:u,outDegree:h});for(let f of d){let y={source:f.source,target:f.target,type:f.type};if(o.some(g=>g.source===y.source&&g.target===y.target)||o.push(y),f.source!==c)continue;let b=this.nodeIdToPath(f.target);b&&await this.traverseDependencies(b,t,s-1,n,i,o,r,a)}r.pop()}calculateDependencyMetrics(e,t){let s=e.length,n=t.length,i=s>0?e.reduce((a,c)=>a+c.inDegree+c.outDegree,0)/s:0,o=0;if(e.length>0){let a=new Map;for(let l of t){let d=a.get(l.source)||[];d.push(l.target),a.set(l.source,d)}let c=new Map;for(let l of e)c.has(l.id)||this.bfsDepth(l.id,a,c),o=Math.max(o,c.get(l.id)||0)}let r=n-s+2;return{totalNodes:s,totalEdges:n,avgDegree:Math.round(i*100)/100,maxDepth:o,cyclomaticComplexity:Math.max(1,r)}}bfsDepth(e,t,s){let n=[{id:e,depth:0}];for(;n.length>0;){let i=n.shift(),o=s.get(i.id)??-1;i.depth>o&&s.set(i.id,i.depth);let r=t.get(i.id)||[];for(let a of r)(!s.has(a)||(s.get(a)??0)<i.depth+1)&&n.push({id:a,depth:i.depth+1})}}filterEdgesByDirection(e,t,s){return e.filter(n=>s==="incoming"?n.target===t:s==="outgoing"?n.source===t:n.source===t||n.target===t)}async storeIndexMetadata(e){}async generateEmbedding(e){let t=`${e.type} ${e.name} ${e.visibility}${e.isAsync?" async":""}`;try{return await this.embedder.embed(t)}catch{return this.fallbackEmbedding(t)}}async generateQueryEmbedding(e){try{return await this.embedder.embed(e)}catch{return this.fallbackEmbedding(e)}}fallbackEmbedding(e){let t=new Array(this.config.embeddingDimension).fill(0),s=e.toLowerCase().split(/\s+/);for(let i=0;i<s.length;i++){let o=s[i];for(let r=0;r<o.length&&r<t.length;r++)t[(i+r)%t.length]+=o.charCodeAt(r)/1e3}let n=Math.sqrt(t.reduce((i,o)=>i+o*o,0))||1;return t.map(i=>i/n)}pathToNodeId(e){return e.replace(/[/\\]/g,":").replace(/\./g,"_")}resolveImportPath(e,t){if(!e.startsWith("."))return e;let s=Ye(Qe(t),e),n=[s,`${s}.ts`,`${s}.tsx`,`${s}.js`,`${s}.jsx`,`${s}.mjs`,`${s}.cjs`,X(s,"index.ts"),X(s,"index.tsx"),X(s,"index.js"),X(s,"index.jsx")];for(let i of n)try{if(Xe(i)&&Je(i).isFile())return i}catch{}return`${s}.ts`}nodeIdToPath(e){let t=e.replace(/:/g,"/").replace(/_(?=[^_]*$)/,".");return t.includes("/")?t:null}getFileName(e){return e.split(/[/\\]/).pop()||e}getFileExtension(e){let s=this.getFileName(e).split(".");return s.length>1?s.pop():""}getFileType(e){let t=this.getFileExtension(e);return{ts:"typescript",tsx:"typescript-react",js:"javascript",jsx:"javascript-react",py:"python",go:"go",java:"java",rs:"rust",rb:"ruby",cs:"csharp",swift:"swift"}[t]||"unknown"}matchesLanguage(e,t){let s={typescript:["ts","tsx"],javascript:["js","jsx"],python:["py"],go:["go"],java:["java"],rust:["rs"],csharp:["cs"],swift:["swift"]};return t.some(n=>(s[n.toLowerCase()]||[n]).includes(e))}isTestFile(e){return[/\.test\.[tj]sx?$/,/\.spec\.[tj]sx?$/,/_test\.[tj]sx?$/,/test_.*\.py$/,/.*_test\.py$/,/.*_test\.go$/].some(s=>s.test(e))}destroy(){this.nodeCache.clear(),this.edgeIndex.clear()}};export{m as a,ot as b,v as c,$ as d,N as e,S as f,k as g,Ae as h};
@@ -1,2 +1,2 @@
1
- import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.15.7");process.exit(0)}
1
+ import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.15.9");process.exit(0)}
2
2
  var N="ffffffff-ffff-ffff-ffff-ffffffffffff";var _="00000000-0000-0000-0000-000000000000";var y=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/i;function k(r){return typeof r=="string"&&y.test(r)}var u=k;function q(r){if(!u(r))throw TypeError("Invalid UUID");let n;return Uint8Array.of((n=parseInt(r.slice(0,8),16))>>>24,n>>>16&255,n>>>8&255,n&255,(n=parseInt(r.slice(9,13),16))>>>8,n&255,(n=parseInt(r.slice(14,18),16))>>>8,n&255,(n=parseInt(r.slice(19,23),16))>>>8,n&255,(n=parseInt(r.slice(24,36),16))/1099511627776&255,n/4294967296&255,n>>>24&255,n>>>16&255,n>>>8&255,n&255)}var c=q;var x=[];for(let r=0;r<256;++r)x.push((r+256).toString(16).slice(1));function l(r,n=0){return(x[r[n+0]]+x[r[n+1]]+x[r[n+2]]+x[r[n+3]]+"-"+x[r[n+4]]+x[r[n+5]]+"-"+x[r[n+6]]+x[r[n+7]]+"-"+x[r[n+8]]+x[r[n+9]]+"-"+x[r[n+10]]+x[r[n+11]]+x[r[n+12]]+x[r[n+13]]+x[r[n+14]]+x[r[n+15]]).toLowerCase()}function C(r,n=0){let f=l(r,n);if(!u(f))throw TypeError("Stringified UUID is invalid");return f}var H=C;var v=new Uint8Array(16);function m(){return crypto.getRandomValues(v)}var g={};function X(r,n,f){let e,o=r?._v6??!1;if(r){let t=Object.keys(r);t.length===1&&t[0]==="_v6"&&(r=void 0)}if(r)e=E(r.random??r.rng?.()??m(),r.msecs,r.nsecs,r.clockseq,r.node,n,f);else{let t=Date.now(),i=m();j(g,t,i),e=E(i,g.msecs,g.nsecs,o?void 0:g.clockseq,o?void 0:g.node,n,f)}return n??l(e)}function j(r,n,f){return r.msecs??=-1/0,r.nsecs??=0,n===r.msecs?(r.nsecs++,r.nsecs>=1e4&&(r.node=void 0,r.nsecs=0)):n>r.msecs?r.nsecs=0:n<r.msecs&&(r.node=void 0),r.node||(r.node=f.slice(10,16),r.node[0]|=1,r.clockseq=(f[8]<<8|f[9])&16383),r.msecs=n,r}function E(r,n,f,e,o,t,i=0){if(r.length<16)throw new Error("Random bytes length must be >= 16");if(!t)t=new Uint8Array(16),i=0;else if(i<0||i+16>t.length)throw new RangeError(`UUID byte range ${i}:${i+15} is out of buffer bounds`);n??=Date.now(),f??=0,e??=(r[8]<<8|r[9])&16383,o??=r.slice(10,16),n+=122192928e5;let d=((n&268435455)*1e4+f)%4294967296;t[i++]=d>>>24&255,t[i++]=d>>>16&255,t[i++]=d>>>8&255,t[i++]=d&255;let a=n/4294967296*1e4&268435455;t[i++]=a>>>8&255,t[i++]=a&255,t[i++]=a>>>24&15|16,t[i++]=a>>>16&255,t[i++]=e>>>8|128,t[i++]=e&255;for(let p=0;p<6;++p)t[i++]=o[p];return t}var D=X;function U(r){let n=typeof r=="string"?c(r):r,f=G(n);return typeof r=="string"?l(f):f}function G(r){return Uint8Array.of((r[6]&15)<<4|r[7]>>4&15,(r[7]&15)<<4|(r[4]&240)>>4,(r[4]&15)<<4|(r[5]&240)>>4,(r[5]&15)<<4|(r[0]&240)>>4,(r[0]&15)<<4|(r[1]&240)>>4,(r[1]&15)<<4|(r[2]&240)>>4,96|r[2]&15,r[3],r[8],r[9],r[10],r[11],r[12],r[13],r[14],r[15])}import{createHash as K}from"node:crypto";function M(r){return Array.isArray(r)?r=Buffer.from(r):typeof r=="string"&&(r=Buffer.from(r,"utf8")),K("md5").update(r).digest()}var T=M;function O(r){r=unescape(encodeURIComponent(r));let n=new Uint8Array(r.length);for(let f=0;f<r.length;++f)n[f]=r.charCodeAt(f);return n}var w="6ba7b810-9dad-11d1-80b4-00c04fd430c8",I="6ba7b811-9dad-11d1-80b4-00c04fd430c8";function h(r,n,f,e,o,t){let i=typeof f=="string"?O(f):f,d=typeof e=="string"?c(e):e;if(typeof e=="string"&&(e=c(e)),e?.length!==16)throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");let a=new Uint8Array(16+i.length);if(a.set(d),a.set(i,d.length),a=n(a),a[6]=a[6]&15|r,a[8]=a[8]&63|128,o){if(t??=0,t<0||t+16>o.length)throw new RangeError(`UUID byte range ${t}:${t+15} is out of buffer bounds`);for(let p=0;p<16;++p)o[t+p]=a[p];return o}return l(a)}function S(r,n,f,e){return h(48,T,r,n,f,e)}S.DNS=w;S.URL=I;var z=S;function F(r,n,f){return!n&&!r&&crypto.randomUUID?crypto.randomUUID():J(r,n,f)}function J(r,n,f){r=r||{};let e=r.random??r.rng?.()??m();if(e.length<16)throw new Error("Random bytes length must be >= 16");if(e[6]=e[6]&15|64,e[8]=e[8]&63|128,n){if(f=f||0,f<0||f+16>n.length)throw new RangeError(`UUID byte range ${f}:${f+15} is out of buffer bounds`);for(let o=0;o<16;++o)n[f+o]=e[o];return n}return l(e)}var P=F;import{createHash as Q}from"node:crypto";function W(r){return Array.isArray(r)?r=Buffer.from(r):typeof r=="string"&&(r=Buffer.from(r,"utf8")),Q("sha1").update(r).digest()}var V=W;function R(r,n,f,e){return h(80,V,r,n,f,e)}R.DNS=w;R.URL=I;var Y=R;function Z(r,n,f){r??={},f??=0;let e=D({...r,_v6:!0},new Uint8Array(16));if(e=U(e),n){if(f<0||f+16>n.length)throw new RangeError(`UUID byte range ${f}:${f+15} is out of buffer bounds`);for(let o=0;o<16;o++)n[f+o]=e[o];return n}return l(e)}var s=Z;function $(r){let n=typeof r=="string"?c(r):r,f=b(n);return typeof r=="string"?l(f):f}function b(r){return Uint8Array.of((r[3]&15)<<4|r[4]>>4&15,(r[4]&15)<<4|(r[5]&240)>>4,(r[5]&15)<<4|r[6]&15,r[7],(r[1]&15)<<4|(r[2]&240)>>4,(r[2]&15)<<4|(r[3]&240)>>4,16|(r[0]&240)>>4,(r[0]&15)<<4|(r[1]&240)>>4,r[8],r[9],r[10],r[11],r[12],r[13],r[14],r[15])}var A={};function B(r,n,f){let e;if(r)e=L(r.random??r.rng?.()??m(),r.msecs,r.seq,n,f);else{let o=Date.now(),t=m();r0(A,o,t),e=L(t,A.msecs,A.seq,n,f)}return n??l(e)}function r0(r,n,f){return r.msecs??=-1/0,r.seq??=0,n>r.msecs?(r.seq=f[6]<<23|f[7]<<16|f[8]<<8|f[9],r.msecs=n):(r.seq=r.seq+1|0,r.seq===0&&r.msecs++),r}function L(r,n,f,e,o=0){if(r.length<16)throw new Error("Random bytes length must be >= 16");if(!e)e=new Uint8Array(16),o=0;else if(o<0||o+16>e.length)throw new RangeError(`UUID byte range ${o}:${o+15} is out of buffer bounds`);return n??=Date.now(),f??=r[6]*127<<24|r[7]<<16|r[8]<<8|r[9],e[o++]=n/1099511627776&255,e[o++]=n/4294967296&255,e[o++]=n/16777216&255,e[o++]=n/65536&255,e[o++]=n/256&255,e[o++]=n&255,e[o++]=112|f>>>28&15,e[o++]=f>>>20&255,e[o++]=128|f>>>14&63,e[o++]=f>>>6&255,e[o++]=f<<2&255|r[10]&3,e[o++]=r[11],e[o++]=r[12],e[o++]=r[13],e[o++]=r[14],e[o++]=r[15],e}var n0=B;function f0(r){if(!u(r))throw TypeError("Invalid UUID");return parseInt(r.slice(14,15),16)}var e0=f0;export{N as a,_ as b,u as c,c as d,H as e,D as f,U as g,z as h,P as i,Y as j,s as k,$ as l,n0 as m,e0 as n};