agentic-qe 3.9.31 → 3.9.32

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 (306) hide show
  1. package/.claude/skills/skills-manifest.json +1 -1
  2. package/CHANGELOG.md +88 -0
  3. package/assets/skills/skills-manifest.json +1 -1
  4. package/dist/cli/bundle.js +5 -5
  5. package/dist/cli/chunks/adapter-CDQOF5TF.js +2 -0
  6. package/dist/cli/chunks/{agent-booster-wasm-AQXZYWZY.js → agent-booster-wasm-WKS3E6KT.js} +2 -2
  7. package/dist/cli/chunks/{agent-handler-7N4ZPXCY.js → agent-handler-LYCAWE7S.js} +2 -2
  8. package/dist/cli/chunks/{agent-memory-branch-FLKF2JVX.js → agent-memory-branch-XF7IOMRK.js} +2 -2
  9. package/dist/cli/chunks/aqe-learning-engine-RZK22CJB.js +2 -0
  10. package/dist/cli/chunks/{audit-B4V4IKTA.js → audit-D2AY3HFP.js} +2 -2
  11. package/dist/cli/chunks/base-UGH6TVO4.js +2 -0
  12. package/dist/cli/chunks/{hnswlib-node-WENGW3YX.js → better-sqlite3-K2VWFDKT.js} +2 -2
  13. package/dist/cli/chunks/{brain-handler-OOXJ2KYY.js → brain-handler-NNW4TAO2.js} +3 -3
  14. package/dist/cli/chunks/{branch-enumerator-LFKFW3A4.js → branch-enumerator-OM5HNZKV.js} +2 -2
  15. package/dist/cli/chunks/{browser-F72IES2I.js → browser-Y2FU2NV4.js} +2 -2
  16. package/dist/cli/chunks/browser-workflow-SGOL3FCJ.js +2 -0
  17. package/dist/cli/chunks/{chunk-35SFAIXE.js → chunk-2L5GAOST.js} +2 -2
  18. package/dist/cli/chunks/{chunk-MAJ5QFVY.js → chunk-2XC4XVCI.js} +1 -1
  19. package/dist/cli/chunks/{chunk-QEJBJST4.js → chunk-2Z2IQBIJ.js} +1 -1
  20. package/dist/cli/chunks/{chunk-AKFRM4IO.js → chunk-33PGBYTC.js} +2 -2
  21. package/dist/cli/chunks/{chunk-W7XVEWKQ.js → chunk-3MHWBCSC.js} +1 -1
  22. package/dist/cli/chunks/{chunk-NBKM7NKX.js → chunk-3R4CMTWF.js} +2 -2
  23. package/dist/cli/chunks/{chunk-4N736EES.js → chunk-45N22VAB.js} +2 -2
  24. package/dist/cli/chunks/{chunk-3VKB4HVT.js → chunk-4H4PEZUX.js} +2 -2
  25. package/dist/cli/chunks/{chunk-CFLA2GBS.js → chunk-4VAZSCTZ.js} +2 -2
  26. package/dist/cli/chunks/{chunk-JF3U456G.js → chunk-5A6LBGRU.js} +2 -2
  27. package/dist/cli/chunks/{chunk-TYUIQSSF.js → chunk-5DSANX6S.js} +2 -2
  28. package/dist/cli/chunks/chunk-5R5WOLZM.js +5 -0
  29. package/dist/cli/chunks/{chunk-K6MFAVXK.js → chunk-5WR42V5O.js} +2 -2
  30. package/dist/cli/chunks/{chunk-PUSZ4NBY.js → chunk-5XY6SULI.js} +2 -2
  31. package/dist/cli/chunks/{chunk-VOOJDHLI.js → chunk-62UXGD5J.js} +3 -3
  32. package/dist/cli/chunks/{chunk-REJEFTWX.js → chunk-667I4RTC.js} +1 -1
  33. package/dist/cli/chunks/{chunk-KXRDQQGN.js → chunk-6EKXBWJD.js} +2 -2
  34. package/dist/cli/chunks/{chunk-CNKOIHF6.js → chunk-6R6QCGNU.js} +2 -2
  35. package/dist/cli/chunks/{chunk-YEZJE2ZW.js → chunk-6SYP7QX6.js} +4 -4
  36. package/dist/cli/chunks/{chunk-TLCCM2AF.js → chunk-6YGFAJ3X.js} +1 -1
  37. package/dist/cli/chunks/{chunk-KJAIE7SL.js → chunk-6ZG6TBWF.js} +4 -4
  38. package/dist/cli/chunks/{chunk-NLUBN642.js → chunk-7AISRWBS.js} +2 -2
  39. package/dist/cli/chunks/{chunk-LF5RO6WO.js → chunk-7IDPVSTF.js} +1 -1
  40. package/dist/cli/chunks/{chunk-VUL5HIKR.js → chunk-7PTW3M67.js} +2 -2
  41. package/dist/cli/chunks/{chunk-QGLWFZVQ.js → chunk-A4UNK5SY.js} +2 -2
  42. package/dist/cli/chunks/{chunk-JRIDPOEZ.js → chunk-A6VI5BZU.js} +4 -4
  43. package/dist/cli/chunks/{chunk-7OVVBBOZ.js → chunk-BBPOTFIY.js} +2 -2
  44. package/dist/cli/chunks/{chunk-AKJWBJDK.js → chunk-BDXEL3GM.js} +2 -2
  45. package/dist/cli/chunks/{chunk-GJSH4UZ3.js → chunk-BGRC4676.js} +3 -3
  46. package/dist/cli/chunks/{chunk-PSF6YQQM.js → chunk-BQML7B4W.js} +3 -3
  47. package/dist/cli/chunks/{chunk-VAIOZDG5.js → chunk-BV3SGEV7.js} +1 -1
  48. package/dist/cli/chunks/{chunk-XNJ6DIEW.js → chunk-DBE2LIYG.js} +2 -2
  49. package/dist/cli/chunks/{chunk-AQN6PDHI.js → chunk-DFY7F4TE.js} +1 -1
  50. package/dist/cli/chunks/{chunk-IRRGUXAU.js → chunk-EFEJLZDN.js} +1 -1
  51. package/dist/cli/chunks/{chunk-5G2L4XRU.js → chunk-ESNBKAT6.js} +2 -2
  52. package/dist/cli/chunks/{chunk-7UHRT5AX.js → chunk-EVSUZKD5.js} +2 -2
  53. package/dist/cli/chunks/{chunk-FUHPLXJX.js → chunk-FFBF5BLQ.js} +1 -1
  54. package/dist/cli/chunks/{chunk-N6P7ENG7.js → chunk-FIONYUVH.js} +2 -2
  55. package/dist/cli/chunks/{chunk-TJGIIGKL.js → chunk-FNQCWEVJ.js} +2 -2
  56. package/dist/cli/chunks/{chunk-NTVJKQ5S.js → chunk-FV2MU6CY.js} +2 -2
  57. package/dist/cli/chunks/{chunk-M6RVKGIP.js → chunk-FWEYOD3S.js} +2 -2
  58. package/dist/cli/chunks/{chunk-EAIPJSKH.js → chunk-G6AJMFWL.js} +3 -3
  59. package/dist/cli/chunks/{chunk-L7DNPOAQ.js → chunk-G6VVOUUF.js} +2 -2
  60. package/dist/cli/chunks/{chunk-BYHUGO73.js → chunk-G77CYF7H.js} +3 -3
  61. package/dist/cli/chunks/{chunk-EJXRBAQF.js → chunk-H7YKTJMY.js} +2 -2
  62. package/dist/cli/chunks/{chunk-CUSLB7MB.js → chunk-HGWQC7PR.js} +2 -2
  63. package/dist/cli/chunks/{chunk-XE4YKDIM.js → chunk-HHBFI3YA.js} +2 -2
  64. package/dist/cli/chunks/{chunk-PTOTOBOU.js → chunk-HPQZSXED.js} +1 -1
  65. package/dist/cli/chunks/{chunk-YN7HCVUP.js → chunk-HR6NX6DW.js} +2 -2
  66. package/dist/cli/chunks/{chunk-QITO7E7Y.js → chunk-I6Q6BPVH.js} +1 -1
  67. package/dist/cli/chunks/{chunk-L63KB63A.js → chunk-IGEZVFOM.js} +2 -2
  68. package/dist/cli/chunks/{chunk-ENCFLC44.js → chunk-IGQPGXP7.js} +2 -2
  69. package/dist/cli/chunks/{chunk-YMN4C32S.js → chunk-IJQJV7BC.js} +3 -3
  70. package/dist/cli/chunks/chunk-JDW6GN3A.js +2 -0
  71. package/dist/cli/chunks/{chunk-LRWRFKQH.js → chunk-JRYNHFZA.js} +1 -1
  72. package/dist/cli/chunks/{chunk-7V7TP242.js → chunk-KHZRNJ3A.js} +1 -1
  73. package/dist/cli/chunks/{chunk-PYYNY7RJ.js → chunk-LHDTXTS7.js} +1 -1
  74. package/dist/cli/chunks/{chunk-ONMJJ2C3.js → chunk-LI2IOJMM.js} +1 -1
  75. package/dist/cli/chunks/{heartbeat-scheduler-OH3SS7MH.js → chunk-LR5VW3OS.js} +2 -2
  76. package/dist/cli/chunks/{chunk-XY3WUGD3.js → chunk-LTSNDM5N.js} +2 -2
  77. package/dist/cli/chunks/{chunk-CQWZNVIM.js → chunk-M5PYPGBC.js} +2 -2
  78. package/dist/cli/chunks/{chunk-RTGNWRQI.js → chunk-MEHNT37H.js} +2 -2
  79. package/dist/cli/chunks/{chunk-ZG4EKPGV.js → chunk-MERMCKPG.js} +1 -1
  80. package/dist/cli/chunks/{chunk-JKKV5KKS.js → chunk-MIHQIAVK.js} +2 -2
  81. package/dist/cli/chunks/{chunk-RDJWUKIR.js → chunk-MMVSERJQ.js} +2 -2
  82. package/dist/cli/chunks/{chunk-5WWQLPB4.js → chunk-MQQANXFS.js} +2 -2
  83. package/dist/cli/chunks/{chunk-I3TFGMOQ.js → chunk-MTOHV22P.js} +1 -1
  84. package/dist/cli/chunks/{chunk-7RPEBKQZ.js → chunk-NVZHCAEB.js} +2 -2
  85. package/dist/cli/chunks/{chunk-52D3CYE5.js → chunk-NW5FYGDE.js} +2 -2
  86. package/dist/cli/chunks/{chunk-UIRTXM7C.js → chunk-NZRJWK5H.js} +61 -121
  87. package/dist/cli/chunks/chunk-O5NEZCTB.js +2 -0
  88. package/dist/cli/chunks/{chunk-YQJBE6NX.js → chunk-O5UGJ3OI.js} +2 -2
  89. package/dist/cli/chunks/{chunk-WB6TI6Q3.js → chunk-OK2TFTXP.js} +2 -2
  90. package/dist/cli/chunks/{chunk-NNF3GCGF.js → chunk-OKEHGXIS.js} +2 -2
  91. package/dist/cli/chunks/{chunk-5AMAJCZS.js → chunk-OKRY4LNE.js} +3 -3
  92. package/dist/cli/chunks/{chunk-NZQYNUGM.js → chunk-OMOGD2NN.js} +2 -2
  93. package/dist/cli/chunks/{chunk-X2FLWV5C.js → chunk-ONNTJXU7.js} +2 -2
  94. package/dist/cli/chunks/{chunk-MYCVU3D3.js → chunk-OPOGZAN5.js} +2 -2
  95. package/dist/cli/chunks/{chunk-ZBJRNCWX.js → chunk-PG5F2VHA.js} +2 -2
  96. package/dist/cli/chunks/{chunk-JMLOEW7Y.js → chunk-PHRMWRXA.js} +2 -2
  97. package/dist/cli/chunks/{chunk-N6SIKSCO.js → chunk-PIXUX2NR.js} +2 -2
  98. package/dist/cli/chunks/{chunk-IY4P35N3.js → chunk-PLGMPG7S.js} +2 -2
  99. package/dist/cli/chunks/{chunk-K37CNLQZ.js → chunk-PPS6VN24.js} +1 -1
  100. package/dist/cli/chunks/{chunk-XMMWYQJK.js → chunk-PQAYCK2U.js} +2 -2
  101. package/dist/cli/chunks/{chunk-SL4TAJOE.js → chunk-PS6ISBED.js} +2 -2
  102. package/dist/cli/chunks/{chunk-OXOXNAEZ.js → chunk-QPYNQSWD.js} +2 -2
  103. package/dist/cli/chunks/{chunk-62KYX5NH.js → chunk-QRTZ67BC.js} +2 -2
  104. package/dist/cli/chunks/{chunk-DUF733Z7.js → chunk-REW3W3ZW.js} +1 -1
  105. package/dist/cli/chunks/{chunk-T4DDCMKG.js → chunk-RHXYZ6AZ.js} +127 -127
  106. package/dist/cli/chunks/{chunk-VLAGWLHF.js → chunk-RZXAXWBD.js} +2 -2
  107. package/dist/cli/chunks/{chunk-XTWYCMAM.js → chunk-S4M7U6CZ.js} +2 -2
  108. package/dist/cli/chunks/{chunk-ROEIR3OD.js → chunk-SJETAUZA.js} +1 -1
  109. package/dist/cli/chunks/{chunk-47QIAHUJ.js → chunk-SLH7LFVY.js} +2 -2
  110. package/dist/cli/chunks/{chunk-XGBIXRKD.js → chunk-SRJ5N7LD.js} +2 -2
  111. package/dist/cli/chunks/{chunk-EKYPQ5DX.js → chunk-T5ADVYPH.js} +1 -1
  112. package/dist/cli/chunks/{chunk-7MXQV7RB.js → chunk-THYGFSTA.js} +2 -2
  113. package/dist/cli/chunks/{chunk-462MZLJB.js → chunk-TX2DBLTL.js} +1 -1
  114. package/dist/cli/chunks/{chunk-TVHWI77X.js → chunk-UJMGNO6L.js} +1 -1
  115. package/dist/cli/chunks/{chunk-YLEMSN46.js → chunk-UUQ3SOKM.js} +1 -1
  116. package/dist/cli/chunks/{chunk-ZWSRIJ2T.js → chunk-V5RLGPEW.js} +2 -2
  117. package/dist/cli/chunks/{chunk-CYUGE5ZQ.js → chunk-V6HM2BKJ.js} +1 -1
  118. package/dist/cli/chunks/{chunk-UIIEZMSM.js → chunk-V7I6FTLG.js} +1 -1
  119. package/dist/cli/chunks/{chunk-5M4F3PAL.js → chunk-V7ZBPSVG.js} +1 -1
  120. package/dist/cli/chunks/{chunk-VSKABN3B.js → chunk-VJL7DNUU.js} +2 -2
  121. package/dist/cli/chunks/{chunk-2NLZXG6V.js → chunk-VKCWWR6C.js} +1 -1
  122. package/dist/cli/chunks/chunk-VKNCMGOJ.js +29 -0
  123. package/dist/cli/chunks/{chunk-L4JTTPU7.js → chunk-W2VTHUDK.js} +2 -2
  124. package/dist/cli/chunks/{chunk-FOAWHNOP.js → chunk-W3JB3G7C.js} +2 -2
  125. package/dist/cli/chunks/{chunk-A424Z7LA.js → chunk-WQ4MT74X.js} +1 -1
  126. package/dist/cli/chunks/{chunk-GQFAVT2I.js → chunk-WTNM7NA4.js} +1 -1
  127. package/dist/cli/chunks/chunk-XB3SIYGU.js +62 -0
  128. package/dist/cli/chunks/{chunk-HHEIQHLQ.js → chunk-XCUNQ3FK.js} +2 -2
  129. package/dist/cli/chunks/{chunk-BMS7WFDB.js → chunk-XHQFVTFD.js} +1 -1
  130. package/dist/cli/chunks/{chunk-QMSDKKYG.js → chunk-YBUUAFKR.js} +1 -1
  131. package/dist/cli/chunks/{chunk-G2U7Q6V6.js → chunk-YJV6TTCW.js} +2 -2
  132. package/dist/cli/chunks/{chunk-GN7FUCJH.js → chunk-YUSGT2CU.js} +1 -1
  133. package/dist/cli/chunks/{chunk-JJRZOLDY.js → chunk-YUTSN5BK.js} +2 -2
  134. package/dist/cli/chunks/{chunk-G3YKCZWQ.js → chunk-YVMJTBXB.js} +3 -3
  135. package/dist/cli/chunks/chunk-YVQ4PR4H.js +2 -0
  136. package/dist/cli/chunks/{chunk-UNXUSYRL.js → chunk-Z2EDNMCQ.js} +2 -2
  137. package/dist/cli/chunks/{chunk-DMF4Z2M6.js → chunk-ZESMMAKZ.js} +2 -2
  138. package/dist/cli/chunks/{chunk-VA45HLBF.js → chunk-ZIVOT3B7.js} +2 -2
  139. package/dist/cli/chunks/{ci-LRTJSZHT.js → ci-NSF6OHB4.js} +2 -2
  140. package/dist/cli/chunks/{ci-output-LISCHUKD.js → ci-output-ZPDJ42U3.js} +2 -2
  141. package/dist/cli/chunks/{circuit-breaker-7PMP25KZ.js → circuit-breaker-Y2RUJDYG.js} +2 -2
  142. package/dist/cli/chunks/{claude-flow-setup-DOW4QVMC.js → claude-flow-setup-OH6G6KM2.js} +2 -2
  143. package/dist/cli/chunks/client-QQGRKAY7.js +2 -0
  144. package/dist/cli/chunks/{cline-installer-2NXQGW73.js → cline-installer-IHH4F27G.js} +2 -2
  145. package/dist/cli/chunks/{code-3X6RWAS7.js → code-SFAHWFTX.js} +2 -2
  146. package/dist/cli/chunks/{code-index-extractor-4ABP5WCP.js → code-index-extractor-GXECMOM2.js} +2 -2
  147. package/dist/cli/chunks/{codex-installer-V7PII6GL.js → codex-installer-UPMSAFCQ.js} +2 -2
  148. package/dist/cli/chunks/{completions-Y7LNQ63I.js → completions-5TX6LDHY.js} +2 -2
  149. package/dist/cli/chunks/{complexity-analyzer-XLYMAM6I.js → complexity-analyzer-J2ZR3XZB.js} +2 -2
  150. package/dist/cli/chunks/{continuedev-installer-GOT4TKNT.js → continuedev-installer-GWYZKB5A.js} +2 -2
  151. package/dist/cli/chunks/{copilot-installer-D6BAQVIO.js → copilot-installer-DQZMQWI7.js} +2 -2
  152. package/dist/cli/chunks/{cost-tracker-VT7C5Q52.js → cost-tracker-V7KIGCLZ.js} +2 -2
  153. package/dist/cli/chunks/{coverage-C62MRP4M.js → coverage-3X6LA2GZ.js} +3 -3
  154. package/dist/cli/chunks/cross-domain-router-3SHAGRVP.js +2 -0
  155. package/dist/cli/chunks/{cursor-installer-WAWSS2K2.js → cursor-installer-ENDG4JIU.js} +2 -2
  156. package/dist/cli/chunks/daemon-4XVAO7GT.js +16 -0
  157. package/dist/cli/chunks/daemon-TC65CQFK.js +10 -0
  158. package/dist/cli/chunks/{dag-attention-scheduler-SZIZWPV7.js → dag-attention-scheduler-JOSCDRZC.js} +2 -2
  159. package/dist/cli/chunks/{detect-AJX6NJEP.js → detect-KWZX3OMK.js} +2 -2
  160. package/dist/cli/chunks/{dist-node-E5X47QTY.js → dist-node-R4U2PJ47.js} +2 -2
  161. package/dist/cli/chunks/{domain-handler-FN3PIP45.js → domain-handler-BMYYZO2L.js} +2 -2
  162. package/dist/cli/chunks/{domain-transfer-N3TOJEMT.js → domain-transfer-MSDBBDLC.js} +2 -2
  163. package/dist/cli/chunks/dream-OCZK42FM.js +2 -0
  164. package/dist/cli/chunks/{embed-and-insert-pattern-PJI5TZKR.js → embed-and-insert-pattern-MFINPOLS.js} +2 -2
  165. package/dist/cli/chunks/{eval-OS54TDQU.js → eval-OER6UNUY.js} +2 -2
  166. package/dist/cli/chunks/{experience-capture-middleware-FBM4ANZW.js → experience-capture-middleware-F5I77ECG.js} +3 -3
  167. package/dist/cli/chunks/{fast-paths-2CVAAPQO.js → fast-paths-P3KT5DUQ.js} +2 -2
  168. package/dist/cli/chunks/{feature-flags-A5KFWVFC.js → feature-flags-5EBWQ5WU.js} +2 -2
  169. package/dist/cli/chunks/{feature-flags-GEXTW6OT.js → feature-flags-DYFZSQLV.js} +2 -2
  170. package/dist/cli/chunks/{file-discovery-KWLVC7KN.js → file-discovery-MOBVABSM.js} +2 -2
  171. package/dist/cli/chunks/{fleet-MNKH356S.js → fleet-J3R3NQNC.js} +3 -3
  172. package/dist/cli/chunks/{gnn-wrapper-ALTWYFVZ.js → gnn-wrapper-QD76SULF.js} +2 -2
  173. package/dist/cli/chunks/{heartbeat-handler-MBMEPEGW.js → heartbeat-handler-AJEWTPZ4.js} +4 -4
  174. package/dist/cli/chunks/heartbeat-scheduler-EAVZR6TJ.js +2 -0
  175. package/dist/cli/chunks/hnsw-adapter-BY4XB7FB.js +2 -0
  176. package/dist/cli/chunks/hnsw-index-657CZRG7.js +2 -0
  177. package/dist/cli/chunks/{hnsw-legacy-bridge-WTD5PR5V.js → hnsw-legacy-bridge-5VRM5N7K.js} +2 -2
  178. package/dist/cli/chunks/{better-sqlite3-NYOVLWBG.js → hnswlib-node-BWUH4OQT.js} +2 -2
  179. package/dist/cli/chunks/{hooks-ELHGEBFK.js → hooks-7PMVKQOE.js} +10 -10
  180. package/dist/cli/chunks/{hybrid-router-D6ZMIZCE.js → hybrid-router-2K2LW45J.js} +2 -2
  181. package/dist/cli/chunks/{hypergraph-engine-JOQ6TERZ.js → hypergraph-engine-2CQ735JO.js} +2 -2
  182. package/dist/cli/chunks/{hypergraph-handler-HX45YWWN.js → hypergraph-handler-AQ53GVIW.js} +3 -3
  183. package/dist/cli/chunks/impact-analyzer-GI6UVAMT.js +2 -0
  184. package/dist/cli/chunks/{init-handler-TNVU6NQ6.js → init-handler-ZOVJPAWO.js} +6 -6
  185. package/dist/cli/chunks/init-wizard-HOH577MH.js +2 -0
  186. package/dist/cli/chunks/kernel-JDYBG5GE.js +2 -0
  187. package/dist/cli/chunks/{kilocode-installer-YC5RJIY4.js → kilocode-installer-GWQCNLKI.js} +2 -2
  188. package/dist/cli/chunks/{kiro-installer-EAB26M55.js → kiro-installer-6KVES4MO.js} +2 -2
  189. package/dist/cli/chunks/knowledge-graph-RAQOWLG3.js +2 -0
  190. package/dist/cli/chunks/{learning-A2OB7D2B.js → learning-6XMNWXRT.js} +3 -3
  191. package/dist/cli/chunks/{llm-router-KEG6PA7C.js → llm-router-GS4AZJJC.js} +4 -4
  192. package/dist/cli/chunks/{load-D6ZDLVA3.js → load-FEMEQNE6.js} +2 -2
  193. package/dist/cli/chunks/load-test-3MEJ43U2.js +2 -0
  194. package/dist/cli/chunks/{mcp-ERJHZ6FN.js → mcp-6V2H7EXU.js} +2 -2
  195. package/dist/cli/chunks/{memory-GSRIJIVR.js → memory-YLGPOB2H.js} +5 -5
  196. package/dist/cli/chunks/memory-backend-2A47ZRGO.js +2 -0
  197. package/dist/cli/chunks/memory-handlers-UBTBC7D2.js +2 -0
  198. package/dist/cli/chunks/{multi-model-executor-GK3V7ERC.js → multi-model-executor-SL2EKAH2.js} +2 -2
  199. package/dist/cli/chunks/{opencode-installer-6TTN26RG.js → opencode-installer-ADOJVGNA.js} +2 -2
  200. package/dist/cli/chunks/{orchestrator-YVTSM6QW.js → orchestrator-O4IWW2VU.js} +5 -5
  201. package/dist/cli/chunks/{pipeline-EWLJCY5G.js → pipeline-5BD5YQNQ.js} +2 -2
  202. package/dist/cli/chunks/{platform-2ULHQQME.js → platform-HXSUOOJH.js} +2 -2
  203. package/dist/cli/chunks/{plugin-PYN2KOXA.js → plugin-HOLH5CUH.js} +2 -2
  204. package/dist/cli/chunks/{prime-radiant-advanced-wasm-IULCTOGZ.js → prime-radiant-advanced-wasm-PJTL7OLS.js} +2 -2
  205. package/dist/cli/chunks/protocol-executor-3FR7FBVM.js +2 -0
  206. package/dist/cli/chunks/{protocol-handler-FZYI2SBP.js → protocol-handler-K27YGLC7.js} +2 -2
  207. package/dist/cli/chunks/{prove-DN7S74SP.js → prove-MHCLHQQ6.js} +2 -2
  208. package/dist/cli/chunks/{provider-manager-FT3MCROB.js → provider-manager-3645PPXX.js} +2 -2
  209. package/dist/cli/chunks/qe-reasoning-bank-CHNYPYQW.js +2 -0
  210. package/dist/cli/chunks/{quality-ITBU6LGC.js → quality-NDE6EDOY.js} +2 -2
  211. package/dist/cli/chunks/queen-coordinator-J6ZRYTBX.js +2 -0
  212. package/dist/cli/chunks/{real-embeddings-PZUZ5RXJ.js → real-embeddings-VD3EVV3U.js} +2 -2
  213. package/dist/cli/chunks/{roocode-installer-2LMVZOUZ.js → roocode-installer-63Y45UUG.js} +2 -2
  214. package/dist/cli/chunks/router-23HRN2Z6.js +2 -0
  215. package/dist/cli/chunks/routing-feedback-R6A4B6ZG.js +2 -0
  216. package/dist/cli/chunks/{routing-handler-5RB73UCF.js → routing-handler-76XISU2E.js} +2 -2
  217. package/dist/cli/chunks/{ruvector-commands-VBN4APMG.js → ruvector-commands-AEKOZZHZ.js} +2 -2
  218. package/dist/cli/chunks/{rvf-dual-writer-BNY4AUWT.js → rvf-dual-writer-4DMUIZQF.js} +2 -2
  219. package/dist/cli/chunks/{rvf-migration-adapter-73MKPBGV.js → rvf-migration-adapter-YUTXFOZ3.js} +2 -2
  220. package/dist/cli/chunks/{rvf-migration-coordinator-SGVB7ZAZ.js → rvf-migration-coordinator-XJ5N2W37.js} +2 -2
  221. package/dist/cli/chunks/rvf-native-adapter-QINEJZM7.js +2 -0
  222. package/dist/cli/chunks/safe-db-YXMCSKFH.js +2 -0
  223. package/dist/cli/chunks/schedule-XVFD27P5.js +2 -0
  224. package/dist/cli/chunks/scheduler-NWH2IDEU.js +2 -0
  225. package/dist/cli/chunks/{security-XUH4H7R3.js → security-6YS6GQGO.js} +3 -3
  226. package/dist/cli/chunks/shared-rvf-adapter-FTZY35WI.js +2 -0
  227. package/dist/cli/chunks/{shared-rvf-dual-writer-GML4EDYF.js → shared-rvf-dual-writer-MH2Y65HA.js} +2 -2
  228. package/dist/cli/chunks/sqlite-persistence-BR6YJF5P.js +2 -0
  229. package/dist/cli/chunks/{status-handler-XI7GJF6Z.js → status-handler-57JQMPY5.js} +2 -2
  230. package/dist/cli/chunks/{structural-health-WPCYKOXV.js → structural-health-34D5VWRD.js} +2 -2
  231. package/dist/cli/chunks/sync-HJD2US5P.js +2 -0
  232. package/dist/cli/chunks/sync-TTQ6ZB5D.js +17 -0
  233. package/dist/cli/chunks/{task-handler-FZB55IEG.js → task-handler-4RF57637.js} +2 -2
  234. package/dist/cli/chunks/{task-handlers-EXZGFH7F.js → task-handlers-BRSK7HDE.js} +3 -3
  235. package/dist/cli/chunks/{test-XYRN4OVU.js → test-GMUW2VR3.js} +4 -4
  236. package/dist/cli/chunks/{test-scheduling-FLVOPGOT.js → test-scheduling-7LF24IFV.js} +3 -3
  237. package/dist/cli/chunks/{token-bootstrap-FDCFVRHM.js → token-bootstrap-VYT4RTHU.js} +2 -2
  238. package/dist/cli/chunks/{token-usage-MHNZF3DM.js → token-usage-NFNCPQGW.js} +2 -2
  239. package/dist/cli/chunks/{transformers-4CRVTMWY.js → transformers-GGD5GIEY.js} +2 -2
  240. package/dist/cli/chunks/{tree-sitter-wasm-parser-CI3V4AND.js → tree-sitter-wasm-parser-GKYG6NKT.js} +2 -2
  241. package/dist/cli/chunks/{types-RKCD4BNL.js → types-WJ3ZTRD5.js} +2 -2
  242. package/dist/cli/chunks/unified-memory-AT3Z4CY7.js +2 -0
  243. package/dist/cli/chunks/unified-memory-hnsw-6FOIGINN.js +2 -0
  244. package/dist/cli/chunks/unified-persistence-TCJB7MQS.js +2 -0
  245. package/dist/cli/chunks/{upgrade-463W7VKH.js → upgrade-IMBT4F6K.js} +2 -2
  246. package/dist/cli/chunks/{validate-LENSMEAY.js → validate-76OVF45Z.js} +2 -2
  247. package/dist/cli/chunks/{validate-swarm-4FEBNAWA.js → validate-swarm-HH2ZYWXA.js} +2 -2
  248. package/dist/cli/chunks/{vibium-TXNVIVWJ.js → vibium-74WQNDBX.js} +2 -2
  249. package/dist/cli/chunks/visual-security-IBAUX2K5.js +2 -0
  250. package/dist/cli/chunks/{web-tree-sitter-BZEGWID4.js → web-tree-sitter-W6RGE4SL.js} +2 -2
  251. package/dist/cli/chunks/{windsurf-installer-7AFXJTPU.js → windsurf-installer-7DMSFCA2.js} +2 -2
  252. package/dist/cli/chunks/{witness-chain-G6SUZOZG.js → witness-chain-BLZ4ZKAD.js} +2 -2
  253. package/dist/cli/chunks/witness-chain-GNNF23XU.js +2 -0
  254. package/dist/cli/chunks/{workflow-EVQPO6FH.js → workflow-RNSDKRZ4.js} +4 -4
  255. package/dist/cli/chunks/workflow-orchestrator-S2YONHGM.js +2 -0
  256. package/dist/cli/chunks/{wrappers-HR6RUDI2.js → wrappers-J7RXMIOY.js} +2 -2
  257. package/dist/domains/learning-optimization/services/learning-coordinator.js +37 -17
  258. package/dist/kernel/hybrid-backend.d.ts +17 -7
  259. package/dist/kernel/hybrid-backend.js +24 -10
  260. package/dist/kernel/interfaces.d.ts +21 -6
  261. package/dist/kernel/memory-backend.d.ts +5 -5
  262. package/dist/kernel/memory-backend.js +14 -7
  263. package/dist/mcp/bundle.js +447 -447
  264. package/dist/mcp/handlers/core-handlers.js +21 -0
  265. package/dist/workers/interfaces.d.ts +26 -0
  266. package/dist/workers/worker-manager.d.ts +15 -12
  267. package/dist/workers/worker-manager.js +11 -0
  268. package/dist/workers/workers/learning-consolidation.js +116 -89
  269. package/package.json +3 -1
  270. package/dist/cli/chunks/adapter-CI2GZYME.js +0 -2
  271. package/dist/cli/chunks/aqe-learning-engine-KNQKALLI.js +0 -2
  272. package/dist/cli/chunks/base-P7PRMQWY.js +0 -2
  273. package/dist/cli/chunks/browser-workflow-QUP4A763.js +0 -2
  274. package/dist/cli/chunks/chunk-5Z6PYYWK.js +0 -2
  275. package/dist/cli/chunks/chunk-RBDAHW2M.js +0 -2
  276. package/dist/cli/chunks/client-XF6SJO2C.js +0 -2
  277. package/dist/cli/chunks/cross-domain-router-J2OFPM6R.js +0 -2
  278. package/dist/cli/chunks/daemon-CP2ETHRF.js +0 -19
  279. package/dist/cli/chunks/dream-D5LD5SOZ.js +0 -2
  280. package/dist/cli/chunks/hnsw-adapter-M2MMM3N6.js +0 -2
  281. package/dist/cli/chunks/hnsw-index-JO7KNF7M.js +0 -2
  282. package/dist/cli/chunks/impact-analyzer-ROQL4J7P.js +0 -2
  283. package/dist/cli/chunks/init-wizard-4BDFZX4M.js +0 -2
  284. package/dist/cli/chunks/kernel-37Y63WKR.js +0 -2
  285. package/dist/cli/chunks/knowledge-graph-V3DX6ZCX.js +0 -2
  286. package/dist/cli/chunks/load-test-HPBA2CMT.js +0 -2
  287. package/dist/cli/chunks/memory-backend-DODDBB46.js +0 -2
  288. package/dist/cli/chunks/memory-handlers-MFLCRS7V.js +0 -2
  289. package/dist/cli/chunks/protocol-executor-D56OYMCJ.js +0 -2
  290. package/dist/cli/chunks/qe-reasoning-bank-KXROIEK7.js +0 -2
  291. package/dist/cli/chunks/queen-coordinator-XOGATERL.js +0 -2
  292. package/dist/cli/chunks/router-3EHNUCOM.js +0 -2
  293. package/dist/cli/chunks/routing-feedback-ZHKGET22.js +0 -2
  294. package/dist/cli/chunks/rvf-native-adapter-4YC5IQUW.js +0 -2
  295. package/dist/cli/chunks/safe-db-PLJRHQIC.js +0 -2
  296. package/dist/cli/chunks/schedule-7DGELVJE.js +0 -2
  297. package/dist/cli/chunks/scheduler-VWASEC2J.js +0 -2
  298. package/dist/cli/chunks/shared-rvf-adapter-DCVDY2XW.js +0 -2
  299. package/dist/cli/chunks/sqlite-persistence-CTEBGVOW.js +0 -2
  300. package/dist/cli/chunks/sync-SFKTCRZC.js +0 -23
  301. package/dist/cli/chunks/unified-memory-YDKXKW3D.js +0 -2
  302. package/dist/cli/chunks/unified-memory-hnsw-6N7YZCLR.js +0 -2
  303. package/dist/cli/chunks/unified-persistence-UTWLPUQI.js +0 -2
  304. package/dist/cli/chunks/visual-security-DGXSOFKD.js +0 -2
  305. package/dist/cli/chunks/witness-chain-VP4MF6EU.js +0 -2
  306. package/dist/cli/chunks/workflow-orchestrator-VXSYAKQY.js +0 -2
