agentic-qe 3.15.6 → 3.15.7

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 (421) hide show
  1. package/.claude/skills/skills-manifest.json +1 -1
  2. package/CHANGELOG.md +141 -0
  3. package/README.md +2 -0
  4. package/assets/skills/skills-manifest.json +1 -1
  5. package/dist/cli/bundle.js +8 -6
  6. package/dist/cli/chunks/adapter-PEOUNYXJ.js +2 -0
  7. package/dist/cli/chunks/{agent-booster-wasm-SY7UCLBL.js → agent-booster-wasm-OS5G7KMQ.js} +2 -2
  8. package/dist/cli/chunks/{agent-handler-KAMYBU3S.js → agent-handler-PI4I7PME.js} +2 -2
  9. package/dist/cli/chunks/{agent-memory-branch-2CAW3KUM.js → agent-memory-branch-J7TXHX4U.js} +2 -2
  10. package/dist/cli/chunks/aqe-learning-engine-DHKZI5RX.js +2 -0
  11. package/dist/cli/chunks/{arena-QCCVIOAH.js → arena-FXESDCFR.js} +4 -4
  12. package/dist/cli/chunks/{arena-4OFLJ3R2.js → arena-OWUGXKNT.js} +2 -2
  13. package/dist/cli/chunks/{audit-RBDQJQJB.js → audit-EPAWLYIZ.js} +3 -3
  14. package/dist/cli/chunks/base-QZWK3D5P.js +2 -0
  15. package/dist/cli/chunks/{better-sqlite3-5JRACCDQ.js → better-sqlite3-IYVR5EQY.js} +2 -2
  16. package/dist/cli/chunks/{brain-handler-W4QIIRT4.js → brain-handler-3W2E6TC6.js} +3 -3
  17. package/dist/cli/chunks/{branch-enumerator-IBNGI572.js → branch-enumerator-HU7VACJ4.js} +2 -2
  18. package/dist/cli/chunks/{browser-GMSCVAOI.js → browser-72XOR6E2.js} +2 -2
  19. package/dist/cli/chunks/browser-workflow-ITPX72RX.js +2 -0
  20. package/dist/cli/chunks/{chunk-CR66HNAE.js → chunk-2423JAA5.js} +1 -1
  21. package/dist/cli/chunks/{chunk-LAY7NCQK.js → chunk-24CENUT4.js} +3 -3
  22. package/dist/cli/chunks/{chunk-PEMSXSP2.js → chunk-2AYBYXOA.js} +2 -2
  23. package/dist/cli/chunks/{chunk-TUDENMAE.js → chunk-2E3XWKEU.js} +2 -2
  24. package/dist/cli/chunks/{chunk-KIDOBLUO.js → chunk-2RJYA6WK.js} +2 -2
  25. package/dist/cli/chunks/{chunk-2IWPJUVV.js → chunk-2YVJ5OUL.js} +5 -5
  26. package/dist/cli/chunks/{chunk-34MDMFET.js → chunk-34JLY3U6.js} +2 -2
  27. package/dist/cli/chunks/{chunk-SV5BUYHH.js → chunk-3JD2USUH.js} +2 -2
  28. package/dist/cli/chunks/{chunk-EF5UHDCG.js → chunk-3RM46XFP.js} +1 -1
  29. package/dist/cli/chunks/{chunk-7XTANLTN.js → chunk-44DPYNPE.js} +1 -1
  30. package/dist/cli/chunks/{chunk-ONPPBLRB.js → chunk-4DIZ5BT6.js} +2 -2
  31. package/dist/cli/chunks/{chunk-22OZIJAD.js → chunk-4G2VNW4C.js} +2 -2
  32. package/dist/cli/chunks/{chunk-LJCEDTUM.js → chunk-56ZKQYZY.js} +3 -3
  33. package/dist/cli/chunks/{chunk-HOEWMEF2.js → chunk-5KCBX225.js} +2 -2
  34. package/dist/cli/chunks/{chunk-V3OLS2NG.js → chunk-5KS7HA37.js} +2 -2
  35. package/dist/cli/chunks/{chunk-MQCTLTGE.js → chunk-5PBRBS7D.js} +2 -2
  36. package/dist/cli/chunks/{chunk-TVLOED6O.js → chunk-5Q22XPTH.js} +2 -2
  37. package/dist/cli/chunks/{chunk-B7RHBKHL.js → chunk-634D2ENF.js} +2 -2
  38. package/dist/cli/chunks/{chunk-7TVIX4WL.js → chunk-6AYRAOCA.js} +2 -2
  39. package/dist/cli/chunks/{chunk-4KOVHQXK.js → chunk-6BO3WCK7.js} +2 -2
  40. package/dist/cli/chunks/{chunk-5HAPS6VD.js → chunk-6FEQ73BF.js} +2 -2
  41. package/dist/cli/chunks/{chunk-FQ5N666N.js → chunk-6JT73S5B.js} +1 -1
  42. package/dist/cli/chunks/{chunk-6MXAJBEA.js → chunk-6OS7HREG.js} +1 -1
  43. package/dist/cli/chunks/{chunk-6R3FBFCJ.js → chunk-6PKCQXEW.js} +2 -2
  44. package/dist/cli/chunks/{chunk-DQNUPEY5.js → chunk-7EX4DEQR.js} +2 -2
  45. package/dist/cli/chunks/{chunk-KCB6P463.js → chunk-7UCVYYWL.js} +2 -2
  46. package/dist/cli/chunks/{chunk-RLB7K7QP.js → chunk-AAA4SHEG.js} +1 -1
  47. package/dist/cli/chunks/{chunk-ITIJ23K2.js → chunk-AXO7OOOA.js} +2 -2
  48. package/dist/cli/chunks/{chunk-6RDVY26I.js → chunk-B7M323VL.js} +2 -2
  49. package/dist/cli/chunks/{chunk-EJ4KZFZN.js → chunk-BB7OLQKO.js} +1 -1
  50. package/dist/cli/chunks/{chunk-5NC7QEJ6.js → chunk-BTIBXGVQ.js} +4 -4
  51. package/dist/cli/chunks/{chunk-RD5BYLN7.js → chunk-BTYKGVJ5.js} +1 -1
  52. package/dist/cli/chunks/{chunk-YXU35GGD.js → chunk-C2CUPJGR.js} +1 -1
  53. package/dist/cli/chunks/{chunk-XFPQIWEH.js → chunk-C2MDBBFF.js} +3 -3
  54. package/dist/cli/chunks/{chunk-QLKUCMZC.js → chunk-CG5DZCOZ.js} +1 -1
  55. package/dist/cli/chunks/{chunk-YLNYPQDR.js → chunk-CIFWOMNX.js} +1 -1
  56. package/dist/cli/chunks/{chunk-ORBODZSO.js → chunk-CWPRU7ZI.js} +2 -2
  57. package/dist/cli/chunks/{chunk-WKDWRRDT.js → chunk-CXTJ47QS.js} +2 -2
  58. package/dist/cli/chunks/{chunk-SOSJWM3E.js → chunk-DCJW2DPL.js} +4 -4
  59. package/dist/cli/chunks/{chunk-GVRFSXY6.js → chunk-DGK6GQMO.js} +2 -2
  60. package/dist/cli/chunks/{chunk-X33F7NXH.js → chunk-DVPGBDBP.js} +3 -3
  61. package/dist/cli/chunks/chunk-EB2PP6X2.js +2 -0
  62. package/dist/cli/chunks/{chunk-HZFK2Z2Z.js → chunk-ECSLJJOQ.js} +1 -1
  63. package/dist/cli/chunks/{chunk-JCE76MPP.js → chunk-ED32XJ5R.js} +2 -2
  64. package/dist/cli/chunks/{chunk-ULCHPPW2.js → chunk-EDU72RTW.js} +1 -1
  65. package/dist/cli/chunks/{chunk-ZOUEQ6DL.js → chunk-EL75G2A3.js} +1 -1
  66. package/dist/cli/chunks/{chunk-GNYOHZVV.js → chunk-EV2BYY6T.js} +1 -1
  67. package/dist/cli/chunks/{chunk-RUTO67PT.js → chunk-F62EKVVC.js} +2 -2
  68. package/dist/cli/chunks/{chunk-IVJIHZSM.js → chunk-FTTFJ7SJ.js} +1 -1
  69. package/dist/cli/chunks/{chunk-NYS2GUNO.js → chunk-FVBFASOD.js} +2 -2
  70. package/dist/cli/chunks/{chunk-5DH5QI7G.js → chunk-G762PEFO.js} +3 -3
  71. package/dist/cli/chunks/{chunk-JPJEAK4G.js → chunk-G7YTZTGU.js} +1 -1
  72. package/dist/cli/chunks/{chunk-5VUIXDY2.js → chunk-GY2SAIXP.js} +2 -2
  73. package/dist/cli/chunks/{chunk-7XUB7U6Z.js → chunk-H4WHDFB5.js} +2 -2
  74. package/dist/cli/chunks/{chunk-72MQCZSM.js → chunk-HLZATDD2.js} +2 -2
  75. package/dist/cli/chunks/{chunk-AX26QJ6T.js → chunk-HPG7354V.js} +2 -2
  76. package/dist/cli/chunks/{chunk-7SAMMQVS.js → chunk-HSDOOFV7.js} +1 -1
  77. package/dist/cli/chunks/{chunk-K55EAWZ5.js → chunk-HTWIGQL4.js} +2 -2
  78. package/dist/cli/chunks/{chunk-BXATKI5S.js → chunk-HXBAQKMH.js} +2 -2
  79. package/dist/cli/chunks/{chunk-46HBVDMU.js → chunk-HZFT3P5B.js} +1 -1
  80. package/dist/cli/chunks/{chunk-RFDFET3O.js → chunk-I7H4IP7T.js} +2 -2
  81. package/dist/cli/chunks/{chunk-AJT3XDRD.js → chunk-IARSGAG7.js} +2 -2
  82. package/dist/cli/chunks/{chunk-TL5GV3PR.js → chunk-IC2WSSD5.js} +3 -3
  83. package/dist/cli/chunks/{chunk-TLUIO37P.js → chunk-ICPALF4Q.js} +2 -2
  84. package/dist/cli/chunks/{chunk-ZSBD4FUX.js → chunk-IWQQIXHO.js} +2 -2
  85. package/dist/cli/chunks/{chunk-AUOSHM63.js → chunk-IYQ7XNE5.js} +2 -2
  86. package/dist/cli/chunks/{chunk-RHIQ6QO5.js → chunk-J26GADQE.js} +281 -281
  87. package/dist/cli/chunks/{chunk-AUN4FG7V.js → chunk-J43DV3ME.js} +1 -1
  88. package/dist/cli/chunks/{chunk-ALCIUWFC.js → chunk-JFPXCQNP.js} +1 -1
  89. package/dist/cli/chunks/{chunk-R363XXGH.js → chunk-JK6B3ULP.js} +2 -2
  90. package/dist/cli/chunks/{chunk-7VTKR44N.js → chunk-JPHDMHFG.js} +2 -2
  91. package/dist/cli/chunks/{chunk-FOJRPEIP.js → chunk-JVYPXW6Y.js} +2 -2
  92. package/dist/cli/chunks/{chunk-ZUTFHGEO.js → chunk-JY4AIEZ7.js} +1 -1
  93. package/dist/cli/chunks/{chunk-47Q7JL3V.js → chunk-JY4WLN3K.js} +2 -2
  94. package/dist/cli/chunks/{chunk-IEPWO4XP.js → chunk-JYXOFN3E.js} +2 -2
  95. package/dist/cli/chunks/{chunk-2CIDFR2H.js → chunk-K7W55B7Q.js} +2 -2
  96. package/dist/cli/chunks/{chunk-D5N2O5EH.js → chunk-KPOPBUUJ.js} +2 -2
  97. package/dist/cli/chunks/{chunk-OQ4S6B7P.js → chunk-LDXQRNTT.js} +1 -1
  98. package/dist/cli/chunks/{chunk-6T6AHVLF.js → chunk-LDZWIV2O.js} +1 -1
  99. package/dist/cli/chunks/{chunk-A7ANPS4E.js → chunk-LGBN7TKC.js} +2 -2
  100. package/dist/cli/chunks/{chunk-X2DR27AY.js → chunk-LMEU64TR.js} +2 -2
  101. package/dist/cli/chunks/{chunk-GI5HWS4H.js → chunk-LP4AS2E4.js} +1 -1
  102. package/dist/cli/chunks/{chunk-VVF337SV.js → chunk-LQOVA4YX.js} +2 -2
  103. package/dist/cli/chunks/{chunk-KYVIOC3C.js → chunk-LVEX4GID.js} +2 -2
  104. package/dist/cli/chunks/{chunk-BO7UFNYV.js → chunk-M63QB466.js} +2 -2
  105. package/dist/cli/chunks/{chunk-UHHMAKPE.js → chunk-MDC4G323.js} +1 -1
  106. package/dist/cli/chunks/{chunk-4CLDYT36.js → chunk-MHZPC4HJ.js} +2 -2
  107. package/dist/cli/chunks/{chunk-24ZSGYC6.js → chunk-MJJC6HUK.js} +1 -1
  108. package/dist/cli/chunks/{chunk-ZL5LJT7D.js → chunk-MKFQNCXI.js} +2 -2
  109. package/dist/cli/chunks/{chunk-XZ46CI35.js → chunk-MMXG3LL6.js} +2 -2
  110. package/dist/cli/chunks/{chunk-OPDZBRIL.js → chunk-MNCF643K.js} +2 -2
  111. package/dist/cli/chunks/{chunk-CEXNW5TR.js → chunk-MNZFEIE5.js} +1 -1
  112. package/dist/cli/chunks/{chunk-L4D3TPFP.js → chunk-MQ6OF6DU.js} +1 -1
  113. package/dist/cli/chunks/{chunk-UB6DQGWM.js → chunk-MRHM4COP.js} +2 -2
  114. package/dist/cli/chunks/{chunk-CLAMMGY3.js → chunk-N4PMPSJJ.js} +2 -2
  115. package/dist/cli/chunks/{chunk-XQ53PZEF.js → chunk-NZQPP533.js} +3 -3
  116. package/dist/cli/chunks/{chunk-FU7LNUD7.js → chunk-OA4GR3EZ.js} +2 -2
  117. package/dist/cli/chunks/{chunk-ORFL3YXB.js → chunk-OJEZNLB6.js} +2 -2
  118. package/dist/cli/chunks/{chunk-5LST62QR.js → chunk-ONVALAZN.js} +2 -2
  119. package/dist/cli/chunks/{chunk-DA7DGDTI.js → chunk-PEKDSJBC.js} +2 -2
  120. package/dist/cli/chunks/{chunk-3DJNKNBR.js → chunk-PG64YV6C.js} +57 -57
  121. package/dist/cli/chunks/{chunk-2ZTWPMTK.js → chunk-PQV7E7XH.js} +2 -2
  122. package/dist/cli/chunks/chunk-PTK66HEY.js +2 -0
  123. package/dist/cli/chunks/{chunk-CZBIREL5.js → chunk-PUECC4WI.js} +2 -2
  124. package/dist/cli/chunks/{chunk-JYKQVYX2.js → chunk-PXZKPUW6.js} +2 -2
  125. package/dist/cli/chunks/{chunk-I7WAW7TM.js → chunk-PYHYOKYT.js} +2 -2
  126. package/dist/cli/chunks/{chunk-LCCTJ2PC.js → chunk-PZG3542B.js} +2 -2
  127. package/dist/cli/chunks/{chunk-F7A2UBZO.js → chunk-Q2T5FXEA.js} +2 -2
  128. package/dist/cli/chunks/{chunk-PS6WFCA4.js → chunk-QJE6ZW2X.js} +2 -2
  129. package/dist/cli/chunks/{chunk-LZWJ5BMP.js → chunk-QNQSM2OG.js} +2 -2
  130. package/dist/cli/chunks/{chunk-QLYO3H7E.js → chunk-QQT6QENQ.js} +2 -2
  131. package/dist/cli/chunks/{chunk-VCONCVSY.js → chunk-QVG4ZDXX.js} +2 -2
  132. package/dist/cli/chunks/{chunk-NMY4KTWA.js → chunk-QWLTHFZW.js} +2 -2
  133. package/dist/cli/chunks/{chunk-NBUXM5X6.js → chunk-RCYLCA7E.js} +2 -2
  134. package/dist/cli/chunks/{chunk-P7DXVL2S.js → chunk-REEIFA6A.js} +2 -2
  135. package/dist/cli/chunks/{chunk-5MT7DMD7.js → chunk-RNYX4CPI.js} +2 -2
  136. package/dist/cli/chunks/{chunk-HAN4MS5T.js → chunk-RORZ5O5Z.js} +2 -2
  137. package/dist/cli/chunks/{chunk-ZCP4P6O2.js → chunk-RRPYWBFX.js} +2 -2
  138. package/dist/cli/chunks/{chunk-3NJ7O3OH.js → chunk-RXAFLK34.js} +2 -2
  139. package/dist/cli/chunks/{chunk-VAYZ5QIE.js → chunk-SQHLC6I5.js} +1 -1
  140. package/dist/cli/chunks/{chunk-Q2RBOC7V.js → chunk-SSP2B2WR.js} +2 -2
  141. package/dist/cli/chunks/{chunk-CCL436IU.js → chunk-SX2YSHE7.js} +14 -6
  142. package/dist/cli/chunks/{chunk-ZTB32K5N.js → chunk-T3ZDVU6F.js} +3 -3
  143. package/dist/cli/chunks/{chunk-624QRKQX.js → chunk-T6W5APYP.js} +1 -1
  144. package/dist/cli/chunks/{chunk-BAYGQRNP.js → chunk-TU4LIIOP.js} +2 -2
  145. package/dist/cli/chunks/{chunk-L2TDHJR3.js → chunk-UBYCR3O4.js} +2 -2
  146. package/dist/cli/chunks/{chunk-JAPBSSFY.js → chunk-UCLN6AME.js} +1 -1
  147. package/dist/cli/chunks/{chunk-66NW3ZB4.js → chunk-UIYKR2SA.js} +2 -2
  148. package/dist/cli/chunks/{chunk-BIXRTOH3.js → chunk-UUHIEM2M.js} +3 -3
  149. package/dist/cli/chunks/{chunk-ELI4GDQO.js → chunk-UY3REQOK.js} +2 -2
  150. package/dist/cli/chunks/{chunk-BUTGIVKW.js → chunk-V2SAEMZY.js} +1 -1
  151. package/dist/cli/chunks/{chunk-6WOZUSSN.js → chunk-V5NGBQAQ.js} +2 -2
  152. package/dist/cli/chunks/{chunk-7TJZDRDU.js → chunk-VCA6YYII.js} +1 -1
  153. package/dist/cli/chunks/chunk-VJRZFWR5.js +2 -0
  154. package/dist/cli/chunks/{chunk-5GIJU2ZY.js → chunk-VKPKYMCT.js} +2 -2
  155. package/dist/cli/chunks/{chunk-XPB5BVU6.js → chunk-VNW5Q2CX.js} +2 -2
  156. package/dist/cli/chunks/{chunk-7QVPMH25.js → chunk-VUFRTGML.js} +2 -2
  157. package/dist/cli/chunks/{chunk-MP3FSUNB.js → chunk-W4X2VTIY.js} +2 -2
  158. package/dist/cli/chunks/{chunk-GWM4M5NF.js → chunk-WTLIEBDH.js} +1 -1
  159. package/dist/cli/chunks/{chunk-QS5KZYUZ.js → chunk-WUV5RZUI.js} +2 -2
  160. package/dist/cli/chunks/{chunk-HEGGV2PT.js → chunk-WXI2STKQ.js} +2 -2
  161. package/dist/cli/chunks/{chunk-GFB6BZWU.js → chunk-XEWXYGJI.js} +2 -2
  162. package/dist/cli/chunks/{chunk-NHRF3V4B.js → chunk-XNSQZ3O7.js} +2 -2
  163. package/dist/cli/chunks/{chunk-4POOJYXA.js → chunk-XTJMY3KS.js} +1 -1
  164. package/dist/cli/chunks/{chunk-LMAEMVPA.js → chunk-XXAVQACL.js} +1 -1
  165. package/dist/cli/chunks/{chunk-RV6HSMKJ.js → chunk-Y4SAWE45.js} +1 -1
  166. package/dist/cli/chunks/{chunk-DLSFT6PO.js → chunk-Y6A46M3B.js} +2 -2
  167. package/dist/cli/chunks/{chunk-5UPIL62W.js → chunk-YDZJWDR6.js} +3 -3
  168. package/dist/cli/chunks/{chunk-F3KS3TAB.js → chunk-YFOBQSOW.js} +2 -2
  169. package/dist/cli/chunks/{chunk-XBEI2JBA.js → chunk-YK3NOC2R.js} +2 -2
  170. package/dist/cli/chunks/{chunk-MQTA6KIO.js → chunk-YUC7RJGR.js} +1 -1
  171. package/dist/cli/chunks/{chunk-A74J23QB.js → chunk-Z3VJLWRR.js} +2 -2
  172. package/dist/cli/chunks/{chunk-YNG7E26C.js → chunk-ZLVQSEZK.js} +2 -2
  173. package/dist/cli/chunks/{chunk-6HWARQWV.js → chunk-ZRLNACPY.js} +2 -2
  174. package/dist/cli/chunks/{chunk-XBFQJZWX.js → chunk-ZTMZFF25.js} +2 -2
  175. package/dist/cli/chunks/chunk-ZUMDDMDE.js +3 -0
  176. package/dist/cli/chunks/{ci-GEJCXMBK.js → ci-5HEXJZ2C.js} +2 -2
  177. package/dist/cli/chunks/{ci-config-2ZVV4OXL.js → ci-config-WU4NPDAM.js} +2 -2
  178. package/dist/cli/chunks/{ci-output-E45OGVPR.js → ci-output-BJQVXX5E.js} +2 -2
  179. package/dist/cli/chunks/{circuit-breaker-X73ITYZC.js → circuit-breaker-3BMGTQCB.js} +2 -2
  180. package/dist/cli/chunks/{claude-flow-setup-W4PPH46C.js → claude-flow-setup-GVDGJWMU.js} +2 -2
  181. package/dist/cli/chunks/client-S7GNYTZ5.js +2 -0
  182. package/dist/cli/chunks/{cline-installer-NUEPMWDE.js → cline-installer-V4MRGWVA.js} +2 -2
  183. package/dist/cli/chunks/{code-6WQHBS7G.js → code-A3TGQPEO.js} +3 -3
  184. package/dist/cli/chunks/{code-index-extractor-BXQIFIFT.js → code-index-extractor-YJQSYWD3.js} +2 -2
  185. package/dist/cli/chunks/{codex-installer-Z337R2KH.js → codex-installer-7N7UQPAH.js} +2 -2
  186. package/dist/cli/chunks/{completions-F5DMYFHV.js → completions-PPGVYLZS.js} +2 -2
  187. package/dist/cli/chunks/{complexity-analyzer-W2SYPZDI.js → complexity-analyzer-XZTFLYV5.js} +2 -2
  188. package/dist/cli/chunks/{continuedev-installer-ZCHUIFTN.js → continuedev-installer-Z5I57RAH.js} +2 -2
  189. package/dist/cli/chunks/{copilot-installer-M5JNODXF.js → copilot-installer-F5YZ6BHB.js} +2 -2
  190. package/dist/cli/chunks/core-handlers-CUEPOQIO.js +2 -0
  191. package/dist/cli/chunks/{cost-tracker-LSYTHBHV.js → cost-tracker-GO33ZQAP.js} +2 -2
  192. package/dist/cli/chunks/{coverage-PGMRS5SS.js → coverage-GSHKLY74.js} +3 -3
  193. package/dist/cli/chunks/cross-domain-router-CXN5QFEV.js +2 -0
  194. package/dist/cli/chunks/{cursor-installer-XPUA73UW.js → cursor-installer-JJ7IVJZB.js} +2 -2
  195. package/dist/cli/chunks/daemon-3DQCKRYO.js +10 -0
  196. package/dist/cli/chunks/{daemon-ITKDIYMW.js → daemon-IRL7QRNE.js} +3 -3
  197. package/dist/cli/chunks/{dag-attention-scheduler-T55AXLD6.js → dag-attention-scheduler-ORXSUHPA.js} +2 -2
  198. package/dist/cli/chunks/{detect-DR7J6K4O.js → detect-RHU62KRI.js} +2 -2
  199. package/dist/cli/chunks/{dist-node-LAJJBOUT.js → dist-node-3VKV4Z6C.js} +2 -2
  200. package/dist/cli/chunks/{domain-handler-OMSHCRMK.js → domain-handler-SFIML4FK.js} +2 -2
  201. package/dist/cli/chunks/{domain-plugins-EQXSKC5K.js → domain-plugins-CJ4FA3OC.js} +2 -2
  202. package/dist/cli/chunks/{domain-transfer-FKRAGVSW.js → domain-transfer-BCRKPCAA.js} +2 -2
  203. package/dist/cli/chunks/dream-5AUNJW24.js +2 -0
  204. package/dist/cli/chunks/{embed-and-insert-pattern-JZFPCNL3.js → embed-and-insert-pattern-VL3HFLPV.js} +2 -2
  205. package/dist/cli/chunks/{eval-JSNNASBW.js → eval-GGKRI4P5.js} +2 -2
  206. package/dist/cli/chunks/{experience-capture-middleware-UPD3IZBK.js → experience-capture-middleware-F72TIRQY.js} +3 -3
  207. package/dist/cli/chunks/{fast-paths-YNMIBS2E.js → fast-paths-7KOOF3MA.js} +2 -2
  208. package/dist/cli/chunks/{feature-flags-SRLXDKBI.js → feature-flags-FNHBTHBH.js} +2 -2
  209. package/dist/cli/chunks/{feature-flags-VIR7O4L7.js → feature-flags-IOZEWWFU.js} +2 -2
  210. package/dist/cli/chunks/file-discovery-AYWF357I.js +2 -0
  211. package/dist/cli/chunks/{fleet-K2ED46EL.js → fleet-QX5KXTRC.js} +3 -3
  212. package/dist/cli/chunks/{gnn-wrapper-QCU4ZRYW.js → gnn-wrapper-OH2DOQP7.js} +2 -2
  213. package/dist/cli/chunks/{heartbeat-handler-YYQI4WZM.js → heartbeat-handler-W67NXTNE.js} +4 -4
  214. package/dist/cli/chunks/heartbeat-scheduler-7ZIDVXIP.js +2 -0
  215. package/dist/cli/chunks/hnsw-adapter-P77OC7FM.js +2 -0
  216. package/dist/cli/chunks/hnsw-index-3LBOTQAW.js +2 -0
  217. package/dist/cli/chunks/{hnsw-legacy-bridge-C5TJSWTZ.js → hnsw-legacy-bridge-6MLLOGOE.js} +2 -2
  218. package/dist/cli/chunks/{hnswlib-node-SE3MJJYS.js → hnswlib-node-4UDISJ3G.js} +2 -2
  219. package/dist/cli/chunks/{hooks-C572SRDH.js → hooks-NOQJWQ4P.js} +10 -10
  220. package/dist/cli/chunks/hybrid-backend-LOM54PDD.js +2 -0
  221. package/dist/cli/chunks/{hypergraph-engine-35A6G3M5.js → hypergraph-engine-2OD3APVP.js} +2 -2
  222. package/dist/cli/chunks/{hypergraph-handler-U2756CWI.js → hypergraph-handler-5AZGMBUM.js} +3 -3
  223. package/dist/cli/chunks/impact-analyzer-QSDJVBPS.js +2 -0
  224. package/dist/cli/chunks/init-guard-SMGJ45PW.js +2 -0
  225. package/dist/cli/chunks/init-handler-5T4MP2NM.js +88 -0
  226. package/dist/cli/chunks/init-wizard-MK2325JJ.js +2 -0
  227. package/dist/cli/chunks/kernel-2NJQQ2KT.js +2 -0
  228. package/dist/cli/chunks/{kilocode-installer-32PX5YH7.js → kilocode-installer-RLZYLVQJ.js} +2 -2
  229. package/dist/cli/chunks/{kiro-installer-C4ROMMUS.js → kiro-installer-LFZOC7VD.js} +2 -2
  230. package/dist/cli/chunks/knowledge-graph-SDISHO62.js +2 -0
  231. package/dist/cli/chunks/{learning-GEPVZGJQ.js → learning-XRPGLUWR.js} +20 -20
  232. package/dist/cli/chunks/{llm-router-XRKTTJTX.js → llm-router-OMK5HYPH.js} +4 -4
  233. package/dist/cli/chunks/llm-router-service-YTCMRBAN.js +2 -0
  234. package/dist/cli/chunks/{load-XVH6HW7E.js → load-XADC7KCU.js} +2 -2
  235. package/dist/cli/chunks/load-test-RPKHLBCC.js +2 -0
  236. package/dist/cli/chunks/{mcp-IULSTM4Z.js → mcp-PIBKSSVU.js} +2 -2
  237. package/dist/cli/chunks/{memory-6K7IAU4T.js → memory-AP7EZERS.js} +5 -5
  238. package/dist/cli/chunks/memory-backend-BZXFO4JZ.js +2 -0
  239. package/dist/cli/chunks/{memory-handlers-CG6DRLAW.js → memory-handlers-MOFDNB6E.js} +2 -2
  240. package/dist/cli/chunks/{multi-model-executor-VZDUYPLX.js → multi-model-executor-7JJ2FZ33.js} +2 -2
  241. package/dist/cli/chunks/{opencode-installer-QUTXKNH4.js → opencode-installer-ZZZ6EBYJ.js} +2 -2
  242. package/dist/cli/chunks/{orchestrator-PCKKUWOP.js → orchestrator-2H2YKSGJ.js} +5 -5
  243. package/dist/cli/chunks/pattern-null-store-4PRPIOR6.js +2 -0
  244. package/dist/cli/chunks/{pattern-usage-recorder-PX5HQVRL.js → pattern-usage-recorder-7MJJWC2Z.js} +2 -2
  245. package/dist/cli/chunks/{pipeline-O562GTOG.js → pipeline-LIE5BWQY.js} +2 -2
  246. package/dist/cli/chunks/{platform-PM7Q2AZS.js → platform-SMYUNLGX.js} +2 -2
  247. package/dist/cli/chunks/{plugin-OTYTFGPY.js → plugin-LJDIXQNT.js} +2 -2
  248. package/dist/cli/chunks/{prime-radiant-advanced-wasm-6CFXTHC2.js → prime-radiant-advanced-wasm-RIDNE5D2.js} +2 -2
  249. package/dist/cli/chunks/project-root-NBIQF63D.js +2 -0
  250. package/dist/cli/chunks/protocol-executor-BRPGIYWQ.js +2 -0
  251. package/dist/cli/chunks/{protocol-handler-PPGNSAOS.js → protocol-handler-YVM66DLI.js} +2 -2
  252. package/dist/cli/chunks/{prove-WQ3BKRZG.js → prove-ZBDT52GD.js} +2 -2
  253. package/dist/cli/chunks/qe-reasoning-bank-GDZACWKW.js +2 -0
  254. package/dist/cli/chunks/{quality-C5WUU3AA.js → quality-DUKXGDDO.js} +2 -2
  255. package/dist/cli/chunks/{quality-gate-WSSRKD5U.js → quality-gate-SM3RXF4V.js} +3 -3
  256. package/dist/cli/chunks/queen-coordinator-LDKLBPD5.js +2 -0
  257. package/dist/cli/chunks/{real-embeddings-CFQE7IRQ.js → real-embeddings-4QLQZDB5.js} +2 -2
  258. package/dist/cli/chunks/{ref-validation-DHKHXVZT.js → ref-validation-M3EO32YQ.js} +2 -2
  259. package/dist/cli/chunks/{roocode-installer-3PPODABV.js → roocode-installer-S6Q5OLV5.js} +2 -2
  260. package/dist/cli/chunks/router-H5YSIRH2.js +2 -0
  261. package/dist/cli/chunks/routing-feedback-5R36TJDH.js +2 -0
  262. package/dist/cli/chunks/{routing-handler-JNXTGT6T.js → routing-handler-55FMUACP.js} +2 -2
  263. package/dist/cli/chunks/{ruvector-commands-6YLROPVP.js → ruvector-commands-QATKAAPK.js} +2 -2
  264. package/dist/cli/chunks/rvf-dual-writer-TT2DBQQQ.js +2 -0
  265. package/dist/cli/chunks/rvf-migration-adapter-BCLFJKSK.js +2 -0
  266. package/dist/cli/chunks/{rvf-migration-coordinator-4DWB4WRK.js → rvf-migration-coordinator-RFXFU6JD.js} +2 -2
  267. package/dist/cli/chunks/rvf-native-adapter-UXI66OQJ.js +2 -0
  268. package/dist/cli/chunks/{rvf-store-integrity-YKR2ZNBF.js → rvf-store-integrity-PKDVXQAW.js} +2 -2
  269. package/dist/cli/chunks/safe-db-MSTD2GDH.js +2 -0
  270. package/dist/cli/chunks/schedule-KST6KIFD.js +2 -0
  271. package/dist/cli/chunks/scheduler-FTQS6YK3.js +2 -0
  272. package/dist/cli/chunks/security-CMRB6WA3.js +18 -0
  273. package/dist/cli/chunks/{shared-rvf-adapter-LNRLFP5I.js → shared-rvf-adapter-YHLLNFHF.js} +2 -2
  274. package/dist/cli/chunks/{shared-rvf-dual-writer-GWU6YQNS.js → shared-rvf-dual-writer-4BGDVPQ7.js} +2 -2
  275. package/dist/cli/chunks/sqlite-persistence-ZX5QFDMR.js +2 -0
  276. package/dist/cli/chunks/{standalone-memory-46KKBSSV.js → standalone-memory-LUHKQAGM.js} +2 -2
  277. package/dist/cli/chunks/{status-handler-35T5FTDQ.js → status-handler-S6S5PNR7.js} +2 -2
  278. package/dist/cli/chunks/{structural-health-P7QPQWLO.js → structural-health-PQ7NZAJ4.js} +2 -2
  279. package/dist/cli/chunks/{sync-W6Z4R4PL.js → sync-Q6KRQXU6.js} +2 -2
  280. package/dist/cli/chunks/{sync-Y43EWBSY.js → sync-S744AEJC.js} +2 -2
  281. package/dist/cli/chunks/{task-handler-5CX3ZYT7.js → task-handler-GAMGEHUW.js} +2 -2
  282. package/dist/cli/chunks/{task-handlers-DQZGOJNE.js → task-handlers-6CRDEELN.js} +3 -3
  283. package/dist/cli/chunks/{test-TPP53VVV.js → test-FNH67DBK.js} +4 -4
  284. package/dist/cli/chunks/{test-scheduling-WBV4UMQH.js → test-scheduling-NZA5SHK6.js} +3 -3
  285. package/dist/cli/chunks/{token-bootstrap-GIIDXHLC.js → token-bootstrap-CXKG55JD.js} +2 -2
  286. package/dist/cli/chunks/{token-usage-AKK37RB7.js → token-usage-M7WWEDJX.js} +2 -2
  287. package/dist/cli/chunks/{transformers-7MASPELS.js → transformers-2IFMCK6A.js} +2 -2
  288. package/dist/cli/chunks/{tree-sitter-wasm-parser-YZKD6UGB.js → tree-sitter-wasm-parser-NMNA6RJC.js} +2 -2
  289. package/dist/cli/chunks/{types-AZ3BTXDP.js → types-N7FWTOLD.js} +2 -2
  290. package/dist/cli/chunks/unified-memory-2Z2F446J.js +2 -0
  291. package/dist/cli/chunks/unified-memory-hnsw-A4EWYPJQ.js +2 -0
  292. package/dist/cli/chunks/unified-persistence-Z6N6JZFA.js +2 -0
  293. package/dist/cli/chunks/{upgrade-L7OTDKEK.js → upgrade-KDB5RGL7.js} +2 -2
  294. package/dist/cli/chunks/{validate-O3QVFIGP.js → validate-KMUV5FUA.js} +2 -2
  295. package/dist/cli/chunks/{validate-swarm-2UGBGLTX.js → validate-swarm-ANZWRCJU.js} +2 -2
  296. package/dist/cli/chunks/visual-security-GXYZV7KR.js +2 -0
  297. package/dist/cli/chunks/{web-tree-sitter-J75IYPRO.js → web-tree-sitter-SXXC4NMS.js} +2 -2
  298. package/dist/cli/chunks/{windsurf-installer-FQ5DBFCG.js → windsurf-installer-2LWSKMBU.js} +2 -2
  299. package/dist/cli/chunks/witness-chain-52PEIEGK.js +2 -0
  300. package/dist/cli/chunks/{witness-chain-I7TN4MXZ.js → witness-chain-JJMSJFZP.js} +2 -2
  301. package/dist/cli/chunks/{witness-chain-repair-D3NE3NQK.js → witness-chain-repair-OX7VFW6T.js} +2 -2
  302. package/dist/cli/chunks/{witness-chain-verifier-RU2WOP5M.js → witness-chain-verifier-QLSMXHAZ.js} +2 -2
  303. package/dist/cli/chunks/{witness-key-manager-IHQB2FR5.js → witness-key-manager-3DS4L7LE.js} +2 -2
  304. package/dist/cli/chunks/{workflow-6BWTNVV6.js → workflow-ARWAMHD3.js} +4 -4
  305. package/dist/cli/chunks/workflow-orchestrator-DORMQMG7.js +2 -0
  306. package/dist/cli/chunks/{wrappers-URVP25VU.js → wrappers-J6KGTUSJ.js} +2 -2
  307. package/dist/cli/commands/learning.js +3 -2
  308. package/dist/cli/commands/security.d.ts +16 -0
  309. package/dist/cli/commands/security.js +76 -9
  310. package/dist/cli/handlers/init-guard.d.ts +21 -1
  311. package/dist/cli/handlers/init-guard.js +51 -8
  312. package/dist/cli/handlers/init-handler.js +57 -56
  313. package/dist/cli/index.js +11 -0
  314. package/dist/cli/utils/ci-output.d.ts +5 -0
  315. package/dist/cli/utils/ci-output.js +8 -0
  316. package/dist/coordination/handlers/security-handlers.js +22 -6
  317. package/dist/coordination/protocols/defect-investigation.js +7 -1
  318. package/dist/coordination/protocols/security-audit.js +11 -0
  319. package/dist/coordination/result-saver.d.ts +9 -0
  320. package/dist/coordination/result-saver.js +34 -4
  321. package/dist/domains/coverage-analysis/collected-metrics.d.ts +2 -0
  322. package/dist/domains/coverage-analysis/collected-metrics.js +6 -0
  323. package/dist/domains/defect-intelligence/services/defect-predictor.js +9 -6
  324. package/dist/domains/quality-assessment/interfaces.d.ts +4 -0
  325. package/dist/domains/quality-assessment/quality-evidence.d.ts +1 -1
  326. package/dist/domains/quality-assessment/services/quality-analyzer.js +7 -5
  327. package/dist/domains/quality-assessment/services/quality-gate.js +12 -3
  328. package/dist/domains/security-compliance/dependency-advisory-engine.d.ts +52 -0
  329. package/dist/domains/security-compliance/dependency-advisory-engine.js +113 -0
  330. package/dist/domains/security-compliance/interfaces.d.ts +30 -0
  331. package/dist/domains/security-compliance/plugin.d.ts +7 -1
  332. package/dist/domains/security-compliance/plugin.js +19 -0
  333. package/dist/domains/security-compliance/services/scanners/dependency-resolver.d.ts +71 -0
  334. package/dist/domains/security-compliance/services/scanners/dependency-resolver.js +232 -0
  335. package/dist/domains/security-compliance/services/scanners/dependency-scanner.d.ts +21 -6
  336. package/dist/domains/security-compliance/services/scanners/dependency-scanner.js +142 -64
  337. package/dist/domains/security-compliance/services/scanners/lockfile-versions.d.ts +43 -0
  338. package/dist/domains/security-compliance/services/scanners/lockfile-versions.js +248 -0
  339. package/dist/domains/security-compliance/services/scanners/scanner-types.d.ts +30 -2
  340. package/dist/domains/security-compliance/services/security-auditor.d.ts +19 -6
  341. package/dist/domains/security-compliance/services/security-auditor.js +133 -92
  342. package/dist/domains/test-execution/services/retry-handler.js +17 -6
  343. package/dist/domains/test-execution/services/test-executor.d.ts +1 -0
  344. package/dist/domains/test-execution/services/test-executor.js +87 -7
  345. package/dist/kernel/shared-dirs.js +17 -5
  346. package/dist/mcp/bundle.js +874 -874
  347. package/dist/mcp/handlers/domain-handler-configs.d.ts +4 -0
  348. package/dist/mcp/handlers/domain-handler-configs.js +5 -1
  349. package/dist/mcp/protocol-server.js +2 -1
  350. package/dist/mcp/types.d.ts +6 -0
  351. package/dist/shared/security/index.d.ts +2 -2
  352. package/dist/shared/security/index.js +1 -1
  353. package/dist/shared/security/osv-client.d.ts +79 -132
  354. package/dist/shared/security/osv-client.js +344 -167
  355. package/dist/shared/security/osv-lookup.d.ts +124 -0
  356. package/dist/shared/security/osv-lookup.js +246 -0
  357. package/dist/shared/security/osv-types.d.ts +119 -0
  358. package/dist/shared/security/osv-types.js +6 -0
  359. package/dist/workers/interfaces.d.ts +6 -1
  360. package/dist/workers/namespaced-keys.d.ts +16 -0
  361. package/dist/workers/namespaced-keys.js +24 -0
  362. package/dist/workers/quality-daemon/persistent-memory.d.ts +1 -1
  363. package/dist/workers/quality-daemon/persistent-memory.js +2 -2
  364. package/dist/workers/worker-manager.js +5 -2
  365. package/dist/workers/workers/defect-predictor.d.ts +25 -8
  366. package/dist/workers/workers/defect-predictor.js +223 -216
  367. package/dist/workers/workers/performance-baseline.d.ts +24 -9
  368. package/dist/workers/workers/performance-baseline.js +187 -230
  369. package/dist/workers/workers/quality-gate.d.ts +11 -9
  370. package/dist/workers/workers/quality-gate.js +125 -267
  371. package/dist/workers/workers/security-scan-records.d.ts +111 -0
  372. package/dist/workers/workers/security-scan-records.js +128 -0
  373. package/dist/workers/workers/security-scan.d.ts +25 -7
  374. package/dist/workers/workers/security-scan.js +187 -164
  375. package/package.json +2 -2
  376. package/dist/cli/chunks/adapter-PP3XIXDV.js +0 -2
  377. package/dist/cli/chunks/aqe-learning-engine-VDUQJKKY.js +0 -2
  378. package/dist/cli/chunks/base-QSYWWPCE.js +0 -2
  379. package/dist/cli/chunks/browser-workflow-WXXPBSCM.js +0 -2
  380. package/dist/cli/chunks/chunk-45MVRQG4.js +0 -2
  381. package/dist/cli/chunks/chunk-5VZVMO7B.js +0 -3
  382. package/dist/cli/chunks/chunk-EECF4CMA.js +0 -2
  383. package/dist/cli/chunks/client-6XKSQ4JT.js +0 -2
  384. package/dist/cli/chunks/core-handlers-OJYW4Y6M.js +0 -2
  385. package/dist/cli/chunks/cross-domain-router-QVUPQ2SC.js +0 -2
  386. package/dist/cli/chunks/daemon-QBYTCIMH.js +0 -10
  387. package/dist/cli/chunks/dream-3UABDRZJ.js +0 -2
  388. package/dist/cli/chunks/file-discovery-ZFGZTKZ4.js +0 -2
  389. package/dist/cli/chunks/heartbeat-scheduler-MJ6MTPDF.js +0 -2
  390. package/dist/cli/chunks/hnsw-adapter-FQWJCFVW.js +0 -2
  391. package/dist/cli/chunks/hnsw-index-NJYKJUHC.js +0 -2
  392. package/dist/cli/chunks/hybrid-backend-SL7RFID7.js +0 -2
  393. package/dist/cli/chunks/impact-analyzer-5ZJTXPVC.js +0 -2
  394. package/dist/cli/chunks/init-handler-PCLYQUSB.js +0 -88
  395. package/dist/cli/chunks/init-wizard-MQMDSIOF.js +0 -2
  396. package/dist/cli/chunks/kernel-MEJ5GMRH.js +0 -2
  397. package/dist/cli/chunks/knowledge-graph-XUBZSEZE.js +0 -2
  398. package/dist/cli/chunks/llm-router-service-QZAPAEPX.js +0 -2
  399. package/dist/cli/chunks/load-test-OVXIQ3AF.js +0 -2
  400. package/dist/cli/chunks/memory-backend-TRPOMPK4.js +0 -2
  401. package/dist/cli/chunks/pattern-null-store-JWYBRBZG.js +0 -2
  402. package/dist/cli/chunks/project-root-VVSTHIP4.js +0 -2
  403. package/dist/cli/chunks/protocol-executor-PXZCLZD3.js +0 -2
  404. package/dist/cli/chunks/qe-reasoning-bank-42FRS5V3.js +0 -2
  405. package/dist/cli/chunks/queen-coordinator-UI3B7DI6.js +0 -2
  406. package/dist/cli/chunks/router-HYRPWLAY.js +0 -2
  407. package/dist/cli/chunks/routing-feedback-BPZ5R6F3.js +0 -2
  408. package/dist/cli/chunks/rvf-dual-writer-DEKDQ6KO.js +0 -2
  409. package/dist/cli/chunks/rvf-migration-adapter-L53VBS7I.js +0 -2
  410. package/dist/cli/chunks/rvf-native-adapter-I6RUGD2D.js +0 -2
  411. package/dist/cli/chunks/safe-db-KS65XDCP.js +0 -2
  412. package/dist/cli/chunks/schedule-KD2VN6GB.js +0 -2
  413. package/dist/cli/chunks/scheduler-ZH3RMUHY.js +0 -2
  414. package/dist/cli/chunks/security-PWQTGDRU.js +0 -13
  415. package/dist/cli/chunks/sqlite-persistence-6DTVME5D.js +0 -2
  416. package/dist/cli/chunks/unified-memory-FCX7NLFZ.js +0 -2
  417. package/dist/cli/chunks/unified-memory-hnsw-VU5QJK37.js +0 -2
  418. package/dist/cli/chunks/unified-persistence-FM376LGE.js +0 -2
  419. package/dist/cli/chunks/visual-security-EU7Y3X46.js +0 -2
  420. package/dist/cli/chunks/witness-chain-CSEBT52D.js +0 -2
  421. package/dist/cli/chunks/workflow-orchestrator-ALNKOM3N.js +0 -2
