agentic-qe 3.9.20 → 3.9.21
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/skills/skills-manifest.json +1 -1
- package/CHANGELOG.md +24 -0
- package/README.md +39 -0
- package/assets/skills/skills-manifest.json +1 -1
- package/dist/cli/bundle.js +5 -5
- package/dist/cli/chunks/adapter-WOEZOCHJ.js +2 -0
- package/dist/cli/chunks/{agent-booster-wasm-T5JB3MOF.js → agent-booster-wasm-55SQPP6T.js} +2 -2
- package/dist/cli/chunks/{agent-handler-EASMQSQO.js → agent-handler-Q2UXL73Y.js} +2 -2
- package/dist/cli/chunks/{agent-memory-branch-7GWN2KCG.js → agent-memory-branch-56GIYNGH.js} +2 -2
- package/dist/cli/chunks/aqe-learning-engine-5AHKLABJ.js +2 -0
- package/dist/cli/chunks/{audit-VHV4GXPW.js → audit-2JQ3URVN.js} +2 -2
- package/dist/cli/chunks/base-RNCRGTZJ.js +2 -0
- package/dist/cli/chunks/{better-sqlite3-GNK7MDXZ.js → better-sqlite3-XGA7Z5YL.js} +2 -2
- package/dist/cli/chunks/{brain-handler-ALXZKWO4.js → brain-handler-TOOZFEK5.js} +3 -3
- package/dist/cli/chunks/{branch-enumerator-JNYLOLMM.js → branch-enumerator-2BLPN73D.js} +2 -2
- package/dist/cli/chunks/{browser-FXRW6LID.js → browser-FSVNN36N.js} +2 -2
- package/dist/cli/chunks/browser-workflow-MXHA63OC.js +2 -0
- package/dist/cli/chunks/{chunk-X3NADG4S.js → chunk-2AEWOQWU.js} +2 -2
- package/dist/cli/chunks/{chunk-T3TEQH2H.js → chunk-34BTSZ5D.js} +1 -1
- package/dist/cli/chunks/{chunk-4IUNBRKQ.js → chunk-3Y7OZ2PC.js} +2 -2
- package/dist/cli/chunks/{chunk-EJQRDMON.js → chunk-44BAZASI.js} +1 -1
- package/dist/cli/chunks/{chunk-ICLWWAGZ.js → chunk-4O7YJIOS.js} +2 -2
- package/dist/cli/chunks/{chunk-IHBRFVGA.js → chunk-4XZPDEK5.js} +1 -1
- package/dist/cli/chunks/{chunk-Z5MG54R4.js → chunk-4Z4C7BXV.js} +1 -1
- package/dist/cli/chunks/{chunk-H647PYXW.js → chunk-4ZUXTOUG.js} +1 -1
- package/dist/cli/chunks/{chunk-P2ABIGYB.js → chunk-56DGV2Q3.js} +1 -1
- package/dist/cli/chunks/{chunk-AFMLL2G3.js → chunk-5EYQP3V3.js} +2 -2
- package/dist/cli/chunks/{chunk-CEVIRL2S.js → chunk-5FNEOJSD.js} +2 -2
- package/dist/cli/chunks/{chunk-DERQRIAR.js → chunk-5PZG4WUA.js} +3 -3
- package/dist/cli/chunks/{chunk-J7SDO52P.js → chunk-63PHZGO2.js} +2 -2
- package/dist/cli/chunks/{chunk-BKGCMWFL.js → chunk-65U55JIH.js} +3 -3
- package/dist/cli/chunks/{chunk-F3PX6EJX.js → chunk-6MGACOLN.js} +1 -1
- package/dist/cli/chunks/{chunk-LSYMQG52.js → chunk-6OYRNNP2.js} +1 -1
- package/dist/cli/chunks/{chunk-7OGFOHG5.js → chunk-7P4IZQVQ.js} +2 -2
- package/dist/cli/chunks/{chunk-WF6MKBRI.js → chunk-ACOEV3YB.js} +2 -2
- package/dist/cli/chunks/{chunk-7Q7SCQMQ.js → chunk-ADC73GLJ.js} +2 -2
- package/dist/cli/chunks/{chunk-3CLKKAGH.js → chunk-AEQNCDYD.js} +2 -2
- package/dist/cli/chunks/chunk-AMOCYHP3.js +2 -0
- package/dist/cli/chunks/{chunk-QLZPCEVI.js → chunk-AT25VXEO.js} +1 -1
- package/dist/cli/chunks/{chunk-BXGAXGME.js → chunk-C4CZXAOE.js} +2 -2
- package/dist/cli/chunks/{chunk-RYBFRFKY.js → chunk-CJKR47YY.js} +1 -1
- package/dist/cli/chunks/{chunk-3GPNZPM4.js → chunk-D24HN6BG.js} +1 -1
- package/dist/cli/chunks/{chunk-5ILP2ZDZ.js → chunk-DBW745QA.js} +2 -2
- package/dist/cli/chunks/{chunk-7Y4QQ6JL.js → chunk-DQI5ZR34.js} +1 -1
- package/dist/cli/chunks/{chunk-NWYYWFUO.js → chunk-E2XIPBJ7.js} +1 -1
- package/dist/cli/chunks/{chunk-2J5OO63R.js → chunk-E55MYZGP.js} +2 -2
- package/dist/cli/chunks/{chunk-ZCH5MNST.js → chunk-E5TGH4V3.js} +2 -2
- package/dist/cli/chunks/{chunk-QAZYSC3T.js → chunk-E7J32PW2.js} +2 -2
- package/dist/cli/chunks/{chunk-KMDZOVCF.js → chunk-ETEV7IZI.js} +1 -1
- package/dist/cli/chunks/{chunk-DSPH4GI3.js → chunk-EVWNZEYV.js} +1 -1
- package/dist/cli/chunks/{chunk-3HQ4VKK6.js → chunk-F4VJ4PPI.js} +47 -47
- package/dist/cli/chunks/{chunk-G7HYTJDG.js → chunk-FBCLQTXO.js} +2 -2
- package/dist/cli/chunks/{chunk-3BFNYFXV.js → chunk-FZ2SYLSK.js} +1 -1
- package/dist/cli/chunks/{chunk-U7RTH6F4.js → chunk-G276EI3G.js} +2 -2
- package/dist/cli/chunks/{chunk-7R45TEY6.js → chunk-G7ZYDJZ3.js} +2 -2
- package/dist/cli/chunks/{chunk-NGWGOMOP.js → chunk-GB6ATLR3.js} +2 -2
- package/dist/cli/chunks/{chunk-NQIOXSHW.js → chunk-GDZ6XQRI.js} +1 -1
- package/dist/cli/chunks/{chunk-4G6OH5LQ.js → chunk-GJGFPXWG.js} +2 -2
- package/dist/cli/chunks/{chunk-K2D5L7YV.js → chunk-GLQ6LLKC.js} +1 -1
- package/dist/cli/chunks/{chunk-XJRXB5Z5.js → chunk-GR4RXQXV.js} +2 -2
- package/dist/cli/chunks/{chunk-RXXKU3VP.js → chunk-HC4VOQZJ.js} +2 -2
- package/dist/cli/chunks/{chunk-O3PLWCCD.js → chunk-HIEP3L7H.js} +2 -2
- package/dist/cli/chunks/{chunk-UAE37LHP.js → chunk-HJCJWPN5.js} +2 -2
- package/dist/cli/chunks/{chunk-QKOPJ5CZ.js → chunk-HMMJ6ZI6.js} +2 -2
- package/dist/cli/chunks/{chunk-SMQ5OARZ.js → chunk-HRHKLRBB.js} +1 -1
- package/dist/cli/chunks/{chunk-MXAEZHW6.js → chunk-I3HLZASP.js} +2 -2
- package/dist/cli/chunks/{chunk-GJACTPDK.js → chunk-ICPQR533.js} +2 -2
- package/dist/cli/chunks/{chunk-LJW7BTMK.js → chunk-IM7X6BDZ.js} +2 -2
- package/dist/cli/chunks/{chunk-UHWRRJBH.js → chunk-IS6IES7Q.js} +1 -1
- package/dist/cli/chunks/{chunk-QMGXALN3.js → chunk-ISNDQOXC.js} +2 -2
- package/dist/cli/chunks/{chunk-UABC2Z3S.js → chunk-J3GG3Q4X.js} +2 -2
- package/dist/cli/chunks/{chunk-T5MMSSSF.js → chunk-KDOA7YHW.js} +2 -2
- package/dist/cli/chunks/{chunk-4HD7YRW7.js → chunk-KENZAFI2.js} +2 -2
- package/dist/cli/chunks/{chunk-MXDGMXJA.js → chunk-KID7PTBZ.js} +2 -2
- package/dist/cli/chunks/{chunk-Y6U4CCPP.js → chunk-KRXJ7LFP.js} +1 -1
- package/dist/cli/chunks/{chunk-LGSPAQSP.js → chunk-KWPPF7O4.js} +2 -2
- package/dist/cli/chunks/{chunk-FUTRX4ZT.js → chunk-KYPN6G7T.js} +2 -2
- package/dist/cli/chunks/{chunk-BJF77EFA.js → chunk-LHXIAPKR.js} +2 -2
- package/dist/cli/chunks/chunk-LP52AQE2.js +2 -0
- package/dist/cli/chunks/{chunk-6R7SJ5FS.js → chunk-LYZUB3NP.js} +1 -1
- package/dist/cli/chunks/{chunk-SL7WTN5Z.js → chunk-MJGMH7TW.js} +2 -2
- package/dist/cli/chunks/{chunk-MIST354H.js → chunk-MYZ43VKA.js} +2 -2
- package/dist/cli/chunks/{chunk-DODH6CEQ.js → chunk-ND2TFQF5.js} +1 -1
- package/dist/cli/chunks/{chunk-CQSME43Z.js → chunk-NGT3VL66.js} +24 -16
- package/dist/cli/chunks/{chunk-AVVRA6FG.js → chunk-NJICCYCB.js} +2 -2
- package/dist/cli/chunks/{chunk-S6SRHNJV.js → chunk-NKOGDRZE.js} +2 -2
- package/dist/cli/chunks/{chunk-Z65DB2Z7.js → chunk-NS2ZWXUK.js} +3 -3
- package/dist/cli/chunks/{chunk-4SBMTHTA.js → chunk-NV6AUEIH.js} +2 -2
- package/dist/cli/chunks/{chunk-3ZHUKLU7.js → chunk-OEB3V633.js} +2 -2
- package/dist/cli/chunks/chunk-OHR5ILR3.js +2 -0
- package/dist/cli/chunks/{chunk-TV5OVFKK.js → chunk-OK5JHHXK.js} +1 -1
- package/dist/cli/chunks/{chunk-OD5SVOVP.js → chunk-OXXCWRFU.js} +1 -1
- package/dist/cli/chunks/{chunk-V5UB75TQ.js → chunk-P4Q5TMDH.js} +2 -2
- package/dist/cli/chunks/{chunk-FPBNTPCM.js → chunk-PAXSPZ3F.js} +2 -2
- package/dist/cli/chunks/{chunk-JCPXG42O.js → chunk-PEOTZFNZ.js} +2 -2
- package/dist/cli/chunks/{chunk-7WXYQDML.js → chunk-PGHTRQK6.js} +2 -2
- package/dist/cli/chunks/{chunk-5GA4BUQU.js → chunk-QERANESS.js} +2 -2
- package/dist/cli/chunks/{chunk-QQMHE4RT.js → chunk-QPSPIESU.js} +2 -2
- package/dist/cli/chunks/{chunk-YPUDYGIU.js → chunk-QREO5LNR.js} +1 -1
- package/dist/cli/chunks/{chunk-GXO42P3X.js → chunk-QSLXOYPR.js} +6 -6
- package/dist/cli/chunks/{chunk-EYSGJZ7Y.js → chunk-QU3VFWZZ.js} +13 -13
- package/dist/cli/chunks/{chunk-VQI6JQQP.js → chunk-RDUIN7LO.js} +1 -1
- package/dist/cli/chunks/{chunk-FAQPPMEC.js → chunk-RHAUASC6.js} +2 -2
- package/dist/cli/chunks/{chunk-KNOZWD6E.js → chunk-RIVX6YLS.js} +2 -2
- package/dist/cli/chunks/{chunk-HXQ7GAUV.js → chunk-ROC2SSV3.js} +3 -3
- package/dist/cli/chunks/{chunk-BIODM56C.js → chunk-S3TU7B7D.js} +2 -2
- package/dist/cli/chunks/{chunk-7J34I3CI.js → chunk-S5RNBBJ6.js} +2 -2
- package/dist/cli/chunks/{chunk-TG6P44UT.js → chunk-S6FFUCVZ.js} +4 -4
- package/dist/cli/chunks/{chunk-WALYYW6B.js → chunk-SIW4N4NE.js} +4 -4
- package/dist/cli/chunks/{chunk-DJCLA5AG.js → chunk-SMAC5IX4.js} +2 -2
- package/dist/cli/chunks/{chunk-NN6VRHNL.js → chunk-SMBQERK7.js} +2 -2
- package/dist/cli/chunks/{chunk-UNAVOVD7.js → chunk-T5Z5LL5Y.js} +3 -3
- package/dist/cli/chunks/{chunk-SGGY4QYU.js → chunk-TCNJ5NGT.js} +2 -2
- package/dist/cli/chunks/{chunk-QMUZMIV7.js → chunk-TFAS5UND.js} +3 -3
- package/dist/cli/chunks/{chunk-SH2UPGO7.js → chunk-TMKJXKY2.js} +2 -2
- package/dist/cli/chunks/{chunk-HCFRGEMK.js → chunk-TOE6DKE4.js} +1 -1
- package/dist/cli/chunks/{chunk-RVWGW7TI.js → chunk-UOLIGPDW.js} +2 -2
- package/dist/cli/chunks/{chunk-FHDYN73D.js → chunk-V5AVC4D4.js} +2 -2
- package/dist/cli/chunks/{chunk-LATJ2LKJ.js → chunk-V6GJ3EMZ.js} +1 -1
- package/dist/cli/chunks/{chunk-CPVGZYEP.js → chunk-VGAG5TG7.js} +1 -1
- package/dist/cli/chunks/{chunk-Q4OITFDX.js → chunk-VQLHHNOH.js} +2 -2
- package/dist/cli/chunks/{chunk-QCLEA3CM.js → chunk-VQXHHEPD.js} +2 -2
- package/dist/cli/chunks/{chunk-SYXPLFK7.js → chunk-WI5HBS3C.js} +2 -2
- package/dist/cli/chunks/{chunk-YPVPWDKL.js → chunk-WL5IRCU4.js} +2 -2
- package/dist/cli/chunks/{chunk-7I6ROJGF.js → chunk-WY3H7VHF.js} +2 -2
- package/dist/cli/chunks/{chunk-6LKEFWKI.js → chunk-XEMVYJ2Z.js} +3 -3
- package/dist/cli/chunks/{chunk-MXHJUAM7.js → chunk-Y36AJ462.js} +2 -2
- package/dist/cli/chunks/{chunk-RCPFDAOC.js → chunk-YH7BAX7S.js} +1 -1
- package/dist/cli/chunks/{chunk-4PNLBMKY.js → chunk-YS5WV3CJ.js} +1 -1
- package/dist/cli/chunks/{chunk-5LM2W3NE.js → chunk-YVG4D6P3.js} +1 -1
- package/dist/cli/chunks/{chunk-ZBBHJGPI.js → chunk-YVPPR33H.js} +2 -2
- package/dist/cli/chunks/{chunk-HW47UOFK.js → chunk-ZUTYZIWQ.js} +2 -2
- package/dist/cli/chunks/{ci-TE3744OR.js → ci-GU2HBK5E.js} +2 -2
- package/dist/cli/chunks/{ci-output-GSNS52SY.js → ci-output-FGZTTY3R.js} +2 -2
- package/dist/cli/chunks/{circuit-breaker-7ROW7QBW.js → circuit-breaker-6UNLOLMW.js} +2 -2
- package/dist/cli/chunks/{claude-flow-setup-Z5GPMILN.js → claude-flow-setup-SCOCIDBC.js} +2 -2
- package/dist/cli/chunks/client-XU3ZUFMH.js +2 -0
- package/dist/cli/chunks/{cline-installer-6D4SAAM4.js → cline-installer-G6PQERGI.js} +2 -2
- package/dist/cli/chunks/{code-JZKH7FRS.js → code-RNKTYBI4.js} +2 -2
- package/dist/cli/chunks/{code-index-extractor-JJFTZLOK.js → code-index-extractor-A6KAUQOU.js} +2 -2
- package/dist/cli/chunks/{codex-installer-O5KIPN3Z.js → codex-installer-ABWDMKEX.js} +2 -2
- package/dist/cli/chunks/{completions-QNMAUYKK.js → completions-TB4E6O46.js} +2 -2
- package/dist/cli/chunks/{complexity-analyzer-JYJ7TLYE.js → complexity-analyzer-XS37O7OR.js} +2 -2
- package/dist/cli/chunks/{continuedev-installer-JYMVLG6S.js → continuedev-installer-WDY6O2SR.js} +2 -2
- package/dist/cli/chunks/{copilot-installer-SSV6GF5G.js → copilot-installer-SDJ3GYLU.js} +2 -2
- package/dist/cli/chunks/{cost-tracker-2VZ3IMJZ.js → cost-tracker-MWEXRK7F.js} +2 -2
- package/dist/cli/chunks/{coverage-KW4V5D5L.js → coverage-Y3KDB56G.js} +3 -3
- package/dist/cli/chunks/cross-domain-router-KKYQWQE7.js +2 -0
- package/dist/cli/chunks/{cursor-installer-QVGDAHOI.js → cursor-installer-4U7XENLX.js} +2 -2
- package/dist/cli/chunks/{daemon-JKMFDYK2.js → daemon-D6R3BPBJ.js} +3 -3
- package/dist/cli/chunks/{dag-attention-scheduler-WKRV7DFE.js → dag-attention-scheduler-EMVUX6ES.js} +2 -2
- package/dist/cli/chunks/{detect-ROCCKX63.js → detect-QIJPCTZO.js} +2 -2
- package/dist/cli/chunks/{dist-node-QGU7TJTW.js → dist-node-4ZYBZKOB.js} +2 -2
- package/dist/cli/chunks/{domain-handler-3UJHQPOR.js → domain-handler-X6CTXJQF.js} +2 -2
- package/dist/cli/chunks/{domain-transfer-R47ISVU5.js → domain-transfer-HK4ER37F.js} +2 -2
- package/dist/cli/chunks/dream-FBYASIID.js +2 -0
- package/dist/cli/chunks/{embed-and-insert-pattern-ZVK7WSY2.js → embed-and-insert-pattern-XKTD5DQ3.js} +2 -2
- package/dist/cli/chunks/{eval-WNZWXFOW.js → eval-WEEB3CHY.js} +2 -2
- package/dist/cli/chunks/{fast-paths-QPF47RZJ.js → fast-paths-M2ENEKQX.js} +2 -2
- package/dist/cli/chunks/{feature-flags-PGIG2W3G.js → feature-flags-3WIZC67K.js} +2 -2
- package/dist/cli/chunks/{feature-flags-2MAHHM66.js → feature-flags-CZQXGFGX.js} +2 -2
- package/dist/cli/chunks/{file-discovery-JL6FCXRB.js → file-discovery-ERTPM3C4.js} +2 -2
- package/dist/cli/chunks/{fleet-LMBZU2GU.js → fleet-WBEPTBQR.js} +3 -3
- package/dist/cli/chunks/{gnn-wrapper-GFNFVEER.js → gnn-wrapper-GVRS33BK.js} +2 -2
- package/dist/cli/chunks/{heartbeat-handler-YN7ES3AX.js → heartbeat-handler-JQ6NSC6T.js} +4 -4
- package/dist/cli/chunks/{heartbeat-scheduler-SII2KJSQ.js → heartbeat-scheduler-7XHIE6IV.js} +2 -2
- package/dist/cli/chunks/hnsw-adapter-L7QOLNKP.js +2 -0
- package/dist/cli/chunks/hnsw-index-O2YO7WVU.js +2 -0
- package/dist/cli/chunks/{hnsw-legacy-bridge-CPMBYE7C.js → hnsw-legacy-bridge-TYO6GZ6Z.js} +2 -2
- package/dist/cli/chunks/hnswlib-node-UHEP6UZZ.js +2 -0
- package/dist/cli/chunks/{hooks-EYSB7XDW.js → hooks-2GU7LGNL.js} +10 -10
- package/dist/cli/chunks/{hybrid-router-BR7O6WT2.js → hybrid-router-Z5V4E5SJ.js} +2 -2
- package/dist/cli/chunks/{hypergraph-engine-HAKGWDYX.js → hypergraph-engine-F435AM7S.js} +2 -2
- package/dist/cli/chunks/{hypergraph-handler-UCI3LXUF.js → hypergraph-handler-DQMYDUQY.js} +3 -3
- package/dist/cli/chunks/impact-analyzer-37TDXM6V.js +2 -0
- package/dist/cli/chunks/{init-handler-7RYGU3W5.js → init-handler-Y4NPRT2W.js} +6 -6
- package/dist/cli/chunks/init-wizard-ONNAHU4H.js +2 -0
- package/dist/cli/chunks/kernel-3S7RJ7PT.js +2 -0
- package/dist/cli/chunks/{kilocode-installer-W6ITMEFA.js → kilocode-installer-EUTWNH4I.js} +2 -2
- package/dist/cli/chunks/{kiro-installer-2BO34D3O.js → kiro-installer-I3ECJ37F.js} +2 -2
- package/dist/cli/chunks/knowledge-graph-GNJMYFT2.js +2 -0
- package/dist/cli/chunks/{learning-GEXYG72Z.js → learning-5FW7N6DA.js} +3 -3
- package/dist/cli/chunks/{llm-router-EGHA5YOC.js → llm-router-ZRYFNNPU.js} +4 -4
- package/dist/cli/chunks/{load-VU2OOAEF.js → load-7BF33NMJ.js} +2 -2
- package/dist/cli/chunks/load-test-ZHTSLJMB.js +2 -0
- package/dist/cli/chunks/{mcp-NVQFFQ2R.js → mcp-7K6P7FMG.js} +2 -2
- package/dist/cli/chunks/{memory-JNXMKTZQ.js → memory-O2DCN3GS.js} +5 -5
- package/dist/cli/chunks/memory-backend-LN6NWT4F.js +2 -0
- package/dist/cli/chunks/{memory-handlers-NLGQ5I7K.js → memory-handlers-WA63DMQ4.js} +2 -2
- package/dist/cli/chunks/{multi-model-executor-SG6OME2A.js → multi-model-executor-SJXBFOK5.js} +2 -2
- package/dist/cli/chunks/{opencode-installer-AY4JCZIM.js → opencode-installer-PE7ZV6SV.js} +2 -2
- package/dist/cli/chunks/{orchestrator-GWI7HQG6.js → orchestrator-N4GT5IGY.js} +5 -5
- package/dist/cli/chunks/{pipeline-7T6IAMC7.js → pipeline-DUTGGNO6.js} +2 -2
- package/dist/cli/chunks/{platform-IXUST66M.js → platform-EGUD7X2R.js} +2 -2
- package/dist/cli/chunks/{plugin-PW7F6MVH.js → plugin-6ZS3HK43.js} +2 -2
- package/dist/cli/chunks/{prime-radiant-advanced-wasm-BUAZHZCM.js → prime-radiant-advanced-wasm-B5S4RUJS.js} +2 -2
- package/dist/cli/chunks/protocol-executor-ED36SYE4.js +2 -0
- package/dist/cli/chunks/{protocol-handler-6746OC4P.js → protocol-handler-Z3QDY7O6.js} +2 -2
- package/dist/cli/chunks/{prove-VYV5DQGC.js → prove-TQHP2XVD.js} +2 -2
- package/dist/cli/chunks/{provider-manager-GEO3CUOO.js → provider-manager-2JFXKYMZ.js} +2 -2
- package/dist/cli/chunks/qe-reasoning-bank-AC5ZWDAZ.js +2 -0
- package/dist/cli/chunks/{quality-4XXENNNW.js → quality-NXDHVPAS.js} +2 -2
- package/dist/cli/chunks/queen-coordinator-IZ4RQGKV.js +2 -0
- package/dist/cli/chunks/{real-embeddings-ZVEZVXVT.js → real-embeddings-P2LYDBVF.js} +2 -2
- package/dist/cli/chunks/{roocode-installer-ZRNDOIDL.js → roocode-installer-YSRXO4W4.js} +2 -2
- package/dist/cli/chunks/router-DZVPCD7E.js +2 -0
- package/dist/cli/chunks/routing-feedback-3LUE56G4.js +2 -0
- package/dist/cli/chunks/{routing-handler-MPSJ7DDI.js → routing-handler-HVDQQF34.js} +2 -2
- package/dist/cli/chunks/{ruvector-commands-V4BVCY2U.js → ruvector-commands-5NJ5FQ3E.js} +2 -2
- package/dist/cli/chunks/{rvf-dual-writer-X4VNU5KH.js → rvf-dual-writer-GZ2HIIKX.js} +2 -2
- package/dist/cli/chunks/{rvf-migration-adapter-KOYYJSNH.js → rvf-migration-adapter-QKEYGJFL.js} +2 -2
- package/dist/cli/chunks/{rvf-migration-coordinator-SF5IBKTK.js → rvf-migration-coordinator-5RBME46Y.js} +2 -2
- package/dist/cli/chunks/rvf-native-adapter-UTX4WYSI.js +2 -0
- package/dist/cli/chunks/safe-db-PEJN42TX.js +2 -0
- package/dist/cli/chunks/schedule-UULIQP2J.js +2 -0
- package/dist/cli/chunks/scheduler-T57XAXKF.js +2 -0
- package/dist/cli/chunks/{security-AA5GBNNU.js → security-KB4TOOFJ.js} +3 -3
- package/dist/cli/chunks/shared-rvf-adapter-UZVFV2RJ.js +2 -0
- package/dist/cli/chunks/{shared-rvf-dual-writer-EGP3BYIY.js → shared-rvf-dual-writer-UMDFMGVS.js} +2 -2
- package/dist/cli/chunks/sqlite-persistence-W7E26KF3.js +2 -0
- package/dist/cli/chunks/{status-handler-ARHPRXJ4.js → status-handler-T53CO6SX.js} +2 -2
- package/dist/cli/chunks/{structural-health-IDV4RBZV.js → structural-health-AVS2GE7S.js} +2 -2
- package/dist/cli/chunks/{sync-7BRLSLDG.js → sync-Q3UHMELK.js} +2 -2
- package/dist/cli/chunks/{task-handler-XY42QA3K.js → task-handler-UAJWNRMS.js} +2 -2
- package/dist/cli/chunks/{task-handlers-QEHOKEJC.js → task-handlers-HYSHMTJN.js} +3 -3
- package/dist/cli/chunks/{test-TQIHDBEX.js → test-GMXM664Y.js} +4 -4
- package/dist/cli/chunks/{test-scheduling-BBVOLGFT.js → test-scheduling-PYU4NLDU.js} +3 -3
- package/dist/cli/chunks/{token-bootstrap-BUHTWVEF.js → token-bootstrap-5SIETJI6.js} +2 -2
- package/dist/cli/chunks/{token-usage-MRVQ7G3H.js → token-usage-3H4KEKTT.js} +2 -2
- package/dist/cli/chunks/{hnswlib-node-NWNBNU3W.js → transformers-ZFPUASV4.js} +2 -2
- package/dist/cli/chunks/{tree-sitter-wasm-parser-6GDZQNFV.js → tree-sitter-wasm-parser-X72YXRIP.js} +2 -2
- package/dist/cli/chunks/{types-F2LWFMRI.js → types-CB2HAVZ6.js} +2 -2
- package/dist/cli/chunks/unified-memory-SAIRUPOI.js +2 -0
- package/dist/cli/chunks/unified-memory-hnsw-NQALAER6.js +2 -0
- package/dist/cli/chunks/unified-persistence-XNGQFWFS.js +2 -0
- package/dist/cli/chunks/{upgrade-N676MSDA.js → upgrade-BWAZTJKE.js} +2 -2
- package/dist/cli/chunks/{validate-56AA6YYM.js → validate-3OVVTWN6.js} +2 -2
- package/dist/cli/chunks/{validate-swarm-YPHV7MMC.js → validate-swarm-WJVG4OUQ.js} +2 -2
- package/dist/cli/chunks/{vibium-ABPFT3DX.js → vibium-IIU2F5HC.js} +2 -2
- package/dist/cli/chunks/visual-security-CE37LMFR.js +2 -0
- package/dist/cli/chunks/{web-tree-sitter-KN4PWKMV.js → web-tree-sitter-RO4TKGTV.js} +2 -2
- package/dist/cli/chunks/{windsurf-installer-IZOJBDNN.js → windsurf-installer-7N5CZTJS.js} +2 -2
- package/dist/cli/chunks/{witness-chain-H2DM5WMB.js → witness-chain-B4CHDDS5.js} +2 -2
- package/dist/cli/chunks/witness-chain-L2KM336B.js +2 -0
- package/dist/cli/chunks/{workflow-R42PK45F.js → workflow-FKJKW36Z.js} +4 -4
- package/dist/cli/chunks/workflow-orchestrator-BE5PCEBO.js +2 -0
- package/dist/cli/chunks/{wrappers-6TIJNWN4.js → wrappers-HU3SB4FT.js} +2 -2
- package/dist/domains/code-intelligence/coordinator.js +20 -0
- package/dist/integrations/embeddings/index/HNSWIndex.js +16 -6
- package/dist/integrations/ruvector/hypergraph-engine.d.ts +45 -0
- package/dist/integrations/ruvector/hypergraph-engine.js +102 -0
- package/dist/integrations/ruvector/shared-rvf-adapter.js +110 -2
- package/dist/learning/pattern-store.js +38 -1
- package/dist/mcp/bundle.js +300 -292
- package/package.json +2 -2
- package/scripts/preinstall.cjs +54 -0
- package/dist/cli/chunks/adapter-UOX57IAN.js +0 -2
- package/dist/cli/chunks/aqe-learning-engine-KZES2SKE.js +0 -2
- package/dist/cli/chunks/base-7MXMBRSW.js +0 -2
- package/dist/cli/chunks/browser-workflow-4C5R54CZ.js +0 -2
- package/dist/cli/chunks/chunk-35HDLA22.js +0 -2
- package/dist/cli/chunks/chunk-F32R4LVS.js +0 -2
- package/dist/cli/chunks/chunk-ZTWHRDUY.js +0 -2
- package/dist/cli/chunks/client-S5TFLKHN.js +0 -2
- package/dist/cli/chunks/cross-domain-router-GZG5GU7Q.js +0 -2
- package/dist/cli/chunks/dream-PGYTIOQS.js +0 -2
- package/dist/cli/chunks/hnsw-adapter-ANJKCXK6.js +0 -2
- package/dist/cli/chunks/hnsw-index-D4CJEP7L.js +0 -2
- package/dist/cli/chunks/impact-analyzer-55JW3OK6.js +0 -2
- package/dist/cli/chunks/init-wizard-MWKJNVB2.js +0 -2
- package/dist/cli/chunks/kernel-5MKKDS4J.js +0 -2
- package/dist/cli/chunks/knowledge-graph-2A7AE7L7.js +0 -2
- package/dist/cli/chunks/load-test-UD4ZXCGG.js +0 -2
- package/dist/cli/chunks/memory-backend-X3Z4IAYG.js +0 -2
- package/dist/cli/chunks/protocol-executor-AB6KPFK5.js +0 -2
- package/dist/cli/chunks/qe-reasoning-bank-Y4IDDIYA.js +0 -2
- package/dist/cli/chunks/queen-coordinator-GBSTXGA2.js +0 -2
- package/dist/cli/chunks/router-JA2X4MF6.js +0 -2
- package/dist/cli/chunks/routing-feedback-YCVJIWFM.js +0 -2
- package/dist/cli/chunks/rvf-native-adapter-5YN7EEB5.js +0 -2
- package/dist/cli/chunks/safe-db-S46Y7IC5.js +0 -2
- package/dist/cli/chunks/schedule-KSDHFWSY.js +0 -2
- package/dist/cli/chunks/scheduler-PLFJHU54.js +0 -2
- package/dist/cli/chunks/shared-rvf-adapter-MLXVW4N6.js +0 -2
- package/dist/cli/chunks/sqlite-persistence-RK3JWKB4.js +0 -2
- package/dist/cli/chunks/transformers-3PFLFSWR.js +0 -2
- package/dist/cli/chunks/unified-memory-JVZZMZRE.js +0 -2
- package/dist/cli/chunks/unified-memory-hnsw-EJJHCMFR.js +0 -2
- package/dist/cli/chunks/unified-persistence-IEKOYCBL.js +0 -2
- package/dist/cli/chunks/visual-security-APS7K3TZ.js +0 -2
- package/dist/cli/chunks/witness-chain-DMHO7R75.js +0 -2
- package/dist/cli/chunks/workflow-orchestrator-BDHRNVOG.js +0 -2
|
@@ -26,14 +26,28 @@ export function getSharedRvfAdapter(dataDir = '.agentic-qe', dimensions = 384) {
|
|
|
26
26
|
try {
|
|
27
27
|
// Dynamic require to match the bundled build pattern used elsewhere
|
|
28
28
|
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
29
|
-
const { isRvfNativeAvailable, createRvfStore } = require('./rvf-native-adapter.js');
|
|
29
|
+
const { isRvfNativeAvailable, createRvfStore, openRvfStore } = require('./rvf-native-adapter.js');
|
|
30
30
|
if (!isRvfNativeAvailable()) {
|
|
31
31
|
console.warn('[RVF] Native bindings unavailable — agent branching and dream COW disabled. ' +
|
|
32
32
|
'Install @ruvector/rvf-node to enable.');
|
|
33
33
|
return null;
|
|
34
34
|
}
|
|
35
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
35
36
|
const path = require('path');
|
|
36
|
-
|
|
37
|
+
const rvfPath = path.join(dataDir, 'patterns.rvf');
|
|
38
|
+
// Open-or-create with a try-ladder rather than `existsSync` gate.
|
|
39
|
+
// Reasons:
|
|
40
|
+
// 1. RVF native's `RvfDatabase.create()` throws `0x0303 FsyncFailed`
|
|
41
|
+
// when the target file already exists (verified against both 0.1.7
|
|
42
|
+
// and 0.1.8 native binaries on linux-arm64). Earlier init phases
|
|
43
|
+
// legitimately produce patterns.rvf, so subsequent CLI / MCP boot
|
|
44
|
+
// would crash without this guard. (Jordi #439 / RUFLO P020.)
|
|
45
|
+
// 2. A bare `existsSync(...) ? open : create` is racy across
|
|
46
|
+
// processes — two parallel `aqe` invocations during init can both
|
|
47
|
+
// observe absent and both call `create`, with the second hitting
|
|
48
|
+
// FsyncFailed regardless. The try-ladder degrades to whichever
|
|
49
|
+
// path the OS actually permits.
|
|
50
|
+
sharedAdapter = openOrCreateRvf(openRvfStore, createRvfStore, rvfPath, dimensions);
|
|
37
51
|
return sharedAdapter;
|
|
38
52
|
}
|
|
39
53
|
catch (error) {
|
|
@@ -41,6 +55,100 @@ export function getSharedRvfAdapter(dataDir = '.agentic-qe', dimensions = 384) {
|
|
|
41
55
|
return null;
|
|
42
56
|
}
|
|
43
57
|
}
|
|
58
|
+
/**
|
|
59
|
+
* Race-tolerant open-or-create.
|
|
60
|
+
* Tries open first (cheap, succeeds for the common case where init has
|
|
61
|
+
* already produced the file). On open failure we attempt create. On the
|
|
62
|
+
* concurrent-create loser, create itself fails with `FsyncFailed`; we
|
|
63
|
+
* retry open once more. Any final exception bubbles up to the caller.
|
|
64
|
+
*
|
|
65
|
+
* Also asserts `dim()` matches the caller-requested `dimensions` after
|
|
66
|
+
* open so silent dimension drift between releases / configs is detected
|
|
67
|
+
* — a bad-dim file is closed and create() is attempted (fail-loud rather
|
|
68
|
+
* than corrupt-silently, which would manifest as wrong vector hits later).
|
|
69
|
+
*/
|
|
70
|
+
function openOrCreateRvf(openFn, createFn, rvfPath, dimensions) {
|
|
71
|
+
const tryOpen = () => {
|
|
72
|
+
try {
|
|
73
|
+
return { adapter: openFn(rvfPath), err: null };
|
|
74
|
+
}
|
|
75
|
+
catch (err) {
|
|
76
|
+
return { adapter: null, err };
|
|
77
|
+
}
|
|
78
|
+
};
|
|
79
|
+
const isLockHeld = (err) => {
|
|
80
|
+
const m = err instanceof Error ? err.message : String(err);
|
|
81
|
+
return m.includes('LockHeld') || m.includes('0x0300');
|
|
82
|
+
};
|
|
83
|
+
// Pass 1: try to open whatever's there.
|
|
84
|
+
let { adapter: opened, err: openErr } = tryOpen();
|
|
85
|
+
// Pass 1.5: stale-lock recovery. The native binding writes a `<rvfPath>.lock`
|
|
86
|
+
// file on open and removes it on close. `aqe init` and short-lived CLI
|
|
87
|
+
// processes routinely exit without an explicit close, leaving a stale
|
|
88
|
+
// .lock that subsequent invocations interpret as `LockHeld`. Since AQE
|
|
89
|
+
// CLI is overwhelmingly single-shot serial, the realistic case is "the
|
|
90
|
+
// prior process is dead and the lock is stale". We unlink the .lock and
|
|
91
|
+
// retry open exactly once. If a genuinely-live peer existed, it still
|
|
92
|
+
// holds the file open — but the binding's lock is content-based (lock
|
|
93
|
+
// file presence), so this is a best-effort cooperative recovery rather
|
|
94
|
+
// than an OS-level lock break.
|
|
95
|
+
if (!opened && isLockHeld(openErr)) {
|
|
96
|
+
try {
|
|
97
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
98
|
+
const fs = require('fs');
|
|
99
|
+
const lockPath = `${rvfPath}.lock`;
|
|
100
|
+
if (fs.existsSync(lockPath)) {
|
|
101
|
+
fs.unlinkSync(lockPath);
|
|
102
|
+
console.warn(`[RVF] Removed stale lock file at ${lockPath} (prior process exited without closing). ` +
|
|
103
|
+
'Retrying open. If you see this repeatedly under live concurrency, file an issue.');
|
|
104
|
+
({ adapter: opened, err: openErr } = tryOpen());
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
catch (recoveryErr) {
|
|
108
|
+
// Lock removal failed (permissions?) — fall through to error path.
|
|
109
|
+
if (process.env.DEBUG) {
|
|
110
|
+
console.debug('[RVF] stale-lock recovery failed:', recoveryErr instanceof Error ? recoveryErr.message : recoveryErr);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
if (opened) {
|
|
115
|
+
const actualDim = opened.dimension();
|
|
116
|
+
if (actualDim === dimensions)
|
|
117
|
+
return opened;
|
|
118
|
+
console.warn(`[RVF] patterns.rvf dimension mismatch: file=${actualDim} requested=${dimensions} — ` +
|
|
119
|
+
'closing and degrading. Delete the .rvf file to recreate at the requested dim.');
|
|
120
|
+
try {
|
|
121
|
+
opened.close();
|
|
122
|
+
}
|
|
123
|
+
catch { /* best-effort */ }
|
|
124
|
+
// Don't auto-recreate over a dim-mismatched file. Surface to caller via
|
|
125
|
+
// throw so getSharedRvfAdapter logs and returns null (degrade to SQLite).
|
|
126
|
+
throw new Error(`RVF dimension mismatch (file=${actualDim}, requested=${dimensions})`);
|
|
127
|
+
}
|
|
128
|
+
// Pass 2: open failed even after stale-lock recovery → try create.
|
|
129
|
+
try {
|
|
130
|
+
return createFn(rvfPath, dimensions);
|
|
131
|
+
}
|
|
132
|
+
catch (createErr) {
|
|
133
|
+
// Pass 3: create failed (likely FsyncFailed because a peer process won
|
|
134
|
+
// the race). Try open one more time.
|
|
135
|
+
try {
|
|
136
|
+
const reopened = openFn(rvfPath);
|
|
137
|
+
if (reopened.dimension() !== dimensions) {
|
|
138
|
+
try {
|
|
139
|
+
reopened.close();
|
|
140
|
+
}
|
|
141
|
+
catch { /* best-effort */ }
|
|
142
|
+
throw new Error(`RVF dimension mismatch after race (file=${reopened.dimension()}, requested=${dimensions})`);
|
|
143
|
+
}
|
|
144
|
+
return reopened;
|
|
145
|
+
}
|
|
146
|
+
catch {
|
|
147
|
+
// Fall through with the more informative original error.
|
|
148
|
+
throw createErr instanceof Error ? createErr : new Error(String(createErr));
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
}
|
|
44
152
|
/** Close the shared adapter and reset the singleton. */
|
|
45
153
|
export function resetSharedRvfAdapter() {
|
|
46
154
|
if (sharedAdapter) {
|
|
@@ -1391,7 +1391,44 @@ export function createPatternStore(memory, config) {
|
|
|
1391
1391
|
// Shared adapter unavailable — fall back to direct create
|
|
1392
1392
|
}
|
|
1393
1393
|
if (!useSharedAdapter) {
|
|
1394
|
-
|
|
1394
|
+
// Race-tolerant open-or-create with dim verification, mirroring
|
|
1395
|
+
// shared-rvf-adapter.ts. Bare `existsSync ? open : create` is
|
|
1396
|
+
// racy across processes (two parallel CLI invocations during init
|
|
1397
|
+
// both observe absent, second hits FsyncFailed regardless). Try
|
|
1398
|
+
// open first, fall back to create, retry open on create-race.
|
|
1399
|
+
// (Jordi #439 / RUFLO P020.)
|
|
1400
|
+
const store = new RvfPatternStore((path, dim) => {
|
|
1401
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
1402
|
+
const { openRvfStore } = require('../integrations/ruvector/rvf-native-adapter.js');
|
|
1403
|
+
const tryOpen = () => {
|
|
1404
|
+
try {
|
|
1405
|
+
return openRvfStore(path);
|
|
1406
|
+
}
|
|
1407
|
+
catch {
|
|
1408
|
+
return null;
|
|
1409
|
+
}
|
|
1410
|
+
};
|
|
1411
|
+
let adapter = tryOpen();
|
|
1412
|
+
if (adapter) {
|
|
1413
|
+
if (adapter.dimension() !== dim) {
|
|
1414
|
+
try {
|
|
1415
|
+
adapter.close();
|
|
1416
|
+
}
|
|
1417
|
+
catch { /* best-effort */ }
|
|
1418
|
+
throw new Error(`RVF dimension mismatch (file=${adapter.dimension()}, requested=${dim})`);
|
|
1419
|
+
}
|
|
1420
|
+
return adapter;
|
|
1421
|
+
}
|
|
1422
|
+
try {
|
|
1423
|
+
return _createRvfStore(path, dim);
|
|
1424
|
+
}
|
|
1425
|
+
catch (createErr) {
|
|
1426
|
+
adapter = tryOpen();
|
|
1427
|
+
if (adapter && adapter.dimension() === dim)
|
|
1428
|
+
return adapter;
|
|
1429
|
+
throw createErr;
|
|
1430
|
+
}
|
|
1431
|
+
}, { rvfPath, base: mergedConfig });
|
|
1395
1432
|
console.log('[PatternStore] Using RVF-backed store (ADR-066)');
|
|
1396
1433
|
return store;
|
|
1397
1434
|
}
|