agentic-qe 3.15.14 → 3.15.16

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 (513) hide show
  1. package/.claude/agents/v3/templates/qx-report-template.html +1 -1
  2. package/.claude/skills/skills-manifest.json +1 -1
  3. package/CHANGELOG.md +136 -0
  4. package/assets/agents/v3/templates/qx-report-template.html +1 -1
  5. package/assets/skills/skills-manifest.json +1 -1
  6. package/dist/audit/witness-chain.d.ts +7 -0
  7. package/dist/audit/witness-chain.js +10 -0
  8. package/dist/cli/bundle.js +6 -6
  9. package/dist/cli/chunks/adapter-6CQ2PIP5.js +2 -0
  10. package/dist/cli/chunks/agent-booster-wasm-45NWEKVS.js +2 -0
  11. package/dist/cli/chunks/{agent-handler-P3IY7XEE.js → agent-handler-LVHMYFEF.js} +2 -2
  12. package/dist/cli/chunks/{agent-memory-branch-WWKC2H3G.js → agent-memory-branch-YDWOJFEQ.js} +2 -2
  13. package/dist/cli/chunks/aqe-learning-engine-73RR52VS.js +2 -0
  14. package/dist/cli/chunks/{arena-EIV5OALF.js → arena-CZKHXDDS.js} +2 -2
  15. package/dist/cli/chunks/{arena-4BMFF6BS.js → arena-ELDZH3CZ.js} +4 -4
  16. package/dist/cli/chunks/{audit-DNTI453H.js → audit-5MT4T47Z.js} +3 -3
  17. package/dist/cli/chunks/base-SMCMMVGP.js +2 -0
  18. package/dist/cli/chunks/{better-sqlite3-TQBQGNC6.js → better-sqlite3-6TGYPC2B.js} +2 -2
  19. package/dist/cli/chunks/{brain-handler-HY57CNAO.js → brain-handler-HQWZFO52.js} +3 -3
  20. package/dist/cli/chunks/{branch-enumerator-THPMZPHQ.js → branch-enumerator-WVILM4SO.js} +2 -2
  21. package/dist/cli/chunks/{browser-O6JJOZCK.js → browser-RX5ALU3H.js} +2 -2
  22. package/dist/cli/chunks/browser-workflow-A2MEZ66K.js +2 -0
  23. package/dist/cli/chunks/{chunk-CIINJHOX.js → chunk-24OX5TQJ.js} +1 -1
  24. package/dist/cli/chunks/{chunk-6P4Q4RTC.js → chunk-24QHCVX6.js} +1 -1
  25. package/dist/cli/chunks/{chunk-U6IOQKCT.js → chunk-2H4XH6FT.js} +2 -2
  26. package/dist/cli/chunks/{chunk-OGEIHS76.js → chunk-2YZ4G6NW.js} +1 -1
  27. package/dist/cli/chunks/chunk-32BPDLRZ.js +27 -0
  28. package/dist/cli/chunks/{chunk-5PLBQZ5J.js → chunk-32GN3JKR.js} +1 -1
  29. package/dist/cli/chunks/{chunk-AJVLVF7V.js → chunk-3HD7E6HN.js} +2 -2
  30. package/dist/cli/chunks/{chunk-X7CUI7KH.js → chunk-4D4DENG6.js} +2 -2
  31. package/dist/cli/chunks/{chunk-E2JLAW3U.js → chunk-4LQFBY5L.js} +6 -6
  32. package/dist/cli/chunks/{chunk-E3QIQMMN.js → chunk-4NFQLP6R.js} +1 -1
  33. package/dist/cli/chunks/{chunk-7Y3LXH57.js → chunk-525CFDUE.js} +2 -2
  34. package/dist/cli/chunks/chunk-5B5QPCNU.js +65 -0
  35. package/dist/cli/chunks/{chunk-X6Q2N5S5.js → chunk-5JZRZI4S.js} +2 -2
  36. package/dist/cli/chunks/{chunk-MB4UKUBV.js → chunk-5LAVKGLH.js} +2 -2
  37. package/dist/cli/chunks/chunk-5NNNEWLS.js +755 -0
  38. package/dist/cli/chunks/{chunk-NKOLILT7.js → chunk-5PBLPQ5T.js} +2 -2
  39. package/dist/cli/chunks/chunk-5QO3R3TU.js +6 -0
  40. package/dist/cli/chunks/{chunk-7T6L3LFN.js → chunk-5SPCGMBB.js} +2 -2
  41. package/dist/cli/chunks/{chunk-2QLE6NDW.js → chunk-5V3TI2LG.js} +1 -1
  42. package/dist/cli/chunks/{chunk-A2T56XVL.js → chunk-5VZL4UVN.js} +2 -2
  43. package/dist/cli/chunks/{chunk-TWOV3I3A.js → chunk-63GMRQ25.js} +1 -1
  44. package/dist/cli/chunks/{chunk-YGOSSVY5.js → chunk-63ZKI4PX.js} +6 -6
  45. package/dist/cli/chunks/{chunk-FHPNWHY7.js → chunk-67Z5R7RJ.js} +2 -2
  46. package/dist/cli/chunks/{chunk-PCQZIAXB.js → chunk-6DPYNAOK.js} +2 -2
  47. package/dist/cli/chunks/{chunk-WCM6WE7G.js → chunk-6ICX3FEG.js} +3 -3
  48. package/dist/cli/chunks/{chunk-JB7R77SH.js → chunk-6XXZDV2C.js} +2 -2
  49. package/dist/cli/chunks/{chunk-FJOIBZUB.js → chunk-6ZBXSOX6.js} +2 -2
  50. package/dist/cli/chunks/{chunk-WZQADC5R.js → chunk-72XSEQMW.js} +2 -2
  51. package/dist/cli/chunks/{chunk-AYLEH2UF.js → chunk-7TE5ONQQ.js} +1 -1
  52. package/dist/cli/chunks/{chunk-7QUSNBAA.js → chunk-A5GBXCP5.js} +2 -2
  53. package/dist/cli/chunks/{chunk-7724KXM2.js → chunk-AAMLQ2LF.js} +3 -3
  54. package/dist/cli/chunks/chunk-AG2EWGXS.js +21 -0
  55. package/dist/cli/chunks/{chunk-2UZBLC5H.js → chunk-AGRV5B3T.js} +2 -2
  56. package/dist/cli/chunks/{chunk-V6SE2ZU2.js → chunk-AJMJNQMP.js} +1 -1
  57. package/dist/cli/chunks/{chunk-2HPNGK7A.js → chunk-AR67RJPY.js} +2 -2
  58. package/dist/cli/chunks/{chunk-G7HGUQAE.js → chunk-ASEOFRIG.js} +2 -2
  59. package/dist/cli/chunks/{chunk-7TH4PJSU.js → chunk-BEKDKVQT.js} +2 -2
  60. package/dist/cli/chunks/{chunk-M5JEA6ZY.js → chunk-BY5OF7OH.js} +2 -2
  61. package/dist/cli/chunks/{chunk-OLUOVNUF.js → chunk-C5FP5GW3.js} +2 -2
  62. package/dist/cli/chunks/{chunk-R5RRWLRI.js → chunk-C6D5AHBO.js} +2 -2
  63. package/dist/cli/chunks/{chunk-K7GFYFBO.js → chunk-CAKMOVZ6.js} +2 -2
  64. package/dist/cli/chunks/{chunk-6NIGSY5L.js → chunk-CEYSYSK5.js} +2 -2
  65. package/dist/cli/chunks/{chunk-U4TML2VD.js → chunk-CGGUM2YJ.js} +2 -2
  66. package/dist/cli/chunks/{chunk-YE54T2NQ.js → chunk-CJSHWQXP.js} +2 -2
  67. package/dist/cli/chunks/{chunk-7SQTLUEN.js → chunk-CRPIYUTJ.js} +2 -2
  68. package/dist/cli/chunks/{chunk-65EE2EST.js → chunk-D6COXLYE.js} +2 -2
  69. package/dist/cli/chunks/{chunk-4WLIOPHX.js → chunk-DTMAS2GB.js} +2 -2
  70. package/dist/cli/chunks/{chunk-E7QTWGPI.js → chunk-DVYHMDFR.js} +470 -411
  71. package/dist/cli/chunks/chunk-DXD6K2ZP.js +3 -0
  72. package/dist/cli/chunks/{chunk-HSDWPQQY.js → chunk-E3D4GPLP.js} +3 -3
  73. package/dist/cli/chunks/{chunk-JJHLGGPP.js → chunk-EA4YQVKS.js} +1 -1
  74. package/dist/cli/chunks/{chunk-EIEEST4T.js → chunk-EGYE5UPQ.js} +2 -2
  75. package/dist/cli/chunks/{chunk-O756AOUX.js → chunk-EK7OLYOZ.js} +2 -2
  76. package/dist/cli/chunks/{chunk-57DRT6UA.js → chunk-F742SZAX.js} +2 -2
  77. package/dist/cli/chunks/{chunk-6OI5SK7M.js → chunk-FBDVGRSC.js} +1 -1
  78. package/dist/cli/chunks/{chunk-H3C5FJRH.js → chunk-FDDC72IA.js} +2 -2
  79. package/dist/cli/chunks/{chunk-IQRPR4KB.js → chunk-FL64OUBA.js} +2 -2
  80. package/dist/cli/chunks/{chunk-BNG4J3CE.js → chunk-FLNAW7C4.js} +2 -2
  81. package/dist/cli/chunks/{chunk-C3OIBFAA.js → chunk-G5RHFBAY.js} +2 -2
  82. package/dist/cli/chunks/{chunk-NPCXGX7N.js → chunk-GAHNO6JJ.js} +2 -2
  83. package/dist/cli/chunks/{chunk-PNRPVQGI.js → chunk-GFWHUQSF.js} +2 -2
  84. package/dist/cli/chunks/{chunk-OCN53CCK.js → chunk-GJYHWYXR.js} +2 -2
  85. package/dist/cli/chunks/{chunk-5Z4MO2F3.js → chunk-GQ6TUIKY.js} +1 -1
  86. package/dist/cli/chunks/{chunk-N736GLWZ.js → chunk-GSKMOPL7.js} +2 -2
  87. package/dist/cli/chunks/{chunk-43XHGWYH.js → chunk-HCH4Y6XX.js} +2 -2
  88. package/dist/cli/chunks/{chunk-QP6GL3O5.js → chunk-HGWXF45W.js} +1 -1
  89. package/dist/cli/chunks/{chunk-PGN4TARY.js → chunk-HJ6ZGVTB.js} +2 -2
  90. package/dist/cli/chunks/{chunk-M2TG7VDK.js → chunk-HLUXXCHF.js} +1 -1
  91. package/dist/cli/chunks/{chunk-UMHFTQTR.js → chunk-HVRRLYX6.js} +4 -4
  92. package/dist/cli/chunks/{chunk-L7PC675Y.js → chunk-I7MQIM2U.js} +1 -1
  93. package/dist/cli/chunks/{chunk-JSSU4RIK.js → chunk-IESR7TNB.js} +2 -2
  94. package/dist/cli/chunks/{chunk-H4LYXLAT.js → chunk-IHRXZZQM.js} +1 -1
  95. package/dist/cli/chunks/{chunk-HV43NX4A.js → chunk-IOKYCMTJ.js} +6 -6
  96. package/dist/cli/chunks/{chunk-NZQYJCO6.js → chunk-IOQ6ZQ5W.js} +1 -1
  97. package/dist/cli/chunks/{chunk-JO26SG47.js → chunk-IOYG4VFL.js} +2 -2
  98. package/dist/cli/chunks/{chunk-6O63ZTVX.js → chunk-IUBJVHNB.js} +2 -2
  99. package/dist/cli/chunks/{chunk-XSPMLJCQ.js → chunk-J442IZLE.js} +1 -1
  100. package/dist/cli/chunks/{chunk-LTGQJYYO.js → chunk-J4ELZNLY.js} +2 -2
  101. package/dist/cli/chunks/chunk-J7I6PABJ.js +153 -0
  102. package/dist/cli/chunks/chunk-JDIYMZCQ.js +2 -0
  103. package/dist/cli/chunks/{chunk-TOJF3ZG4.js → chunk-JHQCRRJI.js} +2 -2
  104. package/dist/cli/chunks/{chunk-QUZ745UQ.js → chunk-JQ3DYUMS.js} +2 -2
  105. package/dist/cli/chunks/{chunk-P2TPH3TC.js → chunk-KITOPKRG.js} +2 -2
  106. package/dist/cli/chunks/{chunk-QNQE3EOH.js → chunk-KKU2QGSJ.js} +2 -2
  107. package/dist/cli/chunks/chunk-KL7OKSU2.js +4 -0
  108. package/dist/cli/chunks/{chunk-L5VSLPMW.js → chunk-KNSRL6NO.js} +2 -2
  109. package/dist/cli/chunks/{chunk-INGXD5IX.js → chunk-KPRCB5LT.js} +2 -2
  110. package/dist/cli/chunks/{chunk-GY4P7KAI.js → chunk-KQYJ4VQ5.js} +1 -1
  111. package/dist/cli/chunks/{chunk-Z2S7DNFP.js → chunk-KU2AUFGX.js} +2 -2
  112. package/dist/cli/chunks/{chunk-O5CEL447.js → chunk-KVF4NXGQ.js} +2 -2
  113. package/dist/cli/chunks/{chunk-2IJO3657.js → chunk-KXCLACFG.js} +2 -2
  114. package/dist/cli/chunks/{chunk-ZJGFQK27.js → chunk-L2DWPVNJ.js} +1 -1
  115. package/dist/cli/chunks/{chunk-E7OR6V3V.js → chunk-L6QSTQME.js} +2 -2
  116. package/dist/cli/chunks/{chunk-RE6JTSDM.js → chunk-LE4QJREF.js} +1 -1
  117. package/dist/cli/chunks/{chunk-DSQESXL4.js → chunk-LKTTUHLF.js} +2 -2
  118. package/dist/cli/chunks/{chunk-YGC5QKQ4.js → chunk-LQLPB2T6.js} +2 -2
  119. package/dist/cli/chunks/{chunk-VGZOPQQY.js → chunk-LRSX2FJM.js} +1 -1
  120. package/dist/cli/chunks/chunk-M4FRQ4TE.js +12 -0
  121. package/dist/cli/chunks/chunk-M7WJCTG3.js +2 -0
  122. package/dist/cli/chunks/{chunk-56NSE3LJ.js → chunk-MAFQV4U4.js} +2 -2
  123. package/dist/cli/chunks/{chunk-MKYOE7NE.js → chunk-MD43XRX5.js} +1 -1
  124. package/dist/cli/chunks/{chunk-3TF27MG5.js → chunk-MI5MFHRA.js} +2 -2
  125. package/dist/cli/chunks/{chunk-JK6PMLQQ.js → chunk-MO55CVMT.js} +32 -32
  126. package/dist/cli/chunks/{chunk-X6NJOT3V.js → chunk-N7HL5PHH.js} +1 -1
  127. package/dist/cli/chunks/chunk-NAEWCFQT.js +14 -0
  128. package/dist/cli/chunks/{chunk-WUGXXNK4.js → chunk-NDJ7P2EP.js} +1 -1
  129. package/dist/cli/chunks/{chunk-D5GB5PUU.js → chunk-NO3IV5Q5.js} +1 -1
  130. package/dist/cli/chunks/{chunk-3XACRXBY.js → chunk-NQXXI77K.js} +2 -2
  131. package/dist/cli/chunks/{chunk-EC65UZ77.js → chunk-NVEWF4JV.js} +1 -1
  132. package/dist/cli/chunks/{chunk-JI67T6Q2.js → chunk-NZU4ACBZ.js} +2 -2
  133. package/dist/cli/chunks/chunk-O5W3FIO6.js +63 -0
  134. package/dist/cli/chunks/{chunk-YEFTK4HD.js → chunk-OAEE6JWQ.js} +2 -2
  135. package/dist/cli/chunks/{chunk-JAOCHPYX.js → chunk-OCV2XEWQ.js} +2 -2
  136. package/dist/cli/chunks/{chunk-IDBA5GK2.js → chunk-P3EYRILV.js} +2 -2
  137. package/dist/cli/chunks/{chunk-4RPBODN5.js → chunk-PEQDY4BO.js} +2 -2
  138. package/dist/cli/chunks/{chunk-CPPYZYXC.js → chunk-PF7RBAYL.js} +2 -2
  139. package/dist/cli/chunks/{chunk-WCPSR4MJ.js → chunk-PHT5N7SC.js} +2 -2
  140. package/dist/cli/chunks/{chunk-O2AAYJUV.js → chunk-PINSJCM3.js} +1 -1
  141. package/dist/cli/chunks/{chunk-HEDGFKC5.js → chunk-PPUZWYUG.js} +2 -2
  142. package/dist/cli/chunks/{chunk-XMCSKYDE.js → chunk-QPEOLAAS.js} +1 -1
  143. package/dist/cli/chunks/{chunk-7MUO4DEH.js → chunk-QQWBWEJS.js} +18 -18
  144. package/dist/cli/chunks/{chunk-UFP7SN5V.js → chunk-QVDCVD5D.js} +2 -2
  145. package/dist/cli/chunks/{chunk-NHEG2DLN.js → chunk-RJIEG3NA.js} +2 -2
  146. package/dist/cli/chunks/{chunk-KJ5A54ZH.js → chunk-RV74I3YO.js} +2 -2
  147. package/dist/cli/chunks/{chunk-UDSB3XCG.js → chunk-S75SOOZL.js} +2 -2
  148. package/dist/cli/chunks/{chunk-BPDAQB3F.js → chunk-SASBO5Y5.js} +2 -2
  149. package/dist/cli/chunks/{chunk-VJBJRFUO.js → chunk-SDLWKRVL.js} +9 -9
  150. package/dist/cli/chunks/{chunk-J6ASX536.js → chunk-SHKOCGNK.js} +2 -2
  151. package/dist/cli/chunks/{chunk-J35JWDJE.js → chunk-SI6DPU5D.js} +1 -1
  152. package/dist/cli/chunks/{chunk-V3MGY76S.js → chunk-SJ6Y4725.js} +2 -2
  153. package/dist/cli/chunks/{chunk-FTYRPEJS.js → chunk-SR52XP5F.js} +1 -1
  154. package/dist/cli/chunks/{chunk-ZUE524JL.js → chunk-SSUAAX3F.js} +2 -2
  155. package/dist/cli/chunks/{chunk-VG32EEUG.js → chunk-SSYAQZXA.js} +2 -2
  156. package/dist/cli/chunks/{chunk-HTVGHHX2.js → chunk-SUDMM5SO.js} +2 -2
  157. package/dist/cli/chunks/{chunk-K2SMP4OD.js → chunk-TIUKLYAI.js} +1 -1
  158. package/dist/cli/chunks/{chunk-VCVRZD4Y.js → chunk-TVGI32MB.js} +33 -33
  159. package/dist/cli/chunks/{chunk-CAZM63TP.js → chunk-U2A7NHZA.js} +2 -2
  160. package/dist/cli/chunks/{chunk-WBC6WB32.js → chunk-UE5ZOZR2.js} +2 -2
  161. package/dist/cli/chunks/{chunk-BQJ7CV53.js → chunk-UHEOGZLX.js} +12 -12
  162. package/dist/cli/chunks/chunk-UNGBRZDK.js +12 -0
  163. package/dist/cli/chunks/{chunk-XN3KCKAM.js → chunk-V5NHZV7S.js} +2 -2
  164. package/dist/cli/chunks/{chunk-UNYTHZDZ.js → chunk-VJCIEHEF.js} +1 -1
  165. package/dist/cli/chunks/{chunk-5Y7UFHJD.js → chunk-VMDFFTCK.js} +1 -1
  166. package/dist/cli/chunks/chunk-VSIKHWZ4.js +29 -0
  167. package/dist/cli/chunks/{chunk-UPWLMIDY.js → chunk-VWPM27GU.js} +2 -2
  168. package/dist/cli/chunks/{chunk-USAKCGHC.js → chunk-VXFLJNCA.js} +2 -2
  169. package/dist/cli/chunks/{chunk-WKI46WWN.js → chunk-W5HQUIML.js} +2 -2
  170. package/dist/cli/chunks/{chunk-Z54G2YOL.js → chunk-WP4RETKG.js} +2 -2
  171. package/dist/cli/chunks/{chunk-IRPNEXOU.js → chunk-XIIQ5QTT.js} +2 -2
  172. package/dist/cli/chunks/{chunk-O32BFQV4.js → chunk-XIQW7EFL.js} +2 -2
  173. package/dist/cli/chunks/{chunk-TW6Z6W4X.js → chunk-XWUWX7BV.js} +13 -13
  174. package/dist/cli/chunks/{chunk-57FX3GP6.js → chunk-Y4PFUMOU.js} +1 -1
  175. package/dist/cli/chunks/chunk-YAPLJR7K.js +2 -0
  176. package/dist/cli/chunks/{chunk-4T7XV5KQ.js → chunk-YLMNVLDK.js} +1 -1
  177. package/dist/cli/chunks/{chunk-TSP6SU5V.js → chunk-YNMJEDN5.js} +2 -2
  178. package/dist/cli/chunks/{chunk-PWQWKYBG.js → chunk-YPBSUGMI.js} +1 -1
  179. package/dist/cli/chunks/{chunk-QP2HLKTS.js → chunk-YRAX7SFJ.js} +2 -2
  180. package/dist/cli/chunks/{chunk-O3ERGUXH.js → chunk-YTHTQPWR.js} +1 -1
  181. package/dist/cli/chunks/{chunk-MR2OPUSA.js → chunk-YU2BDRSD.js} +1 -1
  182. package/dist/cli/chunks/chunk-ZB3LEFYG.js +2 -0
  183. package/dist/cli/chunks/{chunk-2W5MQDHM.js → chunk-ZFL436FN.js} +2 -2
  184. package/dist/cli/chunks/{chunk-7MISCSL5.js → chunk-ZJH5MU2I.js} +2 -2
  185. package/dist/cli/chunks/{chunk-52KOPIMI.js → chunk-ZQ2XW3IP.js} +2 -2
  186. package/dist/cli/chunks/chunk-ZR2TKVXQ.js +14 -0
  187. package/dist/cli/chunks/{ci-UMA2SMNW.js → ci-MFUR4CWV.js} +2 -2
  188. package/dist/cli/chunks/{ci-config-UQSILJFQ.js → ci-config-PNDLQ6XV.js} +2 -2
  189. package/dist/cli/chunks/{ci-output-U6YZLLKH.js → ci-output-PFZ4M7NC.js} +2 -2
  190. package/dist/cli/chunks/{circuit-breaker-ATYQP6X2.js → circuit-breaker-5HH6NLZN.js} +2 -2
  191. package/dist/cli/chunks/{claude-flow-setup-6YHFD7AN.js → claude-flow-setup-QCKYLGLC.js} +2 -2
  192. package/dist/cli/chunks/client-MHQRTZM4.js +2 -0
  193. package/dist/cli/chunks/{cline-installer-EPE7IOZE.js → cline-installer-EASVPFXR.js} +2 -2
  194. package/dist/cli/chunks/{code-NUEJ4XYO.js → code-UJXDVYRK.js} +4 -3
  195. package/dist/cli/chunks/{code-index-extractor-D4DBT6OL.js → code-index-extractor-BZJ3UDP4.js} +2 -2
  196. package/dist/cli/chunks/{codex-installer-633SM4LR.js → codex-installer-XSQZUVOZ.js} +4 -4
  197. package/dist/cli/chunks/{completions-WUKVIW3L.js → completions-OWOOJFI2.js} +2 -2
  198. package/dist/cli/chunks/{complexity-analyzer-F73ACR5H.js → complexity-analyzer-KP5TOHDT.js} +2 -2
  199. package/dist/cli/chunks/{continuedev-installer-QH42TKMS.js → continuedev-installer-IFKQXLHM.js} +2 -2
  200. package/dist/cli/chunks/{copilot-installer-Y3XC7BTT.js → copilot-installer-IGJ6KGQY.js} +2 -2
  201. package/dist/cli/chunks/core-handlers-UAK3LLJE.js +2 -0
  202. package/dist/cli/chunks/{cost-tracker-57QPV7E3.js → cost-tracker-MMDDNKZB.js} +2 -2
  203. package/dist/cli/chunks/{coverage-IBCHMBCR.js → coverage-LUH2B7NT.js} +3 -3
  204. package/dist/cli/chunks/cross-domain-router-WTRZQPNQ.js +2 -0
  205. package/dist/cli/chunks/{cursor-installer-F4UYQHIN.js → cursor-installer-4YLM5GWM.js} +2 -2
  206. package/dist/cli/chunks/daemon-CAVZ7OFV.js +18 -0
  207. package/dist/cli/chunks/{daemon-XR4Q6YZF.js → daemon-MZKVM4CJ.js} +3 -3
  208. package/dist/cli/chunks/{dag-attention-scheduler-ZR5ZD3TW.js → dag-attention-scheduler-X4CYW665.js} +2 -2
  209. package/dist/cli/chunks/{detect-GEGYURLL.js → detect-7BM2XINO.js} +2 -2
  210. package/dist/cli/chunks/{dist-node-JU3KT2JO.js → dist-node-Y5APLEYB.js} +2 -2
  211. package/dist/cli/chunks/{domain-handler-7QI3FJGE.js → domain-handler-X3ZRJNAH.js} +2 -2
  212. package/dist/cli/chunks/{domain-plugins-O2YRM2PD.js → domain-plugins-2UW5KQJB.js} +2 -2
  213. package/dist/cli/chunks/{domain-transfer-7J3S2OS6.js → domain-transfer-35W4CIBV.js} +2 -2
  214. package/dist/cli/chunks/dream-EJY24JN6.js +2 -0
  215. package/dist/cli/chunks/embed-and-insert-pattern-COG4C7ZI.js +3 -0
  216. package/dist/cli/chunks/embedding-space-SBM2MZD2.js +2 -0
  217. package/dist/cli/chunks/{eval-RVMCIUOR.js → eval-4QA2SROK.js} +2 -2
  218. package/dist/cli/chunks/experience-capture-middleware-Z6BF6KYM.js +40 -0
  219. package/dist/cli/chunks/{fast-paths-QUKPKWKZ.js → fast-paths-FIORX6GN.js} +2 -2
  220. package/dist/cli/chunks/{feature-flags-K7JXNKJI.js → feature-flags-6LYI2T4G.js} +2 -2
  221. package/dist/cli/chunks/{feature-flags-5JCSKL2P.js → feature-flags-ZOO7LMIC.js} +2 -2
  222. package/dist/cli/chunks/file-discovery-UZSFSS4V.js +2 -0
  223. package/dist/cli/chunks/{fleet-II4Q6HXK.js → fleet-7WF53H4F.js} +3 -3
  224. package/dist/cli/chunks/{gnn-wrapper-M7VO2EMS.js → gnn-wrapper-KJ6B7BRM.js} +2 -2
  225. package/dist/cli/chunks/{heartbeat-handler-ND5CY26N.js → heartbeat-handler-DEKKMOVW.js} +4 -4
  226. package/dist/cli/chunks/heartbeat-scheduler-NVR356I7.js +2 -0
  227. package/dist/cli/chunks/hnsw-adapter-LFMPLUJU.js +2 -0
  228. package/dist/cli/chunks/hnsw-index-POCPMVJH.js +2 -0
  229. package/dist/cli/chunks/{hnsw-legacy-bridge-N3AUUUU7.js → hnsw-legacy-bridge-L27WS27N.js} +2 -2
  230. package/dist/cli/chunks/{hnswlib-node-NZY3E5EN.js → hnswlib-node-4YOQC6L4.js} +2 -2
  231. package/dist/cli/chunks/{hooks-QVJDTII5.js → hooks-TAOKV4EJ.js} +23 -22
  232. package/dist/cli/chunks/hybrid-backend-4STAO7CV.js +2 -0
  233. package/dist/cli/chunks/{hypergraph-engine-ZRY6MTDV.js → hypergraph-engine-BODRJLHL.js} +2 -2
  234. package/dist/cli/chunks/{hypergraph-handler-56DO4XZQ.js → hypergraph-handler-RKMYJNTU.js} +3 -3
  235. package/dist/cli/chunks/impact-analyzer-3VIIISBQ.js +2 -0
  236. package/dist/cli/chunks/{init-guard-DTF4EVUY.js → init-guard-MXHSLSB2.js} +2 -2
  237. package/dist/cli/chunks/{init-handler-M6CNQHMX.js → init-handler-HUE57IFW.js} +6 -6
  238. package/dist/cli/chunks/init-wizard-PL6QN6RQ.js +2 -0
  239. package/dist/cli/chunks/kernel-CCDWT7KS.js +2 -0
  240. package/dist/cli/chunks/{kilocode-installer-IJN7XKBH.js → kilocode-installer-S333IKYQ.js} +2 -2
  241. package/dist/cli/chunks/{kiro-installer-UKKPGPDC.js → kiro-installer-WM5DLQWC.js} +2 -2
  242. package/dist/cli/chunks/knowledge-graph-KFOMEN3H.js +2 -0
  243. package/dist/cli/chunks/{learning-W2HETWQ4.js → learning-LNHMQLH5.js} +3 -3
  244. package/dist/cli/chunks/{llm-router-Y546K4VX.js → llm-router-EWFXYZZR.js} +4 -4
  245. package/dist/cli/chunks/llm-router-service-7NBE2EX6.js +2 -0
  246. package/dist/cli/chunks/{load-MKAB2AXE.js → load-FGYGWVDK.js} +2 -2
  247. package/dist/cli/chunks/load-test-UNZUWY3F.js +2 -0
  248. package/dist/cli/chunks/{mcp-AZKUS6K3.js → mcp-2FHNAAOM.js} +2 -2
  249. package/dist/cli/chunks/{memory-ZDOQN2KU.js → memory-DZMQ73AB.js} +5 -5
  250. package/dist/cli/chunks/memory-backend-DFGKWA2Q.js +2 -0
  251. package/dist/cli/chunks/memory-handlers-MP426XRJ.js +2 -0
  252. package/dist/cli/chunks/{multi-model-executor-WWVXDHG4.js → multi-model-executor-6F2UAEUW.js} +2 -2
  253. package/dist/cli/chunks/{opencode-installer-YUJNXXWS.js → opencode-installer-XY3BGOTZ.js} +2 -2
  254. package/dist/cli/chunks/{orchestrator-Z6PWPLRE.js → orchestrator-B4CNKUOS.js} +17 -17
  255. package/dist/cli/chunks/pattern-null-store-SSVF5TE5.js +2 -0
  256. package/dist/cli/chunks/{pattern-usage-recorder-TPWPX32U.js → pattern-usage-recorder-R4GUFNMD.js} +2 -2
  257. package/dist/cli/chunks/{pipeline-4BBGTE4M.js → pipeline-FG5RKVRO.js} +2 -2
  258. package/dist/cli/chunks/{platform-5GSHXCV5.js → platform-3BT4KEVJ.js} +2 -2
  259. package/dist/cli/chunks/{plugin-OFDVF5HS.js → plugin-WI4RIN7O.js} +2 -2
  260. package/dist/cli/chunks/{prime-radiant-advanced-wasm-NC6MUYGJ.js → prime-radiant-advanced-wasm-7ECDNQFS.js} +2 -2
  261. package/dist/cli/chunks/project-root-BEANNYWU.js +2 -0
  262. package/dist/cli/chunks/protocol-executor-FQVIHXZ7.js +2 -0
  263. package/dist/cli/chunks/{protocol-handler-MPOAAEPA.js → protocol-handler-WNODKPGW.js} +2 -2
  264. package/dist/cli/chunks/{prove-CDKMAIVM.js → prove-5RHAEPYZ.js} +2 -2
  265. package/dist/cli/chunks/qe-reasoning-bank-5TFYSE24.js +2 -0
  266. package/dist/cli/chunks/{quality-ZH4F7R7R.js → quality-WPHR7BGQ.js} +2 -2
  267. package/dist/cli/chunks/{quality-gate-IDRMW6OE.js → quality-gate-4RKTEZMX.js} +3 -3
  268. package/dist/cli/chunks/queen-coordinator-Y2OUL7IN.js +2 -0
  269. package/dist/cli/chunks/real-embeddings-OXLYU7JW.js +2 -0
  270. package/dist/cli/chunks/{ref-validation-Z5GCGVXK.js → ref-validation-TPAWHOHH.js} +2 -2
  271. package/dist/cli/chunks/{roocode-installer-IZ2S7PH2.js → roocode-installer-7AVHFNDI.js} +2 -2
  272. package/dist/cli/chunks/router-EP34O3KB.js +2 -0
  273. package/dist/cli/chunks/routing-feedback-FJCRKXNG.js +2 -0
  274. package/dist/cli/chunks/{routing-handler-NAX35VUW.js → routing-handler-YKEDVJSH.js} +2 -2
  275. package/dist/cli/chunks/{ruvector-commands-5YW2SOFF.js → ruvector-commands-JUAMM354.js} +2 -2
  276. package/dist/cli/chunks/rvf-dual-writer-ILITJSFG.js +2 -0
  277. package/dist/cli/chunks/rvf-migration-adapter-XF6W4C2N.js +2 -0
  278. package/dist/cli/chunks/rvf-migration-coordinator-CMKG56AR.js +2 -0
  279. package/dist/cli/chunks/rvf-native-adapter-7YFW6S4Y.js +2 -0
  280. package/dist/cli/chunks/{rvf-store-integrity-IPGCAT6C.js → rvf-store-integrity-VJDUIRTX.js} +2 -2
  281. package/dist/cli/chunks/safe-db-TCAU4FUT.js +2 -0
  282. package/dist/cli/chunks/schedule-NB5KV435.js +2 -0
  283. package/dist/cli/chunks/scheduler-JKXGKVK6.js +2 -0
  284. package/dist/cli/chunks/{security-3IH4BO5Z.js → security-ORDN3RD2.js} +3 -3
  285. package/dist/cli/chunks/{shared-rvf-adapter-ABY7PAY2.js → shared-rvf-adapter-CF4BCIO7.js} +2 -2
  286. package/dist/cli/chunks/{shared-rvf-dual-writer-6KENLN2W.js → shared-rvf-dual-writer-C32UBR6D.js} +2 -2
  287. package/dist/cli/chunks/sqlite-persistence-IXCNZRTW.js +2 -0
  288. package/dist/cli/chunks/{standalone-memory-RLFAUGOW.js → standalone-memory-OXRJYZXN.js} +2 -2
  289. package/dist/cli/chunks/{status-handler-FCOZBPE5.js → status-handler-BCX5D4HY.js} +2 -2
  290. package/dist/cli/chunks/{structural-health-4RDA5UUM.js → structural-health-LFG7RUU6.js} +2 -2
  291. package/dist/cli/chunks/sync-OSF7C2NL.js +2 -0
  292. package/dist/cli/chunks/{sync-KGEEXXCC.js → sync-YJEE2K2L.js} +2 -2
  293. package/dist/cli/chunks/task-handler-6LXKPTXJ.js +64 -0
  294. package/dist/cli/chunks/{task-handlers-6H7L2UT4.js → task-handlers-CILP36I7.js} +4 -4
  295. package/dist/cli/chunks/{test-S7IG6EIX.js → test-SD457QJ6.js} +4 -4
  296. package/dist/cli/chunks/test-runner-process-VKD65QQU.js +2 -0
  297. package/dist/cli/chunks/{test-scheduling-7XYXI4L2.js → test-scheduling-ISI2O4Q5.js} +3 -3
  298. package/dist/cli/chunks/token-bootstrap-VUELSBOS.js +2 -0
  299. package/dist/cli/chunks/{token-usage-Y2YTPOFE.js → token-usage-XOC5KG7S.js} +2 -2
  300. package/dist/cli/chunks/{transformers-UCJ3HHHC.js → transformers-LSLQAARK.js} +2 -2
  301. package/dist/cli/chunks/tree-sitter-wasm-parser-YAIPHRIL.js +2 -0
  302. package/dist/cli/chunks/{types-6CMFPETH.js → types-5BLCGLCR.js} +2 -2
  303. package/dist/cli/chunks/unified-memory-GI76TXFV.js +2 -0
  304. package/dist/cli/chunks/unified-memory-hnsw-GXJ5BTZO.js +2 -0
  305. package/dist/cli/chunks/unified-persistence-OP7FDQPD.js +2 -0
  306. package/dist/cli/chunks/{upgrade-K25DN6WU.js → upgrade-RQJYLK3J.js} +2 -2
  307. package/dist/cli/chunks/{validate-T4V3TBY3.js → validate-QBHWXXCK.js} +2 -2
  308. package/dist/cli/chunks/{validate-swarm-XSRC576T.js → validate-swarm-IKXBKFB5.js} +2 -2
  309. package/dist/cli/chunks/visual-security-GZ2MOKWB.js +2 -0
  310. package/dist/cli/chunks/{web-tree-sitter-YOZXHRTN.js → web-tree-sitter-ZF6FIE5R.js} +2 -2
  311. package/dist/cli/chunks/{windsurf-installer-ITPU2IYL.js → windsurf-installer-HQGDZT5D.js} +2 -2
  312. package/dist/cli/chunks/witness-chain-DCHCAMSQ.js +2 -0
  313. package/dist/cli/chunks/witness-chain-P3XXXA62.js +2 -0
  314. package/dist/cli/chunks/witness-chain-repair-PUX2NFDL.js +2 -0
  315. package/dist/cli/chunks/{witness-chain-verifier-DTDSVKOG.js → witness-chain-verifier-PX2OQ6XT.js} +2 -2
  316. package/dist/cli/chunks/{witness-key-manager-EWACWGAW.js → witness-key-manager-RXYQNFJB.js} +2 -2
  317. package/dist/cli/chunks/{workflow-ZIQ4FV42.js → workflow-FBKCA4H6.js} +4 -4
  318. package/dist/cli/chunks/workflow-orchestrator-P2APAJAA.js +2 -0
  319. package/dist/cli/chunks/wrappers-TWSKBTWD.js +2 -0
  320. package/dist/cli/commands/code.js +4 -0
  321. package/dist/cli/commands/hooks-handlers/hooks-dream-learning.js +10 -2
  322. package/dist/cli/handlers/task-handler.d.ts +5 -0
  323. package/dist/cli/handlers/task-handler.js +21 -1
  324. package/dist/cli/utils/task-result.d.ts +11 -0
  325. package/dist/cli/utils/task-result.js +39 -0
  326. package/dist/coordination/handlers/test-execution-handlers.js +92 -58
  327. package/dist/coordination/mincut/mincut-persistence.js +29 -25
  328. package/dist/domains/code-intelligence/coordinator.d.ts +4 -0
  329. package/dist/domains/code-intelligence/coordinator.js +46 -13
  330. package/dist/domains/code-intelligence/interfaces.d.ts +10 -1
  331. package/dist/domains/code-intelligence/services/semantic-analyzer.d.ts +32 -7
  332. package/dist/domains/code-intelligence/services/semantic-analyzer.js +112 -53
  333. package/dist/domains/learning-optimization/services/learning-coordinator.js +1 -1
  334. package/dist/domains/quality-assessment/coordinator.js +2 -1
  335. package/dist/domains/test-execution/coordinator.js +10 -5
  336. package/dist/domains/test-execution/interfaces.d.ts +12 -0
  337. package/dist/domains/test-execution/plugin.js +6 -2
  338. package/dist/domains/test-execution/services/retry-handler.d.ts +2 -0
  339. package/dist/domains/test-execution/services/retry-handler.js +14 -9
  340. package/dist/domains/test-execution/services/test-executor.d.ts +1 -0
  341. package/dist/domains/test-execution/services/test-executor.js +28 -9
  342. package/dist/domains/visual-accessibility/coordinator.d.ts +15 -7
  343. package/dist/domains/visual-accessibility/coordinator.js +15 -7
  344. package/dist/domains/visual-accessibility/interfaces.d.ts +27 -3
  345. package/dist/domains/visual-accessibility/services/accessibility-contrast.d.ts +39 -0
  346. package/dist/domains/visual-accessibility/services/accessibility-contrast.js +93 -0
  347. package/dist/domains/visual-accessibility/services/accessibility-tester-browser.d.ts +18 -3
  348. package/dist/domains/visual-accessibility/services/accessibility-tester-browser.js +50 -40
  349. package/dist/domains/visual-accessibility/services/accessibility-tester-checks.d.ts +27 -0
  350. package/dist/domains/visual-accessibility/services/accessibility-tester-checks.js +137 -0
  351. package/dist/domains/visual-accessibility/services/accessibility-tester.d.ts +5 -0
  352. package/dist/domains/visual-accessibility/services/accessibility-tester.js +43 -24
  353. package/dist/domains/visual-accessibility/services/browser-swarm-coordinator.d.ts +2 -3
  354. package/dist/domains/visual-accessibility/services/browser-swarm-coordinator.js +8 -14
  355. package/dist/feedback/coverage-learner.js +13 -9
  356. package/dist/feedback/test-outcome-tracker.js +13 -9
  357. package/dist/governance/witness-chain.d.ts +5 -0
  358. package/dist/governance/witness-chain.js +22 -6
  359. package/dist/init/init-wizard-hooks.d.ts +1 -1
  360. package/dist/init/init-wizard-hooks.js +7 -8
  361. package/dist/init/phases/08-mcp.js +9 -0
  362. package/dist/init/settings-merge.d.ts +13 -0
  363. package/dist/init/settings-merge.js +49 -2
  364. package/dist/integrations/agent-booster-wasm/agent_booster_wasm.js +849 -0
  365. package/dist/integrations/agent-booster-wasm/agent_booster_wasm_bg.wasm +0 -0
  366. package/dist/integrations/agent-booster-wasm/index.d.ts +8 -0
  367. package/dist/integrations/agent-booster-wasm/index.js +25 -2
  368. package/dist/integrations/agent-booster-wasm/package.json +16 -0
  369. package/dist/integrations/agentic-flow/reasoning-bank/experience-replay.d.ts +22 -0
  370. package/dist/integrations/agentic-flow/reasoning-bank/experience-replay.js +115 -45
  371. package/dist/integrations/agentic-flow/reasoning-bank/pattern-evolution.d.ts +6 -0
  372. package/dist/integrations/agentic-flow/reasoning-bank/pattern-evolution.js +51 -33
  373. package/dist/integrations/agentic-flow/reasoning-bank/trajectory-tracker.js +17 -9
  374. package/dist/integrations/embeddings/cache/EmbeddingCache.d.ts +8 -0
  375. package/dist/integrations/embeddings/cache/EmbeddingCache.js +24 -10
  376. package/dist/integrations/ruvector/delta-tracker.d.ts +11 -0
  377. package/dist/integrations/ruvector/delta-tracker.js +16 -0
  378. package/dist/integrations/ruvector/sona-persistence.d.ts +10 -0
  379. package/dist/integrations/ruvector/sona-persistence.js +49 -24
  380. package/dist/kernel/unified-memory.d.ts +24 -0
  381. package/dist/kernel/unified-memory.js +63 -8
  382. package/dist/learning/aqe-learning-engine.js +1 -1
  383. package/dist/learning/dream/dream-engine.d.ts +3 -2
  384. package/dist/learning/dream/dream-engine.js +42 -24
  385. package/dist/learning/dream/dream-lock-retry.d.ts +38 -0
  386. package/dist/learning/dream/dream-lock-retry.js +66 -0
  387. package/dist/learning/dream/speculative-dreamer.js +1 -1
  388. package/dist/learning/embed-and-insert-pattern.js +4 -2
  389. package/dist/learning/embedder-endpoint-client.d.ts +31 -0
  390. package/dist/learning/embedder-endpoint-client.js +103 -10
  391. package/dist/learning/embedding-space.d.ts +12 -0
  392. package/dist/learning/embedding-space.js +17 -0
  393. package/dist/learning/experience-capture-middleware.js +25 -13
  394. package/dist/learning/experience-capture.js +1 -1
  395. package/dist/learning/experience-consolidation.d.ts +18 -0
  396. package/dist/learning/experience-consolidation.js +55 -8
  397. package/dist/learning/experience-space-verification.d.ts +71 -0
  398. package/dist/learning/experience-space-verification.js +147 -0
  399. package/dist/learning/pattern-lifecycle.d.ts +40 -4
  400. package/dist/learning/pattern-lifecycle.js +153 -76
  401. package/dist/learning/pattern-null-store.d.ts +5 -0
  402. package/dist/learning/pattern-null-store.js +8 -0
  403. package/dist/learning/pattern-promotion.js +6 -3
  404. package/dist/learning/pattern-store.d.ts +6 -0
  405. package/dist/learning/pattern-store.js +19 -6
  406. package/dist/learning/qe-reasoning-bank.js +2 -2
  407. package/dist/learning/real-embeddings.js +3 -1
  408. package/dist/learning/real-qe-reasoning-bank.d.ts +5 -0
  409. package/dist/learning/real-qe-reasoning-bank.js +77 -47
  410. package/dist/learning/rvf-pattern-store.js +6 -2
  411. package/dist/learning/sqlite-persistence.d.ts +6 -0
  412. package/dist/learning/sqlite-persistence.js +10 -0
  413. package/dist/mcp/bundle.js +642 -571
  414. package/dist/mcp/entry.js +4 -0
  415. package/dist/mcp/handlers/domain-handler-configs.js +2 -0
  416. package/dist/mcp/handlers/trajectory-judge.js +1 -1
  417. package/dist/mcp/protocol-server.js +1 -0
  418. package/dist/mcp/tools/visual-accessibility/index.js +8 -2
  419. package/dist/mcp/types.d.ts +6 -0
  420. package/dist/optimization/session-cache.d.ts +17 -1
  421. package/dist/optimization/session-cache.js +40 -36
  422. package/dist/planning/goap-planner.d.ts +6 -0
  423. package/dist/planning/goap-planner.js +35 -19
  424. package/dist/planning/plan-executor.js +24 -15
  425. package/dist/routing/co-execution-repository.js +12 -9
  426. package/dist/routing/routing-feedback.d.ts +8 -0
  427. package/dist/routing/routing-feedback.js +46 -24
  428. package/dist/routing/routing-outcomes-migration.js +7 -2
  429. package/dist/shared/llm/spend-ledger.d.ts +9 -0
  430. package/dist/shared/llm/spend-ledger.js +64 -39
  431. package/dist/shared/sqlite-lock-wait.d.ts +27 -0
  432. package/dist/shared/sqlite-lock-wait.js +37 -0
  433. package/dist/shared/sqlite-write-queue.d.ts +28 -0
  434. package/dist/shared/sqlite-write-queue.js +38 -0
  435. package/dist/shared/test-runner-project.d.ts +69 -0
  436. package/dist/shared/test-runner-project.js +186 -0
  437. package/dist/skills/security-visual-testing/index.d.ts +3 -1
  438. package/dist/skills/security-visual-testing/index.js +49 -35
  439. package/dist/skills/security-visual-testing/types.d.ts +19 -3
  440. package/dist/workers/workers/heartbeat-scheduler.js +5 -5
  441. package/dist/workers/workers/learning-consolidation.js +8 -7
  442. package/package.json +4 -2
  443. package/dist/cli/chunks/adapter-23KA2YW7.js +0 -2
  444. package/dist/cli/chunks/agent-booster-wasm-2DLAEZK6.js +0 -2
  445. package/dist/cli/chunks/aqe-learning-engine-MUICAXW5.js +0 -2
  446. package/dist/cli/chunks/base-XPWGYDKD.js +0 -2
  447. package/dist/cli/chunks/browser-workflow-UMQVBVGK.js +0 -2
  448. package/dist/cli/chunks/chunk-3FITMWWJ.js +0 -21
  449. package/dist/cli/chunks/chunk-ARRBXCII.js +0 -4
  450. package/dist/cli/chunks/chunk-BBYJBZHG.js +0 -14
  451. package/dist/cli/chunks/chunk-BM3EJLMV.js +0 -153
  452. package/dist/cli/chunks/chunk-D3ZZ2NLL.js +0 -62
  453. package/dist/cli/chunks/chunk-DLTB5KCR.js +0 -2
  454. package/dist/cli/chunks/chunk-DRLSJJIC.js +0 -6
  455. package/dist/cli/chunks/chunk-HAYKLXCT.js +0 -744
  456. package/dist/cli/chunks/chunk-HHBF2BZC.js +0 -65
  457. package/dist/cli/chunks/chunk-K7RT6ITZ.js +0 -2
  458. package/dist/cli/chunks/chunk-L752CNG3.js +0 -13
  459. package/dist/cli/chunks/chunk-MQXWG55U.js +0 -12
  460. package/dist/cli/chunks/chunk-WM2QRIRD.js +0 -14
  461. package/dist/cli/chunks/chunk-WRC3HLUY.js +0 -29
  462. package/dist/cli/chunks/chunk-XTZGAG6P.js +0 -27
  463. package/dist/cli/chunks/chunk-YKQWIXUY.js +0 -2
  464. package/dist/cli/chunks/client-E43GWLQH.js +0 -2
  465. package/dist/cli/chunks/core-handlers-R5A3SQDY.js +0 -2
  466. package/dist/cli/chunks/cross-domain-router-LLYVPZF6.js +0 -2
  467. package/dist/cli/chunks/daemon-BYYPIJ7G.js +0 -18
  468. package/dist/cli/chunks/dream-6C4NURSE.js +0 -2
  469. package/dist/cli/chunks/embed-and-insert-pattern-URES5Q6J.js +0 -3
  470. package/dist/cli/chunks/experience-capture-middleware-SYJQSBKE.js +0 -40
  471. package/dist/cli/chunks/file-discovery-J5IE5KP7.js +0 -2
  472. package/dist/cli/chunks/heartbeat-scheduler-FC5PBTMN.js +0 -2
  473. package/dist/cli/chunks/hnsw-adapter-47UIVOBG.js +0 -2
  474. package/dist/cli/chunks/hnsw-index-3AKVLOZQ.js +0 -2
  475. package/dist/cli/chunks/hybrid-backend-YAOSNX47.js +0 -2
  476. package/dist/cli/chunks/impact-analyzer-4FMJXM4M.js +0 -2
  477. package/dist/cli/chunks/init-wizard-RTLCRWDT.js +0 -2
  478. package/dist/cli/chunks/kernel-2OWIGGGT.js +0 -2
  479. package/dist/cli/chunks/knowledge-graph-25XXKDJN.js +0 -2
  480. package/dist/cli/chunks/llm-router-service-G3EIN4UB.js +0 -2
  481. package/dist/cli/chunks/load-test-D6QYNIVT.js +0 -2
  482. package/dist/cli/chunks/memory-backend-LDFFZMEQ.js +0 -2
  483. package/dist/cli/chunks/memory-handlers-3SQVY7FE.js +0 -2
  484. package/dist/cli/chunks/pattern-null-store-KDVRM7PW.js +0 -2
  485. package/dist/cli/chunks/project-root-DDGBWDP6.js +0 -2
  486. package/dist/cli/chunks/protocol-executor-KBOLLCWA.js +0 -2
  487. package/dist/cli/chunks/qe-reasoning-bank-GRXBT7FC.js +0 -2
  488. package/dist/cli/chunks/queen-coordinator-L2QWMJ5Q.js +0 -2
  489. package/dist/cli/chunks/real-embeddings-I2UVNNB3.js +0 -2
  490. package/dist/cli/chunks/router-FT5WJPUH.js +0 -2
  491. package/dist/cli/chunks/routing-feedback-EO2MKOUX.js +0 -2
  492. package/dist/cli/chunks/rvf-dual-writer-WHBFQJVU.js +0 -2
  493. package/dist/cli/chunks/rvf-migration-adapter-YT3APF2I.js +0 -2
  494. package/dist/cli/chunks/rvf-migration-coordinator-VUIZHTVG.js +0 -2
  495. package/dist/cli/chunks/rvf-native-adapter-37PUFKQD.js +0 -2
  496. package/dist/cli/chunks/safe-db-TDZKUOZJ.js +0 -2
  497. package/dist/cli/chunks/schedule-CRKTRY2A.js +0 -2
  498. package/dist/cli/chunks/scheduler-6ZBDVQWN.js +0 -2
  499. package/dist/cli/chunks/sqlite-persistence-FFJQAIKW.js +0 -2
  500. package/dist/cli/chunks/sync-54LUAUTK.js +0 -2
  501. package/dist/cli/chunks/task-handler-K3OXHYKU.js +0 -62
  502. package/dist/cli/chunks/test-runner-process-OTQDAJLN.js +0 -2
  503. package/dist/cli/chunks/token-bootstrap-3QMABE45.js +0 -2
  504. package/dist/cli/chunks/tree-sitter-wasm-parser-D6JTTHTP.js +0 -2
  505. package/dist/cli/chunks/unified-memory-QARWQKJ2.js +0 -2
  506. package/dist/cli/chunks/unified-memory-hnsw-LHY3DXCP.js +0 -2
  507. package/dist/cli/chunks/unified-persistence-WEYYGLHM.js +0 -2
  508. package/dist/cli/chunks/visual-security-O4ALMCXQ.js +0 -2
  509. package/dist/cli/chunks/witness-chain-B3YW5NMS.js +0 -2
  510. package/dist/cli/chunks/witness-chain-PIYR72HJ.js +0 -2
  511. package/dist/cli/chunks/witness-chain-repair-YUG7E3UX.js +0 -2
  512. package/dist/cli/chunks/workflow-orchestrator-3ZN2BCGY.js +0 -2
  513. package/dist/cli/chunks/wrappers-PW2O27LL.js +0 -2
