agentic-qe 3.13.3 → 3.13.5

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 (414) hide show
  1. package/.agents/skills/aqe-plan-work/SKILL.md +31 -0
  2. package/.agents/skills/aqe-plan-work/agents/openai.yaml +4 -0
  3. package/.agents/skills/aqe-plan-work/references/planning-framework.md +39 -0
  4. package/.agents/skills/aqe-research/SKILL.md +31 -0
  5. package/.agents/skills/aqe-research/agents/openai.yaml +4 -0
  6. package/.agents/skills/aqe-research/references/evidence-rules.md +21 -0
  7. package/.agents/skills/aqe-ruflo/SKILL.md +29 -0
  8. package/.claude/commands/pair/README.md +261 -0
  9. package/.claude/commands/pair/commands.md +546 -0
  10. package/.claude/commands/pair/config.md +510 -0
  11. package/.claude/commands/pair/examples.md +512 -0
  12. package/.claude/commands/pair/modes.md +348 -0
  13. package/.claude/commands/pair/session.md +407 -0
  14. package/.claude/commands/pair/start.md +209 -0
  15. package/.claude/commands/stream-chain/pipeline.md +121 -0
  16. package/.claude/commands/stream-chain/run.md +70 -0
  17. package/.claude/commands/training/README.md +9 -0
  18. package/.claude/commands/training/model-update.md +25 -0
  19. package/.claude/commands/training/neural-patterns.md +108 -0
  20. package/.claude/commands/training/neural-train.md +75 -0
  21. package/.claude/commands/training/pattern-learn.md +25 -0
  22. package/.claude/commands/training/specialization.md +63 -0
  23. package/.claude/commands/truth/start.md +143 -0
  24. package/.claude/commands/verify/check.md +50 -0
  25. package/.claude/commands/verify/start.md +128 -0
  26. package/.claude/helpers/.helpers-version +1 -1
  27. package/.claude/helpers/auto-memory-hook.mjs +430 -430
  28. package/.claude/helpers/helpers.manifest.json +6 -6
  29. package/.claude/helpers/hook-handler.cjs +565 -565
  30. package/.claude/helpers/intelligence.cjs +1058 -1058
  31. package/.claude/helpers/statusline.cjs +1022 -968
  32. package/.claude/helpers/v3/advisor-call.cjs +283 -0
  33. package/.claude/skills/README.md +54 -64
  34. package/.claude/skills/dual-mode/README.md +71 -0
  35. package/.claude/skills/dual-mode/dual-collect.md +103 -0
  36. package/.claude/skills/dual-mode/dual-coordinate.md +85 -0
  37. package/.claude/skills/dual-mode/dual-spawn.md +81 -0
  38. package/.claude/skills/skills-manifest.json +1 -1
  39. package/.codex/hooks/aqe-codex-hook.cjs +34 -9
  40. package/.codex/hooks.json +9 -9
  41. package/CHANGELOG.md +90 -0
  42. package/assets/skills/skills-manifest.json +1 -1
  43. package/dist/cli/bundle.js +5 -5
  44. package/dist/cli/chunks/adapter-QGJAFSG5.js +2 -0
  45. package/dist/cli/chunks/{agent-booster-wasm-YIGGREZN.js → agent-booster-wasm-XDKGG2GP.js} +2 -2
  46. package/dist/cli/chunks/{agent-handler-64O7R55A.js → agent-handler-CTPXGR5P.js} +2 -2
  47. package/dist/cli/chunks/{agent-memory-branch-2ZZBYUP3.js → agent-memory-branch-MG5OV7AY.js} +2 -2
  48. package/dist/cli/chunks/aqe-learning-engine-ZU735SG7.js +2 -0
  49. package/dist/cli/chunks/{arena-PF5WL2WM.js → arena-FAHVOHNG.js} +2 -2
  50. package/dist/cli/chunks/{arena-6YRNQNCX.js → arena-NYO4EUNQ.js} +4 -4
  51. package/dist/cli/chunks/{audit-R53FOYCK.js → audit-6544RL5D.js} +3 -3
  52. package/dist/cli/chunks/base-EKTX2PRE.js +2 -0
  53. package/dist/cli/chunks/{hnswlib-node-QOULNHXS.js → better-sqlite3-MTEONNCQ.js} +2 -2
  54. package/dist/cli/chunks/{brain-handler-J4ICUOUX.js → brain-handler-DPKCUQUC.js} +3 -3
  55. package/dist/cli/chunks/{branch-enumerator-YVPD43TG.js → branch-enumerator-SU2KHC2C.js} +2 -2
  56. package/dist/cli/chunks/{browser-TKVHX53S.js → browser-ITDN72YJ.js} +2 -2
  57. package/dist/cli/chunks/browser-workflow-BUPIMI3E.js +2 -0
  58. package/dist/cli/chunks/{chunk-ORXDKBZC.js → chunk-23AO43XW.js} +1 -1
  59. package/dist/cli/chunks/{chunk-3NML6POU.js → chunk-2CF3XZAS.js} +2 -2
  60. package/dist/cli/chunks/{chunk-5IVOY76M.js → chunk-2KPGJ4LO.js} +2 -2
  61. package/dist/cli/chunks/{chunk-SJWTNKPY.js → chunk-2QI3OJAC.js} +3 -3
  62. package/dist/cli/chunks/{chunk-MYR6CBXC.js → chunk-2RZ2S6YR.js} +2 -2
  63. package/dist/cli/chunks/{chunk-VKUH57JE.js → chunk-2XZWYKXQ.js} +1 -1
  64. package/dist/cli/chunks/{chunk-ZU3XUBDQ.js → chunk-3EWWP3AO.js} +1 -1
  65. package/dist/cli/chunks/{chunk-4Z2AKQP4.js → chunk-3XKCC7LE.js} +1 -1
  66. package/dist/cli/chunks/chunk-42KQE5H6.js +12 -0
  67. package/dist/cli/chunks/{chunk-2MLPO3RZ.js → chunk-43BXSNKU.js} +2 -2
  68. package/dist/cli/chunks/{chunk-UOJ26GXD.js → chunk-4E2NA2GY.js} +2 -2
  69. package/dist/cli/chunks/{chunk-66KIIH6V.js → chunk-4Z7JP7CD.js} +2 -2
  70. package/dist/cli/chunks/{chunk-3J2QITXC.js → chunk-54C3OHES.js} +1 -1
  71. package/dist/cli/chunks/{chunk-5A5EC5RD.js → chunk-557BFPDB.js} +2 -2
  72. package/dist/cli/chunks/{chunk-JG267MVB.js → chunk-5I5KMIFY.js} +2 -2
  73. package/dist/cli/chunks/{chunk-IRX2THND.js → chunk-5YIGAWBO.js} +2 -2
  74. package/dist/cli/chunks/{chunk-PHGOMAIS.js → chunk-64GTU5LR.js} +2 -2
  75. package/dist/cli/chunks/{chunk-HJNFXYX4.js → chunk-6BEMH5K5.js} +1 -1
  76. package/dist/cli/chunks/{chunk-AJ45QR3K.js → chunk-6H3I36DL.js} +2 -2
  77. package/dist/cli/chunks/{chunk-X737I4SO.js → chunk-6L5V3JGJ.js} +1 -1
  78. package/dist/cli/chunks/{chunk-QGJYKXUO.js → chunk-6RV3W2UZ.js} +1 -1
  79. package/dist/cli/chunks/{chunk-XRF5MX4Q.js → chunk-6ZCAZ3TR.js} +2 -2
  80. package/dist/cli/chunks/{chunk-JQTDNUHA.js → chunk-74QRMQFR.js} +2 -2
  81. package/dist/cli/chunks/{chunk-DSUEJK33.js → chunk-76OWM3ZO.js} +2 -2
  82. package/dist/cli/chunks/{chunk-GTURQ454.js → chunk-7A4EXSMN.js} +2 -2
  83. package/dist/cli/chunks/{chunk-DPJLA7JW.js → chunk-7BLXINIL.js} +2 -2
  84. package/dist/cli/chunks/{chunk-4RYU4WMW.js → chunk-7LR4VP2I.js} +1 -1
  85. package/dist/cli/chunks/{chunk-NIA6VTIH.js → chunk-7M4X6WTF.js} +2 -2
  86. package/dist/cli/chunks/{chunk-N3KQRDTM.js → chunk-7PHF2JM3.js} +1 -1
  87. package/dist/cli/chunks/{chunk-7MBPKAQ3.js → chunk-7SQXEYII.js} +2 -2
  88. package/dist/cli/chunks/{chunk-PHBGMXTR.js → chunk-AAGOBPIJ.js} +2 -2
  89. package/dist/cli/chunks/{chunk-33SPAMQZ.js → chunk-AJYJFIKO.js} +2 -2
  90. package/dist/cli/chunks/{chunk-QP4UKSUJ.js → chunk-AKYOY5KR.js} +2 -2
  91. package/dist/cli/chunks/{chunk-HEF6XKA5.js → chunk-AKZ6PWHM.js} +2 -2
  92. package/dist/cli/chunks/{chunk-764G7VK6.js → chunk-APMLMLSL.js} +1 -1
  93. package/dist/cli/chunks/{chunk-KQFMCVBH.js → chunk-AX4XIG4G.js} +2 -2
  94. package/dist/cli/chunks/{chunk-ZLTAAROU.js → chunk-BAJK26EI.js} +2 -2
  95. package/dist/cli/chunks/{chunk-LLQG3F4H.js → chunk-BI6OTPC6.js} +2 -2
  96. package/dist/cli/chunks/chunk-BKI5NFQ5.js +2 -0
  97. package/dist/cli/chunks/{chunk-V6W4IHS5.js → chunk-BUN4WBPW.js} +2 -2
  98. package/dist/cli/chunks/{chunk-UF7JKDWB.js → chunk-BX5MY65W.js} +1 -1
  99. package/dist/cli/chunks/{chunk-KBQRYAHZ.js → chunk-CD4YWKJ2.js} +2 -2
  100. package/dist/cli/chunks/{chunk-VGWHFFK6.js → chunk-CHFZHORO.js} +5 -5
  101. package/dist/cli/chunks/{chunk-UX434RY5.js → chunk-CPIAZGHF.js} +2 -2
  102. package/dist/cli/chunks/{chunk-PS32DXYF.js → chunk-D4P6BKGF.js} +3 -3
  103. package/dist/cli/chunks/{chunk-CBLKYGKT.js → chunk-DFBJPOJR.js} +2 -2
  104. package/dist/cli/chunks/{chunk-XRQGWUDX.js → chunk-DIRFXY3J.js} +7 -7
  105. package/dist/cli/chunks/chunk-DK7MV2W3.js +2 -0
  106. package/dist/cli/chunks/chunk-DVYNBMMP.js +62 -0
  107. package/dist/cli/chunks/{chunk-LWPCGOQM.js → chunk-EGI6SKQD.js} +2 -2
  108. package/dist/cli/chunks/{chunk-RMQRSZB4.js → chunk-ELC3UEML.js} +1 -1
  109. package/dist/cli/chunks/chunk-ELKWYWTD.js +2 -0
  110. package/dist/cli/chunks/{chunk-2BYRQ5MV.js → chunk-EPMUAKU2.js} +2 -2
  111. package/dist/cli/chunks/{chunk-U7DGRHSB.js → chunk-EROQSNGD.js} +2 -2
  112. package/dist/cli/chunks/{chunk-GSG5FASF.js → chunk-EXXWOOUL.js} +3 -3
  113. package/dist/cli/chunks/{chunk-UWBHR4EZ.js → chunk-FQPYD6YE.js} +1 -1
  114. package/dist/cli/chunks/{chunk-OD5R7HRI.js → chunk-FW6OPDA6.js} +1 -1
  115. package/dist/cli/chunks/{chunk-M7XDTQHX.js → chunk-FYWTMDID.js} +2 -2
  116. package/dist/cli/chunks/{chunk-TK6CHESH.js → chunk-G47WJMHM.js} +1 -1
  117. package/dist/cli/chunks/{chunk-LOZRBK2Z.js → chunk-G73XY2NK.js} +2 -2
  118. package/dist/cli/chunks/{chunk-WRC66JTK.js → chunk-GHSP4AC5.js} +1 -1
  119. package/dist/cli/chunks/{chunk-37GCWGXT.js → chunk-GITS44TM.js} +2 -2
  120. package/dist/cli/chunks/{chunk-IH47VGC7.js → chunk-GUO6JZMS.js} +2 -2
  121. package/dist/cli/chunks/{chunk-JLFU5SCI.js → chunk-GWBV26SE.js} +2 -2
  122. package/dist/cli/chunks/{chunk-AXXFY7PX.js → chunk-HBYVYLBN.js} +2 -2
  123. package/dist/cli/chunks/{chunk-46U73TST.js → chunk-HMNBNGNO.js} +1 -1
  124. package/dist/cli/chunks/{chunk-J65XQ6WE.js → chunk-HZV3J4VQ.js} +2 -2
  125. package/dist/cli/chunks/{chunk-PHNNAIFA.js → chunk-IC5JGTM4.js} +1 -1
  126. package/dist/cli/chunks/{chunk-JOHWWTJF.js → chunk-IS3P5VBL.js} +2 -2
  127. package/dist/cli/chunks/{chunk-64C4SS66.js → chunk-JID7JO7K.js} +2 -2
  128. package/dist/cli/chunks/{chunk-DTOKJKSE.js → chunk-JOJ2UFHM.js} +2 -2
  129. package/dist/cli/chunks/{chunk-MGKJFO57.js → chunk-JTUTZUED.js} +2 -2
  130. package/dist/cli/chunks/{chunk-2QKSIHXO.js → chunk-JX5IY2YK.js} +1 -1
  131. package/dist/cli/chunks/{chunk-EEG4G5JG.js → chunk-K55D3PAR.js} +3 -3
  132. package/dist/cli/chunks/{chunk-TNM7X2GD.js → chunk-KAVYTFAS.js} +2 -2
  133. package/dist/cli/chunks/{chunk-NUPAGPN6.js → chunk-KRCIC4JK.js} +2 -2
  134. package/dist/cli/chunks/{chunk-VFZNVJP2.js → chunk-L6H4MWVN.js} +2 -2
  135. package/dist/cli/chunks/{chunk-QZ3EIONO.js → chunk-L6I2Q6UQ.js} +1 -1
  136. package/dist/cli/chunks/{chunk-A547LEUW.js → chunk-LARAXKTZ.js} +2 -2
  137. package/dist/cli/chunks/{chunk-6I2L22WS.js → chunk-LELWVGN6.js} +1 -1
  138. package/dist/cli/chunks/chunk-M7456ZW5.js +2 -0
  139. package/dist/cli/chunks/{chunk-J5AIMM2J.js → chunk-MF6OT43N.js} +1 -1
  140. package/dist/cli/chunks/{chunk-WHUQDBV7.js → chunk-MX35PIGJ.js} +2 -2
  141. package/dist/cli/chunks/{chunk-RRHIEG4Y.js → chunk-ND7IWTVQ.js} +2 -2
  142. package/dist/cli/chunks/{chunk-TRPRFW27.js → chunk-NFE4RV2Q.js} +2 -2
  143. package/dist/cli/chunks/{chunk-37I4AMCT.js → chunk-NVZ3QROA.js} +2 -2
  144. package/dist/cli/chunks/{chunk-6C3PDY72.js → chunk-OF5UL3FA.js} +1 -1
  145. package/dist/cli/chunks/{chunk-JBWXBDJX.js → chunk-OGUPLNRY.js} +1 -1
  146. package/dist/cli/chunks/chunk-OJZ5LI3O.js +2 -0
  147. package/dist/cli/chunks/{chunk-ZIYCZZYD.js → chunk-OQ4HOHBI.js} +2 -2
  148. package/dist/cli/chunks/{chunk-2G2XD6EM.js → chunk-OUWZTYRZ.js} +2 -2
  149. package/dist/cli/chunks/{chunk-IZIYFVAZ.js → chunk-PDOL3FGO.js} +3 -3
  150. package/dist/cli/chunks/{chunk-NF2N2FIY.js → chunk-PEHSTLU7.js} +1 -1
  151. package/dist/cli/chunks/{chunk-WVWWTRKT.js → chunk-PKCVQ2I4.js} +1 -1
  152. package/dist/cli/chunks/{chunk-CW7BWFFF.js → chunk-PNDWHSZO.js} +2 -2
  153. package/dist/cli/chunks/{chunk-IKPBQZQP.js → chunk-PSD2L2JB.js} +2 -2
  154. package/dist/cli/chunks/{chunk-DSGKRXHF.js → chunk-Q3J5OTZ2.js} +1 -1
  155. package/dist/cli/chunks/{chunk-PY55ZD2G.js → chunk-QHX7VLVT.js} +2 -2
  156. package/dist/cli/chunks/{chunk-7TG7LJAB.js → chunk-QIHKSRUZ.js} +2 -2
  157. package/dist/cli/chunks/{chunk-B7XZJBMT.js → chunk-QLD2WVWN.js} +2 -2
  158. package/dist/cli/chunks/{chunk-HOIH542Y.js → chunk-R4VDRE75.js} +1 -1
  159. package/dist/cli/chunks/{chunk-A6J5MAVO.js → chunk-RDHBUCKQ.js} +182 -201
  160. package/dist/cli/chunks/{chunk-OU5CZFBG.js → chunk-RGBYJAKQ.js} +3 -3
  161. package/dist/cli/chunks/{chunk-GNCGRDQ2.js → chunk-RKXN5TVS.js} +1 -1
  162. package/dist/cli/chunks/{chunk-RWPWD5GG.js → chunk-S2EUFKHL.js} +2 -2
  163. package/dist/cli/chunks/{chunk-CVFUANMU.js → chunk-SN57SNLU.js} +2 -2
  164. package/dist/cli/chunks/{chunk-OX6WPOGR.js → chunk-SQDHFTGQ.js} +3 -3
  165. package/dist/cli/chunks/{chunk-P5CQMDFQ.js → chunk-THQ5ZBWP.js} +2 -2
  166. package/dist/cli/chunks/{chunk-BDOD534O.js → chunk-TU5S33SD.js} +2 -2
  167. package/dist/cli/chunks/{chunk-22WFXSXB.js → chunk-U5GGDJ44.js} +2 -2
  168. package/dist/cli/chunks/{chunk-KQ5GLUOB.js → chunk-UGER2PGN.js} +4 -4
  169. package/dist/cli/chunks/{chunk-TW5QWNT4.js → chunk-UUFLYBUO.js} +2 -2
  170. package/dist/cli/chunks/{chunk-QFANYWC5.js → chunk-UWM4CCK7.js} +1 -1
  171. package/dist/cli/chunks/{chunk-FF53QW6C.js → chunk-V2T7QEPV.js} +1 -1
  172. package/dist/cli/chunks/{chunk-EMH54CO7.js → chunk-VE5STFDP.js} +2 -2
  173. package/dist/cli/chunks/{chunk-APXJJRU4.js → chunk-VNRWJ5JZ.js} +2 -2
  174. package/dist/cli/chunks/{chunk-N7IRBQ4D.js → chunk-VRV7CXEM.js} +1 -1
  175. package/dist/cli/chunks/{chunk-CXPMA7LY.js → chunk-W7H46LAX.js} +1 -1
  176. package/dist/cli/chunks/{chunk-3CFWNT3F.js → chunk-WAELEQP5.js} +2 -2
  177. package/dist/cli/chunks/{chunk-JHOJG5VO.js → chunk-WDDU4I5Z.js} +1 -1
  178. package/dist/cli/chunks/{chunk-SAMAYDVS.js → chunk-WLY2J6JP.js} +2 -2
  179. package/dist/cli/chunks/{chunk-62F5M5OO.js → chunk-WSSFH23M.js} +1 -1
  180. package/dist/cli/chunks/{chunk-N4OBRS6S.js → chunk-WZI2REDL.js} +2 -2
  181. package/dist/cli/chunks/{chunk-7AHQ7ROU.js → chunk-X53GJW2E.js} +2 -2
  182. package/dist/cli/chunks/{chunk-H2BR5MCX.js → chunk-XACF7ZLM.js} +2 -2
  183. package/dist/cli/chunks/{chunk-QZS3XCU5.js → chunk-XNGYWOAK.js} +2 -2
  184. package/dist/cli/chunks/{chunk-F6V5POSK.js → chunk-YFD6K7AS.js} +75 -75
  185. package/dist/cli/chunks/{chunk-W6OIDL4J.js → chunk-YG45ZONW.js} +2 -2
  186. package/dist/cli/chunks/{chunk-FGIZVGIE.js → chunk-YGMCRJSC.js} +2 -2
  187. package/dist/cli/chunks/{chunk-SSXCHSVM.js → chunk-YIEMVVUH.js} +2 -2
  188. package/dist/cli/chunks/{chunk-ZI7BWJJW.js → chunk-YSWI3APU.js} +2 -2
  189. package/dist/cli/chunks/{chunk-ADBTOUOX.js → chunk-YU4U3BUY.js} +1 -1
  190. package/dist/cli/chunks/{chunk-K2D3YW2N.js → chunk-Z5YNYVFO.js} +1 -1
  191. package/dist/cli/chunks/{chunk-UAXFRKR3.js → chunk-ZE3WS57T.js} +2 -2
  192. package/dist/cli/chunks/{chunk-C7AXBCMS.js → chunk-ZMA5OWIQ.js} +4 -4
  193. package/dist/cli/chunks/{chunk-RU23JXCG.js → chunk-ZOD37GNG.js} +3 -3
  194. package/dist/cli/chunks/{chunk-MNEQESQJ.js → chunk-ZQ7XQLLV.js} +3 -3
  195. package/dist/cli/chunks/{chunk-TGVDKSSS.js → chunk-ZUIPUO7Q.js} +1 -1
  196. package/dist/cli/chunks/{chunk-L4O2645U.js → chunk-ZWLFEZQC.js} +1 -1
  197. package/dist/cli/chunks/{ci-G2NEYLVO.js → ci-IRCNFD32.js} +2 -2
  198. package/dist/cli/chunks/{ci-output-SZFEXGBU.js → ci-output-NFOUNDJ2.js} +2 -2
  199. package/dist/cli/chunks/{circuit-breaker-ZD7PJY6N.js → circuit-breaker-GB7SQRD2.js} +2 -2
  200. package/dist/cli/chunks/{claude-flow-setup-DAVANGUJ.js → claude-flow-setup-STFKPPVL.js} +2 -2
  201. package/dist/cli/chunks/client-M4WF22UT.js +2 -0
  202. package/dist/cli/chunks/{cline-installer-WCPKWLY7.js → cline-installer-MLKKIHIV.js} +2 -2
  203. package/dist/cli/chunks/{code-324ZJR3V.js → code-ZRCJC42H.js} +2 -2
  204. package/dist/cli/chunks/{code-index-extractor-EWVSXJHR.js → code-index-extractor-VWDYYQY2.js} +2 -2
  205. package/dist/cli/chunks/codex-installer-I5BTWYQV.js +15 -0
  206. package/dist/cli/chunks/{completions-ZAWBZWYK.js → completions-5JCAFTQV.js} +2 -2
  207. package/dist/cli/chunks/{complexity-analyzer-S3H2IRON.js → complexity-analyzer-6JLLAPGO.js} +2 -2
  208. package/dist/cli/chunks/{continuedev-installer-4DDFAJ26.js → continuedev-installer-YBOLMUZR.js} +2 -2
  209. package/dist/cli/chunks/{copilot-installer-KBBAL3G5.js → copilot-installer-GDBJZBXS.js} +2 -2
  210. package/dist/cli/chunks/core-handlers-3MNFXL44.js +2 -0
  211. package/dist/cli/chunks/{cost-tracker-2YM7SGBW.js → cost-tracker-NEAVGEZI.js} +2 -2
  212. package/dist/cli/chunks/{coverage-6CCBAORJ.js → coverage-DXS5XNAA.js} +3 -3
  213. package/dist/cli/chunks/cross-domain-router-Q5X6ZLJY.js +2 -0
  214. package/dist/cli/chunks/{cursor-installer-24DKXNU5.js → cursor-installer-3KEMFIFA.js} +2 -2
  215. package/dist/cli/chunks/{daemon-M2PSDIZF.js → daemon-FT2J6VY4.js} +3 -3
  216. package/dist/cli/chunks/{daemon-JLF6CRBS.js → daemon-JN377KTA.js} +4 -4
  217. package/dist/cli/chunks/{dag-attention-scheduler-Y5HSZDRV.js → dag-attention-scheduler-EJFEWFXI.js} +2 -2
  218. package/dist/cli/chunks/{detect-6Y227IJ6.js → detect-E5MN6N3L.js} +2 -2
  219. package/dist/cli/chunks/{dist-node-EGOJXGTA.js → dist-node-ZFSAQMFD.js} +2 -2
  220. package/dist/cli/chunks/{domain-handler-G3JEWRE5.js → domain-handler-S7VFZ2MY.js} +2 -2
  221. package/dist/cli/chunks/{domain-transfer-XOHI3EMJ.js → domain-transfer-LGHT3FN4.js} +2 -2
  222. package/dist/cli/chunks/dream-5QB6JABW.js +2 -0
  223. package/dist/cli/chunks/{embed-and-insert-pattern-CSSA55L4.js → embed-and-insert-pattern-OVQS6IKK.js} +2 -2
  224. package/dist/cli/chunks/{eval-NHBXOXDV.js → eval-45UWDD2R.js} +2 -2
  225. package/dist/cli/chunks/{experience-capture-middleware-B7ZDV5UY.js → experience-capture-middleware-XDRJSNPY.js} +3 -3
  226. package/dist/cli/chunks/{fast-paths-XGKSBALA.js → fast-paths-VEDCJL75.js} +2 -2
  227. package/dist/cli/chunks/{feature-flags-ZVD73ZYK.js → feature-flags-NOTQVBLP.js} +2 -2
  228. package/dist/cli/chunks/{feature-flags-NBUDJSWJ.js → feature-flags-TGA3NWVL.js} +2 -2
  229. package/dist/cli/chunks/file-discovery-AHMR6IGX.js +2 -0
  230. package/dist/cli/chunks/{fleet-LF77P3BW.js → fleet-CQBUCH2S.js} +3 -3
  231. package/dist/cli/chunks/{gnn-wrapper-UXNT7BEN.js → gnn-wrapper-SOZCIONJ.js} +2 -2
  232. package/dist/cli/chunks/{heartbeat-handler-C4LMU5LA.js → heartbeat-handler-6XNV4DGM.js} +4 -4
  233. package/dist/cli/chunks/heartbeat-scheduler-ZRLIMPKO.js +2 -0
  234. package/dist/cli/chunks/hnsw-adapter-R4VAEQ2B.js +2 -0
  235. package/dist/cli/chunks/hnsw-index-GTUOS6DF.js +2 -0
  236. package/dist/cli/chunks/{hnsw-legacy-bridge-EHHBIWS3.js → hnsw-legacy-bridge-UILVP37N.js} +2 -2
  237. package/dist/cli/chunks/hnswlib-node-OHJQOSAH.js +2 -0
  238. package/dist/cli/chunks/{hooks-AGE3HCFI.js → hooks-QVDOGEHG.js} +10 -10
  239. package/dist/cli/chunks/hybrid-router-CYEXFWDT.js +2 -0
  240. package/dist/cli/chunks/{hypergraph-engine-E5QX5MEB.js → hypergraph-engine-YMVPBXZS.js} +2 -2
  241. package/dist/cli/chunks/{hypergraph-handler-ZZHBANYB.js → hypergraph-handler-SHUNZXUK.js} +3 -3
  242. package/dist/cli/chunks/impact-analyzer-HMJ7LAXR.js +2 -0
  243. package/dist/cli/chunks/{init-handler-PNVRBZZT.js → init-handler-JE5FYJAV.js} +16 -12
  244. package/dist/cli/chunks/init-wizard-OIK6S3PQ.js +2 -0
  245. package/dist/cli/chunks/kernel-NZCGR72Y.js +2 -0
  246. package/dist/cli/chunks/{kilocode-installer-TR53QKPU.js → kilocode-installer-TVP4YOOK.js} +2 -2
  247. package/dist/cli/chunks/{kiro-installer-MJW6LCAX.js → kiro-installer-XBSGANX7.js} +2 -2
  248. package/dist/cli/chunks/knowledge-graph-HA7XW46B.js +2 -0
  249. package/dist/cli/chunks/{learning-6LLGHP2Q.js → learning-O4ZXQVRE.js} +3 -3
  250. package/dist/cli/chunks/{llm-router-DBLV3VGG.js → llm-router-FXXJHARR.js} +4 -4
  251. package/dist/cli/chunks/llm-router-service-FVGQSXYC.js +2 -0
  252. package/dist/cli/chunks/{load-LAZ3E5PE.js → load-IVF6G2SK.js} +2 -2
  253. package/dist/cli/chunks/load-test-IQTO35GE.js +2 -0
  254. package/dist/cli/chunks/{mcp-L5QXHSEY.js → mcp-VXSDVG3H.js} +2 -2
  255. package/dist/cli/chunks/{memory-YR5PCMWA.js → memory-BINJV3M6.js} +5 -5
  256. package/dist/cli/chunks/memory-backend-YGSOJ7SI.js +2 -0
  257. package/dist/cli/chunks/{memory-handlers-BSRTZQYR.js → memory-handlers-BJNFJZFP.js} +2 -2
  258. package/dist/cli/chunks/{multi-model-executor-RECZ3ACW.js → multi-model-executor-RJHYK6JI.js} +2 -2
  259. package/dist/cli/chunks/{opencode-installer-4TDUB7HH.js → opencode-installer-VCTF5ETL.js} +2 -2
  260. package/dist/cli/chunks/{orchestrator-PHDKJ5C4.js → orchestrator-5SKZ2BOK.js} +11 -11
  261. package/dist/cli/chunks/pattern-null-store-4WN5O2PF.js +2 -0
  262. package/dist/cli/chunks/{pattern-usage-recorder-QK2FADRS.js → pattern-usage-recorder-AY2DAOQO.js} +2 -2
  263. package/dist/cli/chunks/{pipeline-JQJYSN43.js → pipeline-EMBMC75N.js} +2 -2
  264. package/dist/cli/chunks/platform-GADIFXCI.js +2 -0
  265. package/dist/cli/chunks/{plugin-766MBGK6.js → plugin-Q234ZAAY.js} +2 -2
  266. package/dist/cli/chunks/{prime-radiant-advanced-wasm-XQERZNSK.js → prime-radiant-advanced-wasm-CXXKYB2P.js} +2 -2
  267. package/dist/cli/chunks/protocol-executor-EYTJXPXY.js +2 -0
  268. package/dist/cli/chunks/{protocol-handler-FAK4MMNA.js → protocol-handler-ZZRFBVNA.js} +2 -2
  269. package/dist/cli/chunks/{prove-HYBVXOGW.js → prove-7674ATXK.js} +2 -2
  270. package/dist/cli/chunks/provider-manager-TM3JHYLL.js +2 -0
  271. package/dist/cli/chunks/qe-reasoning-bank-6JLFP3HE.js +2 -0
  272. package/dist/cli/chunks/quality-QCIGVN2S.js +7 -0
  273. package/dist/cli/chunks/{quality-gate-RK32VMO7.js → quality-gate-AKV564GE.js} +3 -3
  274. package/dist/cli/chunks/queen-coordinator-OKGOKGHI.js +2 -0
  275. package/dist/cli/chunks/{real-embeddings-GI7CRHE2.js → real-embeddings-74POUVMX.js} +2 -2
  276. package/dist/cli/chunks/{roocode-installer-BS3XWJJI.js → roocode-installer-INBL5AG7.js} +2 -2
  277. package/dist/cli/chunks/router-J45OF4SP.js +2 -0
  278. package/dist/cli/chunks/routing-feedback-VTZFH57X.js +2 -0
  279. package/dist/cli/chunks/{routing-handler-XMGRJDHH.js → routing-handler-C7HMM7RL.js} +2 -2
  280. package/dist/cli/chunks/{ruvector-commands-NDL3ONNC.js → ruvector-commands-PT6LRVCW.js} +2 -2
  281. package/dist/cli/chunks/{rvf-dual-writer-XAJOYGJ2.js → rvf-dual-writer-PRKROTP3.js} +2 -2
  282. package/dist/cli/chunks/{rvf-migration-adapter-WXFRZZ26.js → rvf-migration-adapter-ZI2XW4UX.js} +2 -2
  283. package/dist/cli/chunks/{rvf-migration-coordinator-WFXA2VUQ.js → rvf-migration-coordinator-5JTGP35V.js} +2 -2
  284. package/dist/cli/chunks/rvf-native-adapter-BDPUBFNP.js +2 -0
  285. package/dist/cli/chunks/{rvf-store-integrity-I7PFJZCK.js → rvf-store-integrity-3B5TZTFR.js} +2 -2
  286. package/dist/cli/chunks/safe-db-FHJBWJIB.js +2 -0
  287. package/dist/cli/chunks/schedule-LP7YYT4P.js +2 -0
  288. package/dist/cli/chunks/scheduler-BOZWGKJG.js +2 -0
  289. package/dist/cli/chunks/{security-H3WY76GF.js → security-IMIWSAHW.js} +3 -3
  290. package/dist/cli/chunks/{shared-rvf-adapter-GRTJCLW6.js → shared-rvf-adapter-UDKJNX6I.js} +2 -2
  291. package/dist/cli/chunks/{shared-rvf-dual-writer-46XE5R2B.js → shared-rvf-dual-writer-FQOBQ6S5.js} +2 -2
  292. package/dist/cli/chunks/sqlite-persistence-TDM36AHF.js +2 -0
  293. package/dist/cli/chunks/{status-handler-VUIFMY4F.js → status-handler-7WON7M7F.js} +2 -2
  294. package/dist/cli/chunks/{structural-health-I7HC477E.js → structural-health-JTKTO3A4.js} +2 -2
  295. package/dist/cli/chunks/{sync-M6LUV5R4.js → sync-6ABYTAOL.js} +2 -2
  296. package/dist/cli/chunks/{sync-RO2YGMBF.js → sync-UJSHBY3B.js} +2 -2
  297. package/dist/cli/chunks/{task-handler-BJJTZ7AU.js → task-handler-5TZNOCCB.js} +2 -2
  298. package/dist/cli/chunks/{task-handlers-B6S4NEN3.js → task-handlers-G7ZUGBHM.js} +3 -3
  299. package/dist/cli/chunks/test-BSJ6MVTG.js +33 -0
  300. package/dist/cli/chunks/{test-scheduling-4ISKEFR6.js → test-scheduling-OSJJXIYQ.js} +3 -3
  301. package/dist/cli/chunks/{token-bootstrap-BOIYBZHW.js → token-bootstrap-MRNFR4YI.js} +2 -2
  302. package/dist/cli/chunks/{token-usage-6ZZC7RLT.js → token-usage-YQN7ND7G.js} +2 -2
  303. package/dist/cli/chunks/{transformers-55VI4OGW.js → transformers-QL3AG25C.js} +2 -2
  304. package/dist/cli/chunks/{tree-sitter-wasm-parser-6GRRGB3K.js → tree-sitter-wasm-parser-BECZRRZP.js} +2 -2
  305. package/dist/cli/chunks/{types-SXDF7QQT.js → types-FQSNLPWS.js} +2 -2
  306. package/dist/cli/chunks/unified-memory-6PHUOZRH.js +2 -0
  307. package/dist/cli/chunks/unified-memory-hnsw-WYSFH3PS.js +2 -0
  308. package/dist/cli/chunks/unified-persistence-QBGHDCCO.js +2 -0
  309. package/dist/cli/chunks/{upgrade-PMPB7NGB.js → upgrade-2ICXXV6D.js} +2 -2
  310. package/dist/cli/chunks/{validate-G37QKKXK.js → validate-LPAUH2F4.js} +2 -2
  311. package/dist/cli/chunks/{validate-swarm-6X22J3VD.js → validate-swarm-VWVE2GM7.js} +2 -2
  312. package/dist/cli/chunks/{vibium-SGBJKHQL.js → vibium-U3LBEI4K.js} +2 -2
  313. package/dist/cli/chunks/visual-security-LH7DRCDS.js +2 -0
  314. package/dist/cli/chunks/{web-tree-sitter-S46Y5BUJ.js → web-tree-sitter-QGZXQPXU.js} +2 -2
  315. package/dist/cli/chunks/{windsurf-installer-PTYCETNM.js → windsurf-installer-GGLQJWUI.js} +2 -2
  316. package/dist/cli/chunks/witness-chain-2BDZOPJ2.js +2 -0
  317. package/dist/cli/chunks/{witness-chain-5SCRFT2K.js → witness-chain-47A2AXUS.js} +2 -2
  318. package/dist/cli/chunks/{witness-key-manager-XIAMRVUZ.js → witness-key-manager-FVS7UOWM.js} +2 -2
  319. package/dist/cli/chunks/{workflow-BPQA2NAI.js → workflow-KIZPLTYW.js} +4 -4
  320. package/dist/cli/chunks/workflow-orchestrator-UYOPFK2T.js +2 -0
  321. package/dist/cli/chunks/{wrappers-IWZZZOAU.js → wrappers-ER6XCMT6.js} +2 -2
  322. package/dist/cli/commands/platform.d.ts +17 -0
  323. package/dist/cli/commands/platform.js +91 -41
  324. package/dist/cli/commands/quality.d.ts +12 -0
  325. package/dist/cli/commands/quality.js +50 -74
  326. package/dist/cli/commands/test.js +33 -4
  327. package/dist/cli/handlers/init-handler.d.ts +3 -0
  328. package/dist/cli/handlers/init-handler.js +13 -4
  329. package/dist/cli/utils/file-discovery.d.ts +1 -0
  330. package/dist/cli/utils/file-discovery.js +13 -1
  331. package/dist/domains/coverage-analysis/services/coverage-analyzer.js +5 -0
  332. package/dist/domains/quality-assessment/index.d.ts +1 -0
  333. package/dist/domains/quality-assessment/index.js +1 -0
  334. package/dist/domains/quality-assessment/quality-evidence.d.ts +41 -0
  335. package/dist/domains/quality-assessment/quality-evidence.js +115 -0
  336. package/dist/domains/test-execution/coordinator.d.ts +1 -0
  337. package/dist/domains/test-execution/coordinator.js +11 -4
  338. package/dist/domains/test-execution/interfaces.d.ts +2 -0
  339. package/dist/domains/test-execution/services/retry-handler.js +3 -3
  340. package/dist/domains/test-execution/services/test-executor.d.ts +5 -0
  341. package/dist/domains/test-execution/services/test-executor.js +93 -30
  342. package/dist/domains/test-generation/gates/test-quality-gate.d.ts +8 -2
  343. package/dist/domains/test-generation/gates/test-quality-gate.js +93 -4
  344. package/dist/domains/test-generation/generators/base-test-generator.js +0 -15
  345. package/dist/domains/test-generation/generators/jest-vitest-generator.js +17 -26
  346. package/dist/domains/test-generation/services/test-generator.js +7 -2
  347. package/dist/init/codex-installer.d.ts +22 -3
  348. package/dist/init/codex-installer.js +132 -54
  349. package/dist/init/codex-skill-manifest.d.ts +43 -0
  350. package/dist/init/codex-skill-manifest.js +21 -0
  351. package/dist/init/orchestrator.js +2 -0
  352. package/dist/init/phases/07-hooks.js +3 -1
  353. package/dist/init/phases/09-assets.js +10 -1
  354. package/dist/init/phases/phase-interface.d.ts +4 -0
  355. package/dist/init/settings-merge.d.ts +3 -1
  356. package/dist/init/settings-merge.js +9 -3
  357. package/dist/integrations/embeddings/index/HNSWIndex.js +2 -0
  358. package/dist/learning/real-embeddings.js +19 -3
  359. package/dist/mcp/bundle.js +453 -472
  360. package/dist/mcp/tools/quality-assessment/evaluate.d.ts +7 -0
  361. package/dist/mcp/tools/quality-assessment/evaluate.js +72 -20
  362. package/dist/mcp/tools/security-compliance/scan.js +8 -1
  363. package/package.json +6 -2
  364. package/dist/cli/chunks/adapter-NIUFP6QX.js +0 -2
  365. package/dist/cli/chunks/aqe-learning-engine-DC4DNCPB.js +0 -2
  366. package/dist/cli/chunks/base-EXD3ULZT.js +0 -2
  367. package/dist/cli/chunks/better-sqlite3-OW5HIPEN.js +0 -2
  368. package/dist/cli/chunks/browser-workflow-KOMASCB7.js +0 -2
  369. package/dist/cli/chunks/chunk-5IH22DLD.js +0 -12
  370. package/dist/cli/chunks/chunk-6R6QGQ7D.js +0 -2
  371. package/dist/cli/chunks/chunk-A22RTEJ3.js +0 -62
  372. package/dist/cli/chunks/chunk-H4XZOIV6.js +0 -2
  373. package/dist/cli/chunks/chunk-T5L65R23.js +0 -2
  374. package/dist/cli/chunks/chunk-VRTNRI4H.js +0 -2
  375. package/dist/cli/chunks/client-ZJQMJO5N.js +0 -2
  376. package/dist/cli/chunks/codex-installer-HVSZBHH2.js +0 -10
  377. package/dist/cli/chunks/core-handlers-U2YJLH6O.js +0 -2
  378. package/dist/cli/chunks/cross-domain-router-E7EMKZEK.js +0 -2
  379. package/dist/cli/chunks/dream-ZMNQYBJO.js +0 -2
  380. package/dist/cli/chunks/file-discovery-C42TEUKT.js +0 -2
  381. package/dist/cli/chunks/heartbeat-scheduler-2JL4MAJR.js +0 -2
  382. package/dist/cli/chunks/hnsw-adapter-AZD6O35G.js +0 -2
  383. package/dist/cli/chunks/hnsw-index-WJLE4S5L.js +0 -2
  384. package/dist/cli/chunks/hybrid-router-YTKJBAS2.js +0 -2
  385. package/dist/cli/chunks/impact-analyzer-CX56GZXA.js +0 -2
  386. package/dist/cli/chunks/init-wizard-WE6HIC66.js +0 -2
  387. package/dist/cli/chunks/kernel-MT55LNNI.js +0 -2
  388. package/dist/cli/chunks/knowledge-graph-WN3LQ2W7.js +0 -2
  389. package/dist/cli/chunks/llm-router-service-NKHEQQMN.js +0 -2
  390. package/dist/cli/chunks/load-test-3WIQASDF.js +0 -2
  391. package/dist/cli/chunks/memory-backend-W6YSNT6O.js +0 -2
  392. package/dist/cli/chunks/pattern-null-store-IV3ZESTR.js +0 -2
  393. package/dist/cli/chunks/platform-FA5TOPTH.js +0 -2
  394. package/dist/cli/chunks/protocol-executor-GFAG5G6K.js +0 -2
  395. package/dist/cli/chunks/provider-manager-TIVIJIYH.js +0 -2
  396. package/dist/cli/chunks/qe-reasoning-bank-BYE7YF6Y.js +0 -2
  397. package/dist/cli/chunks/quality-EGSO2RAX.js +0 -7
  398. package/dist/cli/chunks/queen-coordinator-WOHYVV7A.js +0 -2
  399. package/dist/cli/chunks/router-VUW2UVCN.js +0 -2
  400. package/dist/cli/chunks/routing-feedback-WSUQMZAK.js +0 -2
  401. package/dist/cli/chunks/rvf-native-adapter-RHZCXVN6.js +0 -2
  402. package/dist/cli/chunks/safe-db-NTWEW7ZM.js +0 -2
  403. package/dist/cli/chunks/schedule-WEVC2GW2.js +0 -2
  404. package/dist/cli/chunks/scheduler-XHI5AJIS.js +0 -2
  405. package/dist/cli/chunks/sqlite-persistence-QZUPKMHP.js +0 -2
  406. package/dist/cli/chunks/test-BE7EM6Y6.js +0 -33
  407. package/dist/cli/chunks/unified-memory-QKWUSEBV.js +0 -2
  408. package/dist/cli/chunks/unified-memory-hnsw-Z2UQZRTK.js +0 -2
  409. package/dist/cli/chunks/unified-persistence-AVK2NSMI.js +0 -2
  410. package/dist/cli/chunks/visual-security-64UFH23G.js +0 -2
  411. package/dist/cli/chunks/witness-chain-ZIVSDX6C.js +0 -2
  412. package/dist/cli/chunks/workflow-orchestrator-TYP4MI2V.js +0 -2
  413. package/dist/cli/commands/init.d.ts +0 -19
  414. package/dist/cli/commands/init.js +0 -318