@@ -1,5 +1,5 @@
1
- import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.15.6");process.exit(0)}
2
- import{b as c,d as f,e as g,f as X}from"./chunk-YNG7E26C.js";import{createHash as I}from"crypto";import{existsSync as O,readFileSync as b,writeFileSync as D,openSync as F,writeSync as y,closeSync as S}from"fs";X();var U=[`CREATE TABLE IF NOT EXISTS qe_patterns (
1
+ import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.15.7");process.exit(0)}
2
+ import{b as c,d as f,e as g,f as X}from"./chunk-ZLVQSEZK.js";import{createHash as I}from"crypto";import{existsSync as O,readFileSync as b,writeFileSync as D,openSync as F,writeSync as y,closeSync as S}from"fs";X();var U=[`CREATE TABLE IF NOT EXISTS qe_patterns (
3
3
  id TEXT PRIMARY KEY, pattern_type TEXT NOT NULL, qe_domain TEXT NOT NULL,
4
4
  domain TEXT NOT NULL, name TEXT NOT NULL, description TEXT,
5
5
  confidence REAL DEFAULT 0.5, usage_count INTEGER DEFAULT 0,
@@ -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.7");process.exit(0)}
2
+ import{a as o,b as s,c as n,f as a}from"./chunk-ZUMDDMDE.js";a();import{existsSync as d,statSync as l}from"node:fs";import{join as u,resolve as p}from"node:path";function c(r=process.cwd(),t=process.env){return p(r,t.AQE_PROJECT_ROOT||".")}function E(r,t){return(t?o(r)||s(r)&&!d(u(r,".git")):n(r))?`Refusing to initialize in "${r}": it is a shared temp/system directory, so a store here would be shared by every unrelated project below it and later commands would not use it. Create a project directory first (mkdir my-project && cd my-project) or set AQE_PROJECT_ROOT to a project directory.`:null}function O(r,t=process.env){return E(c(r,t),!!t.AQE_PROJECT_ROOT)}function h(r=process.cwd(),t=process.env){if(!t.AQE_PROJECT_ROOT)return null;let e=c(r,t),i=!1;try{i=l(e).isDirectory()}catch{i=!1}return i?null:`AQE_PROJECT_ROOT "${e}" is not an existing directory. Create it first (mkdir -p) or correct the path; aqe init does not create the project root.`}export{c as a,E as b,O as c,h as d};
@@ -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.6");process.exit(0)}
2
- import{o as V,s as ae}from"./chunk-YNG7E26C.js";import{b as j,d as Me}from"./chunk-22OZIJAD.js";import{a as D,e as qe}from"./chunk-DQNUPEY5.js";import{a as S,b as Le,e as W}from"./chunk-KYVIOC3C.js";var We={continueGate:{enabled:!0,maxConsecutiveRetries:3,reworkRatioThreshold:.5,idleTimeoutMs:9e5,throttleOnExceed:!0},memoryWriteGate:{enabled:!0,contradictionDetection:!0,temporalDecayDays:30,minUsesForRetention:3,domainNamespacing:!0},trustAccumulator:{enabled:!0,performanceWeight:.5,taskSimilarityWeight:.3,capabilityMatchWeight:.2,minTrustForCritical:.7,autoTierAdjustment:!0},proofEnvelope:{enabled:!0,hashChaining:!0,auditLogRetentionDays:90,requireProofForClaims:!0,chainPersistence:!1,maxChainLength:1e4,signAllEnvelopes:!0},budgetMeter:{enabled:!0,maxSessionCostUsd:50,maxTokensPerSession:1e6,warningThresholdPercent:80},deterministicGateway:{enabled:!0,deduplicationWindowMs:5e3,cacheResultsForIdempotent:!0,validateSchemas:!0},evolutionPipeline:{enabled:!0,autoPromoteThreshold:.9,autoDemoteThreshold:.3,minSamplesForDecision:20,learningRate:.1},shardRetriever:{enabled:!0,shardsPath:".claude/guidance/shards",cacheEnabled:!0,cacheTtlMs:3e5,maxShardsPerQuery:3,relevanceThreshold:.3},abBenchmarking:{enabled:!0,defaultConfidenceLevel:.95,defaultMinSampleSize:100,autoApplyWinners:!1,maxConcurrentBenchmarks:5},shardEmbeddings:{enabled:!0,embeddingDimensions:384,persistEmbeddings:!1,autoRebuildOnChange:!0,ngramMin:2,ngramMax:4,persistPath:".agentic-qe/shard-embeddings.json"},adversarialDefense:{enabled:!0,blockThreshold:.7,sanitizeInputs:!0,penalizeOnDetection:!0,logDetections:!0},complianceReporter:{enabled:!0,autoRecordViolations:!0,retentionDays:90,alertOnCritical:!0,generateDailyReport:!1},constitutionalEnforcer:{enabled:!0,strictEnforcement:!1,escalateViolations:!0,constitutionPath:".claude/guidance/constitution.md",logAllChecks:!0},global:{enableAllGates:!0,strictMode:!1,logViolations:!0,escalateToQueen:!0}};function je(){let c=process.env;return{continueGate:{enabled:c.GOVERNANCE_CONTINUE_GATE!=="false",maxConsecutiveRetries:parseInt(c.GOVERNANCE_MAX_RETRIES||"3",10),reworkRatioThreshold:parseFloat(c.GOVERNANCE_REWORK_THRESHOLD||"0.5"),idleTimeoutMs:parseInt(c.GOVERNANCE_IDLE_TIMEOUT||"900000",10),throttleOnExceed:c.GOVERNANCE_THROTTLE!=="false"},memoryWriteGate:{enabled:c.GOVERNANCE_MEMORY_GATE!=="false",contradictionDetection:c.GOVERNANCE_CONTRADICTION_CHECK!=="false",temporalDecayDays:parseInt(c.GOVERNANCE_DECAY_DAYS||"30",10),minUsesForRetention:parseInt(c.GOVERNANCE_MIN_USES||"3",10),domainNamespacing:c.GOVERNANCE_DOMAIN_NS!=="false"},trustAccumulator:{enabled:c.GOVERNANCE_TRUST!=="false",performanceWeight:parseFloat(c.GOVERNANCE_PERF_WEIGHT||"0.5"),taskSimilarityWeight:parseFloat(c.GOVERNANCE_SIMILARITY_WEIGHT||"0.3"),capabilityMatchWeight:parseFloat(c.GOVERNANCE_CAPABILITY_WEIGHT||"0.2"),minTrustForCritical:parseFloat(c.GOVERNANCE_MIN_TRUST||"0.7"),autoTierAdjustment:c.GOVERNANCE_AUTO_TIER!=="false"},proofEnvelope:{enabled:c.GOVERNANCE_PROOF!=="false",hashChaining:c.GOVERNANCE_HASH_CHAIN!=="false",auditLogRetentionDays:parseInt(c.GOVERNANCE_AUDIT_DAYS||"90",10),requireProofForClaims:c.GOVERNANCE_REQUIRE_PROOF!=="false",chainPersistence:c.GOVERNANCE_CHAIN_PERSIST==="true",maxChainLength:parseInt(c.GOVERNANCE_MAX_CHAIN_LENGTH||"10000",10),signAllEnvelopes:c.GOVERNANCE_SIGN_ALL!=="false"},budgetMeter:{enabled:c.GOVERNANCE_BUDGET!=="false",maxSessionCostUsd:parseFloat(c.GOVERNANCE_MAX_COST||"50"),maxTokensPerSession:parseInt(c.GOVERNANCE_MAX_TOKENS||"1000000",10),warningThresholdPercent:parseInt(c.GOVERNANCE_WARNING_PERCENT||"80",10)},deterministicGateway:{enabled:c.GOVERNANCE_DETERMINISTIC!=="false",deduplicationWindowMs:parseInt(c.GOVERNANCE_DEDUP_WINDOW||"5000",10),cacheResultsForIdempotent:c.GOVERNANCE_CACHE_IDEMPOTENT!=="false",validateSchemas:c.GOVERNANCE_VALIDATE_SCHEMAS!=="false"},evolutionPipeline:{enabled:c.GOVERNANCE_EVOLUTION!=="false",autoPromoteThreshold:parseFloat(c.GOVERNANCE_PROMOTE_THRESHOLD||"0.9"),autoDemoteThreshold:parseFloat(c.GOVERNANCE_DEMOTE_THRESHOLD||"0.3"),minSamplesForDecision:parseInt(c.GOVERNANCE_MIN_SAMPLES||"20",10),learningRate:parseFloat(c.GOVERNANCE_LEARNING_RATE||"0.1")},shardRetriever:{enabled:c.GOVERNANCE_SHARD_RETRIEVER!=="false",shardsPath:c.GOVERNANCE_SHARDS_PATH||".claude/guidance/shards",cacheEnabled:c.GOVERNANCE_SHARD_CACHE!=="false",cacheTtlMs:parseInt(c.GOVERNANCE_SHARD_CACHE_TTL||"300000",10),maxShardsPerQuery:parseInt(c.GOVERNANCE_MAX_SHARDS||"3",10),relevanceThreshold:parseFloat(c.GOVERNANCE_RELEVANCE_THRESHOLD||"0.3")},abBenchmarking:{enabled:c.GOVERNANCE_AB_BENCHMARKING!=="false",defaultConfidenceLevel:parseFloat(c.GOVERNANCE_AB_CONFIDENCE||"0.95"),defaultMinSampleSize:parseInt(c.GOVERNANCE_AB_MIN_SAMPLES||"100",10),autoApplyWinners:c.GOVERNANCE_AB_AUTO_APPLY==="true",maxConcurrentBenchmarks:parseInt(c.GOVERNANCE_AB_MAX_CONCURRENT||"5",10)},shardEmbeddings:{enabled:c.GOVERNANCE_SHARD_EMBEDDINGS!=="false",embeddingDimensions:parseInt(c.GOVERNANCE_EMBEDDING_DIMENSIONS||"384",10),persistEmbeddings:c.GOVERNANCE_PERSIST_EMBEDDINGS==="true",autoRebuildOnChange:c.GOVERNANCE_AUTO_REBUILD!=="false",ngramMin:parseInt(c.GOVERNANCE_NGRAM_MIN||"2",10),ngramMax:parseInt(c.GOVERNANCE_NGRAM_MAX||"4",10),persistPath:c.GOVERNANCE_EMBEDDINGS_PATH||".agentic-qe/shard-embeddings.json"},adversarialDefense:{enabled:c.GOVERNANCE_ADVERSARIAL_DEFENSE!=="false",blockThreshold:parseFloat(c.GOVERNANCE_BLOCK_THRESHOLD||"0.7"),sanitizeInputs:c.GOVERNANCE_SANITIZE_INPUTS!=="false",penalizeOnDetection:c.GOVERNANCE_PENALIZE_DETECTION!=="false",logDetections:c.GOVERNANCE_LOG_DETECTIONS!=="false"},complianceReporter:{enabled:c.GOVERNANCE_COMPLIANCE_REPORTER!=="false",autoRecordViolations:c.GOVERNANCE_AUTO_RECORD_VIOLATIONS!=="false",retentionDays:parseInt(c.GOVERNANCE_VIOLATION_RETENTION_DAYS||"90",10),alertOnCritical:c.GOVERNANCE_ALERT_ON_CRITICAL!=="false",generateDailyReport:c.GOVERNANCE_DAILY_REPORT==="true"},constitutionalEnforcer:{enabled:c.GOVERNANCE_CONSTITUTIONAL_ENFORCER!=="false",strictEnforcement:c.GOVERNANCE_CONSTITUTIONAL_STRICT==="true",escalateViolations:c.GOVERNANCE_CONSTITUTIONAL_ESCALATE!=="false",constitutionPath:c.GOVERNANCE_CONSTITUTION_PATH||".claude/guidance/constitution.md",logAllChecks:c.GOVERNANCE_CONSTITUTIONAL_LOG!=="false"},global:{enableAllGates:c.GOVERNANCE_ENABLED!=="false",strictMode:c.GOVERNANCE_STRICT==="true",logViolations:c.GOVERNANCE_LOG_VIOLATIONS!=="false",escalateToQueen:c.GOVERNANCE_ESCALATE!=="false"}}}function oe(c=We,e=je(),t={}){let n=(i,r)=>{let s={...i};for(let a in r)r[a]!==void 0&&(typeof r[a]=="object"&&!Array.isArray(r[a])?s[a]=n(i[a],r[a]):s[a]=r[a]);return s};return n(n(c,e),t)}var xe=class{flags;listeners=new Set;constructor(){this.flags=oe()}getFlags(){return this.flags}isGateEnabled(e){return this.flags.global.enableAllGates?this.flags[e].enabled:!1}updateFlags(e){this.flags=oe(this.flags,{},e),this.notifyListeners()}subscribe(e){return this.listeners.add(e),()=>this.listeners.delete(e)}notifyListeners(){this.listeners.forEach(e=>e(this.flags))}reset(){this.flags=oe(),this.notifyListeners()}enableStrictMode(){this.updateFlags({global:{...this.flags.global,strictMode:!0}})}disableAllGates(){this.updateFlags({global:{...this.flags.global,enableAllGates:!1}})}},h=new xe,G=()=>h.isGateEnabled("continueGate"),U=()=>h.isGateEnabled("memoryWriteGate"),M=()=>h.isGateEnabled("trustAccumulator");var ce=()=>h.isGateEnabled("budgetMeter"),le=()=>h.isGateEnabled("deterministicGateway");var E=()=>h.isGateEnabled("adversarialDefense"),x=()=>h.isGateEnabled("complianceReporter"),K=()=>h.isGateEnabled("constitutionalEnforcer"),v=()=>h.getFlags().global.strictMode;var Ie=class{patternIndex=new Map;domainPatterns=new Map;guidanceMemoryGate=null;initialized=!1;async initialize(){if(!this.initialized){try{let t=await import("@claude-flow/guidance/memory-gate");t&&typeof t.createMemoryWriteGate=="function"&&(this.guidanceMemoryGate=t.createMemoryWriteGate({enableContradictionTracking:!0}),console.log("[MemoryWriteGateIntegration] Guidance MemoryWriteGate loaded"))}catch{this.guidanceMemoryGate=null}this.initialized=!0}}async evaluateWrite(e){if(!U())return{allowed:!0};await this.initialize();let t=h.getFlags().memoryWriteGate;e.timestamp=e.timestamp||Date.now(),e.useCount=e.useCount||0;let n=this.localEvaluation(e,t);if(this.guidanceMemoryGate&&n.allowed&&!n.reason)try{let i={agentId:e.agentId||"unknown",role:"worker",namespaces:[e.domain],maxWritesPerMinute:60,canDelete:!1,canOverwrite:!0,trustLevel:.7},r=this.guidanceMemoryGate.evaluateWrite(i,e.key,e.domain,e.value);if(!r.allowed)return this.mapGuidanceDecision(r)}catch{}return n}localEvaluation(e,t){if(t.domainNamespacing&&e.agentId){let n=this.getAllowedDomainsForAgent(e.agentId);if(!n.includes(e.domain)&&!n.includes("*"))return this.logViolation(e,"domain_violation",`Agent ${e.agentId} cannot write to domain ${e.domain}`),{allowed:!v(),reason:`Agent ${e.agentId} not authorized to write to domain ${e.domain}`,requiresManualReview:!0}}if(t.contradictionDetection){let n=this.findConflictingPatterns(e);if(n.length>0)return n.every(r=>e.supersedes?.includes(r.key))?{allowed:!0,conflictingPatterns:n,suggestedResolution:"supersede"}:(this.logViolation(e,"contradiction",`Conflicts with ${n.length} existing pattern(s)`),{allowed:!v(),reason:`Pattern conflicts with ${n.length} existing pattern(s)`,conflictingPatterns:n,suggestedResolution:this.suggestResolution(e,n),requiresManualReview:n.some(r=>(r.useCount||0)>5)})}return{allowed:!0}}findConflictingPatterns(e){let t=this.domainPatterns.get(e.domain);if(!t)return[];let n=[];for(let i of t){let r=this.patternIndex.get(i);!r||r.key===e.key||this.areContradictory(e,r)&&n.push(r)}return n}areContradictory(e,t){if(e.key===t.key)return!1;let n=JSON.stringify(e.value).toLowerCase(),i=JSON.stringify(t.value).toLowerCase(),r=[{positive:"should",negative:"should not"},{positive:"always",negative:"never"},{positive:"enabled",negative:"disabled"},{positive:"true",negative:"false"},{positive:"allow",negative:"deny"},{positive:"include",negative:"exclude"}];for(let s of r)if(n.includes(s.positive)&&i.includes(s.negative)||n.includes(s.negative)&&i.includes(s.positive)){let a=new Set(n.match(/\b\w{4,}\b/g)||[]),o=new Set(i.match(/\b\w{4,}\b/g)||[]);if([...a].filter(u=>o.has(u)).length>=2)return!0}return!!(e.tags&&t.tags&&e.tags.filter(a=>t.tags?.includes(a)).length>0&&e.value!==t.value)}suggestResolution(e,t){let n=e.timestamp||0,i=Math.min(...t.map(r=>r.timestamp||0));return n-i>10080*60*1e3?"supersede":t.some(r=>(r.useCount||0)>10)?"reject":"merge"}getAllowedDomainsForAgent(e){return{"qe-test-architect":["test-generation","learning-optimization"],"qe-coverage-specialist":["coverage-analysis","learning-optimization"],"qe-security-scanner":["security-compliance"],"qe-chaos-engineer":["chaos-resilience"],"qe-defect-predictor":["defect-intelligence","learning-optimization"],"qe-learning-coordinator":["*"],"qe-quality-gate":["quality-assessment"],"qe-parallel-executor":["test-execution"],"qe-contract-validator":["contract-testing"],"qe-accessibility-auditor":["visual-accessibility"],"qe-requirements-validator":["requirements-validation"],"qe-code-intelligence":["code-intelligence"]}[e]||[e.split("-").pop()||"unknown"]}getExistingPatterns(e){let t=this.domainPatterns.get(e);return t?[...t].map(n=>this.patternIndex.get(n)).filter(n=>n!==void 0):[]}mapGuidanceDecision(e){return{allowed:e.allowed,reason:e.reason,requiresManualReview:!e.authorityCheck.passed||e.contradictions.length>0,suggestedResolution:e.contradictions.length>0?"reject":void 0}}logViolation(e,t,n){h.getFlags().global.logViolations&&console.warn("[MemoryWriteGate] Violation detected:",{patternKey:e.key,domain:e.domain,violationType:t,details:n,timestamp:new Date().toISOString()})}registerPattern(e){this.patternIndex.set(e.key,e),this.domainPatterns.has(e.domain)||this.domainPatterns.set(e.domain,new Set),this.domainPatterns.get(e.domain).add(e.key)}unregisterPattern(e){let t=this.patternIndex.get(e);t&&(this.domainPatterns.get(t.domain)?.delete(e),this.patternIndex.delete(e))}incrementUseCount(e){let t=this.patternIndex.get(e);t&&(t.useCount=(t.useCount||0)+1)}async applyTemporalDecay(){let e=h.getFlags().memoryWriteGate,t=e.temporalDecayDays*24*60*60*1e3,n=Date.now(),i=[];for(let[r,s]of this.patternIndex){let a=n-(s.timestamp||0),o=s.useCount||0;a>t&&o<e.minUsesForRetention&&(i.push(r),this.unregisterPattern(r))}return i.length>0&&console.info(`[MemoryWriteGate] Archived ${i.length} patterns due to temporal decay`),i}getStats(){let e={};for(let[t,n]of this.domainPatterns)e[t]=n.size;return{totalPatterns:this.patternIndex.size,patternsByDomain:e}}reset(){this.patternIndex.clear(),this.domainPatterns.clear()}loadPatternsFromBank(e){for(let t of e)this.registerPattern(t)}},Q=new Ie;function Pe(c,e,t,n={}){return{key:c,value:e,domain:t,timestamp:Date.now(),useCount:0,...n}}import{randomUUID as Ke}from"node:crypto";Me();import{randomUUID as ut,createHash as dt}from"node:crypto";W();Me();import{createHash as ct,createHmac as lt}from"node:crypto";var De=class{kernel=null;initialized=!1;initError=null;metrics={backend:"js",avgHashTimeMs:0,totalOperations:0,totalTimeMs:0,operationCounts:{hash:0,hashChain:0,verify:0,hmac:0}};async initialize(){if(!this.initialized){try{let t=await import("@claude-flow/guidance/wasm-kernel");t&&typeof t.getKernel=="function"&&(this.kernel=t.getKernel(),this.metrics.backend=this.kernel?.available?"wasm":"js")}catch(e){this.initError=Le(e),this.kernel=null,this.metrics.backend="js"}this.initialized=!0}}isWasmAvailable(){return this.kernel?.available??!1}getVersion(){return this.kernel?.version??"js-fallback"}getInitError(){return this.initError}hash(e){let t=performance.now(),n;if(this.kernel?.available){let i=typeof e=="string"?e:Buffer.from(e).toString("utf-8");n=this.kernel.sha256(i)}else n=this.jsHash(e);return this.recordOperation("hash",performance.now()-t),n}hmac(e,t){let n=performance.now(),i;return this.kernel?.available?i=this.kernel.hmacSha256(e,t):i=lt("sha256",e).update(t).digest("hex"),this.recordOperation("hmac",performance.now()-n),i}hashChain(e){let t=performance.now();if(e.length===0)return this.recordOperation("hashChain",performance.now()-t),this.hash("");if(e.length===1)return this.recordOperation("hashChain",performance.now()-t),e[0];let n=e[0];for(let i=1;i<e.length;i++)n=this.hash(n+e[i]);return this.recordOperation("hashChain",performance.now()-t),n}verify(e,t){let n=performance.now(),r=this.hash(e)===t;return this.recordOperation("verify",performance.now()-n),r}contentHash(e){let t=performance.now(),n,i=typeof e=="string"?e:JSON.stringify(e);return this.kernel?.available?n=this.kernel.contentHash(i):n=this.jsContentHash(i),this.recordOperation("hash",performance.now()-t),n}signEnvelope(e,t){let n=JSON.stringify(t);return this.kernel?.available?this.kernel.signEnvelope(e,n):this.hmac(e,n)}getPerformanceMetrics(){return{...this.metrics}}resetMetrics(){this.metrics={backend:this.kernel?.available?"wasm":"js",avgHashTimeMs:0,totalOperations:0,totalTimeMs:0,operationCounts:{hash:0,hashChain:0,verify:0,hmac:0}}}reset(){this.kernel=null,this.initialized=!1,this.initError=null,this.resetMetrics()}jsHash(e){let t=ct("sha256");return typeof e=="string"?t.update(e):t.update(Buffer.from(e)),t.digest("hex")}jsContentHash(e){try{let t=j(e),n=this.sortKeys(t);return this.jsHash(JSON.stringify(n))}catch{return this.jsHash(e)}}sortKeys(e){if(e===null||typeof e!="object")return e;if(Array.isArray(e))return e.map(n=>this.sortKeys(n));let t={};for(let n of Object.keys(e).sort())t[n]=this.sortKeys(e[n]);return t}recordOperation(e,t){this.metrics.totalOperations++,this.metrics.totalTimeMs+=t,this.metrics.operationCounts[e]++,this.metrics.avgHashTimeMs=this.metrics.totalTimeMs/this.metrics.totalOperations}},Ue=new De;qe();var te="0".repeat(64),ue=class{kernel;chain=[];signingKey="";guidanceProofChain=null;initialized=!1;envelopeIndex=new Map;constructor(e){this.kernel=e??Ue}async initialize(e){if(!this.initialized){await this.kernel.initialize(),this.signingKey=e||dt("sha256").update(`aqe-proof-envelope:${process.cwd()}`).digest("hex");try{let n=await import("@claude-flow/guidance/proof");n&&typeof n.createProofChain=="function"&&(this.guidanceProofChain=n.createProofChain({signingKey:this.signingKey}),console.log("[ProofEnvelopeIntegration] Guidance ProofChain loaded"))}catch{this.guidanceProofChain=null}this.initialized=!0}}isInitialized(){return this.initialized}getFlags(){return h.getFlags().proofEnvelope}createEnvelope(e,t,n,i){let r=this.generateEnvelopeId(),s=Date.now(),a=this.chain.length>0?this.chain[this.chain.length-1].contentHash:te,o={id:r,timestamp:s,agentId:e,action:t,payload:n,metadata:i},l=this.kernel.contentHash(o);return{id:r,timestamp:s,agentId:e,action:t,payload:n,contentHash:l,previousHash:a,signature:"",metadata:i}}signEnvelope(e,t){let n=t??this.signingKey,i=`${e.contentHash}:${e.previousHash}`,r=this.kernel.hmac(n,i);return{...e,signature:r}}createSignedEnvelope(e,t,n,i){let r=this.createEnvelope(e,t,n,i);return this.signEnvelope(r)}appendToChain(e){let t=this.verifyEnvelope(e);if(!t.valid)throw new Error(`Cannot append invalid envelope: ${t.error}`);let n=this.chain.length>0?this.chain[this.chain.length-1].contentHash:te;if(e.previousHash!==n)throw new Error(`Envelope does not link to chain. Expected previous hash ${n}, got ${e.previousHash}`);let i=this.chain.length;if(this.chain.push(e),this.envelopeIndex.set(e.id,i),this.guidanceProofChain)try{let r={eventId:e.id,taskId:e.metadata?.taskId?String(e.metadata.taskId):e.id,guidanceHash:e.contentHash,retrievedRuleIds:[],toolsUsed:e.action?[e.action]:[],filesTouched:[],diffSummary:{linesAdded:0,linesRemoved:0,filesChanged:0},testResults:{passed:0,failed:0,skipped:0},metrics:{},timestamp:new Date(e.timestamp).toISOString()};this.guidanceProofChain.append(r,[],[],{agentId:e.agentId,sessionId:e.metadata?.sessionId?String(e.metadata.sessionId):"aqe"})}catch{}}getChain(){return[...this.chain]}getChainLength(){return this.chain.length}getLastEnvelope(){return this.chain.length===0?null:this.chain[this.chain.length-1]}clearChain(){this.chain=[],this.envelopeIndex.clear()}verifyEnvelope(e,t){let n=t??this.signingKey,i={contentHashValid:!1,signatureValid:!1,chainLinkValid:!0},r={id:e.id,timestamp:e.timestamp,agentId:e.agentId,action:e.action,payload:e.payload,metadata:e.metadata},s=this.kernel.contentHash(r);if(i.contentHashValid=e.contentHash===s,!i.contentHashValid)return{valid:!1,details:i,error:"Content hash does not match envelope content"};let a=`${e.contentHash}:${e.previousHash}`,o=this.kernel.hmac(n,a);if(i.signatureValid=e.signature===o,!i.signatureValid)return{valid:!1,details:i,error:"Signature verification failed"};let l=this.envelopeIndex.get(e.id);if(l!==void 0&&l>0){let u=this.chain[l-1];if(i.chainLinkValid=e.previousHash===u.contentHash,!i.chainLinkValid)return{valid:!1,details:i,error:"Chain link is broken - previous hash does not match"}}return{valid:!0,details:i}}verifyChain(e){let t=[],n=-1;for(let i=0;i<this.chain.length;i++){let r=this.chain[i],s=this.verifyEnvelope(r,e);s.valid||(t.push({index:i,envelopeId:r.id,error:s.error??"Unknown error"}),n===-1&&(n=i));let a=i>0?this.chain[i-1].contentHash:te;r.previousHash!==a&&(t.push({index:i,envelopeId:r.id,error:`Chain link broken at index ${i}`}),n===-1&&(n=i))}return{valid:t.length===0,envelopesVerified:this.chain.length,firstInvalidIndex:n,merkleRoot:this.computeMerkleRoot(),errors:t}}detectTampering(){let e=[],t=[];for(let n=0;n<this.chain.length;n++){let i=this.chain[n],r={id:i.id,timestamp:i.timestamp,agentId:i.agentId,action:i.action,payload:i.payload,metadata:i.metadata},s=this.kernel.contentHash(r);i.contentHash!==s&&(t.push(n),e.push({index:n,envelopeId:i.id,issue:"Content hash mismatch - envelope content was modified"}));let a=n>0?this.chain[n-1].contentHash:te;i.previousHash!==a&&(t.includes(n)||t.push(n),e.push({index:n,envelopeId:i.id,issue:"Chain link broken - previous hash does not match"}))}return{tampered:t.length>0,tamperedIndices:t,details:e}}getEnvelopeById(e){let t=this.envelopeIndex.get(e);return t===void 0?null:this.chain[t]}getEnvelopesByAgent(e){return this.chain.filter(t=>t.agentId===e)}getEnvelopesByAction(e){return this.chain.filter(t=>t.action===e)}getEnvelopesSince(e){return this.chain.filter(t=>t.timestamp>=e)}getEnvelopesInRange(e,t){return this.chain.filter(n=>n.timestamp>=e&&n.timestamp<=t)}exportChain(e){let t={version:1,exportedAt:Date.now(),chainLength:this.chain.length,merkleRoot:this.computeMerkleRoot(),envelopes:this.chain};if(e==="json")return JSON.stringify(t,null,2);let n=JSON.stringify(t);return new TextEncoder().encode(n)}importChain(e,t=!0){let n;typeof e=="string"?n=e:n=new TextDecoder().decode(e);let i=j(n);if(!i.envelopes||!Array.isArray(i.envelopes))throw new Error("Invalid chain data: missing envelopes array");this.clearChain();for(let r of i.envelopes){let s=this.chain.length;this.chain.push(r),this.envelopeIndex.set(r.id,s)}if(t){let r=this.verifyChain();if(!r.valid)throw this.clearChain(),new Error(`Imported chain failed verification: ${r.errors[0]?.error}`)}}getProofStats(){let e=D(),t=new Set;for(let i of this.chain)t.add(i.agentId),e[i.action]=(e[i.action]||0)+1;let n=this.chain.length===0||this.verifyChain().valid;return{chainLength:this.chain.length,firstTimestamp:this.chain.length>0?this.chain[0].timestamp:null,lastTimestamp:this.chain.length>0?this.chain[this.chain.length-1].timestamp:null,uniqueAgents:Array.from(t),actionCounts:e,merkleRoot:this.computeMerkleRoot(),chainValid:n}}computeMerkleRoot(){if(this.chain.length===0)return te;let e=this.chain.map(t=>t.contentHash);for(;e.length>1;){let t=[];for(let n=0;n<e.length;n+=2)n+1<e.length?t.push(this.kernel.hash(e[n]+e[n+1])):t.push(e[n]);e=t}return e[0]}getMerkleProof(e){let t=this.envelopeIndex.get(e);if(t===void 0)return null;let n=[],i=this.chain.map(s=>s.contentHash),r=t;for(;i.length>1;){let s=r%2===0?r+1:r-1;s<i.length&&n.push(i[s]);let a=[];for(let o=0;o<i.length;o+=2)o+1<i.length?a.push(this.kernel.hash(i[o]+i[o+1])):a.push(i[o]);i=a,r=Math.floor(r/2)}return n}verifyMerkleProof(e,t,n){let i=e,r=n;for(let s of t)r%2===0?i=this.kernel.hash(i+s):i=this.kernel.hash(s+i),r=Math.floor(r/2);return i===this.computeMerkleRoot()}generateEnvelopeId(){return`env_${ut()}`}reset(){this.chain=[],this.envelopeIndex.clear(),this.signingKey="",this.initialized=!1}},Ve=new ue;ae();W();qe();var Je={enabled:!0,autoRecordViolations:!0,retentionDays:90,alertOnCritical:!0,generateDailyReport:!1},mt={low:1,medium:3,high:7,critical:15},Qe=100,ht=.5,J=5,de=class c{violations=new Map;alertThresholds=new Map;proofIntegration;flags;initialized=!1;scoreHistory=[];alertListeners=new Set;db=null;persistCount=0;static NAMESPACE="compliance-audit";static TTL_SECONDS=2592e3;static PERSIST_INTERVAL=10;constructor(e,t){this.proofIntegration=e??Ve,this.flags={...Je,...t}}async initialize(){if(!this.initialized){try{this.db=V(),this.db.isInitialized()||await this.db.initialize(),await this.loadFromKv()}catch(e){console.warn("[ComplianceReporter] DB init failed, using memory-only:",S(e)),this.db=null}this.proofIntegration.isInitialized()||await this.proofIntegration.initialize(),this.alertThresholds.set("continueGate",70),this.alertThresholds.set("memoryWriteGate",70),this.alertThresholds.set("trustAccumulator",70),this.alertThresholds.set("budgetMeter",60),this.alertThresholds.set("adversarialDefense",80),this.initialized=!0}}isInitialized(){return this.initialized}getFlags(){return{...this.flags}}updateFlags(e){this.flags={...this.flags,...e}}recordViolation(e){let t=this.generateViolationId(),n=Date.now(),i={...e,id:t,timestamp:n,resolved:!1};if(this.violations.set(t,i),h.getFlags().proofEnvelope.enabled)try{let r=this.proofIntegration.createSignedEnvelope(e.agentId??"system","violation_recorded",{violationId:t,type:e.type,severity:e.severity,gate:e.gate,description:e.description});this.proofIntegration.appendToChain(r),i.proofEnvelopeId=r.id}catch{}return this.flags.alertOnCritical&&e.severity==="critical"&&this.triggerAlert(e.gate,"Critical violation detected","critical"),this.persistSnapshot(),this.cleanupOldViolations(),t}resolveViolation(e,t){let n=this.violations.get(e);if(!n)throw new Error(`Violation not found: ${e}`);if(n.resolved=!0,n.resolution=t,n.resolvedAt=Date.now(),h.getFlags().proofEnvelope.enabled)try{let i=this.proofIntegration.createSignedEnvelope(n.agentId??"system","violation_resolved",{violationId:e,resolution:t});this.proofIntegration.appendToChain(i)}catch{}}getViolation(e){return this.violations.get(e)??null}getViolations(e){let t=Array.from(this.violations.values());return e&&(e.type!==void 0&&(t=t.filter(n=>n.type===e.type)),e.severity!==void 0&&(t=t.filter(n=>n.severity===e.severity)),e.agentId!==void 0&&(t=t.filter(n=>n.agentId===e.agentId)),e.gate!==void 0&&(t=t.filter(n=>n.gate===e.gate)),e.resolved!==void 0&&(t=t.filter(n=>n.resolved===e.resolved)),e.startTime!==void 0&&(t=t.filter(n=>n.timestamp>=e.startTime)),e.endTime!==void 0&&(t=t.filter(n=>n.timestamp<=e.endTime)),e.limit!==void 0&&(t=t.slice(0,e.limit))),t.sort((n,i)=>i.timestamp-n.timestamp)}calculateScore(e){let t=Date.now(),n=e??{start:t-1440*60*1e3,end:t},i=this.getViolations({startTime:n.start,endTime:n.end}),r=this.calculateOverallScore(i),s=D(),a=this.groupBy(i,"gate");for(let[g,p]of Object.entries(a))s[g]=this.calculateOverallScore(p);let o=D(),l=this.groupBy(i,"agentId");for(let[g,p]of Object.entries(l))g!=="undefined"&&(o[g]=this.calculateOverallScore(p));let u=this.calculateTrend(n),d=i.filter(g=>g.resolved).length,m={overall:r,byGate:s,byAgent:o,trend:u,period:n,totalViolations:i.length,resolvedViolations:d};return this.scoreHistory.push(m),this.scoreHistory.length>100&&this.scoreHistory.shift(),m}getScoreHistory(e){return this.scoreHistory.slice(-e)}generateReport(e={}){let t=Date.now(),n=e.timeWindow??{start:t-1440*60*1e3,end:t},i=this.getViolations({startTime:n.start,endTime:n.end}),r=this.calculateScore(n),s={loop_detected:0,contradiction:0,trust_violation:0,budget_exceeded:0,adversarial_detected:0,invariant_violated:0,unauthorized_access:0,chain_tampered:0,schema_violation:0,rate_limit_exceeded:0};for(let g of i)s[g.type]++;let a={low:0,medium:0,high:0,critical:0};for(let g of i)a[g.severity]++;let o={},l=this.groupBy(i,"gate");for(let[g,p]of Object.entries(l))o[g]={score:this.calculateOverallScore(p),violations:p.length,trend:this.calculateGateTrend(g,n)};let u=i.filter(g=>g.resolved).length,d=i.length>0?u/i.length:1,m={generatedAt:t,timeWindow:n,summary:{overallScore:r.overall,totalViolations:i.length,criticalViolations:a.critical,highViolations:a.high,resolvedViolations:u,resolutionRate:d,trend:r.trend},gateScores:o,violationsByType:s,violationsBySeverity:a};if(e.includeAgentRankings){let g=this.groupBy(i,"agentId");m.agentRankings=Object.entries(g).filter(([p])=>p!=="undefined").map(([p,b])=>({agentId:p,score:this.calculateOverallScore(b),violations:b.length,trend:this.calculateAgentTrend(p,n)})).sort((p,b)=>b.score-p.score)}if(e.includeViolations){let g=e.maxViolations??50;m.violations=i.slice(0,g)}return e.includeRecommendations&&(m.recommendations=this.generateRecommendations(i,r)),e.includeTrendAnalysis&&(m.trendAnalysis=this.calculateTrendAnalysis(n)),m}exportReport(e,t){return t==="json"?JSON.stringify(e,null,2):this.generateMarkdownReport(e)}attachProof(e,t){let n=this.violations.get(e);if(!n)throw new Error(`Violation not found: ${e}`);if(!this.proofIntegration.getEnvelopeById(t))throw new Error(`Proof envelope not found: ${t}`);n.proofEnvelopeId=t}getViolationsWithProof(){return Array.from(this.violations.values()).filter(e=>e.proofEnvelopeId!==void 0)}getViolationProof(e){let t=this.violations.get(e);return t?.proofEnvelopeId?this.proofIntegration.getEnvelopeById(t.proofEnvelopeId):null}setAlertThreshold(e,t){if(t<0||t>100)throw new Error("Threshold must be between 0 and 100");this.alertThresholds.set(e,t)}getAlertThreshold(e){return this.alertThresholds.get(e)}checkAlerts(){let e=[],t=this.calculateScore();for(let[n,i]of this.alertThresholds){let r=t.byGate[n];if(r!==void 0&&r<i){let s={id:this.generateAlertId(),gate:n,message:`Compliance score for ${n} (${r.toFixed(1)}) dropped below threshold (${i})`,severity:r<i*.5?"critical":"high",timestamp:Date.now(),currentScore:r,threshold:i};e.push(s),this.notifyAlertListeners(s)}}return e}onAlert(e){return this.alertListeners.add(e),()=>this.alertListeners.delete(e)}getComplianceStats(){let e=Array.from(this.violations.values()),t=e.filter(d=>d.resolved),n={loop_detected:0,contradiction:0,trust_violation:0,budget_exceeded:0,adversarial_detected:0,invariant_violated:0,unauthorized_access:0,chain_tampered:0,schema_violation:0,rate_limit_exceeded:0};for(let d of e)n[d.type]++;let i={low:0,medium:0,high:0,critical:0};for(let d of e)i[d.severity]++;let r=D();for(let d of e)r[d.gate]=(r[d.gate]||0)+1;let s=D();for(let d of e)d.agentId&&(s[d.agentId]=(s[d.agentId]||0)+1);let a=0,o=0;for(let d of t)d.resolvedAt&&(a+=d.resolvedAt-d.timestamp,o++);let l=o>0?a/o:0,u=e.filter(d=>d.proofEnvelopeId).length;return{totalViolations:e.length,resolvedViolations:t.length,resolutionRate:e.length>0?t.length/e.length:1,byType:n,bySeverity:i,byGate:r,byAgent:s,avgResolutionTime:l,violationsWithProof:u,currentScore:this.calculateScore().overall}}clearViolations(){this.violations.clear(),this.scoreHistory=[]}reset(){this.violations.clear(),this.alertThresholds.clear(),this.scoreHistory=[],this.alertListeners.clear(),this.initialized=!1}async loadFromKv(){if(!this.db)return;let e=await this.db.kvGet("snapshot",c.NAMESPACE);if(e){if(e.violations)for(let[t,n]of Object.entries(e.violations))this.violations.set(t,n);e.scoreHistory&&(this.scoreHistory=e.scoreHistory)}}persistSnapshot(){if(this.db&&(this.persistCount++,this.persistCount%c.PERSIST_INTERVAL===0))try{let e=Array.from(this.violations.entries()).slice(-500),t={violations:Object.fromEntries(e),scoreHistory:this.scoreHistory.slice(-100)};this.db.kvSet("snapshot",t,c.NAMESPACE,c.TTL_SECONDS).catch(()=>{})}catch(e){console.warn("[ComplianceReporter] Persist failed:",S(e))}}generateViolationId(){return`viol_${Ke()}`}generateAlertId(){return`alert_${Ke()}`}calculateOverallScore(e){if(e.length===0)return Qe;let t=0;for(let i of e){let r=i.resolved?.5:1;t+=mt[i.severity]*r}let n=Qe*Math.exp(-ht*t/10);return Math.max(0,Math.min(100,Math.round(n*10)/10))}calculateTrend(e){let t=e.end-e.start,n={start:e.start-t,end:e.start},i=this.getViolations({startTime:n.start,endTime:n.end}),r=this.getViolations({startTime:e.start,endTime:e.end}),s=this.calculateOverallScore(i),o=this.calculateOverallScore(r)-s;return o>J?"improving":o<-J?"declining":"stable"}calculateGateTrend(e,t){let n=t.end-t.start,i={start:t.start-n,end:t.start},r=this.getViolations({gate:e,startTime:i.start,endTime:i.end}),s=this.getViolations({gate:e,startTime:t.start,endTime:t.end}),a=this.calculateOverallScore(r),l=this.calculateOverallScore(s)-a;return l>J?"improving":l<-J?"declining":"stable"}calculateAgentTrend(e,t){let n=t.end-t.start,i={start:t.start-n,end:t.start},r=this.getViolations({agentId:e,startTime:i.start,endTime:i.end}),s=this.getViolations({agentId:e,startTime:t.start,endTime:t.end}),a=this.calculateOverallScore(r),l=this.calculateOverallScore(s)-a;return l>J?"improving":l<-J?"declining":"stable"}calculateTrendAnalysis(e){let t=e.end-e.start,n={start:e.start-t,end:e.start},i=this.getViolations({startTime:e.start,endTime:e.end}),r=this.getViolations({startTime:n.start,endTime:n.end}),s=this.calculateOverallScore(i),a=this.calculateOverallScore(r),o=i.length-r.length,l;return o>2?l="increasing":o<-2?l="decreasing":l="stable",{currentPeriodScore:s,previousPeriodScore:a,change:s-a,violationTrend:l}}generateRecommendations(e,t){let n=[],i=e.filter(a=>a.severity==="critical").length;i>0&&n.push(`URGENT: ${i} critical violation(s) require immediate attention.`);let r=e.filter(a=>!a.resolved).length;r>5&&n.push(`${r} violations remain unresolved. Consider allocating resources for resolution.`);for(let[a,o]of Object.entries(t.byGate))o<70&&n.push(`${a} compliance score is ${o.toFixed(1)}. Review ${a} configuration and add monitoring.`);for(let[a,o]of Object.entries(t.byAgent))o<60&&n.push(`Agent ${a} has low compliance score (${o.toFixed(1)}). Consider retraining or restricting permissions.`);let s=new Map;for(let a of e)s.set(a.type,(s.get(a.type)||0)+1);for(let[a,o]of s)o>=5&&n.push(`${a} violations occurred ${o} times. Investigate root cause and add preventive measures.`);return t.trend==="declining"&&n.push("Overall compliance trend is declining. Schedule a governance review meeting."),n.length===0&&n.push("Compliance is within acceptable parameters. Continue monitoring."),n}generateMarkdownReport(e){let t=[],n=new Date(e.generatedAt).toISOString();t.push("# Compliance Report"),t.push(""),t.push(`**Generated:** ${n}`),t.push(`**Period:** ${new Date(e.timeWindow.start).toISOString()} to ${new Date(e.timeWindow.end).toISOString()}`),t.push(""),t.push("## Executive Summary"),t.push(""),t.push("| Metric | Value |"),t.push("|--------|-------|"),t.push(`| Overall Score | ${e.summary.overallScore.toFixed(1)} |`),t.push(`| Total Violations | ${e.summary.totalViolations} |`),t.push(`| Critical Violations | ${e.summary.criticalViolations} |`),t.push(`| High Violations | ${e.summary.highViolations} |`),t.push(`| Resolution Rate | ${(e.summary.resolutionRate*100).toFixed(1)}% |`),t.push(`| Trend | ${e.summary.trend} |`),t.push(""),t.push("## Gate Compliance Scores"),t.push(""),t.push("| Gate | Score | Violations | Trend |"),t.push("|------|-------|------------|-------|");for(let[i,r]of Object.entries(e.gateScores))t.push(`| ${i} | ${r.score.toFixed(1)} | ${r.violations} | ${r.trend} |`);t.push(""),t.push("## Violations by Type"),t.push(""),t.push("| Type | Count |"),t.push("|------|-------|");for(let[i,r]of Object.entries(e.violationsByType))r>0&&t.push(`| ${i} | ${r} |`);t.push(""),t.push("## Violations by Severity"),t.push(""),t.push("| Severity | Count |"),t.push("|----------|-------|");for(let[i,r]of Object.entries(e.violationsBySeverity))t.push(`| ${i} | ${r} |`);if(t.push(""),e.agentRankings&&e.agentRankings.length>0){t.push("## Agent Compliance Rankings"),t.push(""),t.push("| Agent | Score | Violations | Trend |"),t.push("|-------|-------|------------|-------|");for(let i of e.agentRankings)t.push(`| ${i.agentId} | ${i.score.toFixed(1)} | ${i.violations} | ${i.trend} |`);t.push("")}if(e.trendAnalysis&&(t.push("## Trend Analysis"),t.push(""),t.push(`- **Current Period Score:** ${e.trendAnalysis.currentPeriodScore.toFixed(1)}`),t.push(`- **Previous Period Score:** ${e.trendAnalysis.previousPeriodScore.toFixed(1)}`),t.push(`- **Change:** ${e.trendAnalysis.change>0?"+":""}${e.trendAnalysis.change.toFixed(1)}`),t.push(`- **Violation Trend:** ${e.trendAnalysis.violationTrend}`),t.push("")),e.recommendations&&e.recommendations.length>0){t.push("## Recommendations"),t.push("");for(let i of e.recommendations)t.push(`- ${i}`);t.push("")}if(e.violations&&e.violations.length>0){t.push("## Recent Violations"),t.push("");for(let i of e.violations.slice(0,10)){let r=i.resolved?"RESOLVED":"OPEN",s=new Date(i.timestamp).toISOString();t.push(`### ${i.id}`),t.push(""),t.push(`- **Type:** ${i.type}`),t.push(`- **Severity:** ${i.severity}`),t.push(`- **Gate:** ${i.gate}`),t.push(`- **Status:** ${r}`),t.push(`- **Time:** ${s}`),i.agentId&&t.push(`- **Agent:** ${i.agentId}`),t.push(`- **Description:** ${i.description}`),i.proofEnvelopeId&&t.push(`- **Proof:** ${i.proofEnvelopeId}`),t.push("")}}return t.push("---"),t.push("*Report generated by Agentic QE Compliance Reporter*"),t.join(`
1
+ import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.15.7");process.exit(0)}
2
+ import{o as V,s as ae}from"./chunk-ZLVQSEZK.js";import{b as j,d as Me}from"./chunk-4G2VNW4C.js";import{a as D,e as qe}from"./chunk-7EX4DEQR.js";import{a as S,b as Le,e as W}from"./chunk-LVEX4GID.js";var We={continueGate:{enabled:!0,maxConsecutiveRetries:3,reworkRatioThreshold:.5,idleTimeoutMs:9e5,throttleOnExceed:!0},memoryWriteGate:{enabled:!0,contradictionDetection:!0,temporalDecayDays:30,minUsesForRetention:3,domainNamespacing:!0},trustAccumulator:{enabled:!0,performanceWeight:.5,taskSimilarityWeight:.3,capabilityMatchWeight:.2,minTrustForCritical:.7,autoTierAdjustment:!0},proofEnvelope:{enabled:!0,hashChaining:!0,auditLogRetentionDays:90,requireProofForClaims:!0,chainPersistence:!1,maxChainLength:1e4,signAllEnvelopes:!0},budgetMeter:{enabled:!0,maxSessionCostUsd:50,maxTokensPerSession:1e6,warningThresholdPercent:80},deterministicGateway:{enabled:!0,deduplicationWindowMs:5e3,cacheResultsForIdempotent:!0,validateSchemas:!0},evolutionPipeline:{enabled:!0,autoPromoteThreshold:.9,autoDemoteThreshold:.3,minSamplesForDecision:20,learningRate:.1},shardRetriever:{enabled:!0,shardsPath:".claude/guidance/shards",cacheEnabled:!0,cacheTtlMs:3e5,maxShardsPerQuery:3,relevanceThreshold:.3},abBenchmarking:{enabled:!0,defaultConfidenceLevel:.95,defaultMinSampleSize:100,autoApplyWinners:!1,maxConcurrentBenchmarks:5},shardEmbeddings:{enabled:!0,embeddingDimensions:384,persistEmbeddings:!1,autoRebuildOnChange:!0,ngramMin:2,ngramMax:4,persistPath:".agentic-qe/shard-embeddings.json"},adversarialDefense:{enabled:!0,blockThreshold:.7,sanitizeInputs:!0,penalizeOnDetection:!0,logDetections:!0},complianceReporter:{enabled:!0,autoRecordViolations:!0,retentionDays:90,alertOnCritical:!0,generateDailyReport:!1},constitutionalEnforcer:{enabled:!0,strictEnforcement:!1,escalateViolations:!0,constitutionPath:".claude/guidance/constitution.md",logAllChecks:!0},global:{enableAllGates:!0,strictMode:!1,logViolations:!0,escalateToQueen:!0}};function je(){let c=process.env;return{continueGate:{enabled:c.GOVERNANCE_CONTINUE_GATE!=="false",maxConsecutiveRetries:parseInt(c.GOVERNANCE_MAX_RETRIES||"3",10),reworkRatioThreshold:parseFloat(c.GOVERNANCE_REWORK_THRESHOLD||"0.5"),idleTimeoutMs:parseInt(c.GOVERNANCE_IDLE_TIMEOUT||"900000",10),throttleOnExceed:c.GOVERNANCE_THROTTLE!=="false"},memoryWriteGate:{enabled:c.GOVERNANCE_MEMORY_GATE!=="false",contradictionDetection:c.GOVERNANCE_CONTRADICTION_CHECK!=="false",temporalDecayDays:parseInt(c.GOVERNANCE_DECAY_DAYS||"30",10),minUsesForRetention:parseInt(c.GOVERNANCE_MIN_USES||"3",10),domainNamespacing:c.GOVERNANCE_DOMAIN_NS!=="false"},trustAccumulator:{enabled:c.GOVERNANCE_TRUST!=="false",performanceWeight:parseFloat(c.GOVERNANCE_PERF_WEIGHT||"0.5"),taskSimilarityWeight:parseFloat(c.GOVERNANCE_SIMILARITY_WEIGHT||"0.3"),capabilityMatchWeight:parseFloat(c.GOVERNANCE_CAPABILITY_WEIGHT||"0.2"),minTrustForCritical:parseFloat(c.GOVERNANCE_MIN_TRUST||"0.7"),autoTierAdjustment:c.GOVERNANCE_AUTO_TIER!=="false"},proofEnvelope:{enabled:c.GOVERNANCE_PROOF!=="false",hashChaining:c.GOVERNANCE_HASH_CHAIN!=="false",auditLogRetentionDays:parseInt(c.GOVERNANCE_AUDIT_DAYS||"90",10),requireProofForClaims:c.GOVERNANCE_REQUIRE_PROOF!=="false",chainPersistence:c.GOVERNANCE_CHAIN_PERSIST==="true",maxChainLength:parseInt(c.GOVERNANCE_MAX_CHAIN_LENGTH||"10000",10),signAllEnvelopes:c.GOVERNANCE_SIGN_ALL!=="false"},budgetMeter:{enabled:c.GOVERNANCE_BUDGET!=="false",maxSessionCostUsd:parseFloat(c.GOVERNANCE_MAX_COST||"50"),maxTokensPerSession:parseInt(c.GOVERNANCE_MAX_TOKENS||"1000000",10),warningThresholdPercent:parseInt(c.GOVERNANCE_WARNING_PERCENT||"80",10)},deterministicGateway:{enabled:c.GOVERNANCE_DETERMINISTIC!=="false",deduplicationWindowMs:parseInt(c.GOVERNANCE_DEDUP_WINDOW||"5000",10),cacheResultsForIdempotent:c.GOVERNANCE_CACHE_IDEMPOTENT!=="false",validateSchemas:c.GOVERNANCE_VALIDATE_SCHEMAS!=="false"},evolutionPipeline:{enabled:c.GOVERNANCE_EVOLUTION!=="false",autoPromoteThreshold:parseFloat(c.GOVERNANCE_PROMOTE_THRESHOLD||"0.9"),autoDemoteThreshold:parseFloat(c.GOVERNANCE_DEMOTE_THRESHOLD||"0.3"),minSamplesForDecision:parseInt(c.GOVERNANCE_MIN_SAMPLES||"20",10),learningRate:parseFloat(c.GOVERNANCE_LEARNING_RATE||"0.1")},shardRetriever:{enabled:c.GOVERNANCE_SHARD_RETRIEVER!=="false",shardsPath:c.GOVERNANCE_SHARDS_PATH||".claude/guidance/shards",cacheEnabled:c.GOVERNANCE_SHARD_CACHE!=="false",cacheTtlMs:parseInt(c.GOVERNANCE_SHARD_CACHE_TTL||"300000",10),maxShardsPerQuery:parseInt(c.GOVERNANCE_MAX_SHARDS||"3",10),relevanceThreshold:parseFloat(c.GOVERNANCE_RELEVANCE_THRESHOLD||"0.3")},abBenchmarking:{enabled:c.GOVERNANCE_AB_BENCHMARKING!=="false",defaultConfidenceLevel:parseFloat(c.GOVERNANCE_AB_CONFIDENCE||"0.95"),defaultMinSampleSize:parseInt(c.GOVERNANCE_AB_MIN_SAMPLES||"100",10),autoApplyWinners:c.GOVERNANCE_AB_AUTO_APPLY==="true",maxConcurrentBenchmarks:parseInt(c.GOVERNANCE_AB_MAX_CONCURRENT||"5",10)},shardEmbeddings:{enabled:c.GOVERNANCE_SHARD_EMBEDDINGS!=="false",embeddingDimensions:parseInt(c.GOVERNANCE_EMBEDDING_DIMENSIONS||"384",10),persistEmbeddings:c.GOVERNANCE_PERSIST_EMBEDDINGS==="true",autoRebuildOnChange:c.GOVERNANCE_AUTO_REBUILD!=="false",ngramMin:parseInt(c.GOVERNANCE_NGRAM_MIN||"2",10),ngramMax:parseInt(c.GOVERNANCE_NGRAM_MAX||"4",10),persistPath:c.GOVERNANCE_EMBEDDINGS_PATH||".agentic-qe/shard-embeddings.json"},adversarialDefense:{enabled:c.GOVERNANCE_ADVERSARIAL_DEFENSE!=="false",blockThreshold:parseFloat(c.GOVERNANCE_BLOCK_THRESHOLD||"0.7"),sanitizeInputs:c.GOVERNANCE_SANITIZE_INPUTS!=="false",penalizeOnDetection:c.GOVERNANCE_PENALIZE_DETECTION!=="false",logDetections:c.GOVERNANCE_LOG_DETECTIONS!=="false"},complianceReporter:{enabled:c.GOVERNANCE_COMPLIANCE_REPORTER!=="false",autoRecordViolations:c.GOVERNANCE_AUTO_RECORD_VIOLATIONS!=="false",retentionDays:parseInt(c.GOVERNANCE_VIOLATION_RETENTION_DAYS||"90",10),alertOnCritical:c.GOVERNANCE_ALERT_ON_CRITICAL!=="false",generateDailyReport:c.GOVERNANCE_DAILY_REPORT==="true"},constitutionalEnforcer:{enabled:c.GOVERNANCE_CONSTITUTIONAL_ENFORCER!=="false",strictEnforcement:c.GOVERNANCE_CONSTITUTIONAL_STRICT==="true",escalateViolations:c.GOVERNANCE_CONSTITUTIONAL_ESCALATE!=="false",constitutionPath:c.GOVERNANCE_CONSTITUTION_PATH||".claude/guidance/constitution.md",logAllChecks:c.GOVERNANCE_CONSTITUTIONAL_LOG!=="false"},global:{enableAllGates:c.GOVERNANCE_ENABLED!=="false",strictMode:c.GOVERNANCE_STRICT==="true",logViolations:c.GOVERNANCE_LOG_VIOLATIONS!=="false",escalateToQueen:c.GOVERNANCE_ESCALATE!=="false"}}}function oe(c=We,e=je(),t={}){let n=(i,r)=>{let s={...i};for(let a in r)r[a]!==void 0&&(typeof r[a]=="object"&&!Array.isArray(r[a])?s[a]=n(i[a],r[a]):s[a]=r[a]);return s};return n(n(c,e),t)}var xe=class{flags;listeners=new Set;constructor(){this.flags=oe()}getFlags(){return this.flags}isGateEnabled(e){return this.flags.global.enableAllGates?this.flags[e].enabled:!1}updateFlags(e){this.flags=oe(this.flags,{},e),this.notifyListeners()}subscribe(e){return this.listeners.add(e),()=>this.listeners.delete(e)}notifyListeners(){this.listeners.forEach(e=>e(this.flags))}reset(){this.flags=oe(),this.notifyListeners()}enableStrictMode(){this.updateFlags({global:{...this.flags.global,strictMode:!0}})}disableAllGates(){this.updateFlags({global:{...this.flags.global,enableAllGates:!1}})}},h=new xe,G=()=>h.isGateEnabled("continueGate"),U=()=>h.isGateEnabled("memoryWriteGate"),M=()=>h.isGateEnabled("trustAccumulator");var ce=()=>h.isGateEnabled("budgetMeter"),le=()=>h.isGateEnabled("deterministicGateway");var E=()=>h.isGateEnabled("adversarialDefense"),x=()=>h.isGateEnabled("complianceReporter"),K=()=>h.isGateEnabled("constitutionalEnforcer"),v=()=>h.getFlags().global.strictMode;var Ie=class{patternIndex=new Map;domainPatterns=new Map;guidanceMemoryGate=null;initialized=!1;async initialize(){if(!this.initialized){try{let t=await import("@claude-flow/guidance/memory-gate");t&&typeof t.createMemoryWriteGate=="function"&&(this.guidanceMemoryGate=t.createMemoryWriteGate({enableContradictionTracking:!0}),console.log("[MemoryWriteGateIntegration] Guidance MemoryWriteGate loaded"))}catch{this.guidanceMemoryGate=null}this.initialized=!0}}async evaluateWrite(e){if(!U())return{allowed:!0};await this.initialize();let t=h.getFlags().memoryWriteGate;e.timestamp=e.timestamp||Date.now(),e.useCount=e.useCount||0;let n=this.localEvaluation(e,t);if(this.guidanceMemoryGate&&n.allowed&&!n.reason)try{let i={agentId:e.agentId||"unknown",role:"worker",namespaces:[e.domain],maxWritesPerMinute:60,canDelete:!1,canOverwrite:!0,trustLevel:.7},r=this.guidanceMemoryGate.evaluateWrite(i,e.key,e.domain,e.value);if(!r.allowed)return this.mapGuidanceDecision(r)}catch{}return n}localEvaluation(e,t){if(t.domainNamespacing&&e.agentId){let n=this.getAllowedDomainsForAgent(e.agentId);if(!n.includes(e.domain)&&!n.includes("*"))return this.logViolation(e,"domain_violation",`Agent ${e.agentId} cannot write to domain ${e.domain}`),{allowed:!v(),reason:`Agent ${e.agentId} not authorized to write to domain ${e.domain}`,requiresManualReview:!0}}if(t.contradictionDetection){let n=this.findConflictingPatterns(e);if(n.length>0)return n.every(r=>e.supersedes?.includes(r.key))?{allowed:!0,conflictingPatterns:n,suggestedResolution:"supersede"}:(this.logViolation(e,"contradiction",`Conflicts with ${n.length} existing pattern(s)`),{allowed:!v(),reason:`Pattern conflicts with ${n.length} existing pattern(s)`,conflictingPatterns:n,suggestedResolution:this.suggestResolution(e,n),requiresManualReview:n.some(r=>(r.useCount||0)>5)})}return{allowed:!0}}findConflictingPatterns(e){let t=this.domainPatterns.get(e.domain);if(!t)return[];let n=[];for(let i of t){let r=this.patternIndex.get(i);!r||r.key===e.key||this.areContradictory(e,r)&&n.push(r)}return n}areContradictory(e,t){if(e.key===t.key)return!1;let n=JSON.stringify(e.value).toLowerCase(),i=JSON.stringify(t.value).toLowerCase(),r=[{positive:"should",negative:"should not"},{positive:"always",negative:"never"},{positive:"enabled",negative:"disabled"},{positive:"true",negative:"false"},{positive:"allow",negative:"deny"},{positive:"include",negative:"exclude"}];for(let s of r)if(n.includes(s.positive)&&i.includes(s.negative)||n.includes(s.negative)&&i.includes(s.positive)){let a=new Set(n.match(/\b\w{4,}\b/g)||[]),o=new Set(i.match(/\b\w{4,}\b/g)||[]);if([...a].filter(u=>o.has(u)).length>=2)return!0}return!!(e.tags&&t.tags&&e.tags.filter(a=>t.tags?.includes(a)).length>0&&e.value!==t.value)}suggestResolution(e,t){let n=e.timestamp||0,i=Math.min(...t.map(r=>r.timestamp||0));return n-i>10080*60*1e3?"supersede":t.some(r=>(r.useCount||0)>10)?"reject":"merge"}getAllowedDomainsForAgent(e){return{"qe-test-architect":["test-generation","learning-optimization"],"qe-coverage-specialist":["coverage-analysis","learning-optimization"],"qe-security-scanner":["security-compliance"],"qe-chaos-engineer":["chaos-resilience"],"qe-defect-predictor":["defect-intelligence","learning-optimization"],"qe-learning-coordinator":["*"],"qe-quality-gate":["quality-assessment"],"qe-parallel-executor":["test-execution"],"qe-contract-validator":["contract-testing"],"qe-accessibility-auditor":["visual-accessibility"],"qe-requirements-validator":["requirements-validation"],"qe-code-intelligence":["code-intelligence"]}[e]||[e.split("-").pop()||"unknown"]}getExistingPatterns(e){let t=this.domainPatterns.get(e);return t?[...t].map(n=>this.patternIndex.get(n)).filter(n=>n!==void 0):[]}mapGuidanceDecision(e){return{allowed:e.allowed,reason:e.reason,requiresManualReview:!e.authorityCheck.passed||e.contradictions.length>0,suggestedResolution:e.contradictions.length>0?"reject":void 0}}logViolation(e,t,n){h.getFlags().global.logViolations&&console.warn("[MemoryWriteGate] Violation detected:",{patternKey:e.key,domain:e.domain,violationType:t,details:n,timestamp:new Date().toISOString()})}registerPattern(e){this.patternIndex.set(e.key,e),this.domainPatterns.has(e.domain)||this.domainPatterns.set(e.domain,new Set),this.domainPatterns.get(e.domain).add(e.key)}unregisterPattern(e){let t=this.patternIndex.get(e);t&&(this.domainPatterns.get(t.domain)?.delete(e),this.patternIndex.delete(e))}incrementUseCount(e){let t=this.patternIndex.get(e);t&&(t.useCount=(t.useCount||0)+1)}async applyTemporalDecay(){let e=h.getFlags().memoryWriteGate,t=e.temporalDecayDays*24*60*60*1e3,n=Date.now(),i=[];for(let[r,s]of this.patternIndex){let a=n-(s.timestamp||0),o=s.useCount||0;a>t&&o<e.minUsesForRetention&&(i.push(r),this.unregisterPattern(r))}return i.length>0&&console.info(`[MemoryWriteGate] Archived ${i.length} patterns due to temporal decay`),i}getStats(){let e={};for(let[t,n]of this.domainPatterns)e[t]=n.size;return{totalPatterns:this.patternIndex.size,patternsByDomain:e}}reset(){this.patternIndex.clear(),this.domainPatterns.clear()}loadPatternsFromBank(e){for(let t of e)this.registerPattern(t)}},Q=new Ie;function Pe(c,e,t,n={}){return{key:c,value:e,domain:t,timestamp:Date.now(),useCount:0,...n}}import{randomUUID as Ke}from"node:crypto";Me();import{randomUUID as ut,createHash as dt}from"node:crypto";W();Me();import{createHash as ct,createHmac as lt}from"node:crypto";var De=class{kernel=null;initialized=!1;initError=null;metrics={backend:"js",avgHashTimeMs:0,totalOperations:0,totalTimeMs:0,operationCounts:{hash:0,hashChain:0,verify:0,hmac:0}};async initialize(){if(!this.initialized){try{let t=await import("@claude-flow/guidance/wasm-kernel");t&&typeof t.getKernel=="function"&&(this.kernel=t.getKernel(),this.metrics.backend=this.kernel?.available?"wasm":"js")}catch(e){this.initError=Le(e),this.kernel=null,this.metrics.backend="js"}this.initialized=!0}}isWasmAvailable(){return this.kernel?.available??!1}getVersion(){return this.kernel?.version??"js-fallback"}getInitError(){return this.initError}hash(e){let t=performance.now(),n;if(this.kernel?.available){let i=typeof e=="string"?e:Buffer.from(e).toString("utf-8");n=this.kernel.sha256(i)}else n=this.jsHash(e);return this.recordOperation("hash",performance.now()-t),n}hmac(e,t){let n=performance.now(),i;return this.kernel?.available?i=this.kernel.hmacSha256(e,t):i=lt("sha256",e).update(t).digest("hex"),this.recordOperation("hmac",performance.now()-n),i}hashChain(e){let t=performance.now();if(e.length===0)return this.recordOperation("hashChain",performance.now()-t),this.hash("");if(e.length===1)return this.recordOperation("hashChain",performance.now()-t),e[0];let n=e[0];for(let i=1;i<e.length;i++)n=this.hash(n+e[i]);return this.recordOperation("hashChain",performance.now()-t),n}verify(e,t){let n=performance.now(),r=this.hash(e)===t;return this.recordOperation("verify",performance.now()-n),r}contentHash(e){let t=performance.now(),n,i=typeof e=="string"?e:JSON.stringify(e);return this.kernel?.available?n=this.kernel.contentHash(i):n=this.jsContentHash(i),this.recordOperation("hash",performance.now()-t),n}signEnvelope(e,t){let n=JSON.stringify(t);return this.kernel?.available?this.kernel.signEnvelope(e,n):this.hmac(e,n)}getPerformanceMetrics(){return{...this.metrics}}resetMetrics(){this.metrics={backend:this.kernel?.available?"wasm":"js",avgHashTimeMs:0,totalOperations:0,totalTimeMs:0,operationCounts:{hash:0,hashChain:0,verify:0,hmac:0}}}reset(){this.kernel=null,this.initialized=!1,this.initError=null,this.resetMetrics()}jsHash(e){let t=ct("sha256");return typeof e=="string"?t.update(e):t.update(Buffer.from(e)),t.digest("hex")}jsContentHash(e){try{let t=j(e),n=this.sortKeys(t);return this.jsHash(JSON.stringify(n))}catch{return this.jsHash(e)}}sortKeys(e){if(e===null||typeof e!="object")return e;if(Array.isArray(e))return e.map(n=>this.sortKeys(n));let t={};for(let n of Object.keys(e).sort())t[n]=this.sortKeys(e[n]);return t}recordOperation(e,t){this.metrics.totalOperations++,this.metrics.totalTimeMs+=t,this.metrics.operationCounts[e]++,this.metrics.avgHashTimeMs=this.metrics.totalTimeMs/this.metrics.totalOperations}},Ue=new De;qe();var te="0".repeat(64),ue=class{kernel;chain=[];signingKey="";guidanceProofChain=null;initialized=!1;envelopeIndex=new Map;constructor(e){this.kernel=e??Ue}async initialize(e){if(!this.initialized){await this.kernel.initialize(),this.signingKey=e||dt("sha256").update(`aqe-proof-envelope:${process.cwd()}`).digest("hex");try{let n=await import("@claude-flow/guidance/proof");n&&typeof n.createProofChain=="function"&&(this.guidanceProofChain=n.createProofChain({signingKey:this.signingKey}),console.log("[ProofEnvelopeIntegration] Guidance ProofChain loaded"))}catch{this.guidanceProofChain=null}this.initialized=!0}}isInitialized(){return this.initialized}getFlags(){return h.getFlags().proofEnvelope}createEnvelope(e,t,n,i){let r=this.generateEnvelopeId(),s=Date.now(),a=this.chain.length>0?this.chain[this.chain.length-1].contentHash:te,o={id:r,timestamp:s,agentId:e,action:t,payload:n,metadata:i},l=this.kernel.contentHash(o);return{id:r,timestamp:s,agentId:e,action:t,payload:n,contentHash:l,previousHash:a,signature:"",metadata:i}}signEnvelope(e,t){let n=t??this.signingKey,i=`${e.contentHash}:${e.previousHash}`,r=this.kernel.hmac(n,i);return{...e,signature:r}}createSignedEnvelope(e,t,n,i){let r=this.createEnvelope(e,t,n,i);return this.signEnvelope(r)}appendToChain(e){let t=this.verifyEnvelope(e);if(!t.valid)throw new Error(`Cannot append invalid envelope: ${t.error}`);let n=this.chain.length>0?this.chain[this.chain.length-1].contentHash:te;if(e.previousHash!==n)throw new Error(`Envelope does not link to chain. Expected previous hash ${n}, got ${e.previousHash}`);let i=this.chain.length;if(this.chain.push(e),this.envelopeIndex.set(e.id,i),this.guidanceProofChain)try{let r={eventId:e.id,taskId:e.metadata?.taskId?String(e.metadata.taskId):e.id,guidanceHash:e.contentHash,retrievedRuleIds:[],toolsUsed:e.action?[e.action]:[],filesTouched:[],diffSummary:{linesAdded:0,linesRemoved:0,filesChanged:0},testResults:{passed:0,failed:0,skipped:0},metrics:{},timestamp:new Date(e.timestamp).toISOString()};this.guidanceProofChain.append(r,[],[],{agentId:e.agentId,sessionId:e.metadata?.sessionId?String(e.metadata.sessionId):"aqe"})}catch{}}getChain(){return[...this.chain]}getChainLength(){return this.chain.length}getLastEnvelope(){return this.chain.length===0?null:this.chain[this.chain.length-1]}clearChain(){this.chain=[],this.envelopeIndex.clear()}verifyEnvelope(e,t){let n=t??this.signingKey,i={contentHashValid:!1,signatureValid:!1,chainLinkValid:!0},r={id:e.id,timestamp:e.timestamp,agentId:e.agentId,action:e.action,payload:e.payload,metadata:e.metadata},s=this.kernel.contentHash(r);if(i.contentHashValid=e.contentHash===s,!i.contentHashValid)return{valid:!1,details:i,error:"Content hash does not match envelope content"};let a=`${e.contentHash}:${e.previousHash}`,o=this.kernel.hmac(n,a);if(i.signatureValid=e.signature===o,!i.signatureValid)return{valid:!1,details:i,error:"Signature verification failed"};let l=this.envelopeIndex.get(e.id);if(l!==void 0&&l>0){let u=this.chain[l-1];if(i.chainLinkValid=e.previousHash===u.contentHash,!i.chainLinkValid)return{valid:!1,details:i,error:"Chain link is broken - previous hash does not match"}}return{valid:!0,details:i}}verifyChain(e){let t=[],n=-1;for(let i=0;i<this.chain.length;i++){let r=this.chain[i],s=this.verifyEnvelope(r,e);s.valid||(t.push({index:i,envelopeId:r.id,error:s.error??"Unknown error"}),n===-1&&(n=i));let a=i>0?this.chain[i-1].contentHash:te;r.previousHash!==a&&(t.push({index:i,envelopeId:r.id,error:`Chain link broken at index ${i}`}),n===-1&&(n=i))}return{valid:t.length===0,envelopesVerified:this.chain.length,firstInvalidIndex:n,merkleRoot:this.computeMerkleRoot(),errors:t}}detectTampering(){let e=[],t=[];for(let n=0;n<this.chain.length;n++){let i=this.chain[n],r={id:i.id,timestamp:i.timestamp,agentId:i.agentId,action:i.action,payload:i.payload,metadata:i.metadata},s=this.kernel.contentHash(r);i.contentHash!==s&&(t.push(n),e.push({index:n,envelopeId:i.id,issue:"Content hash mismatch - envelope content was modified"}));let a=n>0?this.chain[n-1].contentHash:te;i.previousHash!==a&&(t.includes(n)||t.push(n),e.push({index:n,envelopeId:i.id,issue:"Chain link broken - previous hash does not match"}))}return{tampered:t.length>0,tamperedIndices:t,details:e}}getEnvelopeById(e){let t=this.envelopeIndex.get(e);return t===void 0?null:this.chain[t]}getEnvelopesByAgent(e){return this.chain.filter(t=>t.agentId===e)}getEnvelopesByAction(e){return this.chain.filter(t=>t.action===e)}getEnvelopesSince(e){return this.chain.filter(t=>t.timestamp>=e)}getEnvelopesInRange(e,t){return this.chain.filter(n=>n.timestamp>=e&&n.timestamp<=t)}exportChain(e){let t={version:1,exportedAt:Date.now(),chainLength:this.chain.length,merkleRoot:this.computeMerkleRoot(),envelopes:this.chain};if(e==="json")return JSON.stringify(t,null,2);let n=JSON.stringify(t);return new TextEncoder().encode(n)}importChain(e,t=!0){let n;typeof e=="string"?n=e:n=new TextDecoder().decode(e);let i=j(n);if(!i.envelopes||!Array.isArray(i.envelopes))throw new Error("Invalid chain data: missing envelopes array");this.clearChain();for(let r of i.envelopes){let s=this.chain.length;this.chain.push(r),this.envelopeIndex.set(r.id,s)}if(t){let r=this.verifyChain();if(!r.valid)throw this.clearChain(),new Error(`Imported chain failed verification: ${r.errors[0]?.error}`)}}getProofStats(){let e=D(),t=new Set;for(let i of this.chain)t.add(i.agentId),e[i.action]=(e[i.action]||0)+1;let n=this.chain.length===0||this.verifyChain().valid;return{chainLength:this.chain.length,firstTimestamp:this.chain.length>0?this.chain[0].timestamp:null,lastTimestamp:this.chain.length>0?this.chain[this.chain.length-1].timestamp:null,uniqueAgents:Array.from(t),actionCounts:e,merkleRoot:this.computeMerkleRoot(),chainValid:n}}computeMerkleRoot(){if(this.chain.length===0)return te;let e=this.chain.map(t=>t.contentHash);for(;e.length>1;){let t=[];for(let n=0;n<e.length;n+=2)n+1<e.length?t.push(this.kernel.hash(e[n]+e[n+1])):t.push(e[n]);e=t}return e[0]}getMerkleProof(e){let t=this.envelopeIndex.get(e);if(t===void 0)return null;let n=[],i=this.chain.map(s=>s.contentHash),r=t;for(;i.length>1;){let s=r%2===0?r+1:r-1;s<i.length&&n.push(i[s]);let a=[];for(let o=0;o<i.length;o+=2)o+1<i.length?a.push(this.kernel.hash(i[o]+i[o+1])):a.push(i[o]);i=a,r=Math.floor(r/2)}return n}verifyMerkleProof(e,t,n){let i=e,r=n;for(let s of t)r%2===0?i=this.kernel.hash(i+s):i=this.kernel.hash(s+i),r=Math.floor(r/2);return i===this.computeMerkleRoot()}generateEnvelopeId(){return`env_${ut()}`}reset(){this.chain=[],this.envelopeIndex.clear(),this.signingKey="",this.initialized=!1}},Ve=new ue;ae();W();qe();var Je={enabled:!0,autoRecordViolations:!0,retentionDays:90,alertOnCritical:!0,generateDailyReport:!1},mt={low:1,medium:3,high:7,critical:15},Qe=100,ht=.5,J=5,de=class c{violations=new Map;alertThresholds=new Map;proofIntegration;flags;initialized=!1;scoreHistory=[];alertListeners=new Set;db=null;persistCount=0;static NAMESPACE="compliance-audit";static TTL_SECONDS=2592e3;static PERSIST_INTERVAL=10;constructor(e,t){this.proofIntegration=e??Ve,this.flags={...Je,...t}}async initialize(){if(!this.initialized){try{this.db=V(),this.db.isInitialized()||await this.db.initialize(),await this.loadFromKv()}catch(e){console.warn("[ComplianceReporter] DB init failed, using memory-only:",S(e)),this.db=null}this.proofIntegration.isInitialized()||await this.proofIntegration.initialize(),this.alertThresholds.set("continueGate",70),this.alertThresholds.set("memoryWriteGate",70),this.alertThresholds.set("trustAccumulator",70),this.alertThresholds.set("budgetMeter",60),this.alertThresholds.set("adversarialDefense",80),this.initialized=!0}}isInitialized(){return this.initialized}getFlags(){return{...this.flags}}updateFlags(e){this.flags={...this.flags,...e}}recordViolation(e){let t=this.generateViolationId(),n=Date.now(),i={...e,id:t,timestamp:n,resolved:!1};if(this.violations.set(t,i),h.getFlags().proofEnvelope.enabled)try{let r=this.proofIntegration.createSignedEnvelope(e.agentId??"system","violation_recorded",{violationId:t,type:e.type,severity:e.severity,gate:e.gate,description:e.description});this.proofIntegration.appendToChain(r),i.proofEnvelopeId=r.id}catch{}return this.flags.alertOnCritical&&e.severity==="critical"&&this.triggerAlert(e.gate,"Critical violation detected","critical"),this.persistSnapshot(),this.cleanupOldViolations(),t}resolveViolation(e,t){let n=this.violations.get(e);if(!n)throw new Error(`Violation not found: ${e}`);if(n.resolved=!0,n.resolution=t,n.resolvedAt=Date.now(),h.getFlags().proofEnvelope.enabled)try{let i=this.proofIntegration.createSignedEnvelope(n.agentId??"system","violation_resolved",{violationId:e,resolution:t});this.proofIntegration.appendToChain(i)}catch{}}getViolation(e){return this.violations.get(e)??null}getViolations(e){let t=Array.from(this.violations.values());return e&&(e.type!==void 0&&(t=t.filter(n=>n.type===e.type)),e.severity!==void 0&&(t=t.filter(n=>n.severity===e.severity)),e.agentId!==void 0&&(t=t.filter(n=>n.agentId===e.agentId)),e.gate!==void 0&&(t=t.filter(n=>n.gate===e.gate)),e.resolved!==void 0&&(t=t.filter(n=>n.resolved===e.resolved)),e.startTime!==void 0&&(t=t.filter(n=>n.timestamp>=e.startTime)),e.endTime!==void 0&&(t=t.filter(n=>n.timestamp<=e.endTime)),e.limit!==void 0&&(t=t.slice(0,e.limit))),t.sort((n,i)=>i.timestamp-n.timestamp)}calculateScore(e){let t=Date.now(),n=e??{start:t-1440*60*1e3,end:t},i=this.getViolations({startTime:n.start,endTime:n.end}),r=this.calculateOverallScore(i),s=D(),a=this.groupBy(i,"gate");for(let[g,p]of Object.entries(a))s[g]=this.calculateOverallScore(p);let o=D(),l=this.groupBy(i,"agentId");for(let[g,p]of Object.entries(l))g!=="undefined"&&(o[g]=this.calculateOverallScore(p));let u=this.calculateTrend(n),d=i.filter(g=>g.resolved).length,m={overall:r,byGate:s,byAgent:o,trend:u,period:n,totalViolations:i.length,resolvedViolations:d};return this.scoreHistory.push(m),this.scoreHistory.length>100&&this.scoreHistory.shift(),m}getScoreHistory(e){return this.scoreHistory.slice(-e)}generateReport(e={}){let t=Date.now(),n=e.timeWindow??{start:t-1440*60*1e3,end:t},i=this.getViolations({startTime:n.start,endTime:n.end}),r=this.calculateScore(n),s={loop_detected:0,contradiction:0,trust_violation:0,budget_exceeded:0,adversarial_detected:0,invariant_violated:0,unauthorized_access:0,chain_tampered:0,schema_violation:0,rate_limit_exceeded:0};for(let g of i)s[g.type]++;let a={low:0,medium:0,high:0,critical:0};for(let g of i)a[g.severity]++;let o={},l=this.groupBy(i,"gate");for(let[g,p]of Object.entries(l))o[g]={score:this.calculateOverallScore(p),violations:p.length,trend:this.calculateGateTrend(g,n)};let u=i.filter(g=>g.resolved).length,d=i.length>0?u/i.length:1,m={generatedAt:t,timeWindow:n,summary:{overallScore:r.overall,totalViolations:i.length,criticalViolations:a.critical,highViolations:a.high,resolvedViolations:u,resolutionRate:d,trend:r.trend},gateScores:o,violationsByType:s,violationsBySeverity:a};if(e.includeAgentRankings){let g=this.groupBy(i,"agentId");m.agentRankings=Object.entries(g).filter(([p])=>p!=="undefined").map(([p,b])=>({agentId:p,score:this.calculateOverallScore(b),violations:b.length,trend:this.calculateAgentTrend(p,n)})).sort((p,b)=>b.score-p.score)}if(e.includeViolations){let g=e.maxViolations??50;m.violations=i.slice(0,g)}return e.includeRecommendations&&(m.recommendations=this.generateRecommendations(i,r)),e.includeTrendAnalysis&&(m.trendAnalysis=this.calculateTrendAnalysis(n)),m}exportReport(e,t){return t==="json"?JSON.stringify(e,null,2):this.generateMarkdownReport(e)}attachProof(e,t){let n=this.violations.get(e);if(!n)throw new Error(`Violation not found: ${e}`);if(!this.proofIntegration.getEnvelopeById(t))throw new Error(`Proof envelope not found: ${t}`);n.proofEnvelopeId=t}getViolationsWithProof(){return Array.from(this.violations.values()).filter(e=>e.proofEnvelopeId!==void 0)}getViolationProof(e){let t=this.violations.get(e);return t?.proofEnvelopeId?this.proofIntegration.getEnvelopeById(t.proofEnvelopeId):null}setAlertThreshold(e,t){if(t<0||t>100)throw new Error("Threshold must be between 0 and 100");this.alertThresholds.set(e,t)}getAlertThreshold(e){return this.alertThresholds.get(e)}checkAlerts(){let e=[],t=this.calculateScore();for(let[n,i]of this.alertThresholds){let r=t.byGate[n];if(r!==void 0&&r<i){let s={id:this.generateAlertId(),gate:n,message:`Compliance score for ${n} (${r.toFixed(1)}) dropped below threshold (${i})`,severity:r<i*.5?"critical":"high",timestamp:Date.now(),currentScore:r,threshold:i};e.push(s),this.notifyAlertListeners(s)}}return e}onAlert(e){return this.alertListeners.add(e),()=>this.alertListeners.delete(e)}getComplianceStats(){let e=Array.from(this.violations.values()),t=e.filter(d=>d.resolved),n={loop_detected:0,contradiction:0,trust_violation:0,budget_exceeded:0,adversarial_detected:0,invariant_violated:0,unauthorized_access:0,chain_tampered:0,schema_violation:0,rate_limit_exceeded:0};for(let d of e)n[d.type]++;let i={low:0,medium:0,high:0,critical:0};for(let d of e)i[d.severity]++;let r=D();for(let d of e)r[d.gate]=(r[d.gate]||0)+1;let s=D();for(let d of e)d.agentId&&(s[d.agentId]=(s[d.agentId]||0)+1);let a=0,o=0;for(let d of t)d.resolvedAt&&(a+=d.resolvedAt-d.timestamp,o++);let l=o>0?a/o:0,u=e.filter(d=>d.proofEnvelopeId).length;return{totalViolations:e.length,resolvedViolations:t.length,resolutionRate:e.length>0?t.length/e.length:1,byType:n,bySeverity:i,byGate:r,byAgent:s,avgResolutionTime:l,violationsWithProof:u,currentScore:this.calculateScore().overall}}clearViolations(){this.violations.clear(),this.scoreHistory=[]}reset(){this.violations.clear(),this.alertThresholds.clear(),this.scoreHistory=[],this.alertListeners.clear(),this.initialized=!1}async loadFromKv(){if(!this.db)return;let e=await this.db.kvGet("snapshot",c.NAMESPACE);if(e){if(e.violations)for(let[t,n]of Object.entries(e.violations))this.violations.set(t,n);e.scoreHistory&&(this.scoreHistory=e.scoreHistory)}}persistSnapshot(){if(this.db&&(this.persistCount++,this.persistCount%c.PERSIST_INTERVAL===0))try{let e=Array.from(this.violations.entries()).slice(-500),t={violations:Object.fromEntries(e),scoreHistory:this.scoreHistory.slice(-100)};this.db.kvSet("snapshot",t,c.NAMESPACE,c.TTL_SECONDS).catch(()=>{})}catch(e){console.warn("[ComplianceReporter] Persist failed:",S(e))}}generateViolationId(){return`viol_${Ke()}`}generateAlertId(){return`alert_${Ke()}`}calculateOverallScore(e){if(e.length===0)return Qe;let t=0;for(let i of e){let r=i.resolved?.5:1;t+=mt[i.severity]*r}let n=Qe*Math.exp(-ht*t/10);return Math.max(0,Math.min(100,Math.round(n*10)/10))}calculateTrend(e){let t=e.end-e.start,n={start:e.start-t,end:e.start},i=this.getViolations({startTime:n.start,endTime:n.end}),r=this.getViolations({startTime:e.start,endTime:e.end}),s=this.calculateOverallScore(i),o=this.calculateOverallScore(r)-s;return o>J?"improving":o<-J?"declining":"stable"}calculateGateTrend(e,t){let n=t.end-t.start,i={start:t.start-n,end:t.start},r=this.getViolations({gate:e,startTime:i.start,endTime:i.end}),s=this.getViolations({gate:e,startTime:t.start,endTime:t.end}),a=this.calculateOverallScore(r),l=this.calculateOverallScore(s)-a;return l>J?"improving":l<-J?"declining":"stable"}calculateAgentTrend(e,t){let n=t.end-t.start,i={start:t.start-n,end:t.start},r=this.getViolations({agentId:e,startTime:i.start,endTime:i.end}),s=this.getViolations({agentId:e,startTime:t.start,endTime:t.end}),a=this.calculateOverallScore(r),l=this.calculateOverallScore(s)-a;return l>J?"improving":l<-J?"declining":"stable"}calculateTrendAnalysis(e){let t=e.end-e.start,n={start:e.start-t,end:e.start},i=this.getViolations({startTime:e.start,endTime:e.end}),r=this.getViolations({startTime:n.start,endTime:n.end}),s=this.calculateOverallScore(i),a=this.calculateOverallScore(r),o=i.length-r.length,l;return o>2?l="increasing":o<-2?l="decreasing":l="stable",{currentPeriodScore:s,previousPeriodScore:a,change:s-a,violationTrend:l}}generateRecommendations(e,t){let n=[],i=e.filter(a=>a.severity==="critical").length;i>0&&n.push(`URGENT: ${i} critical violation(s) require immediate attention.`);let r=e.filter(a=>!a.resolved).length;r>5&&n.push(`${r} violations remain unresolved. Consider allocating resources for resolution.`);for(let[a,o]of Object.entries(t.byGate))o<70&&n.push(`${a} compliance score is ${o.toFixed(1)}. Review ${a} configuration and add monitoring.`);for(let[a,o]of Object.entries(t.byAgent))o<60&&n.push(`Agent ${a} has low compliance score (${o.toFixed(1)}). Consider retraining or restricting permissions.`);let s=new Map;for(let a of e)s.set(a.type,(s.get(a.type)||0)+1);for(let[a,o]of s)o>=5&&n.push(`${a} violations occurred ${o} times. Investigate root cause and add preventive measures.`);return t.trend==="declining"&&n.push("Overall compliance trend is declining. Schedule a governance review meeting."),n.length===0&&n.push("Compliance is within acceptable parameters. Continue monitoring."),n}generateMarkdownReport(e){let t=[],n=new Date(e.generatedAt).toISOString();t.push("# Compliance Report"),t.push(""),t.push(`**Generated:** ${n}`),t.push(`**Period:** ${new Date(e.timeWindow.start).toISOString()} to ${new Date(e.timeWindow.end).toISOString()}`),t.push(""),t.push("## Executive Summary"),t.push(""),t.push("| Metric | Value |"),t.push("|--------|-------|"),t.push(`| Overall Score | ${e.summary.overallScore.toFixed(1)} |`),t.push(`| Total Violations | ${e.summary.totalViolations} |`),t.push(`| Critical Violations | ${e.summary.criticalViolations} |`),t.push(`| High Violations | ${e.summary.highViolations} |`),t.push(`| Resolution Rate | ${(e.summary.resolutionRate*100).toFixed(1)}% |`),t.push(`| Trend | ${e.summary.trend} |`),t.push(""),t.push("## Gate Compliance Scores"),t.push(""),t.push("| Gate | Score | Violations | Trend |"),t.push("|------|-------|------------|-------|");for(let[i,r]of Object.entries(e.gateScores))t.push(`| ${i} | ${r.score.toFixed(1)} | ${r.violations} | ${r.trend} |`);t.push(""),t.push("## Violations by Type"),t.push(""),t.push("| Type | Count |"),t.push("|------|-------|");for(let[i,r]of Object.entries(e.violationsByType))r>0&&t.push(`| ${i} | ${r} |`);t.push(""),t.push("## Violations by Severity"),t.push(""),t.push("| Severity | Count |"),t.push("|----------|-------|");for(let[i,r]of Object.entries(e.violationsBySeverity))t.push(`| ${i} | ${r} |`);if(t.push(""),e.agentRankings&&e.agentRankings.length>0){t.push("## Agent Compliance Rankings"),t.push(""),t.push("| Agent | Score | Violations | Trend |"),t.push("|-------|-------|------------|-------|");for(let i of e.agentRankings)t.push(`| ${i.agentId} | ${i.score.toFixed(1)} | ${i.violations} | ${i.trend} |`);t.push("")}if(e.trendAnalysis&&(t.push("## Trend Analysis"),t.push(""),t.push(`- **Current Period Score:** ${e.trendAnalysis.currentPeriodScore.toFixed(1)}`),t.push(`- **Previous Period Score:** ${e.trendAnalysis.previousPeriodScore.toFixed(1)}`),t.push(`- **Change:** ${e.trendAnalysis.change>0?"+":""}${e.trendAnalysis.change.toFixed(1)}`),t.push(`- **Violation Trend:** ${e.trendAnalysis.violationTrend}`),t.push("")),e.recommendations&&e.recommendations.length>0){t.push("## Recommendations"),t.push("");for(let i of e.recommendations)t.push(`- ${i}`);t.push("")}if(e.violations&&e.violations.length>0){t.push("## Recent Violations"),t.push("");for(let i of e.violations.slice(0,10)){let r=i.resolved?"RESOLVED":"OPEN",s=new Date(i.timestamp).toISOString();t.push(`### ${i.id}`),t.push(""),t.push(`- **Type:** ${i.type}`),t.push(`- **Severity:** ${i.severity}`),t.push(`- **Gate:** ${i.gate}`),t.push(`- **Status:** ${r}`),t.push(`- **Time:** ${s}`),i.agentId&&t.push(`- **Agent:** ${i.agentId}`),t.push(`- **Description:** ${i.description}`),i.proofEnvelopeId&&t.push(`- **Proof:** ${i.proofEnvelopeId}`),t.push("")}}return t.push("---"),t.push("*Report generated by Agentic QE Compliance Reporter*"),t.join(`
3
3
  `)}groupBy(e,t){let n=D();for(let i of e){let r=String(i[t]);n[r]||(n[r]=[]),n[r].push(i)}return n}cleanupOldViolations(){let e=Date.now()-this.flags.retentionDays*24*60*60*1e3;for(let[t,n]of this.violations)n.timestamp<e&&this.violations.delete(t)}triggerAlert(e,t,n){let i={id:this.generateAlertId(),gate:e,message:t,severity:n,timestamp:Date.now(),currentScore:0,threshold:0};this.notifyAlertListeners(i)}notifyAlertListeners(e){for(let t of this.alertListeners)try{t(e)}catch{}}},R=new de;ae();W();var Ge=class c{actionHistory=new Map;throttledAgents=new Map;guidanceContinueGate=null;initialized=!1;db=null;persistCount=0;static KV_NAMESPACE="continue-gate-actions";static KV_KEY="snapshot";static PERSIST_INTERVAL=20;static KV_TTL=3600;async initialize(){if(!this.initialized){try{let t=await import("@claude-flow/guidance/continue-gate");if(t&&typeof t.createContinueGate=="function"){let n=h.getFlags().continueGate;this.guidanceContinueGate=t.createContinueGate({maxConsecutiveSteps:n.maxConsecutiveRetries*10,maxReworkRatio:n.reworkRatioThreshold,checkpointIntervalSteps:25}),console.log("[ContinueGateIntegration] Guidance ContinueGate loaded")}}catch{this.guidanceContinueGate=null}try{this.db=V(),this.db.isInitialized()||await this.db.initialize(),await this.loadFromKv()}catch(e){console.warn("[ContinueGateIntegration] DB init failed, using memory-only:",S(e)),this.db=null}this.initialized=!0}}async loadFromKv(){if(!this.db)return;let e=await this.db.kvGet(c.KV_KEY,c.KV_NAMESPACE);if(e){for(let[n,i]of e.actionHistory)this.actionHistory.set(n,i);let t=Date.now();for(let[n,i]of e.throttledAgents)i>t&&this.throttledAgents.set(n,i);console.log("[ContinueGateIntegration] Loaded state from DB")}}async persistSnapshot(){if(this.db)try{await this.db.kvSet(c.KV_KEY,{actionHistory:Array.from(this.actionHistory.entries()).map(([e,t])=>[e,t.slice(-50)]),throttledAgents:Array.from(this.throttledAgents.entries())},c.KV_NAMESPACE,c.KV_TTL)}catch(e){console.warn("[ContinueGateIntegration] Persist failed:",S(e))}}recordAction(e){if(!G())return;let t=this.actionHistory.get(e.agentId)||[];t.push(e),t.length>100&&t.shift(),this.actionHistory.set(e.agentId,t),this.persistCount++,this.persistCount%c.PERSIST_INTERVAL===0&&this.persistSnapshot().catch(()=>{})}async evaluate(e){if(!G())return{shouldContinue:!0};await this.initialize();let t=h.getFlags().continueGate,n=this.actionHistory.get(e)||[],i=this.throttledAgents.get(e);if(i&&Date.now()<i){let s=i-Date.now();return{shouldContinue:!v(),reason:`Agent throttled for ${Math.ceil(s/1e3)}s`,throttleMs:s,escalate:!1}}let r=this.localEvaluation(e,n,t);if(this.guidanceContinueGate&&r.shouldContinue&&!r.reason)try{let s=this.calculateReworkRatio(n.slice(-10)),a={stepNumber:n.length,totalToolCalls:n.length,reworkCount:n.filter(l=>!l.success).length,coherenceScore:1-s,uncertaintyScore:s,elapsedMs:n.length>0?Date.now()-n[0].timestamp:0,lastCheckpointStep:0,totalTokensUsed:0,budgetRemaining:{tokens:Number.MAX_SAFE_INTEGER,toolCalls:Math.max(0,t.maxConsecutiveRetries*10-n.length),timeMs:Math.max(0,t.idleTimeoutMs-(n.length>0?Date.now()-n[n.length-1].timestamp:0))},recentDecisions:[]},o=this.guidanceContinueGate.evaluateWithHistory(a);if(o.decision!=="continue")return this.mapGuidanceDecision(o,e)}catch{}return r}localEvaluation(e,t,n){if(t.length<2)return{shouldContinue:!0};let i=t.slice(-10),r=this.countConsecutiveIdentical(i);if(r>=n.maxConsecutiveRetries){let l=Math.min(r*1e3,3e4);return n.throttleOnExceed&&this.throttledAgents.set(e,Date.now()+l),this.logViolation(e,"consecutive_identical_actions",r),{shouldContinue:!v(),reason:`Agent exceeded max consecutive retries (${r}/${n.maxConsecutiveRetries})`,throttleMs:l,escalate:r>=n.maxConsecutiveRetries*2,consecutiveCount:r}}let s=this.calculateReworkRatio(i);if(s>n.reworkRatioThreshold)return n.throttleOnExceed&&this.throttledAgents.set(e,Date.now()+5e3),this.logViolation(e,"high_rework_ratio",s),{shouldContinue:!v(),reason:`Agent rework ratio too high (${(s*100).toFixed(1)}% > ${n.reworkRatioThreshold*100}%)`,throttleMs:5e3,escalate:s>.8,reworkRatio:s};let a=t[t.length-1],o=Date.now()-a.timestamp;return o>n.idleTimeoutMs?(this.logViolation(e,"idle_timeout",o),{shouldContinue:!v(),reason:`Agent idle for ${Math.ceil(o/1e3)}s (limit: ${n.idleTimeoutMs/1e3}s)`,escalate:!0}):{shouldContinue:!0}}countConsecutiveIdentical(e){if(e.length===0)return 0;let t=1,n=e[e.length-1].actionHash;for(let i=e.length-2;i>=0&&e[i].actionHash===n;i--)t++;return t}calculateReworkRatio(e){return e.length===0?0:e.filter(n=>!n.success).length/e.length}mapGuidanceDecision(e,t){let n=h.getFlags().continueGate,i=e.decision==="pause"||e.decision==="stop",r=!i,s=e.reasons.length>0?e.reasons.join("; "):void 0;if(i&&n.throttleOnExceed){let a=e.decision==="stop"?3e4:15e3;this.throttledAgents.set(t,Date.now()+a)}return{shouldContinue:r,reason:s,throttleMs:e.decision==="throttle"?5e3:e.decision==="pause"?15e3:e.decision==="stop"?3e4:void 0,escalate:i,reworkRatio:e.metrics.reworkRatio}}logViolation(e,t,n){h.getFlags().global.logViolations&&console.warn("[ContinueGate] Violation detected:",{agentId:e,violationType:t,value:n,timestamp:new Date().toISOString()})}clearThrottle(e){this.throttledAgents.delete(e)}clearHistory(e){this.actionHistory.delete(e),this.throttledAgents.delete(e)}getAgentStats(e){let t=this.actionHistory.get(e)||[],n=this.throttledAgents.get(e)||0,i=Date.now();return{actionCount:t.length,reworkRatio:this.calculateReworkRatio(t),isThrottled:n>i,throttleRemainingMs:Math.max(0,n-i)}}reset(){this.actionHistory.clear(),this.throttledAgents.clear()}},C=new Ge;function gt(c,e,t){let n=JSON.stringify({actionType:c,target:e,params:t}),i=0;for(let r=0;r<n.length;r++){let s=n.charCodeAt(r);i=(i<<5)-i+s,i=i&i}return i.toString(16)}function me(c,e,t,n,i){return{agentId:c,actionType:e,actionHash:gt(e,t,n),timestamp:Date.now(),success:i}}import{randomUUID as pt}from"node:crypto";var Ye={low:0,medium:.3,high:.5,critical:.7},he=class{agentMetrics=new Map;taskHistory=new Map;tierThresholds={...Ye};guidanceTrustSystem=null;initialized=!1;async initialize(){if(!this.initialized){try{let t=await import("@claude-flow/guidance/trust");t&&typeof t.createTrustSystem=="function"&&(this.guidanceTrustSystem=t.createTrustSystem({initialTrust:.7,allowDelta:.02,denyDelta:.05,warnDelta:.01,decayRate:.05,decayIntervalMs:3e5}),console.log("[TrustAccumulatorIntegration] Guidance TrustSystem loaded"))}catch{this.guidanceTrustSystem=null}this.initialized=!0}}recordTaskOutcome(e,t,n,i,r={}){if(!M())return;let s={taskId:`${e}-${Date.now()}`,taskType:t,success:n,durationMs:i,qualityScore:r.qualityScore,timestamp:Date.now(),errorType:r.errorType},a=this.taskHistory.get(e)||[];if(a.push(s),a.length>100&&a.shift(),this.taskHistory.set(e,a),this.updateAgentMetrics(e,s),this.guidanceTrustSystem)try{let l=n?"allow":"deny";this.guidanceTrustSystem.recordOutcome(e,l,`Task ${t}: ${n?"success":"failure"}`)}catch{}h.getFlags().trustAccumulator.autoTierAdjustment&&this.adjustTier(e)}getTrustScore(e){if(!M())return .7;let t=this.agentMetrics.get(e);return t?t.trustScore:.7}getTrustTier(e){if(!M())return"medium";let t=this.agentMetrics.get(e);return t?t.trustTier:"medium"}canHandleCriticalTask(e){if(!M())return!0;let t=h.getFlags().trustAccumulator;return this.getTrustScore(e)>=t.minTrustForCritical}getAgentMetrics(e){return M()&&this.agentMetrics.get(e)||null}selectBestAgent(e,t,n={}){if(!M()||t.length===0)return{selectedAgent:t[0]||null,confidence:.5,reason:"TrustAccumulator disabled or no agents available",alternatives:[]};let i=h.getFlags().trustAccumulator,r=n.requireCriticalTrust?i.minTrustForCritical:n.minTrustScore??0,s=t.map(l=>{let u=this.agentMetrics.get(l),d=this.calculateAgentScore(l,e,u);return{agentId:l,score:d,trustScore:u?.trustScore??.7,meetsMinTrust:(u?.trustScore??.7)>=r}}).filter(l=>l.meetsMinTrust).sort((l,u)=>u.score-l.score);if(s.length===0){if(v())return{selectedAgent:null,confidence:0,reason:`No agents meet minimum trust threshold (${r})`,alternatives:t.map(u=>({agentId:u,trustScore:this.getTrustScore(u),reason:"Trust score below threshold"}))};let l=t.map(u=>({agentId:u,score:this.calculateAgentScore(u,e,this.agentMetrics.get(u)),trustScore:this.getTrustScore(u)})).sort((u,d)=>d.score-u.score);return{selectedAgent:l[0]?.agentId||null,confidence:.3,reason:"No agents meet trust threshold, selected best available (non-strict mode)",alternatives:l.slice(1).map(u=>({agentId:u.agentId,trustScore:u.trustScore,reason:`Score: ${u.score.toFixed(3)}`}))}}let a=s[0],o=Math.min(1,a.score*1.2);return{selectedAgent:a.agentId,confidence:o,reason:`Selected based on combined score (trust: ${a.trustScore.toFixed(3)}, task fit: ${(a.score-a.trustScore*i.performanceWeight).toFixed(3)})`,alternatives:s.slice(1,4).map(l=>({agentId:l.agentId,trustScore:l.trustScore,reason:`Score: ${l.score.toFixed(3)}`}))}}adjustTier(e){if(!M())return;let t=this.agentMetrics.get(e);if(!t)return;let n=t.trustTier,i=this.calculateTier(t.trustScore);n!==i&&(t.trustTier=i,t.tierHistory.push({tier:i,timestamp:Date.now(),reason:`Trust score changed to ${t.trustScore.toFixed(3)}`}),t.tierHistory.length>20&&t.tierHistory.shift(),this.logTierChange(e,n,i,t.trustScore))}boostTrust(e,t,n){if(!M())return;let i=this.getOrCreateMetrics(e),r=i.trustScore;i.trustScore=Math.min(1,i.trustScore+t),i.lastUpdated=Date.now(),this.logTrustChange(e,r,i.trustScore,`Boost: ${n}`),h.getFlags().trustAccumulator.autoTierAdjustment&&this.adjustTier(e)}penalizeTrust(e,t,n){if(!M())return;let i=this.getOrCreateMetrics(e),r=i.trustScore;i.trustScore=Math.max(0,i.trustScore-t),i.lastUpdated=Date.now(),this.logTrustChange(e,r,i.trustScore,`Penalty: ${n}`),h.getFlags().trustAccumulator.autoTierAdjustment&&this.adjustTier(e)}getAllAgentMetrics(){return Array.from(this.agentMetrics.values())}getAgentsByTier(e){return Array.from(this.agentMetrics.entries()).filter(([t,n])=>n.trustTier===e).map(([t])=>t)}getTaskExperience(e){return this.agentMetrics.get(e)?.taskTypeExperience??new Map}setTierThresholds(e){this.tierThresholds={...this.tierThresholds,...e};for(let t of Array.from(this.agentMetrics.keys()))this.adjustTier(t)}reset(){this.agentMetrics.clear(),this.taskHistory.clear(),this.tierThresholds={...Ye}}resetAgent(e){this.agentMetrics.delete(e),this.taskHistory.delete(e)}updateAgentMetrics(e,t){let n=this.getOrCreateMetrics(e);n.totalTasks++,t.success&&n.successfulTasks++,n.successRate=n.successfulTasks/n.totalTasks;let i=.3,r=t.success?0:1,s=1-n.successRate;n.errorRate=i*r+(1-i)*s,n.totalTasks===1?n.avgDurationMs=t.durationMs:n.avgDurationMs=i*t.durationMs+(1-i)*n.avgDurationMs;let a=n.taskTypeExperience.get(t.taskType)||0;n.taskTypeExperience.set(t.taskType,a+1),this.recalculateTrustScore(n,t),n.lastUpdated=Date.now()}recalculateTrustScore(e,t){let n=h.getFlags().trustAccumulator,i=e.successRate,r=e.taskTypeExperience.get(t.taskType)||0,a=Math.min(1,r/20),o=t.qualityScore??(t.success?.7:.3),l=1-e.errorRate,u=(o+l)/2,d=n.performanceWeight*i+n.taskSimilarityWeight*a+n.capabilityMatchWeight*u;e.totalTasks===1?e.trustScore=d:e.trustScore=.2*d+(1-.2)*e.trustScore,e.trustScore=Math.max(0,Math.min(1,e.trustScore))}calculateAgentScore(e,t,n){let i=h.getFlags().trustAccumulator;if(!n)return .7*i.performanceWeight;let r=n.trustScore*i.performanceWeight,s=n.taskTypeExperience.get(t)||0,o=Math.min(.3,s*.03)*i.taskSimilarityWeight,l=(1-n.errorRate)*i.capabilityMatchWeight;return r+o+l}calculateTier(e){return e>=this.tierThresholds.critical?"critical":e>=this.tierThresholds.high?"high":e>=this.tierThresholds.medium?"medium":"low"}getOrCreateMetrics(e){let t=this.agentMetrics.get(e);return t||(t={agentId:e,trustScore:.7,trustTier:"high",totalTasks:0,successfulTasks:0,successRate:0,avgDurationMs:0,errorRate:0,taskTypeExperience:new Map,lastUpdated:Date.now(),tierHistory:[{tier:"high",timestamp:Date.now(),reason:"Initial tier assignment"}]},this.agentMetrics.set(e,t)),t}logTrustChange(e,t,n,i){h.getFlags().global.logViolations&&console.warn("[TrustAccumulator] Trust change:",{agentId:e,oldScore:t.toFixed(3),newScore:n.toFixed(3),change:(n-t).toFixed(3),reason:i,timestamp:new Date().toISOString()})}logTierChange(e,t,n,i){if(!h.getFlags().global.logViolations)return;let r=this.compareTiers(n,t)>0?"PROMOTED":"DEMOTED";console.warn(`[TrustAccumulator] Tier change (${r}):`,{agentId:e,oldTier:t,newTier:n,trustScore:i.toFixed(3),timestamp:new Date().toISOString()})}compareTiers(e,t){let n={low:0,medium:1,high:2,critical:3};return n[e]-n[t]}},Oe=new he;var ft=[{name:"ignore-instructions",category:"prompt-injection",pattern:/ignore\s+(all\s+)?(previous|prior|above|earlier)\s+(instructions?|rules?|guidelines?|prompts?)/i,severity:.9,description:"Attempts to override previous instructions",enabled:!0},{name:"system-prompt-override",category:"prompt-injection",pattern:/\[?(system|admin|root|sudo)\]?\s*[:>]\s*.{0,50}(override|bypass|ignore|forget|reset)/i,severity:.95,description:"Attempts to impersonate system prompt",enabled:!0},{name:"new-instructions",category:"prompt-injection",pattern:/your\s+(new|real|actual|true)\s+(instructions?|task|purpose|goal)\s+(are?|is)/i,severity:.85,description:"Attempts to redefine agent instructions",enabled:!0},{name:"disregard-previous",category:"prompt-injection",pattern:/(disregard|forget|omit|skip|delete)\s+(everything|all|anything)\s+(above|before|previous)/i,severity:.9,description:"Attempts to clear context",enabled:!0},{name:"prompt-leak",category:"prompt-injection",pattern:/(show|reveal|display|output|print|echo)\s+(your|the|my)?\s*(system\s*)?(prompt|instructions?|rules?|config)/i,severity:.8,description:"Attempts to extract system prompt",enabled:!0},{name:"dan-jailbreak",category:"jailbreak",pattern:/\b(DAN|do\s*anything\s*now|jailbreak|unrestricted|unfiltered)\b/i,severity:.95,description:"Known jailbreak attempt (DAN/unrestricted mode)",enabled:!0},{name:"developer-mode",category:"jailbreak",pattern:/(developer|debug|maintenance|test)\s*mode\s*(enabled?|on|active|activate)/i,severity:.9,description:"Attempts to enable developer/debug mode",enabled:!0},{name:"hypothetical-bypass",category:"jailbreak",pattern:/(hypothetically|in\s+theory|imagine\s+if|let's\s+say|what\s+if).{0,50}(no\s+rules?|no\s+restrictions?|anything|everything)/i,severity:.7,description:"Hypothetical scenario to bypass restrictions",enabled:!0},{name:"roleplay-bypass",category:"jailbreak",pattern:/(roleplay|role-play|pretend|act)\s*(as|like|that).{0,30}(no|without)\s*(restrictions?|limits?|rules?|ethics?)/i,severity:.85,description:"Roleplay scenario to bypass ethics",enabled:!0},{name:"pretend-you-are",category:"role-manipulation",pattern:/(pretend|imagine|act|behave)\s+(you\s+are|as\s+if\s+you're|like\s+you're|that\s+you're)/i,severity:.6,description:"Attempts to change agent identity",enabled:!0},{name:"you-are-now",category:"role-manipulation",pattern:/you\s+are\s+now\s+(a|an|the)?\s*[a-z]+/i,severity:.65,description:"Direct role reassignment attempt",enabled:!0},{name:"from-now-on",category:"role-manipulation",pattern:/from\s+now\s+on\s*(,\s*)?(you|your)\s+(will|are|should|must|have\s+to)/i,severity:.7,description:"Attempts to change future behavior",enabled:!0},{name:"persona-switch",category:"role-manipulation",pattern:/(switch|change|transform)\s*(to|into)\s*(a|an)?\s*(different|new|another)\s*(persona|character|role|identity)/i,severity:.75,description:"Attempts to switch persona",enabled:!0},{name:"api-key-request",category:"data-exfiltration",pattern:/(show|reveal|give|tell|output|display|print)\s*(me\s*)?(your|the|any)?\s*(api|access|secret)?\s*key/i,severity:.85,description:"Attempts to extract API keys",enabled:!0},{name:"credential-request",category:"data-exfiltration",pattern:/(show|reveal|give|tell|output)\s*(me\s*)?(the|your|any)?\s*(credentials?|passwords?|tokens?|secrets?)/i,severity:.9,description:"Attempts to extract credentials",enabled:!0},{name:"environment-dump",category:"data-exfiltration",pattern:/(dump|print|show|list|output)\s*(all\s*)?(environment|env)\s*(variables?)?/i,severity:.8,description:"Attempts to dump environment variables",enabled:!0},{name:"internal-state",category:"data-exfiltration",pattern:/(show|reveal|access|dump)\s*(your|the)?\s*(internal|hidden|private)\s*(state|data|memory|context)/i,severity:.75,description:"Attempts to access internal state",enabled:!0},{name:"shell-command",category:"command-injection",pattern:/[;\|\&`]\s*(rm|cat|wget|curl|nc|bash|sh|python|perl|ruby|eval|exec)\s+/i,severity:.95,description:"Shell command injection attempt",enabled:!0},{name:"sql-injection",category:"command-injection",pattern:/(['";]\s*(or|and|union|select|drop|delete|insert|update)\s+)/i,severity:.9,description:"SQL injection attempt",enabled:!0},{name:"path-traversal",category:"command-injection",pattern:/\.\.[\/\\]+/,severity:.7,description:"Path traversal attempt",enabled:!0},{name:"code-execution",category:"command-injection",pattern:/(eval|exec|system|popen|subprocess)\s*\(/i,severity:.85,description:"Code execution function call",enabled:!0},{name:"base64-encoded",category:"encoded-payload",pattern:/[A-Za-z0-9+\/]{50,}={0,2}/,severity:.5,description:"Potential base64 encoded payload",enabled:!0},{name:"unicode-escape",category:"encoded-payload",pattern:/(\\u[0-9a-fA-F]{4}){4,}/,severity:.6,description:"Unicode escape sequence (potential obfuscation)",enabled:!0},{name:"hex-encoded",category:"encoded-payload",pattern:/(\\x[0-9a-fA-F]{2}){8,}/,severity:.65,description:"Hex-encoded data (potential obfuscation)",enabled:!0},{name:"url-encoded",category:"encoded-payload",pattern:/(%[0-9a-fA-F]{2}){5,}/,severity:.55,description:"URL-encoded sequence (potential obfuscation)",enabled:!0}],ge=class{patterns=new Map;blocklist=new Map;stats=this.createEmptyStats();assessmentHistory=[];guidanceThreatDetector=null;guidanceCollusionDetector=null;initialized=!1;async initialize(){if(!this.initialized){for(let e of ft)this.patterns.set(e.name,e);this.initialized=!0;try{let t=await import("@claude-flow/guidance/adversarial");t&&typeof t.createThreatDetector=="function"&&(this.guidanceThreatDetector=t.createThreatDetector(),console.log("[AdversarialDefense] Guidance ThreatDetector loaded")),t&&typeof t.createCollusionDetector=="function"&&(this.guidanceCollusionDetector=t.createCollusionDetector(),console.log("[AdversarialDefense] Guidance CollusionDetector loaded"))}catch{this.guidanceThreatDetector=null,this.guidanceCollusionDetector=null}}}assessThreat(e,t){if(!E())return this.createSafeAssessment(e);let n=h.getFlags().adversarialDefense,i=this.detectInjectionPatterns(e),r=this.checkBlocklist(e);if(this.guidanceThreatDetector&&i.length===0)try{let d={agentId:t?.agentId||"",toolName:t?.taskType||""},m=this.guidanceThreatDetector.analyzeInput(e,d);if(m&&Array.isArray(m)&&m.length>0)for(let g of m)i.push({name:`guidance:${g.category||"unknown"}`,category:g.category||"custom",matched:g.description||"",position:0,severity:g.severity||.5,description:g.description||"Detected by guidance ThreatDetector"})}catch{}let s=0;if(i.length>0){let d=i.map(m=>m.severity).sort((m,g)=>g-m);s=d[0];for(let m=1;m<d.length;m++)s+=d[m]*Math.pow(.5,m);s=Math.min(1,s)}r.length>0&&(s=Math.min(1,s+.3));let a=this.shouldBlock({threatScore:s,detectedPatterns:i.map(d=>d.name),isBlocked:!1,recommendations:[],timestamp:Date.now(),assessmentId:""}),o=this.generateRecommendations(i,s,a),l;n.sanitizeInputs&&!a&&(l=this.sanitizeInput(e));let u={threatScore:s,detectedPatterns:i.map(d=>d.name),isBlocked:a,sanitizedInput:l,recommendations:o,timestamp:Date.now(),assessmentId:`assess-${pt()}`};return this.updateStats(u,i),this.assessmentHistory.push(u),this.assessmentHistory.length>1e3&&this.assessmentHistory.shift(),n.penalizeOnDetection&&t?.agentId&&i.length>0&&this.penalizeAgent(t.agentId,u),n.logDetections&&i.length>0&&this.logDetection(u,t),u}detectInjectionPatterns(e){if(!E())return[];let t=[],n=e.toLowerCase();for(let[i,r]of this.patterns){if(!r.enabled)continue;let s=r.pattern.exec(e)||r.pattern.exec(n);s&&(t.push({name:r.name,category:r.category,matched:s[0],position:s.index,severity:r.severity,description:r.description}),this.stats.patternMatchCounts[i]=(this.stats.patternMatchCounts[i]||0)+1)}return t}sanitizeInput(e){if(!E())return e;let t=e;for(let[i,r]of this.patterns)r.enabled&&r.severity>=.8&&(t=t.replace(r.pattern,"[REDACTED]"));t=t.replace(/[;\|\&`$]/g,""),t=t.replace(/\s{3,}/g," ");let n=1e4;return t.length>n&&(t=t.substring(0,n)+"...[TRUNCATED]"),this.stats.sanitizedInputs++,t}escapeSpecialCharacters(e){return e.replace(/[;&|`$]/g,t=>`\\${t}`).replace(/[']/g,"''").replace(/(?<!\\)\\/g,"\\\\")}shouldBlock(e){if(!E())return!1;let t=h.getFlags().adversarialDefense;return!!(e.threatScore>=t.blockThreshold||v()&&e.threatScore>=t.blockThreshold*.7)}addToBlocklist(e,t){E()&&this.blocklist.set(e.toLowerCase(),{pattern:e,reason:t,addedAt:Date.now(),matchCount:0})}removeFromBlocklist(e){this.blocklist.delete(e.toLowerCase())}checkBlocklist(e){let t=[],n=e.toLowerCase();for(let[i,r]of this.blocklist)n.includes(i)&&(r.matchCount++,t.push(r));return t}recordAgentInteraction(e,t,n){if(E()&&this.guidanceCollusionDetector)try{this.guidanceCollusionDetector.recordInteraction(e,t,n)}catch{}}detectCollusion(){if(!E())return null;if(this.guidanceCollusionDetector)try{return this.guidanceCollusionDetector.detectCollusion()}catch{}return null}penalizeAgent(e,t){if(!E())return;let i=.05+t.threatScore*.15;Oe.penalizeTrust(e,i,`Adversarial input detected: ${t.detectedPatterns.join(", ")} (score: ${t.threatScore.toFixed(2)})`),this.stats.agentPenalties++}addCustomPattern(e){let t={...e,category:e.category||"custom"};this.patterns.set(e.name,t)}removePattern(e){return this.patterns.delete(e)}setPatternEnabled(e,t){let n=this.patterns.get(e);return n?(n.enabled=t,!0):!1}getPattern(e){return this.patterns.get(e)}getAllPatterns(){return Array.from(this.patterns.values())}getPatternStats(){let e=Array.from(this.patterns.values()),t={"prompt-injection":0,jailbreak:0,"role-manipulation":0,"data-exfiltration":0,"command-injection":0,"encoded-payload":0,custom:0},n=0,i=0,r=0;for(let s of e)t[s.category]++,s.enabled?n++:i++,s.category==="custom"&&r++;return{totalPatterns:e.length,patternsByCategory:t,enabledPatterns:n,disabledPatterns:i,customPatterns:r}}getDefenseStats(){return{...this.stats}}getBlocklist(){return Array.from(this.blocklist.values())}getAssessmentHistory(e=100){return this.assessmentHistory.slice(-e)}reset(){this.patterns.clear(),this.blocklist.clear(),this.assessmentHistory=[],this.stats=this.createEmptyStats(),this.initialized=!1}resetStats(){this.stats=this.createEmptyStats()}createEmptyStats(){return{totalAssessments:0,blockedInputs:0,sanitizedInputs:0,averageThreatScore:0,patternMatchCounts:{},categoryBreakdown:{"prompt-injection":0,jailbreak:0,"role-manipulation":0,"data-exfiltration":0,"command-injection":0,"encoded-payload":0,custom:0},agentPenalties:0,lastAssessment:null}}createSafeAssessment(e){return{threatScore:0,detectedPatterns:[],isBlocked:!1,sanitizedInput:e,recommendations:[],timestamp:Date.now(),assessmentId:`safe-${Date.now()}`}}updateStats(e,t){this.stats.totalAssessments++,e.isBlocked&&this.stats.blockedInputs++;let n=this.stats.totalAssessments;this.stats.averageThreatScore=(this.stats.averageThreatScore*(n-1)+e.threatScore)/n;for(let i of t)this.stats.categoryBreakdown[i.category]++;this.stats.lastAssessment=e.timestamp}generateRecommendations(e,t,n){let i=[];if(n&&(i.push("Input blocked due to high threat score"),i.push("Review input source and sanitize before retry")),t>=.7&&(i.push("Consider additional input validation"),i.push("Log this attempt for security review")),e.length>0){let r=new Set(e.map(s=>s.category));r.has("prompt-injection")&&(i.push("Implement input boundary markers"),i.push("Use separate instruction and data channels")),r.has("jailbreak")&&(i.push("Monitor for repeated jailbreak attempts"),i.push("Consider rate limiting this user")),r.has("role-manipulation")&&(i.push("Validate agent identity constraints"),i.push("Prevent role switching via user input")),r.has("command-injection")&&(i.push("Never pass user input directly to command execution"),i.push("Use parameterized commands or allowlists")),r.has("data-exfiltration")&&(i.push("Audit access to sensitive data"),i.push("Implement principle of least privilege")),r.has("encoded-payload")&&(i.push("Decode and validate payloads before processing"),i.push("Consider rejecting deeply encoded inputs")),i.length===0&&i.push("Review input for potential security issues")}return i}logDetection(e,t){h.getFlags().global.logViolations&&console.warn("[AdversarialDefense] Threat detected:",{assessmentId:e.assessmentId,threatScore:e.threatScore.toFixed(3),patterns:e.detectedPatterns,isBlocked:e.isBlocked,agentId:t?.agentId,taskType:t?.taskType,source:t?.source,timestamp:new Date().toISOString()})}},O=new ge;O.initialize().catch(()=>{});function pe(c){return O.initialized||O.initialize(),O.assessThreat(c)}function Fe(c){return O.initialized||O.initialize(),O.sanitizeInput(c)}import*as ne from"fs";import*as Y from"path";var Xe={enabled:!0,strictEnforcement:!1,escalateViolations:!0,constitutionPath:".claude/guidance/constitution.md",logAllChecks:!0},fe=class{invariants=new Map;initialized=!1;constitutionLoaded=!1;flags;stats={totalChecks:0,passedChecks:0,failedChecks:0,blockedViolations:0,escalations:0,checksByInvariant:{},lastCheckTimestamp:null,passRate:1};escalationCallbacks=new Set;gateIntegrations=new Map;constructor(e){this.flags={...Xe,...e}}async initialize(){if(!this.initialized){this.loadDefaultInvariants();try{await this.loadConstitution()}catch{this.flags.logAllChecks&&console.warn("[ConstitutionalEnforcer] Could not load constitution file, using defaults")}this.initialized=!0}}isInitialized(){return this.initialized}loadDefaultInvariants(){let e=[{id:"test-execution-integrity",name:"Test Execution Integrity",description:"Claims of test success require execution proof",condition:"IF task.claims_tests_passed THEN EXISTS execution_proof",enforcement:"ContinueGate blocks claims without execution proof",enabled:!0},{id:"security-scan-required",name:"Security Scan Requirement",description:"Auth/security code changes require security scan",condition:"IF change.affects_auth_code THEN EXISTS security_scan WITH status=complete AND critical_vulnerabilities=0",enforcement:"Quality gates block deployment without security scan",enabled:!0},{id:"backup-before-delete",name:"Backup Before Delete",description:"Destructive operations require verified backup",condition:"IF operation.type=delete AND target IN protected_files THEN EXISTS backup.verified=true",enforcement:"MemoryWriteGate blocks destructive operations without backup",enabled:!0},{id:"loop-detection",name:"Loop Detection",description:"Agents must not exceed retry or rework limits",condition:"agent.consecutive_identical_actions < 3 AND agent.rework_ratio < 0.5",enforcement:"ContinueGate throttles or blocks agents exceeding limits",enabled:!0},{id:"budget-enforcement",name:"Budget Enforcement",description:"Sessions must not exceed budget limits",condition:"session.total_cost <= budget_limit AND session.token_usage <= token_limit",enforcement:"BudgetMeter blocks operations exceeding budget",enabled:!0},{id:"memory-consistency",name:"Memory Consistency",description:"No contradictory patterns without supersession",condition:"NOT EXISTS conflicting_pattern WHERE supersession_marker IS NULL",enforcement:"MemoryWriteGate blocks contradictory patterns",enabled:!0},{id:"verification-before-claim",name:"Verification Before Claim",description:"All success claims require verification proof",condition:"FOR ALL claim IN success_claims: EXISTS verification.result=passed",enforcement:"All success claims require proof of verification",enabled:!0}];for(let t of e)this.invariants.set(t.id,t),this.stats.checksByInvariant[t.id]={passed:0,failed:0}}async loadConstitution(e){let t=e||this.flags.constitutionPath,n=t;if(!Y.isAbsolute(t)){let r=[Y.join(process.cwd(),t),Y.join(process.cwd(),"..",t),Y.join(process.cwd(),"../..",t)];for(let s of r)if(ne.existsSync(s)){n=s;break}}if(!ne.existsSync(n))throw new Error(`Constitution file not found: ${n}`);let i=ne.readFileSync(n,"utf-8");this.parseConstitution(i),this.constitutionLoaded=!0}parseConstitution(e){let t=/### Invariant (\d+): ([^\n]+)\n+```\n([\s\S]*?)```\n+\*\*Enforcement\*\*: ([^\n]+)/g,n;for(;(n=t.exec(e))!==null;){let[,i,r,s,a]=n,o=this.generateInvariantId(r),l=this.invariants.get(o);l&&(l.condition=s.trim(),l.enforcement=a.trim())}}generateInvariantId(e){return e.toLowerCase().replace(/\s+/g,"-")}getInvariants(){return Array.from(this.invariants.values())}getInvariant(e){return this.invariants.get(e)||null}setInvariantEnabled(e,t){let n=this.invariants.get(e);n&&(n.enabled=t)}checkInvariant(e,t){let n=this.invariants.get(e);if(!n)return this.createCheck(e,!1,t,`Unknown invariant: ${e}`);if(!n.enabled)return this.createCheck(e,!0,t);switch(e){case"test-execution-integrity":return this.checkTestExecutionIntegrity(t.taskId,t.claimsTestsPassed,t.executionProof);case"security-scan-required":return this.checkSecurityScanRequirement(t.changeId,t.affectsAuthCode,t.securityScan);case"backup-before-delete":return this.checkBackupBeforeDelete(t.operation,t.backup);case"loop-detection":return this.checkLoopDetection(t.agentId,t.stats);case"budget-enforcement":return this.checkBudgetEnforcement(t.sessionCost,t.sessionTokens);case"memory-consistency":return this.checkMemoryConsistency(t.pattern,t.existingPatterns);case"verification-before-claim":return this.checkVerificationBeforeClaim(t.claimId,t.verification);default:return this.createCheck(e,!0,t)}}checkAllInvariants(e){let t=[];for(let n of this.invariants.values())if(n.enabled){let i=this.checkInvariant(n.id,e);t.push(i)}return t}checkTestExecutionIntegrity(e,t,n){let i={taskId:e,claimsTestsPassed:t,hasProof:!!n};return t?n?n.taskId!==e?this.createCheck("test-execution-integrity",!1,i,`Execution proof task_id (${n.taskId}) does not match claim task_id (${e})`,"Ensure execution proof is for the correct task"):n.allTestsExecuted?n.timestamp?this.createCheck("test-execution-integrity",!0,i):this.createCheck("test-execution-integrity",!1,i,"Execution proof missing timestamp","Include timestamp in execution proof"):this.createCheck("test-execution-integrity",!1,i,"Execution proof indicates not all tests were executed","Execute all tests before claiming success"):this.createCheck("test-execution-integrity",!1,i,"Test success claimed without execution proof","Provide ExecutionProof with task_id matching the claim and all_tests_executed=true"):this.createCheck("test-execution-integrity",!0,i)}checkSecurityScanRequirement(e,t,n){let i={changeId:e,affectsAuthCode:t,hasScan:!!n};return t?n?n.changeId!==e?this.createCheck("security-scan-required",!1,i,`Security scan change_id (${n.changeId}) does not match (${e})`,"Ensure security scan is for the correct change"):n.status!=="complete"?this.createCheck("security-scan-required",!1,i,`Security scan status is ${n.status}, not complete`,"Wait for security scan to complete"):n.criticalVulnerabilities>0?this.createCheck("security-scan-required",!1,i,`Security scan found ${n.criticalVulnerabilities} critical vulnerabilities`,"Fix all critical vulnerabilities before deploying"):this.createCheck("security-scan-required",!0,i):this.createCheck("security-scan-required",!1,i,"Auth/security code change without security scan","Run security scan before deploying auth-related changes"):this.createCheck("security-scan-required",!0,i)}checkBackupBeforeDelete(e,t){let n={operation:e,hasBackup:!!t};return!e||!e.target?this.createCheck("backup-before-delete",!0,n):["memory.db","coverage/",".db"].some(s=>e.target.includes(s))?t?t.source!==e.target?this.createCheck("backup-before-delete",!1,n,`Backup source (${t.source}) does not match delete target (${e.target})`,"Create backup for the correct target"):t.timestamp>=e.timestamp?this.createCheck("backup-before-delete",!1,n,"Backup timestamp is after operation timestamp","Create backup before starting delete operation"):t.verified?this.createCheck("backup-before-delete",!0,n):this.createCheck("backup-before-delete",!1,n,"Backup is not verified","Verify backup integrity before proceeding"):this.createCheck("backup-before-delete",!1,n,`Delete operation on protected target (${e.target}) without backup`,"Create and verify backup before deleting protected files"):this.createCheck("backup-before-delete",!0,n)}checkLoopDetection(e,t){let n={agentId:e,stats:t};if(!t)return this.createCheck("loop-detection",!0,n);let i=h.getFlags().continueGate.maxConsecutiveRetries,r=h.getFlags().continueGate.reworkRatioThreshold;return t.consecutiveIdenticalActions>=i?this.createCheck("loop-detection",!1,n,`Agent ${e} exceeded max consecutive retries (${t.consecutiveIdenticalActions}/${i})`,"Break the loop by trying a different approach or escalating"):t.reworkRatio>r?this.createCheck("loop-detection",!1,n,`Agent ${e} rework ratio too high (${(t.reworkRatio*100).toFixed(1)}% > ${r*100}%)`,"Review agent strategy or reassign task"):this.createCheck("loop-detection",!0,n)}checkBudgetEnforcement(e,t){let n={sessionCost:e,sessionTokens:t},i=h.getFlags().budgetMeter;return e>i.maxSessionCostUsd?this.createCheck("budget-enforcement",!1,n,`Session cost ($${e.toFixed(2)}) exceeds limit ($${i.maxSessionCostUsd})`,"Stop current operations or request budget increase"):t>i.maxTokensPerSession?this.createCheck("budget-enforcement",!1,n,`Session tokens (${t}) exceeds limit (${i.maxTokensPerSession})`,"Optimize token usage or request limit increase"):this.createCheck("budget-enforcement",!0,n)}checkMemoryConsistency(e,t){let n={patternKey:e?.key,domain:e?.domain};if(!e||!t)return this.createCheck("memory-consistency",!0,n);let i=t.filter(r=>r.domain===e.domain);for(let r of i)if(r.key===e.key&&!e.supersessionMarker&&JSON.stringify(r.value)!==JSON.stringify(e.value))return this.createCheck("memory-consistency",!1,{...n,conflictingPattern:r.key},`Pattern ${e.key} contradicts existing pattern without supersession marker`,"Add supersession marker to explicitly replace the old pattern");return this.createCheck("memory-consistency",!0,n)}checkVerificationBeforeClaim(e,t){let n={claimId:e,hasVerification:!!t};return t?t.claimId!==e?this.createCheck("verification-before-claim",!1,n,`Verification claim_id (${t.claimId}) does not match (${e})`,"Ensure verification is for the correct claim"):["test_execution","manual_review","automated_check"].includes(t.method)?t.result!=="passed"?this.createCheck("verification-before-claim",!1,n,`Verification result is ${t.result}, not passed`,"Cannot claim success with pending or failed verification"):this.createCheck("verification-before-claim",!0,n):this.createCheck("verification-before-claim",!1,n,`Invalid verification method: ${t.method}`,"Use one of: test_execution, manual_review, automated_check"):this.createCheck("verification-before-claim",!1,n,`Success claim ${e} made without verification`,"Provide verification through test_execution, manual_review, or automated_check")}enforceInvariant(e){let t={blocked:!1,escalated:!1};return e.passed||(this.shouldBlock(e)&&(t.blocked=!0,t.reason=e.violationDetails,this.stats.blockedViolations++,this.flags.logAllChecks&&console.warn(`[ConstitutionalEnforcer] BLOCKED: ${e.invariantId}`,{violation:e.violationDetails,context:e.context})),this.flags.escalateViolations&&(this.escalateViolation(e),t.escalated=!0,this.stats.escalations++)),t}shouldBlock(e){if(!e.passed&&(this.flags.strictEnforcement||v()))return!0;let t=["test-execution-integrity","security-scan-required","budget-enforcement"];return!!(!e.passed&&t.includes(e.invariantId))}escalateViolation(e){e.passed||(this.flags.logAllChecks&&console.warn(`[ConstitutionalEnforcer] ESCALATION: ${e.invariantId}`,{violation:e.violationDetails,recommendation:e.recommendation}),this.escalationCallbacks.forEach(t=>{try{t(e)}catch(n){console.error("[ConstitutionalEnforcer] Escalation callback error:",n)}}))}onEscalation(e){return this.escalationCallbacks.add(e),()=>this.escalationCallbacks.delete(e)}integrateWithGate(e,t){this.gateIntegrations.set(e,t)}runGateChecks(){let e=[];for(let[t,n]of this.gateIntegrations)try{let i=n();e.push(i)}catch(i){console.error(`[ConstitutionalEnforcer] Gate check error for ${t}:`,i)}return e}getEnforcementStats(){return{...this.stats,passRate:this.stats.totalChecks>0?this.stats.passedChecks/this.stats.totalChecks:1}}resetStats(){this.stats={totalChecks:0,passedChecks:0,failedChecks:0,blockedViolations:0,escalations:0,checksByInvariant:{},lastCheckTimestamp:null,passRate:1};for(let e of this.invariants.keys())this.stats.checksByInvariant[e]={passed:0,failed:0}}createCheck(e,t,n,i,r){let s={invariantId:e,passed:t,context:n,timestamp:Date.now(),violationDetails:i,recommendation:r};return this.stats.totalChecks++,this.stats.lastCheckTimestamp=s.timestamp,t?this.stats.passedChecks++:this.stats.failedChecks++,this.stats.checksByInvariant[e]||(this.stats.checksByInvariant[e]={passed:0,failed:0}),t?this.stats.checksByInvariant[e].passed++:this.stats.checksByInvariant[e].failed++,this.flags.logAllChecks&&!t&&console.warn(`[ConstitutionalEnforcer] Check failed: ${e}`,{violationDetails:i,recommendation:r}),s}getFlags(){return{...this.flags}}updateFlags(e){this.flags={...this.flags,...e}}reset(){this.invariants.clear(),this.gateIntegrations.clear(),this.escalationCallbacks.clear(),this.initialized=!1,this.constitutionLoaded=!1,this.resetStats()}},X=new fe;var _e=class{initialized=!1;sessionCost=0;sessionTokens=0;escalationCallbacks=new Set;async initialize(){this.initialized||(await C.initialize(),this.initialized=!0,console.log("[QueenGovernance] Initialized with flags:",{continueGate:G(),memoryWriteGate:U(),budgetMeter:ce(),strictMode:v()}))}async beforeTaskExecution(e){let t={allowed:!0};if(E()&&e.payload){let i=JSON.stringify(e.payload),r=pe(i);if(t.threatAssessment=r,r.isBlocked&&(x()&&R.recordViolation({type:"adversarial_detected",severity:r.threatScore>.7?"critical":"high",agentId:e.agentId,gate:"adversarialDefense",description:`Adversarial threat detected in task ${e.taskId}: ${r.detectedPatterns.join(", ")}`,context:{taskId:e.taskId,threatScore:r.threatScore,detectedPatterns:r.detectedPatterns,domain:e.domain}}),console.warn("[QueenGovernance] Adversarial threat detected:",{taskId:e.taskId,agentId:e.agentId,threatScore:r.threatScore,patterns:r.detectedPatterns}),v()))return{allowed:!1,reason:`Adversarial threat detected: ${r.detectedPatterns.join(", ")}`,threatAssessment:r}}if(!G())return t;C.recordAction(me(e.agentId,`task:${e.taskType}`,e.domain,{taskId:e.taskId,retryCount:e.retryCount||0},!0));let n=await C.evaluate(e.agentId);if(!n.shouldContinue)return x()&&R.recordViolation({type:"loop_detected",severity:"high",agentId:e.agentId,gate:"continueGate",description:`Agent ${e.agentId} loop detected in task ${e.taskId}: ${n.reason}`,context:{taskId:e.taskId,reason:n.reason,throttleMs:n.throttleMs}}),n.escalate&&h.getFlags().global.escalateToQueen&&this.triggerEscalation(e,n.reason||"Unknown"),{...t,allowed:!1,reason:n.reason,throttleMs:n.throttleMs,escalate:n.escalate,agentStats:C.getAgentStats(e.agentId)};if(ce()){let i=this.checkBudget();if(!i.allowed)return x()&&R.recordViolation({type:"budget_exceeded",severity:"high",agentId:e.agentId,gate:"budgetMeter",description:`Budget exceeded for task ${e.taskId}: ${i.reason}`,context:{taskId:e.taskId,reason:i.reason,sessionCost:this.sessionCost,sessionTokens:this.sessionTokens}}),{...t,allowed:!1,reason:i.reason}}return{...t,allowed:!0,agentStats:C.getAgentStats(e.agentId)}}async afterTaskExecution(e,t,n,i,r){if(C.recordAction(me(e.agentId,`task-result:${e.taskType}`,e.domain,{taskId:e.taskId,success:t},t)),n!==void 0&&(this.sessionCost+=n),i!==void 0&&(this.sessionTokens+=i),K()&&r){let s=r.passed>0&&r.failed===0,a=s?{taskId:e.taskId,allTestsExecuted:!0,timestamp:Date.now(),passed:r.passed,failed:r.failed,skipped:r.skipped}:void 0,o=X.checkTestExecutionIntegrity(e.taskId,s,a);o.passed||(console.warn("[QueenGovernance] Constitutional invariant violation:",{invariantId:o.invariantId,taskId:e.taskId,violation:o.violationDetails}),x()&&R.recordViolation({type:"invariant_violated",severity:"critical",agentId:e.agentId,gate:"constitutionalEnforcer",description:`Test execution integrity violation for task ${e.taskId}: ${o.violationDetails}`,context:{taskId:e.taskId,invariantId:o.invariantId,violationDetails:o.violationDetails,recommendation:o.recommendation}}))}if(K()&&t){let s={claimId:e.taskId,method:"automated_check",result:"passed",timestamp:Date.now(),evidence:`Task ${e.taskId} completed by agent ${e.agentId}`},a=X.checkVerificationBeforeClaim(e.taskId,s);a.passed||(console.warn("[QueenGovernance] Claim without verification:",{invariantId:a.invariantId,taskId:e.taskId,violation:a.violationDetails}),x()&&R.recordViolation({type:"invariant_violated",severity:"high",agentId:e.agentId,gate:"constitutionalEnforcer",description:`Verification-before-claim violation for task ${e.taskId}: ${a.violationDetails}`,context:{taskId:e.taskId,invariantId:a.invariantId,violationDetails:a.violationDetails}}))}!t&&(e.retryCount||0)>=2&&C.getAgentStats(e.agentId).reworkRatio>.5&&this.triggerEscalation(e,`High failure rate after ${e.retryCount} retries`)}async beforeMemoryWrite(e){if(!U())return{allowed:!0};let t=Pe(e.key,e.value,e.domain,{agentId:e.agentId,tags:e.tags,supersedes:e.supersedes});return Q.evaluateWrite(t)}registerPattern(e){let t=Pe(e.key,e.value,e.domain,{agentId:e.agentId,tags:e.tags});Q.registerPattern(t)}onAgentAction(e){G()&&C.recordAction(me(e.agentId,e.actionType,e.target,e.params,e.success))}validateUserInput(e,t){if(!E())return{safe:!0,sanitized:e};let n=pe(e),i=Fe(e);return n.isBlocked&&x()&&R.recordViolation({type:"adversarial_detected",severity:n.threatScore>.7?"critical":"high",agentId:t?.agentId||"unknown",gate:"adversarialDefense",description:`Adversarial input detected from ${t?.source||"user_input"}: ${n.detectedPatterns.join(", ")}`,context:{source:t?.source||"user_input",threatScore:n.threatScore,detectedPatterns:n.detectedPatterns}}),{safe:!n.isBlocked,sanitized:i,threatAssessment:n}}async checkSecurityScanRequired(e,t,n){if(!K())return{allowed:!0};let i=X.checkSecurityScanRequirement(e,t,n);return!i.passed&&(x()&&R.recordViolation({type:"invariant_violated",severity:"critical",gate:"constitutionalEnforcer",description:`Security scan required for change ${e}: ${i.violationDetails}`,context:{invariantId:i.invariantId,changeId:e,affectsAuthCode:t,violationDetails:i.violationDetails}}),v())?{allowed:!1,reason:i.violationDetails}:{allowed:!0}}async checkBackupRequired(e,t){if(!K())return{allowed:!0};let n={type:"delete",target:e,timestamp:Date.now()},i=X.checkBackupBeforeDelete(n,t);return!i.passed&&(x()&&R.recordViolation({type:"invariant_violated",severity:"high",gate:"constitutionalEnforcer",description:`Backup required before delete of ${e}: ${i.violationDetails}`,context:{invariantId:i.invariantId,targetPath:e,violationDetails:i.violationDetails}}),v())?{allowed:!1,reason:i.violationDetails}:{allowed:!0}}getComplianceReport(){if(!x())return null;let e=R.getComplianceStats(),t=R.getViolations(),n;return e.currentScore>=90?n="A":e.currentScore>=80?n="B":e.currentScore>=70?n="C":e.currentScore>=60?n="D":n="F",{score:e.currentScore,grade:n,violations:t}}isAgentThrottled(e){return C.getAgentStats(e).isThrottled}getThrottleRemaining(e){return C.getAgentStats(e).throttleRemainingMs}clearAgentThrottle(e){C.clearThrottle(e)}onEscalation(e){return this.escalationCallbacks.add(e),()=>this.escalationCallbacks.delete(e)}checkBudget(){let e=h.getFlags().budgetMeter;if(this.sessionCost>=e.maxSessionCostUsd)return{allowed:!v(),reason:`Session cost limit exceeded ($${this.sessionCost.toFixed(2)} >= $${e.maxSessionCostUsd})`};if(this.sessionTokens>=e.maxTokensPerSession)return{allowed:!v(),reason:`Session token limit exceeded (${this.sessionTokens} >= ${e.maxTokensPerSession})`};let t=this.sessionCost/e.maxSessionCostUsd*100,n=this.sessionTokens/e.maxTokensPerSession*100;return(t>=e.warningThresholdPercent||n>=e.warningThresholdPercent)&&console.warn(`[QueenGovernance] Budget warning: ${Math.max(t,n).toFixed(1)}% consumed`),{allowed:!0}}triggerEscalation(e,t){console.warn("[QueenGovernance] Escalation triggered:",{agentId:e.agentId,taskId:e.taskId,domain:e.domain,reason:t}),this.escalationCallbacks.forEach(n=>{try{n(e,t)}catch(i){console.error("[QueenGovernance] Escalation callback error:",i)}})}getStats(){let e=Q.getStats();return{sessionCost:this.sessionCost,sessionTokens:this.sessionTokens,memoryPatterns:e.totalPatterns,patternsByDomain:e.patternsByDomain}}async applyMemoryDecay(){return Q.applyTemporalDecay()}reset(){C.reset(),Q.reset(),this.sessionCost=0,this.sessionTokens=0}enableStrictMode(){h.enableStrictMode()}disableAllGates(){h.disableAllGates()}},bn=new _e;var yt=[/\(\.\*\)\+/,/\(\.\+\)\+/,/\([^)]*?\?\)\+/,/\([^)]*?\*\)\+/,/\([^)]*?\+\)\+/,/\(\[[^\]]*\]\+\)\+/,/\(\[[^\]]*\]\*\)\+/,/\(\[[^\]]*\]\?\)\+/,/\(\[[^\]]*\]\*\)\*/,/\.\*\.\*/,/\.\+\.\+/,/\(\.\|\.\)/],vt=3;function bt(c){let e=0,t=0,n=!1,i=!1;for(let r=0;r<c.length;r++){let s=c[r];if(i){i=!1;continue}if(s==="\\"){i=!0;continue}if(s==="("){n=!0;continue}if(s===")"){n=!1;let a=c[r+1];(a==="*"||a==="+"||a==="?"||a==="{")&&(t++,e=Math.max(e,t));continue}(s==="*"||s==="+"||s==="?")&&!n&&(t=1,e=Math.max(e,t))}return e}function St(c){return[/\(\[^\\]*\]\+\)\+/,/\(\[^\\]*\]\*\)\*/,/\([^)]+\|[^)]+\)\+/,/\(\.\*\)[*+]/,/\(\.\+\)[*+]/].some(t=>t.test(c))}var $e=class{name="regex-safety";maxComplexity;constructor(e=vt){this.maxComplexity=e}getRiskLevel(){return"high"}validate(e,t={}){let{maxLength:n=1e4,maxComplexity:i=this.maxComplexity}=t;if(e.length>n)return{valid:!1,error:`Pattern exceeds maximum length of ${n}`,riskLevel:"medium"};let r=this.isRegexSafe(e,i);return{valid:r.safe,error:r.error,riskLevel:r.safe?"none":"high"}}isRegexSafe(e,t=this.maxComplexity){let n=[];for(let r of yt)r.test(e)&&n.push(r.source);let i=bt(e);return i>t&&n.push(`Quantifier nesting depth: ${i} (max: ${t})`),St(e)&&n.push("Exponential backtracking potential detected"),{safe:n.length===0,pattern:e,escapedPattern:this.escapeRegex(e),riskyPatterns:n,error:n.length>0?"Pattern may cause ReDoS":void 0}}escapeRegex(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}createSafeRegex(e,t,n=1e4){if(!this.isRegexSafe(e).safe||e.length>n)return null;try{return new RegExp(e,t)}catch{return null}}},Tt=new $e;var Ze=(c,e,t)=>Tt.createSafeRegex(c,e,t);function ye(){return h.getFlags().deterministicGateway??{enabled:!1,deduplicationWindowMs:5e3,cacheResultsForIdempotent:!0,validateSchemas:!0}}var Ne=class{requestHistory=new Map;resultCache=new Map;toolSchemas=new Map;guidanceGateway=null;initialized=!1;async initialize(){if(!this.initialized){this.registerDefaultSchemas(),this.initialized=!0;try{let t=await import("@claude-flow/guidance/gateway");t&&typeof t.createToolGateway=="function"&&(this.guidanceGateway=t.createToolGateway(),console.log("[DeterministicGateway] Guidance ToolGateway loaded"))}catch{this.guidanceGateway=null}}}registerDefaultSchemas(){this.registerToolSchema({toolName:"memory_store",params:{key:{type:"string",required:!0,minLength:1},value:{type:"object",required:!0},namespace:{type:"string",required:!1}},isIdempotent:!0,cacheableDurationMs:6e4}),this.registerToolSchema({toolName:"memory_retrieve",params:{key:{type:"string",required:!0,minLength:1},namespace:{type:"string",required:!1}},isIdempotent:!0,cacheableDurationMs:3e4}),this.registerToolSchema({toolName:"test_execute",params:{testFiles:{type:"array",required:!0},parallel:{type:"boolean",required:!1}},isIdempotent:!1}),this.registerToolSchema({toolName:"coverage_analyze",params:{target:{type:"string",required:!0},detectGaps:{type:"boolean",required:!1}},isIdempotent:!0,cacheableDurationMs:12e4}),this.registerToolSchema({toolName:"quality_assess",params:{target:{type:"string",required:!0},metrics:{type:"array",required:!1}},isIdempotent:!0,cacheableDurationMs:6e4})}registerToolSchema(e){this.toolSchemas.set(e.toolName,e)}async beforeToolCall(e,t,n){if(!le())return{allowed:!0};await this.initialize();let i=ye(),r=n||this.generateIdempotencyKey(e,t);if(this.cleanupExpiredEntries(),this.isDuplicate(r)){let s=this.requestHistory.get(r);return s.completed&&i.cacheResultsForIdempotent?(this.logEvent(e,"duplicate_with_cache",r),{allowed:!1,reason:"Duplicate request - returning cached result",cachedResult:s.result,isDuplicate:!0,idempotencyKey:r}):(this.logEvent(e,"duplicate_in_flight",r),{allowed:!v(),reason:"Duplicate request in-flight",isDuplicate:!0,idempotencyKey:r})}if(this.requestHistory.set(r,{idempotencyKey:r,toolName:e,params:t,timestamp:Date.now(),completed:!1}),i.validateSchemas){let s=this.validateParams(e,t);if(s.length>0)return this.logEvent(e,"validation_failed",r,s),{allowed:!v(),reason:`Schema validation failed: ${s.map(a=>a.message).join(", ")}`,validationErrors:s,idempotencyKey:r}}if(i.cacheResultsForIdempotent){let s=this.getCachedResult(r);if(s!==null)return this.logEvent(e,"cache_hit",r),{allowed:!1,reason:"Returning cached result for idempotent operation",cachedResult:s,idempotencyKey:r}}if(this.guidanceGateway&&typeof t=="object"&&t!==null)try{let s=this.guidanceGateway.evaluate(e,t);if(!s.allowed)return this.logEvent(e,"guidance_denied",r),{allowed:!v(),reason:`Guidance gateway: ${s.reason}`,idempotencyKey:r}}catch{}return{allowed:!0,idempotencyKey:r}}async afterToolCall(e,t,n){if(!le())return;let i=ye(),r=this.requestHistory.get(n);if(r&&(r.completed=!0,r.result=t),i.cacheResultsForIdempotent){let s=this.toolSchemas.get(e);if(s?.isIdempotent){let a=s.cacheableDurationMs||6e4;this.resultCache.set(n,{result:t,timestamp:Date.now(),toolName:e,expiresAt:Date.now()+a})}}}generateIdempotencyKey(e,t){let n=JSON.stringify({toolName:e,params:t},this.sortKeys);return this.hashString(n)}isDuplicate(e){let t=ye(),n=this.requestHistory.get(e);return n?Date.now()-n.timestamp<t.deduplicationWindowMs:!1}getCachedResult(e){let t=this.resultCache.get(e);return t?Date.now()>t.expiresAt?(this.resultCache.delete(e),null):t.result:null}validateParams(e,t){let n=this.toolSchemas.get(e);if(!n)return[];let i=[],r=typeof t=="object"&&t!==null?t:{};for(let[s,a]of Object.entries(n.params)){let o=r[s],l=this.validateValue(o,a,s);i.push(...l)}return i}validateValue(e,t,n){let i=[];if(t.required&&e==null)return i.push({path:n,message:`${n} is required`,expected:t.type,received:"undefined"}),i;if(e==null)return i;let r=Array.isArray(e)?"array":typeof e;if(r!==t.type)return i.push({path:n,message:`${n} must be of type ${t.type}`,expected:t.type,received:r}),i;if(t.type==="string"&&typeof e=="string"){t.minLength!==void 0&&e.length<t.minLength&&i.push({path:n,message:`${n} must be at least ${t.minLength} characters`,expected:`minLength: ${t.minLength}`,received:`length: ${e.length}`}),t.maxLength!==void 0&&e.length>t.maxLength&&i.push({path:n,message:`${n} must be at most ${t.maxLength} characters`,expected:`maxLength: ${t.maxLength}`,received:`length: ${e.length}`});let s=t.pattern?Ze(t.pattern):null;s&&!s.test(e)&&i.push({path:n,message:`${n} must match pattern ${t.pattern}`,expected:`pattern: ${t.pattern}`,received:e})}if(t.type==="number"&&typeof e=="number"&&(t.min!==void 0&&e<t.min&&i.push({path:n,message:`${n} must be at least ${t.min}`,expected:`min: ${t.min}`,received:`${e}`}),t.max!==void 0&&e>t.max&&i.push({path:n,message:`${n} must be at most ${t.max}`,expected:`max: ${t.max}`,received:`${e}`})),t.enum&&!t.enum.includes(e)&&i.push({path:n,message:`${n} must be one of: ${t.enum.join(", ")}`,expected:`enum: [${t.enum.join(", ")}]`,received:String(e)}),t.type==="array"&&Array.isArray(e)&&t.items&&e.forEach((s,a)=>{let o=this.validateValue(s,t.items,`${n}[${a}]`);i.push(...o)}),t.type==="object"&&typeof e=="object"&&t.properties){let s=e;for(let[a,o]of Object.entries(t.properties)){let l=this.validateValue(s[a],o,`${n}.${a}`);i.push(...l)}}return i}cleanupExpiredEntries(){let e=Date.now(),t=ye();for(let[n,i]of this.requestHistory){let r=e-i.timestamp;!i.completed&&r>t.deduplicationWindowMs?this.requestHistory.delete(n):i.completed&&r>t.deduplicationWindowMs*10&&this.requestHistory.delete(n)}for(let[n,i]of this.resultCache)e>i.expiresAt&&this.resultCache.delete(n)}logEvent(e,t,n,i){h.getFlags().global.logViolations&&console.info(`[DeterministicGateway] ${t}:`,{toolName:e,idempotencyKey:n.substring(0,16)+"...",eventType:t,details:i,timestamp:new Date().toISOString()})}sortKeys=(e,t)=>{if(t&&typeof t=="object"&&!Array.isArray(t)){let n={};for(let i of Object.keys(t).sort())n[i]=t[i];return n}return t};hashString(e){let t=0;for(let i=0;i<e.length;i++){let r=e.charCodeAt(i);t=(t<<5)-t+r,t=t&t}return`idem_${Math.abs(t).toString(16).padStart(8,"0")}`}getStats(){return{pendingRequests:[...this.requestHistory.values()].filter(t=>!t.completed).length,cachedResults:this.resultCache.size,registeredSchemas:this.toolSchemas.size,duplicatesPrevented:[...this.requestHistory.values()].filter(t=>t.completed).length}}clearCache(e){this.resultCache.delete(e),this.requestHistory.delete(e)}clearAllCaches(){this.resultCache.clear(),this.requestHistory.clear()}reset(){this.requestHistory.clear(),this.resultCache.clear(),this.toolSchemas.clear(),this.initialized=!1}getToolSchema(e){return this.toolSchemas.get(e)}isToolIdempotent(e){return this.toolSchemas.get(e)?.isIdempotent??!1}},kn=new Ne;ae();W();function F(){let c=h.getFlags();return c.global.enableAllGates?c.evolutionPipeline?.enabled??!1:!1}function ie(){return h.getFlags().evolutionPipeline??{enabled:!1,autoPromoteThreshold:.9,autoDemoteThreshold:.3,minSamplesForDecision:20,learningRate:.1}}var ve=class c{rules=new Map;variantTests=new Map;taskOutcomes=new Map;guidanceEvolution=null;initialized=!1;db=null;persistCount=0;static NAMESPACE="rule-evolution";static TTL_SECONDS=604800;static PERSIST_INTERVAL=10;stats={autoPromotions:0,autoDemotions:0,learningOutcomes:0};TIME_WINDOWS={HOUR:3600*1e3,DAY:1440*60*1e3,WEEK:10080*60*1e3};async initialize(){if(!this.initialized){try{this.db=V(),this.db.isInitialized()||await this.db.initialize(),await this.loadFromKv()}catch(e){console.warn("[EvolutionPipeline] DB init failed, using memory-only:",S(e)),this.db=null}try{let t=await import("@claude-flow/guidance/evolution");t&&typeof t.createEvolutionPipeline=="function"&&(this.guidanceEvolution=t.createEvolutionPipeline(),console.log("[EvolutionPipeline] Guidance EvolutionPipeline loaded"))}catch{this.guidanceEvolution=null}this.initialized=!0,this.logEvent("initialize","Evolution Pipeline initialized")}}recordRuleApplication(e,t,n){if(!F())return;let i=this.getOrCreateRuleRecord(e),r={ruleId:e,context:t,success:n,timestamp:Date.now()};i.applications.push(r),this.pruneApplicationHistory(i),this.checkAutoPromotionDemotion(e),this.persistSnapshot(),this.logEvent("rule_application",`Rule ${e} applied: ${n?"success":"failure"}`)}getRuleEffectiveness(e){let t=this.rules.get(e);if(!t)return this.createEmptyEffectiveness(e);let n=Date.now(),i=t.applications,r=i.filter(f=>n-f.timestamp<this.TIME_WINDOWS.HOUR),s=i.filter(f=>n-f.timestamp<this.TIME_WINDOWS.DAY),a=i.filter(f=>n-f.timestamp<this.TIME_WINDOWS.WEEK),o=i.length,l=i.filter(f=>f.success).length,u=o>0?l/o:0,d=this.calculateWilsonConfidenceInterval(l,o,.95),m=new Map,g=this.groupBy(i,f=>f.context.domain||"unknown");for(let[f,y]of Object.entries(g)){let w=y.filter(A=>A.success).length;m.set(f,{domain:f,applications:y.length,successes:w,successRate:y.length>0?w/y.length:0})}let p=new Map,b=this.groupBy(i,f=>f.context.taskType||"unknown");for(let[f,y]of Object.entries(b)){let w=y.filter(A=>A.success).length;p.set(f,{taskType:f,applications:y.length,successes:w,successRate:y.length>0?w/y.length:0})}let I=ie(),T=o>=I.minSamplesForDecision;return{ruleId:e,totalApplications:o,successfulApplications:l,successRate:u,successRate1h:this.calculateSuccessRate(r),successRate24h:this.calculateSuccessRate(s),successRate7d:this.calculateSuccessRate(a),confidenceInterval:d,isStatisticallySignificant:T,byDomain:m,byTaskType:p,promotionStatus:t.promotionStatus,lastUpdated:n}}promoteRule(e,t){if(!F())return;let n=this.getOrCreateRuleRecord(e),i=n.promotionStatus,r;switch(i){case"candidate":case"demoted":r="promoted";break;case"deprecated":r="candidate";break;default:r=i}if(r!==i){if(n.promotionStatus=r,n.promotionHistory.push({status:r,timestamp:Date.now(),reason:t}),this.guidanceEvolution)try{this.guidanceEvolution.propose({kind:"rule-promote",title:`Promote rule ${e}`,description:t,author:"aqe-evolution-pipeline",targetPath:`rules/${e}`,diff:{before:i,after:r},rationale:t,riskAssessment:{level:"low",factors:["automated-promotion"]}})}catch{}this.logEvent("rule_promotion",`Rule ${e} promoted: ${i} -> ${r}. Reason: ${t}`)}}demoteRule(e,t){if(!F())return;let n=this.getOrCreateRuleRecord(e),i=n.promotionStatus,r;switch(i){case"promoted":case"candidate":r="demoted";break;case"demoted":r="deprecated";break;default:r=i}if(r!==i){if(n.promotionStatus=r,n.promotionHistory.push({status:r,timestamp:Date.now(),reason:t}),this.guidanceEvolution)try{this.guidanceEvolution.propose({kind:"rule-remove",title:`Demote rule ${e}`,description:t,author:"aqe-evolution-pipeline",targetPath:`rules/${e}`,diff:{before:i,after:r},rationale:t,riskAssessment:{level:r==="deprecated"?"medium":"low",factors:["automated-demotion"]}})}catch{}this.logEvent("rule_demotion",`Rule ${e} demoted: ${i} -> ${r}. Reason: ${t}`)}}createVariant(e,t){if(!F())return`${e}-variant-disabled`;let n=this.rules.get(e),i=`${e}-variant-${Date.now()}`,r={ruleId:i,name:t.name||`${n?.name||e} (Variant)`,createdAt:Date.now(),promotionStatus:"variant",baseRuleId:e,applications:[],promotionHistory:[{status:"variant",timestamp:Date.now(),reason:`Variant created: ${t.changeDescription}`}]};return this.rules.set(i,r),this.logEvent("variant_created",`Variant ${i} created from ${e}: ${t.changeDescription}`),i}learnFromOutcome(e,t){if(F()){if(this.taskOutcomes.set(e,t),this.stats.learningOutcomes++,t.appliedRules&&t.appliedRules.length>0){let n={taskType:t.taskType};for(let i of t.appliedRules)this.recordRuleApplication(i,n,t.success)}if(this.taskOutcomes.size>1e4){let n=Array.from(this.taskOutcomes.entries()).sort((i,r)=>i[1].timestamp-r[1].timestamp).slice(0,1e3);for(let[i]of n)this.taskOutcomes.delete(i)}this.logEvent("learning_outcome",`Learned from task ${e}: ${t.success?"success":"failure"}`)}}suggestRuleOptimizations(){if(!F())return[];let e=[],t=ie();for(let[n,i]of Array.from(this.rules.entries())){let r=this.getRuleEffectiveness(n);if(r.isStatisticallySignificant){if(r.successRate<t.autoDemoteThreshold){e.push({ruleId:n,optimizationType:"deprecation",current:r.successRate,suggested:null,reasoning:`Rule has ${(r.successRate*100).toFixed(1)}% success rate (below ${(t.autoDemoteThreshold*100).toFixed(1)}% threshold)`,estimatedImprovement:1-r.successRate,confidence:Math.min(1,r.totalApplications/100)});continue}for(let[s,a]of Array.from(r.byDomain.entries()))a.applications>=10&&a.successRate>r.successRate+.1&&e.push({ruleId:n,optimizationType:"context_restriction",current:{domain:"all"},suggested:{domain:s},reasoning:`Rule performs ${((a.successRate-r.successRate)*100).toFixed(1)}% better in ${s} domain`,estimatedImprovement:a.successRate-r.successRate,confidence:Math.min(1,a.applications/50)});for(let[s,a]of Array.from(r.byTaskType.entries()))a.applications>=10&&a.successRate>r.successRate+.1&&e.push({ruleId:n,optimizationType:"context_restriction",current:{taskType:"all"},suggested:{taskType:s},reasoning:`Rule performs ${((a.successRate-r.successRate)*100).toFixed(1)}% better for ${s} tasks`,estimatedImprovement:a.successRate-r.successRate,confidence:Math.min(1,a.applications/50)})}}return e.sort((n,i)=>i.estimatedImprovement-n.estimatedImprovement),e}registerVariantTest(e,t){if(!F())return;if(t.length<2)throw new Error("A/B test requires at least 2 variants");let n={testId:e,variants:t,startTime:Date.now(),endTime:null,results:new Map,status:"running",winner:null,significanceAchieved:!1};for(let i of t)n.results.set(i,{variantId:i,applications:0,successes:0,successRate:0,avgDurationMs:0});this.variantTests.set(e,n),this.logEvent("variant_test_registered",`A/B test ${e} registered with ${t.length} variants`)}recordVariantOutcome(e,t,n,i){if(!F())return;let r=this.variantTests.get(e);if(!r){this.logEvent("variant_test_error",`A/B test ${e} not found`);return}if(r.status!=="running"){this.logEvent("variant_test_error",`A/B test ${e} is not running (status: ${r.status})`);return}let s=r.results.get(t);if(!s){this.logEvent("variant_test_error",`Variant ${t} not found in test ${e}`);return}s.applications++,n&&s.successes++,s.successRate=s.applications>0?s.successes/s.applications:0,i!==void 0&&(s.avgDurationMs=(s.avgDurationMs*(s.applications-1)+i)/s.applications),this.checkVariantTestSignificance(r)}getWinningVariant(e){let t=this.variantTests.get(e);return t?t.winner?t.winner:t.significanceAchieved?this.determineWinner(t):null:null}getActiveTests(){return Array.from(this.variantTests.values()).filter(e=>e.status==="running")}completeVariantTest(e){let t=this.variantTests.get(e);return t?(t.status="completed",t.endTime=Date.now(),t.winner=this.determineWinner(t),t.winner&&t.significanceAchieved&&this.promoteRule(t.winner,`Won A/B test ${e}`),this.logEvent("variant_test_completed",`A/B test ${e} completed. Winner: ${t.winner||"none"}`),t):null}cancelVariantTest(e){let t=this.variantTests.get(e);t&&(t.status="cancelled",t.endTime=Date.now(),this.logEvent("variant_test_cancelled",`A/B test ${e} cancelled`))}getEvolutionStats(){let e=Array.from(this.rules.values()),t=ie(),n={candidate:0,promoted:0,demoted:0,deprecated:0,variant:0,control:0},i=0,r=0,s=0,a=0;for(let u of e){n[u.promotionStatus]++;let d=this.getRuleEffectiveness(u.ruleId);d.totalApplications>0&&(a++,i+=d.successRate,d.successRate>=t.autoPromoteThreshold?r++:d.successRate<=t.autoDemoteThreshold&&s++)}let o=Array.from(this.variantTests.values()).filter(u=>u.status==="running").length,l=Array.from(this.variantTests.values()).filter(u=>u.status==="completed").length;return{totalRules:e.length,byStatus:n,activeTests:o,completedTests:l,autoPromotions:this.stats.autoPromotions,autoDemotions:this.stats.autoDemotions,learningOutcomes:this.stats.learningOutcomes,avgSuccessRate:a>0?i/a:0,aboveThreshold:r,belowThreshold:s}}getAllRules(){return Array.from(this.rules.values())}getRulesByStatus(e){return Array.from(this.rules.entries()).filter(([t,n])=>n.promotionStatus===e).map(([t])=>t)}reset(){this.rules.clear(),this.variantTests.clear(),this.taskOutcomes.clear(),this.stats={autoPromotions:0,autoDemotions:0,learningOutcomes:0},this.initialized=!1}resetRule(e){this.rules.delete(e)}async loadFromKv(){if(!this.db)return;let e=await this.db.kvGet("snapshot",c.NAMESPACE);if(e)for(let[t,n]of Object.entries(e))this.rules.set(t,n)}persistSnapshot(){if(this.db&&(this.persistCount++,this.persistCount%c.PERSIST_INTERVAL===0))try{let e=Object.fromEntries(this.rules);this.db.kvSet("snapshot",e,c.NAMESPACE,c.TTL_SECONDS).catch(()=>{})}catch(e){console.warn("[EvolutionPipeline] Persist failed:",S(e))}}getOrCreateRuleRecord(e){let t=this.rules.get(e);return t||(t={ruleId:e,name:e,createdAt:Date.now(),promotionStatus:"candidate",applications:[],promotionHistory:[{status:"candidate",timestamp:Date.now(),reason:"Initial creation"}]},this.rules.set(e,t)),t}createEmptyEffectiveness(e){return{ruleId:e,totalApplications:0,successfulApplications:0,successRate:0,successRate1h:0,successRate24h:0,successRate7d:0,confidenceInterval:{lower:0,upper:1},isStatisticallySignificant:!1,byDomain:new Map,byTaskType:new Map,promotionStatus:"candidate",lastUpdated:Date.now()}}calculateSuccessRate(e){return e.length===0?0:e.filter(n=>n.success).length/e.length}calculateWilsonConfidenceInterval(e,t,n){if(t===0)return{lower:0,upper:1};let i=n===.95?1.96:n===.99?2.576:1.645,r=e/t,s=t,a=1+i*i/s,o=r+i*i/(2*s),l=i*Math.sqrt((r*(1-r)+i*i/(4*s))/s),u=Math.max(0,(o-l)/a),d=Math.min(1,(o+l)/a);return{lower:u,upper:d}}checkAutoPromotionDemotion(e){let t=ie(),n=this.getRuleEffectiveness(e);if(!n.isStatisticallySignificant)return;let i=this.rules.get(e);i&&(n.successRate>=t.autoPromoteThreshold&&i.promotionStatus!=="promoted"&&i.promotionStatus!=="variant"&&(this.promoteRule(e,`Auto-promoted: ${(n.successRate*100).toFixed(1)}% success rate >= ${(t.autoPromoteThreshold*100).toFixed(1)}% threshold`),this.stats.autoPromotions++),n.successRate<=t.autoDemoteThreshold&&i.promotionStatus!=="demoted"&&i.promotionStatus!=="deprecated"&&(this.demoteRule(e,`Auto-demoted: ${(n.successRate*100).toFixed(1)}% success rate <= ${(t.autoDemoteThreshold*100).toFixed(1)}% threshold`),this.stats.autoDemotions++))}pruneApplicationHistory(e){let i=Date.now();e.applications=e.applications.filter(r=>i-r.timestamp<2592e6),e.applications.length>1e3&&(e.applications=e.applications.slice(-1e3))}groupBy(e,t){let n={};for(let i of e){let r=t(i);n[r]||(n[r]=[]),n[r].push(i)}return n}checkVariantTestSignificance(e){let t=ie(),n=Array.from(e.results.values());if(!n.every(l=>l.applications>=t.minSamplesForDecision))return;let r=n.reduce((l,u)=>l+u.applications,0),s=n.reduce((l,u)=>l+u.successes,0)/r,a=0;for(let l of n){let u=l.applications*s;if(u>0){let d=l.successes-u;a+=d*d/u}}let o=n.length===2?3.841:n.length===3?5.991:7.815;e.significanceAchieved=a>=o,e.significanceAchieved&&(e.winner=this.determineWinner(e),this.logEvent("variant_test_significant",`A/B test ${e.testId} achieved significance. Winner: ${e.winner}`))}determineWinner(e){let t=Array.from(e.results.values());if(t.length===0)return null;let n=t[0];for(let i of t)i.successRate>n.successRate&&(n=i);return n.variantId}logEvent(e,t){h.getFlags().global.logViolations&&console.info(`[EvolutionPipeline] ${e}:`,{message:t,timestamp:new Date().toISOString()})}},_=new ve;import{promises as et}from"fs";import*as Z from"path";W();var tt={"test-generation":["test-generation","generate-tests","tdd","property-testing","test-creation","unit-test","integration-test"],"test-execution":["test-execution","run-tests","test-run","parallel-testing","flaky-detection","retry"],"coverage-analysis":["coverage-analysis","coverage","gap-detection","coverage-report","uncovered-code"],"quality-assessment":["quality-assessment","quality-gate","quality-check","deployment-decision","release-validation"],"defect-intelligence":["defect-intelligence","defect-prediction","root-cause","bug-prediction","regression-risk"],"requirements-validation":["requirements-validation","bdd","gherkin","acceptance-criteria","requirements-check"],"code-intelligence":["code-intelligence","code-analysis","complexity-analysis","dependency-analysis","code-structure"],"security-compliance":["security-compliance","security-scan","sast","dast","vulnerability","owasp","compliance"],"contract-testing":["contract-testing","api-contract","consumer-driven","pact","schema-validation"],"visual-accessibility":["visual-accessibility","accessibility","a11y","wcag","visual-regression","screenshot"],"chaos-resilience":["chaos-resilience","chaos-testing","fault-injection","resilience","load-testing","performance"],"learning-optimization":["learning-optimization","pattern-learning","knowledge-transfer","experience-learning","optimization"]},nt={test:["test-generation","test-execution"],coverage:["coverage-analysis"],quality:["quality-assessment"],security:["security-compliance"],defect:["defect-intelligence"],bug:["defect-intelligence"],requirements:["requirements-validation"],bdd:["requirements-validation"],code:["code-intelligence"],analysis:["code-intelligence","coverage-analysis"],contract:["contract-testing"],api:["contract-testing"],accessibility:["visual-accessibility"],a11y:["visual-accessibility"],chaos:["chaos-resilience"],performance:["chaos-resilience"],learning:["learning-optimization"],pattern:["learning-optimization"],compliance:["security-compliance"],vulnerability:["security-compliance"]};function $(){let c=h.getFlags();return c.global.enableAllGates?c.shardRetriever?.enabled??!1:!1}function N(){return h.getFlags().shardRetriever??it}var it={enabled:!0,shardsPath:".claude/guidance/shards",cacheEnabled:!0,cacheTtlMs:300*1e3,maxShardsPerQuery:3,relevanceThreshold:.3},ee=class{shardCache=new Map;cacheHits=0;cacheMisses=0;lastCacheCleanup=null;parseErrors=[];guidanceRetriever=null;initialized=!1;basePath;constructor(e){this.basePath=e??process.cwd()}async initialize(){if(!this.initialized){if(!$()){this.initialized=!0;return}try{let t=await import("@claude-flow/guidance/retriever");t&&typeof t.createRetriever=="function"&&(this.guidanceRetriever=t.createRetriever(),console.log("[ShardRetrieverIntegration] Guidance ShardRetriever loaded"))}catch{this.guidanceRetriever=null}await this.loadAllShards(),this.initialized=!0}}async loadAllShards(){let e=new Map;if(!$())return e;let t=N(),n=Z.resolve(this.basePath,t.shardsPath);try{let r=(await et.readdir(n)).filter(s=>s.endsWith(".shard.md"));for(let s of r){let a=s.replace(".shard.md","");try{let o=await this.loadShardFromFile(Z.join(n,s));o&&(e.set(a,o),this.cacheShardIfEnabled(a,o))}catch(o){let l=`Failed to load shard ${s}: ${S(o)}`;this.parseErrors.push(l),this.logError(l)}}}catch(i){let r=`Failed to read shards directory: ${S(i)}`;this.parseErrors.push(r),this.logError(r)}return e}async loadShard(e){if(!$())return null;let t=this.getCachedShard(e);if(t)return this.cacheHits++,t;this.cacheMisses++;let n=N(),i=Z.resolve(this.basePath,n.shardsPath),r=Z.join(i,`${e}.shard.md`);try{let s=await this.loadShardFromFile(r);return s&&this.cacheShardIfEnabled(e,s),s}catch(s){return this.logError(`Failed to load shard for domain ${e}: ${S(s)}`),null}}async retrieveForTask(e,t){if(!$())return[];await this.initialize();let n=N(),i=await this.getAllCachedOrLoadedShards(),r=new Set;if(this.guidanceRetriever)try{let o=await this.guidanceRetriever.retrieve({taskDescription:`${e}: ${t.intent||""} ${(t.keywords||[]).join(" ")}`,maxShards:n.maxShardsPerQuery});if(o&&o.shards){for(let l of o.shards)if(l.shard?.rule?.domains)for(let u of l.shard.rule.domains)r.add(u)}}catch{}let s=[];for(let o of i.values()){let l=this.calculateRelevance(o,{...t,taskType:e});r.has(o.domain)&&(l=Math.min(1,l+.1)),l>=n.relevanceThreshold&&s.push({shard:o,score:l})}return s.sort((o,l)=>l.score-o.score),s.slice(0,n.maxShardsPerQuery).map(o=>o.shard)}async retrieveByIntent(e){if(!$())return[];await this.initialize();let t=N(),n=e.toLowerCase(),i=new Set;for(let[s,a]of Object.entries(nt))n.includes(s)&&a.forEach(o=>i.add(o));for(let s of Object.keys(tt))n.includes(s)&&i.add(s);let r=[];for(let s of i){let a=await this.loadShard(s);a&&r.push(a)}return r.slice(0,t.maxShardsPerQuery)}async retrieveByDomain(e){return $()?this.loadShard(e):null}calculateRelevance(e,t){let n=0,i={domainMatch:.4,taskTypeMatch:.25,keywordMatch:.15,intentMatch:.1,agentMatch:.1};t.domain===e.domain&&(n+=i.domainMatch);let r=tt[e.domain]||[],s=t.taskType.toLowerCase();for(let a of r)if(s.includes(a)||a.includes(s)){n+=i.taskTypeMatch;break}if(t.keywords&&t.keywords.length>0){let a=e.rawContent.toLowerCase(),o=0;for(let l of t.keywords)a.includes(l.toLowerCase())&&o++;n+=o/t.keywords.length*i.keywordMatch}if(t.intent){let a=t.intent.toLowerCase();this.getDomainsForIntent(a).includes(e.domain)&&(n+=i.intentMatch)}return t.agentId&&[...e.agentConstraints.primary.map(o=>o.agentId),...e.agentConstraints.secondary.map(o=>o.agentId),...e.agentConstraints.support.map(o=>o.agentId)].includes(t.agentId)&&(n+=i.agentMatch),t.requiresSecurity&&e.domain==="security-compliance"&&(n+=.15),t.requiresCompliance&&e.domain==="security-compliance"&&(n+=.1),t.requiresCoverage&&e.domain==="coverage-analysis"&&(n+=.15),t.requiresLearning&&e.domain==="learning-optimization"&&(n+=.1),Math.min(1,n)}async getTopShards(e,t){if(!$())return[];await this.initialize();let n=await this.getAllCachedOrLoadedShards(),i=[];for(let r of n.values()){let s=this.calculateRelevance(r,e);i.push({shard:r,score:s})}return i.sort((r,s)=>s.score-r.score),i.slice(0,t).map(r=>r.shard)}async injectRulesForContext(e){let t={rules:[],thresholds:{},constraints:{primary:[],secondary:[],support:[],readonly:[],forbidden:[]},escalations:[],sourceDomains:[]};if(!$())return t;let n=await this.retrieveForTask(e.taskType,e);if(n.length===0)return t;let i=[],r={},s={primary:[],secondary:[],support:[],readonly:[],forbidden:[]},a=[],o=[];for(let l of n)l.rules.forEach(u=>{i.push(`[${l.domain}] ${u}`)}),Object.assign(r,l.thresholds),s.primary.push(...l.agentConstraints.primary),s.secondary.push(...l.agentConstraints.secondary),s.support.push(...l.agentConstraints.support),s.readonly.push(...l.agentConstraints.readonly),s.forbidden.push(...l.agentConstraints.forbidden),a.push(...l.escalationTriggers),o.push(l.domain);return s.primary=this.dedupeAgentRoles(s.primary),s.secondary=this.dedupeAgentRoles(s.secondary),s.support=this.dedupeAgentRoles(s.support),s.readonly=this.dedupeAgentRoles(s.readonly),s.forbidden=[...new Set(s.forbidden)],{rules:i,thresholds:r,constraints:s,escalations:a,sourceDomains:o}}getShardStats(){let e=this.shardCache,t=Array.from(e.keys());return{totalShards:12,loadedShards:e.size,domains:t,lastRefresh:e.size>0?Math.max(...Array.from(e.values()).map(n=>n.loadedAt)):null,parseErrors:[...this.parseErrors]}}getCacheStats(){let e=N(),t=this.cacheHits+this.cacheMisses;return{enabled:e.cacheEnabled,size:this.shardCache.size,hits:this.cacheHits,misses:this.cacheMisses,hitRate:t>0?this.cacheHits/t:0,lastCleanup:this.lastCacheCleanup}}clearCache(){this.shardCache.clear(),this.cacheHits=0,this.cacheMisses=0,this.lastCacheCleanup=Date.now()}reset(){this.shardCache.clear(),this.cacheHits=0,this.cacheMisses=0,this.lastCacheCleanup=null,this.parseErrors=[],this.initialized=!1}async loadShardFromFile(e){try{let t=await et.readFile(e,"utf-8");return t=t.replace(/\r\n/g,`
4
4
  `).replace(/\r/g,`
5
5
  `),this.parseShard(t)}catch(t){if(t.code==="ENOENT")return null;throw t}}parseShard(e){let t=e.split(`
@@ -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.6");process.exit(0)}
2
- import{l as c,o as d,s as f}from"./chunk-YNG7E26C.js";import{a as r,e as p}from"./chunk-5LST62QR.js";import{a as h}from"./chunk-45MVRQG4.js";import{e as l}from"./chunk-IEPWO4XP.js";f();p();h();import*as m from"path";var u=l.create("hybrid-backend"),s=class{unifiedMemory=null;config;cleanupInterval;cleanupCount=0;initialized=!1;constructor(e){this.config={sqlite:{path:e?.sqlite?.path??".agentic-qe/memory.db",walMode:e?.sqlite?.walMode??!0,poolSize:e?.sqlite?.poolSize??5,busyTimeout:e?.sqlite?.busyTimeout??r.BUSY_TIMEOUT_MS,...e?.sqlite},agentdb:{path:e?.agentdb?.path??".agentic-qe/memory.db",...e?.agentdb},enableFallback:e?.enableFallback??!0,defaultNamespace:e?.defaultNamespace??"default",cleanupInterval:e?.cleanupInterval??r.CLEANUP_INTERVAL_MS}}async initialize(e){if(this.initialized)return;let i=e?.signal;i?.throwIfAborted();let t={dbPath:this.config.sqlite.path??c.dbPath,walMode:this.config.sqlite.walMode??!0,busyTimeout:this.config.sqlite.busyTimeout??r.BUSY_TIMEOUT_MS};this.unifiedMemory=d(t),i?.throwIfAborted(),await this.unifiedMemory.initialize({signal:i}),i?.throwIfAborted(),this.cleanupInterval=setInterval(()=>this.cleanup(),this.config.cleanupInterval),this.cleanupInterval.unref&&this.cleanupInterval.unref(),this.initialized=!0,console.log(`[HybridBackend] Initialized with unified memory: ${this.unifiedMemory.getDbPath()}`)}async dispose(){this.cleanupInterval&&clearInterval(this.cleanupInterval),this.initialized=!1}async set(e,i,t){this.ensureInitialized();let n=t?.namespace??this.config.defaultNamespace;await this.unifiedMemory.kvSet(e,i,n,t?.ttl)}async get(e,i){this.ensureInitialized();let t=i?.namespace??this.config.defaultNamespace;return this.unifiedMemory.kvGet(e,t)}async delete(e,i){this.ensureInitialized();let t=i?.namespace??this.config.defaultNamespace,n=await this.unifiedMemory.kvDelete(e,t),a=await this.unifiedMemory.vectorDelete(e);return n||a}async has(e,i){this.ensureInitialized();let t=i?.namespace??this.config.defaultNamespace;return this.unifiedMemory.kvExists(e,t)}async search(e,i=100,t){this.ensureInitialized();let n=t?.namespace??this.config.defaultNamespace;return this.unifiedMemory.kvSearch(e,n,i)}async vectorSearch(e,i,t){return this.ensureInitialized(),(await this.unifiedMemory.vectorSearch(e,i,void 0,t)).map(a=>({key:a.id,score:a.score,metadata:a.metadata}))}getVectorSearchProvenance(){return this.ensureInitialized(),this.unifiedMemory.getVectorSearchProvenance()}async storeVector(e,i,t){this.ensureInitialized(),await this.unifiedMemory.vectorStore(e,i,this.config.defaultNamespace,t)}getHealth(){return{sqlite:this.unifiedMemory?.isInitialized()?"healthy":"unavailable",sqlitePersistent:!0,agentdb:this.unifiedMemory?.isInitialized()?"healthy":"unavailable",fallback:"inactive"}}isPersistent(){return this.unifiedMemory?.isInitialized()??!1}getConfig(){return{...this.config}}async setWithBackend(e,i,t,n){await this.set(e,i,n)}async getVectorStats(){if(!this.unifiedMemory?.isInitialized())return null;let e=await this.unifiedMemory.vectorCount(),i=this.unifiedMemory.getStats();return{vectorCount:e,indexSize:i.vectorIndexSize}}getUnifiedMemory(){return this.unifiedMemory}async count(e){return this.ensureInitialized(),this.unifiedMemory.getDatabase().prepare(`
1
+ import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.15.7");process.exit(0)}
2
+ import{l as c,o as d,s as f}from"./chunk-ZLVQSEZK.js";import{a as r,e as p}from"./chunk-ONVALAZN.js";import{a as h}from"./chunk-VJRZFWR5.js";import{e as l}from"./chunk-JYXOFN3E.js";f();p();h();import*as m from"path";var u=l.create("hybrid-backend"),s=class{unifiedMemory=null;config;cleanupInterval;cleanupCount=0;initialized=!1;constructor(e){this.config={sqlite:{path:e?.sqlite?.path??".agentic-qe/memory.db",walMode:e?.sqlite?.walMode??!0,poolSize:e?.sqlite?.poolSize??5,busyTimeout:e?.sqlite?.busyTimeout??r.BUSY_TIMEOUT_MS,...e?.sqlite},agentdb:{path:e?.agentdb?.path??".agentic-qe/memory.db",...e?.agentdb},enableFallback:e?.enableFallback??!0,defaultNamespace:e?.defaultNamespace??"default",cleanupInterval:e?.cleanupInterval??r.CLEANUP_INTERVAL_MS}}async initialize(e){if(this.initialized)return;let i=e?.signal;i?.throwIfAborted();let t={dbPath:this.config.sqlite.path??c.dbPath,walMode:this.config.sqlite.walMode??!0,busyTimeout:this.config.sqlite.busyTimeout??r.BUSY_TIMEOUT_MS};this.unifiedMemory=d(t),i?.throwIfAborted(),await this.unifiedMemory.initialize({signal:i}),i?.throwIfAborted(),this.cleanupInterval=setInterval(()=>this.cleanup(),this.config.cleanupInterval),this.cleanupInterval.unref&&this.cleanupInterval.unref(),this.initialized=!0,console.log(`[HybridBackend] Initialized with unified memory: ${this.unifiedMemory.getDbPath()}`)}async dispose(){this.cleanupInterval&&clearInterval(this.cleanupInterval),this.initialized=!1}async set(e,i,t){this.ensureInitialized();let n=t?.namespace??this.config.defaultNamespace;await this.unifiedMemory.kvSet(e,i,n,t?.ttl)}async get(e,i){this.ensureInitialized();let t=i?.namespace??this.config.defaultNamespace;return this.unifiedMemory.kvGet(e,t)}async delete(e,i){this.ensureInitialized();let t=i?.namespace??this.config.defaultNamespace,n=await this.unifiedMemory.kvDelete(e,t),a=await this.unifiedMemory.vectorDelete(e);return n||a}async has(e,i){this.ensureInitialized();let t=i?.namespace??this.config.defaultNamespace;return this.unifiedMemory.kvExists(e,t)}async search(e,i=100,t){this.ensureInitialized();let n=t?.namespace??this.config.defaultNamespace;return this.unifiedMemory.kvSearch(e,n,i)}async vectorSearch(e,i,t){return this.ensureInitialized(),(await this.unifiedMemory.vectorSearch(e,i,void 0,t)).map(a=>({key:a.id,score:a.score,metadata:a.metadata}))}getVectorSearchProvenance(){return this.ensureInitialized(),this.unifiedMemory.getVectorSearchProvenance()}async storeVector(e,i,t){this.ensureInitialized(),await this.unifiedMemory.vectorStore(e,i,this.config.defaultNamespace,t)}getHealth(){return{sqlite:this.unifiedMemory?.isInitialized()?"healthy":"unavailable",sqlitePersistent:!0,agentdb:this.unifiedMemory?.isInitialized()?"healthy":"unavailable",fallback:"inactive"}}isPersistent(){return this.unifiedMemory?.isInitialized()??!1}getConfig(){return{...this.config}}async setWithBackend(e,i,t,n){await this.set(e,i,n)}async getVectorStats(){if(!this.unifiedMemory?.isInitialized())return null;let e=await this.unifiedMemory.vectorCount(),i=this.unifiedMemory.getStats();return{vectorCount:e,indexSize:i.vectorIndexSize}}getUnifiedMemory(){return this.unifiedMemory}async count(e){return this.ensureInitialized(),this.unifiedMemory.getDatabase().prepare(`
3
3
  SELECT COUNT(*) as count FROM kv_store
4
4
  WHERE namespace LIKE ?
5
5
  AND (expires_at IS NULL OR expires_at > ?)
@@ -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.6");process.exit(0)}
2
- import{c as m}from"./chunk-RLB7K7QP.js";import{existsSync as g,readFileSync as _,readdirSync as w,statSync as T}from"fs";import{join as c,extname as E}from"path";var v=new Set([".ts",".tsx",".js",".jsx",".mjs",".cjs",".py",".pyw",".go",".rs",".java",".kt",".kts",".rb",".cs",".php",".swift",".c",".h",".cpp",".hpp",".cc",".scala"]),F=[".test.",".spec.","_test.","_spec."],b=new Set(["node_modules","dist","build","coverage",".git","__pycache__",".venv","venv",".tox",".mypy_cache","target",".gradle","vendor",".bundle",".next",".nuxt",".output"]);function W(s,n={}){let{maxDepth:r=6,includeTests:x=!1,testsOnly:y=!1,extraExtensions:S=[]}=n;if(!g(s))return[];let a=T(s);if(a.isFile())return[s];if(!a.isDirectory())return[];let h=new Set(S.map(e=>e.startsWith(".")?e:`.${e}`)),i=[];function u(e,o){if(o>r)return;let l;try{l=w(e,{withFileTypes:!0})}catch{return}for(let t of l)if(t.isDirectory()){if(b.has(t.name)||m(e,t.name,o===0))continue;u(c(e,t.name),o+1)}else if(t.isFile()){let f=E(t.name).toLowerCase();if(!(v.has(f)||h.has(f))||t.name.endsWith(".d.ts"))continue;let p=F.some(d=>t.name.includes(d))||t.name.startsWith("test_");y?p&&i.push(c(e,t.name)):(x||!p)&&i.push(c(e,t.name))}}return u(s,0),i}function I(s,n){return n!=="node"&&n!=="node-test"?s:s.filter(r=>{try{return!/@playwright\/test|require\(\s*['"]playwright['"]\s*\)/.test(_(r,"utf8"))}catch{return!0}})}export{v as a,W as b,I as c};
1
+ import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.15.7");process.exit(0)}
2
+ import{c as m}from"./chunk-AAA4SHEG.js";import{existsSync as g,readFileSync as _,readdirSync as w,statSync as T}from"fs";import{join as c,extname as E}from"path";var v=new Set([".ts",".tsx",".js",".jsx",".mjs",".cjs",".py",".pyw",".go",".rs",".java",".kt",".kts",".rb",".cs",".php",".swift",".c",".h",".cpp",".hpp",".cc",".scala"]),F=[".test.",".spec.","_test.","_spec."],b=new Set(["node_modules","dist","build","coverage",".git","__pycache__",".venv","venv",".tox",".mypy_cache","target",".gradle","vendor",".bundle",".next",".nuxt",".output"]);function W(s,n={}){let{maxDepth:r=6,includeTests:x=!1,testsOnly:y=!1,extraExtensions:S=[]}=n;if(!g(s))return[];let a=T(s);if(a.isFile())return[s];if(!a.isDirectory())return[];let h=new Set(S.map(e=>e.startsWith(".")?e:`.${e}`)),i=[];function u(e,o){if(o>r)return;let l;try{l=w(e,{withFileTypes:!0})}catch{return}for(let t of l)if(t.isDirectory()){if(b.has(t.name)||m(e,t.name,o===0))continue;u(c(e,t.name),o+1)}else if(t.isFile()){let f=E(t.name).toLowerCase();if(!(v.has(f)||h.has(f))||t.name.endsWith(".d.ts"))continue;let p=F.some(d=>t.name.includes(d))||t.name.startsWith("test_");y?p&&i.push(c(e,t.name)):(x||!p)&&i.push(c(e,t.name))}}return u(s,0),i}function I(s,n){return n!=="node"&&n!=="node-test"?s:s.filter(r=>{try{return!/@playwright\/test|require\(\s*['"]playwright['"]\s*\)/.test(_(r,"utf8"))}catch{return!0}})}export{v as a,W as b,I as c};
@@ -1,3 +1,3 @@
1
- import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.15.6");process.exit(0)}
2
- import{o as f,s as P}from"./chunk-YNG7E26C.js";import{b as h,d as U}from"./chunk-22OZIJAD.js";import{f as p,g as y}from"./chunk-IEPWO4XP.js";import{a as T,e as C}from"./chunk-KYVIOC3C.js";P();C();U();y();import{randomUUID as v}from"crypto";var M=p("TokenTracker"),S={costPerInputToken:.003/1e3,costPerOutputToken:.015/1e3},I={filePath:".agentic-qe/token-metrics.json",autoSaveIntervalMs:6e4,maxMetricsInMemory:1e4},m=class u{taskMetrics=[];agentMetrics=new Map;domainMetrics=new Map;sessionId;sessionStartTime;costConfig;cacheHits=0;earlyExits=0;totalTokensSaved=0;totalPatternsReused=0;initialized=!1;persistenceConfig=I;autoSaveTimer=null;isDirty=!1;db=null;kvPersistCount=0;static KV_NAMESPACE="token-usage-metrics";static KV_KEY="token-tracker-snapshot";static KV_TTL=604800;static KV_PERSIST_INTERVAL=10;constructor(){this.sessionId=`session-${Date.now()}-${v().substring(0,8)}`,this.sessionStartTime=Date.now(),this.costConfig=S}initialize(t){this.initialized||(this.initialized=!0,t&&(this.costConfig={...S,...t}),this.initializeDb().catch(e=>{M.warn("DB initialization failed",{error:e instanceof Error?e.message:String(e)})}),this.startAutoSave())}setCostConfig(t){this.costConfig={...this.costConfig,...t}}recordTokenUsage(t,e,n,a,s,r){this.ensureInitialized();let c,d,i,o,l,k;typeof e=="object"?(c="default",d="unknown",i="unknown",o=e,l=!1,k=0):(c=e,d=n??"unknown",i=a??"unknown",o=s,l=r?.patternReused??!1,k=r?.tokensSaved??0),o.estimatedCostUsd===void 0&&(o.estimatedCostUsd=this.calculateCost(o));let g={taskId:t,agentId:c,domain:d,operation:i,timestamp:Date.now(),usage:o,patternReused:l,tokensSaved:k};this.taskMetrics.push(g),this.updateAgentMetrics(c,o,l,k),this.updateDomainMetrics(d,o),l&&this.totalPatternsReused++,k>0&&(this.totalTokensSaved+=k),this.isDirty=!0,this.maybePersistToKv()}recordPatternReuse(t,e){this.ensureInitialized(),this.totalPatternsReused++,this.totalTokensSaved+=e;let n={taskId:t,agentId:"pattern-cache",domain:"optimization",operation:"pattern-reuse",timestamp:Date.now(),usage:{inputTokens:0,outputTokens:0,totalTokens:0,estimatedCostUsd:0},patternReused:!0,tokensSaved:e};this.taskMetrics.push(n),this.isDirty=!0}recordCacheHit(t){this.cacheHits++,this.totalTokensSaved+=t,this.isDirty=!0}recordEarlyExit(t){this.earlyExits++,this.totalTokensSaved+=t,this.isDirty=!0}getSessionSummary(t){this.ensureInitialized();let e=this.filterByTimeframe(this.taskMetrics,t),n=this.aggregateTokenUsage(e),a=new Map;for(let i of e){let o=a.get(i.agentId);o?(o.totalInputTokens+=i.usage.inputTokens,o.totalOutputTokens+=i.usage.outputTokens,o.totalTokens+=i.usage.totalTokens,o.totalCost+=i.usage.estimatedCostUsd||0,o.tasksExecuted++,i.patternReused&&o.patternsReused++,o.estimatedTokensSaved+=i.tokensSaved||0):a.set(i.agentId,{agentId:i.agentId,totalInputTokens:i.usage.inputTokens,totalOutputTokens:i.usage.outputTokens,totalTokens:i.usage.totalTokens,totalCost:i.usage.estimatedCostUsd||0,tasksExecuted:1,patternsReused:i.patternReused?1:0,estimatedTokensSaved:i.tokensSaved||0})}let s=new Map;for(let i of e){let o=s.get(i.domain);o?(o.inputTokens+=i.usage.inputTokens,o.outputTokens+=i.usage.outputTokens,o.totalTokens+=i.usage.totalTokens,o.estimatedCostUsd=(o.estimatedCostUsd||0)+(i.usage.estimatedCostUsd||0)):s.set(i.domain,{...i.usage})}let r=n.totalTokens,c=this.totalTokensSaved,d=r+c>0?c/(r+c)*100:0;return{sessionId:this.sessionId,startTime:this.sessionStartTime,endTime:Date.now(),byAgent:a,byDomain:s,totalUsage:n,optimizationStats:{patternsReused:this.totalPatternsReused,cacheHits:this.cacheHits,earlyExits:this.earlyExits,tokensSaved:this.totalTokensSaved,savingsPercentage:Math.round(d*100)/100}}}getAgentMetrics(t,e){this.ensureInitialized();let n=this.filterByTimeframe(this.taskMetrics,e);if(t){let s=n.filter(r=>r.agentId===t);return this.aggregateAgentMetrics(t,s)}let a=new Map;for(let s of n){let r=a.get(s.agentId)||[];r.push(s),a.set(s.agentId,r)}return Array.from(a.entries()).map(([s,r])=>this.aggregateAgentMetrics(s,r))}getDomainMetrics(t,e){this.ensureInitialized();let n=this.filterByTimeframe(this.taskMetrics,e);if(t){let s=n.filter(r=>r.domain===t);return this.aggregateTokenUsage(s)}let a=new Map;for(let s of n){let r=a.get(s.domain);r?(r.inputTokens+=s.usage.inputTokens,r.outputTokens+=s.usage.outputTokens,r.totalTokens+=s.usage.totalTokens,r.estimatedCostUsd=(r.estimatedCostUsd||0)+(s.usage.estimatedCostUsd||0)):a.set(s.domain,{...s.usage})}return a}getTaskMetrics(t){return this.ensureInitialized(),this.filterByTimeframe(this.taskMetrics,t)}getEfficiencyReport(t){return this.getTokenEfficiency(t)}getTokenEfficiency(t){this.ensureInitialized();let e=this.filterByTimeframe(this.taskMetrics,t),a=this.aggregateTokenUsage(e).totalTokens,s=this.totalTokensSaved,r=a+s>0?s/(a+s)*100:0,c=e.length,d=c>0?e.filter(l=>l.patternReused).length/c:0,i=c>0?a/c:0,o=this.generateRecommendations(e);return{totalTokensUsed:a,totalTokensSaved:s,savingsPercentage:Math.round(r*100)/100,patternReuseRate:Math.round(d*100)/100,averageTokensPerTask:Math.round(i),recommendations:o}}reset(){this.stopAutoSave(),this.taskMetrics=[],this.agentMetrics.clear(),this.domainMetrics.clear(),this.sessionId=`session-${Date.now()}-${v().substring(0,8)}`,this.sessionStartTime=Date.now(),this.cacheHits=0,this.earlyExits=0,this.totalTokensSaved=0,this.totalPatternsReused=0,this.isDirty=!1}configurePersistence(t){this.persistenceConfig={...this.persistenceConfig,...t},t.autoSaveIntervalMs!==void 0&&(this.stopAutoSave(),t.autoSaveIntervalMs>0&&this.startAutoSave())}startAutoSave(){this.autoSaveTimer||this.persistenceConfig.autoSaveIntervalMs>0&&(this.autoSaveTimer=setInterval(()=>{this.isDirty&&this.save().catch(t=>{console.warn("[TokenMetricsCollector] Auto-save failed:",t)})},this.persistenceConfig.autoSaveIntervalMs))}stopAutoSave(){this.autoSaveTimer&&(clearInterval(this.autoSaveTimer),this.autoSaveTimer=null)}async save(){let t=await import("fs"),e=await import("path"),n={version:"1.0.0",sessionId:this.sessionId,sessionStartTime:this.sessionStartTime,taskMetrics:this.taskMetrics.slice(-this.persistenceConfig.maxMetricsInMemory),optimizationStats:{cacheHits:this.cacheHits,earlyExits:this.earlyExits,totalTokensSaved:this.totalTokensSaved,totalPatternsReused:this.totalPatternsReused},lastSavedAt:Date.now()},a=e.resolve(this.persistenceConfig.filePath),s=e.dirname(a);t.existsSync(s)||t.mkdirSync(s,{recursive:!0}),t.writeFileSync(a,JSON.stringify(n,null,2)),this.isDirty=!1}async load(){let t=await import("fs"),n=(await import("path")).resolve(this.persistenceConfig.filePath);if(!t.existsSync(n))return!1;try{let a=t.readFileSync(n,"utf-8"),s=h(a);if(!s.version||!s.version.startsWith("1."))return console.warn("[TokenMetricsCollector] Incompatible data version, skipping load"),!1;let r=s.taskMetrics||[];this.taskMetrics=[...r,...this.taskMetrics],this.cacheHits+=s.optimizationStats?.cacheHits||0,this.earlyExits+=s.optimizationStats?.earlyExits||0,this.totalTokensSaved+=s.optimizationStats?.totalTokensSaved||0,this.totalPatternsReused+=s.optimizationStats?.totalPatternsReused||0;for(let c of r)this.updateAgentMetrics(c.agentId,c.usage,c.patternReused,c.tokensSaved||0),this.updateDomainMetrics(c.domain,c.usage);return this.taskMetrics.length>this.persistenceConfig.maxMetricsInMemory&&(this.taskMetrics=this.taskMetrics.slice(-this.persistenceConfig.maxMetricsInMemory)),!0}catch(a){return console.warn("[TokenMetricsCollector] Failed to load persisted data:",a),!1}}getPersistenceFilePath(){return this.persistenceConfig.filePath}hasUnsavedChanges(){return this.isDirty}async initializeDb(){try{this.db=f(),this.db.isInitialized()||await this.db.initialize(),await this.loadFromKv()}catch(t){console.warn("[TokenMetricsCollector] DB init failed, using memory-only:",T(t)),this.db=null}}async persistToKv(){if(!this.db)return;let t={version:"1.0.0",sessionId:this.sessionId,sessionStartTime:this.sessionStartTime,taskMetrics:this.taskMetrics.slice(-this.persistenceConfig.maxMetricsInMemory),optimizationStats:{cacheHits:this.cacheHits,earlyExits:this.earlyExits,totalTokensSaved:this.totalTokensSaved,totalPatternsReused:this.totalPatternsReused},lastSavedAt:Date.now()};await this.db.kvSet(u.KV_KEY,t,u.KV_NAMESPACE,u.KV_TTL)}async loadFromKv(){if(!this.db)return!1;let t=await this.db.kvGet(u.KV_KEY,u.KV_NAMESPACE);if(!t)return!1;if(!t.version||!t.version.startsWith("1."))return console.warn("[TokenMetricsCollector] Incompatible kv_store data version, skipping load"),!1;let e=t.taskMetrics||[];this.taskMetrics=[...e,...this.taskMetrics],this.cacheHits+=t.optimizationStats?.cacheHits||0,this.earlyExits+=t.optimizationStats?.earlyExits||0,this.totalTokensSaved+=t.optimizationStats?.totalTokensSaved||0,this.totalPatternsReused+=t.optimizationStats?.totalPatternsReused||0;for(let n of e)this.updateAgentMetrics(n.agentId,n.usage,n.patternReused,n.tokensSaved||0),this.updateDomainMetrics(n.domain,n.usage);return this.taskMetrics.length>this.persistenceConfig.maxMetricsInMemory&&(this.taskMetrics=this.taskMetrics.slice(-this.persistenceConfig.maxMetricsInMemory)),!0}maybePersistToKv(){this.kvPersistCount++,this.kvPersistCount>=u.KV_PERSIST_INTERVAL&&(this.kvPersistCount=0,this.persistToKv().catch(t=>{M.warn("KV persist failed",{error:t instanceof Error?t.message:String(t)})}))}ensureInitialized(){this.initialized||this.initialize()}calculateCost(t){let e=t.inputTokens*this.costConfig.costPerInputToken,n=t.outputTokens*this.costConfig.costPerOutputToken;return Math.round((e+n)*1e5)/1e5}filterByTimeframe(t,e){if(!e)return t;let n=Date.now(),a;switch(e){case"1h":a=n-3600*1e3;break;case"24h":a=n-1440*60*1e3;break;case"7d":a=n-10080*60*1e3;break;case"30d":a=n-720*60*60*1e3;break;default:return t}return t.filter(s=>s.timestamp>=a)}aggregateTokenUsage(t){let e=0,n=0,a=0,s=0;for(let r of t)e+=r.usage.inputTokens,n+=r.usage.outputTokens,a+=r.usage.totalTokens,s+=r.usage.estimatedCostUsd||0;return{inputTokens:e,outputTokens:n,totalTokens:a,estimatedCostUsd:Math.round(s*1e5)/1e5}}aggregateAgentMetrics(t,e){let n=0,a=0,s=0,r=0,c=0,d=0;for(let i of e)n+=i.usage.inputTokens,a+=i.usage.outputTokens,s+=i.usage.totalTokens,r+=i.usage.estimatedCostUsd||0,i.patternReused&&c++,d+=i.tokensSaved||0;return{agentId:t,totalInputTokens:n,totalOutputTokens:a,totalTokens:s,totalCost:Math.round(r*1e5)/1e5,tasksExecuted:e.length,patternsReused:c,estimatedTokensSaved:d}}updateAgentMetrics(t,e,n,a){let s=this.agentMetrics.get(t);s?(s.totalInputTokens+=e.inputTokens,s.totalOutputTokens+=e.outputTokens,s.totalTokens+=e.totalTokens,s.totalCost+=e.estimatedCostUsd||0,s.tasksExecuted++,n&&s.patternsReused++,s.estimatedTokensSaved+=a):this.agentMetrics.set(t,{agentId:t,totalInputTokens:e.inputTokens,totalOutputTokens:e.outputTokens,totalTokens:e.totalTokens,totalCost:e.estimatedCostUsd||0,tasksExecuted:1,patternsReused:n?1:0,estimatedTokensSaved:a})}updateDomainMetrics(t,e){let n=this.domainMetrics.get(t);n?(n.inputTokens+=e.inputTokens,n.outputTokens+=e.outputTokens,n.totalTokens+=e.totalTokens,n.estimatedCostUsd=(n.estimatedCostUsd||0)+(e.estimatedCostUsd||0)):this.domainMetrics.set(t,{...e})}generateRecommendations(t){let e=[];if(t.length===0)return["No token usage data available yet. Start executing tasks to track consumption."];let n=t.filter(i=>i.patternReused).length/t.length;n<.2?e.push("Low pattern reuse rate detected. Consider enabling pattern caching for similar tasks."):n>.5&&e.push("Good pattern reuse rate. Continue leveraging cached patterns for token savings.");let a=new Map;for(let i of t){let o=a.get(i.domain)||0;a.set(i.domain,o+i.usage.totalTokens)}let s=Array.from(a.entries()).sort((i,o)=>o[1]-i[1]);if(s.length>0){let i=s[0];e.push(`Highest token consumer: ${i[0]} (${i[1].toLocaleString()} tokens). Consider optimizing prompts or increasing caching.`)}let r=t.reduce((i,o)=>i+o.usage.inputTokens,0);return t.reduce((i,o)=>i+o.usage.outputTokens,0)/(r||1)>2&&e.push("High output-to-input token ratio. Consider requesting more concise responses."),this.cacheHits===0&&t.length>10&&e.push("No cache hits detected. Enable response caching to reduce duplicate API calls."),this.earlyExits===0&&t.length>20&&e.push("Early exit optimization not utilized. Enable high-confidence pattern matching to skip unnecessary LLM calls."),e}};function b(u){return u.toLocaleString("en-US")}function z(u){if(process.env.AQE_TOKEN_DASHBOARD_ENABLED==="false")return"Token dashboard disabled (AQE_TOKEN_DASHBOARD_ENABLED=false)";if(!u){let d=E.getSessionSummary(),i=d.totalUsage.totalTokens,o=d.totalUsage.estimatedCostUsd??0,l=d.optimizationStats.tokensSaved,k=i>0?o/i:0,g=l*k;u={totalTokens:i,totalCostUsd:o,savedTokens:l,savedCostUsd:g}}let t=u.totalTokens??0,e=u.totalCostUsd??0,n=u.savedTokens??0,a=u.savedCostUsd??0,s=u.budgetLimitUsd;if(t===0&&n===0)return"Token Dashboard: No data available";let r=`Token Usage: ${b(t)} tokens ($${e.toFixed(2)})`;n>0&&(r+=` | Saved: ${b(n)} tokens ($${a.toFixed(2)}) via pattern reuse`);let c=[];if(s!==void 0&&s>0){let d=Math.round(e/s*100);c.push(`Budget: $${e.toFixed(2)} / $${s.toFixed(2)} (${d}%)`)}if(u.tierSplit&&Object.keys(u.tierSplit).length>0){let d=Object.entries(u.tierSplit).sort((i,o)=>o[1]-i[1]).map(([i,o])=>`${i} ${o}%`);c.push(`Tier split: ${d.join(" | ")}`)}return c.length===0?r:`${r}
1
+ import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.15.7");process.exit(0)}
2
+ import{o as f,s as P}from"./chunk-ZLVQSEZK.js";import{b as h,d as U}from"./chunk-4G2VNW4C.js";import{f as p,g as y}from"./chunk-JYXOFN3E.js";import{a as T,e as C}from"./chunk-LVEX4GID.js";P();C();U();y();import{randomUUID as v}from"crypto";var M=p("TokenTracker"),S={costPerInputToken:.003/1e3,costPerOutputToken:.015/1e3},I={filePath:".agentic-qe/token-metrics.json",autoSaveIntervalMs:6e4,maxMetricsInMemory:1e4},m=class u{taskMetrics=[];agentMetrics=new Map;domainMetrics=new Map;sessionId;sessionStartTime;costConfig;cacheHits=0;earlyExits=0;totalTokensSaved=0;totalPatternsReused=0;initialized=!1;persistenceConfig=I;autoSaveTimer=null;isDirty=!1;db=null;kvPersistCount=0;static KV_NAMESPACE="token-usage-metrics";static KV_KEY="token-tracker-snapshot";static KV_TTL=604800;static KV_PERSIST_INTERVAL=10;constructor(){this.sessionId=`session-${Date.now()}-${v().substring(0,8)}`,this.sessionStartTime=Date.now(),this.costConfig=S}initialize(t){this.initialized||(this.initialized=!0,t&&(this.costConfig={...S,...t}),this.initializeDb().catch(e=>{M.warn("DB initialization failed",{error:e instanceof Error?e.message:String(e)})}),this.startAutoSave())}setCostConfig(t){this.costConfig={...this.costConfig,...t}}recordTokenUsage(t,e,n,a,s,r){this.ensureInitialized();let c,d,i,o,l,k;typeof e=="object"?(c="default",d="unknown",i="unknown",o=e,l=!1,k=0):(c=e,d=n??"unknown",i=a??"unknown",o=s,l=r?.patternReused??!1,k=r?.tokensSaved??0),o.estimatedCostUsd===void 0&&(o.estimatedCostUsd=this.calculateCost(o));let g={taskId:t,agentId:c,domain:d,operation:i,timestamp:Date.now(),usage:o,patternReused:l,tokensSaved:k};this.taskMetrics.push(g),this.updateAgentMetrics(c,o,l,k),this.updateDomainMetrics(d,o),l&&this.totalPatternsReused++,k>0&&(this.totalTokensSaved+=k),this.isDirty=!0,this.maybePersistToKv()}recordPatternReuse(t,e){this.ensureInitialized(),this.totalPatternsReused++,this.totalTokensSaved+=e;let n={taskId:t,agentId:"pattern-cache",domain:"optimization",operation:"pattern-reuse",timestamp:Date.now(),usage:{inputTokens:0,outputTokens:0,totalTokens:0,estimatedCostUsd:0},patternReused:!0,tokensSaved:e};this.taskMetrics.push(n),this.isDirty=!0}recordCacheHit(t){this.cacheHits++,this.totalTokensSaved+=t,this.isDirty=!0}recordEarlyExit(t){this.earlyExits++,this.totalTokensSaved+=t,this.isDirty=!0}getSessionSummary(t){this.ensureInitialized();let e=this.filterByTimeframe(this.taskMetrics,t),n=this.aggregateTokenUsage(e),a=new Map;for(let i of e){let o=a.get(i.agentId);o?(o.totalInputTokens+=i.usage.inputTokens,o.totalOutputTokens+=i.usage.outputTokens,o.totalTokens+=i.usage.totalTokens,o.totalCost+=i.usage.estimatedCostUsd||0,o.tasksExecuted++,i.patternReused&&o.patternsReused++,o.estimatedTokensSaved+=i.tokensSaved||0):a.set(i.agentId,{agentId:i.agentId,totalInputTokens:i.usage.inputTokens,totalOutputTokens:i.usage.outputTokens,totalTokens:i.usage.totalTokens,totalCost:i.usage.estimatedCostUsd||0,tasksExecuted:1,patternsReused:i.patternReused?1:0,estimatedTokensSaved:i.tokensSaved||0})}let s=new Map;for(let i of e){let o=s.get(i.domain);o?(o.inputTokens+=i.usage.inputTokens,o.outputTokens+=i.usage.outputTokens,o.totalTokens+=i.usage.totalTokens,o.estimatedCostUsd=(o.estimatedCostUsd||0)+(i.usage.estimatedCostUsd||0)):s.set(i.domain,{...i.usage})}let r=n.totalTokens,c=this.totalTokensSaved,d=r+c>0?c/(r+c)*100:0;return{sessionId:this.sessionId,startTime:this.sessionStartTime,endTime:Date.now(),byAgent:a,byDomain:s,totalUsage:n,optimizationStats:{patternsReused:this.totalPatternsReused,cacheHits:this.cacheHits,earlyExits:this.earlyExits,tokensSaved:this.totalTokensSaved,savingsPercentage:Math.round(d*100)/100}}}getAgentMetrics(t,e){this.ensureInitialized();let n=this.filterByTimeframe(this.taskMetrics,e);if(t){let s=n.filter(r=>r.agentId===t);return this.aggregateAgentMetrics(t,s)}let a=new Map;for(let s of n){let r=a.get(s.agentId)||[];r.push(s),a.set(s.agentId,r)}return Array.from(a.entries()).map(([s,r])=>this.aggregateAgentMetrics(s,r))}getDomainMetrics(t,e){this.ensureInitialized();let n=this.filterByTimeframe(this.taskMetrics,e);if(t){let s=n.filter(r=>r.domain===t);return this.aggregateTokenUsage(s)}let a=new Map;for(let s of n){let r=a.get(s.domain);r?(r.inputTokens+=s.usage.inputTokens,r.outputTokens+=s.usage.outputTokens,r.totalTokens+=s.usage.totalTokens,r.estimatedCostUsd=(r.estimatedCostUsd||0)+(s.usage.estimatedCostUsd||0)):a.set(s.domain,{...s.usage})}return a}getTaskMetrics(t){return this.ensureInitialized(),this.filterByTimeframe(this.taskMetrics,t)}getEfficiencyReport(t){return this.getTokenEfficiency(t)}getTokenEfficiency(t){this.ensureInitialized();let e=this.filterByTimeframe(this.taskMetrics,t),a=this.aggregateTokenUsage(e).totalTokens,s=this.totalTokensSaved,r=a+s>0?s/(a+s)*100:0,c=e.length,d=c>0?e.filter(l=>l.patternReused).length/c:0,i=c>0?a/c:0,o=this.generateRecommendations(e);return{totalTokensUsed:a,totalTokensSaved:s,savingsPercentage:Math.round(r*100)/100,patternReuseRate:Math.round(d*100)/100,averageTokensPerTask:Math.round(i),recommendations:o}}reset(){this.stopAutoSave(),this.taskMetrics=[],this.agentMetrics.clear(),this.domainMetrics.clear(),this.sessionId=`session-${Date.now()}-${v().substring(0,8)}`,this.sessionStartTime=Date.now(),this.cacheHits=0,this.earlyExits=0,this.totalTokensSaved=0,this.totalPatternsReused=0,this.isDirty=!1}configurePersistence(t){this.persistenceConfig={...this.persistenceConfig,...t},t.autoSaveIntervalMs!==void 0&&(this.stopAutoSave(),t.autoSaveIntervalMs>0&&this.startAutoSave())}startAutoSave(){this.autoSaveTimer||this.persistenceConfig.autoSaveIntervalMs>0&&(this.autoSaveTimer=setInterval(()=>{this.isDirty&&this.save().catch(t=>{console.warn("[TokenMetricsCollector] Auto-save failed:",t)})},this.persistenceConfig.autoSaveIntervalMs))}stopAutoSave(){this.autoSaveTimer&&(clearInterval(this.autoSaveTimer),this.autoSaveTimer=null)}async save(){let t=await import("fs"),e=await import("path"),n={version:"1.0.0",sessionId:this.sessionId,sessionStartTime:this.sessionStartTime,taskMetrics:this.taskMetrics.slice(-this.persistenceConfig.maxMetricsInMemory),optimizationStats:{cacheHits:this.cacheHits,earlyExits:this.earlyExits,totalTokensSaved:this.totalTokensSaved,totalPatternsReused:this.totalPatternsReused},lastSavedAt:Date.now()},a=e.resolve(this.persistenceConfig.filePath),s=e.dirname(a);t.existsSync(s)||t.mkdirSync(s,{recursive:!0}),t.writeFileSync(a,JSON.stringify(n,null,2)),this.isDirty=!1}async load(){let t=await import("fs"),n=(await import("path")).resolve(this.persistenceConfig.filePath);if(!t.existsSync(n))return!1;try{let a=t.readFileSync(n,"utf-8"),s=h(a);if(!s.version||!s.version.startsWith("1."))return console.warn("[TokenMetricsCollector] Incompatible data version, skipping load"),!1;let r=s.taskMetrics||[];this.taskMetrics=[...r,...this.taskMetrics],this.cacheHits+=s.optimizationStats?.cacheHits||0,this.earlyExits+=s.optimizationStats?.earlyExits||0,this.totalTokensSaved+=s.optimizationStats?.totalTokensSaved||0,this.totalPatternsReused+=s.optimizationStats?.totalPatternsReused||0;for(let c of r)this.updateAgentMetrics(c.agentId,c.usage,c.patternReused,c.tokensSaved||0),this.updateDomainMetrics(c.domain,c.usage);return this.taskMetrics.length>this.persistenceConfig.maxMetricsInMemory&&(this.taskMetrics=this.taskMetrics.slice(-this.persistenceConfig.maxMetricsInMemory)),!0}catch(a){return console.warn("[TokenMetricsCollector] Failed to load persisted data:",a),!1}}getPersistenceFilePath(){return this.persistenceConfig.filePath}hasUnsavedChanges(){return this.isDirty}async initializeDb(){try{this.db=f(),this.db.isInitialized()||await this.db.initialize(),await this.loadFromKv()}catch(t){console.warn("[TokenMetricsCollector] DB init failed, using memory-only:",T(t)),this.db=null}}async persistToKv(){if(!this.db)return;let t={version:"1.0.0",sessionId:this.sessionId,sessionStartTime:this.sessionStartTime,taskMetrics:this.taskMetrics.slice(-this.persistenceConfig.maxMetricsInMemory),optimizationStats:{cacheHits:this.cacheHits,earlyExits:this.earlyExits,totalTokensSaved:this.totalTokensSaved,totalPatternsReused:this.totalPatternsReused},lastSavedAt:Date.now()};await this.db.kvSet(u.KV_KEY,t,u.KV_NAMESPACE,u.KV_TTL)}async loadFromKv(){if(!this.db)return!1;let t=await this.db.kvGet(u.KV_KEY,u.KV_NAMESPACE);if(!t)return!1;if(!t.version||!t.version.startsWith("1."))return console.warn("[TokenMetricsCollector] Incompatible kv_store data version, skipping load"),!1;let e=t.taskMetrics||[];this.taskMetrics=[...e,...this.taskMetrics],this.cacheHits+=t.optimizationStats?.cacheHits||0,this.earlyExits+=t.optimizationStats?.earlyExits||0,this.totalTokensSaved+=t.optimizationStats?.totalTokensSaved||0,this.totalPatternsReused+=t.optimizationStats?.totalPatternsReused||0;for(let n of e)this.updateAgentMetrics(n.agentId,n.usage,n.patternReused,n.tokensSaved||0),this.updateDomainMetrics(n.domain,n.usage);return this.taskMetrics.length>this.persistenceConfig.maxMetricsInMemory&&(this.taskMetrics=this.taskMetrics.slice(-this.persistenceConfig.maxMetricsInMemory)),!0}maybePersistToKv(){this.kvPersistCount++,this.kvPersistCount>=u.KV_PERSIST_INTERVAL&&(this.kvPersistCount=0,this.persistToKv().catch(t=>{M.warn("KV persist failed",{error:t instanceof Error?t.message:String(t)})}))}ensureInitialized(){this.initialized||this.initialize()}calculateCost(t){let e=t.inputTokens*this.costConfig.costPerInputToken,n=t.outputTokens*this.costConfig.costPerOutputToken;return Math.round((e+n)*1e5)/1e5}filterByTimeframe(t,e){if(!e)return t;let n=Date.now(),a;switch(e){case"1h":a=n-3600*1e3;break;case"24h":a=n-1440*60*1e3;break;case"7d":a=n-10080*60*1e3;break;case"30d":a=n-720*60*60*1e3;break;default:return t}return t.filter(s=>s.timestamp>=a)}aggregateTokenUsage(t){let e=0,n=0,a=0,s=0;for(let r of t)e+=r.usage.inputTokens,n+=r.usage.outputTokens,a+=r.usage.totalTokens,s+=r.usage.estimatedCostUsd||0;return{inputTokens:e,outputTokens:n,totalTokens:a,estimatedCostUsd:Math.round(s*1e5)/1e5}}aggregateAgentMetrics(t,e){let n=0,a=0,s=0,r=0,c=0,d=0;for(let i of e)n+=i.usage.inputTokens,a+=i.usage.outputTokens,s+=i.usage.totalTokens,r+=i.usage.estimatedCostUsd||0,i.patternReused&&c++,d+=i.tokensSaved||0;return{agentId:t,totalInputTokens:n,totalOutputTokens:a,totalTokens:s,totalCost:Math.round(r*1e5)/1e5,tasksExecuted:e.length,patternsReused:c,estimatedTokensSaved:d}}updateAgentMetrics(t,e,n,a){let s=this.agentMetrics.get(t);s?(s.totalInputTokens+=e.inputTokens,s.totalOutputTokens+=e.outputTokens,s.totalTokens+=e.totalTokens,s.totalCost+=e.estimatedCostUsd||0,s.tasksExecuted++,n&&s.patternsReused++,s.estimatedTokensSaved+=a):this.agentMetrics.set(t,{agentId:t,totalInputTokens:e.inputTokens,totalOutputTokens:e.outputTokens,totalTokens:e.totalTokens,totalCost:e.estimatedCostUsd||0,tasksExecuted:1,patternsReused:n?1:0,estimatedTokensSaved:a})}updateDomainMetrics(t,e){let n=this.domainMetrics.get(t);n?(n.inputTokens+=e.inputTokens,n.outputTokens+=e.outputTokens,n.totalTokens+=e.totalTokens,n.estimatedCostUsd=(n.estimatedCostUsd||0)+(e.estimatedCostUsd||0)):this.domainMetrics.set(t,{...e})}generateRecommendations(t){let e=[];if(t.length===0)return["No token usage data available yet. Start executing tasks to track consumption."];let n=t.filter(i=>i.patternReused).length/t.length;n<.2?e.push("Low pattern reuse rate detected. Consider enabling pattern caching for similar tasks."):n>.5&&e.push("Good pattern reuse rate. Continue leveraging cached patterns for token savings.");let a=new Map;for(let i of t){let o=a.get(i.domain)||0;a.set(i.domain,o+i.usage.totalTokens)}let s=Array.from(a.entries()).sort((i,o)=>o[1]-i[1]);if(s.length>0){let i=s[0];e.push(`Highest token consumer: ${i[0]} (${i[1].toLocaleString()} tokens). Consider optimizing prompts or increasing caching.`)}let r=t.reduce((i,o)=>i+o.usage.inputTokens,0);return t.reduce((i,o)=>i+o.usage.outputTokens,0)/(r||1)>2&&e.push("High output-to-input token ratio. Consider requesting more concise responses."),this.cacheHits===0&&t.length>10&&e.push("No cache hits detected. Enable response caching to reduce duplicate API calls."),this.earlyExits===0&&t.length>20&&e.push("Early exit optimization not utilized. Enable high-confidence pattern matching to skip unnecessary LLM calls."),e}};function b(u){return u.toLocaleString("en-US")}function z(u){if(process.env.AQE_TOKEN_DASHBOARD_ENABLED==="false")return"Token dashboard disabled (AQE_TOKEN_DASHBOARD_ENABLED=false)";if(!u){let d=E.getSessionSummary(),i=d.totalUsage.totalTokens,o=d.totalUsage.estimatedCostUsd??0,l=d.optimizationStats.tokensSaved,k=i>0?o/i:0,g=l*k;u={totalTokens:i,totalCostUsd:o,savedTokens:l,savedCostUsd:g}}let t=u.totalTokens??0,e=u.totalCostUsd??0,n=u.savedTokens??0,a=u.savedCostUsd??0,s=u.budgetLimitUsd;if(t===0&&n===0)return"Token Dashboard: No data available";let r=`Token Usage: ${b(t)} tokens ($${e.toFixed(2)})`;n>0&&(r+=` | Saved: ${b(n)} tokens ($${a.toFixed(2)}) via pattern reuse`);let c=[];if(s!==void 0&&s>0){let d=Math.round(e/s*100);c.push(`Budget: $${e.toFixed(2)} / $${s.toFixed(2)} (${d}%)`)}if(u.tierSplit&&Object.keys(u.tierSplit).length>0){let d=Object.entries(u.tierSplit).sort((i,o)=>o[1]-i[1]).map(([i,o])=>`${i} ${o}%`);c.push(`Tier split: ${d.join(" | ")}`)}return c.length===0?r:`${r}
3
3
  ${c.join(" | ")}`}var E=new m;function $(u){return`$${u.toFixed(2)}`}export{z as a,E as b,$ as c};
@@ -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.6");process.exit(0)}
2
- import{b as t,d as o}from"./chunk-7SAMMQVS.js";var L={};o(L,{DotProductAttention:()=>d,FlashAttention:()=>m,HyperbolicAttention:()=>f,LinearAttention:()=>h,MoEAttention:()=>_,MultiHeadAttention:()=>A,RuvectorLayer:()=>a,SonaEngine:()=>g,TensorCompress:()=>c,default:()=>i,differentiableSearch:()=>l,getCompressionLevel:()=>s,hierarchicalForward:()=>p,init:()=>u,pipeline:()=>v});import{createRequire as n}from"module";var r,e,i,a,c,l,p,s,u,m,d,A,f,h,_,g,v,b=t(()=>{r=n(import.meta.url),e=r("@ruvector/gnn"),i=e,{RuvectorLayer:a,TensorCompress:c,differentiableSearch:l,hierarchicalForward:p,getCompressionLevel:s,init:u,FlashAttention:m,DotProductAttention:d,MultiHeadAttention:A,HyperbolicAttention:f,LinearAttention:h,MoEAttention:_,SonaEngine:g,pipeline:v}=e||{}});export{L as a,b};
1
+ import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.15.7");process.exit(0)}
2
+ import{b as t,d as o}from"./chunk-HSDOOFV7.js";var L={};o(L,{DotProductAttention:()=>d,FlashAttention:()=>m,HyperbolicAttention:()=>f,LinearAttention:()=>h,MoEAttention:()=>_,MultiHeadAttention:()=>A,RuvectorLayer:()=>a,SonaEngine:()=>g,TensorCompress:()=>c,default:()=>i,differentiableSearch:()=>l,getCompressionLevel:()=>s,hierarchicalForward:()=>p,init:()=>u,pipeline:()=>v});import{createRequire as n}from"module";var r,e,i,a,c,l,p,s,u,m,d,A,f,h,_,g,v,b=t(()=>{r=n(import.meta.url),e=r("@ruvector/gnn"),i=e,{RuvectorLayer:a,TensorCompress:c,differentiableSearch:l,hierarchicalForward:p,getCompressionLevel:s,init:u,FlashAttention:m,DotProductAttention:d,MultiHeadAttention:A,HyperbolicAttention:f,LinearAttention:h,MoEAttention:_,SonaEngine:g,pipeline:v}=e||{}});export{L as a,b};
@@ -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.6");process.exit(0)}
2
- import{a as T,c as E,d as j,e as b,f as D}from"./chunk-7QVPMH25.js";import*as h from"fs";import*as P from"os";import*as u from"path";import*as f from"fs";import*as _ from"os";import*as l from"path";function V(r=process.env){let e=(r.AQE_COVERAGE_NO_EXEC??"").trim().toLowerCase();return e?e!=="false"&&e!=="0"&&e!=="no"&&e!=="off":!1}var K=new Set([".ts",".tsx",".js",".jsx",".mjs",".cjs",".py",".go",".rs",".java",".rb"]),k=new Set(["node_modules","dist","build","coverage",".git",".claude",".agentic-qe","__pycache__",".venv","target","vendor"]),L=new Set(["tests","test","__tests__","benches","examples","spec"]),H=[/\.test\./i,/\.spec\./i,/_test\./i,/_spec\./i,/^test_/i,/^test\./i,/^conftest\./i];function v(r,e){let n=r.split(l.sep).join("/"),t=l.basename(n);if(H.some(o=>o.test(t)))return!0;let s=n;if(e){let o=l.resolve(e).split(l.sep).join("/"),i=l.resolve(r).split(l.sep).join("/");(i===o||i.startsWith(`${o}/`))&&(s=i.slice(o.length).replace(/^\//,""))}return s.split("/").some(o=>L.has(o))}function Q(r){let e=r.split(""),n=r.length,t=0,s=(o,i)=>{for(let a=o;a<i&&a<n;a++)r[a]!==`
1
+ import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.15.7");process.exit(0)}
2
+ import{a as T,c as E,d as j,e as b,f as D}from"./chunk-VUFRTGML.js";import*as h from"fs";import*as P from"os";import*as u from"path";import*as f from"fs";import*as _ from"os";import*as l from"path";function V(r=process.env){let e=(r.AQE_COVERAGE_NO_EXEC??"").trim().toLowerCase();return e?e!=="false"&&e!=="0"&&e!=="no"&&e!=="off":!1}var K=new Set([".ts",".tsx",".js",".jsx",".mjs",".cjs",".py",".go",".rs",".java",".rb"]),k=new Set(["node_modules","dist","build","coverage",".git",".claude",".agentic-qe","__pycache__",".venv","target","vendor"]),L=new Set(["tests","test","__tests__","benches","examples","spec"]),H=[/\.test\./i,/\.spec\./i,/_test\./i,/_spec\./i,/^test_/i,/^test\./i,/^conftest\./i];function v(r,e){let n=r.split(l.sep).join("/"),t=l.basename(n);if(H.some(o=>o.test(t)))return!0;let s=n;if(e){let o=l.resolve(e).split(l.sep).join("/"),i=l.resolve(r).split(l.sep).join("/");(i===o||i.startsWith(`${o}/`))&&(s=i.slice(o.length).replace(/^\//,""))}return s.split("/").some(o=>L.has(o))}function Q(r){let e=r.split(""),n=r.length,t=0,s=(o,i)=>{for(let a=o;a<i&&a<n;a++)r[a]!==`
3
3
  `&&(e[a]=" ")};for(;t<n;){let o=r[t];if(o==="/"&&r[t+1]==="/"){let a=r.indexOf(`
4
4
  `,t),c=a===-1?n:a;s(t,c),t=c;continue}if(o==="/"&&r[t+1]==="*"){let a=0,c=t;for(;t<n;){if(r[t]==="/"&&r[t+1]==="*"){a++,t+=2;continue}if(r[t]==="*"&&r[t+1]==="/"){if(a--,t+=2,a===0)break;continue}t++}s(c,t);continue}let i=/^b?r(#*)"/.exec(r.slice(t,t+300));if(i){let a=`"${i[1]}`,c=t+i[0].length,g=r.indexOf(a,c),p=g===-1?n:g+a.length;s(t,p),t=p;continue}if(o==='"'){let a=t;for(t++;t<n;){if(r[t]==="\\"){t+=2;continue}if(r[t]==='"'){t++;break}t++}s(a,t);continue}if(o==="'"){let a=-1;if(r[t+1]==="\\"){let c=r.indexOf("'",t+2);c!==-1&&c<=t+5&&(a=c+1)}else r[t+2]==="'"&&(a=t+3);if(a!==-1){s(t,a),t=a;continue}}t++}return e.join("")}function Z(r,e){if(e!==".rs")return[];let n=Q(r).split(`
5
5
  `),t=[];for(let s=0;s<n.length;s++){if(!/#\s*\[\s*cfg\s*\(\s*test\s*\)\s*\]/.test(n[s]))continue;let o=-1;for(let c=s;c<Math.min(n.length,s+10);c++){let g=n[c],p=g.indexOf("{"),m=g.indexOf(";");if(m!==-1&&(p===-1||m<p))break;if(p!==-1){let y=n.slice(s,c+1).join(" ");/\bmod\s+\w+/.test(y)&&(o=c);break}}if(o===-1)continue;let i=0,a=-1;for(let c=o;c<n.length;c++){for(let g of n[c])g==="{"?i++:g==="}"&&i--;if(i<=0){a=c;break}}t.push([s+1,(a===-1?n.length-1:a)+1]),s=a===-1?n.length:a}return t}function Y(r){if(r.length===0)return 0;let e=r.split(`
@@ -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.6");process.exit(0)}
2
- import{b as e}from"./chunk-7SAMMQVS.js";function r(t){t.exec(n)}var n,a=e(()=>{"use strict";n=`
1
+ import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.15.7");process.exit(0)}
2
+ import{b as e}from"./chunk-HSDOOFV7.js";function r(t){t.exec(n)}var n,a=e(()=>{"use strict";n=`
3
3
  -- Negative pattern records (ADR-110 kept nulls)
4
4
  CREATE TABLE IF NOT EXISTS qe_pattern_nulls (
5
5
  id TEXT PRIMARY KEY,
@@ -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.6");process.exit(0)}
2
- import{a as w}from"./chunk-EF5UHDCG.js";import{b as D}from"./chunk-6MXAJBEA.js";import{e as P}from"./chunk-BUTGIVKW.js";import{b as E,d as j}from"./chunk-22OZIJAD.js";import{a as $}from"./chunk-45MVRQG4.js";import{e as v}from"./chunk-IEPWO4XP.js";import{S as q,j as f}from"./chunk-A7ANPS4E.js";import{b as S,d as W}from"./chunk-TVLOED6O.js";j();var V=["oracle:test-exec","judge:llm","proxy:structural"],d="proxy:structural";function Q(n){return n&&V.includes(n)?n:d}function m(n,e={}){switch(Q(n)){case"oracle:test-exec":return!0;case"judge:llm":return e.allowJudgeTier===!0;default:return!1}}import{createHash as U}from"node:crypto";function L(n,e){let t=n.length;if(t===0)return-1/0;let r=e?.iters??2e3,a=e?.alpha??.05,s=(e?.seed??2654435761)>>>0,o=()=>(s=Math.imul(s,1664525)+1013904223>>>0,s/4294967296),c=new Array(r);for(let u=0;u<r;u++){let l=0;for(let h=0;h<t;h++)l+=n[Math.floor(o()*t)];c[u]=l/t}c.sort((u,l)=>u-l);let i=Math.min(Math.floor(a*r),r-1);return c[i]}function C(n,e){let t=Math.min(n.length,e.length),r=new Array(t);for(let a=0;a<t;a++)r[a]=n[a]-e[a];return r}var M=n=>m(n.provenanceTier,{allowJudgeTier:n.allowJudgeTier})?n.candidateHeldOut>n.baselineHeldOut?D(n.candidateAnchorMean,n.baselineAnchorMean,n.anchorTol)?{promote:!0,reason:"held-out gain, no anchor regression, oracle-tier evidence"}:{promote:!1,reason:`anchor regression: ${n.candidateAnchorMean} < ${n.baselineAnchorMean} - ${n.anchorTol}`}:{promote:!1,reason:`held-out ${n.candidateHeldOut} did not beat baseline ${n.baselineHeldOut}`}:{promote:!1,reason:`provenance tier '${n.provenanceTier}' not allowed to promote`},x=8,N=1e-6,O=n=>n.reduce((e,t)=>e+t,0)/n.length,J=n=>{let e=M(n);if(!e.promote)return e;let t=n.candidateHeldOutSamples,r=n.baselineHeldOutSamples;if(!t||!r||t.length===0||t.length!==r.length)return{promote:!1,reason:"significance gate: missing/mismatched paired held-out samples (need equal-length candidate & baseline per-task vectors)"};if(t.length<x)return{promote:!1,reason:`significance gate: only ${t.length} paired samples (< ${x}) \u2014 a bootstrap CI is not meaningful; fail closed rather than certify noise`};if(Math.abs(O(t)-n.candidateHeldOut)>N||Math.abs(O(r)-n.baselineHeldOut)>N)return{promote:!1,reason:"significance gate: sealed sample means do not match the sealed held-out scalars \u2014 inconsistent/forged evaluation"};let a=L(C(t,r));return a>0?{promote:!0,reason:`${e.reason}; paired gain significant (CI low ${a.toFixed(4)} > 0)`}:{promote:!1,reason:`significance gate: paired held-out gain not significant (95% CI lower bound ${a.toFixed(4)} \u2264 0)`}},ie=Object.freeze({"accept/v1":M,"accept/v1+sig":J});function T(n){if(n===null||typeof n!="object")return JSON.stringify(n)??"null";if(Array.isArray(n))return`[${n.map(T).join(",")}]`;let e=n;return`{${Object.keys(e).filter(r=>e[r]!==void 0).sort().map(r=>`${JSON.stringify(r)}:${T(e[r])}`).join(",")}}`}var G="aqe:promotion-path-rule:v1+sig",z=n=>m(n.provenanceTier,{allowJudgeTier:n.allowJudgeTier})?n.reward===void 0||n.rewardThreshold===void 0||!(n.reward>=n.rewardThreshold)?{promote:!1,reason:`reward ${n.reward} below threshold ${n.rewardThreshold}`}:n.occurrences===void 0||n.occurrenceThreshold===void 0||!(n.occurrences>=n.occurrenceThreshold)?{promote:!1,reason:`occurrences ${n.occurrences} below threshold ${n.occurrenceThreshold}`}:n.successRate===void 0||n.successRateThreshold===void 0||!(n.successRate>=n.successRateThreshold)?{promote:!1,reason:`success rate ${n.successRate} below threshold ${n.successRateThreshold}`}:n.withinActivityWindow!==!0?{promote:!1,reason:"pattern outside promotion activity window (stale)"}:{promote:!0,reason:"tier allowed; reward/occurrence/success-rate thresholds met; within activity window"}:{promote:!1,reason:`provenance tier '${n.provenanceTier}' not allowed to promote`},B=n=>m(n.provenanceTier,{allowJudgeTier:n.allowJudgeTier})?n.insightConfidence===void 0||n.insightConfidenceThreshold===void 0||!(n.insightConfidence>=n.insightConfidenceThreshold)?{promote:!1,reason:`insight confidence ${n.insightConfidence} below threshold ${n.insightConfidenceThreshold}`}:n.insightActionable!==!0?{promote:!1,reason:"insight produced no actionable reorganization"}:{promote:!0,reason:"tier allowed; insight confidence meets threshold; actionable"}:{promote:!1,reason:`provenance tier '${n.provenanceTier}' not allowed to apply`},I=Object.freeze({"pattern-promote/v1":z,"dream-apply/v1":B});function _(n){return U("sha256").update(T(n)).digest("hex")}function b(n){if(!(n in I))throw new Error(`Unknown promotion-path rule version '${n}' \u2014 cannot fingerprint an unregistered rule.`);return U("sha256").update(G).update("\0").update(n).digest("hex")}function y(n,e){let t=I[n];if(!t)throw new Error(`Unknown promotion-path rule version '${n}' \u2014 refusing to re-execute an unregistered rule.`);return t(e)}function k(n,e={}){let t=[],r=_(n.sealed)===n.sealedHash;r||t.push("sealIntact");let a=!1;try{let c=b(n.ruleVersion);a=n.ruleFingerprint===c&&(e.pinnedRuleFingerprint===void 0||n.ruleFingerprint===e.pinnedRuleFingerprint)}catch{a=!1}a||t.push("gateUnchanged");let s=!1;r&&a&&(s=(y(n.ruleVersion,n.sealed).promote?"promote":"reject")===n.recordedVerdict),s||t.push("gateReExecutes");let o=t.length===0;return{valid:o,checks:{sealIntact:r,gateUnchanged:a,gateReExecutes:s},failures:t,reason:o?"promotion verified: sealed inputs intact, rule unchanged, frozen rule re-execution reproduces the recorded verdict":`promotion INVALID (failed: ${t.join(", ")}) \u2014 the recorded verdict is not reproducible under the frozen rule`}}$();q();var p=v.create("pattern-lifecycle"),X={promotionRewardThreshold:.7,promotionMinOccurrences:P,promotionMinSuccessRate:.7,deprecationFailureThreshold:3,staleDaysThreshold:30,confidenceDecayRate:.01,minActiveConfidence:.3,maxAgeForActivePatterns:90,promotionActivityWindowDays:30,asymmetricLearning:{},allowJudgeTierPromotion:!1},F=5,Y=.9,K=2;function Z(n,e){return e<F||!Number.isFinite(n)?0:Math.min(Math.max(n,0),1)}var R=class{constructor(e,t={}){this.db=e;this.config={...X,...t},this.asymmetricEngine=new w(this.config.asymmetricLearning),this.ensureSchema()}db;config;asymmetricEngine;_witnessChain=null;set witnessChain(e){this._witnessChain=e}_compressionService=null;set compressionService(e){this._compressionService=e}ensureSchema(){try{this.db.prepare(`
1
+ import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.15.7");process.exit(0)}
2
+ import{a as w}from"./chunk-3RM46XFP.js";import{b as D}from"./chunk-6OS7HREG.js";import{e as P}from"./chunk-V2SAEMZY.js";import{b as E,d as j}from"./chunk-4G2VNW4C.js";import{a as $}from"./chunk-VJRZFWR5.js";import{e as v}from"./chunk-JYXOFN3E.js";import{S as q,j as f}from"./chunk-LGBN7TKC.js";import{b as S,d as W}from"./chunk-5Q22XPTH.js";j();var V=["oracle:test-exec","judge:llm","proxy:structural"],d="proxy:structural";function Q(n){return n&&V.includes(n)?n:d}function m(n,e={}){switch(Q(n)){case"oracle:test-exec":return!0;case"judge:llm":return e.allowJudgeTier===!0;default:return!1}}import{createHash as U}from"node:crypto";function L(n,e){let t=n.length;if(t===0)return-1/0;let r=e?.iters??2e3,a=e?.alpha??.05,s=(e?.seed??2654435761)>>>0,o=()=>(s=Math.imul(s,1664525)+1013904223>>>0,s/4294967296),c=new Array(r);for(let u=0;u<r;u++){let l=0;for(let h=0;h<t;h++)l+=n[Math.floor(o()*t)];c[u]=l/t}c.sort((u,l)=>u-l);let i=Math.min(Math.floor(a*r),r-1);return c[i]}function C(n,e){let t=Math.min(n.length,e.length),r=new Array(t);for(let a=0;a<t;a++)r[a]=n[a]-e[a];return r}var M=n=>m(n.provenanceTier,{allowJudgeTier:n.allowJudgeTier})?n.candidateHeldOut>n.baselineHeldOut?D(n.candidateAnchorMean,n.baselineAnchorMean,n.anchorTol)?{promote:!0,reason:"held-out gain, no anchor regression, oracle-tier evidence"}:{promote:!1,reason:`anchor regression: ${n.candidateAnchorMean} < ${n.baselineAnchorMean} - ${n.anchorTol}`}:{promote:!1,reason:`held-out ${n.candidateHeldOut} did not beat baseline ${n.baselineHeldOut}`}:{promote:!1,reason:`provenance tier '${n.provenanceTier}' not allowed to promote`},x=8,N=1e-6,O=n=>n.reduce((e,t)=>e+t,0)/n.length,J=n=>{let e=M(n);if(!e.promote)return e;let t=n.candidateHeldOutSamples,r=n.baselineHeldOutSamples;if(!t||!r||t.length===0||t.length!==r.length)return{promote:!1,reason:"significance gate: missing/mismatched paired held-out samples (need equal-length candidate & baseline per-task vectors)"};if(t.length<x)return{promote:!1,reason:`significance gate: only ${t.length} paired samples (< ${x}) \u2014 a bootstrap CI is not meaningful; fail closed rather than certify noise`};if(Math.abs(O(t)-n.candidateHeldOut)>N||Math.abs(O(r)-n.baselineHeldOut)>N)return{promote:!1,reason:"significance gate: sealed sample means do not match the sealed held-out scalars \u2014 inconsistent/forged evaluation"};let a=L(C(t,r));return a>0?{promote:!0,reason:`${e.reason}; paired gain significant (CI low ${a.toFixed(4)} > 0)`}:{promote:!1,reason:`significance gate: paired held-out gain not significant (95% CI lower bound ${a.toFixed(4)} \u2264 0)`}},ie=Object.freeze({"accept/v1":M,"accept/v1+sig":J});function T(n){if(n===null||typeof n!="object")return JSON.stringify(n)??"null";if(Array.isArray(n))return`[${n.map(T).join(",")}]`;let e=n;return`{${Object.keys(e).filter(r=>e[r]!==void 0).sort().map(r=>`${JSON.stringify(r)}:${T(e[r])}`).join(",")}}`}var G="aqe:promotion-path-rule:v1+sig",z=n=>m(n.provenanceTier,{allowJudgeTier:n.allowJudgeTier})?n.reward===void 0||n.rewardThreshold===void 0||!(n.reward>=n.rewardThreshold)?{promote:!1,reason:`reward ${n.reward} below threshold ${n.rewardThreshold}`}:n.occurrences===void 0||n.occurrenceThreshold===void 0||!(n.occurrences>=n.occurrenceThreshold)?{promote:!1,reason:`occurrences ${n.occurrences} below threshold ${n.occurrenceThreshold}`}:n.successRate===void 0||n.successRateThreshold===void 0||!(n.successRate>=n.successRateThreshold)?{promote:!1,reason:`success rate ${n.successRate} below threshold ${n.successRateThreshold}`}:n.withinActivityWindow!==!0?{promote:!1,reason:"pattern outside promotion activity window (stale)"}:{promote:!0,reason:"tier allowed; reward/occurrence/success-rate thresholds met; within activity window"}:{promote:!1,reason:`provenance tier '${n.provenanceTier}' not allowed to promote`},B=n=>m(n.provenanceTier,{allowJudgeTier:n.allowJudgeTier})?n.insightConfidence===void 0||n.insightConfidenceThreshold===void 0||!(n.insightConfidence>=n.insightConfidenceThreshold)?{promote:!1,reason:`insight confidence ${n.insightConfidence} below threshold ${n.insightConfidenceThreshold}`}:n.insightActionable!==!0?{promote:!1,reason:"insight produced no actionable reorganization"}:{promote:!0,reason:"tier allowed; insight confidence meets threshold; actionable"}:{promote:!1,reason:`provenance tier '${n.provenanceTier}' not allowed to apply`},I=Object.freeze({"pattern-promote/v1":z,"dream-apply/v1":B});function _(n){return U("sha256").update(T(n)).digest("hex")}function b(n){if(!(n in I))throw new Error(`Unknown promotion-path rule version '${n}' \u2014 cannot fingerprint an unregistered rule.`);return U("sha256").update(G).update("\0").update(n).digest("hex")}function y(n,e){let t=I[n];if(!t)throw new Error(`Unknown promotion-path rule version '${n}' \u2014 refusing to re-execute an unregistered rule.`);return t(e)}function k(n,e={}){let t=[],r=_(n.sealed)===n.sealedHash;r||t.push("sealIntact");let a=!1;try{let c=b(n.ruleVersion);a=n.ruleFingerprint===c&&(e.pinnedRuleFingerprint===void 0||n.ruleFingerprint===e.pinnedRuleFingerprint)}catch{a=!1}a||t.push("gateUnchanged");let s=!1;r&&a&&(s=(y(n.ruleVersion,n.sealed).promote?"promote":"reject")===n.recordedVerdict),s||t.push("gateReExecutes");let o=t.length===0;return{valid:o,checks:{sealIntact:r,gateUnchanged:a,gateReExecutes:s},failures:t,reason:o?"promotion verified: sealed inputs intact, rule unchanged, frozen rule re-execution reproduces the recorded verdict":`promotion INVALID (failed: ${t.join(", ")}) \u2014 the recorded verdict is not reproducible under the frozen rule`}}$();q();var p=v.create("pattern-lifecycle"),X={promotionRewardThreshold:.7,promotionMinOccurrences:P,promotionMinSuccessRate:.7,deprecationFailureThreshold:3,staleDaysThreshold:30,confidenceDecayRate:.01,minActiveConfidence:.3,maxAgeForActivePatterns:90,promotionActivityWindowDays:30,asymmetricLearning:{},allowJudgeTierPromotion:!1},F=5,Y=.9,K=2;function Z(n,e){return e<F||!Number.isFinite(n)?0:Math.min(Math.max(n,0),1)}var R=class{constructor(e,t={}){this.db=e;this.config={...X,...t},this.asymmetricEngine=new w(this.config.asymmetricLearning),this.ensureSchema()}db;config;asymmetricEngine;_witnessChain=null;set witnessChain(e){this._witnessChain=e}_compressionService=null;set compressionService(e){this._compressionService=e}ensureSchema(){try{this.db.prepare(`
3
3
  SELECT deprecated_at FROM qe_patterns LIMIT 1
4
4
  `).get()}catch(e){p.debug("Adding missing deprecated_at column",{error:e instanceof Error?e.message:String(e)}),this.db.exec(`
5
5
  ALTER TABLE qe_patterns ADD COLUMN deprecated_at TEXT DEFAULT NULL