agentic-qe 3.13.9 → 3.13.11
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 +737 -8
- package/.claude/skills/skills-manifest.json +1 -1
- package/CHANGELOG.md +79 -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-YBSKQFQ4.js +2 -0
- package/dist/cli/chunks/{agent-booster-wasm-UVFQL2YN.js → agent-booster-wasm-5ARDZYNO.js} +2 -2
- package/dist/cli/chunks/{agent-handler-OOIYA6HY.js → agent-handler-SVKEPF7B.js} +2 -2
- package/dist/cli/chunks/{agent-memory-branch-JP657M2X.js → agent-memory-branch-QDL7OVHC.js} +2 -2
- package/dist/cli/chunks/aqe-learning-engine-3H7DRDD4.js +2 -0
- package/dist/cli/chunks/{arena-YQQGPT3A.js → arena-7OCKBN6O.js} +2 -2
- package/dist/cli/chunks/{arena-3TEQR4Z5.js → arena-HQLSNQZ3.js} +4 -4
- package/dist/cli/chunks/{audit-2ZNYXWUH.js → audit-2EQJW5UE.js} +3 -3
- package/dist/cli/chunks/base-ZTD6PFD7.js +2 -0
- package/dist/cli/chunks/{better-sqlite3-MIHBCO3K.js → better-sqlite3-OBFNNE4T.js} +2 -2
- package/dist/cli/chunks/{brain-handler-ROJZOXD3.js → brain-handler-FV2AJZ4A.js} +3 -3
- package/dist/cli/chunks/{branch-enumerator-LYOBZQYN.js → branch-enumerator-6B4L5O3D.js} +2 -2
- package/dist/cli/chunks/{browser-MYZ22Z22.js → browser-VDMGBWNK.js} +2 -2
- package/dist/cli/chunks/browser-workflow-GKWDM25H.js +2 -0
- package/dist/cli/chunks/{chunk-HUF4AONC.js → chunk-23E37MDA.js} +2 -2
- package/dist/cli/chunks/{chunk-3FUI4SKR.js → chunk-24XW7KUX.js} +2 -2
- package/dist/cli/chunks/{chunk-6HBULOTM.js → chunk-2BDTZYQN.js} +3 -3
- package/dist/cli/chunks/{chunk-ZSUBWGL3.js → chunk-2CBEQV6R.js} +2 -2
- package/dist/cli/chunks/{chunk-STFUARVH.js → chunk-2D7SBOZ4.js} +2 -2
- package/dist/cli/chunks/chunk-2E2QCIGR.js +12 -0
- package/dist/cli/chunks/{chunk-VGDQQVJI.js → chunk-2E3PRDEX.js} +2 -2
- package/dist/cli/chunks/{chunk-3Z44HZRV.js → chunk-2HT5HRAA.js} +2 -2
- package/dist/cli/chunks/{chunk-UNAAAXI2.js → chunk-2Y3PW5EJ.js} +2 -2
- package/dist/cli/chunks/{chunk-SMNHQK6U.js → chunk-36ONUM43.js} +1 -1
- package/dist/cli/chunks/{chunk-AET5ETY2.js → chunk-3SPYI7TS.js} +1 -1
- package/dist/cli/chunks/{chunk-FV2YHX26.js → chunk-4CTKRLRX.js} +2 -2
- package/dist/cli/chunks/{chunk-RQ3JWFH7.js → chunk-4DTBGQWA.js} +2 -2
- package/dist/cli/chunks/{chunk-OJ5FT22A.js → chunk-4TJJU5Y2.js} +3 -3
- package/dist/cli/chunks/{chunk-L5SV6NNH.js → chunk-4TUGQESL.js} +2 -2
- package/dist/cli/chunks/{chunk-WQT5WSDA.js → chunk-4X4GTEQY.js} +1 -1
- package/dist/cli/chunks/{chunk-KJKA35Q5.js → chunk-4ZQOJ7Q2.js} +2 -2
- package/dist/cli/chunks/{chunk-N4CORNKN.js → chunk-5364DBZG.js} +2 -2
- package/dist/cli/chunks/{chunk-65Q64QCC.js → chunk-76NSSNB3.js} +2 -2
- package/dist/cli/chunks/{chunk-NDO6NIB3.js → chunk-7HTYM6XY.js} +2 -2
- package/dist/cli/chunks/{chunk-CGVB4XBJ.js → chunk-7YL7P5XG.js} +2 -2
- package/dist/cli/chunks/{chunk-ZG25CHVY.js → chunk-AAPJG3WI.js} +2 -2
- package/dist/cli/chunks/{chunk-4FNDI3M2.js → chunk-AFXMTSO3.js} +1 -1
- package/dist/cli/chunks/{chunk-LCVKHWW2.js → chunk-AHG2O5HT.js} +2 -2
- package/dist/cli/chunks/{chunk-JA5WSDDW.js → chunk-ATRUE6CT.js} +2 -2
- package/dist/cli/chunks/{chunk-AKXLZ7CW.js → chunk-AZVV7POX.js} +3 -3
- package/dist/cli/chunks/{chunk-NUWMKDQH.js → chunk-B646CE3C.js} +2 -2
- package/dist/cli/chunks/{chunk-DSVSZPI3.js → chunk-BL5BHBXR.js} +1 -1
- package/dist/cli/chunks/{chunk-A546FJQP.js → chunk-BPPEN7SS.js} +2 -2
- package/dist/cli/chunks/{chunk-LNPXRGCM.js → chunk-BVKFBJX6.js} +4 -4
- package/dist/cli/chunks/{chunk-BSBYYUT5.js → chunk-CK7ZLMD2.js} +1 -1
- package/dist/cli/chunks/{chunk-UPCKORAJ.js → chunk-CTS545BF.js} +1 -1
- package/dist/cli/chunks/chunk-CYQRZ645.js +2 -0
- package/dist/cli/chunks/{chunk-ZKYKW4CH.js → chunk-DLL3AJH7.js} +1 -1
- package/dist/cli/chunks/{chunk-O6RY2MKE.js → chunk-DMHQ4ZUZ.js} +2 -2
- package/dist/cli/chunks/{chunk-HTVDDFRI.js → chunk-DPZ4AU6W.js} +2 -2
- package/dist/cli/chunks/{chunk-7NOX3Y6P.js → chunk-DXQMVATY.js} +2 -2
- package/dist/cli/chunks/{chunk-WC3WHPUW.js → chunk-E54QUKAD.js} +2 -2
- package/dist/cli/chunks/{chunk-JWS2G6PO.js → chunk-EHZQIXH6.js} +3 -3
- package/dist/cli/chunks/{chunk-TGFOEDBY.js → chunk-EI4KYBNI.js} +2 -2
- package/dist/cli/chunks/{chunk-EZITEQMG.js → chunk-EKFKQGIT.js} +1 -1
- package/dist/cli/chunks/{chunk-PG2ERIJE.js → chunk-EN36AFRJ.js} +1 -1
- package/dist/cli/chunks/{chunk-CKRIQVMB.js → chunk-EWH7PFV6.js} +1 -1
- package/dist/cli/chunks/{chunk-RWR5G4Q2.js → chunk-FBASWZ7G.js} +1 -1
- package/dist/cli/chunks/{chunk-72ALY5JJ.js → chunk-FPX4JSFH.js} +2 -2
- package/dist/cli/chunks/{chunk-C6HU5SIU.js → chunk-FXKOHZBN.js} +1 -1
- package/dist/cli/chunks/{chunk-RH2VLBDQ.js → chunk-GJTGHVAX.js} +4 -4
- package/dist/cli/chunks/{chunk-BJNQ4H5G.js → chunk-GP5QBJVO.js} +2 -2
- package/dist/cli/chunks/{chunk-X4OKGVV2.js → chunk-GPJDZFFV.js} +2 -2
- package/dist/cli/chunks/{chunk-LZF2HITR.js → chunk-GWTGBQ6X.js} +2 -2
- package/dist/cli/chunks/{chunk-IB6YCQDH.js → chunk-H3AKF2HS.js} +10 -10
- package/dist/cli/chunks/{chunk-4NJZLASI.js → chunk-H3BHOIT6.js} +3 -3
- package/dist/cli/chunks/{chunk-LN7FJGP7.js → chunk-H5DS7S4B.js} +2 -2
- package/dist/cli/chunks/{chunk-OOVCVFUF.js → chunk-H7QWOJF2.js} +2 -2
- package/dist/cli/chunks/{chunk-YDWDU45I.js → chunk-HGPMS6JL.js} +2 -2
- package/dist/cli/chunks/{chunk-NIRZ7WJ6.js → chunk-HHEWINDL.js} +1 -1
- package/dist/cli/chunks/{chunk-ZBLJYWUE.js → chunk-HV6LJ57R.js} +1 -1
- package/dist/cli/chunks/{chunk-OYVUVHNV.js → chunk-HZR4G6I3.js} +1 -1
- package/dist/cli/chunks/{chunk-E5SUSYYD.js → chunk-IGW5L7YM.js} +1 -1
- package/dist/cli/chunks/{chunk-TZ67G37C.js → chunk-IYMV4CU5.js} +2 -2
- package/dist/cli/chunks/{chunk-EFAH6NUD.js → chunk-IZF3VLNW.js} +1 -1
- package/dist/cli/chunks/{chunk-QWSAEJSB.js → chunk-IZOWGVTU.js} +2 -2
- package/dist/cli/chunks/{chunk-T56N64OC.js → chunk-JGXP67BP.js} +1 -1
- package/dist/cli/chunks/{chunk-K55DZSEB.js → chunk-JK6ENS3J.js} +2 -2
- package/dist/cli/chunks/{chunk-C3D6X6NJ.js → chunk-JKP2BUF5.js} +2 -2
- package/dist/cli/chunks/{chunk-JKIVHK36.js → chunk-JKPMV5VB.js} +5 -5
- package/dist/cli/chunks/{chunk-TON5HYQM.js → chunk-JTQSXU6V.js} +6 -6
- package/dist/cli/chunks/{chunk-DT4ZMOFZ.js → chunk-JWT675RM.js} +2 -2
- package/dist/cli/chunks/{chunk-6EKA2SCV.js → chunk-K652SCBA.js} +2 -2
- package/dist/cli/chunks/{chunk-2G5ALMG4.js → chunk-LIGDJP6H.js} +1 -1
- package/dist/cli/chunks/{chunk-6VX2X4V5.js → chunk-LLP3UW62.js} +2 -2
- package/dist/cli/chunks/{chunk-ATIP66H7.js → chunk-LM727BVL.js} +4 -4
- package/dist/cli/chunks/{chunk-NWIO7QC2.js → chunk-LPDT27EC.js} +2 -2
- package/dist/cli/chunks/{chunk-N46VHXWO.js → chunk-LREIHR2A.js} +2 -2
- package/dist/cli/chunks/{chunk-HZLDCCUG.js → chunk-LUAXQB57.js} +1 -1
- package/dist/cli/chunks/{chunk-2IZTUE6F.js → chunk-M3MRFZKD.js} +1 -1
- package/dist/cli/chunks/{chunk-RCWHZB3R.js → chunk-MS5CAEPA.js} +2 -2
- package/dist/cli/chunks/chunk-MUAW4AJ6.js +21 -0
- package/dist/cli/chunks/{chunk-3CJOOHYG.js → chunk-MWTFFGU3.js} +2 -2
- package/dist/cli/chunks/{chunk-X2337R6M.js → chunk-NC7HTDH5.js} +2 -2
- package/dist/cli/chunks/{chunk-MTDKYFTA.js → chunk-NHL37QAZ.js} +2 -2
- package/dist/cli/chunks/{chunk-YTSBGM2P.js → chunk-OJUI65TR.js} +2 -2
- package/dist/cli/chunks/{chunk-VS77GAT4.js → chunk-OLPJGYO5.js} +2 -2
- package/dist/cli/chunks/{chunk-54IXQXIS.js → chunk-OQWG7GOD.js} +2 -2
- package/dist/cli/chunks/{chunk-RBXHFTQ5.js → chunk-P736OKQN.js} +1 -1
- package/dist/cli/chunks/{chunk-LUWMJZ7E.js → chunk-PADCR4LY.js} +2 -2
- package/dist/cli/chunks/{chunk-L7XNBJHV.js → chunk-PBJ5I2NS.js} +2 -2
- package/dist/cli/chunks/{chunk-A5AE5UPZ.js → chunk-PJNIDDER.js} +1 -1
- package/dist/cli/chunks/{chunk-ZXXUIYCB.js → chunk-PT6U3IIK.js} +2 -2
- package/dist/cli/chunks/{chunk-JHVEZHOK.js → chunk-PZHAPI47.js} +3 -3
- package/dist/cli/chunks/{chunk-IYG6DTCX.js → chunk-QYHRDBKI.js} +2 -2
- package/dist/cli/chunks/{chunk-EJK3MI3R.js → chunk-RAV2NJNX.js} +1 -1
- package/dist/cli/chunks/{chunk-GBYAKR2N.js → chunk-RGUKQXKL.js} +2 -2
- package/dist/cli/chunks/{chunk-SXZQT2FZ.js → chunk-S3FNAHNC.js} +2 -2
- package/dist/cli/chunks/{chunk-B6XFUYR5.js → chunk-SJJFU7KK.js} +2 -2
- package/dist/cli/chunks/{chunk-A3DXONS3.js → chunk-SW56PB22.js} +2 -2
- package/dist/cli/chunks/{chunk-W6GI7MUQ.js → chunk-T5M4TZRB.js} +3 -3
- package/dist/cli/chunks/{chunk-GX6CO3D6.js → chunk-TBO64O56.js} +1 -1
- package/dist/cli/chunks/{chunk-MOI2ZRZO.js → chunk-TCVEXQLL.js} +2 -2
- package/dist/cli/chunks/{chunk-4QMDA37H.js → chunk-TJ67B7S7.js} +2 -2
- package/dist/cli/chunks/{chunk-4GQ5VVOT.js → chunk-TMY2Y7SC.js} +4 -4
- package/dist/cli/chunks/{chunk-PESU633W.js → chunk-TU4BYSXR.js} +2 -2
- package/dist/cli/chunks/{chunk-JOCSV4LF.js → chunk-TZA45FI7.js} +2 -2
- package/dist/cli/chunks/{chunk-7XX27XNP.js → chunk-U6G6RUFI.js} +1 -1
- package/dist/cli/chunks/{chunk-FWKC7LT4.js → chunk-UDFTDQ6C.js} +34 -29
- package/dist/cli/chunks/{chunk-UYTIAJYR.js → chunk-UDSNWQQI.js} +1 -1
- package/dist/cli/chunks/{chunk-RKW2QJOO.js → chunk-UGFHEVG4.js} +2 -2
- package/dist/cli/chunks/{chunk-LX6NH7H6.js → chunk-UJ2NRIAS.js} +2 -2
- package/dist/cli/chunks/chunk-UPMQHCC2.js +22 -0
- package/dist/cli/chunks/{chunk-Q3TRNLVW.js → chunk-UX5SM2PW.js} +1 -1
- package/dist/cli/chunks/{chunk-AWS57CRP.js → chunk-UZ7OWJ75.js} +1 -1
- package/dist/cli/chunks/{chunk-WCXFSJRL.js → chunk-V7QZMOG3.js} +2 -2
- package/dist/cli/chunks/{chunk-FOFNV7BX.js → chunk-VC77SDNH.js} +2 -2
- package/dist/cli/chunks/{chunk-LIGWEFMX.js → chunk-VHNAN7E2.js} +1 -1
- package/dist/cli/chunks/{chunk-ZFMJT3W3.js → chunk-VLW63UA2.js} +2 -2
- package/dist/cli/chunks/{chunk-DSIBLIBT.js → chunk-VNVGCJCS.js} +1 -1
- package/dist/cli/chunks/{chunk-D33E5HHN.js → chunk-VU3ARH4S.js} +1 -1
- package/dist/cli/chunks/{chunk-QLZARNJZ.js → chunk-W2NQDAJZ.js} +2 -2
- package/dist/cli/chunks/{chunk-CXE4PRSD.js → chunk-W2T36CS5.js} +1 -1
- package/dist/cli/chunks/{chunk-63MYZ3M7.js → chunk-W7BB4XLP.js} +2 -2
- package/dist/cli/chunks/{chunk-GTODN5Y4.js → chunk-WINYWMQP.js} +1 -1
- package/dist/cli/chunks/{chunk-IAETFGEU.js → chunk-WJB6YYMJ.js} +2 -2
- package/dist/cli/chunks/{chunk-HG72GVB7.js → chunk-WRMJWQUI.js} +1 -1
- package/dist/cli/chunks/{chunk-IPEZNH4I.js → chunk-WRZ5WZG3.js} +2 -2
- package/dist/cli/chunks/{chunk-JQOCV2J6.js → chunk-WVNLNXXI.js} +2 -2
- package/dist/cli/chunks/{chunk-DUTNDBCG.js → chunk-WYQM7GXW.js} +2 -2
- package/dist/cli/chunks/{chunk-GM2PCHSQ.js → chunk-XDK2TPI5.js} +1 -1
- package/dist/cli/chunks/{chunk-THFXHXI5.js → chunk-XEUUWOSS.js} +3 -3
- package/dist/cli/chunks/{chunk-OF6KNZTQ.js → chunk-XVFSZLRS.js} +1 -1
- package/dist/cli/chunks/{chunk-CHI37YGC.js → chunk-XZI4QXJJ.js} +2 -2
- package/dist/cli/chunks/{chunk-3ZE2SY34.js → chunk-Y2S6SS7M.js} +2 -2
- package/dist/cli/chunks/{chunk-6VYUCWXP.js → chunk-YDEYB6Z2.js} +1 -1
- package/dist/cli/chunks/{chunk-KMXLPREX.js → chunk-YEPJS4AM.js} +2 -2
- package/dist/cli/chunks/{chunk-YQJ2OXDO.js → chunk-YRCNWQBO.js} +2 -2
- package/dist/cli/chunks/{chunk-VAXIHPO5.js → chunk-YRV45WDT.js} +2 -2
- package/dist/cli/chunks/{chunk-XIPRR7GY.js → chunk-YXUFGDGS.js} +1 -1
- package/dist/cli/chunks/{chunk-IQ56TA3L.js → chunk-YYAJEPRD.js} +1 -1
- package/dist/cli/chunks/{chunk-IQVO6WPK.js → chunk-Z5ARI4XT.js} +2 -2
- package/dist/cli/chunks/{chunk-UHEBXKTE.js → chunk-ZNGFSR5M.js} +2 -2
- package/dist/cli/chunks/{ci-IMU2IXPA.js → ci-M6WYL2XY.js} +2 -2
- package/dist/cli/chunks/{ci-output-LGKIJVS5.js → ci-output-JFC3WOHX.js} +2 -2
- package/dist/cli/chunks/{circuit-breaker-FZ7TGAHZ.js → circuit-breaker-IMVBU6WP.js} +2 -2
- package/dist/cli/chunks/{claude-flow-setup-W3XJ4FJ2.js → claude-flow-setup-M5T5ZUXX.js} +2 -2
- package/dist/cli/chunks/client-4Q5JE7RY.js +2 -0
- package/dist/cli/chunks/{cline-installer-TI3Y6JJR.js → cline-installer-LSFAUHXC.js} +2 -2
- package/dist/cli/chunks/{code-NX6PWOUZ.js → code-N3SWJ3XL.js} +2 -2
- package/dist/cli/chunks/{code-index-extractor-GQDB5XMF.js → code-index-extractor-WPGRG36B.js} +2 -2
- package/dist/cli/chunks/{codex-installer-EZZFZ5VD.js → codex-installer-LKRCSDU5.js} +2 -2
- package/dist/cli/chunks/{completions-X4ASXBRI.js → completions-E5TBZ5AB.js} +2 -2
- package/dist/cli/chunks/{complexity-analyzer-PYG3DINO.js → complexity-analyzer-3FOSOELK.js} +2 -2
- package/dist/cli/chunks/{continuedev-installer-IR3Y2BQQ.js → continuedev-installer-ZSVFWMQB.js} +2 -2
- package/dist/cli/chunks/{copilot-installer-JCTLA6PG.js → copilot-installer-POSKHPZM.js} +2 -2
- package/dist/cli/chunks/core-handlers-4GKEYGPS.js +2 -0
- package/dist/cli/chunks/{cost-tracker-BYW7MIWY.js → cost-tracker-3UWDCNGC.js} +2 -2
- package/dist/cli/chunks/{coverage-NY5GJHHO.js → coverage-HPBO67JF.js} +3 -3
- package/dist/cli/chunks/cross-domain-router-PBJ2ZGPJ.js +2 -0
- package/dist/cli/chunks/{cursor-installer-LY2DK5ME.js → cursor-installer-DSW3L62X.js} +2 -2
- package/dist/cli/chunks/{daemon-LUSUET7S.js → daemon-2622ZCMJ.js} +3 -3
- package/dist/cli/chunks/{daemon-6BBTE3WA.js → daemon-33KTKDUM.js} +6 -6
- package/dist/cli/chunks/{dag-attention-scheduler-ETVDRH42.js → dag-attention-scheduler-YFT5JMM6.js} +2 -2
- package/dist/cli/chunks/{detect-5TDALRZ4.js → detect-COR3Q6BE.js} +2 -2
- package/dist/cli/chunks/{dist-node-ITA3A7NT.js → dist-node-5TRNTNWI.js} +2 -2
- package/dist/cli/chunks/{domain-handler-MMK44XEP.js → domain-handler-TZC4GCF6.js} +2 -2
- package/dist/cli/chunks/{domain-transfer-XUYQQUDR.js → domain-transfer-D2TENM3Y.js} +2 -2
- package/dist/cli/chunks/dream-4EXVFHUJ.js +2 -0
- package/dist/cli/chunks/{embed-and-insert-pattern-QVICUJUQ.js → embed-and-insert-pattern-COAZZGS6.js} +2 -2
- package/dist/cli/chunks/{eval-SXTOGYM3.js → eval-5ID5D77H.js} +2 -2
- package/dist/cli/chunks/{experience-capture-middleware-4HPAJFR6.js → experience-capture-middleware-MT4Z74TD.js} +3 -3
- package/dist/cli/chunks/{fast-paths-YBKHXUDN.js → fast-paths-MACRZGSE.js} +2 -2
- package/dist/cli/chunks/{feature-flags-Z5FQBEV4.js → feature-flags-JZX6ZBUX.js} +2 -2
- package/dist/cli/chunks/{feature-flags-S5Z3ULWK.js → feature-flags-LFNL6BHS.js} +2 -2
- package/dist/cli/chunks/{file-discovery-XZW5LKN3.js → file-discovery-DA5BEAO2.js} +2 -2
- package/dist/cli/chunks/{fleet-O75AZK4L.js → fleet-35I4F7D2.js} +3 -3
- package/dist/cli/chunks/{gnn-wrapper-U4DJTYGF.js → gnn-wrapper-2W3HM3ZI.js} +2 -2
- package/dist/cli/chunks/{heartbeat-handler-OWA45EGK.js → heartbeat-handler-6O2D2FU2.js} +4 -4
- package/dist/cli/chunks/heartbeat-scheduler-UNEYR3WR.js +2 -0
- package/dist/cli/chunks/hnsw-adapter-JQG66H4L.js +2 -0
- package/dist/cli/chunks/hnsw-index-2NOROILM.js +2 -0
- package/dist/cli/chunks/{hnsw-legacy-bridge-7TOTV3ZL.js → hnsw-legacy-bridge-GWBXEMQR.js} +2 -2
- package/dist/cli/chunks/{hnswlib-node-IZMOJZUS.js → hnswlib-node-TZ4VLARU.js} +2 -2
- package/dist/cli/chunks/{hooks-PE5LSJKB.js → hooks-723GPTQ4.js} +46 -45
- package/dist/cli/chunks/hybrid-router-FXTAJATE.js +2 -0
- package/dist/cli/chunks/{hypergraph-engine-D35OOHVQ.js → hypergraph-engine-ILRYFJM5.js} +2 -2
- package/dist/cli/chunks/{hypergraph-handler-DK3LHKQH.js → hypergraph-handler-523TSK4P.js} +3 -3
- package/dist/cli/chunks/impact-analyzer-VHZSBWMT.js +2 -0
- package/dist/cli/chunks/{init-handler-IRDWSHCT.js → init-handler-RBDYIXNV.js} +6 -6
- package/dist/cli/chunks/init-wizard-EML4OET2.js +2 -0
- package/dist/cli/chunks/kernel-TMRJOEO2.js +2 -0
- package/dist/cli/chunks/{kilocode-installer-USR3YEL6.js → kilocode-installer-E2QSX7Z7.js} +2 -2
- package/dist/cli/chunks/{kiro-installer-HYY224T6.js → kiro-installer-EZZLT2R5.js} +2 -2
- package/dist/cli/chunks/knowledge-graph-FMKVCMJQ.js +2 -0
- package/dist/cli/chunks/{learning-IHMVNPBE.js → learning-II2U3EV2.js} +44 -44
- package/dist/cli/chunks/{llm-router-J56WPWPM.js → llm-router-WC66OXZH.js} +4 -4
- package/dist/cli/chunks/llm-router-service-GOSVGMKM.js +2 -0
- package/dist/cli/chunks/{load-FXXVWFL6.js → load-QFQ3YOBQ.js} +2 -2
- package/dist/cli/chunks/load-test-WIRGDZIA.js +2 -0
- package/dist/cli/chunks/{mcp-KU5KYQTD.js → mcp-FPBBJJFY.js} +2 -2
- package/dist/cli/chunks/{memory-J2IAQPDA.js → memory-RKN6KV75.js} +5 -5
- package/dist/cli/chunks/memory-backend-XBBIXDZU.js +2 -0
- package/dist/cli/chunks/{memory-handlers-7ABPOY43.js → memory-handlers-SQHNK3DK.js} +2 -2
- package/dist/cli/chunks/{multi-model-executor-6PUQXMYY.js → multi-model-executor-OUNW3JM5.js} +2 -2
- package/dist/cli/chunks/{opencode-installer-WMIV5I7Y.js → opencode-installer-FXETYGGY.js} +2 -2
- package/dist/cli/chunks/{orchestrator-5IT7SH3J.js → orchestrator-35UTVXSP.js} +8 -8
- package/dist/cli/chunks/pattern-null-store-PFLKHRVU.js +2 -0
- package/dist/cli/chunks/pattern-usage-recorder-YEQDS7DN.js +2 -0
- package/dist/cli/chunks/{pipeline-E2IRDQWS.js → pipeline-YDJMWCAR.js} +2 -2
- package/dist/cli/chunks/{platform-2VT7N4FW.js → platform-L3LPNVKT.js} +2 -2
- package/dist/cli/chunks/{plugin-LCDA6EH7.js → plugin-55EYFJH5.js} +2 -2
- package/dist/cli/chunks/{prime-radiant-advanced-wasm-ROJL25C7.js → prime-radiant-advanced-wasm-SUZT6RTM.js} +2 -2
- package/dist/cli/chunks/protocol-executor-GAMNY2JB.js +2 -0
- package/dist/cli/chunks/{protocol-handler-VFJIPR3Z.js → protocol-handler-QNBFRJNY.js} +2 -2
- package/dist/cli/chunks/{prove-7FUSRIPO.js → prove-3X5NQP4L.js} +2 -2
- package/dist/cli/chunks/provider-manager-VTIG5AKU.js +2 -0
- package/dist/cli/chunks/qe-reasoning-bank-KAX63PXV.js +2 -0
- package/dist/cli/chunks/{quality-ZH7UVAOX.js → quality-5ZONTNA6.js} +2 -2
- package/dist/cli/chunks/{quality-gate-AMEWYWGC.js → quality-gate-JPNREEVR.js} +3 -3
- package/dist/cli/chunks/queen-coordinator-UYW2MDKI.js +2 -0
- package/dist/cli/chunks/{real-embeddings-IZVFG3L7.js → real-embeddings-HHR75AR5.js} +2 -2
- package/dist/cli/chunks/{roocode-installer-HAYQZOWR.js → roocode-installer-ZK73O2GD.js} +2 -2
- package/dist/cli/chunks/router-NVDU7IIA.js +2 -0
- package/dist/cli/chunks/routing-feedback-KHR3J2J3.js +2 -0
- package/dist/cli/chunks/{routing-handler-7BQ4DGTC.js → routing-handler-2UN5GRHJ.js} +2 -2
- package/dist/cli/chunks/ruvector-commands-EQQUEVWN.js +8 -0
- package/dist/cli/chunks/{rvf-dual-writer-FWKV5K2X.js → rvf-dual-writer-43L75WLF.js} +2 -2
- package/dist/cli/chunks/{rvf-migration-adapter-PI5KBWJU.js → rvf-migration-adapter-Y5OVCYTO.js} +2 -2
- package/dist/cli/chunks/{rvf-migration-coordinator-JHXYB46O.js → rvf-migration-coordinator-NEPDFB3N.js} +2 -2
- package/dist/cli/chunks/rvf-native-adapter-PQ4IOTZU.js +2 -0
- package/dist/cli/chunks/{rvf-store-integrity-DUM657DL.js → rvf-store-integrity-66FEC3MD.js} +2 -2
- package/dist/cli/chunks/safe-db-QHSFV63M.js +2 -0
- package/dist/cli/chunks/schedule-JGZFHJGM.js +2 -0
- package/dist/cli/chunks/scheduler-NGCDQIW5.js +2 -0
- package/dist/cli/chunks/{security-T5DTMZC6.js → security-H7PEUUCV.js} +3 -3
- package/dist/cli/chunks/{shared-rvf-adapter-H5DBPOKP.js → shared-rvf-adapter-XETNK4ID.js} +2 -2
- package/dist/cli/chunks/{shared-rvf-dual-writer-RNX4ZPSI.js → shared-rvf-dual-writer-PXD54BWJ.js} +2 -2
- package/dist/cli/chunks/sqlite-persistence-3JSNWL6I.js +2 -0
- package/dist/cli/chunks/{status-handler-FRFUWMNX.js → status-handler-CTXOH3FX.js} +2 -2
- package/dist/cli/chunks/{structural-health-HGI5BVK5.js → structural-health-EIFBDCRI.js} +2 -2
- package/dist/cli/chunks/{sync-SM74LPGW.js → sync-3SU4H6R3.js} +2 -2
- package/dist/cli/chunks/{sync-BZXPUFID.js → sync-PECWQ64K.js} +2 -2
- package/dist/cli/chunks/{task-handler-JSNI3UUU.js → task-handler-ZTUAT6YF.js} +2 -2
- package/dist/cli/chunks/{task-handlers-3GX6FAIK.js → task-handlers-4RIO7LJJ.js} +3 -3
- package/dist/cli/chunks/{test-GJKIE5YP.js → test-EV7BSUTI.js} +4 -4
- package/dist/cli/chunks/{test-scheduling-GNQNODVJ.js → test-scheduling-4WVI5DLE.js} +3 -3
- package/dist/cli/chunks/{token-bootstrap-Y7M4MA5T.js → token-bootstrap-3P22AYZ4.js} +2 -2
- package/dist/cli/chunks/{token-usage-MJFATDHC.js → token-usage-FR3JOWYB.js} +2 -2
- package/dist/cli/chunks/{transformers-4KPBAG5X.js → transformers-FENO33LA.js} +2 -2
- package/dist/cli/chunks/{tree-sitter-wasm-parser-DH7LQEKB.js → tree-sitter-wasm-parser-YFGJLSMB.js} +2 -2
- package/dist/cli/chunks/{types-LMEHA7DB.js → types-N3Y565RZ.js} +2 -2
- package/dist/cli/chunks/unified-memory-4VO5KSHP.js +2 -0
- package/dist/cli/chunks/unified-memory-hnsw-ZR2FZXOB.js +2 -0
- package/dist/cli/chunks/unified-persistence-VFPW5MFM.js +2 -0
- package/dist/cli/chunks/upgrade-33ZVVZFW.js +5 -0
- package/dist/cli/chunks/{validate-MLIAYGQB.js → validate-CS5PXGDF.js} +2 -2
- package/dist/cli/chunks/{validate-swarm-35YPIDUP.js → validate-swarm-GRZPWYNM.js} +2 -2
- package/dist/cli/chunks/{vibium-6SVRNFHR.js → vibium-IO7N4VEE.js} +2 -2
- package/dist/cli/chunks/visual-security-SNADRUPR.js +2 -0
- package/dist/cli/chunks/{web-tree-sitter-QYZYEGUN.js → web-tree-sitter-UQXR5HHR.js} +2 -2
- package/dist/cli/chunks/{windsurf-installer-XUFBPW4P.js → windsurf-installer-BCKLSLZT.js} +2 -2
- package/dist/cli/chunks/witness-chain-2TXUTEJE.js +2 -0
- package/dist/cli/chunks/{witness-chain-33NEUT4H.js → witness-chain-R3V26QWL.js} +2 -2
- package/dist/cli/chunks/{witness-key-manager-SVCIWNWV.js → witness-key-manager-Y36HMPEM.js} +2 -2
- package/dist/cli/chunks/{workflow-GFR6CHMB.js → workflow-4TCIUUFQ.js} +4 -4
- package/dist/cli/chunks/workflow-orchestrator-ON6UYRVE.js +2 -0
- package/dist/cli/chunks/{wrappers-IBS4IWV4.js → wrappers-MD4JRHJH.js} +2 -2
- package/dist/cli/commands/daemon.js +3 -3
- package/dist/cli/commands/hooks-handlers/hooks-dream-learning.js +20 -10
- package/dist/cli/commands/hooks-handlers/routing-hooks.js +7 -0
- package/dist/cli/commands/learning.js +55 -17
- package/dist/cli/commands/plugin.js +4 -4
- package/dist/cli/commands/quality-gate.js +5 -1
- package/dist/cli/commands/ruvector-commands.js +1 -1
- package/dist/cli/commands/upgrade.d.ts +5 -1
- package/dist/cli/commands/upgrade.js +34 -6
- 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/init/phases/12-verification.js +8 -2
- 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/feature-flags.d.ts +2 -2
- 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.d.ts +1 -1
- package/dist/integrations/ruvector/index.js +52 -52
- package/dist/integrations/ruvector/page-rank-backends.d.ts +41 -0
- package/dist/integrations/ruvector/page-rank-backends.js +154 -0
- 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.d.ts +26 -29
- package/dist/integrations/ruvector/solver-adapter.js +57 -164
- 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-promotion.d.ts +11 -1
- package/dist/learning/pattern-promotion.js +27 -0
- package/dist/learning/pattern-routing-guidance.d.ts +16 -0
- package/dist/learning/pattern-routing-guidance.js +34 -0
- package/dist/learning/pattern-usage-recorder.d.ts +10 -0
- package/dist/learning/pattern-usage-recorder.js +47 -0
- package/dist/learning/qe-reasoning-bank-types.d.ts +4 -0
- package/dist/learning/qe-reasoning-bank.d.ts +6 -0
- package/dist/learning/qe-reasoning-bank.js +16 -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 +402 -389
- 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/circuit-breaker.js +1 -1
- package/dist/shared/llm/index.js +11 -11
- 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 +16 -16
- 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/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/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/translation/index.js +3 -3
- 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 +4 -3
- package/dist/cli/chunks/adapter-RFMUKKTU.js +0 -2
- package/dist/cli/chunks/aqe-learning-engine-YX4ZUVGL.js +0 -2
- package/dist/cli/chunks/base-BSRCRB56.js +0 -2
- package/dist/cli/chunks/browser-workflow-MDJBG6CZ.js +0 -2
- package/dist/cli/chunks/chunk-2FZW44YF.js +0 -21
- package/dist/cli/chunks/chunk-EEKIJM5G.js +0 -2
- package/dist/cli/chunks/chunk-G733R72C.js +0 -12
- package/dist/cli/chunks/chunk-Y5K3U5TI.js +0 -14
- package/dist/cli/chunks/client-N4UGKZ2N.js +0 -2
- package/dist/cli/chunks/core-handlers-AGVNKIM6.js +0 -2
- package/dist/cli/chunks/cross-domain-router-OKWDNCGK.js +0 -2
- package/dist/cli/chunks/dream-ET6PS24D.js +0 -2
- package/dist/cli/chunks/heartbeat-scheduler-MORGAHPF.js +0 -2
- package/dist/cli/chunks/hnsw-adapter-ZGMA3JMM.js +0 -2
- package/dist/cli/chunks/hnsw-index-SOQKFDD4.js +0 -2
- package/dist/cli/chunks/hybrid-router-DUOPXCME.js +0 -2
- package/dist/cli/chunks/impact-analyzer-7VPH2ILD.js +0 -2
- package/dist/cli/chunks/init-wizard-DEVYG7A6.js +0 -2
- package/dist/cli/chunks/kernel-QXRVO4OT.js +0 -2
- package/dist/cli/chunks/knowledge-graph-DJNX5GHZ.js +0 -2
- package/dist/cli/chunks/llm-router-service-LGB7IXQN.js +0 -2
- package/dist/cli/chunks/load-test-4UPWRKNK.js +0 -2
- package/dist/cli/chunks/memory-backend-7GNWUUTD.js +0 -2
- package/dist/cli/chunks/pattern-null-store-VIN6WCCD.js +0 -2
- package/dist/cli/chunks/pattern-usage-recorder-BSTPCNTW.js +0 -2
- package/dist/cli/chunks/protocol-executor-LZRFQ3LC.js +0 -2
- package/dist/cli/chunks/provider-manager-776QJ45P.js +0 -2
- package/dist/cli/chunks/qe-reasoning-bank-ZA47GW6I.js +0 -2
- package/dist/cli/chunks/queen-coordinator-6YQWKOKJ.js +0 -2
- package/dist/cli/chunks/router-XILTD4YX.js +0 -2
- package/dist/cli/chunks/routing-feedback-D6NPEQ7P.js +0 -2
- package/dist/cli/chunks/ruvector-commands-QPSAC3JN.js +0 -8
- package/dist/cli/chunks/rvf-native-adapter-TPQTEI42.js +0 -2
- package/dist/cli/chunks/safe-db-PRWZLYKS.js +0 -2
- package/dist/cli/chunks/schedule-NPNJ2XSF.js +0 -2
- package/dist/cli/chunks/scheduler-IS3IM2KD.js +0 -2
- package/dist/cli/chunks/sqlite-persistence-Q2JMMJ4C.js +0 -2
- package/dist/cli/chunks/unified-memory-VH2UVAIN.js +0 -2
- package/dist/cli/chunks/unified-memory-hnsw-WRGZCJLD.js +0 -2
- package/dist/cli/chunks/unified-persistence-LLARTGPG.js +0 -2
- package/dist/cli/chunks/upgrade-TZQKTKEE.js +0 -5
- package/dist/cli/chunks/visual-security-AR645425.js +0 -2
- package/dist/cli/chunks/witness-chain-DCFTYGUF.js +0 -2
- package/dist/cli/chunks/workflow-orchestrator-PDPORL64.js +0 -2
|
@@ -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 N,b as P,c as j,d as S,e as Y,f as T,g as V,h as C,i as J,j as Z,k as U,l as he,m as M,n as ee,o as we,p as _,q as W,r as z,s as H}from"./chunk-54IXQXIS.js";import{h as be}from"./chunk-DT4ZMOFZ.js";import{b as ye}from"./chunk-WC3WHPUW.js";import"./chunk-UNAAAXI2.js";import"./chunk-B6XFUYR5.js";import"./chunk-DUTNDBCG.js";import"./chunk-EEKIJM5G.js";import"./chunk-IYG6DTCX.js";import"./chunk-N46VHXWO.js";import{b as x,d as X}from"./chunk-JOCSV4LF.js";import{a as ue,b as pe,c as ge,d as k,f as Ke}from"./chunk-STFUARVH.js";import"./chunk-MOI2ZRZO.js";import{a as A,b as He}from"./chunk-TGFOEDBY.js";import"./chunk-GBYAKR2N.js";import"./chunk-NUWMKDQH.js";import"./chunk-IAETFGEU.js";import"./chunk-LCVKHWW2.js";import"./chunk-HUF4AONC.js";import"./chunk-X2337R6M.js";import"./chunk-ZXXUIYCB.js";import"./chunk-MTDKYFTA.js";import"./chunk-HZLDCCUG.js";import B from"path";import o from"chalk";He();X();import{existsSync as K,mkdirSync as Ge,writeFileSync as Qe,readFileSync as ne}from"fs";import{join as E,resolve as te}from"path";var Xe={rl_q_values:"includeQValues",dream_insights:"includeDreamInsights",dream_cycles:"includeDreamInsights",witness_chain:"includeWitnessChain",vectors:"includeVectors"};function Ye(e,n){let r=Xe[e.tableName];return!(r&&n[r]===!1)}var Ze=1e4;function en(e,n,r,t){if(!Ye(n,r))return ee(E(t,n.fileName),[]),{count:0,rows:[]};let[a,i]=n.domainColumn?M(r.domains,n.domainColumn):[void 0,[]];if(Z(e,n.tableName,a,i)>=Ze){let l=n.blobColumns,f=l&&l.length>0?y=>T(y,l):void 0;return{count:we(E(t,n.fileName),he(e,n.tableName,a,i),f)}}let s=U(e,n.tableName,a,i);return n.blobColumns&&n.blobColumns.length>0&&(s=s.map(l=>T(l,n.blobColumns))),ee(E(t,n.fileName),s),{count:s.length,rows:s}}function ve(e){let n=[];for(let r of S){let t=E(e,r.fileName);K(t)?n.push(C(ne(t,"utf-8"))):n.push(C(""))}return C(n.join(":"))}function Re(e,n,r="memory.db"){let t=te(n.outputPath);K(t)||Ge(t,{recursive:!0});let a=0,i={},d=new Set;for(let u of S){let y=en(e,u,n,t);if(i[u.tableName]=y.count,a+=y.count,u.tableName==="qe_patterns"){if(y.rows)for(let c of y.rows)c.qe_domain&&d.add(c.qe_domain);else if(y.count>0){let[c,w]=u.domainColumn?M(n.domains,u.domainColumn):[void 0,[]],p=`SELECT DISTINCT qe_domain FROM qe_patterns ${c?`WHERE ${c} AND qe_domain IS NOT NULL`:"WHERE qe_domain IS NOT NULL"}`;try{let g=e.prepare(p).all(...w||[]);for(let v of g)d.add(v.qe_domain)}catch{}}}}let s=n.includeVectors!==!1?Z(e,"vectors"):0,l=ve(t),f={version:"3.0",exportedAt:new Date().toISOString(),sourceDb:r,stats:{patternCount:i.qe_patterns||0,vectorCount:s,qValueCount:i.rl_q_values||0,dreamInsightCount:i.dream_insights||0,witnessChainLength:i.witness_chain||0,totalRecords:a},domains:[...d].sort(),checksum:l,tableRecordCounts:i};return Qe(E(t,"manifest.json"),JSON.stringify(f,null,2),"utf-8"),f}var nn=new Set(["qe_patterns","rl_q_values","dream_insights","witness_chain"]);function tn(e){return e==="1.0"?S.filter(n=>nn.has(n.tableName)):e==="3.0"?S:(console.warn(`[brain-import] Unknown manifest version '${e}'. Attempting full import \u2014 some files may be missing.`),S)}function Se(e,n,r){let t=te(n),a=E(t,"manifest.json");if(!K(a))throw new Error(`Manifest not found at ${a}`);let i=x(ne(a,"utf-8")),d=ve(t);if(d!==i.checksum)throw new Error(`Checksum mismatch: expected ${i.checksum}, got ${d}. The export may have been tampered with or corrupted.`);let s=tn(i.version);if(r.dryRun){let c=0;for(let w of s){let m=_(E(t,w.fileName),x);c+=m.length}return{imported:c,skipped:0,conflicts:0}}H(e);let l=0,f=0,u=0;return e.transaction(()=>{for(let c of s){let w=E(t,c.fileName),m=_(w,x);c.blobColumns&&c.blobColumns.length>0&&(m=m.map(p=>V(p,c.blobColumns)));for(let p of m){let g;if(c.dedupColumns&&c.dedupColumns.length>0)g=z(e,c.tableName,p,c.dedupColumns);else{let v=N[c.tableName]||"id",h=j[c.tableName],I=P[c.tableName];g=W(e,c.tableName,p,v,r.mergeStrategy,h,I)}l+=g.imported,f+=g.skipped,u+=g.conflicts}}})(),{imported:l,skipped:f,conflicts:u}}function xe(e){let n=te(e),r=E(n,"manifest.json");if(!K(r))throw new Error(`Manifest not found at ${r}`);return x(ne(r,"utf-8"))}Ke();import{existsSync as q,readdirSync as rn,renameSync as on,statSync as an,unlinkSync as re,writeFileSync as sn}from"fs";import{basename as ln,dirname as dn,join as cn,resolve as oe}from"path";var Ee=["",".idmap.json",".manifest.json"],fn=[...Ee,".lock"];function Ce(e){for(let n of fn)try{let r=`${e}${n}`;q(r)&&re(r)}catch{}}function mn(e){let n=dn(e),r=`${ln(e)}.tmp.`,t;try{t=rn(n)}catch{return}for(let a of t){if(!a.startsWith(r))continue;let i=Number.parseInt(a.slice(r.length).split(".")[0],10);if(!(!Number.isInteger(i)||i<=0)&&!(i!==process.pid&&un(i)))try{re(cn(n,a))}catch{}}}function un(e){try{return process.kill(e,0),!0}catch(n){return n.code==="EPERM"}}function Be(e,n,r="memory.db"){if(!k())throw new Error("@ruvector/rvf-node is not available. Install it or use --format jsonl instead.");let t=oe(n.outputPath),a=n.dimension??384,i=`${t}.tmp.${process.pid}`;mn(t),Ce(i);let d=ue(i,a),s=!1;try{let l={},f=new Set,u=0;for(let R of S){let[b,O]=R.domainColumn?M(n.domains,R.domainColumn):[void 0,[]],$=U(e,R.tableName,b,O);if(R.tableName==="qe_patterns")for(let L of $)L.qe_domain&&f.add(L.qe_domain);let Q=Y[R.tableName];Q&&Q.length>0&&($=$.map(L=>T(L,Q))),l[R.tableName]=$,u+=$.length}let y=0,c=[];if(J(e,"qe_pattern_embeddings")){let R=e.prepare("SELECT pattern_id, embedding, dimension FROM qe_pattern_embeddings").all();for(let b of R)b.embedding&&b.dimension===a&&c.push({id:`pe:${b.pattern_id}`,vector:new Float32Array(b.embedding.buffer,b.embedding.byteOffset,a),metadata:{tableName:"qe_pattern_embeddings"}})}if(J(e,"captured_experiences")){let R=e.prepare("SELECT id, embedding, embedding_dimension, domain, quality FROM captured_experiences WHERE embedding IS NOT NULL").all();for(let b of R)b.embedding_dimension===a&&c.push({id:`exp:${b.id}`,vector:new Float32Array(b.embedding.buffer,b.embedding.byteOffset,a),metadata:{tableName:"captured_experiences",domain:b.domain,confidence:b.quality}})}if(J(e,"sona_patterns")){let R=e.prepare("SELECT id, state_embedding, domain, confidence FROM sona_patterns WHERE state_embedding IS NOT NULL").all();for(let b of R)b.state_embedding.byteLength/4===a&&c.push({id:`sona:${b.id}`,vector:new Float32Array(b.state_embedding.buffer,b.state_embedding.byteOffset,a),metadata:{tableName:"sona_patterns",domain:b.domain,confidence:b.confidence}})}c.length>0&&(y=d.ingest(c).accepted);let w={version:"3.0",format:"rvf",exportedAt:new Date().toISOString(),sourceDb:r,domains:[...f].sort(),tables:l},m=JSON.stringify(w),p=C(m),g=Buffer.from(m);d.embedKernel(g);let v=n.sign?d.sign(g)??void 0:void 0,h=v?n.signerKeyId??"default":void 0,I=d.fileId(),F=I?{fileId:I,parentId:d.parentId(),lineageDepth:d.lineageDepth()}:void 0,D=d.status(),me={version:"3.0",format:"rvf",exportedAt:w.exportedAt,sourceDb:r,stats:{patternCount:(l.qe_patterns||[]).length,embeddingCount:y,qValueCount:(l.rl_q_values||[]).length,dreamInsightCount:(l.dream_insights||[]).length,witnessChainLength:(l.witness_chain||[]).length,totalRecords:u},domains:w.domains,checksum:p,rvfStatus:{totalVectors:D.totalVectors,totalSegments:D.totalSegments,fileSizeBytes:D.fileSizeBytes},...v?{signature:v,signerKeyId:h}:{},...F?{lineage:F}:{}};if(v)try{d.freeze()}catch{}sn(`${i}.manifest.json`,JSON.stringify(me,null,2),"utf-8"),d.close(),s=!0;for(let R of[...Ee].reverse()){let b=`${i}${R}`,O=`${t}${R}`;q(b)?on(b,O):q(O)&&re(O)}return me}catch(l){if(!s)try{d.close()}catch{}throw Ce(i),l}}var pn={patterns:"qe_patterns",qValues:"rl_q_values",dreamInsights:"dream_insights",witnessChain:"witness_chain"};function _e(e,n,r){if(!k())throw new Error("@ruvector/rvf-node is not available. Install it or use JSONL format.");let t=oe(n);if(!q(t))throw new Error(`RVF file not found: ${t}`);let a=pe(t);try{let i=a.verifyWitness();if(!i.valid&&(i.totalEntries>0||i.errors.length>0)){let m=i.errors.length>0?i.errors.join("; "):"unknown integrity error";throw new Error(`RVF witness verification failed: ${m}`)}let d=a.extractKernel();if(!d||!d.image)throw new Error("No brain data found in RVF file (missing kernel segment)");let s;try{s=JSON.parse(d.image.toString("utf-8"))}catch(m){throw new Error(`Failed to parse brain kernel data as JSON: ${m instanceof Error?m.message:m}`)}if(r.dryRun){let m=0;if(s.tables)for(let p of Object.values(s.tables))m+=p?.length??0;else m=(s.patterns?.length??0)+(s.qValues?.length??0)+(s.dreamInsights?.length??0)+(s.witnessChain?.length??0);return{imported:m,skipped:0,conflicts:0,embeddingsRestored:0}}H(e);let l=0,f=0,u=0,y=0,c={};if(s.tables)Object.assign(c,s.tables);else for(let[m,p]of Object.entries(pn)){let g=s[m];Array.isArray(g)&&(c[p]=g)}if(e.transaction(()=>{for(let m of S){let p=c[m.tableName];if(!p||!Array.isArray(p))continue;let g=Y[m.tableName];if(g&&g.length>0){p=p.map(v=>V(v,g));for(let v of p)for(let h of g)v[h]instanceof Buffer&&y++}for(let v of p){let h;if(m.dedupColumns&&m.dedupColumns.length>0)h=z(e,m.tableName,v,m.dedupColumns);else{let I=N[m.tableName]||"id",F=j[m.tableName],D=P[m.tableName];h=W(e,m.tableName,v,I,r.mergeStrategy,F,D)}l+=h.imported,f+=h.skipped,u+=h.conflicts}}})(),u>0)try{a.compact()}catch{}return{imported:l,skipped:f,conflicts:u,embeddingsRestored:y}}finally{a.close()}}function G(e){if(!k())throw new Error("@ruvector/rvf-node is not available.");let n=oe(e);if(!q(n))throw new Error(`RVF file not found: ${n}`);let r=ge(n);try{let t=r.extractKernel();if(!t||!t.image)throw new Error("No brain data found in RVF file");let a=t.image.toString("utf-8"),i;try{i=JSON.parse(a)}catch(w){throw new Error(`Failed to parse brain kernel data as JSON: ${w instanceof Error?w.message:w}`)}let d=r.status(),s=an(n).size,l=i.tables,f=l?l.qe_patterns?.length??0:i.patterns?.length??0,u=l?l.rl_q_values?.length??0:i.qValues?.length??0,y=l?l.dream_insights?.length??0:i.dreamInsights?.length??0,c=l?l.witness_chain?.length??0:i.witnessChain?.length??0;return{version:"3.0",format:"rvf",exportedAt:i.exportedAt??"unknown",sourceDb:i.sourceDb??"unknown",stats:{patternCount:f,embeddingCount:d.totalVectors,qValueCount:u,dreamInsightCount:y,witnessChainLength:c},domains:i.domains??[],checksum:C(a),rvfStatus:{totalVectors:d.totalVectors,totalSegments:d.totalSegments,fileSizeBytes:s}}}finally{r.close()}}function ae(){return k()}X();import{existsSync as se,readFileSync as gn,statSync as yn}from"fs";import{join as ie,resolve as Ie}from"path";function De(e,n,r={}){let t=Ie(e),a=Ie(n),i=Oe(t),d=Oe(a),s=Ae(t,i),l=Ae(a,d),f=i==="jsonl"&&d==="jsonl",u=wn({pathA:t,pathB:a,manifestA:s,manifestB:l,recordLevel:f,tableFilter:r.tableFilter,maxIdsPerBucket:r.maxIdsPerBucket??500}),y=new Set(s.domains),c=new Set(l.domains),w=s.domains.filter(h=>!c.has(h)),m=l.domains.filter(h=>!y.has(h)),p=s.checksum===l.checksum,g=s.version===l.version,v=p&&g&&u.every(h=>h.delta===0&&(h.added?.length??0)===0&&(h.removed?.length??0)===0&&(h.changed?.length??0)===0);return{pathA:t,pathB:a,formatA:i,formatB:d,manifestA:s,manifestB:l,checksumMatch:p,versionMatch:g,identical:v,recordLevel:f,tableDiffs:u,domainsOnlyInA:w,domainsOnlyInB:m}}function Oe(e){if(!se(e))throw new Error(`Path not found: ${e}`);if(e.endsWith(".rvf"))return"rvf";if(yn(e).isFile())throw new Error(`Unsupported brain export: ${e} (expected a .rvf file or a JSONL directory)`);return"jsonl"}function Ae(e,n){return n==="rvf"?hn(e):bn(e)}function bn(e){let n=ie(e,"manifest.json");if(!se(n))throw new Error(`Manifest not found at ${n}`);let r=x(gn(n,"utf-8"));return $e(r,"jsonl")}function hn(e){let n=G(e);return $e(n,"rvf")}function $e(e,n){return{format:n,version:e.version??"unknown",exportedAt:e.exportedAt??"unknown",sourceDb:e.sourceDb??"unknown",checksum:e.checksum??"",totalRecords:e.stats?.totalRecords??0,domains:e.domains??[],tableRecordCounts:e.tableRecordCounts??{}}}function wn(e){let n=e.tableFilter?S.filter(t=>t.tableName===e.tableFilter):S;if(e.tableFilter&&n.length===0)throw new Error(`Unknown table: ${e.tableFilter}`);let r=[];for(let t of n){let a=e.manifestA.tableRecordCounts[t.tableName]??0,i=e.manifestB.tableRecordCounts[t.tableName]??0,d=i-a,s,l,f;if(e.recordLevel&&vn(t)){let u=Rn(ie(e.pathA,t.fileName),ie(e.pathB,t.fileName),t,e.maxIdsPerBucket);s=u.added,l=u.removed,f=u.changed}r.push({tableName:t.tableName,countA:a,countB:i,delta:d,...s!==void 0?{added:s}:{},...l!==void 0?{removed:l}:{},...f!==void 0?{changed:f}:{}})}return r}function vn(e){return!0}function Rn(e,n,r,t){let a=Ne(e,r),i=Ne(n,r),d=[],s=[],l=[];for(let[f,u]of a){let y=i.get(f);if(y===void 0)s.length<t&&s.push(f);else if(y!==u){if(r.dedupColumns&&r.dedupColumns.length>0)continue;l.length<t&&l.push(f)}}for(let f of i.keys())a.has(f)||d.length<t&&d.push(f);return d.sort(),s.sort(),l.sort(),{added:d,removed:s,changed:l}}function Ne(e,n){let r=new Map;if(!se(e))return r;let t=_(e,x);for(let a of t){let i=Sn(a,n);if(i===void 0)continue;let d=xn(a);r.set(i,Cn(d))}return r}function Sn(e,n){if(n.dedupColumns&&n.dedupColumns.length>0){let a=[];for(let i of n.dedupColumns){let d=e[i];if(d==null)return;a.push(String(d))}return a.join("")}let r=N[n.tableName]??"id",t=e[r];if(t!=null)return String(t)}function xn(e){let n=Object.keys(e).sort(),r={};for(let t of n)r[t]=e[t];return JSON.stringify(r)}function Cn(e){return C(e)}X();import{existsSync as le,statSync as En}from"fs";import{join as ke,resolve as Bn}from"path";var _n=20,In="qe_patterns";function Te(e,n={}){let r=Bn(e);Nn(r);let t=n.table??In,a=S.find(g=>g.tableName===t);if(!a)throw new Error(`Unknown table: ${t}`);let i=ke(r,a.fileName);if(!le(i))throw new Error(`Table file not found: ${a.fileName} (expected in ${r}). Was this export generated with --format jsonl?`);let d=_(i,x),s=a.domainColumn,l=Math.max(1,n.limit??_n),f=n.query?n.query.toLowerCase():void 0,u=n.domains&&n.domains.length>0?new Set(n.domains):void 0,y=n.since,c=n.until,w=n.patternType,m=0,p=[];for(let g of d)On(g,{domainColumn:s,domains:u,patternType:w,since:y,until:c,queryLower:f})&&(m++,p.length<l&&p.push(An(g,a.tableName,s)));return{table:t,inputPath:r,totalScanned:d.length,totalMatched:m,limit:l,hits:p,truncated:m>l}}function On(e,n){if(n.domains){if(!n.domainColumn)return!1;let r=e[n.domainColumn];if(typeof r!="string"||!n.domains.has(r))return!1}if(n.patternType!==void 0&&e.pattern_type!==n.patternType)return!1;if(n.since!==void 0||n.until!==void 0){let r=Me(e);if(r===void 0||n.since!==void 0&&r<n.since||n.until!==void 0&&r>n.until)return!1}if(n.queryLower!==void 0){let r=typeof e.name=="string"?e.name.toLowerCase():"",t=typeof e.description=="string"?e.description.toLowerCase():"";if(!r.includes(n.queryLower)&&!t.includes(n.queryLower))return!1}return!0}function Me(e){for(let n of["updated_at","created_at","timestamp"]){let r=e[n];if(typeof r=="string"&&r.length>0)return r}}function An(e,n,r){let t=(typeof e.id=="string"||typeof e.id=="number"?String(e.id):void 0)??`${n}:?`,a={name:typeof e.name=="string"?e.name:void 0,description:typeof e.description=="string"?e.description:void 0,domain:r&&typeof e[r]=="string"?e[r]:void 0,patternType:typeof e.pattern_type=="string"?e.pattern_type:void 0,confidence:typeof e.confidence=="number"?e.confidence:void 0,updatedAt:Me(e)};return{id:t,display:a,row:e}}function Nn(e){if(!le(e))throw new Error(`Path not found: ${e}`);if(En(e).isFile())throw e.endsWith(".rvf")?new Error("Brain search does not support RVF exports. Re-export with --format jsonl, or use `aqe brain info` for RVF summaries."):new Error(`Unsupported brain export: ${e} (expected a JSONL directory)`);let r=ke(e,"manifest.json");if(!le(r))throw new Error(`Manifest not found at ${r}. Is this a brain export directory?`)}function qe(e,n){if(!e.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name='qe_patterns'").get())return{created:0,skipped:0};e.exec(`
|
|
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.11");process.exit(0)}
|
|
2
|
+
import{a as N,b as P,c as j,d as S,e as Y,f as T,g as V,h as C,i as J,j as Z,k as U,l as he,m as M,n as ee,o as we,p as _,q as W,r as z,s as H}from"./chunk-OQWG7GOD.js";import{h as be}from"./chunk-JWT675RM.js";import{b as ye}from"./chunk-E54QUKAD.js";import"./chunk-2Y3PW5EJ.js";import"./chunk-SJJFU7KK.js";import"./chunk-WYQM7GXW.js";import"./chunk-CYQRZ645.js";import"./chunk-QYHRDBKI.js";import"./chunk-LREIHR2A.js";import{b as x,d as X}from"./chunk-TZA45FI7.js";import{a as ue,b as pe,c as ge,d as k,f as Ke}from"./chunk-2D7SBOZ4.js";import"./chunk-TCVEXQLL.js";import{a as A,b as He}from"./chunk-EI4KYBNI.js";import"./chunk-RGUKQXKL.js";import"./chunk-B646CE3C.js";import"./chunk-WJB6YYMJ.js";import"./chunk-AHG2O5HT.js";import"./chunk-23E37MDA.js";import"./chunk-NC7HTDH5.js";import"./chunk-PT6U3IIK.js";import"./chunk-NHL37QAZ.js";import"./chunk-LUAXQB57.js";import B from"path";import o from"chalk";He();X();import{existsSync as K,mkdirSync as Ge,writeFileSync as Qe,readFileSync as ne}from"fs";import{join as E,resolve as te}from"path";var Xe={rl_q_values:"includeQValues",dream_insights:"includeDreamInsights",dream_cycles:"includeDreamInsights",witness_chain:"includeWitnessChain",vectors:"includeVectors"};function Ye(e,n){let r=Xe[e.tableName];return!(r&&n[r]===!1)}var Ze=1e4;function en(e,n,r,t){if(!Ye(n,r))return ee(E(t,n.fileName),[]),{count:0,rows:[]};let[a,i]=n.domainColumn?M(r.domains,n.domainColumn):[void 0,[]];if(Z(e,n.tableName,a,i)>=Ze){let l=n.blobColumns,f=l&&l.length>0?y=>T(y,l):void 0;return{count:we(E(t,n.fileName),he(e,n.tableName,a,i),f)}}let s=U(e,n.tableName,a,i);return n.blobColumns&&n.blobColumns.length>0&&(s=s.map(l=>T(l,n.blobColumns))),ee(E(t,n.fileName),s),{count:s.length,rows:s}}function ve(e){let n=[];for(let r of S){let t=E(e,r.fileName);K(t)?n.push(C(ne(t,"utf-8"))):n.push(C(""))}return C(n.join(":"))}function Re(e,n,r="memory.db"){let t=te(n.outputPath);K(t)||Ge(t,{recursive:!0});let a=0,i={},d=new Set;for(let u of S){let y=en(e,u,n,t);if(i[u.tableName]=y.count,a+=y.count,u.tableName==="qe_patterns"){if(y.rows)for(let c of y.rows)c.qe_domain&&d.add(c.qe_domain);else if(y.count>0){let[c,w]=u.domainColumn?M(n.domains,u.domainColumn):[void 0,[]],p=`SELECT DISTINCT qe_domain FROM qe_patterns ${c?`WHERE ${c} AND qe_domain IS NOT NULL`:"WHERE qe_domain IS NOT NULL"}`;try{let g=e.prepare(p).all(...w||[]);for(let v of g)d.add(v.qe_domain)}catch{}}}}let s=n.includeVectors!==!1?Z(e,"vectors"):0,l=ve(t),f={version:"3.0",exportedAt:new Date().toISOString(),sourceDb:r,stats:{patternCount:i.qe_patterns||0,vectorCount:s,qValueCount:i.rl_q_values||0,dreamInsightCount:i.dream_insights||0,witnessChainLength:i.witness_chain||0,totalRecords:a},domains:[...d].sort(),checksum:l,tableRecordCounts:i};return Qe(E(t,"manifest.json"),JSON.stringify(f,null,2),"utf-8"),f}var nn=new Set(["qe_patterns","rl_q_values","dream_insights","witness_chain"]);function tn(e){return e==="1.0"?S.filter(n=>nn.has(n.tableName)):e==="3.0"?S:(console.warn(`[brain-import] Unknown manifest version '${e}'. Attempting full import \u2014 some files may be missing.`),S)}function Se(e,n,r){let t=te(n),a=E(t,"manifest.json");if(!K(a))throw new Error(`Manifest not found at ${a}`);let i=x(ne(a,"utf-8")),d=ve(t);if(d!==i.checksum)throw new Error(`Checksum mismatch: expected ${i.checksum}, got ${d}. The export may have been tampered with or corrupted.`);let s=tn(i.version);if(r.dryRun){let c=0;for(let w of s){let m=_(E(t,w.fileName),x);c+=m.length}return{imported:c,skipped:0,conflicts:0}}H(e);let l=0,f=0,u=0;return e.transaction(()=>{for(let c of s){let w=E(t,c.fileName),m=_(w,x);c.blobColumns&&c.blobColumns.length>0&&(m=m.map(p=>V(p,c.blobColumns)));for(let p of m){let g;if(c.dedupColumns&&c.dedupColumns.length>0)g=z(e,c.tableName,p,c.dedupColumns);else{let v=N[c.tableName]||"id",h=j[c.tableName],I=P[c.tableName];g=W(e,c.tableName,p,v,r.mergeStrategy,h,I)}l+=g.imported,f+=g.skipped,u+=g.conflicts}}})(),{imported:l,skipped:f,conflicts:u}}function xe(e){let n=te(e),r=E(n,"manifest.json");if(!K(r))throw new Error(`Manifest not found at ${r}`);return x(ne(r,"utf-8"))}Ke();import{existsSync as q,readdirSync as rn,renameSync as on,statSync as an,unlinkSync as re,writeFileSync as sn}from"fs";import{basename as ln,dirname as dn,join as cn,resolve as oe}from"path";var Ee=["",".idmap.json",".manifest.json"],fn=[...Ee,".lock"];function Ce(e){for(let n of fn)try{let r=`${e}${n}`;q(r)&&re(r)}catch{}}function mn(e){let n=dn(e),r=`${ln(e)}.tmp.`,t;try{t=rn(n)}catch{return}for(let a of t){if(!a.startsWith(r))continue;let i=Number.parseInt(a.slice(r.length).split(".")[0],10);if(!(!Number.isInteger(i)||i<=0)&&!(i!==process.pid&&un(i)))try{re(cn(n,a))}catch{}}}function un(e){try{return process.kill(e,0),!0}catch(n){return n.code==="EPERM"}}function Be(e,n,r="memory.db"){if(!k())throw new Error("@ruvector/rvf-node is not available. Install it or use --format jsonl instead.");let t=oe(n.outputPath),a=n.dimension??384,i=`${t}.tmp.${process.pid}`;mn(t),Ce(i);let d=ue(i,a),s=!1;try{let l={},f=new Set,u=0;for(let R of S){let[b,O]=R.domainColumn?M(n.domains,R.domainColumn):[void 0,[]],$=U(e,R.tableName,b,O);if(R.tableName==="qe_patterns")for(let L of $)L.qe_domain&&f.add(L.qe_domain);let Q=Y[R.tableName];Q&&Q.length>0&&($=$.map(L=>T(L,Q))),l[R.tableName]=$,u+=$.length}let y=0,c=[];if(J(e,"qe_pattern_embeddings")){let R=e.prepare("SELECT pattern_id, embedding, dimension FROM qe_pattern_embeddings").all();for(let b of R)b.embedding&&b.dimension===a&&c.push({id:`pe:${b.pattern_id}`,vector:new Float32Array(b.embedding.buffer,b.embedding.byteOffset,a),metadata:{tableName:"qe_pattern_embeddings"}})}if(J(e,"captured_experiences")){let R=e.prepare("SELECT id, embedding, embedding_dimension, domain, quality FROM captured_experiences WHERE embedding IS NOT NULL").all();for(let b of R)b.embedding_dimension===a&&c.push({id:`exp:${b.id}`,vector:new Float32Array(b.embedding.buffer,b.embedding.byteOffset,a),metadata:{tableName:"captured_experiences",domain:b.domain,confidence:b.quality}})}if(J(e,"sona_patterns")){let R=e.prepare("SELECT id, state_embedding, domain, confidence FROM sona_patterns WHERE state_embedding IS NOT NULL").all();for(let b of R)b.state_embedding.byteLength/4===a&&c.push({id:`sona:${b.id}`,vector:new Float32Array(b.state_embedding.buffer,b.state_embedding.byteOffset,a),metadata:{tableName:"sona_patterns",domain:b.domain,confidence:b.confidence}})}c.length>0&&(y=d.ingest(c).accepted);let w={version:"3.0",format:"rvf",exportedAt:new Date().toISOString(),sourceDb:r,domains:[...f].sort(),tables:l},m=JSON.stringify(w),p=C(m),g=Buffer.from(m);d.embedKernel(g);let v=n.sign?d.sign(g)??void 0:void 0,h=v?n.signerKeyId??"default":void 0,I=d.fileId(),F=I?{fileId:I,parentId:d.parentId(),lineageDepth:d.lineageDepth()}:void 0,D=d.status(),me={version:"3.0",format:"rvf",exportedAt:w.exportedAt,sourceDb:r,stats:{patternCount:(l.qe_patterns||[]).length,embeddingCount:y,qValueCount:(l.rl_q_values||[]).length,dreamInsightCount:(l.dream_insights||[]).length,witnessChainLength:(l.witness_chain||[]).length,totalRecords:u},domains:w.domains,checksum:p,rvfStatus:{totalVectors:D.totalVectors,totalSegments:D.totalSegments,fileSizeBytes:D.fileSizeBytes},...v?{signature:v,signerKeyId:h}:{},...F?{lineage:F}:{}};if(v)try{d.freeze()}catch{}sn(`${i}.manifest.json`,JSON.stringify(me,null,2),"utf-8"),d.close(),s=!0;for(let R of[...Ee].reverse()){let b=`${i}${R}`,O=`${t}${R}`;q(b)?on(b,O):q(O)&&re(O)}return me}catch(l){if(!s)try{d.close()}catch{}throw Ce(i),l}}var pn={patterns:"qe_patterns",qValues:"rl_q_values",dreamInsights:"dream_insights",witnessChain:"witness_chain"};function _e(e,n,r){if(!k())throw new Error("@ruvector/rvf-node is not available. Install it or use JSONL format.");let t=oe(n);if(!q(t))throw new Error(`RVF file not found: ${t}`);let a=pe(t);try{let i=a.verifyWitness();if(!i.valid&&(i.totalEntries>0||i.errors.length>0)){let m=i.errors.length>0?i.errors.join("; "):"unknown integrity error";throw new Error(`RVF witness verification failed: ${m}`)}let d=a.extractKernel();if(!d||!d.image)throw new Error("No brain data found in RVF file (missing kernel segment)");let s;try{s=JSON.parse(d.image.toString("utf-8"))}catch(m){throw new Error(`Failed to parse brain kernel data as JSON: ${m instanceof Error?m.message:m}`)}if(r.dryRun){let m=0;if(s.tables)for(let p of Object.values(s.tables))m+=p?.length??0;else m=(s.patterns?.length??0)+(s.qValues?.length??0)+(s.dreamInsights?.length??0)+(s.witnessChain?.length??0);return{imported:m,skipped:0,conflicts:0,embeddingsRestored:0}}H(e);let l=0,f=0,u=0,y=0,c={};if(s.tables)Object.assign(c,s.tables);else for(let[m,p]of Object.entries(pn)){let g=s[m];Array.isArray(g)&&(c[p]=g)}if(e.transaction(()=>{for(let m of S){let p=c[m.tableName];if(!p||!Array.isArray(p))continue;let g=Y[m.tableName];if(g&&g.length>0){p=p.map(v=>V(v,g));for(let v of p)for(let h of g)v[h]instanceof Buffer&&y++}for(let v of p){let h;if(m.dedupColumns&&m.dedupColumns.length>0)h=z(e,m.tableName,v,m.dedupColumns);else{let I=N[m.tableName]||"id",F=j[m.tableName],D=P[m.tableName];h=W(e,m.tableName,v,I,r.mergeStrategy,F,D)}l+=h.imported,f+=h.skipped,u+=h.conflicts}}})(),u>0)try{a.compact()}catch{}return{imported:l,skipped:f,conflicts:u,embeddingsRestored:y}}finally{a.close()}}function G(e){if(!k())throw new Error("@ruvector/rvf-node is not available.");let n=oe(e);if(!q(n))throw new Error(`RVF file not found: ${n}`);let r=ge(n);try{let t=r.extractKernel();if(!t||!t.image)throw new Error("No brain data found in RVF file");let a=t.image.toString("utf-8"),i;try{i=JSON.parse(a)}catch(w){throw new Error(`Failed to parse brain kernel data as JSON: ${w instanceof Error?w.message:w}`)}let d=r.status(),s=an(n).size,l=i.tables,f=l?l.qe_patterns?.length??0:i.patterns?.length??0,u=l?l.rl_q_values?.length??0:i.qValues?.length??0,y=l?l.dream_insights?.length??0:i.dreamInsights?.length??0,c=l?l.witness_chain?.length??0:i.witnessChain?.length??0;return{version:"3.0",format:"rvf",exportedAt:i.exportedAt??"unknown",sourceDb:i.sourceDb??"unknown",stats:{patternCount:f,embeddingCount:d.totalVectors,qValueCount:u,dreamInsightCount:y,witnessChainLength:c},domains:i.domains??[],checksum:C(a),rvfStatus:{totalVectors:d.totalVectors,totalSegments:d.totalSegments,fileSizeBytes:s}}}finally{r.close()}}function ae(){return k()}X();import{existsSync as se,readFileSync as gn,statSync as yn}from"fs";import{join as ie,resolve as Ie}from"path";function De(e,n,r={}){let t=Ie(e),a=Ie(n),i=Oe(t),d=Oe(a),s=Ae(t,i),l=Ae(a,d),f=i==="jsonl"&&d==="jsonl",u=wn({pathA:t,pathB:a,manifestA:s,manifestB:l,recordLevel:f,tableFilter:r.tableFilter,maxIdsPerBucket:r.maxIdsPerBucket??500}),y=new Set(s.domains),c=new Set(l.domains),w=s.domains.filter(h=>!c.has(h)),m=l.domains.filter(h=>!y.has(h)),p=s.checksum===l.checksum,g=s.version===l.version,v=p&&g&&u.every(h=>h.delta===0&&(h.added?.length??0)===0&&(h.removed?.length??0)===0&&(h.changed?.length??0)===0);return{pathA:t,pathB:a,formatA:i,formatB:d,manifestA:s,manifestB:l,checksumMatch:p,versionMatch:g,identical:v,recordLevel:f,tableDiffs:u,domainsOnlyInA:w,domainsOnlyInB:m}}function Oe(e){if(!se(e))throw new Error(`Path not found: ${e}`);if(e.endsWith(".rvf"))return"rvf";if(yn(e).isFile())throw new Error(`Unsupported brain export: ${e} (expected a .rvf file or a JSONL directory)`);return"jsonl"}function Ae(e,n){return n==="rvf"?hn(e):bn(e)}function bn(e){let n=ie(e,"manifest.json");if(!se(n))throw new Error(`Manifest not found at ${n}`);let r=x(gn(n,"utf-8"));return $e(r,"jsonl")}function hn(e){let n=G(e);return $e(n,"rvf")}function $e(e,n){return{format:n,version:e.version??"unknown",exportedAt:e.exportedAt??"unknown",sourceDb:e.sourceDb??"unknown",checksum:e.checksum??"",totalRecords:e.stats?.totalRecords??0,domains:e.domains??[],tableRecordCounts:e.tableRecordCounts??{}}}function wn(e){let n=e.tableFilter?S.filter(t=>t.tableName===e.tableFilter):S;if(e.tableFilter&&n.length===0)throw new Error(`Unknown table: ${e.tableFilter}`);let r=[];for(let t of n){let a=e.manifestA.tableRecordCounts[t.tableName]??0,i=e.manifestB.tableRecordCounts[t.tableName]??0,d=i-a,s,l,f;if(e.recordLevel&&vn(t)){let u=Rn(ie(e.pathA,t.fileName),ie(e.pathB,t.fileName),t,e.maxIdsPerBucket);s=u.added,l=u.removed,f=u.changed}r.push({tableName:t.tableName,countA:a,countB:i,delta:d,...s!==void 0?{added:s}:{},...l!==void 0?{removed:l}:{},...f!==void 0?{changed:f}:{}})}return r}function vn(e){return!0}function Rn(e,n,r,t){let a=Ne(e,r),i=Ne(n,r),d=[],s=[],l=[];for(let[f,u]of a){let y=i.get(f);if(y===void 0)s.length<t&&s.push(f);else if(y!==u){if(r.dedupColumns&&r.dedupColumns.length>0)continue;l.length<t&&l.push(f)}}for(let f of i.keys())a.has(f)||d.length<t&&d.push(f);return d.sort(),s.sort(),l.sort(),{added:d,removed:s,changed:l}}function Ne(e,n){let r=new Map;if(!se(e))return r;let t=_(e,x);for(let a of t){let i=Sn(a,n);if(i===void 0)continue;let d=xn(a);r.set(i,Cn(d))}return r}function Sn(e,n){if(n.dedupColumns&&n.dedupColumns.length>0){let a=[];for(let i of n.dedupColumns){let d=e[i];if(d==null)return;a.push(String(d))}return a.join("")}let r=N[n.tableName]??"id",t=e[r];if(t!=null)return String(t)}function xn(e){let n=Object.keys(e).sort(),r={};for(let t of n)r[t]=e[t];return JSON.stringify(r)}function Cn(e){return C(e)}X();import{existsSync as le,statSync as En}from"fs";import{join as ke,resolve as Bn}from"path";var _n=20,In="qe_patterns";function Te(e,n={}){let r=Bn(e);Nn(r);let t=n.table??In,a=S.find(g=>g.tableName===t);if(!a)throw new Error(`Unknown table: ${t}`);let i=ke(r,a.fileName);if(!le(i))throw new Error(`Table file not found: ${a.fileName} (expected in ${r}). Was this export generated with --format jsonl?`);let d=_(i,x),s=a.domainColumn,l=Math.max(1,n.limit??_n),f=n.query?n.query.toLowerCase():void 0,u=n.domains&&n.domains.length>0?new Set(n.domains):void 0,y=n.since,c=n.until,w=n.patternType,m=0,p=[];for(let g of d)On(g,{domainColumn:s,domains:u,patternType:w,since:y,until:c,queryLower:f})&&(m++,p.length<l&&p.push(An(g,a.tableName,s)));return{table:t,inputPath:r,totalScanned:d.length,totalMatched:m,limit:l,hits:p,truncated:m>l}}function On(e,n){if(n.domains){if(!n.domainColumn)return!1;let r=e[n.domainColumn];if(typeof r!="string"||!n.domains.has(r))return!1}if(n.patternType!==void 0&&e.pattern_type!==n.patternType)return!1;if(n.since!==void 0||n.until!==void 0){let r=Me(e);if(r===void 0||n.since!==void 0&&r<n.since||n.until!==void 0&&r>n.until)return!1}if(n.queryLower!==void 0){let r=typeof e.name=="string"?e.name.toLowerCase():"",t=typeof e.description=="string"?e.description.toLowerCase():"";if(!r.includes(n.queryLower)&&!t.includes(n.queryLower))return!1}return!0}function Me(e){for(let n of["updated_at","created_at","timestamp"]){let r=e[n];if(typeof r=="string"&&r.length>0)return r}}function An(e,n,r){let t=(typeof e.id=="string"||typeof e.id=="number"?String(e.id):void 0)??`${n}:?`,a={name:typeof e.name=="string"?e.name:void 0,description:typeof e.description=="string"?e.description:void 0,domain:r&&typeof e[r]=="string"?e[r]:void 0,patternType:typeof e.pattern_type=="string"?e.pattern_type:void 0,confidence:typeof e.confidence=="number"?e.confidence:void 0,updatedAt:Me(e)};return{id:t,display:a,row:e}}function Nn(e){if(!le(e))throw new Error(`Path not found: ${e}`);if(En(e).isFile())throw e.endsWith(".rvf")?new Error("Brain search does not support RVF exports. Re-export with --format jsonl, or use `aqe brain info` for RVF summaries."):new Error(`Unsupported brain export: ${e} (expected a JSONL directory)`);let r=ke(e,"manifest.json");if(!le(r))throw new Error(`Manifest not found at ${r}. Is this a brain export directory?`)}function qe(e,n){if(!e.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name='qe_patterns'").get())return{created:0,skipped:0};e.exec(`
|
|
3
3
|
CREATE TEMP TABLE IF NOT EXISTS _covered_patterns (
|
|
4
4
|
pattern_id TEXT PRIMARY KEY
|
|
5
5
|
)
|
|
@@ -74,7 +74,7 @@ Examples:
|
|
|
74
74
|
aqe brain diff ./brain-a ./brain-b --verbose
|
|
75
75
|
aqe brain search -i ./brain-export --query oauth --domain test-generation
|
|
76
76
|
aqe brain search -i ./brain-export --since 2026-03-01 --limit 50 --json
|
|
77
|
-
`}};async function de(e){if(e)return e;let{findProjectRoot:n}=await import("./unified-memory-
|
|
77
|
+
`}};async function de(e){if(e)return e;let{findProjectRoot:n}=await import("./unified-memory-4VO5KSHP.js");return B.join(n(),".agentic-qe","memory.db")}function We(e){return e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/(1024*1024)).toFixed(1)} MB`}function $n(e){let n=Number.parseInt(e,10);return!Number.isFinite(n)||n<1?20:n}function kn(e){if(e===void 0)return;let n=Array.isArray(e)?e:[e],r=[];for(let t of n)for(let a of t.split(",")){let i=a.trim();i&&r.push(i)}return r.length>0?r:void 0}function Tn(e,n){console.log(o.blue(`
|
|
78
78
|
Brain Diff
|
|
79
79
|
`)),console.log(` A: ${o.cyan(e.pathA)} (${e.formatA})`),console.log(` B: ${o.cyan(e.pathB)} (${e.formatB})`),console.log(` Versions: ${o.cyan(e.manifestA.version)} \u2192 ${o.cyan(e.manifestB.version)}`+(e.versionMatch?o.gray(" (match)"):o.yellow(" (differ)"))),console.log(` Checksums: ${o.gray(e.manifestA.checksum.slice(0,12))}\u2026 \u2192 ${o.gray(e.manifestB.checksum.slice(0,12))}\u2026`+(e.checksumMatch?o.gray(" (match)"):o.yellow(" (differ)"))),console.log(` Exported: ${o.gray(e.manifestA.exportedAt)} \u2192 ${o.gray(e.manifestB.exportedAt)}`),console.log(` Records: ${o.cyan(e.manifestA.totalRecords)} \u2192 ${o.cyan(e.manifestB.totalRecords)} `+ze(e.manifestB.totalRecords-e.manifestA.totalRecords)),(e.domainsOnlyInA.length>0||e.domainsOnlyInB.length>0)&&(console.log(o.blue(`
|
|
80
80
|
Domains:`)),e.domainsOnlyInA.length>0&&console.log(` Only in A: ${o.yellow(e.domainsOnlyInA.join(", "))}`),e.domainsOnlyInB.length>0&&console.log(` Only in B: ${o.yellow(e.domainsOnlyInB.join(", "))}`)),e.recordLevel||console.log(o.gray(`
|
|
@@ -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.11");process.exit(0)}
|
|
2
|
+
import"./chunk-LUAXQB57.js";var f=class{language;constructor(e="typescript"){this.language=e}enumerate(e,s){let r=[],n=e.split(`
|
|
3
3
|
`),l=!1;for(let i=0;i<n.length;i++){let d=n[i],t=d.trim(),c=i+1,u=d.length-d.trimStart().length+1;if(l){t.includes("*/")&&(l=!1);continue}if(t.startsWith("/*")){l=!t.includes("*/");continue}if(t.startsWith("//"))continue;if(/^\s*if\s*\(/.test(d)&&(this.findMatchingElse(n,i)||r.push({file:s,line:c,column:u,language:this.language,construct:"if-without-else",triggerCondition:"when condition is false",currentHandling:"falls through \u2014 no else branch",suggestedGuard:"Add else branch or document why falsy path is safe",severity:"medium"})),/^\s*switch\s*\(/.test(d)){let a=this.extractBlock(n,i);if(a&&!a.includes("default:")&&!a.includes("default :")&&r.push({file:s,line:c,column:u,language:this.language,construct:"switch-no-default",triggerCondition:"when value matches no case",currentHandling:"falls through \u2014 no default case",suggestedGuard:"Add default case with error handling or exhaustive check",severity:"high"}),a){let g=a.match(/case\s+[^:]+:/g)||[],h=a.match(/\b(break|return|throw|continue)\b/g)||[];g.length>0&&h.length<g.length&&r.push({file:s,line:c,column:u,language:this.language,construct:"switch-missing-break",triggerCondition:"when case falls through to next case",currentHandling:"fall-through \u2014 may execute unintended cases",suggestedGuard:"Add break/return to each case or add explicit // falls through comment",severity:"medium"})}}if(/\bcatch\s*\(/.test(t)||/\bcatch\s*\{/.test(t)){let a=this.extractBlock(n,i);if(a!==null){let g=a.replace(/[{}]/g,"").trim();(g.length===0||/^\s*\/\//.test(g))&&r.push({file:s,line:c,column:u,language:this.language,construct:"try-empty-catch",triggerCondition:"when exception is thrown",currentHandling:"exception silently swallowed",suggestedGuard:"Log the error or rethrow with context",severity:"high"})}}if(/\btry\s*\{/.test(t)&&this.extractBlock(n,i)&&(n.slice(i,Math.min(i+30,n.length)).join(`
|
|
4
4
|
`).includes("finally")||r.push({file:s,line:c,column:u,language:this.language,construct:"try-no-finally",triggerCondition:"when cleanup is needed regardless of success/failure",currentHandling:"no finally block \u2014 cleanup may be skipped on exception",suggestedGuard:"Add finally block for resource cleanup if applicable",severity:"low"})),t.includes("?.")){let a=t.match(/(\w+(?:\.\w+)*)\?\./g)||[];for(let g of a)if(!t.includes("??")&&!t.includes("|| ")&&!t.includes("if")){r.push({file:s,line:c,column:u,language:this.language,construct:"optional-chaining-null-path",triggerCondition:`when ${g.replace("?.","")} is null/undefined`,currentHandling:"returns undefined \u2014 may propagate",suggestedGuard:"Add ?? fallback or explicit null check",severity:"low"});break}}if(t.includes("??")&&!t.includes("?.")&&r.push({file:s,line:c,column:u,language:this.language,construct:"nullish-coalescing-fallback",triggerCondition:"when left side is null/undefined",currentHandling:"uses fallback value",suggestedGuard:"Verify fallback value is appropriate for all null cases",severity:"low"}),/\.\s*then\s*\(/.test(t)&&!t.includes(".catch")&&!t.includes("await")){let a=n.slice(i,Math.min(i+5,n.length)).join(" ");!a.includes(".catch")&&!a.includes("try")&&r.push({file:s,line:c,column:u,language:this.language,construct:"promise-no-catch",triggerCondition:"when promise rejects",currentHandling:"unhandled rejection \u2014 may crash process",suggestedGuard:"Add .catch() handler or use try/catch with await",severity:"high"})}let p=["map","filter","reduce","forEach","find","some","every","flatMap"];for(let a of p)if(new RegExp(`\\.${a}\\s*\\(`).test(t)){let h=n.slice(Math.max(0,i-3),i).join(" ");if(!h.includes(".length")&&!h.includes("if (")&&!h.includes("?.")){r.push({file:s,line:c,column:u,language:this.language,construct:"array-callback-empty",triggerCondition:`when array is empty before .${a}()`,currentHandling:a==="reduce"?"may throw without initial value":"returns empty result \u2014 may cause downstream issues",suggestedGuard:a==="reduce"?"Provide initial value or check array length":"Check array length or handle empty result",severity:a==="reduce"?"high":"low"});break}}/\|\|\s*['"`\d]/.test(t)&&!t.includes("??")&&r.push({file:s,line:c,column:u,language:this.language,construct:"logical-or-falsy",triggerCondition:'when left side is falsy (0, "", false, null, undefined)',currentHandling:'uses fallback \u2014 may unintentionally override 0, "", or false',suggestedGuard:"Use ?? instead of || if only null/undefined should trigger fallback",severity:"medium"}),/&&\s*\w+\s*\(/.test(t)&&!t.includes("if")&&!t.includes("while")&&r.push({file:s,line:c,column:u,language:this.language,construct:"logical-and-short-circuit",triggerCondition:"when left side is falsy \u2014 right side never executes",currentHandling:"short-circuits \u2014 function call skipped silently",suggestedGuard:"Use explicit if-statement for clarity when side effects matter",severity:"low"}),(t.match(/\?/g)||[]).length>=2&&t.includes(":")&&r.push({file:s,line:c,column:u,language:this.language,construct:"ternary-complex",triggerCondition:"when nested ternary conditions interact",currentHandling:"nested ternary \u2014 hard to read and maintain",suggestedGuard:"Refactor to if/else or switch for readability",severity:"medium"}),(/\btypeof\s+\w+\s*===?\s*['"]/.test(t)||/\binstanceof\b/.test(t))&&!t.includes("else")&&!this.findMatchingElse(n,i)&&r.push({file:s,line:c,column:u,language:this.language,construct:"type-guard-unhandled",triggerCondition:"when value does not match the guarded type",currentHandling:"unguarded type path \u2014 may cause runtime type errors",suggestedGuard:"Add else branch or exhaustive type checking",severity:"medium"})}return r}findMatchingElse(e,s){let r={depth:0};for(let n=s;n<Math.min(s+30,e.length);n++){let l=e[n];for(let i of l)i==="{"&&r.depth++,i==="}"&&r.depth--;if(r.depth===0&&n>s){if((e[n+1]?.trim()||"").startsWith("else")||e[n].trim().endsWith("else")||e[n].trim().endsWith("else {")||e[n].includes("} else"))return!0;break}}return!1}extractBlock(e,s){let r=0,n=!1,l=[];for(let i=s;i<Math.min(s+50,e.length);i++){let d=e[i];for(let t of d)t==="{"&&(r++,n=!0),t==="}"&&r--;if(n&&(l.push(d),r===0))return l.join(`
|
|
5
5
|
`)}return null}};function y(o,e,s){let r=Date.now(),n=s||(e.endsWith(".ts")||e.endsWith(".tsx")?"typescript":"javascript"),i=new f(n).enumerate(o,e);return{file:e,language:n,branches:i,totalConstructs:i.length,unhandledCount:i.length,duration:Date.now()-r}}function b(o){let e=[];if(e.push(`# Branch Enumeration Report: ${o.file}`),e.push(""),e.push(`**Language**: ${o.language} | **Branches**: ${o.unhandledCount} | **Duration**: ${o.duration}ms`),e.push(""),o.branches.length===0)return e.push("No unhandled branches detected."),e.join(`
|
|
@@ -1,4 +1,4 @@
|
|
|
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 p}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.11");process.exit(0)}
|
|
2
|
+
import{a as p}from"./chunk-DLL3AJH7.js";import"./chunk-LUAXQB57.js";import{readFile as m,readdir as k}from"fs/promises";import{join as c,basename as y,dirname as W}from"path";import{fileURLToPath as v}from"url";import{parse as d}from"yaml";var b=v(import.meta.url),E=W(b),l=class{templatesDir;cache=new Map;constructor(r){this.templatesDir=r||c(E,"templates")}async load(r){if(this.cache.has(r))return this.cache.get(r);try{let e=c(this.templatesDir,`${r}.yaml`),n=await m(e,"utf-8"),o=d(n),i=await this.validate(o);if(!i.valid)throw new Error(`Invalid workflow template ${r}:
|
|
3
3
|
${i.errors.join(`
|
|
4
4
|
`)}`);return this.cache.set(r,o),o}catch(e){throw e.code==="ENOENT"?new Error(`Workflow template not found: ${r}`):e}}async list(){try{return(await k(this.templatesDir)).filter(e=>e.endsWith(".yaml")||e.endsWith(".yml")).map(e=>y(e,e.endsWith(".yaml")?".yaml":".yml")).sort()}catch(r){if(r.code==="ENOENT")return[];throw r}}async validate(r){let e=[],n=[];if(r.name||e.push("Workflow must have a name"),r.version||e.push("Workflow must have a version"),r.description||n.push("Workflow should have a description"),Array.isArray(r.variables)?r.variables.forEach((o,i)=>{o.name||e.push(`Variable at index ${i} must have a name`),o.type||e.push(`Variable ${o.name} must have a type`),o.required===void 0&&n.push(`Variable ${o.name} should specify if it's required`)}):e.push("Workflow must have a variables array"),!Array.isArray(r.steps))e.push("Workflow must have a steps array");else if(r.steps.length===0)e.push("Workflow must have at least one step");else{r.steps.forEach((t,s)=>{t.name||e.push(`Step at index ${s} must have a name`),t.action||e.push(`Step ${t.name||s} must have an action`),(!t.config||typeof t.config!="object")&&e.push(`Step ${t.name||s} must have a config object`),t.assertions&&Array.isArray(t.assertions)&&t.assertions.forEach((f,u)=>{f.condition||e.push(`Assertion ${u} in step ${t.name||s} must have a condition`),f.message||n.push(`Assertion ${u} in step ${t.name||s} should have a message`)})});let o=r.steps.map(t=>t.name),i=o.filter((t,s)=>o.indexOf(t)!==s);i.length>0&&e.push(`Duplicate step names found: ${i.join(", ")}`)}return{valid:e.length===0,errors:e,warnings:n}}async createContext(r,e){let n=await this.load(r),o=n.variables.filter(t=>t.required&&!(t.name in e)).map(t=>t.name);if(o.length>0)throw new Error(`Missing required variables: ${o.join(", ")}`);let i={};return n.variables.forEach(t=>{t.name in e?i[t.name]=e[t.name]:"default"in t&&(i[t.name]=t.default)}),{variables:i,results:new Map,metadata:{startTime:Date.now(),workflow:n.name,templateName:r}}}async getMetadata(r){try{let e=c(this.templatesDir,`${r}.yaml`),n=await m(e,"utf-8"),o=d(n);return{name:o.name,version:o.version,description:o.description}}catch(e){throw e.code==="ENOENT"?new Error(`Workflow template not found: ${r}`):e}}clearCache(){this.cache.clear()}async reload(r){return this.cache.delete(r),this.load(r)}},x=new l;function w(a,r){return a.replace(/\{\{([^}]+)\}\}/g,(e,n)=>{let i=n.trim().split("."),t=r;for(let s of i)if(t&&typeof t=="object"&&s in t)t=t[s];else return e;return t!=null?String(t):e})}function T(a,r){let e={...r.variables,result:r.results.get("__last_result__")},n=w(a,e);return p(n,e,!1)}var g=["login-flow","oauth-flow","scraping-workflow","visual-regression","form-validation","navigation-flow","api-integration","performance-audit","accessibility-audit"],A={"login-flow":"Authentication testing workflow for login forms with credential validation","oauth-flow":"OAuth2/OIDC authentication testing workflow with provider integration","scraping-workflow":"Data extraction workflow for web scraping with pagination and structured output","visual-regression":"Screenshot comparison workflow for visual regression testing across breakpoints","form-validation":"Input validation testing workflow for form fields with error handling","navigation-flow":"Multi-page navigation workflow for testing user journeys and state persistence","api-integration":"Browser-API hybrid testing workflow for validating frontend-backend integration","performance-audit":"Lighthouse-style performance audit workflow with Core Web Vitals","accessibility-audit":"WCAG 2.1 Level AA compliance audit workflow with automated accessibility testing"},h={authentication:["login-flow","oauth-flow"],testing:["form-validation","navigation-flow","api-integration"],quality:["visual-regression","performance-audit","accessibility-audit"],automation:["scraping-workflow"]};function _(a){return h[a]}function P(a){return g.includes(a)}function L(){return g.map(a=>{let r=Object.entries(h).find(([e,n])=>n.includes(a))?.[0]||"other";return{name:a,description:A[a],category:r}})}export{h as WORKFLOW_CATEGORIES,A as WORKFLOW_DESCRIPTIONS,g as WORKFLOW_TEMPLATES,l as WorkflowLoader,x as defaultWorkflowLoader,T as evaluateCondition,L as getAllWorkflowTemplates,_ as getWorkflowsByCategory,w as interpolateVariables,P as isValidWorkflowTemplate};
|
|
@@ -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.11");process.exit(0)}
|
|
2
|
+
import{a}from"./chunk-K652SCBA.js";import"./chunk-YRCNWQBO.js";import"./chunk-24XW7KUX.js";import"./chunk-2Y3PW5EJ.js";import"./chunk-SJJFU7KK.js";import"./chunk-WYQM7GXW.js";import"./chunk-CYQRZ645.js";import"./chunk-QYHRDBKI.js";import"./chunk-LREIHR2A.js";import"./chunk-TZA45FI7.js";import"./chunk-TCVEXQLL.js";import"./chunk-PJNIDDER.js";import"./chunk-4TUGQESL.js";import"./chunk-EI4KYBNI.js";import"./chunk-RGUKQXKL.js";import"./chunk-B646CE3C.js";import"./chunk-WJB6YYMJ.js";import"./chunk-AHG2O5HT.js";import"./chunk-23E37MDA.js";import"./chunk-NC7HTDH5.js";import"./chunk-PT6U3IIK.js";import"./chunk-NHL37QAZ.js";import"./chunk-LUAXQB57.js";export{a as BrowserWorkflowTool};
|
|
@@ -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{c 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.11");process.exit(0)}
|
|
2
|
+
import{c as h}from"./chunk-LUAXQB57.js";function i(t,r){if(t.length!==r.length)throw new Error(`Vector length mismatch: ${t.length} vs ${r.length}`);let e=0,o=0,l=0;for(let n=0;n<t.length;n++)e+=t[n]*r[n],o+=t[n]*t[n],l+=r[n]*r[n];let u=Math.sqrt(o)*Math.sqrt(l);return u===0?0:e/u}function c(t){let r=Math.sqrt(t.reduce((e,o)=>e+o*o,0));return r===0?t.slice():t.map(e=>e/r)}function g(t){let r=0;for(let e=0;e<t.length;e++)r+=t[e]*t[e];return Math.sqrt(r)}var m=h(()=>{"use strict"});export{i as a,c as b,g as c,m as d};
|
|
@@ -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{f as o,i as l,m 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.11");process.exit(0)}
|
|
2
|
+
import{f as o,i as l,m as h}from"./chunk-2Y3PW5EJ.js";import{a as m}from"./chunk-CYQRZ645.js";import{c as s}from"./chunk-QYHRDBKI.js";import{a as r,e as u}from"./chunk-AHG2O5HT.js";h();u();m();var c=s.create("hybrid-backend"),d=class{unifiedMemory=null;config;cleanupInterval;cleanupCount=0;initialized=!1;constructor(e){this.config={sqlite:{path:e?.sqlite?.path??".agentic-qe/memory.db",walMode:e?.sqlite?.walMode??!0,poolSize:e?.sqlite?.poolSize??5,busyTimeout:e?.sqlite?.busyTimeout??r.BUSY_TIMEOUT_MS,...e?.sqlite},agentdb:{path:e?.agentdb?.path??".agentic-qe/memory.db",...e?.agentdb},enableFallback:e?.enableFallback??!0,defaultNamespace:e?.defaultNamespace??"default",cleanupInterval:e?.cleanupInterval??r.CLEANUP_INTERVAL_MS}}async initialize(e){if(this.initialized)return;let i=e?.signal;i?.throwIfAborted();let t={dbPath:this.config.sqlite.path??o.dbPath,walMode:this.config.sqlite.walMode??!0,busyTimeout:this.config.sqlite.busyTimeout??r.BUSY_TIMEOUT_MS};this.unifiedMemory=l(t),i?.throwIfAborted(),await this.unifiedMemory.initialize({signal:i}),i?.throwIfAborted(),this.cleanupInterval=setInterval(()=>this.cleanup(),this.config.cleanupInterval),this.cleanupInterval.unref&&this.cleanupInterval.unref(),this.initialized=!0,console.log(`[HybridBackend] Initialized with unified memory: ${this.unifiedMemory.getDbPath()}`)}async dispose(){this.cleanupInterval&&clearInterval(this.cleanupInterval),this.initialized=!1}async set(e,i,t){this.ensureInitialized();let n=t?.namespace??this.config.defaultNamespace;await this.unifiedMemory.kvSet(e,i,n,t?.ttl)}async get(e,i){this.ensureInitialized();let t=i?.namespace??this.config.defaultNamespace;return this.unifiedMemory.kvGet(e,t)}async delete(e,i){this.ensureInitialized();let t=i?.namespace??this.config.defaultNamespace,n=await this.unifiedMemory.kvDelete(e,t),a=await this.unifiedMemory.vectorDelete(e);return n||a}async has(e,i){this.ensureInitialized();let t=i?.namespace??this.config.defaultNamespace;return this.unifiedMemory.kvExists(e,t)}async search(e,i=100,t){this.ensureInitialized();let n=t?.namespace??this.config.defaultNamespace;return this.unifiedMemory.kvSearch(e,n,i)}async vectorSearch(e,i,t){return this.ensureInitialized(),(await this.unifiedMemory.vectorSearch(e,i,void 0,t)).map(a=>({key:a.id,score:a.score,metadata:a.metadata}))}getVectorSearchProvenance(){return this.ensureInitialized(),this.unifiedMemory.getVectorSearchProvenance()}async storeVector(e,i,t){this.ensureInitialized(),await this.unifiedMemory.vectorStore(e,i,this.config.defaultNamespace,t)}getHealth(){return{sqlite:this.unifiedMemory?.isInitialized()?"healthy":"unavailable",sqlitePersistent:!0,agentdb:this.unifiedMemory?.isInitialized()?"healthy":"unavailable",fallback:"inactive"}}isPersistent(){return this.unifiedMemory?.isInitialized()??!1}getConfig(){return{...this.config}}async setWithBackend(e,i,t,n){await this.set(e,i,n)}async getVectorStats(){if(!this.unifiedMemory?.isInitialized())return null;let e=await this.unifiedMemory.vectorCount(),i=this.unifiedMemory.getStats();return{vectorCount:e,indexSize:i.vectorIndexSize}}getUnifiedMemory(){return this.unifiedMemory}async count(e){return this.ensureInitialized(),this.unifiedMemory.getDatabase().prepare(`
|
|
3
3
|
SELECT COUNT(*) as count FROM kv_store
|
|
4
4
|
WHERE namespace LIKE ?
|
|
5
5
|
AND (expires_at IS NULL OR expires_at > ?)
|
|
@@ -1,6 +1,6 @@
|
|
|
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 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.11");process.exit(0)}
|
|
2
|
+
import{a as F}from"./chunk-76NSSNB3.js";import{a as b,b as E,c as z,d as M,e as C,f as P,g as B}from"./chunk-UX5SM2PW.js";function W(s,e){let n=s.slice(0,e).split(`
|
|
3
3
|
`),r=n.length,o=(n[n.length-1]||"").length;return{line:r,column:o,offset:e}}function p(s,e,n,r,o){return{start:W(s,e),end:W(s,n),oldText:s.slice(e,n),newText:r,description:o}}function _(s,e){let n=[...e].sort((o,t)=>t.start.offset-o.start.offset),r=s;for(let o of n)r=r.slice(0,o.start.offset)+o.newText+r.slice(o.end.offset);return r}function U(s,e){if(s.length===0)return 1;let n=s.reduce((t,a)=>t+Math.abs(a.newText.length-a.oldText.length),0)/s.length,r=Math.max(.5,1-n/1e3),o=Math.max(.7,1-s.length/100);return Math.min(1,e*r*o)}function T(s,e,n,r,o=.9){let t=_(s,n),a=Date.now()-r;return{success:!0,transformType:e,originalCode:s,transformedCode:t,edits:n,changeCount:n.length,confidence:U(n,o),durationMs:a,implementationUsed:"typescript",usedFallback:!1,warnings:[]}}function w(s,e,n,r){return{success:!1,transformType:e,originalCode:s,transformedCode:s,edits:[],changeCount:0,confidence:0,durationMs:Date.now()-r,implementationUsed:"typescript",usedFallback:!1,error:n,warnings:[]}}function Z(s,e={debug:()=>{},info:()=>{},warn:()=>{},error:()=>{}}){let n=Date.now(),r=[],o=[];try{let t=/\bvar\s+([a-zA-Z_$][a-zA-Z0-9_$]*)/g,a=/([a-zA-Z_$][a-zA-Z0-9_$]*)\s*(?:\+\+|--|[+\-*/%&|^]=|\?\?=|&&=|\|\|=|=(?!=))/g,i=[],l;for(;(l=t.exec(s))!==null;)i.push({name:l[1],offset:l.index});let m=new Set;for(;(l=a.exec(s))!==null;)m.add(l[1]);let u=/\bfor\s*\(\s*var\s+([a-zA-Z_$][a-zA-Z0-9_$]*)/g,c=new Set;for(;(l=u.exec(s))!==null;)c.add(l[1]);for(let g of i){let d=c.has(g.name)||m.has(g.name)?"let":"const";r.push(p(s,g.offset,g.offset+3,d,`Convert var ${g.name} to ${d}`))}e.debug("var-to-const transform completed",{declarations:i.length,reassigned:m.size,loopVars:c.size});let f=T(s,"var-to-const",r,n,.95);return f.warnings=o,f}catch(t){return e.error("var-to-const transform failed",t),w(s,"var-to-const",t instanceof Error?t.message:"Unknown error",n)}}function O(s,e={debug:()=>{},info:()=>{},warn:()=>{},error:()=>{}}){let n=Date.now(),r=[],o=[];try{let t=/function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(([^)]*)\)/g,a=/(?:const|let|var)\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*=\s*\(([^)]*)\)\s*=>/g,i=/([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(([^)]*)\)\s*(?::\s*[^{]+)?\s*\{/g,l;for(;(l=t.exec(s))!==null;){let u=l[2].trim();if(u&&!u.includes(":")){let c=u.split(",").map(d=>{let h=d.trim().replace(/\s*=.*$/,"");return h&&!h.includes(":")?`${h}: unknown`:d.trim()}).join(", "),f=l.index+l[0].indexOf("(")+1,g=f+l[2].length;r.push(p(s,f,g,c,`Add types to function ${l[1]} parameters`))}}for(;(l=a.exec(s))!==null;){let u=l[2].trim();if(u&&!u.includes(":")){let c=u.split(",").map(d=>{let h=d.trim().replace(/\s*=.*$/,"");return h&&!h.includes(":")?`${h}: unknown`:d.trim()}).join(", "),f=l.index+l[0].indexOf("(")+1,g=f+l[2].length;r.push(p(s,f,g,c,`Add types to arrow function ${l[1]} parameters`))}}e.debug("add-types transform completed",{edits:r.length});let m=T(s,"add-types",r,n,.7);return m.warnings=o,r.length>0&&m.warnings.push('Type annotations use "unknown" - manual review recommended'),m}catch(t){return e.error("add-types transform failed",t),w(s,"add-types",t instanceof Error?t.message:"Unknown error",n)}}function I(s,e={debug:()=>{},info:()=>{},warn:()=>{},error:()=>{}}){let n=Date.now(),r=[],o=[];try{let t=/^\s*console\.(log|warn|error|info|debug|trace|dir|table|time|timeEnd|group|groupEnd|assert)\s*\([^)]*\);?\s*$/gm,a=/console\.(log|warn|error|info|debug|trace|dir|table|time|timeEnd|group|groupEnd|assert)\s*\([^)]*\)/g,i,l=new Set;for(;(i=t.exec(s))!==null;)l.has(i.index)||(l.add(i.index),r.push(p(s,i.index,i.index+i[0].length,"",`Remove console.${i[1]}() statement`)));for(;(i=a.exec(s))!==null;){if(l.has(i.index))continue;let u=s.lastIndexOf(`
|
|
4
4
|
`,i.index)+1,c=s.indexOf(`
|
|
5
5
|
`,i.index),f=s.slice(u,c===-1?void 0:c);/^\s*console\./.test(f)||(l.add(i.index),o.push(`Inline console.${i[1]}() at offset ${i.index} - consider manual review`))}e.debug("remove-console transform completed",{removed:r.length,warnings:o.length});let m=T(s,"remove-console",r,n,.95);return m.warnings=o,m}catch(t){return e.error("remove-console transform failed",t),w(s,"remove-console",t instanceof Error?t.message:"Unknown error",n)}}function j(s,e={debug:()=>{},info:()=>{},warn:()=>{},error:()=>{}}){let n=Date.now(),r=[],o=[];try{let t=/([a-zA-Z_$][a-zA-Z0-9_$]*(?:\([^)]*\))?)\s*\.then\s*\(\s*(?:async\s*)?\(?\s*([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\)?\s*=>\s*([^)]+)\)/g,a;for(;(a=t.exec(s))!==null;){let[l,m,u,c]=a;if(c.includes(".then")||c.includes(".catch")){o.push(`Complex promise chain at offset ${a.index} - manual review recommended`);continue}let f=`const ${u} = await ${m};
|
|
6
|
-
${c.trim()}`;r.push(p(s,a.index,a.index+l.length,f,"Convert .then() to await"))}e.debug("promise-to-async transform completed",{converted:r.length,warnings:o.length});let i=T(s,"promise-to-async",r,n,.65);return i.warnings=o,r.length>0&&i.warnings.push("Promise chains converted to await - ensure containing function is async"),i}catch(t){return e.error("promise-to-async transform failed",t),w(s,"promise-to-async",t instanceof Error?t.message:"Unknown error",n)}}function N(s,e={debug:()=>{},info:()=>{},warn:()=>{},error:()=>{}}){let n=Date.now(),r=[],o=[];try{let t,a=/(?:const|let|var)\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*=\s*require\s*\(\s*(['"`][^'"`]+['"`])\s*\)\s*;?/g;for(;(t=a.exec(s))!==null;){let[c,f,g]=t,d=`import ${f} from ${g};`;r.push(p(s,t.index,t.index+c.length,d,"Convert require to import"))}let i=/(?:const|let|var)\s+\{\s*([^}]+)\s*\}\s*=\s*require\s*\(\s*(['"`][^'"`]+['"`])\s*\)\s*;?/g;for(;(t=i.exec(s))!==null;){let[c,f,g]=t,d=`import { ${f.trim()} } from ${g};`;r.push(p(s,t.index,t.index+c.length,d,"Convert destructured require to import"))}let l=/module\.exports\s*=\s*([^;]+);?/g;for(;(t=l.exec(s))!==null;){let[c,f]=t,g=`export default ${f.trim()};`;r.push(p(s,t.index,t.index+c.length,g,"Convert module.exports to export default"))}let m=/exports\.([a-zA-Z_$][a-zA-Z0-9_$]*)\s*=\s*([^;]+);?/g;for(;(t=m.exec(s))!==null;){let[c,f,g]=t,d=g.trim(),h;d.startsWith("function")||d.startsWith("class")?h=`export ${d}`:d.startsWith("async function")?h=`export ${d}`:h=`export const ${f} = ${d};`,r.push(p(s,t.index,t.index+c.length,h,`Convert exports.${f} to named export`))}e.debug("cjs-to-esm transform completed",{edits:r.length});let u=T(s,"cjs-to-esm",r,n,.85);return u.warnings=o,u}catch(t){return e.error("cjs-to-esm transform failed",t),w(s,"cjs-to-esm",t instanceof Error?t.message:"Unknown error",n)}}function H(s,e={debug:()=>{},info:()=>{},warn:()=>{},error:()=>{}}){let n=Date.now(),r=[],o=[];try{let t=/(const|let|var)\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*=\s*function\s*\(([^)]*)\)\s*\{/g,a;for(;(a=t.exec(s))!==null;){let[m,u,c,f]=a,g=a.index,d=1,h=g+m.length;for(;d>0&&h<s.length;)s[h]==="{"&&d++,s[h]==="}"&&d--,h++;let S=s.slice(g,h);if(/\bthis\b/.test(S)){o.push(`Function ${c} uses 'this' - skipping arrow conversion (would change binding)`);continue}if(/\barguments\b/.test(S)){o.push(`Function ${c} uses 'arguments' - skipping arrow conversion (not available in arrow functions)`);continue}let D=`${u} ${c} = (${f}) => {`;r.push(p(s,a.index,a.index+m.length,D,`Convert function ${c} to arrow function`))}let i=/function\s*\(([^)]*)\)\s*\{\s*return\s+([^;]+);\s*\}/g;for(;(a=i.exec(s))!==null;){let[m,u,c]=a;if(/\b(this|arguments)\b/.test(m))continue;let f=u.includes(",")||u.trim()===""?`(${u}) => ${c}`:`${u.trim()} => ${c}`;r.push(p(s,a.index,a.index+m.length,f,"Convert callback to arrow function"))}e.debug("func-to-arrow transform completed",{converted:r.length,warnings:o.length});let l=T(s,"func-to-arrow",r,n,.85);return l.warnings=o,l}catch(t){return e.error("func-to-arrow transform failed",t),w(s,"func-to-arrow",t instanceof Error?t.message:"Unknown error",n)}}var V={"var-to-const":Z,"add-types":O,"remove-console":I,"promise-to-async":j,"cjs-to-esm":N,"func-to-arrow":H};function $(s,e,n){let r=V[e];return r?r(s,n):{success:!1,transformType:e,originalCode:s,transformedCode:s,edits:[],changeCount:0,confidence:0,durationMs:0,implementationUsed:"typescript",usedFallback:!1,error:`Unknown transform type: ${e}`,warnings:[]}}var q={JavaScript:0,TypeScript:1,Python:2,Rust:3,Go:4,Java:5,C:6,Cpp:7},y=null,A=null,x=null,k=!1,R=null;async function G(){if(k)return R===null;if(R)return!1;try{let s=await import("./agent-booster-wasm-UVFQL2YN.js");return y=s.transform,A=s.warmup,x=s.isWasmAvailable,k=!0,!0}catch(s){return R=s,k=!0,!1}}function K(s){return q.TypeScript}var L=class{cache=new Map;ttlMs;enabled;constructor(e,n){this.enabled=e,this.ttlMs=n}generateKey(e,n){let r=0;for(let o=0;o<e.length;o++){let t=e.charCodeAt(o);r=(r<<5)-r+t,r=r&r}return`${n}:${r}:${e.length}`}get(e,n){if(!this.enabled)return null;let r=this.generateKey(e,n),o=this.cache.get(r);return o?Date.now()>o.expiresAt?(this.cache.delete(r),null):o.result:null}set(e,n,r){if(!this.enabled)return;let o=this.generateKey(e,n);this.cache.set(o,{result:r,expiresAt:Date.now()+this.ttlMs})}clear(){this.cache.clear()}getStats(){return{size:this.cache.size,hitRate:0}}},v=class{config;logger;cache;enabledTransforms;metricsTracker;initialized=!1;wasmAvailable=!1;wasmModule=null;patternsLoaded=!1;totalTransforms=0;successfulTransforms=0;totalDurationMs=0;cacheHits=0;cacheMisses=0;constructor(e={},n,r){this.config={...z,...e},this.logger=n||{debug:()=>{},info:()=>{},warn:()=>{},error:()=>{}},this.metricsTracker=r,this.cache=new L(this.config.cacheEnabled,this.config.cacheTtlMs),this.config.transforms.length===0?this.enabledTransforms=new Set(b):this.enabledTransforms=new Set(this.config.transforms)}setMetricsTracker(e){this.metricsTracker=e}async initialize(){this.initialized||(this.logger.info("Initializing Agent Booster adapter",{enabled:this.config.enabled,transforms:Array.from(this.enabledTransforms)}),this.config.transforms.length===0&&await this.loadEligibleTransformsFromPatterns(),this.config.enabled&&await this.tryLoadWasm(),this.initialized=!0,this.logger.info("Agent Booster adapter initialized",{wasmAvailable:this.wasmAvailable,enabledTransforms:Array.from(this.enabledTransforms),patternsLoaded:this.patternsLoaded}))}async loadEligibleTransformsFromPatterns(){try{let n=await F().getEligibleBoosterTransforms();if(n.length>0){let r=n.filter(o=>b.includes(o));if(r.length>0){this.enabledTransforms=new Set(r),this.patternsLoaded=!0,this.logger.info("Loaded eligible transforms from PatternLoader",{fromPatterns:r,invalidIgnored:n.length-r.length});return}}this.logger.debug("PatternLoader returned empty transforms, using defaults")}catch(e){this.logger.warn("Failed to load transforms from PatternLoader, using defaults",{error:e instanceof Error?e.message:"Unknown error"})}this.enabledTransforms=new Set(b),this.patternsLoaded=!1}async tryLoadWasm(){try{if(this.logger.debug("Loading WASM module"),!await G()||!x){this.logger.debug("WASM module could not be loaded, using TypeScript fallback"),this.wasmAvailable=!1;return}this.logger.debug("Checking WASM availability from local module"),await x()&&y&&A?(this.logger.debug("Warming up WASM module"),await A(),this.wasmModule={transform:y,warmup:A,isAvailable:x},this.wasmAvailable=!0,this.logger.info("WASM Agent Booster loaded and warmed up successfully",{source:"local-module"})):(this.logger.debug("WASM not available from local module, using TypeScript fallback"),this.wasmAvailable=!1)}catch(e){this.logger.warn("Failed to load WASM module",{error:e instanceof Error?e.message:"Unknown error"}),this.wasmAvailable=!1}}async dispose(){this.cache.clear(),this.wasmModule=null,this.wasmAvailable=!1,this.initialized=!1,this.logger.info("Agent Booster adapter disposed")}async transform(e,n){this.ensureInitialized(),this.ensureEnabled();let r=Date.now();if(this.totalTransforms++,!this.enabledTransforms.has(n))return this.createErrorResult(e,n,`Transform type '${n}' is not enabled`,r);let o=this.cache.get(e,n);if(o)return this.cacheHits++,this.logger.debug("Cache hit for transform",{type:n}),{...o,durationMs:Date.now()-r};this.cacheMisses++;let t;try{t=await this.executeWithFallback(e,n,r)}catch(a){return this.createErrorResult(e,n,a instanceof Error?a.message:"Unknown error",r)}return t.success&&(this.successfulTransforms++,this.cache.set(e,n,t)),this.totalDurationMs+=t.durationMs,await this.recordMetrics(t,n),t}async recordMetrics(e,n){if(this.metricsTracker)try{let r=`booster-${n}-${Date.now()}`;await this.metricsTracker.recordOutcome("booster",r,e.success,e.durationMs,{subType:n,confidence:e.confidence,usedFallback:e.usedFallback,implementationUsed:e.implementationUsed,itemCount:e.changeCount,errorMessage:e.error})}catch(r){this.logger.warn("Failed to record metrics",{error:r instanceof Error?r.message:"Unknown error"})}}async executeWithFallback(e,n,r){if(this.wasmAvailable)try{let t=await this.executeWasmTransform(e,n,r);if(t.success&&t.confidence>=this.config.confidenceThreshold)return t;this.logger.debug("WASM transform low confidence, trying TypeScript",{confidence:t.confidence,threshold:this.config.confidenceThreshold})}catch(t){this.logger.warn("WASM transform failed, falling back to TypeScript",{error:t instanceof Error?t.message:"Unknown error"})}let o=$(e,n,this.logger);return o.durationMs=Date.now()-r,this.config.fallbackToLLM&&o.confidence<this.config.confidenceThreshold&&(this.logger.debug("TypeScript transform low confidence, LLM fallback available",{confidence:o.confidence,threshold:this.config.confidenceThreshold}),o.warnings.push(`Confidence ${o.confidence.toFixed(2)} is below threshold ${this.config.confidenceThreshold}. LLM fallback recommended for review.`),o.usedFallback=!0),o}async executeWasmTransform(e,n,r){if(!this.wasmAvailable)throw new C;let o=K(n),t=$(e,n,this.logger);if(t.changeCount===0)return{...t,durationMs:Date.now()-r,implementationUsed:"wasm"};if(!y)throw new C("WASM transform function not loaded");let a=await Promise.race([y(e,t.transformedCode,o,{confidenceThreshold:this.config.confidenceThreshold,allowFallback:!0}),new Promise((m,u)=>setTimeout(()=>u(new P("WASM transform timed out",n,this.config.timeoutMs)),this.config.timeoutMs))]),i=Date.now()-r,l=a.success&&a.mergedCode!==e?t.changeCount:0;return{success:a.success,transformType:n,originalCode:e,transformedCode:a.mergedCode,edits:t.edits,changeCount:l,confidence:a.confidence,durationMs:i,implementationUsed:a.source==="wasm"?"wasm":"typescript",usedFallback:a.source!=="wasm",error:a.error,warnings:a.syntaxValid?[]:["WASM reported syntax may be invalid"]}}async batchTransform(e,n){this.ensureInitialized(),this.ensureEnabled();let r=Date.now(),o=[],t=[],a=0,i=0,l=0,m=0;for(let u of e){if(u.content.length>this.config.maxFileSizeBytes){let c=new B(u.path,u.content.length,this.config.maxFileSizeBytes);t.push({path:u.path,error:c.message}),i++;continue}try{let c=await this.transform(u.content,n);o.push({path:u.path,result:c}),c.success?c.changeCount>0?(a++,m+=c.changeCount):l++:(i++,c.error&&t.push({path:u.path,error:c.error}))}catch(c){i++,t.push({path:u.path,error:c instanceof Error?c.message:"Unknown error"})}}return{success:i===0,transformType:n,files:o,totalFiles:e.length,successCount:a,failureCount:i,noChangeCount:l,totalChanges:m,durationMs:Date.now()-r,errors:t}}async detectTransformOpportunities(e){this.ensureInitialized(),this.ensureEnabled();let n=Date.now(),r=[],o={},t=[];for(let a of b)o[a]=0;for(let a of Array.from(this.enabledTransforms))try{let i=await this.transform(e,a);if(i.changeCount>0)for(let l of i.edits){let m={type:a,confidence:i.confidence,location:l.start,codeSnippet:l.oldText.slice(0,100)+(l.oldText.length>100?"...":""),suggestedCode:l.newText.slice(0,100)+(l.newText.length>100?"...":""),reason:l.description,risk:this.confidenceToRisk(i.confidence),estimatedDurationMs:E[a].typicalLatencyMs};r.push(m),o[a]++}}catch(i){t.push(`Failed to analyze for ${a}: ${i instanceof Error?i.message:"Unknown error"}`)}return r.sort((a,i)=>i.confidence-a.confidence),{opportunities:r,totalCount:r.length,byType:o,durationMs:Date.now()-n,complete:t.length===0,warnings:t}}isTransformAvailable(e){return this.enabledTransforms.has(e)}getTransformMetadata(e){return E[e]}getAvailableTransforms(){return Array.from(this.enabledTransforms)}isWasmAvailable(){return this.wasmAvailable}getHealth(){let e=this.totalTransforms>0?this.totalDurationMs/this.totalTransforms:0,n=this.cacheHits+this.cacheMisses>0?this.cacheHits/(this.cacheHits+this.cacheMisses):0,r=[];return this.initialized||r.push("Adapter not initialized"),this.config.enabled||r.push("Adapter is disabled"),this.wasmAvailable||r.push("WASM module not loaded (using TypeScript fallback)"),this.patternsLoaded||r.push("Patterns not loaded from PatternLoader (using defaults)"),{ready:this.initialized&&this.config.enabled,wasmAvailable:this.wasmAvailable,patternsLoaded:this.patternsLoaded,availableTransforms:Array.from(this.enabledTransforms),lastChecked:new Date,issues:r,metrics:{totalTransforms:this.totalTransforms,successfulTransforms:this.successfulTransforms,averageDurationMs:e,cacheHitRate:n}}}ensureInitialized(){if(!this.initialized)throw new M("AgentBoosterAdapter not initialized. Call initialize() first.","var-to-const")}ensureEnabled(){if(!this.config.enabled)throw new M("AgentBoosterAdapter is disabled. Set enabled: true in config.","var-to-const")}createErrorResult(e,n,r,o){return{success:!1,transformType:n,originalCode:e,transformedCode:e,edits:[],changeCount:0,confidence:0,durationMs:Date.now()-o,implementationUsed:"typescript",usedFallback:!1,error:r,warnings:[]}}confidenceToRisk(e){return e>=.95?"info":e>=.85?"low":e>=.7?"medium":e>=.5?"high":"critical"}};async function ee(s={},e,n){let r=new v(s,e,n);return await r.initialize(),r}function re(s={},e,n){return new v(s,e,n)}export{v as a,ee as b,re as c};
|
|
6
|
+
${c.trim()}`;r.push(p(s,a.index,a.index+l.length,f,"Convert .then() to await"))}e.debug("promise-to-async transform completed",{converted:r.length,warnings:o.length});let i=T(s,"promise-to-async",r,n,.65);return i.warnings=o,r.length>0&&i.warnings.push("Promise chains converted to await - ensure containing function is async"),i}catch(t){return e.error("promise-to-async transform failed",t),w(s,"promise-to-async",t instanceof Error?t.message:"Unknown error",n)}}function N(s,e={debug:()=>{},info:()=>{},warn:()=>{},error:()=>{}}){let n=Date.now(),r=[],o=[];try{let t,a=/(?:const|let|var)\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*=\s*require\s*\(\s*(['"`][^'"`]+['"`])\s*\)\s*;?/g;for(;(t=a.exec(s))!==null;){let[c,f,g]=t,d=`import ${f} from ${g};`;r.push(p(s,t.index,t.index+c.length,d,"Convert require to import"))}let i=/(?:const|let|var)\s+\{\s*([^}]+)\s*\}\s*=\s*require\s*\(\s*(['"`][^'"`]+['"`])\s*\)\s*;?/g;for(;(t=i.exec(s))!==null;){let[c,f,g]=t,d=`import { ${f.trim()} } from ${g};`;r.push(p(s,t.index,t.index+c.length,d,"Convert destructured require to import"))}let l=/module\.exports\s*=\s*([^;]+);?/g;for(;(t=l.exec(s))!==null;){let[c,f]=t,g=`export default ${f.trim()};`;r.push(p(s,t.index,t.index+c.length,g,"Convert module.exports to export default"))}let m=/exports\.([a-zA-Z_$][a-zA-Z0-9_$]*)\s*=\s*([^;]+);?/g;for(;(t=m.exec(s))!==null;){let[c,f,g]=t,d=g.trim(),h;d.startsWith("function")||d.startsWith("class")?h=`export ${d}`:d.startsWith("async function")?h=`export ${d}`:h=`export const ${f} = ${d};`,r.push(p(s,t.index,t.index+c.length,h,`Convert exports.${f} to named export`))}e.debug("cjs-to-esm transform completed",{edits:r.length});let u=T(s,"cjs-to-esm",r,n,.85);return u.warnings=o,u}catch(t){return e.error("cjs-to-esm transform failed",t),w(s,"cjs-to-esm",t instanceof Error?t.message:"Unknown error",n)}}function H(s,e={debug:()=>{},info:()=>{},warn:()=>{},error:()=>{}}){let n=Date.now(),r=[],o=[];try{let t=/(const|let|var)\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*=\s*function\s*\(([^)]*)\)\s*\{/g,a;for(;(a=t.exec(s))!==null;){let[m,u,c,f]=a,g=a.index,d=1,h=g+m.length;for(;d>0&&h<s.length;)s[h]==="{"&&d++,s[h]==="}"&&d--,h++;let S=s.slice(g,h);if(/\bthis\b/.test(S)){o.push(`Function ${c} uses 'this' - skipping arrow conversion (would change binding)`);continue}if(/\barguments\b/.test(S)){o.push(`Function ${c} uses 'arguments' - skipping arrow conversion (not available in arrow functions)`);continue}let D=`${u} ${c} = (${f}) => {`;r.push(p(s,a.index,a.index+m.length,D,`Convert function ${c} to arrow function`))}let i=/function\s*\(([^)]*)\)\s*\{\s*return\s+([^;]+);\s*\}/g;for(;(a=i.exec(s))!==null;){let[m,u,c]=a;if(/\b(this|arguments)\b/.test(m))continue;let f=u.includes(",")||u.trim()===""?`(${u}) => ${c}`:`${u.trim()} => ${c}`;r.push(p(s,a.index,a.index+m.length,f,"Convert callback to arrow function"))}e.debug("func-to-arrow transform completed",{converted:r.length,warnings:o.length});let l=T(s,"func-to-arrow",r,n,.85);return l.warnings=o,l}catch(t){return e.error("func-to-arrow transform failed",t),w(s,"func-to-arrow",t instanceof Error?t.message:"Unknown error",n)}}var V={"var-to-const":Z,"add-types":O,"remove-console":I,"promise-to-async":j,"cjs-to-esm":N,"func-to-arrow":H};function $(s,e,n){let r=V[e];return r?r(s,n):{success:!1,transformType:e,originalCode:s,transformedCode:s,edits:[],changeCount:0,confidence:0,durationMs:0,implementationUsed:"typescript",usedFallback:!1,error:`Unknown transform type: ${e}`,warnings:[]}}var q={JavaScript:0,TypeScript:1,Python:2,Rust:3,Go:4,Java:5,C:6,Cpp:7},y=null,A=null,x=null,k=!1,R=null;async function G(){if(k)return R===null;if(R)return!1;try{let s=await import("./agent-booster-wasm-5ARDZYNO.js");return y=s.transform,A=s.warmup,x=s.isWasmAvailable,k=!0,!0}catch(s){return R=s,k=!0,!1}}function K(s){return q.TypeScript}var L=class{cache=new Map;ttlMs;enabled;constructor(e,n){this.enabled=e,this.ttlMs=n}generateKey(e,n){let r=0;for(let o=0;o<e.length;o++){let t=e.charCodeAt(o);r=(r<<5)-r+t,r=r&r}return`${n}:${r}:${e.length}`}get(e,n){if(!this.enabled)return null;let r=this.generateKey(e,n),o=this.cache.get(r);return o?Date.now()>o.expiresAt?(this.cache.delete(r),null):o.result:null}set(e,n,r){if(!this.enabled)return;let o=this.generateKey(e,n);this.cache.set(o,{result:r,expiresAt:Date.now()+this.ttlMs})}clear(){this.cache.clear()}getStats(){return{size:this.cache.size,hitRate:0}}},v=class{config;logger;cache;enabledTransforms;metricsTracker;initialized=!1;wasmAvailable=!1;wasmModule=null;patternsLoaded=!1;totalTransforms=0;successfulTransforms=0;totalDurationMs=0;cacheHits=0;cacheMisses=0;constructor(e={},n,r){this.config={...z,...e},this.logger=n||{debug:()=>{},info:()=>{},warn:()=>{},error:()=>{}},this.metricsTracker=r,this.cache=new L(this.config.cacheEnabled,this.config.cacheTtlMs),this.config.transforms.length===0?this.enabledTransforms=new Set(b):this.enabledTransforms=new Set(this.config.transforms)}setMetricsTracker(e){this.metricsTracker=e}async initialize(){this.initialized||(this.logger.info("Initializing Agent Booster adapter",{enabled:this.config.enabled,transforms:Array.from(this.enabledTransforms)}),this.config.transforms.length===0&&await this.loadEligibleTransformsFromPatterns(),this.config.enabled&&await this.tryLoadWasm(),this.initialized=!0,this.logger.info("Agent Booster adapter initialized",{wasmAvailable:this.wasmAvailable,enabledTransforms:Array.from(this.enabledTransforms),patternsLoaded:this.patternsLoaded}))}async loadEligibleTransformsFromPatterns(){try{let n=await F().getEligibleBoosterTransforms();if(n.length>0){let r=n.filter(o=>b.includes(o));if(r.length>0){this.enabledTransforms=new Set(r),this.patternsLoaded=!0,this.logger.info("Loaded eligible transforms from PatternLoader",{fromPatterns:r,invalidIgnored:n.length-r.length});return}}this.logger.debug("PatternLoader returned empty transforms, using defaults")}catch(e){this.logger.warn("Failed to load transforms from PatternLoader, using defaults",{error:e instanceof Error?e.message:"Unknown error"})}this.enabledTransforms=new Set(b),this.patternsLoaded=!1}async tryLoadWasm(){try{if(this.logger.debug("Loading WASM module"),!await G()||!x){this.logger.debug("WASM module could not be loaded, using TypeScript fallback"),this.wasmAvailable=!1;return}this.logger.debug("Checking WASM availability from local module"),await x()&&y&&A?(this.logger.debug("Warming up WASM module"),await A(),this.wasmModule={transform:y,warmup:A,isAvailable:x},this.wasmAvailable=!0,this.logger.info("WASM Agent Booster loaded and warmed up successfully",{source:"local-module"})):(this.logger.debug("WASM not available from local module, using TypeScript fallback"),this.wasmAvailable=!1)}catch(e){this.logger.warn("Failed to load WASM module",{error:e instanceof Error?e.message:"Unknown error"}),this.wasmAvailable=!1}}async dispose(){this.cache.clear(),this.wasmModule=null,this.wasmAvailable=!1,this.initialized=!1,this.logger.info("Agent Booster adapter disposed")}async transform(e,n){this.ensureInitialized(),this.ensureEnabled();let r=Date.now();if(this.totalTransforms++,!this.enabledTransforms.has(n))return this.createErrorResult(e,n,`Transform type '${n}' is not enabled`,r);let o=this.cache.get(e,n);if(o)return this.cacheHits++,this.logger.debug("Cache hit for transform",{type:n}),{...o,durationMs:Date.now()-r};this.cacheMisses++;let t;try{t=await this.executeWithFallback(e,n,r)}catch(a){return this.createErrorResult(e,n,a instanceof Error?a.message:"Unknown error",r)}return t.success&&(this.successfulTransforms++,this.cache.set(e,n,t)),this.totalDurationMs+=t.durationMs,await this.recordMetrics(t,n),t}async recordMetrics(e,n){if(this.metricsTracker)try{let r=`booster-${n}-${Date.now()}`;await this.metricsTracker.recordOutcome("booster",r,e.success,e.durationMs,{subType:n,confidence:e.confidence,usedFallback:e.usedFallback,implementationUsed:e.implementationUsed,itemCount:e.changeCount,errorMessage:e.error})}catch(r){this.logger.warn("Failed to record metrics",{error:r instanceof Error?r.message:"Unknown error"})}}async executeWithFallback(e,n,r){if(this.wasmAvailable)try{let t=await this.executeWasmTransform(e,n,r);if(t.success&&t.confidence>=this.config.confidenceThreshold)return t;this.logger.debug("WASM transform low confidence, trying TypeScript",{confidence:t.confidence,threshold:this.config.confidenceThreshold})}catch(t){this.logger.warn("WASM transform failed, falling back to TypeScript",{error:t instanceof Error?t.message:"Unknown error"})}let o=$(e,n,this.logger);return o.durationMs=Date.now()-r,this.config.fallbackToLLM&&o.confidence<this.config.confidenceThreshold&&(this.logger.debug("TypeScript transform low confidence, LLM fallback available",{confidence:o.confidence,threshold:this.config.confidenceThreshold}),o.warnings.push(`Confidence ${o.confidence.toFixed(2)} is below threshold ${this.config.confidenceThreshold}. LLM fallback recommended for review.`),o.usedFallback=!0),o}async executeWasmTransform(e,n,r){if(!this.wasmAvailable)throw new C;let o=K(n),t=$(e,n,this.logger);if(t.changeCount===0)return{...t,durationMs:Date.now()-r,implementationUsed:"wasm"};if(!y)throw new C("WASM transform function not loaded");let a=await Promise.race([y(e,t.transformedCode,o,{confidenceThreshold:this.config.confidenceThreshold,allowFallback:!0}),new Promise((m,u)=>setTimeout(()=>u(new P("WASM transform timed out",n,this.config.timeoutMs)),this.config.timeoutMs))]),i=Date.now()-r,l=a.success&&a.mergedCode!==e?t.changeCount:0;return{success:a.success,transformType:n,originalCode:e,transformedCode:a.mergedCode,edits:t.edits,changeCount:l,confidence:a.confidence,durationMs:i,implementationUsed:a.source==="wasm"?"wasm":"typescript",usedFallback:a.source!=="wasm",error:a.error,warnings:a.syntaxValid?[]:["WASM reported syntax may be invalid"]}}async batchTransform(e,n){this.ensureInitialized(),this.ensureEnabled();let r=Date.now(),o=[],t=[],a=0,i=0,l=0,m=0;for(let u of e){if(u.content.length>this.config.maxFileSizeBytes){let c=new B(u.path,u.content.length,this.config.maxFileSizeBytes);t.push({path:u.path,error:c.message}),i++;continue}try{let c=await this.transform(u.content,n);o.push({path:u.path,result:c}),c.success?c.changeCount>0?(a++,m+=c.changeCount):l++:(i++,c.error&&t.push({path:u.path,error:c.error}))}catch(c){i++,t.push({path:u.path,error:c instanceof Error?c.message:"Unknown error"})}}return{success:i===0,transformType:n,files:o,totalFiles:e.length,successCount:a,failureCount:i,noChangeCount:l,totalChanges:m,durationMs:Date.now()-r,errors:t}}async detectTransformOpportunities(e){this.ensureInitialized(),this.ensureEnabled();let n=Date.now(),r=[],o={},t=[];for(let a of b)o[a]=0;for(let a of Array.from(this.enabledTransforms))try{let i=await this.transform(e,a);if(i.changeCount>0)for(let l of i.edits){let m={type:a,confidence:i.confidence,location:l.start,codeSnippet:l.oldText.slice(0,100)+(l.oldText.length>100?"...":""),suggestedCode:l.newText.slice(0,100)+(l.newText.length>100?"...":""),reason:l.description,risk:this.confidenceToRisk(i.confidence),estimatedDurationMs:E[a].typicalLatencyMs};r.push(m),o[a]++}}catch(i){t.push(`Failed to analyze for ${a}: ${i instanceof Error?i.message:"Unknown error"}`)}return r.sort((a,i)=>i.confidence-a.confidence),{opportunities:r,totalCount:r.length,byType:o,durationMs:Date.now()-n,complete:t.length===0,warnings:t}}isTransformAvailable(e){return this.enabledTransforms.has(e)}getTransformMetadata(e){return E[e]}getAvailableTransforms(){return Array.from(this.enabledTransforms)}isWasmAvailable(){return this.wasmAvailable}getHealth(){let e=this.totalTransforms>0?this.totalDurationMs/this.totalTransforms:0,n=this.cacheHits+this.cacheMisses>0?this.cacheHits/(this.cacheHits+this.cacheMisses):0,r=[];return this.initialized||r.push("Adapter not initialized"),this.config.enabled||r.push("Adapter is disabled"),this.wasmAvailable||r.push("WASM module not loaded (using TypeScript fallback)"),this.patternsLoaded||r.push("Patterns not loaded from PatternLoader (using defaults)"),{ready:this.initialized&&this.config.enabled,wasmAvailable:this.wasmAvailable,patternsLoaded:this.patternsLoaded,availableTransforms:Array.from(this.enabledTransforms),lastChecked:new Date,issues:r,metrics:{totalTransforms:this.totalTransforms,successfulTransforms:this.successfulTransforms,averageDurationMs:e,cacheHitRate:n}}}ensureInitialized(){if(!this.initialized)throw new M("AgentBoosterAdapter not initialized. Call initialize() first.","var-to-const")}ensureEnabled(){if(!this.config.enabled)throw new M("AgentBoosterAdapter is disabled. Set enabled: true in config.","var-to-const")}createErrorResult(e,n,r,o){return{success:!1,transformType:n,originalCode:e,transformedCode:e,edits:[],changeCount:0,confidence:0,durationMs:Date.now()-o,implementationUsed:"typescript",usedFallback:!1,error:r,warnings:[]}}confidenceToRisk(e){return e>=.95?"info":e>=.85?"low":e>=.7?"medium":e>=.5?"high":"critical"}};async function ee(s={},e,n){let r=new v(s,e,n);return await r.initialize(),r}function re(s={},e,n){return new v(s,e,n)}export{v as a,ee as b,re as c};
|
|
@@ -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 y,c as v,d as R}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.11");process.exit(0)}
|
|
2
|
+
import{a as y,c as v,d as R}from"./chunk-GP5QBJVO.js";import{d as u}from"./chunk-4TJJU5Y2.js";import{a as p,b as g,c as P,d as s}from"./chunk-SW56PB22.js";import{d as f,e as C}from"./chunk-QYHRDBKI.js";C();var E=f("llm/router-service");function m(e){let r={};for(let[i,t]of Object.entries(e.providers??{}))t?.defaultModel&&(r[i]=t.defaultModel);p(e.agentOverrides,r);let o=g();if(o.length===0)return e;let n=e.rules.length>0?e.rules:P;return{...e,rules:[...o,...n]}}var T=["ollama","onnx","gemini","openrouter","openai","claude","azure-openai","bedrock"];async function F(e={}){if(e.providerManager){let a=m(v({projectRoot:e.projectRoot,override:e.override,env:e.env})),d=new s(e.providerManager,a);return await d.initialize(),{router:d,resolvedConfig:a,enabledProviders:x(a)}}if(!R({projectRoot:e.projectRoot,env:e.env}))return null;let r=m(v({projectRoot:e.projectRoot,override:e.override,env:e.env})),o=M(r,e.env??process.env);if(o.length===0)return null;let n=new Set(o);for(let[a,d]of Object.entries(r.agentOverrides??{}))d.provider&&!n.has(d.provider)&&E.warn(`[llm-config] agentOverrides["${a}"] routes to provider "${d.provider}", which is not enabled (no API key detected and not enabled in .agentic-qe/llm-config.json). This override will not take effect until that provider is available.`);let{primary:i,fallbacks:t}=L(r,o),l={primary:i,fallbacks:t,providers:k(r,o),loadBalancing:"round-robin",global:{enableCostTracking:!0,enableMetrics:!0}},b=new u(l),c=new s(b,r);return await c.initialize(),{router:c,resolvedConfig:r,enabledProviders:o}}function M(e,r=process.env){let o=y(r),n=[],i=t=>{n.includes(t)||!e.providers?.[t]?.enabled||o.has(t)&&n.push(t)};i(e.defaultProvider);for(let t of e.fallbackChain?.entries??[])i(t.provider);for(let t of T)i(t);return n}function x(e){let r=new Set([e.defaultProvider]);for(let o of e.fallbackChain?.entries??[])r.add(o.provider);return Array.from(r)}function L(e,r){if(r.length===0)throw new Error("pickPrimaryAndFallbacks: no enabled providers");let o=r.includes(e.defaultProvider)?e.defaultProvider:r[0],n=r.filter(i=>i!==o);return{primary:o,fallbacks:n}}function k(e,r){let o={};for(let n of r){let i=e.providers?.[n];i&&(o[n]=i)}return o}export{F as a,M as b,L as c};
|
|
@@ -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{c as h,e as v,g as T}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.11");process.exit(0)}
|
|
2
|
+
import{c as h,e as v,g as T}from"./chunk-LUAXQB57.js";var y={};v(y,{DotProductAttention:()=>z,FlashAttention:()=>k,HyperbolicAttention:()=>C,LinearAttention:()=>j,MoEAttention:()=>W,MultiHeadAttention:()=>F,RuvectorLayer:()=>O,SonaEngine:()=>K,TensorCompress:()=>E,default:()=>I,differentiableSearch:()=>L,getCompressionLevel:()=>B,hierarchicalForward:()=>V,init:()=>D,pipeline:()=>q});import{createRequire as A}from"module";var _,g,I,O,E,L,V,B,D,k,z,F,C,j,W,K,q,R=h(()=>{_=A(import.meta.url),g=_("@ruvector/rvf-node"),I=g,{RuvectorLayer:O,TensorCompress:E,differentiableSearch:L,hierarchicalForward:V,getCompressionLevel:B,init:D,FlashAttention:k,DotProductAttention:z,MultiHeadAttention:F,HyperbolicAttention:C,LinearAttention:j,MoEAttention:W,SonaEngine:K,pipeline:q}=g||{}});var Z={};v(Z,{createRvfStore:()=>$,isRvfNativeAvailable:()=>X,openRvfStore:()=>G,openRvfStoreReadonly:()=>U});import{readFileSync as J,writeFileSync as H,copyFileSync as Q,existsSync as Y}from"fs";function c(){if(S)return m;S=!0;try{let s=(R(),T(y));!s.RvfDatabase&&s.default&&s.default.RvfDatabase&&(s=s.default),m=s}catch{m=null}return m}function w(s){return`${s}.idmap.json`}function N(s){let e=w(s),t=new Map,n=new Map,i=1;if(Y(e))try{let r=JSON.parse(J(e,"utf-8"));i=r.nextLabel;for(let[a,p]of r.entries)t.set(a,p),n.set(p,a)}catch{}return{strToNum:t,numToStr:n,nextLabel:i}}function b(s,e,t){let n={nextLabel:t,entries:Array.from(e.entries())};H(w(s),JSON.stringify(n),"utf-8")}function $(s,e){let t=c();if(!t)throw new Error("@ruvector/rvf-node is not available \u2014 install the package or check platform compatibility");let n=t.RvfDatabase.create(s,{dimension:e}),i=n.dimension();return new d(n,s,i,new Map,new Map,1)}function G(s){let e=c();if(!e)throw new Error("@ruvector/rvf-node is not available \u2014 install the package or check platform compatibility");let t=e.RvfDatabase.open(s),n=t.dimension(),{strToNum:i,numToStr:r,nextLabel:a}=N(s);return new d(t,s,n,i,r,a)}function U(s){let e=c();if(!e)throw new Error("@ruvector/rvf-node is not available \u2014 install the package or check platform compatibility");let t=e.RvfDatabase.openReadonly(s),n=t.dimension(),{strToNum:i,numToStr:r,nextLabel:a}=N(s);return new d(t,s,n,i,r,a)}function X(){return process.env.AQE_MEMORY_BACKEND==="memory"?!1:c()!==null}var m,S,d,P=h(()=>{m=null,S=!1;d=class s{db;_path;_dimension;strToNum;numToStr;nextLabel;_open;constructor(e,t,n,i,r,a){this.db=e,this._path=t,this._dimension=n,this.strToNum=i,this.numToStr=r,this.nextLabel=a,this._open=!0}ingest(e){if(this.ensureOpen(),e.length===0)return{accepted:0,rejected:0};let t=this._dimension,n=new Float32Array(e.length*t),i=[],r=[];for(let o=0;o<e.length;o++){let{id:u,vector:f,metadata:x}=e[o],l=this.strToNum.get(u);l===void 0&&(l=this.nextLabel++,this.strToNum.set(u,l),this.numToStr.set(l,u)),i.push(l),r.push(x);let M=f instanceof Float32Array?f:new Float32Array(f);n.set(M.subarray(0,t),o*t)}let a;if(r.some(o=>o!==void 0)&&typeof this.db.ingestBatchWithMetadata=="function"){let o=r.map(u=>u?JSON.stringify(u):"");a=this.db.ingestBatchWithMetadata(n,i,o)}else a=this.db.ingestBatch(n,i);return this.persistIdMap(),{accepted:a.accepted,rejected:a.rejected}}search(e,t){this.ensureOpen();let n=e instanceof Float32Array?e:new Float32Array(e);return this.db.query(n,t).map(r=>{let a=this.numToStr.get(r.id);return a===void 0?null:{id:a,distance:r.distance,score:1/(1+r.distance)}}).filter(r=>r!==null)}delete(e){this.ensureOpen();let t=[];for(let i of e){let r=this.strToNum.get(i);r!==void 0&&t.push(r)}if(t.length===0)return 0;let n=this.db.delete(t);for(let i of e){let r=this.strToNum.get(i);r!==void 0&&(this.strToNum.delete(i),this.numToStr.delete(r))}return this.persistIdMap(),n.deleted}fork(e){this.ensureOpen(),Q(this._path,e);let t=new Map(this.strToNum),n=new Map(this.numToStr);b(e,t,this.nextLabel);let r=c().RvfDatabase.open(e);return new s(r,e,this._dimension,t,n,this.nextLabel)}status(){this.ensureOpen();let e=this.db.status(),n=this.db.segments().filter(i=>i.segType==="witness");return{totalVectors:e.totalVectors,totalSegments:e.totalSegments,fileSizeBytes:e.fileSize,epoch:e.currentEpoch,witnessValid:n.length>0,witnessEntries:n.length,deadSpaceRatio:typeof e.deadSpaceRatio=="number"?e.deadSpaceRatio:0}}dimension(){return this._dimension}size(){return this.ensureOpen(),this.db.status().totalVectors}compact(){this.ensureOpen();try{let e=this.db.compact();return e&&typeof e=="object"?{segmentsCompacted:typeof e.segmentsCompacted=="number"?e.segmentsCompacted:0,bytesReclaimed:typeof e.bytesReclaimed=="number"?e.bytesReclaimed:0,epoch:typeof e.epoch=="number"?e.epoch:0}:{segmentsCompacted:0,bytesReclaimed:0,epoch:0}}catch{return null}}close(){this._open&&(this.db.close(),this._open=!1)}isOpen(){return this._open}path(){return this._path}embedKernel(e){return this.ensureOpen(),this.db.embedKernel(0,99,0,e,0,"")}extractKernel(){return this.ensureOpen(),this.db.extractKernel()}verifyWitness(){this.ensureOpen();let e=this.tryNative("verifyWitness");return e?{valid:e.valid??!0,totalEntries:e.totalEntries??0,errors:Array.isArray(e.errors)?e.errors:[]}:{valid:!0,totalEntries:0,errors:[]}}sign(e){this.ensureOpen();let t=this.tryNative("sign",e);return typeof t=="string"?t:null}fileId(){this.ensureOpen();let e=this.tryNative("fileId");return typeof e=="string"?e:null}parentId(){this.ensureOpen();let e=this.tryNative("parentId");return typeof e=="string"?e:null}lineageDepth(){this.ensureOpen();let e=this.tryNative("lineageDepth");return typeof e=="number"?e:0}indexStats(){let e=this.status();return{totalVectors:e.totalVectors,dimension:this._dimension,totalSegments:e.totalSegments,fileSizeBytes:e.fileSizeBytes,epoch:e.epoch,witnessValid:e.witnessValid,witnessEntries:e.witnessEntries,idMapSize:this.strToNum.size}}freeze(){this.ensureOpen();let e=this.tryNative("freeze");return typeof e=="number"?e:0}derive(e){this.ensureOpen();let t=c();if(typeof this.db.derive=="function")try{let n=this.db.derive(e),i=new Map(this.strToNum),r=new Map(this.numToStr);return b(e,i,this.nextLabel),new s(n,e,this._dimension,i,r,this.nextLabel)}catch{}return this.fork(e)}ensureOpen(){if(!this._open)throw new Error("RVF database is closed")}tryNative(e,...t){if(typeof this.db[e]!="function")return null;try{return this.db[e](...t)}catch{return null}}persistIdMap(){b(this._path,this.strToNum,this.nextLabel)}}});export{$ as a,G as b,U as c,X as d,Z as e,P as f};
|
|
@@ -0,0 +1,12 @@
|
|
|
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.11");process.exit(0)}
|
|
2
|
+
import{a as G,b as H}from"./chunk-GPJDZFFV.js";import{h as U}from"./chunk-JTQSXU6V.js";import{a as W}from"./chunk-GJTGHVAX.js";import{e as N}from"./chunk-TMY2Y7SC.js";import{e as F}from"./chunk-36ONUM43.js";import{b as v,c as x}from"./chunk-UGFHEVG4.js";import{a as ae}from"./chunk-CYQRZ645.js";import{c as O}from"./chunk-QYHRDBKI.js";import{b as k,d as q}from"./chunk-TZA45FI7.js";import{b,c as E}from"./chunk-XDK2TPI5.js";import{a as y,c as I}from"./chunk-TCVEXQLL.js";import{i as z}from"./chunk-PJNIDDER.js";import{S as se,b as _}from"./chunk-NHL37QAZ.js";import{randomUUID as ee}from"crypto";I();q();import{randomUUID as oe}from"node:crypto";var B=x(),P=class{constructor(e){this.options=e}options;claudeFlowAvailable=!1;localTrajectories=new Map;async initialize(){this.claudeFlowAvailable=await this.checkClaudeFlow()}async checkClaudeFlow(){return v(this.options.projectRoot).available}async startTrajectory(e,t){let i=`trajectory-${oe()}`;if(this.claudeFlowAvailable)try{let{execFileSync:r}=await import("child_process"),n=["--no-install",B,"hooks","intelligence","trajectory-start","--task",e];t&&n.push("--agent",t);let s=r("npx",n,{encoding:"utf-8",timeout:1e4,cwd:this.options.projectRoot}).match(/trajectoryId[:\s]+["']?([^"'\s,}]+)/i);if(s?.[1])return s[1]}catch(r){console.debug("[TrajectoryBridge] Claude Flow trajectory start failed:",r instanceof Error?r.message:r)}return this.localTrajectories.set(i,{id:i,task:e,agent:t,steps:[],startedAt:Date.now()}),i}async recordStep(e,t,i,r){if(this.claudeFlowAvailable)try{let{execFileSync:a}=await import("child_process"),s=["--no-install",B,"hooks","intelligence","trajectory-step","--trajectory-id",e,"--action",t];i&&s.push("--result",i),r!==void 0&&s.push("--quality",String(r)),a("npx",s,{encoding:"utf-8",timeout:1e4,cwd:this.options.projectRoot});return}catch(a){console.debug("[TrajectoryBridge] Claude Flow trajectory step failed:",a instanceof Error?a.message:a)}let n=this.localTrajectories.get(e);n&&n.steps.push({id:`step-${n.steps.length+1}`,action:t,result:i,quality:r,timestamp:Date.now()})}async endTrajectory(e,t,i){if(this.claudeFlowAvailable)try{let{execFileSync:n}=await import("child_process"),a=["--no-install",B,"hooks","intelligence","trajectory-end","--trajectory-id",e,"--success",String(t)];i&&a.push("--feedback",i),n("npx",a,{encoding:"utf-8",timeout:1e4,cwd:this.options.projectRoot})}catch{}let r=this.localTrajectories.get(e);if(r)return r.success=t,r.feedback=i,r.completedAt=Date.now(),await this.persistTrajectory(r),r}getTrajectory(e){return this.localTrajectories.get(e)}isClaudeFlowAvailable(){return this.claudeFlowAvailable}async persistTrajectory(e){try{let{getUnifiedMemory:t}=await import("./unified-memory-4VO5KSHP.js"),i=t();i.isInitialized()||await i.initialize();let r=i.getDatabase();try{r.prepare("PRAGMA table_info(qe_trajectories)").all().some(o=>o.name==="feedback")||r.exec("ALTER TABLE qe_trajectories ADD COLUMN feedback TEXT")}catch{}let n=new Date(e.startedAt).toISOString(),a=e.completedAt?new Date(e.completedAt).toISOString():null;r.prepare(`
|
|
3
|
+
INSERT OR REPLACE INTO qe_trajectories
|
|
4
|
+
(id, task, agent, domain, started_at, ended_at, success, steps_json, feedback)
|
|
5
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
6
|
+
`).run(e.id,e.task,e.agent||null,null,n,a,e.success?1:0,JSON.stringify(e.steps),e.feedback||null)}catch(t){console.debug("[TrajectoryBridge] Trajectory persistence failed:",t instanceof Error?t.message:t)}}};var V=x(),J={low:[/simple/i,/basic/i,/fix typo/i,/rename/i,/format/i,/add comment/i,/lint/i,/minor/i,/quick/i],high:[/architect/i,/design/i,/complex/i,/security/i,/performance/i,/refactor.*large/i,/critical/i,/analysis/i,/multi.*file/i,/database.*migration/i,/distributed/i,/concurrent/i]},R=class{constructor(e){this.options=e}options;claudeFlowAvailable=!1;routingHistory=[];async initialize(){this.claudeFlowAvailable=await this.checkClaudeFlow()}async checkClaudeFlow(){return v(this.options.projectRoot).available}async routeTask(e){if(this.claudeFlowAvailable)try{let{execFileSync:t}=await import("child_process"),i=t("npx",["--no-install",V,"hooks","model-route","--task",e],{encoding:"utf-8",timeout:1e4,cwd:this.options.projectRoot}),r=i.match(/model[:\s]+["']?(haiku|sonnet|opus)/i),n=i.match(/confidence[:\s]+([0-9.]+)/i),a=i.match(/reason(?:ing)?[:\s]+["']?([^"'\n]+)/i);if(r)return{model:r[1].toLowerCase(),confidence:n?parseFloat(n[1]):.7,reasoning:a?.[1]?.trim()}}catch(t){console.debug("[ModelRouterBridge] Claude Flow routing failed:",t instanceof Error?t.message:t)}return this.localRoute(e)}async recordOutcome(e){if(this.routingHistory.push(e),this.routingHistory.length>1e3&&(this.routingHistory=this.routingHistory.slice(-500)),this.claudeFlowAvailable)try{let{execFileSync:t}=await import("child_process");t("npx",["--no-install",V,"hooks","model-outcome","--task",e.task,"--model",e.model,"--outcome",e.outcome],{encoding:"utf-8",timeout:1e4,cwd:this.options.projectRoot})}catch(t){console.debug("[ModelRouterBridge] Outcome recording failed:",t instanceof Error?t.message:t)}}getStats(){let e={totalRoutings:this.routingHistory.length,modelDistribution:{haiku:0,sonnet:0,opus:0},successRate:{haiku:0,sonnet:0,opus:0}},t={haiku:0,sonnet:0,opus:0};for(let i of this.routingHistory)e.modelDistribution[i.model]++,i.outcome==="success"&&t[i.model]++;for(let i of["haiku","sonnet","opus"]){let r=e.modelDistribution[i];e.successRate[i]=r>0?t[i]/r:0}return e}isClaudeFlowAvailable(){return this.claudeFlowAvailable}localRoute(e){let t=e.toLowerCase();for(let i of J.low)if(i.test(t))return{model:"haiku",confidence:.75,reasoning:"Low complexity task detected - using haiku for speed"};for(let i of J.high)if(i.test(t))return{model:"opus",confidence:.8,reasoning:"High complexity task detected - using opus for capability"};return e.length>500?{model:"opus",confidence:.65,reasoning:"Long task description - using opus for complex reasoning"}:e.length<50?{model:"haiku",confidence:.6,reasoning:"Short task description - using haiku for efficiency"}:{model:"sonnet",confidence:.7,reasoning:"Medium complexity task - using sonnet for balance"}}};q();I();var D=x(),S=class{constructor(e){this.options=e}options;claudeFlowAvailable=!1;analysisCache=new Map;async initialize(){this.claudeFlowAvailable=await this.checkClaudeFlow()}async checkClaudeFlow(){return v(this.options.projectRoot).available}async analyze(e,t="medium"){let i=e||this.options.projectRoot,r=`${i}:${t}`,n=this.analysisCache.get(r);if(n)return n;if(this.claudeFlowAvailable)try{let{execFileSync:a}=await import("child_process"),s=a("npx",["--no-install",D,"hooks","pretrain","--path",i,"--depth",t],{encoding:"utf-8",timeout:12e4,cwd:this.options.projectRoot});try{let o=k(s),p={success:!0,repositoryPath:i,depth:t,analysis:o.analysis||void 0,agentConfigs:o.agentConfigs};return this.analysisCache.set(r,p),p}catch{return{success:!0,repositoryPath:i,depth:t}}}catch(a){console.debug("[PretrainBridge] Claude Flow analyze failed, using local:",a instanceof Error?a.message:a)}return this.localAnalyze(i,t)}async generateAgentConfigs(e="yaml"){if(this.claudeFlowAvailable)try{let{execFileSync:t}=await import("child_process"),i=t("npx",["--no-install",D,"hooks","build-agents","--format",e],{encoding:"utf-8",timeout:6e4,cwd:this.options.projectRoot});try{return k(i)}catch(r){return console.debug("[PretrainBridge] Agent config parse error:",r instanceof Error?r.message:r),[]}}catch(t){console.debug("[PretrainBridge] Claude Flow generateAgentConfigs failed:",t instanceof Error?t.message:t)}return this.generateLocalAgentConfigs()}async transferPatterns(e,t=.7){if(this.claudeFlowAvailable)try{let{execFileSync:i}=await import("child_process"),r=i("npx",["--no-install",D,"hooks","transfer","--source-path",e,"--min-confidence",String(t)],{encoding:"utf-8",timeout:6e4,cwd:this.options.projectRoot}),n=r.match(/transferred[:\s]+(\d+)/i),a=r.match(/skipped[:\s]+(\d+)/i);return{transferred:n?parseInt(n[1]):0,skipped:a?parseInt(a[1]):0}}catch(i){console.debug("[PretrainBridge] Claude Flow transferPatterns failed:",i instanceof Error?i.message:i)}return{transferred:0,skipped:0}}isClaudeFlowAvailable(){return this.claudeFlowAvailable}async localAnalyze(e,t){try{let i=await import("fast-glob"),{existsSync:r,readFileSync:n}=await import("fs"),{join:a}=await import("path"),s=t==="shallow"?["*.ts","*.js","*.json"]:t==="medium"?["**/*.ts","**/*.js","**/*.json","**/*.py"]:["**/*"],o=["node_modules/**","dist/**","coverage/**",".git/**"],p=await i.default(s,{cwd:e,ignore:o,onlyFiles:!0}),u=new Set,g=new Set;for(let d of p.slice(0,100))(d.endsWith(".ts")||d.endsWith(".tsx"))&&u.add("typescript"),(d.endsWith(".js")||d.endsWith(".jsx"))&&u.add("javascript"),d.endsWith(".py")&&u.add("python"),d.endsWith(".go")&&u.add("go"),d.endsWith(".rs")&&u.add("rust");let w=a(e,"package.json");if(r(w))try{let d=k(n(w,"utf-8")),f={...d.dependencies,...d.devDependencies};f.react&&g.add("react"),f.vue&&g.add("vue"),f.angular&&g.add("angular"),f.vitest&&g.add("vitest"),f.jest&&g.add("jest"),f.playwright&&g.add("playwright"),f.express&&g.add("express"),f.fastify&&g.add("fastify")}catch(d){console.debug("[PretrainBridge] package.json parse error:",d instanceof Error?d.message:d)}let m={success:!0,repositoryPath:e,depth:t,analysis:{languages:Array.from(u),frameworks:Array.from(g),patterns:[],complexity:p.length>500?3:p.length>100?2:1}};return this.analysisCache.set(`${e}:${t}`,m),m}catch(i){return{success:!1,repositoryPath:e,depth:t,error:y(i)}}}generateLocalAgentConfigs(){return[{name:"qe-test-architect",type:"worker",capabilities:["test-generation","test-design"],model:"sonnet"},{name:"qe-coverage-specialist",type:"worker",capabilities:["coverage-analysis","gap-detection"],model:"haiku"},{name:"qe-quality-gate",type:"worker",capabilities:["quality-assessment","risk-scoring"],model:"sonnet"},{name:"qe-security-scanner",type:"worker",capabilities:["security-scanning","vulnerability-detection"],model:"opus"}]}};var M=class{constructor(e){this.options=e;this.trajectory=new P(e),this.modelRouter=new R(e),this.pretrain=new S(e)}options;trajectory;modelRouter;pretrain;initialized=!1;async initialize(){this.initialized||(await Promise.all([this.trajectory.initialize(),this.modelRouter.initialize(),this.pretrain.initialize()]),this.initialized=!0)}getStatus(){return{available:this.isAvailable(),features:{trajectories:this.trajectory.isClaudeFlowAvailable(),modelRouting:this.modelRouter.isClaudeFlowAvailable(),pretrain:this.pretrain.isClaudeFlowAvailable(),patternSearch:this.trajectory.isClaudeFlowAvailable()}}}isAvailable(){return this.trajectory.isClaudeFlowAvailable()||this.modelRouter.isClaudeFlowAvailable()||this.pretrain.isClaudeFlowAvailable()}};function X(l){return new M(l)}ae();se();var T=O.create("experience-capture"),K={"catches-bug":1,flaky:-1,"false-positive":-1,"new-coverage":.3,redundant:0,"code-smell":-.5,neutral:0},ce=new Set(Object.keys(K));function Z(l){return typeof l=="string"&&ce.has(l)}function le(l){if(Z(l))return K[l]}var ue={namespace:"qe-experiences",minQualityForPatternExtraction:.7,similarityThreshold:.85,promotionThreshold:F,maxExperiencesPerDomain:1e3,enableCrossDomainSharing:!0,autoCleanup:!0,cleanupIntervalMs:864e5},Q=class{constructor(e,t,i,r={}){this.memory=e;this.patternStore=t;this.eventBus=i;this.config={...ue,...r}}memory;patternStore;eventBus;config;initialized=!1;cleanupTimer;activeExperiences=new Map;stats={totalCaptured:0,successfulCaptures:0,patternsExtracted:0,patternsPromoted:0,byDomain:new Map};sessionCaptureCount=0;witnessChain;nullRecorder;setWitnessChain(e){this.witnessChain=e}setNullRecorder(e){this.nullRecorder=e}async initialize(){this.initialized||(await this.loadStats(),this.config.autoCleanup&&(this.cleanupTimer=setInterval(()=>this.cleanup(),this.config.cleanupIntervalMs)),this.initialized=!0,console.log("[ExperienceCapture] Initialized"))}startCapture(e,t){let i=`exp-${Date.now()}-${z().slice(0,8)}`,r={id:i,task:e,agent:t?.agent,domain:t?.domain,model:t?.model,startedAt:Date.now(),completedAt:0,durationMs:0,steps:[],success:!1,quality:0,trajectoryId:t?.trajectoryId,metadata:t?.metadata,appliedPatterns:t?.appliedPatterns};return this.activeExperiences.set(i,r),i}recordStep(e,t){let i=this.activeExperiences.get(e);if(!i){console.warn(`[ExperienceCapture] Experience not found: ${e}`);return}i.steps.push({...t,timestamp:Date.now()})}async completeCapture(e,t){let i=this.activeExperiences.get(e);if(!i)return E(new Error(`Experience not found: ${e}`));let r=Date.now();i.completedAt=r,i.durationMs=r-i.startedAt,i.success=t.success,i.feedback=t.feedback,t.quality!==void 0?i.quality=t.quality:i.quality=this.calculateQuality(i);let n=t.testOutcome??i.metadata?.testOutcome;if(n&&Z(n)&&(i.testOutcome=n,i.reward=le(n)),this.witnessChain&&_().useWitnessChain)try{let o=this.witnessChain.appendWitness({type:"experience-capture",decision:i.success?"PASS":"FAIL",context:{experienceId:i.id,task:i.task,quality:i.quality,domain:i.domain,reward:i.reward},evidence:i.reward});i.witnessHash=o.hash}catch(o){T.warn("Failed to create witness receipt for experience",{experienceId:i.id,error:o instanceof Error?o.message:String(o)})}this.activeExperiences.delete(e),await this.storeExperience(i),this.updateStats(i);let a=i.reward!==void 0?i.reward<0:!i.success;if(this.nullRecorder&&a&&i.appliedPatterns?.length){let o=`${i.domain??"unknown"}:${i.agent??"unknown"}`;for(let p of i.appliedPatterns)try{this.nullRecorder({patternId:p,contextFingerprint:o,failureMode:i.testOutcome??i.feedback??"task-failure",trajectoryRef:i.trajectoryId,evidenceClass:"EXECUTED"})}catch(u){T.warn("Failed to record pattern null",{patternId:p,error:u instanceof Error?u.message:String(u)})}}let s=i.reward===void 0||i.reward>0;if(i.success&&i.quality>=this.config.minQualityForPatternExtraction&&s){let o=await this.extractPattern(i);(o.newPattern||o.reinforced)&&(i.patterns=[o.patternId])}return this.emitExperienceCaptured(i),b(i)}getActiveExperience(e){return this.activeExperiences.get(e)}getPendingCount(){return this.activeExperiences.size}async flushPending(){let e=Array.from(this.activeExperiences.entries());if(e.length===0)return 0;let t=0;for(let[i,r]of e){let n=Date.now();r.completedAt=n,r.durationMs=n-r.startedAt,r.quality=r.quality||this.calculateQuality(r),r.metadata={...r.metadata,flushedByCompaction:!0},await this.storeExperience(r),this.updateStats(r),this.activeExperiences.delete(i),t++}return T.info(`Flushed ${t} pending experiences before compaction`),t}async getExperience(e){let t=`${this.config.namespace}:experience:${e}`;return await this.memory.get(t)??null}async searchExperiences(e={}){let t=e.limit||100,i=[],r;e.domain?r=await this.memory.search(`${this.config.namespace}:index:domain:${e.domain}:*`,t*2):r=await this.memory.search(`${this.config.namespace}:experience:*`,t*2);for(let n of r){if(i.length>=t)break;let a=n.includes(":index:")?await this.memory.get(n):null,s=a?await this.getExperience(a):await this.memory.get(n);s&&(e.agent&&s.agent!==e.agent||e.success!==void 0&&s.success!==e.success||e.minQuality!==void 0&&s.quality<e.minQuality||i.push(s))}return i}async getStats(){let e={};for(let[t,i]of this.stats.byDomain)e[t]=i;return{totalExperiences:this.stats.totalCaptured,byDomain:e,successRate:this.stats.totalCaptured>0?this.stats.successfulCaptures/this.stats.totalCaptured:0,avgQuality:await this.calculateAvgQuality(),patternsExtracted:this.stats.patternsExtracted,patternsPromoted:this.stats.patternsPromoted}}async extractPattern(e){if(!this.patternStore)return{newPattern:!1,reinforced:!1,promoted:!1};let t=await this.patternStore.search(e.task,{limit:1,domain:e.domain,useVectorSearch:!0});if(t.success&&t.value.length>0){let n=t.value[0];if(n.similarity>=this.config.similarityThreshold){let a=await this.patternStore.recordUsage(n.pattern.id,e.success),s=await this.patternStore.get(n.pattern.id),o=!1;return s&&s.tier==="short-term"&&s.usageCount>=this.config.promotionThreshold&&(await this.patternStore.promote(n.pattern.id)).success&&(o=!0,this.stats.patternsPromoted++,console.log(`[ExperienceCapture] Pattern promoted: ${n.pattern.id} (${s.usageCount} uses)`)),{newPattern:!1,patternId:n.pattern.id,reinforced:a.success,promoted:o}}}let i=this.experienceToPatternOptions(e),r=await this.patternStore.create(i);return r.success?(this.stats.patternsExtracted++,await this.patternStore.recordUsage(r.value.id,e.success),{newPattern:!0,patternId:r.value.id,reinforced:!1,promoted:!1}):{newPattern:!1,reinforced:!1,promoted:!1}}async shareAcrossDomains(e){if(!this.config.enableCrossDomainSharing||!e.domain)return;let t=this.getRelatedDomains(e.domain);for(let i of t){let r=`${this.config.namespace}:shared:${i}:${e.id}`;await this.memory.set(r,{sourceExperience:e.id,sourceDomain:e.domain,sharedAt:Date.now()},{persist:!0})}}async cleanup(){let t=0;for(let i of this.stats.byDomain.keys()){let r=this.stats.byDomain.get(i)||0;if(r>this.config.maxExperiencesPerDomain){let n=await this.searchExperiences({domain:i,limit:r});n.sort((s,o)=>s.quality-o.quality||s.startedAt-o.startedAt);let a=r-this.config.maxExperiencesPerDomain;for(let s=0;s<Math.min(a,n.length);s++){let o=n[s];await this.softDeleteExperience(o.id),t++}}}return console.log(`[ExperienceCapture] Cleanup: ${t} archived (0 destroyed)`),{removed:0,consolidated:0,archived:t}}async dispose(){this.cleanupTimer&&(clearInterval(this.cleanupTimer),this.cleanupTimer=void 0),await this.saveStats(),this.sessionCaptureCount===0&&console.warn("[ExperienceCapture] WARNING: Zero experiences captured this session. Learning cannot improve without experience data. Ensure tasks call startCapture()/completeCapture() to feed the learning loop."),this.activeExperiences.clear(),this.initialized=!1}async storeExperience(e){let t=`${this.config.namespace}:experience:${e.id}`;if(await this.memory.set(t,e,{persist:!0}),e.domain){let i=`${this.config.namespace}:index:domain:${e.domain}:${e.id}`;await this.memory.set(i,e.id,{persist:!0})}if(e.agent){let i=`${this.config.namespace}:index:agent:${e.agent}:${e.id}`;await this.memory.set(i,e.id,{persist:!0})}}async deleteExperience(e){await this.softDeleteExperience(e)}async softDeleteExperience(e){let t=await this.getExperience(e);if(!t)return;let i=`${this.config.namespace}:experience:${e}`,r={...t,_archived:!0};await this.memory.set(i,r,{persist:!0})}calculateQuality(e){if(e.steps.length===0)return e.success?.5:.2;let t=e.steps.filter(r=>r.quality!==void 0);if(t.length===0)return e.success?.6:.3;let i=t.reduce((r,n)=>r+(n.quality||0),0)/t.length;return e.success?Math.min(1,i+.1):Math.max(0,i-.2)}updateStats(e){if(this.stats.totalCaptured++,this.sessionCaptureCount++,e.success&&this.stats.successfulCaptures++,e.domain){let t=this.stats.byDomain.get(e.domain)||0;this.stats.byDomain.set(e.domain,t+1)}}async calculateAvgQuality(){let e=await this.searchExperiences({limit:100});return e.length===0?0:e.reduce((i,r)=>i+r.quality,0)/e.length}experienceToPatternOptions(e){let t=this.detectPatternType(e.task),r=`Task: {{task}}
|
|
7
|
+
|
|
8
|
+
Steps:
|
|
9
|
+
${e.steps.map((n,a)=>`${a+1}. ${n.action}${n.result?` \u2192 ${n.result}`:""}`).join(`
|
|
10
|
+
`)}
|
|
11
|
+
|
|
12
|
+
Duration: ${e.durationMs}ms`;return{patternType:t,name:this.generatePatternName(e),description:`Pattern extracted from: ${e.task}`,context:{tags:this.extractTags(e),testType:this.detectTestType(e.task)},template:{type:"workflow",content:r,variables:[{name:"task",type:"string",description:"The task to execute",required:!0}]}}}detectPatternType(e){let t=e.toLowerCase();return t.includes("test")||t.includes("spec")?(t.includes("unit")||t.includes("integration")||t.includes("e2e"),"test-template"):t.includes("mock")||t.includes("stub")?"mock-pattern":t.includes("assert")||t.includes("expect")?"assertion-pattern":t.includes("coverage")?"coverage-strategy":t.includes("api")||t.includes("contract")?"api-contract":t.includes("visual")||t.includes("screenshot")?"visual-baseline":t.includes("accessibility")||t.includes("a11y")?"a11y-check":t.includes("performance")||t.includes("perf")?"perf-benchmark":t.includes("flaky")?"flaky-fix":t.includes("refactor")?"refactor-safe":t.includes("error")||t.includes("exception")?"error-handling":"test-template"}generatePatternName(e){let t=e.task.replace(/[^a-zA-Z0-9\s-]/g,"").slice(0,50).trim();return`${e.domain?`[${e.domain}] `:""}${t}`}extractTags(e){let t=[];e.domain&&t.push(e.domain),e.agent&&t.push(e.agent),e.model&&t.push(`model:${e.model}`);let i=e.task.toLowerCase().split(/\s+/),r=["unit","integration","e2e","api","mock","coverage","security"];for(let n of r)i.some(a=>a.includes(n))&&t.push(n);return t}detectTestType(e){let t=e.toLowerCase();if(t.includes("unit"))return"unit";if(t.includes("integration"))return"integration";if(t.includes("e2e")||t.includes("end-to-end"))return"e2e";if(t.includes("contract")||t.includes("api"))return"contract";if(t.includes("smoke"))return"smoke"}getRelatedDomains(e){return{"test-generation":["test-execution","coverage-analysis"],"test-execution":["test-generation","coverage-analysis","quality-assessment"],"coverage-analysis":["test-generation","test-execution"],"quality-assessment":["test-execution","defect-intelligence"],"defect-intelligence":["quality-assessment","code-intelligence"],"requirements-validation":["test-generation","quality-assessment"],"code-intelligence":["defect-intelligence","security-compliance"],"security-compliance":["code-intelligence","quality-assessment"],"contract-testing":["test-generation","test-execution"],"visual-accessibility":["quality-assessment","test-execution"],"chaos-resilience":["test-execution","quality-assessment"],"learning-optimization":[]}[e]||[]}emitExperienceCaptured(e){this.eventBus&&this.eventBus.publish({id:`exp-captured-${e.id}`,type:"learning.ExperienceCaptured",source:"learning-optimization",timestamp:new Date,payload:{experience:e,reward:e.reward,testOutcome:e.testOutcome}})}async loadStats(){try{let e=await this.memory.get(`${this.config.namespace}:stats`);e&&(this.stats.totalCaptured=e.totalCaptured,this.stats.successfulCaptures=e.successfulCaptures,this.stats.patternsExtracted=e.patternsExtracted,this.stats.patternsPromoted=e.patternsPromoted,this.stats.byDomain=new Map(e.byDomain))}catch(e){T.debug("Stats restoration failed, starting fresh",{error:e instanceof Error?e.message:String(e)})}}async saveStats(){try{await this.memory.set(`${this.config.namespace}:stats`,{totalCaptured:this.stats.totalCaptured,successfulCaptures:this.stats.successfulCaptures,patternsExtracted:this.stats.patternsExtracted,patternsPromoted:this.stats.patternsPromoted,byDomain:Array.from(this.stats.byDomain.entries())},{persist:!0})}catch(e){console.error("[ExperienceCapture] Failed to save stats:",e)}}};function Y(l,e,t,i){return new Q(l,e,t,i)}var de={enableClaudeFlow:!0,enableExperienceCapture:!0,enablePatternPromotion:!0,promotionThreshold:F},L=class{constructor(e,t,i){this.memory=e;this.eventBus=i;this.config={...de,...t}}memory;eventBus;config;reasoningBank;claudeFlowBridge;experienceCapture;patternStore;coherenceService;initialized=!1;_domainTransferEngine=null;_domainTransferInterval=null;activeTasks=new Map;completedTasks=0;claudeFlowErrors=0;async initialize(){if(!this.initialized){try{this.coherenceService=await G(H),this.coherenceService.isInitialized()&&console.log("[AQELearningEngine] CoherenceService initialized with WASM engines")}catch(e){console.log("[AQELearningEngine] CoherenceService WASM unavailable, using fallback:",y(e))}this.patternStore=W(this.memory,{promotionThreshold:this.config.promotionThreshold}),await this.patternStore.initialize(),this.reasoningBank=U(this.memory,this.eventBus,this.config.reasoningBank,this.coherenceService),await this.reasoningBank.initialize();try{let{getSharedRvfDualWriter:e}=await import("./shared-rvf-dual-writer-PXD54BWJ.js"),t=await e();t&&this.reasoningBank.setRvfDualWriter(t)}catch(e){process.env.DEBUG&&console.debug("[AQELearningEngine] RVF wiring skipped:",e instanceof Error?e.message:e)}if(this.config.enableExperienceCapture){this.experienceCapture=Y(this.memory,this.patternStore,this.eventBus,{promotionThreshold:this.config.promotionThreshold}),await this.experienceCapture.initialize();try{let{isWitnessChainFeatureEnabled:e}=await import("./witness-chain-R3V26QWL.js");if(e()){let{createPersistentWitnessChain:t,createWitnessChainSQLitePersistence:i}=await import("./witness-chain-R3V26QWL.js"),{getUnifiedPersistence:r}=await import("./unified-persistence-VFPW5MFM.js"),n=r();if(n.isInitialized()){let a=n.getDatabase(),s=i(a),o=t(s);this.experienceCapture.setWitnessChain(o)}}}catch(e){process.env.DEBUG&&console.debug("[AQELearningEngine] Witness chain wiring skipped:",e instanceof Error?e.message:e)}try{let{getUnifiedPersistence:e}=await import("./unified-persistence-VFPW5MFM.js"),t=e();if(t.isInitialized()){let{PatternNullStore:i}=await import("./pattern-null-store-PFLKHRVU.js"),r=new i(t.getDatabase());this.experienceCapture.setNullRecorder(n=>r.recordNull(n))}}catch(e){process.env.DEBUG&&console.debug("[AQELearningEngine] Null recorder wiring skipped:",e instanceof Error?e.message:e)}}try{let{isCrossDomainTransferEnabled:e}=await import("./feature-flags-JZX6ZBUX.js");if(e()&&this.patternStore){let{createDomainTransferEngine:t}=await import("./domain-transfer-D2TENM3Y.js"),i=t(),r=this.patternStore,n=await r.getStats();this._domainTransferInterval=setInterval(async()=>{try{n=await r.getStats()}catch(a){process.env.DEBUG&&console.debug("[AQELearningEngine] Stats refresh failed:",a instanceof Error?a.message:a)}},6e4),this._domainTransferInterval.unref?.(),i.setPerformanceProvider(a=>{let s=n.byDomain?.[a]??0,o=n.totalPatterns??0;return{domain:a,successRate:o>0?s/o:.5,avgConfidence:n.avgConfidence??.5,patternCount:s,timestamp:Date.now()}}),this._domainTransferEngine=i}}catch(e){process.env.DEBUG&&console.debug("[AQELearningEngine] Domain transfer wiring skipped:",e instanceof Error?e.message:e)}if(this.config.enableClaudeFlow)try{this.claudeFlowBridge=X({projectRoot:this.config.projectRoot}),await this.claudeFlowBridge.initialize(),this.claudeFlowBridge.isAvailable()&&console.log("[AQELearningEngine] Claude Flow integration enabled")}catch(e){process.env.DEBUG&&console.log("[AQELearningEngine] Claude Flow not available, using standalone mode:",y(e))}this.initialized=!0,console.log("[AQELearningEngine] Initialized")}}getStatus(){let e=this.claudeFlowBridge?.getStatus();return{initialized:this.initialized,claudeFlowAvailable:e?.available??!1,features:{patternLearning:!0,vectorSearch:!0,taskRouting:!0,trajectories:e?.features.trajectories??!1,modelRouting:e?.features.modelRouting??!1,pretrain:e?.features.pretrain??!1}}}async getStats(){if(!this.initialized||!this.reasoningBank)throw new Error("Engine not initialized");let e=await this.reasoningBank.getStats(),t=this.experienceCapture?await this.experienceCapture.getStats():{totalExperiences:0,byDomain:{},successRate:0,avgQuality:0,patternsExtracted:0,patternsPromoted:0};return{...e,activeTasks:this.activeTasks.size,completedTasks:this.completedTasks,claudeFlowStatus:this.claudeFlowBridge?.getStatus()??{available:!1,features:{trajectories:!1,modelRouting:!1,pretrain:!1,patternSearch:!1}},claudeFlowErrors:this.claudeFlowErrors,experienceCapture:t}}async storePattern(e){return!this.initialized||!this.reasoningBank?E(new Error("Engine not initialized")):this.reasoningBank.storePattern(e)}async searchPatterns(e,t){return!this.initialized||!this.reasoningBank?E(new Error("Engine not initialized")):this.reasoningBank.searchPatterns(e,t)}async getPattern(e){return!this.initialized||!this.reasoningBank?null:this.reasoningBank.getPattern(e)}async recordOutcome(e){return!this.initialized||!this.reasoningBank?E(new Error("Engine not initialized")):this.reasoningBank.recordOutcome(e)}async routeTask(e){if(!this.initialized||!this.reasoningBank)return E(new Error("Engine not initialized"));let t=await this.searchPatternsForTask(e.task,{limit:5,minConfidence:.4,domain:e.domain,contextFingerprint:e.domain?`${e.domain}:router`:void 0});t.success&&t.value.length>0&&await this.trackPatternSearch(e.task,t.value);let i=await this.reasoningBank.routeTask(e);if(i.success&&this.claudeFlowBridge?.pretrain.isClaudeFlowAvailable(),i.success&&t.success){let r=N(i.value,t.value);return b(r)}return i}async route(e,t){let i=await this.routeTask({task:e,context:t});return i.success?i.value:null}async searchPatternsForTask(e,t={}){if(!this.reasoningBank)return b([]);try{return await this.reasoningBank.searchPatterns(e,{limit:t.limit||5,minConfidence:t.minConfidence||.4,domain:t.domain,contextFingerprint:t.contextFingerprint,useVectorSearch:!0})}catch(i){return console.warn("[AQELearningEngine] Pattern search failed:",y(i)),b([])}}async trackPatternSearch(e,t){let i={timestamp:Date.now(),task:e.slice(0,500),patternsFound:t.length,patternIds:t.map(r=>r.pattern.id),avgSimilarity:t.length>0?t.reduce((r,n)=>r+n.similarity,0)/t.length:0};try{let r=`pattern-usage:search:${Date.now()}-${ee().slice(0,8)}`;await this.memory.set(r,i,{persist:!0,ttl:10080*60})}catch(r){console.debug("[AQELearningEngine] Failed to track pattern search:",y(r))}}async recommendModel(e){if(this.claudeFlowBridge?.modelRouter.isClaudeFlowAvailable())try{return await this.claudeFlowBridge.modelRouter.routeTask(e)}catch(t){console.debug("[AQELearningEngine] Claude Flow model routing failed:",t instanceof Error?t.message:t)}return this.localModelRoute(e)}async recordModelOutcome(e,t,i){this.claudeFlowBridge?.modelRouter.isClaudeFlowAvailable()&&await this.claudeFlowBridge.modelRouter.recordOutcome({task:e,model:t,outcome:i})}localModelRoute(e){let t=e.toLowerCase(),i=[/simple/i,/basic/i,/fix typo/i,/rename/i,/format/i,/add comment/i,/lint/i,/minor/i,/quick/i,/small/i];for(let n of i)if(n.test(t))return{model:"haiku",confidence:.75,reasoning:"Low complexity task - using haiku for speed"};let r=[/architect/i,/design/i,/complex/i,/security/i,/performance/i,/refactor.*large/i,/critical/i,/analysis/i,/multi.*file/i,/distributed/i,/concurrent/i,/migration/i];for(let n of r)if(n.test(t))return{model:"opus",confidence:.8,reasoning:"High complexity task - using opus for capability"};return e.length>500?{model:"opus",confidence:.65,reasoning:"Long task description - using opus for complex reasoning"}:e.length<50?{model:"haiku",confidence:.6,reasoning:"Short task - using haiku for efficiency"}:{model:"sonnet",confidence:.7,reasoning:"Medium complexity - using sonnet for balance"}}async startTask(e,t,i){let r=`task-${Date.now()}-${ee().slice(0,8)}`,n=r;if(this.claudeFlowBridge?.trajectory.isClaudeFlowAvailable())try{n=await this.claudeFlowBridge.trajectory.startTrajectory(e,t)}catch(u){this.claudeFlowErrors++,console.warn(`[AQELearningEngine] Claude Flow startTrajectory failed (${this.claudeFlowErrors} total errors):`,y(u))}let a=`${i??"unknown"}:${t??"unknown"}`,s;try{let u=await this.searchPatternsForTask(e,{domain:i,contextFingerprint:a});u.success&&u.value.length>0&&(s=u.value.map(g=>g.pattern.id))}catch{}let o;this.experienceCapture&&(o=this.experienceCapture.startCapture(e,{agent:t,domain:i,trajectoryId:n!==r?n:void 0,appliedPatterns:s}));let p={id:o||n,task:e,agent:t,startedAt:Date.now(),steps:[]};return this.activeTasks.set(p.id,p),p.id}async recordStep(e,t,i,r){if(this.claudeFlowBridge?.trajectory.isClaudeFlowAvailable())try{await this.claudeFlowBridge.trajectory.recordStep(e,t,i,r)}catch(a){this.claudeFlowErrors++,console.warn(`[AQELearningEngine] Claude Flow recordStep failed (${this.claudeFlowErrors} total errors):`,y(a))}this.experienceCapture&&this.experienceCapture.recordStep(e,{action:t,result:i,quality:r});let n=this.activeTasks.get(e);n&&n.steps.push({action:t,result:i,quality:r,timestamp:Date.now()})}async endTask(e,t,i){if(this.claudeFlowBridge?.trajectory.isClaudeFlowAvailable())try{await this.claudeFlowBridge.trajectory.endTrajectory(e,t,i)}catch(n){this.claudeFlowErrors++,console.warn(`[AQELearningEngine] Claude Flow endTrajectory failed (${this.claudeFlowErrors} total errors):`,y(n))}let r=this.activeTasks.get(e);if(r)return this.activeTasks.delete(e),this.completedTasks++,this.config.enableExperienceCapture&&t&&await this.captureExperience(r),r}getTask(e){return this.activeTasks.get(e)}async analyzeCodebase(e,t="medium"){let i=e||this.config.projectRoot;if(this.claudeFlowBridge?.pretrain.isClaudeFlowAvailable())try{return await this.claudeFlowBridge.pretrain.analyze(i,t)}catch(r){console.debug("[AQELearningEngine] Claude Flow pretrain analyze failed:",r instanceof Error?r.message:r)}return this.localAnalyze(i,t)}async generateAgentConfigs(e="yaml"){if(this.claudeFlowBridge?.pretrain.isClaudeFlowAvailable())try{return await this.claudeFlowBridge.pretrain.generateAgentConfigs(e)}catch(t){console.debug("[AQELearningEngine] Claude Flow agent config failed:",t instanceof Error?t.message:t)}return[{name:"qe-test-architect",type:"worker",capabilities:["test-generation","test-design"],model:"sonnet"},{name:"qe-coverage-specialist",type:"worker",capabilities:["coverage-analysis","gap-detection"],model:"haiku"},{name:"qe-security-scanner",type:"worker",capabilities:["security-scanning","vulnerability-detection"],model:"opus"}]}async captureExperience(e){if(!this.experienceCapture||!this.config.enableExperienceCapture)return;let t=e.steps.length>0?e.steps.reduce((r,n)=>r+(n.quality??.5),0)/e.steps.length:.5;await this.experienceCapture.completeCapture(e.id,{success:!0,quality:t});let i=await this.experienceCapture.getExperience(e.id);i&&i.quality>=.7&&await this.experienceCapture.shareAcrossDomains(i)}startExperienceCapture(e,t){if(this.experienceCapture)return this.experienceCapture.startCapture(e,t)}getExperienceCaptureService(){return this.experienceCapture}async localAnalyze(e,t){try{let i=await import("fast-glob"),{existsSync:r,readFileSync:n}=await import("fs"),{join:a}=await import("path"),s=t==="shallow"?["*.ts","*.js","*.json"]:t==="medium"?["**/*.ts","**/*.js","**/*.json","**/*.py"]:["**/*"],o=["node_modules/**","dist/**","coverage/**",".git/**"],p=await i.default(s,{cwd:e,ignore:o,onlyFiles:!0}),u=new Set,g=new Set;for(let m of p.slice(0,100))(m.endsWith(".ts")||m.endsWith(".tsx"))&&u.add("typescript"),(m.endsWith(".js")||m.endsWith(".jsx"))&&u.add("javascript"),m.endsWith(".py")&&u.add("python"),m.endsWith(".go")&&u.add("go"),m.endsWith(".rs")&&u.add("rust");let w=a(e,"package.json");if(r(w))try{let m=k(n(w,"utf-8")),d={...m.dependencies,...m.devDependencies};d.react&&g.add("react"),d.vue&&g.add("vue"),d.vitest&&g.add("vitest"),d.jest&&g.add("jest"),d.playwright&&g.add("playwright")}catch(m){console.debug("[AQELearningEngine] package.json parse failed:",m instanceof Error?m.message:m)}return{success:!0,repositoryPath:e,depth:t,analysis:{languages:Array.from(u),frameworks:Array.from(g),patterns:[],complexity:p.length>500?3:p.length>100?2:1}}}catch(i){return{success:!1,repositoryPath:e,depth:t,error:y(i)}}}getGuidance(e,t){if(!this.reasoningBank)throw new Error("Engine not initialized");return this.reasoningBank.getGuidance(e,t)}generateContext(e,t){if(!this.reasoningBank)throw new Error("Engine not initialized");return this.reasoningBank.generateContext(e,t)}checkAntiPatterns(e,t){if(!this.reasoningBank)throw new Error("Engine not initialized");return this.reasoningBank.checkAntiPatterns(e,t)}async dispose(){this._domainTransferInterval&&(clearInterval(this._domainTransferInterval),this._domainTransferInterval=null),this._domainTransferEngine=null,this.experienceCapture&&await this.experienceCapture.dispose(),this.patternStore&&await this.patternStore.dispose(),this.reasoningBank&&await this.reasoningBank.dispose(),this.activeTasks.clear(),this.initialized=!1}},pe={enabled:!1,snapshotIntervalMs:3e5,minSnapshotsForAnalysis:5,autoApplyThreshold:.8},te=class{config;constructor(e){this.config={...pe,...e}}runMetaLearningCycle(e){if(process.env.AQE_META_LEARNING_ENABLED!=="true")return[];if(!this.config.enabled)return[];if(e.length<this.config.minSnapshotsForAnalysis)return[];let t=Math.floor(e.length/2),i=e.slice(0,t),r=e.slice(t),n=[],a=Date.now(),s=h(i.map(c=>c.tokenMetrics.costUsd)),o=h(r.map(c=>c.tokenMetrics.costUsd)),p=h(i.map(c=>c.tokenMetrics.savingsUsd)),u=h(r.map(c=>c.tokenMetrics.savingsUsd));if(o>s*1.1&&u<=p*1.05){let c=Math.min(1,(o-s)/(s||1));n.push({id:`meta-tw-${a}`,type:"token-waste",description:`Token cost increased by ${((o/(s||1)-1)*100).toFixed(1)}% while savings remained flat`,confidence:A(c),suggestedAction:"Review cache configuration and increase pattern reuse thresholds",detectedAt:a})}let g=h(i.map(c=>c.qualityMetrics.gatePassRate)),w=h(r.map(c=>c.qualityMetrics.gatePassRate));Math.abs(w-g)<.02&&e.length>=this.config.minSnapshotsForAnalysis&&n.push({id:`meta-qp-${a}`,type:"quality-plateau",description:`Gate pass rate has been flat at ${(w*100).toFixed(1)}% across ${e.length} snapshots`,confidence:A(.6+(e.length-this.config.minSnapshotsForAnalysis)*.05),suggestedAction:"Consider reviewing quality thresholds or adding new test coverage domains",detectedAt:a});let d=h(i.map(c=>c.learningMetrics.patternCount)),f=h(r.map(c=>c.learningMetrics.patternCount)),ie=h(i.map(c=>c.learningMetrics.averageConfidence)),$=h(r.map(c=>c.learningMetrics.averageConfidence)),re=Math.abs(f-d),ne=Math.abs($-ie);re<1&&ne<.02&&n.push({id:`meta-ls-${a}`,type:"learning-stall",description:`Pattern count (~${Math.round(f)}) and confidence (~${$.toFixed(2)}) have stagnated`,confidence:A(.65+(e.length-this.config.minSnapshotsForAnalysis)*.04),suggestedAction:"Expand to new QE domains or lower pattern creation thresholds to encourage exploration",detectedAt:a});let C=h(i.map(c=>c.performanceMetrics.p95LatencyMs)),j=h(r.map(c=>c.performanceMetrics.p95LatencyMs));if(j>C*1.2&&C>0){let c=Math.min(1,(j-C)/(C||1));n.push({id:`meta-pr-${a}`,type:"performance-regression",description:`P95 latency increased from ${C.toFixed(0)}ms to ${j.toFixed(0)}ms`,confidence:A(c),suggestedAction:"Profile hot paths and consider HNSW index tuning or batch size reduction",detectedAt:a})}return n}shouldAutoApply(e,t){let i=(t??this.config).autoApplyThreshold;return e.confidence>=i}};function h(l){return l.length===0?0:l.reduce((e,t)=>e+t,0)/l.length}function A(l){return Math.max(0,Math.min(1,l))}function ge(l,e,t){return new L(l,e,t)}function it(l,e,t){return ge(l,{projectRoot:e},t)}export{de as a,L as b,pe as c,te as d,ge as e,it as f};
|
|
@@ -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{d as s}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.11");process.exit(0)}
|
|
2
|
+
import{d as s}from"./chunk-TZA45FI7.js";s();
|
|
@@ -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 y}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.11");process.exit(0)}
|
|
2
|
+
import{a as y}from"./chunk-IGW5L7YM.js";import{a as g,c as h}from"./chunk-P736OKQN.js";import{S as b,b as p}from"./chunk-NHL37QAZ.js";b();var m=class{calculator;constructor(){this.calculator=new h}computeLambda(t){let n=this.maybeSparsify(t),e=this.toSwarmGraph(n);return this.calculator.getMinCutValue(e)}computeRoutingTier(t,n){let e=this.buildTaskGraphFromTopology(n),o=this.toSwarmGraph(e),s=this.calculator.getMinCutValue(o),r=Math.max(n.length-1,1),a=Math.min(s/r,1),{tier:i,label:d}=this.lambdaToTier(a),c=this.computeConfidence(o,a),l=this.buildRationale(t,a,i,n.length);return{tier:i,label:d,lambda:s,normalizedLambda:a,confidence:c,rationale:l}}getStructuralHealth(t){let n=this.maybeSparsify(t),e=this.toSwarmGraph(n);if(e.isEmpty())return this.emptyHealthReport();let o=this.calculator.getMinCutValue(e),s=e.getStats(),r=Math.max(s.vertexCount-1,1),a=Math.min(o/r,1),i=this.calculator.findWeakVertices(e),d=i.map(f=>f.vertexId),c=1-a,l=a>=.4,u=this.generateHealthSuggestions(a,i.length,s);return{lambda:o,normalizedLambda:a,healthy:l,weakPoints:d,riskScore:c,componentCount:s.componentCount,isConnected:s.isConnected,suggestions:u,analyzedAt:new Date}}maybeSparsify(t){if(!p().useSpectralSparsification||t.edges.length<=100)return t;let n=new Map;t.nodes.forEach((i,d)=>n.set(i.id,d));let e=[];for(let i of t.edges){let d=n.get(i.source),c=n.get(i.target);d!==void 0&&c!==void 0&&e.push([d,c,i.weight])}let o={nodeCount:t.nodes.length,edges:e},r=new y({epsilon:.3}).sparsify(o),a=[];for(let[i,d,c]of r.edges){let l=t.nodes[i],u=t.nodes[d];l&&u&&a.push({source:l.id,target:u.id,weight:c,edgeType:"coordination"})}return{nodes:t.nodes,edges:a}}toSwarmGraph(t){let n=new g;for(let e of t.nodes){let o={id:e.id,type:e.type==="task"||e.type==="agent"?"agent":"domain",domain:e.domain,weight:e.weight,createdAt:new Date,metadata:e.metadata};n.addVertex(o)}for(let e of t.edges)if(n.hasVertex(e.source)&&n.hasVertex(e.target)){let o={source:e.source,target:e.target,weight:e.weight,type:e.edgeType==="dependency"?"dependency":e.edgeType==="communication"?"communication":e.edgeType==="workflow"?"workflow":"coordination",bidirectional:e.edgeType!=="dependency"};n.addEdge(o)}return n}buildTaskGraphFromTopology(t){let n=t.map(r=>({id:r.id,label:r.name,type:"agent",domain:r.domain,weight:r.weight})),e=[],o=new Set(t.map(r=>r.id));for(let r of t)for(let a of r.dependsOn)o.has(a)&&e.push({source:r.id,target:a,weight:1,edgeType:"dependency"});let s=new Map;for(let r of t){let a=s.get(r.domain)||[];a.push(r.id),s.set(r.domain,a)}for(let[,r]of s)for(let a=0;a<r.length;a++)for(let i=a+1;i<r.length;i++)e.push({source:r[a],target:r[i],weight:.5,edgeType:"coordination"});return{nodes:n,edges:e}}lambdaToTier(t){return t>=.8?{tier:1,label:"Haiku"}:t>=.4?{tier:2,label:"Sonnet"}:{tier:3,label:"Opus"}}computeConfidence(t,n){let e=t.getStats();if(e.vertexCount<3)return .4;let o=Math.min(Math.abs(n-.4),Math.abs(n-.8)),s=Math.min(.95,.5+o*2.25),r=Math.min(1,e.density*2);return Math.min(.99,s*(.7+.3*r))}buildRationale(t,n,e,o){let s=t.slice(0,80),r=n>=.8?"highly connected":n>=.4?"moderately connected":"fragmented";return`Task "${s}" routed to ${e===1?"Haiku":e===2?"Sonnet":"Opus"} (Tier ${e}). Fleet topology is ${r} (lambda=${n.toFixed(3)}) across ${o} agents.`}generateHealthSuggestions(t,n,e){let o=[];return e.isConnected||o.push(`Graph has ${e.componentCount} disconnected components. Add cross-domain coordination edges to improve connectivity.`),t<.2?o.push("Critical: Fleet connectivity is very low. Consider spawning coordination agents."):t<.4&&o.push("Warning: Fleet connectivity is below healthy threshold. Reinforce weak connections."),n>0&&o.push(`${n} weak point(s) detected. Add redundant connections to these agents.`),e.vertexCount<3&&o.push("Fleet has fewer than 3 agents. MinCut analysis is most useful with larger topologies."),o}emptyHealthReport(){return{lambda:0,normalizedLambda:0,healthy:!1,weakPoints:[],riskScore:1,componentCount:0,isConnected:!0,suggestions:["No agents in fleet. Spawn agents to build a topology."],analyzedAt:new Date}}};function C(){return new m}export{C as a};
|
|
@@ -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{d as j,f as qe}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.11");process.exit(0)}
|
|
2
|
+
import{d as j,f as qe}from"./chunk-SJJFU7KK.js";import{a as B,c as ze}from"./chunk-WYQM7GXW.js";import{a as Pe}from"./chunk-CYQRZ645.js";import{c as ne}from"./chunk-QYHRDBKI.js";import{a as W,b as y,c as je}from"./chunk-LREIHR2A.js";import{b as C,d as se}from"./chunk-TZA45FI7.js";import{a as X,c as Me}from"./chunk-TCVEXQLL.js";import{a as re,b as ke}from"./chunk-EI4KYBNI.js";import{a as oe,d as w,e as ie,f as ae}from"./chunk-B646CE3C.js";import{a as b,b as te,e as Ge}from"./chunk-AHG2O5HT.js";import{c as R,e as Fe}from"./chunk-LUAXQB57.js";import{createHash as de}from"node:crypto";function We(o){let e=Buffer.alloc(8);return e.writeBigUInt64LE(BigInt(o)),e}function He(o){return typeof o=="string"?Buffer.from(o,"utf8"):o instanceof Uint8Array?Buffer.from(o):Buffer.from(H(o),"utf8")}function H(o){return o===null||typeof o!="object"?JSON.stringify(o)??"null":Array.isArray(o)?`[${o.map(H).join(",")}]`:`{${Object.keys(o).sort().map(t=>`${JSON.stringify(t)}:${H(o[t])}`).join(",")}}`}function Ee(...o){let e=de("sha256");for(let t of o)e.update(t);return e.digest()}function Te(o,e,t){return Ee(Be,o,e,We(t))}var Be,ce,A,ue=R(()=>{"use strict";Be=Buffer.from("ruvector:chain:"),ce=de("sha256").update("ruvector-proof-gate-v1").digest();A=class o{seq=0;prev=ce;chain=[];payloadHashes=[];admit(e){let t=Ee(He(e)),n=Te(this.prev,t,this.seq);this.prev=n,this.chain.push(n),this.payloadHashes.push(t);let a={sequence:this.seq,payloadHash:t.toString("hex"),chainCommitment:n.toString("hex")};return this.seq+=1,a}verifyReceipt(e){return e.sequence>=0&&e.sequence<this.chain.length&&this.chain[e.sequence].toString("hex")===e.chainCommitment}chainRoot(){return this.prev.toString("hex")}get length(){return this.seq}get isEmpty(){return this.seq===0}verifyIntegrity(){if(this.chain.length!==this.payloadHashes.length)return!1;let e=ce;for(let t=0;t<this.chain.length;t++){if(!Te(e,this.payloadHashes[t],t).equals(this.chain[t]))return!1;e=this.chain[t]}return e.equals(this.prev)}toJSON(){return{seq:this.seq,head:this.prev.toString("hex"),chain:this.chain.map(e=>e.toString("hex")),payloadHashes:this.payloadHashes.map(e=>e.toString("hex"))}}static fromJSON(e){let t=new o;t.seq=e.seq,t.prev=Buffer.from(e.head,"hex");for(let n of e.chain)t.chain.push(Buffer.from(n,"hex"));for(let n of e.payloadHashes)t.payloadHashes.push(Buffer.from(n,"hex"));return t}}});function O(o){if(!Y.has(o))throw new Error(`Invalid table name: "${o}" is not in the allowlist`);return o}function rt(o){let e=o.split(".");if(e.length>2)throw new Error(`Invalid SQL identifier: "${o}" has too many parts (max: schema.table)`);for(let t of e)if(!pe.test(t))throw new Error(`Invalid SQL identifier: "${o}" \u2014 part "${t}" does not match pattern ${pe}`);return o}var Y,pe,$=R(()=>{"use strict";Y=new Set(["schema_version","kv_store","vectors","rl_q_values","goap_goals","goap_actions","goap_plans","goap_plan_signatures","concept_nodes","concept_edges","dream_cycles","dream_insights","qe_patterns","qe_pattern_embeddings","qe_pattern_usage","qe_trajectories","embeddings","execution_results","executed_steps","mincut_snapshots","mincut_history","mincut_weak_vertices","mincut_alerts","mincut_healing_actions","mincut_observations","sona_patterns","sona_fisher_matrices","test_outcomes","routing_outcomes","coverage_sessions","patterns","hypergraph_nodes","hypergraph_edges","hypergraph_vertices","hypergraph_hyperedges","hypergraph_edge_vertices","hypergraph_vertex_properties","hypergraph_edge_properties","captured_experiences","experience_applications","witness_chain","witness_chain_receipts","witness_chain_archive","trajectories","trajectory_steps","pattern_evolution_events","pattern_relationships","pattern_versions","learning_daily_snapshots","metrics_outcomes","experience_consolidation_log","qe_pattern_reuse","qe_agent_co_execution"]);pe=/^[a-z_][a-z0-9_]{0,62}$/});var U,le,ge,me,_e,K,fe,Ne,Se,he,Re,Le,Ce=R(()=>{"use strict";qe();ze();U=11,le=`
|
|
3
3
|
CREATE TABLE IF NOT EXISTS schema_version (
|
|
4
4
|
id INTEGER PRIMARY KEY CHECK (id = 1),
|
|
5
5
|
version INTEGER NOT NULL,
|
|
@@ -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.
|
|
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.11");process.exit(0)}
|
|
2
2
|
var s={"test-generation":/test|spec|describe|it\(|expect|assert|mock|stub|fixture|tdd|bdd/i,"test-execution":/run|execute|parallel|retry|flaky|timeout|worker|orchestrat/i,"coverage-analysis":/coverage|branch|line|uncovered|gap|untested|percentage|sublinear/i,"quality-assessment":/quality|gate|deploy|readiness|metric|threshold|sla|score/i,"defect-intelligence":/defect|bug|predict|root.?cause|regression|failure|incident/i,"requirements-validation":/requirement|bdd|gherkin|testabil|accept|criteri|scenario/i,"code-intelligence":/semantic|knowledge|graph|ast|symbol|reference|impact|depend/i,"security-compliance":/vuln|cve|owasp|xss|sqli|injection|csrf|auth|secret|compliance|sast|dast/i,"contract-testing":/contract|pact|openapi|swagger|graphql|schema|endpoint|api/i,"visual-accessibility":/screenshot|visual|snapshot|pixel|percy|a11y|aria|wcag|screen.?reader|accessible|contrast/i,"chaos-resilience":/chaos|resilience|fault|inject|blast|recover|latency|failure|stress|load/i,"learning-optimization":/learn|pattern|optim|neural|embedding|vector|memory|adapt|train/i};function l(e){for(let[t,a]of Object.entries(s))if(a.test(e))return t;return null}function m(e){let t=[];for(let[a,n]of Object.entries(s))n.test(e)&&t.push(a);return t}function u(e){return e}function d(e){let t=Math.min(e.usageCount/100,1);return e.confidence*.3+t*.2+e.successRate*.5}var c=3;function p(e,t,a=.4){let n=e.tier==="short-term"&&e.successfulUses>=c,r=e.successRate>=.7&&e.confidence>=.6,i=t===void 0||t<a,o;return n?r?i||(o="coherence_violation"):o="low_quality":o="insufficient_usage",{meetsUsageCriteria:n,meetsQualityCriteria:r,meetsCoherenceCriteria:i,blockReason:o}}function y(e){let t=[];if(e.id||t.push("Pattern ID is required"),e.patternType||t.push("Pattern type is required"),e.qeDomain||t.push("QE domain is required"),e.name||t.push("Pattern name is required"),e.template?.content||t.push("Template content is required"),e.confidence!==void 0&&(e.confidence<0||e.confidence>1)&&t.push("Confidence must be between 0 and 1"),e.successRate!==void 0&&(e.successRate<0||e.successRate>1)&&t.push("Success rate must be between 0 and 1"),e.template?.variables){let a=new Set;for(let n of e.template.variables)a.has(n.name)&&t.push(`Duplicate variable name: ${n.name}`),a.add(n.name),e.template.content.includes(`{{${n.name}}}`)||t.push(`Variable ${n.name} not referenced in template`)}return{valid:t.length===0,errors:t}}function f(e,t){let a=e.content;for(let n of e.variables){let r=t[n.name]??n.defaultValue;if(n.required&&r===void 0)throw new Error(`Required variable ${n.name} not provided`);if(r!==void 0){let i=`{{${n.name}}}`,o=typeof r=="object"?JSON.stringify(r):String(r);a=a.split(i).join(o)}}return a}var g=Object.keys(s);export{l as a,m as b,u as c,d,c as e,p as f,y as g,f as h,g as i};
|
|
@@ -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.
|
|
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.11");process.exit(0)}
|
|
2
2
|
import{randomUUID as v}from"crypto";var m={"claude-opus-4-7":{input:5,output:25,provider:"claude"},"claude-sonnet-4-6":{input:3,output:15,provider:"claude"},"claude-haiku-4-5-20251001":{input:1,output:5,provider:"claude"},"claude-opus-4-5-20251101":{input:15,output:75,provider:"claude"},"claude-sonnet-4-20250514":{input:3,output:15,provider:"claude"},"claude-3-5-haiku-20241022":{input:1,output:5,provider:"claude"},"claude-3-opus-20240229":{input:15,output:75,provider:"claude"},"claude-3-sonnet-20240229":{input:3,output:15,provider:"claude"},"claude-3-haiku-20240307":{input:.25,output:1.25,provider:"claude"},"gpt-4o":{input:5,output:15,provider:"openai"},"gpt-4o-mini":{input:.15,output:.6,provider:"openai"},"gpt-4-turbo":{input:10,output:30,provider:"openai"},"gpt-4":{input:30,output:60,provider:"openai"},"gpt-3.5-turbo":{input:.5,output:1.5,provider:"openai"},llama3:{input:0,output:0,provider:"ollama"},"llama3.1":{input:0,output:0,provider:"ollama"},codellama:{input:0,output:0,provider:"ollama"},mistral:{input:0,output:0,provider:"ollama"},mixtral:{input:0,output:0,provider:"ollama"},phi3:{input:0,output:0,provider:"ollama"},qwen2:{input:0,output:0,provider:"ollama"},"anthropic/claude-3.5-sonnet":{input:3,output:15,provider:"openrouter"},"anthropic/claude-3.5-sonnet:beta":{input:3,output:15,provider:"openrouter"},"anthropic/claude-3-opus":{input:15,output:75,provider:"openrouter"},"anthropic/claude-3-sonnet":{input:3,output:15,provider:"openrouter"},"anthropic/claude-3-haiku":{input:.25,output:1.25,provider:"openrouter"},"openai/gpt-4o":{input:5,output:15,provider:"openrouter"},"openai/gpt-4o-mini":{input:.15,output:.6,provider:"openrouter"},"openai/gpt-4-turbo":{input:10,output:30,provider:"openrouter"},"openai/gpt-3.5-turbo":{input:.5,output:1.5,provider:"openrouter"},"google/gemini-pro":{input:.125,output:.375,provider:"openrouter"},"google/gemini-pro-1.5":{input:3.5,output:10.5,provider:"openrouter"},"meta-llama/llama-3.1-70b-instruct":{input:.59,output:.79,provider:"openrouter"},"meta-llama/llama-3.1-8b-instruct":{input:.06,output:.06,provider:"openrouter"},"mistralai/mistral-large":{input:2,output:6,provider:"openrouter"},"mistralai/mixtral-8x7b-instruct":{input:.24,output:.24,provider:"openrouter"},"mistralai/mistral-7b-instruct":{input:.06,output:.06,provider:"openrouter"},"anthropic.claude-opus-4-5-v1:0":{input:15,output:75,provider:"bedrock"},"anthropic.claude-opus-4-v1:0":{input:15,output:75,provider:"bedrock"},"anthropic.claude-sonnet-4-5-v2:0":{input:3,output:15,provider:"bedrock"},"anthropic.claude-sonnet-4-v1:0":{input:3,output:15,provider:"bedrock"},"anthropic.claude-3-5-haiku-v1:0":{input:1,output:5,provider:"bedrock"},"anthropic.claude-3-opus-20240229-v1:0":{input:15,output:75,provider:"bedrock"},"anthropic.claude-3-sonnet-20240229-v1:0":{input:3,output:15,provider:"bedrock"},"anthropic.claude-3-haiku-20240307-v1:0":{input:.25,output:1.25,provider:"bedrock"},"anthropic.claude-3-5-sonnet-20241022-v2:0":{input:3,output:15,provider:"bedrock"},"azure/gpt-4o":{input:5,output:15,provider:"azure-openai"},"azure/gpt-4o-mini":{input:.15,output:.6,provider:"azure-openai"},"azure/gpt-4-turbo":{input:10,output:30,provider:"azure-openai"},"azure/gpt-4":{input:30,output:60,provider:"azure-openai"},"azure/gpt-35-turbo":{input:.5,output:1.5,provider:"azure-openai"},"azure/text-embedding-ada-002":{input:.1,output:0,provider:"azure-openai"},"azure/text-embedding-3-small":{input:.02,output:0,provider:"azure-openai"},"azure/text-embedding-3-large":{input:.13,output:0,provider:"azure-openai"},"gemini-pro":{input:.5,output:1.5,provider:"gemini"},"gemini-1.0-pro":{input:.5,output:1.5,provider:"gemini"},"gemini-1.5-pro":{input:3.5,output:10.5,provider:"gemini"},"gemini-1.5-pro-latest":{input:3.5,output:10.5,provider:"gemini"},"gemini-1.5-flash":{input:.075,output:.3,provider:"gemini"},"gemini-1.5-flash-latest":{input:.075,output:.3,provider:"gemini"},"gemini-2.0-flash-exp":{input:.075,output:.3,provider:"gemini"},"gemini-ultra":{input:7,output:21,provider:"gemini"},"gemini-1.0-ultra":{input:7,output:21,provider:"gemini"},"text-embedding-004":{input:.025,output:0,provider:"gemini"}},d=class c{records=[];alerts=[];maxRecords;alertCheckInterval;constructor(t=1e4){this.maxRecords=t}static calculateCost(t,o){let e=m[t];if(!e)return{inputCost:0,outputCost:0,totalCost:0,currency:"USD"};let i=o.promptTokens/1e6*e.input+(o.cacheReadTokens??0)/1e6*e.input*.1+(o.cacheCreationTokens??0)/1e6*e.input*1.25,r=o.completionTokens/1e6*e.output;return{inputCost:i,outputCost:r,totalCost:i+r,currency:"USD"}}static getCostPerToken(t){let o=m[t];return o?{input:o.input/1e6,output:o.output/1e6}:{input:0,output:0}}recordUsage(t,o,e,i,r){let n=c.calculateCost(o,e),p={timestamp:new Date,provider:t,model:o,usage:e,cost:n,requestId:i,metadata:r};return this.records.push(p),this.records.length>this.maxRecords&&(this.records=this.records.slice(-this.maxRecords)),this.checkAlerts(),n}getSummary(t){let o=new Date,e=this.getPeriodStart(o,t),i=o,r=this.records.filter(a=>a.timestamp>=e&&a.timestamp<=i),n={claude:0,"claude-code":0,codex:0,openai:0,ollama:0,openrouter:0,bedrock:0,"azure-openai":0,gemini:0,cognitum:0},p={},u=0,l=0;for(let a of r)u+=a.cost.totalCost,l+=a.usage.totalTokens,n[a.provider]+=a.cost.totalCost,p[a.model]=(p[a.model]||0)+a.cost.totalCost;return{period:t,periodStart:e,periodEnd:i,totalCost:u,byProvider:n,byModel:p,totalTokens:l,totalRequests:r.length}}getCurrentCost(t){return this.getSummary(t).totalCost}getTotalTokens(t){return this.getSummary(t).totalTokens}getUsageByProvider(t,o="all"){let e=this.getPeriodStart(new Date,o),i=this.records.filter(u=>u.provider===t&&u.timestamp>=e),r={},n=0,p=0;for(let u of i)n+=u.cost.totalCost,p+=u.usage.totalTokens,r[u.model]||(r[u.model]={cost:0,tokens:0,requests:0}),r[u.model].cost+=u.cost.totalCost,r[u.model].tokens+=u.usage.totalTokens,r[u.model].requests+=1;return{totalCost:n,totalTokens:p,totalRequests:i.length,models:r}}addAlert(t,o,e){let i=`alert-${Date.now()}-${v().slice(0,12)}`;return this.alerts.push({threshold:t,period:o,onThreshold:e,active:!0}),this.alertCheckInterval||(this.alertCheckInterval=setInterval(()=>this.checkAlerts(),6e4)),i}removeAlert(t){return t>=0&&t<this.alerts.length?(this.alerts.splice(t,1),this.alerts.length===0&&this.alertCheckInterval&&(clearInterval(this.alertCheckInterval),this.alertCheckInterval=void 0),!0):!1}getRecords(){return[...this.records]}importRecords(t){for(let o of t)o.timestamp=new Date(o.timestamp),this.records.push(o);this.records.length>this.maxRecords&&(this.records=this.records.slice(-this.maxRecords))}clear(){this.records=[]}getRecentRequests(t=10){return this.records.slice(-t)}estimateCost(t,o,e){return c.calculateCost(t,{promptTokens:o,completionTokens:e,totalTokens:o+e})}wouldExceedLimit(t,o,e,i,r){let n=this.getCurrentCost(r),p=this.estimateCost(t,o,e);return n+p.totalCost>i}dispose(){this.alertCheckInterval&&(clearInterval(this.alertCheckInterval),this.alertCheckInterval=void 0)}getPeriodStart(t,o){let e=new Date(t);switch(o){case"minute":e.setSeconds(0,0),e.setMinutes(e.getMinutes()-1);break;case"hour":e.setMinutes(0,0,0),e.setHours(e.getHours()-1);break;case"day":e.setHours(0,0,0,0);break;case"week":e.setHours(0,0,0,0),e.setDate(e.getDate()-7);break;case"month":e.setHours(0,0,0,0),e.setDate(1);break;case"all":return new Date(0)}return e}checkAlerts(){for(let t of this.alerts){if(!t.active)continue;let o=this.getSummary(t.period);if(o.totalCost>=t.threshold){t.active=!1;try{t.onThreshold(o)}catch(e){console.error("Cost alert callback error:",e)}}}}},s;function h(){return s||(s=new d),s}function b(){s&&(s.dispose(),s=void 0)}export{m as a,d as b,h as c,b as d};
|
|
@@ -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 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.11");process.exit(0)}
|
|
2
|
+
import{a as h}from"./chunk-CYQRZ645.js";import{c as m}from"./chunk-QYHRDBKI.js";h();var g=m.create("regret-tracker"),l=50,R=.9,d=1.1;function f(o,t){let e=o.length;if(e<2)return 0;let n=0,r=0,i=0,a=0;for(let s=0;s<e;s++)n+=o[s],r+=t[s],i+=o[s]*t[s],a+=o[s]*o[s];let u=e*a-n*n;return Math.abs(u)<1e-10?0:(e*i-n*r)/u}var c=class{domains=new Map;alertCallbacks=[];alerts=[];maxAlerts;recentWindow;constructor(t){this.maxAlerts=t?.maxAlerts??100,this.recentWindow=t?.recentWindow??20}recordDecision(t,e,n){let r=this.getOrCreateDomainState(t),i=Math.max(0,n-e);if(r.cumulativeRegret+=i,r.decisionCount++,r.points.push({decisionCount:r.decisionCount,cumulativeRegret:r.cumulativeRegret,timestamp:Date.now()}),r.decisionCount>=l){let a=this.classifyGrowthRate(r.points);r.lastGrowthRate!=="insufficient_data"&&a!==r.lastGrowthRate&&this.emitAlert(t,r.lastGrowthRate,a),r.lastGrowthRate=a}}getCumulativeRegret(t){return this.domains.get(t)?.cumulativeRegret??0}getRegretCurve(t){let e=this.domains.get(t);return e?[...e.points]:[]}getRegretGrowthRate(t){let e=this.domains.get(t);return e?this.classifyGrowthRate(e.points):"insufficient_data"}detectStagnation(t){let e=this.getRegretGrowthRate(t);return e==="linear"||e==="superlinear"}getHealthSummary(){let t=[];for(let[e,n]of this.domains){let r=this.classifyGrowthRate(n.points),i=this.computeLogLogSlope(n.points),a=this.computeRecentAvgRegret(n);t.push({domain:e,totalDecisions:n.decisionCount,cumulativeRegret:n.cumulativeRegret,growthRate:r,stagnating:r==="linear"||r==="superlinear",slope:i,recentAvgRegret:a})}return t.sort((e,n)=>e.domain.localeCompare(n.domain)),t}onAlert(t){this.alertCallbacks.push(t)}getAlerts(){return[...this.alerts]}getTrackedDomains(){return[...this.domains.keys()].sort()}getTotalDecisions(){let t=0;for(let e of this.domains.values())t+=e.decisionCount;return t}reset(t){t?this.domains.delete(t):(this.domains.clear(),this.alerts=[])}getOrCreateDomainState(t){let e=this.domains.get(t);return e||(e={points:[],cumulativeRegret:0,decisionCount:0,lastGrowthRate:"insufficient_data"},this.domains.set(t,e)),e}classifyGrowthRate(t){if(t.length<l)return"insufficient_data";let e=this.computeLogLogSlope(t);return e===void 0?"insufficient_data":e<R?"sublinear":e<=d?"linear":"superlinear"}computeLogLogSlope(t){if(t.length<l)return;let e=t.filter(i=>i.cumulativeRegret>0&&i.decisionCount>0);if(e.length<2)return;let n=e.map(i=>Math.log(i.decisionCount)),r=e.map(i=>Math.log(i.cumulativeRegret));return f(n,r)}computeRecentAvgRegret(t){if(t.points.length<2)return 0;let e=Math.min(this.recentWindow,t.points.length),n=t.points.slice(-e),r=n[0],i=n[n.length-1],a=i.cumulativeRegret-r.cumulativeRegret,u=i.decisionCount-r.decisionCount;return u<=0?0:a/u}emitAlert(t,e,n){let r={domain:t,previousRate:e,newRate:n,timestamp:Date.now(),message:`Domain "${t}" regret growth changed from ${e} to ${n}`};this.alerts.push(r),this.alerts.length>this.maxAlerts&&this.alerts.shift(),g.info("Regret growth rate transition",{domain:t,previousRate:e,newRate:n});for(let i of this.alertCallbacks)try{i(r)}catch(a){g.error("Alert callback error",a instanceof Error?a:void 0)}}};function b(o){return new c(o)}export{b as a};
|