agentic-qe 3.15.2 → 3.15.4

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 (445) hide show
  1. package/.claude/helpers/brain-checkpoint.cjs +46 -6
  2. package/.claude/hooks/aqe-hook.cjs +280 -51
  3. package/.claude/skills/skills-manifest.json +1 -1
  4. package/CHANGELOG.md +155 -0
  5. package/assets/skills/skills-manifest.json +1 -1
  6. package/dist/adapters/ag-ui/state-delta-cache.js +14 -5
  7. package/dist/adapters/trajectory-adapter.js +3 -1
  8. package/dist/cli/bundle.js +5 -5
  9. package/dist/cli/chunks/adapter-T54G3TBK.js +2 -0
  10. package/dist/cli/chunks/{agent-booster-wasm-664M7426.js → agent-booster-wasm-MHJBRXMK.js} +2 -2
  11. package/dist/cli/chunks/{agent-handler-E47ITH45.js → agent-handler-G64SD7J2.js} +2 -2
  12. package/dist/cli/chunks/{agent-memory-branch-CFWVOJX3.js → agent-memory-branch-G4UXFPKH.js} +2 -2
  13. package/dist/cli/chunks/aqe-learning-engine-HLCJJ3JM.js +2 -0
  14. package/dist/cli/chunks/{arena-ZU5CGBGH.js → arena-63M3M6EW.js} +2 -2
  15. package/dist/cli/chunks/{arena-JM3OY263.js → arena-QJMKYPHS.js} +4 -4
  16. package/dist/cli/chunks/{audit-HVBRC5AS.js → audit-UDFVTWSX.js} +3 -3
  17. package/dist/cli/chunks/base-VLD755UU.js +2 -0
  18. package/dist/cli/chunks/{better-sqlite3-45JLBQX3.js → better-sqlite3-JLX2G56I.js} +2 -2
  19. package/dist/cli/chunks/{brain-handler-FKDONZYA.js → brain-handler-PWF32LLW.js} +3 -3
  20. package/dist/cli/chunks/{branch-enumerator-M3DPS3D5.js → branch-enumerator-PB7QWXDP.js} +2 -2
  21. package/dist/cli/chunks/{browser-TG2TV6NR.js → browser-CYNV2F3U.js} +2 -2
  22. package/dist/cli/chunks/browser-workflow-6M6VLWRF.js +2 -0
  23. package/dist/cli/chunks/{chunk-JFFVYCTV.js → chunk-2534PXIV.js} +2 -2
  24. package/dist/cli/chunks/{chunk-GHXNRF63.js → chunk-2DRMTRBM.js} +2 -2
  25. package/dist/cli/chunks/{chunk-L77Z3Q6L.js → chunk-2ICC4H6K.js} +2 -2
  26. package/dist/cli/chunks/{chunk-EATZW5T2.js → chunk-2LL35V3A.js} +2 -2
  27. package/dist/cli/chunks/{chunk-MEUJWTOX.js → chunk-2MU4WCMQ.js} +2 -2
  28. package/dist/cli/chunks/{chunk-3RC5UMRJ.js → chunk-33IUCP34.js} +2 -2
  29. package/dist/cli/chunks/{chunk-UX4BOI6K.js → chunk-35A22AUL.js} +1 -1
  30. package/dist/cli/chunks/{chunk-Z7XCXHEB.js → chunk-3BDDOFYW.js} +2 -2
  31. package/dist/cli/chunks/chunk-3C2BFLYC.js +54 -0
  32. package/dist/cli/chunks/{chunk-56CE7UO4.js → chunk-3MSBVOYW.js} +6 -6
  33. package/dist/cli/chunks/{chunk-EDRIROCG.js → chunk-3ZIVBTX6.js} +2 -2
  34. package/dist/cli/chunks/{chunk-CRYZXTSQ.js → chunk-4GLR2S2M.js} +2 -2
  35. package/dist/cli/chunks/{chunk-DHSGCI6H.js → chunk-54ITMOFM.js} +6 -6
  36. package/dist/cli/chunks/{chunk-2AWU2E6R.js → chunk-54XTJBHV.js} +1 -1
  37. package/dist/cli/chunks/{chunk-JSTKSPYT.js → chunk-5B5D5KCV.js} +1 -1
  38. package/dist/cli/chunks/{chunk-NP2WWIZ3.js → chunk-5GWTJJEO.js} +1 -1
  39. package/dist/cli/chunks/{chunk-D75HDHX3.js → chunk-5H7MR6HP.js} +1 -1
  40. package/dist/cli/chunks/{chunk-NWYAV2UG.js → chunk-5SS2Z7JC.js} +2 -2
  41. package/dist/cli/chunks/chunk-5XXLWJU7.js +2 -0
  42. package/dist/cli/chunks/{chunk-B4H66LPR.js → chunk-6EHVPFHW.js} +1 -1
  43. package/dist/cli/chunks/{chunk-HSXLHNSS.js → chunk-6HO3XRXE.js} +2 -2
  44. package/dist/cli/chunks/chunk-6HTO4BLV.js +2 -0
  45. package/dist/cli/chunks/{chunk-SVHFSOGT.js → chunk-6QPW4OVH.js} +1 -1
  46. package/dist/cli/chunks/{chunk-BKZSTZDB.js → chunk-6TMUZGM2.js} +1 -1
  47. package/dist/cli/chunks/{chunk-2AOAEMJG.js → chunk-73MTUM6F.js} +2 -2
  48. package/dist/cli/chunks/{chunk-ANI3KPB7.js → chunk-73PCVMGA.js} +2 -2
  49. package/dist/cli/chunks/{chunk-HADOG2PT.js → chunk-76PRW2KY.js} +2 -2
  50. package/dist/cli/chunks/{chunk-NL6HKEPR.js → chunk-7INP6HZH.js} +3 -3
  51. package/dist/cli/chunks/{chunk-QB7H62A4.js → chunk-7X2IVMXN.js} +2 -2
  52. package/dist/cli/chunks/{chunk-ZVQSIH7Y.js → chunk-A4OPQJ4A.js} +8 -8
  53. package/dist/cli/chunks/{chunk-SKQTRYE7.js → chunk-ADF6LGHZ.js} +2 -2
  54. package/dist/cli/chunks/{chunk-5YS2DF5G.js → chunk-AHVN3UQZ.js} +2 -2
  55. package/dist/cli/chunks/{chunk-3XF7YTQC.js → chunk-AOKSLWON.js} +54 -54
  56. package/dist/cli/chunks/{chunk-CFDIYZGA.js → chunk-ASKPTGUU.js} +2 -2
  57. package/dist/cli/chunks/{chunk-LH3H4V7C.js → chunk-B7GJXQD2.js} +2 -2
  58. package/dist/cli/chunks/{chunk-HOBBYORR.js → chunk-B7J3O2WM.js} +1 -1
  59. package/dist/cli/chunks/{chunk-J4EJMAH3.js → chunk-BBKLVHDQ.js} +1 -1
  60. package/dist/cli/chunks/{chunk-WMNVFCKY.js → chunk-BND6M2JX.js} +2 -2
  61. package/dist/cli/chunks/{chunk-LRVR56PD.js → chunk-BPGFCUDO.js} +1 -1
  62. package/dist/cli/chunks/{chunk-O6QTCUSL.js → chunk-BY3IL56R.js} +1 -1
  63. package/dist/cli/chunks/{chunk-3KXKJSKS.js → chunk-BY5PLEPZ.js} +32 -32
  64. package/dist/cli/chunks/{chunk-DGKPGRBT.js → chunk-BZWZTGMF.js} +2 -2
  65. package/dist/cli/chunks/{chunk-AS27JP67.js → chunk-C5EN5WB6.js} +1 -1
  66. package/dist/cli/chunks/chunk-CFXFGQEN.js +15 -0
  67. package/dist/cli/chunks/{chunk-X4CADOSD.js → chunk-CQ3WSTJ2.js} +2 -2
  68. package/dist/cli/chunks/{chunk-HFF5ERIE.js → chunk-D7RVZ5C2.js} +2 -2
  69. package/dist/cli/chunks/{chunk-HS3O763N.js → chunk-DAYMT7TH.js} +21 -21
  70. package/dist/cli/chunks/{chunk-W6PLBRRS.js → chunk-DBIK4OFX.js} +1 -1
  71. package/dist/cli/chunks/{chunk-OWZ3F7DJ.js → chunk-DEJM2P5K.js} +1 -1
  72. package/dist/cli/chunks/{chunk-TC4B5D4Z.js → chunk-DF4Y3HPO.js} +1 -1
  73. package/dist/cli/chunks/{chunk-7UA7SMM4.js → chunk-DFJGXXCL.js} +1 -1
  74. package/dist/cli/chunks/{chunk-SZYK5JL7.js → chunk-DPL4ZXTE.js} +1 -1
  75. package/dist/cli/chunks/{chunk-6WVEICL2.js → chunk-DVE5SM5G.js} +4 -4
  76. package/dist/cli/chunks/{chunk-QR5ILM34.js → chunk-EGHK6NMH.js} +2 -2
  77. package/dist/cli/chunks/{chunk-E6GANSLP.js → chunk-EWUFVWRT.js} +2 -2
  78. package/dist/cli/chunks/{chunk-HBMBO4FD.js → chunk-EY5IUF7U.js} +2 -2
  79. package/dist/cli/chunks/{chunk-JCB6K24D.js → chunk-FDK2GF4G.js} +2 -2
  80. package/dist/cli/chunks/{chunk-QZNFZ5IQ.js → chunk-FRBCX46J.js} +2 -2
  81. package/dist/cli/chunks/{chunk-FCMCQ6OX.js → chunk-G3ZUB3HD.js} +2 -2
  82. package/dist/cli/chunks/{chunk-QGCFMACF.js → chunk-GAXTPQCZ.js} +2 -2
  83. package/dist/cli/chunks/{chunk-6O4KVU4K.js → chunk-GJVRQBLI.js} +2 -2
  84. package/dist/cli/chunks/{chunk-NLY5NUHZ.js → chunk-GLKLEHK3.js} +2 -2
  85. package/dist/cli/chunks/{chunk-IM67YHDK.js → chunk-HCDTLV5J.js} +2 -2
  86. package/dist/cli/chunks/{chunk-MY2XZHW3.js → chunk-HEDLZWPM.js} +1 -1
  87. package/dist/cli/chunks/{chunk-WUSSZ2S6.js → chunk-HEKCN5XQ.js} +2 -2
  88. package/dist/cli/chunks/{chunk-FRZVLRVR.js → chunk-HFSBONCS.js} +2 -2
  89. package/dist/cli/chunks/{chunk-IAOB2G3X.js → chunk-HX5KQK7I.js} +2 -2
  90. package/dist/cli/chunks/{chunk-BT6TZTCL.js → chunk-I43QRLLB.js} +2 -2
  91. package/dist/cli/chunks/{chunk-QJN5RW2U.js → chunk-I53365HG.js} +3 -3
  92. package/dist/cli/chunks/{chunk-55T7PDYP.js → chunk-I5A3HGO6.js} +2 -2
  93. package/dist/cli/chunks/{chunk-AR5V7VNC.js → chunk-I6E4X3L3.js} +1 -1
  94. package/dist/cli/chunks/chunk-IKWAPHJA.js +2 -0
  95. package/dist/cli/chunks/{chunk-UKRK3IE3.js → chunk-ISASRHZP.js} +2 -2
  96. package/dist/cli/chunks/{chunk-IHKRKRAV.js → chunk-J3RNVHDH.js} +1 -1
  97. package/dist/cli/chunks/{chunk-T75PWWK4.js → chunk-JFQDWAU3.js} +2 -2
  98. package/dist/cli/chunks/{chunk-3KTAMNKI.js → chunk-JL3TI43V.js} +2 -2
  99. package/dist/cli/chunks/{chunk-3DCRAW43.js → chunk-K2VUYRMG.js} +2 -2
  100. package/dist/cli/chunks/{chunk-RIAKRZCZ.js → chunk-KOLHZSEC.js} +2 -2
  101. package/dist/cli/chunks/{chunk-HXT4XDQO.js → chunk-LGA6J4I4.js} +2 -2
  102. package/dist/cli/chunks/{chunk-MDDECCAC.js → chunk-LJRZAALA.js} +169 -168
  103. package/dist/cli/chunks/{chunk-2B2MGJ2W.js → chunk-LOLAEDZD.js} +2 -2
  104. package/dist/cli/chunks/{chunk-2JEPRQMT.js → chunk-LPSE6DOQ.js} +1 -1
  105. package/dist/cli/chunks/{chunk-6KEYA4EH.js → chunk-LRTF5RMG.js} +4 -4
  106. package/dist/cli/chunks/{chunk-CV7E627D.js → chunk-LXYTC62V.js} +2 -2
  107. package/dist/cli/chunks/{chunk-YYVLMW65.js → chunk-LY53L6NH.js} +2 -2
  108. package/dist/cli/chunks/{chunk-HMDSBWF6.js → chunk-LZSLJJII.js} +2 -2
  109. package/dist/cli/chunks/{chunk-IT753IPZ.js → chunk-M6SJALLA.js} +2 -2
  110. package/dist/cli/chunks/{chunk-GDSLQTJC.js → chunk-MBV57LKC.js} +2 -2
  111. package/dist/cli/chunks/{chunk-I7J2ESGR.js → chunk-MGH4XIHH.js} +2 -2
  112. package/dist/cli/chunks/{chunk-Q32UGPWK.js → chunk-MVTUFPM2.js} +2 -2
  113. package/dist/cli/chunks/{chunk-UZL4JYVW.js → chunk-N6CRIUTO.js} +2 -2
  114. package/dist/cli/chunks/{chunk-326V7N25.js → chunk-NBMQOP2R.js} +1 -1
  115. package/dist/cli/chunks/{chunk-ZIKH7U5A.js → chunk-NIJMLEAX.js} +2 -2
  116. package/dist/cli/chunks/{chunk-MYDZBABD.js → chunk-O7TMY4GS.js} +2 -2
  117. package/dist/cli/chunks/{chunk-LVDZ25VX.js → chunk-OFQDM73J.js} +2 -2
  118. package/dist/cli/chunks/{chunk-WBZIOTY6.js → chunk-OG4KHX7S.js} +2 -2
  119. package/dist/cli/chunks/{chunk-GJTH6VBH.js → chunk-OHH6BUZK.js} +1 -1
  120. package/dist/cli/chunks/{chunk-T5N2PIPS.js → chunk-OOK6GPJR.js} +2 -2
  121. package/dist/cli/chunks/{chunk-AXJ75X6I.js → chunk-P7GM3EE7.js} +1 -1
  122. package/dist/cli/chunks/{chunk-IQB5ZBYO.js → chunk-PB2WSCBW.js} +3 -3
  123. package/dist/cli/chunks/{chunk-M36DAETL.js → chunk-PCWZCXBD.js} +2 -2
  124. package/dist/cli/chunks/{chunk-Z3PANQUT.js → chunk-PEA4DVXW.js} +1 -1
  125. package/dist/cli/chunks/{chunk-WBCE6V2N.js → chunk-PJAXWCFC.js} +1 -1
  126. package/dist/cli/chunks/{chunk-V67UQRQN.js → chunk-PMXWDTDK.js} +2 -2
  127. package/dist/cli/chunks/chunk-QIAX3JJB.js +3 -0
  128. package/dist/cli/chunks/chunk-R47LNH5W.js +2 -0
  129. package/dist/cli/chunks/{chunk-A6L2OCMO.js → chunk-RA3MI5WK.js} +2 -2
  130. package/dist/cli/chunks/{chunk-ITM26I6O.js → chunk-RB2SL5GD.js} +2 -2
  131. package/dist/cli/chunks/{chunk-XQBH3366.js → chunk-RG67RZIX.js} +2 -2
  132. package/dist/cli/chunks/{chunk-NBV37CEK.js → chunk-RI4JPBZD.js} +2 -2
  133. package/dist/cli/chunks/{chunk-2Q4Y3VQ6.js → chunk-RJ5CZ7B6.js} +2 -2
  134. package/dist/cli/chunks/{chunk-ATGIGJSL.js → chunk-RJMBHZYL.js} +1 -1
  135. package/dist/cli/chunks/{chunk-MOSXT6AO.js → chunk-RWZ4F44Y.js} +2 -2
  136. package/dist/cli/chunks/{chunk-URWT3EQT.js → chunk-S5D3HCGN.js} +2 -2
  137. package/dist/cli/chunks/{chunk-KQMCCHPO.js → chunk-SCL2OYN7.js} +2 -2
  138. package/dist/cli/chunks/{chunk-Y5VPLOA7.js → chunk-SIUUAKCE.js} +1 -1
  139. package/dist/cli/chunks/{chunk-JIRX6KUR.js → chunk-SJB4KMZS.js} +3 -3
  140. package/dist/cli/chunks/{chunk-TZH2QAFZ.js → chunk-SOSJFEFB.js} +2 -2
  141. package/dist/cli/chunks/{chunk-IBAXNCR2.js → chunk-SZWXUG36.js} +2 -2
  142. package/dist/cli/chunks/{chunk-KTLYL3BS.js → chunk-T3BMCEQR.js} +2 -2
  143. package/dist/cli/chunks/chunk-TB22Y3WW.js +4 -0
  144. package/dist/cli/chunks/{chunk-GJ7DON5S.js → chunk-TVQPYP2Z.js} +3 -3
  145. package/dist/cli/chunks/chunk-U2E5F3VZ.js +14 -0
  146. package/dist/cli/chunks/{chunk-ZSKQPXRW.js → chunk-UK5HY6LC.js} +1 -1
  147. package/dist/cli/chunks/{chunk-RO6HAZLV.js → chunk-UORI2CZ4.js} +1 -1
  148. package/dist/cli/chunks/{chunk-VTGAPHJE.js → chunk-V3NZ23X6.js} +2 -2
  149. package/dist/cli/chunks/{chunk-W7P7EOJ4.js → chunk-VAXQUD5G.js} +1 -1
  150. package/dist/cli/chunks/{chunk-EQG3JYSV.js → chunk-VMSO6DMF.js} +2 -2
  151. package/dist/cli/chunks/{chunk-6UO5YSNN.js → chunk-W3PPYNHF.js} +2 -2
  152. package/dist/cli/chunks/{chunk-FH6N2LKG.js → chunk-W6TJXK5Y.js} +2 -2
  153. package/dist/cli/chunks/{chunk-WJ7657IX.js → chunk-WEDVLKRB.js} +2 -2
  154. package/dist/cli/chunks/{chunk-N653RGT3.js → chunk-WI5AEB7Q.js} +2 -2
  155. package/dist/cli/chunks/{chunk-W5EKSBS4.js → chunk-WO4NSPLX.js} +2 -2
  156. package/dist/cli/chunks/{chunk-YH7VOLBP.js → chunk-WW6WUMS7.js} +2 -2
  157. package/dist/cli/chunks/{chunk-6OL2WES5.js → chunk-WYO5VN2L.js} +1 -1
  158. package/dist/cli/chunks/{chunk-PZK7O445.js → chunk-X5S5UEM6.js} +2 -2
  159. package/dist/cli/chunks/{chunk-NKWMTXBL.js → chunk-XHCCH7UC.js} +3 -3
  160. package/dist/cli/chunks/{chunk-GSC6JXDE.js → chunk-XKIFNKHV.js} +1 -1
  161. package/dist/cli/chunks/{chunk-FNPZINHV.js → chunk-XZ5Z56OP.js} +1 -1
  162. package/dist/cli/chunks/{chunk-6XLCFDIB.js → chunk-YQ6BK7QC.js} +2 -2
  163. package/dist/cli/chunks/{chunk-DNS37AHW.js → chunk-YUWUFYHK.js} +1 -1
  164. package/dist/cli/chunks/{chunk-YJSKT6G6.js → chunk-YZ2AGC7O.js} +1 -1
  165. package/dist/cli/chunks/{chunk-5TEPPW4J.js → chunk-Z56QTRRB.js} +2 -2
  166. package/dist/cli/chunks/{chunk-4MCO43NX.js → chunk-ZAOQIVHG.js} +4 -4
  167. package/dist/cli/chunks/{chunk-TMYGGYRY.js → chunk-ZF5JTQEE.js} +1 -1
  168. package/dist/cli/chunks/{chunk-HYWW4A2E.js → chunk-ZKXZTIVF.js} +2 -2
  169. package/dist/cli/chunks/{chunk-N4MNSEKY.js → chunk-ZP6ANUP7.js} +1 -1
  170. package/dist/cli/chunks/{chunk-5DFPAJ5O.js → chunk-ZURYZEHX.js} +2 -2
  171. package/dist/cli/chunks/{ci-JNBOR6FP.js → ci-NGMGB43T.js} +3 -3
  172. package/dist/cli/chunks/{ci-output-FYNKONEQ.js → ci-output-BMJABAEX.js} +2 -2
  173. package/dist/cli/chunks/{circuit-breaker-KOIXRDAD.js → circuit-breaker-GYD5CMJQ.js} +2 -2
  174. package/dist/cli/chunks/{claude-flow-setup-4CO7KHRN.js → claude-flow-setup-MMOYVBVD.js} +2 -2
  175. package/dist/cli/chunks/client-FUHNNK5O.js +2 -0
  176. package/dist/cli/chunks/{cline-installer-CMYAPKK5.js → cline-installer-B2SOZ44R.js} +2 -2
  177. package/dist/cli/chunks/{code-WFIAEP3H.js → code-V3FIRAXD.js} +3 -3
  178. package/dist/cli/chunks/{code-index-extractor-IYM6HWJN.js → code-index-extractor-CV6A756Z.js} +2 -2
  179. package/dist/cli/chunks/{codex-installer-DORVWRSU.js → codex-installer-EUC6J47Y.js} +2 -2
  180. package/dist/cli/chunks/{completions-54VM2MX2.js → completions-DQQIBAHR.js} +2 -2
  181. package/dist/cli/chunks/{complexity-analyzer-EGZDP5N4.js → complexity-analyzer-HPXMXP5I.js} +2 -2
  182. package/dist/cli/chunks/{continuedev-installer-4SDVDD4T.js → continuedev-installer-RCIYXH6V.js} +2 -2
  183. package/dist/cli/chunks/{copilot-installer-7FJQ7PCL.js → copilot-installer-VUH32SHF.js} +2 -2
  184. package/dist/cli/chunks/core-handlers-F7TLX4LM.js +2 -0
  185. package/dist/cli/chunks/cost-tracker-YLCKLOAL.js +2 -0
  186. package/dist/cli/chunks/{coverage-DI5LDRJ7.js → coverage-IVKDV236.js} +3 -3
  187. package/dist/cli/chunks/cross-domain-router-EGWPY67O.js +2 -0
  188. package/dist/cli/chunks/{cursor-installer-RTSZP5YD.js → cursor-installer-B42FN62K.js} +2 -2
  189. package/dist/cli/chunks/{daemon-SP3APEZY.js → daemon-DECQRQII.js} +3 -3
  190. package/dist/cli/chunks/{daemon-LM7LETPV.js → daemon-IPTOSCHM.js} +4 -4
  191. package/dist/cli/chunks/{dag-attention-scheduler-C3QBODFE.js → dag-attention-scheduler-RY7CDYSC.js} +2 -2
  192. package/dist/cli/chunks/{detect-I4RBUFFJ.js → detect-NW53BMJN.js} +2 -2
  193. package/dist/cli/chunks/{dist-node-PT6TCBCO.js → dist-node-LE6KHXAB.js} +2 -2
  194. package/dist/cli/chunks/{domain-handler-MJMTMB5X.js → domain-handler-JGXFT4LW.js} +2 -2
  195. package/dist/cli/chunks/{domain-plugins-Y4A2WYJW.js → domain-plugins-GY3RYKKK.js} +2 -2
  196. package/dist/cli/chunks/{domain-transfer-DUO42TLA.js → domain-transfer-CGBRXNTC.js} +2 -2
  197. package/dist/cli/chunks/dream-V4QN6OF5.js +2 -0
  198. package/dist/cli/chunks/{embed-and-insert-pattern-66ZQK4AI.js → embed-and-insert-pattern-65H4XHWR.js} +2 -2
  199. package/dist/cli/chunks/{eval-NQ7H27UF.js → eval-YPYIZQUR.js} +2 -2
  200. package/dist/cli/chunks/{experience-capture-middleware-MHEYPTIG.js → experience-capture-middleware-4JXVF5PL.js} +3 -3
  201. package/dist/cli/chunks/{fast-paths-YYDGN6ZC.js → fast-paths-HYQTAF2S.js} +2 -2
  202. package/dist/cli/chunks/{feature-flags-FY4DOYS2.js → feature-flags-HNSAFFX2.js} +2 -2
  203. package/dist/cli/chunks/{feature-flags-YFGUORHY.js → feature-flags-YACUH6OW.js} +2 -2
  204. package/dist/cli/chunks/{file-discovery-TOMDY7TK.js → file-discovery-R73BYEXB.js} +2 -2
  205. package/dist/cli/chunks/{fleet-MO3UCWB4.js → fleet-6M3BP4OO.js} +3 -3
  206. package/dist/cli/chunks/{gnn-wrapper-SLW4PPXQ.js → gnn-wrapper-QLD7KHXV.js} +2 -2
  207. package/dist/cli/chunks/{heartbeat-handler-36RFCP4E.js → heartbeat-handler-EZP333X4.js} +4 -4
  208. package/dist/cli/chunks/heartbeat-scheduler-3N3L6CRM.js +2 -0
  209. package/dist/cli/chunks/hnsw-adapter-2BXJYDXI.js +2 -0
  210. package/dist/cli/chunks/hnsw-index-2DLI5OVO.js +2 -0
  211. package/dist/cli/chunks/{hnsw-legacy-bridge-BJLWBKHE.js → hnsw-legacy-bridge-47CUCSAU.js} +2 -2
  212. package/dist/cli/chunks/{hnswlib-node-RAYNVJCJ.js → hnswlib-node-SVNYDJZH.js} +2 -2
  213. package/dist/cli/chunks/{hooks-JMHFWVEQ.js → hooks-6V5LMWP6.js} +10 -10
  214. package/dist/cli/chunks/hybrid-backend-OW4J65YH.js +2 -0
  215. package/dist/cli/chunks/{hypergraph-engine-JUDBKPOX.js → hypergraph-engine-L2FOBIFF.js} +2 -2
  216. package/dist/cli/chunks/{hypergraph-handler-AXTWXOZU.js → hypergraph-handler-DU6Z57EE.js} +3 -3
  217. package/dist/cli/chunks/impact-analyzer-ZH5I2RG6.js +2 -0
  218. package/dist/cli/chunks/{init-handler-PARJNZFF.js → init-handler-HETPWU67.js} +6 -6
  219. package/dist/cli/chunks/init-wizard-NIKM3ZOK.js +2 -0
  220. package/dist/cli/chunks/kernel-2EOSVM6X.js +2 -0
  221. package/dist/cli/chunks/{kilocode-installer-22HX2E4V.js → kilocode-installer-NHKYGJ7Q.js} +2 -2
  222. package/dist/cli/chunks/{kiro-installer-OVPBLY7J.js → kiro-installer-24UK6GGR.js} +2 -2
  223. package/dist/cli/chunks/knowledge-graph-D3BPWNNO.js +2 -0
  224. package/dist/cli/chunks/{learning-DWXPJ3R6.js → learning-QLVRZNHT.js} +3 -3
  225. package/dist/cli/chunks/{llm-router-7PPVVKNG.js → llm-router-XRMI2VMG.js} +4 -4
  226. package/dist/cli/chunks/llm-router-service-TJPPZFUN.js +2 -0
  227. package/dist/cli/chunks/{load-VI5XHNZA.js → load-W5UWL5C7.js} +2 -2
  228. package/dist/cli/chunks/load-test-RFT7IDOL.js +2 -0
  229. package/dist/cli/chunks/{mcp-UW4Z3Z64.js → mcp-N7ALQ4BL.js} +2 -2
  230. package/dist/cli/chunks/{memory-UD2KCB5M.js → memory-WV52DLSA.js} +5 -5
  231. package/dist/cli/chunks/memory-backend-O2O4CFKZ.js +2 -0
  232. package/dist/cli/chunks/memory-handlers-DAEGUDBD.js +2 -0
  233. package/dist/cli/chunks/{multi-model-executor-5O4WWU5Z.js → multi-model-executor-3FVTZCSO.js} +2 -2
  234. package/dist/cli/chunks/{opencode-installer-DTRFDGM7.js → opencode-installer-NTPWGHUW.js} +2 -2
  235. package/dist/cli/chunks/{orchestrator-ENJIKV6Z.js → orchestrator-ORGJ6VAA.js} +85 -26
  236. package/dist/cli/chunks/pattern-null-store-TUBNXS34.js +2 -0
  237. package/dist/cli/chunks/{pattern-usage-recorder-QPNIU5PD.js → pattern-usage-recorder-WWXHUH5U.js} +2 -2
  238. package/dist/cli/chunks/{pipeline-G3JYDNPE.js → pipeline-ZOKZFXTH.js} +2 -2
  239. package/dist/cli/chunks/{platform-P4WR6N3D.js → platform-CDNL322F.js} +2 -2
  240. package/dist/cli/chunks/{plugin-C7763Q5W.js → plugin-ZVLFNZZ4.js} +2 -2
  241. package/dist/cli/chunks/{prime-radiant-advanced-wasm-DH6R3XSZ.js → prime-radiant-advanced-wasm-FVJDU2JY.js} +2 -2
  242. package/dist/cli/chunks/{project-root-7DTXDLEG.js → project-root-UCHQH3QL.js} +2 -2
  243. package/dist/cli/chunks/protocol-executor-6FQTTO3Y.js +2 -0
  244. package/dist/cli/chunks/{protocol-handler-EODULGOZ.js → protocol-handler-4YBN5R23.js} +2 -2
  245. package/dist/cli/chunks/{prove-A7G3SIOF.js → prove-BHDHY664.js} +2 -2
  246. package/dist/cli/chunks/qe-reasoning-bank-TKPND56C.js +2 -0
  247. package/dist/cli/chunks/{quality-JTURFUX3.js → quality-46AK277P.js} +2 -2
  248. package/dist/cli/chunks/{quality-gate-M2EI754V.js → quality-gate-WANE7TCN.js} +3 -3
  249. package/dist/cli/chunks/queen-coordinator-DWMXLPJG.js +2 -0
  250. package/dist/cli/chunks/{real-embeddings-DI7JMCG7.js → real-embeddings-56MNGJGJ.js} +2 -2
  251. package/dist/cli/chunks/{ref-validation-MSFMNKDR.js → ref-validation-S7UWXQIP.js} +2 -2
  252. package/dist/cli/chunks/{roocode-installer-XIMFFHOH.js → roocode-installer-TEYOQYL6.js} +2 -2
  253. package/dist/cli/chunks/router-QIMUYRCC.js +2 -0
  254. package/dist/cli/chunks/routing-feedback-4OH5ZNF4.js +2 -0
  255. package/dist/cli/chunks/{routing-handler-MCDKNBQW.js → routing-handler-KDTLMRWD.js} +2 -2
  256. package/dist/cli/chunks/{ruvector-commands-OBSYAK2X.js → ruvector-commands-AOUDXCYE.js} +2 -2
  257. package/dist/cli/chunks/rvf-dual-writer-S6JBZL54.js +2 -0
  258. package/dist/cli/chunks/rvf-migration-adapter-TSGMLMYR.js +2 -0
  259. package/dist/cli/chunks/{rvf-migration-coordinator-4DTRIHY6.js → rvf-migration-coordinator-V74MVBHS.js} +2 -2
  260. package/dist/cli/chunks/rvf-native-adapter-Z7QOW47S.js +2 -0
  261. package/dist/cli/chunks/{rvf-store-integrity-CWAVMRC4.js → rvf-store-integrity-QI47Y354.js} +2 -2
  262. package/dist/cli/chunks/safe-db-JLOVBJNC.js +2 -0
  263. package/dist/cli/chunks/schedule-IM6XOBGR.js +2 -0
  264. package/dist/cli/chunks/scheduler-XL2SVVK5.js +2 -0
  265. package/dist/cli/chunks/{security-74TWSO74.js → security-SN6MWOJT.js} +3 -3
  266. package/dist/cli/chunks/{shared-rvf-adapter-ZHNAGE5H.js → shared-rvf-adapter-2LB56LP4.js} +2 -2
  267. package/dist/cli/chunks/{shared-rvf-dual-writer-BS5WAVCC.js → shared-rvf-dual-writer-WU7PFKQM.js} +2 -2
  268. package/dist/cli/chunks/sqlite-persistence-LWMIIC4U.js +2 -0
  269. package/dist/cli/chunks/{standalone-memory-3HGHTE7S.js → standalone-memory-F6FSRFWC.js} +2 -2
  270. package/dist/cli/chunks/{status-handler-XWEEGNGH.js → status-handler-DHD5MS4G.js} +2 -2
  271. package/dist/cli/chunks/{structural-health-TB5JGMVS.js → structural-health-P6HPSQMR.js} +2 -2
  272. package/dist/cli/chunks/{sync-T4VLBURM.js → sync-LISJGDSE.js} +2 -2
  273. package/dist/cli/chunks/sync-SNAXAVCN.js +2 -0
  274. package/dist/cli/chunks/{task-handler-RQ65QKXX.js → task-handler-ZT44NT5Z.js} +2 -2
  275. package/dist/cli/chunks/{task-handlers-USYWJ4H2.js → task-handlers-R6DQ5324.js} +3 -3
  276. package/dist/cli/chunks/test-MUFHR4JQ.js +34 -0
  277. package/dist/cli/chunks/test-scheduling-TAUSLZJP.js +15 -0
  278. package/dist/cli/chunks/token-bootstrap-UGRH7OPU.js +2 -0
  279. package/dist/cli/chunks/{token-usage-CISTB5K5.js → token-usage-IX65ECBR.js} +2 -2
  280. package/dist/cli/chunks/{transformers-C7LV763N.js → transformers-QKPSVW2W.js} +2 -2
  281. package/dist/cli/chunks/{tree-sitter-wasm-parser-P26JC3YV.js → tree-sitter-wasm-parser-Z7PPA2JO.js} +2 -2
  282. package/dist/cli/chunks/{types-YMVMKIWB.js → types-ULNNGGGH.js} +2 -2
  283. package/dist/cli/chunks/unified-memory-F5IJY7W7.js +2 -0
  284. package/dist/cli/chunks/unified-memory-hnsw-C3WAMAQL.js +2 -0
  285. package/dist/cli/chunks/unified-persistence-EWXXOTCB.js +2 -0
  286. package/dist/cli/chunks/{upgrade-U2REOPAW.js → upgrade-ECI3YUYA.js} +2 -2
  287. package/dist/cli/chunks/{validate-NDTCKN7P.js → validate-3JKRUW2S.js} +2 -2
  288. package/dist/cli/chunks/{validate-swarm-OJUGVH5Q.js → validate-swarm-LZWANCIE.js} +2 -2
  289. package/dist/cli/chunks/visual-security-CKLTAIAB.js +2 -0
  290. package/dist/cli/chunks/{web-tree-sitter-2CLRSA7K.js → web-tree-sitter-N5V4A6XG.js} +2 -2
  291. package/dist/cli/chunks/{windsurf-installer-DSUJJ4PG.js → windsurf-installer-5TBM5B3C.js} +2 -2
  292. package/dist/cli/chunks/{witness-chain-TEGL4ZWB.js → witness-chain-MFP3HBWQ.js} +2 -2
  293. package/dist/cli/chunks/witness-chain-Z6LWFEZS.js +2 -0
  294. package/dist/cli/chunks/witness-chain-repair-5QWRFVUK.js +2 -0
  295. package/dist/cli/chunks/{witness-chain-verifier-SPXKFC67.js → witness-chain-verifier-SRAT7LVY.js} +2 -2
  296. package/dist/cli/chunks/{witness-key-manager-EALOV4OV.js → witness-key-manager-FYZXQTLJ.js} +2 -2
  297. package/dist/cli/chunks/{workflow-PYI6HCAG.js → workflow-M7TUYYXY.js} +5 -5
  298. package/dist/cli/chunks/workflow-orchestrator-OFTAR2NA.js +2 -0
  299. package/dist/cli/chunks/wrappers-COU73OQ6.js +2 -0
  300. package/dist/cli/commands/test.js +30 -12
  301. package/dist/cli/commands/workflow.js +3 -0
  302. package/dist/cli/scheduler/persistent-scheduler.d.ts +2 -0
  303. package/dist/cli/scheduler/persistent-scheduler.js +12 -2
  304. package/dist/cli/utils/generated-test-writer.d.ts +35 -0
  305. package/dist/cli/utils/generated-test-writer.js +44 -0
  306. package/dist/context/compiler.js +4 -1
  307. package/dist/coordination/consensus/providers/ollama-provider.js +16 -27
  308. package/dist/coordination/consensus/providers/openrouter-provider.js +13 -24
  309. package/dist/coordination/handlers/test-execution-handlers.js +4 -2
  310. package/dist/coordination/protocols/defect-investigation.js +4 -1
  311. package/dist/domains/code-intelligence/services/metric-collector/listing-process-owner.d.ts +3 -0
  312. package/dist/domains/code-intelligence/services/metric-collector/listing-process-owner.js +57 -0
  313. package/dist/domains/code-intelligence/services/metric-collector/test-counter.js +127 -39
  314. package/dist/domains/coverage-analysis/services/gap-detector.js +3 -1
  315. package/dist/domains/learning-optimization/services/learning-coordinator.js +4 -2
  316. package/dist/domains/test-execution/services/flaky-detector.js +8 -2
  317. package/dist/domains/test-execution/services/retry-handler.js +23 -20
  318. package/dist/domains/test-execution/services/test-executor.js +5 -2
  319. package/dist/domains/test-generation/services/test-generator.js +5 -2
  320. package/dist/governance/compliance-reporter.js +8 -7
  321. package/dist/governance/proof-envelope-integration.js +3 -1
  322. package/dist/init/phases/07-hooks.js +30 -4
  323. package/dist/init/phases/10-workers.js +42 -6
  324. package/dist/integrations/agentic-flow/onnx-embeddings/embedding-generator.d.ts +4 -1
  325. package/dist/integrations/agentic-flow/onnx-embeddings/embedding-generator.js +6 -2
  326. package/dist/integrations/browser/qe-dashboard/wasm-vector-store.js +2 -1
  327. package/dist/integrations/ruvector/coverage-router.d.ts +3 -1
  328. package/dist/integrations/ruvector/coverage-router.js +7 -6
  329. package/dist/integrations/ruvector/diff-risk-classifier.js +5 -4
  330. package/dist/integrations/ruvector/rvf-dual-writer.js +10 -1
  331. package/dist/integrations/vibium/runtime.js +2 -6
  332. package/dist/learning/dream/dream-engine.d.ts +5 -0
  333. package/dist/learning/dream/dream-engine.js +20 -3
  334. package/dist/learning/embedding-space.d.ts +18 -0
  335. package/dist/learning/embedding-space.js +33 -0
  336. package/dist/learning/rvf-pattern-store.js +19 -5
  337. package/dist/mcp/bundle.js +442 -441
  338. package/dist/mcp/handlers/domain-handler-configs.d.ts +42 -0
  339. package/dist/mcp/handlers/handler-factory.js +3 -1
  340. package/dist/mcp/handlers/save-results-option.d.ts +62 -0
  341. package/dist/mcp/handlers/save-results-option.js +35 -0
  342. package/dist/mcp/protocol-server.js +22 -11
  343. package/dist/mcp/security/rate-limiter.d.ts +8 -1
  344. package/dist/mcp/security/rate-limiter.js +33 -4
  345. package/dist/mcp/services/session-resume.js +11 -0
  346. package/dist/mcp/services/session-store.d.ts +31 -2
  347. package/dist/mcp/services/session-store.js +95 -16
  348. package/dist/mcp/services/session-write-buffer.d.ts +55 -0
  349. package/dist/mcp/services/session-write-buffer.js +144 -0
  350. package/dist/mcp/types.d.ts +18 -0
  351. package/dist/memory/crdt/convergence-tracker.js +14 -24
  352. package/dist/memory/crdt/crdt-store.js +15 -0
  353. package/dist/memory/crdt/g-counter.js +10 -8
  354. package/dist/memory/crdt/lww-register.js +3 -3
  355. package/dist/memory/crdt/or-set.js +18 -0
  356. package/dist/planning/goap-planner.js +18 -10
  357. package/dist/shared/embeddings/embedding-cache.d.ts +3 -3
  358. package/dist/shared/embeddings/embedding-cache.js +8 -8
  359. package/dist/shared/embeddings/nomic-embedder.js +9 -6
  360. package/dist/shared/embeddings/ollama-client.d.ts +1 -1
  361. package/dist/shared/embeddings/ollama-client.js +30 -31
  362. package/dist/shared/git/git-analyzer.d.ts +4 -1
  363. package/dist/shared/git/git-analyzer.js +9 -4
  364. package/dist/shared/llm/cache.js +1 -1
  365. package/dist/shared/llm/cost-tracker.js +8 -6
  366. package/dist/shared/llm/providers/azure-openai.js +5 -21
  367. package/dist/shared/llm/providers/bedrock.js +5 -21
  368. package/dist/shared/llm/providers/claude.js +5 -21
  369. package/dist/shared/llm/providers/cognitum.js +5 -17
  370. package/dist/shared/llm/providers/gemini.js +9 -23
  371. package/dist/shared/llm/providers/ollama.js +5 -21
  372. package/dist/shared/llm/providers/openai.js +5 -21
  373. package/dist/shared/llm/providers/openrouter.js +9 -23
  374. package/dist/shared/llm/providers/response-deadline.d.ts +3 -0
  375. package/dist/shared/llm/providers/response-deadline.js +100 -0
  376. package/dist/shared/llm/spend-ledger.js +3 -2
  377. package/dist/shared/metrics/code-metrics.d.ts +1 -0
  378. package/dist/shared/metrics/code-metrics.js +3 -44
  379. package/dist/shared/metrics/cognitive-complexity.d.ts +17 -0
  380. package/dist/shared/metrics/cognitive-complexity.js +108 -0
  381. package/dist/shared/npm-cli-invocation.d.ts +21 -0
  382. package/dist/shared/npm-cli-invocation.js +28 -0
  383. package/dist/shared/optional-module.js +24 -0
  384. package/dist/shared/test-runner-args.d.ts +42 -0
  385. package/dist/shared/test-runner-args.js +74 -0
  386. package/dist/shared/utils/safe-record.d.ts +18 -0
  387. package/dist/shared/utils/safe-record.js +28 -0
  388. package/dist/test-scheduling/executors/vitest-executor.js +23 -5
  389. package/dist/workers/quality-daemon/git-watcher.js +5 -0
  390. package/package.json +1 -1
  391. package/dist/adapters/ag-ui/json-patch-utils.d.ts +0 -136
  392. package/dist/adapters/ag-ui/json-patch-utils.js +0 -575
  393. package/dist/cli/chunks/adapter-EUIELRLI.js +0 -2
  394. package/dist/cli/chunks/aqe-learning-engine-LXRKHASR.js +0 -2
  395. package/dist/cli/chunks/base-4DSLX33Y.js +0 -2
  396. package/dist/cli/chunks/browser-workflow-AWCQLQZK.js +0 -2
  397. package/dist/cli/chunks/chunk-E2QHUMCR.js +0 -2
  398. package/dist/cli/chunks/chunk-I7ECEOFV.js +0 -2
  399. package/dist/cli/chunks/chunk-LW4BCFIV.js +0 -15
  400. package/dist/cli/chunks/chunk-QJGKL67W.js +0 -54
  401. package/dist/cli/chunks/chunk-RLQ4MYB6.js +0 -3
  402. package/dist/cli/chunks/chunk-X43HA3RF.js +0 -14
  403. package/dist/cli/chunks/chunk-Z3K4JZXQ.js +0 -4
  404. package/dist/cli/chunks/client-UJVHZXNQ.js +0 -2
  405. package/dist/cli/chunks/core-handlers-AFXZOSH3.js +0 -2
  406. package/dist/cli/chunks/cost-tracker-D6YSKTQC.js +0 -2
  407. package/dist/cli/chunks/cross-domain-router-ZLNVKLIR.js +0 -2
  408. package/dist/cli/chunks/dream-4OPJXXEG.js +0 -2
  409. package/dist/cli/chunks/heartbeat-scheduler-J5KLHO6C.js +0 -2
  410. package/dist/cli/chunks/hnsw-adapter-56P6XSFR.js +0 -2
  411. package/dist/cli/chunks/hnsw-index-GFZ6XCEW.js +0 -2
  412. package/dist/cli/chunks/hybrid-backend-TUBWJDDN.js +0 -2
  413. package/dist/cli/chunks/impact-analyzer-FXVGKS6B.js +0 -2
  414. package/dist/cli/chunks/init-wizard-LK73HQ7W.js +0 -2
  415. package/dist/cli/chunks/kernel-TCZDKRSI.js +0 -2
  416. package/dist/cli/chunks/knowledge-graph-TWMB2GH2.js +0 -2
  417. package/dist/cli/chunks/llm-router-service-HPDH3P77.js +0 -2
  418. package/dist/cli/chunks/load-test-HTYOUYSN.js +0 -2
  419. package/dist/cli/chunks/memory-backend-X5BE2MPK.js +0 -2
  420. package/dist/cli/chunks/memory-handlers-SQXMFX5X.js +0 -2
  421. package/dist/cli/chunks/pattern-null-store-OCQGQZU6.js +0 -2
  422. package/dist/cli/chunks/protocol-executor-CYEQHQCL.js +0 -2
  423. package/dist/cli/chunks/qe-reasoning-bank-GSTA5WJ4.js +0 -2
  424. package/dist/cli/chunks/queen-coordinator-Y2Q5RQL7.js +0 -2
  425. package/dist/cli/chunks/router-4QB5L4IW.js +0 -2
  426. package/dist/cli/chunks/routing-feedback-YBVHJY5L.js +0 -2
  427. package/dist/cli/chunks/rvf-dual-writer-T5B456SW.js +0 -2
  428. package/dist/cli/chunks/rvf-migration-adapter-2O2NL7ZF.js +0 -2
  429. package/dist/cli/chunks/rvf-native-adapter-RDB3GWTW.js +0 -2
  430. package/dist/cli/chunks/safe-db-YXVMLFU4.js +0 -2
  431. package/dist/cli/chunks/schedule-K6XWCCSK.js +0 -2
  432. package/dist/cli/chunks/scheduler-4MW22D6Q.js +0 -2
  433. package/dist/cli/chunks/sqlite-persistence-UVDHUSAU.js +0 -2
  434. package/dist/cli/chunks/sync-LSPNSVDI.js +0 -2
  435. package/dist/cli/chunks/test-M2XTKD62.js +0 -33
  436. package/dist/cli/chunks/test-scheduling-GYXJQHJL.js +0 -15
  437. package/dist/cli/chunks/token-bootstrap-OTEMRUFR.js +0 -2
  438. package/dist/cli/chunks/unified-memory-UUK77NSE.js +0 -2
  439. package/dist/cli/chunks/unified-memory-hnsw-JOUE6WNF.js +0 -2
  440. package/dist/cli/chunks/unified-persistence-3DRJGNQE.js +0 -2
  441. package/dist/cli/chunks/visual-security-EM7FQG5X.js +0 -2
  442. package/dist/cli/chunks/witness-chain-7NZ6IIUN.js +0 -2
  443. package/dist/cli/chunks/witness-chain-repair-ZWS5WXFL.js +0 -2
  444. package/dist/cli/chunks/workflow-orchestrator-3C3S5FIM.js +0 -2
  445. package/dist/cli/chunks/wrappers-NXJHGK3W.js +0 -2