@@ -13,6 +13,10 @@ export interface QualityEvaluateParams {
13
13
  thresholds?: GateThresholds;
14
14
  includeAdvice?: boolean;
15
15
  riskTolerance?: 'low' | 'medium' | 'high';
16
+ evidence?: {
17
+ measuredAt: string;
18
+ source: string;
19
+ };
16
20
  [key: string]: unknown;
17
21
  }
18
22
  export interface QualityMetrics {
@@ -44,6 +48,9 @@ export interface GateThresholds {
44
48
  technicalDebt?: {
45
49
  max: number;
46
50
  };
51
+ duplications?: {
52
+ max: number;
53
+ };
47
54
  }
48
55
  export interface QualityEvaluateResult {
49
56
  passed: boolean;
@@ -7,6 +7,8 @@
7
7
  */
8
8
  import { MCPToolBase } from '../base';
9
9
  import { toErrorMessage } from '../../../shared/error-utils.js';
10
+ import { getMemoryBackend } from '../base.js';
11
+ import { DEFAULT_QUALITY_THRESHOLDS, loadQualityEvidence, writeQualityEvidence, } from '../../../domains/quality-assessment/quality-evidence.js';
10
12
  // ============================================================================
11
13
  // Tool Implementation
12
14
  // ============================================================================
@@ -20,8 +22,37 @@ export class QualityEvaluateTool extends MCPToolBase {
20
22
  timeout: 120000,
21
23
  };
22
24
  async execute(params, context) {
23
- const { metrics = getDefaultMetrics(), gateName = 'default', thresholds = getDefaultThresholds(), includeAdvice = true, riskTolerance = 'medium', } = params;
25
+ const { metrics: suppliedMetrics, gateName = 'default', thresholds = getDefaultThresholds(), includeAdvice = true, riskTolerance = 'medium', } = params;
24
26
  try {
27
+ const memory = await getMemoryBackend(context);
28
+ if (suppliedMetrics && !params.evidence) {
29
+ return {
30
+ success: false,
31
+ error: 'Timestamped evidence provenance is required when supplying quality metrics.',
32
+ };
33
+ }
34
+ if (suppliedMetrics && params.evidence) {
35
+ await writeQualityEvidence(memory, suppliedMetrics, params.evidence);
36
+ }
37
+ const metrics = suppliedMetrics ?? await loadQualityEvidence(memory);
38
+ const configuredMetrics = [
39
+ ['coverage', thresholds.coverage],
40
+ ['testsPassing', thresholds.testsPassing],
41
+ ['criticalBugs', thresholds.criticalBugs],
42
+ ['codeSmells', thresholds.codeSmells],
43
+ ['securityVulnerabilities', thresholds.securityVulnerabilities],
44
+ ['technicalDebt', thresholds.technicalDebt],
45
+ ['duplications', thresholds.duplications],
46
+ ];
47
+ const missingMetrics = configuredMetrics
48
+ .filter(([name, threshold]) => threshold !== undefined && metrics[name] === undefined)
49
+ .map(([name]) => name);
50
+ if (missingMetrics.length > 0) {
51
+ return {
52
+ success: false,
53
+ error: `Measured quality evidence missing configured metrics: ${missingMetrics.join(', ')}.`,
54
+ };
55
+ }
25
56
  this.emitStream(context, {
26
57
  status: 'evaluating',
27
58
  message: `Evaluating quality gate: ${gateName}`,
@@ -96,12 +127,36 @@ export class QualityEvaluateTool extends MCPToolBase {
96
127
  : `${metrics.codeSmells} code smells detected`,
97
128
  });
98
129
  }
130
+ if (thresholds.technicalDebt && metrics.technicalDebt !== undefined) {
131
+ checks.push({
132
+ name: 'Technical Debt',
133
+ passed: metrics.technicalDebt <= thresholds.technicalDebt.max,
134
+ value: metrics.technicalDebt,
135
+ threshold: thresholds.technicalDebt.max,
136
+ severity: 'medium',
137
+ message: metrics.technicalDebt <= thresholds.technicalDebt.max
138
+ ? `${metrics.technicalDebt}h technical debt within threshold`
139
+ : `${metrics.technicalDebt}h technical debt exceeds threshold of ${thresholds.technicalDebt.max}h`,
140
+ });
141
+ }
142
+ if (thresholds.duplications && metrics.duplications !== undefined) {
143
+ checks.push({
144
+ name: 'Duplications',
145
+ passed: metrics.duplications <= thresholds.duplications.max,
146
+ value: metrics.duplications,
147
+ threshold: thresholds.duplications.max,
148
+ severity: 'low',
149
+ message: metrics.duplications <= thresholds.duplications.max
150
+ ? `${metrics.duplications}% duplication within threshold`
151
+ : `${metrics.duplications}% duplication exceeds threshold of ${thresholds.duplications.max}%`,
152
+ });
153
+ }
99
154
  // Calculate overall score and grade
100
155
  const passedChecks = checks.filter(c => c.passed).length;
101
156
  const totalChecks = checks.length;
102
157
  const score = totalChecks > 0 ? Math.round((passedChecks / totalChecks) * 100) : 100;
103
158
  const grade = calculateGrade(score, checks);
104
- const passed = checks.every(c => c.passed || c.severity !== 'critical');
159
+ const passed = checks.every(c => c.passed);
105
160
  // Generate deployment advice
106
161
  const deploymentAdvice = includeAdvice
107
162
  ? generateDeploymentAdvice(passed, score, checks, riskTolerance)
@@ -173,31 +228,28 @@ const QUALITY_EVALUATE_SCHEMA = {
173
228
  enum: ['low', 'medium', 'high'],
174
229
  default: 'medium',
175
230
  },
231
+ evidence: {
232
+ type: 'object',
233
+ description: 'Provenance required to persist supplied metrics as canonical measured evidence',
234
+ properties: {
235
+ measuredAt: { type: 'string', description: 'ISO-8601 measurement timestamp' },
236
+ source: { type: 'string', description: 'Scanner or analyzer that produced the metrics' },
237
+ },
238
+ },
176
239
  },
177
240
  };
178
241
  // ============================================================================
179
242
  // Helper Functions
180
243
  // ============================================================================
181
- function getDefaultMetrics() {
182
- return {
183
- coverage: 80,
184
- testsPassing: 95,
185
- criticalBugs: 0,
186
- codeSmells: 15,
187
- securityVulnerabilities: 0,
188
- technicalDebt: 4,
189
- duplications: 3,
190
- complexity: 8,
191
- };
192
- }
193
244
  function getDefaultThresholds() {
194
245
  return {
195
- coverage: { min: 80 },
196
- testsPassing: { min: 95 },
197
- criticalBugs: { max: 0 },
198
- securityVulnerabilities: { max: 0 },
199
- codeSmells: { max: 50 },
200
- technicalDebt: { max: 8 },
246
+ coverage: { min: DEFAULT_QUALITY_THRESHOLDS.coverage.value },
247
+ testsPassing: { min: DEFAULT_QUALITY_THRESHOLDS.testsPassing.value },
248
+ criticalBugs: { max: DEFAULT_QUALITY_THRESHOLDS.criticalBugs.value },
249
+ securityVulnerabilities: { max: DEFAULT_QUALITY_THRESHOLDS.securityVulnerabilities.value },
250
+ codeSmells: { max: DEFAULT_QUALITY_THRESHOLDS.codeSmells.value },
251
+ technicalDebt: { max: DEFAULT_QUALITY_THRESHOLDS.technicalDebt.value },
252
+ duplications: { max: DEFAULT_QUALITY_THRESHOLDS.duplications.value },
201
253
  };
202
254
  }
203
255
  function calculateGrade(score, checks) {
@@ -7,10 +7,11 @@
7
7
  * Now actually reads target files and applies security patterns from
8
8
  * src/domains/security-compliance/services/scanners/security-patterns.ts
9
9
  */
10
- import { MCPToolBase } from '../base';
10
+ import { MCPToolBase, getMemoryBackend } from '../base';
11
11
  import { toErrorMessage } from '../../../shared/error-utils.js';
12
12
  import { safeJsonParse } from '../../../shared/safe-json.js';
13
13
  import { ALL_SECURITY_PATTERNS, SECRET_PATTERNS, } from '../../../domains/security-compliance/services/scanners/security-patterns.js';
14
+ import { writeQualityEvidence } from '../../../domains/quality-assessment/quality-evidence.js';
14
15
  // ============================================================================
15
16
  // Cross-language secret/config patterns (supplement security-patterns.ts)
16
17
  // These catch Python, Java, Go patterns that the JS-focused patterns miss.
@@ -118,6 +119,12 @@ export class SecurityScanTool extends MCPToolBase {
118
119
  ? Math.min(...vulnerabilities.map(v => severityOrder.indexOf(v.severity)))
119
120
  : severityOrder.length;
120
121
  const passed = worstSeverity > failThreshold;
122
+ await writeQualityEvidence(await getMemoryBackend(context), {
123
+ securityVulnerabilities: vulnerabilities.length,
124
+ }, {
125
+ measuredAt: new Date().toISOString(),
126
+ source: 'qe/security/scan',
127
+ });
121
128
  this.emitStream(context, {
122
129
  status: 'complete',
123
130
  message: `Scan complete: ${vulnerabilities.length} vulnerabilities found in ${files.length} files`,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agentic-qe",
3
- "version": "3.13.3",
3
+ "version": "3.13.5",
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",
@@ -71,7 +71,7 @@
71
71
  "test:unit:fast": "vitest run --exclude='**/qe-reasoning-bank.test.ts' --exclude='**/qe-reasoning-bank-feedback-loop.test.ts' --exclude='**/aqe-learning-engine.test.ts' --exclude='**/aqe-learning-engine-patterns.test.ts' tests/unit/adapters tests/unit/shared tests/unit/cli tests/unit/learning tests/unit/kernel tests/unit/workers tests/unit/routing tests/unit/strange-loop tests/unit/sync tests/unit/feedback tests/unit/error-paths tests/unit/early-exit tests/unit/causal-discovery tests/unit/neural-optimizer tests/unit/test-scheduling tests/unit/logging tests/unit/validation tests/unit/memory tests/unit/performance tests/unit/scripts tests/unit/planning",
72
72
  "test:unit:heavy": "vitest run tests/unit/coordination tests/unit/domains tests/unit/integrations tests/unit/optimization tests/unit/init --exclude='**/browser/**' --exclude='**/*.e2e.test.ts' --exclude='**/vibium/**' --exclude='**/browser-swarm-coordinator.test.ts'",
73
73
  "test:unit:mcp": "vitest run tests/unit/mcp --exclude='**/mcp/handlers/domain-handlers.test.ts' --fileParallelism=false",
74
- "test:ci": "vitest run --exclude='**/browser/**' --exclude='**/*.e2e.test.ts' --exclude='**/vibium/**' --exclude='**/integration/browser/**' --exclude='**/browser-swarm-coordinator.test.ts' --exclude='**/mcp/handlers/domain-handlers.test.ts'",
74
+ "test:ci": "vitest run --exclude='**/browser/**' --exclude='**/*.e2e.test.ts' --exclude='**/vibium/**' --exclude='**/integration/browser/**' --exclude='**/browser-swarm-coordinator.test.ts' --exclude='**/mcp/handlers/domain-handlers.test.ts' --exclude='**/fixtures/init-corpus/**'",
75
75
  "test:e2e": "vitest run tests/integration/browser --testTimeout=120000",
76
76
  "test:safe": "NODE_OPTIONS='--max-old-space-size=768 --expose-gc' vitest run --maxForks=1",
77
77
  "test:dev": "npm run test:unit:fast",
@@ -85,6 +85,7 @@
85
85
  "mcp:report": "echo 'MCP Report: uses vitest for test reporting' && exit 0",
86
86
  "test:code-intelligence": "npm test -- --run tests/unit/domains/code-intelligence/ tests/unit/coordination/mincut/",
87
87
  "verify:invariants": "tsx scripts/verify-shipped-invariants.ts",
88
+ "verify:codex-package": "tsx scripts/verify-codex-package.ts",
88
89
  "verify:skill-parity": "tsx scripts/check-skill-parity.ts",
89
90
  "eval:live:claude": "EVAL_PROVIDER=claude tsx scripts/validate-live-oracle.ts",
90
91
  "eval:live:ollama": "EVAL_PROVIDER=ollama tsx scripts/validate-live-oracle.ts",
@@ -295,8 +296,11 @@
295
296
  ".codex/hooks",
296
297
  ".codex/hooks.json",
297
298
  ".agents/skills/aqe-plan-quality",
299
+ ".agents/skills/aqe-plan-work",
300
+ ".agents/skills/aqe-research",
298
301
  ".agents/skills/aqe-review-quality",
299
302
  ".agents/skills/aqe-test-change",
303
+ ".agents/skills/aqe-ruflo/SKILL.md",
300
304
  ".opencode/agents",
301
305
  ".opencode/skills",
302
306
  ".opencode/tools",
@@ -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.13.3");process.exit(0)}
2
- import{a,b,c}from"./chunk-OX6WPOGR.js";import"./chunk-7MBPKAQ3.js";import"./chunk-PHNNAIFA.js";import"./chunk-2G2XD6EM.js";import"./chunk-XRF5MX4Q.js";import"./chunk-62F5M5OO.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.13.3");process.exit(0)}
2
- import{a,b,c,d,e,f}from"./chunk-IZIYFVAZ.js";import"./chunk-3NML6POU.js";import"./chunk-GSG5FASF.js";import"./chunk-KQ5GLUOB.js";import"./chunk-UF7JKDWB.js";import"./chunk-5A5EC5RD.js";import"./chunk-GNCGRDQ2.js";import"./chunk-UWBHR4EZ.js";import"./chunk-QZ3EIONO.js";import"./chunk-7TG7LJAB.js";import"./chunk-ZLTAAROU.js";import"./chunk-64C4SS66.js";import"./chunk-SAMAYDVS.js";import"./chunk-VFZNVJP2.js";import"./chunk-LWPCGOQM.js";import"./chunk-5IH22DLD.js";import"./chunk-DPJLA7JW.js";import"./chunk-CW7BWFFF.js";import"./chunk-WHUQDBV7.js";import"./chunk-T5L65R23.js";import"./chunk-66KIIH6V.js";import"./chunk-NIA6VTIH.js";import"./chunk-2G2XD6EM.js";import"./chunk-WVWWTRKT.js";import"./chunk-PHGOMAIS.js";import"./chunk-46U73TST.js";import"./chunk-ZU3XUBDQ.js";import"./chunk-XRF5MX4Q.js";import"./chunk-FF53QW6C.js";import"./chunk-2BYRQ5MV.js";import"./chunk-P5CQMDFQ.js";import"./chunk-V6W4IHS5.js";import"./chunk-AJ45QR3K.js";import"./chunk-UX434RY5.js";import"./chunk-PHBGMXTR.js";import"./chunk-H4XZOIV6.js";import"./chunk-GTURQ454.js";import"./chunk-AXXFY7PX.js";import"./chunk-62F5M5OO.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.13.3");process.exit(0)}
2
- import{a,b,c,d,e,f,g,h,i,j,k,l}from"./chunk-M7XDTQHX.js";import"./chunk-7AHQ7ROU.js";import"./chunk-DPJLA7JW.js";import"./chunk-CW7BWFFF.js";import"./chunk-WHUQDBV7.js";import"./chunk-T5L65R23.js";import"./chunk-66KIIH6V.js";import"./chunk-NIA6VTIH.js";import"./chunk-2G2XD6EM.js";import"./chunk-XRF5MX4Q.js";import"./chunk-FF53QW6C.js";import"./chunk-3CFWNT3F.js";import"./chunk-2BYRQ5MV.js";import"./chunk-P5CQMDFQ.js";import"./chunk-V6W4IHS5.js";import"./chunk-AJ45QR3K.js";import"./chunk-UX434RY5.js";import"./chunk-PHBGMXTR.js";import"./chunk-H4XZOIV6.js";import"./chunk-GTURQ454.js";import"./chunk-AXXFY7PX.js";import"./chunk-62F5M5OO.js";export{l as MCPToolBase,k as defaultToolLogger,j as getKernel,i as getLLMRouter,e as getMemoryBackend,g as getSharedLLMRouter,c as getSharedMemoryBackend,a as isMemoryOnlyMode,b as registerRvfResetFn,h as resetSharedLLMRouter,d as resetSharedMemoryBackend,f as setSharedLLMRouter};
@@ -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.13.3");process.exit(0)}
2
- import{a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,q as p}from"./chunk-P5CQMDFQ.js";import"./chunk-62F5M5OO.js";p();export{i as DotProductAttention,h as FlashAttention,k as HyperbolicAttention,l as LinearAttention,m as MoEAttention,j as MultiHeadAttention,b as RuvectorLayer,n as SonaEngine,c as TensorCompress,a as default,d as differentiableSearch,f as getCompressionLevel,e as hierarchicalForward,g as init,o as pipeline};
@@ -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.13.3");process.exit(0)}
2
- import{a}from"./chunk-MYR6CBXC.js";import"./chunk-M7XDTQHX.js";import"./chunk-7AHQ7ROU.js";import"./chunk-DPJLA7JW.js";import"./chunk-CW7BWFFF.js";import"./chunk-WHUQDBV7.js";import"./chunk-T5L65R23.js";import"./chunk-66KIIH6V.js";import"./chunk-NIA6VTIH.js";import"./chunk-2G2XD6EM.js";import"./chunk-XRF5MX4Q.js";import"./chunk-FF53QW6C.js";import"./chunk-3CFWNT3F.js";import"./chunk-2BYRQ5MV.js";import"./chunk-P5CQMDFQ.js";import"./chunk-V6W4IHS5.js";import"./chunk-AJ45QR3K.js";import"./chunk-UX434RY5.js";import"./chunk-PHBGMXTR.js";import"./chunk-H4XZOIV6.js";import"./chunk-GTURQ454.js";import"./chunk-AXXFY7PX.js";import"./chunk-62F5M5OO.js";export{a as BrowserWorkflowTool};
@@ -1,12 +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.13.3");process.exit(0)}
2
- import{a as D,c as ee}from"./chunk-XRF5MX4Q.js";import{b as L,d as B}from"./chunk-PHBGMXTR.js";B();ee();B();import*as x from"node:http";import*as O from"node:https";import{createHash as te}from"node:crypto";import{URL as W}from"node:url";var T={model:"Xenova/all-MiniLM-L6-v2",expectedDim:384,connectTimeoutMs:5e3,requestTimeoutMs:3e4,failureThreshold:3,failureWindowMs:6e4},ne="AQE embedder endpoint identity canary v1",re="/v1/embeddings";function X(n){if(n.startsWith("unix:"))return n;try{let e=new W(n);return e.username||e.password?(e.username="",e.password="",e.toString().replace(/\/$/,"")):n}catch{return n}}function ie(n){if(n.startsWith("unix:")){let r=n.slice(5);if(!r.startsWith("/"))throw new Error(`unix endpoint must be an absolute path: ${n}`);return{transport:"unix",socketPath:r,safeUrl:n}}let e=new W(n);if(e.protocol!=="http:"&&e.protocol!=="https:")throw new Error(`unsupported embedder endpoint protocol: ${e.protocol}`);return(e.username||e.password)&&(console.warn("[EmbedderEndpointClient] endpoint URL contained userinfo; stripping. Use AQE_EMBEDDER_TOKEN env var for credentials."),e.username="",e.password=""),{transport:e.protocol==="https:"?"https":"http",host:e.hostname,port:e.port?Number(e.port):e.protocol==="https:"?443:80,protocol:e.protocol,safeUrl:e.toString().replace(/\/$/,"")}}var S=class{constructor(e,t,r=()=>{}){this.threshold=e;this.windowMs=t;this.onRecover=r}threshold;windowMs;onRecover;failures=[];trippedAt=null;recordSuccess(){this.failures=[],this.trippedAt=null}recordFailure(){let e=Date.now();this.failures=this.failures.filter(t=>e-t<this.windowMs),this.failures.push(e),this.failures.length>=this.threshold&&(this.trippedAt=e)}isOpen(){return this.trippedAt===null?!1:Date.now()-this.trippedAt>=this.windowMs?(this.failures=[],this.trippedAt=null,this.onRecover(),!1):!0}getState(){return{open:this.isOpen(),failures:this.failures.length,trippedAt:this.trippedAt}}},P=class{parsed;agent;breaker;opts;cachedIdentity=null;probeInFlight=null;constructor(e){if(this.opts={endpoint:e.endpoint,token:e.token,model:e.model??T.model,expectedDim:e.expectedDim??T.expectedDim,connectTimeoutMs:e.connectTimeoutMs??T.connectTimeoutMs,requestTimeoutMs:e.requestTimeoutMs??T.requestTimeoutMs,failureThreshold:e.failureThreshold??T.failureThreshold,failureWindowMs:e.failureWindowMs??T.failureWindowMs,tlsOptions:e.tlsOptions},this.parsed=ie(e.endpoint),this.parsed.transport==="https"){let t=e.tlsOptions??{};this.agent=new O.Agent({keepAlive:!0,ca:t.ca,cert:t.cert,key:t.key,rejectUnauthorized:t.rejectUnauthorized!==!1,servername:t.servername})}else this.agent=new x.Agent({keepAlive:!0});this.breaker=new S(this.opts.failureThreshold,this.opts.failureWindowMs,()=>{this.cachedIdentity=null})}getSafeEndpoint(){return this.parsed.safeUrl}async embed(e){if(e.length===0)return[];if(this.breaker.isOpen())throw new Error(`[EmbedderEndpointClient] circuit breaker open for ${this.parsed.safeUrl} \u2014 fast-failing`);this.cachedIdentity===null&&await this.ensureProbed();try{let t=await this.postEmbeddings(e),r=this.decodeAndNormalize(t,e.length);return this.breaker.recordSuccess(),r}catch(t){throw this.breaker.recordFailure(),t}}async probe(){return this.probeInFlight?this.probeInFlight:(this.probeInFlight=this.doProbe().finally(()=>{this.probeInFlight=null}),this.probeInFlight)}async ensureProbed(){return this.cachedIdentity?this.cachedIdentity:this.probe()}async doProbe(){let e;try{let s=await this.postEmbeddings([ne]);e=this.decodeAndNormalize(s,1)[0],this.breaker.recordSuccess()}catch(s){throw this.breaker.recordFailure(),s}if(!e||e.length!==this.opts.expectedDim)throw new Error(`[EmbedderEndpointClient] dim mismatch: expected ${this.opts.expectedDim}, got ${e?.length??0} from ${this.parsed.safeUrl}`);let t=Buffer.alloc(e.length*2);for(let s=0;s<e.length;s++){let o=Math.max(-32768,Math.min(32767,Math.round(e[s]*32767)));t.writeInt16LE(o,s*2)}let r=te("sha256").update(t).digest("hex").slice(0,16);return this.cachedIdentity={dim:e.length,fingerprint:r,endpoint:this.parsed.safeUrl},this.cachedIdentity}getCachedIdentity(){return this.cachedIdentity}getBreakerState(){return this.breaker.getState()}close(){this.agent.destroy()}decodeAndNormalize(e,t){if(!e||typeof e!="object"||!Array.isArray(e.data))throw new Error("[EmbedderEndpointClient] response missing data array");let r=e.data;if(r.length!==t)throw new Error(`[EmbedderEndpointClient] response count mismatch: expected ${t}, got ${r.length}`);let s=r.map((o,i)=>({idx:typeof o.index=="number"?o.index:i,embedding:o.embedding}));return s.sort((o,i)=>o.idx-i.idx),s.map(({embedding:o},i)=>{if(typeof o=="string")throw new Error(`[EmbedderEndpointClient] received base64 embedding at position ${i} \u2014 server ignored encoding_format=float. Configure the server to return float arrays.`);if(!Array.isArray(o))throw new Error(`[EmbedderEndpointClient] missing embedding at position ${i}`);if(o.length!==this.opts.expectedDim)throw new Error(`[EmbedderEndpointClient] dim mismatch at position ${i}: expected ${this.opts.expectedDim}, got ${o.length}`);return L(o)})}postEmbeddings(e){let t=JSON.stringify({model:this.opts.model,input:e,encoding_format:"float"});return this.request(re,t)}request(e,t){let r={"content-type":"application/json","content-length":Buffer.byteLength(t),accept:"application/json"};this.opts.token&&(r.authorization=`Bearer ${this.opts.token}`);let s={method:"POST",path:e,headers:r,agent:this.agent},o,i;this.parsed.transport==="unix"?(o={...s,socketPath:this.parsed.socketPath},i=x.request):(o={...s,host:this.parsed.host,port:this.parsed.port,protocol:this.parsed.protocol},i=this.parsed.transport==="https"?O.request:x.request);let l=this.parsed.safeUrl,c=this.opts.connectTimeoutMs,h=this.opts.requestTimeoutMs;return new Promise((N,I)=>{let E=!1,C=a=>{E||(E=!0,N(a))},y=a=>{E||(E=!0,I(a))},f=i(o,a=>{let g=[];a.on("data",u=>g.push(Buffer.from(u))),a.on("end",()=>{let u=Buffer.concat(g).toString("utf-8");if(!a.statusCode||a.statusCode<200||a.statusCode>=300){y(new Error(`[EmbedderEndpointClient] HTTP ${a.statusCode} from ${l}: ${u.slice(0,200)}`));return}try{let b=JSON.parse(u);C(b)}catch(b){y(new Error(`[EmbedderEndpointClient] invalid JSON from ${l}: ${b.message}`))}}),a.on("error",u=>y(u))});f.on("socket",a=>{a.setTimeout(c);let g=()=>{a.setTimeout(h)};a.connecting?a.once("connect",g):g(),a.on("timeout",()=>{let u=a.connecting?"connect":"request",b=a.connecting?c:h,M=new Error(`[EmbedderEndpointClient] ${u} timeout after ${b}ms`);y(M),f.destroy(M)})}),f.on("error",a=>y(a)),f.write(t),f.end()})}};import{join as H}from"node:path";import{existsSync as oe,mkdirSync as se}from"node:fs";import{createRequire as ae}from"node:module";var de=ae(import.meta.url);function le(){let n=process.env.AQE_MEMORY_PATH;return n&&n.length>0?n:H(process.cwd(),".agentic-qe","memory.db")}var j="_system",G="embedder_identity:",v=null,$=!1;function K(){if(v)return v;if($)return null;try{let n=de("better-sqlite3"),e=le(),t=H(e,"..");oe(t)||se(t,{recursive:!0});let r=new n(e);return r.pragma("journal_mode = WAL"),r.pragma("busy_timeout = 5000"),r.exec(`
3
- CREATE TABLE IF NOT EXISTS kv_store (
4
- key TEXT NOT NULL,
5
- namespace TEXT NOT NULL,
6
- value TEXT NOT NULL,
7
- expires_at INTEGER,
8
- created_at INTEGER DEFAULT (strftime('%s', 'now') * 1000),
9
- PRIMARY KEY (namespace, key)
10
- );
11
- CREATE INDEX IF NOT EXISTS idx_kv_namespace ON kv_store(namespace);
12
- `),v=r,r}catch{return $=!0,null}}function Q(n){let e=K();if(!e)return null;try{let t=e.prepare("SELECT value FROM kv_store WHERE namespace = ? AND key = ?").get(j,G+n);if(!t)return null;let r=JSON.parse(t.value);return!r.fingerprint||typeof r.dim!="number"?null:{fingerprint:r.fingerprint,dim:r.dim,endpoint:r.endpoint}}catch{return null}}function J(n){let e=K();if(!e)return;let t={fingerprint:n.fingerprint,dim:n.dim,endpoint:n.endpoint,updatedAt:Date.now()};e.prepare("INSERT OR REPLACE INTO kv_store (key, namespace, value) VALUES (?, ?, ?)").run(G+n.endpoint,j,JSON.stringify(t))}function Y(){if(v)try{v.close()}catch{}v=null,$=!1}var _=null,m=null,A=null,k=!1,R="",w=null,p=null,q={modelName:"Xenova/all-MiniLM-L6-v2",quantized:!0,enableCache:!0,maxCacheSize:1e4,endpoint:process.env.AQE_EMBEDDER_ENDPOINT,endpointToken:process.env.AQE_EMBEDDER_TOKEN},d=new Map,V=36e5;function z(n){return p?`endpoint:${p.fingerprint}:${n}`:`inproc:${n}`}function pe(n){let e=n.trim();return!!(e.startsWith("{")&&/["']metrics["']/.test(e)||e.startsWith("[")&&e.endsWith("]")&&e.length>50||(e.match(/[a-zA-Z]/g)||[]).length/Math.max(e.length,1)<.3&&e.length>20)}async function Z(n={}){if(k)throw new Error(`Transformer initialization previously failed: ${R}`);if(A)return A;let e={...q,...n};return A=(async()=>{try{if(e.endpoint){let o=X(e.endpoint);console.log(`[RealEmbeddings] Using external embedder endpoint: ${o}`),w=new P({endpoint:e.endpoint,token:e.endpointToken,model:e.modelName,expectedDim:F()}),p=await w.probe(),console.log(`[RealEmbeddings] Endpoint identity: dim=${p.dim} fingerprint=${p.fingerprint}`);try{let i=Q(p.endpoint);i&&i.fingerprint!==p.fingerprint&&console.warn(`[RealEmbeddings] WARNING: endpoint identity changed since last run. Previous fingerprint=${i.fingerprint} dim=${i.dim}, current fingerprint=${p.fingerprint} dim=${p.dim}. Vectors written before this change may no longer be comparable.`),J(p)}catch(i){console.warn(`[RealEmbeddings] Could not persist endpoint identity: ${D(i)}`)}m=ce(w);return}let t;try{t=await import("./transformers-55VI4OGW.js")}catch{throw new Error('In-process embeddings require the optional package "@huggingface/transformers", which is not installed. Either run `npm install @huggingface/transformers`, or configure an embedding endpoint (EmbeddingConfig.endpoint / AQE_EMBEDDING_ENDPOINT) so no local model is loaded.')}_=t.pipeline,console.log(`[RealEmbeddings] Loading model: ${e.modelName}`);let r=performance.now();m=await _("feature-extraction",e.modelName,{quantized:e.quantized});let s=performance.now()-r;console.log(`[RealEmbeddings] Model loaded in ${s.toFixed(0)}ms`)}catch(t){throw k=!0,R=D(t),new Error(`Failed to initialize transformer model: ${R}`)}})(),A}function ce(n){return async e=>{let t=Array.isArray(e)?e:[e],r=await n.embed(t),s=r[0]?.length??F(),o=new Float32Array(t.length*s);for(let i=0;i<r.length;i++)o.set(r[i],i*s);return{data:o,dims:[t.length,s]}}}async function Ae(n,e={}){let t={...q,...e};if(pe(n))return new Array(F()).fill(0);if(m||await Z(e),!m)throw new Error("Embedding model failed to initialize");let r=z(n);if(t.enableCache){let c=d.get(r);if(c&&Date.now()-c.timestamp<V)return c.embedding}let s=performance.now(),o=await m(n,{pooling:"mean",normalize:!0}),i=Array.from(o.data),l=performance.now()-s;if(l>500&&console.warn(`[RealEmbeddings] Slow embedding computation: ${l.toFixed(1)}ms for "${n.slice(0,50)}..."`),t.enableCache){if(d.size>=t.maxCacheSize){let c=d.keys().next().value;c&&d.delete(c)}d.set(r,{embedding:i,timestamp:Date.now()})}return i}async function Ie(n,e={}){let t={...q,...e},r=[],s=[],o=new Array(n.length).fill(null);if(m||await Z(e),!m)throw new Error("Embedding model failed to initialize");if(t.enableCache)for(let i=0;i<n.length;i++){let l=d.get(z(n[i]));l&&Date.now()-l.timestamp<V?o[i]=l.embedding:(r.push(n[i]),s.push(i))}else{r.push(...n);for(let i=0;i<n.length;i++)s.push(i)}if(r.length>0){let i=performance.now(),l=32;for(let h=0;h<r.length;h+=l){let N=Math.min(h+l,r.length),I=r.slice(h,N),E=await m(I,{pooling:"mean",normalize:!0}),C=E.dims||[I.length,384],y=C[0],f=C[1];for(let a=0;a<y;a++){let g=a*f,u=Array.from(E.data.slice(g,g+f)),b=h+a,M=s[b];if(o[M]=u,t.enableCache){if(d.size>=t.maxCacheSize){let U=d.keys().next().value;U&&d.delete(U)}d.set(z(r[b]),{embedding:u,timestamp:Date.now()})}}}let c=performance.now()-i;console.log(`[RealEmbeddings] Batch computed ${r.length} embeddings in ${c.toFixed(0)}ms`)}return o.filter(i=>i!==null)}function Ce(){d.clear(),console.log("[RealEmbeddings] Cache cleared")}function Me(){return{size:d.size,hitRate:0}}function Pe(){return!k&&m!==null}function F(){return 384}function Oe(){_=null,m=null,A=null,k=!1,R="",d.clear(),w&&w.close(),w=null,p=null,Y()}function Re(){return w!==null}function ke(){return p}export{q as a,Ae as b,Ie as c,Ce as d,Me as e,Pe as f,F as g,Oe as h,Re as i,ke as j};
@@ -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.13.3");process.exit(0)}
2
- import{existsSync as _,readdirSync as d,statSync as w}from"fs";import{join as i,extname as E}from"path";var T=new Set([".ts",".tsx",".js",".jsx",".mjs",".cjs",".py",".pyw",".go",".rs",".java",".kt",".kts",".rb",".cs",".php",".swift",".c",".h",".cpp",".hpp",".cc",".scala"]),v=[".test.",".spec.","_test.","_spec."],b=new Set(["node_modules","dist","build","coverage",".git","__pycache__",".venv","venv",".tox",".mypy_cache","target",".gradle","vendor",".bundle",".next",".nuxt",".output"]);function O(s,p={}){let{maxDepth:f=6,includeTests:m=!1,testsOnly:x=!1,extraExtensions:S=[]}=p;if(!_(s))return[];let o=w(s);if(o.isFile())return[s];if(!o.isDirectory())return[];let y=new Set(S.map(t=>t.startsWith(".")?t:`.${t}`)),n=[];function r(t,c){if(c>f)return;let a;try{a=d(t,{withFileTypes:!0})}catch{return}for(let e of a)if(e.isDirectory()){if(b.has(e.name))continue;r(i(t,e.name),c+1)}else if(e.isFile()){let u=E(e.name).toLowerCase();if(!(T.has(u)||y.has(u))||e.name.endsWith(".d.ts"))continue;let l=v.some(h=>e.name.includes(h))||e.name.startsWith("test_");x?l&&n.push(i(t,e.name)):(m||!l)&&n.push(i(t,e.name))}}return r(s,0),n}export{T as a,O as b};
@@ -1,62 +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.13.3");process.exit(0)}
2
- import{p as O,q}from"./chunk-VRTNRI4H.js";import{i as T,m as U}from"./chunk-DPJLA7JW.js";import{i as b}from"./chunk-FF53QW6C.js";import{b as M,c as H}from"./chunk-H4XZOIV6.js";import{g as C}from"./chunk-62F5M5OO.js";U();var _=null;function w(){if(_)return _;let E=(q(),C(O));if(!E.HierarchicalNSW)throw new Error("hnswlib-node module missing HierarchicalNSW export");return _=E.HierarchicalNSW,_}function L(){return!0}var x=class{indexes;config;initialized;nextId;unifiedAdapters=null;useUnified;constructor(e={}){this.config={M:e.M||16,efConstruction:e.efConstruction||200,efSearch:e.efSearch||50,dimension:e.dimension||384,metric:e.metric||"cosine",quantization:e.quantization||"none"},this.indexes=new Map,this.initialized=new Set,this.nextId=new Map,this.useUnified=L(),this.useUnified&&(this.unifiedAdapters=new Map)}initializeIndex(e){if(this.initialized.has(e))return;if(this.useUnified&&this.unifiedAdapters)try{let{HnswAdapter:s}=(H(),C(M)),d=new s(`embedding-${e}`,{dimensions:this.config.dimension,M:this.config.M,efConstruction:this.config.efConstruction,efSearch:this.config.efSearch,metric:this.config.metric==="dotproduct"?"cosine":this.config.metric});this.unifiedAdapters.set(e,d),this.initialized.add(e),this.nextId.set(e,0);return}catch{}let t={cosine:"cosine",euclidean:"l2",dotproduct:"ip"}[this.config.metric]||"cosine",n=w(),r=new n(t,this.config.dimension);r.initIndex({maxElements:1e4,m:this.config.M,efConstruction:this.config.efConstruction}),this.indexes.set(e,r),this.initialized.add(e),this.nextId.set(e,0)}addEmbedding(e,i){let t=e.namespace;this.initialized.has(t)||this.initializeIndex(t);let n=i??this.nextId.get(t);i===void 0&&this.nextId.set(t,n+1);let r=this.unifiedAdapters?.get(t);if(r){let o=e.vector instanceof Float32Array?e.vector:new Float32Array(this.toFloatArray(e.vector));return r.add(n,o),n}let s=this.indexes.get(t),d=this.toFloatArray(e.vector);return s.addPoint(d,n),n}addEmbeddingsBatch(e){return e.map(i=>this.addEmbedding(i.embedding,i.id))}search(e,i={}){let t=i.namespace||e.namespace;if(!this.initialized.has(t))return[];let n=i.limit||10,r=this.unifiedAdapters?.get(t);if(r){let l=e.vector instanceof Float32Array?e.vector:new Float32Array(this.toFloatArray(e.vector));return r.search(l,n).map(u=>({id:u.id,distance:1-u.score}))}let s=this.indexes.get(t),d=this.toFloatArray(e.vector),o=s.searchKnn(d,n);return o.neighbors.map((l,m)=>({id:l,distance:o.distances[m]}))}getIndexStats(e){if(!this.initialized.has(e))return null;let i=this.unifiedAdapters?.get(e);return i?{size:i.size(),maxElements:1e4,dimension:i.dimensions(),metric:this.config.metric}:{size:this.indexes.get(e).getCurrentCount(),maxElements:1e4,dimension:this.config.dimension,metric:this.config.metric}}async saveIndex(e,i){if(!this.initialized.has(e))throw new Error(`Namespace ${e} not initialized`);if(this.unifiedAdapters?.has(e)){console.warn(`[HNSWEmbeddingIndex] saveIndex() is a no-op for namespace '${e}' \u2014 unified HnswAdapter manages persistence internally.`);return}await this.indexes.get(e).writeIndex(i)}async loadIndex(e,i){if(this.useUnified){console.warn(`[HNSWEmbeddingIndex] loadIndex() is a no-op for namespace '${e}' \u2014 unified HnswAdapter manages persistence internally. Initialize via initializeIndex() instead.`);return}let n={cosine:"cosine",euclidean:"l2",dotproduct:"ip"}[this.config.metric]||"cosine",r=w(),s=new r(n,this.config.dimension);await s.readIndex(i),this.indexes.set(e,s),this.initialized.add(e)}clearIndex(e){if(this.initialized.has(e)){let i=this.unifiedAdapters?.get(e);i&&(i.clear?.(),this.unifiedAdapters.delete(e)),this.indexes.delete(e),this.initialized.delete(e),this.nextId.delete(e)}}clearAll(){if(this.unifiedAdapters){for(let e of this.unifiedAdapters.values())e.clear?.();this.unifiedAdapters.clear()}this.indexes.clear(),this.initialized.clear(),this.nextId.clear()}resizeIndex(e,i){this.initialized.has(e)&&(this.clearIndex(e),this.initializeIndex(e))}setEfSearch(e){this.config.efSearch=e}toFloatArray(e){if(Array.isArray(e))return e;if(e instanceof Float32Array)return Array.from(e);if(e instanceof Int8Array){let i=new Array(e.length);for(let t=0;t<e.length;t++)i[t]=e[t]/128;return i}if(e instanceof Uint8Array){let i=new Array(e.length);for(let t=0;t<e.length;t++)i[t]=(e[t]-128)/128;return i}throw new Error(`Unsupported vector type: ${typeof e}`)}getConfig(){return{...this.config}}isInitialized(e){return this.initialized.has(e)}getInitializedNamespaces(){return Array.from(this.initialized)}getSize(e){if(!this.initialized.has(e))return 0;let i=this.unifiedAdapters?.get(e);return i?i.size():this.nextId.get(e)||0}};var W={mergeSimilarityThreshold:.85,maxMergesPerRun:50,softThreshold:400,hardThreshold:2e3,archiveMinAgeDays:30,archiveQualityThreshold:.15,mergeQualityBoost:.02,contradictionSimilarityThreshold:.85,contradictionQualityDelta:.4},R=class{config;db=null;initialized=!1;constructor(e={}){this.config={...W,...e}}async initialize(e){if(!this.initialized){if(e)this.db=e;else{let i=T();await i.initialize(),this.db=i.getDatabase()}this.initialized=!0}}async consolidateAll(e){this.ensureInitialized();let i={merged:0,contradicted:0,qualityUpdated:0,archived:0,hardDeleted:0,activeRemaining:0,domainsProcessed:[]},t=this.db.prepare("SELECT domain, COUNT(*) as cnt FROM captured_experiences WHERE consolidated_into IS NULL GROUP BY domain").all(),n=e?t.filter(s=>e.includes(s.domain)):t.filter(s=>s.cnt>this.config.softThreshold);for(let{domain:s,cnt:d}of n){let o=await this.consolidateDomain(s,d);i.merged+=o.merged,i.contradicted+=o.contradicted,i.qualityUpdated+=o.qualityUpdated,i.archived+=o.archived,i.hardDeleted+=o.hardDeleted,i.domainsProcessed.push(s)}let r=this.db.prepare("SELECT COUNT(*) as cnt FROM captured_experiences WHERE consolidated_into IS NULL").get();return i.activeRemaining=r.cnt,(i.merged>0||i.archived>0||i.contradicted>0)&&console.log(`[ExperienceConsolidator] Consolidated: ${i.merged} merged, ${i.contradicted} contradicted, ${i.archived} archived, ${i.activeRemaining} active`),i}async consolidateDomain(e,i){this.ensureInitialized();let t={merged:0,contradicted:0,qualityUpdated:0,archived:0,hardDeleted:0,activeRemaining:0,domainsProcessed:[e]},n=await this.clusterAndMerge(e);t.merged=n.merged,t.contradicted=n.contradicted,t.qualityUpdated=this.reinforceQuality(e),t.archived=this.archiveValueless(e);let r=this.db.prepare("SELECT COUNT(*) as cnt FROM captured_experiences WHERE domain = ? AND consolidated_into IS NULL").get(e).cnt,s=0;return r>this.config.hardThreshold&&(s=this.hardDeleteExcess(e,r),t.archived+=s),t.activeRemaining=r-s,t}async bootstrapDomain(e){if(this.ensureInitialized(),this.db.prepare("SELECT value FROM kv_store WHERE key = ?").get(`consolidation_bootstrap_${e}`))return console.log(`[ExperienceConsolidator] Domain ${e} already bootstrapped`),{merged:0,contradicted:0,qualityUpdated:0,archived:0,hardDeleted:0,activeRemaining:0,domainsProcessed:[e]};let t={...this.config};this.config.mergeSimilarityThreshold=.8,this.config.maxMergesPerRun=200;let n=await this.consolidateDomain(e);Object.assign(this.config,t);try{this.db.prepare("INSERT OR REPLACE INTO kv_store (key, value, namespace) VALUES (?, ?, 'system')").run(`consolidation_bootstrap_${e}`,new Date().toISOString())}catch{}return console.log(`[ExperienceConsolidator] Bootstrap ${e}: ${n.merged} merged, ${n.archived} archived`),n}async clusterAndMerge(e){let i=this.db.prepare(`
3
- SELECT id, task, domain, quality, success, application_count,
4
- consolidation_count, reuse_success_count, reuse_failure_count,
5
- embedding, embedding_dimension, started_at
6
- FROM captured_experiences
7
- WHERE domain = ? AND consolidated_into IS NULL AND embedding IS NOT NULL
8
- ORDER BY quality DESC
9
- `).all(e);if(i.length<2)return{merged:0,contradicted:0};let t=new x({dimension:384,M:16,efConstruction:200,efSearch:100,metric:"cosine"}),n=new Map,r=0;for(let a of i)if(a.embedding&&a.embedding_dimension){let N=this.bufferToFloatArray(a.embedding,a.embedding_dimension),y=r++;n.set(y,a.id);let S={vector:N,dimension:384,namespace:"experiences",text:a.id,timestamp:Date.now(),quantization:"none",metadata:{}};t.addEmbedding(S,y)}let s=new Set,d=0,o=0,l=this.db.prepare("UPDATE captured_experiences SET consolidated_into = ? WHERE id = ?"),m=this.db.prepare("UPDATE captured_experiences SET consolidated_into = 'contradicted' WHERE id = ?"),u=this.db.prepare(`
10
- UPDATE captured_experiences
11
- SET consolidation_count = consolidation_count + ?,
12
- quality = MIN(1.0, quality + ?),
13
- quality_updated_at = datetime('now')
14
- WHERE id = ?
15
- `),I=this.db.prepare(`
16
- INSERT INTO experience_consolidation_log (id, domain, action, source_ids, target_id, details, created_at)
17
- VALUES (?, ?, ?, ?, ?, ?, datetime('now'))
18
- `);for(let a of i){if(d+o>=this.config.maxMergesPerRun)break;if(s.has(a.id)||!a.embedding||!a.embedding_dimension)continue;let y={vector:this.bufferToFloatArray(a.embedding,a.embedding_dimension),dimension:384,namespace:"experiences",text:a.id,timestamp:Date.now(),quantization:"none",metadata:{}},S=t.search(y,{limit:6,namespace:"experiences"}),h=[],g=[];for(let{id:v,distance:p}of S){if(d+o>=this.config.maxMergesPerRun)break;let c=n.get(v);if(!c||c===a.id||s.has(c))continue;let A=1-p;if(A<Math.min(this.config.mergeSimilarityThreshold,this.config.contradictionSimilarityThreshold))continue;let f=i.find(z=>z.id===c);if(!f)continue;let D=Math.abs(a.quality-f.quality);if(A>=this.config.contradictionSimilarityThreshold&&D>=this.config.contradictionQualityDelta){f.quality<a.quality&&(s.add(c),g.push(c),o++);continue}A>=this.config.mergeSimilarityThreshold&&f.quality<=a.quality&&f.application_count===0&&(s.add(c),h.push(c),d++)}h.length>0&&this.db.transaction(()=>{for(let c of h)l.run(a.id,c);let p=this.config.mergeQualityBoost*h.length;u.run(h.length,p,a.id),I.run(b(),e,"merge",JSON.stringify(h),a.id,JSON.stringify({count:h.length,boost:p}))})(),g.length>0&&this.db.transaction(()=>{for(let p of g)m.run(p);I.run(b(),e,"contradiction",JSON.stringify(g),a.id,JSON.stringify({count:g.length,survivorQuality:a.quality}))})()}return t.clearIndex("experiences"),{merged:d,contradicted:o}}reinforceQuality(e){let i=this.db.prepare(`
19
- SELECT ce.id, ce.quality, ce.consolidation_count,
20
- ce.reuse_success_count, ce.reuse_failure_count,
21
- COALESCE(app.total, 0) as app_total,
22
- COALESCE(app.successes, 0) as app_successes
23
- FROM captured_experiences ce
24
- LEFT JOIN (
25
- SELECT experience_id,
26
- COUNT(*) as total,
27
- SUM(CASE WHEN success = 1 THEN 1 ELSE 0 END) as successes
28
- FROM experience_applications
29
- GROUP BY experience_id
30
- ) app ON app.experience_id = ce.id
31
- WHERE ce.domain = ? AND ce.consolidated_into IS NULL
32
- AND (app.total > 0 OR ce.reuse_success_count > 0 OR ce.reuse_failure_count > 0)
33
- `).all(e);if(i.length===0)return 0;let t=this.db.prepare(`
34
- UPDATE captured_experiences
35
- SET quality = ?, quality_updated_at = datetime('now')
36
- WHERE id = ?
37
- `),n=0;return this.db.transaction(()=>{for(let s of i){let d=s.app_total+s.reuse_success_count+s.reuse_failure_count,o=s.app_successes+s.reuse_success_count,l=d>0?o/d:0,m=Math.min(s.consolidation_count,10)/10,u=Math.min(1,.4*s.quality+.4*l+.2*m);Math.abs(u-s.quality)>.01&&(t.run(u,s.id),n++)}})(),n}archiveValueless(e){let i=new Date;i.setDate(i.getDate()-this.config.archiveMinAgeDays);let t=i.toISOString().replace("T"," ").slice(0,19),n=this.db.prepare(`
38
- UPDATE captured_experiences
39
- SET consolidated_into = 'archived'
40
- WHERE domain = ?
41
- AND consolidated_into IS NULL
42
- AND quality < ?
43
- AND application_count = 0
44
- AND success = 0
45
- AND consolidation_count = 1
46
- AND started_at < ?
47
- `).run(e,this.config.archiveQualityThreshold,t);if(n.changes>0)try{this.db.prepare(`
48
- INSERT INTO experience_consolidation_log (id, domain, action, source_ids, details, created_at)
49
- VALUES (?, ?, 'archive', '[]', ?, datetime('now'))
50
- `).run(b(),e,JSON.stringify({count:n.changes}))}catch{}return n.changes}hardDeleteExcess(e,i){let t=i-this.config.hardThreshold;if(t<=0)return 0;let r=this.db.prepare(`
51
- UPDATE captured_experiences
52
- SET consolidated_into = 'archived'
53
- WHERE id IN (
54
- SELECT id FROM captured_experiences
55
- WHERE domain = ? AND consolidated_into IS NULL AND application_count = 0
56
- ORDER BY quality ASC, started_at ASC
57
- LIMIT ?
58
- )
59
- `).run(e,t).changes;if(r>0){try{this.db.prepare(`
60
- INSERT INTO experience_consolidation_log (id, domain, action, source_ids, details, created_at)
61
- VALUES (?, ?, 'safety-valve-archive', '[]', ?, datetime('now'))
62
- `).run(b(),e,JSON.stringify({count:r,currentCount:i,hardThreshold:this.config.hardThreshold,note:"soft-archive replacement for legacy hard-delete safety valve"}))}catch{}console.warn(`[ExperienceConsolidator] Safety valve: soft-archived ${r} from ${e} (was ${i}, threshold ${this.config.hardThreshold})`)}return r}ensureInitialized(){if(!this.initialized||!this.db)throw new Error("ExperienceConsolidator not initialized. Call initialize() first.")}bufferToFloatArray(e,i){let t=[];for(let n=0;n<i;n++)t.push(e.readFloatLE(n*4));return t}};export{x as a,R as b};
@@ -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.13.3");process.exit(0)}
2
- import{a as ie,b as ae}from"./chunk-GTURQ454.js";import{S as oe,i as j,p as q}from"./chunk-AXXFY7PX.js";import{c as g,e as D,g as $}from"./chunk-62F5M5OO.js";var I,E=g(()=>{"use strict";I={dimensions:384,M:16,efConstruction:200,efSearch:100,metric:"cosine"}});function se(){if(z)return A!==null;try{let i=(ae(),$(ie));if(A=i.differentiableSearch,P=i.init,P)try{P()}catch{}return z=!0,!0}catch{return z=!0,!1}}function B(i){let e=0;for(let r=0;r<i.length;r++)e+=i[r]*i[r];return Math.sqrt(e)}function ce(i,e,r,t){let n=r*t;if(n===0)return 0;let a=0,o=Math.min(i.length,e.length);for(let c=0;c<o;c++)a+=i[c]*e[c];return a/n}function U(i,e){let r=0,t=Math.min(i.length,e.length);for(let n=0;n<t;n++){let a=i[n]-e[n];r+=a*a}return Math.sqrt(r)}function le(i,e){if(i.length===e)return i;let r=new Float32Array(e);if(i.length>e){let t=i.length/e;for(let n=0;n<e;n++){let a=Math.floor(n*t),o=Math.floor((n+1)*t),c=0;for(let s=a;s<o;s++)c+=i[s];r[n]=c/(o-a)}}else for(let t=0;t<i.length;t++)r[t]=i[t];return r}var A,P,z,S,O=g(()=>{"use strict";E();A=null,P=null,z=!1;S=class{config;entries=[];idToIndex=new Map;hasRuvector=!1;loaded=!1;constructor(e){this.config={...I,...e}}ensureLoaded(){this.loaded||(this.hasRuvector=se(),this.loaded=!0)}normalizeVector(e){return e.length===this.config.dimensions?e:le(e,this.config.dimensions)}add(e,r,t){this.ensureLoaded();let n=this.normalizeVector(r),a=B(n);if(this.idToIndex.has(e)){let c=this.idToIndex.get(e);this.entries[c]={id:e,vector:n,norm:a,metadata:t};return}let o=this.entries.length;this.entries.push({id:e,vector:n,norm:a,metadata:t}),this.idToIndex.set(e,o)}search(e,r){if(this.ensureLoaded(),this.entries.length===0)return[];let t=this.normalizeVector(e),n=B(t),a=Math.min(r,this.entries.length),o=this.entries.length>0?this.entries[0].vector.length:0,c=t.length===o;if(this.config.metric==="cosine")return this.bruteForcSearch(t,n,a);if(this.hasRuvector&&c&&A)try{let s=this.entries.map(u=>u.vector),l=A(t,s,a,1).indices.map(u=>{let h=this.entries[u],m=-U(t,h.vector);return{id:h.id,score:m,metadata:h.metadata}});return l.sort((u,h)=>h.score-u.score),l}catch{}return this.bruteForcSearch(t,n,a)}bruteForcSearch(e,r,t){let n=[];for(let a of this.entries){let o;this.config.metric==="cosine"?o=ce(e,a.vector,r,a.norm):o=-U(e,a.vector),n.push({id:a.id,score:o,metadata:a.metadata})}return n.sort((a,o)=>o.score-a.score),n.slice(0,t)}remove(e){let r=this.idToIndex.get(e);if(r===void 0)return!1;let t=this.entries.length-1;if(r!==t){let n=this.entries[t];this.entries[r]=n,this.idToIndex.set(n.id,r)}return this.entries.pop(),this.idToIndex.delete(e),!0}size(){return this.entries.length}dimensions(){return this.config.dimensions}recall(){return this.hasRuvector,1}isRuvectorAvailable(){return this.ensureLoaded(),this.hasRuvector}getConfig(){return{...this.config}}clear(){this.entries=[],this.idToIndex.clear()}dispose(){this.clear()}}});import{createRequire as he}from"module";function de(){if(K){if(k)return k;throw new b(J??"Unknown load error")}K=!0;try{let i=ue("hnswlib-node");if(!i.HierarchicalNSW)throw new Error("hnswlib-node module missing HierarchicalNSW export");return k=i,k}catch(i){let e=i instanceof Error?i.message:String(i);throw J=e,new b(e)}}function me(i,e){if(i.length===e)return i;let r=new Float32Array(e);if(i.length>e){let t=i.length/e;for(let n=0;n<e;n++){let a=Math.floor(n*t),o=Math.floor((n+1)*t),c=0;for(let s=a;s<o;s++)c+=i[s];r[n]=c/(o-a)}}else for(let t=0;t<i.length;t++)r[t]=i[t];return r}function Q(i){let e=new Array(i.length);for(let r=0;r<i.length;r++)e[r]=i[r];return e}var ue,b,k,K,J,X,w,Y=g(()=>{"use strict";E();ue=he(import.meta.url),b=class extends Error{constructor(e){super(`Native HNSW backend unavailable: ${e}`),this.name="NativeHnswUnavailableError"}},k=null,K=!1,J=null;X=1e4,w=class{config;nativeIndex=null;currentMaxElements=X;liveIds=new Set;metadataStore=new Map;_metrics={totalSearches:0,totalAdds:0,totalRemoves:0,avgSearchLatencyMs:0,maxSearchLatencyMs:0,lastSearchLatencyMs:0,fallbackSearchCount:0,bruteForceSearchCount:0,nativeSearchCount:0,fallbackRate:0,allSearchesBruteForce:!1};constructor(e){this.config={...I,...e},this.nativeIndex=this.createFreshIndex()}createFreshIndex(){let e=de(),r=this.config.metric==="euclidean"?"l2":"cosine";try{let t=new e.HierarchicalNSW(r,this.config.dimensions);return t.initIndex(this.currentMaxElements,this.config.M,this.config.efConstruction,100,!0),t.setEf(this.config.efSearch),t}catch(t){let n=t instanceof Error?t.message:String(t);throw new b(`HierarchicalNSW init failed: ${n}`)}}add(e,r,t){if(!this.nativeIndex)throw new Error("NativeHnswBackend has been disposed");let n=this.normalizeVector(r);if(!this.liveIds.has(e)&&this.liveIds.size>=this.currentMaxElements){let a=this.currentMaxElements*2;this.nativeIndex.resizeIndex(a),this.currentMaxElements=a}this.nativeIndex.addPoint(Q(n),e,!0),this.liveIds.add(e),t?this.metadataStore.set(e,t):this.metadataStore.delete(e),this._metrics.totalAdds++}search(e,r){if(!this.nativeIndex)throw new Error("NativeHnswBackend has been disposed");if(this.liveIds.size===0||r<=0)return[];let t=performance.now(),n=this.normalizeVector(e),a=Math.min(r,this.liveIds.size),o=Math.min(a*2,this.liveIds.size),c=this.nativeIndex.searchKnn(Q(n),o),s=this.config.metric==="cosine",d=new Map;for(let h=0;h<c.neighbors.length;h++){let m=c.neighbors[h];if(!this.liveIds.has(m))continue;let x=c.distances[h],f=s?1-x:-x,W=d.get(m);(W===void 0||f>W.score)&&d.set(m,{id:m,score:f,metadata:this.metadataStore.get(m)})}let l=Array.from(d.values());l.sort((h,m)=>m.score-h.score),l.length>a&&(l.length=a);let u=performance.now()-t;return this.updateSearchMetrics(u),this._metrics.nativeSearchCount=this._metrics.totalSearches,u>50&&console.warn(`[NativeHNSW] search took ${u.toFixed(1)}ms (k=${r}, results=${l.length})`),l}remove(e){if(!this.nativeIndex||!this.liveIds.has(e))return!1;try{this.nativeIndex.markDelete(e)}catch{return!1}return this.liveIds.delete(e),this.metadataStore.delete(e),this._metrics.totalRemoves++,!0}size(){return this.liveIds.size}dimensions(){return this.config.dimensions}recall(){return .99}getMetrics(){return{...this._metrics}}get lastSearchLatencyMs(){return this._metrics.lastSearchLatencyMs}getConfig(){return{...this.config}}clear(){this.nativeIndex&&(this.liveIds.clear(),this.metadataStore.clear(),this.currentMaxElements=X,this.nativeIndex=this.createFreshIndex())}dispose(){this.liveIds.clear(),this.metadataStore.clear(),this.nativeIndex=null}isNativeAvailable(){return this.nativeIndex!==null}normalizeVector(e){return e.length===this.config.dimensions?e:me(e,this.config.dimensions)}updateSearchMetrics(e){this._metrics.totalSearches++,this._metrics.lastSearchLatencyMs=e,e>this._metrics.maxSearchLatencyMs&&(this._metrics.maxSearchLatencyMs=e);let r=this._metrics.totalSearches;this._metrics.avgSearchLatencyMs=this._metrics.avgSearchLatencyMs*((r-1)/r)+e/r}}});function Z(i,e){let r=Array.from({length:e},()=>new Float64Array(e));for(let t=0;t<e;t++){let n=i[t].length;r[t][t]=n;for(let a of i[t])r[t][a]=-1}return r}function N(i,e){let r=e.length,t=new Float64Array(r);for(let n=0;n<r;n++){let a=i[n].length;t[n]=a*e[n];for(let o of i[n])t[n]-=e[o]}return t}function H(i){let e=0;for(let r=0;r<i.length;r++)e+=i[r]*i[r];return Math.sqrt(e)}function R(i){let e=H(i);if(e>0)for(let r=0;r<i.length;r++)i[r]/=e}function v(i,e){let r=0;for(let t=0;t<i.length;t++)r+=i[t]*e[t];for(let t=0;t<i.length;t++)i[t]-=r*e[t]}function y(i,e,r=100,t=1e-6){if(e<=1)return 0;if(e===2)return i[0].includes(1)?2:0;let n=new Float64Array(e).fill(1/Math.sqrt(e)),a=new Float64Array(e);for(let l=0;l<e;l++)a[l]=Math.random()-.5;v(a,n),R(a);let o=0;for(let l=0;l<30;l++){let u=N(i,a);if(v(u,n),o=H(u),o>0)for(let h=0;h<e;h++)a[h]=u[h]/o}if(o<t)return 0;let c=new Float64Array(e);for(let l=0;l<e;l++)c[l]=Math.random()-.5;v(c,n),R(c);let s=0;for(let l=0;l<r;l++){let u=N(i,c),h=new Float64Array(e);for(let f=0;f<e;f++)h[f]=o*c[f]-u[f];v(h,n);let m=H(h);if(m<t)break;let x=m;for(let f=0;f<e;f++)c[f]=h[f]/m;if(Math.abs(x-s)<t)break;s=x}let d=o-s;return Math.max(0,d)}function F(i,e,r=100,t=1e-6){return y(i,e,r,t)}function C(i,e,r=50,t){if(e<=1)return 0;let n=t??y(i,e);if(n<1e-10)return 1/0;let o=2*Math.max(...i.map(d=>d.length),1),s=2*(Math.log(o/n)/(o-n));return Math.max(0,s)}function M(i,e,r){let t=1-Math.exp(-i/.05),n=1-Math.exp(-e/.5),a=r===1/0?0:1/(1+r/5),o=.4*t+.3*n+.3*a;return Math.max(0,Math.min(1,o))}var _=g(()=>{"use strict"});var re={};D(re,{ALERT_THRESHOLDS:()=>fe,DEFAULT_HNSW_HEALTH_CONFIG:()=>ee,HnswHealthMonitor:()=>L,_resetNativeLoader:()=>be,approximateFiedlerValue:()=>y,approximateSpectralGap:()=>F,buildAdjacencyFromIndex:()=>te,buildLaplacian:()=>Z,computeCoherenceScore:()=>M,createHnswHealthMonitor:()=>ge,deflateVector:()=>v,estimateEffectiveResistance:()=>C,laplacianMultiply:()=>N,normalizeInPlace:()=>R,vectorNorm:()=>H});function pe(){return V?T:(V=!0,T=null,null)}function be(){T=null,V=!1}function te(i,e=16,r){let t=i.size();if(t===0)return{adjacency:[],nodeCount:0,adjacencySource:"approximate"};let n=Array.from({length:t},()=>[]),a=Math.min(e,t-1);if(a===0)return{adjacency:n,nodeCount:t,adjacencySource:"approximate"};if(r&&r.size>0){let o=Array.from(r.keys()).slice(0,t),c=new Map;for(let s=0;s<o.length;s++)c.set(o[s],s);for(let s=0;s<o.length;s++){let d=r.get(o[s]);if(!d)continue;let l=i.search(d,a+1);for(let u of l){if(u.id===o[s])continue;let h=c.get(u.id);h!==void 0&&(n[s].includes(h)||n[s].push(h),n[h].includes(s)||n[h].push(s))}}return{adjacency:n,nodeCount:t,adjacencySource:"actual-search"}}console.warn("[HnswHealthMonitor] No stored vectors provided \u2014 using approximate circular adjacency. Pass stored vectors for accurate health metrics.");for(let o=0;o<t;o++)for(let c=0;c<a;c++){let s=(o+c+1)%t;n[o].includes(s)||n[o].push(s),n[s].includes(o)||n[s].push(o)}return{adjacency:n,nodeCount:t,adjacencySource:"approximate"}}function ge(i){return new L(i)}var ee,fe,T,V,L,ne=g(()=>{"use strict";_();_();ee={fiedlerThreshold:.01,spectralGapThreshold:.1,resistanceThreshold:10,coherenceThreshold:.3,maxPowerIterations:100,convergenceTolerance:1e-6,resistanceSampleSize:50,maxHistoryEntries:200,minIndexSize:3},fe={FragileIndex:.01,PoorExpansion:.1,HighResistance:10,LowCoherence:.3},T=null,V=!1;L=class{config;alerts=[];history=[];lastReport=null;useNative=!1;nativeChecked=!1;constructor(e){this.config={...ee,...e}}checkHealth(e){let r=performance.now(),t=e.size();if(t<this.config.minIndexSize)return this.createSmallIndexReport(t,performance.now()-r);this.nativeChecked||(this.nativeChecked=!0,this.useNative=pe()!==null);let{adjacency:n,nodeCount:a,adjacencySource:o}=te(e),c=this.useNative?this.computeNativeMetrics(n):this.computeApproximateMetrics(n,a),s=this.generateAlerts(c);this.alerts.length=0,this.alerts.push(...s);let d=performance.now()-r,l={healthy:s.length===0,metrics:c,alerts:s,indexSize:t,usedNativeBackend:this.useNative,adjacencySource:o,checkDurationMs:d,checkedAt:new Date};return this.addHistoryPoint({coherenceScore:c.coherenceScore,fiedlerValue:c.fiedlerValue,indexSize:t,healthy:l.healthy,timestamp:l.checkedAt}),this.lastReport=l,l}getAlerts(){return[...this.alerts]}getMetricsHistory(e){let r=[...this.history];return e!==void 0&&e<r.length?r.slice(-e):r}isHealthy(){return this.lastReport===null?!0:this.lastReport.healthy}getLastReport(){return this.lastReport}clearHistory(){this.history.length=0,this.alerts.length=0,this.lastReport=null}computeNativeMetrics(e){let r=T,t=r.computeFiedlerValue(e),n=r.computeSpectralGap(e),a=r.computeEffectiveResistance(e),o=M(t,n,a);return{fiedlerValue:t,spectralGap:n,effectiveResistance:a,coherenceScore:o}}computeApproximateMetrics(e,r){let t=y(e,r,this.config.maxPowerIterations,this.config.convergenceTolerance),n=F(e,r,this.config.maxPowerIterations,this.config.convergenceTolerance),a=C(e,r,this.config.resistanceSampleSize,t),o=M(t,n,a);return{fiedlerValue:t,spectralGap:n,effectiveResistance:a,coherenceScore:o}}generateAlerts(e){let r=[],t=new Date;return e.fiedlerValue<this.config.fiedlerThreshold&&r.push({type:"FragileIndex",message:`Fiedler value ${e.fiedlerValue.toFixed(6)} is below threshold ${this.config.fiedlerThreshold}. The index graph has weak algebraic connectivity.`,value:e.fiedlerValue,threshold:this.config.fiedlerThreshold,timestamp:t}),e.spectralGap<this.config.spectralGapThreshold&&r.push({type:"PoorExpansion",message:`Spectral gap ${e.spectralGap.toFixed(6)} is below threshold ${this.config.spectralGapThreshold}. The index graph has poor expansion properties.`,value:e.spectralGap,threshold:this.config.spectralGapThreshold,timestamp:t}),e.effectiveResistance>this.config.resistanceThreshold&&r.push({type:"HighResistance",message:`Average effective resistance ${e.effectiveResistance.toFixed(4)} exceeds threshold ${this.config.resistanceThreshold}. Nodes are poorly connected.`,value:e.effectiveResistance,threshold:this.config.resistanceThreshold,timestamp:t}),e.coherenceScore<this.config.coherenceThreshold&&r.push({type:"LowCoherence",message:`Coherence score ${e.coherenceScore.toFixed(4)} is below threshold ${this.config.coherenceThreshold}. Overall index health is degraded.`,value:e.coherenceScore,threshold:this.config.coherenceThreshold,timestamp:t}),r}createSmallIndexReport(e,r){let t={fiedlerValue:e>0?1:0,spectralGap:e>0?1:0,effectiveResistance:e>0?.5:0,coherenceScore:e>0?1:0},n={healthy:!0,metrics:t,alerts:[],indexSize:e,usedNativeBackend:!1,adjacencySource:"approximate",checkDurationMs:r,checkedAt:new Date};return this.addHistoryPoint({coherenceScore:t.coherenceScore,fiedlerValue:t.fiedlerValue,indexSize:e,healthy:!0,timestamp:n.checkedAt}),this.lastReport=n,n}addHistoryPoint(e){this.history.push(e),this.history.length>this.config.maxHistoryEntries&&this.history.splice(0,this.history.length-this.config.maxHistoryEntries)}}});var ye={};D(ye,{HnswAdapter:()=>G});var ve,p,G,xe=g(()=>{O();Y();oe();ve={patterns:{dimensions:384,M:16,efConstruction:200,efSearch:100,metric:"cosine"},"qe-memory":{dimensions:384,M:16,efConstruction:200,efSearch:100,metric:"cosine"},learning:{dimensions:384,M:16,efConstruction:200,efSearch:50,metric:"cosine"},coverage:{dimensions:384,M:16,efConstruction:200,efSearch:100,metric:"cosine"}},p=new Map,G=class i{backend;_isNativeBackend;indexName;stringToNumericId=new Map;numericToStringId=new Map;nextAutoId=0;healthMonitor=null;healthMonitorLoaded=!1;operationsSinceLastCheck=0;healthCheckFrequency=100;lastHealthReport=null;constructor(e,r){this.indexName=e;let n={...ve[e]??{},...r},{backend:a,isNative:o}=i.createBackend(n);this.backend=a,this._isNativeBackend=o}add(e,r,t){this.backend.add(e,r,t),this.maybeRunHealthCheck()}search(e,r){let t=performance.now(),n=this.backend.search(e,r),a=performance.now()-t;return a>50&&console.warn(`[HNSW] search took ${a.toFixed(1)}ms (k=${r}, results=${n.length})`),this._lastSearchLatencyMs=a,n}_lastSearchLatencyMs=0;get lastSearchLatencyMs(){return this._lastSearchLatencyMs}remove(e){return this.backend.remove(e)}size(){return this.backend.size()}dimensions(){return this.backend.dimensions()}recall(){return this.backend.recall()}addByStringId(e,r){let t=this.stringToNumericId.get(e);t!==void 0?this.backend.remove(t):(t=this.nextAutoId++,this.stringToNumericId.set(e,t),this.numericToStringId.set(t,e)),this.backend.add(t,new Float32Array(r))}searchByArray(e,r){return this.backend.search(new Float32Array(e),r).map(n=>({id:this.numericToStringId.get(n.id)??String(n.id),score:n.score}))}removeByStringId(e){let r=this.stringToNumericId.get(e);if(r===void 0)return!1;let t=this.backend.remove(r);return t&&(this.stringToNumericId.delete(e),this.numericToStringId.delete(r)),t}clear(){this.backend.clear?.(),this.stringToNumericId.clear(),this.numericToStringId.clear(),this.nextAutoId=0}dispose(){try{this.backend.dispose?.()}catch{}this.stringToNumericId.clear(),this.numericToStringId.clear(),this.nextAutoId=0}isRuvectorAvailable(){return this.backend instanceof S?this.backend.isRuvectorAvailable():this.backend instanceof w?this.backend.isNativeAvailable():!1}isNativeBackend(){return this._isNativeBackend}getName(){return this.indexName}setHealthCheckFrequency(e){this.healthCheckFrequency=Math.max(1,e)}getHealthCheckFrequency(){return this.healthCheckFrequency}getLastHealthReport(){return this.lastHealthReport}getHealthMonitor(){return this.healthMonitor}maybeRunHealthCheck(){if(q()&&(this.operationsSinceLastCheck++,!(this.operationsSinceLastCheck<this.healthCheckFrequency)&&(this.operationsSinceLastCheck=0,this.ensureHealthMonitor(),this.healthMonitor)))try{this.lastHealthReport=this.healthMonitor.checkHealth(this.backend),this.lastHealthReport.healthy||console.warn(`[HNSW-Health] Index "${this.indexName}" health check failed: ${this.lastHealthReport.alerts.length} alert(s). Coherence: ${this.lastHealthReport.metrics.coherenceScore.toFixed(3)}`)}catch(e){console.warn(`[HNSW-Health] Health check error for "${this.indexName}":`,e)}}ensureHealthMonitor(){if(!this.healthMonitorLoaded){this.healthMonitorLoaded=!0;try{let e=(ne(),$(re));this.healthMonitor=e.createHnswHealthMonitor()}catch(e){process.env.DEBUG&&console.debug("[HNSW-Health] Monitor module unavailable:",e instanceof Error?e.message:e),this.healthMonitor=null}}}static createBackend(e){if(j())try{return{backend:new w(e),isNative:!0}}catch(r){r instanceof b?console.info(`[HNSW] Native backend unavailable, falling back to JS: ${r.message}`):console.warn("[HNSW] Unexpected error creating native backend, falling back to JS:",r)}return{backend:new S(e),isNative:!1}}static create(e,r){let t=p.get(e);if(t instanceof i)return t;let n=new i(e,r);return p.set(e,n),n}static get(e){let r=p.get(e);return r instanceof i?r:void 0}static close(e){let r=p.get(e);r instanceof i&&r.dispose(),p.delete(e)}static closeAll(){for(let[e]of p)i.close(e);p.clear()}static listIndexes(){return Array.from(p.keys())}}});export{G as a,ye as b,xe as c};
@@ -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.13.3");process.exit(0)}
2
- import{a as e,b as g,e as r}from"./chunk-66KIIH6V.js";import{c as o}from"./chunk-62F5M5OO.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.13.3");process.exit(0)}
2
- import{c as t,e as o}from"./chunk-62F5M5OO.js";var g={};o(g,{DotProductAttention:()=>u,FlashAttention:()=>m,HyperbolicAttention:()=>h,LinearAttention:()=>f,MoEAttention:()=>_,MultiHeadAttention:()=>A,RuvectorLayer:()=>a,SonaEngine:()=>b,TensorCompress:()=>c,default:()=>r,differentiableSearch:()=>l,getCompressionLevel:()=>p,hierarchicalForward:()=>s,init:()=>d,pipeline:()=>L});import{createRequire as n}from"module";var i,e,r,a,c,l,s,p,d,m,u,A,h,f,_,b,L,q=t(()=>{i=n(import.meta.url),e=i("hnswlib-node"),r=e,{RuvectorLayer:a,TensorCompress:c,differentiableSearch:l,hierarchicalForward:s,getCompressionLevel:p,init:d,FlashAttention:m,DotProductAttention:u,MultiHeadAttention:A,HyperbolicAttention:h,LinearAttention:f,MoEAttention:_,SonaEngine:b,pipeline:L}=e||{}});export{r as a,a as b,c,l as d,s as e,p as f,d as g,m as h,u as i,A as j,h as k,f as l,_ as m,b as n,L as o,g as p,q};
@@ -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.13.3");process.exit(0)}
2
- import{c as a,d as b,e as c}from"./chunk-PS32DXYF.js";import"./chunk-A547LEUW.js";import"./chunk-XRF5MX4Q.js";import"./chunk-62F5M5OO.js";c();export{a as VibiumClientImpl,b as VibiumClientProvider};
@@ -1,10 +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.13.3");process.exit(0)}
2
- import{b as w}from"./chunk-QGJYKXUO.js";import{a as S,c as O}from"./chunk-XRF5MX4Q.js";import"./chunk-62F5M5OO.js";O();import{copyFileSync as x,existsSync as n,mkdirSync as p,readFileSync as k,readdirSync as v,statSync as y,writeFileSync as g}from"fs";import{join as o,dirname as C}from"path";import{fileURLToPath as M}from"url";var R=class{projectRoot;overwrite;options;generator;constructor(t){this.projectRoot=t.projectRoot,this.overwrite=t.overwrite??!1,this.options=t,this.generator=w()}async install(){let t={success:!0,mcpConfigured:!1,agentsMdInstalled:!1,hooksConfigured:!1,skillsInstalled:0,errors:[],configPath:"",agentsMdPath:"",hooksPath:o(this.projectRoot,".codex","hooks.json"),skillsPath:o(this.projectRoot,".agents","skills")};try{let s=this.generator.generateMcpConfig("codex",{memoryBackend:this.options.memoryBackend}),e=o(this.projectRoot,s.path);if(t.configPath=e,!n(e)||this.overwrite){let a=C(e);if(n(a)||p(a,{recursive:!0}),n(e)&&this.overwrite){let l=this.mergeExistingTomlConfig(e,s.content);g(e,l)}else g(e,s.content);t.mcpConfigured=!0}let i=this.generator.generateBehavioralRules("codex"),r=o(this.projectRoot,i.path);if(t.agentsMdPath=r,!n(r)||this.overwrite){if(n(r)&&this.overwrite){let a=this.mergeExistingAgentsMd(r,i.content);g(r,a)}else g(r,i.content);t.agentsMdInstalled=!0}this.installCodexHooks(t),t.skillsInstalled=this.installCodexSkills()}catch(s){t.success=!1,t.errors.push(`Codex installation failed: ${S(s)}`)}return t}installCodexHooks(t){let s=this.resolvePackageRoot();if(!s)return;let e=o(s,".codex","hooks.json"),i=o(s,".codex","hooks");if(!n(e)||!n(i))return;let r=o(this.projectRoot,".codex"),a=o(r,"hooks");p(a,{recursive:!0});for(let c of v(i)){let f=o(i,c);if(!y(f).isFile())continue;let h=o(a,c);(!n(h)||this.overwrite)&&x(f,h)}let l=[{source:o(s,".claude","hooks","aqe-hook.cjs"),target:o(a,"aqe-runtime.cjs")},{source:o(s,".claude","helpers","ruflo-hook.cjs"),target:o(a,"ruflo-runtime.cjs")}];for(let c of l)n(c.source)&&(!n(c.target)||this.overwrite)&&x(c.source,c.target);let u=JSON.parse(k(e,"utf-8")),d=o(r,"hooks.json");if(!n(d)){g(d,JSON.stringify(u,null,2)+`
3
- `),t.hooksConfigured=!0;return}if(!this.overwrite)return;let m=JSON.parse(k(d,"utf-8")),I=c=>JSON.stringify(c).includes("/.codex/hooks/aqe-codex-hook.cjs")||JSON.stringify(c).includes("/.codex/hooks/ruflo-codex-hook.cjs"),P={},b=new Set([...Object.keys(m.hooks||{}),...Object.keys(u.hooks||{})]);for(let c of b){let f=(m.hooks?.[c]||[]).filter(h=>!I(h));P[c]=[...f,...u.hooks?.[c]||[]]}g(d,JSON.stringify({...m,description:u.description,hooks:P},null,2)+`
4
- `),t.hooksConfigured=!0}installCodexSkills(){let t=this.resolvePackageRoot();if(!t)return 0;let s=o(t,".agents","skills");if(!n(s))return 0;let e=o(this.projectRoot,".agents","skills");p(e,{recursive:!0});let i=0;for(let r of v(s)){if(!r.startsWith("aqe-"))continue;let a=o(s,r);if(!y(a).isDirectory())continue;let l=o(e,r);n(l)&&!this.overwrite||(this.copyDirectory(a,l),i++)}return i}copyDirectory(t,s){p(s,{recursive:!0});for(let e of v(t)){let i=o(t,e),r=o(s,e);y(i).isDirectory()?this.copyDirectory(i,r):x(i,r)}}resolvePackageRoot(){let t=C(M(import.meta.url));return[o(t,"..",".."),o(C(process.argv[1]||""),"..",".."),o(this.projectRoot,"node_modules","agentic-qe")].find(e=>n(o(e,".codex","hooks.json"))||n(o(e,".agents","skills")))}mergeExistingTomlConfig(t,s){try{let e=k(t,"utf-8");return e.includes("[mcp_servers.agentic-qe]")?e:e.trimEnd()+`
5
-
6
- `+s}catch{return s}}mergeExistingAgentsMd(t,s){try{let e=k(t,"utf-8");return e.includes("Agentic QE")||e.includes("fleet_init")?e:e.trimEnd()+`
7
-
8
- ---
9
-
10
- `+s}catch{return s}}};function B(j){return new R(j)}export{R as CodexInstaller,B as createCodexInstaller};
@@ -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.13.3");process.exit(0)}
2
- import{c as a,d as b,e as c,f as d,g as e,h as f,i as g,j as h,k as i,l as j,m as k,n as l}from"./chunk-F6V5POSK.js";import"./chunk-JOHWWTJF.js";import"./chunk-DSUEJK33.js";import"./chunk-SSXCHSVM.js";import"./chunk-MGKJFO57.js";import"./chunk-FGIZVGIE.js";import"./chunk-A6J5MAVO.js";import"./chunk-OD5R7HRI.js";import"./chunk-SJWTNKPY.js";import"./chunk-IH47VGC7.js";import"./chunk-33SPAMQZ.js";import"./chunk-A22RTEJ3.js";import"./chunk-N7IRBQ4D.js";import"./chunk-IKPBQZQP.js";import"./chunk-L4O2645U.js";import"./chunk-CVFUANMU.js";import"./chunk-LOZRBK2Z.js";import"./chunk-JLFU5SCI.js";import"./chunk-B7XZJBMT.js";import"./chunk-RMQRSZB4.js";import"./chunk-MYR6CBXC.js";import"./chunk-EMH54CO7.js";import"./chunk-JBWXBDJX.js";import"./chunk-JQTDNUHA.js";import"./chunk-ADBTOUOX.js";import"./chunk-CXPMA7LY.js";import"./chunk-PS32DXYF.js";import"./chunk-QZS3XCU5.js";import"./chunk-NUPAGPN6.js";import"./chunk-VGWHFFK6.js";import"./chunk-ZIYCZZYD.js";import"./chunk-IZIYFVAZ.js";import"./chunk-3NML6POU.js";import"./chunk-N4OBRS6S.js";import"./chunk-M7XDTQHX.js";import"./chunk-7AHQ7ROU.js";import"./chunk-5IVOY76M.js";import"./chunk-TNM7X2GD.js";import"./chunk-6I2L22WS.js";import"./chunk-BDOD534O.js";import"./chunk-X737I4SO.js";import"./chunk-22WFXSXB.js";import"./chunk-OU5CZFBG.js";import"./chunk-TW5QWNT4.js";import"./chunk-A547LEUW.js";import"./chunk-MNEQESQJ.js";import"./chunk-K2D3YW2N.js";import"./chunk-3J2QITXC.js";import"./chunk-KBQRYAHZ.js";import"./chunk-HEF6XKA5.js";import"./chunk-DTOKJKSE.js";import"./chunk-2QKSIHXO.js";import"./chunk-2MLPO3RZ.js";import"./chunk-RWPWD5GG.js";import"./chunk-J65XQ6WE.js";import"./chunk-TK6CHESH.js";import"./chunk-OX6WPOGR.js";import"./chunk-7MBPKAQ3.js";import"./chunk-VRTNRI4H.js";import"./chunk-IRX2THND.js";import"./chunk-PHNNAIFA.js";import"./chunk-J5AIMM2J.js";import"./chunk-LLQG3F4H.js";import"./chunk-KQFMCVBH.js";import"./chunk-RRHIEG4Y.js";import"./chunk-EEG4G5JG.js";import"./chunk-TRPRFW27.js";import"./chunk-HOIH542Y.js";import"./chunk-UOJ26GXD.js";import"./chunk-QP4UKSUJ.js";import"./chunk-ORXDKBZC.js";import"./chunk-6C3PDY72.js";import"./chunk-764G7VK6.js";import"./chunk-4RYU4WMW.js";import"./chunk-N3KQRDTM.js";import"./chunk-ZI7BWJJW.js";import"./chunk-JG267MVB.js";import"./chunk-GSG5FASF.js";import"./chunk-KQ5GLUOB.js";import"./chunk-UF7JKDWB.js";import"./chunk-5A5EC5RD.js";import"./chunk-GNCGRDQ2.js";import"./chunk-UWBHR4EZ.js";import"./chunk-QZ3EIONO.js";import"./chunk-7TG7LJAB.js";import"./chunk-ZLTAAROU.js";import"./chunk-64C4SS66.js";import"./chunk-SAMAYDVS.js";import"./chunk-VFZNVJP2.js";import"./chunk-U7DGRHSB.js";import"./chunk-LWPCGOQM.js";import"./chunk-5IH22DLD.js";import"./chunk-DPJLA7JW.js";import"./chunk-CW7BWFFF.js";import"./chunk-WHUQDBV7.js";import"./chunk-T5L65R23.js";import"./chunk-66KIIH6V.js";import"./chunk-NIA6VTIH.js";import"./chunk-2G2XD6EM.js";import"./chunk-WVWWTRKT.js";import"./chunk-PHGOMAIS.js";import"./chunk-46U73TST.js";import"./chunk-ZU3XUBDQ.js";import"./chunk-XRF5MX4Q.js";import"./chunk-FF53QW6C.js";import"./chunk-3CFWNT3F.js";import"./chunk-2BYRQ5MV.js";import"./chunk-P5CQMDFQ.js";import"./chunk-V6W4IHS5.js";import"./chunk-AJ45QR3K.js";import"./chunk-UX434RY5.js";import"./chunk-PHBGMXTR.js";import"./chunk-H4XZOIV6.js";import"./chunk-GTURQ454.js";import"./chunk-AXXFY7PX.js";import"./chunk-62F5M5OO.js";export{c as adoptExternalFleet,e as assignAgentLevel,k as disposeFleet,f as getAgentLevel,g as getAllAgentLevels,a as getFleetState,d as getFleetTopology,l as handleAQEHealth,j as handleFleetHealth,h as handleFleetInit,i as handleFleetStatus,b as isFleetInitialized};
@@ -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.13.3");process.exit(0)}
2
- import{a,b}from"./chunk-J65XQ6WE.js";import"./chunk-TK6CHESH.js";import"./chunk-ZU3XUBDQ.js";import"./chunk-FF53QW6C.js";import"./chunk-62F5M5OO.js";export{a as CrossDomainEventRouter,b as createCrossDomainRouter};
@@ -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.13.3");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-VGWHFFK6.js";import"./chunk-ZIYCZZYD.js";import"./chunk-IZIYFVAZ.js";import"./chunk-3NML6POU.js";import"./chunk-GSG5FASF.js";import"./chunk-KQ5GLUOB.js";import"./chunk-UF7JKDWB.js";import"./chunk-5A5EC5RD.js";import"./chunk-GNCGRDQ2.js";import"./chunk-UWBHR4EZ.js";import"./chunk-QZ3EIONO.js";import"./chunk-7TG7LJAB.js";import"./chunk-ZLTAAROU.js";import"./chunk-64C4SS66.js";import"./chunk-SAMAYDVS.js";import"./chunk-VFZNVJP2.js";import"./chunk-U7DGRHSB.js";import"./chunk-LWPCGOQM.js";import"./chunk-5IH22DLD.js";import"./chunk-DPJLA7JW.js";import"./chunk-CW7BWFFF.js";import"./chunk-WHUQDBV7.js";import"./chunk-T5L65R23.js";import"./chunk-66KIIH6V.js";import"./chunk-NIA6VTIH.js";import"./chunk-2G2XD6EM.js";import"./chunk-WVWWTRKT.js";import"./chunk-PHGOMAIS.js";import"./chunk-46U73TST.js";import"./chunk-ZU3XUBDQ.js";import"./chunk-XRF5MX4Q.js";import"./chunk-FF53QW6C.js";import"./chunk-2BYRQ5MV.js";import"./chunk-P5CQMDFQ.js";import"./chunk-V6W4IHS5.js";import"./chunk-AJ45QR3K.js";import"./chunk-UX434RY5.js";import"./chunk-PHBGMXTR.js";import"./chunk-H4XZOIV6.js";import"./chunk-GTURQ454.js";import"./chunk-AXXFY7PX.js";import"./chunk-62F5M5OO.js";export{q as BUILT_IN_STRATEGIES,b as ConceptGraph,g as DEFAULT_ACTIVATION_CONFIG,a as DEFAULT_CONCEPT_GRAPH_CONFIG,m as DEFAULT_DREAM_CONFIG,s as DEFAULT_DREAM_SCHEDULER_CONFIG,i as DEFAULT_INSIGHT_CONFIG,k as DEFAULT_VALIDATION_THRESHOLDS,n as DreamEngine,t as DreamScheduler,f as HISTORY_TRIM_TARGET_RATIO,j as InsightGenerator,d as MAX_ACTIVATION_HISTORY_ENTRIES,e as MAX_COACTIVATION_ENTRIES,l as RVCOWBranchManager,r as SpeculativeDreamer,h as SpreadingActivation,c as createConceptGraph,o as createDreamEngine,u as createDreamScheduler,p 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.13.3");process.exit(0)}
2
- import{a,b}from"./chunk-6R6QGQ7D.js";import"./chunk-62F5M5OO.js";export{a as SOURCE_EXTENSIONS,b as walkSourceFiles};
@@ -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.13.3");process.exit(0)}
2
- import{b as a}from"./chunk-37I4AMCT.js";import"./chunk-JQTDNUHA.js";import"./chunk-ADBTOUOX.js";import"./chunk-CXPMA7LY.js";import"./chunk-UWBHR4EZ.js";import"./chunk-DPJLA7JW.js";import"./chunk-CW7BWFFF.js";import"./chunk-WHUQDBV7.js";import"./chunk-T5L65R23.js";import"./chunk-66KIIH6V.js";import"./chunk-NIA6VTIH.js";import"./chunk-2G2XD6EM.js";import"./chunk-XRF5MX4Q.js";import"./chunk-2BYRQ5MV.js";import"./chunk-P5CQMDFQ.js";import"./chunk-V6W4IHS5.js";import"./chunk-AJ45QR3K.js";import"./chunk-UX434RY5.js";import"./chunk-PHBGMXTR.js";import"./chunk-H4XZOIV6.js";import"./chunk-GTURQ454.js";import"./chunk-AXXFY7PX.js";import"./chunk-62F5M5OO.js";export{a as HeartbeatSchedulerWorker};
@@ -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.13.3");process.exit(0)}
2
- import{a,c as b}from"./chunk-H4XZOIV6.js";import"./chunk-GTURQ454.js";import"./chunk-AXXFY7PX.js";import"./chunk-62F5M5OO.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.13.3");process.exit(0)}
2
- import{a,b,c,d}from"./chunk-JG267MVB.js";import"./chunk-T5L65R23.js";import"./chunk-66KIIH6V.js";import"./chunk-AJ45QR3K.js";import"./chunk-H4XZOIV6.js";import"./chunk-GTURQ454.js";import"./chunk-AXXFY7PX.js";import"./chunk-62F5M5OO.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.13.3");process.exit(0)}
2
- import{d as a,e as b,f as c}from"./chunk-QP4UKSUJ.js";import"./chunk-ORXDKBZC.js";import"./chunk-6C3PDY72.js";import"./chunk-764G7VK6.js";import"./chunk-4RYU4WMW.js";import"./chunk-N3KQRDTM.js";import"./chunk-XRF5MX4Q.js";import"./chunk-FF53QW6C.js";import"./chunk-62F5M5OO.js";export{a as HybridRouter,b as createHybridRouter,c as createQERouter};
@@ -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.13.3");process.exit(0)}
2
- import{a}from"./chunk-22WFXSXB.js";import"./chunk-OU5CZFBG.js";import"./chunk-TW5QWNT4.js";import"./chunk-UOJ26GXD.js";import"./chunk-T5L65R23.js";import"./chunk-66KIIH6V.js";import"./chunk-2G2XD6EM.js";import"./chunk-ZU3XUBDQ.js";import"./chunk-XRF5MX4Q.js";import"./chunk-FF53QW6C.js";import"./chunk-62F5M5OO.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.13.3");process.exit(0)}
2
- import{a,b,c,d}from"./chunk-C7AXBCMS.js";import"./chunk-XRQGWUDX.js";import"./chunk-QFANYWC5.js";import"./chunk-X737I4SO.js";import"./chunk-3J2QITXC.js";import"./chunk-2G2XD6EM.js";import"./chunk-XRF5MX4Q.js";import"./chunk-2BYRQ5MV.js";import"./chunk-P5CQMDFQ.js";import"./chunk-62F5M5OO.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.13.3");process.exit(0)}
2
- import{A as b,z as a}from"./chunk-A6J5MAVO.js";import"./chunk-OD5R7HRI.js";import"./chunk-SJWTNKPY.js";import"./chunk-IH47VGC7.js";import"./chunk-33SPAMQZ.js";import"./chunk-N7IRBQ4D.js";import"./chunk-L4O2645U.js";import"./chunk-CVFUANMU.js";import"./chunk-LOZRBK2Z.js";import"./chunk-RMQRSZB4.js";import"./chunk-JBWXBDJX.js";import"./chunk-PS32DXYF.js";import"./chunk-QZS3XCU5.js";import"./chunk-NUPAGPN6.js";import"./chunk-VGWHFFK6.js";import"./chunk-ZIYCZZYD.js";import"./chunk-IZIYFVAZ.js";import"./chunk-3NML6POU.js";import"./chunk-7AHQ7ROU.js";import"./chunk-TNM7X2GD.js";import"./chunk-6I2L22WS.js";import"./chunk-BDOD534O.js";import"./chunk-X737I4SO.js";import"./chunk-22WFXSXB.js";import"./chunk-OU5CZFBG.js";import"./chunk-TW5QWNT4.js";import"./chunk-A547LEUW.js";import"./chunk-KBQRYAHZ.js";import"./chunk-HEF6XKA5.js";import"./chunk-2QKSIHXO.js";import"./chunk-2MLPO3RZ.js";import"./chunk-RWPWD5GG.js";import"./chunk-TK6CHESH.js";import"./chunk-LLQG3F4H.js";import"./chunk-KQFMCVBH.js";import"./chunk-RRHIEG4Y.js";import"./chunk-EEG4G5JG.js";import"./chunk-TRPRFW27.js";import"./chunk-HOIH542Y.js";import"./chunk-UOJ26GXD.js";import"./chunk-QP4UKSUJ.js";import"./chunk-ORXDKBZC.js";import"./chunk-6C3PDY72.js";import"./chunk-764G7VK6.js";import"./chunk-4RYU4WMW.js";import"./chunk-N3KQRDTM.js";import"./chunk-ZI7BWJJW.js";import"./chunk-JG267MVB.js";import"./chunk-GSG5FASF.js";import"./chunk-KQ5GLUOB.js";import"./chunk-UF7JKDWB.js";import"./chunk-5A5EC5RD.js";import"./chunk-GNCGRDQ2.js";import"./chunk-UWBHR4EZ.js";import"./chunk-QZ3EIONO.js";import"./chunk-7TG7LJAB.js";import"./chunk-ZLTAAROU.js";import"./chunk-64C4SS66.js";import"./chunk-SAMAYDVS.js";import"./chunk-VFZNVJP2.js";import"./chunk-U7DGRHSB.js";import"./chunk-LWPCGOQM.js";import"./chunk-5IH22DLD.js";import"./chunk-DPJLA7JW.js";import"./chunk-CW7BWFFF.js";import"./chunk-WHUQDBV7.js";import"./chunk-T5L65R23.js";import"./chunk-66KIIH6V.js";import"./chunk-NIA6VTIH.js";import"./chunk-2G2XD6EM.js";import"./chunk-WVWWTRKT.js";import"./chunk-PHGOMAIS.js";import"./chunk-46U73TST.js";import"./chunk-ZU3XUBDQ.js";import"./chunk-XRF5MX4Q.js";import"./chunk-FF53QW6C.js";import"./chunk-3CFWNT3F.js";import"./chunk-2BYRQ5MV.js";import"./chunk-P5CQMDFQ.js";import"./chunk-V6W4IHS5.js";import"./chunk-AJ45QR3K.js";import"./chunk-UX434RY5.js";import"./chunk-PHBGMXTR.js";import"./chunk-H4XZOIV6.js";import"./chunk-GTURQ454.js";import"./chunk-AXXFY7PX.js";import"./chunk-62F5M5OO.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.13.3");process.exit(0)}
2
- import{g as a}from"./chunk-OU5CZFBG.js";import"./chunk-TW5QWNT4.js";import"./chunk-UOJ26GXD.js";import"./chunk-T5L65R23.js";import"./chunk-66KIIH6V.js";import"./chunk-2G2XD6EM.js";import"./chunk-ZU3XUBDQ.js";import"./chunk-XRF5MX4Q.js";import"./chunk-62F5M5OO.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.13.3");process.exit(0)}
2
- import{a,b,c}from"./chunk-KQFMCVBH.js";import"./chunk-RRHIEG4Y.js";import"./chunk-EEG4G5JG.js";import"./chunk-TRPRFW27.js";import"./chunk-HOIH542Y.js";import"./chunk-UOJ26GXD.js";import"./chunk-QP4UKSUJ.js";import"./chunk-ORXDKBZC.js";import"./chunk-6C3PDY72.js";import"./chunk-764G7VK6.js";import"./chunk-4RYU4WMW.js";import"./chunk-N3KQRDTM.js";import"./chunk-DPJLA7JW.js";import"./chunk-CW7BWFFF.js";import"./chunk-WHUQDBV7.js";import"./chunk-T5L65R23.js";import"./chunk-66KIIH6V.js";import"./chunk-NIA6VTIH.js";import"./chunk-2G2XD6EM.js";import"./chunk-XRF5MX4Q.js";import"./chunk-FF53QW6C.js";import"./chunk-2BYRQ5MV.js";import"./chunk-P5CQMDFQ.js";import"./chunk-V6W4IHS5.js";import"./chunk-AJ45QR3K.js";import"./chunk-UX434RY5.js";import"./chunk-PHBGMXTR.js";import"./chunk-H4XZOIV6.js";import"./chunk-GTURQ454.js";import"./chunk-AXXFY7PX.js";import"./chunk-62F5M5OO.js";export{a as createLLMRouterService,b as pickEnabledProviders,c as pickPrimaryAndFallbacks};
@@ -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.13.3");process.exit(0)}
2
- import{a}from"./chunk-JLFU5SCI.js";import"./chunk-M7XDTQHX.js";import"./chunk-7AHQ7ROU.js";import"./chunk-DPJLA7JW.js";import"./chunk-CW7BWFFF.js";import"./chunk-WHUQDBV7.js";import"./chunk-T5L65R23.js";import"./chunk-66KIIH6V.js";import"./chunk-NIA6VTIH.js";import"./chunk-2G2XD6EM.js";import"./chunk-XRF5MX4Q.js";import"./chunk-FF53QW6C.js";import"./chunk-3CFWNT3F.js";import"./chunk-2BYRQ5MV.js";import"./chunk-P5CQMDFQ.js";import"./chunk-V6W4IHS5.js";import"./chunk-AJ45QR3K.js";import"./chunk-UX434RY5.js";import"./chunk-PHBGMXTR.js";import"./chunk-H4XZOIV6.js";import"./chunk-GTURQ454.js";import"./chunk-AXXFY7PX.js";import"./chunk-62F5M5OO.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.13.3");process.exit(0)}
2
- import{a}from"./chunk-3CFWNT3F.js";import"./chunk-UX434RY5.js";import"./chunk-PHBGMXTR.js";import"./chunk-62F5M5OO.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.13.3");process.exit(0)}
2
- import{a}from"./chunk-ZLTAAROU.js";import"./chunk-WHUQDBV7.js";import"./chunk-FF53QW6C.js";import"./chunk-62F5M5OO.js";export{a as PatternNullStore};
@@ -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.13.3");process.exit(0)}
2
- import{a as u}from"./chunk-QGJYKXUO.js";import{a as y,c as w}from"./chunk-XRF5MX4Q.js";import{b as $}from"./chunk-62F5M5OO.js";import{Command as v}from"commander";import o from"chalk";import{existsSync as d,readFileSync as P}from"node:fs";import m from"node:path";w();var C=$({});var p=Object.keys(u);function h(s){return p.includes(s)}function x(s,e){let t=m.join(s,e.configPath),n=m.join(s,e.rulesPath);return{configExists:d(t),rulesExists:d(n)}}function E(s,e){try{let t=P(s,"utf-8");return e==="json"?{valid:!0,data:JSON.parse(t)}:e==="toml"?t.trim().length===0?{valid:!1,error:"File is empty"}:{valid:!0}:e==="yaml"?t.trim().length===0?{valid:!1,error:"File is empty"}:{valid:!0}:{valid:!0}}catch(t){return{valid:!1,error:y(t)}}}function I(s,e){try{return P(s,"utf-8").includes("agentic-qe")}catch{return!1}}function j(){let s=new v("platform").description("Manage coding agent platform configurations");return s.command("list").description("List all supported platforms and their configuration status").action(async()=>{let e=process.cwd();console.log(""),console.log(o.bold.blue(" Supported Platforms")),console.log(o.gray(" \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500")),console.log("");let t=18,n=36,r=14;console.log(o.gray(` ${"Platform".padEnd(t)}${"Config Path".padEnd(n)}${"Status".padEnd(r)}`)),console.log(o.gray(` ${"\u2500".repeat(t+n+r)}`));for(let l of p){let f=u[l],{configExists:c,rulesExists:a}=x(e,f),i=c&&a?o.green("configured"):c||a?o.yellow("partial"):o.gray("not configured");console.log(` ${o.white(f.name.padEnd(t))}${o.gray(f.configPath.padEnd(n))}${i}`)}console.log(""),console.log(o.gray(' Use "aqe platform setup <name>" to configure a platform')),console.log(o.gray(' Use "aqe init --with-all-platforms" to configure all at once')),console.log("")}),s.command("setup <name>").description("Set up a specific platform configuration").option("--overwrite","Overwrite existing configuration files").action(async(e,t)=>{let n=process.cwd();h(e)||(console.log(""),console.log(o.red(` Unknown platform: ${e}`)),console.log(o.gray(` Valid platforms: ${p.join(", ")}`)),console.log(""),process.exit(1));let r=u[e];console.log(""),console.log(o.bold.blue(` Setting up ${r.name}`)),console.log(o.gray(" \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500")),console.log("");try{let l=await C(`../../init/${e}-installer.js`),c=[`create${e.charAt(0).toUpperCase()}${e.slice(1).replace(/([a-z])([A-Z])/g,"$1$2")}Installer`,`create${R(e)}Installer`],a;for(let i of c)if(typeof l[i]=="function"){a=l[i];break}if(!a){for(let i of Object.keys(l))if(i.startsWith("create")&&i.endsWith("Installer")&&typeof l[i]=="function"){a=l[i];break}}a||(console.log(o.red(` Could not find installer factory for ${e}`)),process.exit(1));let g=await a({projectRoot:n,overwrite:t.overwrite}).install();if(g.success)console.log(o.green(` ${r.name} configured successfully`)),g.mcpConfigured&&console.log(o.gray(` MCP config: ${r.configPath}`)),g.rulesInstalled&&console.log(o.gray(` Rules: ${r.rulesPath}`));else if(console.log(o.red(` ${r.name} setup failed`)),g.errors)for(let i of g.errors)console.log(o.red(` ${i}`))}catch(l){console.log(o.red(` Failed to set up ${r.name}: ${y(l)}`))}console.log("")}),s.command("verify <name>").description("Verify a platform configuration is correct").action(async e=>{let t=process.cwd();h(e)||(console.log(""),console.log(o.red(` Unknown platform: ${e}`)),console.log(o.gray(` Valid platforms: ${p.join(", ")}`)),console.log(""),process.exit(1));let n=u[e];console.log(""),console.log(o.bold.blue(` Verifying ${n.name}`)),console.log(o.gray(" \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500")),console.log("");let r=!0,l=m.join(t,n.configPath);if(d(l)?console.log(o.green(` [pass] Config file exists: ${n.configPath}`)):(console.log(o.red(` [fail] Config file missing: ${n.configPath}`)),r=!1),d(l)){let c=E(l,n.configFormat);c.valid?console.log(o.green(` [pass] Config file is valid ${n.configFormat.toUpperCase()}`)):(console.log(o.red(` [fail] Config file is invalid: ${c.error}`)),r=!1),I(l,n)?console.log(o.green(" [pass] Config contains agentic-qe entry")):(console.log(o.red(" [fail] Config does not contain agentic-qe entry")),r=!1)}let f=m.join(t,n.rulesPath);d(f)?console.log(o.green(` [pass] Rules file exists: ${n.rulesPath}`)):(console.log(o.red(` [fail] Rules file missing: ${n.rulesPath}`)),r=!1),console.log(""),r?console.log(o.green(` ${n.name} configuration is valid`)):(console.log(o.yellow(` ${n.name} configuration has issues`)),console.log(o.gray(` Run "aqe platform setup ${e}" to fix`))),console.log("")}),s}function R(s){return s.charAt(0).toUpperCase()+s.slice(1)}var V=j;export{j as createPlatformCommand,V 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.13.3");process.exit(0)}
2
- import{a,b}from"./chunk-EMH54CO7.js";import"./chunk-JBWXBDJX.js";import"./chunk-RWPWD5GG.js";import"./chunk-ZU3XUBDQ.js";import"./chunk-XRF5MX4Q.js";import"./chunk-FF53QW6C.js";import"./chunk-62F5M5OO.js";export{a as DefaultProtocolExecutor,b as createProtocolExecutor};