@@ -0,0 +1,40 @@
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.16");process.exit(0)}
2
+ import{a as T}from"./chunk-24OX5TQJ.js";import{i as b}from"./chunk-HGWXF45W.js";import{B as O,w as y}from"./chunk-MO55CVMT.js";import"./chunk-CEYSYSK5.js";import"./chunk-WP4RETKG.js";import"./chunk-JDIYMZCQ.js";import"./chunk-V5NHZV7S.js";import"./chunk-S75SOOZL.js";import"./chunk-PPUZWYUG.js";import"./chunk-3HD7E6HN.js";import"./chunk-CRPIYUTJ.js";import"./chunk-F742SZAX.js";import"./chunk-CAKMOVZ6.js";import{l as _}from"./chunk-DXD6K2ZP.js";import"./chunk-FLNAW7C4.js";import"./chunk-J4ELZNLY.js";import"./chunk-YAPLJR7K.js";import{d as x,e as R}from"./chunk-G5RHFBAY.js";import"./chunk-XIIQ5QTT.js";import"./chunk-A5GBXCP5.js";import"./chunk-L6QSTQME.js";import"./chunk-AGRV5B3T.js";import"./chunk-U2A7NHZA.js";import"./chunk-KPRCB5LT.js";import{a as f,e as D}from"./chunk-KNSRL6NO.js";import"./chunk-2H4XH6FT.js";import"./chunk-AJMJNQMP.js";O();D();R();var L=x("ExperienceCapture"),U=600*1e3,M=120*1e3,I=1024*1024;function m(e,t=I){if(e==null)return null;try{let n=JSON.stringify(e);return n.length>t?(console.warn(`[ExperienceCaptureMiddleware] JSON payload exceeds size limit (${n.length} > ${t} bytes), truncating`),JSON.stringify({_truncated:!0,_originalSize:n.length,_preview:typeof e=="object"?Object.keys(e).slice(0,10):String(e).slice(0,100)})):n}catch(n){return console.warn("[ExperienceCaptureMiddleware] Failed to serialize JSON:",n),null}}var p=new Map,l=null;function k(){let e=Date.now(),t=0;for(let[n,r]of p){let s=e-r.context.startedAt.getTime();s>U&&(console.warn(`[ExperienceCaptureMiddleware] Cleaning up stale experience: ${n} (age=${Math.round(s/1e3)}s, domain=${r.context.domain})`),p.delete(n),t++)}return t>0&&console.log(`[ExperienceCaptureMiddleware] Cleaned ${t} stale experiences`),t}function F(){l||(l=setInterval(()=>{k()},M),l.unref())}function K(){l&&(clearInterval(l),l=null)}var d=null,E=null;async function N(){return E||(E=h(),E)}async function h(){try{d=y(),await d.initialize();let e=d.getDatabase();if(e){let t=!1;if(e.prepare("SELECT COUNT(*) as cnt FROM sqlite_master WHERE type='table' AND name='captured_experiences'").get().cnt>0){let a=e.prepare("PRAGMA table_info(captured_experiences)").all(),i=new Set(a.map(c=>c.name));!i.has("success")||!i.has("task")?(e.exec("ALTER TABLE captured_experiences RENAME TO captured_experiences_v2_backup"),t=!0):(i.has("domain")||e.exec("ALTER TABLE captured_experiences ADD COLUMN domain TEXT NOT NULL DEFAULT ''"),i.has("source")||e.exec("ALTER TABLE captured_experiences ADD COLUMN source TEXT DEFAULT 'middleware'"))}else t=!0;t&&e.exec(`
3
+ CREATE TABLE IF NOT EXISTS captured_experiences (
4
+ id TEXT PRIMARY KEY,
5
+ task TEXT NOT NULL,
6
+ agent TEXT NOT NULL,
7
+ domain TEXT NOT NULL DEFAULT '',
8
+ success INTEGER NOT NULL DEFAULT 0,
9
+ quality REAL NOT NULL DEFAULT 0.5,
10
+ duration_ms INTEGER NOT NULL DEFAULT 0,
11
+ model_tier INTEGER,
12
+ routing_json TEXT,
13
+ steps_json TEXT,
14
+ result_json TEXT,
15
+ error TEXT,
16
+ started_at TEXT NOT NULL DEFAULT (datetime('now')),
17
+ completed_at TEXT NOT NULL DEFAULT (datetime('now')),
18
+ source TEXT DEFAULT 'middleware'
19
+ );
20
+ `),e.exec(`
21
+ CREATE INDEX IF NOT EXISTS idx_captured_exp_domain ON captured_experiences(domain);
22
+ CREATE INDEX IF NOT EXISTS idx_captured_exp_success ON captured_experiences(success);
23
+ CREATE INDEX IF NOT EXISTS idx_captured_exp_agent ON captured_experiences(agent);
24
+ CREATE INDEX IF NOT EXISTS idx_captured_exp_completed ON captured_experiences(completed_at DESC);
25
+ `);let r=new Set(e.prepare("PRAGMA table_info(captured_experiences)").all().map(a=>a.name)),s=[["application_count","INTEGER DEFAULT 0"],["avg_token_savings","REAL DEFAULT 0"],["embedding","BLOB"],["embedding_dimension","INTEGER"],["tags","TEXT"],["last_applied_at","TEXT"],["consolidated_into","TEXT DEFAULT NULL"],["consolidation_count","INTEGER DEFAULT 1"],["quality_updated_at","TEXT DEFAULT NULL"],["reuse_success_count","INTEGER DEFAULT 0"],["reuse_failure_count","INTEGER DEFAULT 0"]];for(let[a,i]of s)r.has(a)||e.exec(`ALTER TABLE captured_experiences ADD COLUMN ${a} ${i}`)}F(),console.log("[ExperienceCaptureMiddleware] Initialized")}catch(e){console.error("[ExperienceCaptureMiddleware] Failed to initialize:",e),E=null}}function v(e,t,n,r){let s=`exp-${b()}`,a={id:s,task:e,agent:t,domain:n,startedAt:new Date,modelTier:r?.modelTier,routing:r?.routing};return p.set(s,{context:a,steps:[]}),s}function w(e,t){let n=p.get(e);if(!n){console.warn(`[ExperienceCaptureMiddleware] Unknown experience: ${e}`);return}n.steps.push(t)}function X(e,t){return t==="coverage-analysis"&&!e.success?!T("",e.data):!T(t??"",e.data)}function $(e){let t=e.data;return!e.success&&!!t&&typeof t=="object"&&t.callerError===!0}function P(e){return p.delete(e)}async function A(e,t,n,r){let s=p.get(e);if(!s)return console.warn(`[ExperienceCaptureMiddleware] Unknown experience: ${e}`),null;let{context:a,steps:i}=s,o=new Date().getTime()-a.startedAt.getTime(),u=i.length>0?i.reduce((C,S)=>C+S.quality,0)/i.length:t?.7:.3,g={id:e,success:t,quality:u,durationMs:o,error:r,steps:i,result:n};return p.delete(e),await q(a,g),await B(a,g),console.log(`[ExperienceCaptureMiddleware] Captured: ${a.domain}/${a.agent} success=${t} quality=${u.toFixed(2)} duration=${o}ms steps=${i.length}`),g}async function q(e,t){if(await N(),!d){console.warn("[ExperienceCaptureMiddleware] Memory manager not available");return}let n=d;try{let r=n.getDatabase();if(!r)return;let s=r.prepare(`
26
+ INSERT OR REPLACE INTO captured_experiences
27
+ (id, task, agent, domain, success, quality, duration_ms, model_tier,
28
+ routing_json, steps_json, result_json, error, started_at, completed_at, source)
29
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, datetime('now'), ?)
30
+ `);await n.writeWhenUnlocked(()=>s.run(t.id,e.task,e.agent,e.domain,t.success?1:0,t.quality,t.durationMs,e.modelTier||null,m(e.routing),m(t.steps),m(t.result),t.error||null,e.startedAt.toISOString(),"middleware")),j(n,t.id,e.task,e.domain).catch(a=>{L.warn("Embedding computation failed",{error:a instanceof Error?a.message:String(a),experienceId:t.id,domain:e.domain})})}catch(r){console.error("[ExperienceCaptureMiddleware] Failed to persist experience:",r)}}async function j(e,t,n,r){try{let{computeRealEmbedding:s,getActiveEmbeddingSpaceIdentity:a}=await import("./real-embeddings-OXLYU7JW.js"),i=`${r}: ${n}`.slice(0,512),c=await s(i);if(!c||c.length===0)return;let o=Buffer.from(new Float32Array(c).buffer),u=e.getDatabase();await e.writeWhenUnlocked(()=>{u.prepare(`
31
+ UPDATE captured_experiences
32
+ SET embedding = ?, embedding_dimension = ?
33
+ WHERE id = ? AND embedding IS NULL
34
+ `).run(o,c.length,t).changes>0&&_(u,t,a()?.spaceId)})}catch{}}async function B(e,t){if(!d)return;let n=d;try{let r=n.getDatabase();if(!r||!t.success||t.quality<.5)return;let s=r.prepare(`
35
+ INSERT OR REPLACE INTO sona_patterns
36
+ (id, type, domain, action_type, action_value,
37
+ outcome_reward, outcome_success, outcome_quality,
38
+ confidence, usage_count, metadata, created_at, updated_at)
39
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, datetime('now'), datetime('now'))
40
+ `);await n.writeWhenUnlocked(()=>s.run(`sona-${t.id}`,"task-execution",e.domain,e.agent,m({task:e.task.slice(0,200)}),t.quality,1,t.quality,t.quality,1,m({experienceId:t.id,durationMs:t.durationMs,stepsCount:t.steps.length,modelTier:e.modelTier})))}catch(r){console.warn("[ExperienceCaptureMiddleware] Failed to persist to sona_patterns:",r)}}function Z(e,t,n){return async r=>{await N();let s=G(r,t),a=z(r),i=v(s,n,t,{modelTier:a?.tier,routing:a}),c=Date.now();try{let o=await e(r),u=Date.now()-c;return X(o,t)||$(o)?(P(i),L.debug("Skipped capture: insufficient evidence carries no verdict",{domain:t,agent:n}),o):(w(i,{action:`execute-${t}`,result:o.success?"success":"failure",quality:o.success?.8:.2,durationMs:u,data:o.data?{hasData:!0}:void 0}),await A(i,o.success,o.data,o.error),o)}catch(o){let u=Date.now()-c;throw w(i,{action:`execute-${t}`,result:"failure",quality:0,durationMs:u}),await A(i,!1,void 0,f(o)),o}}}function G(e,t){if(!e||typeof e!="object")return`Execute ${t} task`;let n=e;return typeof n.task=="string"?n.task:typeof n.description=="string"?n.description:typeof n.sourceCode=="string"?`Generate tests for code (${n.sourceCode.length} chars)`:typeof n.target=="string"?`Analyze ${n.target}`:typeof n.url=="string"?`Test accessibility for ${n.url}`:Array.isArray(n.testFiles)?`Execute ${n.testFiles.length} test files`:`Execute ${t} task`}function z(e){if(!e||typeof e!="object")return;let n=e.routing;if(n)return{tier:typeof n.tier=="number"?n.tier:0,modelId:typeof n.modelId=="string"?n.modelId:"unknown",useAgentBooster:!!n.useAgentBooster,complexity:typeof n.complexity=="number"?n.complexity:0}}async function ee(){let e={activeExperiences:p.size,totalCaptured:0,byDomain:{},bySuccess:{success:0,failure:0},avgQuality:0};if(!d)return e;try{let t=d.getDatabase();if(!t)return e;let n=t.prepare("SELECT COUNT(*) as count FROM captured_experiences").get();e.totalCaptured=n?.count||0;let r=t.prepare("SELECT domain, COUNT(*) as count FROM captured_experiences GROUP BY domain").all();for(let i of r)e.byDomain[i.domain]=i.count;let s=t.prepare("SELECT success, COUNT(*) as count FROM captured_experiences GROUP BY success").all();for(let i of s)i.success===1?e.bySuccess.success=i.count:e.bySuccess.failure=i.count;let a=t.prepare("SELECT AVG(quality) as avg FROM captured_experiences WHERE success = 1").get();e.avgQuality=a?.avg||0}catch(t){console.error("[ExperienceCaptureMiddleware] Failed to get stats:",t)}return e}export{P as abandonExperience,k as cleanupStaleExperiences,A as completeExperience,ee as getCaptureStats,N as initializeExperienceCapture,$ as isCallerInputFailure,X as isInsufficientEvidenceResult,w as recordExperienceStep,v as startExperience,K as stopCleanupTimer,Z as wrapWithExperienceCapture};
@@ -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.14");process.exit(0)}
2
- import"./chunk-V6SE2ZU2.js";function n(e){return e.includes("--version")||e.includes("-v")?"cli-version":e[2]==="health"?"cli-health":process.env.AQE_MCP==="1"||process.env.AQE_MCP_MODE==="1"?"mcp":process.env.AQE_HTTP_PORT?"http":"cli-full"}function o(e){return process.env.AQE_FAST_PATHS==="false"?!1:e.includes("--version")||e.includes("-v")}function r(e){return e[2]==="health"}export{n as detectBootMode,r as isHealthFastPath,o as isVersionFastPath};
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.16");process.exit(0)}
2
+ import"./chunk-AJMJNQMP.js";function n(e){return e.includes("--version")||e.includes("-v")?"cli-version":e[2]==="health"?"cli-health":process.env.AQE_MCP==="1"||process.env.AQE_MCP_MODE==="1"?"mcp":process.env.AQE_HTTP_PORT?"http":"cli-full"}function o(e){return process.env.AQE_FAST_PATHS==="false"?!1:e.includes("--version")||e.includes("-v")}function r(e){return e[2]==="health"}export{n as detectBootMode,r as isHealthFastPath,o as isVersionFastPath};
@@ -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.14");process.exit(0)}
2
- import{a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q}from"./chunk-7MISCSL5.js";import"./chunk-V6SE2ZU2.js";q();export{a as DEFAULT_FEATURE_FLAGS,n as configureForCI,o as configureForDevelopment,p as configureForHeuristicMode,b as getVibiumFeatureFlags,m as initVibiumFeatureFlagsFromEnv,j as isAutoRetryEnabled,l as isAxeCoreEnabled,e as isBrowserModeEnabled,i as isDefaultHeadless,h as isE2EExecutionEnabled,f as isScreenshotCaptureEnabled,g as isVisualRegressionEnabled,d as resetVibiumFeatureFlags,c as setVibiumFeatureFlags,k as shouldLogPerformanceMetrics};
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.16");process.exit(0)}
2
+ import{a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q}from"./chunk-ZJH5MU2I.js";import"./chunk-AJMJNQMP.js";q();export{a as DEFAULT_FEATURE_FLAGS,n as configureForCI,o as configureForDevelopment,p as configureForHeuristicMode,b as getVibiumFeatureFlags,m as initVibiumFeatureFlagsFromEnv,j as isAutoRetryEnabled,l as isAxeCoreEnabled,e as isBrowserModeEnabled,i as isDefaultHeadless,h as isE2EExecutionEnabled,f as isScreenshotCaptureEnabled,g as isVisualRegressionEnabled,d as resetVibiumFeatureFlags,c as setVibiumFeatureFlags,k as shouldLogPerformanceMetrics};
@@ -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.14");process.exit(0)}
2
- import{A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,S as R,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z}from"./chunk-E7OR6V3V.js";import"./chunk-V6SE2ZU2.js";R();export{a as DEFAULT_FEATURE_FLAGS,b as getRuVectorFeatureFlags,A as getRvfMigrationStage,Q as initFeatureFlagsFromEnv,y as isAgentMemoryBranchingEnabled,t as isCNNVisualRegressionEnabled,O as isCognitiveRoutingEnabled,v as isCoherenceActionGateEnabled,r as isCoherenceGateEnabled,H as isColdTierGNNEnabled,o as isCrossDomainTransferEnabled,C as isCusumDriftDetectionEnabled,u as isDAGAttentionEnabled,D as isDeltaEventSourcingEnabled,l as isDeterministicDitherEnabled,M as isEpropOnlineLearningEnabled,E as isEwcPlusPlusEnabled,f as isFlashAttentionEnabled,g as isGNNIndexEnabled,N as isGrangerCausalityEnabled,F as isGraphMAEEnabled,B as isHDCFingerprintingEnabled,p as isHnswHealthMonitorEnabled,G as isHopfieldMemoryEnabled,P as isHyperbolicHnswEnabled,I as isMetaLearningEnabled,k as isMetadataFilteringEnabled,i as isNativeHNSWEnabled,m as isNeuralRoutingEnabled,x as isRVFPatternStoreEnabled,w as isReasoningQECEnabled,q as isRegretTrackingEnabled,L as isReservoirReplayEnabled,e as isSONAEnabled,n as isSONAThreeLoopEnabled,K as isSpectralSparsificationEnabled,J as isSublinearSolverEnabled,j as isTemporalCompressionEnabled,z as isUnifiedHnswEnabled,s as isWitnessChainEnabled,d as resetRuVectorFeatureFlags,c as setRuVectorFeatureFlags,h as shouldLogMigrationMetrics};
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.16");process.exit(0)}
2
+ import{A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,S as R,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z}from"./chunk-L6QSTQME.js";import"./chunk-AJMJNQMP.js";R();export{a as DEFAULT_FEATURE_FLAGS,b as getRuVectorFeatureFlags,A as getRvfMigrationStage,Q as initFeatureFlagsFromEnv,y as isAgentMemoryBranchingEnabled,t as isCNNVisualRegressionEnabled,O as isCognitiveRoutingEnabled,v as isCoherenceActionGateEnabled,r as isCoherenceGateEnabled,H as isColdTierGNNEnabled,o as isCrossDomainTransferEnabled,C as isCusumDriftDetectionEnabled,u as isDAGAttentionEnabled,D as isDeltaEventSourcingEnabled,l as isDeterministicDitherEnabled,M as isEpropOnlineLearningEnabled,E as isEwcPlusPlusEnabled,f as isFlashAttentionEnabled,g as isGNNIndexEnabled,N as isGrangerCausalityEnabled,F as isGraphMAEEnabled,B as isHDCFingerprintingEnabled,p as isHnswHealthMonitorEnabled,G as isHopfieldMemoryEnabled,P as isHyperbolicHnswEnabled,I as isMetaLearningEnabled,k as isMetadataFilteringEnabled,i as isNativeHNSWEnabled,m as isNeuralRoutingEnabled,x as isRVFPatternStoreEnabled,w as isReasoningQECEnabled,q as isRegretTrackingEnabled,L as isReservoirReplayEnabled,e as isSONAEnabled,n as isSONAThreeLoopEnabled,K as isSpectralSparsificationEnabled,J as isSublinearSolverEnabled,j as isTemporalCompressionEnabled,z as isUnifiedHnswEnabled,s as isWitnessChainEnabled,d as resetRuVectorFeatureFlags,c as setRuVectorFeatureFlags,h as shouldLogMigrationMetrics};
@@ -0,0 +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.16");process.exit(0)}
2
+ import{a,b,c}from"./chunk-GSKMOPL7.js";import"./chunk-QPEOLAAS.js";import"./chunk-AJMJNQMP.js";export{a as SOURCE_EXTENSIONS,c as filterTestFilesForFramework,b as walkSourceFiles};
@@ -1,8 +1,8 @@
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.14");process.exit(0)}
2
- import{a as T,b as ye,c as _,d as V,e as he,f as G,g as we,j as ke}from"./chunk-O3ERGUXH.js";import{a as be}from"./chunk-KJ5A54ZH.js";import{b as q}from"./chunk-N736GLWZ.js";import{d as z,e as C}from"./chunk-4T7XV5KQ.js";import{a as O,b as fe}from"./chunk-PCQZIAXB.js";import{a as pe}from"./chunk-TW6Z6W4X.js";import"./chunk-VJBJRFUO.js";import"./chunk-ZUE524JL.js";import{e as me}from"./chunk-JSSU4RIK.js";import{a as ge}from"./chunk-M2TG7VDK.js";import"./chunk-FTYRPEJS.js";import{f as le,l as ce,m as de,p as W}from"./chunk-65EE2EST.js";import{a as ue}from"./chunk-YE54T2NQ.js";import{J as ae,v as B}from"./chunk-E7QTWGPI.js";import"./chunk-DSQESXL4.js";import"./chunk-7724KXM2.js";import"./chunk-EIEEST4T.js";import"./chunk-6O63ZTVX.js";import"./chunk-XMCSKYDE.js";import"./chunk-BPDAQB3F.js";import"./chunk-VGZOPQQY.js";import"./chunk-QP2HLKTS.js";import"./chunk-K2SMP4OD.js";import"./chunk-2QLE6NDW.js";import"./chunk-5Y7UFHJD.js";import"./chunk-57FX3GP6.js";import"./chunk-OGEIHS76.js";import"./chunk-ARRBXCII.js";import"./chunk-BQJ7CV53.js";import"./chunk-NKOLILT7.js";import{d as re}from"./chunk-56NSE3LJ.js";import"./chunk-R5RRWLRI.js";import{d as se}from"./chunk-VCVRZD4Y.js";import"./chunk-XSPMLJCQ.js";import"./chunk-6P4Q4RTC.js";import"./chunk-4RPBODN5.js";import"./chunk-X7CUI7KH.js";import"./chunk-YGC5QKQ4.js";import"./chunk-WUGXXNK4.js";import{a as ie}from"./chunk-UFP7SN5V.js";import"./chunk-TWOV3I3A.js";import"./chunk-EC65UZ77.js";import"./chunk-PNRPVQGI.js";import"./chunk-WCM6WE7G.js";import"./chunk-JI67T6Q2.js";import{b as oe}from"./chunk-WBC6WB32.js";import"./chunk-WZQADC5R.js";import"./chunk-OLUOVNUF.js";import"./chunk-WKI46WWN.js";import"./chunk-43XHGWYH.js";import"./chunk-7MISCSL5.js";import"./chunk-XTZGAG6P.js";import"./chunk-J6ASX536.js";import"./chunk-MQXWG55U.js";import"./chunk-H3C5FJRH.js";import"./chunk-7Y3LXH57.js";import"./chunk-JB7R77SH.js";import"./chunk-A2T56XVL.js";import"./chunk-WM2QRIRD.js";import"./chunk-K7RT6ITZ.js";import"./chunk-IQRPR4KB.js";import"./chunk-J35JWDJE.js";import"./chunk-NHEG2DLN.js";import"./chunk-E2JLAW3U.js";import"./chunk-Z2S7DNFP.js";import"./chunk-HHBF2BZC.js";import"./chunk-WCPSR4MJ.js";import"./chunk-JJHLGGPP.js";import"./chunk-X6NJOT3V.js";import"./chunk-5Z4MO2F3.js";import"./chunk-YGOSSVY5.js";import"./chunk-MB4UKUBV.js";import"./chunk-NZQYJCO6.js";import"./chunk-O5CEL447.js";import"./chunk-HTVGHHX2.js";import"./chunk-QUZ745UQ.js";import"./chunk-FJOIBZUB.js";import"./chunk-7MUO4DEH.js";import"./chunk-O32BFQV4.js";import"./chunk-D5GB5PUU.js";import"./chunk-TOJF3ZG4.js";import"./chunk-4WLIOPHX.js";import"./chunk-7T6L3LFN.js";import"./chunk-VG32EEUG.js";import"./chunk-52KOPIMI.js";import"./chunk-USAKCGHC.js";import"./chunk-HV43NX4A.js";import"./chunk-UNYTHZDZ.js";import"./chunk-UMHFTQTR.js";import"./chunk-JK6PMLQQ.js";import"./chunk-6NIGSY5L.js";import"./chunk-XN3KCKAM.js";import"./chunk-UDSB3XCG.js";import"./chunk-Z54G2YOL.js";import"./chunk-HEDGFKC5.js";import"./chunk-AJVLVF7V.js";import"./chunk-7SQTLUEN.js";import"./chunk-57DRT6UA.js";import"./chunk-K7GFYFBO.js";import"./chunk-BBYJBZHG.js";import"./chunk-L752CNG3.js";import"./chunk-BNG4J3CE.js";import"./chunk-QP6GL3O5.js";import"./chunk-2IJO3657.js";import{a as M}from"./chunk-RE6JTSDM.js";import"./chunk-LTGQJYYO.js";import"./chunk-YKQWIXUY.js";import"./chunk-C3OIBFAA.js";import"./chunk-IRPNEXOU.js";import"./chunk-7QUSNBAA.js";import"./chunk-E7OR6V3V.js";import"./chunk-O756AOUX.js";import"./chunk-2UZBLC5H.js";import"./chunk-CAZM63TP.js";import"./chunk-L7PC675Y.js";import"./chunk-2W5MQDHM.js";import{d as N,e as je}from"./chunk-INGXD5IX.js";import{a as ne,e as Ee}from"./chunk-L5VSLPMW.js";import"./chunk-U6IOQKCT.js";import"./chunk-V6SE2ZU2.js";import{Command as nt}from"commander";import d from"chalk";Ee();je();import y from"chalk";import{existsSync as Le}from"fs";import{join as H}from"path";var K=class{projectRoot;options;orchestrator;constructor(e){this.options=e,this.projectRoot=e.projectRoot}async checkCodeIntelligence(){if(this.options.skipCodeScan)return console.log(y.yellow(" Code intelligence scan skipped (--skip-code-scan flag)")),{codeIntelligence:{hasIndex:!1,entryCount:0,wasPrompted:!1,scanRequested:!1},shouldProceed:!0,skipReason:"skip-flag"};if(await this.hasCodeIntelligenceIndex()){let o=await this.getKGEntryCount();return console.log(y.green(` \u2713 Code intelligence index found (${o} entries)`)),{codeIntelligence:{hasIndex:!0,entryCount:o,wasPrompted:!1,scanRequested:!1},shouldProceed:!0}}return!this.options.nonInteractive&&(console.log(y.yellow(`
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.16");process.exit(0)}
2
+ import{a as T,b as ye,c as _,d as V,e as he,f as G,g as we,j as ke}from"./chunk-YTHTQPWR.js";import{a as be}from"./chunk-RV74I3YO.js";import{b as q}from"./chunk-GSKMOPL7.js";import{a as pe}from"./chunk-XWUWX7BV.js";import{d as z,e as C}from"./chunk-YLMNVLDK.js";import{a as O,b as fe}from"./chunk-6DPYNAOK.js";import"./chunk-SDLWKRVL.js";import"./chunk-SSUAAX3F.js";import{e as me}from"./chunk-IESR7TNB.js";import{a as ge}from"./chunk-HLUXXCHF.js";import{f as le,l as ce,m as de,p as W}from"./chunk-D6COXLYE.js";import{a as ue}from"./chunk-CJSHWQXP.js";import"./chunk-SR52XP5F.js";import{L as ae,x as B}from"./chunk-DVYHMDFR.js";import"./chunk-LKTTUHLF.js";import"./chunk-AAMLQ2LF.js";import"./chunk-IUBJVHNB.js";import"./chunk-SASBO5Y5.js";import"./chunk-EGYE5UPQ.js";import"./chunk-QPEOLAAS.js";import"./chunk-LRSX2FJM.js";import"./chunk-YRAX7SFJ.js";import"./chunk-TIUKLYAI.js";import"./chunk-5V3TI2LG.js";import"./chunk-VMDFFTCK.js";import"./chunk-KL7OKSU2.js";import"./chunk-Y4PFUMOU.js";import"./chunk-2YZ4G6NW.js";import"./chunk-C5FP5GW3.js";import"./chunk-W5HQUIML.js";import"./chunk-UHEOGZLX.js";import"./chunk-5PBLPQ5T.js";import{d as re}from"./chunk-MAFQV4U4.js";import"./chunk-C6D5AHBO.js";import{d as se}from"./chunk-TVGI32MB.js";import"./chunk-J442IZLE.js";import"./chunk-24QHCVX6.js";import"./chunk-PEQDY4BO.js";import"./chunk-4D4DENG6.js";import"./chunk-LQLPB2T6.js";import"./chunk-NDJ7P2EP.js";import{a as ie}from"./chunk-QVDCVD5D.js";import"./chunk-63GMRQ25.js";import"./chunk-ZR2TKVXQ.js";import"./chunk-M7WJCTG3.js";import"./chunk-FL64OUBA.js";import"./chunk-SI6DPU5D.js";import"./chunk-HCH4Y6XX.js";import"./chunk-NVEWF4JV.js";import"./chunk-GFWHUQSF.js";import"./chunk-6ICX3FEG.js";import"./chunk-NZU4ACBZ.js";import{b as oe}from"./chunk-UE5ZOZR2.js";import"./chunk-72XSEQMW.js";import"./chunk-ZJH5MU2I.js";import"./chunk-32BPDLRZ.js";import"./chunk-SHKOCGNK.js";import"./chunk-UNGBRZDK.js";import"./chunk-FDDC72IA.js";import"./chunk-525CFDUE.js";import"./chunk-6XXZDV2C.js";import"./chunk-5VZL4UVN.js";import"./chunk-RJIEG3NA.js";import"./chunk-4LQFBY5L.js";import"./chunk-KU2AUFGX.js";import"./chunk-5B5QPCNU.js";import"./chunk-PHT5N7SC.js";import"./chunk-EA4YQVKS.js";import"./chunk-N7HL5PHH.js";import"./chunk-GQ6TUIKY.js";import"./chunk-HVRRLYX6.js";import"./chunk-63ZKI4PX.js";import"./chunk-5LAVKGLH.js";import"./chunk-IOQ6ZQ5W.js";import"./chunk-KVF4NXGQ.js";import"./chunk-SUDMM5SO.js";import"./chunk-JQ3DYUMS.js";import"./chunk-6ZBXSOX6.js";import"./chunk-NO3IV5Q5.js";import"./chunk-QQWBWEJS.js";import"./chunk-XIQW7EFL.js";import"./chunk-JHQCRRJI.js";import"./chunk-DTMAS2GB.js";import"./chunk-5SPCGMBB.js";import"./chunk-SSYAQZXA.js";import"./chunk-ZQ2XW3IP.js";import"./chunk-VXFLJNCA.js";import"./chunk-IOKYCMTJ.js";import"./chunk-HGWXF45W.js";import"./chunk-VJCIEHEF.js";import"./chunk-MO55CVMT.js";import"./chunk-CEYSYSK5.js";import"./chunk-WP4RETKG.js";import"./chunk-JDIYMZCQ.js";import"./chunk-V5NHZV7S.js";import"./chunk-S75SOOZL.js";import"./chunk-PPUZWYUG.js";import"./chunk-3HD7E6HN.js";import"./chunk-CRPIYUTJ.js";import"./chunk-F742SZAX.js";import"./chunk-CAKMOVZ6.js";import"./chunk-NAEWCFQT.js";import"./chunk-M4FRQ4TE.js";import"./chunk-DXD6K2ZP.js";import"./chunk-FLNAW7C4.js";import"./chunk-KXCLACFG.js";import{a as M}from"./chunk-LE4QJREF.js";import"./chunk-J4ELZNLY.js";import"./chunk-YAPLJR7K.js";import"./chunk-G5RHFBAY.js";import"./chunk-XIIQ5QTT.js";import"./chunk-A5GBXCP5.js";import"./chunk-L6QSTQME.js";import"./chunk-EK7OLYOZ.js";import"./chunk-AGRV5B3T.js";import"./chunk-U2A7NHZA.js";import"./chunk-I7MQIM2U.js";import"./chunk-ZFL436FN.js";import{d as N,e as je}from"./chunk-KPRCB5LT.js";import{a as ne,e as Ee}from"./chunk-KNSRL6NO.js";import"./chunk-2H4XH6FT.js";import"./chunk-AJMJNQMP.js";import{Command as nt}from"commander";import d from"chalk";Ee();je();import y from"chalk";import{existsSync as Le}from"fs";import{join as H}from"path";var K=class{projectRoot;options;orchestrator;constructor(e){this.options=e,this.projectRoot=e.projectRoot}async checkCodeIntelligence(){if(this.options.skipCodeScan)return console.log(y.yellow(" Code intelligence scan skipped (--skip-code-scan flag)")),{codeIntelligence:{hasIndex:!1,entryCount:0,wasPrompted:!1,scanRequested:!1},shouldProceed:!0,skipReason:"skip-flag"};if(await this.hasCodeIntelligenceIndex()){let o=await this.getKGEntryCount();return console.log(y.green(` \u2713 Code intelligence index found (${o} entries)`)),{codeIntelligence:{hasIndex:!0,entryCount:o,wasPrompted:!1,scanRequested:!1},shouldProceed:!0}}return!this.options.nonInteractive&&(console.log(y.yellow(`
3
3
  \u26A0 No code intelligence index found`)),console.log(y.gray(" Building a knowledge graph improves agent accuracy by 80%")),console.log(y.gray(" This is a one-time operation and can be run later with:")),console.log(y.cyan(` aqe code-intelligence index
4
4
  `)),await this.promptScan())?{codeIntelligence:{hasIndex:!1,entryCount:0,wasPrompted:!0,scanRequested:!0},shouldProceed:!1,skipReason:"scan-requested"}:(console.log(y.gray(" Continuing without code intelligence index")),{codeIntelligence:{hasIndex:!1,entryCount:0,wasPrompted:!this.options.nonInteractive,scanRequested:!1},shouldProceed:!0})}async runCodeIntelligenceScan(){try{if(console.log(y.blue(`
5
- Building code intelligence knowledge graph...`)),this.orchestrator||(this.orchestrator=new pe({projectRoot:this.projectRoot,autoMode:!0,...this.options.initOptions})),await this.hasCodeIntelligenceIndex()){let c=await this.getKGEntryCount();return console.log(y.green(` \u2713 Index already exists (${c} entries)`)),{success:!0,entries:c}}let{KnowledgeGraphService:o}=await import("./knowledge-graph-25XXKDJN.js"),{InMemoryBackend:i}=await import("./memory-backend-LDFFZMEQ.js"),a=new i;await a.initialize();let n=new o(a,{namespace:"code-intelligence:kg",enableVectorEmbeddings:!0,projectRoot:this.projectRoot}),{glob:s}=await import("tinyglobby"),l=await s(["**/*.ts","**/*.tsx","**/*.js","**/*.jsx","**/*.py"],{cwd:this.projectRoot,ignore:["node_modules/**","dist/**","coverage/**",".agentic-qe/**"],expandDirectories:!1});console.log(y.gray(` Indexing ${l.length} files...`));let r=await n.index({paths:l.map(c=>H(this.projectRoot,c)),incremental:!1,includeTests:!0});if(n.destroy(),r.success){let c=r.value.nodesCreated+r.value.edgesCreated;return console.log(y.green(` \u2713 Indexed ${c} knowledge graph entries`)),{success:!0,entries:c}}return console.log(y.yellow(" \u26A0 Code intelligence scan completed with warnings")),{success:!1,entries:0}}catch(e){return console.error(y.red(" \u2717 Code intelligence scan failed:"),ne(e)),{success:!1,entries:0}}}async getStatusForAgents(){let e=await this.hasCodeIntelligenceIndex(),o=e?await this.getKGEntryCount():0;return{codeIntelligenceAvailable:e,knowledgeGraphSize:o,recommendedCapabilities:e?["semantic-search","code-analysis","context-aware"]:["basic-analysis"]}}async hasCodeIntelligenceIndex(){let e=H(this.projectRoot,".agentic-qe","memory.db");if(!Le(e))return!1;try{let o=N(e),i=o.prepare(`
5
+ Building code intelligence knowledge graph...`)),this.orchestrator||(this.orchestrator=new pe({projectRoot:this.projectRoot,autoMode:!0,...this.options.initOptions})),await this.hasCodeIntelligenceIndex()){let c=await this.getKGEntryCount();return console.log(y.green(` \u2713 Index already exists (${c} entries)`)),{success:!0,entries:c}}let{KnowledgeGraphService:o}=await import("./knowledge-graph-KFOMEN3H.js"),{InMemoryBackend:i}=await import("./memory-backend-DFGKWA2Q.js"),a=new i;await a.initialize();let n=new o(a,{namespace:"code-intelligence:kg",enableVectorEmbeddings:!0,projectRoot:this.projectRoot}),{glob:s}=await import("tinyglobby"),l=await s(["**/*.ts","**/*.tsx","**/*.js","**/*.jsx","**/*.py"],{cwd:this.projectRoot,ignore:["node_modules/**","dist/**","coverage/**",".agentic-qe/**"],expandDirectories:!1});console.log(y.gray(` Indexing ${l.length} files...`));let r=await n.index({paths:l.map(c=>H(this.projectRoot,c)),incremental:!1,includeTests:!0});if(n.destroy(),r.success){let c=r.value.nodesCreated+r.value.edgesCreated;return console.log(y.green(` \u2713 Indexed ${c} knowledge graph entries`)),{success:!0,entries:c}}return console.log(y.yellow(" \u26A0 Code intelligence scan completed with warnings")),{success:!1,entries:0}}catch(e){return console.error(y.red(" \u2717 Code intelligence scan failed:"),ne(e)),{success:!1,entries:0}}}async getStatusForAgents(){let e=await this.hasCodeIntelligenceIndex(),o=e?await this.getKGEntryCount():0;return{codeIntelligenceAvailable:e,knowledgeGraphSize:o,recommendedCapabilities:e?["semantic-search","code-analysis","context-aware"]:["basic-analysis"]}}async hasCodeIntelligenceIndex(){let e=H(this.projectRoot,".agentic-qe","memory.db");if(!Le(e))return!1;try{let o=N(e),i=o.prepare(`
6
6
  SELECT COUNT(*) as count FROM kv_store
7
7
  WHERE namespace = 'code-intelligence:kg'
8
8
  `).get();return o.close(),i.count>0}catch{return!1}}async getKGEntryCount(){let e=H(this.projectRoot,".agentic-qe","memory.db");try{let o=N(e),i=o.prepare(`
@@ -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.14");process.exit(0)}
2
- import{a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p}from"./chunk-A2T56XVL.js";import"./chunk-XN3KCKAM.js";import"./chunk-K7GFYFBO.js";import"./chunk-E7OR6V3V.js";import"./chunk-V6SE2ZU2.js";export{e as GNNLayerFactory,c as QEGNNEmbeddingIndex,d as QEGNNIndexFactory,f as TensorCompressionFactory,p as batchDifferentiableSearch,i as getDifferentiableSearch,k as getGetCompressionLevel,j as getHierarchicalForward,l as getInit,g as getRuvectorLayer,h as getTensorCompress,b as initGNN,a as isGNNAvailable,m as toFloat32Array,o as toIEmbedding,n as toNumberArray};
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.16");process.exit(0)}
2
+ import{a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p}from"./chunk-5VZL4UVN.js";import"./chunk-V5NHZV7S.js";import"./chunk-CAKMOVZ6.js";import"./chunk-L6QSTQME.js";import"./chunk-AJMJNQMP.js";export{e as GNNLayerFactory,c as QEGNNEmbeddingIndex,d as QEGNNIndexFactory,f as TensorCompressionFactory,p as batchDifferentiableSearch,i as getDifferentiableSearch,k as getGetCompressionLevel,j as getHierarchicalForward,l as getInit,g as getRuvectorLayer,h as getTensorCompress,b as initGNN,a as isGNNAvailable,m as toFloat32Array,o as toIEmbedding,n as toNumberArray};
@@ -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.14");process.exit(0)}
2
- import{b as d}from"./chunk-O2AAYJUV.js";import"./chunk-XMCSKYDE.js";import{a as c,e as f}from"./chunk-L5VSLPMW.js";import"./chunk-V6SE2ZU2.js";import*as s from"fs";import*as l from"path";import e from"chalk";f();var h=class{name="heartbeat";description="Manage the token-free heartbeat scheduler";cleanupAndExit;worker;constructor(t){this.cleanupAndExit=t}async getWorker(){if(!this.worker){let{HeartbeatSchedulerWorker:t}=await import("./heartbeat-scheduler-FC5PBTMN.js");this.worker=new t}return this.worker}register(t,o){let a=t.command("heartbeat").description(this.description);a.command("status").description("Show heartbeat worker status, health, and schedule").action(async()=>{await this.executeStatus()}),a.command("run-now").description("Trigger an immediate heartbeat cycle").option("-t, --timeout <ms>","Timeout in milliseconds (default: worker built-in 60s)").action(async n=>{let i=n.timeout?parseInt(n.timeout,10):void 0;await this.executeRunNow(i)}),a.command("history").description("Show recent heartbeat results").option("-n, --count <count>","Number of entries to show","10").action(async n=>{await this.executeHistory(parseInt(n.count,10)||10)}),a.command("log").description("Show today's daily log entries").option("-d, --date <date>","Show log for specific date (YYYY-MM-DD)").action(async n=>{await this.executeLog(n.date)}),a.command("pause").description("Pause the heartbeat worker").action(async()=>{await this.executePause()}),a.command("resume").description("Resume the heartbeat worker").action(async()=>{await this.executeResume()})}async executeStatus(){try{this.worker=await this.getWorker(),await this.worker.initialize();let t=this.worker.getHealth(),o=this.worker.lastResult;if(console.log(e.blue(`
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.16");process.exit(0)}
2
+ import{b as d}from"./chunk-PINSJCM3.js";import"./chunk-QPEOLAAS.js";import{a as c,e as f}from"./chunk-KNSRL6NO.js";import"./chunk-AJMJNQMP.js";import*as s from"fs";import*as l from"path";import e from"chalk";f();var h=class{name="heartbeat";description="Manage the token-free heartbeat scheduler";cleanupAndExit;worker;constructor(t){this.cleanupAndExit=t}async getWorker(){if(!this.worker){let{HeartbeatSchedulerWorker:t}=await import("./heartbeat-scheduler-NVR356I7.js");this.worker=new t}return this.worker}register(t,o){let a=t.command("heartbeat").description(this.description);a.command("status").description("Show heartbeat worker status, health, and schedule").action(async()=>{await this.executeStatus()}),a.command("run-now").description("Trigger an immediate heartbeat cycle").option("-t, --timeout <ms>","Timeout in milliseconds (default: worker built-in 60s)").action(async n=>{let i=n.timeout?parseInt(n.timeout,10):void 0;await this.executeRunNow(i)}),a.command("history").description("Show recent heartbeat results").option("-n, --count <count>","Number of entries to show","10").action(async n=>{await this.executeHistory(parseInt(n.count,10)||10)}),a.command("log").description("Show today's daily log entries").option("-d, --date <date>","Show log for specific date (YYYY-MM-DD)").action(async n=>{await this.executeLog(n.date)}),a.command("pause").description("Pause the heartbeat worker").action(async()=>{await this.executePause()}),a.command("resume").description("Resume the heartbeat worker").action(async()=>{await this.executeResume()})}async executeStatus(){try{this.worker=await this.getWorker(),await this.worker.initialize();let t=this.worker.getHealth(),o=this.worker.lastResult;if(console.log(e.blue(`
3
3
  Heartbeat Scheduler Status`)),console.log(e.gray(" "+"\u2500".repeat(35))),console.log(` Status: ${x(t.status)}`),console.log(` Health Score: ${y(t.healthScore)}${e.gray("/100")}`),this.worker.lastRunAt){let n=p(this.worker.lastRunAt);console.log(` Last Run: ${e.cyan(this.worker.lastRunAt.toISOString().replace("T"," ").slice(0,19))} ${e.gray(`(${n})`)}`)}else console.log(` Last Run: ${e.gray("never")}`);if(this.worker.nextRunAt){let n=p(this.worker.nextRunAt,!0);console.log(` Next Run: ${e.cyan(this.worker.nextRunAt.toISOString().replace("T"," ").slice(0,19))} ${e.gray(`(${n})`)}`)}console.log(` Total Runs: ${e.cyan(String(t.totalExecutions))}`);let a=t.totalExecutions>0?(t.successfulExecutions/t.totalExecutions*100).toFixed(1):"100.0";if(console.log(` Success Rate: ${e.cyan(a+"%")}`),o?.metrics?.domainMetrics){let n=o.metrics.domainMetrics;console.log(""),console.log(e.blue(" Last Result:")),console.log(` Promoted: ${e.cyan(String(n.promoted??0))} patterns`),console.log(` Deprecated: ${e.cyan(String(n.deprecated??0))} patterns`),console.log(` Decayed: ${e.cyan(String(n.decayed??0))} patterns`),console.log(` Pending Exp: ${e.cyan(String(n.pendingExperiences??0))}`),console.log(` Avg Conf: ${e.cyan(String(n.avgConfidence??0))}`)}console.log(""),await this.cleanupAndExit(0)}catch(t){console.error(e.red(`
4
4
  Failed to get heartbeat status:`),c(t)),await this.cleanupAndExit(1)}}async executeRunNow(t){try{this.worker=await this.getWorker(),console.log(e.blue(`
5
5
  Triggering heartbeat cycle...
@@ -8,7 +8,7 @@ import{b as d}from"./chunk-O2AAYJUV.js";import"./chunk-XMCSKYDE.js";import{a as
8
8
  Heartbeat History (last ${o.length})`)),console.log(e.gray(" "+"\u2500".repeat(60)));for(let a of o){let n=a.success?e.green("OK"):e.red("FAIL"),i=a.timestamp.slice(0,19).replace("T"," "),u=a.domainMetrics||{};console.log(` ${e.gray(i)} ${n} score:${e.cyan(String(a.healthScore))} +${u.promoted??0}/-${u.deprecated??0} ${e.gray(d(a.durationMs))}`)}console.log(""),await this.cleanupAndExit(0)}catch(o){console.error(e.red(`
9
9
  Failed to load history:`),c(o)),await this.cleanupAndExit(1)}}async executeLog(t){try{let o=t||new Date().toISOString().split("T")[0];if(!/^\d{4}-\d{2}-\d{2}$/.test(o)){console.error(e.red(`
10
10
  Invalid date format: "${o}". Use YYYY-MM-DD.
11
- `)),await this.cleanupAndExit(1);return}let{findProjectRoot:a}=await import("./unified-memory-QARWQKJ2.js"),n=l.join(a(),".agentic-qe","logs"),i=l.join(n,`${o}.md`);if(!s.existsSync(i)){console.log(e.yellow(`
11
+ `)),await this.cleanupAndExit(1);return}let{findProjectRoot:a}=await import("./unified-memory-GI76TXFV.js"),n=l.join(a(),".agentic-qe","logs"),i=l.join(n,`${o}.md`);if(!s.existsSync(i)){console.log(e.yellow(`
12
12
  No daily log found for ${o}.
13
13
  `)),await this.cleanupAndExit(0);return}let u=s.readFileSync(i,"utf-8");console.log(e.blue(`
14
14
  Daily Log \u2014 ${o}`)),console.log(e.gray(" "+"\u2500".repeat(40)));for(let g of u.split(`
@@ -45,4 +45,4 @@ Examples:
45
45
  aqe heartbeat log --date 2026-03-25
46
46
  aqe heartbeat pause
47
47
  aqe heartbeat resume
48
- `}},m=100;async function w(){let{findProjectRoot:r}=await import("./unified-memory-QARWQKJ2.js");return l.join(r(),".agentic-qe","heartbeat-history.json")}async function b(r){try{let t=await w(),o=l.dirname(t);s.existsSync(o)||s.mkdirSync(o,{recursive:!0});let a=[];if(s.existsSync(t))try{a=JSON.parse(s.readFileSync(t,"utf-8"))}catch{a=[]}a.unshift({timestamp:r.timestamp.toISOString(),success:r.success,durationMs:r.durationMs,healthScore:r.metrics.healthScore,domainMetrics:r.metrics.domainMetrics}),a.length>m&&(a=a.slice(0,m)),s.writeFileSync(t,JSON.stringify(a,null,2))}catch{}}async function S(r){try{let t=await w();return s.existsSync(t)?JSON.parse(s.readFileSync(t,"utf-8")).slice(0,r):[]}catch{return[]}}function x(r){switch(r){case"idle":return e.cyan(r);case"running":return e.yellow(r);case"paused":return e.yellow(r);case"stopped":return e.gray(r);case"error":return e.red(r);default:return e.white(r)}}function y(r){return r>=80?e.green(String(r)):r>=50?e.yellow(String(r)):e.red(String(r))}function k(r){switch(r){case"improving":return e.green(r);case"stable":return e.cyan(r);case"degrading":return e.red(r);default:return e.gray(r)}}function p(r,t=!1){let o=t?r.getTime()-Date.now():Date.now()-r.getTime();return o<0?t?"now":"just now":o<6e4?`${Math.floor(o/1e3)}s ${t?"from now":"ago"}`:o<36e5?`${Math.floor(o/6e4)}m ${t?"from now":"ago"}`:`${Math.floor(o/36e5)}h ${t?"from now":"ago"}`}function A(r){return new h(r)}export{h as HeartbeatHandler,A as createHeartbeatHandler};
48
+ `}},m=100;async function w(){let{findProjectRoot:r}=await import("./unified-memory-GI76TXFV.js");return l.join(r(),".agentic-qe","heartbeat-history.json")}async function b(r){try{let t=await w(),o=l.dirname(t);s.existsSync(o)||s.mkdirSync(o,{recursive:!0});let a=[];if(s.existsSync(t))try{a=JSON.parse(s.readFileSync(t,"utf-8"))}catch{a=[]}a.unshift({timestamp:r.timestamp.toISOString(),success:r.success,durationMs:r.durationMs,healthScore:r.metrics.healthScore,domainMetrics:r.metrics.domainMetrics}),a.length>m&&(a=a.slice(0,m)),s.writeFileSync(t,JSON.stringify(a,null,2))}catch{}}async function S(r){try{let t=await w();return s.existsSync(t)?JSON.parse(s.readFileSync(t,"utf-8")).slice(0,r):[]}catch{return[]}}function x(r){switch(r){case"idle":return e.cyan(r);case"running":return e.yellow(r);case"paused":return e.yellow(r);case"stopped":return e.gray(r);case"error":return e.red(r);default:return e.white(r)}}function y(r){return r>=80?e.green(String(r)):r>=50?e.yellow(String(r)):e.red(String(r))}function k(r){switch(r){case"improving":return e.green(r);case"stable":return e.cyan(r);case"degrading":return e.red(r);default:return e.gray(r)}}function p(r,t=!1){let o=t?r.getTime()-Date.now():Date.now()-r.getTime();return o<0?t?"now":"just now":o<6e4?`${Math.floor(o/1e3)}s ${t?"from now":"ago"}`:o<36e5?`${Math.floor(o/6e4)}m ${t?"from now":"ago"}`:`${Math.floor(o/36e5)}h ${t?"from now":"ago"}`}function A(r){return new h(r)}export{h as HeartbeatHandler,A as createHeartbeatHandler};
@@ -0,0 +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.16");process.exit(0)}
2
+ import{b as a}from"./chunk-ZB3LEFYG.js";import"./chunk-J7I6PABJ.js";import"./chunk-YPBSUGMI.js";import"./chunk-L2DWPVNJ.js";import"./chunk-EA4YQVKS.js";import"./chunk-MO55CVMT.js";import"./chunk-CEYSYSK5.js";import"./chunk-WP4RETKG.js";import"./chunk-JDIYMZCQ.js";import"./chunk-V5NHZV7S.js";import"./chunk-S75SOOZL.js";import"./chunk-PPUZWYUG.js";import"./chunk-3HD7E6HN.js";import"./chunk-CRPIYUTJ.js";import"./chunk-F742SZAX.js";import"./chunk-CAKMOVZ6.js";import"./chunk-FLNAW7C4.js";import"./chunk-J4ELZNLY.js";import"./chunk-YAPLJR7K.js";import"./chunk-G5RHFBAY.js";import"./chunk-XIIQ5QTT.js";import"./chunk-A5GBXCP5.js";import"./chunk-L6QSTQME.js";import"./chunk-AGRV5B3T.js";import"./chunk-U2A7NHZA.js";import"./chunk-KPRCB5LT.js";import"./chunk-KNSRL6NO.js";import"./chunk-2H4XH6FT.js";import"./chunk-AJMJNQMP.js";export{a as HeartbeatSchedulerWorker};
@@ -0,0 +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.16");process.exit(0)}
2
+ import{a,b}from"./chunk-F742SZAX.js";import"./chunk-CAKMOVZ6.js";import"./chunk-L6QSTQME.js";import"./chunk-AJMJNQMP.js";b();export{a as HnswAdapter};
@@ -0,0 +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.16");process.exit(0)}
2
+ import{a,b,c,d}from"./chunk-RJIEG3NA.js";import"./chunk-3HD7E6HN.js";import"./chunk-F742SZAX.js";import"./chunk-CAKMOVZ6.js";import"./chunk-YAPLJR7K.js";import"./chunk-G5RHFBAY.js";import"./chunk-XIIQ5QTT.js";import"./chunk-A5GBXCP5.js";import"./chunk-L6QSTQME.js";import"./chunk-AJMJNQMP.js";export{a as DEFAULT_HNSW_CONFIG,b as HNSWIndex,d as benchmarkHNSW,c as createHNSWIndex};
@@ -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.14");process.exit(0)}
2
- import"./chunk-V6SE2ZU2.js";var s=class{adapter;metadataMap=new Map;insertCount=0;constructor(e){this.adapter=e}async initialize(){}async insert(e,t,r){this.adapter.addByStringId(e,t),this.insertCount++,r&&this.metadataMap.set(e,r)}async search(e,t){return this.adapter.searchByArray(e,t).map(a=>({key:a.id,score:a.score,distance:1-a.score,metadata:this.metadataMap.get(a.id)}))}async batchInsert(e){for(let t of e)await this.insert(t.key,t.vector,t.metadata)}async delete(e){let t=this.adapter.removeByStringId(e);return t&&this.metadataMap.delete(e),t}async getStats(){return{nativeHNSW:!0,backendType:"ruvector-gnn",vectorCount:this.adapter.size(),indexSizeBytes:this.adapter.size()*this.adapter.dimensions()*4,avgSearchLatencyMs:this.adapter.lastSearchLatencyMs,p95SearchLatencyMs:0,p99SearchLatencyMs:0,searchOperations:0,insertOperations:this.insertCount}}async clear(){this.adapter.clear(),this.metadataMap.clear(),this.insertCount=0}isNativeAvailable(){return!0}};export{s as HnswLegacyBridge};
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.16");process.exit(0)}
2
+ import"./chunk-AJMJNQMP.js";var s=class{adapter;metadataMap=new Map;insertCount=0;constructor(e){this.adapter=e}async initialize(){}async insert(e,t,r){this.adapter.addByStringId(e,t),this.insertCount++,r&&this.metadataMap.set(e,r)}async search(e,t){return this.adapter.searchByArray(e,t).map(a=>({key:a.id,score:a.score,distance:1-a.score,metadata:this.metadataMap.get(a.id)}))}async batchInsert(e){for(let t of e)await this.insert(t.key,t.vector,t.metadata)}async delete(e){let t=this.adapter.removeByStringId(e);return t&&this.metadataMap.delete(e),t}async getStats(){return{nativeHNSW:!0,backendType:"ruvector-gnn",vectorCount:this.adapter.size(),indexSizeBytes:this.adapter.size()*this.adapter.dimensions()*4,avgSearchLatencyMs:this.adapter.lastSearchLatencyMs,p95SearchLatencyMs:0,p99SearchLatencyMs:0,searchOperations:0,insertOperations:this.insertCount}}async clear(){this.adapter.clear(),this.metadataMap.clear(),this.insertCount=0}isNativeAvailable(){return!0}};export{s as HnswLegacyBridge};
@@ -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.14");process.exit(0)}
2
- import"./chunk-V6SE2ZU2.js";import{createRequire as t}from"module";var o=t(import.meta.url),e=o("hnswlib-node"),i=e,{RuvectorLayer:r,TensorCompress:a,differentiableSearch:c,hierarchicalForward:l,getCompressionLevel:s,init:p,FlashAttention:d,DotProductAttention:m,MultiHeadAttention:u,HyperbolicAttention:A,LinearAttention:h,MoEAttention:f,SonaEngine:_,pipeline:b}=e||{};export{m as DotProductAttention,d as FlashAttention,A as HyperbolicAttention,h as LinearAttention,f as MoEAttention,u as MultiHeadAttention,r as RuvectorLayer,_ as SonaEngine,a as TensorCompress,i as default,c as differentiableSearch,s as getCompressionLevel,l as hierarchicalForward,p as init,b as pipeline};
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.16");process.exit(0)}
2
+ import"./chunk-AJMJNQMP.js";import{createRequire as t}from"module";var o=t(import.meta.url),e=o("hnswlib-node"),i=e,{RuvectorLayer:r,TensorCompress:a,differentiableSearch:c,hierarchicalForward:l,getCompressionLevel:s,init:p,FlashAttention:d,DotProductAttention:m,MultiHeadAttention:u,HyperbolicAttention:A,LinearAttention:h,MoEAttention:f,SonaEngine:_,pipeline:b}=e||{};export{m as DotProductAttention,d as FlashAttention,A as HyperbolicAttention,h as LinearAttention,f as MoEAttention,u as MultiHeadAttention,r as RuvectorLayer,_ as SonaEngine,a as TensorCompress,i as default,c as differentiableSearch,s as getCompressionLevel,l as hierarchicalForward,p as init,b as pipeline};
@@ -1,11 +1,11 @@
1
1
  #!/usr/bin/env node
2
- 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.14");process.exit(0)}
3
- import{a as A,b as Se,c as we}from"./chunk-7724KXM2.js";import{c as _e,d as be}from"./chunk-H3C5FJRH.js";import{a as ee}from"./chunk-K7RT6ITZ.js";import{d as W,h as oe}from"./chunk-E2JLAW3U.js";import"./chunk-Z2S7DNFP.js";import{b as he}from"./chunk-HHBF2BZC.js";import"./chunk-WCPSR4MJ.js";import{b as Z}from"./chunk-JJHLGGPP.js";import"./chunk-X6NJOT3V.js";import"./chunk-5Z4MO2F3.js";import"./chunk-YGOSSVY5.js";import"./chunk-MB4UKUBV.js";import"./chunk-NZQYJCO6.js";import{a as fe}from"./chunk-HTVGHHX2.js";import{d as Ee,e as Te}from"./chunk-HV43NX4A.js";import{a as ke,b as ye}from"./chunk-UNYTHZDZ.js";import"./chunk-UMHFTQTR.js";import{r as M,v as U}from"./chunk-JK6PMLQQ.js";import"./chunk-6NIGSY5L.js";import{b as me,d as Fe}from"./chunk-XN3KCKAM.js";import{a as K,b as Y,c as pe,e as ze}from"./chunk-UDSB3XCG.js";import"./chunk-Z54G2YOL.js";import"./chunk-HEDGFKC5.js";import"./chunk-AJVLVF7V.js";import"./chunk-7SQTLUEN.js";import"./chunk-57DRT6UA.js";import"./chunk-K7GFYFBO.js";import{a as ge}from"./chunk-L752CNG3.js";import"./chunk-BNG4J3CE.js";import"./chunk-QP6GL3O5.js";import"./chunk-RE6JTSDM.js";import"./chunk-LTGQJYYO.js";import{a as He}from"./chunk-YKQWIXUY.js";import{c as ue}from"./chunk-C3OIBFAA.js";import"./chunk-IRPNEXOU.js";import"./chunk-7QUSNBAA.js";import"./chunk-E7OR6V3V.js";import"./chunk-O756AOUX.js";import{c as R}from"./chunk-2UZBLC5H.js";import"./chunk-CAZM63TP.js";import"./chunk-L7PC675Y.js";import"./chunk-2W5MQDHM.js";import"./chunk-INGXD5IX.js";import"./chunk-L5VSLPMW.js";import"./chunk-U6IOQKCT.js";import"./chunk-V6SE2ZU2.js";import{Command as yt}from"commander";import $ from"chalk";import ve from"node:path";U();import{randomUUID as B}from"crypto";import I from"chalk";var H="dream-scheduler:hook-state";async function Re(r,e,t){try{let{computeRealEmbedding:n}=await import("./real-embeddings-I2UVNNB3.js"),o=await n(t.slice(0,512));r.prepare("UPDATE captured_experiences SET embedding = ?, embedding_dimension = ? WHERE id = ?").run(Buffer.from(new Float32Array(o).buffer),o.length,e)}catch(n){console.error(I.dim(`[hooks] embedding persistence: ${n instanceof Error?n.message:"unknown"}`))}}async function x(r){try{let e=await r.get(H);return e||(e={lastDreamTime:null,experienceCount:0,sessionStartTime:new Date().toISOString(),totalDreamsThisSession:0}),e.experienceCount++,await r.set(H,e),e.experienceCount}catch{return 0}}async function G(r){try{let{getUnifiedMemory:e}=await import("./unified-memory-QARWQKJ2.js"),t=e();t.isInitialized()||await t.initialize();let{initializeExperienceCapture:n}=await import("./experience-capture-middleware-SYJQSBKE.js");await n();let o=t.getDatabase();try{o.pragma("busy_timeout = 60000")}catch{}let s=`cli-${Date.now()}-${B().slice(0,8)}`,a=r.durationMs||0,c;if(r.success){let i=a>0&&a<5e3?.1:0,f=r.source.includes("post-task")?.1:r.source.includes("post-edit")?.05:0;c=Math.min(.95,.7+i+f)}else{let i=r.source.includes("post-task")?.15:r.source.includes("post-edit")?.1:0;c=Math.min(.6,.3+i)}o.prepare(`
2
+ 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.16");process.exit(0)}
3
+ import{a as A,b as we,c as Se}from"./chunk-AAMLQ2LF.js";import{a as ee}from"./chunk-M7WJCTG3.js";import{c as _e,d as be}from"./chunk-FDDC72IA.js";import{d as W,h as oe}from"./chunk-4LQFBY5L.js";import"./chunk-KU2AUFGX.js";import{b as he}from"./chunk-5B5QPCNU.js";import"./chunk-PHT5N7SC.js";import{b as Z}from"./chunk-EA4YQVKS.js";import"./chunk-N7HL5PHH.js";import"./chunk-GQ6TUIKY.js";import"./chunk-HVRRLYX6.js";import"./chunk-63ZKI4PX.js";import"./chunk-5LAVKGLH.js";import"./chunk-IOQ6ZQ5W.js";import{a as fe}from"./chunk-SUDMM5SO.js";import{d as Ee,e as Te}from"./chunk-IOKYCMTJ.js";import"./chunk-HGWXF45W.js";import{a as ke,b as ye}from"./chunk-VJCIEHEF.js";import{B as U,w as M}from"./chunk-MO55CVMT.js";import"./chunk-CEYSYSK5.js";import"./chunk-WP4RETKG.js";import"./chunk-JDIYMZCQ.js";import{b as me,d as Fe}from"./chunk-V5NHZV7S.js";import{a as K,b as Y,c as pe,e as ze}from"./chunk-S75SOOZL.js";import"./chunk-PPUZWYUG.js";import"./chunk-3HD7E6HN.js";import"./chunk-CRPIYUTJ.js";import"./chunk-F742SZAX.js";import"./chunk-CAKMOVZ6.js";import{a as ge}from"./chunk-M4FRQ4TE.js";import"./chunk-DXD6K2ZP.js";import"./chunk-FLNAW7C4.js";import"./chunk-LE4QJREF.js";import"./chunk-J4ELZNLY.js";import{a as He}from"./chunk-YAPLJR7K.js";import{c as ue}from"./chunk-G5RHFBAY.js";import"./chunk-XIIQ5QTT.js";import"./chunk-A5GBXCP5.js";import"./chunk-L6QSTQME.js";import"./chunk-EK7OLYOZ.js";import{c as R}from"./chunk-AGRV5B3T.js";import"./chunk-U2A7NHZA.js";import"./chunk-I7MQIM2U.js";import"./chunk-ZFL436FN.js";import"./chunk-KPRCB5LT.js";import"./chunk-KNSRL6NO.js";import"./chunk-2H4XH6FT.js";import"./chunk-AJMJNQMP.js";import{Command as yt}from"commander";import $ from"chalk";import ve from"node:path";U();import{randomUUID as B}from"crypto";import I from"chalk";var H="dream-scheduler:hook-state";async function Re(r,e,t){try{let{computeRealEmbedding:n,getActiveEmbeddingSpaceIdentity:o}=await import("./real-embeddings-OXLYU7JW.js"),{recordExperienceEmbeddingSpace:s}=await import("./embedding-space-SBM2MZD2.js"),{writeWhenUnlockedOn:a}=await import("./unified-memory-GI76TXFV.js"),c=await n(t.slice(0,512));await a(r,()=>{r.prepare("UPDATE captured_experiences SET embedding = ?, embedding_dimension = ? WHERE id = ?").run(Buffer.from(new Float32Array(c).buffer),c.length,e),s(r,e,o()?.spaceId)})}catch(n){console.error(I.dim(`[hooks] embedding persistence: ${n instanceof Error?n.message:"unknown"}`))}}async function x(r){try{let e=await r.get(H);return e||(e={lastDreamTime:null,experienceCount:0,sessionStartTime:new Date().toISOString(),totalDreamsThisSession:0}),e.experienceCount++,await r.set(H,e),e.experienceCount}catch{return 0}}async function G(r){try{let{getUnifiedMemory:e}=await import("./unified-memory-GI76TXFV.js"),t=e();t.isInitialized()||await t.initialize();let{initializeExperienceCapture:n}=await import("./experience-capture-middleware-Z6BF6KYM.js");await n();let o=t.getDatabase();try{o.pragma("busy_timeout = 60000")}catch{}let s=`cli-${Date.now()}-${B().slice(0,8)}`,a=r.durationMs||0,c;if(r.success){let i=a>0&&a<5e3?.1:0,f=r.source.includes("post-task")?.1:r.source.includes("post-edit")?.05:0;c=Math.min(.95,.7+i+f)}else{let i=r.source.includes("post-task")?.15:r.source.includes("post-edit")?.1:0;c=Math.min(.6,.3+i)}o.prepare(`
4
4
  INSERT OR REPLACE INTO captured_experiences
5
5
  (id, task, agent, domain, success, quality, duration_ms,
6
6
  started_at, completed_at, source)
7
7
  VALUES (?, ?, ?, ?, ?, ?, ?, datetime('now'), datetime('now'), ?)
8
- `).run(s,r.task.slice(0,500),r.agent,r.domain,r.success?1:0,c,a,r.source),await Re(o,s,`${r.domain}: ${r.task}`)}catch(e){console.error(I.dim(`[hooks] persistCommandExperience: ${e instanceof Error?e.message:"unknown"}`))}}async function se(r){let{getUnifiedMemory:e}=await import("./unified-memory-QARWQKJ2.js"),t=e();t.isInitialized()||await t.initialize();let n=t.getDatabase();try{n.pragma("busy_timeout = 60000")}catch{}try{n.exec(`
8
+ `).run(s,r.task.slice(0,500),r.agent,r.domain,r.success?1:0,c,a,r.source),await Re(o,s,`${r.domain}: ${r.task}`)}catch(e){console.error(I.dim(`[hooks] persistCommandExperience: ${e instanceof Error?e.message:"unknown"}`))}}async function se(r){let{getUnifiedMemory:e}=await import("./unified-memory-GI76TXFV.js"),t=e();t.isInitialized()||await t.initialize();let n=t.getDatabase();try{n.pragma("busy_timeout = 60000")}catch{}try{n.exec(`
9
9
  CREATE TABLE IF NOT EXISTS captured_experiences (
10
10
  id TEXT PRIMARY KEY,
11
11
  task TEXT NOT NULL,
@@ -26,6 +26,7 @@ import{a as A,b as Se,c as we}from"./chunk-7724KXM2.js";import{c as _e,d as be}f
26
26
  avg_token_savings REAL DEFAULT 0,
27
27
  embedding BLOB,
28
28
  embedding_dimension INTEGER,
29
+ embedding_space_id TEXT,
29
30
  tags TEXT,
30
31
  last_applied_at TEXT
31
32
  );
@@ -89,7 +90,7 @@ import{a as A,b as Se,c as we}from"./chunk-7724KXM2.js";import{c as _e,d as be}f
89
90
  WHERE actionable = 1 AND (applied = 0 OR applied IS NULL)
90
91
  ORDER BY created_at DESC
91
92
  LIMIT 3
92
- `).all();if(u.length>0){let{createDreamEngine:E}=await import("./dream-6C4NURSE.js"),g=E();await g.initialize();try{for(let T of u){let D=await g.applyInsight(T.id);D.success&&D.patternId&&d++}}finally{await g.close()}}}catch(u){console.error(I.dim(`[hooks] post-task insight apply: ${u instanceof Error?u.message:"unknown"}`))}return await Re(n,o,`${r.domain??"general"}: ${s}`),{experienceId:o,qualityScore:f,bridge:l,stitchedSiblings:p,insightsApplied:d}}async function Q(r){try{let{getUnifiedMemory:e}=await import("./unified-memory-QARWQKJ2.js"),t=e();t.isInitialized()||await t.initialize();let n=t.getDatabase();try{n.pragma("busy_timeout = 60000")}catch{}let o=`${r.taskType}|${r.priority}|${r.domain||"any"}`,s=r.agent,a=`q-learning:aqe-hook-router:${o}:${s}`,c=r.success?.1:-1,i=.1,f=.9,l=n.prepare(`
93
+ `).all();if(u.length>0){let{createDreamEngine:E}=await import("./dream-EJY24JN6.js"),g=E();await g.initialize();try{for(let T of u){let D=await g.applyInsight(T.id);D.success&&D.patternId&&d++}}finally{await g.close()}}}catch(u){console.error(I.dim(`[hooks] post-task insight apply: ${u instanceof Error?u.message:"unknown"}`))}return await Re(n,o,`${r.domain??"general"}: ${s}`),{experienceId:o,qualityScore:f,bridge:l,stitchedSiblings:p,insightsApplied:d}}async function Q(r){try{let{getUnifiedMemory:e}=await import("./unified-memory-GI76TXFV.js"),t=e();t.isInitialized()||await t.initialize();let n=t.getDatabase();try{n.pragma("busy_timeout = 60000")}catch{}let o=`${r.taskType}|${r.priority}|${r.domain||"any"}`,s=r.agent,a=`q-learning:aqe-hook-router:${o}:${s}`,c=r.success?.1:-1,i=.1,f=.9,l=n.prepare(`
93
94
  SELECT q_value FROM rl_q_values WHERE id = ?
94
95
  `).get(a),p=l&&typeof l.q_value=="number"?l.q_value:0,d=n.prepare(`
95
96
  SELECT MAX(q_value) AS m FROM rl_q_values WHERE state_key = ?
@@ -102,7 +103,7 @@ import{a as A,b as Se,c as we}from"./chunk-7724KXM2.js";import{c as _e,d as be}f
102
103
  visits = visits + 1,
103
104
  last_reward = excluded.last_reward,
104
105
  updated_at = datetime('now')
105
- `).run(a,o,s,u,c,r.domain||"any")}catch(e){console.error(I.dim(`[hooks] q-learning update: ${e instanceof Error?e.message:"unknown"}`))}}async function ae(r){try{let{getUnifiedMemory:e}=await import("./unified-memory-QARWQKJ2.js"),t=e();t.isInitialized()||await t.initialize();let n=t.getDatabase();try{n.pragma("busy_timeout = 60000")}catch{}n.prepare(`
106
+ `).run(a,o,s,u,c,r.domain||"any")}catch(e){console.error(I.dim(`[hooks] q-learning update: ${e instanceof Error?e.message:"unknown"}`))}}async function ae(r){try{let{getUnifiedMemory:e}=await import("./unified-memory-GI76TXFV.js"),t=e();t.isInitialized()||await t.initialize();let n=t.getDatabase();try{n.pragma("busy_timeout = 60000")}catch{}n.prepare(`
106
107
  UPDATE routing_outcomes
107
108
  SET success = ?, quality_score = ?, duration_ms = ?
108
109
  WHERE id IN (
@@ -113,7 +114,7 @@ import{a as A,b as Se,c as we}from"./chunk-7724KXM2.js";import{c as _e,d as be}f
113
114
  ORDER BY (CASE WHEN used_agent = ? THEN 0 ELSE 1 END), created_at DESC
114
115
  LIMIT 1
115
116
  )
116
- `).run(r.success?1:0,r.qualityScore,r.durationMs,r.agent)}catch(e){console.error(I.dim(`[hooks] routing UPDATE: ${e instanceof Error?e.message:"unknown"}`))}}async function ie(){let{getUnifiedMemory:r}=await import("./unified-memory-QARWQKJ2.js"),e=r();e.isInitialized()||await e.initialize();let t=e.getDatabase();try{t.pragma("busy_timeout = 60000")}catch{}let n=new Set(t.prepare("PRAGMA table_info(captured_experiences)").all().map(i=>i.name)),o=[["consolidated_into","TEXT DEFAULT NULL"],["consolidation_count","INTEGER DEFAULT 1"],["quality_updated_at","TEXT DEFAULT NULL"],["reuse_success_count","INTEGER DEFAULT 0"],["reuse_failure_count","INTEGER DEFAULT 0"]];for(let[i,f]of o)n.has(i)||t.exec(`ALTER TABLE captured_experiences ADD COLUMN ${i} ${f}`);let s=t.prepare(`
117
+ `).run(r.success?1:0,r.qualityScore,r.durationMs,r.agent)}catch(e){console.error(I.dim(`[hooks] routing UPDATE: ${e instanceof Error?e.message:"unknown"}`))}}async function ie(){let{getUnifiedMemory:r}=await import("./unified-memory-GI76TXFV.js"),e=r();e.isInitialized()||await e.initialize();let t=e.getDatabase();try{t.pragma("busy_timeout = 60000")}catch{}let n=new Set(t.prepare("PRAGMA table_info(captured_experiences)").all().map(i=>i.name)),o=[["consolidated_into","TEXT DEFAULT NULL"],["consolidation_count","INTEGER DEFAULT 1"],["quality_updated_at","TEXT DEFAULT NULL"],["reuse_success_count","INTEGER DEFAULT 0"],["reuse_failure_count","INTEGER DEFAULT 0"]];for(let[i,f]of o)n.has(i)||t.exec(`ALTER TABLE captured_experiences ADD COLUMN ${i} ${f}`);let s=t.prepare(`
117
118
  SELECT
118
119
  domain,
119
120
  agent,
@@ -129,7 +130,7 @@ import{a as A,b as Se,c as we}from"./chunk-7724KXM2.js";import{c as _e,d as be}f
129
130
  HAVING cnt >= 3 AND avg_quality >= 0.5 AND success_rate >= 0.6
130
131
  ORDER BY avg_quality DESC
131
132
  LIMIT 50
132
- `).all();if(s.length===0)return 0;let{v4:a}=await import("./dist-node-JU3KT2JO.js"),c=0;for(let i of s)try{let f=new Date().toISOString().slice(0,7),l=`${i.agent}-${i.domain}-${f}`,p=t.prepare(`
133
+ `).all();if(s.length===0)return 0;let{v4:a}=await import("./dist-node-Y5APLEYB.js"),c=0;for(let i of s)try{let f=new Date().toISOString().slice(0,7),l=`${i.agent}-${i.domain}-${f}`,p=t.prepare(`
133
134
  SELECT id FROM qe_patterns
134
135
  WHERE qe_domain = ? AND name = ?
135
136
  LIMIT 1
@@ -148,27 +149,27 @@ import{a as A,b as Se,c as we}from"./chunk-7724KXM2.js";import{c as _e,d as be}f
148
149
  confidence, usage_count, success_rate, quality_score, tier,
149
150
  template_json, context_json, created_at, last_used_at, successful_uses
150
151
  ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, datetime('now'), datetime('now'), ?)
151
- `).run(d,"workflow",i.domain,i.domain,l,E,k,i.cnt,i.success_rate,u,"short-term",JSON.stringify({type:"workflow",content:`${i.agent} pattern for ${i.domain}`,variables:[]}),JSON.stringify({tags:g,sourceType:"session-consolidation",extractedAt:new Date().toISOString()}),i.successes);let{ensurePatternEmbedding:T}=await import("./embed-and-insert-pattern-URES5Q6J.js");await T(t,d,l,E,g),c++}t.prepare(`
152
+ `).run(d,"workflow",i.domain,i.domain,l,E,k,i.cnt,i.success_rate,u,"short-term",JSON.stringify({type:"workflow",content:`${i.agent} pattern for ${i.domain}`,variables:[]}),JSON.stringify({tags:g,sourceType:"session-consolidation",extractedAt:new Date().toISOString()}),i.successes);let{ensurePatternEmbedding:T}=await import("./embed-and-insert-pattern-COG4C7ZI.js");await T(t,d,l,E,g),c++}t.prepare(`
152
153
  UPDATE captured_experiences
153
154
  SET application_count = application_count + 1
154
155
  WHERE domain = ? AND agent = ? AND application_count = 0
155
- `).run(i.domain,i.agent)}catch{}return c}var m={reasoningBank:null,hookRegistry:null,coherenceService:null,sessionId:null,initialized:!1,initializationPromise:null};async function Ae(){let r=m.reasoningBank;try{r&&await r.dispose()}catch{}try{let{resetSharedRvfDualWriter:e}=await import("./shared-rvf-dual-writer-6KENLN2W.js");e()}catch{}try{let{resetSharedRvfAdapter:e}=await import("./shared-rvf-adapter-ABY7PAY2.js");e()}catch{}m.reasoningBank=null,m.hookRegistry=null,m.coherenceService=null,m.sessionId=null,m.initialized=!1,m.initializationPromise=null}async function _(){if(m.initializationPromise&&await m.initializationPromise,m.initialized&&m.reasoningBank&&m.hookRegistry)return{reasoningBank:m.reasoningBank,hookRegistry:m.hookRegistry};if(m.initializationPromise=We(),await m.initializationPromise,m.initializationPromise=null,!m.reasoningBank||!m.hookRegistry)throw new Error("Failed to initialize hooks system");return{reasoningBank:m.reasoningBank,hookRegistry:m.hookRegistry}}async function We(){if(!m.initialized)try{let r=R(),e=ve.join(r,".agentic-qe"),t=await O(e);try{m.coherenceService=await _e(be),console.log($.dim("[hooks] CoherenceService initialized with WASM engines"))}catch(a){console.log($.dim(`[hooks] CoherenceService WASM unavailable, using fallback: ${a instanceof Error?a.message:"unknown"}`))}m.reasoningBank=oe(t,void 0,{enableLearning:!0,enableGuidance:!0,enableRouting:!0,embeddingDimension:384,useONNXEmbeddings:!0},m.coherenceService??void 0);let n=1e4,o=new AbortController,s=setTimeout(()=>o.abort(new Error("ReasoningBank init timeout")),n);try{await m.reasoningBank.initialize({signal:o.signal})}finally{clearTimeout(s)}try{let{getSharedRvfDualWriter:a}=await import("./shared-rvf-dual-writer-6KENLN2W.js"),c=await a();c&&m.reasoningBank.setRvfDualWriter(c)}catch(a){process.env.DEBUG&&console.debug("[hooks] RVF wiring skipped:",a instanceof Error?a.message:a)}m.hookRegistry=we(m.reasoningBank),m.initialized=!0,console.log($.dim("[hooks] System initialized"))}catch(r){console.warn($.yellow(`[hooks] Using fallback mode: ${r instanceof Error?r.message:"unknown error"}`));let e=Ge();m.reasoningBank=oe(e,void 0,{enableLearning:!0,enableGuidance:!0,enableRouting:!0}),m.hookRegistry=new Se,m.hookRegistry.initialize(m.reasoningBank),m.initialized=!0}}function q(r){try{r.pragma("busy_timeout = 60000")}catch{}}async function O(r){let t=new fe({sqlite:{path:ve.join(r,"memory.db"),walMode:!0,poolSize:3,busyTimeout:6e4},enableFallback:!0,defaultNamespace:"qe-patterns"}),n=new AbortController,o=setTimeout(()=>n.abort(new Error("Backend init timeout")),5e3);try{await t.initialize({signal:n.signal})}finally{clearTimeout(o)}return t}function Ge(){let r=new Map;return{initialize:async()=>{},dispose:async()=>{r.clear()},get:async e=>{let t=r.get(e);return t?t.value:void 0},set:async(e,t,n)=>{r.set(e,{value:t})},delete:async e=>r.delete(e),has:async e=>r.has(e),search:async(e,t)=>{let n=e.replace(/[.+?^${}()|[\]\\]/g,"\\$&"),o=new RegExp(n.replace(/\*/g,".*"));return Array.from(r.keys()).filter(s=>o.test(s))},vectorSearch:async(e,t)=>[],storeVector:async(e,t,n)=>{},count:async e=>{let t=0,n=`${e}:`;for(let o of r.keys())o.startsWith(n)&&t++;return t},hasCodeIntelligenceIndex:async()=>{let e="code-intelligence:kg:";for(let t of r.keys())if(t.startsWith(e))return!0;return!1}}}function h(r){console.log(JSON.stringify(r,null,2))}function N(r){console.log($.green("\u2713"),r)}function S(r){console.error($.red("\u2717"),r)}function te(r){if(r.length===0){console.log($.dim(" No specific guidance"));return}r.forEach((e,t)=>{console.log($.cyan(` ${t+1}.`),e)})}async function F(r=500){return process.stdin.isTTY?"":new Promise(e=>{let t="",n=setTimeout(()=>{process.stdin.removeAllListeners(),process.stdin.pause(),e(t)},r);process.stdin.setEncoding("utf8"),process.stdin.on("data",o=>{t+=o}),process.stdin.on("end",()=>{clearTimeout(n),e(t)}),process.stdin.on("error",()=>{clearTimeout(n),e(t)}),process.stdin.resume()})}function Oe(r){if(!r.trim())return"";let e;try{e=JSON.parse(r)}catch{return""}let t=e.tool_input,n=e.toolInput,o=[t?.file_path,t?.filePath,n?.file_path,n?.filePath,e.file_path,e.filePath];for(let s of o)if(typeof s=="string"&&s.trim())return s;return""}function Ne(r){if(!r.trim())return"";let e;try{e=JSON.parse(r)}catch{return""}let t=e.tool_input,n=e.toolInput,o=[t?.subagent_type,t?.subagentType,n?.subagent_type,n?.subagentType,e.subagent_type,e.subagentType];for(let s of o)if(typeof s=="string"&&s.trim())return s;return""}import P from"chalk";import Qe from"node:path";U();function De(r){r.command("pre-edit").description("Get context and guidance before editing a file").requiredOption("-f, --file <path>","File path to edit").option("-o, --operation <type>","Operation type: create, update, delete, refactor","update").option("--json","Output as JSON").action(async e=>{try{let{hookRegistry:t}=await _(),o=(await t.emit(A.PreTestGeneration,{targetFile:e.file,testType:"unit",operation:e.operation}))[0]||{success:!0,guidance:[],routing:null};if(e.json){let s=o.guidance||[],c=[o.routing?.recommendedAgent?`Recommended agent: ${o.routing.recommendedAgent} (${(o.routing.confidence*100).toFixed(0)}% confidence).`:"",...s.map(i=>i)].filter(Boolean).join(" ");h({hookSpecificOutput:{hookEventName:"PreToolUse",additionalContext:c||void 0},file:e.file,operation:e.operation,patterns:o.routing?.patterns?.length||0})}else console.log(P.bold(`
156
+ `).run(i.domain,i.agent)}catch{}return c}var m={reasoningBank:null,hookRegistry:null,coherenceService:null,sessionId:null,initialized:!1,initializationPromise:null};async function Ae(){let r=m.reasoningBank;try{r&&await r.dispose()}catch{}try{let{resetSharedRvfDualWriter:e}=await import("./shared-rvf-dual-writer-C32UBR6D.js");e()}catch{}try{let{resetSharedRvfAdapter:e}=await import("./shared-rvf-adapter-CF4BCIO7.js");e()}catch{}m.reasoningBank=null,m.hookRegistry=null,m.coherenceService=null,m.sessionId=null,m.initialized=!1,m.initializationPromise=null}async function _(){if(m.initializationPromise&&await m.initializationPromise,m.initialized&&m.reasoningBank&&m.hookRegistry)return{reasoningBank:m.reasoningBank,hookRegistry:m.hookRegistry};if(m.initializationPromise=We(),await m.initializationPromise,m.initializationPromise=null,!m.reasoningBank||!m.hookRegistry)throw new Error("Failed to initialize hooks system");return{reasoningBank:m.reasoningBank,hookRegistry:m.hookRegistry}}async function We(){if(!m.initialized)try{let r=R(),e=ve.join(r,".agentic-qe"),t=await O(e);try{m.coherenceService=await _e(be),console.log($.dim("[hooks] CoherenceService initialized with WASM engines"))}catch(a){console.log($.dim(`[hooks] CoherenceService WASM unavailable, using fallback: ${a instanceof Error?a.message:"unknown"}`))}m.reasoningBank=oe(t,void 0,{enableLearning:!0,enableGuidance:!0,enableRouting:!0,embeddingDimension:384,useONNXEmbeddings:!0},m.coherenceService??void 0);let n=1e4,o=new AbortController,s=setTimeout(()=>o.abort(new Error("ReasoningBank init timeout")),n);try{await m.reasoningBank.initialize({signal:o.signal})}finally{clearTimeout(s)}try{let{getSharedRvfDualWriter:a}=await import("./shared-rvf-dual-writer-C32UBR6D.js"),c=await a();c&&m.reasoningBank.setRvfDualWriter(c)}catch(a){process.env.DEBUG&&console.debug("[hooks] RVF wiring skipped:",a instanceof Error?a.message:a)}m.hookRegistry=Se(m.reasoningBank),m.initialized=!0,console.log($.dim("[hooks] System initialized"))}catch(r){console.warn($.yellow(`[hooks] Using fallback mode: ${r instanceof Error?r.message:"unknown error"}`));let e=Ge();m.reasoningBank=oe(e,void 0,{enableLearning:!0,enableGuidance:!0,enableRouting:!0}),m.hookRegistry=new we,m.hookRegistry.initialize(m.reasoningBank),m.initialized=!0}}function q(r){try{r.pragma("busy_timeout = 60000")}catch{}}async function O(r){let t=new fe({sqlite:{path:ve.join(r,"memory.db"),walMode:!0,poolSize:3,busyTimeout:6e4},enableFallback:!0,defaultNamespace:"qe-patterns"}),n=new AbortController,o=setTimeout(()=>n.abort(new Error("Backend init timeout")),5e3);try{await t.initialize({signal:n.signal})}finally{clearTimeout(o)}return t}function Ge(){let r=new Map;return{initialize:async()=>{},dispose:async()=>{r.clear()},get:async e=>{let t=r.get(e);return t?t.value:void 0},set:async(e,t,n)=>{r.set(e,{value:t})},delete:async e=>r.delete(e),has:async e=>r.has(e),search:async(e,t)=>{let n=e.replace(/[.+?^${}()|[\]\\]/g,"\\$&"),o=new RegExp(n.replace(/\*/g,".*"));return Array.from(r.keys()).filter(s=>o.test(s))},vectorSearch:async(e,t)=>[],storeVector:async(e,t,n)=>{},count:async e=>{let t=0,n=`${e}:`;for(let o of r.keys())o.startsWith(n)&&t++;return t},hasCodeIntelligenceIndex:async()=>{let e="code-intelligence:kg:";for(let t of r.keys())if(t.startsWith(e))return!0;return!1}}}function h(r){console.log(JSON.stringify(r,null,2))}function N(r){console.log($.green("\u2713"),r)}function w(r){console.error($.red("\u2717"),r)}function te(r){if(r.length===0){console.log($.dim(" No specific guidance"));return}r.forEach((e,t)=>{console.log($.cyan(` ${t+1}.`),e)})}async function F(r=500){return process.stdin.isTTY?"":new Promise(e=>{let t="",n=setTimeout(()=>{process.stdin.removeAllListeners(),process.stdin.pause(),e(t)},r);process.stdin.setEncoding("utf8"),process.stdin.on("data",o=>{t+=o}),process.stdin.on("end",()=>{clearTimeout(n),e(t)}),process.stdin.on("error",()=>{clearTimeout(n),e(t)}),process.stdin.resume()})}function Oe(r){if(!r.trim())return"";let e;try{e=JSON.parse(r)}catch{return""}let t=e.tool_input,n=e.toolInput,o=[t?.file_path,t?.filePath,n?.file_path,n?.filePath,e.file_path,e.filePath];for(let s of o)if(typeof s=="string"&&s.trim())return s;return""}function Ne(r){if(!r.trim())return"";let e;try{e=JSON.parse(r)}catch{return""}let t=e.tool_input,n=e.toolInput,o=[t?.subagent_type,t?.subagentType,n?.subagent_type,n?.subagentType,e.subagent_type,e.subagentType];for(let s of o)if(typeof s=="string"&&s.trim())return s;return""}import P from"chalk";import Qe from"node:path";U();function De(r){r.command("pre-edit").description("Get context and guidance before editing a file").requiredOption("-f, --file <path>","File path to edit").option("-o, --operation <type>","Operation type: create, update, delete, refactor","update").option("--json","Output as JSON").action(async e=>{try{let{hookRegistry:t}=await _(),o=(await t.emit(A.PreTestGeneration,{targetFile:e.file,testType:"unit",operation:e.operation}))[0]||{success:!0,guidance:[],routing:null};if(e.json){let s=o.guidance||[],c=[o.routing?.recommendedAgent?`Recommended agent: ${o.routing.recommendedAgent} (${(o.routing.confidence*100).toFixed(0)}% confidence).`:"",...s.map(i=>i)].filter(Boolean).join(" ");h({hookSpecificOutput:{hookEventName:"PreToolUse",additionalContext:c||void 0},file:e.file,operation:e.operation,patterns:o.routing?.patterns?.length||0})}else console.log(P.bold(`
156
157
  \u{1F4DD} Pre-Edit Analysis`)),console.log(P.dim(` File: ${e.file}`)),console.log(P.dim(` Operation: ${e.operation}`)),o.routing&&(console.log(P.bold(`
157
158
  \u{1F3AF} Recommended Agent:`),P.cyan(o.routing.recommendedAgent)),console.log(P.dim(` Confidence: ${(o.routing.confidence*100).toFixed(1)}%`))),console.log(P.bold(`
158
- \u{1F4A1} Guidance:`)),te(o.guidance||[]);return}catch(t){throw S(`pre-edit failed: ${t instanceof Error?t.message:"unknown"}`),t}}),r.command("post-edit").description("Record editing outcome for pattern learning").requiredOption("-f, --file <path>","File path that was edited").option("--success","Edit was successful").option("--failure","Edit failed").option("--pattern-id <id>","Pattern ID that was applied").option("--json","Output as JSON").action(async e=>{try{let{hookRegistry:t}=await _(),n=e.success||!e.failure,o=e.file||"";if(!o.trim())try{let p=await F();o=Oe(p)}catch{}let s=o.split("/").pop()||"unknown",c=/\.(test|spec)\.(ts|js|tsx|jsx)$/.test(s)?"test-generation":"code-intelligence",i=e.patternId||`edit:${c}:${s}`,l=(await t.emit(A.PostTestGeneration,{targetFile:o,success:n,patternId:i,generatedTests:null,testCount:0}))[0]||{success:!0,patternsLearned:0};try{let{reasoningBank:p}=await _();await p.recordOutcome({patternId:i,success:n,metrics:{executionTimeMs:0},feedback:`Edit ${n?"succeeded":"failed"}: ${o}`})}catch{}try{await G({task:`edit: ${o}`,agent:"cli-hook",domain:c,success:n,source:"cli-hook-post-edit"})}catch{}try{let p=R(),d=Qe.join(p,".agentic-qe"),k=await O(d);await x(k)}catch{}e.json?h({success:!0,file:o,editSuccess:n,patternsLearned:l.patternsLearned||0,dreamTriggered:!1,dreamReason:"deferred-to-kernel"}):(N(`Recorded edit outcome for ${o||"(unknown file)"}`),l.patternsLearned&&console.log(P.green(` Patterns learned: ${l.patternsLearned}`)));return}catch(t){throw S(`post-edit failed: ${t instanceof Error?t.message:"unknown"}`),t}})}import{randomUUID as Je}from"crypto";U();import v from"chalk";import Ve from"node:path";function Xe(r){if(!r.trim())return"";let e;try{e=JSON.parse(r)}catch{return r.trim()}let t=[e.prompt,e.user_prompt,e.command,e.tool_input?.prompt,e.tool_input?.description,e.toolInput?.prompt,e.toolInput?.description];for(let n of t)if(typeof n=="string"&&n.trim())return n;return""}function xe(r){r.command("route").description("Route a task to the optimal QE agent").option("-t, --task <description>","Task description (falls back to stdin event JSON)").option("-d, --domain <domain>","Target QE domain hint").option("-c, --capabilities <caps...>","Required capabilities").option("--json","Output as JSON").action(async e=>{try{let t=e.task??"";if(!t.trim()){let c=await F();t=Xe(c)}if(!t.trim())throw new Error("No task provided. Pass --task <description> or pipe a Claude Code hook event JSON to stdin.");let{reasoningBank:n}=await _(),o={task:t,domain:e.domain,capabilities:e.capabilities,includePatternGuidance:!0},s=await n.routeTask(o);if(!s.success)throw new Error(s.error.message);let a=s.value;e.json?h({recommendedAgent:a.recommendedAgent,confidence:a.confidence,alternatives:a.alternatives,domains:a.domains,patternCount:a.patterns.length,patterns:a.patterns.map(c=>({id:c.id,name:c.name,description:c.description,confidence:c.confidence})),guidance:a.guidance,reasoning:a.reasoning,exploration:a.exploration??!1,criticality:a.criticality??null,qWeight:a.qWeight??null}):(console.log(v.bold(`
159
+ \u{1F4A1} Guidance:`)),te(o.guidance||[]);return}catch(t){throw w(`pre-edit failed: ${t instanceof Error?t.message:"unknown"}`),t}}),r.command("post-edit").description("Record editing outcome for pattern learning").requiredOption("-f, --file <path>","File path that was edited").option("--success","Edit was successful").option("--failure","Edit failed").option("--pattern-id <id>","Pattern ID that was applied").option("--json","Output as JSON").action(async e=>{try{let{hookRegistry:t}=await _(),n=e.success||!e.failure,o=e.file||"";if(!o.trim())try{let p=await F();o=Oe(p)}catch{}let s=o.split("/").pop()||"unknown",c=/\.(test|spec)\.(ts|js|tsx|jsx)$/.test(s)?"test-generation":"code-intelligence",i=e.patternId||`edit:${c}:${s}`,l=(await t.emit(A.PostTestGeneration,{targetFile:o,success:n,patternId:i,generatedTests:null,testCount:0}))[0]||{success:!0,patternsLearned:0};try{let{reasoningBank:p}=await _();await p.recordOutcome({patternId:i,success:n,metrics:{executionTimeMs:0},feedback:`Edit ${n?"succeeded":"failed"}: ${o}`})}catch{}try{await G({task:`edit: ${o}`,agent:"cli-hook",domain:c,success:n,source:"cli-hook-post-edit"})}catch{}try{let p=R(),d=Qe.join(p,".agentic-qe"),k=await O(d);await x(k)}catch{}e.json?h({success:!0,file:o,editSuccess:n,patternsLearned:l.patternsLearned||0,dreamTriggered:!1,dreamReason:"deferred-to-kernel"}):(N(`Recorded edit outcome for ${o||"(unknown file)"}`),l.patternsLearned&&console.log(P.green(` Patterns learned: ${l.patternsLearned}`)));return}catch(t){throw w(`post-edit failed: ${t instanceof Error?t.message:"unknown"}`),t}})}import{randomUUID as Je}from"crypto";U();import v from"chalk";import Ve from"node:path";function Xe(r){if(!r.trim())return"";let e;try{e=JSON.parse(r)}catch{return r.trim()}let t=[e.prompt,e.user_prompt,e.command,e.tool_input?.prompt,e.tool_input?.description,e.toolInput?.prompt,e.toolInput?.description];for(let n of t)if(typeof n=="string"&&n.trim())return n;return""}function xe(r){r.command("route").description("Route a task to the optimal QE agent").option("-t, --task <description>","Task description (falls back to stdin event JSON)").option("-d, --domain <domain>","Target QE domain hint").option("-c, --capabilities <caps...>","Required capabilities").option("--json","Output as JSON").action(async e=>{try{let t=e.task??"";if(!t.trim()){let c=await F();t=Xe(c)}if(!t.trim())throw new Error("No task provided. Pass --task <description> or pipe a Claude Code hook event JSON to stdin.");let{reasoningBank:n}=await _(),o={task:t,domain:e.domain,capabilities:e.capabilities,includePatternGuidance:!0},s=await n.routeTask(o);if(!s.success)throw new Error(s.error.message);let a=s.value;e.json?h({recommendedAgent:a.recommendedAgent,confidence:a.confidence,alternatives:a.alternatives,domains:a.domains,patternCount:a.patterns.length,patterns:a.patterns.map(c=>({id:c.id,name:c.name,description:c.description,confidence:c.confidence})),guidance:a.guidance,reasoning:a.reasoning,exploration:a.exploration??!1,criticality:a.criticality??null,qWeight:a.qWeight??null}):(console.log(v.bold(`
159
160
  \u{1F3AF} Task Routing Result`)),console.log(v.dim(` Task: "${t}"`)),console.log(v.bold(`
160
161
  \u{1F464} Recommended Agent:`),v.cyan(a.recommendedAgent)),console.log(v.dim(` Confidence: ${(a.confidence*100).toFixed(1)}%`)),a.alternatives.length>0&&(console.log(v.bold(`
161
162
  \u{1F504} Alternatives:`)),a.alternatives.forEach(c=>{console.log(v.dim(` - ${c.agent}: ${(c.score*100).toFixed(1)}%`))})),console.log(v.bold(`
162
163
  \u{1F4C2} Detected Domains:`),a.domains.join(", ")),console.log(v.bold(`
163
164
  \u{1F4A1} Guidance:`)),te(a.guidance),console.log(v.bold(`
164
- \u{1F4D6} Reasoning:`),v.dim(a.reasoning)));try{let{getUnifiedMemory:c}=await import("./unified-memory-QARWQKJ2.js"),i=c();i.isInitialized()||await i.initialize();let f=i.getDatabase();q(f),ee(f);let l=`route-${Date.now()}-${Je().slice(0,8)}`,p=a.confidence<.5,d=a;f.prepare(`
165
+ \u{1F4D6} Reasoning:`),v.dim(a.reasoning)));try{let{getUnifiedMemory:c}=await import("./unified-memory-GI76TXFV.js"),i=c();i.isInitialized()||await i.initialize();let f=i.getDatabase();q(f),ee(f);let l=`route-${Date.now()}-${Je().slice(0,8)}`,p=a.confidence<.5,d=a;f.prepare(`
165
166
  INSERT OR REPLACE INTO routing_outcomes (
166
167
  id, task_json, decision_json, used_agent,
167
168
  followed_recommendation, success, quality_score,
168
169
  duration_ms, error,
169
170
  exploration, criticality, q_weight
170
171
  ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
171
- `).run(l,JSON.stringify({description:t,domain:e.domain}),JSON.stringify({recommended:a.recommendedAgent,confidence:a.confidence,alternatives:a.alternatives,lowConfidence:p,exploration:d.exploration??!1,criticality:d.criticality??null,qWeight:d.qWeight??null}),a.recommendedAgent,1,0,-1,0,p?"low-confidence":null,d.exploration?1:0,d.criticality??null,d.qWeight??null);let k=R(),u=Ve.join(k,".agentic-qe"),E=await O(u);await x(E)}catch(c){console.error(v.dim(`[hooks] route persist: ${c instanceof Error?c.message:"unknown"}`))}return}catch(t){throw S(`route failed: ${t instanceof Error?t.message:"unknown"}`),t}}),r.command("post-route").description("Close the most-recent route sentinel from a Stop hook (#451)").option("--success [bool]","Whether the turn completed successfully","true").option("--json","Output as JSON").action(async e=>{try{let t=e.success==="true"||e.success===!0,n=.325+(t?.25:0)+.1,o=M();o.isInitialized()||await o.initialize();let s=o.getDatabase();q(s);let a=s.prepare(`
172
+ `).run(l,JSON.stringify({description:t,domain:e.domain}),JSON.stringify({recommended:a.recommendedAgent,confidence:a.confidence,alternatives:a.alternatives,lowConfidence:p,exploration:d.exploration??!1,criticality:d.criticality??null,qWeight:d.qWeight??null}),a.recommendedAgent,1,0,-1,0,p?"low-confidence":null,d.exploration?1:0,d.criticality??null,d.qWeight??null);let k=R(),u=Ve.join(k,".agentic-qe"),E=await O(u);await x(E)}catch(c){console.error(v.dim(`[hooks] route persist: ${c instanceof Error?c.message:"unknown"}`))}return}catch(t){throw w(`route failed: ${t instanceof Error?t.message:"unknown"}`),t}}),r.command("post-route").description("Close the most-recent route sentinel from a Stop hook (#451)").option("--success [bool]","Whether the turn completed successfully","true").option("--json","Output as JSON").action(async e=>{try{let t=e.success==="true"||e.success===!0,n=.325+(t?.25:0)+.1,o=M();o.isInitialized()||await o.initialize();let s=o.getDatabase();q(s);let a=s.prepare(`
172
173
  SELECT id, task_json, used_agent FROM routing_outcomes
173
174
  WHERE quality_score = -1
174
175
  AND task_json NOT LIKE '%"taskId"%'
@@ -193,13 +194,13 @@ import{a as A,b as Se,c as we}from"./chunk-7724KXM2.js";import{c as _e,d as be}f
193
194
  By Domain:`));for(let[o,s]of Object.entries(n.byDomain))s>0&&console.log(` ${o}: ${s}`);console.log(y.bold(`
194
195
  Routing:`)),console.log(` Requests: ${n.routingRequests}`),console.log(` Avg Confidence: ${(n.avgRoutingConfidence*100).toFixed(1)}%`),console.log(y.bold(`
195
196
  Learning:`)),console.log(` Outcomes: ${Ee(n)}`),console.log(` Success Rate: ${Te(n)}`),console.log(y.bold(`
196
- Search Performance:`)),console.log(` Operations: ${n.patternStoreStats.searchOperations}`),console.log(` Avg Latency: ${n.patternStoreStats.avgSearchLatencyMs.toFixed(2)}ms`),console.log(` HNSW Native: ${n.patternStoreStats.hnswStats.nativeAvailable?"\u2713":"\u2717"}`)}}catch(t){throw S(`stats failed: ${t instanceof Error?t.message:"unknown"}`),t}}),r.command("list").description("List all registered QE hook events").option("--json","Output as JSON").action(async e=>{try{let{hookRegistry:t}=await _(),n=t.getRegisteredEvents();if(e.json)h({events:n,totalEvents:Object.keys(A).length,registeredEvents:n.length});else{console.log(y.bold(`
197
+ Search Performance:`)),console.log(` Operations: ${n.patternStoreStats.searchOperations}`),console.log(` Avg Latency: ${n.patternStoreStats.avgSearchLatencyMs.toFixed(2)}ms`),console.log(` HNSW Native: ${n.patternStoreStats.hnswStats.nativeAvailable?"\u2713":"\u2717"}`)}}catch(t){throw w(`stats failed: ${t instanceof Error?t.message:"unknown"}`),t}}),r.command("list").description("List all registered QE hook events").option("--json","Output as JSON").action(async e=>{try{let{hookRegistry:t}=await _(),n=t.getRegisteredEvents();if(e.json)h({events:n,totalEvents:Object.keys(A).length,registeredEvents:n.length});else{console.log(y.bold(`
197
198
  \u{1F4CB} Registered QE Hook Events
198
199
  `)),console.log(y.bold("All Available Events:"));for(let[o,s]of Object.entries(A)){let c=n.includes(s)?y.green("\u2713"):y.dim("\u25CB");console.log(` ${c} ${o}: ${y.dim(s)}`)}console.log(y.dim(`
199
- Registered: ${n.length}/${Object.keys(A).length}`))}}catch(t){throw S(`list failed: ${t instanceof Error?t.message:"unknown"}`),t}}),r.command("emit").description("Emit a QE hook event").requiredOption("-e, --event <name>","Event name (e.g., qe:pattern-applied)").option("-d, --data <json>","Event data as JSON","{}").option("--json","Output as JSON").action(async e=>{try{let{hookRegistry:t}=await _(),n;try{n=me(e.data)}catch{throw new Error(`Invalid JSON data: ${e.data}`)}let o=await t.emit(e.event,n);e.json?h({event:e.event,results:o}):(console.log(y.bold(`
200
- \u{1F4E1} Hook Event Emitted`)),console.log(y.dim(` Event: ${e.event}`)),console.log(y.dim(` Handlers: ${o.length}`)),o.forEach((s,a)=>{let c=s.success?y.green("\u2713"):y.red("\u2717");console.log(` ${c} Handler ${a+1}: ${s.success?"success":s.error}`),s.patternsLearned&&console.log(y.green(` Patterns learned: ${s.patternsLearned}`))}))}catch(t){throw S(`emit failed: ${t instanceof Error?t.message:"unknown"}`),t}}),r.command("learn").description("Store a new pattern in the reasoning bank").requiredOption("-n, --name <name>","Pattern name").requiredOption("-d, --description <desc>","Pattern description").option("-t, --type <type>","Pattern type","test-template").option("--domain <domain>","QE domain").option("--tags <tags...>","Pattern tags").option("--json","Output as JSON").action(async e=>{try{let{reasoningBank:t}=await _(),n=await t.storePattern({patternType:e.type,name:e.name,description:e.description,template:{type:"prompt",content:e.description,variables:[]},context:{tags:e.tags||[]}}),o=n.success?n.value:null,s;if(!n.success){let i=he(n.error);if(!i)throw new Error(n.error.message);if(o=await t.getPattern(i),!o)throw new Error(n.error.message);let f=n.error.cause;s=f instanceof Error?f.message:"the vector index is unavailable"}if(!o)throw new Error("learn failed: no pattern returned");let{vectorIndex:a,notice:c}=Ke(o,s,t.getEmbedderFailure());e.json?h({success:!0,pattern:{id:o.id,name:o.name,type:o.patternType,domain:o.qeDomain},vectorIndex:a,...c?{warning:c}:{}}):(N(`Pattern stored: ${o.name}`),console.log(y.dim(` ID: ${o.id}`)),console.log(y.dim(` Domain: ${o.qeDomain}`)),console.log(y.dim(` Tier: ${o.tier}`)),c&&console.log(y.yellow(` ${a==="pending"?"Vector index pending":"Vector index"}: ${c}`)))}catch(t){throw S(`learn failed: ${t instanceof Error?t.message:"unknown"}`),t}}),r.command("search").description("Search for patterns in the reasoning bank").requiredOption("-q, --query <query>","Search query").option("-l, --limit <n>","Maximum results","10").option("-d, --domain <domain>","Filter by domain").option("--json","Output as JSON").action(async e=>{try{let{reasoningBank:t}=await _(),n=await t.searchPatterns(e.query,{limit:parseInt(e.limit,10),domain:e.domain});if(!n.success)throw new Error(n.error.message);let o=n.value;e.json?h({query:e.query,total:o.length,patterns:o.map(s=>({id:s.pattern.id,name:s.pattern.name,score:s.score,domain:s.pattern.qeDomain,matchType:s.matchType}))}):(console.log(y.bold(`
200
+ Registered: ${n.length}/${Object.keys(A).length}`))}}catch(t){throw w(`list failed: ${t instanceof Error?t.message:"unknown"}`),t}}),r.command("emit").description("Emit a QE hook event").requiredOption("-e, --event <name>","Event name (e.g., qe:pattern-applied)").option("-d, --data <json>","Event data as JSON","{}").option("--json","Output as JSON").action(async e=>{try{let{hookRegistry:t}=await _(),n;try{n=me(e.data)}catch{throw new Error(`Invalid JSON data: ${e.data}`)}let o=await t.emit(e.event,n);e.json?h({event:e.event,results:o}):(console.log(y.bold(`
201
+ \u{1F4E1} Hook Event Emitted`)),console.log(y.dim(` Event: ${e.event}`)),console.log(y.dim(` Handlers: ${o.length}`)),o.forEach((s,a)=>{let c=s.success?y.green("\u2713"):y.red("\u2717");console.log(` ${c} Handler ${a+1}: ${s.success?"success":s.error}`),s.patternsLearned&&console.log(y.green(` Patterns learned: ${s.patternsLearned}`))}))}catch(t){throw w(`emit failed: ${t instanceof Error?t.message:"unknown"}`),t}}),r.command("learn").description("Store a new pattern in the reasoning bank").requiredOption("-n, --name <name>","Pattern name").requiredOption("-d, --description <desc>","Pattern description").option("-t, --type <type>","Pattern type","test-template").option("--domain <domain>","QE domain").option("--tags <tags...>","Pattern tags").option("--json","Output as JSON").action(async e=>{try{let{reasoningBank:t}=await _(),n=await t.storePattern({patternType:e.type,name:e.name,description:e.description,template:{type:"prompt",content:e.description,variables:[]},context:{tags:e.tags||[]}}),o=n.success?n.value:null,s;if(!n.success){let i=he(n.error);if(!i)throw new Error(n.error.message);if(o=await t.getPattern(i),!o)throw new Error(n.error.message);let f=n.error.cause;s=f instanceof Error?f.message:"the vector index is unavailable"}if(!o)throw new Error("learn failed: no pattern returned");let{vectorIndex:a,notice:c}=Ke(o,s,t.getEmbedderFailure());e.json?h({success:!0,pattern:{id:o.id,name:o.name,type:o.patternType,domain:o.qeDomain},vectorIndex:a,...c?{warning:c}:{}}):(N(`Pattern stored: ${o.name}`),console.log(y.dim(` ID: ${o.id}`)),console.log(y.dim(` Domain: ${o.qeDomain}`)),console.log(y.dim(` Tier: ${o.tier}`)),c&&console.log(y.yellow(` ${a==="pending"?"Vector index pending":"Vector index"}: ${c}`)))}catch(t){throw w(`learn failed: ${t instanceof Error?t.message:"unknown"}`),t}}),r.command("search").description("Search for patterns in the reasoning bank").requiredOption("-q, --query <query>","Search query").option("-l, --limit <n>","Maximum results","10").option("-d, --domain <domain>","Filter by domain").option("--json","Output as JSON").action(async e=>{try{let{reasoningBank:t}=await _(),n=await t.searchPatterns(e.query,{limit:parseInt(e.limit,10),domain:e.domain});if(!n.success)throw new Error(n.error.message);let o=n.value;e.json?h({query:e.query,total:o.length,patterns:o.map(s=>({id:s.pattern.id,name:s.pattern.name,score:s.score,domain:s.pattern.qeDomain,matchType:s.matchType}))}):(console.log(y.bold(`
201
202
  \u{1F50D} Search Results for "${e.query}"
202
- `)),o.length===0?console.log(y.dim(" No patterns found")):o.forEach((s,a)=>{console.log(`${y.cyan(`${a+1}.`)} ${s.pattern.name} ${y.dim(`(${(s.score*100).toFixed(1)}%)`)}`),console.log(y.dim(` Domain: ${s.pattern.qeDomain}`)),console.log(y.dim(` Match: ${s.matchType}`)),console.log(y.dim(` ID: ${s.pattern.id}`)),console.log()}),console.log(y.dim(`Found ${o.length} pattern(s)`)))}catch(t){throw S(`search failed: ${t instanceof Error?t.message:"unknown"}`),t}})}U();import J from"chalk";import Ye from"node:path";function $e(r){r.command("session-start").description("Initialize session state when Claude Code session starts").option("-s, --session-id <id>","Session ID").option("--json","Output as JSON").action(async e=>{try{let t=e.sessionId||`session-${Date.now()}`;m.sessionId=t;let{reasoningBank:n}=await _(),o=await n.getStats(),s=R(),a=Ye.join(s,".agentic-qe"),c=await O(a),i=await c.get(H),f=!i||!i.sessionStartTime;i?(i.sessionStartTime=new Date().toISOString(),i.totalDreamsThisSession=0):i={lastDreamTime:null,experienceCount:0,sessionStartTime:new Date().toISOString(),totalDreamsThisSession:0},await c.set(H,i);let l=[];l.push(`AQE Learning: ${o.totalPatterns} patterns loaded`);let p=Object.entries(o.byDomain).filter(([,k])=>k>0).sort(([,k],[,u])=>u-k).slice(0,5);p.length>0&&l.push(`Top domains: ${p.map(([k,u])=>`${k}(${u})`).join(", ")}`),o.patternSuccessRate!==null&&o.patternSuccessRate>0&&l.push(`Pattern success rate: ${(o.patternSuccessRate*100).toFixed(0)}%`),o.routingRequests>0&&l.push(`Routing confidence: ${(o.avgRoutingConfidence*100).toFixed(0)}% across ${o.routingRequests} requests`);let d=l.join(". ")+".";e.json?h({hookSpecificOutput:{hookEventName:"SessionStart",additionalContext:d},sessionId:t,initialized:!0,patternsLoaded:o.totalPatterns,dreamScheduler:{enabled:!0,lastDreamTime:i.lastDreamTime,pendingExperiences:i.experienceCount}}):(N(`Session started: ${t}`),console.log(J.dim(` Patterns loaded: ${o.totalPatterns}`)),console.log(J.dim(` Dream scheduler: enabled (${i.experienceCount} pending experiences)`)));return}catch(t){e.json&&h({success:!1,error:t instanceof Error?t.message:"unknown"});return}}),r.command("session-end").description("Save session state when Claude Code session ends").option("--save-state","Save learning state to disk").option("--export-metrics","Export session metrics").option("--json","Output as JSON").action(async e=>{try{let t=m.sessionId||"unknown",n=null;if(m.initialized&&m.reasoningBank)try{n=await m.reasoningBank.getStats()}catch{}let o=0;try{o=await ie()}catch{}if(e.json){let s=n?`Session complete: ${n.totalPatterns} patterns, ${n.routingRequests} routings, ${n.patternSuccessRate===null?"success rate: insufficient evidence":`${(n.patternSuccessRate*100).toFixed(0)}% success rate`}`:"Session complete";h({continue:!0,sessionId:t,stateSaved:e.saveState||!1,metricsExported:e.exportMetrics||!1,patternsConsolidated:o,finalStats:n?{patternsLearned:n.totalPatterns,routingRequests:n.routingRequests,successRate:n.patternSuccessRate}:null})}else N(`Session ended: ${t}`),n&&(console.log(J.dim(` Patterns: ${n.totalPatterns}`)),console.log(J.dim(` Routing requests: ${n.routingRequests}`))),o>0&&console.log(J.dim(` Patterns consolidated: ${o}`));return}catch(t){e.json&&h({success:!1,error:t instanceof Error?t.message:"unknown"});return}})}import{createHash as st,randomUUID as at}from"node:crypto";import w from"chalk";import it from"node:path";U();He();import{readFileSync as Ze}from"node:fs";import{homedir as et}from"node:os";var ne=ue.create("nagual-client");function tt(){try{let r=Ze(`${et()}/.nagual/cloud-hooks.env`,"utf8");for(let e of r.split(`
203
+ `)),o.length===0?console.log(y.dim(" No patterns found")):o.forEach((s,a)=>{console.log(`${y.cyan(`${a+1}.`)} ${s.pattern.name} ${y.dim(`(${(s.score*100).toFixed(1)}%)`)}`),console.log(y.dim(` Domain: ${s.pattern.qeDomain}`)),console.log(y.dim(` Match: ${s.matchType}`)),console.log(y.dim(` ID: ${s.pattern.id}`)),console.log()}),console.log(y.dim(`Found ${o.length} pattern(s)`)))}catch(t){throw w(`search failed: ${t instanceof Error?t.message:"unknown"}`),t}})}U();import J from"chalk";import Ye from"node:path";function $e(r){r.command("session-start").description("Initialize session state when Claude Code session starts").option("-s, --session-id <id>","Session ID").option("--json","Output as JSON").action(async e=>{try{let t=e.sessionId||`session-${Date.now()}`;m.sessionId=t;let{reasoningBank:n}=await _(),o=await n.getStats(),s=R(),a=Ye.join(s,".agentic-qe"),c=await O(a),i=await c.get(H),f=!i||!i.sessionStartTime;i?(i.sessionStartTime=new Date().toISOString(),i.totalDreamsThisSession=0):i={lastDreamTime:null,experienceCount:0,sessionStartTime:new Date().toISOString(),totalDreamsThisSession:0},await c.set(H,i);let l=[];l.push(`AQE Learning: ${o.totalPatterns} patterns loaded`);let p=Object.entries(o.byDomain).filter(([,k])=>k>0).sort(([,k],[,u])=>u-k).slice(0,5);p.length>0&&l.push(`Top domains: ${p.map(([k,u])=>`${k}(${u})`).join(", ")}`),o.patternSuccessRate!==null&&o.patternSuccessRate>0&&l.push(`Pattern success rate: ${(o.patternSuccessRate*100).toFixed(0)}%`),o.routingRequests>0&&l.push(`Routing confidence: ${(o.avgRoutingConfidence*100).toFixed(0)}% across ${o.routingRequests} requests`);let d=l.join(". ")+".";e.json?h({hookSpecificOutput:{hookEventName:"SessionStart",additionalContext:d},sessionId:t,initialized:!0,patternsLoaded:o.totalPatterns,dreamScheduler:{enabled:!0,lastDreamTime:i.lastDreamTime,pendingExperiences:i.experienceCount}}):(N(`Session started: ${t}`),console.log(J.dim(` Patterns loaded: ${o.totalPatterns}`)),console.log(J.dim(` Dream scheduler: enabled (${i.experienceCount} pending experiences)`)));return}catch(t){e.json&&h({success:!1,error:t instanceof Error?t.message:"unknown"});return}}),r.command("session-end").description("Save session state when Claude Code session ends").option("--save-state","Save learning state to disk").option("--export-metrics","Export session metrics").option("--json","Output as JSON").action(async e=>{try{let t=m.sessionId||"unknown",n=null;if(m.initialized&&m.reasoningBank)try{n=await m.reasoningBank.getStats()}catch{}let o=0;try{o=await ie()}catch{}if(e.json){let s=n?`Session complete: ${n.totalPatterns} patterns, ${n.routingRequests} routings, ${n.patternSuccessRate===null?"success rate: insufficient evidence":`${(n.patternSuccessRate*100).toFixed(0)}% success rate`}`:"Session complete";h({continue:!0,sessionId:t,stateSaved:e.saveState||!1,metricsExported:e.exportMetrics||!1,patternsConsolidated:o,finalStats:n?{patternsLearned:n.totalPatterns,routingRequests:n.routingRequests,successRate:n.patternSuccessRate}:null})}else N(`Session ended: ${t}`),n&&(console.log(J.dim(` Patterns: ${n.totalPatterns}`)),console.log(J.dim(` Routing requests: ${n.routingRequests}`))),o>0&&console.log(J.dim(` Patterns consolidated: ${o}`));return}catch(t){e.json&&h({success:!1,error:t instanceof Error?t.message:"unknown"});return}})}import{createHash as st,randomUUID as at}from"node:crypto";import S from"chalk";import it from"node:path";U();He();import{readFileSync as Ze}from"node:fs";import{homedir as et}from"node:os";var ne=ue.create("nagual-client");function tt(){try{let r=Ze(`${et()}/.nagual/cloud-hooks.env`,"utf8");for(let e of r.split(`
203
204
  `)){let t=e.match(/^(?:export\s+)?NAGUAL_CLOUD_KEY=(.+)/);if(t)return t[1].trim().replace(/^['"]|['"]$/g,"")}}catch{}}var nt="http://localhost:3333",Pe=3e3,rt=5e3;var de=class{baseUrl;token;enabled;constructor(){this.baseUrl=process.env.NAGUAL_URL??nt,this.token=process.env.NAGUAL_CLOUD_KEY??process.env.NAGUAL_API_TOKEN??tt(),this.enabled=!0}async search(e,t,n=5){try{let o=await fetch(`${this.baseUrl}/api/patterns/search`,{method:"POST",headers:this.headers(),body:JSON.stringify({query:e,domain:t,limit:n}),signal:AbortSignal.timeout(Pe)});return o.ok?(await o.json()).patterns??[]:[]}catch{return[]}}async recordOutcome(e,t){try{let n=await fetch(`${this.baseUrl}/api/patterns/${encodeURIComponent(e)}/outcome`,{method:"POST",headers:this.headers(),body:JSON.stringify(t),signal:AbortSignal.timeout(Pe)});n.ok||ne.debug("nagual recordOutcome non-OK",{patternId:e,status:n.status})}catch(n){ne.debug("nagual recordOutcome failed (non-fatal)",{patternId:e,err:n})}}async promotePattern(e){let t={problem:e.problem,solution:e.solution,domain:e.domain,reward:e.reward*.8,tags:[...e.tags??[],"source:aqe",e.source_project?`project:${e.source_project}`:null].filter(n=>n!==null)};try{let n=await fetch(`${this.baseUrl}/api/patterns`,{method:"POST",headers:this.headers(),body:JSON.stringify(t),signal:AbortSignal.timeout(rt)});n.ok||ne.debug("nagual promotePattern non-OK",{status:n.status})}catch(n){ne.debug("nagual promotePattern failed (non-fatal)",{err:n})}}headers(){let e={"Content-Type":"application/json"};return this.token&&(e.Authorization=`Bearer ${this.token}`),e}},ce;function Le(){return ce||(ce=new de),ce}var ot=/^[A-Za-z0-9][A-Za-z0-9_.:-]{0,127}$/;function Ce(r,e){let t={};if(r!==void 0){if(!ot.test(r))return{error:`Invalid --parent-agent-id "${r}": must start with a letter or digit and contain only letters, digits, "_", ".", ":", "-" (max 128 chars)`};t.parentAgentId=r}if(e!==void 0){let n=typeof e=="number"?e:Number(e);if(!Number.isInteger(n))return{error:`Invalid --depth "${e}": must be an integer`};if(n<0)return{error:`Invalid --depth ${n}: must be >= 0`};if(n>32)return{error:`Invalid --depth ${n}: must be <= 32`};t.depth=n}return t}var ct="task-bridge",dt=6e5,qe=.5;function lt(r){return st("sha256").update(r).digest("hex").slice(0,16)}var ut=new Set(["test-generation","coverage-analysis","defect-intelligence","security-compliance","quality-assessment","requirements-validation"]),mt=80;async function pt(r,e){return!process.env.NAGUAL_URL&&!process.env.NAGUAL_CLOUD_URL&&!process.env.NAGUAL_CLOUD_KEY?[]:r.length<mt?[]:e&&!ut.has(e)?[]:Le().search(r.slice(0,300),e,3)}function je(r){r.command("pre-task").description("Get context and guidance before spawning a Task agent").option("--task-id <id>","Task identifier").option("-d, --description <desc>","Task description").option("--json","Output as JSON").action(async e=>{try{let{reasoningBank:t}=await _(),n=null;if(e.description){let d=await t.routeTask({task:e.description});d.success&&(n=d.value)}let o=(n?.patterns??[]).slice(0,5).map(d=>d?.id).filter(d=>typeof d=="string"),s=n?.domains?.[0],a=e.description?await pt(String(e.description),s):[],c=null,i=[],f=0,l=null;try{let d=M();d.isInitialized()||await d.initialize();let k=d.getDatabase();q(k);try{let u=k.prepare(`
204
205
  SELECT used_agent AS agent,
205
206
  ROUND(AVG(quality_score), 3) AS avgQuality,
@@ -223,17 +224,17 @@ Registered: ${n.length}/${Object.keys(A).length}`))}}catch(t){throw S(`list fail
223
224
  `).get(...o);f=Math.max(0,Math.round(E?.sum??0))}catch{}if(e.description)try{let u=String(e.description),E=W(u),g="normal",T=n?.domains?.[0]??"any",D=Math.max(0,Math.min(10,Math.round(Math.min(u.length/200,1)*10)));l=`task:${lt(u)}`;let L=JSON.stringify({selectedPatternIds:o,agent:n?.recommendedAgent??null,description:u.slice(0,200),taskType:E,priority:g,domain:T,complexityBucket:D,estimatedTokenSavings:f,ts:Date.now()}),C=Date.now()+dt;k.prepare(`
224
225
  INSERT OR REPLACE INTO kv_store (key, namespace, value, expires_at, created_at)
225
226
  VALUES (?, ?, ?, ?, strftime('%s','now')*1000)
226
- `).run(l,ct,L,C)}catch(u){console.error(w.dim(`[hooks] pre-task bridge: ${u instanceof Error?u.message:"unknown"}`))}if(n?.recommendedAgent)try{ee(k);let u=e.taskId||`hook-${Date.now()}`,E=`route-${Date.now()}-${at().slice(0,8)}`,g=n.confidence<qe,T=n;k.prepare(`
227
+ `).run(l,ct,L,C)}catch(u){console.error(S.dim(`[hooks] pre-task bridge: ${u instanceof Error?u.message:"unknown"}`))}if(n?.recommendedAgent)try{ee(k);let u=e.taskId||`hook-${Date.now()}`,E=`route-${Date.now()}-${at().slice(0,8)}`,g=n.confidence<qe,T=n;k.prepare(`
227
228
  INSERT INTO routing_outcomes (
228
229
  id, task_json, decision_json, used_agent,
229
230
  followed_recommendation, success, quality_score,
230
231
  duration_ms, error,
231
232
  exploration, criticality, q_weight
232
233
  ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
233
- `).run(E,JSON.stringify({description:e.description,taskId:u}),JSON.stringify({recommended:n.recommendedAgent,confidence:n.confidence,alternatives:n.alternatives,lowConfidence:g,exploration:T.exploration??!1,criticality:T.criticality??null,qWeight:T.qWeight??null}),n.recommendedAgent,1,0,-1,0,g?"low-confidence":null,T.exploration?1:0,T.criticality??null,T.qWeight??null)}catch(u){console.error(w.dim(`[hooks] pre-task sentinel: ${u instanceof Error?u.message:"unknown"}`))}}catch(d){console.error(w.dim(`[hooks] pre-task memory: ${d instanceof Error?d.message:"unknown"}`))}let p=n?n.confidence<qe:!1;if(e.json)h({success:!0,taskId:e.taskId,description:e.description,recommendedAgent:n?.recommendedAgent,confidence:n?.confidence,guidance:n?.guidance||[],selectedPatternIds:o,historicalBest:c,priorVerdicts:i,estimatedTokenSavings:f,lowConfidence:p,bridgeKey:l,nagualPatterns:a.map(d=>({id:d.id,problem:d.problem,solution:d.solution.slice(0,400),domain:d.domain,reward:d.reward}))});else if(console.log(w.bold(`
234
- \u{1F680} Pre-Task Analysis`)),console.log(w.dim(` Task ID: ${e.taskId||"N/A"}`)),n&&(console.log(w.bold(`
235
- \u{1F3AF} Recommended:`),w.cyan(n.recommendedAgent)),console.log(w.dim(` Confidence: ${(n.confidence*100).toFixed(1)}%`)),p&&console.log(w.yellow(" \u26A0 Low confidence \u2014 consider providing more context"))),a.length>0){console.log(w.bold(`
236
- \u{1F4DA} Nagual context (cross-project):`));for(let d of a)console.log(w.dim(` [${d.domain}] ${d.problem.slice(0,80)} (reward: ${d.reward.toFixed(2)})`))}return}catch(t){e.json&&h({success:!1,error:t instanceof Error?t.message:"unknown"});return}}),r.command("post-task").description("Record task outcome for pattern learning").option("--task-id <id>","Task identifier").option("--success [bool]","Whether task succeeded","true").option("--agent <name>","Agent that executed the task").option("--duration <ms>","Task duration in milliseconds").option("-d, --description <desc>","Task description \u2014 fallback Q-state source when pre-task bridge is absent (issue #499)").option("--parent-agent-id <id>","Agent that spawned this task (ADR-101 nesting provenance)").option("--depth <n>","Nesting depth of this task, 0 = top-level (ADR-101)").option("--json","Output as JSON").action(async e=>{try{let t=e.success==="true"||e.success===!0;if(!e.agent||!String(e.agent).trim())try{let s=await F(),a=Ne(s);a&&(e.agent=a)}catch{}let n=Ce(e.parentAgentId,e.depth);if(n.error){e.json?console.log(JSON.stringify({success:!1,error:n.error})):console.error(w.red(` \u2717 ${n.error}`)),process.exitCode=1;return}let o=0;try{let{hookRegistry:s,reasoningBank:a}=await _();o=(await s.emit(A.QEAgentCompletion,{taskId:e.taskId,success:t,agent:e.agent,duration:e.duration?parseInt(e.duration,10):void 0,timestamp:Date.now()})).reduce((p,d)=>p+(d.patternsLearned||0),0);{let p=e.taskId||`hook-${Date.now()}`,d=e.agent||"unknown",k=e.duration?parseInt(e.duration,10):0,u=(n.parentAgentId?`, Parent: ${n.parentAgentId}`:"")+(n.depth!==void 0?`, Depth: ${n.depth}`:"");await a.recordOutcome({patternId:`task:${d}:${p}`,success:t,metrics:{executionTimeMs:k},feedback:`Agent: ${d}, Task: ${p}${u}`});let E=await se({taskId:p,agent:d,durationMs:k,success:t,parentAgentId:n.parentAgentId,depth:n.depth}),g=d==="unknown"&&E.bridge?.agent?E.bridge.agent:d;await ae({agent:g,success:t,durationMs:k,qualityScore:E.qualityScore});let T=String(e.description??"");if(E.bridge||T){let D=E.bridge?.taskType??W(T),L=E.bridge?.priority??"normal",C=E.bridge?.domain??Z(T)[0]??"any";await Q({taskType:D,priority:L,domain:C,agent:g,success:t})}}let i=R(),f=it.join(i,".agentic-qe"),l=await O(f);await x(l)}catch(s){console.error(w.dim(`[hooks] Learning init: ${s instanceof Error?s.message:"unknown"}`))}e.json?h({success:!0,taskId:e.taskId,taskSuccess:t,patternsLearned:o,dreamTriggered:!1,dreamReason:"deferred-to-kernel"}):(N(`Task completed: ${e.taskId||"unknown"}`),console.log(w.dim(` Success: ${t}`)),o>0&&console.log(w.green(` Patterns learned: ${o}`)));return}catch(t){e.json&&h({success:!1,error:t instanceof Error?t.message:"unknown"});return}})}import{existsSync as gt,readFileSync as ft}from"node:fs";import{randomUUID as Me}from"node:crypto";import X from"chalk";import Ue from"node:path";U();ze();import*as z from"fs";import*as re from"path";var V=class r{statePath;warnThreshold;blockThreshold;halfOpenAfterMs;staleAfterMs;constructor(e){this.statePath=e.statePath,this.warnThreshold=e.warnThreshold??3,this.blockThreshold=e.blockThreshold??5,this.halfOpenAfterMs=e.halfOpenAfterMs??12e4,this.staleAfterMs=e.staleAfterMs??30*6e4}static signature(e){return e.trim().replace(/\s+/g," ").slice(0,200)}check(e,t=Date.now()){let n=r.signature(e);if(!n)return{verdict:"allow",consecutiveFailures:0,halfOpen:!1};let o=Y(this.readState(),n);if(!o||o.consecutiveFailures<this.warnThreshold)return{verdict:"allow",consecutiveFailures:o?.consecutiveFailures??0,halfOpen:!1};let s=o.consecutiveFailures;return s>=this.blockThreshold?t-o.lastFailureAt>=this.halfOpenAfterMs?{verdict:"warn",consecutiveFailures:s,halfOpen:!0,hint:`This command has failed ${s}x consecutively; allowing one probe attempt. If it fails again it will be flagged immediately.`}:{verdict:"block",consecutiveFailures:s,halfOpen:!1,hint:`The same command failed ${s}x consecutively. Re-running it unchanged is unlikely to succeed \u2014 inspect the error output, change the approach, or fix the underlying problem first. (A successful run resets this breaker.)`}:{verdict:"warn",consecutiveFailures:s,halfOpen:!1,hint:`This command has failed ${s}x consecutively \u2014 consider changing approach before retrying.`}}record(e,t,n=Date.now()){let o=r.signature(e);if(o)try{let s=this.readState();if(t){Y(s,o)&&(delete s[o],this.writeState(s,n));return}let a=Y(s,o)??{consecutiveFailures:0,lastFailureAt:n};a.consecutiveFailures+=1,a.lastFailureAt=n,pe(s,o,a),this.writeState(s,n)}catch{}}static isStrict(e=process.env){return e.AQE_STRICT_TOOL_LOOP==="1"||e.AQE_STRICT_TOOL_LOOP==="true"}readState(){try{let e=z.readFileSync(this.statePath,"utf8"),t=JSON.parse(e);return typeof t=="object"&&t!==null?Object.assign(K(),t):K()}catch{return K()}}writeState(e,t){for(let[n,o]of Object.entries(e))t-o.lastFailureAt>this.staleAfterMs&&delete e[n];z.mkdirSync(re.dirname(this.statePath),{recursive:!0}),z.writeFileSync(this.statePath,JSON.stringify(e))}};function le(r){return new V({statePath:re.join(r,".agentic-qe","tool-loop-state.json")})}function ht(r){return/\bjest\b/i.test(r)?"jest":/\bvitest\b/i.test(r)?"vitest":/\bpytest\b/i.test(r)?"pytest":/\bmocha\b/i.test(r)?"mocha":null}async function kt(r){try{let e=M();e.isInitialized()||await e.initialize();let t=e.getDatabase();q(t);let n=r.framework==="pytest"?"python":"javascript",o=r.command.split(/\s+/).slice(0,3).join("-").slice(0,80);t.prepare(`
234
+ `).run(E,JSON.stringify({description:e.description,taskId:u}),JSON.stringify({recommended:n.recommendedAgent,confidence:n.confidence,alternatives:n.alternatives,lowConfidence:g,exploration:T.exploration??!1,criticality:T.criticality??null,qWeight:T.qWeight??null}),n.recommendedAgent,1,0,-1,0,g?"low-confidence":null,T.exploration?1:0,T.criticality??null,T.qWeight??null)}catch(u){console.error(S.dim(`[hooks] pre-task sentinel: ${u instanceof Error?u.message:"unknown"}`))}}catch(d){console.error(S.dim(`[hooks] pre-task memory: ${d instanceof Error?d.message:"unknown"}`))}let p=n?n.confidence<qe:!1;if(e.json)h({success:!0,taskId:e.taskId,description:e.description,recommendedAgent:n?.recommendedAgent,confidence:n?.confidence,guidance:n?.guidance||[],selectedPatternIds:o,historicalBest:c,priorVerdicts:i,estimatedTokenSavings:f,lowConfidence:p,bridgeKey:l,nagualPatterns:a.map(d=>({id:d.id,problem:d.problem,solution:d.solution.slice(0,400),domain:d.domain,reward:d.reward}))});else if(console.log(S.bold(`
235
+ \u{1F680} Pre-Task Analysis`)),console.log(S.dim(` Task ID: ${e.taskId||"N/A"}`)),n&&(console.log(S.bold(`
236
+ \u{1F3AF} Recommended:`),S.cyan(n.recommendedAgent)),console.log(S.dim(` Confidence: ${(n.confidence*100).toFixed(1)}%`)),p&&console.log(S.yellow(" \u26A0 Low confidence \u2014 consider providing more context"))),a.length>0){console.log(S.bold(`
237
+ \u{1F4DA} Nagual context (cross-project):`));for(let d of a)console.log(S.dim(` [${d.domain}] ${d.problem.slice(0,80)} (reward: ${d.reward.toFixed(2)})`))}return}catch(t){e.json&&h({success:!1,error:t instanceof Error?t.message:"unknown"});return}}),r.command("post-task").description("Record task outcome for pattern learning").option("--task-id <id>","Task identifier").option("--success [bool]","Whether task succeeded","true").option("--agent <name>","Agent that executed the task").option("--duration <ms>","Task duration in milliseconds").option("-d, --description <desc>","Task description \u2014 fallback Q-state source when pre-task bridge is absent (issue #499)").option("--parent-agent-id <id>","Agent that spawned this task (ADR-101 nesting provenance)").option("--depth <n>","Nesting depth of this task, 0 = top-level (ADR-101)").option("--json","Output as JSON").action(async e=>{try{let t=e.success==="true"||e.success===!0;if(!e.agent||!String(e.agent).trim())try{let s=await F(),a=Ne(s);a&&(e.agent=a)}catch{}let n=Ce(e.parentAgentId,e.depth);if(n.error){e.json?console.log(JSON.stringify({success:!1,error:n.error})):console.error(S.red(` \u2717 ${n.error}`)),process.exitCode=1;return}let o=0;try{let{hookRegistry:s,reasoningBank:a}=await _();o=(await s.emit(A.QEAgentCompletion,{taskId:e.taskId,success:t,agent:e.agent,duration:e.duration?parseInt(e.duration,10):void 0,timestamp:Date.now()})).reduce((p,d)=>p+(d.patternsLearned||0),0);{let p=e.taskId||`hook-${Date.now()}`,d=e.agent||"unknown",k=e.duration?parseInt(e.duration,10):0,u=(n.parentAgentId?`, Parent: ${n.parentAgentId}`:"")+(n.depth!==void 0?`, Depth: ${n.depth}`:"");await a.recordOutcome({patternId:`task:${d}:${p}`,success:t,metrics:{executionTimeMs:k},feedback:`Agent: ${d}, Task: ${p}${u}`});let E=await se({taskId:p,agent:d,durationMs:k,success:t,parentAgentId:n.parentAgentId,depth:n.depth}),g=d==="unknown"&&E.bridge?.agent?E.bridge.agent:d;await ae({agent:g,success:t,durationMs:k,qualityScore:E.qualityScore});let T=String(e.description??"");if(E.bridge||T){let D=E.bridge?.taskType??W(T),L=E.bridge?.priority??"normal",C=E.bridge?.domain??Z(T)[0]??"any";await Q({taskType:D,priority:L,domain:C,agent:g,success:t})}}let i=R(),f=it.join(i,".agentic-qe"),l=await O(f);await x(l)}catch(s){console.error(S.dim(`[hooks] Learning init: ${s instanceof Error?s.message:"unknown"}`))}e.json?h({success:!0,taskId:e.taskId,taskSuccess:t,patternsLearned:o,dreamTriggered:!1,dreamReason:"deferred-to-kernel"}):(N(`Task completed: ${e.taskId||"unknown"}`),console.log(S.dim(` Success: ${t}`)),o>0&&console.log(S.green(` Patterns learned: ${o}`)));return}catch(t){e.json&&h({success:!1,error:t instanceof Error?t.message:"unknown"});return}})}import{existsSync as gt,readFileSync as ft}from"node:fs";import{randomUUID as Me}from"node:crypto";import X from"chalk";import Ue from"node:path";U();ze();import*as z from"fs";import*as re from"path";var V=class r{statePath;warnThreshold;blockThreshold;halfOpenAfterMs;staleAfterMs;constructor(e){this.statePath=e.statePath,this.warnThreshold=e.warnThreshold??3,this.blockThreshold=e.blockThreshold??5,this.halfOpenAfterMs=e.halfOpenAfterMs??12e4,this.staleAfterMs=e.staleAfterMs??30*6e4}static signature(e){return e.trim().replace(/\s+/g," ").slice(0,200)}check(e,t=Date.now()){let n=r.signature(e);if(!n)return{verdict:"allow",consecutiveFailures:0,halfOpen:!1};let o=Y(this.readState(),n);if(!o||o.consecutiveFailures<this.warnThreshold)return{verdict:"allow",consecutiveFailures:o?.consecutiveFailures??0,halfOpen:!1};let s=o.consecutiveFailures;return s>=this.blockThreshold?t-o.lastFailureAt>=this.halfOpenAfterMs?{verdict:"warn",consecutiveFailures:s,halfOpen:!0,hint:`This command has failed ${s}x consecutively; allowing one probe attempt. If it fails again it will be flagged immediately.`}:{verdict:"block",consecutiveFailures:s,halfOpen:!1,hint:`The same command failed ${s}x consecutively. Re-running it unchanged is unlikely to succeed \u2014 inspect the error output, change the approach, or fix the underlying problem first. (A successful run resets this breaker.)`}:{verdict:"warn",consecutiveFailures:s,halfOpen:!1,hint:`This command has failed ${s}x consecutively \u2014 consider changing approach before retrying.`}}record(e,t,n=Date.now()){let o=r.signature(e);if(o)try{let s=this.readState();if(t){Y(s,o)&&(delete s[o],this.writeState(s,n));return}let a=Y(s,o)??{consecutiveFailures:0,lastFailureAt:n};a.consecutiveFailures+=1,a.lastFailureAt=n,pe(s,o,a),this.writeState(s,n)}catch{}}static isStrict(e=process.env){return e.AQE_STRICT_TOOL_LOOP==="1"||e.AQE_STRICT_TOOL_LOOP==="true"}readState(){try{let e=z.readFileSync(this.statePath,"utf8"),t=JSON.parse(e);return typeof t=="object"&&t!==null?Object.assign(K(),t):K()}catch{return K()}}writeState(e,t){for(let[n,o]of Object.entries(e))t-o.lastFailureAt>this.staleAfterMs&&delete e[n];z.mkdirSync(re.dirname(this.statePath),{recursive:!0}),z.writeFileSync(this.statePath,JSON.stringify(e))}};function le(r){return new V({statePath:re.join(r,".agentic-qe","tool-loop-state.json")})}function ht(r){return/\bjest\b/i.test(r)?"jest":/\bvitest\b/i.test(r)?"vitest":/\bpytest\b/i.test(r)?"pytest":/\bmocha\b/i.test(r)?"mocha":null}async function kt(r){try{let e=M();e.isInitialized()||await e.initialize();let t=e.getDatabase();q(t);let n=r.framework==="pytest"?"python":"javascript",o=r.command.split(/\s+/).slice(0,3).join("-").slice(0,80);t.prepare(`
237
238
  INSERT INTO test_outcomes (
238
239
  id, test_id, test_name, generated_by, framework, language, domain,
239
240
  passed, execution_time_ms, maintainability_score, created_at
@@ -253,7 +254,7 @@ Registered: ${n.length}/${Object.keys(A).length}`))}}catch(t){throw S(`list fail
253
254
  tests_generated, tests_passed, duration_ms,
254
255
  started_at, completed_at
255
256
  ) VALUES (?, ?, 'cli-hook-post-command', ?, ?, ?, ?, ?, ?, ?, 0, ?, ?, ?, ?)
256
- `).run(`cs-${Date.now()}-${Me().slice(0,8)}`,process.cwd(),r.framework,p?.after_lines??0,p?.after_branches??0,p?.after_functions??0,i,f,l,r.success?1:0,r.durationMs,d,d)}}catch(s){console.error(X.dim(`[hooks] coverage_sessions: ${s instanceof Error?s.message:"unknown"}`))}}catch(e){console.error(X.dim(`[hooks] test_outcomes: ${e instanceof Error?e.message:"unknown"}`))}}function Be(r){r.command("guard").description("File guardian - block edits to protected files").requiredOption("-f, --file <path>","File path to check").option("--json","Output as JSON (required for hook API)").action(async e=>{try{let t=e.file||"",n=t.replace(/\\/g,"/"),s=[{pattern:/^\.env($|\.)/,reason:"Environment file contains secrets"},{pattern:/\.env\.[a-zA-Z]+$/,reason:"Environment file contains secrets"},{pattern:/\.lock$/,reason:"Lock files are auto-generated"},{pattern:/(^|\/)node_modules\//,reason:"node_modules is managed by package manager"},{pattern:/(^|\/)\.agentic-qe\/memory\.db/,reason:"AQE memory database must not be directly edited"},{pattern:/(^|\/)\.agentic-qe\/memory\.db-wal$/,reason:"AQE WAL file must not be directly edited"},{pattern:/(^|\/)\.agentic-qe\/memory\.db-shm$/,reason:"AQE shared memory file must not be directly edited"}].find(a=>a.pattern.test(n));s?e.json?h({hookSpecificOutput:{hookEventName:"PreToolUse",permissionDecision:"deny",permissionDecisionReason:`Protected file: ${s.reason} (${t})`}}):S(`Blocked: ${s.reason} (${t})`):e.json?h({hookSpecificOutput:{hookEventName:"PreToolUse",permissionDecision:"allow"}}):N(`Allowed: ${t}`);return}catch{e.json&&h({hookSpecificOutput:{hookEventName:"PreToolUse",permissionDecision:"allow"}});return}}),r.command("pre-command").description("Get context before executing a Bash command").option("-c, --command <cmd>","Command to be executed").option("--json","Output as JSON").action(async e=>{try{let t=e.command||"",n=[{pattern:/rm\s+(-[a-zA-Z]*f[a-zA-Z]*\s+)?-[a-zA-Z]*r[a-zA-Z]*\s+\/(?!\w)/,reason:"Recursive delete of root filesystem"},{pattern:/rm\s+(-[a-zA-Z]*r[a-zA-Z]*\s+)?-[a-zA-Z]*f[a-zA-Z]*\s+\/(?!\w)/,reason:"Recursive delete of root filesystem"},{pattern:/rm\s+-rf\s+~/,reason:"Recursive delete of home directory"},{pattern:/DROP\s+(TABLE|DATABASE|SCHEMA)/i,reason:"Destructive SQL operation"},{pattern:/git\s+push\s+.*--force(?!-)/,reason:"Force push can overwrite remote history"},{pattern:/git\s+reset\s+--hard/,reason:"Hard reset discards uncommitted changes"},{pattern:/>\s*\/dev\/sd[a-z]/,reason:"Direct write to block device"},{pattern:/dd\s+if=.*of=\/dev\/sd/,reason:"Direct disk write via dd"},{pattern:/chmod\s+777\s/,reason:"World-writable permissions are a security risk"},{pattern:/:\(\)\s*\{\s*:\|\s*:&\s*\}\s*;?\s*:/,reason:"Fork bomb detected"},{pattern:/mkfs\./,reason:"Filesystem format operation"},{pattern:/>\s*\/dev\/null\s*2>&1\s*&\s*disown/,reason:"Stealth background process"}],o=[{pattern:/\.agentic-qe.*rm/,reason:"Deleting AQE data files"},{pattern:/rm\s+-rf\s/,reason:"Recursive force delete"},{pattern:/git\s+clean\s+-[a-zA-Z]*f/,reason:"Force cleaning untracked files"}],s=n.find(i=>i.pattern.test(t)),a=o.filter(i=>i.pattern.test(t)).map(i=>i.reason),c=null;try{c=le(R()).check(t)}catch{}if(c&&c.verdict==="block"&&V.isStrict()){e.json?h({hookSpecificOutput:{hookEventName:"PreToolUse",permissionDecision:"deny",permissionDecisionReason:`Tool-loop breaker (AQE_STRICT_TOOL_LOOP): ${c.hint}`}}):S(`Blocked by tool-loop breaker: ${c.hint}`);return}if(c&&c.verdict==="block"?a.push(`\u{1F6D1} TOOL-LOOP BREAKER: ${c.hint}`):c&&c.verdict==="warn"&&a.push(`Tool-loop breaker: ${c.hint}`),s)e.json?h({hookSpecificOutput:{hookEventName:"PreToolUse",permissionDecision:"deny",permissionDecisionReason:`Dangerous command blocked: ${s.reason}`}}):S(`Blocked: ${s.reason}`);else if(e.json){let i={hookSpecificOutput:{hookEventName:"PreToolUse",permissionDecision:"allow"}};a.length>0&&(i.hookSpecificOutput.additionalContext=`Warnings: ${a.join("; ")}`),h(i)}else a.length>0&&(console.log(X.yellow(`
257
+ `).run(`cs-${Date.now()}-${Me().slice(0,8)}`,process.cwd(),r.framework,p?.after_lines??0,p?.after_branches??0,p?.after_functions??0,i,f,l,r.success?1:0,r.durationMs,d,d)}}catch(s){console.error(X.dim(`[hooks] coverage_sessions: ${s instanceof Error?s.message:"unknown"}`))}}catch(e){console.error(X.dim(`[hooks] test_outcomes: ${e instanceof Error?e.message:"unknown"}`))}}function Be(r){r.command("guard").description("File guardian - block edits to protected files").requiredOption("-f, --file <path>","File path to check").option("--json","Output as JSON (required for hook API)").action(async e=>{try{let t=e.file||"",n=t.replace(/\\/g,"/"),s=[{pattern:/^\.env($|\.)/,reason:"Environment file contains secrets"},{pattern:/\.env\.[a-zA-Z]+$/,reason:"Environment file contains secrets"},{pattern:/\.lock$/,reason:"Lock files are auto-generated"},{pattern:/(^|\/)node_modules\//,reason:"node_modules is managed by package manager"},{pattern:/(^|\/)\.agentic-qe\/memory\.db/,reason:"AQE memory database must not be directly edited"},{pattern:/(^|\/)\.agentic-qe\/memory\.db-wal$/,reason:"AQE WAL file must not be directly edited"},{pattern:/(^|\/)\.agentic-qe\/memory\.db-shm$/,reason:"AQE shared memory file must not be directly edited"}].find(a=>a.pattern.test(n));s?e.json?h({hookSpecificOutput:{hookEventName:"PreToolUse",permissionDecision:"deny",permissionDecisionReason:`Protected file: ${s.reason} (${t})`}}):w(`Blocked: ${s.reason} (${t})`):e.json?h({hookSpecificOutput:{hookEventName:"PreToolUse",permissionDecision:"allow"}}):N(`Allowed: ${t}`);return}catch{e.json&&h({hookSpecificOutput:{hookEventName:"PreToolUse",permissionDecision:"allow"}});return}}),r.command("pre-command").description("Get context before executing a Bash command").option("-c, --command <cmd>","Command to be executed").option("--json","Output as JSON").action(async e=>{try{let t=e.command||"",n=[{pattern:/rm\s+(-[a-zA-Z]*f[a-zA-Z]*\s+)?-[a-zA-Z]*r[a-zA-Z]*\s+\/(?!\w)/,reason:"Recursive delete of root filesystem"},{pattern:/rm\s+(-[a-zA-Z]*r[a-zA-Z]*\s+)?-[a-zA-Z]*f[a-zA-Z]*\s+\/(?!\w)/,reason:"Recursive delete of root filesystem"},{pattern:/rm\s+-rf\s+~/,reason:"Recursive delete of home directory"},{pattern:/DROP\s+(TABLE|DATABASE|SCHEMA)/i,reason:"Destructive SQL operation"},{pattern:/git\s+push\s+.*--force(?!-)/,reason:"Force push can overwrite remote history"},{pattern:/git\s+reset\s+--hard/,reason:"Hard reset discards uncommitted changes"},{pattern:/>\s*\/dev\/sd[a-z]/,reason:"Direct write to block device"},{pattern:/dd\s+if=.*of=\/dev\/sd/,reason:"Direct disk write via dd"},{pattern:/chmod\s+777\s/,reason:"World-writable permissions are a security risk"},{pattern:/:\(\)\s*\{\s*:\|\s*:&\s*\}\s*;?\s*:/,reason:"Fork bomb detected"},{pattern:/mkfs\./,reason:"Filesystem format operation"},{pattern:/>\s*\/dev\/null\s*2>&1\s*&\s*disown/,reason:"Stealth background process"}],o=[{pattern:/\.agentic-qe.*rm/,reason:"Deleting AQE data files"},{pattern:/rm\s+-rf\s/,reason:"Recursive force delete"},{pattern:/git\s+clean\s+-[a-zA-Z]*f/,reason:"Force cleaning untracked files"}],s=n.find(i=>i.pattern.test(t)),a=o.filter(i=>i.pattern.test(t)).map(i=>i.reason),c=null;try{c=le(R()).check(t)}catch{}if(c&&c.verdict==="block"&&V.isStrict()){e.json?h({hookSpecificOutput:{hookEventName:"PreToolUse",permissionDecision:"deny",permissionDecisionReason:`Tool-loop breaker (AQE_STRICT_TOOL_LOOP): ${c.hint}`}}):w(`Blocked by tool-loop breaker: ${c.hint}`);return}if(c&&c.verdict==="block"?a.push(`\u{1F6D1} TOOL-LOOP BREAKER: ${c.hint}`):c&&c.verdict==="warn"&&a.push(`Tool-loop breaker: ${c.hint}`),s)e.json?h({hookSpecificOutput:{hookEventName:"PreToolUse",permissionDecision:"deny",permissionDecisionReason:`Dangerous command blocked: ${s.reason}`}}):w(`Blocked: ${s.reason}`);else if(e.json){let i={hookSpecificOutput:{hookEventName:"PreToolUse",permissionDecision:"allow"}};a.length>0&&(i.hookSpecificOutput.additionalContext=`Warnings: ${a.join("; ")}`),h(i)}else a.length>0&&(console.log(X.yellow(`
257
258
  \u26A0\uFE0F Command Warnings:`)),a.forEach(i=>console.log(X.yellow(` - ${i}`))));return}catch{e.json&&h({hookSpecificOutput:{hookEventName:"PreToolUse",permissionDecision:"allow"}});return}}),r.command("post-command").description("Record Bash command outcome").option("-c, --command <cmd>","Command that was executed").option("--success [bool]","Whether command succeeded","true").option("--exit-code <code>","Command exit code").option("--json","Output as JSON").action(async e=>{try{let t=e.success==="true"||e.success===!0,n=e.exitCode?parseInt(e.exitCode,10):t?0:1,o=(e.command||"").substring(0,200);try{le(R()).record(o,t)}catch{}let s=/\b(test|vitest|jest|pytest|mocha)\b/i.test(o),a=/\b(build|compile|tsc)\b/i.test(o),c=/\b(lint|eslint|prettier)\b/i.test(o),i=0,f=!1;try{let{reasoningBank:l}=await _();if(s){let{hookRegistry:T}=await _();await T.emit(A.TestExecutionResult,{runId:`cmd-${Date.now()}`,patternId:`cmd:test:${o.split(/\s+/).slice(0,3).join("-")}`,passed:t?1:0,failed:t?0:1,duration:0,flaky:!1})}let p=o.replace(/[^a-zA-Z0-9]/g,"-").slice(0,80),d=s?"test-execution":a?"code-intelligence":c?"quality-assessment":"code-intelligence";await l.recordOutcome({patternId:`cmd:${p}`,success:t,metrics:{executionTimeMs:0},feedback:`Command: ${o}, exit: ${n}`}),i=1,(s||a||c)&&(await G({task:`bash: ${o}`,agent:"cli-hook",domain:d,success:t,source:"cli-hook-post-command"}),f=!0);let k=ht(o);k&&await kt({command:o,framework:k,success:t,durationMs:0});let u=R(),E=Ue.join(u,".agentic-qe"),g=await O(E);await x(g)}catch(l){console.error(X.dim(`[hooks] post-command learning: ${l instanceof Error?l.message:"unknown"}`))}e.json&&h({success:!0,command:o.substring(0,100),commandSuccess:t,exitCode:n,patternsLearned:i,experienceRecorded:f});return}catch(t){e.json&&h({success:!1,error:t instanceof Error?t.message:"unknown"});return}})}function Jn(){let r=new yt("hooks").description("Self-learning QE hooks for pattern recognition and guidance").addHelpText("after",`
258
259
  Examples:
259
260
  # File editing hooks (learning from edits)
@@ -0,0 +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.16");process.exit(0)}
2
+ import{a,b}from"./chunk-SUDMM5SO.js";import"./chunk-MO55CVMT.js";import"./chunk-CEYSYSK5.js";import"./chunk-WP4RETKG.js";import"./chunk-JDIYMZCQ.js";import"./chunk-V5NHZV7S.js";import"./chunk-S75SOOZL.js";import"./chunk-PPUZWYUG.js";import"./chunk-3HD7E6HN.js";import"./chunk-CRPIYUTJ.js";import"./chunk-F742SZAX.js";import"./chunk-CAKMOVZ6.js";import"./chunk-FLNAW7C4.js";import"./chunk-J4ELZNLY.js";import"./chunk-YAPLJR7K.js";import"./chunk-G5RHFBAY.js";import"./chunk-XIIQ5QTT.js";import"./chunk-A5GBXCP5.js";import"./chunk-L6QSTQME.js";import"./chunk-AGRV5B3T.js";import"./chunk-U2A7NHZA.js";import"./chunk-KPRCB5LT.js";import"./chunk-KNSRL6NO.js";import"./chunk-2H4XH6FT.js";import"./chunk-AJMJNQMP.js";export{a as HybridMemoryBackend,b as createKernelMemoryBackend};
@@ -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.14");process.exit(0)}
2
- import{a,b,c,d,e}from"./chunk-WZQADC5R.js";import"./chunk-6NIGSY5L.js";import"./chunk-XN3KCKAM.js";import"./chunk-QP6GL3O5.js";import"./chunk-L5VSLPMW.js";import"./chunk-V6SE2ZU2.js";export{a as DEFAULT_HYPERGRAPH_ENGINE_CONFIG,b as HypergraphEngine,c as createHypergraphEngine,d as createHypergraphEngineSync,e as default};
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.16");process.exit(0)}
2
+ import{a,b,c,d,e}from"./chunk-72XSEQMW.js";import"./chunk-HGWXF45W.js";import"./chunk-CEYSYSK5.js";import"./chunk-V5NHZV7S.js";import"./chunk-KNSRL6NO.js";import"./chunk-AJMJNQMP.js";export{a as DEFAULT_HYPERGRAPH_ENGINE_CONFIG,b as HypergraphEngine,c as createHypergraphEngine,d as createHypergraphEngineSync,e as default};