@@ -135,6 +135,27 @@ export async function handleFleetInit(params) {
135
135
  domainPlugins.set(domain, plugin);
136
136
  }
137
137
  }
138
+ // Issue #491 Bug 1 + Bug 4b: the MCP-hosted daemon constructs its
139
+ // WorkerManager *before* the kernel exists (in src/mcp/entry.ts), so it
140
+ // starts with StubWorkerDomainAccess (getDomainAPI returns undefined for
141
+ // every domain) and a private InMemoryWorkerMemory the dashboard never
142
+ // reads from. Wire both now that kernel + plugins are ready. Without
143
+ // this, every domain-dependent worker tick fails with "<domain> not
144
+ // available" and `aqe learning loop-health` shows learningWorker as
145
+ // never-ran even when it executes every cycle.
146
+ try {
147
+ const { getDaemon } = await import('../../workers/daemon.js');
148
+ const workerManager = getDaemon().getWorkerManager();
149
+ workerManager.setKernel(state.kernel);
150
+ workerManager.setMemory(state.kernel.memory);
151
+ }
152
+ catch (err) {
153
+ // Daemon wiring is best-effort: a workless smoke install (e.g. some
154
+ // unit-test harnesses) may not even bundle the daemon module. Surface
155
+ // as a warning but don't fail fleet_init — the user still gets a
156
+ // working kernel + queen for MCP tool calls.
157
+ console.warn(`[fleet_init] Daemon worker manager wiring skipped: ${toErrorMessage(err)}`);
158
+ }
138
159
  // Create Queen Coordinator with domain plugins for direct task execution
