agentic-qe 3.13.10 → 3.13.12
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/.helpers-version +1 -1
- package/.claude/helpers/auto-memory-hook.mjs +1 -1
- package/.claude/helpers/helpers.manifest.json +6 -6
- package/.claude/helpers/hook-handler.cjs +30 -0
- package/.claude/helpers/intelligence.cjs +121 -10
- package/.claude/helpers/statusline.cjs +786 -8
- package/.claude/skills/skills-manifest.json +1 -1
- package/CHANGELOG.md +78 -0
- package/README.md +1 -0
- package/assets/skills/skills-manifest.json +1 -1
- package/dist/agents/claim-verifier/claim-verifier-service.js +4 -4
- package/dist/agents/claim-verifier/index.js +6 -6
- package/dist/agents/claim-verifier/verifiers/file-verifier.js +1 -1
- package/dist/agents/claim-verifier/verifiers/index.js +3 -3
- package/dist/agents/claim-verifier/verifiers/output-verifier.js +1 -1
- package/dist/causal-discovery/causal-graph.js +2 -2
- package/dist/causal-discovery/discovery-engine.js +2 -2
- package/dist/causal-discovery/weight-matrix.js +2 -2
- package/dist/cli/bundle.js +5 -5
- package/dist/cli/chunks/adapter-FUV6LBJT.js +2 -0
- package/dist/cli/chunks/{agent-booster-wasm-AWNQ6KB3.js → agent-booster-wasm-7I7LZFNC.js} +2 -2
- package/dist/cli/chunks/{agent-handler-RSHQZHPS.js → agent-handler-QZZT52BH.js} +2 -2
- package/dist/cli/chunks/{agent-memory-branch-FU7Y3TQ3.js → agent-memory-branch-MLQS5Y26.js} +2 -2
- package/dist/cli/chunks/aqe-learning-engine-QNFNA3J4.js +2 -0
- package/dist/cli/chunks/{arena-LOK2WYHC.js → arena-IM4CP6LP.js} +2 -2
- package/dist/cli/chunks/{arena-XQOCNKB6.js → arena-WRIY37EJ.js} +4 -4
- package/dist/cli/chunks/{audit-6ZS4EAD2.js → audit-BSAQ4EFN.js} +3 -3
- package/dist/cli/chunks/base-37W2XIXC.js +2 -0
- package/dist/cli/chunks/{better-sqlite3-IMBCIZK3.js → better-sqlite3-X2XZUXWZ.js} +2 -2
- package/dist/cli/chunks/{brain-handler-3U6BH4EO.js → brain-handler-TVTTWZGP.js} +3 -3
- package/dist/cli/chunks/{branch-enumerator-CJBPVBXM.js → branch-enumerator-NI4Q7DSJ.js} +2 -2
- package/dist/cli/chunks/{browser-M4VW3KJY.js → browser-PXBLORUZ.js} +2 -2
- package/dist/cli/chunks/browser-workflow-PDIUEK7B.js +2 -0
- package/dist/cli/chunks/{chunk-PVGOOKBF.js → chunk-2JAC57JE.js} +1 -1
- package/dist/cli/chunks/{chunk-JWV5ZM2S.js → chunk-2VTX4SYW.js} +2 -2
- package/dist/cli/chunks/{chunk-IYLSML27.js → chunk-2VY7FL6A.js} +2 -2
- package/dist/cli/chunks/{chunk-7QNN4GQU.js → chunk-2W3D5A4R.js} +2 -2
- package/dist/cli/chunks/{chunk-OZLMIEJC.js → chunk-33YZGOT6.js} +2 -2
- package/dist/cli/chunks/{chunk-WSPEAYPG.js → chunk-3ASVQILY.js} +2 -2
- package/dist/cli/chunks/{chunk-YO63NTJV.js → chunk-3XVZHJQT.js} +1 -1
- package/dist/cli/chunks/{chunk-H7AACUYS.js → chunk-42AS3HPO.js} +2 -2
- package/dist/cli/chunks/{chunk-HEY2ZRL7.js → chunk-44NPKZGI.js} +2 -2
- package/dist/cli/chunks/{chunk-PIV3QHGJ.js → chunk-4AITMWFZ.js} +2 -2
- package/dist/cli/chunks/{chunk-2SS2SSNZ.js → chunk-4ANJV6I4.js} +3 -3
- package/dist/cli/chunks/{chunk-CCAY7Q56.js → chunk-4FVOJBEU.js} +1 -1
- package/dist/cli/chunks/{chunk-EZY3DAIX.js → chunk-4M7YZ2X7.js} +4 -4
- package/dist/cli/chunks/{chunk-HZIT42TM.js → chunk-4THFPRFM.js} +2 -2
- package/dist/cli/chunks/chunk-4YFXF5AQ.js +21 -0
- package/dist/cli/chunks/{chunk-PUN3KZ6N.js → chunk-4Z4X2ND4.js} +2 -2
- package/dist/cli/chunks/{chunk-4TSLLWE7.js → chunk-52VGZJSD.js} +1 -1
- package/dist/cli/chunks/{chunk-NRD76M7A.js → chunk-5E76HULA.js} +2 -2
- package/dist/cli/chunks/{chunk-RQTXQ6C7.js → chunk-5PI75QYP.js} +2 -2
- package/dist/cli/chunks/{chunk-7BZUNNWC.js → chunk-5PNQNBDZ.js} +1 -1
- package/dist/cli/chunks/{chunk-KBJYXZI7.js → chunk-5VSS2RBD.js} +2 -2
- package/dist/cli/chunks/{chunk-7QSGUJE2.js → chunk-66OQ7AB3.js} +1 -1
- package/dist/cli/chunks/{chunk-WFEHOEYP.js → chunk-6BSZHNOC.js} +1 -1
- package/dist/cli/chunks/{chunk-KQVTTP2S.js → chunk-6KI6LAAZ.js} +2 -2
- package/dist/cli/chunks/{chunk-NZRKWUBM.js → chunk-6KKVMPPR.js} +2 -2
- package/dist/cli/chunks/{chunk-KITVDY4T.js → chunk-7A4WTRWI.js} +1 -1
- package/dist/cli/chunks/{chunk-GRTU5QOT.js → chunk-7LATB5IR.js} +2 -2
- package/dist/cli/chunks/{chunk-J6H2LUBM.js → chunk-7PCIN7UN.js} +2 -2
- package/dist/cli/chunks/{chunk-FBJUNJ2A.js → chunk-7RVLVIAI.js} +1 -1
- package/dist/cli/chunks/{chunk-7NDJW2DU.js → chunk-7ZVO7I4Q.js} +1 -1
- package/dist/cli/chunks/{chunk-EE55ALFK.js → chunk-A5RWLPVT.js} +2 -2
- package/dist/cli/chunks/{chunk-U6YDS37V.js → chunk-AKUDUB3O.js} +2 -2
- package/dist/cli/chunks/{chunk-6SM74KJI.js → chunk-AM42ROKZ.js} +1 -1
- package/dist/cli/chunks/{chunk-VUCCPPQ6.js → chunk-AN5CGTTJ.js} +2 -2
- package/dist/cli/chunks/{chunk-QZOAU2N5.js → chunk-AOOCV56W.js} +1 -1
- package/dist/cli/chunks/{chunk-U562TIMO.js → chunk-ASWWBNX2.js} +2 -2
- package/dist/cli/chunks/{chunk-C5CP66K5.js → chunk-AYH3DMW2.js} +1 -1
- package/dist/cli/chunks/{chunk-U5NKLMF4.js → chunk-BODFJ3DC.js} +2 -2
- package/dist/cli/chunks/{chunk-YHAUBZ4H.js → chunk-BZIPYXSW.js} +3 -3
- package/dist/cli/chunks/{chunk-JMF3FMAO.js → chunk-DCVFHVPR.js} +2 -2
- package/dist/cli/chunks/{chunk-H633BGA7.js → chunk-DFLASG3B.js} +1 -1
- package/dist/cli/chunks/{chunk-CPXZC7LF.js → chunk-DGFINXUE.js} +1 -1
- package/dist/cli/chunks/{chunk-54RIPGMC.js → chunk-E67ZXRG6.js} +1 -1
- package/dist/cli/chunks/{chunk-A233TTUX.js → chunk-EDRPTLAX.js} +1 -1
- package/dist/cli/chunks/{chunk-UHSIP4DJ.js → chunk-EG73WYAW.js} +2 -2
- package/dist/cli/chunks/{chunk-EKZNA6HW.js → chunk-FI6J3UHJ.js} +1 -1
- package/dist/cli/chunks/{chunk-6FIWTBR5.js → chunk-G45AOQDZ.js} +1 -1
- package/dist/cli/chunks/{chunk-IR7FZYPO.js → chunk-G6FJHDUG.js} +1 -1
- package/dist/cli/chunks/chunk-GEQWCK4F.js +2 -0
- package/dist/cli/chunks/{chunk-6L36EHM2.js → chunk-GJJWXRAD.js} +2 -2
- package/dist/cli/chunks/{chunk-MMRORLMM.js → chunk-GJUGG6UR.js} +2 -2
- package/dist/cli/chunks/{chunk-YC5UJVV3.js → chunk-GMLRIZ4E.js} +1 -1
- package/dist/cli/chunks/{chunk-UNXPBIX5.js → chunk-GQLJYTXN.js} +2 -2
- package/dist/cli/chunks/{chunk-IJ3HHUSD.js → chunk-H3GAR4SV.js} +2 -2
- package/dist/cli/chunks/{chunk-OSWAQX4G.js → chunk-HAJG44BD.js} +2 -2
- package/dist/cli/chunks/{chunk-GSN4QIDI.js → chunk-HQWFZQMJ.js} +2 -2
- package/dist/cli/chunks/{chunk-JUVW4DOU.js → chunk-HRTSYT4N.js} +2 -2
- package/dist/cli/chunks/{chunk-2HMBDTSI.js → chunk-I5SXLV7D.js} +2 -2
- package/dist/cli/chunks/{chunk-DR4V75BF.js → chunk-IOJ34SXJ.js} +2 -2
- package/dist/cli/chunks/{chunk-JALFKAAD.js → chunk-IPDM3CAK.js} +1 -1
- package/dist/cli/chunks/{chunk-NL3KX4NE.js → chunk-IPZEBALY.js} +34 -29
- package/dist/cli/chunks/{chunk-PSBQRTNF.js → chunk-IQH2RDN3.js} +5 -5
- package/dist/cli/chunks/{chunk-SWZUMHIQ.js → chunk-IT5QIUUA.js} +2 -2
- package/dist/cli/chunks/{chunk-2LGQNT6Q.js → chunk-JTYCOFTD.js} +1 -1
- package/dist/cli/chunks/{chunk-Q7QKJY6Y.js → chunk-JVFZAJ5N.js} +2 -2
- package/dist/cli/chunks/{chunk-F3AHUNWH.js → chunk-KRZYWVS3.js} +2 -2
- package/dist/cli/chunks/{chunk-7JK57AI2.js → chunk-KXSUDN46.js} +1 -1
- package/dist/cli/chunks/{chunk-EP2HOAEB.js → chunk-KYJBJ56M.js} +2 -2
- package/dist/cli/chunks/{chunk-OLETDPH2.js → chunk-L3GBNX7B.js} +2 -2
- package/dist/cli/chunks/{chunk-VWZ743HH.js → chunk-LRO74LPA.js} +4 -4
- package/dist/cli/chunks/{chunk-FC47FRFI.js → chunk-LXVT6JXO.js} +4 -4
- package/dist/cli/chunks/{chunk-7XWFAPPI.js → chunk-M3354CE4.js} +2 -2
- package/dist/cli/chunks/{chunk-37GWETSW.js → chunk-M73KM3AZ.js} +2 -2
- package/dist/cli/chunks/{chunk-BM5BSYPW.js → chunk-M7CPJW53.js} +2 -2
- package/dist/cli/chunks/{chunk-ZAEUW3Q4.js → chunk-MB2KLJ6Q.js} +1 -1
- package/dist/cli/chunks/{chunk-QHRMZP6J.js → chunk-MGKH4LCM.js} +1 -1
- package/dist/cli/chunks/{chunk-AJQGNQ3W.js → chunk-MLFELTJX.js} +2 -2
- package/dist/cli/chunks/{chunk-I3SBXWF2.js → chunk-MLXLGBQZ.js} +1 -1
- package/dist/cli/chunks/{chunk-6C5WRBGZ.js → chunk-MYVKTG55.js} +3 -3
- package/dist/cli/chunks/{chunk-EJRDL5W5.js → chunk-N4OQ4D4V.js} +2 -2
- package/dist/cli/chunks/{chunk-MMA6Q6NF.js → chunk-NDRZZSD5.js} +2 -2
- package/dist/cli/chunks/{chunk-HL5RC5YB.js → chunk-NG6A7LCG.js} +1 -1
- package/dist/cli/chunks/{chunk-JPDJARGR.js → chunk-NJ3QXJ54.js} +2 -2
- package/dist/cli/chunks/{chunk-DZNK4EM7.js → chunk-NJ4YVAG7.js} +3 -3
- package/dist/cli/chunks/chunk-NL2SCAGJ.js +12 -0
- package/dist/cli/chunks/chunk-NLZUGANH.js +11 -0
- package/dist/cli/chunks/{chunk-TIGBPVPZ.js → chunk-NNLZAVFH.js} +1 -1
- package/dist/cli/chunks/{chunk-7XCRPSSU.js → chunk-NTALX2YC.js} +2 -2
- package/dist/cli/chunks/{chunk-YALYPHSG.js → chunk-O4BWESH5.js} +2 -2
- package/dist/cli/chunks/{chunk-C656WHED.js → chunk-OG3DBHIV.js} +2 -2
- package/dist/cli/chunks/{chunk-BFX3N7KU.js → chunk-OZ53BIY5.js} +1 -1
- package/dist/cli/chunks/{chunk-BB4LWAAH.js → chunk-P6EFKHNI.js} +2 -2
- package/dist/cli/chunks/{chunk-2FFCL4BK.js → chunk-PGFCKE4G.js} +3 -3
- package/dist/cli/chunks/{chunk-66BUC3JG.js → chunk-PVINNJ4P.js} +2 -2
- package/dist/cli/chunks/{chunk-FOWBKCRK.js → chunk-QG5L2JM5.js} +10 -10
- package/dist/cli/chunks/{chunk-ATSVI6T4.js → chunk-QM4Z7TQH.js} +1 -1
- package/dist/cli/chunks/{chunk-Q26QKZYI.js → chunk-QXO35J6F.js} +2 -2
- package/dist/cli/chunks/{chunk-FOPLJRWL.js → chunk-R7LGVJMZ.js} +2 -2
- package/dist/cli/chunks/{chunk-PLJ72A3I.js → chunk-RACWX2ZX.js} +2 -2
- package/dist/cli/chunks/{chunk-ZH3MVVXO.js → chunk-RP2BRRLX.js} +2 -2
- package/dist/cli/chunks/{chunk-T7OS4CB4.js → chunk-RP5VFZJO.js} +2 -2
- package/dist/cli/chunks/{chunk-7GZJMPTD.js → chunk-S6WHYOWV.js} +2 -2
- package/dist/cli/chunks/{chunk-C5HYQTD7.js → chunk-SCQNISGS.js} +1 -1
- package/dist/cli/chunks/chunk-SNC73DWF.js +2 -0
- package/dist/cli/chunks/{chunk-WKE2FUCP.js → chunk-SOS37ECY.js} +1 -1
- package/dist/cli/chunks/{chunk-BTG5UFMA.js → chunk-SXFSJJZF.js} +2 -2
- package/dist/cli/chunks/{chunk-IHNPXNFG.js → chunk-TB2N3CAK.js} +2 -2
- package/dist/cli/chunks/chunk-TDVMILKO.js +2 -0
- package/dist/cli/chunks/{chunk-RYHOV4E3.js → chunk-TJVTV3HP.js} +2 -2
- package/dist/cli/chunks/{chunk-2E35LWYJ.js → chunk-TK5XLF3Z.js} +4 -4
- package/dist/cli/chunks/{chunk-NCX4W65B.js → chunk-TWUWLSGQ.js} +6 -6
- package/dist/cli/chunks/{chunk-WIB6KRFJ.js → chunk-U5G6OC2C.js} +2 -2
- package/dist/cli/chunks/{chunk-OZO2JUEK.js → chunk-UBOGJHWC.js} +1 -1
- package/dist/cli/chunks/{chunk-WK5MKY45.js → chunk-UC4EIULB.js} +13 -13
- package/dist/cli/chunks/{chunk-KBOGA4GA.js → chunk-UJUK6T4V.js} +2 -2
- package/dist/cli/chunks/chunk-UQ4UCHO7.js +2 -0
- package/dist/cli/chunks/{chunk-4PRQMFVO.js → chunk-UWZYXI3R.js} +2 -2
- package/dist/cli/chunks/{chunk-GQ6H37RN.js → chunk-VA2ORJB5.js} +2 -2
- package/dist/cli/chunks/{chunk-U5WFVIKL.js → chunk-VBHA4SDU.js} +2 -2
- package/dist/cli/chunks/{chunk-PGJHCCR6.js → chunk-VD53LBF7.js} +3 -3
- package/dist/cli/chunks/{chunk-UHHWEWDA.js → chunk-VNODKACB.js} +2 -2
- package/dist/cli/chunks/{chunk-3E3YLEHB.js → chunk-VQCLSX7T.js} +1 -1
- package/dist/cli/chunks/{chunk-G7YD3BR3.js → chunk-VQD2ELNL.js} +2 -2
- package/dist/cli/chunks/{chunk-RCXC4YGL.js → chunk-VZGP77YU.js} +1 -1
- package/dist/cli/chunks/chunk-WA6CSEOX.js +2 -0
- package/dist/cli/chunks/{chunk-JGXU5FUZ.js → chunk-WE3VKDMK.js} +3 -3
- package/dist/cli/chunks/{chunk-MGJPS2YV.js → chunk-WXU7FAEB.js} +2 -2
- package/dist/cli/chunks/{chunk-O5QZB2AP.js → chunk-WYFAPA2G.js} +2 -2
- package/dist/cli/chunks/{chunk-MFGKSD44.js → chunk-WYIXNHPF.js} +2 -2
- package/dist/cli/chunks/{chunk-2HEHM2KV.js → chunk-X2SZCVDA.js} +2 -2
- package/dist/cli/chunks/{chunk-2CLM53W2.js → chunk-X3JNFQW2.js} +2 -2
- package/dist/cli/chunks/{chunk-NBUBGYLE.js → chunk-XIKYUBIV.js} +2 -2
- package/dist/cli/chunks/{chunk-2FPHM356.js → chunk-XM5I7J5S.js} +2 -2
- package/dist/cli/chunks/{chunk-35CHBX6K.js → chunk-XT473WPO.js} +2 -2
- package/dist/cli/chunks/{chunk-74QKFILD.js → chunk-YL2GOJF6.js} +2 -2
- package/dist/cli/chunks/{chunk-K6SXDKWV.js → chunk-YQOQVSYU.js} +1 -1
- package/dist/cli/chunks/{chunk-G427QR5W.js → chunk-Z56BBX77.js} +2 -2
- package/dist/cli/chunks/{chunk-LPVHYZAE.js → chunk-Z6DSYLAG.js} +1 -1
- package/dist/cli/chunks/{chunk-W3DCBOLL.js → chunk-ZMYV4R32.js} +1 -1
- package/dist/cli/chunks/{chunk-UL6PT654.js → chunk-ZSAGRDXA.js} +2 -2
- package/dist/cli/chunks/{ci-7QW7234M.js → ci-QAUD62WH.js} +2 -2
- package/dist/cli/chunks/{ci-output-WGP4YKPQ.js → ci-output-TZDVTNE7.js} +2 -2
- package/dist/cli/chunks/{circuit-breaker-AOHSCJYO.js → circuit-breaker-ZWPHJ7YJ.js} +2 -2
- package/dist/cli/chunks/{claude-flow-setup-CIZ3TWR7.js → claude-flow-setup-SCB4EURN.js} +2 -2
- package/dist/cli/chunks/client-4W3KWTAU.js +2 -0
- package/dist/cli/chunks/{cline-installer-J2QVGPJY.js → cline-installer-EHZLMLXF.js} +2 -2
- package/dist/cli/chunks/{code-WH26MFMB.js → code-3N6PBJMK.js} +2 -2
- package/dist/cli/chunks/{code-index-extractor-DBOYEFZ4.js → code-index-extractor-6DIKHNRI.js} +2 -2
- package/dist/cli/chunks/{codex-installer-MWYVGZC4.js → codex-installer-P7DPQMYL.js} +2 -2
- package/dist/cli/chunks/{completions-LNBHGWUS.js → completions-5MKWWCCE.js} +2 -2
- package/dist/cli/chunks/{complexity-analyzer-AMYCTQG2.js → complexity-analyzer-TPM4IPEK.js} +2 -2
- package/dist/cli/chunks/{continuedev-installer-73EQPP37.js → continuedev-installer-VXODKGVX.js} +2 -2
- package/dist/cli/chunks/{copilot-installer-JWSY2272.js → copilot-installer-PVD5O56P.js} +2 -2
- package/dist/cli/chunks/core-handlers-BDU2XBLO.js +2 -0
- package/dist/cli/chunks/{cost-tracker-XQVIORRZ.js → cost-tracker-JOMZEQF3.js} +2 -2
- package/dist/cli/chunks/{coverage-HYGJIQ25.js → coverage-HTXLEV3B.js} +3 -3
- package/dist/cli/chunks/cross-domain-router-BPB6IHN4.js +2 -0
- package/dist/cli/chunks/{cursor-installer-DNPNJGZM.js → cursor-installer-SHKDTDDZ.js} +2 -2
- package/dist/cli/chunks/{daemon-GSOGO6L3.js → daemon-FCFEWVVJ.js} +3 -3
- package/dist/cli/chunks/{daemon-6JNNBU33.js → daemon-PN4FEPLE.js} +6 -6
- package/dist/cli/chunks/{dag-attention-scheduler-7SGPLKGI.js → dag-attention-scheduler-PLOHU5SR.js} +2 -2
- package/dist/cli/chunks/{detect-IXD77HG4.js → detect-F3H4ZEZY.js} +2 -2
- package/dist/cli/chunks/{dist-node-ARTYK2HL.js → dist-node-5TC665N6.js} +2 -2
- package/dist/cli/chunks/{domain-handler-X4BOFLMY.js → domain-handler-ZIWVFXCU.js} +2 -2
- package/dist/cli/chunks/{domain-transfer-7JBEXLFL.js → domain-transfer-7Q5JYMYR.js} +2 -2
- package/dist/cli/chunks/dream-WFCZGFDY.js +2 -0
- package/dist/cli/chunks/{embed-and-insert-pattern-VSOLKM3Y.js → embed-and-insert-pattern-VESJQSYD.js} +2 -2
- package/dist/cli/chunks/{eval-HS2QQW42.js → eval-E2K2T75A.js} +2 -2
- package/dist/cli/chunks/{experience-capture-middleware-MWEPZYBT.js → experience-capture-middleware-Z5SE2O53.js} +3 -3
- package/dist/cli/chunks/{fast-paths-RONNJ6AC.js → fast-paths-3H52RSUK.js} +2 -2
- package/dist/cli/chunks/{feature-flags-4YE5A6XG.js → feature-flags-LUHSMHPS.js} +2 -2
- package/dist/cli/chunks/{feature-flags-CLW4K2HN.js → feature-flags-ONIKUZVK.js} +2 -2
- package/dist/cli/chunks/{file-discovery-56C2FW4V.js → file-discovery-FLYSYSS4.js} +2 -2
- package/dist/cli/chunks/{fleet-KMB6RM3R.js → fleet-6OJUAAKV.js} +3 -3
- package/dist/cli/chunks/{gnn-wrapper-R2OMDND4.js → gnn-wrapper-PUL6B7KZ.js} +2 -2
- package/dist/cli/chunks/{heartbeat-handler-FP3CIA2V.js → heartbeat-handler-HGHHDUDY.js} +4 -4
- package/dist/cli/chunks/heartbeat-scheduler-HWS4SHRM.js +2 -0
- package/dist/cli/chunks/hnsw-adapter-7QOBHKRB.js +2 -0
- package/dist/cli/chunks/hnsw-index-6WUKYJH7.js +2 -0
- package/dist/cli/chunks/{hnsw-legacy-bridge-EQKXBLRX.js → hnsw-legacy-bridge-NDZSNMYX.js} +2 -2
- package/dist/cli/chunks/{hnswlib-node-JG3WOXKM.js → hnswlib-node-PISLKSO2.js} +2 -2
- package/dist/cli/chunks/{hooks-6QZYELUZ.js → hooks-WYG54MRI.js} +40 -40
- package/dist/cli/chunks/hybrid-router-525JTRA5.js +2 -0
- package/dist/cli/chunks/{hypergraph-engine-5HGNZFDH.js → hypergraph-engine-EDHKHZZ2.js} +2 -2
- package/dist/cli/chunks/{hypergraph-handler-LO2ODOYD.js → hypergraph-handler-OCHZAPPL.js} +3 -3
- package/dist/cli/chunks/impact-analyzer-GG6CJEOK.js +2 -0
- package/dist/cli/chunks/{init-handler-E346YK6H.js → init-handler-5TCJ672H.js} +6 -6
- package/dist/cli/chunks/init-wizard-4VFAOK4Y.js +2 -0
- package/dist/cli/chunks/kernel-N3FQGOST.js +2 -0
- package/dist/cli/chunks/{kilocode-installer-ZBJNB6N4.js → kilocode-installer-SWUQRCTZ.js} +2 -2
- package/dist/cli/chunks/{kiro-installer-3TWFO4QZ.js → kiro-installer-L22EBAM5.js} +2 -2
- package/dist/cli/chunks/knowledge-graph-I5QIHB4G.js +2 -0
- package/dist/cli/chunks/{learning-3MLFLTM2.js → learning-TQOGG3CR.js} +3 -3
- package/dist/cli/chunks/llm-router-F2L4LFT2.js +37 -0
- package/dist/cli/chunks/llm-router-service-NCJZYJLG.js +2 -0
- package/dist/cli/chunks/{load-P6XC2P74.js → load-A4ZF2KHC.js} +2 -2
- package/dist/cli/chunks/load-test-DCJEYIXD.js +2 -0
- package/dist/cli/chunks/{mcp-XEND7FPN.js → mcp-T2Z46NNK.js} +2 -2
- package/dist/cli/chunks/{memory-HZ2WSMWW.js → memory-PUC3J6XC.js} +5 -5
- package/dist/cli/chunks/memory-backend-O6KO2KTX.js +2 -0
- package/dist/cli/chunks/memory-handlers-4Z43WEKD.js +2 -0
- package/dist/cli/chunks/{multi-model-executor-IYEHZP73.js → multi-model-executor-U5L4FI4O.js} +2 -2
- package/dist/cli/chunks/{opencode-installer-GH3VVBM2.js → opencode-installer-UWI6KHYH.js} +2 -2
- package/dist/cli/chunks/{orchestrator-GOKIBTQG.js → orchestrator-3BEI7R5D.js} +5 -5
- package/dist/cli/chunks/pattern-null-store-5WIJKX2K.js +2 -0
- package/dist/cli/chunks/{pattern-usage-recorder-J2X4DD5S.js → pattern-usage-recorder-EGWUI5LU.js} +2 -2
- package/dist/cli/chunks/{pipeline-ELINTMVF.js → pipeline-JG6M4RHD.js} +2 -2
- package/dist/cli/chunks/{platform-PIPUB3LU.js → platform-F76G6RUI.js} +2 -2
- package/dist/cli/chunks/{plugin-DXDNI6ZV.js → plugin-EEGN3PMK.js} +2 -2
- package/dist/cli/chunks/{prime-radiant-advanced-wasm-K6WWURGX.js → prime-radiant-advanced-wasm-7KZAINFT.js} +2 -2
- package/dist/cli/chunks/protocol-executor-5TPNAZTB.js +2 -0
- package/dist/cli/chunks/{protocol-handler-NMO7VI64.js → protocol-handler-UCEHYK2R.js} +2 -2
- package/dist/cli/chunks/{prove-4BLOE4SC.js → prove-JSNG75VD.js} +2 -2
- package/dist/cli/chunks/provider-manager-3VMOZ6HV.js +2 -0
- package/dist/cli/chunks/qe-reasoning-bank-BATV4NTT.js +2 -0
- package/dist/cli/chunks/{quality-MYXBP3GX.js → quality-7SRM2HBM.js} +2 -2
- package/dist/cli/chunks/{quality-gate-AXPBK3MT.js → quality-gate-A5MPWHST.js} +3 -3
- package/dist/cli/chunks/queen-coordinator-EIHGYBUO.js +2 -0
- package/dist/cli/chunks/{real-embeddings-4AKAVZIY.js → real-embeddings-ZBF5EQOG.js} +2 -2
- package/dist/cli/chunks/{roocode-installer-JE36LP4T.js → roocode-installer-UYQK64BZ.js} +2 -2
- package/dist/cli/chunks/router-EMVGY4HU.js +2 -0
- package/dist/cli/chunks/routing-feedback-JUP4OFB2.js +2 -0
- package/dist/cli/chunks/{routing-handler-LOJUJCVV.js → routing-handler-PY3KPDTH.js} +2 -2
- package/dist/cli/chunks/{ruvector-commands-6PNDYF32.js → ruvector-commands-GCAOUTYS.js} +2 -2
- package/dist/cli/chunks/{rvf-dual-writer-GSTQPRNA.js → rvf-dual-writer-BUNP4SKD.js} +2 -2
- package/dist/cli/chunks/{rvf-migration-adapter-Z2DSEG3E.js → rvf-migration-adapter-VSOAPLMB.js} +2 -2
- package/dist/cli/chunks/{rvf-migration-coordinator-XRNODDH4.js → rvf-migration-coordinator-LSWEHAWX.js} +2 -2
- package/dist/cli/chunks/rvf-native-adapter-LOC42TQ6.js +2 -0
- package/dist/cli/chunks/{rvf-store-integrity-LVEFIUUW.js → rvf-store-integrity-HNDKOM4L.js} +2 -2
- package/dist/cli/chunks/safe-db-WQ62IQKV.js +2 -0
- package/dist/cli/chunks/schedule-XJRP57TE.js +2 -0
- package/dist/cli/chunks/scheduler-EZH5SDIM.js +2 -0
- package/dist/cli/chunks/{security-A2FK2DER.js → security-MQ2VB7PY.js} +3 -3
- package/dist/cli/chunks/{shared-rvf-adapter-V7IBEGQQ.js → shared-rvf-adapter-TAZEU6QK.js} +2 -2
- package/dist/cli/chunks/{shared-rvf-dual-writer-SMGECN2K.js → shared-rvf-dual-writer-B7N6AOCY.js} +2 -2
- package/dist/cli/chunks/sqlite-persistence-HPEVCTIB.js +2 -0
- package/dist/cli/chunks/status-handler-NZP7DFHE.js +47 -0
- package/dist/cli/chunks/{structural-health-6BRP74EW.js → structural-health-ALLUQ4X6.js} +2 -2
- package/dist/cli/chunks/{sync-4PDTGP34.js → sync-MM7OCUYD.js} +2 -2
- package/dist/cli/chunks/{sync-KI573HOR.js → sync-WJJG5J6V.js} +2 -2
- package/dist/cli/chunks/{task-handler-QQGSAK6T.js → task-handler-CAQUEEB4.js} +2 -2
- package/dist/cli/chunks/{task-handlers-VUPCDYTI.js → task-handlers-25BJ7D3W.js} +3 -3
- package/dist/cli/chunks/{test-CJLXBSRH.js → test-HW7GVGVN.js} +4 -4
- package/dist/cli/chunks/{test-scheduling-IKPQPQUB.js → test-scheduling-HTMFJMSP.js} +3 -3
- package/dist/cli/chunks/{token-bootstrap-FHLC3SHC.js → token-bootstrap-F2DCLWGW.js} +2 -2
- package/dist/cli/chunks/{token-usage-NCXAK7TB.js → token-usage-RJZDMBDP.js} +2 -2
- package/dist/cli/chunks/{transformers-SZFBEILB.js → transformers-3YFW3EUO.js} +2 -2
- package/dist/cli/chunks/{tree-sitter-wasm-parser-LFGJRML7.js → tree-sitter-wasm-parser-U3PQPIK7.js} +2 -2
- package/dist/cli/chunks/{types-NKXH7VTP.js → types-7Q762WDO.js} +2 -2
- package/dist/cli/chunks/unified-memory-ATILROKR.js +2 -0
- package/dist/cli/chunks/unified-memory-hnsw-XJXAX7DW.js +2 -0
- package/dist/cli/chunks/unified-persistence-3TN5PBWE.js +2 -0
- package/dist/cli/chunks/{upgrade-PFCFH6M5.js → upgrade-F7MKJWBQ.js} +2 -2
- package/dist/cli/chunks/{validate-YEBJRWQM.js → validate-B27AVRA6.js} +2 -2
- package/dist/cli/chunks/{validate-swarm-TD2NA6QF.js → validate-swarm-GYZR3GNL.js} +2 -2
- package/dist/cli/chunks/{vibium-ACC4GIOT.js → vibium-W4XQMPJP.js} +2 -2
- package/dist/cli/chunks/visual-security-VFWRBCNA.js +2 -0
- package/dist/cli/chunks/{web-tree-sitter-IWVW5FIE.js → web-tree-sitter-I7CDCFJU.js} +2 -2
- package/dist/cli/chunks/{windsurf-installer-5PVGLJ3T.js → windsurf-installer-UYLHFDHU.js} +2 -2
- package/dist/cli/chunks/{witness-chain-VZB4LJOJ.js → witness-chain-B66SYZKU.js} +2 -2
- package/dist/cli/chunks/witness-chain-JC5LEXRV.js +2 -0
- package/dist/cli/chunks/{witness-key-manager-X632AZTN.js → witness-key-manager-U4JPAHVW.js} +2 -2
- package/dist/cli/chunks/{workflow-VNAYFUVY.js → workflow-DYMO47FF.js} +4 -4
- package/dist/cli/chunks/workflow-orchestrator-TKQUF2KN.js +2 -0
- package/dist/cli/chunks/{wrappers-KO3QXNZP.js → wrappers-7S6DQTEA.js} +2 -2
- package/dist/cli/commands/daemon.js +3 -3
- package/dist/cli/commands/hooks-handlers/hooks-dream-learning.js +2 -2
- package/dist/cli/commands/hooks-handlers/routing-hooks.js +7 -0
- package/dist/cli/commands/llm-router.js +35 -6
- package/dist/cli/commands/plugin.js +4 -4
- package/dist/cli/commands/quality-gate.js +5 -1
- package/dist/cli/handlers/status-handler.js +18 -2
- package/dist/cli/index.js +1 -1
- package/dist/cli/utils/index.js +2 -2
- package/dist/context/compaction/index.js +11 -11
- package/dist/context/compaction/tier1-microcompact.js +1 -1
- package/dist/context/compaction/tier2-session-summary.js +1 -1
- package/dist/context/compaction/tier3-llm-compact.js +1 -1
- package/dist/context/compaction/tier4-reactive.js +1 -1
- package/dist/coordination/claims/index.js +8 -8
- package/dist/coordination/consensus/consensus-engine.js +4 -4
- package/dist/coordination/consensus/factory.js +4 -4
- package/dist/coordination/consensus/index.js +8 -8
- package/dist/coordination/consensus/providers/claude-provider.js +1 -1
- package/dist/coordination/consensus/providers/gemini-provider.js +1 -1
- package/dist/coordination/consensus/providers/index.js +7 -7
- package/dist/coordination/consensus/providers/native-learning-provider.js +1 -1
- package/dist/coordination/consensus/providers/ollama-provider.js +1 -1
- package/dist/coordination/consensus/providers/openai-provider.js +1 -1
- package/dist/coordination/consensus/providers/openrouter-provider.js +1 -1
- package/dist/coordination/consensus/strategies/index.js +3 -3
- package/dist/coordination/cross-domain-router.js +2 -2
- package/dist/coordination/dynamic-scaling/dynamic-scaler.js +1 -1
- package/dist/coordination/dynamic-scaling/index.js +2 -2
- package/dist/coordination/fleet-tiers/index.js +3 -3
- package/dist/coordination/fleet-tiers/tier-selector.js +2 -2
- package/dist/coordination/handlers/code-intelligence-handlers.js +2 -2
- package/dist/coordination/handlers/coverage-collection.js +1 -1
- package/dist/coordination/handlers/coverage-handlers.js +3 -3
- package/dist/coordination/handlers/index.js +7 -7
- package/dist/coordination/handlers/misc-handlers.js +1 -1
- package/dist/coordination/handlers/quality-handlers.js +2 -2
- package/dist/coordination/handlers/requirements-handlers.js +2 -2
- package/dist/coordination/handlers/security-handlers.js +2 -2
- package/dist/coordination/handlers/test-execution-handlers.js +1 -1
- package/dist/coordination/index.js +20 -20
- package/dist/coordination/mincut/dream-integration.js +1 -1
- package/dist/coordination/mincut/index.js +14 -14
- package/dist/coordination/mincut/mincut-health-monitor.js +2 -2
- package/dist/coordination/mincut/mincut-persistence.js +1 -1
- package/dist/coordination/mincut/morphogenetic-growth.js +1 -1
- package/dist/coordination/mincut/neural-goap.js +1 -1
- package/dist/coordination/mincut/queen-integration.js +5 -5
- package/dist/coordination/mincut/shared-singleton.js +3 -3
- package/dist/coordination/mincut/strange-loop.js +1 -1
- package/dist/coordination/mincut/time-crystal.js +8 -8
- package/dist/coordination/mixins/consensus-enabled-domain.js +2 -2
- package/dist/coordination/mixins/index.js +3 -3
- package/dist/coordination/protocol-executor.js +2 -2
- package/dist/coordination/protocols/code-intelligence-index.js +4 -4
- package/dist/coordination/protocols/defect-investigation.js +2 -2
- package/dist/coordination/protocols/morning-sync.js +1 -1
- package/dist/coordination/protocols/quality-gate.js +2 -2
- package/dist/coordination/queen-coordinator.js +4 -4
- package/dist/coordination/queen-task-management.js +1 -1
- package/dist/coordination/services/index.js +1 -1
- package/dist/coordination/task-executor.js +6 -6
- package/dist/domains/chaos-resilience/coordinator.js +6 -6
- package/dist/domains/chaos-resilience/index.js +5 -5
- package/dist/domains/chaos-resilience/plugin.js +6 -6
- package/dist/domains/chaos-resilience/services/chaos-engineer.js +3 -3
- package/dist/domains/chaos-resilience/services/index.js +3 -3
- package/dist/domains/chaos-resilience/services/load-tester.js +2 -2
- package/dist/domains/chaos-resilience/services/performance-profiler.js +2 -2
- package/dist/domains/code-intelligence/coordinator-consensus.js +1 -1
- package/dist/domains/code-intelligence/coordinator-gnn.js +1 -1
- package/dist/domains/code-intelligence/coordinator-hypergraph.js +2 -2
- package/dist/domains/code-intelligence/coordinator.js +9 -9
- package/dist/domains/code-intelligence/index.js +7 -7
- package/dist/domains/code-intelligence/plugin.js +6 -6
- package/dist/domains/code-intelligence/services/c4-model/index.js +3 -3
- package/dist/domains/code-intelligence/services/impact-analyzer.js +2 -2
- package/dist/domains/code-intelligence/services/index.js +6 -6
- package/dist/domains/code-intelligence/services/knowledge-graph.js +4 -4
- package/dist/domains/code-intelligence/services/metric-collector/loc-counter.js +1 -1
- package/dist/domains/code-intelligence/services/metric-collector/test-counter.js +1 -1
- package/dist/domains/code-intelligence/services/product-factors-bridge.js +5 -5
- package/dist/domains/code-intelligence/services/semantic-analyzer.js +2 -2
- package/dist/domains/coverage-analysis/coordinator.js +9 -9
- package/dist/domains/coverage-analysis/index.js +10 -10
- package/dist/domains/coverage-analysis/plugin.js +4 -4
- package/dist/domains/coverage-analysis/services/coverage-analyzer.js +1 -1
- package/dist/domains/coverage-analysis/services/gap-detector.js +1 -1
- package/dist/domains/coverage-analysis/services/ghost-coverage-analyzer.js +1 -1
- package/dist/domains/coverage-analysis/services/index.js +7 -7
- package/dist/domains/coverage-analysis/services/risk-scorer.js +1 -1
- package/dist/domains/coverage-analysis/services/sublinear-analyzer.js +3 -3
- package/dist/domains/defect-intelligence/coordinator.js +5 -5
- package/dist/domains/defect-intelligence/index.js +5 -5
- package/dist/domains/defect-intelligence/plugin.js +6 -6
- package/dist/domains/defect-intelligence/services/causal-root-cause-analyzer.js +2 -2
- package/dist/domains/defect-intelligence/services/defect-predictor.js +4 -4
- package/dist/domains/defect-intelligence/services/index.js +4 -4
- package/dist/domains/defect-intelligence/services/pattern-learner.js +2 -2
- package/dist/domains/defect-intelligence/services/root-cause-analyzer.js +1 -1
- package/dist/domains/domain-interface.js +1 -1
- package/dist/domains/index.js +14 -14
- package/dist/domains/learning-optimization/coordinator.d.ts +3 -0
- package/dist/domains/learning-optimization/coordinator.js +6 -0
- package/dist/domains/learning-optimization/interfaces.d.ts +2 -0
- package/dist/domains/learning-optimization/plugin.d.ts +3 -0
- package/dist/domains/learning-optimization/plugin.js +5 -0
- package/dist/domains/quality-assessment/coherence/gate-controller.js +2 -2
- package/dist/domains/quality-assessment/coherence/lambda-calculator.js +1 -1
- package/dist/domains/quality-assessment/coherence/partition-detector.js +1 -1
- package/dist/domains/quality-assessment/coordinator-gate-evaluation.js +1 -1
- package/dist/domains/quality-assessment/coordinator-reports.js +1 -1
- package/dist/domains/quality-assessment/coordinator-rl-integration.js +2 -2
- package/dist/domains/quality-assessment/coordinator.js +5 -5
- package/dist/domains/quality-assessment/index.js +9 -9
- package/dist/domains/quality-assessment/plugin.js +6 -6
- package/dist/domains/quality-assessment/services/coherence-gate.js +6 -6
- package/dist/domains/quality-assessment/services/deployment-advisor.js +1 -1
- package/dist/domains/quality-assessment/services/index.js +4 -4
- package/dist/domains/quality-assessment/services/quality-analyzer.js +2 -2
- package/dist/domains/quality-assessment/services/quality-gate.js +1 -1
- package/dist/domains/requirements-validation/services/product-factors-assessment/analyzers/brutal-honesty-analyzer.js +2 -2
- package/dist/domains/requirements-validation/services/product-factors-assessment/analyzers/sfdipot-analyzer.js +2 -2
- package/dist/domains/requirements-validation/services/product-factors-assessment/code-intelligence/codebase-analyzer.js +1 -1
- package/dist/domains/requirements-validation/services/product-factors-assessment/formatters/gherkin-formatter.js +1 -1
- package/dist/domains/requirements-validation/services/product-factors-assessment/formatters/html-formatter.js +2 -2
- package/dist/domains/requirements-validation/services/product-factors-assessment/formatters/markdown-formatter.js +1 -1
- package/dist/domains/requirements-validation/services/product-factors-assessment/generators/question-generator.js +3 -3
- package/dist/domains/requirements-validation/services/product-factors-assessment/generators/test-idea-generator.js +3 -3
- package/dist/domains/requirements-validation/services/product-factors-assessment/patterns/domain-registry.js +1 -1
- package/dist/domains/requirements-validation/services/product-factors-assessment/patterns/index.js +1 -1
- package/dist/domains/requirements-validation/services/product-factors-assessment/skills/skill-integration.js +1 -1
- package/dist/domains/security-compliance/coordinator.js +1 -1
- package/dist/domains/security-compliance/index.js +1 -1
- package/dist/domains/security-compliance/services/compliance-validator.js +1 -1
- package/dist/domains/security-compliance/services/scanners/dast-helpers.js +1 -1
- package/dist/domains/security-compliance/services/scanners/dast-scanner.js +2 -2
- package/dist/domains/security-compliance/services/scanners/dependency-scanner.js +4 -4
- package/dist/domains/security-compliance/services/scanners/sast-scanner.js +3 -3
- package/dist/domains/security-compliance/services/scanners/scanner-orchestrator.js +2 -2
- package/dist/domains/test-execution/coordinator.js +8 -8
- package/dist/domains/test-execution/index.js +9 -9
- package/dist/domains/test-execution/interfaces.js +1 -1
- package/dist/domains/test-execution/plugin.js +3 -3
- package/dist/domains/test-execution/services/e2e/adaptive-locator-service.js +1 -1
- package/dist/domains/test-execution/services/e2e/assertion-handlers.js +2 -2
- package/dist/domains/test-execution/services/e2e/browser-orchestrator.js +3 -3
- package/dist/domains/test-execution/services/e2e/e2e-coordinator.js +7 -7
- package/dist/domains/test-execution/services/e2e/index.js +10 -10
- package/dist/domains/test-execution/services/e2e/step-executors.js +6 -6
- package/dist/domains/test-execution/services/e2e/step-retry-handler.js +3 -3
- package/dist/domains/test-execution/services/e2e/wait-condition-handler.js +1 -1
- package/dist/domains/test-execution/services/e2e-runner.js +6 -6
- package/dist/domains/test-execution/services/flaky-detector.js +1 -1
- package/dist/domains/test-execution/services/index.js +9 -9
- package/dist/domains/test-execution/services/retry-handler.js +1 -1
- package/dist/domains/test-execution/services/test-executor.js +1 -1
- package/dist/domains/test-execution/services/test-prioritizer.js +3 -3
- package/dist/domains/test-execution/services/user-flow-generator.js +3 -3
- package/dist/domains/test-execution/test-prioritization-types.js +1 -1
- package/dist/domains/test-execution/types/index.js +3 -3
- package/dist/domains/test-generation/coordinator.js +5 -5
- package/dist/domains/test-generation/factories/index.js +1 -1
- package/dist/domains/test-generation/factories/test-generator-factory.js +1 -1
- package/dist/domains/test-generation/generators/base-test-generator.js +1 -1
- package/dist/domains/test-generation/generators/go-test-generator.js +2 -2
- package/dist/domains/test-generation/generators/index.js +13 -13
- package/dist/domains/test-generation/generators/jest-vitest-generator.js +1 -1
- package/dist/domains/test-generation/generators/junit5-generator.js +2 -2
- package/dist/domains/test-generation/generators/kotlin-junit-generator.js +2 -2
- package/dist/domains/test-generation/generators/mocha-generator.js +1 -1
- package/dist/domains/test-generation/generators/node-test-generator.js +1 -1
- package/dist/domains/test-generation/generators/pytest-generator.js +2 -2
- package/dist/domains/test-generation/generators/rust-test-generator.js +3 -3
- package/dist/domains/test-generation/generators/swift-testing-generator.js +2 -2
- package/dist/domains/test-generation/generators/xunit-generator.js +2 -2
- package/dist/domains/test-generation/index.js +7 -7
- package/dist/domains/test-generation/interfaces/index.js +1 -1
- package/dist/domains/test-generation/plugin.js +5 -5
- package/dist/domains/test-generation/services/code-transform-integration.js +1 -1
- package/dist/domains/test-generation/services/index.js +10 -10
- package/dist/domains/test-generation/services/pattern-matcher.js +2 -2
- package/dist/domains/test-generation/services/test-generator.js +5 -5
- package/dist/domains/visual-accessibility/coordinator.js +1 -1
- package/dist/early-exit/early-exit-controller.js +4 -4
- package/dist/early-exit/early-exit-decision.js +2 -2
- package/dist/early-exit/index.js +5 -5
- package/dist/early-exit/quality-signal.js +1 -1
- package/dist/early-exit/speculative-executor.js +1 -1
- package/dist/index.js +18 -18
- package/dist/integrations/agentic-flow/agent-booster/adapter.js +4 -4
- package/dist/integrations/agentic-flow/agent-booster/index.js +10 -10
- package/dist/integrations/agentic-flow/index.js +6 -6
- package/dist/integrations/agentic-flow/metrics/index.js +3 -3
- package/dist/integrations/agentic-flow/metrics/metrics-tracker.js +2 -2
- package/dist/integrations/agentic-flow/metrics/pattern-updater.js +1 -1
- package/dist/integrations/agentic-flow/model-router/budget-enforcer.js +1 -1
- package/dist/integrations/agentic-flow/model-router/complexity-analyzer.js +7 -7
- package/dist/integrations/agentic-flow/model-router/example.js +1 -1
- package/dist/integrations/agentic-flow/model-router/index.js +16 -16
- package/dist/integrations/agentic-flow/model-router/router.js +6 -6
- package/dist/integrations/agentic-flow/model-router/signal-collector.js +1 -1
- package/dist/integrations/agentic-flow/model-router/tier-recommender.js +1 -1
- package/dist/integrations/agentic-flow/reasoning-bank/pattern-evolution.js +11 -6
- package/dist/integrations/browser/agent-browser/client.js +4 -4
- package/dist/integrations/browser/agent-browser/index.js +4 -4
- package/dist/integrations/browser/agent-browser/session-manager.js +1 -1
- package/dist/integrations/browser/client-factory.js +3 -3
- package/dist/integrations/browser/index.js +8 -8
- package/dist/integrations/browser/page-pool.js +1 -1
- package/dist/integrations/browser/stealth/index.js +2 -2
- package/dist/integrations/browser/stealth/stealth-client.js +3 -3
- package/dist/integrations/browser/web-content-fetcher.js +1 -1
- package/dist/integrations/coherence/coherence-service.js +2 -2
- package/dist/integrations/coherence/engines/category-adapter.js +1 -1
- package/dist/integrations/coherence/engines/causal-adapter.js +1 -1
- package/dist/integrations/coherence/engines/cohomology-adapter.js +1 -1
- package/dist/integrations/coherence/engines/homotopy-adapter.js +1 -1
- package/dist/integrations/coherence/engines/index.js +6 -6
- package/dist/integrations/coherence/engines/spectral-adapter.js +1 -1
- package/dist/integrations/coherence/engines/witness-adapter.js +1 -1
- package/dist/integrations/coherence/index.js +7 -7
- package/dist/integrations/coherence/threshold-tuner.js +1 -1
- package/dist/integrations/coherence/wasm-loader.js +2 -2
- package/dist/integrations/rl-suite/algorithms/a2c.js +2 -2
- package/dist/integrations/rl-suite/algorithms/actor-critic.js +2 -2
- package/dist/integrations/rl-suite/algorithms/ddpg.js +1 -1
- package/dist/integrations/rl-suite/algorithms/decision-transformer.js +1 -1
- package/dist/integrations/rl-suite/algorithms/dqn.js +2 -2
- package/dist/integrations/rl-suite/algorithms/eprop.js +2 -2
- package/dist/integrations/rl-suite/algorithms/index.js +10 -10
- package/dist/integrations/rl-suite/algorithms/policy-gradient.js +2 -2
- package/dist/integrations/rl-suite/algorithms/ppo.js +2 -2
- package/dist/integrations/rl-suite/algorithms/q-learning.js +3 -3
- package/dist/integrations/rl-suite/algorithms/sarsa.js +2 -2
- package/dist/integrations/rl-suite/base-algorithm.js +1 -1
- package/dist/integrations/rl-suite/index.js +6 -6
- package/dist/integrations/rl-suite/neural/index.js +2 -2
- package/dist/integrations/rl-suite/orchestrator.js +11 -11
- package/dist/integrations/ruvector/ast-complexity.js +1 -1
- package/dist/integrations/ruvector/coverage-router.js +1 -1
- package/dist/integrations/ruvector/diff-risk-classifier.js +1 -1
- package/dist/integrations/ruvector/graph-boundaries.js +1 -1
- package/dist/integrations/ruvector/hypergraph-engine.js +1 -1
- package/dist/integrations/ruvector/hypergraph-schema.js +1 -1
- package/dist/integrations/ruvector/index.js +52 -52
- package/dist/integrations/ruvector/persistent-q-router.js +2 -2
- package/dist/integrations/ruvector/q-learning-router.js +1 -1
- package/dist/integrations/ruvector/solver-adapter.js +1 -1
- package/dist/integrations/ruvector/sona-persistence.d.ts +13 -11
- package/dist/integrations/ruvector/sona-persistence.js +1 -1
- package/dist/integrations/vibium/client.js +3 -3
- package/dist/integrations/vibium/fallback.js +2 -2
- package/dist/integrations/vibium/index.js +9 -9
- package/dist/kernel/agent-coordinator.js +1 -1
- package/dist/kernel/event-bus.js +1 -1
- package/dist/kernel/hybrid-backend.js +1 -1
- package/dist/kernel/index.js +11 -11
- package/dist/kernel/kernel.js +27 -27
- package/dist/kernel/memory-factory.js +2 -2
- package/dist/kernel/unified-persistence.js +1 -1
- package/dist/learning/aqe-learning-engine.d.ts +0 -1
- package/dist/learning/aqe-learning-engine.js +2 -36
- package/dist/learning/pattern-lifecycle.js +1 -1
- package/dist/learning/pattern-routing-guidance.d.ts +16 -0
- package/dist/learning/pattern-routing-guidance.js +34 -0
- package/dist/learning/qe-reasoning-bank-types.d.ts +2 -0
- package/dist/learning/qe-reasoning-bank.js +2 -1
- package/dist/learning/real-qe-reasoning-bank.d.ts +2 -0
- package/dist/learning/real-qe-reasoning-bank.js +4 -2
- package/dist/learning/token-tracker.js +1 -1
- package/dist/logging/index.js +1 -1
- package/dist/logging/logger-factory.js +1 -1
- package/dist/mcp/bundle.js +445 -432
- package/dist/mcp/entry.js +1 -1
- package/dist/mcp/handlers/agent-handlers.js +2 -2
- package/dist/mcp/handlers/core-handlers.js +9 -9
- package/dist/mcp/handlers/domain-handler-configs.js +2 -2
- package/dist/mcp/handlers/domain-handlers.js +2 -2
- package/dist/mcp/handlers/handler-factory.js +3 -3
- package/dist/mcp/handlers/index.js +7 -7
- package/dist/mcp/handlers/memory-handlers.js +1 -1
- package/dist/mcp/handlers/task-handlers.js +3 -3
- package/dist/mcp/handlers/team-handlers.js +1 -1
- package/dist/mcp/index.js +11 -11
- package/dist/mcp/metrics/index.js +1 -1
- package/dist/mcp/protocol-server.js +13 -13
- package/dist/mcp/security/cve-prevention.js +23 -23
- package/dist/mcp/security/index.js +9 -9
- package/dist/mcp/security/validators/index.js +6 -6
- package/dist/mcp/services/index.js +1 -1
- package/dist/mcp/services/task-router.js +1 -1
- package/dist/mcp/tool-registry.js +4 -4
- package/dist/mcp/tools/base.js +1 -1
- package/dist/mcp/tools/code-intelligence/analyze.js +4 -4
- package/dist/mcp/tools/code-intelligence/c4.js +6 -6
- package/dist/mcp/tools/coverage-analysis/index.js +4 -4
- package/dist/mcp/tools/defect-intelligence/predict.js +2 -2
- package/dist/mcp/tools/embeddings/embedding.js +2 -2
- package/dist/mcp/tools/embeddings/index.js +1 -1
- package/dist/mcp/tools/index.js +20 -20
- package/dist/mcp/tools/learning-optimization/optimize.d.ts +11 -0
- package/dist/mcp/tools/learning-optimization/optimize.js +21 -0
- package/dist/mcp/tools/mincut/index.js +2 -2
- package/dist/mcp/tools/quality-assessment/evaluate.js +1 -1
- package/dist/mcp/tools/quality-assessment/gate.js +5 -2
- package/dist/mcp/tools/qx-analysis/analyze.js +5 -5
- package/dist/mcp/tools/qx-analysis/heuristics-engine.js +1 -1
- package/dist/mcp/tools/qx-analysis/index.js +6 -6
- package/dist/mcp/tools/registry.js +25 -25
- package/dist/mcp/tools/requirements-validation/quality-criteria.js +1 -1
- package/dist/mcp/tools/requirements-validation/validate.js +1 -1
- package/dist/mcp/tools/security-compliance/scan.js +1 -1
- package/dist/mcp/tools/test-execution/e2e-execute.js +3 -3
- package/dist/mcp/tools/test-execution/execute.js +1 -1
- package/dist/mcp/tools/test-execution/index.js +2 -2
- package/dist/mcp/tools/test-generation/generate.js +3 -3
- package/dist/mcp/tools/visual-accessibility/index.js +3 -3
- package/dist/plugins/index.js +8 -8
- package/dist/plugins/lifecycle.js +5 -5
- package/dist/plugins/sources/github.js +1 -1
- package/dist/plugins/sources/local.js +1 -1
- package/dist/plugins/sources/npm.js +1 -1
- package/dist/shared/base-domain-plugin.js +1 -1
- package/dist/shared/c4-model/index.js +1 -1
- package/dist/shared/embeddings/index.js +4 -4
- package/dist/shared/embeddings/nomic-embedder.js +3 -3
- package/dist/shared/embeddings/ollama-client.js +1 -1
- package/dist/shared/entities/agent.js +1 -1
- package/dist/shared/entities/index.js +2 -2
- package/dist/shared/events/index.js +1 -1
- package/dist/shared/git/index.js +1 -1
- package/dist/shared/http/http-client.js +1 -1
- package/dist/shared/http/index.js +1 -1
- package/dist/shared/index.js +15 -15
- package/dist/shared/io/file-reader.js +1 -1
- package/dist/shared/io/index.js +1 -1
- package/dist/shared/llm/billing-modes.d.ts +5 -0
- package/dist/shared/llm/billing-modes.js +42 -3
- package/dist/shared/llm/circuit-breaker.js +1 -1
- package/dist/shared/llm/index.d.ts +4 -1
- package/dist/shared/llm/index.js +15 -11
- package/dist/shared/llm/interfaces.d.ts +34 -3
- package/dist/shared/llm/interfaces.js +17 -0
- package/dist/shared/llm/metrics/cost-metrics.js +2 -2
- package/dist/shared/llm/metrics/index.js +2 -2
- package/dist/shared/llm/metrics/router-metrics.js +1 -1
- package/dist/shared/llm/model-registry.js +1 -1
- package/dist/shared/llm/provider-manager.js +24 -17
- package/dist/shared/llm/provider-registry.d.ts +135 -0
- package/dist/shared/llm/provider-registry.js +227 -0
- package/dist/shared/llm/providers/azure-openai.js +2 -2
- package/dist/shared/llm/providers/bedrock.js +2 -2
- package/dist/shared/llm/providers/claude-code.js +1 -1
- package/dist/shared/llm/providers/claude.js +4 -4
- package/dist/shared/llm/providers/codex.js +1 -1
- package/dist/shared/llm/providers/cognitum.js +1 -1
- package/dist/shared/llm/providers/external-cli.d.ts +129 -0
- package/dist/shared/llm/providers/external-cli.js +385 -0
- package/dist/shared/llm/providers/gemini.js +1 -1
- package/dist/shared/llm/providers/index.js +10 -10
- package/dist/shared/llm/providers/ollama.js +2 -2
- package/dist/shared/llm/providers/openai.js +2 -2
- package/dist/shared/llm/providers/openrouter.js +1 -1
- package/dist/shared/llm/router/config-store.d.ts +14 -0
- package/dist/shared/llm/router/config-store.js +102 -14
- package/dist/shared/llm/router/external-provider-config.d.ts +47 -0
- package/dist/shared/llm/router/external-provider-config.js +105 -0
- package/dist/shared/llm/router/hybrid-router.js +7 -7
- package/dist/shared/llm/router/index.js +4 -4
- package/dist/shared/llm/router/routing-rules.js +1 -1
- package/dist/shared/llm/router/types.d.ts +50 -4
- package/dist/shared/llm/router/types.js +10 -0
- package/dist/shared/llm/translation/index.js +3 -3
- package/dist/shared/llm/translation/message-formatter.js +7 -1
- package/dist/shared/llm/translation/prompt-translator.js +2 -2
- package/dist/shared/metrics/code-metrics.js +2 -2
- package/dist/shared/metrics/index.js +2 -2
- package/dist/shared/parsers/index.js +3 -3
- package/dist/shared/security/compliance-patterns.js +1 -1
- package/dist/shared/security/index.js +8 -8
- package/dist/shared/security/osv-client.js +1 -1
- package/dist/test-scheduling/index.js +9 -9
- package/dist/test-scheduling/phase-scheduler.js +1 -1
- package/dist/test-scheduling/pipeline.js +9 -9
- package/dist/validation/provider-llm-executor.js +5 -5
- package/dist/workers/daemon.js +3 -3
- package/dist/workers/index.js +5 -5
- package/dist/workers/quality-daemon/index.js +15 -15
- package/dist/workers/workers/compliance-checker.js +2 -2
- package/dist/workers/workers/coverage-tracker.js +1 -1
- package/dist/workers/workers/defect-predictor.js +1 -1
- package/dist/workers/workers/flaky-detector.js +1 -1
- package/dist/workers/workers/learning-consolidation.js +4 -4
- package/dist/workers/workers/performance-baseline.js +1 -1
- package/dist/workers/workers/quality-gate.js +1 -1
- package/dist/workers/workers/regression-monitor.js +1 -1
- package/dist/workers/workers/security-scan.js +1 -1
- package/dist/workers/workers/test-health.js +1 -1
- package/dist/workflows/browser/index.js +1 -1
- package/package.json +8 -3
- package/dist/cli/chunks/adapter-6CNMDJVJ.js +0 -2
- package/dist/cli/chunks/aqe-learning-engine-JGHHNSFX.js +0 -2
- package/dist/cli/chunks/base-ND3KAA2L.js +0 -2
- package/dist/cli/chunks/browser-workflow-EBSNGTSH.js +0 -2
- package/dist/cli/chunks/chunk-3I5ZTLFY.js +0 -2
- package/dist/cli/chunks/chunk-4EWKERKV.js +0 -3
- package/dist/cli/chunks/chunk-4NXABNLF.js +0 -2
- package/dist/cli/chunks/chunk-A6V5NZCV.js +0 -21
- package/dist/cli/chunks/chunk-QR6NVCRT.js +0 -12
- package/dist/cli/chunks/chunk-TL5FMEKW.js +0 -2
- package/dist/cli/chunks/chunk-XPUPST5T.js +0 -2
- package/dist/cli/chunks/client-NEGGUFEM.js +0 -2
- package/dist/cli/chunks/core-handlers-Q2XPFYQ5.js +0 -2
- package/dist/cli/chunks/cross-domain-router-WNZMUQ3G.js +0 -2
- package/dist/cli/chunks/dream-OL5XLAYS.js +0 -2
- package/dist/cli/chunks/heartbeat-scheduler-XUAW3I3Q.js +0 -2
- package/dist/cli/chunks/hnsw-adapter-EDK2YUZJ.js +0 -2
- package/dist/cli/chunks/hnsw-index-RDMT66NM.js +0 -2
- package/dist/cli/chunks/hybrid-router-BALMPXND.js +0 -2
- package/dist/cli/chunks/impact-analyzer-P6XLP3QX.js +0 -2
- package/dist/cli/chunks/init-wizard-HMU5OPKQ.js +0 -2
- package/dist/cli/chunks/kernel-HMSENQ6R.js +0 -2
- package/dist/cli/chunks/knowledge-graph-G7W72UC5.js +0 -2
- package/dist/cli/chunks/llm-router-XCBGZRKA.js +0 -36
- package/dist/cli/chunks/llm-router-service-VCM7LAGO.js +0 -2
- package/dist/cli/chunks/load-test-H5FATYS2.js +0 -2
- package/dist/cli/chunks/memory-backend-OPHD5UCR.js +0 -2
- package/dist/cli/chunks/memory-handlers-EA5UFT4G.js +0 -2
- package/dist/cli/chunks/pattern-null-store-XJOXEDQO.js +0 -2
- package/dist/cli/chunks/protocol-executor-XVN7GTLL.js +0 -2
- package/dist/cli/chunks/provider-manager-NQICCJZZ.js +0 -2
- package/dist/cli/chunks/qe-reasoning-bank-SVCH233Z.js +0 -2
- package/dist/cli/chunks/queen-coordinator-Z3PBE4EH.js +0 -2
- package/dist/cli/chunks/router-HMWZW2SF.js +0 -2
- package/dist/cli/chunks/routing-feedback-ZZYHE2CL.js +0 -2
- package/dist/cli/chunks/rvf-native-adapter-ZPT4RLBE.js +0 -2
- package/dist/cli/chunks/safe-db-VMYUKPV6.js +0 -2
- package/dist/cli/chunks/schedule-DOQ4X4MH.js +0 -2
- package/dist/cli/chunks/scheduler-FE2DH224.js +0 -2
- package/dist/cli/chunks/sqlite-persistence-TKCACSFQ.js +0 -2
- package/dist/cli/chunks/status-handler-UHY36LOR.js +0 -47
- package/dist/cli/chunks/unified-memory-2PA3CIQT.js +0 -2
- package/dist/cli/chunks/unified-memory-hnsw-W43H4ZKY.js +0 -2
- package/dist/cli/chunks/unified-persistence-SOW7AAZL.js +0 -2
- package/dist/cli/chunks/visual-security-R6BVIOYU.js +0 -2
- package/dist/cli/chunks/witness-chain-GSJW7VDF.js +0 -2
- package/dist/cli/chunks/workflow-orchestrator-TXEMI5DD.js +0 -2
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.13.12");process.exit(0)}
|
|
2
|
+
import{a,b,c,d,f as e}from"./chunk-HQWFZQMJ.js";import"./chunk-ZMYV4R32.js";e();export{a as createRvfStore,d as isRvfNativeAvailable,b as openRvfStore,c as openRvfStoreReadonly};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.13.
|
|
2
|
-
import{a,b,c}from"./chunk-
|
|
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-EDRPTLAX.js";import"./chunk-ZMYV4R32.js";export{b as isLockHeldByLiveProcess,c as quarantineUnusableStore,a as readLockOwnerPid};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.13.12");process.exit(0)}
|
|
2
|
+
import{a,b}from"./chunk-Z56BBX77.js";import"./chunk-5E76HULA.js";import"./chunk-ZMYV4R32.js";b();export{a as openDatabase};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.13.12");process.exit(0)}
|
|
2
|
+
import{a}from"./chunk-X3JNFQW2.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 TestScheduleTool};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.13.12");process.exit(0)}
|
|
2
|
+
import{a,b,c,d}from"./chunk-42AS3HPO.js";import"./chunk-M7CPJW53.js";import"./chunk-VA2ORJB5.js";import"./chunk-E67ZXRG6.js";import"./chunk-L3GBNX7B.js";import"./chunk-ZMYV4R32.js";export{a as PersistentScheduler,b as createPersistentScheduler,d as createScheduleEntry,c as generateScheduleId};
|
|
@@ -1,7 +1,7 @@
|
|
|
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.
|
|
2
|
-
import{b as h}from"./chunk-
|
|
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 h}from"./chunk-MLXLGBQZ.js";import{c as g,d as f,e as S,i as w}from"./chunk-2JAC57JE.js";import"./chunk-ZMYV4R32.js";import{Command as b}from"commander";import e from"chalk";function P(v,a,k){return new b("security").description("Security scanning and URL validation").option("--sast","Run SAST scan").option("--dast","Run DAST scan").option("--compliance <frameworks>","Check compliance (gdpr,hipaa,soc2)","").option("--url-validate <url>","Validate a URL for security threats and PII exposure").option("--no-pii","Disable PII scanning when using --url-validate").option("-t, --target <path>","Target directory to scan",".").option("-F, --format <format>","Output format (text|json|sarif|markdown)","text").option("-o, --output <path>","Write output to file").action(async r=>{if(await k()){if(r.urlValidate){try{let o=r.format,u=r.urlValidate;o==="text"&&console.log(e.blue(`
|
|
3
3
|
Validating URL: ${u}
|
|
4
|
-
`));let{VisualSecurityTool:y}=await import("./visual-security-
|
|
4
|
+
`));let{VisualSecurityTool:y}=await import("./visual-security-VFWRBCNA.js"),c=await new y().invoke({url:u,enablePII:r.pii!==!1});if(c.success&&c.data){let t=c.data;if(o==="json")g(f(t),r.output);else{if(t.urlSecurity.valid)console.log(e.green(" URL Security: CLEAN"));else{console.log(e.red(` URL Security: ${t.urlSecurity.issues.length} issue(s) (risk: ${t.urlSecurity.riskLevel})`));for(let s of t.urlSecurity.issues){let i=s.severity==="critical"?e.red:s.severity==="high"?e.yellow:e.gray;console.log(i(` [${s.severity}] ${s.type}: ${s.description}`))}}if(t.piiExposure.scanned)if(t.piiExposure.found){console.log(e.red(`
|
|
5
5
|
PII Exposure: ${t.piiExposure.types.length} type(s) found in URL`));for(let s of t.piiExposure.details)console.log(e.yellow(` [${s.type}] in ${s.location}: ${s.masked}`))}else console.log(e.green(`
|
|
6
6
|
PII Exposure: none detected`));console.log(`
|
|
7
7
|
${t.summary}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.13.
|
|
2
|
-
import{a,b,c,d,e,f}from"./chunk-
|
|
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,e,f}from"./chunk-VNODKACB.js";import"./chunk-6KI6LAAZ.js";import"./chunk-HQWFZQMJ.js";import"./chunk-EDRPTLAX.js";import"./chunk-ZMYV4R32.js";export{a as __setSharedRvfAdapterForTests,d as compactSharedRvfAdapter,c as decideCompactionFromStatus,b as getSharedRvfAdapter,f as resetSharedRvfAdapter,e as runBootCompactGuard};
|
package/dist/cli/chunks/{shared-rvf-dual-writer-SMGECN2K.js → shared-rvf-dual-writer-B7N6AOCY.js}
RENAMED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.13.
|
|
2
|
-
import{a,b,c,d}from"./chunk-
|
|
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-TB2N3CAK.js";import"./chunk-ZMYV4R32.js";export{c as getSharedMigrationAdapter,a as getSharedRvfDualWriter,b as getSharedRvfDualWriterSync,d as resetSharedRvfDualWriter};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.13.12");process.exit(0)}
|
|
2
|
+
import{a,b,c,d}from"./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-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 DEFAULT_SQLITE_CONFIG,c as SQLitePatternStore,d as createSQLitePatternStore,b as hashEmbedding};
|
|
@@ -0,0 +1,47 @@
|
|
|
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 g,d as p}from"./chunk-2JAC57JE.js";import{a as m,c as w}from"./chunk-7RVLVIAI.js";import{e as k}from"./chunk-NLZUGANH.js";import{b}from"./chunk-SNC73DWF.js";import{h as $}from"./chunk-WA6CSEOX.js";import"./chunk-TDVMILKO.js";import"./chunk-UQ4UCHO7.js";import{m as C}from"./chunk-M73KM3AZ.js";import"./chunk-KRZYWVS3.js";import"./chunk-3ASVQILY.js";import"./chunk-GEQWCK4F.js";import"./chunk-IOJ34SXJ.js";import{b as v}from"./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 e from"chalk";import{existsSync as S,readFileSync as A}from"node:fs";import{join as E}from"node:path";C();function H(){try{let o=k().defaultProvider,a=$(o),n=a?.mode??b(o),t={"metered-api":`${e.red("\u25CF")} pay-per-token API key (no cap)`,"metered-capped":`${e.yellow("\u25CF")} pay-per-token with server-side cap`,subscription:`${e.green("\u25CF")} Claude subscription (no per-token charge)`,local:`${e.green("\u25CF")} local (no cost)`};if(console.log(e.blue(`
|
|
3
|
+
LLM Billing:`)),a){let s=a.source==="config"?a.detail??".agentic-qe/llm-config.json":"registerProvider()";console.log(` Provider: ${e.cyan(o)} ${e.magenta("\u25CF")} external \u2014 ${n} ${e.gray(`(declared by ${s}, not verified by AQE)`)}`)}else console.log(` Provider: ${e.cyan(o)} ${t[n]??n}`);let i=Number.parseFloat(process.env.AQE_MAX_BUDGET_USD??"");Number.isFinite(i)&&i>0?console.log(` Per-run budget cap: ${e.cyan("$"+i.toFixed(2))}`):n==="metered-api"&&(console.log(e.gray(" No budget cap set \u2014 use AQE_MAX_BUDGET_USD or --max-budget-usd.")),console.log(e.gray(" Tip: AQE_LLM_PROVIDER=claude-code runs on your Claude subscription.")))}catch{}}function x(){try{let u=E(v(),".agentic-qe","workers","daemon.pid");if(!S(u))return{configured:!1,running:!1};let o=parseInt(A(u,"utf-8").trim(),10);if(!Number.isFinite(o))return{configured:!0,running:!1};try{return process.kill(o,0),{configured:!0,running:!0,pid:o}}catch{return{configured:!0,running:!1,pid:o}}}catch{return{configured:!1,running:!1}}}var f=class{name="status";description="Show system status";cleanupAndExit;ensureInitialized;constructor(o,a){this.cleanupAndExit=o,this.ensureInitialized=a}register(o,a){o.command("status").description(this.description).option("-v, --verbose","Show detailed status").option("-F, --format <format>","Output format (text|json)","text").option("-o, --output <path>","Write output to file").action(async n=>{await this.executeStatus(n,a)})}async executeStatus(o,a){if(await this.ensureInitialized())try{let n=a.queen.getHealth(),t=a.queen.getMetrics();if((o.format||"text")==="json"){let s={};if(o.verbose)for(let[r,l]of n.domainHealth)s[r]={status:l.status,agents:l.agents,errors:l.errors.length};g(p({status:n.status,uptime:t.uptime,workStealing:n.workStealingActive,agents:{total:n.totalAgents,active:n.activeAgents,utilization:t.agentUtilization},tasks:{received:t.tasksReceived,completed:t.tasksCompleted,failed:t.tasksFailed,pending:n.pendingTasks,running:n.runningTasks,stolen:t.tasksStolen},coordination:{protocols:t.protocolsExecuted,workflows:t.workflowsExecuted},...o.verbose?{domains:s}:{},issues:n.issues}),o.output),await this.cleanupAndExit(0);return}if(console.log(e.blue(`
|
|
4
|
+
AQE v3 Status
|
|
5
|
+
`)),console.log(` Status: ${m(n.status)}`),console.log(` Uptime: ${e.cyan(w(t.uptime))}`),console.log(` Work Stealing: ${n.workStealingActive?e.green("active"):e.gray("inactive")}`),console.log(e.blue(`
|
|
6
|
+
Agents:`)),console.log(` Total: ${e.cyan(n.totalAgents)}`),console.log(` Active: ${e.yellow(n.activeAgents)}`),console.log(` Utilization: ${e.cyan((t.agentUtilization*100).toFixed(1))}%`),console.log(e.blue(`
|
|
7
|
+
Tasks:`)),console.log(` Received: ${e.cyan(t.tasksReceived)}`),console.log(` Completed: ${e.green(t.tasksCompleted)}`),console.log(` Failed: ${e.red(t.tasksFailed)}`),console.log(` Pending: ${e.yellow(n.pendingTasks)}`),console.log(` Running: ${e.yellow(n.runningTasks)}`),t.tasksStolen>0&&console.log(` Stolen (work stealing): ${e.cyan(t.tasksStolen)}`),(t.protocolsExecuted>0||t.workflowsExecuted>0)&&(console.log(e.blue(`
|
|
8
|
+
Coordination:`)),console.log(` Protocols Executed: ${e.cyan(t.protocolsExecuted)}`),console.log(` Workflows Executed: ${e.cyan(t.workflowsExecuted)}`)),o.verbose){console.log(e.blue(`
|
|
9
|
+
Domain Status:`));let s=Array.from(n.domainHealth.entries());for(let[l,c]of s)console.log(` ${l}: ${m(c.status)}`),console.log(e.gray(` Agents: ${c.agents.active}/${c.agents.total} active`)),c.errors.length>0&&console.log(e.red(` Errors: ${c.errors.length}`));console.log(e.blue(`
|
|
10
|
+
Domain Load:`));let r=Array.from(t.domainUtilization.entries());for(let[l,c]of r){let d="\u2588".repeat(Math.min(c,20))+"\u2591".repeat(Math.max(0,20-c));console.log(` ${l.padEnd(25)} ${d} ${c}`)}}if(n.issues.length>0){console.log(e.red(`
|
|
11
|
+
Issues:`));for(let s of n.issues){let r=s.severity==="high"?e.red:s.severity==="medium"?e.yellow:e.gray;console.log(` ${r(`[${s.severity}]`)} ${s.message}`)}}console.log(""),await this.cleanupAndExit(0)}catch(n){console.error(e.red(`
|
|
12
|
+
Failed to get status:`),n),await this.cleanupAndExit(1)}}getHelp(){return`
|
|
13
|
+
Show system status including agents, tasks, and domain health.
|
|
14
|
+
|
|
15
|
+
Usage:
|
|
16
|
+
aqe status [options]
|
|
17
|
+
|
|
18
|
+
Options:
|
|
19
|
+
-v, --verbose Show detailed status including domain breakdown
|
|
20
|
+
|
|
21
|
+
Examples:
|
|
22
|
+
aqe status # Basic status
|
|
23
|
+
aqe status -v # Verbose status with domain details
|
|
24
|
+
`}},y=class{name="health";description="Check system health";cleanupAndExit;ensureInitialized;constructor(o,a){this.cleanupAndExit=o,this.ensureInitialized=a}register(o,a){o.command("health").description(this.description).option("-d, --domain <domain>","Check specific domain health").option("-F, --format <format>","Output format (text|json)","text").option("-o, --output <path>","Write output to file").action(async n=>{await this.executeHealth(n,a)})}async executeHealth(o,a){if(await this.ensureInitialized())try{if((o.format||"text")==="json"){if(o.domain){let t=a.queen.getDomainHealth(o.domain);if(!t){g(p({error:`Domain not found: ${o.domain}`}),o.output),await this.cleanupAndExit(1);return}g(p({domain:o.domain,status:t.status,agents:t.agents,lastActivity:t.lastActivity?.toISOString()||null,errors:t.errors}),o.output)}else{let t=a.queen.getHealth(),i={};for(let[s,r]of t.domainHealth)i[s]={status:r.status,agents:r.agents};g(p({status:t.status,lastCheck:t.lastHealthCheck.toISOString(),domains:i,issues:t.issues,daemon:x()}),o.output)}await this.cleanupAndExit(0);return}if(o.domain){let t=a.queen.getDomainHealth(o.domain);if(!t){console.log(e.red(`
|
|
25
|
+
Domain not found: ${o.domain}
|
|
26
|
+
`));return}console.log(e.blue(`
|
|
27
|
+
Health: ${o.domain}
|
|
28
|
+
`)),console.log(` Status: ${m(t.status)}`),console.log(` Agents: ${t.agents.active}/${t.agents.total} active`),console.log(` Idle: ${t.agents.idle}`),console.log(` Failed: ${t.agents.failed}`),t.lastActivity&&console.log(` Last Activity: ${t.lastActivity.toISOString()}`),t.errors.length>0&&(console.log(e.red(`
|
|
29
|
+
Errors:`)),t.errors.forEach(i=>console.log(e.red(` - ${i}`))))}else{let t=a.queen.getHealth();console.log(e.blue(`
|
|
30
|
+
System Health
|
|
31
|
+
`)),console.log(` Overall: ${m(t.status)}`),console.log(` Last Check: ${t.lastHealthCheck.toISOString()}`);let i=0,s=0,r=0,l=0,c=Array.from(t.domainHealth.entries());for(let[,h]of c)h.status==="healthy"?i++:h.status==="idle"?s++:h.status==="degraded"?r++:l++;console.log(e.blue(`
|
|
32
|
+
Domains:`)),console.log(` ${e.green("\u25CF")} Healthy: ${i}`),console.log(` ${e.cyan("\u25CF")} Idle (ready): ${s}`),console.log(` ${e.yellow("\u25CF")} Degraded: ${r}`),console.log(` ${e.red("\u25CF")} Unhealthy: ${l}`),s>0&&i===0&&r===0&&l===0&&console.log(e.gray(`
|
|
33
|
+
Tip: Domains are idle (ready). Run a task to spawn agents.`));let d=x();console.log(e.blue(`
|
|
34
|
+
Background Daemon:`)),d.configured?d.running?console.log(` ${e.green("\u25CF")} Running (PID: ${d.pid})`):console.log(` ${e.red("\u25CF")} Not running (stale PID: ${d.pid??"unknown"}) \u2014 learning/consolidation snapshots will not advance`):console.log(` ${e.gray("\u25CB")} Not configured (never started \u2014 run "npx ruflo daemon start")`),H()}console.log(""),await this.cleanupAndExit(0)}catch(n){console.error(e.red(`
|
|
35
|
+
Health check failed:`),n),await this.cleanupAndExit(1)}}getHelp(){return`
|
|
36
|
+
Check system and domain health status.
|
|
37
|
+
|
|
38
|
+
Usage:
|
|
39
|
+
aqe health [options]
|
|
40
|
+
|
|
41
|
+
Options:
|
|
42
|
+
-d, --domain <domain> Check specific domain health
|
|
43
|
+
|
|
44
|
+
Examples:
|
|
45
|
+
aqe health # Overall system health
|
|
46
|
+
aqe health -d test-generation # Check test-generation domain
|
|
47
|
+
`}};function M(u,o){return new f(u,o)}function N(u,o){return new y(u,o)}export{y as HealthHandler,f as StatusHandler,x as checkDaemonLiveness,N as createHealthHandler,M as createStatusHandler,H as printLlmBilling};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.13.
|
|
2
|
-
import{a as l}from"./chunk-
|
|
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 l}from"./chunk-XT473WPO.js";import"./chunk-DGFINXUE.js";import"./chunk-OZ53BIY5.js";import"./chunk-AN5CGTTJ.js";import"./chunk-ZMYV4R32.js";var s={healthyThreshold:.4,warningThreshold:.2,maxHistoryEntries:100,enableLogging:!1},n=class{config;minCutService;history=[];constructor(t){this.config={...s,...t},this.minCutService=l()}computeFleetHealth(t){if(t.length===0)return this.emptyFleetResult();let r=this.minCutService.buildTaskGraphFromTopology(t);return this.computeFleetHealthFromGraph(r,t.length)}computeFleetHealthFromGraph(t,r){if(t.nodes.length===0)return this.emptyFleetResult();let e=this.minCutService.getStructuralHealth(t),o=this.determineStatus(e.normalizedLambda),a={lambda:e.lambda,healthy:e.healthy,weakPoints:e.weakPoints,normalizedLambda:e.normalizedLambda,riskScore:e.riskScore,status:o,suggestions:e.suggestions,measuredAt:new Date};return this.addHistoryEntry({lambda:e.lambda,healthy:e.healthy,weakPointCount:e.weakPoints.length,agentCount:r??t.nodes.length,timestamp:a.measuredAt}),this.config.enableLogging&&this.logHealth(a),a}getTrend(){if(this.history.length<2)return"stable";let t=Math.min(5,this.history.length),r=this.history.slice(-t),e=r[0].lambda,a=r[r.length-1].lambda-e;return Math.abs(a)<.05?"stable":a>0?"improving":"degrading"}getHistory(t){let r=[...this.history];return t!==void 0&&t<r.length?r.slice(-t):r}clearHistory(){this.history.length=0}getMinCutService(){return this.minCutService}determineStatus(t){return t>=this.config.healthyThreshold?"healthy":t>=this.config.warningThreshold?"warning":"critical"}addHistoryEntry(t){this.history.push(t),this.history.length>this.config.maxHistoryEntries&&this.history.splice(0,this.history.length-this.config.maxHistoryEntries)}emptyFleetResult(){return{lambda:0,healthy:!1,weakPoints:[],normalizedLambda:0,riskScore:1,status:"empty",suggestions:["No agents in fleet. Spawn agents to build a topology."],measuredAt:new Date}}logHealth(t){console.error(`[StructuralHealth] Status: ${t.status} | Lambda: ${t.normalizedLambda.toFixed(3)} | Weak points: ${t.weakPoints.length} | Risk: ${(t.riskScore*100).toFixed(0)}%`)}};function d(i){return new n(i)}export{s as DEFAULT_STRUCTURAL_HEALTH_CONFIG,n as StructuralHealthMonitor,d as createStructuralHealthMonitor};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.13.
|
|
2
|
-
import{a as h}from"./chunk-
|
|
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}from"./chunk-AM42ROKZ.js";import{c as r,s as g,t as y,u as m,x as p,y as b}from"./chunk-VD53LBF7.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{a,c as S}from"./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";import{Command as v}from"commander";import e from"chalk";import d from"ora";S();import*as f from"fs";import*as i from"path";import{fileURLToPath as $}from"url";var C=$(import.meta.url),R=i.dirname(C);function w(){let n=new v("sync").description("Sync local learning data to cloud PostgreSQL");return n.option("--full","Run full sync instead of incremental").option("-e, --env <environment>","Environment identifier",process.env.AQE_ENV||"devpod").option("--dry-run","Preview sync without making changes").option("-v, --verbose","Enable verbose output").option("--since <date>","Sync changes since date (ISO 8601)").option("--sources <sources>","Comma-separated list of sources to sync").action(async l=>{let o={environment:l.env,verbose:l.verbose,sync:{...r.sync,dryRun:l.dryRun}};if(l.sources){let s=l.sources.split(",").map(c=>c.trim());o.sync.sources=r.sync.sources.filter(c=>s.includes(c.name))}let t=d("Initializing sync agent...").start();try{let s;if(l.full)t.text="Running full sync...",s=await y(o);else{let c=l.since?new Date(l.since):void 0;t.text="Running incremental sync...",s=await m(c,o)}t.stop(),E(s)}catch(s){t.fail(`Sync failed: ${a(s)}`),process.exit(1)}}),n.command("pull").description("Pull cloud learning data into local SQLite database").option("-f, --full","Full pull (all cloud data)").option("-e, --env <environment>","Pull only data from specific environment","all").option("--tables <tables>","Comma-separated list of tables to pull").option("--dry-run","Preview pull without writing to local DB").option("--target <path>","Custom target SQLite database path").option("--since <date>","Pull changes since date (ISO 8601)").option("-v, --verbose","Enable verbose output").action(async l=>{let o={environment:l.env,verbose:l.verbose,dryRun:l.dryRun,targetDb:l.target};l.tables&&(o.tables=l.tables.split(",").map(s=>s.trim()));let t=d("Initializing pull sync agent...").start();try{let s;if(l.full)t.text="Pulling all data from cloud...",s=await p(o);else{let c=l.since?new Date(l.since):void 0;t.text=`Pulling ${c?"changes since "+c.toISOString():"incremental changes (last 24h)"}...`,s=await b(c,o)}t.stop(),D(s)}catch(s){t.fail(`Pull failed: ${a(s)}`),process.exit(1)}}),n.command("status").description("Show sync status and data source information").option("-e, --env <environment>","Environment identifier",process.env.AQE_ENV||"devpod").action(async l=>{let o=d("Checking sync status...").start();try{let t=g({environment:l.env,verbose:!1});await t.initialize();let s=await t.getStatus();await t.close(),o.stop(),P(s)}catch(t){o.fail(`Failed to get status: ${a(t)}`),process.exit(1)}}),n.command("verify").description("Verify sync integrity between local and cloud").option("-e, --env <environment>","Environment identifier",process.env.AQE_ENV||"devpod").action(async l=>{let o=d("Verifying sync integrity...").start();try{let t=g({environment:l.env,verbose:!1});await t.initialize(),o.text="Connecting to cloud...";let s=await t.verify();await t.close(),o.stop(),I(s)}catch(t){o.fail(`Verification failed: ${a(t)}`),process.exit(1)}}),n.command("init").description("Initialize cloud schema (requires GCP credentials)").option("--dry-run","Print schema without executing").option("-o, --output <file>","Save schema to file").action(async l=>{let o=[i.join(R,"../../sync/schema/cloud-schema.sql")],t=h(import.meta.url);t&&(o.push(i.join(t,"src/sync/schema/cloud-schema.sql")),o.push(i.join(t,"dist/sync/schema/cloud-schema.sql"))),o.push(i.join(process.cwd(),"src/sync/schema/cloud-schema.sql"));let s;for(let u of o)try{s=f.readFileSync(u,"utf-8");break}catch{}if(!s)throw new Error(`Could not locate cloud-schema.sql. Searched: ${o.join(", ")}`);if(l.output){f.writeFileSync(l.output,s),console.log(e.green(`Schema saved to ${l.output}`));return}if(l.dryRun){console.log(e.cyan(`
|
|
3
3
|
=== Cloud Schema ===
|
|
4
4
|
`)),console.log(s),console.log(e.yellow(`
|
|
5
5
|
Dry run - no changes made`));return}let c=d("Initializing cloud schema...").start();try{let u=g({verbose:!0});c.info("Schema initialization requires cloud connection"),c.info("Run with --output to save schema, then apply manually"),await u.close()}catch(u){c.fail(`Init failed: ${a(u)}`),process.exit(1)}}),n.command("config").description("Show or modify sync configuration").option("--show","Show current configuration").option("--sources","List configured data sources").action(async l=>{if(l.sources){console.log(e.cyan(`
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.13.
|
|
2
|
-
import{A,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z}from"./chunk-
|
|
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,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z}from"./chunk-VD53LBF7.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{r as CloudSyncAgent,a as DEFAULT_PULL_CONFIG,c as DEFAULT_SYNC_CONFIG,j as DirectConnectionManager,h as IAPTunnelManager,f as JSONReader,n as PostgresReader,l as PostgresWriter,v as PullSyncAgent,d as SQLiteReader,p as SQLiteWriter,z as SyncEmbeddingGenerator,b as TYPE_MAPPING,k as createConnectionManager,g as createJSONReader,o as createPostgresReader,m as createPostgresWriter,w as createPullSyncAgent,e as createSQLiteReader,q as createSQLiteWriter,s as createSyncAgent,A as createSyncEmbeddingGenerator,i as createTunnelManager,x as pullFromCloud,y as pullIncrementalFromCloud,u as syncIncrementalToCloud,t as syncToCloud};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.13.
|
|
2
|
-
import"./chunk-
|
|
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"./chunk-VBHA4SDU.js";import{c as p,d as g}from"./chunk-2JAC57JE.js";import{b as y}from"./chunk-YL2GOJF6.js";import{a as m,b}from"./chunk-7RVLVIAI.js";import{c as T}from"./chunk-VA2ORJB5.js";import"./chunk-ZMYV4R32.js";import a from"chalk";var f=class{name="task";description="Manage QE tasks";cleanupAndExit;ensureInitialized;constructor(o,e){this.cleanupAndExit=o,this.ensureInitialized=e}register(o,e){let s=o.command("task").description(this.description);s.command("submit <type>").description("Submit a task to the Queen Coordinator").option("-p, --priority <priority>","Task priority (p0|p1|p2|p3)","p1").option("-d, --domain <domain>","Target domain").option("-t, --timeout <ms>","Task timeout in ms","300000").option("--payload <json>","Task payload as JSON","{}").option("--wait","Wait for task completion with progress").option("--no-progress","Disable progress indicator").action(async(t,i)=>{await this.executeSubmit(t,i,e)}),s.command("list").description("List all tasks").option("-s, --status <status>","Filter by status").option("-p, --priority <priority>","Filter by priority").option("-d, --domain <domain>","Filter by domain").option("-F, --format <format>","Output format (text|json)","text").option("-o, --output <path>","Write output to file").action(async t=>{await this.executeList(t,e)}),s.command("cancel <taskId>").description("Cancel a task").action(async t=>{await this.executeCancel(t,e)}),s.command("status <taskId>").description("Get task status").option("-F, --format <format>","Output format (text|json)","text").option("-o, --output <path>","Write output to file").action(async(t,i)=>{await this.executeTaskStatus(t,i,e)})}async executeSubmit(o,e,s){if(await this.ensureInitialized())try{let t=o,i=T(e.payload,"payload"),r=e.domain?[e.domain]:[];console.log(a.blue(`
|
|
3
3
|
Submitting task: ${t}
|
|
4
4
|
`));let d=e.progress!==!1?y(`Submitting ${t} task`):null,n=await s.queen.submitTask({type:t,priority:e.priority,targetDomains:r,payload:i,timeout:parseInt(e.timeout,10)});if(d&&(n.success?d.succeed("Task submitted successfully"):d.fail("Failed to submit task")),n.success){if(console.log(a.cyan(` ID: ${n.value}`)),console.log(a.gray(` Type: ${t}`)),console.log(a.gray(` Priority: ${e.priority}`)),e.wait){console.log("");let w=n.value,c=y("Waiting for task completion"),h=parseInt(e.timeout,10),S=Date.now(),l=!1;for(;!l&&Date.now()-S<h;){let u=s.queen.getTaskStatus(w);u&&(u.status==="completed"?(c.succeed("Task completed successfully"),l=!0):u.status==="failed"?(c.fail(`Task failed: ${u.error||"Unknown error"}`),l=!0):c.spinner.text=`Task ${u.status}... (${Math.round((Date.now()-S)/1e3)}s)`),l||await new Promise(A=>setTimeout(A,500))}l||c.fail("Task timed out")}}else console.log(a.red(` Error: ${n.error.message}`));console.log("")}catch(t){console.error(a.red(`
|
|
5
5
|
Failed to submit task:`),t),await this.cleanupAndExit(1)}}async executeList(o,e){if(await this.ensureInitialized())try{let s=e.queen.listTasks({status:o.status,priority:o.priority,domain:o.domain});if((o.format||"text")==="json"){let i=s.map(r=>({taskId:r.taskId,type:r.task.type,status:r.status,priority:r.task.priority,domain:r.assignedDomain||null,startedAt:r.startedAt?.toISOString()||null}));p(g(i),o.output);return}if(console.log(a.blue(`
|
|
@@ -1,9 +1,9 @@
|
|
|
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.
|
|
2
|
-
import{a as B,b as R,c as m,d as p}from"./chunk-NL3KX4NE.js";import"./chunk-7XWFAPPI.js";import"./chunk-KBOGA4GA.js";import"./chunk-A6V5NZCV.js";import"./chunk-JMF3FMAO.js";import"./chunk-RQTXQ6C7.js";import"./chunk-FOWBKCRK.js";import"./chunk-7QSGUJE2.js";import"./chunk-6C5WRBGZ.js";import"./chunk-JALFKAAD.js";import"./chunk-2HEHM2KV.js";import"./chunk-MGJPS2YV.js";import"./chunk-BTG5UFMA.js";import"./chunk-CCAY7Q56.js";import"./chunk-35CHBX6K.js";import"./chunk-CPXZC7LF.js";import"./chunk-IHNPXNFG.js";import"./chunk-JUVW4DOU.js";import"./chunk-2HMBDTSI.js";import"./chunk-EE55ALFK.js";import"./chunk-C5CP66K5.js";import"./chunk-AJQGNQ3W.js";import"./chunk-MMA6Q6NF.js";import"./chunk-7JK57AI2.js";import"./chunk-FC47FRFI.js";import"./chunk-HL5RC5YB.js";import"./chunk-WFEHOEYP.js";import"./chunk-JGXU5FUZ.js";import"./chunk-J6H2LUBM.js";import"./chunk-IYLSML27.js";import"./chunk-PSBQRTNF.js";import"./chunk-BB4LWAAH.js";import"./chunk-QR6NVCRT.js";import"./chunk-JPDJARGR.js";import"./chunk-2CLM53W2.js";import"./chunk-NBUBGYLE.js";import"./chunk-SWZUMHIQ.js";import"./chunk-OSWAQX4G.js";import"./chunk-7XCRPSSU.js";import"./chunk-H633BGA7.js";import{b as j}from"./chunk-U5NKLMF4.js";import"./chunk-C5HYQTD7.js";import"./chunk-T7OS4CB4.js";import"./chunk-YHAUBZ4H.js";import"./chunk-C656WHED.js";import"./chunk-UL6PT654.js";import"./chunk-2SS2SSNZ.js";import"./chunk-6FIWTBR5.js";import"./chunk-EKZNA6HW.js";import"./chunk-6L36EHM2.js";import"./chunk-HZIT42TM.js";import"./chunk-66BUC3JG.js";import"./chunk-KITVDY4T.js";import"./chunk-KBJYXZI7.js";import"./chunk-OZLMIEJC.js";import"./chunk-Q26QKZYI.js";import"./chunk-TIGBPVPZ.js";import"./chunk-DZNK4EM7.js";import{a as E}from"./chunk-U6YDS37V.js";import"./chunk-FOPLJRWL.js";import"./chunk-7BZUNNWC.js";import"./chunk-ATSVI6T4.js";import"./chunk-PLJ72A3I.js";import"./chunk-UNXPBIX5.js";import"./chunk-4EWKERKV.js";import"./chunk-WK5MKY45.js";import"./chunk-PIV3QHGJ.js";import"./chunk-4NXABNLF.js";import"./chunk-O5QZB2AP.js";import"./chunk-MFGKSD44.js";import"./chunk-QHRMZP6J.js";import"./chunk-3I5ZTLFY.js";import"./chunk-XPUPST5T.js";import"./chunk-IR7FZYPO.js";import"./chunk-LPVHYZAE.js";import"./chunk-ZH3MVVXO.js";import"./chunk-RYHOV4E3.js";import"./chunk-NCX4W65B.js";import"./chunk-2E35LWYJ.js";import"./chunk-EZY3DAIX.js";import"./chunk-HEY2ZRL7.js";import"./chunk-BFX3N7KU.js";import"./chunk-K6SXDKWV.js";import"./chunk-YC5UJVV3.js";import"./chunk-UHHWEWDA.js";import"./chunk-7QNN4GQU.js";import"./chunk-4PRQMFVO.js";import"./chunk-IJ3HHUSD.js";import"./chunk-G7YD3BR3.js";import"./chunk-YALYPHSG.js";import"./chunk-7GZJMPTD.js";import"./chunk-2FFCL4BK.js";import{i as I,m as F}from"./chunk-37GWETSW.js";import"./chunk-F3AHUNWH.js";import"./chunk-WSPEAYPG.js";import"./chunk-TL5FMEKW.js";import"./chunk-DR4V75BF.js";import"./chunk-KQVTTP2S.js";import"./chunk-GQ6H37RN.js";import"./chunk-7NDJW2DU.js";import"./chunk-GSN4QIDI.js";import"./chunk-A233TTUX.js";import"./chunk-54RIPGMC.js";import{a as u,c as M}from"./chunk-OLETDPH2.js";import"./chunk-4TSLLWE7.js";import"./chunk-2FPHM356.js";import"./chunk-G427QR5W.js";import"./chunk-NRD76M7A.js";import"./chunk-GRTU5QOT.js";import"./chunk-PUN3KZ6N.js";import"./chunk-WIB6KRFJ.js";import"./chunk-Q7QKJY6Y.js";import"./chunk-JWV5ZM2S.js";import"./chunk-EJRDL5W5.js";import"./chunk-VUCCPPQ6.js";import"./chunk-W3DCBOLL.js";var L={enableLearning:!0,enableRouting:!0,enableGuidance:!0,enableTrajectories:!0,enableExperienceReplay:!0,autoStoreExperiences:!0,minQualityThreshold:.6},P=class n{static instance=null;static initPromise=null;config;enhancedAdapter;disposed=!1;patternsLoaded=!1;qualityThresholdsFromPatterns=null;tasksRecorded=0;successfulTasks=0;failedTasks=0;patternsStored=0;routingRequests=0;activeTrajectories=new Map;constructor(e,t){this.config=e,this.enhancedAdapter=t}static async getInstance(e){if(n.instance&&!n.instance.disposed)return n.instance;if(n.initPromise)return n.initPromise;n.initPromise=n.create(e);try{return n.instance=await n.initPromise,n.instance}finally{n.initPromise=null}}static async create(e){let t={...L,...e},r=B({enableTrajectories:t.enableTrajectories,enableExperienceReplay:t.enableExperienceReplay,enablePatternEvolution:!0,autoStoreExperiences:t.autoStoreExperiences,autoConsolidate:!0});await r.initialize();let s=new n(t,r);return await s.loadPatternsFromLoader(),await s.seedInitialPatternsIfNeeded(),console.error("[ReasoningBankService] Initialized with EnhancedReasoningBankAdapter (trajectory + experience + evolution)"),s}async loadPatternsFromLoader(){try{let t=await E().getQualityGateThresholds();if(t){this.qualityThresholdsFromPatterns=t,this.patternsLoaded=!0,console.error("[ReasoningBankService] Loaded quality thresholds from PatternLoader",{tiers:Object.keys(t)});return}console.error("[ReasoningBankService] PatternLoader returned no thresholds, using defaults")}catch(e){console.error("[ReasoningBankService] Failed to load patterns from PatternLoader, using defaults",{error:e instanceof Error?e.message:"Unknown error"})}this.patternsLoaded=!1}async seedInitialPatternsIfNeeded(){try{let e=await this.enhancedAdapter.getStats();if(e.reasoningBank.totalPatterns>0){console.error(`[ReasoningBankService] Found ${e.reasoningBank.totalPatterns} existing patterns, skipping seed`);return}console.error("[ReasoningBankService] Seeding initial QE patterns...");let t=(s,a="string",i=!1)=>({name:s,type:a,required:i,description:`${s} parameter`}),r=[{patternType:"test-template",name:"unit-test-generation",description:"Generate comprehensive unit tests for TypeScript/JavaScript modules",domain:"test-generation",template:{type:"workflow",content:"Analyze module exports, identify edge cases, generate Jest/Vitest tests with proper mocking",variables:[t("modulePath"),t("framework")]},context:{tags:["unit","typescript","jest","vitest"]}},{patternType:"coverage-strategy",name:"coverage-gap-analysis",description:"Identify untested code paths and recommend targeted tests",domain:"coverage-analysis",template:{type:"workflow",content:"Parse coverage report, identify uncovered branches, prioritize by risk, generate recommendations",variables:[t("coveragePath"),t("threshold","number")]},context:{tags:["coverage","analysis","risk"]}},{patternType:"test-template",name:"integration-test-generation",description:"Generate integration tests for API endpoints and service interactions",domain:"test-generation",template:{type:"workflow",content:"Identify API contracts, generate request/response tests, validate error handling",variables:[t("apiPath"),t("framework")]},context:{tags:["integration","api","contract"]}},{patternType:"flaky-fix",name:"flaky-test-remediation",description:"Detect and fix flaky tests through pattern analysis",domain:"test-execution",template:{type:"workflow",content:"Analyze test history, identify timing/race conditions, apply stabilization patterns",variables:[t("testPath"),t("retryCount","number")]},context:{tags:["flaky","stability","retry"]}},{patternType:"error-handling",name:"security-vulnerability-scan",description:"Scan code for security vulnerabilities using OWASP patterns",domain:"security-compliance",template:{type:"workflow",content:"Run SAST analysis, check for injection risks, validate authentication/authorization",variables:[t("targetPath"),t("severity")]},context:{tags:["security","owasp","sast"]}}];for(let s of r)try{await this.enhancedAdapter.storePattern(s),this.patternsStored++}catch(a){console.error(`[ReasoningBankService] Failed to seed pattern ${s.name}:`,a)}console.error(`[ReasoningBankService] Seeded ${r.length} initial patterns`)}catch(e){console.error("[ReasoningBankService] Failed to seed patterns:",e)}}getPatternsLoaded(){return this.patternsLoaded}getQualityThresholdsFromPatterns(){return this.qualityThresholdsFromPatterns}async startTaskTrajectory(e,t,r={}){if(!this.config.enableTrajectories||this.disposed)return e;try{let s=await this.enhancedAdapter.startTaskTrajectory(t,r);return this.activeTrajectories.set(e,s),console.error(`[ReasoningBankService] Started trajectory: task=${e} trajectory=${s}`),s}catch(s){return console.error("[ReasoningBankService] Failed to start trajectory:",s),e}}async recordTrajectoryStep(e,t,r,s){if(!this.config.enableTrajectories||this.disposed)return;let a=this.activeTrajectories.get(e);if(!a){console.error(`[ReasoningBankService] No active trajectory for task ${e}`);return}try{await this.enhancedAdapter.recordTaskStep(a,t,r,s)}catch(i){console.error("[ReasoningBankService] Failed to record trajectory step:",i)}}async endTaskTrajectory(e,t,r){if(!this.config.enableTrajectories||this.disposed)return null;let s=this.activeTrajectories.get(e);if(!s)return console.error(`[ReasoningBankService] No active trajectory for task ${e}`),null;try{let a=await this.enhancedAdapter.endTaskTrajectory(s,t,r);return this.activeTrajectories.delete(e),console.error(`[ReasoningBankService] Ended trajectory: task=${e} success=${t} steps=${a.steps.length} quality=${a.metrics.averageQuality.toFixed(2)}`),a}catch(a){return console.error("[ReasoningBankService] Failed to end trajectory:",a),this.activeTrajectories.delete(e),null}}getActiveTrajectoryId(e){return this.activeTrajectories.get(e)}async recordTaskOutcome(e){if(!(!this.config.enableLearning||this.disposed)){this.tasksRecorded++,e.success?this.successfulTasks++:this.failedTasks++;try{let t={patternId:`task-${e.taskId}`,success:e.success,metrics:{executionTimeMs:e.executionTimeMs,testsPassed:e.metrics?.testsPassed,testsFailed:e.metrics?.testsGenerated?e.metrics.testsGenerated-(e.metrics.testsPassed||0):void 0,coverageImprovement:e.metrics?.coverageImprovement},feedback:e.error};await this.enhancedAdapter.recordPatternOutcome(t),e.success&&(e.qualityScore||.5)>=this.config.minQualityThreshold&&(await this.storeTaskPattern(e),this.patternsStored++),e.agentId&&await this.updateAgentPerformanceFromOutcome(e),console.error(`[ReasoningBankService] Recorded outcome: task=${e.taskId} success=${e.success} quality=${e.qualityScore?.toFixed(2)||"N/A"}`)}catch(t){throw console.error("[ReasoningBankService] Failed to record outcome:",t),t}}}async updateAgentPerformanceFromOutcome(e){if(e.agentId)try{j(e.agentId,{success:e.success,executionTimeMs:e.executionTimeMs,qualityScore:e.qualityScore}),console.error(`[ReasoningBankService] Updated agent performance: agent=${e.agentId} success=${e.success} duration=${e.executionTimeMs}ms`)}catch(t){console.error("[ReasoningBankService] Failed to update agent performance:",t)}}async storeTaskPattern(e){try{let t=[e.taskType,e.domain||"general",e.agentId?`agent:${e.agentId}`:void 0,e.modelTier?`tier:${e.modelTier}`:void 0,e.executionTimeMs?`duration:${e.executionTimeMs}ms`:void 0].filter(r=>r!==void 0);await this.enhancedAdapter.storePattern({patternType:"test-template",name:`${e.taskType}-${e.domain||"general"}`,description:e.task,template:{type:"workflow",content:e.task,variables:[]},context:{tags:t}})}catch(t){console.error("[ReasoningBankService] Failed to store pattern:",t)}}async getRoutingRecommendation(e){if(!this.config.enableRouting||this.disposed)return this.createFallbackRouting(e);this.routingRequests++;try{let t=await this.enhancedAdapter.routeTaskWithExperience(e);if(!t.success)return console.error("[ReasoningBankService] Routing returned error:",t.error),this.createFallbackRouting(e);let r=t.value;return r.experienceGuidance&&console.error(`[ReasoningBankService] Experience guidance: strategy="${r.experienceGuidance.recommendedStrategy}" confidence=${r.experienceGuidance.confidence.toFixed(2)} tokenSavings=${r.experienceGuidance.estimatedTokenSavings}`),console.error(`[ReasoningBankService] Routing: task="${e.task.slice(0,50)}..." -> agent=${r.recommendedAgent} confidence=${r.confidence.toFixed(2)}`),r}catch(t){return console.error("[ReasoningBankService] Routing failed:",t),this.createFallbackRouting(e)}}async getExperienceGuidance(e,t){if(!this.config.enableExperienceReplay||this.disposed)return null;try{return await this.enhancedAdapter.getExperienceGuidance(e,t)}catch(r){return console.error("[ReasoningBankService] Failed to get experience guidance:",r),null}}async getTaskGuidance(e,t){if(!this.config.enableGuidance||this.disposed)return[];try{let r=await this.enhancedAdapter.routeTaskWithExperience({task:e,domain:t});return r.success?r.value.guidance:[]}catch(r){return console.error("[ReasoningBankService] Guidance failed:",r),[]}}async searchPatterns(e,t){if(this.disposed)return[];try{let r=await this.enhancedAdapter.searchPatterns(e,{limit:t?.limit||10,domain:t?.domain});return r.success?r.value.map(s=>s.pattern):(console.error("[ReasoningBankService] Search returned error:",r.error),[])}catch(r){return console.error("[ReasoningBankService] Search failed:",r),[]}}async getStats(){let e=await this.enhancedAdapter.getStats();return{service:{tasksRecorded:this.tasksRecorded,successfulTasks:this.successfulTasks,failedTasks:this.failedTasks,successRate:this.tasksRecorded>0?this.successfulTasks/this.tasksRecorded:0,patternsStored:this.patternsStored,routingRequests:this.routingRequests,patternsLoaded:this.patternsLoaded,activeTrajectories:this.activeTrajectories.size},reasoningBank:e.reasoningBank,adapter:e.adapter}}createFallbackRouting(e){return{recommendedAgent:"qe-test-architect",confidence:.5,alternatives:[],domains:e.domain?[e.domain]:["test-generation"],patterns:[],guidance:[],reasoning:"Fallback routing - ReasoningBank unavailable",latencyMs:0}}isHealthy(){return!this.disposed}async dispose(){this.disposed||(this.disposed=!0,await this.enhancedAdapter.dispose(),this.activeTrajectories.clear(),n.instance=null,console.error("[ReasoningBankService] Disposed"))}static reset(){n.instance&&n.instance.dispose(),n.instance=null,n.initPromise=null}};async function y(n){return P.getInstance(n)}async function C(n,e,t){return(await y()).startTaskTrajectory(n,e,t)}async function v(n,e,t){return(await y()).endTaskTrajectory(n,e,t)}F();var Q="claude-haiku-4-5-20251001",G=200,U=5;async function O(){let n=process.env.ANTHROPIC_API_KEY;if(!n)return;let e=(process.env.ANTHROPIC_BASE_URL??"https://api.anthropic.com").replace(/\/$/,""),t=I();if(!t.isInitialized())return;let r=t.getDatabase();if(!r.prepare("PRAGMA table_info(qe_trajectories)").all().some(c=>c.name==="feedback"))return;let a=r.prepare(`
|
|
1
|
+
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.13.12");process.exit(0)}
|
|
2
|
+
import{a as B,b as R,c as m,d as p}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{b as j}from"./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{a as E}from"./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{i as I,m as F}from"./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 u,c as M}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";var L={enableLearning:!0,enableRouting:!0,enableGuidance:!0,enableTrajectories:!0,enableExperienceReplay:!0,autoStoreExperiences:!0,minQualityThreshold:.6},P=class n{static instance=null;static initPromise=null;config;enhancedAdapter;disposed=!1;patternsLoaded=!1;qualityThresholdsFromPatterns=null;tasksRecorded=0;successfulTasks=0;failedTasks=0;patternsStored=0;routingRequests=0;activeTrajectories=new Map;constructor(e,t){this.config=e,this.enhancedAdapter=t}static async getInstance(e){if(n.instance&&!n.instance.disposed)return n.instance;if(n.initPromise)return n.initPromise;n.initPromise=n.create(e);try{return n.instance=await n.initPromise,n.instance}finally{n.initPromise=null}}static async create(e){let t={...L,...e},r=B({enableTrajectories:t.enableTrajectories,enableExperienceReplay:t.enableExperienceReplay,enablePatternEvolution:!0,autoStoreExperiences:t.autoStoreExperiences,autoConsolidate:!0});await r.initialize();let s=new n(t,r);return await s.loadPatternsFromLoader(),await s.seedInitialPatternsIfNeeded(),console.error("[ReasoningBankService] Initialized with EnhancedReasoningBankAdapter (trajectory + experience + evolution)"),s}async loadPatternsFromLoader(){try{let t=await E().getQualityGateThresholds();if(t){this.qualityThresholdsFromPatterns=t,this.patternsLoaded=!0,console.error("[ReasoningBankService] Loaded quality thresholds from PatternLoader",{tiers:Object.keys(t)});return}console.error("[ReasoningBankService] PatternLoader returned no thresholds, using defaults")}catch(e){console.error("[ReasoningBankService] Failed to load patterns from PatternLoader, using defaults",{error:e instanceof Error?e.message:"Unknown error"})}this.patternsLoaded=!1}async seedInitialPatternsIfNeeded(){try{let e=await this.enhancedAdapter.getStats();if(e.reasoningBank.totalPatterns>0){console.error(`[ReasoningBankService] Found ${e.reasoningBank.totalPatterns} existing patterns, skipping seed`);return}console.error("[ReasoningBankService] Seeding initial QE patterns...");let t=(s,a="string",i=!1)=>({name:s,type:a,required:i,description:`${s} parameter`}),r=[{patternType:"test-template",name:"unit-test-generation",description:"Generate comprehensive unit tests for TypeScript/JavaScript modules",domain:"test-generation",template:{type:"workflow",content:"Analyze module exports, identify edge cases, generate Jest/Vitest tests with proper mocking",variables:[t("modulePath"),t("framework")]},context:{tags:["unit","typescript","jest","vitest"]}},{patternType:"coverage-strategy",name:"coverage-gap-analysis",description:"Identify untested code paths and recommend targeted tests",domain:"coverage-analysis",template:{type:"workflow",content:"Parse coverage report, identify uncovered branches, prioritize by risk, generate recommendations",variables:[t("coveragePath"),t("threshold","number")]},context:{tags:["coverage","analysis","risk"]}},{patternType:"test-template",name:"integration-test-generation",description:"Generate integration tests for API endpoints and service interactions",domain:"test-generation",template:{type:"workflow",content:"Identify API contracts, generate request/response tests, validate error handling",variables:[t("apiPath"),t("framework")]},context:{tags:["integration","api","contract"]}},{patternType:"flaky-fix",name:"flaky-test-remediation",description:"Detect and fix flaky tests through pattern analysis",domain:"test-execution",template:{type:"workflow",content:"Analyze test history, identify timing/race conditions, apply stabilization patterns",variables:[t("testPath"),t("retryCount","number")]},context:{tags:["flaky","stability","retry"]}},{patternType:"error-handling",name:"security-vulnerability-scan",description:"Scan code for security vulnerabilities using OWASP patterns",domain:"security-compliance",template:{type:"workflow",content:"Run SAST analysis, check for injection risks, validate authentication/authorization",variables:[t("targetPath"),t("severity")]},context:{tags:["security","owasp","sast"]}}];for(let s of r)try{await this.enhancedAdapter.storePattern(s),this.patternsStored++}catch(a){console.error(`[ReasoningBankService] Failed to seed pattern ${s.name}:`,a)}console.error(`[ReasoningBankService] Seeded ${r.length} initial patterns`)}catch(e){console.error("[ReasoningBankService] Failed to seed patterns:",e)}}getPatternsLoaded(){return this.patternsLoaded}getQualityThresholdsFromPatterns(){return this.qualityThresholdsFromPatterns}async startTaskTrajectory(e,t,r={}){if(!this.config.enableTrajectories||this.disposed)return e;try{let s=await this.enhancedAdapter.startTaskTrajectory(t,r);return this.activeTrajectories.set(e,s),console.error(`[ReasoningBankService] Started trajectory: task=${e} trajectory=${s}`),s}catch(s){return console.error("[ReasoningBankService] Failed to start trajectory:",s),e}}async recordTrajectoryStep(e,t,r,s){if(!this.config.enableTrajectories||this.disposed)return;let a=this.activeTrajectories.get(e);if(!a){console.error(`[ReasoningBankService] No active trajectory for task ${e}`);return}try{await this.enhancedAdapter.recordTaskStep(a,t,r,s)}catch(i){console.error("[ReasoningBankService] Failed to record trajectory step:",i)}}async endTaskTrajectory(e,t,r){if(!this.config.enableTrajectories||this.disposed)return null;let s=this.activeTrajectories.get(e);if(!s)return console.error(`[ReasoningBankService] No active trajectory for task ${e}`),null;try{let a=await this.enhancedAdapter.endTaskTrajectory(s,t,r);return this.activeTrajectories.delete(e),console.error(`[ReasoningBankService] Ended trajectory: task=${e} success=${t} steps=${a.steps.length} quality=${a.metrics.averageQuality.toFixed(2)}`),a}catch(a){return console.error("[ReasoningBankService] Failed to end trajectory:",a),this.activeTrajectories.delete(e),null}}getActiveTrajectoryId(e){return this.activeTrajectories.get(e)}async recordTaskOutcome(e){if(!(!this.config.enableLearning||this.disposed)){this.tasksRecorded++,e.success?this.successfulTasks++:this.failedTasks++;try{let t={patternId:`task-${e.taskId}`,success:e.success,metrics:{executionTimeMs:e.executionTimeMs,testsPassed:e.metrics?.testsPassed,testsFailed:e.metrics?.testsGenerated?e.metrics.testsGenerated-(e.metrics.testsPassed||0):void 0,coverageImprovement:e.metrics?.coverageImprovement},feedback:e.error};await this.enhancedAdapter.recordPatternOutcome(t),e.success&&(e.qualityScore||.5)>=this.config.minQualityThreshold&&(await this.storeTaskPattern(e),this.patternsStored++),e.agentId&&await this.updateAgentPerformanceFromOutcome(e),console.error(`[ReasoningBankService] Recorded outcome: task=${e.taskId} success=${e.success} quality=${e.qualityScore?.toFixed(2)||"N/A"}`)}catch(t){throw console.error("[ReasoningBankService] Failed to record outcome:",t),t}}}async updateAgentPerformanceFromOutcome(e){if(e.agentId)try{j(e.agentId,{success:e.success,executionTimeMs:e.executionTimeMs,qualityScore:e.qualityScore}),console.error(`[ReasoningBankService] Updated agent performance: agent=${e.agentId} success=${e.success} duration=${e.executionTimeMs}ms`)}catch(t){console.error("[ReasoningBankService] Failed to update agent performance:",t)}}async storeTaskPattern(e){try{let t=[e.taskType,e.domain||"general",e.agentId?`agent:${e.agentId}`:void 0,e.modelTier?`tier:${e.modelTier}`:void 0,e.executionTimeMs?`duration:${e.executionTimeMs}ms`:void 0].filter(r=>r!==void 0);await this.enhancedAdapter.storePattern({patternType:"test-template",name:`${e.taskType}-${e.domain||"general"}`,description:e.task,template:{type:"workflow",content:e.task,variables:[]},context:{tags:t}})}catch(t){console.error("[ReasoningBankService] Failed to store pattern:",t)}}async getRoutingRecommendation(e){if(!this.config.enableRouting||this.disposed)return this.createFallbackRouting(e);this.routingRequests++;try{let t=await this.enhancedAdapter.routeTaskWithExperience(e);if(!t.success)return console.error("[ReasoningBankService] Routing returned error:",t.error),this.createFallbackRouting(e);let r=t.value;return r.experienceGuidance&&console.error(`[ReasoningBankService] Experience guidance: strategy="${r.experienceGuidance.recommendedStrategy}" confidence=${r.experienceGuidance.confidence.toFixed(2)} tokenSavings=${r.experienceGuidance.estimatedTokenSavings}`),console.error(`[ReasoningBankService] Routing: task="${e.task.slice(0,50)}..." -> agent=${r.recommendedAgent} confidence=${r.confidence.toFixed(2)}`),r}catch(t){return console.error("[ReasoningBankService] Routing failed:",t),this.createFallbackRouting(e)}}async getExperienceGuidance(e,t){if(!this.config.enableExperienceReplay||this.disposed)return null;try{return await this.enhancedAdapter.getExperienceGuidance(e,t)}catch(r){return console.error("[ReasoningBankService] Failed to get experience guidance:",r),null}}async getTaskGuidance(e,t){if(!this.config.enableGuidance||this.disposed)return[];try{let r=await this.enhancedAdapter.routeTaskWithExperience({task:e,domain:t});return r.success?r.value.guidance:[]}catch(r){return console.error("[ReasoningBankService] Guidance failed:",r),[]}}async searchPatterns(e,t){if(this.disposed)return[];try{let r=await this.enhancedAdapter.searchPatterns(e,{limit:t?.limit||10,domain:t?.domain});return r.success?r.value.map(s=>s.pattern):(console.error("[ReasoningBankService] Search returned error:",r.error),[])}catch(r){return console.error("[ReasoningBankService] Search failed:",r),[]}}async getStats(){let e=await this.enhancedAdapter.getStats();return{service:{tasksRecorded:this.tasksRecorded,successfulTasks:this.successfulTasks,failedTasks:this.failedTasks,successRate:this.tasksRecorded>0?this.successfulTasks/this.tasksRecorded:0,patternsStored:this.patternsStored,routingRequests:this.routingRequests,patternsLoaded:this.patternsLoaded,activeTrajectories:this.activeTrajectories.size},reasoningBank:e.reasoningBank,adapter:e.adapter}}createFallbackRouting(e){return{recommendedAgent:"qe-test-architect",confidence:.5,alternatives:[],domains:e.domain?[e.domain]:["test-generation"],patterns:[],guidance:[],reasoning:"Fallback routing - ReasoningBank unavailable",latencyMs:0}}isHealthy(){return!this.disposed}async dispose(){this.disposed||(this.disposed=!0,await this.enhancedAdapter.dispose(),this.activeTrajectories.clear(),n.instance=null,console.error("[ReasoningBankService] Disposed"))}static reset(){n.instance&&n.instance.dispose(),n.instance=null,n.initPromise=null}};async function y(n){return P.getInstance(n)}async function C(n,e,t){return(await y()).startTaskTrajectory(n,e,t)}async function v(n,e,t){return(await y()).endTaskTrajectory(n,e,t)}F();var Q="claude-haiku-4-5-20251001",G=200,U=5;async function O(){let n=process.env.ANTHROPIC_API_KEY;if(!n)return;let e=(process.env.ANTHROPIC_BASE_URL??"https://api.anthropic.com").replace(/\/$/,""),t=I();if(!t.isInitialized())return;let r=t.getDatabase();if(!r.prepare("PRAGMA table_info(qe_trajectories)").all().some(c=>c.name==="feedback"))return;let a=r.prepare(`
|
|
3
3
|
SELECT id, task, agent, domain, success
|
|
4
4
|
FROM qe_trajectories
|
|
5
5
|
WHERE feedback IS NULL AND ended_at IS NOT NULL
|
|
6
6
|
ORDER BY ended_at DESC
|
|
7
7
|
LIMIT ?
|
|
8
8
|
`).all(U);if(a.length===0)return;let i=r.prepare("UPDATE qe_trajectories SET feedback = ? WHERE id = ?");for(let c of a)try{let o=await z(c,n,e);o&&i.run(JSON.stringify(o),c.id)}catch{}}async function z(n,e,t){let r=["You are a quality engineering judge scoring a completed task trajectory.","",`Task: ${n.task.slice(0,400)}`,`Agent: ${n.agent??"unknown"}`,`Domain: ${n.domain??"general"}`,`Outcome: ${n.success?"success":"failure"}`,"",'Respond ONLY with JSON: {"quality": 0..1, "reasoning": "\u2264120 chars", "improvement": "\u2264120 chars or omit"}.'].join(`
|
|
9
|
-
`),s=await fetch(`${t}/v1/messages`,{method:"POST",headers:{"content-type":"application/json","x-api-key":e,"anthropic-version":"2023-06-01"},body:JSON.stringify({model:Q,max_tokens:G,messages:[{role:"user",content:r}]})});if(!s.ok)return null;let i=(await s.json()).content?.[0]?.text;if(!i)return null;let c=i.match(/\{[\s\S]*\}/);if(!c)return null;try{let o=JSON.parse(c[0]);return typeof o.quality!="number"||typeof o.reasoning!="string"?null:{quality:Math.max(0,Math.min(1,o.quality)),reasoning:o.reasoning.slice(0,200),improvement:typeof o.improvement=="string"?o.improvement.slice(0,200):void 0}}catch{return null}}M();var N={"ideation-assessment":"qcsd-ideation-swarm"};async function ae(n){if(!p())return{success:!1,error:"Fleet not initialized. Call fleet_init first."};let{queen:e}=m();try{let t=await e.submitTask({type:n.type,priority:n.priority||"p1",targetDomains:n.targetDomains||[],payload:n.payload||{},timeout:n.timeout||3e5});if(!t.success)return{success:!1,error:t.error.message};let r=e.getTaskStatus(t.value);return{success:!0,data:{taskId:t.value,type:n.type,priority:n.priority||"p1",status:r?.status==="running"?"pending":"queued",assignedDomain:r?.assignedDomain}}}catch(t){return{success:!1,error:`Failed to submit task: ${u(t)}`}}}async function oe(n){if(!p())return{success:!1,error:"Fleet not initialized. Call fleet_init first."};let{queen:e}=m();try{let t=e.listTasks({status:n.status,priority:n.priority,domain:n.domain});return{success:!0,data:(typeof n.limit=="number"?t.slice(0,n.limit):t).map(a=>({taskId:a.taskId,type:a.task.type,status:a.status,priority:a.task.priority,assignedDomain:a.assignedDomain,assignedAgents:a.assignedAgents,result:a.result,error:a.error,createdAt:a.task.createdAt.toISOString(),startedAt:a.startedAt?.toISOString(),completedAt:a.completedAt?.toISOString(),duration:a.completedAt&&a.startedAt?a.completedAt.getTime()-a.startedAt.getTime():void 0}))}}catch(t){return{success:!1,error:`Failed to list tasks: ${u(t)}`}}}async function ce(n){if(!p())return{success:!1,error:"Fleet not initialized. Call fleet_init first."};let{queen:e}=m();try{let t=e.getTaskStatus(n.taskId);return t?{success:!0,data:{taskId:t.taskId,type:t.task.type,status:t.status,priority:t.task.priority,assignedDomain:t.assignedDomain,assignedAgents:t.assignedAgents,result:n.detailed?t.result:void 0,error:t.error,createdAt:t.task.createdAt.toISOString(),startedAt:t.startedAt?.toISOString(),completedAt:t.completedAt?.toISOString(),duration:t.completedAt&&t.startedAt?t.completedAt.getTime()-t.startedAt.getTime():void 0}}:{success:!1,error:`Task not found: ${n.taskId}`}}catch(t){return{success:!1,error:`Failed to get task status: ${u(t)}`}}}async function de(n){if(!p())return{success:!1,error:"Fleet not initialized. Call fleet_init first."};let{queen:e}=m();try{let t=await e.cancelTask(n.taskId);return t.success?{success:!0,data:{taskId:n.taskId,cancelled:!0}}:{success:!1,error:t.error.message}}catch(t){return{success:!1,error:`Failed to cancel task: ${u(t)}`}}}async function ue(n){if(!p())return{success:!1,error:"Fleet not initialized. Call fleet_init first."};let{queen:e,workflowOrchestrator:t}=m();try{let r=n.context?.project||q(n.task),s=n.priority==="critical"||/\b(security|vulnerability|cve|owasp|critical|production|exploit)\b/i.test(n.task),i=await(await R()).routeTask({task:n.task,codeContext:n.codeContext,filePaths:n.filePaths,manualTier:n.manualTier,isCritical:s,agentType:`qe-${r}`,domain:r,metadata:{inferredDomain:r,hasCodeContext:!!n.codeContext,fileCount:n.filePaths?.length}}),c=await y(),o=await c.getExperienceGuidance(n.task,n.context?.project),f=await c.searchPatterns(n.task,{limit:5,domain:n.context?.project??r}).catch(()=>[]),l=H(n.task),k=J(n.priority||"medium"),b=N[l];if(b&&t){console.log(`[TaskOrchestrate] Task type '${l}' has workflow '${b}' - executing workflow`);let d=n.task.match(/https?:\/\/[^\s]+/i),h=d?d[0]:void 0;h&&console.log(`[TaskOrchestrate] Detected URL for analysis: ${h}`);let $={targetId:n.context?.project||h||`task-${Date.now()}`,targetType:h?"website":"epic",description:n.task,acceptanceCriteria:n.context?.requirements||[],url:h,routing:{tier:i.decision.tier,modelId:i.modelId,executionStrategy:i.executionStrategy,complexity:i.decision.complexityAnalysis.overall},patternHints:f.length>0?f.map(T=>({patternId:T.id,name:T.name,description:T.description,confidence:T.confidence,similarity:T.qualityScore,canReuse:T.tier==="long-term"})):void 0},x=await t.executeWorkflow(b,$);return x.success?{success:!0,data:{taskId:x.value,type:l,priority:k,strategy:n.strategy||"adaptive",status:"workflow-started",message:`Workflow '${b}' started for task: ${n.task}`,routing:{tier:i.decision.tier,tierName:i.tierInfo.name,modelId:i.modelId,executionStrategy:i.executionStrategy,complexity:i.decision.complexityAnalysis.overall,confidence:i.decision.confidence,useAgentBooster:i.useAgentBooster,rationale:i.decision.rationale,decisionTimeMs:i.decision.metadata.decisionTimeMs}}}:{success:!1,error:`Workflow execution failed: ${x.error.message}`}}let g={description:n.task,strategy:n.strategy||"adaptive",maxAgents:n.maxAgents,context:n.context};l==="generate-tests"&&(g.sourceFiles=n.filePaths||[],g.sourceCode=n.codeContext||"",g.language=g.language||"typescript",g.testType=g.testType||"unit");let S=await e.submitTask({type:l,priority:k,targetDomains:[],payload:{...g,routing:{tier:i.decision.tier,modelId:i.modelId,executionStrategy:i.executionStrategy,useAgentBooster:i.useAgentBooster,agentBoosterTransform:i.decision.agentBoosterTransform,complexity:i.decision.complexityAnalysis.overall,confidence:i.decision.confidence},experienceGuidance:o?{strategy:o.recommendedStrategy,actions:o.suggestedActions,confidence:o.confidence,tokenSavings:o.estimatedTokenSavings}:void 0,patternHints:f.length>0?f.map(d=>({patternId:d.id,name:d.name,description:d.description,confidence:d.confidence,similarity:d.qualityScore,canReuse:d.tier==="long-term"})):void 0},timeout:6e5});if(!S.success)return{success:!1,error:S.error.message};let A=S.value;return await C(A,n.task,{agent:"queen-coordinator",domain:n.context?.project}),process.env.AQE_TRAJECTORY_JUDGE==="1"&&process.env.ANTHROPIC_API_KEY&&O().catch(d=>{console.warn("[TrajectoryJudge] failed:",d instanceof Error?d.message:d)}),{success:!0,data:{taskId:A,type:l,priority:k,strategy:n.strategy||"adaptive",status:"submitted",message:`Task orchestrated: ${n.task}${o?" (with experience guidance)":""}`,routing:{tier:i.decision.tier,tierName:i.tierInfo.name,modelId:i.modelId,executionStrategy:i.executionStrategy,complexity:i.decision.complexityAnalysis.overall,confidence:i.decision.confidence,useAgentBooster:i.useAgentBooster,rationale:i.decision.rationale,decisionTimeMs:i.decision.metadata.decisionTimeMs}}}}catch(r){return{success:!1,error:`Failed to orchestrate task: ${u(r)}`}}}async function le(n){try{let e=await R(),t=n.domain||q(n.task),r=n.isCritical??/\b(security|vulnerability|cve|owasp|critical|production|exploit)\b/i.test(n.task),s=await e.routeTask({task:n.task,codeContext:n.codeContext,filePaths:n.filePaths,manualTier:n.manualTier,isCritical:r,agentType:n.agentType||`qe-${t}`,domain:t,metadata:{inferredDomain:t,hasCodeContext:!!n.codeContext,fileCount:n.filePaths?.length}});return{success:!0,data:{tier:s.decision.tier,tierName:s.tierInfo.name,modelId:s.modelId,executionStrategy:s.executionStrategy,useAgentBooster:s.useAgentBooster,agentBoosterTransform:s.decision.agentBoosterTransform,complexity:{overall:s.decision.complexityAnalysis.overall,code:s.decision.complexityAnalysis.codeComplexity,reasoning:s.decision.complexityAnalysis.reasoningComplexity,scope:s.decision.complexityAnalysis.scopeComplexity},confidence:s.decision.confidence,rationale:s.decision.rationale,warnings:s.decision.warnings,budget:{allowed:s.decision.budgetDecision.allowed,wasDowngraded:s.decision.budgetDecision.wasDowngraded,estimatedCostUsd:s.decision.budgetDecision.estimatedCostUsd},decisionTimeMs:s.decision.metadata.decisionTimeMs}}}catch(e){return{success:!1,error:`Failed to route task: ${u(e)}`}}}async function ge(n){try{let e=await R(),t=e.getRoutingStats(),r=e.getMetrics(),s={stats:t,modelRouterMetrics:{totalDecisions:r.totalDecisions,avgDecisionTimeMs:r.avgDecisionTimeMs,agentBoosterStats:r.agentBoosterStats,budgetStats:r.budgetStats}};return n.includeLog&&(s.log=e.getRoutingLog(n.logLimit||100)),{success:!0,data:s}}catch(e){return{success:!1,error:`Failed to get routing metrics: ${u(e)}`}}}async function me(n){try{let{createRoutingFeedbackCollector:e}=await import("./routing-feedback-ZZYHE2CL.js"),{getGlobalCostTracker:t}=await import("./cost-tracker-XQVIORRZ.js"),r=e(100);await r.initialize(),r.enableEconomicRouting({...n.taskComplexity!=null?{}:{}},t());let s=r.getEconomicReport();return s?{success:!0,data:{tierEfficiency:s.tierEfficiency.map(i=>({...i,qualityPerDollar:isFinite(i.qualityPerDollar)?i.qualityPerDollar:"Infinity"})),currentHourlyCostUsd:s.currentHourlyCostUsd,currentDailyCostUsd:s.currentDailyCostUsd,budgetRemaining:s.budgetRemaining,recommendation:s.recommendation,savingsOpportunity:s.savingsOpportunity}}:{success:!1,error:"Economic routing is not available"}}catch(e){return{success:!1,error:`Failed to get economic routing report: ${u(e)}`}}}function q(n){let e=n.toLowerCase();return/\b(security|vulnerabilit|cve|owasp|secret|credential|injection|xss|csrf)\b/.test(e)?"security-compliance":/\b(chaos|resilience|fault.?inject|disaster|failover)\b/.test(e)?"chaos-resilience":/\b(defect|bug.?predict|risk.?assess|mutation)\b/.test(e)?"defect-intelligence":/\b(coverage|uncovered|gap.?analy)\b/.test(e)?"coverage-analysis":/\b(quality|code.?review|maintain|tech.?debt)\b/.test(e)?"quality-assessment":/\b(contract|api.?compat|breaking.?change|pact)\b/.test(e)?"contract-testing":/\b(index|knowledge.?graph|semantic|code.?intel)\b/.test(e)?"code-intelligence":/\b(accessib|a11y|wcag|screen.?read)\b/.test(e)?"visual-accessibility":/\b(requirement|bdd|acceptance|user.?stor)\b/.test(e)?"requirements-validation":/\b(generat.*test|test.*generat|write.*test|create.*test)\b/.test(e)?"test-generation":/\b(run.*test|execut.*test)\b/.test(e)?"test-execution":"test-generation"}function H(n){let e=n.toLowerCase();return/run\s+(?:\w+\s+)*tests?/.test(e)||/execute\s+(?:\w+\s+)*tests?/.test(e)||e.includes("run tests")||e.includes("execute tests")?"execute-tests":e.includes("generate test")||e.includes("create test")||e.includes("write test")?"generate-tests":e.includes("coverage")||e.includes("uncovered")?"analyze-coverage":e.includes("quality")||e.includes("code quality")?"assess-quality":e.includes("defect")||e.includes("bug")||e.includes("predict")?"predict-defects":e.includes("requirement")||e.includes("bdd")||e.includes("acceptance")?"validate-requirements":e.includes("index")||e.includes("knowledge graph")||e.includes("semantic")?"index-code":e.includes("security")||e.includes("vulnerability")||e.includes("owasp")?"scan-security":e.includes("contract")||e.includes("api contract")||e.includes("pact")?"validate-contracts":e.includes("accessibility")||e.includes("a11y")||e.includes("wcag")?"test-accessibility":e.includes("chaos")||e.includes("resilience")||e.includes("fault")?"run-chaos":e.includes("learn")||e.includes("optimize")||e.includes("improve")?"optimize-learning":e.includes("ideation")||e.includes("quality criteria")||e.includes("htsm")||e.includes("qcsd")||e.includes("testability")||e.includes("pi planning")||e.includes("sprint planning")?"ideation-assessment":"generate-tests"}function J(n){switch(n){case"critical":return"p0";case"high":return"p1";case"medium":return"p2";case"low":return"p3";default:return"p1"}}async function pe(n){try{let e=await y(),t={taskId:n.taskId,task:n.task,taskType:n.taskType,success:n.success,executionTimeMs:n.executionTimeMs,agentId:n.agentId,domain:n.domain,modelTier:n.modelTier,qualityScore:n.qualityScore,error:n.error,metrics:n.metrics};await e.recordTaskOutcome(t);let r=n.success&&(n.qualityScore||.5)>=.6;return{success:!0,data:{recorded:!0,patternStored:r,message:r?`Outcome recorded and pattern stored for task ${n.taskId}`:`Outcome recorded for task ${n.taskId}`}}}catch(e){return{success:!1,error:`Failed to record task outcome: ${u(e)}`}}}async function ye(){try{let e=await(await y()).getStats();return{success:!0,data:{service:e.service,patterns:{totalPatterns:e.reasoningBank.totalPatterns,byDomain:e.reasoningBank.byDomain,byTier:e.reasoningBank.byTier,learningOutcomes:e.reasoningBank.learningOutcomes,patternSuccessRate:e.reasoningBank.patternSuccessRate},embeddings:{cacheSize:e.reasoningBank.embeddingCacheSize,dimension:e.reasoningBank.embeddingDimension,transformerAvailable:e.reasoningBank.transformerAvailable},performance:{avgRoutingLatencyMs:e.reasoningBank.avgRoutingLatencyMs,p95RoutingLatencyMs:e.reasoningBank.p95RoutingLatencyMs}}}}catch(n){return{success:!1,error:`Failed to get ReasoningBank stats: ${u(n)}`}}}var D=new Set;async function fe(n){if(!p())return{success:!1,error:"Fleet not initialized. Call fleet_init first."};let{queen:e}=m();try{let t=e.getTaskStatus(n.taskId);if(!t)return{success:!1,error:`Task not found: ${n.taskId}`};let r={taskId:t.taskId,type:t.task.type,status:t.status,priority:t.task.priority,assignedDomain:t.assignedDomain,assignedAgents:t.assignedAgents,result:n.detailed?t.result:void 0,error:t.error,createdAt:t.task.createdAt.toISOString(),startedAt:t.startedAt?.toISOString(),completedAt:t.completedAt?.toISOString(),duration:t.completedAt&&t.startedAt?t.completedAt.getTime()-t.startedAt.getTime():void 0};if((t.status==="completed"||t.status==="failed")&&!D.has(n.taskId)){D.add(n.taskId);try{let s=await y(),a=r.duration||0,i=t.status==="completed",c=t.task.payload||{},o=typeof c.description=="string"?c.description:t.task.type,f=c.routing,l=await v(n.taskId,i,t.error),k=l?.metrics.averageQuality??(i?.7:.3);await s.recordTaskOutcome({taskId:n.taskId,task:o,taskType:t.task.type,success:i,executionTimeMs:a,agentId:t.assignedAgents?.[0],domain:t.assignedDomain,modelTier:f?.tier,qualityScore:k,error:t.error,metrics:{testsGenerated:typeof t.result=="object"&&t.result?t.result.testsGenerated:void 0,testsPassed:typeof t.result=="object"&&t.result?t.result.testsPassed:void 0}}),console.error(`[TaskHandler] Recorded learning outcome: task=${n.taskId} success=${i} quality=${k.toFixed(2)} trajectorySteps=${l?.steps.length??0}`)}catch(s){console.error("[TaskHandler] Failed to record outcome:",s)}}return{success:!0,data:r}}catch(t){return{success:!1,error:`Failed to get task status: ${u(t)}`}}}var w=[];function ke(n){W(n);let e=n.subscribeToEventType("TaskCompleted",async r=>{let{taskId:s}=r.payload;s&&await v(s,!0).catch(()=>{})}),t=n.subscribeToEventType("TaskFailed",async r=>{let{taskId:s,error:a}=r.payload;s&&await v(s,!1,a).catch(()=>{})});w=[e,t]}function W(n){for(let e of w)n.unsubscribe(e);w=[]}export{le as handleModelRoute,ye as handleReasoningBankStats,me as handleRoutingEconomics,ge as handleRoutingMetrics,de as handleTaskCancel,oe as handleTaskList,ue as handleTaskOrchestrate,pe as handleTaskOutcomeRecord,ce as handleTaskStatus,fe as handleTaskStatusWithLearning,ae as handleTaskSubmit,ke as subscribeTrajectoryEvents,W as unsubscribeTrajectoryEvents};
|
|
9
|
+
`),s=await fetch(`${t}/v1/messages`,{method:"POST",headers:{"content-type":"application/json","x-api-key":e,"anthropic-version":"2023-06-01"},body:JSON.stringify({model:Q,max_tokens:G,messages:[{role:"user",content:r}]})});if(!s.ok)return null;let i=(await s.json()).content?.[0]?.text;if(!i)return null;let c=i.match(/\{[\s\S]*\}/);if(!c)return null;try{let o=JSON.parse(c[0]);return typeof o.quality!="number"||typeof o.reasoning!="string"?null:{quality:Math.max(0,Math.min(1,o.quality)),reasoning:o.reasoning.slice(0,200),improvement:typeof o.improvement=="string"?o.improvement.slice(0,200):void 0}}catch{return null}}M();var N={"ideation-assessment":"qcsd-ideation-swarm"};async function ae(n){if(!p())return{success:!1,error:"Fleet not initialized. Call fleet_init first."};let{queen:e}=m();try{let t=await e.submitTask({type:n.type,priority:n.priority||"p1",targetDomains:n.targetDomains||[],payload:n.payload||{},timeout:n.timeout||3e5});if(!t.success)return{success:!1,error:t.error.message};let r=e.getTaskStatus(t.value);return{success:!0,data:{taskId:t.value,type:n.type,priority:n.priority||"p1",status:r?.status==="running"?"pending":"queued",assignedDomain:r?.assignedDomain}}}catch(t){return{success:!1,error:`Failed to submit task: ${u(t)}`}}}async function oe(n){if(!p())return{success:!1,error:"Fleet not initialized. Call fleet_init first."};let{queen:e}=m();try{let t=e.listTasks({status:n.status,priority:n.priority,domain:n.domain});return{success:!0,data:(typeof n.limit=="number"?t.slice(0,n.limit):t).map(a=>({taskId:a.taskId,type:a.task.type,status:a.status,priority:a.task.priority,assignedDomain:a.assignedDomain,assignedAgents:a.assignedAgents,result:a.result,error:a.error,createdAt:a.task.createdAt.toISOString(),startedAt:a.startedAt?.toISOString(),completedAt:a.completedAt?.toISOString(),duration:a.completedAt&&a.startedAt?a.completedAt.getTime()-a.startedAt.getTime():void 0}))}}catch(t){return{success:!1,error:`Failed to list tasks: ${u(t)}`}}}async function ce(n){if(!p())return{success:!1,error:"Fleet not initialized. Call fleet_init first."};let{queen:e}=m();try{let t=e.getTaskStatus(n.taskId);return t?{success:!0,data:{taskId:t.taskId,type:t.task.type,status:t.status,priority:t.task.priority,assignedDomain:t.assignedDomain,assignedAgents:t.assignedAgents,result:n.detailed?t.result:void 0,error:t.error,createdAt:t.task.createdAt.toISOString(),startedAt:t.startedAt?.toISOString(),completedAt:t.completedAt?.toISOString(),duration:t.completedAt&&t.startedAt?t.completedAt.getTime()-t.startedAt.getTime():void 0}}:{success:!1,error:`Task not found: ${n.taskId}`}}catch(t){return{success:!1,error:`Failed to get task status: ${u(t)}`}}}async function de(n){if(!p())return{success:!1,error:"Fleet not initialized. Call fleet_init first."};let{queen:e}=m();try{let t=await e.cancelTask(n.taskId);return t.success?{success:!0,data:{taskId:n.taskId,cancelled:!0}}:{success:!1,error:t.error.message}}catch(t){return{success:!1,error:`Failed to cancel task: ${u(t)}`}}}async function ue(n){if(!p())return{success:!1,error:"Fleet not initialized. Call fleet_init first."};let{queen:e,workflowOrchestrator:t}=m();try{let r=n.context?.project||q(n.task),s=n.priority==="critical"||/\b(security|vulnerability|cve|owasp|critical|production|exploit)\b/i.test(n.task),i=await(await R()).routeTask({task:n.task,codeContext:n.codeContext,filePaths:n.filePaths,manualTier:n.manualTier,isCritical:s,agentType:`qe-${r}`,domain:r,metadata:{inferredDomain:r,hasCodeContext:!!n.codeContext,fileCount:n.filePaths?.length}}),c=await y(),o=await c.getExperienceGuidance(n.task,n.context?.project),f=await c.searchPatterns(n.task,{limit:5,domain:n.context?.project??r}).catch(()=>[]),l=H(n.task),k=J(n.priority||"medium"),b=N[l];if(b&&t){console.log(`[TaskOrchestrate] Task type '${l}' has workflow '${b}' - executing workflow`);let d=n.task.match(/https?:\/\/[^\s]+/i),h=d?d[0]:void 0;h&&console.log(`[TaskOrchestrate] Detected URL for analysis: ${h}`);let $={targetId:n.context?.project||h||`task-${Date.now()}`,targetType:h?"website":"epic",description:n.task,acceptanceCriteria:n.context?.requirements||[],url:h,routing:{tier:i.decision.tier,modelId:i.modelId,executionStrategy:i.executionStrategy,complexity:i.decision.complexityAnalysis.overall},patternHints:f.length>0?f.map(T=>({patternId:T.id,name:T.name,description:T.description,confidence:T.confidence,similarity:T.qualityScore,canReuse:T.tier==="long-term"})):void 0},x=await t.executeWorkflow(b,$);return x.success?{success:!0,data:{taskId:x.value,type:l,priority:k,strategy:n.strategy||"adaptive",status:"workflow-started",message:`Workflow '${b}' started for task: ${n.task}`,routing:{tier:i.decision.tier,tierName:i.tierInfo.name,modelId:i.modelId,executionStrategy:i.executionStrategy,complexity:i.decision.complexityAnalysis.overall,confidence:i.decision.confidence,useAgentBooster:i.useAgentBooster,rationale:i.decision.rationale,decisionTimeMs:i.decision.metadata.decisionTimeMs}}}:{success:!1,error:`Workflow execution failed: ${x.error.message}`}}let g={description:n.task,strategy:n.strategy||"adaptive",maxAgents:n.maxAgents,context:n.context};l==="generate-tests"&&(g.sourceFiles=n.filePaths||[],g.sourceCode=n.codeContext||"",g.language=g.language||"typescript",g.testType=g.testType||"unit");let S=await e.submitTask({type:l,priority:k,targetDomains:[],payload:{...g,routing:{tier:i.decision.tier,modelId:i.modelId,executionStrategy:i.executionStrategy,useAgentBooster:i.useAgentBooster,agentBoosterTransform:i.decision.agentBoosterTransform,complexity:i.decision.complexityAnalysis.overall,confidence:i.decision.confidence},experienceGuidance:o?{strategy:o.recommendedStrategy,actions:o.suggestedActions,confidence:o.confidence,tokenSavings:o.estimatedTokenSavings}:void 0,patternHints:f.length>0?f.map(d=>({patternId:d.id,name:d.name,description:d.description,confidence:d.confidence,similarity:d.qualityScore,canReuse:d.tier==="long-term"})):void 0},timeout:6e5});if(!S.success)return{success:!1,error:S.error.message};let A=S.value;return await C(A,n.task,{agent:"queen-coordinator",domain:n.context?.project}),process.env.AQE_TRAJECTORY_JUDGE==="1"&&process.env.ANTHROPIC_API_KEY&&O().catch(d=>{console.warn("[TrajectoryJudge] failed:",d instanceof Error?d.message:d)}),{success:!0,data:{taskId:A,type:l,priority:k,strategy:n.strategy||"adaptive",status:"submitted",message:`Task orchestrated: ${n.task}${o?" (with experience guidance)":""}`,routing:{tier:i.decision.tier,tierName:i.tierInfo.name,modelId:i.modelId,executionStrategy:i.executionStrategy,complexity:i.decision.complexityAnalysis.overall,confidence:i.decision.confidence,useAgentBooster:i.useAgentBooster,rationale:i.decision.rationale,decisionTimeMs:i.decision.metadata.decisionTimeMs}}}}catch(r){return{success:!1,error:`Failed to orchestrate task: ${u(r)}`}}}async function le(n){try{let e=await R(),t=n.domain||q(n.task),r=n.isCritical??/\b(security|vulnerability|cve|owasp|critical|production|exploit)\b/i.test(n.task),s=await e.routeTask({task:n.task,codeContext:n.codeContext,filePaths:n.filePaths,manualTier:n.manualTier,isCritical:r,agentType:n.agentType||`qe-${t}`,domain:t,metadata:{inferredDomain:t,hasCodeContext:!!n.codeContext,fileCount:n.filePaths?.length}});return{success:!0,data:{tier:s.decision.tier,tierName:s.tierInfo.name,modelId:s.modelId,executionStrategy:s.executionStrategy,useAgentBooster:s.useAgentBooster,agentBoosterTransform:s.decision.agentBoosterTransform,complexity:{overall:s.decision.complexityAnalysis.overall,code:s.decision.complexityAnalysis.codeComplexity,reasoning:s.decision.complexityAnalysis.reasoningComplexity,scope:s.decision.complexityAnalysis.scopeComplexity},confidence:s.decision.confidence,rationale:s.decision.rationale,warnings:s.decision.warnings,budget:{allowed:s.decision.budgetDecision.allowed,wasDowngraded:s.decision.budgetDecision.wasDowngraded,estimatedCostUsd:s.decision.budgetDecision.estimatedCostUsd},decisionTimeMs:s.decision.metadata.decisionTimeMs}}}catch(e){return{success:!1,error:`Failed to route task: ${u(e)}`}}}async function ge(n){try{let e=await R(),t=e.getRoutingStats(),r=e.getMetrics(),s={stats:t,modelRouterMetrics:{totalDecisions:r.totalDecisions,avgDecisionTimeMs:r.avgDecisionTimeMs,agentBoosterStats:r.agentBoosterStats,budgetStats:r.budgetStats}};return n.includeLog&&(s.log=e.getRoutingLog(n.logLimit||100)),{success:!0,data:s}}catch(e){return{success:!1,error:`Failed to get routing metrics: ${u(e)}`}}}async function me(n){try{let{createRoutingFeedbackCollector:e}=await import("./routing-feedback-JUP4OFB2.js"),{getGlobalCostTracker:t}=await import("./cost-tracker-JOMZEQF3.js"),r=e(100);await r.initialize(),r.enableEconomicRouting({...n.taskComplexity!=null?{}:{}},t());let s=r.getEconomicReport();return s?{success:!0,data:{tierEfficiency:s.tierEfficiency.map(i=>({...i,qualityPerDollar:isFinite(i.qualityPerDollar)?i.qualityPerDollar:"Infinity"})),currentHourlyCostUsd:s.currentHourlyCostUsd,currentDailyCostUsd:s.currentDailyCostUsd,budgetRemaining:s.budgetRemaining,recommendation:s.recommendation,savingsOpportunity:s.savingsOpportunity}}:{success:!1,error:"Economic routing is not available"}}catch(e){return{success:!1,error:`Failed to get economic routing report: ${u(e)}`}}}function q(n){let e=n.toLowerCase();return/\b(security|vulnerabilit|cve|owasp|secret|credential|injection|xss|csrf)\b/.test(e)?"security-compliance":/\b(chaos|resilience|fault.?inject|disaster|failover)\b/.test(e)?"chaos-resilience":/\b(defect|bug.?predict|risk.?assess|mutation)\b/.test(e)?"defect-intelligence":/\b(coverage|uncovered|gap.?analy)\b/.test(e)?"coverage-analysis":/\b(quality|code.?review|maintain|tech.?debt)\b/.test(e)?"quality-assessment":/\b(contract|api.?compat|breaking.?change|pact)\b/.test(e)?"contract-testing":/\b(index|knowledge.?graph|semantic|code.?intel)\b/.test(e)?"code-intelligence":/\b(accessib|a11y|wcag|screen.?read)\b/.test(e)?"visual-accessibility":/\b(requirement|bdd|acceptance|user.?stor)\b/.test(e)?"requirements-validation":/\b(generat.*test|test.*generat|write.*test|create.*test)\b/.test(e)?"test-generation":/\b(run.*test|execut.*test)\b/.test(e)?"test-execution":"test-generation"}function H(n){let e=n.toLowerCase();return/run\s+(?:\w+\s+)*tests?/.test(e)||/execute\s+(?:\w+\s+)*tests?/.test(e)||e.includes("run tests")||e.includes("execute tests")?"execute-tests":e.includes("generate test")||e.includes("create test")||e.includes("write test")?"generate-tests":e.includes("coverage")||e.includes("uncovered")?"analyze-coverage":e.includes("quality")||e.includes("code quality")?"assess-quality":e.includes("defect")||e.includes("bug")||e.includes("predict")?"predict-defects":e.includes("requirement")||e.includes("bdd")||e.includes("acceptance")?"validate-requirements":e.includes("index")||e.includes("knowledge graph")||e.includes("semantic")?"index-code":e.includes("security")||e.includes("vulnerability")||e.includes("owasp")?"scan-security":e.includes("contract")||e.includes("api contract")||e.includes("pact")?"validate-contracts":e.includes("accessibility")||e.includes("a11y")||e.includes("wcag")?"test-accessibility":e.includes("chaos")||e.includes("resilience")||e.includes("fault")?"run-chaos":e.includes("learn")||e.includes("optimize")||e.includes("improve")?"optimize-learning":e.includes("ideation")||e.includes("quality criteria")||e.includes("htsm")||e.includes("qcsd")||e.includes("testability")||e.includes("pi planning")||e.includes("sprint planning")?"ideation-assessment":"generate-tests"}function J(n){switch(n){case"critical":return"p0";case"high":return"p1";case"medium":return"p2";case"low":return"p3";default:return"p1"}}async function pe(n){try{let e=await y(),t={taskId:n.taskId,task:n.task,taskType:n.taskType,success:n.success,executionTimeMs:n.executionTimeMs,agentId:n.agentId,domain:n.domain,modelTier:n.modelTier,qualityScore:n.qualityScore,error:n.error,metrics:n.metrics};await e.recordTaskOutcome(t);let r=n.success&&(n.qualityScore||.5)>=.6;return{success:!0,data:{recorded:!0,patternStored:r,message:r?`Outcome recorded and pattern stored for task ${n.taskId}`:`Outcome recorded for task ${n.taskId}`}}}catch(e){return{success:!1,error:`Failed to record task outcome: ${u(e)}`}}}async function ye(){try{let e=await(await y()).getStats();return{success:!0,data:{service:e.service,patterns:{totalPatterns:e.reasoningBank.totalPatterns,byDomain:e.reasoningBank.byDomain,byTier:e.reasoningBank.byTier,learningOutcomes:e.reasoningBank.learningOutcomes,patternSuccessRate:e.reasoningBank.patternSuccessRate},embeddings:{cacheSize:e.reasoningBank.embeddingCacheSize,dimension:e.reasoningBank.embeddingDimension,transformerAvailable:e.reasoningBank.transformerAvailable},performance:{avgRoutingLatencyMs:e.reasoningBank.avgRoutingLatencyMs,p95RoutingLatencyMs:e.reasoningBank.p95RoutingLatencyMs}}}}catch(n){return{success:!1,error:`Failed to get ReasoningBank stats: ${u(n)}`}}}var D=new Set;async function fe(n){if(!p())return{success:!1,error:"Fleet not initialized. Call fleet_init first."};let{queen:e}=m();try{let t=e.getTaskStatus(n.taskId);if(!t)return{success:!1,error:`Task not found: ${n.taskId}`};let r={taskId:t.taskId,type:t.task.type,status:t.status,priority:t.task.priority,assignedDomain:t.assignedDomain,assignedAgents:t.assignedAgents,result:n.detailed?t.result:void 0,error:t.error,createdAt:t.task.createdAt.toISOString(),startedAt:t.startedAt?.toISOString(),completedAt:t.completedAt?.toISOString(),duration:t.completedAt&&t.startedAt?t.completedAt.getTime()-t.startedAt.getTime():void 0};if((t.status==="completed"||t.status==="failed")&&!D.has(n.taskId)){D.add(n.taskId);try{let s=await y(),a=r.duration||0,i=t.status==="completed",c=t.task.payload||{},o=typeof c.description=="string"?c.description:t.task.type,f=c.routing,l=await v(n.taskId,i,t.error),k=l?.metrics.averageQuality??(i?.7:.3);await s.recordTaskOutcome({taskId:n.taskId,task:o,taskType:t.task.type,success:i,executionTimeMs:a,agentId:t.assignedAgents?.[0],domain:t.assignedDomain,modelTier:f?.tier,qualityScore:k,error:t.error,metrics:{testsGenerated:typeof t.result=="object"&&t.result?t.result.testsGenerated:void 0,testsPassed:typeof t.result=="object"&&t.result?t.result.testsPassed:void 0}}),console.error(`[TaskHandler] Recorded learning outcome: task=${n.taskId} success=${i} quality=${k.toFixed(2)} trajectorySteps=${l?.steps.length??0}`)}catch(s){console.error("[TaskHandler] Failed to record outcome:",s)}}return{success:!0,data:r}}catch(t){return{success:!1,error:`Failed to get task status: ${u(t)}`}}}var w=[];function ke(n){W(n);let e=n.subscribeToEventType("TaskCompleted",async r=>{let{taskId:s}=r.payload;s&&await v(s,!0).catch(()=>{})}),t=n.subscribeToEventType("TaskFailed",async r=>{let{taskId:s,error:a}=r.payload;s&&await v(s,!1,a).catch(()=>{})});w=[e,t]}function W(n){for(let e of w)n.unsubscribe(e);w=[]}export{le as handleModelRoute,ye as handleReasoningBankStats,me as handleRoutingEconomics,ge as handleRoutingMetrics,de as handleTaskCancel,oe as handleTaskList,ue as handleTaskOrchestrate,pe as handleTaskOutcomeRecord,ce as handleTaskStatus,fe as handleTaskStatusWithLearning,ae as handleTaskSubmit,ke as subscribeTrajectoryEvents,W as unsubscribeTrajectoryEvents};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.13.
|
|
2
|
-
import{b as k,c as v}from"./chunk-
|
|
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 k,c as v}from"./chunk-MLXLGBQZ.js";import{c as g,d as w,f as F,j as T}from"./chunk-2JAC57JE.js";import{b as h}from"./chunk-IPDM3CAK.js";import"./chunk-ZMYV4R32.js";import{Command as A}from"commander";import e from"chalk";function R(y,d,b){return new A("test").description("Test generation, execution, scheduling, and load testing").argument("<action>","Action (generate|execute|schedule|load)").argument("[target]","Target file or directory").option("-f, --framework <framework>","Test framework","vitest").option("-t, --type <type>","Test type (unit|integration|e2e)","unit").option("-F, --format <format>","Output format (text|json|junit|markdown)","text").option("-o, --output <path>","Write output to file").option("--git-ref <ref>","Git ref for schedule action (e.g., main, HEAD~3)").option("--no-git-aware","Disable git-aware test selection (schedule action)").option("--no-flaky","Disable flaky test tracking (schedule action)").option("--agents <count>","Target agent count for load action","10").option("--profile <profile>","Workload profile for load action (light|medium|heavy)","medium").option("--duration <ms>","Duration in ms for load action","30000").option("--real","Use real agents instead of mock (load action, requires fleet_init)").action(async(f,p,n)=>{if(await b())try{if(f==="generate"){console.log(e.blue(`
|
|
3
3
|
Generating tests for ${p||"current directory"}...
|
|
4
4
|
`));let a=await y.kernel.getDomainAPIAsync("test-generation");if(!a){console.log(e.red("Test generation domain not available"));return}let u=await import("path"),m=u.resolve(p||"."),l=k(m,{includeTests:!1});if(l.length===0){console.log(e.yellow("No source files found"));return}console.log(e.gray(` Found ${l.length} source files
|
|
5
5
|
`));let r=await a.generateTests({sourceFiles:l,testType:n.type,framework:n.framework,coverageTarget:80});if(r.success&&r.value){let o=r.value,s=n.format,c=o.tests.filter(t=>t.qualityGateResult?.passed!==!0);if(c.length>0){let t=c.map(i=>{let $=i.qualityGateResult?.issues?.map(C=>C.description).filter(Boolean).join("; ")||"missing passing quality evidence";return`${i.sourceFile}: ${$}`});console.error(e.red(`Generation rejected ${c.length} invalid or unvalidated test artifact(s):`));for(let i of t)console.error(e.red(` - ${i}`));await d(1)}if(s==="json")g(w(o),n.output);else if(s==="markdown"){let t=`# Test Generation Report
|
|
@@ -20,12 +20,12 @@ import{b as k,c as v}from"./chunk-I3SBXWF2.js";import{c as g,d as w,f as F,j as
|
|
|
20
20
|
`));let o=await a.runTests({testFiles:r,framework:n.framework,parallel:!0,retryCount:2});if(o.success&&o.value){let s=o.value,c=n.format,t=s.passed+s.failed+s.skipped;await y.kernel.memory.set("test-run:latest",{passed:s.passed,failed:s.failed,skipped:s.skipped,duration:s.duration,measuredAt:new Date().toISOString()},{namespace:"test-execution",persist:!0}),await h(y.kernel.memory,{testsPassing:t>0?s.passed/t*100:0},{measuredAt:new Date().toISOString(),source:"aqe test execute"}),c==="json"?g(w(s),n.output):c==="junit"?g(F(s),n.output):c==="markdown"?g(T(s),n.output):(console.log(e.green("Test run complete")),console.log(`
|
|
21
21
|
Results:`),console.log(` Total: ${e.white(t)}`),console.log(` Passed: ${e.green(s.passed)}`),console.log(` Failed: ${e.red(s.failed)}`),console.log(` Skipped: ${e.yellow(s.skipped)}`),console.log(` Duration: ${e.cyan(s.duration+"ms")}`)),s.failed>0&&await d(1),t>0&&s.skipped/t>.2&&await d(2)}else console.log(e.red(`Failed: ${o.error?.message||"Unknown error"}`))}else if(f==="schedule"){let a=n.format;a==="text"&&console.log(e.blue(`
|
|
22
22
|
Running test schedule pipeline...
|
|
23
|
-
`));let{TestScheduleTool:u}=await import("./schedule-
|
|
23
|
+
`));let{TestScheduleTool:u}=await import("./schedule-XJRP57TE.js"),l=await new u().invoke({cwd:p||process.cwd(),gitRef:n.gitRef,useGitAware:n.gitAware!==!1,trackFlaky:n.flaky!==!1});if(l.success&&l.data){let r=l.data;if(a==="json")g(w(r),n.output);else{console.log(e.green(` Schedule complete
|
|
24
24
|
`)),console.log(` Phases: ${e.white(r.phases.length)}`);for(let o of r.phases){let s=o.failed===0?e.green:e.red;console.log(` ${e.cyan(o.phaseName)}: ${s(`${o.passed}/${o.totalTests} passed`)} (${o.durationMs}ms)`)}console.log(`
|
|
25
25
|
Git-aware: ${r.gitAware.enabled?e.green(`yes (${r.gitAware.selectedTests} selected)`):e.gray("disabled")}`),console.log(` Duration: ${e.cyan(r.totalDuration+"ms")}`),console.log(`
|
|
26
26
|
${r.summary}`)}}else console.log(e.red(`Failed: ${l.error||"Unknown error"}`))}else if(f==="load"){let a=n.format,u=parseInt(n.agents,10)||10,m=parseInt(n.duration,10)||3e4,l=n.profile,r=!n.real;a==="text"&&console.log(e.blue(`
|
|
27
27
|
Running load test: ${u} agents, ${l} profile, ${m}ms${r?" (mock)":" (real)"}...
|
|
28
|
-
`));let{LoadTestTool:o}=await import("./load-test-
|
|
28
|
+
`));let{LoadTestTool:o}=await import("./load-test-DCJEYIXD.js"),c=await new o().invoke({targetAgents:u,profile:l,durationMs:m,mockMode:r});if(c.success&&c.data){let t=c.data;if(a==="json")g(w(t),n.output);else{let i=t.passed?e.green:e.red;console.log(i(` Load test ${t.passed?"PASSED":"FAILED"}
|
|
29
29
|
`)),console.log(` Profile: ${e.cyan(t.profile)} (${t.mockMode?"mock":"real"})`),console.log(` Agents: ${e.white(t.targetAgents)}`),console.log(` Duration: ${e.cyan(t.duration+"ms")}`),console.log(` Bottlenecks: ${t.bottleneckCount>0?e.red(t.bottleneckCount):e.green("none")}`),t.report.hasCritical&&console.log(e.red(" CRITICAL bottlenecks detected!")),console.log(`
|
|
30
30
|
${t.summary}`)}t.passed||await d(1)}else console.log(e.red(`Failed: ${c.error||"Unknown error"}`))}else console.log(e.red(`
|
|
31
31
|
Unknown action: ${f}. Use: generate, execute, schedule, or load
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.13.
|
|
2
|
-
import{a as B,b as L}from"./chunk-
|
|
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 L}from"./chunk-3XVZHJQT.js";import{b as R,d as $}from"./chunk-VA2ORJB5.js";import"./chunk-ZMYV4R32.js";var f=[{id:"unit",name:"Unit Tests",testTypes:["unit"],testPatterns:["**/*.test.ts","**/*.spec.ts","!**/*.integration.*","!**/*.e2e.*"],thresholds:{minPassRate:.99,maxFlakyRatio:.01,minCoverage:.8},parallelism:8,timeoutMs:6e4,failFast:!0},{id:"integration",name:"Integration Tests",testTypes:["integration","contract"],testPatterns:["**/*.integration.test.ts","**/*.integration.spec.ts"],thresholds:{minPassRate:.95,maxFlakyRatio:.05,minCoverage:.7},parallelism:4,timeoutMs:3e5,failFast:!1},{id:"e2e",name:"E2E Tests",testTypes:["e2e","visual"],testPatterns:["**/*.e2e.test.ts","**/*.e2e.spec.ts"],thresholds:{minPassRate:.9,maxFlakyRatio:.1,minCoverage:.5},parallelism:2,timeoutMs:6e5,failFast:!1}];var b=class{constructor(e,t={phases:f,failFast:!0,retryFailedPhases:!1,maxRetries:1}){this.executor=e;this.config=t}executor;config;state="idle";currentPhaseIndex=0;results=[];startTime;endTime;abortController;async run(){if(this.state==="running")throw new Error("Scheduler is already running");this.state="running",this.currentPhaseIndex=0,this.results=[],this.startTime=new Date,this.abortController=new AbortController;try{for(let e of this.config.phases){if(this.state==="paused"&&await this.waitForResume(),this.abortController.signal.aborted)break;let t=await this.executePhaseWithRetry(e);if(this.results.push(t),this.currentPhaseIndex++,this.config.onPhaseComplete?.(t),!t.success&&this.config.failFast){this.state="failed";break}}return this.endTime=new Date,this.state=this.results.every(e=>e.success)?"completed":"failed",this.config.onAllComplete?.(this.results),this.results}catch(e){throw this.state="failed",this.endTime=new Date,e}}async runPhase(e){let t=this.config.phases.find(s=>s.id===e);if(!t)throw new Error(`Phase not found: ${e}`);return this.executePhaseWithRetry(t)}pause(){this.state==="running"&&(this.state="paused")}resume(){this.state==="paused"&&(this.state="running")}async abort(){this.abortController?.abort(),await this.executor.abort(),this.state="idle"}getStats(){let e=this.startTime&&this.endTime?this.endTime.getTime()-this.startTime.getTime():this.startTime?Date.now()-this.startTime.getTime():void 0;return{state:this.state,currentPhaseIndex:this.currentPhaseIndex,totalPhases:this.config.phases.length,completedPhases:this.results.filter(t=>t.success).length,failedPhases:this.results.filter(t=>!t.success).length,results:[...this.results],startTime:this.startTime,endTime:this.endTime,durationMs:e}}async isReady(){return this.executor.isReady()}async executePhaseWithRetry(e){let t,s=this.config.retryFailedPhases?this.config.maxRetries:1;for(let r=1;r<=s;r++)try{if(t=await this.executor.execute(e),t.success||!this.config.retryFailedPhases)return t}catch(a){if(this.config.onError?.(a,e),r===s)return this.createErrorResult(e,a)}return t}createErrorResult(e,t){return{phaseId:e.id,phaseName:e.name,success:!1,passRate:0,flakyRatio:0,coverage:0,durationMs:0,totalTests:0,passed:0,failed:0,skipped:0,testResults:[],flakyTests:[],error:t.message}}waitForResume(){return new Promise(e=>{let t=()=>{this.state!=="paused"?e():setTimeout(t,100)};t()})}};function _(n,e){return new b(n,{phases:f,failFast:!0,retryFailedPhases:!1,maxRetries:1,...e})}function V(n,e){return n.passRate>=e.minPassRate&&n.flakyRatio<=e.maxFlakyRatio&&n.coverage>=e.minCoverage}$();import{spawn as j}from"child_process";var m=class{constructor(e={}){this.config=e}config;currentProcess=null;isAborted=!1;async execute(e,t){this.isAborted=!1;let s=Date.now();try{let r=this.buildArgs(e,t),a=await this.runVitest(r,e.timeoutMs),i=Date.now();return this.parseResult(e,a,i-s)}catch(r){let a=Date.now();return this.createErrorResult(e,r,a-s)}}async isReady(){try{return(await this.runCommand("npx",["vitest","--version"],5e3)).exitCode===0}catch{return!1}}getName(){return"vitest-executor"}async abort(){this.isAborted=!0,this.currentProcess&&(this.currentProcess.kill("SIGTERM"),this.currentProcess=null)}buildArgs(e,t){let s=["vitest","run","--reporter=json"];if(t&&t.length>0)s.push(...t);else for(let r of e.testPatterns)r.startsWith("!")?s.push("--exclude",r.slice(1)):s.push(r);return e.parallelism>0&&(s.push("--pool","threads"),s.push("--poolOptions.threads.maxThreads",String(e.parallelism))),e.failFast&&s.push("--bail","1"),s.push("--coverage"),s.push("--coverage.reporter",this.config.coverageReporter||"json"),this.config.coverageDir&&s.push("--coverage.reportsDirectory",this.config.coverageDir),this.config.extraArgs&&s.push(...this.config.extraArgs),s}async runVitest(e,t){let{stdout:s,exitCode:r}=await this.runCommand(this.config.vitestPath||"npx",e,t);try{let a=s.indexOf("{"),i=s.lastIndexOf("}");if(a===-1||i===-1)throw new Error("No JSON output from Vitest");let o=s.slice(a,i+1);return R(o)}catch{return{numTotalTestSuites:0,numPassedTestSuites:0,numFailedTestSuites:0,numTotalTests:0,numPassedTests:0,numFailedTests:0,numPendingTests:0,success:r===0,startTime:Date.now(),testResults:[]}}}runCommand(e,t,s){return new Promise((r,a)=>{let i="",o="",l=process.platform==="win32"&&e==="npx"?"npx.cmd":e;this.currentProcess=j(l,t,{cwd:this.config.cwd||process.cwd(),env:{...process.env,...this.config.env},shell:!1});let c=setTimeout(()=>{this.currentProcess?.kill("SIGTERM"),a(new Error(`Test execution timed out after ${s}ms`))},s);this.currentProcess.stdout?.on("data",u=>{i+=u.toString()}),this.currentProcess.stderr?.on("data",u=>{o+=u.toString()}),this.currentProcess.on("close",u=>{clearTimeout(c),this.currentProcess=null,this.isAborted?a(new Error("Test execution aborted")):r({stdout:i,stderr:o,exitCode:u??1})}),this.currentProcess.on("error",u=>{clearTimeout(c),this.currentProcess=null,a(u)})})}async parseResult(e,t,s){let r=[];for(let p of t.testResults)for(let h of p.assertionResults){let y={file:p.name,name:h.title,suite:h.ancestorTitles.join(" > "),passed:h.status==="passed",durationMs:h.duration||0,retries:0,error:h.failureMessages.join(`
|
|
3
3
|
`)||void 0};r.push(y)}let a=this.config.flakyTracker;a&&a.recordResults(r);let i=t.numTotalTests,o=t.numPassedTests,l=t.numFailedTests,c=t.numPendingTests,u=i>0?o/i:0,g=[],T=0;if(a){g=a.analyze().flakyTests.map(d=>d.testId);let h=new Set(r.map(d=>`${d.file}:${d.suite}:${d.name}`)),y=g.filter(d=>h.has(d));T=i>0?y.length/i:0}let P=await this.getCoverageFromReport(),w=u>=e.thresholds.minPassRate&&T<=e.thresholds.maxFlakyRatio&&P>=e.thresholds.minCoverage;return{phaseId:e.id,phaseName:e.name,success:w,passRate:u,flakyRatio:T,coverage:P,durationMs:s,totalTests:i,passed:o,failed:l,skipped:c,testResults:r,flakyTests:g}}async getCoverageFromReport(){try{let e=await import("fs/promises"),t=await import("path"),s=this.config.coverageDir||"coverage",r=t.join(this.config.cwd||process.cwd(),s,"coverage-summary.json"),a=await e.readFile(r,"utf-8");return(R(a).total?.lines?.pct??0)/100}catch{return 0}}createErrorResult(e,t,s){return{phaseId:e.id,phaseName:e.name,success:!1,passRate:0,flakyRatio:0,coverage:0,durationMs:s,totalTests:0,passed:0,failed:0,skipped:0,testResults:[],flakyTests:[],error:t.message}}};function z(n){return new m(n)}import{spawn as Q}from"child_process";import{resolve as W,dirname as J,basename as M}from"path";var Y=[{sourcePattern:/^src\/(.+)\.ts$/,toTestPaths:(n,e)=>{let t=n[1];return[`tests/unit/${t}.test.ts`,`tests/unit/${t}.spec.ts`,`tests/${t}.test.ts`,`tests/${t}.spec.ts`,`src/${t}.test.ts`,`src/${t}.spec.ts`]}},{sourcePattern:/^src\/(.+)\/index\.ts$/,toTestPaths:(n,e)=>{let t=n[1];return[`tests/unit/${t}.test.ts`,`tests/unit/${t}/index.test.ts`,`tests/unit/${t}.spec.ts`]}},{sourcePattern:/\.(test|spec)\.(ts|tsx|js|jsx)$/,toTestPaths:(n,e)=>[e]},{sourcePattern:/^(vitest\.config|jest\.config|tsconfig|package\.json)/,toTestPaths:()=>["**/*.test.ts","**/*.spec.ts"]}],v=class{constructor(e){this.config=e;if(!e.impactAnalyzer)throw new Error("GitAwareTestSelector requires impactAnalyzer. Use ImpactAnalyzerService from code-intelligence domain. NO FALLBACK TO PATTERN MATCHING - use real dependency analysis.");this.cwd=e.cwd||process.cwd(),this.baseRef=e.baseRef||"HEAD~1",this.mappingRules=e.mappingRules||Y,this.impactAnalyzer=e.impactAnalyzer}config;cwd;baseRef;mappingRules;impactAnalyzer;async selectAffectedTests(){try{let e=await this.getChangedFiles();if(e.length===0)return{changedFiles:[],selectedTests:[],mappings:[],runAllTests:!1};let{selectedTests:t,mappings:s,runAllTests:r,runAllReason:a}=await this.mapChangesToTests(e);return{changedFiles:e,selectedTests:[...new Set(t)],mappings:s,runAllTests:r,runAllReason:a}}catch(e){return{changedFiles:[],selectedTests:[],mappings:[],runAllTests:!0,runAllReason:`Git error: ${e.message}`}}}async selectTestsForFiles(e){let t=e.map(o=>({path:o,changeType:"modified"})),{selectedTests:s,mappings:r,runAllTests:a,runAllReason:i}=await this.mapChangesToTests(t);return{changedFiles:t,selectedTests:[...new Set(s)],mappings:r,runAllTests:a,runAllReason:i}}async getChangedFiles(){let t=(await this.git(["diff","--name-status",this.baseRef,"HEAD"])).trim().split(`
|
|
4
4
|
`).filter(Boolean),s=[];for(let r of t){let[a,...i]=r.split(" "),o=i.join(" "),l,c;switch(a[0]){case"A":l="added";break;case"M":l="modified";break;case"D":l="deleted";break;case"R":l="renamed",c=o;break;default:l="modified"}s.push({path:l==="renamed"&&i[1]||o,changeType:l,previousPath:c})}return s}async getMergeBase(e="main"){try{return(await this.git(["merge-base","HEAD",e])).trim()}catch{return(await this.git(["merge-base","HEAD","master"])).trim()}}async mapChangesToTests(e){let t=[],s=[],a;for(let l of e)if(this.isConfigFile(l.path))return{selectedTests:[],mappings:[],runAllTests:!0,runAllReason:`Config file changed: ${l.path}`};let i=e.filter(l=>l.changeType!=="deleted"||this.config.includeDeletedFileTests).map(l=>l.path);if(i.length===0)return{selectedTests:[],mappings:[],runAllTests:!1};let o=await this.impactAnalyzer.getImpactedTests(i);if(!o.success){let l=o,c=l.error instanceof Error?l.error.message:String(l.error);return{selectedTests:[],mappings:[],runAllTests:!0,runAllReason:`Impact analysis failed: ${c}`}}if(o.value.length===0)return{selectedTests:[],mappings:[],runAllTests:!1};t.push(...o.value);for(let l of e){if(l.changeType==="deleted"&&!this.config.includeDeletedFileTests)continue;let c=o.value.filter(u=>u.includes(M(l.path,".ts").replace(/\.(tsx?|jsx?)$/,"")));c.length>0&&s.push({sourceFile:l.path,testFiles:c,confidence:.95})}return{selectedTests:t,mappings:s,runAllTests:!1,runAllReason:a}}isConfigFile(e){return/^(vitest\.config|jest\.config|tsconfig|package\.json)/.test(e)}async findTestsHeuristically(e){let t=M(e,".ts").replace(/\.(tsx?|jsx?)$/,""),s=J(e),r=[`${s}/${t}.test.ts`,`${s}/${t}.spec.ts`,`${s}/__tests__/${t}.test.ts`,`tests/${s}/${t}.test.ts`,`tests/unit/${s.replace("src/","")}/${t}.test.ts`];return this.filterExistingFiles(r)}async filterExistingFiles(e){let t=await import("fs/promises"),s=[];for(let r of e)try{let a=W(this.cwd,r);await t.access(a),s.push(r)}catch(a){console.debug("[TestSelector] File access check failed:",a instanceof Error?a.message:a)}return s}git(e){return new Promise((t,s)=>{let r="",a="",i=Q("git",e,{cwd:this.cwd});i.stdout.on("data",o=>{r+=o.toString()}),i.stderr.on("data",o=>{a+=o.toString()}),i.on("close",o=>{o===0?t(r):s(new Error(`git ${e.join(" ")} failed: ${a}`))}),i.on("error",s)})}};function F(n){return new v(n)}async function q(n,e,t){let r=await F({impactAnalyzer:n,baseRef:e,cwd:t}).selectAffectedTests();return r.runAllTests?[]:r.selectedTests}$();var K={minRunsForFlakiness:5,flakinessThreshold:.1,maxRecentErrors:5,historyRetentionDays:30},A=class{records=new Map;config;constructor(e){this.config={...K,...e}}recordResult(e){let t=this.getTestId(e),s=this.getOrCreateRecord(t,e);s.totalRuns++,s.lastRun=new Date,e.passed?s.passCount++:(s.failCount++,e.error&&(s.recentErrors=[e.error,...s.recentErrors.slice(0,this.config.maxRecentErrors-1)])),e.retries>0&&e.passed&&(s.flakyCount++,s.lastFlaky=new Date),s.flakinessScore=this.calculateFlakiness(s)}recordResults(e){for(let t of e)this.recordResult(t)}getRecord(e){return this.records.get(e)}getFlakyTests(){return Array.from(this.records.values()).filter(e=>e.totalRuns>=this.config.minRunsForFlakiness&&e.flakinessScore>=this.config.flakinessThreshold)}isFlaky(e){let t=this.records.get(e);return t?t.totalRuns>=this.config.minRunsForFlakiness&&t.flakinessScore>=this.config.flakinessThreshold:!1}analyze(){let e=Array.from(this.records.values()),t=e.filter(l=>l.totalRuns>=this.config.minRunsForFlakiness&&l.flakinessScore>=this.config.flakinessThreshold),s=e.filter(l=>l.totalRuns>=this.config.minRunsForFlakiness&&l.flakyCount>0&&l.flakinessScore<this.config.flakinessThreshold),r=e.filter(l=>l.totalRuns<this.config.minRunsForFlakiness),a=e.filter(l=>l.totalRuns>=this.config.minRunsForFlakiness),i=a.length>0?t.length/a.length:0,o=this.calculateTrend(t);return{totalTests:e.length,flakyTests:t.sort((l,c)=>c.flakinessScore-l.flakinessScore),stabilizedTests:s,insufficientData:r,overallFlakiness:i,trend:o}}getQuarantineList(e=.3){return Array.from(this.records.values()).filter(t=>t.flakinessScore>=e).map(t=>t.testId)}pruneHistory(){let e=new Date;e.setDate(e.getDate()-this.config.historyRetentionDays);let t=0;for(let[s,r]of this.records)r.lastRun<e&&(this.records.delete(s),t++);return t}exportHistory(){return Array.from(this.records.values())}importHistory(e){for(let t of e){let s={...t,lastRun:new Date(t.lastRun),lastFlaky:t.lastFlaky?new Date(t.lastFlaky):void 0};this.records.set(t.testId,s)}}reset(){this.records.clear()}getTestId(e){return`${e.file}:${e.suite}:${e.name}`}getOrCreateRecord(e,t){let s=this.records.get(e);return s||(s={testId:e,file:t.file,name:t.name,totalRuns:0,passCount:0,failCount:0,flakyCount:0,flakinessScore:0,lastRun:new Date,recentErrors:[]},this.records.set(e,s)),s}calculateFlakiness(e){if(e.totalRuns<this.config.minRunsForFlakiness)return 0;let t=e.flakyCount/e.totalRuns,s=e.passCount/e.totalRuns,r=s>0&&s<1?Math.min(s,1-s)*2:0;return Math.min(1,t*3+r)}calculateTrend(e){if(e.length===0)return"stable";let s=Date.now()-10080*60*1e3,r=0,a=0;for(let i of e)i.lastFlaky&&(i.lastFlaky.getTime()>s?r++:a++);return r>a*1.5?"degrading":a>r*1.5?"improving":"stable"}};function S(n){return new A(n)}async function D(n,e){let t=S({...e,historyPath:n});try{let r=await(await import("fs/promises")).readFile(n,"utf-8"),a=R(r);t.importHistory(a)}catch(s){console.debug("[FlakyTracker] History load failed, starting fresh:",s instanceof Error?s.message:s)}return t}async function G(n,e){let t=await import("fs/promises"),s=n.exportHistory();await t.writeFile(e,JSON.stringify(s,null,2))}var X={enableAnnotations:!0,enableSummary:!0,enableOutputs:!0,maxAnnotations:10,includeFlakyWarnings:!0,includeCoverage:!0};function H(){let n=process.env;return n.GITHUB_ACTIONS==="true"?{isCI:!0,provider:"github-actions",branch:n.GITHUB_HEAD_REF||n.GITHUB_REF_NAME,commitSha:n.GITHUB_SHA,prNumber:n.GITHUB_EVENT_NAME==="pull_request"&&parseInt(n.GITHUB_REF?.split("/")[2]||"",10)||void 0,baseBranch:n.GITHUB_BASE_REF,buildUrl:`${n.GITHUB_SERVER_URL}/${n.GITHUB_REPOSITORY}/actions/runs/${n.GITHUB_RUN_ID}`}:n.GITLAB_CI==="true"?{isCI:!0,provider:"gitlab-ci",branch:n.CI_COMMIT_REF_NAME,commitSha:n.CI_COMMIT_SHA,prNumber:n.CI_MERGE_REQUEST_IID?parseInt(n.CI_MERGE_REQUEST_IID,10):void 0,baseBranch:n.CI_MERGE_REQUEST_TARGET_BRANCH_NAME,buildUrl:n.CI_JOB_URL}:n.JENKINS_URL?{isCI:!0,provider:"jenkins",branch:n.GIT_BRANCH||n.BRANCH_NAME,commitSha:n.GIT_COMMIT,prNumber:n.CHANGE_ID?parseInt(n.CHANGE_ID,10):void 0,baseBranch:n.CHANGE_TARGET,buildUrl:n.BUILD_URL}:n.CIRCLECI==="true"?{isCI:!0,provider:"circleci",branch:n.CIRCLE_BRANCH,commitSha:n.CIRCLE_SHA1,prNumber:n.CIRCLE_PULL_REQUEST?parseInt(n.CIRCLE_PULL_REQUEST.split("/").pop()||"",10):void 0,buildUrl:n.CIRCLE_BUILD_URL}:n.CI==="true"||n.CI==="1"?{isCI:!0,provider:"unknown"}:{isCI:!1}}var C=class{config;constructor(e){this.config={...X,...e}}generateOutput(e){let t=this.config.enableAnnotations?this.generateAnnotations(e):[],s=this.config.enableSummary?this.generateSummary(e):"",r=this.config.enableOutputs?this.generateOutputs(e):{};return{summary:s,annotations:t,outputs:r}}async writeOutput(e){let t=this.generateOutput(e),s=await import("fs/promises");for(let r of t.annotations)this.writeAnnotation(r);if(t.summary&&process.env.GITHUB_STEP_SUMMARY&&await s.appendFile(process.env.GITHUB_STEP_SUMMARY,t.summary),process.env.GITHUB_OUTPUT){let r=Object.entries(t.outputs).map(([a,i])=>`${a}=${i}`).join(`
|
|
5
5
|
`);await s.appendFile(process.env.GITHUB_OUTPUT,r+`
|
|
@@ -12,4 +12,4 @@ import{a as B,b as L}from"./chunk-YO63NTJV.js";import{b as R,d as $}from"./chunk
|
|
|
12
12
|
`);for(let i of r.slice(0,20))t.push(`#### ${i.suite} > ${i.name}`),t.push(`- **File**: \`${i.file}\``),i.error&&(t.push("```"),t.push(i.error.slice(0,500)),t.push("```")),t.push("");r.length>20&&t.push(`_... and ${r.length-20} more failures_`),t.push(`</details>
|
|
13
13
|
`)}let a=e.flatMap(i=>i.flakyTests);if(a.length>0&&this.config.includeFlakyWarnings){t.push(`### \u26A0\uFE0F Flaky Tests
|
|
14
14
|
`);for(let i of a.slice(0,10))t.push(`- \`${i}\``);t.push("")}return t.join(`
|
|
15
|
-
`)}generateOutputs(e){let t=e.reduce((o,l)=>o+l.totalTests,0),s=e.reduce((o,l)=>o+l.passed,0),r=e.reduce((o,l)=>o+l.failed,0),a=e.every(o=>o.success),i=e.length>0?e.reduce((o,l)=>o+l.coverage,0)/e.length:0;return{test_result:a?"success":"failure",total_tests:String(t),passed_tests:String(s),failed_tests:String(r),coverage_percent:String((i*100).toFixed(1)),phases_completed:String(e.length),phases_passed:String(e.filter(o=>o.success).length),has_flaky_tests:String(e.some(o=>o.flakyTests.length>0))}}writeAnnotation(e){let t=[`file=${e.file}`,`line=${e.line}`,`title=${e.title}`].join(",");console.log(`::${e.level} ${t}::${e.message}`)}extractLineNumber(e){if(!e)return;let t=e.match(/:(\d+):\d+/);return t?parseInt(t[1],10):void 0}formatDuration(e){return e<1e3?`${e}ms`:e<6e4?`${(e/1e3).toFixed(1)}s`:`${(e/6e4).toFixed(1)}m`}generateCoverageBar(e){let t=Math.round(e*10),s=10-t;return"\u2588".repeat(t)+"\u2591".repeat(s)}};function x(n){return new C(n)}async function Z(n,e){await x(e).writeOutput(n)}var E=class n{constructor(e,t,s,r,a,i){this.config=e;this.selector=t,this.executor=s,this.scheduler=r,this.flakyTracker=a,this.reporter=i,this.ciEnvironment=H()}config;selector;executor;scheduler;flakyTracker;reporter;ciEnvironment;static async create(e){let t=e.flakyHistoryPath?await D(e.flakyHistoryPath,e.flakyTracker):S(e.flakyTracker),s=new m({...e.vitest,cwd:e.cwd,flakyTracker:t}),{ImpactAnalyzerService:r}=await import("./impact-analyzer-
|
|
15
|
+
`)}generateOutputs(e){let t=e.reduce((o,l)=>o+l.totalTests,0),s=e.reduce((o,l)=>o+l.passed,0),r=e.reduce((o,l)=>o+l.failed,0),a=e.every(o=>o.success),i=e.length>0?e.reduce((o,l)=>o+l.coverage,0)/e.length:0;return{test_result:a?"success":"failure",total_tests:String(t),passed_tests:String(s),failed_tests:String(r),coverage_percent:String((i*100).toFixed(1)),phases_completed:String(e.length),phases_passed:String(e.filter(o=>o.success).length),has_flaky_tests:String(e.some(o=>o.flakyTests.length>0))}}writeAnnotation(e){let t=[`file=${e.file}`,`line=${e.line}`,`title=${e.title}`].join(",");console.log(`::${e.level} ${t}::${e.message}`)}extractLineNumber(e){if(!e)return;let t=e.match(/:(\d+):\d+/);return t?parseInt(t[1],10):void 0}formatDuration(e){return e<1e3?`${e}ms`:e<6e4?`${(e/1e3).toFixed(1)}s`:`${(e/6e4).toFixed(1)}m`}generateCoverageBar(e){let t=Math.round(e*10),s=10-t;return"\u2588".repeat(t)+"\u2591".repeat(s)}};function x(n){return new C(n)}async function Z(n,e){await x(e).writeOutput(n)}var E=class n{constructor(e,t,s,r,a,i){this.config=e;this.selector=t,this.executor=s,this.scheduler=r,this.flakyTracker=a,this.reporter=i,this.ciEnvironment=H()}config;selector;executor;scheduler;flakyTracker;reporter;ciEnvironment;static async create(e){let t=e.flakyHistoryPath?await D(e.flakyHistoryPath,e.flakyTracker):S(e.flakyTracker),s=new m({...e.vitest,cwd:e.cwd,flakyTracker:t}),{ImpactAnalyzerService:r}=await import("./impact-analyzer-GG6CJEOK.js"),a=new r(e.memory),i=F({cwd:e.cwd,baseRef:e.baseRef,impactAnalyzer:a}),o=_(s,{...e.scheduler,phases:e.phases&&e.phases.length>0?e.phases:f}),l=x(e.reporter);return new n(e,i,s,o,t,l)}async run(){let e=Date.now(),t=[],s=this.config.runAllTests??!1,r=performance.now();if(!s){let p=await this.selector.selectAffectedTests();p.runAllTests?(s=!0,console.log(`[TestSchedulingPipeline] Running all tests: ${p.runAllReason}`)):p.selectedTests.length===0?(console.log("[TestSchedulingPipeline] No affected tests found, running all"),s=!0):(t=p.selectedTests,console.log(`[TestSchedulingPipeline] Selected ${t.length} affected tests`))}let a=performance.now()-r;if(this.config.useDAGAttention&&t.length>0)try{let{isDAGAttentionEnabled:p}=await import("./feature-flags-ONIKUZVK.js");if(p()){let{createDAGAttentionScheduler:h}=await import("./dag-attention-scheduler-PLOHU5SR.js"),y=h(),d=t.map(k=>({id:k,name:k,estimatedDuration:1e3,dependencies:[],priority:1,tags:[]})),N=y.schedule(d),I=[];for(let k of N.phases)I.push(...k.tests.map(O=>O.id));I.length>0&&(t=I)}}catch(p){process.env.DEBUG&&console.debug("[Pipeline] DAG attention scheduling skipped:",p instanceof Error?p.message:p)}let i=performance.now(),o;s?o=await this.scheduler.run():o=await this.runWithSelectedTests(t);let l=performance.now()-i,c=performance.now(),u=this.flakyTracker.analyze();this.config.flakyHistoryPath&&await G(this.flakyTracker,this.config.flakyHistoryPath);let g=performance.now()-c,T=performance.now();this.ciEnvironment.isCI&&await this.reporter.writeOutput(o);let P=performance.now()-T,w=Date.now()-e;return{phaseResults:o,selectedTests:t,ranAllTests:s,flakyAnalysis:u,ciEnvironment:this.ciEnvironment,totalDurationMs:w,stepLatencies:{selectionMs:a,executionMs:l,analysisMs:g,reportingMs:P}}}async runPhase(e){return this.scheduler.runPhase(e)}getFlakyTracker(){return this.flakyTracker}getSelector(){return this.selector}getStats(){return this.scheduler.getStats()}async abort(){await this.scheduler.abort()}async runWithSelectedTests(e){let t=[],s=this.config.phases??[];for(let r of s){let a=e.filter(i=>r.testPatterns.some(o=>o.startsWith("!")?!1:this.patternToRegex(o).test(i)));if(a.length>0){let i=await this.executor.execute(r,a);t.push(i)}}return t}patternToRegex(e){let t=e.replace(/[.+^${}()|[\]\\]/g,"\\$&").replace(/\*\*/g,".*").replace(/\*/g,"[^/]*");return new RegExp(t)}};async function U(n){return E.create(n)}async function ee(n){return(await U(n)).run()}export{B as DAGAttentionScheduler,f as DEFAULT_TEST_PHASES,A as FlakyTestTracker,v as GitAwareTestSelector,C as GitHubActionsReporter,b as PhaseScheduler,E as TestSchedulingPipeline,m as VitestPhaseExecutor,V as checkQualityThresholds,L as createDAGAttentionScheduler,S as createFlakyTracker,x as createGitHubActionsReporter,_ as createPhaseScheduler,U as createTestPipeline,F as createTestSelector,z as createVitestExecutor,H as detectCIEnvironment,q as getAffectedTests,D as loadFlakyTracker,Z as reportToGitHubActions,ee as runTestPipeline,G as saveFlakyTracker};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.13.
|
|
2
|
-
import{b as k}from"./chunk-
|
|
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 k}from"./chunk-6KKVMPPR.js";import{b as l,c as f}from"./chunk-M3354CE4.js";import"./chunk-IT5QIUUA.js";import{b as r}from"./chunk-4AITMWFZ.js";import"./chunk-TK5XLF3Z.js";import"./chunk-YQOQVSYU.js";import"./chunk-GMLRIZ4E.js";import"./chunk-VNODKACB.js";import"./chunk-2W3D5A4R.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-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";import*as s from"path";import*as a from"fs";var u={enableOptimization:!0,enablePersistence:!0,storagePath:process.env.AQE_STORAGE_PATH??".agentic-qe",autoSaveIntervalMs:6e4,verbose:process.env.AQE_VERBOSE==="true"},i=!1,n=null,p=!1;async function b(t){if(i)return;let e={...u,...t};if(e.verbose&&console.log("[TokenBootstrap] Initializing token tracking..."),e.enablePersistence){let o=s.resolve(e.storagePath);a.existsSync(o)||a.mkdirSync(o,{recursive:!0})}if(e.enableOptimization)try{n=(await k(!0)).backend,await f(n,{enabled:!0,verbose:e.verbose}),e.verbose&&(console.log("[TokenBootstrap] TokenOptimizerService initialized"),console.log(`[TokenBootstrap] isEnabled() = ${l.isEnabled()}`))}catch(o){console.error("[TokenBootstrap] Failed to initialize TokenOptimizerService:",o)}if(e.enablePersistence){let o=s.join(e.storagePath,"token-metrics.json");r.configurePersistence({filePath:o,autoSaveIntervalMs:e.autoSaveIntervalMs});try{let c=await r.load();e.verbose&&console.log(`[TokenBootstrap] Loaded existing metrics: ${c}`)}catch{e.verbose&&console.log("[TokenBootstrap] No existing metrics to load")}r.startAutoSave(),e.verbose&&console.log(`[TokenBootstrap] Persistence configured: ${o}`)}p||(d(e.verbose),p=!0),i=!0,e.verbose&&console.log("[TokenBootstrap] Token tracking initialized successfully")}async function g(t=!1){if(i){if(t&&console.log("[TokenBootstrap] Shutting down token tracking..."),r.stopAutoSave(),r.hasUnsavedChanges())try{await r.save(),t&&console.log("[TokenBootstrap] Metrics saved successfully")}catch(e){console.error("[TokenBootstrap] Failed to save metrics:",e)}if(n){try{await n.dispose()}catch(e){console.debug("[TokenBootstrap] Memory backend disposal error:",e instanceof Error?e.message:e)}n=null}i=!1}}function B(){return i}function h(){return n}function d(t){let e=async o=>{t&&console.log(`[TokenBootstrap] Received ${o}, saving metrics...`),await g(t)};process.on("beforeExit",()=>e("beforeExit"))}export{b as bootstrapTokenTracking,h as getTokenMemoryBackend,B as isTokenTrackingInitialized,g as shutdownTokenTracking};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.13.
|
|
2
|
-
import{a as S,b as f}from"./chunk-
|
|
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 S,b as f}from"./chunk-M3354CE4.js";import{a as k,b as u}from"./chunk-4AITMWFZ.js";import"./chunk-TK5XLF3Z.js";import"./chunk-YQOQVSYU.js";import"./chunk-GMLRIZ4E.js";import"./chunk-VNODKACB.js";import"./chunk-2W3D5A4R.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-HQWFZQMJ.js";import"./chunk-EDRPTLAX.js";import"./chunk-E67ZXRG6.js";import{a as y,c as h}from"./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";import{Command as v}from"commander";import e from"chalk";h();import*as p from"fs";function _(){return new v("token-usage").description("View and analyze token consumption metrics (ADR-042)").option("-p, --period <period>","Time period: 1h, 24h, 7d, 30d","24h").option("-a, --by-agent","Group usage by agent").option("-d, --by-domain","Group usage by domain").option("-r, --recommendations","Show optimization recommendations").option("-e, --export <file>","Export to CSV file").option("--dashboard","Show compact token budget dashboard summary").option("--cache-stats","Show session operation cache statistics (Imp-15)").option("--json","Output as JSON").option("-v, --verbose","Show detailed output").action(async n=>{await w(n)})}async function w(o){let n=R(o.period);try{o.cacheStats?await x(o):o.dashboard?console.log(k()):o.byAgent?await U(n,o):o.byDomain?await A(n,o):o.recommendations?await C(n,o):o.export?await E(n,o.export,o):await O(n,o)}catch(s){console.error(e.red(`Error: ${y(s)}`)),process.exit(1)}}async function O(o,n){let s=u.getSessionSummary(o);if(n.json){console.log(JSON.stringify($(s),null,2));return}console.log(e.bold.cyan(`
|
|
3
3
|
\u{1F4CA} Token Usage Summary
|
|
4
4
|
`)),console.log(e.gray(`Period: ${o}`)),console.log(e.gray(`Session: ${s.sessionId}
|
|
5
5
|
`)),console.log(e.bold("Total Usage:")),console.log(` Input tokens: ${l(s.totalUsage.inputTokens)}`),console.log(` Output tokens: ${l(s.totalUsage.outputTokens)}`),console.log(` Total tokens: ${l(s.totalUsage.totalTokens)}`),s.totalUsage.estimatedCostUsd!==void 0&&console.log(` Estimated cost: ${T(s.totalUsage.estimatedCostUsd)}`),console.log(e.bold(`
|