@@ -1,5 +1,5 @@
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.2");process.exit(0)}
2
- import{d as W,f as it}from"./chunk-QZNFZ5IQ.js";import{b as I,d as de}from"./chunk-URWT3EQT.js";import{a as Y,c as ot}from"./chunk-IM67YHDK.js";import{a as le,d as F,e as ge,f as pe}from"./chunk-2Q4Y3VQ6.js";import{a as X,b as ue,e as st}from"./chunk-ZIKH7U5A.js";import{a as _e,c as me,d as at}from"./chunk-YH7VOLBP.js";import{a as tt}from"./chunk-I7ECEOFV.js";import{e as Te}from"./chunk-CV7E627D.js";import{a as O,e as ce}from"./chunk-3KTAMNKI.js";import{a as H,b as y,c as nt}from"./chunk-MYDZBABD.js";import{a as Ee,b as rt}from"./chunk-W5EKSBS4.js";import{b as R,d as et}from"./chunk-D75HDHX3.js";import{createHash as Se}from"node:crypto";function Tt(n){let e=Buffer.alloc(8);return e.writeBigUInt64LE(BigInt(n)),e}function Et(n){return typeof n=="string"?Buffer.from(n,"utf8"):n instanceof Uint8Array?Buffer.from(n):Buffer.from($(n),"utf8")}function $(n){return n===null||typeof n!="object"?JSON.stringify(n)??"null":Array.isArray(n)?`[${n.map($).join(",")}]`:`{${Object.keys(n).sort().map(t=>`${JSON.stringify(t)}:${$(n[t])}`).join(",")}}`}function he(...n){let e=Se("sha256");for(let t of n)e.update(t);return e.digest()}function Ne(n,e,t){return he(ct,n,e,Tt(t))}var ct,fe,A,Re=R(()=>{"use strict";ct=Buffer.from("ruvector:chain:"),fe=Se("sha256").update("ruvector-proof-gate-v1").digest();A=class n{seq=0;prev=fe;chain=[];payloadHashes=[];admit(e){let t=he(Et(e)),r=Ne(this.prev,t,this.seq);this.prev=r,this.chain.push(r),this.payloadHashes.push(t);let i={sequence:this.seq,payloadHash:t.toString("hex"),chainCommitment:r.toString("hex")};return this.seq+=1,i}verifyReceipt(e){return e.sequence>=0&&e.sequence<this.chain.length&&this.chain[e.sequence].toString("hex")===e.chainCommitment}chainRoot(){return this.prev.toString("hex")}get length(){return this.seq}get isEmpty(){return this.seq===0}verifyIntegrity(){if(this.chain.length!==this.payloadHashes.length)return!1;let e=fe;for(let t=0;t<this.chain.length;t++){if(!Ne(e,this.payloadHashes[t],t).equals(this.chain[t]))return!1;e=this.chain[t]}return e.equals(this.prev)}toJSON(){return{seq:this.seq,head:this.prev.toString("hex"),chain:this.chain.map(e=>e.toString("hex")),payloadHashes:this.payloadHashes.map(e=>e.toString("hex"))}}static fromJSON(e){let t=new n;t.seq=e.seq,t.prev=Buffer.from(e.head,"hex");for(let r of e.chain)t.chain.push(Buffer.from(r,"hex"));for(let r of e.payloadHashes)t.payloadHashes.push(Buffer.from(r,"hex"));return t}}});function v(n){if(!K.has(n))throw new Error(`Invalid table name: "${n}" is not in the allowlist`);return n}function It(n){let e=n.split(".");if(e.length>2)throw new Error(`Invalid SQL identifier: "${n}" has too many parts (max: schema.table)`);for(let t of e)if(!Le.test(t))throw new Error(`Invalid SQL identifier: "${n}" \u2014 part "${t}" does not match pattern ${Le}`);return n}var K,Le,V=R(()=>{"use strict";K=new Set(["schema_version","kv_store","vectors","rl_q_values","goap_goals","goap_actions","goap_plans","goap_plan_signatures","concept_nodes","concept_edges","dream_cycles","dream_insights","qe_patterns","qe_pattern_embeddings","qe_pattern_usage","qe_trajectories","embeddings","execution_results","executed_steps","mincut_snapshots","mincut_history","mincut_weak_vertices","mincut_alerts","mincut_healing_actions","mincut_observations","sona_patterns","sona_fisher_matrices","test_outcomes","routing_outcomes","coverage_sessions","patterns","hypergraph_nodes","hypergraph_edges","hypergraph_vertices","hypergraph_hyperedges","hypergraph_edge_vertices","hypergraph_vertex_properties","hypergraph_edge_properties","captured_experiences","experience_applications","witness_chain","witness_chain_receipts","witness_chain_archive","trajectories","trajectory_steps","pattern_evolution_events","pattern_relationships","pattern_versions","learning_daily_snapshots","metrics_outcomes","experience_consolidation_log","qe_pattern_reuse","learning_evidence_manifests","learning_evidence_segments","learning_segment_edges","learning_evidence_admissions","pattern_manifest_lineage","pattern_segment_lineage","qe_agent_co_execution"]);Le=/^[a-z_][a-z0-9_]{0,62}$/});function Ce(n){n.exec(Ie),n.exec(`
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.4");process.exit(0)}
2
+ import{d as W,f as Tt}from"./chunk-FRBCX46J.js";import{b as I,d as ge}from"./chunk-S5D3HCGN.js";import{a as K,b as $,c as V,d as Ne,e as dt}from"./chunk-6HTO4BLV.js";import{a as Y,c as Et}from"./chunk-HCDTLV5J.js";import{a as _e,d as F,e as me,f as fe}from"./chunk-RJ5CZ7B6.js";import{a as X,b as pe,e as ct}from"./chunk-NIJMLEAX.js";import{a as Se,c as he,d as ut}from"./chunk-WW6WUMS7.js";import{a as it}from"./chunk-5XXLWJU7.js";import{e as ue}from"./chunk-LXYTC62V.js";import{a as O,e as de}from"./chunk-JL3TI43V.js";import{a as H,b as y,c as ot}from"./chunk-O7TMY4GS.js";import{a as le,b as at}from"./chunk-WO4NSPLX.js";import{b as R,d as st}from"./chunk-5H7MR6HP.js";import{createHash as Ie}from"node:crypto";function gt(n){let t=Buffer.alloc(8);return t.writeBigUInt64LE(BigInt(n)),t}function pt(n){return typeof n=="string"?Buffer.from(n,"utf8"):n instanceof Uint8Array?Buffer.from(n):Buffer.from(Q(n),"utf8")}function Q(n){return n===null||typeof n!="object"?JSON.stringify(n)??"null":Array.isArray(n)?`[${n.map(Q).join(",")}]`:`{${Object.keys(n).sort().map(e=>`${JSON.stringify(e)}:${Q(n[e])}`).join(",")}}`}function Ce(...n){let t=Ie("sha256");for(let e of n)t.update(e);return t.digest()}function Le(n,t,e){return Ce(lt,n,t,gt(e))}var lt,Re,A,Oe=R(()=>{"use strict";lt=Buffer.from("ruvector:chain:"),Re=Ie("sha256").update("ruvector-proof-gate-v1").digest();A=class n{seq=0;prev=Re;chain=[];payloadHashes=[];admit(t){let e=Ce(pt(t)),r=Le(this.prev,e,this.seq);this.prev=r,this.chain.push(r),this.payloadHashes.push(e);let o={sequence:this.seq,payloadHash:e.toString("hex"),chainCommitment:r.toString("hex")};return this.seq+=1,o}verifyReceipt(t){return t.sequence>=0&&t.sequence<this.chain.length&&this.chain[t.sequence].toString("hex")===t.chainCommitment}chainRoot(){return this.prev.toString("hex")}get length(){return this.seq}get isEmpty(){return this.seq===0}verifyIntegrity(){if(this.chain.length!==this.payloadHashes.length)return!1;let t=Re;for(let e=0;e<this.chain.length;e++){if(!Le(t,this.payloadHashes[e],e).equals(this.chain[e]))return!1;t=this.chain[e]}return t.equals(this.prev)}toJSON(){return{seq:this.seq,head:this.prev.toString("hex"),chain:this.chain.map(t=>t.toString("hex")),payloadHashes:this.payloadHashes.map(t=>t.toString("hex"))}}static fromJSON(t){let e=new n;e.seq=t.seq,e.prev=Buffer.from(t.head,"hex");for(let r of t.chain)e.chain.push(Buffer.from(r,"hex"));for(let r of t.payloadHashes)e.payloadHashes.push(Buffer.from(r,"hex"));return e}}});function v(n){if(!J.has(n))throw new Error(`Invalid table name: "${n}" is not in the allowlist`);return n}function bt(n){let t=n.split(".");if(t.length>2)throw new Error(`Invalid SQL identifier: "${n}" has too many parts (max: schema.table)`);for(let e of t)if(!Ae.test(e))throw new Error(`Invalid SQL identifier: "${n}" \u2014 part "${e}" does not match pattern ${Ae}`);return n}var J,Ae,Z=R(()=>{"use strict";J=new Set(["schema_version","kv_store","vectors","rl_q_values","goap_goals","goap_actions","goap_plans","goap_plan_signatures","concept_nodes","concept_edges","dream_cycles","dream_insights","qe_patterns","qe_pattern_embeddings","qe_pattern_usage","qe_trajectories","embeddings","execution_results","executed_steps","mincut_snapshots","mincut_history","mincut_weak_vertices","mincut_alerts","mincut_healing_actions","mincut_observations","sona_patterns","sona_fisher_matrices","test_outcomes","routing_outcomes","coverage_sessions","patterns","hypergraph_nodes","hypergraph_edges","hypergraph_vertices","hypergraph_hyperedges","hypergraph_edge_vertices","hypergraph_vertex_properties","hypergraph_edge_properties","captured_experiences","experience_applications","witness_chain","witness_chain_receipts","witness_chain_archive","trajectories","trajectory_steps","pattern_evolution_events","pattern_relationships","pattern_versions","learning_daily_snapshots","metrics_outcomes","experience_consolidation_log","qe_pattern_reuse","learning_evidence_manifests","learning_evidence_segments","learning_segment_edges","learning_evidence_admissions","pattern_manifest_lineage","pattern_segment_lineage","qe_agent_co_execution"]);Ae=/^[a-z_][a-z0-9_]{0,62}$/});function be(n){n.exec(ve),n.exec(`
3
3
  INSERT OR IGNORE INTO learning_evidence_manifests (
4
4
  id, trajectory_id, trajectory_hash, manifest_hash, task_family,
5
5
  outcome, oracle_refs_json, source_kind, process_signals_json
@@ -23,7 +23,7 @@ import{d as W,f as it}from"./chunk-QZNFZ5IQ.js";import{b as I,d as de}from"./chu
23
23
  pattern_id, manifest_id, use_kind
24
24
  )
25
25
  SELECT id, 'legacy-pattern:' || id, 'legacy-context' FROM qe_patterns;
26
- `)}var Ie,Q=R(()=>{"use strict";Ie=`
26
+ `)}var ve,ee=R(()=>{"use strict";ve=`
27
27
  CREATE TABLE IF NOT EXISTS learning_evidence_manifests (
28
28
  id TEXT PRIMARY KEY,
29
29
  trajectory_id TEXT,
@@ -131,13 +131,13 @@ import{d as W,f as it}from"./chunk-QZNFZ5IQ.js";import{b as I,d as de}from"./chu
131
131
  BEGIN SELECT RAISE(ABORT, 'learning evidence admissions are append-only'); END;
132
132
  CREATE TRIGGER IF NOT EXISTS learning_admissions_no_delete BEFORE DELETE ON learning_evidence_admissions
133
133
  BEGIN SELECT RAISE(ABORT, 'learning evidence admissions are append-only'); END;
134
- `});var x,Oe,Ae,ve,be,J,De,Z,b,ee,ye,Xe,Ue,Fe,xe,we,Me,te=R(()=>{"use strict";it();ot();Q();x=13,Oe=`
134
+ `});var x,De,ye,Xe,Ue,te,Fe,ne,b,re,xe,we,Me,Ge,Pe,ke,qe,se=R(()=>{"use strict";Tt();Et();ee();x=13,De=`
135
135
  CREATE TABLE IF NOT EXISTS schema_version (
136
136
  id INTEGER PRIMARY KEY CHECK (id = 1),
137
137
  version INTEGER NOT NULL,
138
138
  migrated_at TEXT DEFAULT (datetime('now'))
139
139
  );
140
- `,Ae=`
140
+ `,ye=`
141
141
  -- Key-Value Store (v2 compatible - same schema as HybridBackend)
142
142
  CREATE TABLE IF NOT EXISTS kv_store (
143
143
  key TEXT NOT NULL,
@@ -149,7 +149,7 @@ import{d as W,f as it}from"./chunk-QZNFZ5IQ.js";import{b as I,d as de}from"./chu
149
149
  );
150
150
  CREATE INDEX IF NOT EXISTS idx_kv_namespace ON kv_store(namespace);
151
151
  CREATE INDEX IF NOT EXISTS idx_kv_expires ON kv_store(expires_at) WHERE expires_at IS NOT NULL;
152
- `,ve=`
152
+ `,Xe=`
153
153
  -- Vector Embeddings (new in v3 - replaces in-memory AgentDB)
154
154
  CREATE TABLE IF NOT EXISTS vectors (
155
155
  id TEXT PRIMARY KEY,
@@ -162,7 +162,7 @@ import{d as W,f as it}from"./chunk-QZNFZ5IQ.js";import{b as I,d as de}from"./chu
162
162
  );
163
163
  CREATE INDEX IF NOT EXISTS idx_vectors_namespace ON vectors(namespace);
164
164
  CREATE INDEX IF NOT EXISTS idx_vectors_dimensions ON vectors(dimensions);
165
- `,be=`
165
+ `,Ue=`
166
166
  -- Q-Values for RL algorithms (ADR-046)
167
167
  CREATE TABLE IF NOT EXISTS rl_q_values (
168
168
  id TEXT PRIMARY KEY,
@@ -183,7 +183,7 @@ import{d as W,f as it}from"./chunk-QZNFZ5IQ.js";import{b as I,d as de}from"./chu
183
183
  CREATE INDEX IF NOT EXISTS idx_qvalues_state ON rl_q_values(agent_id, state_key);
184
184
  CREATE INDEX IF NOT EXISTS idx_qvalues_domain ON rl_q_values(domain);
185
185
  CREATE INDEX IF NOT EXISTS idx_qvalues_updated ON rl_q_values(updated_at);
186
- `,J=`
186
+ `,te=`
187
187
  -- GOAP Goals
188
188
  CREATE TABLE IF NOT EXISTS goap_goals (
189
189
  id TEXT PRIMARY KEY,
@@ -294,7 +294,7 @@ import{d as W,f as it}from"./chunk-QZNFZ5IQ.js";import{b as I,d as de}from"./chu
294
294
  -- would fail on "no such column" since CREATE TABLE IF NOT EXISTS above
295
295
  -- silently no-ops against them. unified-memory.ts's v11 migration creates
296
296
  -- this index only after confirming/backfilling the column.
297
- `,De=`
297
+ `,Fe=`
298
298
  -- Concept Graph Nodes (Dream Engine)
299
299
  CREATE TABLE IF NOT EXISTS concept_nodes (
300
300
  id TEXT PRIMARY KEY,
@@ -363,7 +363,7 @@ import{d as W,f as it}from"./chunk-QZNFZ5IQ.js";import{b as I,d as de}from"./chu
363
363
  CREATE INDEX IF NOT EXISTS idx_edge_weight ON concept_edges(weight DESC);
364
364
  CREATE INDEX IF NOT EXISTS idx_insight_cycle ON dream_insights(cycle_id);
365
365
  CREATE INDEX IF NOT EXISTS idx_dream_status ON dream_cycles(status);
366
- `,Z=`
366
+ `,ne=`
367
367
  CREATE VIRTUAL TABLE IF NOT EXISTS qe_patterns_fts USING fts5(
368
368
  name, description, pattern_type, qe_domain,
369
369
  content='qe_patterns',
@@ -386,7 +386,7 @@ import{d as W,f as it}from"./chunk-QZNFZ5IQ.js";import{b as I,d as de}from"./chu
386
386
  INSERT INTO qe_patterns_fts(rowid, name, description, pattern_type, qe_domain)
387
387
  VALUES (new.rowid, new.name, new.description, new.pattern_type, new.qe_domain);
388
388
  END;
389
- `}),ee=Z+Object.values(b).join(""),ye=n=>`
389
+ `}),re=ne+Object.values(b).join(""),xe=n=>`
390
390
  -- QE Patterns table (unified from sqlite-persistence.ts)
391
391
  CREATE TABLE IF NOT EXISTS qe_patterns (
392
392
  id TEXT PRIMARY KEY,
@@ -516,7 +516,7 @@ import{d as W,f as it}from"./chunk-QZNFZ5IQ.js";import{b as I,d as de}from"./chu
516
516
  CREATE INDEX IF NOT EXISTS idx_execution_results_status ON execution_results(status);
517
517
  CREATE INDEX IF NOT EXISTS idx_executed_steps_execution ON executed_steps(execution_id);
518
518
  CREATE INDEX IF NOT EXISTS idx_executed_steps_action ON executed_steps(action_id);
519
- `,Xe=ye(ee),Ue=ye(""),Fe=`
519
+ `,we=xe(re),Me=xe(""),Ge=`
520
520
  -- MinCut Graph Snapshots (ADR-047)
521
521
  CREATE TABLE IF NOT EXISTS mincut_snapshots (
522
522
  id TEXT PRIMARY KEY,
@@ -622,7 +622,7 @@ import{d as W,f as it}from"./chunk-QZNFZ5IQ.js";import{b as I,d as de}from"./chu
622
622
  CREATE INDEX IF NOT EXISTS idx_mincut_healing_type ON mincut_healing_actions(action_type);
623
623
  CREATE INDEX IF NOT EXISTS idx_mincut_healing_success ON mincut_healing_actions(success);
624
624
  CREATE INDEX IF NOT EXISTS idx_mincut_observations_iter ON mincut_observations(iteration);
625
- `,xe=`
625
+ `,Pe=`
626
626
  -- SONA Patterns table (ADR-046: Pattern Persistence for Neural Backbone)
627
627
  CREATE TABLE IF NOT EXISTS sona_patterns (
628
628
  id TEXT PRIMARY KEY,
@@ -648,7 +648,7 @@ import{d as W,f as it}from"./chunk-QZNFZ5IQ.js";import{b as I,d as de}from"./chu
648
648
  CREATE INDEX IF NOT EXISTS idx_sona_patterns_domain ON sona_patterns(domain);
649
649
  CREATE INDEX IF NOT EXISTS idx_sona_patterns_confidence ON sona_patterns(confidence DESC);
650
650
  CREATE INDEX IF NOT EXISTS idx_sona_patterns_updated ON sona_patterns(updated_at DESC);
651
- `,we=`
651
+ `,ke=`
652
652
  -- Test outcomes (ADR-023: Quality Feedback Loop)
653
653
  CREATE TABLE IF NOT EXISTS test_outcomes (
654
654
  id TEXT PRIMARY KEY,
@@ -731,41 +731,41 @@ import{d as W,f as it}from"./chunk-QZNFZ5IQ.js";import{b as I,d as de}from"./chu
731
731
  CREATE INDEX IF NOT EXISTS idx_coverage_sessions_technique ON coverage_sessions(technique);
732
732
  CREATE INDEX IF NOT EXISTS idx_coverage_sessions_agent ON coverage_sessions(agent_id);
733
733
  CREATE INDEX IF NOT EXISTS idx_coverage_sessions_created ON coverage_sessions(created_at);
734
- `,Me=["kv_store","vectors","rl_q_values","goap_actions","goap_goals","goap_plans","goap_plan_signatures","goap_execution_steps","concept_nodes","concept_edges","dream_cycles","dream_insights","qe_patterns","qe_pattern_embeddings","qe_pattern_usage","qe_trajectories","embeddings","execution_results","executed_steps","mincut_snapshots","mincut_history","mincut_weak_vertices","mincut_alerts","mincut_healing_actions","mincut_observations","hypergraph_nodes","hypergraph_edges","sona_patterns","witness_chain","learning_evidence_manifests","learning_evidence_segments","learning_segment_edges","learning_evidence_admissions","pattern_manifest_lineage","pattern_segment_lineage"]});function ne(n,e,t){return n.prepare("SELECT 1 FROM sqlite_master WHERE type = ? AND name = ?").get(e,t)!==void 0}function ke(n){return n.replace(/\s+/g," ").trim().replace(/^CREATE TRIGGER IF NOT EXISTS /i,"CREATE TRIGGER ").replace(/ ?;$/,"").toLowerCase()}function w(n,e){return n.prepare(e).get()?.n??0}function Ge(n){let e=ne(n,"table","qe_patterns_fts"),t=e&&ne(n,"table","qe_patterns_fts_docsize"),r=[],i=[],o=n.prepare("SELECT sql FROM sqlite_master WHERE type = 'trigger' AND name = ?");for(let u of dt){let l=o.get(u);l===void 0?r.push(u):ke(l.sql??"")!==ut[u]&&i.push(u)}let E=w(n,"SELECT count(*) AS n FROM qe_patterns"),c=t?w(n,"SELECT count(*) AS n FROM qe_patterns_fts_docsize"):-1,T=t&&c===E?w(n,`SELECT count(*) AS n FROM qe_patterns p
735
- WHERE NOT EXISTS (SELECT 1 FROM qe_patterns_fts_docsize d WHERE d.id = p.rowid)`):0;return{hasTable:e,hasDocsize:t,missingTriggers:r,mismatchedTriggers:i,patterns:E,indexed:c,unindexed:T}}function Pe(n){return!n.hasTable||n.missingTriggers.length>0||n.mismatchedTriggers.length>0?!0:n.hasDocsize?n.indexed!==n.patterns||n.unindexed>0:!1}function lt(n){if(n.readonly)return!0;try{return Number(n.pragma("query_only",{simple:!0}))===1}catch{return!1}}function qe(n,e={}){let t=e.log??(o=>console.warn(o)),r=e.logPrefix??"[PatternFTS]",i={status:"healthy",createdTable:!1,recreatedTriggers:[],replacedTriggers:[],rebuilt:!1,patternsBefore:-1,indexedBefore:-1,indexedAfter:-1};try{if(!ne(n,"table","qe_patterns"))return i.status="no-patterns",i;if(lt(n))return i.status="readonly",i;let o=Ge(n);if(i.patternsBefore=o.patterns,i.indexedBefore=o.indexed,!Pe(o))return i;let E=n.transaction(()=>{let c=Ge(n);if(!Pe(c))return null;c.hasTable||n.exec(Z);for(let T of c.missingTriggers)n.exec(b[T]);for(let T of c.mismatchedTriggers)n.exec(`DROP TRIGGER IF EXISTS ${T}`),n.exec(b[T]);return n.exec("INSERT INTO qe_patterns_fts(qe_patterns_fts) VALUES('rebuild')"),{s:c,indexedAfter:w(n,"SELECT count(*) AS n FROM qe_patterns_fts_docsize")}}).immediate();if(E){let{s:c}=E;i.createdTable=!c.hasTable,i.recreatedTriggers=[...c.missingTriggers],i.replacedTriggers=[...c.mismatchedTriggers],i.patternsBefore=c.patterns,i.indexedBefore=c.indexed,i.indexedAfter=E.indexedAfter,i.rebuilt=!0}if(i.rebuilt){i.status="healed";let c=[];i.createdTable&&c.push("created qe_patterns_fts"),i.recreatedTriggers.length>0&&c.push(`recreated triggers [${i.recreatedTriggers.join(", ")}]`),i.replacedTriggers.length>0&&c.push(`replaced triggers [${i.replacedTriggers.join(", ")}]`);let T=i.indexedBefore<0?"n/a":String(i.indexedBefore);c.push(`rebuilt index (indexed ${T} -> ${i.indexedAfter}, qe_patterns ${i.patternsBefore})`),t(`${r} Healed qe_patterns FTS5 index: ${c.join("; ")}`)}return i}catch(o){i.status="failed",i.error=O(o);try{t(`${r} qe_patterns FTS5 self-heal skipped: ${i.error} (keyword search may be degraded; vector search unaffected)`)}catch{}return i}}var dt,ut,Be=R(()=>{"use strict";ce();te();dt=Object.keys(b);ut=Object.freeze(Object.fromEntries(Object.entries(b).map(([n,e])=>[n,ke(e)])))});function M(n,e,t){let r={value:e,timestamp:t??(e!==void 0?Date.now():0),nodeId:e!==void 0?n:"",version:e!==void 0?1:0,lastUpdated:Date.now()};function i(o,E,c,T){return o!==c?o-c:E.localeCompare(T)}return{get(){return r.value},set(o,E){let c=E??Date.now();(r.timestamp===0||i(c,n,r.timestamp,r.nodeId)>0)&&(r={value:o,timestamp:c,nodeId:n,version:r.version+1,lastUpdated:Date.now()})},merge(o){let E=o.getState();this.applyState(E)},getState(){return{value:r.value,timestamp:r.timestamp,nodeId:r.nodeId,version:r.version,lastUpdated:r.lastUpdated}},applyState(o){(r.timestamp===0||i(o.timestamp,o.nodeId,r.timestamp,r.nodeId)>0)&&(r={value:o.value,timestamp:o.timestamp,nodeId:o.nodeId,version:Math.max(r.version,o.version)+1,lastUpdated:Date.now()})},getNodeId(){return n},getTimestamp(){return r.timestamp}}}function G(n,e){let t=M(n);return t.applyState(e),t}var re=R(()=>{"use strict"});function C(n){let e={counts:{},version:0,lastUpdated:Date.now()};return e.counts[n]=0,{get(){return Object.values(e.counts).reduce((t,r)=>t+r,0)},increment(t=1){if(t<0)throw new Error("G-Counter can only increment by positive values");t!==0&&(e.counts[n]=(e.counts[n]||0)+t,e.version++,e.lastUpdated=Date.now())},merge(t){let r=t.getState();this.applyState(r)},getState(){return{counts:{...e.counts},version:e.version,lastUpdated:e.lastUpdated}},applyState(t){let r=!1;for(let[i,o]of Object.entries(t.counts)){let E=e.counts[i]||0;o>E&&(e.counts[i]=o,r=!0)}r&&(e.version=Math.max(e.version,t.version)+1,e.lastUpdated=Date.now())},getNodeId(){return n},getLocalCount(){return e.counts[n]||0}}}function P(n,e){let t=C(n);return t.applyState(e),t}var k=R(()=>{"use strict"});function q(n){let e=C(n),t=C(n),r=0,i=Date.now();return{get(){return e.get()-t.get()},increment(o=1){if(o<0)throw new Error("Use decrement() for negative values");o!==0&&(e.increment(o),r++,i=Date.now())},decrement(o=1){if(o<0)throw new Error("Use increment() for negative values");o!==0&&(t.increment(o),r++,i=Date.now())},merge(o){let E=o.getState();this.applyState(E)},getState(){return{positive:e.getState(),negative:t.getState(),version:r,lastUpdated:i}},applyState(o){let E=this.get();e.applyState(o.positive),t.applyState(o.negative);let c=this.get();E!==c&&(r=Math.max(r,o.version)+1,i=Date.now())},getNodeId(){return n}}}function B(n,e){let t=q(n);return t.applyState(e),t}var se=R(()=>{"use strict";k()});function gt(n,e){return`${n}:${Date.now()}:${e}`}function ie(n){return typeof n=="string"?`s:${n}`:typeof n=="number"?`n:${n}`:typeof n=="boolean"?`b:${n}`:`j:${JSON.stringify(n)}`}function pt(n){let e=n.substring(0,2),t=n.substring(2);switch(e){case"s:":return t;case"n:":return Number(t);case"b:":return t==="true";case"j:":return I(t);default:throw new Error(`Unknown serialization type: ${e}`)}}function j(n){let e=new Map,t=new Map,r=0,i=Date.now(),o=0;function E(T){let u=e.get(T);if(!u||u.size===0)return!1;let l=t.get(T);if(!l||l.size===0)return!0;for(let m of u)if(!l.has(m))return!0;return!1}function c(T){let u=e.get(T);if(!u)return new Set;let l=t.get(T)||new Set,m=new Set;for(let p of u)l.has(p)||m.add(p);return m}return{has(T){let u=ie(T);return E(u)},values(){let T=[];for(let[u]of e)E(u)&&T.push(pt(u));return T},size(){let T=0;for(let[u]of e)E(u)&&T++;return T},add(T){let u=ie(T),l=gt(n,o++);e.has(u)||e.set(u,new Set),e.get(u).add(l),r++,i=Date.now()},remove(T){let u=ie(T),l=e.get(u);if(!l||l.size===0)return;t.has(u)||t.set(u,new Set);let m=t.get(u);for(let p of l)m.add(p);r++,i=Date.now()},merge(T){let u=T.getState();this.applyState(u)},getState(){let T={};for(let[l,m]of e)T[l]=Array.from(m);let u={};for(let[l,m]of t)m.size>0&&(u[l]=Array.from(m));return{elements:T,tombstones:u,version:r,lastUpdated:i}},applyState(T){let u=!1;for(let[l,m]of Object.entries(T.elements)){e.has(l)||e.set(l,new Set);let p=e.get(l);for(let g of m)p.has(g)||(p.add(g),u=!0)}for(let[l,m]of Object.entries(T.tombstones)){t.has(l)||t.set(l,new Set);let p=t.get(l);for(let g of m)p.has(g)||(p.add(g),u=!0)}u&&(r=Math.max(r,T.version)+1,i=Date.now())},getNodeId(){return n},clear(){for(let[T,u]of e){t.has(T)||t.set(T,new Set);let l=t.get(T);for(let m of u)l.add(m)}r++,i=Date.now()}}}function z(n,e){let t=j(n);return t.applyState(e),t}var oe=R(()=>{"use strict";de()});function ae(n){let e={..._t,...n},{nodeId:t,enableDeltaTracking:r,maxDeltaHistory:i}=e,o=new Map,E=new Map,c=new Map,T=new Map,u=0,l=[],m=new Set,p={registers:new Set,gCounters:new Set,pnCounters:new Set,sets:new Set};function g(a,s,d){let N={key:a,type:s,operation:d,timestamp:Date.now(),nodeId:t};for(let Je of m)try{Je(N)}catch(Ze){console.error("[CRDTStore] Error in change listener:",Ze)}}function _(a,s){u++,r&&p[a].add(s)}function L(){if(!r||!(p.registers.size>0||p.gCounters.size>0||p.pnCounters.size>0||p.sets.size>0))return;let s={fromVersion:l.length>0?l[l.length-1].toVersion:0,toVersion:u,timestamp:Date.now(),nodeId:t};if(p.registers.size>0){s.registers={};for(let d of p.registers){let N=o.get(d);N&&(s.registers[d]=N.getState())}p.registers.clear()}if(p.gCounters.size>0){s.gCounters={};for(let d of p.gCounters){let N=E.get(d);N&&(s.gCounters[d]=N.getState())}p.gCounters.clear()}if(p.pnCounters.size>0){s.pnCounters={};for(let d of p.pnCounters){let N=c.get(d);N&&(s.pnCounters[d]=N.getState())}p.pnCounters.clear()}if(p.sets.size>0){s.sets={};for(let d of p.sets){let N=T.get(d);N&&(s.sets[d]=N.getState())}p.sets.clear()}for(l.push(s);l.length>i;)l.shift()}let h={getRegister(a){return o.has(a)||o.set(a,M(t)),o.get(a)},setRegister(a,s){h.getRegister(a).set(s),_("registers",a),g(a,"lww-register","set")},hasRegister(a){return o.has(a)},deleteRegister(a){let s=o.delete(a);return s&&_("registers",a),s},getGCounter(a){return E.has(a)||E.set(a,C(t)),E.get(a)},incrementGCounter(a,s){h.getGCounter(a).increment(s),_("gCounters",a),g(a,"g-counter","increment")},hasGCounter(a){return E.has(a)},deleteGCounter(a){let s=E.delete(a);return s&&_("gCounters",a),s},getCounter(a){return c.has(a)||c.set(a,q(t)),c.get(a)},incrementCounter(a,s){h.getCounter(a).increment(s),_("pnCounters",a),g(a,"pn-counter","increment")},decrementCounter(a,s){h.getCounter(a).decrement(s),_("pnCounters",a),g(a,"pn-counter","decrement")},hasCounter(a){return c.has(a)},deleteCounter(a){let s=c.delete(a);return s&&_("pnCounters",a),s},getSet(a){return T.has(a)||T.set(a,j(t)),T.get(a)},addToSet(a,s){h.getSet(a).add(s),_("sets",a),g(a,"or-set","add")},removeFromSet(a,s){h.getSet(a).remove(s),_("sets",a),g(a,"or-set","remove")},hasSet(a){return T.has(a)},deleteSet(a){let s=T.delete(a);return s&&_("sets",a),s},merge(a){let s=a.getState();h.applyState(s)},getState(){L();let a={version:u,timestamp:Date.now(),nodeId:t,registers:{},gCounters:{},pnCounters:{},sets:{}};for(let[s,d]of o)a.registers[s]=d.getState();for(let[s,d]of E)a.gCounters[s]=d.getState();for(let[s,d]of c)a.pnCounters[s]=d.getState();for(let[s,d]of T)a.sets[s]=d.getState();return a},applyState(a){for(let[s,d]of Object.entries(a.registers))o.has(s)?o.get(s).applyState(d):o.set(s,G(t,d)),_("registers",s),g(s,"lww-register","merge");for(let[s,d]of Object.entries(a.gCounters))E.has(s)?E.get(s).applyState(d):E.set(s,P(t,d)),_("gCounters",s),g(s,"g-counter","merge");for(let[s,d]of Object.entries(a.pnCounters))c.has(s)?c.get(s).applyState(d):c.set(s,B(t,d)),_("pnCounters",s),g(s,"pn-counter","merge");for(let[s,d]of Object.entries(a.sets))T.has(s)?T.get(s).applyState(d):T.set(s,z(t,d)),_("sets",s),g(s,"or-set","merge");u=Math.max(u,a.version)+1},getDelta(a){if(L(),l.length===0)return a>=u,null;let s=l.filter(N=>N.toVersion>a);if(s.length===0)return null;let d={fromVersion:a,toVersion:u,timestamp:Date.now(),nodeId:t,registers:{},gCounters:{},pnCounters:{},sets:{}};for(let N of s)N.registers&&Object.assign(d.registers,N.registers),N.gCounters&&Object.assign(d.gCounters,N.gCounters),N.pnCounters&&Object.assign(d.pnCounters,N.pnCounters),N.sets&&Object.assign(d.sets,N.sets);return Object.keys(d.registers).length===0&&delete d.registers,Object.keys(d.gCounters).length===0&&delete d.gCounters,Object.keys(d.pnCounters).length===0&&delete d.pnCounters,Object.keys(d.sets).length===0&&delete d.sets,d},applyDelta(a){if(a.registers)for(let[s,d]of Object.entries(a.registers))o.has(s)?o.get(s).applyState(d):o.set(s,G(t,d)),_("registers",s),g(s,"lww-register","merge");if(a.gCounters)for(let[s,d]of Object.entries(a.gCounters))E.has(s)?E.get(s).applyState(d):E.set(s,P(t,d)),_("gCounters",s),g(s,"g-counter","merge");if(a.pnCounters)for(let[s,d]of Object.entries(a.pnCounters))c.has(s)?c.get(s).applyState(d):c.set(s,B(t,d)),_("pnCounters",s),g(s,"pn-counter","merge");if(a.sets)for(let[s,d]of Object.entries(a.sets))T.has(s)?T.get(s).applyState(d):T.set(s,z(t,d)),_("sets",s),g(s,"or-set","merge");u=Math.max(u,a.toVersion)+1},getVersion(){return u},getNodeId(){return t},on(a,s){if(a==="change")return m.add(s),()=>{m.delete(s)};throw new Error(`Unknown event type: ${a}`)},removeAllListeners(){m.clear()},keys(a){let s=[];return(!a||a==="lww-register")&&s.push(...Array.from(o.keys())),(!a||a==="g-counter")&&s.push(...Array.from(E.keys())),(!a||a==="pn-counter")&&s.push(...Array.from(c.keys())),(!a||a==="or-set")&&s.push(...Array.from(T.keys())),s},clear(){o.clear(),E.clear(),c.clear(),T.clear(),l.length=0,p.registers.clear(),p.gCounters.clear(),p.pnCounters.clear(),p.sets.clear(),u=0},getStats(){return{total:o.size+E.size+c.size+T.size,registers:o.size,gCounters:E.size,pnCounters:c.size,sets:T.size,version:u,nodeId:t,deltaHistorySize:l.length}}};return h}var _t,je=R(()=>{"use strict";re();k();se();oe();_t={nodeId:"default-node",enableDeltaTracking:!0,maxDeltaHistory:100}});var ze=R(()=>{"use strict"});var He=R(()=>{"use strict";re();k();se();oe();je();ze()});var St={};et(St,{ALLOWED_TABLE_NAMES:()=>K,BinaryHeap:()=>le,DEFAULT_UNIFIED_MEMORY_CONFIG:()=>Ke,UnifiedHnswIndex:()=>F,UnifiedMemoryManager:()=>D,clearProjectRootCache:()=>H,createHnswIndex:()=>ge,findProjectRoot:()=>y,getDefaultDbPath:()=>$e,getResolvedDefaultConfig:()=>Ve,getUnifiedMemory:()=>Qe,initializeUnifiedMemory:()=>mt,resetUnifiedMemory:()=>ft,validateTableName:()=>v});import*as f from"fs";import*as Ye from"os";import*as S from"path";function $e(){let n=y();return S.join(n,".agentic-qe","memory.db")}function Ve(){return{...Ke,dbPath:$e()}}function Qe(n){return D.getInstance(n)}async function mt(n){let e=Qe(n);return await e.initialize(),e}function ft(){D.resetInstance()}function Nt(){if(We)return;We=!0;let n=()=>{try{let t=D.instance;t&&t.close()}catch(t){console.debug("[UnifiedMemory] Cleanup error:",t instanceof Error?t.message:t)}};process.on("beforeExit",n),_e(n);let e=t=>{me(t)||(n(),process.exit(0))};process.on("SIGINT",e),process.on("SIGTERM",e)}var U,Ke,D,We,ht=R(()=>{rt();de();ce();st();tt();Re();V();V();pe();pe();te();Be();Q();He();nt();at();U=Te.create("unified-memory");Ke={dbPath:".agentic-qe/memory.db",walMode:!0,mmapSize:X.MMAP_SIZE_BYTES,cacheSize:X.CACHE_SIZE_KB,busyTimeout:X.BUSY_TIMEOUT_MS,vectorDimensions:X.DEFAULT_VECTOR_DIMENSIONS};D=class n{static instance=null;static instancePromise=null;db=null;config;initialized=!1;vectorsLoaded=!1;initPromise=null;preparedStatements=new Map;vectorIndex=new F("qe-memory");crdtStore=null;proofGate=null;proofGateEnvChecked=!1;static PROOF_NS="__proofgate__";static PROOF_KEY="chain";constructor(e){let t=Ve();if(this.config={...t,...e},process.env.AQE_MEMORY_BACKEND==="memory"){this.config.dbPath=":memory:";return}if(this.config.dbPath!==":memory:"&&!S.isAbsolute(this.config.dbPath)){let r=y();this.config.dbPath=S.join(r,this.config.dbPath)}}static getInstance(e){return n.instance||(n.instance=new n(e)),n.instance}static async getInstanceAsync(e){return n.instance?.initialized?n.instance:(n.instancePromise||(n.instancePromise=(async()=>{let t=n.getInstance(e);return await t.initialize(),t})()),n.instancePromise)}static resetInstance(){n.instance&&(n.instance.close(),n.instance=null),n.instancePromise=null,H()}async initialize(e){if(!this.initialized)return this.initPromise||(this.initPromise=this._doInitialize(e?.signal)),this.initPromise}async _doInitialize(e){if(!this.initialized){e?.throwIfAborted();try{let t=this.config.dbPath===":memory:",r="",i=!1,o=0;if(!t){let E=process.env.AQE_PROJECT_ROOT;if(E){let c=S.resolve(this.config.dbPath),T=S.resolve(E);!c.startsWith(T)&&!c.startsWith(Ye.tmpdir())&&c.includes(".agentic-qe")&&(console.error(`[UnifiedMemory] WARNING: DB path "${this.config.dbPath}" points to a production .agentic-qe/ while AQE_PROJECT_ROOT="${E}". Redirecting to test-safe path.`),this.config.dbPath=S.join(E,".agentic-qe","memory.db"))}if(r=S.dirname(this.config.dbPath),f.existsSync(r)||f.mkdirSync(r,{recursive:!0}),i=f.existsSync(this.config.dbPath),i)o=f.statSync(this.config.dbPath).size;else if(f.existsSync(r)){let c=this.findRecentBackups(r);if(c.length>0){let T=c[0];console.error(`[UnifiedMemory] CRITICAL: Database file missing but directory exists!
734
+ `,qe=["kv_store","vectors","rl_q_values","goap_actions","goap_goals","goap_plans","goap_plan_signatures","goap_execution_steps","concept_nodes","concept_edges","dream_cycles","dream_insights","qe_patterns","qe_pattern_embeddings","qe_pattern_usage","qe_trajectories","embeddings","execution_results","executed_steps","mincut_snapshots","mincut_history","mincut_weak_vertices","mincut_alerts","mincut_healing_actions","mincut_observations","hypergraph_nodes","hypergraph_edges","sona_patterns","witness_chain","learning_evidence_manifests","learning_evidence_segments","learning_segment_edges","learning_evidence_admissions","pattern_manifest_lineage","pattern_segment_lineage"]});function ie(n,t,e){return n.prepare("SELECT 1 FROM sqlite_master WHERE type = ? AND name = ?").get(t,e)!==void 0}function ze(n){return n.replace(/\s+/g," ").trim().replace(/^CREATE TRIGGER IF NOT EXISTS /i,"CREATE TRIGGER ").replace(/ ?;$/,"").toLowerCase()}function w(n,t){return n.prepare(t).get()?.n??0}function Be(n){let t=ie(n,"table","qe_patterns_fts"),e=t&&ie(n,"table","qe_patterns_fts_docsize"),r=[],o=[],s=n.prepare("SELECT sql FROM sqlite_master WHERE type = 'trigger' AND name = ?");for(let u of _t){let d=s.get(u);d===void 0?r.push(u):ze(d.sql??"")!==mt[u]&&o.push(u)}let T=w(n,"SELECT count(*) AS n FROM qe_patterns"),c=e?w(n,"SELECT count(*) AS n FROM qe_patterns_fts_docsize"):-1,g=e&&c===T?w(n,`SELECT count(*) AS n FROM qe_patterns p
735
+ WHERE NOT EXISTS (SELECT 1 FROM qe_patterns_fts_docsize d WHERE d.id = p.rowid)`):0;return{hasTable:t,hasDocsize:e,missingTriggers:r,mismatchedTriggers:o,patterns:T,indexed:c,unindexed:g}}function je(n){return!n.hasTable||n.missingTriggers.length>0||n.mismatchedTriggers.length>0?!0:n.hasDocsize?n.indexed!==n.patterns||n.unindexed>0:!1}function ft(n){if(n.readonly)return!0;try{return Number(n.pragma("query_only",{simple:!0}))===1}catch{return!1}}function He(n,t={}){let e=t.log??(s=>console.warn(s)),r=t.logPrefix??"[PatternFTS]",o={status:"healthy",createdTable:!1,recreatedTriggers:[],replacedTriggers:[],rebuilt:!1,patternsBefore:-1,indexedBefore:-1,indexedAfter:-1};try{if(!ie(n,"table","qe_patterns"))return o.status="no-patterns",o;if(ft(n))return o.status="readonly",o;let s=Be(n);if(o.patternsBefore=s.patterns,o.indexedBefore=s.indexed,!je(s))return o;let T=n.transaction(()=>{let c=Be(n);if(!je(c))return null;c.hasTable||n.exec(ne);for(let g of c.missingTriggers)n.exec(b[g]);for(let g of c.mismatchedTriggers)n.exec(`DROP TRIGGER IF EXISTS ${g}`),n.exec(b[g]);return n.exec("INSERT INTO qe_patterns_fts(qe_patterns_fts) VALUES('rebuild')"),{s:c,indexedAfter:w(n,"SELECT count(*) AS n FROM qe_patterns_fts_docsize")}}).immediate();if(T){let{s:c}=T;o.createdTable=!c.hasTable,o.recreatedTriggers=[...c.missingTriggers],o.replacedTriggers=[...c.mismatchedTriggers],o.patternsBefore=c.patterns,o.indexedBefore=c.indexed,o.indexedAfter=T.indexedAfter,o.rebuilt=!0}if(o.rebuilt){o.status="healed";let c=[];o.createdTable&&c.push("created qe_patterns_fts"),o.recreatedTriggers.length>0&&c.push(`recreated triggers [${o.recreatedTriggers.join(", ")}]`),o.replacedTriggers.length>0&&c.push(`replaced triggers [${o.replacedTriggers.join(", ")}]`);let g=o.indexedBefore<0?"n/a":String(o.indexedBefore);c.push(`rebuilt index (indexed ${g} -> ${o.indexedAfter}, qe_patterns ${o.patternsBefore})`),e(`${r} Healed qe_patterns FTS5 index: ${c.join("; ")}`)}return o}catch(s){o.status="failed",o.error=O(s);try{e(`${r} qe_patterns FTS5 self-heal skipped: ${o.error} (keyword search may be degraded; vector search unaffected)`)}catch{}return o}}var _t,mt,We=R(()=>{"use strict";de();se();_t=Object.keys(b);mt=Object.freeze(Object.fromEntries(Object.entries(b).map(([n,t])=>[n,ze(t)])))});function M(n,t,e){let r={value:t,timestamp:e??(t!==void 0?Date.now():0),nodeId:t!==void 0?n:"",version:t!==void 0?1:0,lastUpdated:Date.now()};function o(s,T,c,g){return s!==c?s-c:T===g?0:T>g?1:-1}return{get(){return r.value},set(s,T){let c=T??Date.now();(r.version===0||o(c,n,r.timestamp,r.nodeId)>0)&&(r={value:s,timestamp:c,nodeId:n,version:r.version+1,lastUpdated:Date.now()})},merge(s){let T=s.getState();this.applyState(T)},getState(){return{value:r.value,timestamp:r.timestamp,nodeId:r.nodeId,version:r.version,lastUpdated:r.lastUpdated}},applyState(s){(r.version===0||o(s.timestamp,s.nodeId,r.timestamp,r.nodeId)>0)&&(r={value:s.value,timestamp:s.timestamp,nodeId:s.nodeId,version:Math.max(r.version,s.version)+1,lastUpdated:Date.now()})},getNodeId(){return n},getTimestamp(){return r.timestamp}}}function G(n,t){let e=M(n);return e.applyState(t),e}var oe=R(()=>{"use strict"});function C(n){let t={counts:K(),version:0,lastUpdated:Date.now()};return V(t.counts,n,0),{get(){return Object.values(t.counts).reduce((e,r)=>e+r,0)},increment(e=1){if(e<0)throw new Error("G-Counter can only increment by positive values");e!==0&&(Ne(t.counts,n,e),t.version++,t.lastUpdated=Date.now())},merge(e){let r=e.getState();this.applyState(r)},getState(){return{counts:Object.assign(K(),t.counts),version:t.version,lastUpdated:t.lastUpdated}},applyState(e){let r=!1;for(let[o,s]of Object.entries(e.counts)){let T=$(t.counts,o)??0;s>T&&(V(t.counts,o,s),r=!0)}r&&(t.version=Math.max(t.version,e.version)+1,t.lastUpdated=Date.now())},getNodeId(){return n},getLocalCount(){return $(t.counts,n)??0}}}function P(n,t){let e=C(n);return e.applyState(t),e}var k=R(()=>{"use strict";dt()});function q(n){let t=C(n),e=C(n),r=0,o=Date.now();return{get(){return t.get()-e.get()},increment(s=1){if(s<0)throw new Error("Use decrement() for negative values");s!==0&&(t.increment(s),r++,o=Date.now())},decrement(s=1){if(s<0)throw new Error("Use increment() for negative values");s!==0&&(e.increment(s),r++,o=Date.now())},merge(s){let T=s.getState();this.applyState(T)},getState(){return{positive:t.getState(),negative:e.getState(),version:r,lastUpdated:o}},applyState(s){let T=this.get();t.applyState(s.positive),e.applyState(s.negative);let c=this.get();T!==c&&(r=Math.max(r,s.version)+1,o=Date.now())},getNodeId(){return n}}}function B(n,t){let e=q(n);return e.applyState(t),e}var ae=R(()=>{"use strict";k()});function Nt(n,t){return`${n}:${Date.now()}:${t}`}function ce(n){return typeof n=="string"?`s:${n}`:typeof n=="number"?`n:${n}`:typeof n=="boolean"?`b:${n}`:`j:${JSON.stringify(n)}`}function St(n){let t=n.substring(0,2),e=n.substring(2);switch(t){case"s:":return e;case"n:":return Number(e);case"b:":return e==="true";case"j:":return I(e);default:throw new Error(`Unknown serialization type: ${t}`)}}function j(n){let t=new Map,e=new Map,r=0,o=Date.now(),s=0;function T(u){let d=`${n}:`;if(!u.startsWith(d))return;let m=u.slice(d.length),p=/^(-?\d+):(\d+)$/.exec(m);if(!p)return;let l=Number(p[1]),_=Number(p[2]);Number.isSafeInteger(l)&&Number.isSafeInteger(_)&&_<Number.MAX_SAFE_INTEGER&&(s=Math.max(s,_+1))}function c(u){let d=t.get(u);if(!d||d.size===0)return!1;let m=e.get(u);if(!m||m.size===0)return!0;for(let p of d)if(!m.has(p))return!0;return!1}function g(u){let d=t.get(u);if(!d)return new Set;let m=e.get(u)||new Set,p=new Set;for(let l of d)m.has(l)||p.add(l);return p}return{has(u){let d=ce(u);return c(d)},values(){let u=[];for(let[d]of t)c(d)&&u.push(St(d));return u},size(){let u=0;for(let[d]of t)c(d)&&u++;return u},add(u){let d=ce(u),m=Nt(n,s++);t.has(d)||t.set(d,new Set),t.get(d).add(m),r++,o=Date.now()},remove(u){let d=ce(u),m=t.get(d);if(!m||m.size===0)return;e.has(d)||e.set(d,new Set);let p=e.get(d);for(let l of m)p.add(l);r++,o=Date.now()},merge(u){let d=u.getState();this.applyState(d)},getState(){let u={};for(let[m,p]of t)u[m]=Array.from(p);let d={};for(let[m,p]of e)p.size>0&&(d[m]=Array.from(p));return{elements:u,tombstones:d,version:r,lastUpdated:o}},applyState(u){let d=!1;for(let[m,p]of Object.entries(u.elements)){t.has(m)||t.set(m,new Set);let l=t.get(m);for(let _ of p)T(_),l.has(_)||(l.add(_),d=!0)}for(let[m,p]of Object.entries(u.tombstones)){e.has(m)||e.set(m,new Set);let l=e.get(m);for(let _ of p)T(_),l.has(_)||(l.add(_),d=!0)}d&&(r=Math.max(r,u.version)+1,o=Date.now())},getNodeId(){return n},clear(){for(let[u,d]of t){e.has(u)||e.set(u,new Set);let m=e.get(u);for(let p of d)m.add(p)}r++,o=Date.now()}}}function z(n,t){let e=j(n);return e.applyState(t),e}var Te=R(()=>{"use strict";ge()});function Ee(n){let t={...ht,...n},{nodeId:e,enableDeltaTracking:r,maxDeltaHistory:o}=t,s=new Map,T=new Map,c=new Map,g=new Map,u=0,d=[],m=new Set,p={registers:new Set,gCounters:new Set,pnCounters:new Set,sets:new Set};function l(a,i,E){let f={key:a,type:i,operation:E,timestamp:Date.now(),nodeId:e};for(let nt of m)try{nt(f)}catch(rt){console.error("[CRDTStore] Error in change listener:",rt)}}function _(a,i){u++,r&&p[a].add(i)}function L(){if(!r||!(p.registers.size>0||p.gCounters.size>0||p.pnCounters.size>0||p.sets.size>0))return;let i={fromVersion:d.length>0?d[d.length-1].toVersion:0,toVersion:u,timestamp:Date.now(),nodeId:e};if(p.registers.size>0){i.registers={};for(let E of p.registers){let f=s.get(E);f&&(i.registers[E]=f.getState())}p.registers.clear()}if(p.gCounters.size>0){i.gCounters={};for(let E of p.gCounters){let f=T.get(E);f&&(i.gCounters[E]=f.getState())}p.gCounters.clear()}if(p.pnCounters.size>0){i.pnCounters={};for(let E of p.pnCounters){let f=c.get(E);f&&(i.pnCounters[E]=f.getState())}p.pnCounters.clear()}if(p.sets.size>0){i.sets={};for(let E of p.sets){let f=g.get(E);f&&(i.sets[E]=f.getState())}p.sets.clear()}for(d.push(i);d.length>o;)d.shift()}let h={getRegister(a){return s.has(a)||s.set(a,M(e)),s.get(a)},setRegister(a,i){h.getRegister(a).set(i),_("registers",a),l(a,"lww-register","set")},hasRegister(a){return s.has(a)},deleteRegister(a){let i=s.delete(a);return i&&_("registers",a),i},getGCounter(a){return T.has(a)||T.set(a,C(e)),T.get(a)},incrementGCounter(a,i){h.getGCounter(a).increment(i),_("gCounters",a),l(a,"g-counter","increment")},hasGCounter(a){return T.has(a)},deleteGCounter(a){let i=T.delete(a);return i&&_("gCounters",a),i},getCounter(a){return c.has(a)||c.set(a,q(e)),c.get(a)},incrementCounter(a,i){h.getCounter(a).increment(i),_("pnCounters",a),l(a,"pn-counter","increment")},decrementCounter(a,i){h.getCounter(a).decrement(i),_("pnCounters",a),l(a,"pn-counter","decrement")},hasCounter(a){return c.has(a)},deleteCounter(a){let i=c.delete(a);return i&&_("pnCounters",a),i},getSet(a){return g.has(a)||g.set(a,j(e)),g.get(a)},addToSet(a,i){h.getSet(a).add(i),_("sets",a),l(a,"or-set","add")},removeFromSet(a,i){h.getSet(a).remove(i),_("sets",a),l(a,"or-set","remove")},hasSet(a){return g.has(a)},deleteSet(a){let i=g.delete(a);return i&&_("sets",a),i},merge(a){let i=a.getState();h.applyState(i)},getState(){L();let a={version:u,timestamp:Date.now(),nodeId:e,registers:{},gCounters:{},pnCounters:{},sets:{}};for(let[i,E]of s)a.registers[i]=E.getState();for(let[i,E]of T)a.gCounters[i]=E.getState();for(let[i,E]of c)a.pnCounters[i]=E.getState();for(let[i,E]of g)a.sets[i]=E.getState();return a},applyState(a){for(let[i,E]of Object.entries(a.registers))s.has(i)?s.get(i).applyState(E):s.set(i,G(e,E)),_("registers",i),l(i,"lww-register","merge");for(let[i,E]of Object.entries(a.gCounters))T.has(i)?T.get(i).applyState(E):T.set(i,P(e,E)),_("gCounters",i),l(i,"g-counter","merge");for(let[i,E]of Object.entries(a.pnCounters))c.has(i)?c.get(i).applyState(E):c.set(i,B(e,E)),_("pnCounters",i),l(i,"pn-counter","merge");for(let[i,E]of Object.entries(a.sets))g.has(i)?g.get(i).applyState(E):g.set(i,z(e,E)),_("sets",i),l(i,"or-set","merge");u=Math.max(u,a.version)+1},getDelta(a){if(L(),d.length===0)return a>=u,null;if(a<d[0].fromVersion){let f=h.getState();return{fromVersion:a,toVersion:u,timestamp:Date.now(),nodeId:e,registers:f.registers,gCounters:f.gCounters,pnCounters:f.pnCounters,sets:f.sets}}let i=d.filter(f=>f.toVersion>a);if(i.length===0)return null;let E={fromVersion:a,toVersion:u,timestamp:Date.now(),nodeId:e,registers:{},gCounters:{},pnCounters:{},sets:{}};for(let f of i)f.registers&&Object.assign(E.registers,f.registers),f.gCounters&&Object.assign(E.gCounters,f.gCounters),f.pnCounters&&Object.assign(E.pnCounters,f.pnCounters),f.sets&&Object.assign(E.sets,f.sets);return Object.keys(E.registers).length===0&&delete E.registers,Object.keys(E.gCounters).length===0&&delete E.gCounters,Object.keys(E.pnCounters).length===0&&delete E.pnCounters,Object.keys(E.sets).length===0&&delete E.sets,E},applyDelta(a){if(a.registers)for(let[i,E]of Object.entries(a.registers))s.has(i)?s.get(i).applyState(E):s.set(i,G(e,E)),_("registers",i),l(i,"lww-register","merge");if(a.gCounters)for(let[i,E]of Object.entries(a.gCounters))T.has(i)?T.get(i).applyState(E):T.set(i,P(e,E)),_("gCounters",i),l(i,"g-counter","merge");if(a.pnCounters)for(let[i,E]of Object.entries(a.pnCounters))c.has(i)?c.get(i).applyState(E):c.set(i,B(e,E)),_("pnCounters",i),l(i,"pn-counter","merge");if(a.sets)for(let[i,E]of Object.entries(a.sets))g.has(i)?g.get(i).applyState(E):g.set(i,z(e,E)),_("sets",i),l(i,"or-set","merge");u=Math.max(u,a.toVersion)+1},getVersion(){return u},getNodeId(){return e},on(a,i){if(a==="change")return m.add(i),()=>{m.delete(i)};throw new Error(`Unknown event type: ${a}`)},removeAllListeners(){m.clear()},keys(a){let i=[];return(!a||a==="lww-register")&&i.push(...Array.from(s.keys())),(!a||a==="g-counter")&&i.push(...Array.from(T.keys())),(!a||a==="pn-counter")&&i.push(...Array.from(c.keys())),(!a||a==="or-set")&&i.push(...Array.from(g.keys())),i},clear(){s.clear(),T.clear(),c.clear(),g.clear(),d.length=0,p.registers.clear(),p.gCounters.clear(),p.pnCounters.clear(),p.sets.clear(),u=0},getStats(){return{total:s.size+T.size+c.size+g.size,registers:s.size,gCounters:T.size,pnCounters:c.size,sets:g.size,version:u,nodeId:e,deltaHistorySize:d.length}}};return h}var ht,Ye=R(()=>{"use strict";oe();k();ae();Te();ht={nodeId:"default-node",enableDeltaTracking:!0,maxDeltaHistory:100}});var Ke=R(()=>{"use strict"});var $e=R(()=>{"use strict";oe();k();ae();Te();Ye();Ke()});var Ct={};st(Ct,{ALLOWED_TABLE_NAMES:()=>J,BinaryHeap:()=>_e,DEFAULT_UNIFIED_MEMORY_CONFIG:()=>Ze,UnifiedHnswIndex:()=>F,UnifiedMemoryManager:()=>D,clearProjectRootCache:()=>H,createHnswIndex:()=>me,findProjectRoot:()=>y,getDefaultDbPath:()=>Je,getResolvedDefaultConfig:()=>et,getUnifiedMemory:()=>tt,initializeUnifiedMemory:()=>Rt,resetUnifiedMemory:()=>Lt,validateTableName:()=>v});import*as N from"fs";import*as Qe from"os";import*as S from"path";function Je(){let n=y();return S.join(n,".agentic-qe","memory.db")}function et(){return{...Ze,dbPath:Je()}}function tt(n){return D.getInstance(n)}async function Rt(n){let t=tt(n);return await t.initialize(),t}function Lt(){D.resetInstance()}function It(){if(Ve)return;Ve=!0;let n=()=>{try{let e=D.instance;e&&e.close()}catch(e){console.debug("[UnifiedMemory] Cleanup error:",e instanceof Error?e.message:e)}};process.on("beforeExit",n),Se(n);let t=e=>{he(e)||(n(),process.exit(0))};process.on("SIGINT",t),process.on("SIGTERM",t)}var U,Ze,D,Ve,Ot=R(()=>{at();ge();de();ct();it();Oe();Z();Z();fe();fe();se();We();ee();$e();ot();ut();U=ue.create("unified-memory");Ze={dbPath:".agentic-qe/memory.db",walMode:!0,mmapSize:X.MMAP_SIZE_BYTES,cacheSize:X.CACHE_SIZE_KB,busyTimeout:X.BUSY_TIMEOUT_MS,vectorDimensions:X.DEFAULT_VECTOR_DIMENSIONS};D=class n{static instance=null;static instancePromise=null;db=null;config;initialized=!1;vectorsLoaded=!1;initPromise=null;preparedStatements=new Map;vectorIndex=new F("qe-memory");crdtStore=null;proofGate=null;proofGateEnvChecked=!1;static PROOF_NS="__proofgate__";static PROOF_KEY="chain";constructor(t){let e=et();if(this.config={...e,...t},process.env.AQE_MEMORY_BACKEND==="memory"){this.config.dbPath=":memory:";return}if(this.config.dbPath!==":memory:"&&!S.isAbsolute(this.config.dbPath)){let r=y();this.config.dbPath=S.join(r,this.config.dbPath)}}static getInstance(t){return n.instance||(n.instance=new n(t)),n.instance}static async getInstanceAsync(t){return n.instance?.initialized?n.instance:(n.instancePromise||(n.instancePromise=(async()=>{let e=n.getInstance(t);return await e.initialize(),e})()),n.instancePromise)}static resetInstance(){n.instance&&(n.instance.close(),n.instance=null),n.instancePromise=null,H()}async initialize(t){if(!this.initialized)return this.initPromise||(this.initPromise=this._doInitialize(t?.signal)),this.initPromise}async _doInitialize(t){if(!this.initialized){t?.throwIfAborted();try{let e=this.config.dbPath===":memory:",r="",o=!1,s=0;if(!e){let T=process.env.AQE_PROJECT_ROOT;if(T){let c=S.resolve(this.config.dbPath),g=S.resolve(T);!c.startsWith(g)&&!c.startsWith(Qe.tmpdir())&&c.includes(".agentic-qe")&&(console.error(`[UnifiedMemory] WARNING: DB path "${this.config.dbPath}" points to a production .agentic-qe/ while AQE_PROJECT_ROOT="${T}". Redirecting to test-safe path.`),this.config.dbPath=S.join(T,".agentic-qe","memory.db"))}if(r=S.dirname(this.config.dbPath),N.existsSync(r)||N.mkdirSync(r,{recursive:!0}),o=N.existsSync(this.config.dbPath),o)s=N.statSync(this.config.dbPath).size;else if(N.existsSync(r)){let c=this.findRecentBackups(r);if(c.length>0){let g=c[0];console.error(`[UnifiedMemory] CRITICAL: Database file missing but directory exists!
736
736
  Expected: ${this.config.dbPath}
737
- Found ${c.length} backup(s), newest: ${T.path} (${(T.size/1024/1024).toFixed(1)}MB)
738
- Restoring from backup to prevent data loss...`),f.copyFileSync(T.path,this.config.dbPath);for(let u of["-wal","-shm"]){let l=this.config.dbPath+u;f.existsSync(l)&&f.unlinkSync(l)}o=T.size}}}if(e?.throwIfAborted(),this.db=Ee(this.config.dbPath,{walMode:this.config.walMode,busyTimeout:this.config.busyTimeout,autoRestore:!0}),this.db.pragma(`mmap_size = ${this.config.mmapSize}`),this.db.pragma(`cache_size = ${this.config.cacheSize}`),this.db.pragma("foreign_keys = ON"),e?.aborted){try{this.db.close()}catch{}this.db=null,e.throwIfAborted()}if(await this.runMigrations(),qe(this.db,{logPrefix:"[UnifiedMemory]"}),e?.throwIfAborted(),i&&o>1e6)try{let E=this.db.prepare("SELECT COUNT(*) as cnt FROM qe_patterns").get();if(E&&E.cnt===0){let c=f.statSync(this.config.dbPath).size;c<o*.1&&console.error(`[UnifiedMemory] CRITICAL: Possible data loss detected!
739
- DB was ${(o/1024/1024).toFixed(1)}MB, now ${(c/1024/1024).toFixed(1)}MB with 0 patterns.
737
+ Found ${c.length} backup(s), newest: ${g.path} (${(g.size/1024/1024).toFixed(1)}MB)
738
+ Restoring from backup to prevent data loss...`),N.copyFileSync(g.path,this.config.dbPath);for(let u of["-wal","-shm"]){let d=this.config.dbPath+u;N.existsSync(d)&&N.unlinkSync(d)}s=g.size}}}if(t?.throwIfAborted(),this.db=le(this.config.dbPath,{walMode:this.config.walMode,busyTimeout:this.config.busyTimeout,autoRestore:!0}),this.db.pragma(`mmap_size = ${this.config.mmapSize}`),this.db.pragma(`cache_size = ${this.config.cacheSize}`),this.db.pragma("foreign_keys = ON"),t?.aborted){try{this.db.close()}catch{}this.db=null,t.throwIfAborted()}if(await this.runMigrations(),He(this.db,{logPrefix:"[UnifiedMemory]"}),t?.throwIfAborted(),o&&s>1e6)try{let T=this.db.prepare("SELECT COUNT(*) as cnt FROM qe_patterns").get();if(T&&T.cnt===0){let c=N.statSync(this.config.dbPath).size;c<s*.1&&console.error(`[UnifiedMemory] CRITICAL: Possible data loss detected!
739
+ DB was ${(s/1024/1024).toFixed(1)}MB, now ${(c/1024/1024).toFixed(1)}MB with 0 patterns.
740
740
  This looks like the DB was replaced with an empty schema.
741
- Check backups in ${r} and restore manually.`)}}catch{}this.vectorsLoaded=!1,this.initialized=!0,console.log(`[UnifiedMemory] Initialized: ${this.config.dbPath}`),this.warnIfDuplicateDatabases()}catch(t){throw this.initPromise=null,t instanceof Error&&(t.name==="AbortError"||(e?.aborted??!1))?t:new Error(`Failed to initialize UnifiedMemoryManager: ${O(t)}`)}}}findRecentBackups(e){try{let r=f.readdirSync(e).filter(o=>o.startsWith("memory")&&o.endsWith(".db")&&o!=="memory.db").map(o=>{let E=S.join(e,o),c=f.statSync(E);return{path:E,size:c.size,mtime:c.mtimeMs}}).filter(o=>o.size>1e6).sort((o,E)=>E.mtime-o.mtime),i=S.join(e,"backups");if(f.existsSync(i)){let o=f.readdirSync(i);for(let E of o)if(E.endsWith(".db")){let c=S.join(i,E),T=f.statSync(c);T.size>1e6&&r.push({path:c,size:T.size,mtime:T.mtimeMs})}r.sort((E,c)=>c.mtime-E.mtime)}return r}catch{return[]}}warnIfDuplicateDatabases(){if(this.config.dbPath!==":memory:")try{let e=y(),t=S.resolve(this.config.dbPath),i=[S.join(e,".agentic-qe","memory.db"),S.join(e,"v3",".agentic-qe","memory.db")].map(o=>S.resolve(o)).filter(o=>o!==t&&f.existsSync(o));i.length>0&&console.warn(`[UnifiedMemory] WARNING: Duplicate database(s) detected!
742
- Canonical: ${t}
743
- Duplicates: ${i.join(", ")}
744
- This can cause data splits. Remove duplicates or set AQE_PROJECT_ROOT.`)}catch(e){U.debug("Duplicate database check failed",{error:e instanceof Error?e.message:String(e)})}}columnExists(e,t){if(!this.db)return!1;try{let r=v(e);return this.db.prepare(`PRAGMA table_info(${r})`).all().some(o=>o.name===t)}catch(r){return U.debug("Column existence check failed",{table:e,column:t,error:r instanceof Error?r.message:String(r)}),!1}}handleV2SchemaIncompatibilities(){if(!this.db)return;let e=[{table:"goap_plans",requiredColumn:"status",columnDef:"TEXT DEFAULT 'pending'"},{table:"goap_actions",requiredColumn:"agent_type",columnDef:"TEXT DEFAULT 'unknown'"},{table:"concept_nodes",requiredColumn:"concept_type",columnDef:"TEXT DEFAULT 'general'"},{table:"concept_edges",requiredColumn:"edge_type",columnDef:"TEXT DEFAULT 'related'"},{table:"dream_insights",requiredColumn:"cycle_id",columnDef:"TEXT DEFAULT ''"},{table:"rl_q_values",requiredColumn:"algorithm",columnDef:"TEXT DEFAULT 'q-learning'"}];for(let{table:t,requiredColumn:r,columnDef:i}of e)if(this.db.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name=?").get(t)&&!this.columnExists(t,r)){let E=v(t);try{this.db.exec(`ALTER TABLE ${E} ADD COLUMN ${r} ${i}`),console.log(`[UnifiedMemory] Added column ${r} to ${t} (safe migration)`)}catch(c){console.log(`[UnifiedMemory] Column ${r} on ${t}: ${c instanceof Error?c.message:String(c)}`)}}}async runMigrations(){if(!this.db)throw new Error("Database not initialized");this.db.exec(Oe),this.handleV2SchemaIncompatibilities();let t=this.db.prepare("SELECT version FROM schema_version WHERE id = 1").get()?.version??0;t<x&&(console.log(`[UnifiedMemory] Migrating from v${t} to v${x}`),this.db.transaction(()=>{t<1&&this.db.exec(Ae),t<2&&this.db.exec(ve),t<3&&(this.db.exec(be),this.db.exec(J),this.db.exec(De)),t<4&&this.db.exec(Xe),t<5&&this.db.exec(Fe),t<6&&this.db.exec(W),t<7&&this.db.exec(xe),t<8&&this.db.exec(we),t<9&&(this.db.exec(ee),this.db.exec("INSERT INTO qe_patterns_fts(qe_patterns_fts) VALUES('rebuild')")),t<10&&this.db.exec(Y),t<11&&this.migrateToV11GoapExecutionSteps(),t<12&&Ce(this.db),t<13&&this.migrateToV13EmbeddingSpace(),this.db.prepare(`
741
+ Check backups in ${r} and restore manually.`)}}catch{}this.vectorsLoaded=!1,this.initialized=!0,console.log(`[UnifiedMemory] Initialized: ${this.config.dbPath}`),this.warnIfDuplicateDatabases()}catch(e){throw this.initPromise=null,e instanceof Error&&(e.name==="AbortError"||(t?.aborted??!1))?e:new Error(`Failed to initialize UnifiedMemoryManager: ${O(e)}`)}}}findRecentBackups(t){try{let r=N.readdirSync(t).filter(s=>s.startsWith("memory")&&s.endsWith(".db")&&s!=="memory.db").map(s=>{let T=S.join(t,s),c=N.statSync(T);return{path:T,size:c.size,mtime:c.mtimeMs}}).filter(s=>s.size>1e6).sort((s,T)=>T.mtime-s.mtime),o=S.join(t,"backups");if(N.existsSync(o)){let s=N.readdirSync(o);for(let T of s)if(T.endsWith(".db")){let c=S.join(o,T),g=N.statSync(c);g.size>1e6&&r.push({path:c,size:g.size,mtime:g.mtimeMs})}r.sort((T,c)=>c.mtime-T.mtime)}return r}catch{return[]}}warnIfDuplicateDatabases(){if(this.config.dbPath!==":memory:")try{let t=y(),e=S.resolve(this.config.dbPath),o=[S.join(t,".agentic-qe","memory.db"),S.join(t,"v3",".agentic-qe","memory.db")].map(s=>S.resolve(s)).filter(s=>s!==e&&N.existsSync(s));o.length>0&&console.warn(`[UnifiedMemory] WARNING: Duplicate database(s) detected!
742
+ Canonical: ${e}
743
+ Duplicates: ${o.join(", ")}
744
+ This can cause data splits. Remove duplicates or set AQE_PROJECT_ROOT.`)}catch(t){U.debug("Duplicate database check failed",{error:t instanceof Error?t.message:String(t)})}}columnExists(t,e){if(!this.db)return!1;try{let r=v(t);return this.db.prepare(`PRAGMA table_info(${r})`).all().some(s=>s.name===e)}catch(r){return U.debug("Column existence check failed",{table:t,column:e,error:r instanceof Error?r.message:String(r)}),!1}}handleV2SchemaIncompatibilities(){if(!this.db)return;let t=[{table:"goap_plans",requiredColumn:"status",columnDef:"TEXT DEFAULT 'pending'"},{table:"goap_actions",requiredColumn:"agent_type",columnDef:"TEXT DEFAULT 'unknown'"},{table:"concept_nodes",requiredColumn:"concept_type",columnDef:"TEXT DEFAULT 'general'"},{table:"concept_edges",requiredColumn:"edge_type",columnDef:"TEXT DEFAULT 'related'"},{table:"dream_insights",requiredColumn:"cycle_id",columnDef:"TEXT DEFAULT ''"},{table:"rl_q_values",requiredColumn:"algorithm",columnDef:"TEXT DEFAULT 'q-learning'"}];for(let{table:e,requiredColumn:r,columnDef:o}of t)if(this.db.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name=?").get(e)&&!this.columnExists(e,r)){let T=v(e);try{this.db.exec(`ALTER TABLE ${T} ADD COLUMN ${r} ${o}`),console.log(`[UnifiedMemory] Added column ${r} to ${e} (safe migration)`)}catch(c){console.log(`[UnifiedMemory] Column ${r} on ${e}: ${c instanceof Error?c.message:String(c)}`)}}}async runMigrations(){if(!this.db)throw new Error("Database not initialized");this.db.exec(De),this.handleV2SchemaIncompatibilities();let e=this.db.prepare("SELECT version FROM schema_version WHERE id = 1").get()?.version??0;e<x&&(console.log(`[UnifiedMemory] Migrating from v${e} to v${x}`),this.db.transaction(()=>{e<1&&this.db.exec(ye),e<2&&this.db.exec(Xe),e<3&&(this.db.exec(Ue),this.db.exec(te),this.db.exec(Fe)),e<4&&this.db.exec(we),e<5&&this.db.exec(Ge),e<6&&this.db.exec(W),e<7&&this.db.exec(Pe),e<8&&this.db.exec(ke),e<9&&(this.db.exec(re),this.db.exec("INSERT INTO qe_patterns_fts(qe_patterns_fts) VALUES('rebuild')")),e<10&&this.db.exec(Y),e<11&&this.migrateToV11GoapExecutionSteps(),e<12&&be(this.db),e<13&&this.migrateToV13EmbeddingSpace(),this.db.prepare(`
745
745
  INSERT OR REPLACE INTO schema_version (id, version, migrated_at)
746
746
  VALUES (1, ?, datetime('now'))
747
- `).run(x)})(),console.log("[UnifiedMemory] Migration complete"))}migrateToV11GoapExecutionSteps(){let e=this.db;e.exec(J);let t=(r,i,o)=>{e.prepare(`SELECT name FROM pragma_table_info('${r}')`).all().some(c=>c.name===i)||e.exec(`ALTER TABLE ${r} ADD COLUMN ${i} ${o}`)};t("goap_execution_steps","execution_id","TEXT"),t("goap_execution_steps","retries","INTEGER DEFAULT 0"),t("goap_execution_steps","started_at","TEXT"),t("goap_execution_steps","agent_output","TEXT"),t("goap_actions","method","TEXT"),t("goap_actions","params","TEXT"),t("goap_actions","implemented","INTEGER DEFAULT 0"),e.exec("CREATE INDEX IF NOT EXISTS idx_goap_exec_steps_execution ON goap_execution_steps(execution_id)")}async loadVectorIndex(){if(this.vectorsLoaded)return;if(!this.db)throw new Error("Database not initialized");this.vectorIndex.clear();let e=this.db.prepare("SELECT id, embedding, dimensions FROM vectors").all();for(let t of e){let r=this.bufferToFloatArray(t.embedding,t.dimensions);this.vectorIndex.add(t.id,r)}this.vectorsLoaded=!0,console.log(`[UnifiedMemory] Loaded ${e.length} vectors into vector index (ruvector flat)`)}async kvSet(e,t,r="default",i){this.ensureInitialized();let o=i?Date.now()+i*1e3:null,E=JSON.stringify(t);this.db.prepare(`
747
+ `).run(x)})(),console.log("[UnifiedMemory] Migration complete"))}migrateToV11GoapExecutionSteps(){let t=this.db;t.exec(te);let e=(r,o,s)=>{t.prepare(`SELECT name FROM pragma_table_info('${r}')`).all().some(c=>c.name===o)||t.exec(`ALTER TABLE ${r} ADD COLUMN ${o} ${s}`)};e("goap_execution_steps","execution_id","TEXT"),e("goap_execution_steps","retries","INTEGER DEFAULT 0"),e("goap_execution_steps","started_at","TEXT"),e("goap_execution_steps","agent_output","TEXT"),e("goap_actions","method","TEXT"),e("goap_actions","params","TEXT"),e("goap_actions","implemented","INTEGER DEFAULT 0"),t.exec("CREATE INDEX IF NOT EXISTS idx_goap_exec_steps_execution ON goap_execution_steps(execution_id)")}async loadVectorIndex(){if(this.vectorsLoaded)return;if(!this.db)throw new Error("Database not initialized");this.vectorIndex.clear();let t=this.db.prepare("SELECT id, embedding, dimensions FROM vectors").all();for(let e of t){let r=this.bufferToFloatArray(e.embedding,e.dimensions);this.vectorIndex.add(e.id,r)}this.vectorsLoaded=!0,console.log(`[UnifiedMemory] Loaded ${t.length} vectors into vector index (ruvector flat)`)}async kvSet(t,e,r="default",o){this.ensureInitialized();let s=o?Date.now()+o*1e3:null,T=JSON.stringify(e);this.db.prepare(`
748
748
  INSERT OR REPLACE INTO kv_store (key, namespace, value, expires_at)
749
749
  VALUES (?, ?, ?, ?)
750
- `).run(e,r,E,o),this.auditWrite("kvSet",r,e,E)}async kvGet(e,t="default"){this.ensureInitialized();let r=this.db.prepare(`
750
+ `).run(t,r,T,s),this.auditWrite("kvSet",r,t,T)}async kvGet(t,e="default"){this.ensureInitialized();let r=this.db.prepare(`
751
751
  SELECT value, expires_at FROM kv_store
752
752
  WHERE key = ? AND namespace = ?
753
- `).get(e,t);if(r){if(r.expires_at&&Date.now()>r.expires_at){this.db.prepare("DELETE FROM kv_store WHERE key = ? AND namespace = ?").run(e,t);return}return I(r.value)}}async kvDelete(e,t="default"){this.ensureInitialized();let r=this.db.prepare("DELETE FROM kv_store WHERE key = ? AND namespace = ?").run(e,t);return r.changes>0&&this.auditWrite("kvDelete",t,e,""),r.changes>0}async kvExists(e,t="default"){return this.ensureInitialized(),this.db.prepare(`
753
+ `).get(t,e);if(r){if(r.expires_at&&Date.now()>r.expires_at){this.db.prepare("DELETE FROM kv_store WHERE key = ? AND namespace = ?").run(t,e);return}return I(r.value)}}async kvDelete(t,e="default"){this.ensureInitialized();let r=this.db.prepare("DELETE FROM kv_store WHERE key = ? AND namespace = ?").run(t,e);return r.changes>0&&this.auditWrite("kvDelete",e,t,""),r.changes>0}async kvExists(t,e="default"){return this.ensureInitialized(),this.db.prepare(`
754
754
  SELECT 1 FROM kv_store
755
755
  WHERE key = ? AND namespace = ? AND (expires_at IS NULL OR expires_at > ?)
756
- `).get(e,t,Date.now())!==void 0}async kvSearch(e,t="default",r=100){this.ensureInitialized();let i=e.replace(/[!%_]/g,"!$&").replace(/\*/g,"%").replace(/\?/g,"_");return this.db.prepare(`
756
+ `).get(t,e,Date.now())!==void 0}async kvSearch(t,e="default",r=100){this.ensureInitialized();let o=t.replace(/[!%_]/g,"!$&").replace(/\*/g,"%").replace(/\?/g,"_");return this.db.prepare(`
757
757
  SELECT key FROM kv_store
758
758
  WHERE namespace = ? AND key LIKE ? ESCAPE '!'
759
759
  AND (expires_at IS NULL OR expires_at > ?)
760
760
  LIMIT ?
761
- `).all(t,i,Date.now(),r).map(E=>E.key)}async kvCleanupExpired(){return this.ensureInitialized(),this.db.prepare("DELETE FROM kv_store WHERE expires_at IS NOT NULL AND expires_at < ?").run(Date.now()).changes}enableProofGate(){this.ensureInitialized(),this.proofGateEnvChecked=!0,!this.proofGate&&(this.proofGate=this.loadProofChain()??new A)}isProofGateEnabled(){return this.proofGate!==null}verifyMemoryIntegrity(){if(!this.proofGate)throw new Error("Proof-gate not enabled \u2014 call enableProofGate() or set AQE_PROOF_GATE=1");return this.proofGate.verifyIntegrity()}getProofChainRoot(){return this.proofGate?this.proofGate.chainRoot():null}getProofChainLength(){return this.proofGate?this.proofGate.length:0}auditWrite(e,t,r,i){if(!this.proofGate){if(this.proofGateEnvChecked||(this.proofGateEnvChecked=!0,process.env.AQE_PROOF_GATE!=="1"))return;this.proofGate=this.loadProofChain()??new A}if(t!==n.PROOF_NS)try{this.proofGate.admit({op:e,ns:t,key:r,value:i}),this.persistProofChain()}catch(o){U.warn(`proof-gate audit skipped for ${t}/${r}: ${O(o)}`)}}persistProofChain(){!this.proofGate||!this.db||this.db.prepare(`
761
+ `).all(e,o,Date.now(),r).map(T=>T.key)}async kvCleanupExpired(){return this.ensureInitialized(),this.db.prepare("DELETE FROM kv_store WHERE expires_at IS NOT NULL AND expires_at < ?").run(Date.now()).changes}enableProofGate(){this.ensureInitialized(),this.proofGateEnvChecked=!0,!this.proofGate&&(this.proofGate=this.loadProofChain()??new A)}isProofGateEnabled(){return this.proofGate!==null}verifyMemoryIntegrity(){if(!this.proofGate)throw new Error("Proof-gate not enabled \u2014 call enableProofGate() or set AQE_PROOF_GATE=1");return this.proofGate.verifyIntegrity()}getProofChainRoot(){return this.proofGate?this.proofGate.chainRoot():null}getProofChainLength(){return this.proofGate?this.proofGate.length:0}auditWrite(t,e,r,o){if(!this.proofGate){if(this.proofGateEnvChecked||(this.proofGateEnvChecked=!0,process.env.AQE_PROOF_GATE!=="1"))return;this.proofGate=this.loadProofChain()??new A}if(e!==n.PROOF_NS)try{this.proofGate.admit({op:t,ns:e,key:r,value:o}),this.persistProofChain()}catch(s){U.warn(`proof-gate audit skipped for ${e}/${r}: ${O(s)}`)}}persistProofChain(){!this.proofGate||!this.db||this.db.prepare(`
762
762
  INSERT OR REPLACE INTO kv_store (key, namespace, value, expires_at)
763
763
  VALUES (?, ?, ?, NULL)
764
- `).run(n.PROOF_KEY,n.PROOF_NS,JSON.stringify(this.proofGate.toJSON()))}loadProofChain(){if(!this.db)return null;let e=this.db.prepare(`
764
+ `).run(n.PROOF_KEY,n.PROOF_NS,JSON.stringify(this.proofGate.toJSON()))}loadProofChain(){if(!this.db)return null;let t=this.db.prepare(`
765
765
  SELECT value FROM kv_store WHERE key = ? AND namespace = ?
766
- `).get(n.PROOF_KEY,n.PROOF_NS);if(!e)return null;try{return A.fromJSON(JSON.parse(e.value))}catch(t){return U.warn(`proof-gate chain failed to load (starting fresh): ${O(t)}`),null}}async vectorStore(e,t,r="default",i){this.ensureInitialized();let o=this.floatArrayToBuffer(t),E=i?JSON.stringify(i):null;this.db.prepare(`
766
+ `).get(n.PROOF_KEY,n.PROOF_NS);if(!t)return null;try{return A.fromJSON(JSON.parse(t.value))}catch(e){return U.warn(`proof-gate chain failed to load (starting fresh): ${O(e)}`),null}}async vectorStore(t,e,r="default",o){this.ensureInitialized();let s=this.floatArrayToBuffer(e),T=o?JSON.stringify(o):null;this.db.prepare(`
767
767
  INSERT OR REPLACE INTO vectors (id, namespace, embedding, dimensions, metadata, updated_at)
768
768
  VALUES (?, ?, ?, ?, ?, datetime('now'))
769
- `).run(e,r,o,t.length,E),this.vectorIndex.add(e,t)}async vectorGet(e){this.ensureInitialized();let t=this.db.prepare(`
769
+ `).run(t,r,s,e.length,T),this.vectorIndex.add(t,e)}async vectorGet(t){this.ensureInitialized();let e=this.db.prepare(`
770
770
  SELECT embedding, dimensions, metadata FROM vectors WHERE id = ?
771
- `).get(e);if(t)return{embedding:this.bufferToFloatArray(t.embedding,t.dimensions),metadata:t.metadata?I(t.metadata):void 0}}async vectorDelete(e){this.ensureInitialized();let t=this.db.prepare("DELETE FROM vectors WHERE id = ?").run(e);return this.vectorIndex.remove(e),t.changes>0}async vectorSearch(e,t=10,r,i){if(this.ensureInitialized(),!Number.isInteger(t)||t<=0)return[];this.vectorsLoaded||await this.loadVectorIndex();let o=this.vectorIndex.size(),E=!!(r||i),c=Math.min(o,Math.max(E?t*2:t,1)),T=r?this.db.prepare("SELECT id, namespace, metadata FROM vectors WHERE namespace = ?").all(r):void 0,u=T?new Map(T.map(g=>[g.id,g])):void 0,l=this.vectorIndex.search(e,c);for(;E&&l.filter(g=>(!i||g.id.startsWith(i))&&(!u||u.has(g.id))).length<t&&c<o;)c=Math.min(o,c*2),l=this.vectorIndex.search(e,c);if(l.length===0)return[];let m=u??(()=>{let g=l.map(h=>h.id),_=g.map(()=>"?").join(","),L=this.db.prepare(`SELECT id, namespace, metadata FROM vectors WHERE id IN (${_})`).all(...g);return new Map(L.map(h=>[h.id,h]))})();if(r){let g=[];for(let _ of l){let L=m.get(_.id);if(L&&L.namespace===r&&(!i||_.id.startsWith(i))&&(g.push({id:_.id,score:_.score,metadata:L.metadata?I(L.metadata):void 0}),g.length>=t))break}return g}return(i?l.filter(g=>g.id.startsWith(i)).slice(0,t):l.slice(0,t)).map(g=>{let _=m.get(g.id);return{id:g.id,score:g.score,metadata:_?.metadata?I(_.metadata):void 0}})}migrateToV13EmbeddingSpace(){let e=this.db;if(!e.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name='qe_pattern_embeddings'").get()){e.exec(Ue);return}e.prepare("PRAGMA table_info('qe_pattern_embeddings')").all().some(i=>i.name==="space_id")||e.exec("ALTER TABLE qe_pattern_embeddings ADD COLUMN space_id TEXT"),e.exec("CREATE INDEX IF NOT EXISTS idx_qe_pattern_embeddings_space ON qe_pattern_embeddings(space_id)")}getVectorSearchProvenance(){return this.vectorIndex.getProvider().isNativeBackend()?{backend:"native-hnsw",indexType:"hnsw",approximate:!0,estimatedRecall:this.vectorIndex.recall(),qualifiedMaxK:ue.EF_SEARCH}:{backend:"progressive-hnsw",indexType:"flat",approximate:!1,estimatedRecall:1}}async vectorCount(e){return this.ensureInitialized(),e?this.db.prepare("SELECT COUNT(*) as count FROM vectors WHERE namespace = ?").get(e).count:this.db.prepare("SELECT COUNT(*) as count FROM vectors").get().count}queryCount(e){this.ensureInitialized();let t=v(e);return this.db.prepare(`SELECT COUNT(*) as c FROM ${t}`).get().c}initializeCRDT(e){if(this.crdtStore){console.warn("[UnifiedMemory] CRDT store already initialized");return}this.crdtStore=ae({nodeId:e}),console.log(`[UnifiedMemory] CRDT store initialized for node: ${e}`)}getCRDTStore(){return this.crdtStore}isCRDTInitialized(){return this.crdtStore!==null}async crdtSet(e,t,r="crdt"){this.ensureInitialized(),this.crdtStore&&this.crdtStore.setRegister(e,t),await this.kvSet(e,t,r)}async crdtGet(e,t="crdt"){if(this.crdtStore){let r=this.crdtStore.getRegister(e);if(r)return r.get()}return this.kvGet(e,t)}crdtIncrement(e,t=1){if(!this.crdtStore)throw new Error("CRDT store not initialized. Call initializeCRDT first.");let r=this.crdtStore.getCounter(e);r||(this.crdtStore.incrementCounter(e,0),r=this.crdtStore.getCounter(e));for(let i=0;i<t;i++)this.crdtStore.incrementCounter(e)}crdtGetCounter(e){return this.crdtStore?this.crdtStore.getCounter(e)?.get()??0:0}crdtAddToSet(e,t){if(!this.crdtStore)throw new Error("CRDT store not initialized. Call initializeCRDT first.");this.crdtStore.addToSet(e,t)}crdtRemoveFromSet(e,t){if(!this.crdtStore)throw new Error("CRDT store not initialized. Call initializeCRDT first.");this.crdtStore.removeFromSet(e,t)}crdtGetSet(e){if(!this.crdtStore)return new Set;let t=this.crdtStore.getSet(e);return new Set(t.values())}crdtGetState(){return this.crdtStore?this.crdtStore.getState():null}crdtGetDelta(e){return this.crdtStore?this.crdtStore.getDelta(e??0):null}crdtMerge(e){if(!this.crdtStore)throw new Error("CRDT store not initialized. Call initializeCRDT first.");this.crdtStore.applyState(e)}crdtApplyDelta(e){if(!this.crdtStore)throw new Error("CRDT store not initialized. Call initializeCRDT first.");this.crdtStore.applyDelta(e)}async crdtPersist(){if(!this.crdtStore)return;let e=this.crdtStore.getState();await this.kvSet("__crdt_state__",e,"crdt-internal")}async crdtRestore(){if(!this.crdtStore)return!1;let e=await this.kvGet("__crdt_state__","crdt-internal");return e?(this.crdtStore.applyState(e),!0):!1}getDatabase(){if(!this.db||!this.initialized)throw new Error("UnifiedMemoryManager not initialized");return this.db}isInitialized(){return this.initialized}getDbPath(){return this.config.dbPath}prepare(e,t){if(!this.db)throw new Error("Database not initialized");let r=this.preparedStatements.get(e);return r||(r=this.db.prepare(t),this.preparedStatements.set(e,r)),r}transaction(e){if(!this.db)throw new Error("Database not initialized");return this.db.transaction(e)()}getStats(){if(!this.db)throw new Error("Database not initialized");let e=Me.map(i=>{try{let o=this.db.prepare(`SELECT COUNT(*) as count FROM ${i}`).get();return{name:i,rowCount:o.count}}catch(o){return U.debug("Table row count query failed",{table:i,error:o instanceof Error?o.message:String(o)}),{name:i,rowCount:0}}}),t=0,r=0;try{f.existsSync(this.config.dbPath)&&(t=f.statSync(this.config.dbPath).size);let i=this.config.dbPath+"-wal";f.existsSync(i)&&(r=f.statSync(i).size)}catch(i){console.debug("[UnifiedMemory] File stat error:",i instanceof Error?i.message:i)}return{tables:e,fileSize:t,walSize:r,vectorIndexSize:this.vectorIndex.size()}}vacuum(){if(!this.db)throw new Error("Database not initialized");this.db.exec("VACUUM")}checkpoint(){if(!this.db)throw new Error("Database not initialized");this.db.pragma("wal_checkpoint(TRUNCATE)")}close(){this.db&&(this.preparedStatements.clear(),this.vectorIndex.clear(),this.db.close(),this.db=null,this.initialized=!1,console.log("[UnifiedMemory] Database closed"))}ensureInitialized(){if(!this.initialized||!this.db)throw new Error("UnifiedMemoryManager not initialized. Call initialize() first.")}floatArrayToBuffer(e){let t=Buffer.alloc(e.length*4);for(let r=0;r<e.length;r++)t.writeFloatLE(e[r],r*4);return t}bufferToFloatArray(e,t){let r=new Float32Array(e.buffer,e.byteOffset,t);return Array.from(r)}};We=!1;Nt()});export{K as a,v as b,It as c,V as d,Ie as e,Q as f,ee as g,te as h,qe as i,Be as j,$e as k,Ke as l,Ve as m,D as n,Qe as o,mt as p,ft as q,St as r,ht as s};
771
+ `).get(t);if(e)return{embedding:this.bufferToFloatArray(e.embedding,e.dimensions),metadata:e.metadata?I(e.metadata):void 0}}async vectorDelete(t){this.ensureInitialized();let e=this.db.prepare("DELETE FROM vectors WHERE id = ?").run(t);return this.vectorIndex.remove(t),e.changes>0}async vectorSearch(t,e=10,r,o){if(this.ensureInitialized(),!Number.isInteger(e)||e<=0)return[];this.vectorsLoaded||await this.loadVectorIndex();let s=this.vectorIndex.size(),T=!!(r||o),c=Math.min(s,Math.max(T?e*2:e,1)),g=r?this.db.prepare("SELECT id, namespace, metadata FROM vectors WHERE namespace = ?").all(r):void 0,u=g?new Map(g.map(l=>[l.id,l])):void 0,d=this.vectorIndex.search(t,c);for(;T&&d.filter(l=>(!o||l.id.startsWith(o))&&(!u||u.has(l.id))).length<e&&c<s;)c=Math.min(s,c*2),d=this.vectorIndex.search(t,c);if(d.length===0)return[];let m=u??(()=>{let l=d.map(h=>h.id),_=l.map(()=>"?").join(","),L=this.db.prepare(`SELECT id, namespace, metadata FROM vectors WHERE id IN (${_})`).all(...l);return new Map(L.map(h=>[h.id,h]))})();if(r){let l=[];for(let _ of d){let L=m.get(_.id);if(L&&L.namespace===r&&(!o||_.id.startsWith(o))&&(l.push({id:_.id,score:_.score,metadata:L.metadata?I(L.metadata):void 0}),l.length>=e))break}return l}return(o?d.filter(l=>l.id.startsWith(o)).slice(0,e):d.slice(0,e)).map(l=>{let _=m.get(l.id);return{id:l.id,score:l.score,metadata:_?.metadata?I(_.metadata):void 0}})}migrateToV13EmbeddingSpace(){let t=this.db;if(!t.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name='qe_pattern_embeddings'").get()){t.exec(Me);return}t.prepare("PRAGMA table_info('qe_pattern_embeddings')").all().some(o=>o.name==="space_id")||t.exec("ALTER TABLE qe_pattern_embeddings ADD COLUMN space_id TEXT"),t.exec("CREATE INDEX IF NOT EXISTS idx_qe_pattern_embeddings_space ON qe_pattern_embeddings(space_id)")}getVectorSearchProvenance(){return this.vectorIndex.getProvider().isNativeBackend()?{backend:"native-hnsw",indexType:"hnsw",approximate:!0,estimatedRecall:this.vectorIndex.recall(),qualifiedMaxK:pe.EF_SEARCH}:{backend:"progressive-hnsw",indexType:"flat",approximate:!1,estimatedRecall:1}}async vectorCount(t){return this.ensureInitialized(),t?this.db.prepare("SELECT COUNT(*) as count FROM vectors WHERE namespace = ?").get(t).count:this.db.prepare("SELECT COUNT(*) as count FROM vectors").get().count}queryCount(t){this.ensureInitialized();let e=v(t);return this.db.prepare(`SELECT COUNT(*) as c FROM ${e}`).get().c}initializeCRDT(t){if(this.crdtStore){console.warn("[UnifiedMemory] CRDT store already initialized");return}this.crdtStore=Ee({nodeId:t}),console.log(`[UnifiedMemory] CRDT store initialized for node: ${t}`)}getCRDTStore(){return this.crdtStore}isCRDTInitialized(){return this.crdtStore!==null}async crdtSet(t,e,r="crdt"){this.ensureInitialized(),this.crdtStore&&this.crdtStore.setRegister(t,e),await this.kvSet(t,e,r)}async crdtGet(t,e="crdt"){if(this.crdtStore){let r=this.crdtStore.getRegister(t);if(r)return r.get()}return this.kvGet(t,e)}crdtIncrement(t,e=1){if(!this.crdtStore)throw new Error("CRDT store not initialized. Call initializeCRDT first.");let r=this.crdtStore.getCounter(t);r||(this.crdtStore.incrementCounter(t,0),r=this.crdtStore.getCounter(t));for(let o=0;o<e;o++)this.crdtStore.incrementCounter(t)}crdtGetCounter(t){return this.crdtStore?this.crdtStore.getCounter(t)?.get()??0:0}crdtAddToSet(t,e){if(!this.crdtStore)throw new Error("CRDT store not initialized. Call initializeCRDT first.");this.crdtStore.addToSet(t,e)}crdtRemoveFromSet(t,e){if(!this.crdtStore)throw new Error("CRDT store not initialized. Call initializeCRDT first.");this.crdtStore.removeFromSet(t,e)}crdtGetSet(t){if(!this.crdtStore)return new Set;let e=this.crdtStore.getSet(t);return new Set(e.values())}crdtGetState(){return this.crdtStore?this.crdtStore.getState():null}crdtGetDelta(t){return this.crdtStore?this.crdtStore.getDelta(t??0):null}crdtMerge(t){if(!this.crdtStore)throw new Error("CRDT store not initialized. Call initializeCRDT first.");this.crdtStore.applyState(t)}crdtApplyDelta(t){if(!this.crdtStore)throw new Error("CRDT store not initialized. Call initializeCRDT first.");this.crdtStore.applyDelta(t)}async crdtPersist(){if(!this.crdtStore)return;let t=this.crdtStore.getState();await this.kvSet("__crdt_state__",t,"crdt-internal")}async crdtRestore(){if(!this.crdtStore)return!1;let t=await this.kvGet("__crdt_state__","crdt-internal");return t?(this.crdtStore.applyState(t),!0):!1}getDatabase(){if(!this.db||!this.initialized)throw new Error("UnifiedMemoryManager not initialized");return this.db}isInitialized(){return this.initialized}getDbPath(){return this.config.dbPath}prepare(t,e){if(!this.db)throw new Error("Database not initialized");let r=this.preparedStatements.get(t);return r||(r=this.db.prepare(e),this.preparedStatements.set(t,r)),r}transaction(t){if(!this.db)throw new Error("Database not initialized");return this.db.transaction(t)()}getStats(){if(!this.db)throw new Error("Database not initialized");let t=qe.map(o=>{try{let s=this.db.prepare(`SELECT COUNT(*) as count FROM ${o}`).get();return{name:o,rowCount:s.count}}catch(s){return U.debug("Table row count query failed",{table:o,error:s instanceof Error?s.message:String(s)}),{name:o,rowCount:0}}}),e=0,r=0;try{N.existsSync(this.config.dbPath)&&(e=N.statSync(this.config.dbPath).size);let o=this.config.dbPath+"-wal";N.existsSync(o)&&(r=N.statSync(o).size)}catch(o){console.debug("[UnifiedMemory] File stat error:",o instanceof Error?o.message:o)}return{tables:t,fileSize:e,walSize:r,vectorIndexSize:this.vectorIndex.size()}}vacuum(){if(!this.db)throw new Error("Database not initialized");this.db.exec("VACUUM")}checkpoint(){if(!this.db)throw new Error("Database not initialized");this.db.pragma("wal_checkpoint(TRUNCATE)")}close(){this.db&&(this.preparedStatements.clear(),this.vectorIndex.clear(),this.db.close(),this.db=null,this.initialized=!1,console.log("[UnifiedMemory] Database closed"))}ensureInitialized(){if(!this.initialized||!this.db)throw new Error("UnifiedMemoryManager not initialized. Call initialize() first.")}floatArrayToBuffer(t){let e=Buffer.alloc(t.length*4);for(let r=0;r<t.length;r++)e.writeFloatLE(t[r],r*4);return e}bufferToFloatArray(t,e){let r=new Float32Array(t.buffer,t.byteOffset,e);return Array.from(r)}};Ve=!1;It()});export{J as a,v as b,bt as c,Z as d,ve as e,ee as f,re as g,se as h,He as i,We as j,Je as k,Ze as l,et as m,D as n,tt as o,Rt as p,Lt as q,Ct as r,Ot as s};
@@ -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.2");process.exit(0)}
2
- import{b as k,c as p}from"./chunk-MYDZBABD.js";p();import{generateKeyPairSync as g,createPrivateKey as v,createPublicKey as I,sign as m,verify as D,createHash as b}from"crypto";import{existsSync as d,mkdirSync as P,writeFileSync as y,readFileSync as o,readdirSync as w}from"fs";import{join as n}from"path";var f=class{keys=new Map;activeKeyId=null;keyDir;constructor(e={}){this.keyDir=e.keyDir??null,this.keyDir&&this.loadFromDisk(),e.autoGenerate!==!1&&this.keys.size===0&&this.generateKeyPair()}generateKeyPair(){let{publicKey:e,privateKey:i}=g("ed25519"),r=e.export({type:"spki",format:"der"}),t=b("sha256").update(r).digest("hex").slice(0,16),s={keyId:t,publicKey:e,privateKey:i,createdAt:new Date().toISOString(),retired:!1};return this.keys.set(t,s),this.activeKeyId=t,this.keyDir&&(this.saveKeyPairToDisk(s),this.saveActiveKeyId()),{keyId:t,publicKey:r}}sign(e,i){let r=i??this.activeKeyId;if(!r)throw new Error("No active key available for signing");let t=this.keys.get(r);if(!t)throw new Error(`Key not found: ${r}`);return{signature:m(null,e,t.privateKey),keyId:r}}verify(e,i,r){let t=this.keys.get(r);if(!t)return!1;try{return D(null,e,t.publicKey,i)}catch{return!1}}rotateKey(){let e=this.activeKeyId;if(!e)throw new Error("No active key to rotate");let i=this.keys.get(e);i&&(i.retired=!0,this.keyDir&&this.saveKeyPairToDisk(i));let{keyId:r}=this.generateKeyPair();return{oldKeyId:e,newKeyId:r}}getActiveKeyId(){if(!this.activeKeyId)throw new Error("No active key");return this.activeKeyId}hasKey(e){return this.keys.has(e)}getKeyCount(){return this.keys.size}saveKeyPairToDisk(e){if(!this.keyDir)return;d(this.keyDir)||P(this.keyDir,{recursive:!0});let i=n(this.keyDir,e.keyId);y(`${i}.pub.pem`,e.publicKey.export({type:"spki",format:"pem"}),"utf-8"),y(`${i}.key.pem`,e.privateKey.export({type:"pkcs8",format:"pem"}),{encoding:"utf-8",mode:384}),y(`${i}.meta.json`,JSON.stringify({keyId:e.keyId,createdAt:e.createdAt,retired:e.retired}),"utf-8")}saveActiveKeyId(){!this.keyDir||!this.activeKeyId||y(n(this.keyDir,"active-key-id"),this.activeKeyId,"utf-8")}loadFromDisk(){if(!this.keyDir||!d(this.keyDir))return;let i=w(this.keyDir).filter(t=>t.endsWith(".meta.json"));for(let t of i)try{let s=JSON.parse(o(n(this.keyDir,t),"utf-8")),a=n(this.keyDir,s.keyId),l=o(`${a}.pub.pem`,"utf-8"),K=o(`${a}.key.pem`,"utf-8"),h={keyId:s.keyId,publicKey:I(l),privateKey:v(K),createdAt:s.createdAt,retired:s.retired};this.keys.set(s.keyId,h)}catch{}let r=n(this.keyDir,"active-key-id");if(d(r)){let t=o(r,"utf-8").trim();this.keys.has(t)&&(this.activeKeyId=t)}if(!this.activeKeyId){let t=[...this.keys.values()].filter(s=>!s.retired).sort((s,a)=>a.createdAt.localeCompare(s.createdAt));t.length>0&&(this.activeKeyId=t[0].keyId)}}},c=null;function F(){if(!c){let u=n(k(),".agentic-qe","witness-keys");c=new f({keyDir:u})}return c}function O(){c=null}export{f as a,F as b,O as c};
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.4");process.exit(0)}
2
+ import{b as k,c as p}from"./chunk-O7TMY4GS.js";p();import{generateKeyPairSync as g,createPrivateKey as v,createPublicKey as I,sign as m,verify as D,createHash as b}from"crypto";import{existsSync as d,mkdirSync as P,writeFileSync as y,readFileSync as o,readdirSync as w}from"fs";import{join as n}from"path";var f=class{keys=new Map;activeKeyId=null;keyDir;constructor(e={}){this.keyDir=e.keyDir??null,this.keyDir&&this.loadFromDisk(),e.autoGenerate!==!1&&this.keys.size===0&&this.generateKeyPair()}generateKeyPair(){let{publicKey:e,privateKey:i}=g("ed25519"),r=e.export({type:"spki",format:"der"}),t=b("sha256").update(r).digest("hex").slice(0,16),s={keyId:t,publicKey:e,privateKey:i,createdAt:new Date().toISOString(),retired:!1};return this.keys.set(t,s),this.activeKeyId=t,this.keyDir&&(this.saveKeyPairToDisk(s),this.saveActiveKeyId()),{keyId:t,publicKey:r}}sign(e,i){let r=i??this.activeKeyId;if(!r)throw new Error("No active key available for signing");let t=this.keys.get(r);if(!t)throw new Error(`Key not found: ${r}`);return{signature:m(null,e,t.privateKey),keyId:r}}verify(e,i,r){let t=this.keys.get(r);if(!t)return!1;try{return D(null,e,t.publicKey,i)}catch{return!1}}rotateKey(){let e=this.activeKeyId;if(!e)throw new Error("No active key to rotate");let i=this.keys.get(e);i&&(i.retired=!0,this.keyDir&&this.saveKeyPairToDisk(i));let{keyId:r}=this.generateKeyPair();return{oldKeyId:e,newKeyId:r}}getActiveKeyId(){if(!this.activeKeyId)throw new Error("No active key");return this.activeKeyId}hasKey(e){return this.keys.has(e)}getKeyCount(){return this.keys.size}saveKeyPairToDisk(e){if(!this.keyDir)return;d(this.keyDir)||P(this.keyDir,{recursive:!0});let i=n(this.keyDir,e.keyId);y(`${i}.pub.pem`,e.publicKey.export({type:"spki",format:"pem"}),"utf-8"),y(`${i}.key.pem`,e.privateKey.export({type:"pkcs8",format:"pem"}),{encoding:"utf-8",mode:384}),y(`${i}.meta.json`,JSON.stringify({keyId:e.keyId,createdAt:e.createdAt,retired:e.retired}),"utf-8")}saveActiveKeyId(){!this.keyDir||!this.activeKeyId||y(n(this.keyDir,"active-key-id"),this.activeKeyId,"utf-8")}loadFromDisk(){if(!this.keyDir||!d(this.keyDir))return;let i=w(this.keyDir).filter(t=>t.endsWith(".meta.json"));for(let t of i)try{let s=JSON.parse(o(n(this.keyDir,t),"utf-8")),a=n(this.keyDir,s.keyId),l=o(`${a}.pub.pem`,"utf-8"),K=o(`${a}.key.pem`,"utf-8"),h={keyId:s.keyId,publicKey:I(l),privateKey:v(K),createdAt:s.createdAt,retired:s.retired};this.keys.set(s.keyId,h)}catch{}let r=n(this.keyDir,"active-key-id");if(d(r)){let t=o(r,"utf-8").trim();this.keys.has(t)&&(this.activeKeyId=t)}if(!this.activeKeyId){let t=[...this.keys.values()].filter(s=>!s.retired).sort((s,a)=>a.createdAt.localeCompare(s.createdAt));t.length>0&&(this.activeKeyId=t[0].keyId)}}},c=null;function F(){if(!c){let u=n(k(),".agentic-qe","witness-keys");c=new f({keyDir:u})}return c}function O(){c=null}export{f as a,F as b,O as c};
@@ -1,3 +1,3 @@
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.2");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.4");process.exit(0)}
2
2
  import{readFileSync as R,existsSync as v,readdirSync as y}from"fs";import{join as S}from"path";var M=100*1024,b=/mcp__([a-z][a-z0-9-]*)__([a-z][a-z0-9_]*)/g,x=/^```/;function w(e,r){let n=e.length>M?e.slice(0,M):e,o=[],i=n.split(`
3
3
  `),a=!1;for(let s=0;s<i.length;s++){let p=i[s];if(x.test(p.trim())){a=!a;continue}let l,c=new RegExp(b.source,"g");for(;(l=c.exec(p))!==null;){let t=l[1],g=l[2],f=l[0],d=a?"code-block":"prose",u=d==="prose"?.9:.5;o.push({toolName:f,serverName:t,actionName:g,confidence:u,context:d,lineNumber:s+1})}}return o}function E(e){let r=new Map;for(let n of e)r.has(n.serverName)||r.set(n.serverName,[]),r.get(n.serverName).push(n);return r}function N(e){let r=[],n=[S(e,".claude","mcp.json"),S(e,".mcp.json")],o=process.env.HOME||process.env.USERPROFILE||"";o&&n.push(S(o,".claude","mcp.json"));for(let i of n)if(v(i))try{let a=R(i,"utf-8"),s=JSON.parse(a);s.mcpServers&&typeof s.mcpServers=="object"&&r.push(...Object.keys(s.mcpServers))}catch{}return[...new Set(r)]}function h(e,r,n){if(!v(e))return{agentName:r,references:[],requiredServers:[],availableServers:n,missingServers:[],warnings:[`Agent file not found: ${e}`],allSatisfied:!0};let o;try{o=R(e,"utf-8")}catch{return{agentName:r,references:[],requiredServers:[],availableServers:n,missingServers:[],warnings:[`Failed to read agent file: ${e}`],allSatisfied:!0}}let i=w(o,r),a=E(i),s=[...a.keys()],p=new Set(n),l=s.filter(t=>!p.has(t)),c=[];for(let t of l){let g=a.get(t)||[],f=Math.max(...g.map(m=>m.confidence)),d=g.length,u=[...new Set(g.map(m=>m.context))].join(", ");c.push(`[advisory] Agent "${r}" references MCP server "${t}" (${d} tool ref${d>1?"s":""}, confidence: ${f}, context: ${u}) but server is not configured. Agent may have reduced capabilities.`)}return{agentName:r,references:i,requiredServers:s,availableServers:n,missingServers:l,warnings:c,allSatisfied:l.length===0}}function C(e,r){let n=Date.now(),o=[],i=[],a=N(r);if(!v(e))return{agents:[],totalServersReferenced:0,globalMissingServers:[],agentsWithMissingDeps:[],warnings:[`Agents directory not found: ${e}`],durationMs:Date.now()-n};try{let c=y(e);for(let g of c){if(!g.endsWith(".md"))continue;let f=g.replace(".md",""),d=S(e,g),u=h(d,f,a);o.push(u),i.push(...u.warnings)}let t=S(e,"subagents");if(v(t)){let g=y(t);for(let f of g){if(!f.endsWith(".md"))continue;let d=f.replace(".md",""),u=S(t,f),m=h(u,d,a);o.push(m),i.push(...m.warnings)}}}catch(c){i.push(`Error scanning agents directory: ${c.message}`)}let s=new Set,p=new Set,l=[];for(let c of o){for(let t of c.requiredServers)s.add(t);for(let t of c.missingServers)p.add(t);c.missingServers.length>0&&l.push(c.agentName)}return{agents:o,totalServersReferenced:s.size,globalMissingServers:[...p],agentsWithMissingDeps:l,warnings:i,durationMs:Date.now()-n}}export{N as a,C as b};