agentic-qe 3.13.12 → 3.14.1
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.
- package/.claude/helpers/brain-checkpoint.cjs +2 -1
- package/.claude/helpers/validate-v3-config.sh +6 -5
- package/.claude/hooks/aqe-hook.cjs +14 -14
- package/.claude/skills/qe-browser/evals/qe-browser.yaml +30 -41
- package/.claude/skills/qe-browser/fixtures/serve-skills.js +37 -0
- package/.claude/skills/qe-browser/scripts/lib/vibium.js +1 -1
- package/.claude/skills/qe-browser/scripts/smoke-test.sh +56 -25
- package/.claude/skills/qe-browser/scripts/visual-diff.js +24 -15
- package/.claude/skills/qe-court/SKILL.md +4 -4
- package/.claude/skills/qe-court/config-schema.json +38 -0
- package/.claude/skills/qe-court/evals/qe-court.yaml +8 -8
- package/.claude/skills/skills-manifest.json +1 -1
- package/CHANGELOG.md +130 -0
- package/assets/skills/qe-browser/evals/qe-browser.yaml +30 -41
- package/assets/skills/qe-browser/fixtures/serve-skills.js +37 -0
- package/assets/skills/qe-browser/scripts/lib/vibium.js +1 -1
- package/assets/skills/qe-browser/scripts/smoke-test.sh +56 -25
- package/assets/skills/qe-browser/scripts/visual-diff.js +24 -15
- package/assets/skills/qe-court/SKILL.md +4 -4
- package/assets/skills/qe-court/config-schema.json +38 -0
- package/assets/skills/qe-court/evals/qe-court.yaml +8 -8
- package/assets/skills/skills-manifest.json +1 -1
- package/dist/cli/brain-commands.d.ts +1 -0
- package/dist/cli/brain-commands.js +1 -0
- package/dist/cli/bundle.js +7 -7
- package/dist/cli/chunks/adapter-I2N7PEKG.js +2 -0
- package/dist/cli/chunks/{agent-booster-wasm-7I7LZFNC.js → agent-booster-wasm-OY5Y2CUM.js} +2 -2
- package/dist/cli/chunks/{agent-handler-QZZT52BH.js → agent-handler-TUOH55LD.js} +2 -2
- package/dist/cli/chunks/{agent-memory-branch-MLQS5Y26.js → agent-memory-branch-XM3IYKT3.js} +2 -2
- package/dist/cli/chunks/aqe-learning-engine-U4ALUH6A.js +2 -0
- package/dist/cli/chunks/{arena-WRIY37EJ.js → arena-DOCLIEBL.js} +4 -4
- package/dist/cli/chunks/{arena-IM4CP6LP.js → arena-UMFJZKG7.js} +2 -2
- package/dist/cli/chunks/{audit-BSAQ4EFN.js → audit-KZLU5VLW.js} +3 -3
- package/dist/cli/chunks/base-RCYIBNHM.js +2 -0
- package/dist/cli/chunks/{better-sqlite3-X2XZUXWZ.js → better-sqlite3-MIEZBNUI.js} +2 -2
- package/dist/cli/chunks/brain-handler-6PZN46B7.js +90 -0
- package/dist/cli/chunks/{branch-enumerator-NI4Q7DSJ.js → branch-enumerator-XCETHA4F.js} +2 -2
- package/dist/cli/chunks/{browser-PXBLORUZ.js → browser-UEXISDCJ.js} +2 -2
- package/dist/cli/chunks/browser-workflow-L6TDB5O5.js +2 -0
- package/dist/cli/chunks/{chunk-5PNQNBDZ.js → chunk-3AYNHOWS.js} +1 -1
- package/dist/cli/chunks/{chunk-NL2SCAGJ.js → chunk-3BRR2FLH.js} +3 -3
- package/dist/cli/chunks/chunk-3FFMUB3B.js +14 -0
- package/dist/cli/chunks/{chunk-GJJWXRAD.js → chunk-3JMSXOU4.js} +2 -2
- package/dist/cli/chunks/{chunk-MB2KLJ6Q.js → chunk-3TMUCJNJ.js} +1 -1
- package/dist/cli/chunks/{chunk-JVFZAJ5N.js → chunk-3WSH4HD2.js} +2 -2
- package/dist/cli/chunks/{chunk-SCQNISGS.js → chunk-3XRXUVUI.js} +1 -1
- package/dist/cli/chunks/{chunk-Z56BBX77.js → chunk-45S5553E.js} +2 -2
- package/dist/cli/chunks/{chunk-6BSZHNOC.js → chunk-4MT62HKK.js} +1 -1
- package/dist/cli/chunks/{chunk-PVINNJ4P.js → chunk-4ZLFUO4I.js} +2 -2
- package/dist/cli/chunks/{chunk-MYVKTG55.js → chunk-5F5V4QYU.js} +3 -3
- package/dist/cli/chunks/{chunk-2W3D5A4R.js → chunk-5KP62DC3.js} +2 -2
- package/dist/cli/chunks/{chunk-BODFJ3DC.js → chunk-5NSSJUWW.js} +2 -2
- package/dist/cli/chunks/{chunk-KXSUDN46.js → chunk-5T6PAUZD.js} +1 -1
- package/dist/cli/chunks/{chunk-7ZVO7I4Q.js → chunk-5TYGSQOL.js} +1 -1
- package/dist/cli/chunks/{chunk-M7CPJW53.js → chunk-5Y2QFSVZ.js} +2 -2
- package/dist/cli/chunks/{chunk-VQD2ELNL.js → chunk-6B77GPWL.js} +2 -2
- package/dist/cli/chunks/{chunk-GJUGG6UR.js → chunk-6DDMHZWH.js} +2 -2
- package/dist/cli/chunks/{chunk-IPZEBALY.js → chunk-6HMNN2Y2.js} +54 -54
- package/dist/cli/chunks/{chunk-M73KM3AZ.js → chunk-6YIMLUH6.js} +160 -26
- package/dist/cli/chunks/{chunk-UBOGJHWC.js → chunk-6Z6Y3YBX.js} +1 -1
- package/dist/cli/chunks/{chunk-M3354CE4.js → chunk-75SC3GEX.js} +2 -2
- package/dist/cli/chunks/{chunk-TJVTV3HP.js → chunk-7AF55H2D.js} +2 -2
- package/dist/cli/chunks/{chunk-3XVZHJQT.js → chunk-7AYTM426.js} +1 -1
- package/dist/cli/chunks/{chunk-U5G6OC2C.js → chunk-7GF6IRSU.js} +2 -2
- package/dist/cli/chunks/{chunk-LRO74LPA.js → chunk-7XL2D56F.js} +4 -4
- package/dist/cli/chunks/{chunk-MGKH4LCM.js → chunk-A6RB34Y6.js} +1 -1
- package/dist/cli/chunks/{chunk-X2SZCVDA.js → chunk-AESYVAPH.js} +8 -7
- package/dist/cli/chunks/{chunk-3ASVQILY.js → chunk-AZUC7E5S.js} +2 -2
- package/dist/cli/chunks/{chunk-R7LGVJMZ.js → chunk-B6Y6AF4M.js} +2 -2
- package/dist/cli/chunks/chunk-C3XNFIOM.js +2 -0
- package/dist/cli/chunks/{chunk-ZSAGRDXA.js → chunk-CBWF42ET.js} +2 -2
- package/dist/cli/chunks/{chunk-VNODKACB.js → chunk-CCZZZBAO.js} +2 -2
- package/dist/cli/chunks/{chunk-5E76HULA.js → chunk-CGDW47WP.js} +2 -2
- package/dist/cli/chunks/chunk-CGZ7LTUK.js +2 -0
- package/dist/cli/chunks/{chunk-6KI6LAAZ.js → chunk-D6RCRTTR.js} +2 -2
- package/dist/cli/chunks/{chunk-TB2N3CAK.js → chunk-DFXQLHQM.js} +2 -2
- package/dist/cli/chunks/chunk-DKSLJZVA.js +2 -0
- package/dist/cli/chunks/{chunk-JTYCOFTD.js → chunk-DKUKGBJE.js} +1 -1
- package/dist/cli/chunks/{chunk-AN5CGTTJ.js → chunk-DKXSJDII.js} +2 -2
- package/dist/cli/chunks/chunk-EEJP3WTQ.js +4 -0
- package/dist/cli/chunks/{chunk-ZMYV4R32.js → chunk-EHW62JL2.js} +1 -1
- package/dist/cli/chunks/{chunk-WYFAPA2G.js → chunk-EPBWFTHH.js} +2 -2
- package/dist/cli/chunks/{chunk-P6EFKHNI.js → chunk-ERTGGFXZ.js} +2 -2
- package/dist/cli/chunks/{chunk-G45AOQDZ.js → chunk-F7TRO2OM.js} +1 -1
- package/dist/cli/chunks/{chunk-XT473WPO.js → chunk-FFRKTZYP.js} +2 -2
- package/dist/cli/chunks/{chunk-5VSS2RBD.js → chunk-FH7SCX2I.js} +2 -2
- package/dist/cli/chunks/{chunk-44NPKZGI.js → chunk-FHBGALBG.js} +2 -2
- package/dist/cli/chunks/{chunk-NTALX2YC.js → chunk-FOAFRC2W.js} +2 -2
- package/dist/cli/chunks/{chunk-7LATB5IR.js → chunk-FPBQ7BXU.js} +2 -2
- package/dist/cli/chunks/{chunk-AKUDUB3O.js → chunk-FRRRDCXY.js} +2 -2
- package/dist/cli/chunks/{chunk-NG6A7LCG.js → chunk-FZ47ZCRL.js} +1 -1
- package/dist/cli/chunks/{chunk-VD53LBF7.js → chunk-GH3NJOTC.js} +3 -3
- package/dist/cli/chunks/{chunk-NDRZZSD5.js → chunk-GO66DCIZ.js} +2 -2
- package/dist/cli/chunks/{chunk-Z6DSYLAG.js → chunk-GRVR3Y6I.js} +1 -1
- package/dist/cli/chunks/chunk-GYTWUOKU.js +65 -0
- package/dist/cli/chunks/{chunk-6KKVMPPR.js → chunk-H2DX36SC.js} +2 -2
- package/dist/cli/chunks/{chunk-NJ3QXJ54.js → chunk-H5LSXVWY.js} +2 -2
- package/dist/cli/chunks/{chunk-HQWFZQMJ.js → chunk-HBAQVJDP.js} +2 -2
- package/dist/cli/chunks/{chunk-33YZGOT6.js → chunk-HCCILQGN.js} +2 -2
- package/dist/cli/chunks/{chunk-KRZYWVS3.js → chunk-HJD52N32.js} +2 -2
- package/dist/cli/chunks/{chunk-IPDM3CAK.js → chunk-HKU5PPS7.js} +1 -1
- package/dist/cli/chunks/{chunk-7RVLVIAI.js → chunk-HPQU6XZH.js} +1 -1
- package/dist/cli/chunks/{chunk-TWUWLSGQ.js → chunk-HRUQWABO.js} +10 -10
- package/dist/cli/chunks/{chunk-HAJG44BD.js → chunk-IGRTQ6VT.js} +2 -2
- package/dist/cli/chunks/{chunk-WXU7FAEB.js → chunk-IIBXGHZT.js} +2 -2
- package/dist/cli/chunks/{chunk-QG5L2JM5.js → chunk-IYB3GRXF.js} +10 -10
- package/dist/cli/chunks/{chunk-NNLZAVFH.js → chunk-IYIMLLUV.js} +1 -1
- package/dist/cli/chunks/{chunk-SXFSJJZF.js → chunk-J2VF7ZO7.js} +2 -2
- package/dist/cli/chunks/{chunk-4FVOJBEU.js → chunk-J33LKXVH.js} +1 -1
- package/dist/cli/chunks/{chunk-IOJ34SXJ.js → chunk-J7VAD4RG.js} +2 -2
- package/dist/cli/chunks/{chunk-VQCLSX7T.js → chunk-JJ4GUO4K.js} +1 -1
- package/dist/cli/chunks/{chunk-QM4Z7TQH.js → chunk-JMULRLD4.js} +1 -1
- package/dist/cli/chunks/{chunk-LXVT6JXO.js → chunk-JNSTKE3K.js} +2 -2
- package/dist/cli/chunks/{chunk-SOS37ECY.js → chunk-JZUWPDVS.js} +1 -1
- package/dist/cli/chunks/chunk-KHUO4NCW.js +11 -0
- package/dist/cli/chunks/chunk-KXMW7XTJ.js +2 -0
- package/dist/cli/chunks/{chunk-4AITMWFZ.js → chunk-KXTN3FR4.js} +2 -2
- package/dist/cli/chunks/{chunk-4Z4X2ND4.js → chunk-L4WATX6B.js} +2 -2
- package/dist/cli/chunks/{chunk-GMLRIZ4E.js → chunk-L66BWYQH.js} +1 -1
- package/dist/cli/chunks/{chunk-52VGZJSD.js → chunk-LJ63HPPN.js} +1 -1
- package/dist/cli/chunks/{chunk-WE3VKDMK.js → chunk-LMPK63PO.js} +3 -3
- package/dist/cli/chunks/{chunk-S6WHYOWV.js → chunk-LQDFWLKK.js} +27 -25
- package/dist/cli/chunks/{chunk-EG73WYAW.js → chunk-LSXQPMPI.js} +2 -2
- package/dist/cli/chunks/{chunk-NJ4YVAG7.js → chunk-MDLLEUFN.js} +3 -3
- package/dist/cli/chunks/{chunk-YQOQVSYU.js → chunk-MFAN5W27.js} +1 -1
- package/dist/cli/chunks/{chunk-A5RWLPVT.js → chunk-MZ2PJUN6.js} +2 -2
- package/dist/cli/chunks/{chunk-HRTSYT4N.js → chunk-N22LMACN.js} +2 -2
- package/dist/cli/chunks/{chunk-L3GBNX7B.js → chunk-NAJCQJSK.js} +2 -2
- package/dist/cli/chunks/{chunk-XM5I7J5S.js → chunk-ND6JBUVH.js} +2 -2
- package/dist/cli/chunks/{chunk-YL2GOJF6.js → chunk-NEEZ6M4W.js} +2 -2
- package/dist/cli/chunks/{chunk-DGFINXUE.js → chunk-NNJ63W77.js} +1 -1
- package/dist/cli/chunks/{chunk-G6FJHDUG.js → chunk-O7KF3GBV.js} +1 -1
- package/dist/cli/chunks/{chunk-RP2BRRLX.js → chunk-OBKMLOHU.js} +2 -2
- package/dist/cli/chunks/{chunk-AOOCV56W.js → chunk-OBLHI4HA.js} +1 -1
- package/dist/cli/chunks/{chunk-OZ53BIY5.js → chunk-ODNLKYOM.js} +1 -1
- package/dist/cli/chunks/{chunk-VBHA4SDU.js → chunk-PMREFRPP.js} +2 -2
- package/dist/cli/chunks/{chunk-ASWWBNX2.js → chunk-PMUF7WU6.js} +2 -2
- package/dist/cli/chunks/{chunk-I5SXLV7D.js → chunk-PS5NIMWJ.js} +2 -2
- package/dist/cli/chunks/chunk-PS6Y662P.js +13 -0
- package/dist/cli/chunks/{chunk-N4OQ4D4V.js → chunk-PYAH4K2U.js} +2 -2
- package/dist/cli/chunks/{chunk-H3GAR4SV.js → chunk-PZZX57ZA.js} +2 -2
- package/dist/cli/chunks/chunk-QAE4BOIV.js +2 -0
- package/dist/cli/chunks/{chunk-7A4WTRWI.js → chunk-QIY43XQJ.js} +1 -1
- package/dist/cli/chunks/{chunk-MLXLGBQZ.js → chunk-QM6EJHP5.js} +1 -1
- package/dist/cli/chunks/{chunk-4ANJV6I4.js → chunk-QMTBWHGR.js} +3 -3
- package/dist/cli/chunks/{chunk-IT5QIUUA.js → chunk-RCHDSUVU.js} +2 -2
- package/dist/cli/chunks/{chunk-AYH3DMW2.js → chunk-RUEHSOE6.js} +1 -1
- package/dist/cli/chunks/{chunk-DCVFHVPR.js → chunk-RVCMZUSJ.js} +2 -2
- package/dist/cli/chunks/{chunk-2JAC57JE.js → chunk-RXHI6CKK.js} +1 -1
- package/dist/cli/chunks/{chunk-QXO35J6F.js → chunk-RXPHQ4ZE.js} +2 -2
- package/dist/cli/chunks/{chunk-FI6J3UHJ.js → chunk-RYHCYTFE.js} +1 -1
- package/dist/cli/chunks/{chunk-DFLASG3B.js → chunk-S4WIAKPL.js} +1 -1
- package/dist/cli/chunks/{chunk-2VY7FL6A.js → chunk-S53ZUAVI.js} +2 -2
- package/dist/cli/chunks/{chunk-4M7YZ2X7.js → chunk-SEKOMKNG.js} +1 -1
- package/dist/cli/chunks/{chunk-UC4EIULB.js → chunk-SZRDEPUY.js} +19 -19
- package/dist/cli/chunks/chunk-T7XYQX5G.js +24 -0
- package/dist/cli/chunks/{chunk-OG3DBHIV.js → chunk-TF33GKWA.js} +2 -2
- package/dist/cli/chunks/{chunk-2VTX4SYW.js → chunk-TGFJUL6M.js} +2 -2
- package/dist/cli/chunks/{chunk-4THFPRFM.js → chunk-TLD727EF.js} +2 -2
- package/dist/cli/chunks/{chunk-7PCIN7UN.js → chunk-TQ2JZVZ3.js} +2 -2
- package/dist/cli/chunks/{chunk-UWZYXI3R.js → chunk-TT7DF2GX.js} +2 -2
- package/dist/cli/chunks/{chunk-X3JNFQW2.js → chunk-UCJEAK7D.js} +2 -2
- package/dist/cli/chunks/{chunk-AM42ROKZ.js → chunk-UN7EHLRV.js} +1 -1
- package/dist/cli/chunks/{chunk-42AS3HPO.js → chunk-UUE5CBZQ.js} +2 -2
- package/dist/cli/chunks/{chunk-E67ZXRG6.js → chunk-UWRMPRY5.js} +1 -1
- package/dist/cli/chunks/{chunk-4YFXF5AQ.js → chunk-VEWYUEVY.js} +5 -5
- package/dist/cli/chunks/{chunk-UJUK6T4V.js → chunk-VUXHJPUS.js} +2 -2
- package/dist/cli/chunks/{chunk-VA2ORJB5.js → chunk-VVP2ROXD.js} +2 -2
- package/dist/cli/chunks/{chunk-BZIPYXSW.js → chunk-WFJKLM6Z.js} +3 -3
- package/dist/cli/chunks/{chunk-MLFELTJX.js → chunk-X5G3UDWP.js} +2 -2
- package/dist/cli/chunks/{chunk-IQH2RDN3.js → chunk-Y63V33M6.js} +5 -5
- package/dist/cli/chunks/{chunk-XIKYUBIV.js → chunk-YXN47QOI.js} +2 -2
- package/dist/cli/chunks/{chunk-RP5VFZJO.js → chunk-Z5YU2TDS.js} +2 -2
- package/dist/cli/chunks/{chunk-KYJBJ56M.js → chunk-ZAHCVRR7.js} +2 -2
- package/dist/cli/chunks/{chunk-66OQ7AB3.js → chunk-ZC3HC6FO.js} +1 -1
- package/dist/cli/chunks/{ci-QAUD62WH.js → ci-Q2VX75PS.js} +2 -2
- package/dist/cli/chunks/{ci-output-TZDVTNE7.js → ci-output-MD5GTVR2.js} +2 -2
- package/dist/cli/chunks/{circuit-breaker-ZWPHJ7YJ.js → circuit-breaker-JMRLG2XI.js} +2 -2
- package/dist/cli/chunks/{claude-flow-setup-SCB4EURN.js → claude-flow-setup-IMXYALBU.js} +2 -2
- package/dist/cli/chunks/client-L4PIXCGV.js +2 -0
- package/dist/cli/chunks/{cline-installer-EHZLMLXF.js → cline-installer-HWFASEGE.js} +2 -2
- package/dist/cli/chunks/{code-3N6PBJMK.js → code-3V37TCAD.js} +2 -2
- package/dist/cli/chunks/{code-index-extractor-6DIKHNRI.js → code-index-extractor-5V54WGFL.js} +2 -2
- package/dist/cli/chunks/codex-installer-UCA5AVE6.js +14 -0
- package/dist/cli/chunks/{completions-5MKWWCCE.js → completions-2DMRCQU6.js} +2 -2
- package/dist/cli/chunks/{complexity-analyzer-TPM4IPEK.js → complexity-analyzer-MMQRXBTD.js} +2 -2
- package/dist/cli/chunks/{continuedev-installer-VXODKGVX.js → continuedev-installer-FAARXP3S.js} +2 -2
- package/dist/cli/chunks/{copilot-installer-PVD5O56P.js → copilot-installer-AKQALMB5.js} +2 -2
- package/dist/cli/chunks/core-handlers-KROSXP4V.js +2 -0
- package/dist/cli/chunks/{cost-tracker-JOMZEQF3.js → cost-tracker-AXWHDND5.js} +2 -2
- package/dist/cli/chunks/{coverage-HTXLEV3B.js → coverage-ZLSKKCG5.js} +3 -3
- package/dist/cli/chunks/cross-domain-router-WMTYBOON.js +2 -0
- package/dist/cli/chunks/{cursor-installer-SHKDTDDZ.js → cursor-installer-UALCQKVD.js} +2 -2
- package/dist/cli/chunks/{daemon-FCFEWVVJ.js → daemon-4LNOPJGN.js} +3 -3
- package/dist/cli/chunks/{daemon-PN4FEPLE.js → daemon-K3DFGCXC.js} +4 -4
- package/dist/cli/chunks/{dag-attention-scheduler-PLOHU5SR.js → dag-attention-scheduler-LCQ7MYKC.js} +2 -2
- package/dist/cli/chunks/{detect-F3H4ZEZY.js → detect-P7PEN3MZ.js} +2 -2
- package/dist/cli/chunks/{dist-node-5TC665N6.js → dist-node-I72BJC2D.js} +2 -2
- package/dist/cli/chunks/{domain-handler-ZIWVFXCU.js → domain-handler-LROF6KWN.js} +2 -2
- package/dist/cli/chunks/{domain-transfer-7Q5JYMYR.js → domain-transfer-M2ZSSTPV.js} +2 -2
- package/dist/cli/chunks/dream-AV63YQ2Y.js +2 -0
- package/dist/cli/chunks/embed-and-insert-pattern-MTBPUGO4.js +3 -0
- package/dist/cli/chunks/{eval-E2K2T75A.js → eval-O24ALB3W.js} +2 -2
- package/dist/cli/chunks/{experience-capture-middleware-Z5SE2O53.js → experience-capture-middleware-7JXEOGRE.js} +3 -3
- package/dist/cli/chunks/{fast-paths-3H52RSUK.js → fast-paths-4CFYJV4U.js} +2 -2
- package/dist/cli/chunks/{feature-flags-ONIKUZVK.js → feature-flags-CHPUA7IM.js} +2 -2
- package/dist/cli/chunks/{feature-flags-LUHSMHPS.js → feature-flags-E6PIM6ZB.js} +2 -2
- package/dist/cli/chunks/{file-discovery-FLYSYSS4.js → file-discovery-2ANIAUCP.js} +2 -2
- package/dist/cli/chunks/{fleet-6OJUAAKV.js → fleet-2MQ3OGCP.js} +3 -3
- package/dist/cli/chunks/{gnn-wrapper-PUL6B7KZ.js → gnn-wrapper-P7JW3622.js} +2 -2
- package/dist/cli/chunks/{heartbeat-handler-HGHHDUDY.js → heartbeat-handler-WWWZSA7V.js} +4 -4
- package/dist/cli/chunks/heartbeat-scheduler-5IZUGMC2.js +2 -0
- package/dist/cli/chunks/hnsw-adapter-NV2NNBJL.js +2 -0
- package/dist/cli/chunks/hnsw-index-GRJ3KA2O.js +2 -0
- package/dist/cli/chunks/{hnsw-legacy-bridge-NDZSNMYX.js → hnsw-legacy-bridge-W634ZOTV.js} +2 -2
- package/dist/cli/chunks/{hnswlib-node-PISLKSO2.js → hnswlib-node-SLZDLMKM.js} +2 -2
- package/dist/cli/chunks/{hooks-WYG54MRI.js → hooks-3BFAZGG7.js} +10 -10
- package/dist/cli/chunks/{hypergraph-engine-EDHKHZZ2.js → hypergraph-engine-XJSGXP2J.js} +2 -2
- package/dist/cli/chunks/{hypergraph-handler-OCHZAPPL.js → hypergraph-handler-RVUWZMOX.js} +3 -3
- package/dist/cli/chunks/impact-analyzer-YM4QUWVH.js +2 -0
- package/dist/cli/chunks/{init-handler-5TCJ672H.js → init-handler-FYOZNNNO.js} +9 -8
- package/dist/cli/chunks/init-wizard-YESXGIK6.js +2 -0
- package/dist/cli/chunks/kernel-VH5SKESU.js +2 -0
- package/dist/cli/chunks/{kilocode-installer-SWUQRCTZ.js → kilocode-installer-MAAKFVSB.js} +2 -2
- package/dist/cli/chunks/{kiro-installer-L22EBAM5.js → kiro-installer-GX3TLZC5.js} +2 -2
- package/dist/cli/chunks/knowledge-graph-F3NL4WJV.js +2 -0
- package/dist/cli/chunks/learning-T4QZ6C26.js +122 -0
- package/dist/cli/chunks/{llm-router-F2L4LFT2.js → llm-router-N2M4WXOC.js} +14 -14
- package/dist/cli/chunks/llm-router-service-HQYCJMPK.js +2 -0
- package/dist/cli/chunks/{load-A4ZF2KHC.js → load-6RU3G4P2.js} +2 -2
- package/dist/cli/chunks/load-test-GWRGKWMN.js +2 -0
- package/dist/cli/chunks/{mcp-T2Z46NNK.js → mcp-EFBO7BAU.js} +2 -2
- package/dist/cli/chunks/{memory-PUC3J6XC.js → memory-AXU2M3DN.js} +5 -5
- package/dist/cli/chunks/memory-backend-7A2PFKPV.js +2 -0
- package/dist/cli/chunks/memory-handlers-65CXN76C.js +2 -0
- package/dist/cli/chunks/{multi-model-executor-U5L4FI4O.js → multi-model-executor-W7AFGVNH.js} +2 -2
- package/dist/cli/chunks/{opencode-installer-UWI6KHYH.js → opencode-installer-KJE2RLCH.js} +2 -2
- package/dist/cli/chunks/{orchestrator-3BEI7R5D.js → orchestrator-CL6MLGVU.js} +22 -24
- package/dist/cli/chunks/pattern-null-store-K2WPRYCP.js +2 -0
- package/dist/cli/chunks/{pattern-usage-recorder-EGWUI5LU.js → pattern-usage-recorder-7SNSJ7K2.js} +2 -2
- package/dist/cli/chunks/{pipeline-JG6M4RHD.js → pipeline-3UU6ON3F.js} +2 -2
- package/dist/cli/chunks/platform-SNMPIDIT.js +2 -0
- package/dist/cli/chunks/{plugin-EEGN3PMK.js → plugin-65IIUUCU.js} +2 -2
- package/dist/cli/chunks/{prime-radiant-advanced-wasm-7KZAINFT.js → prime-radiant-advanced-wasm-WWWJRLRP.js} +2 -2
- package/dist/cli/chunks/protocol-executor-TJDLEHND.js +2 -0
- package/dist/cli/chunks/{protocol-handler-UCEHYK2R.js → protocol-handler-SEBHCLLJ.js} +2 -2
- package/dist/cli/chunks/{prove-JSNG75VD.js → prove-N4X7CCJ4.js} +2 -2
- package/dist/cli/chunks/qe-reasoning-bank-CGRMFPDM.js +2 -0
- package/dist/cli/chunks/{quality-7SRM2HBM.js → quality-LBCJWXMU.js} +2 -2
- package/dist/cli/chunks/quality-gate-KZIQI7QT.js +7 -0
- package/dist/cli/chunks/queen-coordinator-FKP6QZAQ.js +2 -0
- package/dist/cli/chunks/real-embeddings-XCZFHFME.js +2 -0
- package/dist/cli/chunks/{roocode-installer-UYQK64BZ.js → roocode-installer-P3O6B7PT.js} +2 -2
- package/dist/cli/chunks/router-KZ5BISAM.js +2 -0
- package/dist/cli/chunks/routing-feedback-O4Y5TTR6.js +2 -0
- package/dist/cli/chunks/{routing-handler-PY3KPDTH.js → routing-handler-OXZ4DOV4.js} +2 -2
- package/dist/cli/chunks/{ruvector-commands-GCAOUTYS.js → ruvector-commands-PSY5IDSL.js} +2 -2
- package/dist/cli/chunks/rvf-dual-writer-NG3UF3D5.js +2 -0
- package/dist/cli/chunks/rvf-migration-adapter-PUHVTKQY.js +2 -0
- package/dist/cli/chunks/rvf-migration-coordinator-4SUT7GTJ.js +2 -0
- package/dist/cli/chunks/rvf-native-adapter-ODXFKZ6G.js +2 -0
- package/dist/cli/chunks/{rvf-store-integrity-HNDKOM4L.js → rvf-store-integrity-TCKC22FH.js} +2 -2
- package/dist/cli/chunks/safe-db-BUQDNH2R.js +2 -0
- package/dist/cli/chunks/schedule-ZXNDZNNB.js +2 -0
- package/dist/cli/chunks/scheduler-YUQQWWW3.js +2 -0
- package/dist/cli/chunks/{security-MQ2VB7PY.js → security-RQGUQGSI.js} +3 -3
- package/dist/cli/chunks/{shared-rvf-adapter-TAZEU6QK.js → shared-rvf-adapter-ZJFN52C2.js} +2 -2
- package/dist/cli/chunks/{shared-rvf-dual-writer-B7N6AOCY.js → shared-rvf-dual-writer-V2R37HWV.js} +2 -2
- package/dist/cli/chunks/sqlite-persistence-HVSX46C7.js +2 -0
- package/dist/cli/chunks/{status-handler-NZP7DFHE.js → status-handler-XEKWNVDR.js} +2 -2
- package/dist/cli/chunks/{structural-health-ALLUQ4X6.js → structural-health-QMIW6WUN.js} +2 -2
- package/dist/cli/chunks/{sync-WJJG5J6V.js → sync-GDYJ2ULT.js} +2 -2
- package/dist/cli/chunks/{sync-MM7OCUYD.js → sync-H5SXWXPP.js} +2 -2
- package/dist/cli/chunks/{task-handler-CAQUEEB4.js → task-handler-EPLKCQHY.js} +2 -2
- package/dist/cli/chunks/{task-handlers-25BJ7D3W.js → task-handlers-22NTLWTC.js} +3 -3
- package/dist/cli/chunks/{test-HW7GVGVN.js → test-WHJFRZ3F.js} +4 -4
- package/dist/cli/chunks/{test-scheduling-HTMFJMSP.js → test-scheduling-KZVFZOQN.js} +3 -3
- package/dist/cli/chunks/token-bootstrap-BW5WA6PY.js +2 -0
- package/dist/cli/chunks/{token-usage-RJZDMBDP.js → token-usage-4A4O57R6.js} +2 -2
- package/dist/cli/chunks/{transformers-3YFW3EUO.js → transformers-FYTBRV46.js} +2 -2
- package/dist/cli/chunks/{tree-sitter-wasm-parser-U3PQPIK7.js → tree-sitter-wasm-parser-TZIJPLF3.js} +2 -2
- package/dist/cli/chunks/{types-7Q762WDO.js → types-B2L6LKFA.js} +2 -2
- package/dist/cli/chunks/unified-memory-AHN4RVBP.js +2 -0
- package/dist/cli/chunks/unified-memory-hnsw-XB7JPF74.js +2 -0
- package/dist/cli/chunks/unified-persistence-53KWNFQJ.js +2 -0
- package/dist/cli/chunks/{upgrade-F7MKJWBQ.js → upgrade-O6U7EA7V.js} +2 -2
- package/dist/cli/chunks/{validate-B27AVRA6.js → validate-FHNZ5XL3.js} +2 -2
- package/dist/cli/chunks/{validate-swarm-GYZR3GNL.js → validate-swarm-YOLLUEHE.js} +2 -2
- package/dist/cli/chunks/{vibium-W4XQMPJP.js → vibium-UXRPEIXB.js} +2 -2
- package/dist/cli/chunks/visual-security-CRPYS7L7.js +2 -0
- package/dist/cli/chunks/{web-tree-sitter-I7CDCFJU.js → web-tree-sitter-JJ5UIYFD.js} +2 -2
- package/dist/cli/chunks/{windsurf-installer-UYLHFDHU.js → windsurf-installer-I4QMQPIL.js} +2 -2
- package/dist/cli/chunks/witness-chain-5WCR2CAS.js +2 -0
- package/dist/cli/chunks/{witness-chain-B66SYZKU.js → witness-chain-BIJ7WDGS.js} +2 -2
- package/dist/cli/chunks/{witness-key-manager-U4JPAHVW.js → witness-key-manager-3SMMLJLP.js} +2 -2
- package/dist/cli/chunks/{workflow-DYMO47FF.js → workflow-33PUXXJV.js} +4 -4
- package/dist/cli/chunks/workflow-orchestrator-RZWCLTT5.js +2 -0
- package/dist/cli/chunks/{wrappers-7S6DQTEA.js → wrappers-ASAU36VK.js} +2 -2
- package/dist/cli/commands/learning.js +44 -0
- package/dist/cli/commands/llm-router.js +27 -21
- package/dist/cli/commands/platform.d.ts +1 -0
- package/dist/cli/commands/platform.js +28 -6
- package/dist/cli/commands/quality-gate.js +25 -3
- package/dist/cli/handlers/brain-handler.js +2 -0
- package/dist/cli/handlers/init-handler.d.ts +5 -0
- package/dist/cli/handlers/init-handler.js +6 -0
- package/dist/cli/index.js +4 -1
- package/dist/context/compaction/index.d.ts +1 -0
- package/dist/context/compaction/index.js +3 -0
- package/dist/context/compaction/instruction-provenance.d.ts +20 -0
- package/dist/context/compaction/instruction-provenance.js +18 -0
- package/dist/context/compaction/tier2-session-summary.d.ts +8 -0
- package/dist/context/compaction/tier2-session-summary.js +20 -0
- package/dist/context/compaction/tier3-llm-compact.d.ts +4 -0
- package/dist/context/compaction/tier3-llm-compact.js +32 -4
- package/dist/contracts/verdicts.d.ts +625 -0
- package/dist/contracts/verdicts.js +202 -14
- package/dist/coordination/handlers/coverage-handlers.js +8 -1
- package/dist/domains/chaos-resilience/diagnosis/corpus.d.ts +5 -0
- package/dist/domains/chaos-resilience/diagnosis/corpus.js +141 -0
- package/dist/domains/chaos-resilience/diagnosis/detectors.d.ts +11 -0
- package/dist/domains/chaos-resilience/diagnosis/detectors.js +109 -0
- package/dist/domains/chaos-resilience/diagnosis/index.d.ts +5 -0
- package/dist/domains/chaos-resilience/diagnosis/index.js +5 -0
- package/dist/domains/chaos-resilience/diagnosis/scorer.d.ts +8 -0
- package/dist/domains/chaos-resilience/diagnosis/scorer.js +128 -0
- package/dist/domains/chaos-resilience/diagnosis/types.d.ts +171 -0
- package/dist/domains/chaos-resilience/diagnosis/types.js +3 -0
- package/dist/domains/chaos-resilience/index.d.ts +1 -0
- package/dist/domains/chaos-resilience/index.js +1 -0
- package/dist/domains/index.d.ts +1 -0
- package/dist/domains/index.js +1 -0
- package/dist/early-exit/early-exit-controller.d.ts +4 -2
- package/dist/early-exit/early-exit-controller.js +95 -7
- package/dist/early-exit/index.d.ts +1 -1
- package/dist/early-exit/speculative-executor.js +3 -0
- package/dist/early-exit/types.d.ts +51 -0
- package/dist/early-exit/types.js +3 -0
- package/dist/index.d.ts +4 -2
- package/dist/index.js +2 -1
- package/dist/init/browser-engine-installer.d.ts +11 -0
- package/dist/init/browser-engine-installer.js +35 -5
- package/dist/init/codex-installer.d.ts +11 -1
- package/dist/init/codex-installer.js +90 -24
- package/dist/init/init-wizard-hooks.js +11 -11
- package/dist/init/orchestrator.js +2 -0
- package/dist/init/phases/07-hooks.d.ts +3 -3
- package/dist/init/phases/07-hooks.js +19 -21
- package/dist/init/phases/09-assets.d.ts +4 -0
- package/dist/init/phases/09-assets.js +13 -10
- package/dist/init/phases/phase-interface.d.ts +2 -0
- package/dist/init/types.d.ts +4 -0
- package/dist/integrations/embeddings/base/EmbeddingGenerator.js +4 -2
- package/dist/integrations/ruvector/brain-exporter.d.ts +1 -1
- package/dist/integrations/ruvector/brain-exporter.js +15 -3
- package/dist/integrations/ruvector/brain-rvf-exporter.d.ts +4 -0
- package/dist/integrations/ruvector/brain-rvf-exporter.js +118 -37
- package/dist/integrations/ruvector/brain-search.d.ts +1 -1
- package/dist/integrations/ruvector/brain-search.js +1 -1
- package/dist/integrations/ruvector/brain-shared.d.ts +4 -2
- package/dist/integrations/ruvector/brain-shared.js +11 -4
- package/dist/integrations/ruvector/brain-table-ddl.d.ts +2 -2
- package/dist/integrations/ruvector/brain-table-ddl.js +20 -8
- package/dist/integrations/ruvector/cognitive-container.js +1 -1
- package/dist/integrations/ruvector/rvf-dual-writer.d.ts +4 -0
- package/dist/integrations/ruvector/rvf-dual-writer.js +57 -9
- package/dist/integrations/ruvector/rvf-store-integrity.js +1 -1
- package/dist/kernel/unified-memory-schemas.d.ts +4 -3
- package/dist/kernel/unified-memory-schemas.js +19 -9
- package/dist/kernel/unified-memory.d.ts +2 -0
- package/dist/kernel/unified-memory.js +19 -0
- package/dist/learning/embed-and-insert-pattern.js +6 -3
- package/dist/learning/embedding-space.d.ts +50 -0
- package/dist/learning/embedding-space.js +128 -0
- package/dist/learning/evidence-admission-store.d.ts +15 -0
- package/dist/learning/evidence-admission-store.js +68 -0
- package/dist/learning/index.d.ts +7 -0
- package/dist/learning/index.js +4 -0
- package/dist/learning/learning-evidence-admission.d.ts +44 -0
- package/dist/learning/learning-evidence-admission.js +97 -0
- package/dist/learning/pattern-mutation-error.d.ts +9 -0
- package/dist/learning/pattern-mutation-error.js +14 -0
- package/dist/learning/pattern-store.d.ts +5 -0
- package/dist/learning/pattern-store.js +60 -9
- package/dist/learning/qe-flywheel/coupled-anchor.d.ts +8 -0
- package/dist/learning/qe-flywheel/coupled-anchor.js +46 -3
- package/dist/learning/qe-reasoning-bank.js +28 -5
- package/dist/learning/real-embeddings.d.ts +3 -0
- package/dist/learning/real-embeddings.js +40 -3
- package/dist/learning/real-qe-reasoning-bank.js +7 -3
- package/dist/learning/rvf-pattern-migration.d.ts +2 -0
- package/dist/learning/rvf-pattern-migration.js +5 -3
- package/dist/learning/rvf-pattern-store.d.ts +3 -0
- package/dist/learning/rvf-pattern-store.js +44 -6
- package/dist/learning/sqlite-persistence.d.ts +7 -2
- package/dist/learning/sqlite-persistence.js +58 -21
- package/dist/learning/structural-retrieval/corpus.d.ts +5 -0
- package/dist/learning/structural-retrieval/corpus.js +97 -0
- package/dist/learning/structural-retrieval/evaluate.d.ts +7 -0
- package/dist/learning/structural-retrieval/evaluate.js +124 -0
- package/dist/learning/structural-retrieval/index.d.ts +6 -0
- package/dist/learning/structural-retrieval/index.js +4 -0
- package/dist/learning/structural-retrieval/receipt.d.ts +14 -0
- package/dist/learning/structural-retrieval/receipt.js +36 -0
- package/dist/learning/structural-retrieval/types.d.ts +83 -0
- package/dist/learning/structural-retrieval/types.js +2 -0
- package/dist/mcp/bundle.js +589 -433
- package/dist/mcp/handlers/memory-handlers.js +6 -2
- package/dist/mcp/services/session-resume.d.ts +15 -19
- package/dist/mcp/services/session-resume.js +204 -194
- package/dist/mcp/tools/quality-assessment/gate.d.ts +8 -5
- package/dist/mcp/tools/quality-assessment/gate.js +9 -4
- package/dist/migrations/20260830_add_learning_evidence_tables.d.ts +7 -0
- package/dist/migrations/20260830_add_learning_evidence_tables.js +173 -0
- package/dist/persistence/rvf-migration-adapter.d.ts +2 -0
- package/dist/persistence/rvf-migration-adapter.js +56 -12
- package/dist/shared/llm/llm-router-service.d.ts +8 -0
- package/dist/shared/llm/llm-router-service.js +21 -3
- package/dist/shared/sql-safety.js +4 -0
- package/dist/skills/qe-court/cli.d.ts +3 -0
- package/dist/skills/qe-court/cli.js +54 -0
- package/dist/validation/quality-gate-runner.d.ts +27 -4
- package/dist/validation/quality-gate-runner.js +33 -4
- package/dist/validation/verification-reach.d.ts +90 -0
- package/dist/validation/verification-reach.js +187 -0
- package/dist/verification/adversarial-verify/calibrate.d.ts +46 -2
- package/dist/verification/adversarial-verify/calibrate.js +104 -2
- package/dist/verification/adversarial-verify/index.d.ts +2 -2
- package/dist/verification/adversarial-verify/index.js +1 -1
- package/dist/verification/adversarial-verify/measurement-receipt.d.ts +13 -0
- package/dist/verification/adversarial-verify/measurement-receipt.js +136 -0
- package/dist/verification/adversarial-verify/synthesize.js +7 -10
- package/dist/verification/adversarial-verify/types.d.ts +35 -0
- package/dist/verification/adversarial-verify/verify.js +6 -1
- package/package.json +14 -6
- package/schemas/coverage-gap.schema.json +41 -0
- package/schemas/finding-verdict.schema.json +470 -0
- package/schemas/risk-decision.schema.json +41 -0
- package/dist/cli/chunks/adapter-FUV6LBJT.js +0 -2
- package/dist/cli/chunks/aqe-learning-engine-QNFNA3J4.js +0 -2
- package/dist/cli/chunks/base-37W2XIXC.js +0 -2
- package/dist/cli/chunks/brain-handler-TVTTWZGP.js +0 -89
- package/dist/cli/chunks/browser-workflow-PDIUEK7B.js +0 -2
- package/dist/cli/chunks/chunk-5PI75QYP.js +0 -4
- package/dist/cli/chunks/chunk-EDRPTLAX.js +0 -2
- package/dist/cli/chunks/chunk-GEQWCK4F.js +0 -2
- package/dist/cli/chunks/chunk-GQLJYTXN.js +0 -2
- package/dist/cli/chunks/chunk-NLZUGANH.js +0 -11
- package/dist/cli/chunks/chunk-O4BWESH5.js +0 -2
- package/dist/cli/chunks/chunk-PGFCKE4G.js +0 -12
- package/dist/cli/chunks/chunk-RACWX2ZX.js +0 -9
- package/dist/cli/chunks/chunk-SNC73DWF.js +0 -2
- package/dist/cli/chunks/chunk-TDVMILKO.js +0 -2
- package/dist/cli/chunks/chunk-TK5XLF3Z.js +0 -65
- package/dist/cli/chunks/chunk-UQ4UCHO7.js +0 -2
- package/dist/cli/chunks/chunk-VZGP77YU.js +0 -12
- package/dist/cli/chunks/chunk-WA6CSEOX.js +0 -2
- package/dist/cli/chunks/chunk-WYIXNHPF.js +0 -2
- package/dist/cli/chunks/client-4W3KWTAU.js +0 -2
- package/dist/cli/chunks/codex-installer-P7DPQMYL.js +0 -15
- package/dist/cli/chunks/core-handlers-BDU2XBLO.js +0 -2
- package/dist/cli/chunks/cross-domain-router-BPB6IHN4.js +0 -2
- package/dist/cli/chunks/dream-WFCZGFDY.js +0 -2
- package/dist/cli/chunks/embed-and-insert-pattern-VESJQSYD.js +0 -3
- package/dist/cli/chunks/heartbeat-scheduler-HWS4SHRM.js +0 -2
- package/dist/cli/chunks/hnsw-adapter-7QOBHKRB.js +0 -2
- package/dist/cli/chunks/hnsw-index-6WUKYJH7.js +0 -2
- package/dist/cli/chunks/hybrid-router-525JTRA5.js +0 -2
- package/dist/cli/chunks/impact-analyzer-GG6CJEOK.js +0 -2
- package/dist/cli/chunks/init-wizard-4VFAOK4Y.js +0 -2
- package/dist/cli/chunks/kernel-N3FQGOST.js +0 -2
- package/dist/cli/chunks/knowledge-graph-I5QIHB4G.js +0 -2
- package/dist/cli/chunks/learning-TQOGG3CR.js +0 -119
- package/dist/cli/chunks/llm-router-service-NCJZYJLG.js +0 -2
- package/dist/cli/chunks/load-test-DCJEYIXD.js +0 -2
- package/dist/cli/chunks/memory-backend-O6KO2KTX.js +0 -2
- package/dist/cli/chunks/memory-handlers-4Z43WEKD.js +0 -2
- package/dist/cli/chunks/pattern-null-store-5WIJKX2K.js +0 -2
- package/dist/cli/chunks/platform-F76G6RUI.js +0 -2
- package/dist/cli/chunks/protocol-executor-5TPNAZTB.js +0 -2
- package/dist/cli/chunks/provider-manager-3VMOZ6HV.js +0 -2
- package/dist/cli/chunks/qe-reasoning-bank-BATV4NTT.js +0 -2
- package/dist/cli/chunks/quality-gate-A5MPWHST.js +0 -7
- package/dist/cli/chunks/queen-coordinator-EIHGYBUO.js +0 -2
- package/dist/cli/chunks/real-embeddings-ZBF5EQOG.js +0 -2
- package/dist/cli/chunks/router-EMVGY4HU.js +0 -2
- package/dist/cli/chunks/routing-feedback-JUP4OFB2.js +0 -2
- package/dist/cli/chunks/rvf-dual-writer-BUNP4SKD.js +0 -2
- package/dist/cli/chunks/rvf-migration-adapter-VSOAPLMB.js +0 -2
- package/dist/cli/chunks/rvf-migration-coordinator-LSWEHAWX.js +0 -2
- package/dist/cli/chunks/rvf-native-adapter-LOC42TQ6.js +0 -2
- package/dist/cli/chunks/safe-db-WQ62IQKV.js +0 -2
- package/dist/cli/chunks/schedule-XJRP57TE.js +0 -2
- package/dist/cli/chunks/scheduler-EZH5SDIM.js +0 -2
- package/dist/cli/chunks/sqlite-persistence-HPEVCTIB.js +0 -2
- package/dist/cli/chunks/token-bootstrap-F2DCLWGW.js +0 -2
- package/dist/cli/chunks/unified-memory-ATILROKR.js +0 -2
- package/dist/cli/chunks/unified-memory-hnsw-XJXAX7DW.js +0 -2
- package/dist/cli/chunks/unified-persistence-3TN5PBWE.js +0 -2
- package/dist/cli/chunks/visual-security-VFWRBCNA.js +0 -2
- package/dist/cli/chunks/witness-chain-JC5LEXRV.js +0 -2
- package/dist/cli/chunks/workflow-orchestrator-TKQUF2KN.js +0 -2
|
@@ -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.12");process.exit(0)}
|
|
2
|
-
import{b as A,c as D,d as V,e as E}from"./chunk-MGKH4LCM.js";import{b as v,c as G}from"./chunk-TDVMILKO.js";import{a as x,b as $,c as H,e as w}from"./chunk-G6FJHDUG.js";import{b as P,c as U}from"./chunk-UQ4UCHO7.js";import{a as k}from"./chunk-Z6DSYLAG.js";import{b as F,c as J}from"./chunk-L3GBNX7B.js";import{i as _}from"./chunk-52VGZJSD.js";var N={security:{provider:"claude",model:"claude-opus-4-7",temperature:.1,maxTokens:16e3,priority:100},"test-generation":{provider:"claude",model:"claude-sonnet-4-6",temperature:.3,maxTokens:8e3,priority:90},"code-analysis":{provider:"claude",model:"claude-sonnet-4-6",temperature:.2,maxTokens:8e3,priority:85},performance:{provider:"claude",model:"claude-haiku-4-5-20251001",temperature:.2,maxTokens:4e3,priority:70},documentation:{provider:"claude",model:"claude-haiku-4-5-20251001",temperature:.4,maxTokens:4e3,priority:60},learning:{provider:"claude",model:"claude-sonnet-4-6",temperature:.3,maxTokens:8e3,priority:80},coordination:{provider:"claude",model:"claude-haiku-4-5-20251001",temperature:.2,maxTokens:2e3,priority:75},simple:{provider:"openai",model:"gpt-4o-mini",temperature:.3,maxTokens:2e3,priority:50},general:{provider:"claude",model:"claude-sonnet-4-6",temperature:.3,maxTokens:4e3,priority:60}},q={"security-auditor":"security","security-architect":"security","security-scanner":"security","v3-qe-security-scanner":"security","security-manager":"security","vulnerability-scanner":"security","penetration-tester":"security","compliance-auditor":"security","threat-analyzer":"security","test-generator":"test-generation","v3-qe-test-generator":"test-generation",tester:"test-generation","tdd-specialist":"test-generation","tdd-london-swarm":"test-generation","unit-test-generator":"test-generation","integration-test-generator":"test-generation","e2e-test-generator":"test-generation","mutation-tester":"test-generation","property-based-tester":"test-generation","contract-tester":"test-generation","v3-qe-contract-tester":"test-generation","api-tester":"test-generation","visual-tester":"test-generation","v3-qe-visual-tester":"test-generation","accessibility-tester":"test-generation","code-reviewer":"code-analysis","code-analyzer":"code-analysis",reviewer:"code-analysis","v3-qe-code-intelligence":"code-analysis","v3-qe-code-analyzer":"code-analysis","coverage-analyzer":"code-analysis","v3-qe-coverage-analyzer":"code-analysis","defect-predictor":"code-analysis","v3-qe-defect-predictor":"code-analysis","static-analyzer":"code-analysis","complexity-analyzer":"code-analysis","dependency-analyzer":"code-analysis","refactoring-advisor":"code-analysis","quality-assessor":"code-analysis","v3-qe-quality-assessor":"code-analysis","test-executor":"code-analysis","v3-qe-test-executor":"code-analysis","parallel-executor":"code-analysis","flaky-test-detector":"code-analysis","test-orchestrator":"code-analysis","performance-tester":"performance","performance-engineer":"performance","perf-analyzer":"performance","performance-benchmarker":"performance","load-tester":"performance","stress-tester":"performance","v3-qe-chaos-engineer":"performance","chaos-engineer":"performance","resilience-tester":"performance","scalability-tester":"performance","api-docs":"documentation","doc-generator":"documentation","readme-generator":"documentation","changelog-generator":"documentation","specification-writer":"documentation","v3-qe-learning-optimizer":"learning","learning-optimizer":"learning","ml-developer":"learning","pattern-learner":"learning","optimization-agent":"learning","smart-agent":"learning","requirements-validator":"code-analysis","v3-qe-requirements-validator":"code-analysis","bdd-generator":"test-generation","acceptance-tester":"test-generation",coordinator:"coordination","hierarchical-coordinator":"coordination","mesh-coordinator":"coordination","adaptive-coordinator":"coordination","collective-intelligence-coordinator":"coordination","swarm-memory-manager":"coordination","byzantine-coordinator":"coordination","raft-manager":"coordination","gossip-coordinator":"coordination","consensus-builder":"coordination","crdt-synchronizer":"coordination","quorum-manager":"coordination","task-orchestrator":"coordination","memory-coordinator":"coordination",coder:"code-analysis",planner:"code-analysis",researcher:"code-analysis","backend-dev":"code-analysis","mobile-dev":"code-analysis","cicd-engineer":"code-analysis","system-architect":"code-analysis","base-template-generator":"test-generation","github-modes":"coordination","pr-manager":"coordination","code-review-swarm":"code-analysis","issue-tracker":"coordination","release-manager":"coordination","workflow-automation":"coordination","project-board-sync":"coordination","repo-architect":"code-analysis","multi-repo-swarm":"coordination","sparc-coord":"coordination","sparc-coder":"code-analysis",specification:"documentation",pseudocode:"code-analysis",architecture:"code-analysis",refinement:"code-analysis","memory-specialist":"learning","production-validator":"code-analysis"},y={heavyweight:{requiresReasoning:!0,requiresTools:!0,requiresVision:!1,requiresExtendedThinking:!0,requiresJsonMode:!0,minContextSize:1e5,costSensitivity:"low",latencySensitivity:"low"},standard:{requiresReasoning:!0,requiresTools:!0,requiresVision:!1,requiresExtendedThinking:!1,requiresJsonMode:!0,minContextSize:5e4,costSensitivity:"medium",latencySensitivity:"medium"},lightweight:{requiresReasoning:!1,requiresTools:!0,requiresVision:!1,requiresExtendedThinking:!1,requiresJsonMode:!0,minContextSize:16e3,costSensitivity:"medium",latencySensitivity:"high"},minimal:{requiresReasoning:!1,requiresTools:!1,requiresVision:!1,requiresExtendedThinking:!1,requiresJsonMode:!1,minContextSize:4e3,costSensitivity:"high",latencySensitivity:"medium"}},X={security:y.heavyweight,"test-generation":y.standard,"code-analysis":y.standard,learning:y.standard,performance:{...y.lightweight,costSensitivity:"high"},coordination:y.lightweight,general:{...y.lightweight,requiresJsonMode:!1,latencySensitivity:"medium"},documentation:{...y.minimal,minContextSize:16e3},simple:y.minimal};function j(u){if(u in q)return q[u];let e=u.toLowerCase();return e.includes("security")||e.includes("audit")||e.includes("vulnerab")||e.includes("penetration")||e.includes("threat")||e.includes("compliance")?"security":e.includes("test-gen")||e.includes("tdd")||e.includes("unit-test")||e.includes("e2e-test")||e.includes("integration-test")||e.includes("mutation")?"test-generation":e.includes("code-")||e.includes("coverage")||e.includes("defect")||e.includes("review")||e.includes("analyzer")||e.includes("quality")?"code-analysis":e.includes("perf")||e.includes("load")||e.includes("stress")||e.includes("benchmark")||e.includes("chaos")||e.includes("resilience")?"performance":e.includes("doc")||e.includes("readme")||e.includes("changelog")||e.includes("spec")?"documentation":e.includes("learn")||e.includes("ml-")||e.includes("pattern")||e.includes("optim")?"learning":e.includes("coord")||e.includes("swarm")||e.includes("orchestrat")||e.includes("consensus")||e.includes("manager")?"coordination":"general"}var S={},W={};function Z(u,e){S={...u??{}},W={...e??{}}}function Y(u){let e=j(u),t=N[e],r=S[u];if(!r)return t;let i=r.provider!==void 0&&r.provider!==t.provider,o=r.model??(i?W[r.provider]:void 0);return{...t,...r.provider!==void 0?{provider:r.provider}:{},...o!==void 0?{model:o}:{},...r.temperature!==void 0?{temperature:r.temperature}:{},...r.maxTokens!==void 0?{maxTokens:r.maxTokens}:{},priority:r.priority??t.priority+100}}function ee(){return Object.keys(S).map(u=>{let e=Y(u);return{id:`agent-override-${u}`,name:`User override: ${u} -> ${e.provider}/${e.model}`,description:`Per-agent routing override from .agentic-qe/llm-config.json (agentOverrides["${u}"])`,condition:{agentType:[u]},action:{provider:e.provider,model:e.model,temperature:e.temperature,maxTokens:e.maxTokens,priority:e.priority},enabled:!0,priority:e.priority}}).sort((u,e)=>e.priority-u.priority)}var f=class{rules=[];constructor(e=[]){this.setRules(e)}setRules(e){this.rules=[...e].filter(t=>t.enabled).sort((t,r)=>r.priority-t.priority)}getRules(){return[...this.rules]}addRule(e){this.rules.push(e),this.rules=this.rules.filter(t=>t.enabled).sort((t,r)=>r.priority-t.priority)}removeRule(e){let t=this.rules.findIndex(r=>r.id===e);return t>=0?(this.rules.splice(t,1),!0):!1}setRuleEnabled(e,t){let r=this.rules.find(i=>i.id===e);return r?(r.enabled=t,this.rules=this.rules.filter(i=>i.enabled).sort((i,o)=>o.priority-i.priority),!0):!1}evaluate(e){let t=0;for(let r of this.rules)if(t++,this.matchesCondition(e,r.condition))return{rule:r,rulesEvaluated:t};return null}evaluateAll(e){return this.rules.filter(t=>this.matchesCondition(e,t.condition))}matchesCondition(e,t){if(t.agentType!==void 0&&(!e.agentType||!t.agentType.includes(e.agentType))||t.requiresTools!==void 0&&!!e.requiresTools!==t.requiresTools)return!1;if(t.complexity!==void 0){let r=Array.isArray(t.complexity)?t.complexity:[t.complexity];if(!e.complexity||!r.includes(e.complexity))return!1}if(t.localOnly!==void 0&&t.localOnly){let r=["ollama","onnx"];if(e.preferredProvider&&!r.includes(e.preferredProvider))return!1}if(t.requiresReasoning!==void 0&&t.requiresReasoning&&e.complexity==="low")return!1;if(t.tokenRange!==void 0){let r=this.estimateTokens(e);if(t.tokenRange.min!==void 0&&r<t.tokenRange.min||t.tokenRange.max!==void 0&&r>t.tokenRange.max)return!1}return!(t.requiredCapabilities!==void 0&&t.requiredCapabilities.length>0&&(!e.requiredCapabilities||e.requiredCapabilities.length===0||!t.requiredCapabilities.every(i=>e.requiredCapabilities.includes(i)))||t.custom!==void 0&&!t.custom(e))}estimateTokens(e){let t=0;e.systemPrompt&&(t+=Math.ceil(e.systemPrompt.length/4));for(let r of e.messages)t+=Math.ceil(r.content.length/4);return t}},L=[{id:"security-agents-opus",name:"Security Agents to Claude Opus",description:"Route security-critical agents to Claude Opus for best security analysis",condition:{agentType:["security-auditor","security-architect","v3-qe-security-scanner"]},action:{provider:"claude",model:"claude-opus-4-7",temperature:.1},enabled:!0,priority:100},{id:"test-gen-with-tools",name:"Test Generation with Tools",description:"Route test generation requests that need tools to Claude Sonnet",condition:{agentType:["v3-qe-test-generator","tester"],requiresTools:!0},action:{provider:"claude",model:"claude-sonnet-4-6",temperature:.3},enabled:!0,priority:95},{id:"high-complexity-reasoning",name:"High Complexity Reasoning",description:"Route high complexity tasks requiring reasoning to advanced models",condition:{complexity:"high",requiresReasoning:!0},action:{provider:"claude",model:"claude-opus-4-7",temperature:.2},enabled:!0,priority:90},{id:"code-analysis-agents",name:"Code Analysis Agents",description:"Route code analysis to Claude Sonnet for balanced performance",condition:{agentType:["code-analyzer","v3-qe-code-intelligence","reviewer"]},action:{provider:"claude",model:"claude-sonnet-4-6",temperature:.2},enabled:!0,priority:85},{id:"coverage-analysis",name:"Coverage Analysis Agents",description:"Route coverage analysis to efficient models",condition:{agentType:["v3-qe-coverage-analyzer"]},action:{provider:"claude",model:"claude-sonnet-4-6",temperature:.1},enabled:!0,priority:80},{id:"defect-prediction",name:"Defect Prediction Agents",description:"Route defect prediction to capable models",condition:{agentType:["v3-qe-defect-predictor"]},action:{provider:"claude",model:"claude-sonnet-4-6",temperature:.3},enabled:!0,priority:75},{id:"medium-complexity",name:"Medium Complexity Tasks",description:"Route medium complexity to balanced Claude Sonnet",condition:{complexity:"medium"},action:{provider:"claude",model:"claude-sonnet-4-6",temperature:.3},enabled:!0,priority:60},{id:"low-complexity-haiku",name:"Low Complexity to Haiku",description:"Route low complexity tasks to Haiku for cost efficiency",condition:{complexity:"low"},action:{provider:"claude",model:"claude-haiku-4-5-20251001",temperature:.3},enabled:!0,priority:50},{id:"local-only-ollama",name:"Local Only Requests",description:"Route local-only requests to Ollama",condition:{localOnly:!0},action:{provider:"ollama",model:"llama3.1",temperature:.3},enabled:!0,priority:40},{id:"small-requests-haiku",name:"Small Token Requests",description:"Route small requests to Haiku for efficiency",condition:{tokenRange:{max:500}},action:{provider:"claude",model:"claude-haiku-4-5-20251001",temperature:.3},enabled:!0,priority:30}];import{randomUUID as K}from"crypto";var C=class{decisions=[];providerCalls=[];fallbacks=[];cacheHits=0;cacheMisses=0;startTime=new Date;maxRecords;maxCallRecords;constructor(e={}){this.maxRecords=e.maxRecords??1e4,this.maxCallRecords=e.maxCallRecords??5e3}recordRoutingDecision(e,t,r={}){let i={id:`rd-${Date.now()}-${K().slice(0,8)}`,timestamp:new Date,provider:e.providerType,model:e.model,mode:this.inferMode(e.reason),reason:e.reason,latencyMs:t,decisionTimeMs:e.metadata.decisionTimeMs,agentType:r.agentType,success:r.success??!0,tokenUsage:r.tokenUsage,cost:r.cost,wasFallback:e.reason==="fallback",ruleId:e.matchedRule?.id};this.decisions.push(i),this.trimRecords()}recordProviderCall(e,t,r,i,o={}){let n=o.inputTokens??Math.floor(i*.7),a=o.outputTokens??i-n,s={timestamp:new Date,provider:e,model:t,latencyMs:r,inputTokens:n,outputTokens:a,totalTokens:i,success:o.success??!0,cost:o.cost,agentType:o.agentType};this.providerCalls.push(s),this.trimCallRecords()}recordFallback(e,t,r,i){let o={timestamp:new Date,fromProvider:e,toProvider:t,reason:r,agentType:i};this.fallbacks.push(o),this.fallbacks.length>1e3&&(this.fallbacks=this.fallbacks.slice(-1e3))}recordCacheHit(){this.cacheHits++}recordCacheMiss(){this.cacheMisses++}getMetrics(e="all"){let t=this.getWindowStart(e),r=this.filterByTime(this.decisions,t),i=this.filterByTime(this.providerCalls,t),o=this.filterByTime(this.fallbacks,t),n=this.calculateProviderMetrics(r,i),a=this.calculateAgentMetrics(r,i),s=r.map(m=>m.decisionTimeMs),c=r.length,l=this.countByMode(r),d=r.filter(m=>m.wasFallback).length,g=r.filter(m=>m.ruleId).length;return{byProvider:Object.fromEntries(n),byAgentType:a,totalDecisions:c,decisionsByMode:l,avgDecisionTimeMs:this.average(s),p95DecisionTimeMs:this.percentile(s,95),p99DecisionTimeMs:this.percentile(s,99),fallbackRate:c>0?d/c:0,ruleMatchRate:c>0?g/c:0,estimatedCostSavings:this.calculateCostSavings(r),ruleStats:{totalEvaluated:r.reduce((m,b)=>m+1,0),matched:g,avgRulesPerDecision:1},cacheStats:{hits:this.cacheHits,misses:this.cacheMisses,hitRate:this.cacheHits+this.cacheMisses>0?this.cacheHits/(this.cacheHits+this.cacheMisses):0},period:{start:t,end:new Date},recentDecisions:r.slice(-50),fallbackStats:this.calculateFallbackStats(o)}}getMetricsByProvider(e){let t=this.decisions.filter(s=>s.provider===e),r=this.providerCalls.filter(s=>s.provider===e),i=r.map(s=>s.latencyMs),o=t.map(s=>s.decisionTimeMs),n=r.filter(s=>s.success),a=r.filter(s=>!s.success);return{provider:e,selectionCount:t.length,ruleMatchCount:t.filter(s=>s.ruleId).length,fallbackCount:t.filter(s=>s.wasFallback).length,avgDecisionTimeMs:this.average(o),successRate:r.length>0?n.length/r.length:1,avgLatencyMs:this.average(i),p95LatencyMs:this.percentile(i,95),p99LatencyMs:this.percentile(i,99),totalCost:r.reduce((s,c)=>s+(c.cost??0),0),totalTokens:r.reduce((s,c)=>s+c.totalTokens,0),totalInputTokens:r.reduce((s,c)=>s+c.inputTokens,0),totalOutputTokens:r.reduce((s,c)=>s+c.outputTokens,0),circuitState:"closed",latencyHistogram:i.slice(-100),decisionTimeHistogram:o.slice(-100),errorCount:a.length,lastError:a.length>0?a[a.length-1].timestamp:void 0,recentCalls:r.slice(-20)}}getMetricsByAgentType(e){let t=this.decisions.filter(c=>c.agentType===e),r=this.providerCalls.filter(c=>c.agentType===e),i=new Map,o=new Map;for(let c of t)i.set(c.provider,(i.get(c.provider)??0)+1),o.set(c.model,(o.get(c.model)??0)+1);let n=r.map(c=>c.latencyMs),a=t.filter(c=>c.wasFallback).length,s=t.filter(c=>c.success).length;return{agentType:e,totalDecisions:t.length,providerDistribution:i,modelDistribution:o,avgLatencyMs:this.average(n),totalCost:r.reduce((c,l)=>c+(l.cost??0),0),totalTokens:r.reduce((c,l)=>c+l.totalTokens,0),fallbackRate:t.length>0?a/t.length:0,successRate:t.length>0?s/t.length:1}}getAuditLog(e={}){let t=this.decisions;e.since&&(t=t.filter(i=>i.timestamp>=e.since)),e.provider&&(t=t.filter(i=>i.provider===e.provider)),e.agentType&&(t=t.filter(i=>i.agentType===e.agentType));let r=e.limit??100;return t.slice(-r).map(i=>({id:i.id,timestamp:i.timestamp,context:{agentType:i.agentType},decision:{providerType:i.provider,model:i.model,providerModelId:i.model,reason:i.reason,confidence:1,metadata:{decisionTimeMs:i.decisionTimeMs,timestamp:i.timestamp}},outcome:{success:i.success,latencyMs:i.latencyMs,tokenUsage:i.tokenUsage,cost:i.cost}}))}resetMetrics(){this.decisions=[],this.providerCalls=[],this.fallbacks=[],this.cacheHits=0,this.cacheMisses=0,this.startTime=new Date}inferMode(e){switch(e){case"manual":return"manual";case"rule-match":return"rule-based";case"cost-optimization":return"cost-optimized";case"performance-optimization":return"performance-optimized";default:return"rule-based"}}trimRecords(){this.decisions.length>this.maxRecords&&(this.decisions=this.decisions.slice(-this.maxRecords))}trimCallRecords(){this.providerCalls.length>this.maxCallRecords&&(this.providerCalls=this.providerCalls.slice(-this.maxCallRecords))}getWindowStart(e){let t=new Date;switch(e){case"1m":return new Date(t.getTime()-60*1e3);case"5m":return new Date(t.getTime()-300*1e3);case"15m":return new Date(t.getTime()-900*1e3);case"1h":return new Date(t.getTime()-3600*1e3);case"24h":return new Date(t.getTime()-1440*60*1e3);case"7d":return new Date(t.getTime()-10080*60*1e3);default:return this.startTime}}filterByTime(e,t){return e.filter(r=>r.timestamp>=t)}calculateProviderMetrics(e,t){let r=new Map;for(let i of v){let o=e.filter(l=>l.provider===i),n=t.filter(l=>l.provider===i);if(o.length===0&&n.length===0)continue;let a=n.map(l=>l.latencyMs),s=o.map(l=>l.decisionTimeMs),c=n.filter(l=>l.success);r.set(i,{provider:i,selectionCount:o.length,ruleMatchCount:o.filter(l=>l.ruleId).length,fallbackCount:o.filter(l=>l.wasFallback).length,avgDecisionTimeMs:this.average(s),successRate:n.length>0?c.length/n.length:1,avgLatencyMs:this.average(a),p95LatencyMs:this.percentile(a,95),p99LatencyMs:this.percentile(a,99),totalCost:n.reduce((l,d)=>l+(d.cost??0),0),totalTokens:n.reduce((l,d)=>l+d.totalTokens,0),circuitState:"closed"})}return r}calculateAgentMetrics(e,t){let r=new Set;e.forEach(o=>o.agentType&&r.add(o.agentType)),t.forEach(o=>o.agentType&&r.add(o.agentType));let i=new Map;for(let o of r)i.set(o,this.getMetricsByAgentType(o));return i}countByMode(e){let t={manual:0,"rule-based":0,"cost-optimized":0,"performance-optimized":0};for(let r of e)t[r.mode]++;return t}calculateFallbackStats(e){let t=new Map,r=new Map;for(let i of e)t.set(i.fromProvider,(t.get(i.fromProvider)??0)+1),r.set(i.reason,(r.get(i.reason)??0)+1);return{total:e.length,byProvider:t,byReason:r}}calculateCostSavings(e){return e.reduce((t,r)=>r.cost&&r.mode==="cost-optimized"?t+r.cost.totalCost*.2:t,0)}average(e){return e.length===0?0:e.reduce((t,r)=>t+r,0)/e.length}percentile(e,t){if(e.length===0)return 0;let r=[...e].sort((o,n)=>o-n),i=Math.ceil(t/100*r.length)-1;return r[Math.max(0,i)]}};function I(u){return new C(u)}var R=class{records=[];alerts=[];maxRecords;alertCheckInterval;constructor(e={}){this.maxRecords=e.maxRecords??1e4}recordCost(e,t,r,i,o={}){let n=this.calculateCost(t,r,i),a={timestamp:new Date,provider:e,model:t,inputTokens:r,outputTokens:i,inputCost:n.inputCost,outputCost:n.outputCost,totalCost:n.totalCost,agentType:o.agentType,requestId:o.requestId};return this.records.push(a),this.trimRecords(),this.checkAlerts(),a}recordCostFromInfo(e,t,r,i,o={}){let n={timestamp:new Date,provider:e,model:t,inputTokens:r.promptTokens,outputTokens:r.completionTokens,inputCost:i.inputCost,outputCost:i.outputCost,totalCost:i.totalCost,agentType:o.agentType,requestId:o.requestId};return this.records.push(n),this.trimRecords(),this.checkAlerts(),n}getCostByProvider(e="all"){let t=this.getPeriodStart(e),r=this.filterByTime(t),i=new Map;for(let o of v){let n=r.filter(c=>c.provider===o);if(n.length===0)continue;let a=n.reduce((c,l)=>c+l.totalCost,0),s=n.reduce((c,l)=>c+l.inputTokens+l.outputTokens,0);i.set(o,{totalCost:a,totalTokens:s,totalRequests:n.length,avgCostPerRequest:a/n.length,avgCostPerToken:s>0?a/s:0})}return i}getCostByAgentType(e="all"){let t=this.getPeriodStart(e),r=this.filterByTime(t),i=new Set;r.forEach(a=>a.agentType&&i.add(a.agentType));let o=new Map;for(let a of i){let s=r.filter(d=>d.agentType===a),c=s.reduce((d,g)=>d+g.totalCost,0),l=s.reduce((d,g)=>d+g.inputTokens+g.outputTokens,0);o.set(a,{totalCost:c,totalTokens:l,totalRequests:s.length,avgCostPerRequest:s.length>0?c/s.length:0,avgCostPerToken:l>0?c/l:0})}let n=r.filter(a=>!a.agentType);if(n.length>0){let a=n.reduce((c,l)=>c+l.totalCost,0),s=n.reduce((c,l)=>c+l.inputTokens+l.outputTokens,0);o.set("unknown",{totalCost:a,totalTokens:s,totalRequests:n.length,avgCostPerRequest:a/n.length,avgCostPerToken:s>0?a/s:0})}return o}getCostByModel(e="all"){let t=this.getPeriodStart(e),r=this.filterByTime(t),i=new Set;r.forEach(n=>i.add(n.model));let o=new Map;for(let n of i){let a=r.filter(l=>l.model===n),s=a.reduce((l,d)=>l+d.totalCost,0),c=a.reduce((l,d)=>l+d.inputTokens+d.outputTokens,0);o.set(n,{totalCost:s,totalTokens:c,totalRequests:a.length,avgCostPerRequest:a.length>0?s/a.length:0,avgCostPerToken:c>0?s/c:0})}return o}getTotalCost(e="all"){let t=this.getPeriodStart(e);return this.filterByTime(t).reduce((i,o)=>i+o.totalCost,0)}getCostTrend(e){let t=new Date,r=[],i,o;switch(e){case"1h":i=300*1e3,o=12;break;case"24h":i=3600*1e3,o=24;break;case"7d":i=1440*60*1e3,o=7;break}for(let n=o-1;n>=0;n--){let a=new Date(t.getTime()-n*i),s=new Date(a.getTime()-i),c=this.records.filter(l=>l.timestamp>=s&&l.timestamp<a);r.push({timestamp:a,cost:c.reduce((l,d)=>l+d.totalCost,0),tokens:c.reduce((l,d)=>l+d.inputTokens+d.outputTokens,0),requests:c.length})}return r}addBudgetAlert(e,t,r){let i={threshold:e,period:t,callback:r,active:!0};return this.alerts.push(i),this.alertCheckInterval||(this.alertCheckInterval=setInterval(()=>this.checkAlerts(),6e4)),`alert-${this.alerts.length-1}`}removeBudgetAlert(e){return e>=0&&e<this.alerts.length?(this.alerts.splice(e,1),this.alerts.length===0&&this.alertCheckInterval&&(clearInterval(this.alertCheckInterval),this.alertCheckInterval=void 0),!0):!1}getOptimizationSuggestions(){let e=[],t=this.getCostByModel("24h");for(let[n,a]of t)k[n]&&a.totalCost>1&&(n.includes("opus")&&e.push({type:"model-switch",description:"Consider using Sonnet instead of Opus for non-critical tasks",estimatedSavings:a.totalCost*.5,currentCost:a.totalCost,suggestedModel:"claude-sonnet-4-6"}),n==="gpt-4o"&&e.push({type:"model-switch",description:"Consider using GPT-4o-mini for simpler tasks",estimatedSavings:a.totalCost*.7,currentCost:a.totalCost,suggestedModel:"gpt-4o-mini"}));let r=this.getCostByProvider("24h"),i=[...r.values()].reduce((n,a)=>n+a.totalCost,0);return i>10&&!r.has("ollama")&&e.push({type:"provider-switch",description:"Consider using Ollama for development/testing workloads",estimatedSavings:i*.3,currentCost:i,suggestedProvider:"ollama"}),[...t.values()].reduce((n,a)=>n+a.totalRequests,0)>100&&e.push({type:"caching",description:"Enable response caching to reduce redundant API calls",estimatedSavings:i*.15,currentCost:i}),e}getRecords(){return[...this.records]}clear(){this.records=[]}reset(){this.records=[],this.alerts=[],this.alertCheckInterval&&(clearInterval(this.alertCheckInterval),this.alertCheckInterval=void 0)}dispose(){this.alertCheckInterval&&(clearInterval(this.alertCheckInterval),this.alertCheckInterval=void 0)}calculateCost(e,t,r){let i=k[e];if(!i)return{inputCost:0,outputCost:0,totalCost:0,currency:"USD"};let o=t/1e6*i.input,n=r/1e6*i.output;return{inputCost:o,outputCost:n,totalCost:o+n,currency:"USD"}}trimRecords(){this.records.length>this.maxRecords&&(this.records=this.records.slice(-this.maxRecords))}getPeriodStart(e){let t=new Date;switch(e){case"1h":return new Date(t.getTime()-3600*1e3);case"24h":return new Date(t.getTime()-1440*60*1e3);case"7d":return new Date(t.getTime()-10080*60*1e3);case"30d":return new Date(t.getTime()-720*60*60*1e3);default:return new Date(0)}}filterByTime(e){return this.records.filter(t=>t.timestamp>=e)}checkAlerts(){for(let e of this.alerts){if(!e.active)continue;let t=this.getTotalCost(e.period);if(t>=e.threshold){e.active=!1;let r=this.getPeriodStart(e.period),i=this.filterByTime(r),o=i.reduce((n,a)=>n+a.inputTokens+a.outputTokens,0);try{e.callback({totalCost:t,totalTokens:o,totalRequests:i.length,avgCostPerRequest:i.length>0?t/i.length:0,avgCostPerToken:o>0?t/o:0})}catch(n){console.error("Budget alert callback error:",n)}}}}};function z(u){return new R(u)}J();var T=class{cache=new Map;maxSize;ttlMs;constructor(e=100,t=6e4){this.maxSize=e,this.ttlMs=t}get(e){let t=this.cache.get(e);return t?Date.now()>t.expiresAt?(this.cache.delete(e),null):t.decision:null}set(e,t){if(this.cache.size>=this.maxSize){let r=this.cache.keys().next().value;r&&this.cache.delete(r)}this.cache.set(e,{decision:t,expiresAt:Date.now()+this.ttlMs})}clear(){this.cache.clear()}getStats(){return{hits:0,misses:0,size:this.cache.size}}},M=class{config;providerManager;ruleEngine;decisionCache;metrics;routerMetrics;costMetrics;initialized=!1;constructor(e,t){this.providerManager=e,this.config={...G,...t};let r=this.config.rules.length>0?this.config.rules:L;this.ruleEngine=new f(r),this.decisionCache=new T(100,this.config.decisionCacheTtlMs),this.metrics=new O,this.routerMetrics=I(),this.costMetrics=z()}async initialize(){this.initialized||(await this.providerManager.initialize(),this.initialized=!0)}getMode(){return this.config.mode}setMode(e){this.config.mode=e,this.decisionCache.clear()}getConfig(){return{...this.config}}updateConfig(e){this.config={...this.config,...e},e.rules&&this.ruleEngine.setRules(e.rules),e.decisionCacheTtlMs&&(this.decisionCache=new T(100,e.decisionCacheTtlMs))}async selectProvider(e){await this.ensureInitialized();let t=Date.now();if(this.config.cacheDecisions){let i=this.generateCacheKey(e),o=this.decisionCache.get(i);if(o)return this.metrics.recordCacheHit(),this.routerMetrics.recordCacheHit(),o;this.metrics.recordCacheMiss(),this.routerMetrics.recordCacheMiss()}let r;switch(this.config.mode){case"manual":r=await this.selectManual(e);break;case"rule-based":r=await this.selectRuleBased(e);break;case"cost-optimized":r=await this.selectCostOptimized(e);break;case"performance-optimized":r=await this.selectPerformanceOptimized(e);break;default:r=await this.selectRuleBased(e)}if(r.metadata.decisionTimeMs=Date.now()-t,this.config.cacheDecisions){let i=this.generateCacheKey(e);this.decisionCache.set(i,r)}return this.metrics.recordDecision(r,this.config.mode),r}async chat(e){await this.ensureInitialized();let t=_(),r=await this.selectProvider(e),i=e.agentType??"";if(V(i)&&(D(r.model)||D(r.providerModelId))){let n=r.model,a=r.providerModelId;r.model=E(i,r.model,A),r.providerModelId=E(i,r.providerModelId,A),console.warn(`[aqe] ADR-093: ${i} pinned to ${r.model} (was ${n}/${a}); set AQE_CYBER_VERIFIED=true after Cyber Verification Program approval`)}return await this.executeWithFallback(e,r,t)}async*stream(e){await this.ensureInitialized();let t=await this.selectProvider(e),r=await this.chat(e),i=100;for(let o=0;o<r.content.length;o+=i){let n=o+i>=r.content.length;yield{type:n?"done":"content",delta:r.content.slice(o,o+i),accumulated:r.content.slice(0,o+i),done:n,tokenCount:Math.ceil((o+i)/4),model:r.model,provider:t.providerType,usage:n?r.usage:void 0}}}getMetrics(){return this.metrics.getMetrics()}getEnhancedMetrics(e){return this.routerMetrics.getMetrics(e)}getProviderMetrics(e){return this.routerMetrics.getMetricsByProvider(e)}getAgentMetrics(e){return this.routerMetrics.getMetricsByAgentType(e)}getCostByProvider(e){return this.costMetrics.getCostByProvider(e)}getCostByAgentType(e){return this.costMetrics.getCostByAgentType(e)}getCostByModel(e){return this.costMetrics.getCostByModel(e)}getTotalCost(e){return this.costMetrics.getTotalCost(e)}getCostTrend(e){return this.costMetrics.getCostTrend(e)}getAuditLog(e){return this.routerMetrics.getAuditLog(e)}getOptimizationSuggestions(){return this.costMetrics.getOptimizationSuggestions()}resetMetrics(){this.metrics.reset(),this.routerMetrics.resetMetrics(),this.costMetrics.reset()}clearCache(){this.decisionCache.clear()}async selectManual(e){let t=e.preferredProvider??this.config.defaultProvider,r=e.model??this.config.defaultModel,i=this.providerManager.getProvider(t);return i?this.createDecision(i,t,r,"manual"):this.createFallbackDecision(e,"manual")}async selectRuleBased(e){let t=this.ruleEngine.evaluate(e);if(t){let{rule:o,rulesEvaluated:n}=t,a=o.action.provider,s=this.providerManager.getProvider(a);if(s){let c=this.createDecision(s,a,o.action.model,"rule-match",o);return c.metadata.rulesEvaluated=n,c}}let r=this.config.defaultProvider,i=this.providerManager.getProvider(r);return i?this.createDecision(i,r,this.config.defaultModel,"default"):this.createFallbackDecision(e,"rule-based")}async selectCostOptimized(e){let t=this.providerManager.getAvailableProviders();if(t.length===0)return this.createFallbackDecision(e,"cost-optimized");let r=1/0,i=t[0],o,n=[];for(let a of t){let s=this.providerManager.getProvider(a);if(!s)continue;let{input:c,output:l}=s.getCostPerToken(),d=this.estimateCostValue(e,c,l);n.push({provider:a,model:s.getConfig().model,reason:`Estimated cost: $${d.toFixed(6)}`,estimatedCost:d,excluded:!1}),d<r&&(r=d,i=a,o=s)}if(o){let a=o.getConfig(),s=this.createDecision(o,i,a.model,"cost-optimization");return s.metadata.estimatedCost=this.createCostEstimate(e,o),s.metadata.alternativesConsidered=n,s}return this.createFallbackDecision(e,"cost-optimized")}async selectPerformanceOptimized(e){let t=this.providerManager.getAvailableProviders(),r=this.providerManager.getMetrics();if(t.length===0)return this.createFallbackDecision(e,"performance-optimized");let i=1/0,o=t[0],n,a=[];for(let s of t){let c=this.providerManager.getProvider(s);if(!c)continue;let d=r[s]?.avgLatencyMs??1/0;a.push({provider:s,model:c.getConfig().model,reason:`Avg latency: ${d}ms`,estimatedLatencyMs:d,excluded:!1}),d<i&&(i=d,o=s,n=c)}if(n){let s=n.getConfig(),c=this.createDecision(n,o,s.model,"performance-optimization");return c.metadata.estimatedLatencyMs=i,c.metadata.alternativesConsidered=a,c}return this.createFallbackDecision(e,"performance-optimized")}async executeWithFallback(e,t,r){let{fallbackChain:i,fallbackBehavior:o}=this.config,n,a=0,s=[{provider:t.providerType,model:t.providerModelId}],c=this.config.defaultProvider;c&&c!==t.providerType&&s.push({provider:c,model:this.config.defaultModel});for(let d of i.entries)if(d.enabled&&d.provider!==t.providerType)for(let g of d.models)s.push({provider:d.provider,model:g});let l=s;if(e.requiresTools){let d=s.filter(g=>w(g.model));if(d.length>0&&d.length<s.length){let g=s.filter(m=>!w(m.model)).map(m=>`${m.provider}:${m.model}`);console.warn(`[llm-router] requiresTools: skipping tool-less model(s) ${g.join(", ")}`),l=d}}this.providerManager.assertWithinBudget(e.messages,{model:l[0]?.model,maxTokens:e.maxTokens});for(let{provider:d,model:g}of l){if(a>=o.maxAttempts)break;let m=this.providerManager.getProvider(d);if(!m)continue;a++;let b=Date.now();try{let p=await m.generate(e.messages,{model:g,temperature:e.temperature,maxTokens:e.maxTokens,systemPrompt:e.systemPrompt,timeoutMs:e.timeoutMs,skipCache:e.skipCache,metadata:e.metadata});this.providerManager.recordResponseSpend(p,e.agentType);let h=Date.now()-b;return this.metrics.recordSuccess(d),this.routerMetrics.recordRoutingDecision(t,h,{agentType:e.agentType,success:!0,tokenUsage:p.usage,cost:p.cost}),this.routerMetrics.recordProviderCall(d,g,h,p.usage.totalTokens,{inputTokens:p.usage.promptTokens,outputTokens:p.usage.completionTokens,success:!0,cost:p.cost.totalCost,agentType:e.agentType}),this.costMetrics.recordCostFromInfo(d,g,p.usage,p.cost,{agentType:e.agentType,requestId:p.requestId}),{content:p.content,model:p.model,providerModelId:p.model,provider:p.provider,usage:p.usage,cost:p.cost,latencyMs:p.latencyMs,finishReason:p.finishReason,cached:p.cached,requestId:p.requestId,routingDecision:t}}catch(p){n=F(p);let h=Date.now()-b;if(this.metrics.recordFailure(d),this.routerMetrics.recordProviderCall(d,g,h,0,{success:!1,agentType:e.agentType}),a<s.length){let B=s[a];B&&this.routerMetrics.recordFallback(d,B.provider,n.message,e.agentType)}!(U(p)&&!p.retryable)&&a<o.maxAttempts&&await this.delay(o.delayMs)}}throw P(`All providers failed after ${a} attempts: ${n?.message??"Unknown error"}`,"PROVIDER_UNAVAILABLE",{retryable:!1,cause:n})}createDecision(e,t,r,i,o){let{canonicalModel:n,providerModelId:a}=this.resolveModelIds(r,t);return{provider:e,providerType:t,model:n,providerModelId:a,reason:i,matchedRule:o,confidence:i==="rule-match"?.95:.8,metadata:{decisionTimeMs:0,timestamp:new Date}}}resolveModelIds(e,t){let i={claude:"anthropic","claude-code":"anthropic",openai:"openai",ollama:"ollama",openrouter:"openrouter",gemini:"gemini","azure-openai":"azure",bedrock:"bedrock"}[t];if(!i)return{canonicalModel:e,providerModelId:e};try{let o=$(e),n=x(o,i);return{canonicalModel:o,providerModelId:n}}catch{try{if(H(e)){let n=x(e,i);return{canonicalModel:e,providerModelId:n}}}catch{}return{canonicalModel:e,providerModelId:e}}}createFallbackDecision(e,t){for(let i of this.config.fallbackChain.entries){if(!i.enabled||!["claude","openai","ollama"].includes(i.provider))continue;let n=this.providerManager.getProvider(i.provider);if(n)return this.createDecision(n,i.provider,i.models[0],"fallback")}let r=this.providerManager.getAvailableProviders();if(r.length>0){let i=r[0],o=this.providerManager.getProvider(i);return this.createDecision(o,i,o.getConfig().model,"fallback")}throw P(`No providers available for ${t} selection`,"PROVIDER_UNAVAILABLE",{retryable:!1})}generateCacheKey(e){return[this.config.mode,e.agentType??"default",e.complexity??"medium",e.requiresTools?"tools":"no-tools",e.preferredProvider??"any"].join(":")}estimateCostValue(e,t,r){let i=0;e.systemPrompt&&(i+=Math.ceil(e.systemPrompt.length/4));for(let n of e.messages)i+=Math.ceil(n.content.length/4);let o=e.maxTokens??1e3;return i*t+o*r}createCostEstimate(e,t){let{input:r,output:i}=t.getCostPerToken(),o=0;e.systemPrompt&&(o+=Math.ceil(e.systemPrompt.length/4));for(let s of e.messages)o+=Math.ceil(s.content.length/4);let n=e.maxTokens??1e3,a=o*r+n*i;return{inputTokens:o,outputTokens:n,totalCostUsd:a,inputCostPer1M:r*1e6,outputCostPer1M:i*1e6}}delay(e){return new Promise(t=>setTimeout(t,e))}async ensureInitialized(){this.initialized||await this.initialize()}},O=class{decisions=new Map;decisionsByMode={manual:0,"rule-based":0,"cost-optimized":0,"performance-optimized":0};totalDecisions=0;cacheHits=0;cacheMisses=0;totalRulesEvaluated=0;rulesMatched=0;fallbackCount=0;startTime=new Date;recordDecision(e,t){this.totalDecisions++,this.decisionsByMode[t]++,e.metadata.rulesEvaluated&&(this.totalRulesEvaluated+=e.metadata.rulesEvaluated),e.matchedRule&&this.rulesMatched++,e.reason==="fallback"&&this.fallbackCount++;let r=this.decisions.get(e.providerType);r||(r=this.createEmptyMetrics(e.providerType),this.decisions.set(e.providerType,r)),r.selectionCount++,e.reason==="rule-match"&&r.ruleMatchCount++,e.reason==="fallback"&&r.fallbackCount++}recordSuccess(e){let t=this.decisions.get(e);if(t){let r=t.successRate*t.selectionCount;t.successRate=(r+1)/t.selectionCount}}recordFailure(e){}recordCacheHit(){this.cacheHits++}recordCacheMiss(){this.cacheMisses++}getMetrics(){let e={};for(let[r,i]of this.decisions)e[r]={...i};let t=this.totalDecisions>0?this.rulesMatched/this.totalDecisions:0;return{byProvider:e,totalDecisions:this.totalDecisions,decisionsByMode:{...this.decisionsByMode},avgDecisionTimeMs:0,p95DecisionTimeMs:0,p99DecisionTimeMs:0,fallbackRate:this.totalDecisions>0?this.fallbackCount/this.totalDecisions:0,ruleMatchRate:t,estimatedCostSavings:0,ruleStats:{totalEvaluated:this.totalRulesEvaluated,matched:this.rulesMatched,avgRulesPerDecision:this.totalDecisions>0?this.totalRulesEvaluated/this.totalDecisions:0},cacheStats:{hits:this.cacheHits,misses:this.cacheMisses,hitRate:this.cacheHits+this.cacheMisses>0?this.cacheHits/(this.cacheHits+this.cacheMisses):0},period:{start:this.startTime,end:new Date}}}reset(){this.decisions.clear(),this.decisionsByMode={manual:0,"rule-based":0,"cost-optimized":0,"performance-optimized":0},this.totalDecisions=0,this.cacheHits=0,this.cacheMisses=0,this.totalRulesEvaluated=0,this.rulesMatched=0,this.fallbackCount=0,this.startTime=new Date}createEmptyMetrics(e){return{provider:e,selectionCount:0,ruleMatchCount:0,fallbackCount:0,avgDecisionTimeMs:0,successRate:1,avgLatencyMs:0,p95LatencyMs:0,p99LatencyMs:0,totalCost:0,totalTokens:0,circuitState:"closed"}}};function tt(u,e){return new M(u,e)}function rt(u){return new M(u,{mode:"rule-based",rules:L,defaultProvider:"claude",defaultModel:"claude-sonnet-4-6",enableMetrics:!0,cacheDecisions:!0})}export{Z as a,ee as b,L as c,M as d,tt as e,rt as f};
|
|
@@ -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.12");process.exit(0)}
|
|
2
|
-
import{c as a,d as b,e as c}from"./chunk-WE3VKDMK.js";import"./chunk-ZSAGRDXA.js";import"./chunk-L3GBNX7B.js";import"./chunk-ZMYV4R32.js";c();export{a as VibiumClientImpl,b as VibiumClientProvider};
|
|
@@ -1,15 +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.12");process.exit(0)}
|
|
2
|
-
import{a as I}from"./chunk-JTYCOFTD.js";import{b as O}from"./chunk-MB2KLJ6Q.js";import{a as w,c as T}from"./chunk-L3GBNX7B.js";import"./chunk-ZMYV4R32.js";T();import{copyFileSync as y,existsSync as c,mkdirSync as x,readFileSync as R,readdirSync as N,statSync as S,writeFileSync as C}from"fs";import{join as s,dirname as E}from"path";import{fileURLToPath as A}from"url";var j=class h{projectRoot;overwrite;options;generator;static AGENTS_START="<!-- BEGIN AGENTIC-QE CODEX -->";static AGENTS_END="<!-- END AGENTIC-QE CODEX -->";constructor(e){this.projectRoot=e.projectRoot,this.overwrite=e.overwrite??!1,this.options=e,this.generator=O()}async install(){let e={success:!0,mcpConfigured:!1,agentsMdInstalled:!1,hooksConfigured:!1,skillsInstalled:0,errors:[],configPath:"",agentsMdPath:"",hooksPath:s(this.projectRoot,".codex","hooks.json"),skillsPath:s(this.projectRoot,".agents","skills"),components:{mcp:{status:"skipped"},rules:{status:"skipped"},hooks:{status:"unavailable"},skills:{status:"unavailable"}}};try{let t=this.generator.generateMcpConfig("codex",{memoryBackend:this.options.memoryBackend}),o=s(this.projectRoot,t.path);e.configPath=o;let n=c(o);if(this.options.installMcp!==!1&&(!n||this.overwrite)){let i=E(o);if(c(i)||x(i,{recursive:!0}),c(o)&&this.overwrite){let u=this.mergeExistingTomlConfig(o,t.content);C(o,u)}else C(o,t.content);e.mcpConfigured=!0,e.components.mcp.status=n?"updated":"installed"}else this.options.installMcp!==!1&&n&&(e.components.mcp.status="preserved")}catch(t){this.recordComponentFailure(e,"mcp",t)}try{let t=this.generator.generateBehavioralRules("codex"),o=s(this.projectRoot,t.path);e.agentsMdPath=o;let n=c(o);if(!n||this.overwrite){if(n&&this.overwrite){let i=this.mergeExistingAgentsMd(o,t.content);C(o,i)}else C(o,this.markAgentsSection(t.content));e.agentsMdInstalled=!0,e.components.rules.status=n?"updated":"installed"}else e.components.rules.status="preserved"}catch(t){this.recordComponentFailure(e,"rules",t)}try{e.components.hooks.status=this.installCodexHooks(e)}catch(t){this.recordComponentFailure(e,"hooks",t)}try{let t=this.installCodexSkills();e.skillsInstalled=t.count,e.components.skills.status=t.status}catch(t){this.recordComponentFailure(e,"skills",t)}return e.success=e.errors.length===0,e}recordComponentFailure(e,t,o){let n=w(o);e.components[t]={status:"failed",error:n},e.errors.push(`Codex ${t} installation failed: ${n}`)}installCodexHooks(e){let t=this.resolvePackageRoot();if(!t)return"unavailable";let o=s(t,".codex","hooks.json"),n=s(t,".codex","hooks");if(!c(o)||!c(n))return"unavailable";let i=s(this.projectRoot,".codex"),u=s(i,"hooks");x(u,{recursive:!0});for(let r of N(n)){if(!this.options.includeRuflo&&r==="ruflo-codex-hook.cjs")continue;let g=s(n,r);if(!S(g).isFile())continue;let k=s(u,r);(!c(k)||this.overwrite)&&y(g,k)}let l=[{source:s(t,".claude","hooks","aqe-hook.cjs"),target:s(u,"aqe-runtime.cjs")},...this.options.includeRuflo?[{source:s(t,".claude","helpers","ruflo-hook.cjs"),target:s(u,"ruflo-runtime.cjs")}]:[]];for(let r of l)c(r.source)&&(!c(r.target)||this.overwrite)&&y(r.source,r.target);let a=JSON.parse(R(o,"utf-8")),p=r=>JSON.stringify(r).includes("ruflo-codex-hook.cjs"),m={...a,hooks:Object.fromEntries(Object.entries(a.hooks||{}).map(([r,g])=>[r,this.options.includeRuflo?g:g.filter(k=>!p(k))]))},d=s(i,"hooks.json");if(!c(d))return C(d,JSON.stringify(m,null,2)+`
|
|
3
|
-
`),e.hooksConfigured=!0,"installed";let f=JSON.parse(R(d,"utf-8")),v=r=>JSON.stringify(r).includes("/.codex/hooks/aqe-codex-hook.cjs")||JSON.stringify(r).includes("/.codex/hooks/ruflo-codex-hook.cjs"),b={},P=new Set([...Object.keys(f.hooks||{}),...Object.keys(m.hooks||{})]);for(let r of P){let g=(f.hooks?.[r]||[]).filter(k=>!v(k));b[r]=[...g,...m.hooks?.[r]||[]]}return C(d,JSON.stringify({...f,description:m.description,hooks:b},null,2)+`
|
|
4
|
-
`),e.hooksConfigured=!0,"updated"}installCodexSkills(){let e=this.resolvePackageRoot();if(!e)return{count:0,status:"unavailable"};let t=s(e,".agents","skills");if(!c(t))return{count:0,status:"unavailable"};let o=s(this.projectRoot,".agents","skills");x(o,{recursive:!0});let n=0,i=0;for(let l of I({includeRuflo:this.options.includeRuflo})){let a=s(t,l.name);if(!c(a)||!S(a).isDirectory())throw new Error(`Missing packaged Codex skill directory: ${l.name}`);let p=s(o,l.name);if(c(p)&&!this.overwrite)continue;let m=c(p);if(l.files){x(p,{recursive:!0});for(let d of l.files){let f=s(a,d);if(!c(f)||!S(f).isFile())throw new Error(`Missing packaged Codex skill file: ${l.name}/${d}`);let v=s(p,d);x(E(v),{recursive:!0}),y(f,v)}}else this.copyDirectory(a,p);m?i++:n++}return{count:n+i,status:i>0?"updated":n>0?"installed":"preserved"}}copyDirectory(e,t){x(t,{recursive:!0});for(let o of N(e)){let n=s(e,o),i=s(t,o);S(n).isDirectory()?this.copyDirectory(n,i):y(n,i)}}resolvePackageRoot(){let e=E(A(import.meta.url));return[s(e,"..",".."),s(E(process.argv[1]||""),"..",".."),s(this.projectRoot,"node_modules","agentic-qe")].find(o=>c(s(o,".codex","hooks.json"))||c(s(o,".agents","skills")))}mergeExistingTomlConfig(e,t){let o=R(e,"utf-8"),n=/^\s*\[mcp_servers\.(?:agentic-qe|"agentic-qe")(?:\.(?:[^\]]+))?\]\s*(?:#.*)?$/,i=o.split(/\r?\n/),u=[],l=!1;for(let a of i)/^\s*\[[^\]]+\]\s*(?:#.*)?$/.test(a)&&(l=n.test(a)),l||u.push(a);return u.join(`
|
|
5
|
-
`).trimEnd()+`
|
|
6
|
-
|
|
7
|
-
`+t.trim()+`
|
|
8
|
-
`}mergeExistingAgentsMd(e,t){let o=R(e,"utf-8"),n=this.markAgentsSection(t),i=h.AGENTS_START,u=h.AGENTS_END,l=o.indexOf(i);if(l>=0){let a=o.indexOf(u,l);if(a>=0)return o.slice(0,l)+n+o.slice(a+u.length)}return o.trimEnd()+`
|
|
9
|
-
|
|
10
|
-
---
|
|
11
|
-
|
|
12
|
-
`+n}markAgentsSection(e){return`${h.AGENTS_START}
|
|
13
|
-
${e.trim()}
|
|
14
|
-
${h.AGENTS_END}
|
|
15
|
-
`}};function J(h){return new j(h)}export{j as CodexInstaller,J 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.12");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-IPZEBALY.js";import"./chunk-M3354CE4.js";import"./chunk-UJUK6T4V.js";import"./chunk-4YFXF5AQ.js";import"./chunk-DCVFHVPR.js";import"./chunk-5PI75QYP.js";import"./chunk-QG5L2JM5.js";import"./chunk-66OQ7AB3.js";import"./chunk-MYVKTG55.js";import"./chunk-IPDM3CAK.js";import"./chunk-X2SZCVDA.js";import"./chunk-WXU7FAEB.js";import"./chunk-SXFSJJZF.js";import"./chunk-4FVOJBEU.js";import"./chunk-XT473WPO.js";import"./chunk-DGFINXUE.js";import"./chunk-TB2N3CAK.js";import"./chunk-HRTSYT4N.js";import"./chunk-I5SXLV7D.js";import"./chunk-A5RWLPVT.js";import"./chunk-AYH3DMW2.js";import"./chunk-MLFELTJX.js";import"./chunk-NDRZZSD5.js";import"./chunk-KXSUDN46.js";import"./chunk-LXVT6JXO.js";import"./chunk-NG6A7LCG.js";import"./chunk-6BSZHNOC.js";import"./chunk-WE3VKDMK.js";import"./chunk-7PCIN7UN.js";import"./chunk-2VY7FL6A.js";import"./chunk-IQH2RDN3.js";import"./chunk-P6EFKHNI.js";import"./chunk-NL2SCAGJ.js";import"./chunk-NJ3QXJ54.js";import"./chunk-X3JNFQW2.js";import"./chunk-XIKYUBIV.js";import"./chunk-IT5QIUUA.js";import"./chunk-HAJG44BD.js";import"./chunk-NTALX2YC.js";import"./chunk-DFLASG3B.js";import"./chunk-BODFJ3DC.js";import"./chunk-SCQNISGS.js";import"./chunk-RP5VFZJO.js";import"./chunk-BZIPYXSW.js";import"./chunk-OG3DBHIV.js";import"./chunk-ZSAGRDXA.js";import"./chunk-4ANJV6I4.js";import"./chunk-G45AOQDZ.js";import"./chunk-FI6J3UHJ.js";import"./chunk-GJJWXRAD.js";import"./chunk-4THFPRFM.js";import"./chunk-PVINNJ4P.js";import"./chunk-7A4WTRWI.js";import"./chunk-5VSS2RBD.js";import"./chunk-33YZGOT6.js";import"./chunk-QXO35J6F.js";import"./chunk-NNLZAVFH.js";import"./chunk-NJ4YVAG7.js";import"./chunk-AKUDUB3O.js";import"./chunk-R7LGVJMZ.js";import"./chunk-5PNQNBDZ.js";import"./chunk-QM4Z7TQH.js";import"./chunk-RACWX2ZX.js";import"./chunk-GQLJYTXN.js";import"./chunk-NLZUGANH.js";import"./chunk-UC4EIULB.js";import"./chunk-4AITMWFZ.js";import"./chunk-SNC73DWF.js";import"./chunk-WA6CSEOX.js";import"./chunk-WYFAPA2G.js";import"./chunk-WYIXNHPF.js";import"./chunk-MGKH4LCM.js";import"./chunk-TDVMILKO.js";import"./chunk-G6FJHDUG.js";import"./chunk-UQ4UCHO7.js";import"./chunk-Z6DSYLAG.js";import"./chunk-RP2BRRLX.js";import"./chunk-TJVTV3HP.js";import"./chunk-TWUWLSGQ.js";import"./chunk-TK5XLF3Z.js";import"./chunk-4M7YZ2X7.js";import"./chunk-44NPKZGI.js";import"./chunk-OZ53BIY5.js";import"./chunk-YQOQVSYU.js";import"./chunk-GMLRIZ4E.js";import"./chunk-VNODKACB.js";import"./chunk-2W3D5A4R.js";import"./chunk-UWZYXI3R.js";import"./chunk-H3GAR4SV.js";import"./chunk-VQD2ELNL.js";import"./chunk-O4BWESH5.js";import"./chunk-S6WHYOWV.js";import"./chunk-PGFCKE4G.js";import"./chunk-M73KM3AZ.js";import"./chunk-KRZYWVS3.js";import"./chunk-3ASVQILY.js";import"./chunk-GEQWCK4F.js";import"./chunk-IOJ34SXJ.js";import"./chunk-6KI6LAAZ.js";import"./chunk-VA2ORJB5.js";import"./chunk-7ZVO7I4Q.js";import"./chunk-HQWFZQMJ.js";import"./chunk-EDRPTLAX.js";import"./chunk-E67ZXRG6.js";import"./chunk-L3GBNX7B.js";import"./chunk-52VGZJSD.js";import"./chunk-XM5I7J5S.js";import"./chunk-Z56BBX77.js";import"./chunk-5E76HULA.js";import"./chunk-7LATB5IR.js";import"./chunk-4Z4X2ND4.js";import"./chunk-U5G6OC2C.js";import"./chunk-JVFZAJ5N.js";import"./chunk-2VTX4SYW.js";import"./chunk-N4OQ4D4V.js";import"./chunk-AN5CGTTJ.js";import"./chunk-ZMYV4R32.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.12");process.exit(0)}
|
|
2
|
-
import{a,b}from"./chunk-QXO35J6F.js";import"./chunk-NNLZAVFH.js";import"./chunk-E67ZXRG6.js";import"./chunk-52VGZJSD.js";import"./chunk-ZMYV4R32.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.12");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-IQH2RDN3.js";import"./chunk-P6EFKHNI.js";import"./chunk-NL2SCAGJ.js";import"./chunk-NJ3QXJ54.js";import"./chunk-TWUWLSGQ.js";import"./chunk-TK5XLF3Z.js";import"./chunk-4M7YZ2X7.js";import"./chunk-44NPKZGI.js";import"./chunk-OZ53BIY5.js";import"./chunk-YQOQVSYU.js";import"./chunk-GMLRIZ4E.js";import"./chunk-VNODKACB.js";import"./chunk-2W3D5A4R.js";import"./chunk-UWZYXI3R.js";import"./chunk-H3GAR4SV.js";import"./chunk-VQD2ELNL.js";import"./chunk-O4BWESH5.js";import"./chunk-S6WHYOWV.js";import"./chunk-PGFCKE4G.js";import"./chunk-M73KM3AZ.js";import"./chunk-KRZYWVS3.js";import"./chunk-3ASVQILY.js";import"./chunk-GEQWCK4F.js";import"./chunk-IOJ34SXJ.js";import"./chunk-6KI6LAAZ.js";import"./chunk-VA2ORJB5.js";import"./chunk-7ZVO7I4Q.js";import"./chunk-HQWFZQMJ.js";import"./chunk-EDRPTLAX.js";import"./chunk-E67ZXRG6.js";import"./chunk-L3GBNX7B.js";import"./chunk-52VGZJSD.js";import"./chunk-Z56BBX77.js";import"./chunk-5E76HULA.js";import"./chunk-7LATB5IR.js";import"./chunk-4Z4X2ND4.js";import"./chunk-U5G6OC2C.js";import"./chunk-JVFZAJ5N.js";import"./chunk-2VTX4SYW.js";import"./chunk-N4OQ4D4V.js";import"./chunk-AN5CGTTJ.js";import"./chunk-ZMYV4R32.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,3 +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.12");process.exit(0)}
|
|
2
|
-
import{a as r,b as i}from"./chunk-PGFCKE4G.js";import"./chunk-L3GBNX7B.js";import"./chunk-JVFZAJ5N.js";import"./chunk-ZMYV4R32.js";async function u(a,o,d,s,m,t={}){try{let e=`${d??""} ${s??""} ${(m??[]).join(" ")}`.trim();if(!e)return;let n=await i(e,t);if(!n||n.length===0)return;let f=Buffer.from(new Float32Array(n).buffer),g={...r,...t};a.prepare(`INSERT OR REPLACE INTO qe_pattern_embeddings (pattern_id, embedding, dimension, model)
|
|
3
|
-
VALUES (?, ?, ?, ?)`).run(o,f,n.length,g.modelName)}catch(e){console.debug("[ensurePatternEmbedding] non-fatal:",e instanceof Error?e.message:String(e))}}export{u as ensurePatternEmbedding};
|
|
@@ -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.12");process.exit(0)}
|
|
2
|
-
import{b as a}from"./chunk-ASWWBNX2.js";import"./chunk-LXVT6JXO.js";import"./chunk-NG6A7LCG.js";import"./chunk-6BSZHNOC.js";import"./chunk-YQOQVSYU.js";import"./chunk-M73KM3AZ.js";import"./chunk-KRZYWVS3.js";import"./chunk-3ASVQILY.js";import"./chunk-GEQWCK4F.js";import"./chunk-IOJ34SXJ.js";import"./chunk-6KI6LAAZ.js";import"./chunk-VA2ORJB5.js";import"./chunk-L3GBNX7B.js";import"./chunk-Z56BBX77.js";import"./chunk-5E76HULA.js";import"./chunk-7LATB5IR.js";import"./chunk-4Z4X2ND4.js";import"./chunk-U5G6OC2C.js";import"./chunk-JVFZAJ5N.js";import"./chunk-2VTX4SYW.js";import"./chunk-N4OQ4D4V.js";import"./chunk-AN5CGTTJ.js";import"./chunk-ZMYV4R32.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.12");process.exit(0)}
|
|
2
|
-
import{a,b}from"./chunk-2VTX4SYW.js";import"./chunk-N4OQ4D4V.js";import"./chunk-AN5CGTTJ.js";import"./chunk-ZMYV4R32.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.12");process.exit(0)}
|
|
2
|
-
import{a,b,c,d}from"./chunk-TJVTV3HP.js";import"./chunk-GEQWCK4F.js";import"./chunk-IOJ34SXJ.js";import"./chunk-4Z4X2ND4.js";import"./chunk-2VTX4SYW.js";import"./chunk-N4OQ4D4V.js";import"./chunk-AN5CGTTJ.js";import"./chunk-ZMYV4R32.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.12");process.exit(0)}
|
|
2
|
-
import{d as a,e as b,f as c}from"./chunk-WYIXNHPF.js";import"./chunk-MGKH4LCM.js";import"./chunk-TDVMILKO.js";import"./chunk-G6FJHDUG.js";import"./chunk-UQ4UCHO7.js";import"./chunk-Z6DSYLAG.js";import"./chunk-L3GBNX7B.js";import"./chunk-52VGZJSD.js";import"./chunk-ZMYV4R32.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.12");process.exit(0)}
|
|
2
|
-
import{a}from"./chunk-RP5VFZJO.js";import"./chunk-BZIPYXSW.js";import"./chunk-OG3DBHIV.js";import"./chunk-WYFAPA2G.js";import"./chunk-GEQWCK4F.js";import"./chunk-IOJ34SXJ.js";import"./chunk-VA2ORJB5.js";import"./chunk-E67ZXRG6.js";import"./chunk-L3GBNX7B.js";import"./chunk-52VGZJSD.js";import"./chunk-ZMYV4R32.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.12");process.exit(0)}
|
|
2
|
-
import{a,b,c,d}from"./chunk-LRO74LPA.js";import"./chunk-GJUGG6UR.js";import"./chunk-AM42ROKZ.js";import"./chunk-SCQNISGS.js";import"./chunk-FI6J3UHJ.js";import"./chunk-VA2ORJB5.js";import"./chunk-L3GBNX7B.js";import"./chunk-Z56BBX77.js";import"./chunk-5E76HULA.js";import"./chunk-ZMYV4R32.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.12");process.exit(0)}
|
|
2
|
-
import{A as b,z as a}from"./chunk-QG5L2JM5.js";import"./chunk-66OQ7AB3.js";import"./chunk-MYVKTG55.js";import"./chunk-IPDM3CAK.js";import"./chunk-X2SZCVDA.js";import"./chunk-WXU7FAEB.js";import"./chunk-4FVOJBEU.js";import"./chunk-DGFINXUE.js";import"./chunk-TB2N3CAK.js";import"./chunk-HRTSYT4N.js";import"./chunk-AYH3DMW2.js";import"./chunk-KXSUDN46.js";import"./chunk-WE3VKDMK.js";import"./chunk-7PCIN7UN.js";import"./chunk-2VY7FL6A.js";import"./chunk-IQH2RDN3.js";import"./chunk-P6EFKHNI.js";import"./chunk-NL2SCAGJ.js";import"./chunk-NJ3QXJ54.js";import"./chunk-IT5QIUUA.js";import"./chunk-NTALX2YC.js";import"./chunk-DFLASG3B.js";import"./chunk-BODFJ3DC.js";import"./chunk-SCQNISGS.js";import"./chunk-RP5VFZJO.js";import"./chunk-BZIPYXSW.js";import"./chunk-OG3DBHIV.js";import"./chunk-ZSAGRDXA.js";import"./chunk-GJJWXRAD.js";import"./chunk-4THFPRFM.js";import"./chunk-7A4WTRWI.js";import"./chunk-5VSS2RBD.js";import"./chunk-33YZGOT6.js";import"./chunk-NNLZAVFH.js";import"./chunk-RACWX2ZX.js";import"./chunk-GQLJYTXN.js";import"./chunk-NLZUGANH.js";import"./chunk-UC4EIULB.js";import"./chunk-4AITMWFZ.js";import"./chunk-SNC73DWF.js";import"./chunk-WA6CSEOX.js";import"./chunk-WYFAPA2G.js";import"./chunk-WYIXNHPF.js";import"./chunk-MGKH4LCM.js";import"./chunk-TDVMILKO.js";import"./chunk-G6FJHDUG.js";import"./chunk-UQ4UCHO7.js";import"./chunk-Z6DSYLAG.js";import"./chunk-RP2BRRLX.js";import"./chunk-TJVTV3HP.js";import"./chunk-TWUWLSGQ.js";import"./chunk-TK5XLF3Z.js";import"./chunk-4M7YZ2X7.js";import"./chunk-44NPKZGI.js";import"./chunk-OZ53BIY5.js";import"./chunk-YQOQVSYU.js";import"./chunk-GMLRIZ4E.js";import"./chunk-VNODKACB.js";import"./chunk-2W3D5A4R.js";import"./chunk-UWZYXI3R.js";import"./chunk-H3GAR4SV.js";import"./chunk-VQD2ELNL.js";import"./chunk-O4BWESH5.js";import"./chunk-S6WHYOWV.js";import"./chunk-PGFCKE4G.js";import"./chunk-M73KM3AZ.js";import"./chunk-KRZYWVS3.js";import"./chunk-3ASVQILY.js";import"./chunk-GEQWCK4F.js";import"./chunk-IOJ34SXJ.js";import"./chunk-6KI6LAAZ.js";import"./chunk-VA2ORJB5.js";import"./chunk-7ZVO7I4Q.js";import"./chunk-HQWFZQMJ.js";import"./chunk-EDRPTLAX.js";import"./chunk-E67ZXRG6.js";import"./chunk-L3GBNX7B.js";import"./chunk-52VGZJSD.js";import"./chunk-XM5I7J5S.js";import"./chunk-Z56BBX77.js";import"./chunk-5E76HULA.js";import"./chunk-7LATB5IR.js";import"./chunk-4Z4X2ND4.js";import"./chunk-U5G6OC2C.js";import"./chunk-JVFZAJ5N.js";import"./chunk-2VTX4SYW.js";import"./chunk-N4OQ4D4V.js";import"./chunk-AN5CGTTJ.js";import"./chunk-ZMYV4R32.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.12");process.exit(0)}
|
|
2
|
-
import{g as a}from"./chunk-BZIPYXSW.js";import"./chunk-OG3DBHIV.js";import"./chunk-WYFAPA2G.js";import"./chunk-GEQWCK4F.js";import"./chunk-IOJ34SXJ.js";import"./chunk-VA2ORJB5.js";import"./chunk-E67ZXRG6.js";import"./chunk-L3GBNX7B.js";import"./chunk-ZMYV4R32.js";export{a as KnowledgeGraphService};
|
|
@@ -1,119 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.13.12");process.exit(0)}
|
|
3
|
-
import{a as te}from"./chunk-UJUK6T4V.js";import{b as ee}from"./chunk-P6EFKHNI.js";import{a as Y}from"./chunk-IT5QIUUA.js";import{h as Z}from"./chunk-TWUWLSGQ.js";import"./chunk-TK5XLF3Z.js";import"./chunk-4M7YZ2X7.js";import"./chunk-44NPKZGI.js";import"./chunk-OZ53BIY5.js";import{i as B}from"./chunk-YQOQVSYU.js";import"./chunk-GMLRIZ4E.js";import"./chunk-VNODKACB.js";import"./chunk-2W3D5A4R.js";import"./chunk-UWZYXI3R.js";import"./chunk-H3GAR4SV.js";import{d as X}from"./chunk-S6WHYOWV.js";import"./chunk-PGFCKE4G.js";import{m as K}from"./chunk-M73KM3AZ.js";import"./chunk-KRZYWVS3.js";import"./chunk-3ASVQILY.js";import"./chunk-GEQWCK4F.js";import"./chunk-IOJ34SXJ.js";import{b as A}from"./chunk-6KI6LAAZ.js";import{b as q,d as ge}from"./chunk-VA2ORJB5.js";import"./chunk-7ZVO7I4Q.js";import"./chunk-HQWFZQMJ.js";import"./chunk-EDRPTLAX.js";import"./chunk-E67ZXRG6.js";import"./chunk-L3GBNX7B.js";import"./chunk-52VGZJSD.js";import{a as k,b as J}from"./chunk-Z56BBX77.js";import"./chunk-5E76HULA.js";import"./chunk-7LATB5IR.js";import"./chunk-4Z4X2ND4.js";import"./chunk-U5G6OC2C.js";import"./chunk-JVFZAJ5N.js";import"./chunk-2VTX4SYW.js";import"./chunk-N4OQ4D4V.js";import"./chunk-AN5CGTTJ.js";import"./chunk-ZMYV4R32.js";K();ge();import{Command as ye}from"commander";import o from"chalk";import S from"node:path";import{existsSync as $,writeFileSync as le,readFileSync as V,mkdirSync as de,copyFileSync as L,renameSync as ce}from"node:fs";import{stat as M,unlink as x}from"node:fs/promises";J();K();import D from"chalk";import z from"node:path";import{createReadStream as ne,createWriteStream as oe}from"node:fs";import{createGzip as ue,createGunzip as pe}from"node:zlib";import{pipeline as re}from"node:stream/promises";J();var T={reasoningBank:null,initialized:!1};async function P(){if(T.initialized&&T.reasoningBank)return T.reasoningBank;let l=A(),t=z.join(l,".agentic-qe"),e=new Y({sqlite:{path:z.join(t,"memory.db"),walMode:!0,poolSize:3,busyTimeout:5e3},enableFallback:!0,defaultNamespace:"qe-patterns"});await e.initialize(),T.reasoningBank=Z(e,void 0,{enableLearning:!0,enableGuidance:!0,enableRouting:!0,embeddingDimension:384,useONNXEmbeddings:!0}),await T.reasoningBank.initialize();try{let{getSharedRvfDualWriter:n}=await import("./shared-rvf-dual-writer-B7N6AOCY.js"),i=await n();i&&T.reasoningBank.setRvfDualWriter(i)}catch(n){process.env.DEBUG&&console.debug("[learning] RVF wiring skipped:",n instanceof Error?n.message:n)}return T.initialized=!0,T.reasoningBank}function b(l){console.log(JSON.stringify(l,null,2))}function O(l){console.log(D.green("\u2713"),l)}function E(l){console.error(D.red("\u2717"),l)}function _(l){console.log(D.blue("\u2139"),l)}function ae(l){let{current:t,topDomains:e}=l,n={tl:"\u250C",tr:"\u2510",bl:"\u2514",br:"\u2518",h:"\u2500",v:"\u2502",ml:"\u251C",mr:"\u2524"},i=55,d=n.h.repeat(i-2);console.log(""),console.log(`${n.tl}${d}${n.tr}`),console.log(`${n.v}${me("AQE LEARNING DASHBOARD",i-2)}${n.v}`),console.log(`${n.ml}${d}${n.mr}`);let c=t.patternsCreatedToday>0?D.green(` (+${t.patternsCreatedToday} today)`):"";console.log(`${n.v} Patterns: ${C(String(t.totalPatterns)+c,32)}${n.v}`);let g=t.experiencesToday>0?D.green(` (+${t.experiencesToday} today)`):"";console.log(`${n.v} Experiences: ${C(String(t.totalExperiences)+g,32)}${n.v}`),console.log(`${n.v} Q-Values: ${C(String(t.totalQValues),32)}${n.v}`);let p=t.avgReward.toFixed(2),u=t.avgRewardDelta>=0?D.green(`(\u2191 ${Math.abs(t.avgRewardDelta).toFixed(2)} from last week)`):D.red(`(\u2193 ${Math.abs(t.avgRewardDelta).toFixed(2)} from last week)`);console.log(`${n.v} Avg Reward: ${C(`${p} ${u}`,32)}${n.v}`);let r=(t.successRate*100).toFixed(1);if(console.log(`${n.v} Success Rate: ${C(`${r}%`,32)}${n.v}`),console.log(`${n.v} Short-term: ${C(String(t.shortTermPatterns),32)}${n.v}`),console.log(`${n.v} Long-term: ${C(String(t.longTermPatterns),32)}${n.v}`),console.log(`${n.v}${" ".repeat(i-2)}${n.v}`),console.log(`${n.v} ${D.bold("Domain Coverage:")}${" ".repeat(i-19)}${n.v}`),e.length===0)console.log(`${n.v} ${D.dim("No patterns yet")}${" ".repeat(i-19)}${n.v}`);else{let a=Math.max(...e.map(y=>y.count),1),m=14;for(let{domain:y,count:h}of e){let w=Math.round(h/a*m),v=m-w,R=D.green("\u2588".repeat(w))+D.dim("\u2591".repeat(v)),F=C(y,20),Q=fe(String(h),3);console.log(`${n.v} ${F} ${R} ${Q} patterns ${n.v}`)}let s=new Set(e.map(y=>y.domain)),f=B.filter(y=>!s.has(y)).slice(0,3);for(let y of f){let h=D.dim("\u2591".repeat(m)),w=C(y,20);console.log(`${n.v} ${w} ${h} 0 patterns ${n.v}`)}}console.log(`${n.bl}${d}${n.br}`),console.log("")}function me(l,t){let e=W(l),n=Math.max(0,t-e.length),i=Math.floor(n/2),d=n-i;return" ".repeat(i)+l+" ".repeat(d)}function C(l,t){let e=W(l),n=Math.max(0,t-e.length);return l+" ".repeat(n)}function fe(l,t){let e=W(l),n=Math.max(0,t-e.length);return" ".repeat(n)+l}function W(l){return l.replace(/\x1b\[[0-9;]*m/g,"")}function N(){let l=A();return z.join(l,".agentic-qe","memory.db")}async function G(l,t){let e=t||`${l}.gz`;return await re(ne(l),ue(),oe(e)),e}async function H(l,t){await re(ne(l),pe(),oe(t))}async function j(l){try{let t=k(l,{readonly:!0}),e=t.prepare("PRAGMA integrity_check").get();return t.close(),e.integrity_check==="ok"?{valid:!0,message:"Database integrity verified"}:{valid:!1,message:`Integrity check failed: ${e.integrity_check}`}}catch(t){return{valid:!1,message:`Failed to verify: ${t instanceof Error?t.message:"unknown error"}`}}}async function I(l){try{let t=k(l,{readonly:!0});if(!t.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name='schema_version'").get())return t.close(),0;let n=t.prepare("SELECT version FROM schema_version WHERE id = 1").get();return t.close(),n?.version??0}catch{return 0}}var U="3.1.0",se={generate:"test-generation","test-generation":"test-generation",analyze:"coverage-analysis",coverage:"coverage-analysis","coverage-analysis":"coverage-analysis",run:"test-execution","test-execution":"test-execution",report:"quality-assessment",quality:"quality-assessment","quality-analysis":"quality-assessment",security:"security-compliance",sast:"security-compliance",owasp:"security-compliance",secrets:"security-compliance",audit:"security-compliance",recommend:"defect-intelligence",predict:"defect-intelligence","complexity-analysis":"code-intelligence","code-analysis":"code-intelligence",stabilize:"chaos-resilience",flaky:"chaos-resilience",quarantine:"chaos-resilience",retry:"chaos-resilience",stress:"chaos-resilience",load:"chaos-resilience",endurance:"chaos-resilience",baseline:"chaos-resilience"},ie={generate:"test-template","test-generation":"test-template",analyze:"coverage-strategy",coverage:"coverage-strategy","coverage-analysis":"coverage-strategy",run:"test-template","test-execution":"test-template",report:"assertion-pattern",quality:"assertion-pattern","quality-analysis":"assertion-pattern",security:"assertion-pattern",sast:"assertion-pattern",owasp:"assertion-pattern",secrets:"assertion-pattern",audit:"assertion-pattern",recommend:"assertion-pattern",predict:"assertion-pattern","complexity-analysis":"assertion-pattern","code-analysis":"assertion-pattern",stabilize:"flaky-fix",flaky:"flaky-fix",quarantine:"flaky-fix",retry:"flaky-fix",stress:"perf-benchmark",load:"perf-benchmark",endurance:"perf-benchmark",baseline:"perf-benchmark",mock:"mock-pattern",dependency:"mock-pattern"};function lt(){let l=new ye("learning").description("AQE self-learning system management (standalone, no claude-flow required)").addHelpText("after",`
|
|
4
|
-
Examples:
|
|
5
|
-
# Check learning system status
|
|
6
|
-
aqe learning stats
|
|
7
|
-
|
|
8
|
-
# Consolidate patterns (promote successful patterns to long-term memory)
|
|
9
|
-
aqe learning consolidate
|
|
10
|
-
|
|
11
|
-
# Export learned patterns for sharing
|
|
12
|
-
aqe learning export --output patterns.json
|
|
13
|
-
|
|
14
|
-
# Import patterns from another project
|
|
15
|
-
aqe learning import --input patterns.json
|
|
16
|
-
|
|
17
|
-
# Run background learning consolidation
|
|
18
|
-
aqe learning daemon --interval 3600
|
|
19
|
-
`);return we(l),$e(l),be(l),ve(l),Se(l),Ee(l),xe(l),Re(l),ke(l),De(l),Ce(l),Oe(l),Pe(l),Ae(l),he(l),Te(l),Ne(l),Ie(l),l}function he(l){l.command("backfill-embeddings").description("Generate embeddings for learned patterns that are missing vectors").option("-b, --batch-size <n>","Patterns per embedding batch","32").option("--dry-run","Report missing embeddings without writing").option("--json","Output as JSON").action(async t=>{let e=Number(t.batchSize);if(!Number.isInteger(e)||e<=0)throw new Error("batch size must be a positive integer");let n=X();try{await n.initialize();let i=n.getGhostPatternCount();if(t.dryRun){t.json?b({dryRun:!0,batchSize:e,...i}):(console.log(o.bold(`
|
|
20
|
-
Pattern Embedding Backfill (dry run)
|
|
21
|
-
`)),console.log(` Patterns: ${i.total}`),console.log(` Missing embeddings: ${i.withoutEmbeddings}`),i.sampleGhostIds.length>0&&console.log(` Sample IDs: ${i.sampleGhostIds.join(", ")}`),console.log(""));return}let d=await n.backfillEmbeddings(e),c=n.getGhostPatternCount(),g={...d,batchSize:e,missingBefore:i.withoutEmbeddings,missingAfter:c.withoutEmbeddings};t.json?b(g):(O("Pattern embedding backfill complete."),console.log(` Processed: ${d.processed}`),console.log(` Skipped: ${d.skipped}`),console.log(` Errors: ${d.errors}`),console.log(` Remaining missing: ${c.withoutEmbeddings}`),console.log(` Method: ${d.method}`),console.log(""))}catch(i){throw E(`backfill-embeddings failed: ${i instanceof Error?i.message:"unknown"}`),i}finally{n.close()}})}function we(l){l.command("stats").description("Display learning system statistics").option("--json","Output as JSON").option("--detailed","Show detailed breakdown").action(async t=>{try{let n=await(await P()).getStats();if(t.json)b(n);else{console.log(o.bold(`
|
|
22
|
-
\u{1F4CA} AQE Learning System Statistics
|
|
23
|
-
`)),console.log(o.bold("Patterns:")),console.log(` Total: ${o.cyan(n.totalPatterns)}`),console.log(` Short-term: ${n.patternStoreStats.byTier.shortTerm}`),console.log(` Long-term: ${n.patternStoreStats.byTier.longTerm}`),console.log(` Avg Confidence: ${(n.patternStoreStats.avgConfidence*100).toFixed(1)}%`),console.log(` Avg Quality: ${(n.patternStoreStats.avgQualityScore*100).toFixed(1)}%`),console.log(o.bold(`
|
|
24
|
-
By Domain:`));let i=Object.entries(n.byDomain).filter(([c,g])=>g>0).sort((c,g)=>g[1]-c[1]);if(i.length===0)console.log(o.dim(" No patterns yet"));else for(let[c,g]of i)console.log(` ${c}: ${g}`);console.log(o.bold(`
|
|
25
|
-
Learning:`)),console.log(` Routing Requests: ${n.routingRequests}`),console.log(` Avg Routing Confidence: ${(n.avgRoutingConfidence*100).toFixed(1)}%`),console.log(` Learning Outcomes: ${n.learningOutcomes}`),console.log(` Pattern Success Rate: ${(n.patternSuccessRate*100).toFixed(1)}%`),console.log(o.bold(`
|
|
26
|
-
Search Performance:`)),console.log(` Operations: ${n.patternStoreStats.searchOperations}`),console.log(` Avg Latency: ${n.patternStoreStats.avgSearchLatencyMs.toFixed(2)}ms`),console.log(` HNSW Native: ${n.patternStoreStats.hnswStats.nativeAvailable?o.green("\u2713"):o.dim("\u25CB")}`),console.log(` Vector Count: ${n.patternStoreStats.hnswStats.vectorCount}`);let d=n.asymmetricLearning;if(d&&(console.log(o.bold(`
|
|
27
|
-
Asymmetric Learning (ADR-061):`)),console.log(` Failure Penalty Ratio: ${d.failurePenaltyRatio||"10:1"}`),console.log(` Quarantined Patterns: ${d.quarantinedPatterns||0}`),console.log(` Rehabilitated: ${d.rehabilitatedPatterns||0}`),console.log(` Avg Confidence Delta: ${((d.avgConfidenceDelta||0)*100).toFixed(1)}%`)),t.detailed){console.log(o.bold(`
|
|
28
|
-
By Pattern Type:`));for(let[c,g]of Object.entries(n.patternStoreStats.byType))g>0&&console.log(` ${c}: ${g}`)}console.log("")}return}catch(e){throw E(`stats failed: ${e instanceof Error?e.message:"unknown"}`),e}})}function $e(l){l.command("consolidate").description("Consolidate patterns - promote successful patterns to long-term memory").option("--dry-run","Show what would be promoted without making changes").option("--threshold <n>","Minimum successful uses for promotion","3").option("--success-rate <n>","Minimum success rate for promotion (0-1)","0.7").option("--json","Output as JSON").action(async t=>{try{let e=await P(),n=Number(t.threshold),i=Number(t.successRate),d=.6;if(!Number.isInteger(n)||n<1)throw new Error("threshold must be a positive integer");if(!Number.isFinite(i)||i<0||i>1)throw new Error("success rate must be between 0 and 1");let c=[],g=await e.searchPatterns("",{limit:1e3});if(!g.success)throw new Error(g.error.message);for(let r of g.value){let a=r.pattern;a.tier==="short-term"&&a.successfulUses>=n&&a.successRate>=i&&a.confidence>=d&&c.push({id:a.id,name:a.name,domain:a.qeDomain,successfulUses:a.successfulUses,successRate:a.successRate,currentTier:a.tier})}let p=0,u=[];if(!t.dryRun)for(let r of c){let a=await e.promotePattern(r.id);a.success?p++:u.push({id:r.id,error:a.error.message})}if(t.json)b({dryRun:t.dryRun||!1,eligibleCount:c.length,promotedCount:p,failedCount:u.length,threshold:n,successRateMin:i,confidenceMin:d,patterns:c,failures:u});else{if(console.log(o.bold(`
|
|
29
|
-
\u{1F504} Pattern Consolidation
|
|
30
|
-
`)),console.log(` Promotion threshold: ${n} successful uses`),console.log(` Minimum success rate: ${(i*100).toFixed(0)}%`),console.log(` Minimum confidence: ${(d*100).toFixed(0)}%`),console.log(` Eligible patterns: ${c.length}
|
|
31
|
-
`),c.length===0)console.log(o.dim(" No patterns eligible for promotion yet."));else{console.log(o.bold(" Patterns to promote:"));for(let r of c)console.log(` ${o.cyan(r.name)}`),console.log(o.dim(` Domain: ${r.domain}, Uses: ${r.successfulUses}, Rate: ${(r.successRate*100).toFixed(0)}%`));if(t.dryRun)console.log(o.yellow(`
|
|
32
|
-
Dry run - no changes made`));else if(console.log(o.green(`
|
|
33
|
-
Promoted: ${p}`)),u.length>0){console.log(o.red(` Failed: ${u.length}`));for(let r of u)console.log(o.dim(` ${r.id}: ${r.error}`))}}console.log("")}return}catch(e){throw E(`consolidate failed: ${e instanceof Error?e.message:"unknown"}`),e}})}function be(l){l.command("export").description("Export learned patterns for sharing").option("-o, --output <file>","Output file path","aqe-patterns.json").option("-d, --domain <domain>","Filter by domain").option("--long-term-only","Only export long-term patterns").option("--json","Output as JSON (to stdout)").action(async t=>{try{let n=await(await P()).searchPatterns("",{limit:1e4,domain:t.domain});if(!n.success)throw new Error(n.error.message);let i=n.value.map(c=>c.pattern).filter(c=>!t.longTermOnly||c.tier==="long-term"),d={version:"3.0.0",exportedAt:new Date().toISOString(),source:process.cwd(),patternCount:i.length,patterns:i.map(c=>({id:c.id,name:c.name,description:c.description,patternType:c.patternType,qeDomain:c.qeDomain,tier:c.tier,confidence:c.confidence,successRate:c.successRate,successfulUses:c.successfulUses,qualityScore:c.qualityScore,template:c.template,context:c.context}))};if(t.json)b(d);else{let c=S.resolve(t.output);le(c,JSON.stringify(d,null,2),"utf-8"),O(`Exported ${i.length} patterns to ${c}`)}return}catch(e){throw E(`export failed: ${e instanceof Error?e.message:"unknown"}`),e}})}function ve(l){l.command("import").description("Import patterns from file").requiredOption("-i, --input <file>","Input file path").option("--dry-run","Show what would be imported without making changes").option("--json","Output as JSON").action(async t=>{try{let e=S.resolve(t.input);if(!$(e))throw new Error(`File not found: ${e}`);let n=V(e,"utf-8"),i=q(n);if(!i.patterns||!Array.isArray(i.patterns))throw new Error("Invalid pattern file format");let d=await P(),c=0,g=0,p=[];if(!t.dryRun)for(let u of i.patterns)try{let r=await d.storePattern({patternType:u.patternType,name:u.name,description:u.description,template:u.template,context:u.context});r.success?c++:(g++,p.push(`${u.name}: ${r.error.message}`))}catch(r){g++,p.push(`${u.name}: ${r instanceof Error?r.message:"unknown"}`)}t.json?b({dryRun:t.dryRun||!1,totalPatterns:i.patterns.length,imported:c,skipped:g,errors:p}):(console.log(o.bold(`
|
|
34
|
-
\u{1F4E5} Pattern Import
|
|
35
|
-
`)),console.log(` Source: ${e}`),console.log(` Total patterns: ${i.patterns.length}`),t.dryRun?(console.log(o.yellow(`
|
|
36
|
-
Dry run - no changes made`)),console.log(` Would import: ${i.patterns.length} patterns`)):(console.log(o.green(`
|
|
37
|
-
Imported: ${c}`)),g>0&&console.log(o.yellow(` Skipped: ${g}`))),console.log(""));return}catch(e){throw E(`import failed: ${e instanceof Error?e.message:"unknown"}`),e}})}function Se(l){l.command("reset").description("Reset learning data (patterns and metrics)").option("--confirm","Confirm reset without prompting").option("--patterns-only","Only reset patterns, keep metrics").action(async t=>{try{if(!t.confirm){console.log(o.yellow(`
|
|
38
|
-
\u26A0\uFE0F This will reset your learning data.`)),console.log(o.gray(` Use --confirm to proceed
|
|
39
|
-
`));return}let e=A(),n=S.join(e,".agentic-qe"),i=[S.join(n,"data","patterns"),S.join(n,"data","hnsw")];t.patternsOnly||i.push(S.join(n,"data","learning-config.json")),console.log(o.bold(`
|
|
40
|
-
\u{1F5D1}\uFE0F Resetting Learning Data
|
|
41
|
-
`));for(let d of i)$(d)&&console.log(o.dim(` Removing: ${S.relative(e,d)}`));O(`Learning data reset. Run "aqe init --auto" to reinitialize.
|
|
42
|
-
`);return}catch(e){throw E(`reset failed: ${e instanceof Error?e.message:"unknown"}`),e}})}function Ee(l){l.command("extract").description("Extract QE patterns from existing learning experiences").option("--min-reward <n>","Minimum reward threshold for pattern extraction","0.7").option("--min-count <n>","Minimum occurrences to form a pattern","3").option("--dry-run","Show what would be extracted without saving").option("--json","Output as JSON").action(async t=>{try{let e=A(),n=S.join(e,".agentic-qe","memory.db");if(!$(n))throw new Error('No memory database found. Run "aqe init --auto" first.');let i=parseFloat(t.minReward),d=parseInt(t.minCount,10);console.log(o.bold(`
|
|
43
|
-
\u{1F52C} Pattern Extraction from Learning Experiences
|
|
44
|
-
`)),console.log(` Min reward threshold: ${i}`),console.log(` Min occurrences: ${d}
|
|
45
|
-
`);let c=k(n,{readonly:!0}),g=c.prepare(`
|
|
46
|
-
SELECT domain as task_type, COUNT(*) as count, AVG(quality) as avg_reward, MAX(quality) as max_reward,
|
|
47
|
-
MIN(quality) as min_reward, GROUP_CONCAT(DISTINCT agent) as actions
|
|
48
|
-
FROM captured_experiences WHERE quality >= ? AND agent != 'cli-hook' GROUP BY domain HAVING COUNT(*) >= ? ORDER BY avg_reward DESC
|
|
49
|
-
`).all(i,d),p=[];try{p=c.prepare(`
|
|
50
|
-
SELECT substr(key, 1, 40) as key_prefix, COUNT(*) as count
|
|
51
|
-
FROM memory_entries WHERE key LIKE 'phase2/learning/%'
|
|
52
|
-
GROUP BY substr(key, 1, 40) HAVING COUNT(*) >= ? ORDER BY COUNT(*) DESC LIMIT 20
|
|
53
|
-
`).all(d)}catch{}c.close();let u=[];for(let r of g){let a=se[r.task_type]||"code-intelligence",m=ie[r.task_type]||"test-template",s=r.actions?r.actions.split(",").slice(0,5):[];u.push({name:`${r.task_type}-success-pattern`,domain:a,patternType:m,confidence:Math.min(.95,r.avg_reward/2),sourceCount:r.count,avgReward:r.avg_reward,actions:s})}if(t.json)b({minReward:i,minCount:d,dryRun:t.dryRun||!1,experienceGroups:g.length,memoryPatterns:p.length,extractedPatterns:u});else{if(console.log(o.bold("Learning Experience Groups:")),g.length===0)console.log(o.dim(" No qualifying experience groups found"));else for(let r of g){let a=r.avg_reward>=1?o.green:r.avg_reward>=.5?o.yellow:o.red;console.log(` ${o.cyan(r.task_type)}`),console.log(` Count: ${r.count}, Avg Reward: ${a(r.avg_reward.toFixed(2))}`)}console.log(o.bold(`
|
|
54
|
-
Memory Pattern Sources:`));for(let r of p.slice(0,10))console.log(` ${r.key_prefix}... (${r.count})`);if(console.log(o.bold(`
|
|
55
|
-
Extracted Patterns:`)),u.length===0)console.log(o.dim(" No patterns extracted"));else for(let r of u)console.log(` ${o.green("+")} ${o.cyan(r.name)}`),console.log(o.dim(` Domain: ${r.domain}, Type: ${r.patternType}`)),console.log(o.dim(` Confidence: ${(r.confidence*100).toFixed(0)}%, Sources: ${r.sourceCount}`));if(!t.dryRun&&u.length>0){let r=await P(),a=0,m=[];for(let s of u)try{let f=s.actions.length>0?`// ${s.name}
|
|
56
|
-
// Steps: ${s.actions.join(" -> ")}
|
|
57
|
-
|
|
58
|
-
{{implementation}}`:`// ${s.name}
|
|
59
|
-
// Extracted pattern with ${s.sourceCount} successful uses
|
|
60
|
-
|
|
61
|
-
{{implementation}}`,y=await r.storePattern({patternType:s.patternType,name:s.name,description:`Extracted from ${s.sourceCount} learning experiences with avg reward ${s.avgReward.toFixed(2)}`,template:{type:"code",content:f,variables:[{name:"implementation",type:"code",required:!0,description:"Implementation code for this pattern"}]},context:{tags:[s.domain,s.patternType,`sources:${s.sourceCount}`,`reward:${s.avgReward.toFixed(2)}`]}});y.success?a++:m.push(`${s.name}: ${y.error.message}`)}catch(f){m.push(`${s.name}: ${f instanceof Error?f.message:"unknown"}`)}console.log(o.green(`
|
|
62
|
-
\u2713 Stored ${a} new patterns`)),m.length>0&&m.length<=5&&console.log(o.yellow(` Errors: ${m.slice(0,3).join(", ")}${m.length>3?"...":""}`))}else t.dryRun&&console.log(o.yellow(`
|
|
63
|
-
Dry run - no patterns stored`));console.log("")}return}catch(e){throw E(`extract failed: ${e instanceof Error?e.message:"unknown"}`),e}})}function xe(l){l.command("dashboard").description("Display learning system dashboard with metrics and trends").option("--json","Output as JSON").option("--save-snapshot","Save a daily metrics snapshot").action(async t=>{try{let e=A(),n=ee(e);await n.initialize(),t.saveSnapshot&&(await n.saveSnapshot(),O("Daily snapshot saved"));let i=await n.getDashboardData();n.close(),t.json?b(i):ae(i);return}catch(e){throw E(`dashboard failed: ${e instanceof Error?e.message:"unknown"}`),e}})}function Re(l){l.command("info").description("Show learning system configuration and paths").action(async()=>{try{let t=A(),e=S.join(t,".agentic-qe");console.log(o.bold(`
|
|
64
|
-
\u{1F4CB} AQE Learning System Info
|
|
65
|
-
`)),console.log(o.bold("Paths:")),console.log(` Data directory: ${e}`),console.log(` Memory database: ${S.join(e,"memory.db")}`),console.log(` HNSW index: ${S.join(e,"data","hnsw")}`),console.log(` Patterns: ${S.join(e,"data","patterns")}`),console.log(o.bold(`
|
|
66
|
-
Configuration:`)),console.log(` Learning enabled: ${process.env.AQE_LEARNING_ENABLED!=="false"?o.green("yes"):o.red("no")}`),console.log(` V3 mode: ${process.env.AQE_V3_MODE==="true"?o.green("yes"):o.dim("no")}`),console.log(` Promotion threshold: ${process.env.AQE_V3_PATTERN_PROMOTION_THRESHOLD||"3"} uses`),console.log(` Success rate threshold: ${process.env.AQE_V3_SUCCESS_RATE_THRESHOLD||"0.7"}`),console.log(o.bold(`
|
|
67
|
-
Domains:`)),console.log(` ${B.join(", ")}`),console.log(o.bold(`
|
|
68
|
-
Hooks:`)),console.log(" Configure in .claude/settings.json"),console.log(` Events: pre-edit, post-edit, pre-task, post-task, route
|
|
69
|
-
`);return}catch(t){throw E(`info failed: ${t instanceof Error?t.message:"unknown"}`),t}})}function ke(l){l.command("backup").description("Backup learning database to a file").option("-o, --output <path>","Output file path").option("--compress","Compress backup with gzip").option("--verify","Verify backup integrity after creation").option("--json","Output as JSON").action(async t=>{try{let e=N();if(!$(e))throw new Error(`No learning database found at: ${e}`);let n=new Date().toISOString().replace(/[:.]/g,"-").slice(0,19),i=S.join(process.cwd(),"backups",`learning-${n}.db`),d=t.output?S.resolve(t.output):i,c=S.dirname(d);$(c)||de(c,{recursive:!0});let g=await M(e),p=(g.size/1024).toFixed(2);L(e,d);let u=`${e}-wal`;$(u)&&L(u,`${d}-wal`);let r=d;t.compress&&(r=await G(d),await x(d),$(`${d}-wal`)&&await x(`${d}-wal`));let a=await M(r),m=(a.size/1024).toFixed(2),s;t.verify&&!t.compress&&(s=await j(d));let f=await I(e);if(t.json)b({success:!0,sourcePath:e,backupPath:r,sourceSizeKB:parseFloat(p),backupSizeKB:parseFloat(m),compressed:t.compress||!1,schemaVersion:f,verification:s,timestamp:new Date().toISOString()});else{if(console.log(o.bold(`
|
|
70
|
-
\u{1F4BE} Learning Database Backup
|
|
71
|
-
`)),console.log(` Source: ${e}`),console.log(` Source size: ${p} KB`),console.log(` Backup: ${r}`),console.log(` Backup size: ${m} KB`),console.log(` Schema version: ${f}`),t.compress){let y=((1-a.size/g.size)*100).toFixed(1);console.log(` Compression: ${y}% reduction`)}s&&console.log(s.valid?o.green(` Verification: ${s.message}`):o.red(` Verification: ${s.message}`)),O(`Backup saved to: ${r}
|
|
72
|
-
`)}return}catch(e){throw E(`backup failed: ${e instanceof Error?e.message:"unknown"}`),e}})}function De(l){l.command("restore").description("Restore learning database from backup").requiredOption("-i, --input <path>","Backup file path to restore from").option("--verify","Verify backup integrity before restore").option("--force","Overwrite existing database without confirmation").option("--json","Output as JSON").action(async t=>{try{let e=S.resolve(t.input),n=N();if(!$(e))throw new Error(`Backup file not found: ${e}`);let i=e.endsWith(".gz"),d=e;if(i){let u=e.replace(".gz",".tmp");await H(e,u),d=u}if(t.verify){let u=await j(d);if(!u.valid)throw i&&$(d)&&await x(d),new Error(`Backup verification failed: ${u.message}`)}if($(n)&&!t.force)throw i&&$(d)&&await x(d),new Error(`Database already exists at: ${n}. Use --force to overwrite`);let c=S.dirname(n);$(c)||de(c,{recursive:!0}),$(n)&&await x(n),$(`${n}-wal`)&&await x(`${n}-wal`),$(`${n}-shm`)&&await x(`${n}-shm`),L(d,n),i&&$(d)&&await x(d);let g=await M(n),p=await I(n);t.json?b({success:!0,backupPath:e,restoredPath:n,sizeKB:parseFloat((g.size/1024).toFixed(2)),schemaVersion:p,wasCompressed:i,timestamp:new Date().toISOString()}):(console.log(o.bold(`
|
|
73
|
-
\u{1F504} Learning Database Restore
|
|
74
|
-
`)),console.log(` Backup: ${e}`),console.log(` Restored to: ${n}`),console.log(` Size: ${(g.size/1024).toFixed(2)} KB`),console.log(` Schema version: ${p}`),O(`Database restored successfully
|
|
75
|
-
`));return}catch(e){throw E(`restore failed: ${e instanceof Error?e.message:"unknown"}`),e}})}function Ce(l){l.command("verify").description("Verify learning database integrity").option("-f, --file <path>","Database file to verify (defaults to current)").option("--json","Output as JSON").action(async t=>{try{let e=t.file?S.resolve(t.file):N();if(!$(e))throw new Error(`Database file not found: ${e}`);let n=await j(e),i=await I(e),d=await M(e),c={};try{let g=k(e,{readonly:!0});for(let p of["qe_patterns","qe_trajectories","captured_experiences","kv_store","vectors"])try{let u=g.prepare(`SELECT COUNT(*) as count FROM ${p}`).get();c[p]=u.count}catch{}g.close()}catch{}if(t.json)b({valid:n.valid,message:n.message,path:e,sizeKB:parseFloat((d.size/1024).toFixed(2)),schemaVersion:i,tableCounts:c,timestamp:new Date().toISOString()});else{if(console.log(o.bold(`
|
|
76
|
-
\u{1F50D} Database Verification
|
|
77
|
-
`)),console.log(` Path: ${e}`),console.log(` Size: ${(d.size/1024).toFixed(2)} KB`),console.log(` Schema version: ${i}`),console.log(n.valid?o.green(` Status: ${n.message}`):o.red(` Status: ${n.message}`)),Object.keys(c).length>0){console.log(o.bold(`
|
|
78
|
-
Table Counts:`));for(let[g,p]of Object.entries(c))console.log(` ${g}: ${p}`)}console.log("")}if(!n.valid)throw new Error(`Database verification failed: ${n.message}`);return}catch(e){throw E(`verify failed: ${e instanceof Error?e.message:"unknown"}`),e}})}function Oe(l){l.command("export-full").description("Export all learning data including patterns, trajectories, and experiences").option("-o, --output <file>","Output file path","aqe-learning-export.json").option("--compress","Compress output with gzip").option("--include-trajectories","Include learning trajectories").option("--include-experiences","Include learning experiences").option("--json","Output as JSON (to stdout)").action(async t=>{try{let e=N();if(!$(e))throw new Error('No learning database found. Run "aqe init --auto" first.');let n=await P(),i=await I(e),d=await n.searchPatterns("",{limit:1e4});if(!d.success)throw new Error(d.error.message);let c=d.value.map(p=>({id:p.pattern.id,name:p.pattern.name,description:p.pattern.description,patternType:p.pattern.patternType,qeDomain:p.pattern.qeDomain,tier:p.pattern.tier,confidence:p.pattern.confidence,successRate:p.pattern.successRate,successfulUses:p.pattern.successfulUses,qualityScore:p.pattern.qualityScore,template:p.pattern.template,context:p.pattern.context,createdAt:p.pattern.createdAt instanceof Date?p.pattern.createdAt.toISOString():p.pattern.createdAt||void 0,lastUsedAt:p.pattern.lastUsedAt instanceof Date?p.pattern.lastUsedAt.toISOString():p.pattern.lastUsedAt||void 0})),g={version:U,exportedAt:new Date().toISOString(),source:process.cwd(),schemaVersion:i,patternCount:c.length,patterns:c};if(t.includeTrajectories)try{let p=k(e,{readonly:!0}),u=p.prepare("SELECT id, task, agent, domain, success, steps_json FROM qe_trajectories ORDER BY started_at DESC LIMIT 1000").all();g.trajectories=u.map(r=>({id:r.id,task:r.task,agent:r.agent,domain:r.domain,success:r.success,stepsJson:r.steps_json})),p.close()}catch{}if(t.includeExperiences)try{let p=k(e,{readonly:!0}),u=p.prepare("SELECT domain as task_type, agent as action, AVG(quality) as avg_reward, COUNT(*) as count FROM captured_experiences WHERE agent != 'cli-hook' GROUP BY domain, agent ORDER BY count DESC LIMIT 500").all();g.experiences=u.map(a=>({taskType:a.task_type,action:a.action,reward:a.avg_reward,count:a.count}));let r=p.prepare("SELECT COUNT(*) as total, AVG(quality) as avg_reward FROM captured_experiences WHERE agent != 'cli-hook'").get();g.metadata={totalExperiences:r.total,avgReward:r.avg_reward},p.close()}catch{}if(t.json)b(g);else{let p=S.resolve(t.output);if(le(p,JSON.stringify(g,null,2),"utf-8"),t.compress){let u=await G(p);await x(p),p=u}console.log(o.bold(`
|
|
79
|
-
\u{1F4E4} Learning Data Export
|
|
80
|
-
`)),console.log(` Patterns: ${c.length}`),g.trajectories&&console.log(` Trajectories: ${g.trajectories.length}`),g.experiences&&console.log(` Experience groups: ${g.experiences.length}`),console.log(` Schema version: ${i}`),console.log(` Export format: ${U}`),O(`Exported to: ${p}
|
|
81
|
-
`)}return}catch(e){throw E(`export-full failed: ${e instanceof Error?e.message:"unknown"}`),e}})}function Pe(l){l.command("import-merge").description("Import and merge patterns from export file (preserves existing data)").requiredOption("-i, --input <file>","Input file path").option("--skip-duplicates","Skip patterns with matching names (default: update)").option("--dry-run","Show what would be imported without making changes").option("--json","Output as JSON").action(async t=>{try{let e=S.resolve(t.input);if(!$(e))throw new Error(`File not found: ${e}`);let n;if(e.endsWith(".gz")){let y=e.replace(".gz",".tmp.json");await H(e,y),n=V(y,"utf-8"),await x(y)}else n=V(e,"utf-8");let i=q(n);if(!i.patterns||!Array.isArray(i.patterns))throw new Error("Invalid import file format: missing patterns array");let d=await P(),c=await d.searchPatterns("",{limit:1e4}),g=new Set;if(c.success)for(let y of c.value)g.add(y.pattern.name);let p=0,u=0,r=0,a=[];if(!t.dryRun)for(let y of i.patterns){let h=g.has(y.name);if(h&&t.skipDuplicates){u++;continue}try{let w=await d.storePattern({patternType:y.patternType,name:y.name,description:y.description,template:y.template,context:y.context});w.success?h?r++:p++:(u++,a.push(`${y.name}: ${w.error.message}`))}catch(w){u++,a.push(`${y.name}: ${w instanceof Error?w.message:"unknown"}`)}}let m=0,s=0,f=0;if(t.dryRun)for(let y of i.patterns){let h=g.has(y.name);h&&t.skipDuplicates?s++:h?f++:m++}t.json?b({dryRun:t.dryRun||!1,importVersion:i.version,totalPatterns:i.patterns.length,imported:t.dryRun?m:p,updated:t.dryRun?f:r,skipped:t.dryRun?s:u,errors:a.slice(0,10)}):(console.log(o.bold(`
|
|
82
|
-
\u{1F4E5} Learning Data Import (Merge)
|
|
83
|
-
`)),console.log(` Source: ${e}`),console.log(` Export version: ${i.version||"unknown"}`),console.log(` Total patterns: ${i.patterns.length}`),console.log(` Existing patterns: ${g.size}`),t.dryRun?(console.log(o.yellow(`
|
|
84
|
-
Dry run - no changes made`)),console.log(` Would import: ${m}
|
|
85
|
-
Would update: ${f}
|
|
86
|
-
Would skip: ${s}`)):(console.log(o.green(`
|
|
87
|
-
Imported: ${p}`)),console.log(o.blue(` Updated: ${r}`)),u>0&&console.log(o.yellow(` Skipped: ${u}`)),a.length>0&&console.log(o.red(` Errors: ${a.length}`))),console.log(""));return}catch(e){throw E(`import-merge failed: ${e instanceof Error?e.message:"unknown"}`),e}})}function Ae(l){l.command("dream").description("Run dream cycles for pattern discovery via spreading activation").option("--duration <ms>","Duration of dream cycle in milliseconds","30000").option("--quick","Run a quick 5-second dream cycle").option("--full","Run a full 30-second dream cycle").option("--status","Show dream system status").option("--history","Show past dream cycles").option("--insights","Show pending insights from previous cycles").option("--apply <id>","Apply a specific insight by ID").option("--limit <n>","Maximum results for history/insights","20").option("--min-patterns <n>","Minimum patterns required to dream","10").option("--json","Output as JSON").action(async t=>{try{let{createDreamEngine:e}=await import("./dream-WFCZGFDY.js");if(t.status){let r=e();await r.initialize();let a=r.isDreaming(),m=await r.getDreamHistory(100),s=await r.getPendingInsights(100),f=m.reduce((h,w)=>h+w.insightsGenerated,0),y=m[0];if(t.json)b({isDreaming:a,totalCycles:m.length,totalInsights:f,pendingInsights:s.length,lastDreamTime:y?.startTime.toISOString()||null});else{if(console.log(o.bold(`
|
|
88
|
-
\u{1F319} Dream System Status
|
|
89
|
-
`)),console.log(` Currently dreaming: ${a?o.green("Yes"):o.dim("No")}`),console.log(` Total dream cycles: ${m.length}`),console.log(` Total insights generated: ${f}`),console.log(` Pending insights: ${s.length}`),console.log(` Last dream: ${y?y.startTime.toISOString():o.dim("never")}`),m.length>0){console.log(o.bold(`
|
|
90
|
-
Recent cycles:`));for(let h of m.slice(0,3)){let w=h.status==="completed"?o.green(h.status):o.yellow(h.status);console.log(` ${h.id.slice(0,8)} | ${w} | ${h.durationMs||0}ms | ${h.insightsGenerated} insights`)}}console.log("")}await r.close();return}if(t.history){let r=parseInt(t.limit,10),a=e();await a.initialize();let m=await a.getDreamHistory(r);if(t.json)b(m.map(s=>({id:s.id,startTime:s.startTime.toISOString(),endTime:s.endTime?.toISOString(),durationMs:s.durationMs,status:s.status,conceptsProcessed:s.conceptsProcessed,associationsFound:s.associationsFound,insightsGenerated:s.insightsGenerated})));else{if(console.log(o.bold(`
|
|
91
|
-
\u{1F319} Dream Cycle History (${m.length} cycles)
|
|
92
|
-
`)),m.length===0)console.log(o.dim(" No dream cycles found. Run: aqe learning dream"));else for(let s of m){let f=s.status==="completed"?o.green("\u2713"):s.status==="failed"?o.red("\u2717"):o.yellow("\u22EF");console.log(` ${f} ${s.id.slice(0,8)} | ${s.startTime.toISOString()}`),console.log(o.dim(` Duration: ${s.durationMs||0}ms | Concepts: ${s.conceptsProcessed} | Associations: ${s.associationsFound} | Insights: ${s.insightsGenerated}`))}console.log("")}await a.close();return}if(t.insights){let r=parseInt(t.limit,10),a=e();await a.initialize();let m=await a.getPendingInsights(r);if(t.json)b(m.map(s=>({id:s.id,type:s.type,description:s.description,noveltyScore:s.noveltyScore,confidenceScore:s.confidenceScore,actionable:s.actionable,applied:s.applied||!1,suggestedAction:s.suggestedAction,createdAt:s.createdAt?.toISOString()})));else{if(console.log(o.bold(`
|
|
93
|
-
\u{1F4A1} Pending Dream Insights (${m.length})
|
|
94
|
-
`)),m.length===0)console.log(o.dim(" No pending insights. Run a dream cycle first: aqe learning dream"));else for(let s of m){let f=s.noveltyScore>=.7?o.green(`${(s.noveltyScore*100).toFixed(0)}%`):o.yellow(`${(s.noveltyScore*100).toFixed(0)}%`),y=s.confidenceScore>=.7?o.green(`${(s.confidenceScore*100).toFixed(0)}%`):o.yellow(`${(s.confidenceScore*100).toFixed(0)}%`);console.log(` ${o.cyan(s.id.slice(0,8))} [${s.type}] ${s.actionable?"\u26A1":" "}`),console.log(` ${s.description}`),console.log(o.dim(` Novelty: ${f} | Confidence: ${y}`)),s.suggestedAction&&console.log(o.dim(` Action: ${s.suggestedAction}`))}console.log("")}await a.close();return}if(t.apply){let r=t.apply,a=e();await a.initialize();let s=(await a.getPendingInsights(100)).find(w=>w.id===r||w.id.startsWith(r));if(!s)throw await a.close(),new Error(`Insight not found: ${r}`);if(!s.actionable)throw await a.close(),new Error(`Insight ${r} is not actionable`);let f=await a.applyInsight(s.id),h=await(await P()).storePattern({patternType:"test-template",name:`Dream Insight: ${s.type}`,description:`${s.description} (confidence: ${s.confidenceScore.toFixed(2)})`,template:{type:"workflow",content:s.suggestedAction||s.description,variables:[]},context:{tags:["dream-generated",s.type,...s.sourceConcepts.slice(0,3)],complexity:"medium"}});if(t.json?b({insightId:s.id,applied:f.success,patternId:h.success?h.value.id:null,error:f.error||(h.success?null:h.error?.message)}):f.success?(O(`Applied insight ${s.id.slice(0,8)}`),h.success&&O(`Created pattern ${h.value.id} in ReasoningBank`)):E(`Failed to apply insight: ${f.error}`),await a.close(),!f.success)throw new Error(`Failed to apply insight: ${f.error}`);return}let n=parseInt(t.duration,10);t.quick&&(n=5e3),t.full&&(n=3e4),n=Math.min(n,6e4);let i=parseInt(t.minPatterns,10);_(`Starting dream cycle (${n}ms, min ${i} patterns)...`);let d=e({maxDurationMs:n,minConceptsRequired:i});await d.initialize();let g=await(await P()).searchPatterns("",{limit:100,minConfidence:.3}),p=0;if(g.success&&g.value.length>0){let r=g.value.map(a=>({id:a.pattern.id,name:a.pattern.name,description:a.pattern.description||`${a.pattern.patternType} pattern`,domain:a.pattern.qeDomain||"learning-optimization",patternType:a.pattern.patternType,confidence:a.pattern.confidence,successRate:a.pattern.successRate||.5}));p=await d.loadPatternsAsConcepts(r),_(`Loaded ${p} patterns from ReasoningBank as concepts`)}else _("No patterns found in ReasoningBank \u2014 dreaming with existing concepts");let u=await d.dream(n);if(t.json)b({cycleId:u.cycle.id,status:u.cycle.status,durationMs:u.cycle.durationMs||0,conceptsProcessed:u.cycle.conceptsProcessed,associationsFound:u.cycle.associationsFound,insightsGenerated:u.cycle.insightsGenerated,activationStats:u.activationStats,patternsCreated:u.patternsCreated,insights:u.insights.map(r=>({id:r.id,type:r.type,description:r.description,noveltyScore:r.noveltyScore,confidenceScore:r.confidenceScore,actionable:r.actionable}))});else{if(console.log(o.bold(`
|
|
95
|
-
\u{1F319} Dream Cycle Complete
|
|
96
|
-
`)),console.log(` Cycle ID: ${u.cycle.id.slice(0,8)}`),console.log(` Status: ${u.cycle.status==="completed"?o.green("completed"):o.yellow(u.cycle.status)}`),console.log(` Duration: ${u.cycle.durationMs||0}ms`),console.log(` Concepts: ${u.cycle.conceptsProcessed}`),console.log(` Associations: ${u.cycle.associationsFound}`),console.log(` Insights: ${u.cycle.insightsGenerated}`),u.activationStats&&(console.log(o.bold(`
|
|
97
|
-
Activation Stats:`)),console.log(` Iterations: ${u.activationStats.totalIterations}`),console.log(` Peak level: ${u.activationStats.peakActivation.toFixed(3)}`),console.log(` Nodes active: ${u.activationStats.nodesActivated}`)),u.insights.length>0){console.log(o.bold(`
|
|
98
|
-
Generated Insights:`));for(let r of u.insights){let a=r.noveltyScore>=.7?o.green(`${(r.noveltyScore*100).toFixed(0)}%`):o.yellow(`${(r.noveltyScore*100).toFixed(0)}%`);console.log(` ${o.cyan(r.id.slice(0,8))} [${r.type}] ${r.actionable?"\u26A1 actionable":""}`),console.log(` ${r.description}`),console.log(o.dim(` Novelty: ${a} | Confidence: ${(r.confidenceScore*100).toFixed(0)}%`))}console.log(o.dim(`
|
|
99
|
-
Apply insights with: aqe learning dream --apply <insight-id>`))}else console.log(o.dim(`
|
|
100
|
-
No insights generated this cycle.`)),console.log(o.dim(" Try loading more patterns or running a longer cycle."));console.log("")}await d.close();return}catch(e){throw E(`dream failed: ${e instanceof Error?e.message:"unknown"}`),e instanceof Error&&e.stack&&console.error(o.dim(e.stack)),e}})}function Te(l){l.command("repair").description("Repair a corrupted learning database (dump + reimport to rebuild indexes)").option("-f, --file <path>","Database file to repair (defaults to current project)").option("--dry-run","Show what would be done without modifying files").option("--json","Output as JSON").action(async t=>{try{let e=t.file?S.resolve(t.file):N();if(!$(e))throw new Error(`Database file not found: ${e}`);let n=await j(e);if(n.valid){t.json?b({status:"healthy",message:"Database is already healthy, no repair needed",path:e}):O("Database integrity check passed \u2014 no repair needed.");return}_(`Corruption detected: ${n.message}`);let i={};try{let v=k(e,{readonly:!0}),R=v.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name NOT LIKE 'sqlite_%'").all();for(let F of R)try{let Q=v.prepare(`SELECT COUNT(*) as count FROM "${F.name}"`).get();i[F.name]=Q.count}catch{}v.close()}catch{}let d=Object.values(i).reduce((v,R)=>v+R,0);if(_(`Found ${Object.keys(i).length} tables, ~${d} total rows`),t.dryRun){t.json?b({status:"dry-run",corruptionDetected:!0,message:n.message,tables:i,totalRows:d}):(console.log(o.bold(`
|
|
101
|
-
Dry run \u2014 would perform these steps:`)),console.log(" 1. Backup corrupted DB"),console.log(" 2. Dump all data via .dump"),console.log(" 3. Reimport into fresh DB (rebuilds all indexes)"),console.log(" 4. Verify integrity of repaired DB"),console.log(" 5. Verify row counts match"),console.log(" 6. Swap repaired DB into place"),console.log(""));return}let c=`${e}.bak-${Date.now()}`;L(e,c),_(`Backup created: ${c}`);for(let v of["-wal","-shm"]){let R=e+v;$(R)&&await x(R)}let{execFileSync:g}=await import("node:child_process"),{openSync:p,closeSync:u,readFileSync:r}=await import("node:fs"),a=`${e}.repaired`,m=`${e}.dump.sql`;try{let v=p(m,"w");try{g("sqlite3",[e,".dump"],{stdio:["ignore",v,"pipe"],timeout:12e4})}finally{u(v)}g("sqlite3",[a],{input:r(m),stdio:["pipe","pipe","pipe"],timeout:12e4}),g("sqlite3",[a,"PRAGMA journal_mode=WAL;"],{stdio:"pipe"})}catch(v){throw $(a)&&await x(a),$(m)&&await x(m),new Error(`sqlite3 dump/reimport failed: ${v instanceof Error?v.message:"unknown"}. Is sqlite3 installed?`)}let s=await j(a);if(!s.valid)throw $(m)&&await x(m),new Error(`Repaired DB still has integrity issues: ${s.message}. Backup preserved at ${c}`);let f={},y=k(a,{readonly:!0}),h=y.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name NOT LIKE 'sqlite_%'").all();for(let v of h)try{let R=y.prepare(`SELECT COUNT(*) as count FROM "${v.name}"`).get();f[v.name]=R.count}catch{}y.close();let w=Object.values(f).reduce((v,R)=>v+R,0);ce(e,`${e}.pre-repair`),ce(a,e),$(m)&&await x(m),t.json?b({status:"repaired",backupPath:c,rowsBefore:d,rowsAfter:w,tablesRepaired:Object.keys(f).length,rowCounts:f}):(O("Database repaired successfully!"),console.log(` Backup: ${c}`),console.log(` Rows before: ${d}`),console.log(` Rows after: ${w}`),w<d&&console.log(o.yellow(` Warning: ${d-w} rows may have been lost due to data page corruption`)),console.log(` Tables: ${Object.keys(f).length}`),console.log(` Integrity: ${o.green("OK")}`),console.log(""));return}catch(e){throw E(`repair failed: ${e instanceof Error?e.message:"unknown"}`),e}})}function _e(l){switch(l){case"sublinear":return{arrow:"\u25B2",label:"Sublinear (learning)",color:o.green};case"linear":return{arrow:"\u2192",label:"Linear (stagnating)",color:o.yellow};case"superlinear":return{arrow:"\u25BC",label:"Superlinear (degrading)",color:o.red};default:return{arrow:"?",label:"Insufficient data",color:o.dim}}}function Ne(l){l.command("health").description("Display per-domain learning health based on regret tracking").option("--json","Output as JSON").option("--domain <domain>","Filter to a specific domain").action(async t=>{try{let e=A(),n=S.join(e,".agentic-qe","memory.db");if(!$(n))throw new Error('Database not found. Run "aqe init --auto" first.');let i=te(),d=k(n,{readonly:!0});if(d.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name='captured_experiences'").get()){let a=t.domain?"AND domain = ?":"",m=[];t.domain&&m.push(t.domain);let s=d.prepare(`
|
|
102
|
-
SELECT domain, quality, success, started_at
|
|
103
|
-
FROM captured_experiences
|
|
104
|
-
WHERE agent != 'cli-hook'
|
|
105
|
-
AND domain IS NOT NULL
|
|
106
|
-
AND domain != ''
|
|
107
|
-
${a}
|
|
108
|
-
ORDER BY started_at ASC
|
|
109
|
-
`).all(...m);for(let f of s){let y=f.quality??(f.success?1:0);i.recordDecision(f.domain,y,1)}}d.close();let g=i.getHealthSummary();if(t.json){b(g);return}if(console.log(""),console.log(o.bold("Learning Health Dashboard:")),g.length===0){console.log(o.dim(" No domain data available. Run some QE tasks to generate learning data.")),console.log("");return}let p=Math.max(...g.map(a=>a.domain.length),20);for(let a of g){let{arrow:m,label:s,color:f}=_e(a.growthRate),y=C(a.domain+":",p+1),h=f(`${m} ${C(s,26)}`),w=`regret: ${a.cumulativeRegret.toFixed(1)}`,v=`decisions: ${a.totalDecisions}`;console.log(` ${y} ${h} ${w} ${v}`)}let u=g.filter(a=>a.stagnating);u.length>0&&(console.log(""),console.log(o.yellow(` Warning: ${u.length} domain(s) showing stagnation: ${u.map(a=>a.domain).join(", ")}`)));let r=g.filter(a=>a.growthRate==="sublinear");r.length>0&&console.log(o.green(` ${r.length} domain(s) actively learning`)),console.log("");return}catch(e){throw E(`health check failed: ${e instanceof Error?e.message:"unknown"}`),e}})}var je={bridge:3e4,learningWorker:2*36e5,dreamScheduler:2*36e5};function Ie(l){l.command("loop-health").description("Show pipeline component liveness for the self-learning loop").option("--json","Output as JSON").action(async t=>{try{let e=A(),n=S.join(e,".agentic-qe","memory.db");if(!$(n))throw new Error('Database not found. Run "aqe init --auto" first.');let i=k(n,{readonly:!0}),d;try{d=i.prepare("SELECT value FROM kv_store WHERE key = 'learning:loop-health' LIMIT 1").get()?.value}catch{}let c=null;try{if(i.prepare("PRAGMA table_info(routing_outcomes)").all().some(m=>m.name==="exploration")){let m=i.prepare(`SELECT
|
|
110
|
-
COUNT(*) AS total,
|
|
111
|
-
SUM(CASE WHEN exploration = 1 THEN 1 ELSE 0 END) AS explore,
|
|
112
|
-
AVG(criticality) AS avgCrit,
|
|
113
|
-
AVG(q_weight) AS avgQ
|
|
114
|
-
FROM routing_outcomes
|
|
115
|
-
WHERE created_at >= datetime('now', '-7 days')`).get(),s=m.total??0,f=m.explore??0,y=s-f,h=i.prepare(`SELECT AVG(quality_score) AS avgQ FROM routing_outcomes
|
|
116
|
-
WHERE exploration = 0 AND quality_score >= 0
|
|
117
|
-
AND created_at >= datetime('now', '-7 days')`).get(),w=i.prepare(`SELECT AVG(quality_score) AS avgQ FROM routing_outcomes
|
|
118
|
-
WHERE exploration = 1 AND quality_score >= 0
|
|
119
|
-
AND created_at >= datetime('now', '-7 days')`).get();c={totalDecisions:s,explorationCount:f,exploitCount:y,explorationRate:s>0?f/s:0,avgQualityExploit:h.avgQ,avgQualityExplore:w.avgQ,avgCriticality:m.avgCrit,avgQWeight:m.avgQ}}}catch{}i.close();let g=null;if(d)try{g=q(d)}catch{g=null}let p=Date.now(),u=(r,a)=>{let m=je[r]??6e5;return!a||!a.lastSuccessAt?"never-ran":p-new Date(a.lastSuccessAt).getTime()>m?"stale":"live"};if(t.json){if(!g){b({overallLastSuccess:null,bootedAt:null,components:{},verdicts:{},routingDiversification:c,note:"No loop-health record yet. Workers must run at least once for this to populate."});return}let r={};for(let a of Object.keys(g.components))r[a]=u(a,g.components[a]);b({...g,verdicts:r,routingDiversification:c});return}if(console.log(""),console.log(o.bold("Self-Learning Loop Health")),console.log(""),!g)console.log(o.dim(" No loop-health record yet.")),console.log(o.dim(" Workers must run at least once to populate.")),console.log(o.dim(" Start the daemon: aqe daemon start"));else{console.log(` Booted at: ${o.dim(g.bootedAt)}`),console.log(` Last success (any): ${g.overallLastSuccess||o.dim("(none yet)")}`),console.log(""),console.log(o.bold(" Components:"));let r=[["bridge","CapturedExperienceBridge"],["learningWorker","LearningConsolidationWorker"],["dreamScheduler","DreamScheduler"]];for(let[m,s]of r){let f=g.components[m],y=u(m,f),h=y==="live"?o.green("\u25CF live"):y==="stale"?o.yellow("\u25CF stale"):o.dim("\u25CB never-ran"),w=f?.lastSuccessAt||o.dim("(never)"),v=f?`${f.successesSinceBoot}/${f.ticksSinceBoot} ticks ok`:o.dim("no ticks");console.log(` ${s.padEnd(32)} ${h.padEnd(20)} ${v}`),console.log(` ${o.dim("last success:")} ${w}`),f?.lastError&&console.log(` ${o.red("last error:")} ${f.lastError.message} ${o.dim("(at "+f.lastError.at+")")}`)}let a=r.filter(([m,s])=>u(m,g.components[m])==="stale");a.length>0&&(console.log(""),console.log(o.yellow(` Warning: ${a.length} component(s) stale \u2014 daemon may not be running or the loop is wedged.`)))}if(c&&c.totalDecisions>0){console.log(""),console.log(o.bold(" Routing diversification (last 7 days):"));let r=(c.explorationRate*100).toFixed(1);if(console.log(` Decisions: ${c.totalDecisions} (${c.exploitCount} exploit, ${c.explorationCount} explore = ${r}%)`),c.avgQualityExploit!==null&&c.avgQualityExplore!==null){let a=c.avgQualityExplore-c.avgQualityExploit,m=a>=0?o.green(`+${a.toFixed(3)}`):o.red(a.toFixed(3));console.log(` Avg quality: exploit=${c.avgQualityExploit.toFixed(3)}, explore=${c.avgQualityExplore.toFixed(3)} (\u0394 ${m})`)}c.avgCriticality!==null&&console.log(` Avg mincut multiplier: ${c.avgCriticality.toFixed(2)} (1.0=full rate, 0.2=critical-topology dampening)`),c.avgQWeight!==null&&c.avgQWeight>0&&console.log(` Avg Q-weight: ${c.avgQWeight.toFixed(3)} (0=cold start, ${.4} max)`)}console.log("");return}catch(e){throw E(`loop-health failed: ${e instanceof Error?e.message:"unknown"}`),e}})}export{lt as createLearningCommand,P as initializeLearningSystem};
|
|
@@ -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.12");process.exit(0)}
|
|
2
|
-
import{a,b,c}from"./chunk-GQLJYTXN.js";import"./chunk-NLZUGANH.js";import"./chunk-UC4EIULB.js";import"./chunk-4AITMWFZ.js";import"./chunk-SNC73DWF.js";import"./chunk-WA6CSEOX.js";import"./chunk-WYFAPA2G.js";import"./chunk-WYIXNHPF.js";import"./chunk-MGKH4LCM.js";import"./chunk-TDVMILKO.js";import"./chunk-G6FJHDUG.js";import"./chunk-UQ4UCHO7.js";import"./chunk-Z6DSYLAG.js";import"./chunk-M73KM3AZ.js";import"./chunk-KRZYWVS3.js";import"./chunk-3ASVQILY.js";import"./chunk-GEQWCK4F.js";import"./chunk-IOJ34SXJ.js";import"./chunk-6KI6LAAZ.js";import"./chunk-VA2ORJB5.js";import"./chunk-L3GBNX7B.js";import"./chunk-52VGZJSD.js";import"./chunk-Z56BBX77.js";import"./chunk-5E76HULA.js";import"./chunk-7LATB5IR.js";import"./chunk-4Z4X2ND4.js";import"./chunk-U5G6OC2C.js";import"./chunk-JVFZAJ5N.js";import"./chunk-2VTX4SYW.js";import"./chunk-N4OQ4D4V.js";import"./chunk-AN5CGTTJ.js";import"./chunk-ZMYV4R32.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.12");process.exit(0)}
|
|
2
|
-
import{a}from"./chunk-I5SXLV7D.js";import"./chunk-XIKYUBIV.js";import"./chunk-IT5QIUUA.js";import"./chunk-M73KM3AZ.js";import"./chunk-KRZYWVS3.js";import"./chunk-3ASVQILY.js";import"./chunk-GEQWCK4F.js";import"./chunk-IOJ34SXJ.js";import"./chunk-6KI6LAAZ.js";import"./chunk-VA2ORJB5.js";import"./chunk-L3GBNX7B.js";import"./chunk-52VGZJSD.js";import"./chunk-XM5I7J5S.js";import"./chunk-Z56BBX77.js";import"./chunk-5E76HULA.js";import"./chunk-7LATB5IR.js";import"./chunk-4Z4X2ND4.js";import"./chunk-U5G6OC2C.js";import"./chunk-JVFZAJ5N.js";import"./chunk-2VTX4SYW.js";import"./chunk-N4OQ4D4V.js";import"./chunk-AN5CGTTJ.js";import"./chunk-ZMYV4R32.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.12");process.exit(0)}
|
|
2
|
-
import{a}from"./chunk-XM5I7J5S.js";import"./chunk-U5G6OC2C.js";import"./chunk-JVFZAJ5N.js";import"./chunk-ZMYV4R32.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.12");process.exit(0)}
|
|
2
|
-
import{c,d as l}from"./chunk-IPZEBALY.js";import"./chunk-M3354CE4.js";import"./chunk-UJUK6T4V.js";import"./chunk-4YFXF5AQ.js";import"./chunk-DCVFHVPR.js";import"./chunk-5PI75QYP.js";import"./chunk-QG5L2JM5.js";import"./chunk-66OQ7AB3.js";import"./chunk-MYVKTG55.js";import"./chunk-IPDM3CAK.js";import"./chunk-X2SZCVDA.js";import"./chunk-WXU7FAEB.js";import"./chunk-SXFSJJZF.js";import"./chunk-4FVOJBEU.js";import"./chunk-XT473WPO.js";import"./chunk-DGFINXUE.js";import"./chunk-TB2N3CAK.js";import"./chunk-HRTSYT4N.js";import"./chunk-I5SXLV7D.js";import"./chunk-A5RWLPVT.js";import"./chunk-AYH3DMW2.js";import"./chunk-MLFELTJX.js";import"./chunk-NDRZZSD5.js";import"./chunk-KXSUDN46.js";import"./chunk-LXVT6JXO.js";import"./chunk-NG6A7LCG.js";import"./chunk-6BSZHNOC.js";import"./chunk-WE3VKDMK.js";import"./chunk-7PCIN7UN.js";import"./chunk-2VY7FL6A.js";import"./chunk-IQH2RDN3.js";import"./chunk-P6EFKHNI.js";import"./chunk-NL2SCAGJ.js";import"./chunk-NJ3QXJ54.js";import"./chunk-X3JNFQW2.js";import"./chunk-XIKYUBIV.js";import"./chunk-IT5QIUUA.js";import"./chunk-HAJG44BD.js";import"./chunk-NTALX2YC.js";import"./chunk-DFLASG3B.js";import"./chunk-BODFJ3DC.js";import"./chunk-SCQNISGS.js";import"./chunk-RP5VFZJO.js";import"./chunk-BZIPYXSW.js";import"./chunk-OG3DBHIV.js";import"./chunk-ZSAGRDXA.js";import"./chunk-4ANJV6I4.js";import"./chunk-G45AOQDZ.js";import"./chunk-FI6J3UHJ.js";import"./chunk-GJJWXRAD.js";import{a as d,b as R,d as v,e as m,f as y,i as S}from"./chunk-4THFPRFM.js";import"./chunk-PVINNJ4P.js";import"./chunk-7A4WTRWI.js";import"./chunk-5VSS2RBD.js";import"./chunk-33YZGOT6.js";import"./chunk-QXO35J6F.js";import"./chunk-NNLZAVFH.js";import"./chunk-NJ4YVAG7.js";import"./chunk-AKUDUB3O.js";import"./chunk-R7LGVJMZ.js";import"./chunk-5PNQNBDZ.js";import"./chunk-QM4Z7TQH.js";import"./chunk-RACWX2ZX.js";import"./chunk-GQLJYTXN.js";import"./chunk-NLZUGANH.js";import"./chunk-UC4EIULB.js";import"./chunk-4AITMWFZ.js";import"./chunk-SNC73DWF.js";import"./chunk-WA6CSEOX.js";import"./chunk-WYFAPA2G.js";import"./chunk-WYIXNHPF.js";import"./chunk-MGKH4LCM.js";import"./chunk-TDVMILKO.js";import"./chunk-G6FJHDUG.js";import"./chunk-UQ4UCHO7.js";import"./chunk-Z6DSYLAG.js";import"./chunk-RP2BRRLX.js";import"./chunk-TJVTV3HP.js";import"./chunk-TWUWLSGQ.js";import"./chunk-TK5XLF3Z.js";import"./chunk-4M7YZ2X7.js";import"./chunk-44NPKZGI.js";import"./chunk-OZ53BIY5.js";import"./chunk-YQOQVSYU.js";import"./chunk-GMLRIZ4E.js";import"./chunk-VNODKACB.js";import"./chunk-2W3D5A4R.js";import"./chunk-UWZYXI3R.js";import"./chunk-H3GAR4SV.js";import"./chunk-VQD2ELNL.js";import"./chunk-O4BWESH5.js";import"./chunk-S6WHYOWV.js";import{b as w}from"./chunk-PGFCKE4G.js";import"./chunk-M73KM3AZ.js";import"./chunk-KRZYWVS3.js";import"./chunk-3ASVQILY.js";import"./chunk-GEQWCK4F.js";import"./chunk-IOJ34SXJ.js";import"./chunk-6KI6LAAZ.js";import"./chunk-VA2ORJB5.js";import"./chunk-7ZVO7I4Q.js";import"./chunk-HQWFZQMJ.js";import"./chunk-EDRPTLAX.js";import"./chunk-E67ZXRG6.js";import{a as i,c as b}from"./chunk-L3GBNX7B.js";import"./chunk-52VGZJSD.js";import"./chunk-XM5I7J5S.js";import"./chunk-Z56BBX77.js";import"./chunk-5E76HULA.js";import"./chunk-7LATB5IR.js";import"./chunk-4Z4X2ND4.js";import"./chunk-U5G6OC2C.js";import"./chunk-JVFZAJ5N.js";import"./chunk-2VTX4SYW.js";import"./chunk-N4OQ4D4V.js";import"./chunk-AN5CGTTJ.js";import"./chunk-ZMYV4R32.js";b();async function E(e){if(!l())return{success:!1,error:"Fleet not initialized. Call fleet_init first."};let{kernel:o}=c();try{let t=e.namespace||"default",n=`${t}:${e.key}`;if(d()){let s=y(e.key,e.value,t,{tags:e.metadata?.tags}),a=await m.evaluateWrite(s);if(!a.allowed){if(R()&&S.recordViolation({type:"contradiction",severity:"medium",gate:"memoryWriteGate",description:`Memory write blocked for key ${e.key}: ${a.reason}`,context:{key:e.key,namespace:t,reason:a.reason,conflictingPatterns:a.conflictingPatterns}}),v())return{success:!1,error:`Memory write blocked by governance: ${a.reason}`};console.warn(`[MemoryHandler] Write allowed with warning: ${a.reason}`)}}await o.memory.set(n,e.value,{ttl:e.ttl});let r;try{let s=`${e.key} ${JSON.stringify(e.value)}`,a=await w(s);await o.memory.storeVector(n,a,{key:e.key,namespace:t,storedAt:Date.now()}),r={status:"indexed"}}catch{console.warn("[MemoryHandler] VECTOR_INDEX_UNAVAILABLE: Semantic vector indexing is unavailable for this entry."),r={status:"failed",error:{code:"VECTOR_INDEX_UNAVAILABLE",message:"Semantic vector indexing is unavailable for this entry."}}}return d()&&m.registerPattern(y(e.key,e.value,t)),{success:!0,data:{stored:!0,key:e.key,namespace:t,timestamp:new Date().toISOString(),persisted:!0,vectorIndex:r}}}catch(t){return{success:!1,error:`Failed to store memory: ${i(t)}`}}}async function T(e){if(!l())return{success:!1,error:"Fleet not initialized. Call fleet_init first."};let{kernel:o}=c();try{let n=`${e.namespace||"default"}:${e.key}`,r=await o.memory.get(n);if(r===void 0)return{success:!0,data:{found:!1,key:e.key}};let s={found:!0,key:e.key,value:r,timestamp:new Date().toISOString()};return e.includeMetadata&&(s.metadata={}),{success:!0,data:s}}catch(t){return{success:!1,error:`Failed to retrieve memory: ${i(t)}`}}}function P(e){return e.includes(" ")&&!e.includes("*")&&!e.includes("?")}async function V(e){if(!l())return{success:!1,error:"Fleet not initialized. Call fleet_init first."};let{kernel:o}=c();try{let t=e.namespace||"default",n=e.limit||100,r=e.offset||0;if((e.semantic===!0||e.semantic!==!1&&e.pattern&&P(e.pattern))&&e.pattern)try{let u=await w(e.pattern),g=t!=="default"?`${t}:`:void 0,h=await o.memory.vectorSearch(u,n+r,g);return{success:!0,data:{entries:h.slice(r,r+n).map(M=>{let f=M.key.split(":");return{key:f.length>1?f.slice(1).join(":"):M.key,namespace:f.length>1?f[0]:t,score:M.score}}),total:h.length,hasMore:r+n<h.length,searchType:"semantic",searchProvenance:o.memory.getVectorSearchProvenance?.()}}}catch(u){console.error(`[MemoryHandler] Semantic search failed, falling back to pattern: ${i(u)}`)}let a=e.pattern?`${t}:${e.pattern}`:`${t}:*`,k=await o.memory.search(a,n+r);return{success:!0,data:{entries:k.slice(r,r+n).map(u=>{let g=u.split(":");return{key:g.slice(1).join(":"),namespace:g[0]}}),total:k.length,hasMore:r+n<k.length,searchType:"pattern"}}}catch(t){return{success:!1,error:`Failed to query memory: ${i(t)}`}}}async function _(e){if(!l())return{success:!1,error:"Fleet not initialized. Call fleet_init first."};let{kernel:o}=c();try{let t=e.namespace||"default",n=`${t}:${e.key}`;return{success:!0,data:{deleted:await o.memory.delete(n),key:e.key,namespace:t}}}catch(t){return{success:!1,error:`Failed to delete memory: ${i(t)}`}}}async function z(){if(!l())return{success:!1,error:"Fleet not initialized. Call fleet_init first."};let{kernel:e}=c();try{let o=await e.memory.search("*",1e4),t=0,n=1;try{let r=e.memory;r.getVectorStats&&(t=(await r.getVectorStats())?.vectorCount??0);let s=new Set(o.map(a=>a.split(":")[0]).filter(Boolean));n=Math.max(1,s.size)}catch{}return{success:!0,data:{entries:o.length,vectors:t,namespaces:n,size:{current:o.length,limit:Number.MAX_SAFE_INTEGER,unit:"entries"}}}}catch(o){return{success:!1,error:`Failed to get memory usage: ${i(o)}`}}}async function K(e){if(!l())return{success:!1,error:"Fleet not initialized. Call fleet_init first."};let{kernel:o}=c();try{let t=`shared:${e.knowledgeDomain}:${Date.now()}`,n={source:e.sourceAgentId,targets:e.targetAgentIds,domain:e.knowledgeDomain,content:e.knowledgeContent,timestamp:new Date().toISOString()};if(d()){let r=y(t,n,e.knowledgeDomain,{agentId:e.sourceAgentId}),s=await m.evaluateWrite(r);if(!s.allowed&&(R()&&S.recordViolation({type:"contradiction",severity:"medium",agentId:e.sourceAgentId,gate:"memoryWriteGate",description:`Shared knowledge blocked for domain ${e.knowledgeDomain}: ${s.reason}`,context:{sourceAgent:e.sourceAgentId,targetAgents:e.targetAgentIds,domain:e.knowledgeDomain,reason:s.reason}}),v()))return{success:!1,error:`Knowledge sharing blocked by governance: ${s.reason}`}}return await o.memory.set(t,n,{namespace:"agent-knowledge"}),d()&&m.registerPattern(y(t,n,e.knowledgeDomain)),{success:!0,data:{shared:!0,sourceAgent:e.sourceAgentId,targetAgents:e.targetAgentIds,domain:e.knowledgeDomain}}}catch(t){return{success:!1,error:`Failed to share memory: ${i(t)}`}}}export{_ as handleMemoryDelete,V as handleMemoryQuery,T as handleMemoryRetrieve,K as handleMemoryShare,E as handleMemoryStore,z as handleMemoryUsage};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.13.12");process.exit(0)}
|
|
2
|
-
import{a}from"./chunk-2W3D5A4R.js";import"./chunk-3ASVQILY.js";import"./chunk-52VGZJSD.js";import"./chunk-ZMYV4R32.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.12");process.exit(0)}
|
|
2
|
-
import{a as R}from"./chunk-JTYCOFTD.js";import{a as h}from"./chunk-MB2KLJ6Q.js";import{a as C,c as M}from"./chunk-L3GBNX7B.js";import{b as j}from"./chunk-ZMYV4R32.js";import{Command as q}from"commander";import o from"chalk";import{existsSync as p,readFileSync as $}from"node:fs";import u from"node:path";M();var V=j({});var x=Object.keys(h);function S(t){return x.includes(t)}function O(t,e){let i=u.join(t,e.configPath),l=u.join(t,e.rulesPath);return{configExists:p(i),rulesExists:p(l)}}function F(t,e){try{let i=$(t,"utf-8");return e==="json"?{valid:!0,data:JSON.parse(i)}:e==="toml"?i.trim().length===0?{valid:!1,error:"File is empty"}:{valid:!0}:e==="yaml"?i.trim().length===0?{valid:!1,error:"File is empty"}:{valid:!0}:{valid:!0}}catch(i){return{valid:!1,error:C(i)}}}function Q(t,e){try{return $(t,"utf-8").includes("agentic-qe")}catch{return!1}}function L(t,e,i={}){let l=h[e],r=[],s=(n,P,m)=>{r.push({label:n,passed:P,detail:m})},g=i.expectMcp!==!1,d=u.join(t,l.configPath),a=p(d);if(g?s("Config file",a,a?l.configPath:`missing: ${l.configPath}`):s("MCP configuration",!0,a?`${l.configPath} preserved`:"intentionally disabled"),a&&g){let n=F(d,l.configFormat);s("Config syntax",n.valid,n.valid?`valid ${l.configFormat.toUpperCase()}`:n.error||"invalid configuration"),s("AQE MCP entry",Q(d,l),"agentic-qe server entry")}let k=u.join(t,l.rulesPath),c=p(k);if(s("Behavioral rules",c,c?l.rulesPath:`missing: ${l.rulesPath}`),e==="codex"&&c){let n=$(k,"utf-8");s("AQE instructions",n.includes("Quality Engineering Standards (Agentic QE)"),"AGENTS.md contains generated AQE guidance")}if(e==="codex"){let n=u.join(t,".codex","hooks.json"),P=[],m=!1;if(p(n))try{let f=JSON.parse($(n,"utf-8"));m=!!(f.hooks&&typeof f.hooks=="object"),P=JSON.stringify(f).match(/\.codex\/hooks\/[a-z0-9-]+\.cjs/gi)||[]}catch{m=!1}s("Lifecycle hooks",m,m?".codex/hooks.json is valid":"missing or invalid .codex/hooks.json");let y=[...new Set(P.map(f=>f.split("/").pop()))],I=y.length>0&&y.every(f=>p(u.join(t,".codex","hooks",f)));s("Hook adapters",I,y.length>0?`${y.length} referenced adapter(s)`:"no Codex hook adapters referenced");let v=["aqe-runtime.cjs",...y.includes("ruflo-codex-hook.cjs")?["ruflo-runtime.cjs"]:[]],b=v.filter(f=>!p(u.join(t,".codex","hooks",f)));s("Hook runtimes",b.length===0,b.length===0?`${v.length} runtime(s) present`:`missing: ${b.join(", ")}`);let A=u.join(t,".agents","skills"),E=R({includeRuflo:i.expectRuflo===!0}),w=E.filter(f=>!p(u.join(A,f.name,"SKILL.md"))).map(f=>f.name);s("QE skills",w.length===0,w.length===0?`${E.length} required AQE skill(s) present`:`missing: ${w.join(", ")}`)}return{platform:e,passed:r.every(n=>n.passed),checks:r}}function N(){let t=new q("platform").description("Manage coding agent platform configurations");return t.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 i=18,l=36,r=14;console.log(o.gray(` ${"Platform".padEnd(i)}${"Config Path".padEnd(l)}${"Status".padEnd(r)}`)),console.log(o.gray(` ${"\u2500".repeat(i+l+r)}`));for(let s of x){let g=h[s],{configExists:d,rulesExists:a}=O(e,g),n=d&&a?o.green("configured"):d||a?o.yellow("partial"):o.gray("not configured");console.log(` ${o.white(g.name.padEnd(i))}${o.gray(g.configPath.padEnd(l))}${n}`)}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("")}),t.command("setup <name>").description("Set up a specific platform configuration").option("--overwrite","Overwrite existing configuration files").option("--with-ruflo","Add optional Ruflo guidance and lifecycle hooks (Codex only)").action(async(e,i)=>{let l=process.cwd();S(e)||(console.log(""),console.log(o.red(` Unknown platform: ${e}`)),console.log(o.gray(` Valid platforms: ${x.join(", ")}`)),console.log(""),process.exit(1));let r=h[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 s=await V(`../../init/${e}-installer.js`),d=[`create${e.charAt(0).toUpperCase()}${e.slice(1).replace(/([a-z])([A-Z])/g,"$1$2")}Installer`,`create${U(e)}Installer`],a;for(let n of d)if(typeof s[n]=="function"){a=s[n];break}if(!a){for(let n of Object.keys(s))if(n.startsWith("create")&&n.endsWith("Installer")&&typeof s[n]=="function"){a=s[n];break}}a||(console.log(o.red(` Could not find installer factory for ${e}`)),process.exit(1));let c=await a({projectRoot:l,overwrite:i.overwrite,...e==="codex"?{includeRuflo:i.withRuflo}:{}}).install();if(c.success)console.log(o.green(` ${r.name} configured successfully`)),c.mcpConfigured&&console.log(o.gray(` MCP config: ${r.configPath}`)),(c.rulesInstalled||c.agentsMdInstalled)&&console.log(o.gray(` Rules: ${r.rulesPath}`)),e==="codex"&&(c.hooksConfigured&&console.log(o.gray(" Hooks: .codex/hooks.json")),console.log(o.gray(` QE skills: ${c.skillsInstalled??0} installed`)),console.log(i.withRuflo?o.green(" Ruflo integration: enabled"):o.gray(" Ruflo integration: not installed (opt in with --with-ruflo)")));else if(console.log(o.red(` ${r.name} setup failed`)),c.errors)for(let n of c.errors)console.log(o.red(` ${n}`))}catch(s){console.log(o.red(` Failed to set up ${r.name}: ${C(s)}`))}console.log("")}),t.command("verify <name>").description("Verify a platform configuration is correct").option("--no-mcp","Verify a deliberately MCP-free platform installation").option("--with-ruflo","Require optional Ruflo guidance and lifecycle hooks (Codex only)").action(async(e,i)=>{let l=process.cwd();S(e)||(console.log(""),console.log(o.red(` Unknown platform: ${e}`)),console.log(o.gray(` Valid platforms: ${x.join(", ")}`)),console.log(""),process.exit(1));let r=h[e];console.log(""),console.log(o.bold.blue(` Verifying ${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("");let s=L(l,e,{expectMcp:i.mcp!==!1,expectRuflo:i.withRuflo});for(let g of s.checks){let d=` [${g.passed?"pass":"fail"}] ${g.label}: ${g.detail}`;console.log(g.passed?o.green(d):o.red(d))}console.log(""),s.passed?console.log(o.green(` ${r.name} configuration is valid`)):(console.log(o.yellow(` ${r.name} configuration has issues`)),console.log(o.gray(` Run "aqe platform setup ${e}" to fix`)),process.exitCode=1),console.log("")}),t}function U(t){return t.charAt(0).toUpperCase()+t.slice(1)}var K=N;export{N as createPlatformCommand,K as default,L as verifyPlatformConfiguration};
|
|
@@ -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.12");process.exit(0)}
|
|
2
|
-
import{a,b}from"./chunk-NDRZZSD5.js";import"./chunk-KXSUDN46.js";import"./chunk-33YZGOT6.js";import"./chunk-E67ZXRG6.js";import"./chunk-L3GBNX7B.js";import"./chunk-52VGZJSD.js";import"./chunk-ZMYV4R32.js";export{a as DefaultProtocolExecutor,b as createProtocolExecutor};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.13.12");process.exit(0)}
|
|
2
|
-
import{c as a,d as b,e as c,f as d}from"./chunk-UC4EIULB.js";import"./chunk-4AITMWFZ.js";import"./chunk-SNC73DWF.js";import"./chunk-WA6CSEOX.js";import"./chunk-WYFAPA2G.js";import"./chunk-G6FJHDUG.js";import"./chunk-UQ4UCHO7.js";import"./chunk-Z6DSYLAG.js";import"./chunk-M73KM3AZ.js";import"./chunk-KRZYWVS3.js";import"./chunk-3ASVQILY.js";import"./chunk-GEQWCK4F.js";import"./chunk-IOJ34SXJ.js";import"./chunk-6KI6LAAZ.js";import"./chunk-VA2ORJB5.js";import"./chunk-L3GBNX7B.js";import"./chunk-Z56BBX77.js";import"./chunk-5E76HULA.js";import"./chunk-7LATB5IR.js";import"./chunk-4Z4X2ND4.js";import"./chunk-U5G6OC2C.js";import"./chunk-JVFZAJ5N.js";import"./chunk-2VTX4SYW.js";import"./chunk-N4OQ4D4V.js";import"./chunk-AN5CGTTJ.js";import"./chunk-ZMYV4R32.js";export{a as DEFAULT_PROVIDER_MANAGER_CONFIG,b as ProviderManager,c as createProviderManager,d as createQEProviderManager};
|
|
@@ -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.12");process.exit(0)}
|
|
2
|
-
import{a as h,b as i,c as j,e as k,f as l,g as m,h as n}from"./chunk-TWUWLSGQ.js";import"./chunk-TK5XLF3Z.js";import{a as e,b as f,d as g}from"./chunk-4M7YZ2X7.js";import"./chunk-44NPKZGI.js";import"./chunk-OZ53BIY5.js";import{a,b,c,h as d}from"./chunk-YQOQVSYU.js";import"./chunk-GMLRIZ4E.js";import"./chunk-VNODKACB.js";import"./chunk-2W3D5A4R.js";import"./chunk-UWZYXI3R.js";import"./chunk-H3GAR4SV.js";import"./chunk-S6WHYOWV.js";import"./chunk-PGFCKE4G.js";import"./chunk-M73KM3AZ.js";import"./chunk-KRZYWVS3.js";import"./chunk-3ASVQILY.js";import"./chunk-GEQWCK4F.js";import"./chunk-IOJ34SXJ.js";import"./chunk-6KI6LAAZ.js";import"./chunk-VA2ORJB5.js";import"./chunk-7ZVO7I4Q.js";import"./chunk-HQWFZQMJ.js";import"./chunk-EDRPTLAX.js";import"./chunk-E67ZXRG6.js";import"./chunk-L3GBNX7B.js";import"./chunk-52VGZJSD.js";import"./chunk-Z56BBX77.js";import"./chunk-5E76HULA.js";import"./chunk-7LATB5IR.js";import"./chunk-4Z4X2ND4.js";import"./chunk-U5G6OC2C.js";import"./chunk-JVFZAJ5N.js";import"./chunk-2VTX4SYW.js";import"./chunk-N4OQ4D4V.js";import"./chunk-AN5CGTTJ.js";import"./chunk-ZMYV4R32.js";export{j as AGENT_CAPABILITIES,h as DEFAULT_QE_REASONING_BANK_CONFIG,i as PRETRAINED_PATTERNS,m as QEReasoningBank,l as RELATED_DOMAINS,d as applyPatternTemplate,k as calculateAgentScores,n as createQEReasoningBank,a as detectQEDomain,b as detectQEDomains,g as generateGuidanceContext,f as getCombinedGuidance,e as getGuidance,c as mapQEDomainToAQE};
|
|
@@ -1,7 +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.12");process.exit(0)}
|
|
2
|
-
import{c,d as u}from"./chunk-2JAC57JE.js";import{a as f,b as m,c as g,d as h}from"./chunk-5PI75QYP.js";import"./chunk-6BSZHNOC.js";import"./chunk-G6FJHDUG.js";import"./chunk-M73KM3AZ.js";import"./chunk-KRZYWVS3.js";import"./chunk-3ASVQILY.js";import"./chunk-GEQWCK4F.js";import"./chunk-IOJ34SXJ.js";import"./chunk-6KI6LAAZ.js";import"./chunk-VA2ORJB5.js";import"./chunk-L3GBNX7B.js";import"./chunk-Z56BBX77.js";import"./chunk-5E76HULA.js";import"./chunk-7LATB5IR.js";import"./chunk-4Z4X2ND4.js";import"./chunk-U5G6OC2C.js";import"./chunk-JVFZAJ5N.js";import"./chunk-2VTX4SYW.js";import"./chunk-N4OQ4D4V.js";import"./chunk-AN5CGTTJ.js";import"./chunk-ZMYV4R32.js";import{Command as P}from"commander";import r from"chalk";import p from"node:fs";function L(e,a,n){return new P("quality-gate").description("Two-gate, three-valued quality verdict against a pinned ADR-117 checklist (ADR-119)").option("-c, --checklist <id>","Pinned anchor checklist id (e.g. A1-inRange)").option("-a, --artifact-file <path>","File containing the artifact under judgement").option("--artifact <text>","Inline artifact text (alternative to --artifact-file)").option("--oracle-passed","Mechanical oracle passed (mutation score met threshold)").option("--baseline-passed","Tests executed against the reference implementation").option("--oracle-file <path>","JSON file with { passed, baselinePassed } from the ADR-113 oracle").option("--anchor <path>","Override the frozen anchor path (ADR-117)").option("--model <id>","Frontier judge model id (ADR-111: always frontier-tier)").option("--list","List the available pinned checklist ids and exit").option("-F, --format <format>","Output format (text|json)","text").option("-o, --output <path>","Write output to file").action(async t=>{let s=t.format;try{if(t.list){let d=m(t.anchor);s==="json"?c(u({checklists:d}),t.output):console.log(`Available checklists:
|
|
3
|
-
${d.join(`
|
|
4
|
-
`)}`),await a(0);return}if(!t.checklist){console.error(r.red("Missing required option -c, --checklist <id> (use --list to see ids)")),await a(1);return}let i=w(t);if(i==null){console.error(r.red("Provide --artifact-file <path> or --artifact <text>")),await a(1);return}let l=F(t),y=await k(t.model),b={oracleResult:l,artifact:i,checklistId:t.checklist,judge:y,anchorPath:t.anchor},o=await f(b);s==="json"?c(u(o),t.output):R(o.verdict,o.mechanical,o.specCoverage,o.unmet,o.reason);let v=o.verdict==="pass"?0:o.verdict==="fail"?1:3;await a(v)}catch(i){console.error(r.red(`
|
|
5
|
-
Quality gate failed:`),i instanceof Error?i.message:i),await a(1)}})}function w(e){return typeof e.artifact=="string"?e.artifact:e.artifactFile?p.readFileSync(e.artifactFile,"utf8"):null}function F(e){if(e.oracleFile){let a=JSON.parse(p.readFileSync(e.oracleFile,"utf8"));return{passed:!!a.passed,baselinePassed:!!a.baselinePassed}}return e.oraclePassed===void 0&&e.baselinePassed===void 0?null:{passed:!!e.oraclePassed,baselinePassed:!!e.baselinePassed}}async function k(e){let{createLLMRouterService:a}=await import("./llm-router-service-NCJZYJLG.js"),n=await a().catch(()=>null);return n?g(n.router,{...e?{model:e}:{},logger:t=>console.error(t)}):h("no LLM provider configured \u2014 set a frontier provider API key")}function R(e,a,n,t,s){let i=e==="pass"?r.green("\u2713 PASS"):e==="fail"?r.red("\u2717 FAIL"):r.yellow("? INCONCLUSIVE");if(console.log(`
|
|
6
|
-
Quality Gate: ${i}`),console.log(` Mechanical gate: ${a==="pass"?r.green("pass"):r.red("fail")}`),n!=null&&console.log(` Spec coverage: ${r.cyan((n*100).toFixed(0)+"%")}`),t.length>0){console.log(r.cyan(" Unmet requirements:"));for(let l of t)console.log(r.gray(` - ${l}`))}console.log(r.gray(` ${s}
|
|
7
|
-
`))}export{k as buildJudge,L as createQualityGateCommand};
|
|
@@ -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.12");process.exit(0)}
|
|
2
|
-
import{a,b,c,d}from"./chunk-4ANJV6I4.js";import"./chunk-G45AOQDZ.js";import"./chunk-FI6J3UHJ.js";import"./chunk-GJJWXRAD.js";import"./chunk-4THFPRFM.js";import"./chunk-PVINNJ4P.js";import"./chunk-7A4WTRWI.js";import"./chunk-NNLZAVFH.js";import"./chunk-RP2BRRLX.js";import"./chunk-44NPKZGI.js";import"./chunk-OZ53BIY5.js";import"./chunk-YQOQVSYU.js";import"./chunk-GMLRIZ4E.js";import"./chunk-M73KM3AZ.js";import"./chunk-KRZYWVS3.js";import"./chunk-3ASVQILY.js";import"./chunk-GEQWCK4F.js";import"./chunk-IOJ34SXJ.js";import"./chunk-6KI6LAAZ.js";import"./chunk-VA2ORJB5.js";import"./chunk-E67ZXRG6.js";import"./chunk-L3GBNX7B.js";import"./chunk-52VGZJSD.js";import"./chunk-Z56BBX77.js";import"./chunk-5E76HULA.js";import"./chunk-7LATB5IR.js";import"./chunk-4Z4X2ND4.js";import"./chunk-U5G6OC2C.js";import"./chunk-JVFZAJ5N.js";import"./chunk-2VTX4SYW.js";import"./chunk-N4OQ4D4V.js";import"./chunk-AN5CGTTJ.js";import"./chunk-ZMYV4R32.js";export{a as DOMAIN_GROUPS,c as QueenCoordinator,b as TASK_DOMAIN_MAP,d as createQueenCoordinator};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.13.12");process.exit(0)}
|
|
2
|
-
import{a as b,b as c,c as d,d as e,e as f,f as g,g as h,h as i,i as j,j as k}from"./chunk-PGFCKE4G.js";import"./chunk-L3GBNX7B.js";import{a}from"./chunk-JVFZAJ5N.js";import"./chunk-ZMYV4R32.js";export{b as DEFAULT_EMBEDDING_CONFIG,e as clearEmbeddingCache,d as computeBatchEmbeddings,c as computeRealEmbedding,a as cosineSimilarity,f as getCacheStats,h as getEmbeddingDimension,k as getEndpointIdentity,g as isTransformerAvailable,j as isUsingEndpoint,i as resetInitialization};
|
|
@@ -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.12");process.exit(0)}
|
|
2
|
-
import{a,b,c}from"./chunk-HAJG44BD.js";import"./chunk-AKUDUB3O.js";import"./chunk-R7LGVJMZ.js";import"./chunk-5PNQNBDZ.js";import"./chunk-QM4Z7TQH.js";import"./chunk-VA2ORJB5.js";import"./chunk-L3GBNX7B.js";import"./chunk-ZMYV4R32.js";export{a as ModelRouter,b as createModelRouter,c as createModelRouterWithAgentBooster};
|