139
160
  state.queen = createQueenCoordinator(state.kernel, state.router, protocolExecutor, undefined, // workflowExecutor
140
161
  domainPlugins // INTEGRATION FIX: Pass domain plugins
@@ -170,6 +170,20 @@ export interface WorkerDomainAccess {
170
170
  errors: string[];
171
171
  };
172
172
  }
173
+ /**
174
+ * Structural shape of the kernel that worker-side code needs. Declared here
175
+ * (rather than imported from src/kernel) to avoid a circular dependency between
176
+ * the kernel and the workers package.
177
+ */
178
+ export interface WorkerKernelReference {
179
+ getDomainAPI<T>(domain: DomainName): T | undefined;
180
+ getHealth(): {
181
+ domains: Record<string, {
182
+ status: string;
183
+ errors?: string[];
184
+ }>;
185
+ };
186
+ }
173
187
  export interface WorkerHealth {
174
188
  /** Worker status */
175
189
  readonly status: WorkerStatus;
@@ -223,6 +237,18 @@ export interface WorkerManager {
223
237
  * Get manager health status
224
238
  */
225
239
  getHealth(): WorkerManagerHealth;
240
+ /**
241
+ * Bind the kernel late, after construction. Without this, workers fall
242
+ * through to a stub domain-access that returns undefined for every domain,
243
+ * causing every domain-dependent worker tick to fail (issue #491 Bug 1).
244
+ */
245
+ setKernel(kernel: WorkerKernelReference): void;
246
+ /**
247
+ * Bind the worker manager's memory to a shared instance (e.g. the kernel's
248
+ * HybridMemoryBackend) so workers and the dashboards that read worker output
249
+ * resolve to the same kv store (issue #491 Bug 4b).
250
+ */
251
+ setMemory(memory: WorkerMemory): void;
226
252
  }
227
253
  export interface WorkerManagerHealth {
228
254
  /** Total registered workers */
@@ -5,20 +5,14 @@
5
5
  * Manages the lifecycle and scheduling of all background workers.
6
6
  * Provides centralized control for starting, stopping, and monitoring workers.
7
7
  */
8
- import { Worker, WorkerManager as IWorkerManager, WorkerManagerHealth, WorkerResult, WorkerEventBus, WorkerMemory, WorkerDomainAccess, WorkerEvent } from './interfaces';
9
- import { DomainName } from '../shared/types';
8
+ import { Worker, WorkerManager as IWorkerManager, WorkerManagerHealth, WorkerResult, WorkerEventBus, WorkerMemory, WorkerDomainAccess, WorkerEvent, WorkerKernelReference } from './interfaces';
10
9
  /**
11
- * Reference interface for kernel (to avoid circular dependency)
10
+ * Local alias for the shared worker-kernel structural shape. The public type
11
+ * lives in interfaces.ts so the WorkerManager interface can refer to it
12
+ * without importing this file (which would re-introduce the circular
13
+ * dependency the original local declaration was avoiding).
12
14
  */
13
- interface KernelReference {
14
- getDomainAPI<T>(domain: DomainName): T | undefined;
15
- getHealth(): {
16
- domains: Record<string, {
17
- status: string;
18
- errors?: string[];
19
- }>;
20
- };
21
- }
15
+ type KernelReference = WorkerKernelReference;
22
16
  /**
23
17
  * Worker Manager implementation
24
18
  */
@@ -42,6 +36,15 @@ export declare class WorkerManagerImpl implements IWorkerManager {
42
36
  * Allows late binding of kernel after construction
43
37
  */
44
38
  setKernel(kernel: KernelReference): void;
39
+ /**
40
+ * Replace the worker manager's memory with a shared instance — typically the
41
+ * kernel's HybridMemoryBackend so dashboards reading worker-emitted keys
42
+ * (e.g. `learning:loop-health` in the `qe-kernel` namespace) actually see
43
+ * what workers write. Without this, workers write to the in-process
44
+ * InMemoryWorkerMemory and the dashboard reads a different kv (issue #491
45
+ * Bug 4b).
46
+ */
47
+ setMemory(memory: WorkerMemory): void;
45
48
  /**
46
49
  * Register a worker
47
50
  */
@@ -181,6 +181,17 @@ export class WorkerManagerImpl {
181
181
  this.domainAccess = new KernelWorkerDomainAccess(() => this.kernelRef);
182
182
  }
183
183
  }
184
+ /**
185
+ * Replace the worker manager's memory with a shared instance — typically the
186
+ * kernel's HybridMemoryBackend so dashboards reading worker-emitted keys
187
+ * (e.g. `learning:loop-health` in the `qe-kernel` namespace) actually see
188
+ * what workers write. Without this, workers write to the in-process
189
+ * InMemoryWorkerMemory and the dashboard reads a different kv (issue #491
190
+ * Bug 4b).
191
+ */
192
+ setMemory(memory) {
193
+ this.memory = memory;
194
+ }
184
195
  /**
185
196
  * Register a worker
186
197
  */
@@ -85,97 +85,124 @@ export class LearningConsolidationWorker extends BaseWorker {
85
85
  context.logger.info('Starting learning consolidation (Phase 7: Continuous Learning Loop)');
86
86
  const findings = [];
87
87
  const recommendations = [];
88
- // Initialize Phase 7 metrics
89
- let experiencesProcessed = 0;
90
- let patternCandidatesFound = 0;
91
- let patternsPromoted = 0;
92
- let patternsDeprecated = 0;
93
- let confidenceDecayApplied = 0;
94
- let patternsMined = 0;
95
- let domainsMined = 0;
96
- let dreamInsightsPruned = 0;
97
- // Phase 7: Run continuous learning loop
98
- const lifecycleManager = await this.getLifecycleManager();
99
- if (lifecycleManager) {
100
- const lifecycleResult = await this.runContinuousLearningLoop(context, lifecycleManager, findings, recommendations);
101
- experiencesProcessed = lifecycleResult.experiencesProcessed;
102
- patternCandidatesFound = lifecycleResult.patternCandidatesFound;
103
- patternsPromoted = lifecycleResult.patternsPromoted;
104
- patternsDeprecated = lifecycleResult.patternsDeprecated;
105
- confidenceDecayApplied = lifecycleResult.confidenceDecayApplied;
106
- patternsMined = lifecycleResult.patternsMined;
107
- domainsMined = lifecycleResult.domainsMined;
108
- dreamInsightsPruned = lifecycleResult.dreamInsightsPruned;
109
- }
110
- // Collect patterns from all domains
111
- const patterns = await this.collectPatterns(context);
112
- // Consolidate and analyze
113
- const result = await this.consolidatePatterns(context, patterns);
114
- // Add Phase 7 metrics to result
115
- result.experiencesProcessed = experiencesProcessed;
116
- result.patternCandidatesFound = patternCandidatesFound;
117
- result.patternsPromoted = patternsPromoted;
118
- result.patternsDeprecated = patternsDeprecated;
119
- result.confidenceDecayApplied = confidenceDecayApplied;
120
- result.patternsMined = patternsMined;
121
- result.domainsMined = domainsMined;
122
- result.dreamInsightsPruned = dreamInsightsPruned;
123
- // Identify cross-domain patterns
124
- this.identifyCrossDomainPatterns(patterns, findings, recommendations);
125
- // Prune ineffective patterns
126
- this.pruneIneffectivePatterns(patterns, findings, recommendations);
127
- // Generate optimization recommendations
128
- this.generateOptimizations(patterns, findings, recommendations);
129
- // ADR-046: Run dream cycle for pattern discovery
130
- const dreamResult = await this.runDreamCycle(context, patterns, findings, recommendations);
131
- result.dreamInsights = dreamResult.insights;
132
- result.dreamPatternsCreated = dreamResult.patternsCreated;
133
- // Store consolidated results
134
- await context.memory.set('learning:lastConsolidation', result);
135
- await context.memory.set('learning:consolidatedPatterns', patterns);
136
- // #488 B.2: record loop-health so `aqe learning loop-health` can show
137
- // the consolidation worker as alive. Records success even for empty
138
- // ticks "ran the loop, found nothing" is still a liveness signal.
139
- await recordLoopHealth(context.memory, 'learningWorker', { success: true });
140
- // Update last run timestamp for decay calculation
141
- this.lastRunTimestamp = Date.now();
142
- const healthScore = this.calculateHealthScore(result, patterns);
143
- context.logger.info('Learning consolidation complete', {
144
- healthScore,
145
- patternsAnalyzed: result.patternsAnalyzed,
146
- newInsights: result.newInsights,
147
- // Phase 7 metrics
148
- experiencesProcessed,
149
- patternsPromoted,
150
- patternsDeprecated,
151
- });
152
- return this.createResult(Date.now() - startTime, {
153
- itemsAnalyzed: result.patternsAnalyzed,
154
- issuesFound: result.patternsPruned + result.patternsDeprecated,
155
- healthScore,
156
- trend: this.determineTrend(result),
157
- domainMetrics: {
88
+ // #491 Bug 4a: liveness must be reported on every tick, including the
89
+ // failure path. Before this fix, `recordLoopHealth(success:true)` sat
90
+ // *after* `collectPatterns()`, which throws on installs with nothing
91
+ // to consolidate — so loop-health permanently showed `never-ran`
92
+ // even when the worker executed every cycle. Track success in a flag
93
+ // and emit the ping in `finally` (matches the
94
+ // CapturedExperienceBridge.drainSafe pattern that ships correctly).
95
+ let liveness = { success: false };
96
+ try {
97
+ // Initialize Phase 7 metrics
98
+ let experiencesProcessed = 0;
99
+ let patternCandidatesFound = 0;
100
+ let patternsPromoted = 0;
101
+ let patternsDeprecated = 0;
102
+ let confidenceDecayApplied = 0;
103
+ let patternsMined = 0;
104
+ let domainsMined = 0;
105
+ let dreamInsightsPruned = 0;
106
+ // Phase 7: Run continuous learning loop
107
+ const lifecycleManager = await this.getLifecycleManager();
108
+ if (lifecycleManager) {
109
+ const lifecycleResult = await this.runContinuousLearningLoop(context, lifecycleManager, findings, recommendations);
110
+ experiencesProcessed = lifecycleResult.experiencesProcessed;
111
+ patternCandidatesFound = lifecycleResult.patternCandidatesFound;
112
+ patternsPromoted = lifecycleResult.patternsPromoted;
113
+ patternsDeprecated = lifecycleResult.patternsDeprecated;
114
+ confidenceDecayApplied = lifecycleResult.confidenceDecayApplied;
115
+ patternsMined = lifecycleResult.patternsMined;
116
+ domainsMined = lifecycleResult.domainsMined;
117
+ dreamInsightsPruned = lifecycleResult.dreamInsightsPruned;
118
+ }
119
+ // Collect patterns from all domains
120
+ const patterns = await this.collectPatterns(context);
121
+ // Consolidate and analyze
122
+ const result = await this.consolidatePatterns(context, patterns);
123
+ // Add Phase 7 metrics to result
124
+ result.experiencesProcessed = experiencesProcessed;
125
+ result.patternCandidatesFound = patternCandidatesFound;
126
+ result.patternsPromoted = patternsPromoted;
127
+ result.patternsDeprecated = patternsDeprecated;
128
+ result.confidenceDecayApplied = confidenceDecayApplied;
129
+ result.patternsMined = patternsMined;
130
+ result.domainsMined = domainsMined;
131
+ result.dreamInsightsPruned = dreamInsightsPruned;
132
+ // Identify cross-domain patterns
133
+ this.identifyCrossDomainPatterns(patterns, findings, recommendations);
134
+ // Prune ineffective patterns
135
+ this.pruneIneffectivePatterns(patterns, findings, recommendations);
136
+ // Generate optimization recommendations
137
+ this.generateOptimizations(patterns, findings, recommendations);
138
+ // ADR-046: Run dream cycle for pattern discovery
139
+ const dreamResult = await this.runDreamCycle(context, patterns, findings, recommendations);
140
+ result.dreamInsights = dreamResult.insights;
141
+ result.dreamPatternsCreated = dreamResult.patternsCreated;
142
+ // Store consolidated results
143
+ await context.memory.set('learning:lastConsolidation', result);
144
+ await context.memory.set('learning:consolidatedPatterns', patterns);
145
+ // Reached the end without throwing — this tick is a real success.
146
+ liveness = { success: true };
147
+ // Update last run timestamp for decay calculation
148
+ this.lastRunTimestamp = Date.now();
149
+ const healthScore = this.calculateHealthScore(result, patterns);
150
+ context.logger.info('Learning consolidation complete', {
151
+ healthScore,
158
152
  patternsAnalyzed: result.patternsAnalyzed,
159
- patternsPruned: result.patternsPruned,
160
- patternsConsolidated: result.patternsConsolidated,
161
153
  newInsights: result.newInsights,
162
- crossDomainPatterns: result.crossDomainPatterns,
163
- // ADR-046: Dream cycle metrics
164
- dreamInsights: result.dreamInsights,
165
- dreamPatternsCreated: result.dreamPatternsCreated,
166
- // Phase 7: Continuous Learning Loop metrics
167
- experiencesProcessed: result.experiencesProcessed,
168
- patternCandidatesFound: result.patternCandidatesFound,
169
- patternsPromoted: result.patternsPromoted,
170
- patternsDeprecated: result.patternsDeprecated,
171
- confidenceDecayApplied: result.confidenceDecayApplied,
172
- // #486 Gap A: mineExperiences auto-trigger
173
- patternsMined: result.patternsMined,
174
- domainsMined: result.domainsMined,
175
- // #488 C.2: dream_insights retention pruning
176
- dreamInsightsPruned: result.dreamInsightsPruned,
177
- },
178
- }, findings, recommendations);
154
+ // Phase 7 metrics
155
+ experiencesProcessed,
156
+ patternsPromoted,
157
+ patternsDeprecated,
158
+ });
159
+ return this.createResult(Date.now() - startTime, {
160
+ itemsAnalyzed: result.patternsAnalyzed,
161
+ issuesFound: result.patternsPruned + result.patternsDeprecated,
162
+ healthScore,
163
+ trend: this.determineTrend(result),
164
+ domainMetrics: {
165
+ patternsAnalyzed: result.patternsAnalyzed,
166
+ patternsPruned: result.patternsPruned,
167
+ patternsConsolidated: result.patternsConsolidated,
168
+ newInsights: result.newInsights,
169
+ crossDomainPatterns: result.crossDomainPatterns,
170
+ // ADR-046: Dream cycle metrics
171
+ dreamInsights: result.dreamInsights,
172
+ dreamPatternsCreated: result.dreamPatternsCreated,
173
+ // Phase 7: Continuous Learning Loop metrics
174
+ experiencesProcessed: result.experiencesProcessed,
175
+ patternCandidatesFound: result.patternCandidatesFound,
176
+ patternsPromoted: result.patternsPromoted,
177
+ patternsDeprecated: result.patternsDeprecated,
178
+ confidenceDecayApplied: result.confidenceDecayApplied,
179
+ // #486 Gap A: mineExperiences auto-trigger
180
+ patternsMined: result.patternsMined,
181
+ domainsMined: result.domainsMined,
182
+ // #488 C.2: dream_insights retention pruning
183
+ dreamInsightsPruned: result.dreamInsightsPruned,
184
+ },
185
+ }, findings, recommendations);
186
+ }
187
+ catch (error) {
188
+ // Record the failure shape and rethrow — BaseWorker handles
189
+ // worker-level retry/error tracking via this throw.
190
+ liveness = { success: false, error: error instanceof Error ? error.message : String(error) };
191
+ throw error;
192
+ }
193
+ finally {
194
+ // #491 Bug 4a: liveness must always reach the dashboard, even when
195
+ // collectPatterns throws on empty installs. Best-effort — must not
196
+ // throw or it would shadow the original error.
197
+ try {
198
+ await recordLoopHealth(context.memory, 'learningWorker', liveness);
199
+ }
200
+ catch (recordErr) {
201
+ context.logger.warn('recordLoopHealth failed (non-fatal)', {
202
+ error: recordErr instanceof Error ? recordErr.message : String(recordErr),
203
+ });
204
+ }
205
+ }
179
206
  }
180
207
  /**
181
208
  * Phase 7: Run the continuous learning loop
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agentic-qe",
3
- "version": "3.9.31",
3
+ "version": "3.9.32",
4
4
  "description": "Agentic Quality Engineering V3 - Domain-Driven Design Architecture with 13 Bounded Contexts, O(log n) coverage analysis, ReasoningBank learning, 60 specialized QE agents, mathematical Coherence verification, deep Claude Flow integration",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -62,6 +62,8 @@
62
62
  "test:all": "npm test -- --run",
63
63
  "test:mcp": "npm run test:unit:mcp",
64
64
  "test:mcp:integration": "npm test -- --run tests/integration/mcp/",
65
+ "test:integration:fast": "NODE_OPTIONS='--max-old-space-size=2048 --expose-gc' vitest run tests/integration/mcp/fleet-init-wires-daemon.test.ts tests/integration/workers/workers-reach-domains.test.ts tests/integration/learning/coordinator-roundtrip.test.ts tests/integration/bridge/bridge-end-to-end.test.ts",
66
+ "test:integration": "NODE_OPTIONS='--max-old-space-size=4096 --expose-gc' vitest run tests/integration/ --exclude='**/browser/**' --exclude='**/browser-integration/**' --exclude='**/*.e2e.test.ts'",
65
67
  "mcp:validate": "echo 'MCP validation: All tools registered in MCP server' && exit 0",
66
68
  "mcp:report": "echo 'MCP Report: uses vitest for test reporting' && exit 0",
67
69
  "test:code-intelligence": "npm test -- --run tests/unit/domains/code-intelligence/ tests/unit/coordination/mincut/",
@@ -1,2 +0,0 @@
1
- import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.31");process.exit(0)}
2
- import{a,b,c}from"./chunk-YMN4C32S.js";import"./chunk-JJRZOLDY.js";import"./chunk-5M4F3PAL.js";import"./chunk-WB6TI6Q3.js";import"./chunk-K6MFAVXK.js";import"./chunk-BMS7WFDB.js";export{a as AgentBoosterAdapter,b as createAgentBoosterAdapter,c as createAgentBoosterAdapterSync};
@@ -1,2 +0,0 @@
1
- import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.31");process.exit(0)}
2
- import{a,b,c,d,e,f}from"./chunk-G3YKCZWQ.js";import"./chunk-YN7HCVUP.js";import"./chunk-VOOJDHLI.js";import"./chunk-YEZJE2ZW.js";import"./chunk-UIIEZMSM.js";import"./chunk-VA45HLBF.js";import"./chunk-PYYNY7RJ.js";import"./chunk-AQN6PDHI.js";import"./chunk-ZG4EKPGV.js";import"./chunk-N6P7ENG7.js";import"./chunk-M6RVKGIP.js";import"./chunk-CNKOIHF6.js";import"./chunk-VSKABN3B.js";import"./chunk-XTWYCMAM.js";import"./chunk-7MXQV7RB.js";import"./chunk-X2FLWV5C.js";import"./chunk-WB6TI6Q3.js";import"./chunk-NTVJKQ5S.js";import"./chunk-5Z6PYYWK.js";import"./chunk-NZQYNUGM.js";import"./chunk-IRRGUXAU.js";import"./chunk-K6MFAVXK.js";import"./chunk-GQFAVT2I.js";import"./chunk-CFLA2GBS.js";import"./chunk-EJXRBAQF.js";import"./chunk-N6SIKSCO.js";import"./chunk-5WWQLPB4.js";import"./chunk-7OVVBBOZ.js";import"./chunk-G2U7Q6V6.js";import"./chunk-CUSLB7MB.js";import"./chunk-DMF4Z2M6.js";import"./chunk-AKFRM4IO.js";import"./chunk-BMS7WFDB.js";export{b as AQELearningEngine,a as DEFAULT_ENGINE_CONFIG,c as DEFAULT_META_LEARNING_CONFIG,d as MetaLearningEngine,e as createAQELearningEngine,f as createDefaultLearningEngine};
@@ -1,2 +0,0 @@
1
- import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.31");process.exit(0)}
2
- import{a,b,c,d,e,f}from"./chunk-AKJWBJDK.js";import"./chunk-EAIPJSKH.js";import"./chunk-7MXQV7RB.js";import"./chunk-X2FLWV5C.js";import"./chunk-WB6TI6Q3.js";import"./chunk-5Z6PYYWK.js";import"./chunk-NZQYNUGM.js";import"./chunk-K6MFAVXK.js";import"./chunk-GQFAVT2I.js";import"./chunk-CFLA2GBS.js";import"./chunk-EJXRBAQF.js";import"./chunk-N6SIKSCO.js";import"./chunk-5WWQLPB4.js";import"./chunk-7OVVBBOZ.js";import"./chunk-G2U7Q6V6.js";import"./chunk-CUSLB7MB.js";import"./chunk-DMF4Z2M6.js";import"./chunk-AKFRM4IO.js";import"./chunk-BMS7WFDB.js";export{f as MCPToolBase,e as defaultToolLogger,d as getMemoryBackend,b as getSharedMemoryBackend,a as registerRvfResetFn,c as resetSharedMemoryBackend};
@@ -1,2 +0,0 @@
1
- import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.31");process.exit(0)}
2
- import{a}from"./chunk-IY4P35N3.js";import"./chunk-AKJWBJDK.js";import"./chunk-EAIPJSKH.js";import"./chunk-7MXQV7RB.js";import"./chunk-X2FLWV5C.js";import"./chunk-WB6TI6Q3.js";import"./chunk-5Z6PYYWK.js";import"./chunk-NZQYNUGM.js";import"./chunk-K6MFAVXK.js";import"./chunk-GQFAVT2I.js";import"./chunk-CFLA2GBS.js";import"./chunk-EJXRBAQF.js";import"./chunk-N6SIKSCO.js";import"./chunk-5WWQLPB4.js";import"./chunk-7OVVBBOZ.js";import"./chunk-G2U7Q6V6.js";import"./chunk-CUSLB7MB.js";import"./chunk-DMF4Z2M6.js";import"./chunk-AKFRM4IO.js";import"./chunk-BMS7WFDB.js";export{a as BrowserWorkflowTool};
@@ -1,2 +0,0 @@
1
- import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.31");process.exit(0)}
2
- import{a as e,b as g,e as r}from"./chunk-NZQYNUGM.js";import{c as o}from"./chunk-BMS7WFDB.js";var L=o(()=>{"use strict";e();g();r()});export{L as a};
@@ -1,2 +0,0 @@
1
- import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.31");process.exit(0)}
2
- import{a as o,e as l}from"./chunk-7OVVBBOZ.js";import{a,d as u}from"./chunk-G2U7Q6V6.js";u();l();var c=class{store=new Map;vectors=new Map;cleanupInterval;async initialize(){this.cleanupInterval=setInterval(()=>this.cleanup(),o.CLEANUP_INTERVAL_MS),this.cleanupInterval.unref&&this.cleanupInterval.unref()}async dispose(){this.cleanupInterval&&clearInterval(this.cleanupInterval),this.store.clear(),this.vectors.clear()}async set(t,r,e){let s={value:r,namespace:e?.namespace??"default",createdAt:Date.now()};e?.ttl&&(s.expiresAt=Date.now()+e.ttl*o.TTL_MULTIPLIER_MS);let n=this.buildKey(t,e?.namespace);this.store.set(n,s)}async get(t,r){let e=this.buildKey(t,r),s=this.store.get(e);if(s){if(s.expiresAt&&Date.now()>s.expiresAt){this.store.delete(e);return}return s.value}}async delete(t,r){let e=this.buildKey(t,r);return this.store.delete(e)}async has(t,r){return await this.get(t,r)!==void 0}async search(t,r=o.DEFAULT_SEARCH_LIMIT){let e=t.replace(/[.+?^${}()|[\]\\]/g,"\\$&"),s=new RegExp(e.replace(/\*/g,".*")),n=[];for(let i of this.store.keys())if(s.test(i)&&(n.push(i),n.length>=r))break;return n}async vectorSearch(t,r){let e=[];for(let[s,n]of this.vectors.entries()){let i=a(t,n.embedding);e.push({key:s,score:i,metadata:n.metadata})}return e.sort((s,n)=>n.score-s.score).slice(0,r)}async storeVector(t,r,e){this.vectors.set(t,{embedding:r,metadata:e})}buildKey(t,r){return r?`${r}:${t}`:t}cleanup(){let t=Date.now();for(let[r,e]of this.store.entries())e.expiresAt&&t>e.expiresAt&&this.store.delete(r)}getStats(){return{entries:this.store.size,vectors:this.vectors.size}}async clear(t){if(t){let r=`${t}:`;for(let e of this.store.keys())e.startsWith(r)&&this.store.delete(e)}else this.store.clear()}async count(t){let r=0,e=`${t}:`;for(let s of this.store.keys())if(s.startsWith(e)){let n=this.store.get(s);n&&(!n.expiresAt||Date.now()<=n.expiresAt)&&r++}return r}async hasCodeIntelligenceIndex(){return await this.count("code-intelligence:kg")>0}};export{c as a};
@@ -1,2 +0,0 @@
1
- import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.31");process.exit(0)}
2
- import{c as a,d as b,e as c}from"./chunk-GJSH4UZ3.js";import"./chunk-NBKM7NKX.js";import"./chunk-K6MFAVXK.js";import"./chunk-BMS7WFDB.js";c();export{a as VibiumClientImpl,b as VibiumClientProvider};
@@ -1,2 +0,0 @@
1
- import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.31");process.exit(0)}
2
- import{a,b}from"./chunk-TYUIQSSF.js";import"./chunk-EKYPQ5DX.js";import"./chunk-IRRGUXAU.js";import"./chunk-GQFAVT2I.js";import"./chunk-BMS7WFDB.js";export{a as CrossDomainEventRouter,b as createCrossDomainRouter};
@@ -1,19 +0,0 @@
1
- import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.31");process.exit(0)}
2
- import{a as N}from"./chunk-QEJBJST4.js";import"./chunk-BMS7WFDB.js";import{Command as ae}from"commander";import s from"chalk";import{cpus as ne,freemem as ie,totalmem as re,loadavg as se}from"os";var f=class{queues={now:[],next:[],later:[]};_maxSize;constructor(e=1e3){this._maxSize=e}enqueue(e){return this.size>=this._maxSize?!1:(this.queues[e.priority].push(e),!0)}dequeue(){let e=Date.now();for(let t of["now","next","later"]){let o=this.queues[t];for(;o.length>0;){let n=o.shift();if(!(n.ttlMs&&e-n.createdAt>n.ttlMs))return n}}}peek(){let e=Date.now();for(let t of["now","next","later"]){let o=this.queues[t];for(let n of o)if(!n.ttlMs||e-n.createdAt<=n.ttlMs)return n}}drainPriority(e){let t=this.queues[e].splice(0),o=Date.now();return t.filter(n=>!n.ttlMs||o-n.createdAt<=n.ttlMs)}pruneExpired(){let e=0,t=Date.now();for(let o of["now","next","later"]){let n=this.queues[o].length;this.queues[o]=this.queues[o].filter(i=>!i.ttlMs||t-i.createdAt<=i.ttlMs),e+=n-this.queues[o].length}return e}get size(){return this.queues.now.length+this.queues.next.length+this.queues.later.length}get depths(){return{now:this.queues.now.length,next:this.queues.next.length,later:this.queues.later.length}}get isEmpty(){return this.size===0}clear(){this.queues.now=[],this.queues.next=[],this.queues.later=[]}};import{watch as E}from"fs";import{execFile as L}from"child_process";import{promisify as U}from"util";import{resolve as W,join as z}from"path";import{existsSync as j,readFileSync as B}from"fs";var M=U(L),J={repoRoot:process.cwd(),debounceMs:500,maxChangedFiles:200,pollIntervalMs:5e3},y=class{constructor(e,t){this.queue=e;this.options={...J,...t}}queue;watcher;pollTimer;options;lastKnownHeads=new Map;debounceTimer;_running=!1;_polling=!1;get running(){return this._running}async start(){if(this._running)return;let e=W(this.options.repoRoot,".git","refs","heads");if(!j(e))throw new Error(`Git refs directory not found: ${e}`);await this.snapshotHeads(),process.platform==="darwin"||process.platform==="win32"?this.watcher=E(e,{recursive:!0},(o,n)=>{n&&this.handleRefChange(n)}):this.pollTimer=setInterval(()=>{this.poll().catch(o=>{console.debug("[GitWatcher] Poll error:",o)})},this.options.pollIntervalMs),this._running=!0}stop(){this.debounceTimer&&(clearTimeout(this.debounceTimer),this.debounceTimer=void 0),this.pollTimer&&(clearInterval(this.pollTimer),this.pollTimer=void 0),this.watcher&&(this.watcher.close(),this.watcher=void 0),this._running=!1}async poll(){if(this._polling)return[];this._polling=!0;let e=[];try{let{stdout:t}=await M("git",["for-each-ref","--format=%(refname:short) %(objectname:short)","refs/heads/"],{cwd:this.options.repoRoot});for(let o of t.trim().split(`
3
- `)){if(!o)continue;let[n,i]=o.split(" "),r=this.lastKnownHeads.get(n);r&&r!==i&&(e.push(n),await this.enqueueCommitAnalysis(n,i)),this.lastKnownHeads.set(n,i)}}catch{}finally{this._polling=!1}return e}handleRefChange(e){this.debounceTimer&&clearTimeout(this.debounceTimer),this.debounceTimer=setTimeout(()=>{this.processRefChange(e).catch(t=>{console.debug("[GitWatcher] Error processing ref change:",t)})},this.options.debounceMs)}async processRefChange(e){let t=e.replace(/\\/g,"/"),o=W(this.options.repoRoot,".git","refs","heads"),n=z(o,e),i;try{i=B(n,"utf-8").trim()}catch{return}this.lastKnownHeads.get(t)!==i&&(this.lastKnownHeads.set(t,i),await this.enqueueCommitAnalysis(t,i))}async enqueueCommitAnalysis(e,t){let o=[];try{let{stdout:r}=await M("git",["diff-tree","--no-commit-id","--name-only","-r",t],{cwd:this.options.repoRoot});o=r.trim().split(`
4
- `).filter(Boolean).slice(0,this.options.maxChangedFiles)}catch{}let n={type:"git_commit",branch:e,commitHash:t,changedFiles:o},i={id:`git-${t}-${Date.now()}`,priority:"next",payload:n,createdAt:Date.now(),source:"git-watcher",ttlMs:300*1e3};this.queue.enqueue(i)}async snapshotHeads(){try{let{stdout:e}=await M("git",["for-each-ref","--format=%(refname:short) %(objectname:short)","refs/heads/"],{cwd:this.options.repoRoot});for(let t of e.trim().split(`
5
- `)){if(!t)continue;let[o,n]=t.split(" ");this.lastKnownHeads.set(o,n)}}catch{}}};var V={regressionThreshold:2,gapThreshold:60,memoryPrefix:"quality-daemon:coverage"},v=class{constructor(e,t){this.queue=e;this.options={...V,...t}}queue;options;async analyze(e,t,o){let n=await t.get(`${this.options.memoryPrefix}:snapshot`);if(await t.set(`${this.options.memoryPrefix}:snapshot`,e),!n)return{regressionDetected:!1,overallDelta:{line:0,branch:0,function:0,statement:0},affectedFiles:[],newGaps:[]};let i=n,r={line:e.overall.line-i.overall.line,branch:e.overall.branch-i.overall.branch,function:e.overall.function-i.overall.function,statement:e.overall.statement-i.overall.statement},a=r.line<-this.options.regressionThreshold||r.branch<-this.options.regressionThreshold,c=o??Object.keys(e.files),d=[],h=[];for(let g of c){let m=e.files[g],p=i.files[g];if(!m)continue;let R=p?m.line-p.line:0,$=p?m.branch-p.branch:0,I=p?m.uncoveredLines.filter(_=>!p.uncoveredLines.includes(_)):m.uncoveredLines;if((R!==0||$!==0||I.length>0)&&d.push({file:g,lineDelta:R,branchDelta:$,newUncoveredLines:I}),m.line<this.options.gapThreshold){let _=this.computeRiskScore(m,I.length);h.push({file:g,uncoveredLines:m.uncoveredLines,currentCoverage:m.line,riskScore:_})}}return(a||h.length>0)&&this.enqueueTestSuggestion(e,i,h),await t.set(`${this.options.memoryPrefix}:delta`,{timestamp:Date.now(),overallDelta:r,regressionDetected:a,affectedFileCount:d.length,gapCount:h.length}),{regressionDetected:a,overallDelta:r,affectedFiles:d,newGaps:h}}async buildSnapshot(e){let t=await e.get("coverage:latest");if(t)return{timestamp:Date.now(),overall:{line:t.line,branch:t.branch,function:t.function,statement:t.statement},files:t.files??{}}}computeRiskScore(e,t){let n=1-Math.min(100,Math.max(0,e.line))/100,i=Math.min(t/50,1);return Math.min(1,n*.6+i*.4)}enqueueTestSuggestion(e,t,o){let n={type:"coverage_delta",previousSnapshot:`snapshot-${t.timestamp}`,currentSnapshot:`snapshot-${e.timestamp}`},i={id:`coverage-delta-${Date.now()}`,priority:o.some(r=>r.riskScore>.8)?"now":"next",payload:n,createdAt:Date.now(),source:"coverage-delta",ttlMs:600*1e3};this.queue.enqueue(i)}};import{execFile as K}from"child_process";import{promisify as Y}from"util";var X=Y(K),Z={runsPerWorkflow:10,flakyThreshold:3,repo:""},w=class{constructor(e,t){this.queue=e;this.options={...Z,...t}}queue;options;async check(){let e=await this.fetchRecentRuns(),t=this.groupByWorkflow(e),o=[],n=[],i=0;for(let[a,c]of Object.entries(t)){let d=c.filter(p=>p.conclusion==="failure").length,h=c.length>0?(c.length-d)/c.length*100:100,g=this.countConsecutiveFailures(c),m=c[0]?.conclusion??"unknown";m==="failure"&&i++,g>=this.options.flakyThreshold&&(n.push(a),this.enqueueFailureAlert(a,c[0])),o.push({name:a,recentRuns:c.length,failedRuns:d,successRate:Math.round(h*10)/10,lastConclusion:m,consecutiveFailures:g})}let r=this.calculateHealthScore(o);return{timestamp:Date.now(),workflows:o,failingWorkflows:i,flakyWorkflows:n,healthScore:r}}async fetchRecentRuns(){try{let e=["run","list","--limit",String(this.options.runsPerWorkflow*5),"--json","name,status,conclusion,headBranch,number,databaseId,createdAt"];this.options.repo&&e.push("--repo",this.options.repo);let{stdout:t}=await X("gh",e,{timeout:15e3});return JSON.parse(t).map(n=>({name:n.name,status:n.status,conclusion:n.conclusion??"pending",headBranch:n.headBranch,runNumber:n.number,databaseId:n.databaseId,createdAt:n.createdAt}))}catch{return[]}}groupByWorkflow(e){let t={};for(let o of e)t[o.name]||(t[o.name]=[]),t[o.name].push(o);for(let o of Object.keys(t))t[o]=t[o].slice(0,this.options.runsPerWorkflow);return t}countConsecutiveFailures(e){let t=0;for(let o of e)if(o.conclusion==="failure")t++;else break;return t}calculateHealthScore(e){if(e.length===0)return 100;let t=e.reduce((o,n)=>o+n.successRate,0)/e.length;return Math.round(t)}enqueueFailureAlert(e,t){let o={type:"ci_failure",workflowName:e,runId:t.databaseId,conclusion:t.conclusion},n={id:`ci-failure-${e}-${Date.now()}`,priority:"now",payload:o,createdAt:Date.now(),source:"ci-monitor",ttlMs:1800*1e3};this.queue.enqueue(n)}};var ee={memoryPrefix:"quality-daemon:suggestions",maxSuggestions:100,minRiskScore:.3},b=class{options;constructor(e){this.options={...ee,...e}}async suggest(e,t,o){let n=[],i=e.filter(a=>a.riskScore>=this.options.minRiskScore);for(let a of i){let c=t.includes(a.file),d=this.determinePriority(a,c),h=this.determineTestType(a.file),g=this.estimateEffort(a);n.push({id:`suggestion-${Date.now()}-${n.length}`,file:a.file,uncoveredLines:a.uncoveredLines.slice(0,50),suggestedTestType:h,description:this.generateDescription(a,h),priority:d,estimatedEffort:g,createdAt:Date.now(),status:"pending"})}n.sort((a,c)=>{let d={high:0,medium:1,low:2};return d[a.priority]-d[c.priority]});let r=n.slice(0,this.options.maxSuggestions);return await this.storeSuggestions(r,o),r}async getPending(e){return(await e.get(`${this.options.memoryPrefix}:list`)??[]).filter(o=>o.status==="pending")}async updateStatus(e,t,o){let n=await o.get(`${this.options.memoryPrefix}:list`);if(!n)return!1;let i=n.findIndex(a=>a.id===e);if(i===-1)return!1;let r=n.map((a,c)=>c===i?{...a,status:t}:a);return await o.set(`${this.options.memoryPrefix}:list`,r),!0}determinePriority(e,t){return e.riskScore>.8?"high":t||e.riskScore>.5?"medium":"low"}determineTestType(e){return e.includes("/api/")||e.includes("/routes/")||e.includes("/handlers/")?"integration":e.includes("/e2e/")||e.includes("/pages/")||e.includes("/views/")?"e2e":"unit"}estimateEffort(e){return e.uncoveredLines.length<=10?"small":e.uncoveredLines.length<=50?"medium":"large"}generateDescription(e,t){let o=e.uncoveredLines.length,n=Math.round(e.currentCoverage);return`Add ${t} tests for ${e.file} (${o} uncovered lines, ${n}% coverage, risk ${(e.riskScore*100).toFixed(0)}%)`}async storeSuggestions(e,t){let i=[...(await t.get(`${this.options.memoryPrefix}:list`)??[]).filter(r=>r.status!=="pending"),...e].slice(-this.options.maxSuggestions);await t.set(`${this.options.memoryPrefix}:list`,i),await t.set(`${this.options.memoryPrefix}:count`,{pending:e.length,total:i.length,lastUpdated:Date.now()})}};var te={memoryPrefix:"quality-daemon:nightly",maxEntryAge:6048e5,nightlyHour:2},k=class{constructor(e,t){this.queue=e;this.options={...te,...t}}queue;options;lastRunDate;shouldRun(){let e=new Date,t=e.toISOString().split("T")[0];return this.lastRunDate===t?!1:e.getHours()>=this.options.nightlyHour}scheduleIfDue(){if(!this.shouldRun())return!1;let e={type:"nightly",tasks:["consolidate_patterns","prune_expired","generate_report"]},t={id:`nightly-${Date.now()}`,priority:"later",payload:e,createdAt:Date.now(),source:"nightly-consolidation",ttlMs:720*60*1e3};return this.queue.enqueue(t)}async execute(e,t){let o=Date.now(),n=new Date().toISOString().split("T")[0],i=await this.consolidatePatterns(e),r=await this.pruneExpired(e),a=this.generateReport(n,t);await e.set(`${this.options.memoryPrefix}:report:${n}`,a),this.lastRunDate=n;let c={timestamp:Date.now(),patternsConsolidated:i,entriesPruned:r,reportGenerated:!0,durationMs:Date.now()-o};return await e.set(`${this.options.memoryPrefix}:last-result`,c),c}async getLastResult(e){return e.get(`${this.options.memoryPrefix}:last-result`)}async consolidatePatterns(e){let t=await e.search("quality-daemon:*"),o=0;return await e.get("quality-daemon:suggestions:count")&&o++,await e.get("quality-daemon:coverage:delta")&&o++,o}async pruneExpired(e){let t=await e.search("quality-daemon:*"),o=0,n=Date.now();for(let i of t){if(i.endsWith(":snapshot")||i.endsWith(":list"))continue;let r=await e.get(i);r&&typeof r.timestamp=="number"&&n-r.timestamp>this.options.maxEntryAge&&(await e.set(i,{pruned:!0,prunedAt:n}),o++)}return o}generateReport(e,t){return{date:e,coverageHealth:t.coverageHealth??0,ciHealth:t.ciHealth??0,commitsAnalyzed:t.commitsAnalyzed??0,suggestionsGenerated:t.suggestionsGenerated??0,notificationsSent:t.notificationsSent??0,queueDepthAvg:t.queueDepthAvg??0,daemonUptime:t.uptimeSeconds??0}}};import{writeFileSync as A,mkdirSync as Q,readdirSync as P,readFileSync as F,unlinkSync as G}from"fs";import{join as C,resolve as oe}from"path";var O={notificationsDir:oe(process.cwd(),".agentic-qe","notifications"),maxNotifications:200},S=class{notificationsDir;maxNotifications;webhookUrl;urlValidator;_sentCount=0;constructor(e){this.notificationsDir=e?.notificationsDir??O.notificationsDir,this.maxNotifications=e?.maxNotifications??O.maxNotifications,this.webhookUrl=e?.webhookUrl,this.urlValidator=e?.urlValidator}get sentCount(){return this._sentCount}initialize(){Q(this.notificationsDir,{recursive:!0})}async send(e){let t={...e,id:`notif-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,timestamp:Date.now(),read:!1};return this.writeToFile(t),this.webhookUrl&&await this.sendWebhook(t),this._sentCount++,this.pruneOldNotifications(),t}list(e){let t=e?.limit??50;try{let o=P(this.notificationsDir).filter(i=>i.endsWith(".json")).sort().reverse(),n=[];for(let i of o){if(n.length>=t)break;try{let r=F(C(this.notificationsDir,i),"utf-8"),a=JSON.parse(r);if(e?.unreadOnly&&a.read||e?.type&&a.type!==e.type)continue;n.push(a)}catch{}}return n}catch{return[]}}markRead(e){try{let t=P(this.notificationsDir).filter(r=>r.endsWith(`-${e}.json`));if(t.length===0)return!1;let o=C(this.notificationsDir,t[0]),i={...JSON.parse(F(o,"utf-8")),read:!0};return A(o,JSON.stringify(i,null,2)),!0}catch{return!1}}clear(){try{let e=P(this.notificationsDir).filter(t=>t.endsWith(".json"));for(let t of e)G(C(this.notificationsDir,t));return e.length}catch{return 0}}writeToFile(e){try{Q(this.notificationsDir,{recursive:!0});let t=`${e.timestamp}-${e.id}.json`,o=C(this.notificationsDir,t);A(o,JSON.stringify(e,null,2))}catch(t){console.debug("[NotificationService] Failed to write notification:",t)}}async sendWebhook(e){if(this.webhookUrl){if(this.urlValidator&&!this.urlValidator(this.webhookUrl)){console.warn("[NotificationService] Webhook URL blocked by SSRF guard:",this.webhookUrl);return}try{let t=await fetch(this.webhookUrl,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e),signal:AbortSignal.timeout(5e3)});t.ok||console.debug(`[NotificationService] Webhook returned ${t.status}`)}catch(t){console.debug("[NotificationService] Webhook delivery failed:",t)}}}pruneOldNotifications(){try{let e=P(this.notificationsDir).filter(o=>o.endsWith(".json")).sort();if(e.length<=this.maxNotifications)return;let t=e.slice(0,e.length-this.maxNotifications);for(let o of t)G(C(this.notificationsDir,o))}catch{}}};var q="quality-daemon",D=class{constructor(e){this.backend=e}backend;async get(e){return this.backend.kvGet(e,q)}async set(e,t){await this.backend.kvSet(e,t,q)}async search(e){return this.backend.kvSearch(e,q)}};var T={tickIntervalMs:3e4,ciPollIntervalMs:5*6e4,coverageCheckIntervalMs:2*6e4,cpuThreshold:.7,memoryThreshold:.8},x=class{queue;gitWatcher;coverageDelta;ciMonitor;testSuggester;nightlyConsolidation;notificationService;tickTimer;_running=!1;_startedAt=0;_tickCount=0;_lastTickAt;_throttled=!1;_commitsAnalyzed=0;_suggestionsGenerated=0;_ciHealth=100;_coverageHealth=100;_lastCICheck;_lastCoverageCheck;_memory;config;constructor(e){this.config={tickIntervalMs:e?.tickIntervalMs??T.tickIntervalMs,ciPollIntervalMs:e?.ciPollIntervalMs??T.ciPollIntervalMs,coverageCheckIntervalMs:e?.coverageCheckIntervalMs??T.coverageCheckIntervalMs,cpuThreshold:e?.cpuThreshold??T.cpuThreshold,memoryThreshold:e?.memoryThreshold??T.memoryThreshold},this.queue=new f,this.gitWatcher=new y(this.queue,e?.git),this.coverageDelta=new v(this.queue,e?.coverage),this.ciMonitor=new w(this.queue,e?.ci),this.testSuggester=new b(e?.suggestions),this.nightlyConsolidation=new k(this.queue,e?.nightly),this.notificationService=new S(e?.notifications)}get running(){return this._running}async start(e){this._running||(this._memory=e,this._running=!0,this._startedAt=Date.now(),this.notificationService.initialize(),await this.gitWatcher.start().catch(t=>{console.debug("[QualityDaemon] Git watcher failed to start:",t)}),this.scheduleTick())}async stop(){this._running&&(this._running=!1,this.tickTimer&&(clearTimeout(this.tickTimer),this.tickTimer=void 0),this.gitWatcher.stop(),this._memory&&await this._memory.set("quality-daemon:state",{stoppedAt:Date.now(),tickCount:this._tickCount,commitsAnalyzed:this._commitsAnalyzed,suggestionsGenerated:this._suggestionsGenerated}))}getStatus(){return{running:this._running,uptimeSeconds:this._running?Math.floor((Date.now()-this._startedAt)/1e3):0,tickCount:this._tickCount,queueDepth:this.queue.depths,lastTickAt:this._lastTickAt,throttled:this._throttled,commitsAnalyzed:this._commitsAnalyzed,suggestionsGenerated:this._suggestionsGenerated,notificationsSent:this.notificationService.sentCount,ciHealth:this._ciHealth,coverageHealth:this._coverageHealth,lastCICheck:this._lastCICheck,lastCoverageCheck:this._lastCoverageCheck}}scheduleTick(){this._running&&(this.tickTimer=setTimeout(()=>this.tick(),this.config.tickIntervalMs))}async tick(){if(!(!this._running||!this._memory)){if(this._tickCount++,this._lastTickAt=Date.now(),this._throttled=this.isResourceConstrained(),this._throttled){await this.processNowItems(this._memory),this.scheduleTick();return}await this.processQueue(this._memory),await this.runPeriodicChecks(this._memory),this.nightlyConsolidation.scheduleIfDue(),this.queue.pruneExpired(),this.scheduleTick()}}async processQueue(e){let t=0,o=10;for(;t<o&&!this.queue.isEmpty;){let n=this.queue.dequeue();if(!n)break;await this.handleQueueItem(n,e),t++}}async processNowItems(e){let t=this.queue.drainPriority("now");for(let o of t)await this.handleQueueItem(o,e)}async handleQueueItem(e,t){let o=e.payload;switch(o.type){case"git_commit":this._commitsAnalyzed++;let n=await this.coverageDelta.buildSnapshot(t);if(n){let i=await this.coverageDelta.analyze(n,t,o.changedFiles);if(i.regressionDetected&&await this.notificationService.send({type:"coverage_drop",title:"Coverage Regression Detected",message:`Line coverage delta: ${i.overallDelta.line.toFixed(1)}% (${i.affectedFiles.length} files affected)`,severity:"high",metadata:{delta:i.overallDelta,commit:o.commitHash}}),i.newGaps.length>0){let r=await this.testSuggester.suggest(i.newGaps,o.changedFiles,t);this._suggestionsGenerated+=r.length,r.length>0&&await this.notificationService.send({type:"suggestion_available",title:"New Test Suggestions Available",message:`${r.length} test suggestions generated for uncovered code`,severity:"info",metadata:{count:r.length}})}}break;case"coverage_delta":{let i=await this.testSuggester.getPending(t);i.length>0&&await this.notificationService.send({type:"suggestion_available",title:"Test Suggestions Pending",message:`${i.length} test suggestions awaiting review`,severity:"info",metadata:{count:i.length}});break}case"gate_failure":await this.notificationService.send({type:"gate_failure",title:`Quality Gate Failed: ${o.gateName}`,message:`Score ${o.score} below threshold ${o.threshold}`,severity:"critical",metadata:{gate:o.gateName,score:o.score,threshold:o.threshold}});break;case"ci_failure":await this.notificationService.send({type:"ci_failure",title:`CI Failure: ${o.workflowName}`,message:`Workflow ${o.workflowName} run #${o.runId} concluded: ${o.conclusion}`,severity:"high",metadata:{workflow:o.workflowName,runId:o.runId}});break;case"nightly":{let i={coverageHealth:this._coverageHealth,ciHealth:this._ciHealth,commitsAnalyzed:this._commitsAnalyzed,suggestionsGenerated:this._suggestionsGenerated,notificationsSent:this.notificationService.sentCount,queueDepthAvg:this.queue.size,uptimeSeconds:Math.floor((Date.now()-this._startedAt)/1e3)};await this.nightlyConsolidation.execute(t,i);break}default:console.warn("[QualityDaemon] Unhandled payload type:",o.type)}}async runPeriodicChecks(e){let t=Date.now();if(!this._lastCICheck||t-this._lastCICheck>=this.config.ciPollIntervalMs)try{let o=await this.ciMonitor.check();this._ciHealth=o.healthScore,this._lastCICheck=t,o.flakyWorkflows.length>0&&await this.notificationService.send({type:"flaky_detected",title:"Flaky Workflows Detected",message:`${o.flakyWorkflows.length} workflows showing repeated failures: ${o.flakyWorkflows.join(", ")}`,severity:"medium",metadata:{workflows:o.flakyWorkflows}})}catch{}if(!this._lastCoverageCheck||t-this._lastCoverageCheck>=this.config.coverageCheckIntervalMs)try{let o=await this.coverageDelta.buildSnapshot(e);o&&(this._coverageHealth=Math.round((o.overall.line+o.overall.branch+o.overall.function+o.overall.statement)/4),this._lastCoverageCheck=t)}catch{}}isResourceConstrained(){if(1-ie()/re()>this.config.memoryThreshold)return!0;let t=ne().length;return(t>0?se()[0]/t:0)>this.config.cpuThreshold}};var u;function Ke(){let l=new ae("daemon").description("Manage the QE Quality Daemon").addHelpText("after",`
6
- Examples:
7
- aqe daemon start Start daemon in foreground
8
- aqe daemon stop Stop running daemon
9
- aqe daemon status Show daemon health and queue depth
10
- aqe daemon notifications List recent notifications
11
- aqe daemon clear-notifications Clear all notifications
12
- `);return l.command("start").description("Start the QE Quality Daemon").option("--tick-interval <ms>","Tick interval in milliseconds","30000").option("--ci-interval <ms>","CI poll interval in milliseconds","300000").action(async e=>{if(u?.running){console.log(s.yellow("Daemon is already running"));let r=u.getStatus();console.log(s.gray(` Uptime: ${r.uptimeSeconds}s, Ticks: ${r.tickCount}`));return}let t={tickIntervalMs:parseInt(e.tickInterval,10),ciPollIntervalMs:parseInt(e.ciInterval,10),notifications:{urlValidator:r=>{try{let c=new URL(r).hostname.replace(/^\[|\]$/g,"");return!N(c)}catch{return!1}}}};u=new x(t);let o;try{let{UnifiedMemoryManager:r}=await import("./unified-memory-YDKXKW3D.js"),a=await r.getInstanceAsync();o=new D(a),console.log(s.gray(" Storage: SQLite (persistent)"))}catch{let r=new Map;o={async get(a){return r.get(a)},async set(a,c){r.set(a,c)},async search(a){let c=a.replace(/[.+?^${}()|[\]\\]/g,"\\$&"),d=new RegExp(c.replace(/\*/g,".*"));return Array.from(r.keys()).filter(h=>d.test(h))}},console.log(s.yellow(" Storage: in-memory (no SQLite available, state will not persist)"))}console.log(s.green("Starting QE Quality Daemon...")),await u.start(o),console.log(s.green("QE Quality Daemon started")),console.log(s.gray(` Tick interval: ${t.tickIntervalMs}ms`)),console.log(s.gray(` CI poll interval: ${t.ciPollIntervalMs}ms`)),console.log(s.gray(` PID: ${process.pid}`)),console.log(s.gray(`
13
- Press Ctrl+C to stop`));let n=setInterval(()=>{u?.running||clearInterval(n)},5e3),i=async()=>{console.log(s.yellow(`
14
- Stopping QE Quality Daemon...`)),await u?.stop(),clearInterval(n),console.log(s.green("Daemon stopped")),process.exit(0)};process.once("SIGINT",i),process.once("SIGTERM",i)}),l.command("stop").description("Stop the QE Quality Daemon").action(async()=>{if(!u?.running){console.log(s.yellow("No running daemon found"));return}await u.stop(),console.log(s.green("Daemon stopped")),u=void 0}),l.command("status").description("Show daemon health and queue status").action(()=>{if(!u){console.log(s.yellow("No daemon instance (start with: aqe daemon start)"));return}let e=u.getStatus();console.log(s.bold(`
15
- QE Quality Daemon Status`)),console.log(s.gray("\u2500".repeat(40))),console.log(` Running: ${e.running?s.green("yes"):s.red("no")}`),console.log(` Uptime: ${le(e.uptimeSeconds)}`),console.log(` Ticks: ${e.tickCount}`),console.log(` Throttled: ${e.throttled?s.yellow("yes"):s.green("no")}`),console.log(s.bold(`
16
- Queue Depth`)),console.log(` Now: ${e.queueDepth.now}`),console.log(` Next: ${e.queueDepth.next}`),console.log(` Later: ${e.queueDepth.later}`),console.log(s.bold(`
17
- Health`)),console.log(` CI: ${H(e.ciHealth)}${e.ciHealth}%${s.reset("")}`),console.log(` Coverage: ${H(e.coverageHealth)}${e.coverageHealth}%${s.reset("")}`),console.log(s.bold(`
18
- Activity`)),console.log(` Commits: ${e.commitsAnalyzed}`),console.log(` Suggestions: ${e.suggestionsGenerated}`),console.log(` Notifications: ${e.notificationsSent}`),console.log()}),l.command("notifications").description("List recent notifications").option("--unread","Show only unread notifications").option("--limit <n>","Maximum notifications to show","20").option("--type <type>","Filter by type (gate_failure, coverage_drop, flaky_detected, etc.)").action(e=>{if(!u){console.log(s.yellow("No daemon instance"));return}let t=u.notificationService.list({unreadOnly:e.unread,limit:parseInt(e.limit,10),type:e.type});if(t.length===0){console.log(s.gray("No notifications"));return}console.log(s.bold(`
19
- Notifications (${t.length})`)),console.log(s.gray("\u2500".repeat(60)));for(let o of t){let n=ce(o.severity),i=new Date(o.timestamp).toLocaleString(),r=o.read?s.gray("\u2713"):s.yellow("\u25CF");console.log(`${r} ${n} ${s.bold(o.title)}`),console.log(` ${o.message}`),console.log(s.gray(` ${i} [${o.type}]`)),console.log()}}),l.command("clear-notifications").description("Clear all notifications").action(()=>{if(!u){console.log(s.yellow("No daemon instance"));return}let e=u.notificationService.clear();console.log(s.green(`Cleared ${e} notifications`))}),l}function le(l){if(l<60)return`${l}s`;if(l<3600)return`${Math.floor(l/60)}m ${l%60}s`;let e=Math.floor(l/3600),t=Math.floor(l%3600/60);return`${e}h ${t}m`}function H(l){return l>=80?s.green(""):l>=60?s.yellow(""):s.red("")}function ce(l){switch(l){case"critical":return s.red("!!");case"high":return s.red("!");case"medium":return s.yellow("~");case"low":return s.blue("-");case"info":return s.gray("i");default:return" "}}export{Ke as createDaemonCommand};
@@ -1,2 +0,0 @@
1
- import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.31");process.exit(0)}
2
- import{b as a,c as b,d as c,e as d,f as e,g as f,h as g,i as h,j as i,k as j,l as k,m as l,n as m,o as n,p as o,q as p,r as q,s as r,t as s,u as t,v as u}from"./chunk-JRIDPOEZ.js";import"./chunk-KXRDQQGN.js";import"./chunk-G3YKCZWQ.js";import"./chunk-YN7HCVUP.js";import"./chunk-VOOJDHLI.js";import"./chunk-YEZJE2ZW.js";import"./chunk-UIIEZMSM.js";import"./chunk-VA45HLBF.js";import"./chunk-PYYNY7RJ.js";import"./chunk-AQN6PDHI.js";import"./chunk-ZG4EKPGV.js";import"./chunk-N6P7ENG7.js";import"./chunk-M6RVKGIP.js";import"./chunk-CNKOIHF6.js";import"./chunk-HHEIQHLQ.js";import"./chunk-VSKABN3B.js";import"./chunk-XTWYCMAM.js";import"./chunk-7MXQV7RB.js";import"./chunk-X2FLWV5C.js";import"./chunk-WB6TI6Q3.js";import"./chunk-NTVJKQ5S.js";import"./chunk-5Z6PYYWK.js";import"./chunk-NZQYNUGM.js";import"./chunk-IRRGUXAU.js";import"./chunk-K6MFAVXK.js";import"./chunk-GQFAVT2I.js";import"./chunk-CFLA2GBS.js";import"./chunk-EJXRBAQF.js";import"./chunk-N6SIKSCO.js";import"./chunk-5WWQLPB4.js";import"./chunk-7OVVBBOZ.js";import"./chunk-G2U7Q6V6.js";import"./chunk-CUSLB7MB.js";import"./chunk-DMF4Z2M6.js";import"./chunk-AKFRM4IO.js";import"./chunk-BMS7WFDB.js";export{t as BUILT_IN_STRATEGIES,e as ConceptGraph,j as DEFAULT_ACTIVATION_CONFIG,d as DEFAULT_CONCEPT_GRAPH_CONFIG,p as DEFAULT_DREAM_CONFIG,a as DEFAULT_DREAM_SCHEDULER_CONFIG,l as DEFAULT_INSIGHT_CONFIG,n as DEFAULT_VALIDATION_THRESHOLDS,q as DreamEngine,b as DreamScheduler,i as HISTORY_TRIM_TARGET_RATIO,m as InsightGenerator,g as MAX_ACTIVATION_HISTORY_ENTRIES,h as MAX_COACTIVATION_ENTRIES,o as RVCOWBranchManager,u as SpeculativeDreamer,k as SpreadingActivation,f as createConceptGraph,r as createDreamEngine,c as createDreamScheduler,s as default};
@@ -1,2 +0,0 @@
1
- import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.31");process.exit(0)}
2
- import{a,c as b}from"./chunk-CUSLB7MB.js";import"./chunk-DMF4Z2M6.js";import"./chunk-AKFRM4IO.js";import"./chunk-BMS7WFDB.js";b();export{a as HnswAdapter};
@@ -1,2 +0,0 @@
1
- import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.31");process.exit(0)}
2
- import{a,b,c,d}from"./chunk-VLAGWLHF.js";import"./chunk-5Z6PYYWK.js";import"./chunk-NZQYNUGM.js";import"./chunk-5WWQLPB4.js";import"./chunk-CUSLB7MB.js";import"./chunk-DMF4Z2M6.js";import"./chunk-AKFRM4IO.js";import"./chunk-BMS7WFDB.js";export{a as DEFAULT_HNSW_CONFIG,b as HNSWIndex,d as benchmarkHNSW,c as createHNSWIndex};
@@ -1,2 +0,0 @@
1
- import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.31");process.exit(0)}
2
- import{a}from"./chunk-ENCFLC44.js";import"./chunk-BYHUGO73.js";import"./chunk-WB6TI6Q3.js";import"./chunk-5Z6PYYWK.js";import"./chunk-NZQYNUGM.js";import"./chunk-IRRGUXAU.js";import"./chunk-K6MFAVXK.js";import"./chunk-GQFAVT2I.js";import"./chunk-BMS7WFDB.js";export{a as ImpactAnalyzerService};
@@ -1,2 +0,0 @@
1
- import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.31");process.exit(0)}
2
- import{a,b,c,d}from"./chunk-KJAIE7SL.js";import"./chunk-YQJBE6NX.js";import"./chunk-W7XVEWKQ.js";import"./chunk-DUF733Z7.js";import"./chunk-TVHWI77X.js";import"./chunk-WB6TI6Q3.js";import"./chunk-K6MFAVXK.js";import"./chunk-CFLA2GBS.js";import"./chunk-EJXRBAQF.js";import"./chunk-BMS7WFDB.js";export{a as InitOrchestrator,b as createInitOrchestrator,d as formatInitResult,c as quickInit};
@@ -1,2 +0,0 @@
1
- import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.31");process.exit(0)}
2
- import{y as a,z as b}from"./chunk-T4DDCMKG.js";import"./chunk-462MZLJB.js";import"./chunk-A424Z7LA.js";import"./chunk-5AMAJCZS.js";import"./chunk-VAIOZDG5.js";import"./chunk-QGLWFZVQ.js";import"./chunk-ZBJRNCWX.js";import"./chunk-7V7TP242.js";import"./chunk-52D3CYE5.js";import"./chunk-CQWZNVIM.js";import"./chunk-JF3U456G.js";import"./chunk-EKYPQ5DX.js";import"./chunk-ENCFLC44.js";import"./chunk-BYHUGO73.js";import"./chunk-L7DNPOAQ.js";import"./chunk-GJSH4UZ3.js";import"./chunk-NBKM7NKX.js";import"./chunk-JRIDPOEZ.js";import"./chunk-KXRDQQGN.js";import"./chunk-RTGNWRQI.js";import"./chunk-47QIAHUJ.js";import"./chunk-TJGIIGKL.js";import"./chunk-G3YKCZWQ.js";import"./chunk-YN7HCVUP.js";import"./chunk-3VKB4HVT.js";import"./chunk-NNF3GCGF.js";import"./chunk-VOOJDHLI.js";import"./chunk-YEZJE2ZW.js";import"./chunk-UIIEZMSM.js";import"./chunk-VA45HLBF.js";import"./chunk-PYYNY7RJ.js";import"./chunk-AQN6PDHI.js";import"./chunk-ZG4EKPGV.js";import"./chunk-N6P7ENG7.js";import"./chunk-M6RVKGIP.js";import"./chunk-CNKOIHF6.js";import"./chunk-OXOXNAEZ.js";import"./chunk-EAIPJSKH.js";import"./chunk-HHEIQHLQ.js";import"./chunk-VSKABN3B.js";import"./chunk-XTWYCMAM.js";import"./chunk-7MXQV7RB.js";import"./chunk-X2FLWV5C.js";import"./chunk-WB6TI6Q3.js";import"./chunk-NTVJKQ5S.js";import"./chunk-VLAGWLHF.js";import"./chunk-5Z6PYYWK.js";import"./chunk-NZQYNUGM.js";import"./chunk-IRRGUXAU.js";import"./chunk-K6MFAVXK.js";import"./chunk-GQFAVT2I.js";import"./chunk-RBDAHW2M.js";import"./chunk-CFLA2GBS.js";import"./chunk-EJXRBAQF.js";import"./chunk-N6SIKSCO.js";import"./chunk-5WWQLPB4.js";import"./chunk-7OVVBBOZ.js";import"./chunk-G2U7Q6V6.js";import"./chunk-CUSLB7MB.js";import"./chunk-DMF4Z2M6.js";import"./chunk-AKFRM4IO.js";import"./chunk-BMS7WFDB.js";export{a as QEKernelImpl,b as createKernel};
@@ -1,2 +0,0 @@
1
- import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.31");process.exit(0)}
2
- import{g as a}from"./chunk-BYHUGO73.js";import"./chunk-WB6TI6Q3.js";import"./chunk-5Z6PYYWK.js";import"./chunk-NZQYNUGM.js";import"./chunk-IRRGUXAU.js";import"./chunk-K6MFAVXK.js";import"./chunk-BMS7WFDB.js";export{a as KnowledgeGraphService};
@@ -1,2 +0,0 @@
1
- import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.31");process.exit(0)}
2
- import{a}from"./chunk-L4JTTPU7.js";import"./chunk-AKJWBJDK.js";import"./chunk-EAIPJSKH.js";import"./chunk-7MXQV7RB.js";import"./chunk-X2FLWV5C.js";import"./chunk-WB6TI6Q3.js";import"./chunk-5Z6PYYWK.js";import"./chunk-NZQYNUGM.js";import"./chunk-K6MFAVXK.js";import"./chunk-GQFAVT2I.js";import"./chunk-CFLA2GBS.js";import"./chunk-EJXRBAQF.js";import"./chunk-N6SIKSCO.js";import"./chunk-5WWQLPB4.js";import"./chunk-7OVVBBOZ.js";import"./chunk-G2U7Q6V6.js";import"./chunk-CUSLB7MB.js";import"./chunk-DMF4Z2M6.js";import"./chunk-AKFRM4IO.js";import"./chunk-BMS7WFDB.js";export{a as LoadTestTool};
@@ -1,2 +0,0 @@
1
- import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.31");process.exit(0)}
2
- import{a}from"./chunk-RBDAHW2M.js";import"./chunk-7OVVBBOZ.js";import"./chunk-G2U7Q6V6.js";import"./chunk-BMS7WFDB.js";export{a as InMemoryBackend};
@@ -1,2 +0,0 @@
1
- import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.31");process.exit(0)}
2
- import{c as a,d as c}from"./chunk-UIRTXM7C.js";import"./chunk-ZWSRIJ2T.js";import"./chunk-62KYX5NH.js";import"./chunk-ROEIR3OD.js";import"./chunk-4N736EES.js";import"./chunk-JMLOEW7Y.js";import"./chunk-YMN4C32S.js";import"./chunk-JJRZOLDY.js";import"./chunk-5M4F3PAL.js";import"./chunk-NLUBN642.js";import"./chunk-SL4TAJOE.js";import"./chunk-XY3WUGD3.js";import"./chunk-PUSZ4NBY.js";import"./chunk-UNXUSYRL.js";import"./chunk-7UHRT5AX.js";import"./chunk-JKKV5KKS.js";import"./chunk-L4JTTPU7.js";import"./chunk-MYCVU3D3.js";import"./chunk-CYUGE5ZQ.js";import"./chunk-ONMJJ2C3.js";import"./chunk-IY4P35N3.js";import"./chunk-RDJWUKIR.js";import"./chunk-QITO7E7Y.js";import"./chunk-FOAWHNOP.js";import"./chunk-W7XVEWKQ.js";import"./chunk-T4DDCMKG.js";import"./chunk-462MZLJB.js";import"./chunk-A424Z7LA.js";import"./chunk-5AMAJCZS.js";import"./chunk-VAIOZDG5.js";import"./chunk-QGLWFZVQ.js";import"./chunk-ZBJRNCWX.js";import"./chunk-TYUIQSSF.js";import"./chunk-35SFAIXE.js";import"./chunk-7V7TP242.js";import"./chunk-52D3CYE5.js";import"./chunk-PSF6YQQM.js";import"./chunk-QEJBJST4.js";import"./chunk-5G2L4XRU.js";import"./chunk-TVHWI77X.js";import"./chunk-CQWZNVIM.js";import{a as m,b as R,d as $,e as y,f as g,i as b}from"./chunk-JF3U456G.js";import"./chunk-EKYPQ5DX.js";import"./chunk-ENCFLC44.js";import"./chunk-BYHUGO73.js";import"./chunk-L7DNPOAQ.js";import"./chunk-GJSH4UZ3.js";import"./chunk-NBKM7NKX.js";import"./chunk-JRIDPOEZ.js";import"./chunk-KXRDQQGN.js";import"./chunk-RTGNWRQI.js";import"./chunk-47QIAHUJ.js";import"./chunk-TJGIIGKL.js";import"./chunk-G3YKCZWQ.js";import"./chunk-YN7HCVUP.js";import"./chunk-3VKB4HVT.js";import"./chunk-NNF3GCGF.js";import"./chunk-VOOJDHLI.js";import"./chunk-YEZJE2ZW.js";import"./chunk-UIIEZMSM.js";import"./chunk-VA45HLBF.js";import"./chunk-PYYNY7RJ.js";import"./chunk-AQN6PDHI.js";import"./chunk-ZG4EKPGV.js";import"./chunk-N6P7ENG7.js";import"./chunk-M6RVKGIP.js";import"./chunk-CNKOIHF6.js";import"./chunk-OXOXNAEZ.js";import"./chunk-AKJWBJDK.js";import"./chunk-EAIPJSKH.js";import"./chunk-HHEIQHLQ.js";import"./chunk-VSKABN3B.js";import{b as w}from"./chunk-XTWYCMAM.js";import"./chunk-7MXQV7RB.js";import"./chunk-X2FLWV5C.js";import"./chunk-WB6TI6Q3.js";import"./chunk-NTVJKQ5S.js";import"./chunk-VLAGWLHF.js";import"./chunk-5Z6PYYWK.js";import"./chunk-NZQYNUGM.js";import"./chunk-IRRGUXAU.js";import{a as i,c as S}from"./chunk-K6MFAVXK.js";import"./chunk-GQFAVT2I.js";import"./chunk-RBDAHW2M.js";import"./chunk-CFLA2GBS.js";import"./chunk-EJXRBAQF.js";import"./chunk-N6SIKSCO.js";import"./chunk-5WWQLPB4.js";import"./chunk-7OVVBBOZ.js";import"./chunk-G2U7Q6V6.js";import"./chunk-CUSLB7MB.js";import"./chunk-DMF4Z2M6.js";import"./chunk-AKFRM4IO.js";import"./chunk-BMS7WFDB.js";S();async function T(e){if(!c())return{success:!1,error:"Fleet not initialized. Call fleet_init first."};let{kernel:s}=a();try{let t=e.namespace||"default",n=`${t}:${e.key}`;if(m()){let r=g(e.key,e.value,t,{tags:e.metadata?.tags}),o=await y.evaluateWrite(r);if(!o.allowed){if(R()&&b.recordViolation({type:"contradiction",severity:"medium",gate:"memoryWriteGate",description:`Memory write blocked for key ${e.key}: ${o.reason}`,context:{key:e.key,namespace:t,reason:o.reason,conflictingPatterns:o.conflictingPatterns}}),$())return{success:!1,error:`Memory write blocked by governance: ${o.reason}`};console.warn(`[MemoryHandler] Write allowed with warning: ${o.reason}`)}}await s.memory.set(n,e.value,{ttl:e.ttl});try{let r=`${e.key} ${JSON.stringify(e.value)}`,o=await w(r);await s.memory.storeVector(n,o,{key:e.key,namespace:t,storedAt:Date.now()})}catch(r){console.warn(`[MemoryHandler] Vector indexing failed for ${e.key}: ${i(r)}`)}return m()&&y.registerPattern(g(e.key,e.value,t)),{success:!0,data:{stored:!0,key:e.key,namespace:t,timestamp:new Date().toISOString(),persisted:!0}}}catch(t){return{success:!1,error:`Failed to store memory: ${i(t)}`}}}async function z(e){if(!c())return{success:!1,error:"Fleet not initialized. Call fleet_init first."};let{kernel:s}=a();try{let n=`${e.namespace||"default"}:${e.key}`,r=await s.memory.get(n);if(r===void 0)return{success:!0,data:{found:!1,key:e.key}};let o={found:!0,key:e.key,value:r,timestamp:new Date().toISOString()};return e.includeMetadata&&(o.metadata={}),{success:!0,data:o}}catch(t){return{success:!1,error:`Failed to retrieve memory: ${i(t)}`}}}function v(e){return e.includes(" ")&&!e.includes("*")&&!e.includes("?")}async function E(e){if(!c())return{success:!1,error:"Fleet not initialized. Call fleet_init first."};let{kernel:s}=a();try{let t=e.namespace||"default",n=e.limit||100,r=e.offset||0;if((e.semantic===!0||e.semantic!==!1&&e.pattern&&v(e.pattern))&&e.pattern)try{let l=await w(e.pattern),u=await s.memory.vectorSearch(l,n+r),M=t!=="default"?u.filter(d=>d.key.startsWith(`${t}:`)):u;return{success:!0,data:{entries:M.slice(r,r+n).map(d=>{let k=d.key.split(":");return{key:k.length>1?k.slice(1).join(":"):d.key,namespace:k.length>1?k[0]:t,score:d.score}}),total:M.length,hasMore:r+n<M.length,searchType:"semantic"}}}catch(l){console.error(`[MemoryHandler] Semantic search failed, falling back to pattern: ${i(l)}`)}let f=e.pattern?`${t}:${e.pattern}`:`${t}:*`,h=await s.memory.search(f,n+r);return{success:!0,data:{entries:h.slice(r,r+n).map(l=>{let u=l.split(":");return{key:u.slice(1).join(":"),namespace:u[0]}}),total:h.length,hasMore:r+n<h.length,searchType:"pattern"}}}catch(t){return{success:!1,error:`Failed to query memory: ${i(t)}`}}}async function K(e){if(!c())return{success:!1,error:"Fleet not initialized. Call fleet_init first."};let{kernel:s}=a();try{let t=e.namespace||"default",n=`${t}:${e.key}`;return{success:!0,data:{deleted:await s.memory.delete(n),key:e.key,namespace:t}}}catch(t){return{success:!1,error:`Failed to delete memory: ${i(t)}`}}}async function W(){if(!c())return{success:!1,error:"Fleet not initialized. Call fleet_init first."};let{kernel:e}=a();try{let s=await e.memory.search("*",1e4),t=0,n=1;try{let r=e.memory;r.getVectorStats&&(t=(await r.getVectorStats())?.vectorCount??0);let o=new Set(s.map(f=>f.split(":")[0]).filter(Boolean));n=Math.max(1,o.size)}catch{}return{success:!0,data:{entries:s.length,vectors:t,namespaces:n,size:{current:s.length,limit:Number.MAX_SAFE_INTEGER,unit:"entries"}}}}catch(s){return{success:!1,error:`Failed to get memory usage: ${i(s)}`}}}async function _(e){if(!c())return{success:!1,error:"Fleet not initialized. Call fleet_init first."};let{kernel:s}=a();try{let t=`shared:${e.knowledgeDomain}:${Date.now()}`,n={source:e.sourceAgentId,targets:e.targetAgentIds,domain:e.knowledgeDomain,content:e.knowledgeContent,timestamp:new Date().toISOString()};if(m()){let r=g(t,n,e.knowledgeDomain,{agentId:e.sourceAgentId}),o=await y.evaluateWrite(r);if(!o.allowed&&(R()&&b.recordViolation({type:"contradiction",severity:"medium",agentId:e.sourceAgentId,gate:"memoryWriteGate",description:`Shared knowledge blocked for domain ${e.knowledgeDomain}: ${o.reason}`,context:{sourceAgent:e.sourceAgentId,targetAgents:e.targetAgentIds,domain:e.knowledgeDomain,reason:o.reason}}),$()))return{success:!1,error:`Knowledge sharing blocked by governance: ${o.reason}`}}return await s.memory.set(t,n,{namespace:"agent-knowledge"}),m()&&y.registerPattern(g(t,n,e.knowledgeDomain)),{success:!0,data:{shared:!0,sourceAgent:e.sourceAgentId,targetAgents:e.targetAgentIds,domain:e.knowledgeDomain}}}catch(t){return{success:!1,error:`Failed to share memory: ${i(t)}`}}}export{K as handleMemoryDelete,E as handleMemoryQuery,z as handleMemoryRetrieve,_ as handleMemoryShare,T as handleMemoryStore,W as handleMemoryUsage};
@@ -1,2 +0,0 @@
1
- import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.31");process.exit(0)}
2
- import{a,b}from"./chunk-35SFAIXE.js";import"./chunk-7V7TP242.js";import"./chunk-52D3CYE5.js";import"./chunk-IRRGUXAU.js";import"./chunk-K6MFAVXK.js";import"./chunk-GQFAVT2I.js";import"./chunk-BMS7WFDB.js";export{a as DefaultProtocolExecutor,b as createProtocolExecutor};
@@ -1,2 +0,0 @@
1
- import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.31");process.exit(0)}
2
- import{a as h,b as i,c as j,e as k,f as l,g as m,h as n}from"./chunk-VOOJDHLI.js";import"./chunk-YEZJE2ZW.js";import{a as e,b as f,d as g}from"./chunk-UIIEZMSM.js";import"./chunk-VA45HLBF.js";import"./chunk-PYYNY7RJ.js";import"./chunk-AQN6PDHI.js";import{a,b,c,h as d}from"./chunk-ZG4EKPGV.js";import"./chunk-N6P7ENG7.js";import"./chunk-M6RVKGIP.js";import"./chunk-VSKABN3B.js";import"./chunk-XTWYCMAM.js";import"./chunk-7MXQV7RB.js";import"./chunk-X2FLWV5C.js";import"./chunk-WB6TI6Q3.js";import"./chunk-NTVJKQ5S.js";import"./chunk-5Z6PYYWK.js";import"./chunk-NZQYNUGM.js";import"./chunk-IRRGUXAU.js";import"./chunk-K6MFAVXK.js";import"./chunk-GQFAVT2I.js";import"./chunk-CFLA2GBS.js";import"./chunk-EJXRBAQF.js";import"./chunk-N6SIKSCO.js";import"./chunk-5WWQLPB4.js";import"./chunk-7OVVBBOZ.js";import"./chunk-G2U7Q6V6.js";import"./chunk-CUSLB7MB.js";import"./chunk-DMF4Z2M6.js";import"./chunk-AKFRM4IO.js";import"./chunk-BMS7WFDB.js";export{j as AGENT_CAPABILITIES,h as DEFAULT_QE_REASONING_BANK_CONFIG,i as PRETRAINED_PATTERNS,m as QEReasoningBank,l as RELATED_DOMAINS,d as applyPatternTemplate,k as calculateAgentScores,n as createQEReasoningBank,a as detectQEDomain,b as detectQEDomains,g as generateGuidanceContext,f as getCombinedGuidance,e as getGuidance,c as mapQEDomainToAQE};
@@ -1,2 +0,0 @@
1
- import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.31");process.exit(0)}
2
- import{a,b,c,d}from"./chunk-PSF6YQQM.js";import"./chunk-QEJBJST4.js";import"./chunk-5G2L4XRU.js";import"./chunk-TVHWI77X.js";import"./chunk-CQWZNVIM.js";import"./chunk-JF3U456G.js";import"./chunk-EKYPQ5DX.js";import"./chunk-47QIAHUJ.js";import"./chunk-VA45HLBF.js";import"./chunk-PYYNY7RJ.js";import"./chunk-AQN6PDHI.js";import"./chunk-ZG4EKPGV.js";import"./chunk-7MXQV7RB.js";import"./chunk-X2FLWV5C.js";import"./chunk-WB6TI6Q3.js";import"./chunk-5Z6PYYWK.js";import"./chunk-NZQYNUGM.js";import"./chunk-IRRGUXAU.js";import"./chunk-K6MFAVXK.js";import"./chunk-GQFAVT2I.js";import"./chunk-CFLA2GBS.js";import"./chunk-EJXRBAQF.js";import"./chunk-N6SIKSCO.js";import"./chunk-5WWQLPB4.js";import"./chunk-7OVVBBOZ.js";import"./chunk-G2U7Q6V6.js";import"./chunk-CUSLB7MB.js";import"./chunk-DMF4Z2M6.js";import"./chunk-AKFRM4IO.js";import"./chunk-BMS7WFDB.js";export{a as DOMAIN_GROUPS,c as QueenCoordinator,b as TASK_DOMAIN_MAP,d as createQueenCoordinator};
@@ -1,2 +0,0 @@
1
- import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.31");process.exit(0)}
2
- import{a,b,c}from"./chunk-ZWSRIJ2T.js";import"./chunk-62KYX5NH.js";import"./chunk-ROEIR3OD.js";import"./chunk-JJRZOLDY.js";import"./chunk-5M4F3PAL.js";import"./chunk-WB6TI6Q3.js";import"./chunk-K6MFAVXK.js";import"./chunk-BMS7WFDB.js";export{a as ModelRouter,b as createModelRouter,c as createModelRouterWithAgentBooster};