agentic-qe 3.12.0 → 3.12.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/skills/skills-manifest.json +1 -1
- package/CHANGELOG.md +83 -0
- package/assets/skills/skills-manifest.json +1 -1
- package/dist/cli/bundle.js +5 -5
- package/dist/cli/chunks/adapter-RL6GNUOS.js +2 -0
- package/dist/cli/chunks/{agent-booster-wasm-IO54X6IQ.js → agent-booster-wasm-3KYNICBC.js} +2 -2
- package/dist/cli/chunks/{agent-handler-A57SZUCW.js → agent-handler-NGPTMI6E.js} +2 -2
- package/dist/cli/chunks/{agent-memory-branch-BX7LRFGN.js → agent-memory-branch-GNTQKQMG.js} +2 -2
- package/dist/cli/chunks/aqe-learning-engine-UEEW6AQG.js +2 -0
- package/dist/cli/chunks/{arena-UTC4YY6Y.js → arena-HQEP2NWI.js} +4 -4
- package/dist/cli/chunks/{arena-Y3XTX6O7.js → arena-PA7VIYD4.js} +2 -2
- package/dist/cli/chunks/{audit-L4RL2AOY.js → audit-XSDM57GC.js} +3 -3
- package/dist/cli/chunks/base-JQA5YULE.js +2 -0
- package/dist/cli/chunks/{hnswlib-node-VS6L5VUG.js → better-sqlite3-RQCOOAZC.js} +2 -2
- package/dist/cli/chunks/{brain-handler-OHDPI5TQ.js → brain-handler-T7RDPKNM.js} +3 -3
- package/dist/cli/chunks/{branch-enumerator-ZRXE2CQ7.js → branch-enumerator-ZW7RNMUF.js} +2 -2
- package/dist/cli/chunks/{browser-NT33FG76.js → browser-4LU22CPP.js} +2 -2
- package/dist/cli/chunks/browser-workflow-XTKUHTIT.js +2 -0
- package/dist/cli/chunks/{chunk-XEYW3V5I.js → chunk-2L7K2J2T.js} +2 -2
- package/dist/cli/chunks/{chunk-VWJSWXHG.js → chunk-2R7J4ZGT.js} +1 -1
- package/dist/cli/chunks/{chunk-KZMRU7DL.js → chunk-2R7XZ2WP.js} +2 -2
- package/dist/cli/chunks/{chunk-2AR4B3DI.js → chunk-327YEKBU.js} +2 -2
- package/dist/cli/chunks/{chunk-HDJMD6UH.js → chunk-3AJUJAUJ.js} +1 -1
- package/dist/cli/chunks/{chunk-JOBCMNTP.js → chunk-3LELACAQ.js} +2 -2
- package/dist/cli/chunks/{chunk-JYX7AZHE.js → chunk-4FHJYJCH.js} +2 -2
- package/dist/cli/chunks/{chunk-KJWQ7ENF.js → chunk-4KEOBDEI.js} +2 -2
- package/dist/cli/chunks/{chunk-G6LR7FK7.js → chunk-56MXYSYY.js} +2 -2
- package/dist/cli/chunks/{chunk-5YGESYBC.js → chunk-5CGTBAVF.js} +1 -1
- package/dist/cli/chunks/{chunk-RZDNCTOA.js → chunk-5SM57X4D.js} +2 -2
- package/dist/cli/chunks/{chunk-O3C5RRDQ.js → chunk-5YLY2WT2.js} +3 -3
- package/dist/cli/chunks/{chunk-PQMLIVGV.js → chunk-6FBXYS6X.js} +2 -2
- package/dist/cli/chunks/{chunk-GGMQOEZZ.js → chunk-6N62KS3C.js} +2 -2
- package/dist/cli/chunks/{chunk-BB4OVXWF.js → chunk-6SWR2BN7.js} +1 -1
- package/dist/cli/chunks/{chunk-7HJHXSYT.js → chunk-6X65BGGK.js} +2 -2
- package/dist/cli/chunks/{chunk-P52YORQG.js → chunk-7DV42KFP.js} +2 -2
- package/dist/cli/chunks/{chunk-EZE2HRQB.js → chunk-7KMYBRKJ.js} +2 -2
- package/dist/cli/chunks/{chunk-335GHVJV.js → chunk-7OD6HFCP.js} +3 -3
- package/dist/cli/chunks/chunk-ABHKXMOJ.js +2 -0
- package/dist/cli/chunks/{chunk-L5ZLOW3K.js → chunk-ACDZ2CRV.js} +2 -2
- package/dist/cli/chunks/{chunk-NW7G57NR.js → chunk-ADZTWGEB.js} +2 -2
- package/dist/cli/chunks/{chunk-CC5G3K4X.js → chunk-AJ6DZXKK.js} +2 -2
- package/dist/cli/chunks/{chunk-SSXAW3ER.js → chunk-AL5QT6OX.js} +2 -2
- package/dist/cli/chunks/{chunk-FKPUPQQT.js → chunk-AMPYON7M.js} +2 -2
- package/dist/cli/chunks/{chunk-C4SZSPXY.js → chunk-APVXTHTA.js} +2 -2
- package/dist/cli/chunks/{chunk-FEEMJDUF.js → chunk-B7DI76SY.js} +2 -2
- package/dist/cli/chunks/{chunk-Q5YRPS4P.js → chunk-BDVOXGY5.js} +1 -1
- package/dist/cli/chunks/{chunk-VMP4M5PB.js → chunk-BDX54WJV.js} +1 -1
- package/dist/cli/chunks/{chunk-G5JQLUUO.js → chunk-BMRR3MBR.js} +2 -2
- package/dist/cli/chunks/{chunk-2UMCB7AH.js → chunk-BOR5MME3.js} +1 -1
- package/dist/cli/chunks/{chunk-HW62TB4T.js → chunk-BPSEFLJ6.js} +1 -1
- package/dist/cli/chunks/{chunk-DTOE3NYW.js → chunk-BUKGW63B.js} +12 -12
- package/dist/cli/chunks/{chunk-V2MD5EDD.js → chunk-C7VNQ4PY.js} +2 -2
- package/dist/cli/chunks/{chunk-W766S4SK.js → chunk-CDMAVNV5.js} +1 -1
- package/dist/cli/chunks/{chunk-K5SN66B4.js → chunk-CKFZOPZN.js} +2 -2
- package/dist/cli/chunks/{chunk-Y2MCIIJD.js → chunk-CMKCPRWX.js} +1 -1
- package/dist/cli/chunks/{chunk-DR7PCO3S.js → chunk-CQKEVUMO.js} +2 -2
- package/dist/cli/chunks/{chunk-2KHDGC7N.js → chunk-CTFW7CMI.js} +2 -2
- package/dist/cli/chunks/{chunk-5FR5GBUT.js → chunk-DGOZ3CGB.js} +2 -2
- package/dist/cli/chunks/{chunk-ZVPAFX4I.js → chunk-DTXHRALB.js} +2 -2
- package/dist/cli/chunks/{chunk-IJUYHIKN.js → chunk-E5XWCGSX.js} +2 -2
- package/dist/cli/chunks/{chunk-7ZIVDGSN.js → chunk-EGU54SNK.js} +1 -1
- package/dist/cli/chunks/{chunk-KI5BP4X5.js → chunk-EKTWIEEO.js} +2 -2
- package/dist/cli/chunks/{chunk-TJ6N4CCX.js → chunk-ERQL3D2O.js} +2 -2
- package/dist/cli/chunks/{chunk-CHO54B34.js → chunk-EZ3JVN6S.js} +2 -2
- package/dist/cli/chunks/{chunk-5VBPIJUZ.js → chunk-F3CKOVZM.js} +4 -4
- package/dist/cli/chunks/{chunk-RQN4HWGV.js → chunk-FKUH33L3.js} +2 -2
- package/dist/cli/chunks/{chunk-WNASEUBW.js → chunk-FTG4ZVTX.js} +11 -11
- package/dist/cli/chunks/{chunk-CMGYUCM7.js → chunk-FUBN5GPY.js} +1 -1
- package/dist/cli/chunks/{chunk-I6WHYRWB.js → chunk-GCQATSMK.js} +2 -2
- package/dist/cli/chunks/{chunk-TED4KOSK.js → chunk-GECWGFRR.js} +2 -2
- package/dist/cli/chunks/{chunk-BA6U7NSR.js → chunk-GP7IXYOY.js} +1 -1
- package/dist/cli/chunks/{chunk-CSEEGX5T.js → chunk-GUGUYFU5.js} +2 -2
- package/dist/cli/chunks/{chunk-KZ37VHMJ.js → chunk-HH5Y4NCR.js} +2 -2
- package/dist/cli/chunks/{chunk-DXOMRWDC.js → chunk-HNU32LN3.js} +1 -1
- package/dist/cli/chunks/{chunk-3AFNXU45.js → chunk-HU6ETNA7.js} +1 -1
- package/dist/cli/chunks/{chunk-KN5GOEYK.js → chunk-IKIKIHFQ.js} +2 -2
- package/dist/cli/chunks/{chunk-UGJQJSPB.js → chunk-ILNQPPKB.js} +1 -1
- package/dist/cli/chunks/{chunk-MJPYNGZ7.js → chunk-IQ56KMMH.js} +1 -1
- package/dist/cli/chunks/{chunk-SCMXIBI7.js → chunk-J6EFAKDQ.js} +2 -2
- package/dist/cli/chunks/{chunk-RMFRFING.js → chunk-K43YXI7C.js} +2 -2
- package/dist/cli/chunks/{chunk-FOPS6DRZ.js → chunk-KBAXD6PH.js} +1 -1
- package/dist/cli/chunks/{chunk-VS4GMNJK.js → chunk-KBXW7S3W.js} +3 -3
- package/dist/cli/chunks/{chunk-QJ6H2HQQ.js → chunk-KDGLNJPB.js} +1 -1
- package/dist/cli/chunks/{chunk-VA7TEOPM.js → chunk-KJJP446A.js} +1 -1
- package/dist/cli/chunks/{chunk-TC2JE5OK.js → chunk-KNOO6TFO.js} +3 -3
- package/dist/cli/chunks/{chunk-HAEUPIKW.js → chunk-KPV4N4KT.js} +2 -2
- package/dist/cli/chunks/{chunk-IKVNYK7Y.js → chunk-KV5OZ6T3.js} +2 -2
- package/dist/cli/chunks/{chunk-RG552ROA.js → chunk-LGEPR7MH.js} +3 -3
- package/dist/cli/chunks/{chunk-7WX3MKRS.js → chunk-LIAW5FD7.js} +2 -2
- package/dist/cli/chunks/{chunk-MUV56BPK.js → chunk-LOZAUP6L.js} +2 -2
- package/dist/cli/chunks/{chunk-BUYPRUNY.js → chunk-LWVUNBZO.js} +2 -2
- package/dist/cli/chunks/{chunk-FZRU73M4.js → chunk-M4XVEUUM.js} +2 -2
- package/dist/cli/chunks/{chunk-ICK3B24H.js → chunk-MALFTRCT.js} +2 -2
- package/dist/cli/chunks/{chunk-MBF3Q7FQ.js → chunk-MF4FULAI.js} +1 -1
- package/dist/cli/chunks/{chunk-7F7U2HUH.js → chunk-MNHGBG4D.js} +1 -1
- package/dist/cli/chunks/{chunk-XIFPIVZI.js → chunk-MNNNA57O.js} +2 -2
- package/dist/cli/chunks/{chunk-BZPF6GTL.js → chunk-N57BKUVE.js} +1 -1
- package/dist/cli/chunks/{chunk-TO5PQSDD.js → chunk-NDAJWCXN.js} +2 -2
- package/dist/cli/chunks/{chunk-NLHISTL2.js → chunk-OELLHV7S.js} +2 -2
- package/dist/cli/chunks/{chunk-PM566XEO.js → chunk-OEZNUXY7.js} +1 -1
- package/dist/cli/chunks/{chunk-4GU656WM.js → chunk-OIUIVV2N.js} +1 -1
- package/dist/cli/chunks/{chunk-CVGXB7IX.js → chunk-OMIGKGJJ.js} +2 -2
- package/dist/cli/chunks/{chunk-62RELCU6.js → chunk-OSAPKOGN.js} +1 -1
- package/dist/cli/chunks/{chunk-72VZGAMJ.js → chunk-P2FYRAC5.js} +1 -1
- package/dist/cli/chunks/{chunk-W2OMW6UU.js → chunk-P65S7AZA.js} +2 -2
- package/dist/cli/chunks/{chunk-VZ67ZDB3.js → chunk-PHIEJAQK.js} +3 -3
- package/dist/cli/chunks/chunk-PSA2SOON.js +18 -0
- package/dist/cli/chunks/{chunk-USB44IHJ.js → chunk-PXKVW6PT.js} +2 -2
- package/dist/cli/chunks/{chunk-64M3FFM4.js → chunk-QYST2TZW.js} +2 -2
- package/dist/cli/chunks/{chunk-MUAHFGIX.js → chunk-R554WVIG.js} +2 -2
- package/dist/cli/chunks/{chunk-TJEJ4UVX.js → chunk-R5HC6JVJ.js} +2 -2
- package/dist/cli/chunks/{chunk-6X3RJBA3.js → chunk-R6LDR3IO.js} +2 -2
- package/dist/cli/chunks/{chunk-OPIWFXME.js → chunk-RFQIC6ZF.js} +1 -1
- package/dist/cli/chunks/{chunk-EM2JIIAQ.js → chunk-RXEQB4OT.js} +2 -2
- package/dist/cli/chunks/{chunk-BGRJZH5Q.js → chunk-RXH2TC2K.js} +2 -2
- package/dist/cli/chunks/{chunk-DQDFACYW.js → chunk-SVUWAV6Y.js} +1 -1
- package/dist/cli/chunks/{chunk-POKMJTD2.js → chunk-SYLTJKN2.js} +1 -1
- package/dist/cli/chunks/{chunk-WJYTLRA5.js → chunk-T6TQPF5P.js} +3 -3
- package/dist/cli/chunks/{chunk-FI5SSLEF.js → chunk-T75VH6NT.js} +2 -2
- package/dist/cli/chunks/{chunk-EGH3H7QO.js → chunk-TERRRQVY.js} +1 -1
- package/dist/cli/chunks/{chunk-2ALNNXFF.js → chunk-TFVWUR2U.js} +2 -2
- package/dist/cli/chunks/{chunk-MK3J7JVZ.js → chunk-TLYZPOA7.js} +2 -2
- package/dist/cli/chunks/{chunk-RYUSZ43T.js → chunk-TMQ3S7HR.js} +1 -1
- package/dist/cli/chunks/{chunk-Z3W3R4CW.js → chunk-TQNNKW7K.js} +2 -2
- package/dist/cli/chunks/{chunk-PT3FTGKZ.js → chunk-TRHUH24V.js} +2 -2
- package/dist/cli/chunks/{chunk-5XFX25AJ.js → chunk-UEIIIDBJ.js} +2 -2
- package/dist/cli/chunks/{chunk-YKOTOCO6.js → chunk-UF3YOGHV.js} +2 -2
- package/dist/cli/chunks/{chunk-UUOXV3NS.js → chunk-UFPCNUJA.js} +10 -10
- package/dist/cli/chunks/{chunk-FZIHOMGY.js → chunk-V2QYW5KW.js} +2 -2
- package/dist/cli/chunks/{chunk-AAATFEIL.js → chunk-VHYACXLN.js} +2 -2
- package/dist/cli/chunks/chunk-VM6VBRRU.js +43 -0
- package/dist/cli/chunks/{chunk-ZT2WHCVM.js → chunk-VOHYQ6MX.js} +2 -2
- package/dist/cli/chunks/{chunk-C6GYLCTX.js → chunk-VQU2JXTK.js} +3 -3
- package/dist/cli/chunks/{chunk-FU5RNEXV.js → chunk-W7LBT3BF.js} +2 -2
- package/dist/cli/chunks/{chunk-GCF42L7M.js → chunk-WC5PM33J.js} +3 -3
- package/dist/cli/chunks/{chunk-WT4ZDDFM.js → chunk-WE5QHYL7.js} +1 -1
- package/dist/cli/chunks/chunk-WKWIUS5G.js +3 -0
- package/dist/cli/chunks/chunk-WL5VMIO4.js +2 -0
- package/dist/cli/chunks/{chunk-OHSVDMF7.js → chunk-WMNGPIP3.js} +1 -1
- package/dist/cli/chunks/{chunk-UVVKFBF7.js → chunk-WRMUQVKY.js} +2 -2
- package/dist/cli/chunks/{chunk-NNGCUJWQ.js → chunk-WY5CX3VH.js} +2 -2
- package/dist/cli/chunks/{chunk-36MPDANH.js → chunk-WYFEVPLO.js} +1 -1
- package/dist/cli/chunks/{chunk-RHC7TFPU.js → chunk-X47GHZY3.js} +2 -2
- package/dist/cli/chunks/{chunk-TR5GOGH3.js → chunk-XNNYHQLW.js} +5 -5
- package/dist/cli/chunks/{chunk-27JCWG5J.js → chunk-YDZIPP3Y.js} +2 -2
- package/dist/cli/chunks/{chunk-KDLYTJ5C.js → chunk-YRO7HNS4.js} +2 -2
- package/dist/cli/chunks/{chunk-SPEUF7ZL.js → chunk-YSCEUK55.js} +2 -2
- package/dist/cli/chunks/chunk-YY4KXDI6.js +2 -0
- package/dist/cli/chunks/{chunk-ZWC6CM4R.js → chunk-YYV3FYVB.js} +1 -1
- package/dist/cli/chunks/{chunk-AEX75YGI.js → chunk-YZ44FUVJ.js} +2 -2
- package/dist/cli/chunks/chunk-Z3FA5KR6.js +316 -0
- package/dist/cli/chunks/{chunk-G6RKUEGL.js → chunk-Z63IOTDW.js} +2 -2
- package/dist/cli/chunks/{chunk-6JNNZGI2.js → chunk-ZBYMF2QJ.js} +1 -1
- package/dist/cli/chunks/{chunk-JYXSVSH2.js → chunk-ZF65VOQH.js} +2 -2
- package/dist/cli/chunks/{chunk-4SALW7OT.js → chunk-ZHWXI4SK.js} +2 -2
- package/dist/cli/chunks/{chunk-LMJUQWR7.js → chunk-ZL7ZOIHO.js} +1 -1
- package/dist/cli/chunks/{ci-RJH5LAL3.js → ci-NT4DUGQ4.js} +2 -2
- package/dist/cli/chunks/{ci-output-62SGMGB2.js → ci-output-PXBD2QPH.js} +2 -2
- package/dist/cli/chunks/{circuit-breaker-QXTS5ZAW.js → circuit-breaker-ZPCCEEDX.js} +2 -2
- package/dist/cli/chunks/{claude-flow-setup-BBCCT5WV.js → claude-flow-setup-CZCDFZOE.js} +2 -2
- package/dist/cli/chunks/client-S7DIRNFJ.js +2 -0
- package/dist/cli/chunks/{cline-installer-IZCUJJ3I.js → cline-installer-6J2S7GLM.js} +2 -2
- package/dist/cli/chunks/{code-AWNVOZ7S.js → code-UTERK5AP.js} +2 -2
- package/dist/cli/chunks/{code-index-extractor-MX65BKMI.js → code-index-extractor-O3MJTOS2.js} +2 -2
- package/dist/cli/chunks/{codex-installer-EQT6JVLM.js → codex-installer-AZJIVXJR.js} +2 -2
- package/dist/cli/chunks/{completions-WOJAM45W.js → completions-A6ANQSZN.js} +2 -2
- package/dist/cli/chunks/{complexity-analyzer-3DJB7V3K.js → complexity-analyzer-MRSN7VUP.js} +2 -2
- package/dist/cli/chunks/{continuedev-installer-P4KWUTCJ.js → continuedev-installer-6LMKQRUI.js} +2 -2
- package/dist/cli/chunks/{copilot-installer-FFZWTMWQ.js → copilot-installer-KP3TWUNO.js} +2 -2
- package/dist/cli/chunks/core-handlers-NM2KCI6Z.js +2 -0
- package/dist/cli/chunks/{cost-tracker-CYBOV3NI.js → cost-tracker-R3C5IQPZ.js} +2 -2
- package/dist/cli/chunks/{coverage-GTZJBSC4.js → coverage-MR4QA2NM.js} +3 -3
- package/dist/cli/chunks/cross-domain-router-3TSZMCBM.js +2 -0
- package/dist/cli/chunks/{cursor-installer-WZIVXGGB.js → cursor-installer-LPZ7NGOS.js} +2 -2
- package/dist/cli/chunks/{daemon-JWMHEJEN.js → daemon-K3KW2UDV.js} +4 -4
- package/dist/cli/chunks/{daemon-MSFN2LXY.js → daemon-X5KXHRY3.js} +3 -3
- package/dist/cli/chunks/{dag-attention-scheduler-4TWOTTQE.js → dag-attention-scheduler-J4FJSGNN.js} +2 -2
- package/dist/cli/chunks/{detect-YZ6AGQPB.js → detect-22TX2NCA.js} +2 -2
- package/dist/cli/chunks/{dist-node-3EM2XH54.js → dist-node-QI4I4QPS.js} +2 -2
- package/dist/cli/chunks/{domain-handler-4XU5BINU.js → domain-handler-ZYZGPNOQ.js} +2 -2
- package/dist/cli/chunks/{domain-transfer-HUFC7I52.js → domain-transfer-2EEQTNIU.js} +2 -2
- package/dist/cli/chunks/dream-QIIJONYI.js +2 -0
- package/dist/cli/chunks/{embed-and-insert-pattern-J5ZFM6YX.js → embed-and-insert-pattern-LYCTU5BS.js} +2 -2
- package/dist/cli/chunks/eval-SOA72GUX.js +17 -0
- package/dist/cli/chunks/{experience-capture-middleware-E3RYQB6Z.js → experience-capture-middleware-AFFYOMYM.js} +3 -3
- package/dist/cli/chunks/{fast-paths-DKIYN2YS.js → fast-paths-WNMHOSUH.js} +2 -2
- package/dist/cli/chunks/{feature-flags-ZB63Z7N5.js → feature-flags-FT4YBZH4.js} +2 -2
- package/dist/cli/chunks/{feature-flags-S2RNZATS.js → feature-flags-HAP5IAAY.js} +2 -2
- package/dist/cli/chunks/{file-discovery-USJJLYQU.js → file-discovery-B4FFOH3Z.js} +2 -2
- package/dist/cli/chunks/{fleet-4MUPHSF5.js → fleet-2ICPYV3J.js} +3 -3
- package/dist/cli/chunks/{gnn-wrapper-PYOQZKX6.js → gnn-wrapper-XIBJAHMW.js} +2 -2
- package/dist/cli/chunks/{heartbeat-handler-HLO5XCG7.js → heartbeat-handler-NSLSKDOI.js} +4 -4
- package/dist/cli/chunks/heartbeat-scheduler-CDNGLJJO.js +2 -0
- package/dist/cli/chunks/hnsw-adapter-CR7Y4OAM.js +2 -0
- package/dist/cli/chunks/hnsw-index-TEDO4MQC.js +2 -0
- package/dist/cli/chunks/{hnsw-legacy-bridge-FZEH2KLM.js → hnsw-legacy-bridge-FTV4CCBB.js} +2 -2
- package/dist/cli/chunks/{better-sqlite3-LRDXKYOJ.js → hnswlib-node-BCASOCNU.js} +2 -2
- package/dist/cli/chunks/{hooks-R2757K57.js → hooks-SM4EU52N.js} +10 -10
- package/dist/cli/chunks/hybrid-router-O24ZDIP5.js +2 -0
- package/dist/cli/chunks/{hypergraph-engine-EAV3GJ5D.js → hypergraph-engine-RRMX4N3L.js} +2 -2
- package/dist/cli/chunks/{hypergraph-handler-5ERXAVGH.js → hypergraph-handler-MNFGDKAP.js} +3 -3
- package/dist/cli/chunks/impact-analyzer-PDM4SDB6.js +2 -0
- package/dist/cli/chunks/{init-handler-RXUSEMG7.js → init-handler-BNHIJ5TX.js} +6 -6
- package/dist/cli/chunks/init-wizard-F4KODPNW.js +2 -0
- package/dist/cli/chunks/kernel-77UM35L6.js +2 -0
- package/dist/cli/chunks/{kilocode-installer-ZUBVBHGT.js → kilocode-installer-GFKUKPLY.js} +2 -2
- package/dist/cli/chunks/{kiro-installer-TRTRQDGL.js → kiro-installer-YBIYKODN.js} +2 -2
- package/dist/cli/chunks/knowledge-graph-R6ZWWV2K.js +2 -0
- package/dist/cli/chunks/{learning-UYXWAU5D.js → learning-QEWUPCK6.js} +3 -3
- package/dist/cli/chunks/{llm-router-TB5OJPEV.js → llm-router-D5FQIMVQ.js} +5 -5
- package/dist/cli/chunks/llm-router-service-7QYCZ66H.js +2 -0
- package/dist/cli/chunks/{load-ELPSUIPV.js → load-CLBUCKZQ.js} +2 -2
- package/dist/cli/chunks/load-test-AWVA3CAQ.js +2 -0
- package/dist/cli/chunks/{mcp-UX7TK3XV.js → mcp-VOMG5DPV.js} +2 -2
- package/dist/cli/chunks/{memory-W3LG6H6N.js → memory-WZO63VSC.js} +5 -5
- package/dist/cli/chunks/memory-backend-YESSIHFW.js +2 -0
- package/dist/cli/chunks/memory-handlers-EOOWSUHI.js +2 -0
- package/dist/cli/chunks/{multi-model-executor-227LWZRY.js → multi-model-executor-7UKW43VV.js} +2 -2
- package/dist/cli/chunks/{opencode-installer-F4WKVWDL.js → opencode-installer-MLFPRRL2.js} +2 -2
- package/dist/cli/chunks/{orchestrator-V4DBMGK6.js → orchestrator-XNYDBGIN.js} +18 -18
- package/dist/cli/chunks/pattern-null-store-X3UXLJNL.js +2 -0
- package/dist/cli/chunks/{pattern-usage-recorder-BY3HEWSU.js → pattern-usage-recorder-ZAP7ASQI.js} +2 -2
- package/dist/cli/chunks/{pipeline-3F5RIESX.js → pipeline-4EJYOPBC.js} +2 -2
- package/dist/cli/chunks/{platform-KCGXTZO3.js → platform-ALPOWCOH.js} +2 -2
- package/dist/cli/chunks/{plugin-2H552KOV.js → plugin-S2RX3KHR.js} +2 -2
- package/dist/cli/chunks/{prime-radiant-advanced-wasm-EFKVL7VN.js → prime-radiant-advanced-wasm-P2JB73XX.js} +2 -2
- package/dist/cli/chunks/protocol-executor-KXDCTMWI.js +2 -0
- package/dist/cli/chunks/{protocol-handler-ELGYV7D2.js → protocol-handler-ZBJXSESA.js} +2 -2
- package/dist/cli/chunks/{prove-AYJCQYNI.js → prove-MYJ5YV45.js} +2 -2
- package/dist/cli/chunks/provider-manager-XJZVHYI6.js +2 -0
- package/dist/cli/chunks/qe-reasoning-bank-DPHPNIC6.js +2 -0
- package/dist/cli/chunks/{quality-HH7L5A7V.js → quality-NIACQC4M.js} +2 -2
- package/dist/cli/chunks/{quality-gate-NAQLXE4C.js → quality-gate-OAZ23ON5.js} +3 -3
- package/dist/cli/chunks/queen-coordinator-EVGWME5C.js +2 -0
- package/dist/cli/chunks/{real-embeddings-IO3F4ZFR.js → real-embeddings-6I4LP7PL.js} +2 -2
- package/dist/cli/chunks/{roocode-installer-X4TU5HO4.js → roocode-installer-LRQHP6MK.js} +2 -2
- package/dist/cli/chunks/router-R2N7TMAS.js +2 -0
- package/dist/cli/chunks/routing-feedback-G6W3H26L.js +2 -0
- package/dist/cli/chunks/{routing-handler-ZJKGDDMT.js → routing-handler-A7BW7MV4.js} +2 -2
- package/dist/cli/chunks/{ruvector-commands-NXCSUBN2.js → ruvector-commands-ZDRRFSJS.js} +2 -2
- package/dist/cli/chunks/{rvf-dual-writer-JMA74SKP.js → rvf-dual-writer-QWE3Z6BB.js} +2 -2
- package/dist/cli/chunks/{rvf-migration-adapter-BNTGH2KU.js → rvf-migration-adapter-6UDAP7QB.js} +2 -2
- package/dist/cli/chunks/{rvf-migration-coordinator-7T2HHUOH.js → rvf-migration-coordinator-FEW2N4R4.js} +2 -2
- package/dist/cli/chunks/rvf-native-adapter-D7R2GWXK.js +2 -0
- package/dist/cli/chunks/safe-db-CQZGF2KA.js +2 -0
- package/dist/cli/chunks/schedule-UP7E3LRC.js +2 -0
- package/dist/cli/chunks/scheduler-ENIZHYSL.js +2 -0
- package/dist/cli/chunks/{security-XSK2QHB3.js → security-KFXBV65O.js} +3 -3
- package/dist/cli/chunks/{shared-rvf-adapter-WLRKI7RY.js → shared-rvf-adapter-HDDCXCHY.js} +2 -2
- package/dist/cli/chunks/{shared-rvf-dual-writer-SZW3J7ZK.js → shared-rvf-dual-writer-CXXTB7CU.js} +2 -2
- package/dist/cli/chunks/sqlite-persistence-CEVJVWS5.js +2 -0
- package/dist/cli/chunks/status-handler-CXSVM236.js +47 -0
- package/dist/cli/chunks/{structural-health-4SJCFX63.js → structural-health-LMHSM7MJ.js} +2 -2
- package/dist/cli/chunks/{sync-7WAVNZGL.js → sync-DMOUY2EY.js} +2 -2
- package/dist/cli/chunks/{sync-ATR4DUSA.js → sync-REEFKICL.js} +2 -2
- package/dist/cli/chunks/{task-handler-O6REL34Y.js → task-handler-DMSNFIH3.js} +2 -2
- package/dist/cli/chunks/{task-handlers-WFV2ZYWW.js → task-handlers-3Z3QV7X7.js} +3 -3
- package/dist/cli/chunks/{test-4LXUVHEU.js → test-U6CGMDLN.js} +4 -4
- package/dist/cli/chunks/{test-scheduling-OTN3DMKY.js → test-scheduling-YHYA3BP5.js} +3 -3
- package/dist/cli/chunks/{token-bootstrap-VA7T4P42.js → token-bootstrap-MQCTJURQ.js} +2 -2
- package/dist/cli/chunks/{token-usage-TLT6OXXR.js → token-usage-EOOTM7Q3.js} +2 -2
- package/dist/cli/chunks/{transformers-JI7LZRQ3.js → transformers-EKDJW2H6.js} +2 -2
- package/dist/cli/chunks/{tree-sitter-wasm-parser-QNIMHB4K.js → tree-sitter-wasm-parser-HTGAXDQA.js} +2 -2
- package/dist/cli/chunks/{types-DJNWOAC6.js → types-GLRXY4RY.js} +2 -2
- package/dist/cli/chunks/unified-memory-PXOQ4N53.js +2 -0
- package/dist/cli/chunks/unified-memory-hnsw-VEXD6ASE.js +2 -0
- package/dist/cli/chunks/unified-persistence-46G6MZYC.js +2 -0
- package/dist/cli/chunks/{upgrade-VEW4FL23.js → upgrade-KU55H77X.js} +2 -2
- package/dist/cli/chunks/{validate-O3P6PF7B.js → validate-26VSBOJN.js} +2 -2
- package/dist/cli/chunks/{validate-swarm-M2HXHZVC.js → validate-swarm-OIALRDKF.js} +2 -2
- package/dist/cli/chunks/{vibium-GOU55LUO.js → vibium-LOTWW25P.js} +2 -2
- package/dist/cli/chunks/visual-security-4X3T3MFL.js +2 -0
- package/dist/cli/chunks/{web-tree-sitter-MXOI4GH3.js → web-tree-sitter-6LWPPBYU.js} +2 -2
- package/dist/cli/chunks/{windsurf-installer-6GKT53IH.js → windsurf-installer-ILOQYENG.js} +2 -2
- package/dist/cli/chunks/witness-chain-XW4S3LVW.js +2 -0
- package/dist/cli/chunks/{witness-chain-OXGQGL26.js → witness-chain-YBS6OHS4.js} +2 -2
- package/dist/cli/chunks/{witness-key-manager-PGFSQXUJ.js → witness-key-manager-SI3WV3ZQ.js} +2 -2
- package/dist/cli/chunks/{workflow-ENBWRMBA.js → workflow-GY6SJRQW.js} +4 -4
- package/dist/cli/chunks/workflow-orchestrator-IIVV6TCP.js +2 -0
- package/dist/cli/chunks/{wrappers-MHLNYANQ.js → wrappers-MMO5YKOZ.js} +2 -2
- package/dist/cli/commands/eval.js +73 -3
- package/dist/cli/commands/llm-router.js +2 -0
- package/dist/cli/handlers/status-handler.d.ts +5 -0
- package/dist/cli/handlers/status-handler.js +35 -0
- package/dist/coordination/consensus/providers/index.js +11 -0
- package/dist/init/init-wizard-hooks.js +11 -25
- package/dist/init/phases/07-hooks.js +15 -25
- package/dist/init/settings-merge.d.ts +44 -0
- package/dist/init/settings-merge.js +119 -4
- package/dist/mcp/bundle.js +412 -393
- package/dist/shared/llm/billing-modes.d.ts +24 -0
- package/dist/shared/llm/billing-modes.js +56 -0
- package/dist/shared/llm/cost-tracker.js +2 -0
- package/dist/shared/llm/interfaces.d.ts +61 -3
- package/dist/shared/llm/provider-manager.d.ts +34 -0
- package/dist/shared/llm/provider-manager.js +152 -3
- package/dist/shared/llm/providers/claude-code.d.ts +57 -0
- package/dist/shared/llm/providers/claude-code.js +312 -0
- package/dist/shared/llm/providers/cognitum.d.ts +64 -0
- package/dist/shared/llm/providers/cognitum.js +369 -0
- package/dist/shared/llm/providers/index.d.ts +2 -0
- package/dist/shared/llm/providers/index.js +2 -0
- package/dist/shared/llm/router/config-store.d.ts +31 -11
- package/dist/shared/llm/router/config-store.js +82 -12
- package/dist/shared/llm/router/hybrid-router.js +16 -0
- package/dist/shared/llm/router/types.js +7 -0
- package/dist/shared/llm/spend-ledger.d.ts +64 -0
- package/dist/shared/llm/spend-ledger.js +115 -0
- package/dist/shared/llm/translation/message-formatter.js +2 -0
- package/dist/shared/llm/translation/prompt-translator.js +2 -0
- package/dist/shared/llm/translation/tool-translator.js +2 -0
- package/dist/validation/index.d.ts +1 -0
- package/dist/validation/index.js +2 -0
- package/dist/validation/provider-llm-executor.d.ts +45 -0
- package/dist/validation/provider-llm-executor.js +98 -0
- package/package.json +1 -1
- package/dist/cli/chunks/adapter-6IWRIHF3.js +0 -2
- package/dist/cli/chunks/aqe-learning-engine-FSF5U67K.js +0 -2
- package/dist/cli/chunks/base-2CKCJU3O.js +0 -2
- package/dist/cli/chunks/browser-workflow-UGYJE64S.js +0 -2
- package/dist/cli/chunks/chunk-2AOOIAW3.js +0 -316
- package/dist/cli/chunks/chunk-3B4XXFKD.js +0 -18
- package/dist/cli/chunks/chunk-BBC526PL.js +0 -24
- package/dist/cli/chunks/chunk-ESDGCTC4.js +0 -2
- package/dist/cli/chunks/chunk-IDLNLSQI.js +0 -3
- package/dist/cli/chunks/chunk-MDT3LIXS.js +0 -2
- package/dist/cli/chunks/client-E2XUBCLK.js +0 -2
- package/dist/cli/chunks/core-handlers-46Z5VOO6.js +0 -2
- package/dist/cli/chunks/cross-domain-router-SXQ3HFRY.js +0 -2
- package/dist/cli/chunks/dream-R6MQQQ3N.js +0 -2
- package/dist/cli/chunks/eval-XYOA3EH2.js +0 -15
- package/dist/cli/chunks/heartbeat-scheduler-OSDPJT6A.js +0 -2
- package/dist/cli/chunks/hnsw-adapter-KMGSHBIN.js +0 -2
- package/dist/cli/chunks/hnsw-index-IMFRAOPE.js +0 -2
- package/dist/cli/chunks/hybrid-router-57QSWSWC.js +0 -2
- package/dist/cli/chunks/impact-analyzer-OC4MPBGA.js +0 -2
- package/dist/cli/chunks/init-wizard-CDBRL4PO.js +0 -2
- package/dist/cli/chunks/kernel-CQ7R3AAV.js +0 -2
- package/dist/cli/chunks/knowledge-graph-UXNH7RY4.js +0 -2
- package/dist/cli/chunks/llm-router-service-UV34YXBE.js +0 -2
- package/dist/cli/chunks/load-test-2VEN3PQZ.js +0 -2
- package/dist/cli/chunks/memory-backend-TZL5U6F3.js +0 -2
- package/dist/cli/chunks/memory-handlers-BNXAYS2P.js +0 -2
- package/dist/cli/chunks/pattern-null-store-KLX2RNHM.js +0 -2
- package/dist/cli/chunks/protocol-executor-5HJKW6MC.js +0 -2
- package/dist/cli/chunks/provider-manager-TRZSBXD3.js +0 -2
- package/dist/cli/chunks/qe-reasoning-bank-RCEYSLVV.js +0 -2
- package/dist/cli/chunks/queen-coordinator-6JFZD54W.js +0 -2
- package/dist/cli/chunks/router-KRLC46NS.js +0 -2
- package/dist/cli/chunks/routing-feedback-WW26H6SA.js +0 -2
- package/dist/cli/chunks/rvf-native-adapter-OVQKPQUH.js +0 -2
- package/dist/cli/chunks/safe-db-UQOCQIH2.js +0 -2
- package/dist/cli/chunks/schedule-EUX7ZQUK.js +0 -2
- package/dist/cli/chunks/scheduler-MALHQKNR.js +0 -2
- package/dist/cli/chunks/sqlite-persistence-OBCLRP4L.js +0 -2
- package/dist/cli/chunks/status-handler-HGCKYJX2.js +0 -46
- package/dist/cli/chunks/unified-memory-A5BS3LGX.js +0 -2
- package/dist/cli/chunks/unified-memory-hnsw-WJLJO5MY.js +0 -2
- package/dist/cli/chunks/unified-persistence-CFC2BKI5.js +0 -2
- package/dist/cli/chunks/visual-security-VPB6KVYJ.js +0 -2
- package/dist/cli/chunks/witness-chain-ZZAUAXDY.js +0 -2
- package/dist/cli/chunks/workflow-orchestrator-S4LBFTYD.js +0 -2
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,89 @@ All notable changes to the Agentic QE project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [3.12.2] - 2026-07-13
|
|
9
|
+
|
|
10
|
+
Billing-aware LLM execution. AQE could previously only bill the paid Anthropic
|
|
11
|
+
Developer API (`ANTHROPIC_API_KEY`), even for users on a Claude Pro/Max plan that
|
|
12
|
+
already covers Claude Code usage — and its declared budget caps were never
|
|
13
|
+
actually enforced. This release adds a subscription execution path, real
|
|
14
|
+
cross-process spend caps, transparent billing modes, and a metered-capped
|
|
15
|
+
gateway provider. It also fixes `aqe eval run`, which had been scoring
|
|
16
|
+
fabricated (mock) responses instead of real model output. See ADR-123.
|
|
17
|
+
|
|
18
|
+
### Added
|
|
19
|
+
|
|
20
|
+
- **Run QE on your Claude subscription (`AQE_LLM_PROVIDER=claude-code`).** A new
|
|
21
|
+
provider shells out to `claude -p` and draws from your Pro/Max plan's shared
|
|
22
|
+
usage instead of a pay-per-token API key. Worst case becomes "hit your plan
|
|
23
|
+
limit and pause" rather than a surprise bill. The spawned CLI has all
|
|
24
|
+
API-billing keys stripped from its environment so it can't silently revert to
|
|
25
|
+
API billing.
|
|
26
|
+
- **Enforced spend budgets.** `--max-budget-usd` (and `AQE_MAX_BUDGET_USD`) cap
|
|
27
|
+
total LLM spend for a run; the cap is persisted to `.agentic-qe/memory.db` so
|
|
28
|
+
it holds **across a whole fleet of processes**, not just one. Requests that
|
|
29
|
+
would exceed the cap abort with `COST_LIMIT_EXCEEDED` before any spend.
|
|
30
|
+
- **Cognitum provider (`AQE_LLM_PROVIDER=cognitum`).** An OpenAI/Anthropic-
|
|
31
|
+
compatible gateway (`api.cognitum.one`) with authoritative per-request cost
|
|
32
|
+
receipts, cloud embeddings, and a server-side hard spend cap.
|
|
33
|
+
- **Billing transparency.** A one-line notice at startup and a new "LLM Billing"
|
|
34
|
+
section in `aqe health` show how the active provider bills (pay-per-token /
|
|
35
|
+
server-capped / subscription / local), so a paid API key is never a silent
|
|
36
|
+
surprise.
|
|
37
|
+
|
|
38
|
+
### Fixed
|
|
39
|
+
|
|
40
|
+
- **`aqe eval run` now makes real model calls.** It previously defaulted to a
|
|
41
|
+
mock executor that returned canned, keyword-matched responses, so eval results
|
|
42
|
+
were fabricated. Eval now runs against a real provider by default (inheriting
|
|
43
|
+
budget caps and provider selection), errors clearly when no provider is
|
|
44
|
+
configured, and offers an explicit `--mock` flag for offline testing.
|
|
45
|
+
- **Budget caps are now actually enforced.** The `maxCostPerHour/Day` settings
|
|
46
|
+
existed but were dead code, and enforcement was bypassed on the primary
|
|
47
|
+
routing path (`HybridRouter`). Both are fixed.
|
|
48
|
+
- **An explicit `enabled: false` for a provider is honored** even when its API
|
|
49
|
+
key is present in the environment (previously the key silently re-enabled it).
|
|
50
|
+
|
|
51
|
+
### Changed
|
|
52
|
+
|
|
53
|
+
- The multi-model consensus verification path now prints a billing warning when
|
|
54
|
+
it uses an Anthropic API key, so that spend isn't silent either.
|
|
55
|
+
|
|
56
|
+
## [3.12.1] - 2026-07-12
|
|
57
|
+
|
|
58
|
+
Makes `aqe init` non-destructive to configuration users already have in their
|
|
59
|
+
project. Previously, running `aqe init` (e.g. after `ruflo init`) could overwrite
|
|
60
|
+
a project's `.claude/settings.json` — clobbering a custom status line, an explicit
|
|
61
|
+
`includeCoAuthoredBy` choice, user-tuned `AQE_*` environment variables, and even
|
|
62
|
+
another tool's hooks. Init now merges rather than overwrites, preserves the user's
|
|
63
|
+
values, and takes a one-time backup of the original file — the same treatment
|
|
64
|
+
`CLAUDE.md` already received.
|
|
65
|
+
|
|
66
|
+
### Fixed
|
|
67
|
+
|
|
68
|
+
- **`aqe init` no longer strips ruflo / Claude Flow hooks.** The AQE hook-detection
|
|
69
|
+
patterns were too broad (matching anything under `.claude/helpers/` or any
|
|
70
|
+
`ruflo` command), so re-running init in a project that had already run
|
|
71
|
+
`ruflo init` deleted the user's hooks. Detection is now scoped to AQE's own
|
|
72
|
+
hook markers, so other tools' hooks are preserved.
|
|
73
|
+
- **`aqe init` preserves a user's custom `statusLine`.** Init only writes its own
|
|
74
|
+
status line when none exists or the existing one is AQE's — a user's (or another
|
|
75
|
+
tool's) custom status line is kept.
|
|
76
|
+
- **`aqe init` respects an explicit `includeCoAuthoredBy` setting.** Init only sets
|
|
77
|
+
the default when the user has not chosen a value.
|
|
78
|
+
- **`aqe init` preserves user overrides of `AQE_*` environment variables.** Re-init
|
|
79
|
+
fills in only the missing keys; values the user changed (e.g.
|
|
80
|
+
`AQE_LEARNING_ENABLED=false`) are kept.
|
|
81
|
+
- **`v3Configuration` / `v3Learning` sections are deep-merged**, so user-added keys
|
|
82
|
+
in those sections survive re-init instead of being replaced wholesale.
|
|
83
|
+
|
|
84
|
+
### Added
|
|
85
|
+
|
|
86
|
+
- **`.claude/settings.json.backup`** — `aqe init` now writes a one-time backup of
|
|
87
|
+
the pristine original `settings.json` before modifying it (mirroring the
|
|
88
|
+
existing `CLAUDE.md.backup` behavior). The backup is never overwritten on
|
|
89
|
+
subsequent re-inits, so the original is always recoverable.
|
|
90
|
+
|
|
8
91
|
## [3.12.0] - 2026-07-10
|
|
9
92
|
|
|
10
93
|
Adds a **learning-integrity layer** so the self-learning system can only promote
|
package/dist/cli/bundle.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.12.
|
|
3
|
-
import{a as y}from"./chunks/chunk-
|
|
2
|
+
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.12.2");process.exit(0)}
|
|
3
|
+
import{a as y}from"./chunks/chunk-EGU54SNK.js";import{a as f,c as P}from"./chunks/chunk-X47GHZY3.js";import"./chunks/chunk-HU6ETNA7.js";P();import{Command as S}from"commander";import m from"chalk";function h(e,i,a,s){let l=e.command(i).description(a);if(s)for(let u of s)l.alias(u);return l.helpOption(!1),l.allowUnknownOption(!0),l.allowExcessArguments(!0),l}function w(e,i){let a=e.commands,s=a.indexOf(i);s>=0&&a.splice(s,1)}function o(e,i){let a=h(e,i.name,i.description,i.aliases);a.action(async()=>{try{let s=await i.factory();w(e,a),e.addCommand(s),await e.parseAsync(process.argv)}catch(s){console.error(`Failed to load command '${i.name}':`,s instanceof Error?s.message:s),process.exit(1)}})}function d(e,i,a,s,l,u){let g=h(e,i,a,u);g.action(async()=>{try{let p=await s();w(e,g),p.register(e,l),await e.parseAsync(process.argv)}catch(p){console.error(`Failed to load command '${i}':`,p instanceof Error?p.message:p),process.exit(1)}})}var I=["[UnifiedMemory]","[HybridBackend]","[UnifiedPersistence]","[PersistentSONAEngine]","[QueenGovernance]","[QueenCoordinator]","[Queen]","[QUEEN]","[DomainBreakerRegistry]","[RealEmbeddings]","[HNSWIndex]","[PatternStore]","[TestGenerationCoordinator]","[CodeIntelligence]","[ProductFactorsBridge]","[LearningOptimizationCoordinator]","[DreamEngine]","[DreamScheduler]","[SecurityCompliance]","[Providers]","[GNN]","[test-generation]","[test-execution]","[coverage-analysis]","[quality-assessment]","[defect-intelligence]","[requirements-validation]","[code-intelligence]","[security-compliance]","[contract-testing]","[visual-accessibility]","[chaos-resilience]","[learning-optimization]","[enterprise-integration]","[coordination]","[PatternLearnerService]","[RequirementsValidation]","[ParserRegistry]","[AdversarialDefense]","[ContinueGateIntegration]","[ContinueGate]","[SQLitePatternStore]","[TokenTracking]","[InfraHealing]","[ExperienceCapture]"],b=/^\[\d{2}:\d{2}:\d{2}\.\d{3}\]\s+\[/,D=console.log.bind(console);console.log=(...e)=>{let a=(typeof e[0]=="string"?e[0]:"").trimStart();if(I.some(s=>a.startsWith(s))||b.test(a)){process.stderr.write(e.map(String).join(" ")+`
|
|
4
4
|
`);return}D(...e)};console.info=(...e)=>{process.stderr.write(e.map(String).join(" ")+`
|
|
5
|
-
`)};var t={kernel:null,queen:null,router:null,workflowOrchestrator:null,scheduledWorkflows:new Map,persistentScheduler:null,initialized:!1};function C(e,i){let a=e.getDomainAPI("visual-accessibility");if(a?.registerWorkflowActions)try{a.registerWorkflowActions(i)}catch(l){console.error(m.yellow(` Warning: Could not register visual-accessibility workflow actions: ${f(l)}`))}let s=e.getDomainAPI("requirements-validation");if(s?.registerWorkflowActions)try{s.registerWorkflowActions(i)}catch(l){console.error(m.yellow(` Warning: Could not register requirements-validation workflow actions: ${f(l)}`))}}async function R(){let{QEKernelImpl:e}=await import("./chunks/kernel-
|
|
5
|
+
`)};var t={kernel:null,queen:null,router:null,workflowOrchestrator:null,scheduledWorkflows:new Map,persistentScheduler:null,initialized:!1};function C(e,i){let a=e.getDomainAPI("visual-accessibility");if(a?.registerWorkflowActions)try{a.registerWorkflowActions(i)}catch(l){console.error(m.yellow(` Warning: Could not register visual-accessibility workflow actions: ${f(l)}`))}let s=e.getDomainAPI("requirements-validation");if(s?.registerWorkflowActions)try{s.registerWorkflowActions(i)}catch(l){console.error(m.yellow(` Warning: Could not register requirements-validation workflow actions: ${f(l)}`))}}async function R(){let{QEKernelImpl:e}=await import("./chunks/kernel-77UM35L6.js"),{CrossDomainEventRouter:i}=await import("./chunks/cross-domain-router-3TSZMCBM.js"),{DefaultProtocolExecutor:a}=await import("./chunks/protocol-executor-KXDCTMWI.js"),{WorkflowOrchestrator:s}=await import("./chunks/workflow-orchestrator-IIVV6TCP.js"),{createQueenCoordinator:l}=await import("./chunks/queen-coordinator-EVGWME5C.js"),{createPersistentScheduler:u}=await import("./chunks/scheduler-ENIZHYSL.js");t.kernel=new e({maxConcurrentAgents:15,memoryBackend:"sqlite",hnswEnabled:!0,lazyLoading:!0,enabledDomains:[...y],enableExperienceBridge:!1}),await t.kernel.initialize(),t.router=new i(t.kernel.eventBus),await t.router.initialize();let g=A=>t.kernel.getDomainAPI(A),p=new a(t.kernel.eventBus,t.kernel.memory,g);t.workflowOrchestrator=new s(t.kernel.eventBus,t.kernel.memory,t.kernel.coordinator),await t.workflowOrchestrator.initialize(),C(t.kernel,t.workflowOrchestrator),t.persistentScheduler=u(),t.queen=l(t.kernel,t.router,p,void 0),await t.queen.initialize();let{adoptExternalFleet:E}=await import("./chunks/core-handlers-NM2KCI6Z.js");E({kernel:t.kernel,queen:t.queen,router:t.router,workflowOrchestrator:t.workflowOrchestrator}),t.initialized=!0}async function k(){if(t.initialized&&t.kernel&&t.queen)return!0;let e=await import("fs"),a=(await import("path")).resolve(".agentic-qe");return e.existsSync(a)?c():(console.error(m.red(`
|
|
6
6
|
Error: AQE system not initialized in this directory.`)),console.log(m.yellow("Run `aqe init` first to set up this project.\n")),!1)}async function c(){if(t.initialized&&t.kernel&&t.queen)return!0;process.stderr.write(m.gray("Auto-initializing v3 system...")+`
|
|
7
7
|
`);let e=3e4,i=new Promise((a,s)=>{setTimeout(()=>s(new Error("Initialization timeout after 30 seconds")),e)});try{return await Promise.race([R(),i]),process.stderr.write(m.green("System ready")+`
|
|
8
8
|
|
|
9
|
-
`),!0}catch(a){return a.message.includes("timeout")?(console.error(m.red("Initialization timed out after 30 seconds.")),console.log(m.yellow("Try running `aqe init` manually."))):(console.error(m.red("Failed to auto-initialize:"),a),console.log(m.yellow("Try running `aqe init` manually."))),!1}}async function r(e=0){try{t.workflowOrchestrator&&t.workflowOrchestrator.dispose().catch(()=>{}),t.queen&&t.queen.dispose().catch(()=>{}),t.router&&t.router.dispose().catch(()=>{}),t.kernel&&t.kernel.dispose().catch(()=>{})}catch{}process.exit(e)}var n=new S,v="3.12.
|
|
9
|
+
`),!0}catch(a){return a.message.includes("timeout")?(console.error(m.red("Initialization timed out after 30 seconds.")),console.log(m.yellow("Try running `aqe init` manually."))):(console.error(m.red("Failed to auto-initialize:"),a),console.log(m.yellow("Try running `aqe init` manually."))),!1}}async function r(e=0){try{t.workflowOrchestrator&&t.workflowOrchestrator.dispose().catch(()=>{}),t.queen&&t.queen.dispose().catch(()=>{}),t.router&&t.router.dispose().catch(()=>{}),t.kernel&&t.kernel.dispose().catch(()=>{})}catch{}process.exit(e)}var n=new S,v="3.12.2";n.name("aqe").description("Agentic QE - Domain-Driven Quality Engineering").version(v);d(n,"init","Initialize the AQE v3 system",()=>import("./chunks/init-handler-BNHIJ5TX.js").then(e=>e.createInitHandler(r)),t);d(n,"status","Show system status",()=>import("./chunks/status-handler-CXSVM236.js").then(e=>e.createStatusHandler(r,k)),t);d(n,"health","Check system health",()=>import("./chunks/status-handler-CXSVM236.js").then(e=>e.createHealthHandler(r,k)),t);d(n,"task","Manage QE tasks",()=>import("./chunks/task-handler-DMSNFIH3.js").then(e=>e.createTaskHandler(r,c)),t);d(n,"agent","Manage QE agents",()=>import("./chunks/agent-handler-NGPTMI6E.js").then(e=>e.createAgentHandler(r,c)),t);d(n,"domain","Domain operations",()=>import("./chunks/domain-handler-ZYZGPNOQ.js").then(e=>e.createDomainHandler(r,c)),t);d(n,"protocol","Execute coordination protocols",()=>import("./chunks/protocol-handler-ZBJXSESA.js").then(e=>e.createProtocolHandler(r,c)),t);d(n,"brain","Export, import, and inspect QE brain state",()=>import("./chunks/brain-handler-T7RDPKNM.js").then(e=>e.createBrainHandler(r,c)),t);d(n,"hypergraph","Query the code knowledge hypergraph",()=>import("./chunks/hypergraph-handler-MNFGDKAP.js").then(e=>e.createHypergraphHandler(r,c)),t,["hg"]);d(n,"heartbeat","Manage the token-free heartbeat scheduler",()=>import("./chunks/heartbeat-handler-NSLSKDOI.js").then(e=>e.createHeartbeatHandler(r)),t);d(n,"routing","View routing performance, economics, and accuracy",()=>import("./chunks/routing-handler-A7BW7MV4.js").then(e=>e.createRoutingHandler(r)),t);o(n,{name:"workflow",description:"Manage QE workflows and pipelines (ADR-041)",factory:()=>import("./chunks/workflow-GY6SJRQW.js").then(e=>e.createWorkflowCommand(t,r,c))});o(n,{name:"test",description:"Test generation, execution, scheduling, and load testing",factory:()=>import("./chunks/test-U6CGMDLN.js").then(e=>e.createTestCommand(t,r,c))});o(n,{name:"coverage",description:"Coverage analysis shortcut",factory:()=>import("./chunks/coverage-MR4QA2NM.js").then(e=>e.createCoverageCommand(t,r,c))});o(n,{name:"quality",description:"Quality assessment shortcut",factory:()=>import("./chunks/quality-NIACQC4M.js").then(e=>e.createQualityCommand(t,r,c))});o(n,{name:"quality-gate",description:"Two-gate, three-valued quality verdict against a pinned checklist (ADR-119)",factory:()=>import("./chunks/quality-gate-OAZ23ON5.js").then(e=>e.createQualityGateCommand(t,r,c))});o(n,{name:"security",description:"Security scanning and URL validation",factory:()=>import("./chunks/security-KFXBV65O.js").then(e=>e.createSecurityCommand(t,r,c))});o(n,{name:"arena",description:"Competitive test-strategy tournaments (ADR-104)",factory:()=>import("./chunks/arena-HQEP2NWI.js").then(e=>e.createArenaCommand(t,r,c))});o(n,{name:"code",description:"Code intelligence analysis",factory:()=>import("./chunks/code-UTERK5AP.js").then(e=>e.createCodeCommand(t,r,c))});o(n,{name:"completions",description:"Generate shell completions for aqe",factory:()=>import("./chunks/completions-A6ANQSZN.js").then(e=>e.createCompletionsCommand(r))});o(n,{name:"upgrade",description:"Detect optional native bindings and recommend install / flag changes",factory:()=>import("./chunks/upgrade-KU55H77X.js").then(e=>e.createUpgradeCommand(r))});o(n,{name:"fleet",description:"Fleet operations with multi-agent progress tracking",factory:()=>import("./chunks/fleet-2ICPYV3J.js").then(e=>e.createFleetCommand(t,r,c,C))});o(n,{name:"validate",description:"Validation commands for skills and agents",factory:()=>import("./chunks/validate-swarm-OIALRDKF.js").then(e=>e.createValidateSwarmCommand(t,r,c))});o(n,{name:"skill",description:"Skill validation and reporting (ADR-056)",factory:()=>import("./chunks/validate-26VSBOJN.js").then(e=>e.createValidateCommand(t,r,c))});o(n,{name:"eval",description:"Run skill evaluation suites in parallel",factory:()=>import("./chunks/eval-SOA72GUX.js").then(e=>e.createEvalCommand())});o(n,{name:"ci",description:"CI/CD pipeline orchestration",factory:()=>import("./chunks/ci-NT4DUGQ4.js").then(e=>e.createCICommand(t,r,c))});o(n,{name:"token-usage",description:"View and analyze token consumption metrics (ADR-042)",factory:()=>import("./chunks/token-usage-EOOTM7Q3.js").then(e=>e.createTokenUsageCommand())});o(n,{name:"llm",description:"LLM Router management (ADR-043)",factory:()=>import("./chunks/llm-router-D5FQIMVQ.js").then(e=>e.createLLMRouterCommand())});o(n,{name:"sync",description:"Sync local learning data to cloud PostgreSQL",factory:()=>import("./chunks/sync-DMOUY2EY.js").then(e=>e.createSyncCommands())});o(n,{name:"hooks",description:"Self-learning QE hooks for pattern recognition and guidance",factory:()=>import("./chunks/hooks-SM4EU52N.js").then(e=>e.createHooksCommand())});o(n,{name:"learning",description:"AQE self-learning system management (standalone, no claude-flow required)",factory:()=>import("./chunks/learning-QEWUPCK6.js").then(e=>e.createLearningCommand())});o(n,{name:"memory",description:"Memory store, retrieve, search, and delete operations",factory:()=>import("./chunks/memory-WZO63VSC.js").then(e=>e.createMemoryCommand(t,r,c))});o(n,{name:"mcp",description:"Start the MCP protocol server for Claude Code integration",factory:()=>import("./chunks/mcp-VOMG5DPV.js").then(e=>e.createMcpCommand())});o(n,{name:"platform",description:"Manage coding agent platform configurations",factory:()=>import("./chunks/platform-ALPOWCOH.js").then(e=>e.createPlatformCommand())});o(n,{name:"prove",description:"Generate a verifiable Proof-of-Quality attestation",factory:()=>import("./chunks/prove-MYJ5YV45.js").then(e=>e.createProveCommand(t,r,c))});o(n,{name:"ruvector",description:"RuVector integration management",factory:()=>import("./chunks/ruvector-commands-ZDRRFSJS.js").then(e=>e.createRuVectorCommand())});o(n,{name:"audit",description:"Witness chain audit trail management",factory:()=>import("./chunks/audit-XSDM57GC.js").then(e=>e.createAuditCommand(t,r,c))});o(n,{name:"pipeline",description:"Manage YAML deterministic pipelines (Imp-9)",factory:()=>import("./chunks/pipeline-4EJYOPBC.js").then(e=>e.createPipelineCommand(t,r,c))});o(n,{name:"plugin",description:"Manage external QE domain plugins",factory:()=>import("./chunks/plugin-S2RX3KHR.js").then(e=>e.createPluginCommand())});o(n,{name:"daemon",description:"Manage the QE Quality Daemon",factory:()=>import("./chunks/daemon-X5KXHRY3.js").then(e=>e.createDaemonCommand())});process.on("SIGINT",async()=>{console.log(m.yellow(`
|
|
10
10
|
|
|
11
11
|
Shutting down...`)),console.log(m.green(`Shutdown complete
|
|
12
12
|
`)),await r(0)});process.on("SIGTERM",async()=>{console.log(m.yellow(`
|
|
13
|
-
Received SIGTERM, shutting down gracefully...`)),await r(0)});async function x(){let{isVersionFastPath:e}=await import("./chunks/fast-paths-
|
|
13
|
+
Received SIGTERM, shutting down gracefully...`)),await r(0)});async function x(){let{isVersionFastPath:e}=await import("./chunks/fast-paths-WNMHOSUH.js");e(process.argv)&&(console.log(v),process.exit(0));let{bootstrapTokenTracking:i}=await import("./chunks/token-bootstrap-MQCTJURQ.js");await i({enableOptimization:!0,enablePersistence:!0,verbose:process.env.AQE_VERBOSE==="true"}),await n.parseAsync(),await r(0)}x().catch(async e=>{console.error(m.red("Fatal error:"),e),await r(1)});
|
|
@@ -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.12.2");process.exit(0)}
|
|
2
|
+
import{a,b,c}from"./chunk-T6TQPF5P.js";import"./chunk-KV5OZ6T3.js";import"./chunk-WMNGPIP3.js";import"./chunk-CKFZOPZN.js";import"./chunk-X47GHZY3.js";import"./chunk-HU6ETNA7.js";export{a as AgentBoosterAdapter,b as createAgentBoosterAdapter,c as createAgentBoosterAdapterSync};
|
|
@@ -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.12.
|
|
2
|
-
import{a as x}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.12.2");process.exit(0)}
|
|
2
|
+
import{a as x}from"./chunk-YY4KXDI6.js";import{c as f}from"./chunk-R5HC6JVJ.js";import"./chunk-HU6ETNA7.js";x();import{createRequire as w}from"module";var S=f.create("agent-booster-wasm"),t={JavaScript:0,TypeScript:1,Python:2,Rust:3,Go:4,Java:5,C:6,Cpp:7},l={ExactReplace:0,FuzzyReplace:1,InsertAfter:2,InsertBefore:3,Append:4},v={0:"JavaScript",1:"TypeScript",2:"Python",3:"Rust",4:"Go",5:"Java",6:"C",7:"Cpp"},a=null,u=null,p=null;async function g(){if(a)return!0;if(p)return!1;try{if(a=w(import.meta.url)("./agent_booster_wasm.js"),!a)throw new Error("WASM module loaded but is null");return u=new a.AgentBoosterWasm,!0}catch(e){return p=e,console.warn("[AgentBoosterWASM] Failed to load WASM module:",e),!1}}function A(e){return{".js":t.JavaScript,".mjs":t.JavaScript,".cjs":t.JavaScript,".jsx":t.JavaScript,".ts":t.TypeScript,".tsx":t.TypeScript,".mts":t.TypeScript,".cts":t.TypeScript,".py":t.Python,".rs":t.Rust,".go":t.Go,".java":t.Java,".c":t.C,".h":t.C,".cpp":t.Cpp,".cc":t.Cpp,".cxx":t.Cpp,".hpp":t.Cpp}[e.toLowerCase()]??t.JavaScript}var M=[{name:"var-to-const",detect:(e,r)=>e.includes("var ")&&r.includes("const "),apply:(e,r)=>e.replace(/\bvar\s+/g,"const ")},{name:"var-to-let",detect:(e,r)=>e.includes("var ")&&r.includes("let "),apply:(e,r)=>e.replace(/\bvar\s+/g,"let ")},{name:"add-types-function",detect:(e,r)=>e.includes("function")&&!e.includes(":")&&r.includes(":"),apply:(e,r)=>r},{name:"async-wrapper",detect:(e,r)=>!e.includes("async")&&r.includes("async")&&r.includes("await"),apply:(e,r)=>r},{name:"try-catch-wrapper",detect:(e,r)=>!e.includes("try {")&&r.includes("try {"),apply:(e,r)=>r},{name:"null-check",detect:(e,r)=>!e.includes("if (!")&&!e.includes("if (!")&&(r.includes("if (!")||r.includes("?.")),apply:(e,r)=>r},{name:"test-assertion",detect:(e,r)=>e.includes("test(")&&!e.includes("expect(")&&r.includes("expect("),apply:(e,r)=>r}];function y(e,r){for(let n of M)if(n.detect(e,r))try{return{success:!0,code:n.apply(e,r),pattern:n.name}}catch(s){S.debug("Pattern transform failed, trying next",{pattern:n.name,error:s instanceof Error?s.message:String(s)});continue}return{success:!1,code:r}}async function b(e,r,n,s={}){let o=performance.now(),{confidenceThreshold:T=.5,allowFallback:d=!0}=s;if(!e.trim())return{success:!0,mergedCode:r,confidence:1,strategy:l.Append,syntaxValid:!0,source:"fallback",latencyMs:performance.now()-o};if(await g()&&u&&a)try{let c=a.WasmLanguage[v[n]],i=u.apply_edit(e,r,c);return{success:!0,mergedCode:i.merged_code,confidence:i.confidence,strategy:i.strategy,syntaxValid:i.syntax_valid,source:"wasm",latencyMs:performance.now()-o}}catch(c){let i=c;if(d){let m=y(e,r);if(m.success)return{success:!0,mergedCode:m.code,confidence:.7,strategy:l.FuzzyReplace,syntaxValid:!0,source:"pattern",latencyMs:performance.now()-o}}return{success:!1,mergedCode:r,confidence:0,strategy:l.Append,syntaxValid:!1,source:"fallback",latencyMs:performance.now()-o,error:i.message}}if(d){let c=y(e,r);return{success:c.success,mergedCode:c.code,confidence:c.success?.7:0,strategy:l.FuzzyReplace,syntaxValid:!0,source:"pattern",latencyMs:performance.now()-o}}return{success:!1,mergedCode:r,confidence:0,strategy:l.Append,syntaxValid:!1,source:"fallback",latencyMs:performance.now()-o,error:p?.message??"WASM not available"}}async function W(e,r={}){return Promise.all(e.map(({original:n,edit:s,language:o})=>b(n,s,o,r)))}async function C(){return g()}async function L(){return await g()&&a?a.AgentBoosterWasm.version():"unavailable"}async function R(){if(await g(),u&&a)try{u.apply_edit("function x() {}","function x() {}",a.WasmLanguage.JavaScript)}catch(e){console.debug("[AgentBoosterWASM] Warmup error:",e instanceof Error?e.message:e)}}var _={transform:b,batchTransform:W,isWasmAvailable:C,getVersion:L,warmup:R,Language:t,MergeStrategy:l,languageFromExtension:A};export{t as Language,l as MergeStrategy,W as batchTransform,_ as default,L as getVersion,C as isWasmAvailable,A as languageFromExtension,b as transform,R as warmup};
|
|
@@ -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.12.
|
|
2
|
-
import{b 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.12.2");process.exit(0)}
|
|
2
|
+
import{b as p}from"./chunk-7DV42KFP.js";import{a as g}from"./chunk-MF4FULAI.js";import"./chunk-CKFZOPZN.js";import"./chunk-HU6ETNA7.js";import s from"chalk";var l=class{name="agent";description="Manage QE agents";cleanupAndExit;ensureInitialized;constructor(n,t){this.cleanupAndExit=n,this.ensureInitialized=t}register(n,t){let a=n.command("agent").description(this.description);a.command("list").description("List all agents").option("-d, --domain <domain>","Filter by domain").option("-s, --status <status>","Filter by status").action(async e=>{await this.executeList(e,t)}),a.command("spawn <domain>").description("Spawn an agent in a domain").option("-t, --type <type>","Agent type","worker").option("-c, --capabilities <caps>","Comma-separated capabilities","general").option("--no-progress","Disable progress indicator").action(async(e,o)=>{await this.executeSpawn(e,o,t)})}async executeList(n,t){if(await this.ensureInitialized())try{let a=n.domain?t.queen.getAgentsByDomain(n.domain):t.queen.listAllAgents();if(n.status&&(a=a.filter(e=>e.status===n.status)),console.log(s.blue(`
|
|
3
3
|
Agents (${a.length})
|
|
4
4
|
`)),a.length===0)console.log(s.gray(" No agents found"));else{let e=new Map;for(let i of a)e.has(i.domain)||e.set(i.domain,[]),e.get(i.domain).push(i);let o=Array.from(e.entries());for(let[i,m]of o){console.log(s.cyan(` ${i}:`));for(let r of m)console.log(` ${r.id}`),console.log(` Type: ${r.type}`),console.log(` Status: ${g(r.status)}`),r.startedAt&&console.log(s.gray(` Started: ${r.startedAt.toISOString()}`));console.log("")}}}catch(a){console.error(s.red(`
|
|
5
5
|
Failed to list agents:`),a),await this.cleanupAndExit(1)}}async executeSpawn(n,t,a){if(await this.ensureInitialized())try{let e=t.capabilities.split(",");console.log(s.blue(`
|
|
@@ -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.12.
|
|
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.12.2");process.exit(0)}
|
|
2
|
+
import"./chunk-HU6ETNA7.js";import{existsSync as i,mkdirSync as d,unlinkSync as s,readdirSync as p,statSync as f}from"fs";import{join as o,basename as l}from"path";var v={branchDir:".agentic-qe/branches",defaultStrategy:"child-wins",orphanMaxAgeMs:36e5},g=class{config;parentAdapter;activeBranches=new Map;witnessChain=null;constructor(t,e){this.parentAdapter=t,this.config={...v,...e}}setWitnessChain(t){this.witnessChain=t}createBranch(t){if(this.activeBranches.has(t))throw new Error(`Branch already exists for agent ${t}`);i(this.config.branchDir)||d(this.config.branchDir,{recursive:!0});let e=o(this.config.branchDir,`${t}.rvf`),r=this.parentAdapter.path(),n=this.parentAdapter.derive(e),a={agentId:t,childPath:e,parentPath:r,childAdapter:n,createdAt:Date.now(),ingestLog:[]};return this.activeBranches.set(t,a),a}recordIngest(t,e){let r=this.activeBranches.get(t);if(r)for(let n of e)r.ingestLog.push({id:n.id,vector:n.vector})}async mergeBranch(t,e){let r=e??this.config.defaultStrategy,n=performance.now(),a=0;if(r==="child-wins"&&t.ingestLog.length>0)try{a=this.parentAdapter.ingest(t.ingestLog).accepted}catch(c){console.warn(`[AgentMemoryBranch] Merge replay failed for ${t.agentId}:`,c)}return this.witnessChain?.append("BRANCH_MERGE",{agentId:t.agentId,strategy:r,vectorsMerged:a,branchPath:t.childPath},`agent-${t.agentId}`),this.cleanupBranchFile(t),this.activeBranches.delete(t.agentId),{vectorsMerged:a,strategy:r,durationMs:performance.now()-n}}discardBranch(t){this.witnessChain?.append("BRANCH_DISCARD",{agentId:t.agentId,action:"discard",branchPath:t.childPath},`agent-${t.agentId}`),this.cleanupBranchFile(t),this.activeBranches.delete(t.agentId)}getBranch(t){return this.activeBranches.get(t)}getActiveBranches(){return Array.from(this.activeBranches.values())}listBranchFiles(){return i(this.config.branchDir)?p(this.config.branchDir).filter(e=>e.endsWith(".rvf")).map(e=>{let r=o(this.config.branchDir,e),n=f(r);return{agentId:l(e,".rvf"),path:r,sizeBytes:n.size,modifiedAt:n.mtime}}):[]}cleanupOrphans(t){let e=t??this.config.orphanMaxAgeMs,r=Date.now(),n=0;for(let a of this.listBranchFiles())if(r-a.modifiedAt.getTime()>e&&!this.activeBranches.has(a.agentId))try{s(a.path);let h=`${a.path}.idmap.json`;i(h)&&s(h),n++}catch{}return n}cleanupBranchFile(t){try{t.childAdapter.close()}catch{}try{i(t.childPath)&&s(t.childPath);let e=`${t.childPath}.idmap.json`;i(e)&&s(e)}catch{}}};export{g as AgentMemoryBranch};
|
|
@@ -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.12.2");process.exit(0)}
|
|
2
|
+
import{a,b,c,d,e,f}from"./chunk-5YLY2WT2.js";import"./chunk-Z63IOTDW.js";import"./chunk-WC5PM33J.js";import"./chunk-5CGTBAVF.js";import"./chunk-F3CKOVZM.js";import"./chunk-YRO7HNS4.js";import"./chunk-WYFEVPLO.js";import"./chunk-BDX54WJV.js";import"./chunk-WE5QHYL7.js";import"./chunk-T75VH6NT.js";import"./chunk-ADZTWGEB.js";import"./chunk-2L7K2J2T.js";import"./chunk-AJ6DZXKK.js";import"./chunk-TQNNKW7K.js";import"./chunk-PHIEJAQK.js";import"./chunk-APVXTHTA.js";import"./chunk-AL5QT6OX.js";import"./chunk-YY4KXDI6.js";import"./chunk-R5HC6JVJ.js";import"./chunk-ACDZ2CRV.js";import"./chunk-CKFZOPZN.js";import"./chunk-6SWR2BN7.js";import"./chunk-TRHUH24V.js";import"./chunk-6N62KS3C.js";import"./chunk-P65S7AZA.js";import"./chunk-EGU54SNK.js";import"./chunk-X47GHZY3.js";import"./chunk-ZBYMF2QJ.js";import"./chunk-WRMUQVKY.js";import"./chunk-UF3YOGHV.js";import"./chunk-V2QYW5KW.js";import"./chunk-4KEOBDEI.js";import"./chunk-C7VNQ4PY.js";import"./chunk-QYST2TZW.js";import"./chunk-YZ44FUVJ.js";import"./chunk-YDZIPP3Y.js";import"./chunk-CTFW7CMI.js";import"./chunk-HU6ETNA7.js";export{b as AQELearningEngine,a as DEFAULT_ENGINE_CONFIG,c as DEFAULT_META_LEARNING_CONFIG,d as MetaLearningEngine,e as createAQELearningEngine,f as createDefaultLearningEngine};
|
|
@@ -1,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.12.
|
|
2
|
-
import{a as c,c 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.12.2");process.exit(0)}
|
|
2
|
+
import{a as c,c as f}from"./chunk-X47GHZY3.js";import"./chunk-HU6ETNA7.js";f();import{Command as $}from"commander";import r from"chalk";function x(v,g,p){let m=new $("arena").description("Competitive test-strategy tournaments (ADR-104)").addHelpText("after",`
|
|
3
3
|
Examples:
|
|
4
4
|
# Run a 4-strategy tournament against the demo fixture (reproducible under --seed)
|
|
5
5
|
aqe arena run --strategies 4 --target fixtures/arena-demo --seed 42
|
|
@@ -9,10 +9,10 @@ Examples:
|
|
|
9
9
|
|
|
10
10
|
# List persisted runs
|
|
11
11
|
aqe arena list
|
|
12
|
-
`);return m.command("run").description("Run a seeded strategy tournament against an arena fixture").requiredOption("--target <dir>","Arena fixture directory (src/*.mjs + tests/*.test.mjs)").option("--strategies <n>","Number of strategies","4").option("--seed <n>","RNG seed (same seed = same tournament)","42").option("--max-mutants <n>","Mutant sample cap","24").option("--evolve <steps>","Hill-climb steps from the winner","0").option("--json","Output the full arena-result@1 envelope as JSON").action(async a=>{try{let{runArena:i}=await import("./arena-
|
|
12
|
+
`);return m.command("run").description("Run a seeded strategy tournament against an arena fixture").requiredOption("--target <dir>","Arena fixture directory (src/*.mjs + tests/*.test.mjs)").option("--strategies <n>","Number of strategies","4").option("--seed <n>","RNG seed (same seed = same tournament)","42").option("--max-mutants <n>","Mutant sample cap","24").option("--evolve <steps>","Hill-climb steps from the winner","0").option("--json","Output the full arena-result@1 envelope as JSON").action(async a=>{try{let{runArena:i}=await import("./arena-PA7VIYD4.js"),t=i({target:a.target,strategies:parseInt(a.strategies,10),seed:parseInt(a.seed,10),maxMutants:parseInt(a.maxMutants,10),evolveSteps:parseInt(a.evolve,10),log:a.json?()=>{}:e=>console.error(r.dim(` ${e}`))});try{let{getUnifiedMemory:e}=await import("./unified-memory-PXOQ4N53.js"),s=e();s.isInitialized()||await s.initialize(),s.getDatabase().prepare("INSERT OR REPLACE INTO kv_store (namespace, key, value) VALUES ('arena', ?, ?)").run(`run:${t.seed}:${t.target}`,JSON.stringify(t))}catch(e){console.error(r.dim(` note: run not persisted (${c(e)})`))}if(a.json){console.log(JSON.stringify(t,null,2));return}let d=new Map(t.strategies.map(e=>[e.id,e]));console.log(r.blue(`
|
|
13
13
|
Arena: ${t.target} \xB7 seed ${t.seed} \xB7 ${t.mutantsTotal} mutants
|
|
14
14
|
`)),console.log(" rank id kill-rate coverage cost fitness groups"),t.ranking.forEach((e,s)=>{let n=d.get(e),u=n.coveragePct===null?" n/a":`${n.coveragePct.toFixed(2)}%`.padStart(7);console.log(` ${String(s+1).padEnd(5)}${n.id.padEnd(5)}${(n.killRate*100).toFixed(1).padStart(6)}% ${u} ${n.suiteCostRatio.toFixed(2).padEnd(6)}${n.fitness.toFixed(4).padEnd(9)}${n.name}`+(n.baselinePassed?"":r.red(" [baseline FAILED]")))}),console.log(`
|
|
15
15
|
competitive array (row beats column = 1):`);let o=t.strategies.map(e=>e.id);if(console.log(` ${o.map(e=>e.padEnd(4)).join("")}`),t.competitiveArray.forEach((e,s)=>{console.log(` ${o[s].padEnd(4)}${e.map(n=>String(n).padStart(2).padEnd(4)).join("")}`)}),t.evolution.length>0){console.log(`
|
|
16
16
|
evolution:`);for(let e of t.evolution)console.log(` step ${e.step}: [${e.groups.join("+")}] fitness ${e.fitness.toFixed(4)} ${e.accepted?r.green("accepted"):"rejected"}`)}let l=d.get(t.ranking[0]);console.log(r.green(`
|
|
17
17
|
winner: ${l.id} [${l.name}] \u2014 kill ${(l.killRate*100).toFixed(1)}%, fitness ${l.fitness.toFixed(4)}
|
|
18
|
-
`))}catch(i){console.error(r.red(` \u2717 ${c(i)}`)),await g(1)}}),m.command("list").description("List persisted arena runs").option("--json","Output as JSON").action(async a=>{if(await p())try{let{getUnifiedMemory:i}=await import("./unified-memory-
|
|
18
|
+
`))}catch(i){console.error(r.red(` \u2717 ${c(i)}`)),await g(1)}}),m.command("list").description("List persisted arena runs").option("--json","Output as JSON").action(async a=>{if(await p())try{let{getUnifiedMemory:i}=await import("./unified-memory-PXOQ4N53.js"),t=i();t.isInitialized()||await t.initialize();let d=t.getDatabase().prepare("SELECT key, value FROM kv_store WHERE namespace = 'arena' ORDER BY key").all();if(a.json){console.log(JSON.stringify(d.map(o=>({key:o.key,result:JSON.parse(o.value)})),null,2));return}if(d.length===0){console.log(r.yellow(" no persisted arena runs"));return}for(let o of d){let l=JSON.parse(o.value),e=l.strategies.find(s=>s.id===l.ranking[0]);console.log(` ${r.green(o.key)} \u2014 winner ${e?.id} [${e?.name}] fitness ${e?.fitness}`)}}catch(i){console.error(r.red(` \u2717 ${c(i)}`)),await g(1)}}),m}export{x as createArenaCommand};
|
|
@@ -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.12.
|
|
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.12.2");process.exit(0)}
|
|
2
|
+
import"./chunk-HU6ETNA7.js";import*as K from"fs";import*as M from"path";function G(t){let r=t>>>0;return function(){r|=0,r=r+1831565813|0;let n=Math.imul(r^r>>>15,1|r);return n=n+Math.imul(n^n>>>7,61|n)^n,((n^n>>>14)>>>0)/4294967296}}function w(t,r){return Math.floor(t()*r)}var z=[["===","!=="],["!==","==="],["<=","<"],[">=",">"],["&&","||"],["||","&&"],["<","<="],[">",">="],["+","-"],["*","+"]];function H(t){let r=new Array(t.length).fill(!1),n=0,e="code";for(;n<t.length;){let s=t[n],i=t[n+1];e==="code"?(s==="'"?e="single":s==='"'?e="double":s==="`"?e="template":s==="/"&&i==="/"?e="line-comment":s==="/"&&i==="*"&&(e="block-comment"),e!=="code"&&(r[n]=!0)):(r[n]=!0,e==="single"&&s==="'"&&t[n-1]!=="\\"||e==="double"&&s==='"'&&t[n-1]!=="\\"||e==="template"&&s==="`"&&t[n-1]!=="\\"||e==="line-comment"&&s===`
|
|
3
3
|
`?e="code":e==="block-comment"&&s==="*"&&i==="/"&&(r[n+1]=!0,n++,e="code")),n++}return r}function E(t,r){let n=1;for(let e=0;e<r;e++)t[e]===`
|
|
4
4
|
`&&n++;return n}function A(t,r){let n=H(t),e=new Array(t.length).fill(!1),s=[];for(let[i,c]of z){let a=t.indexOf(i);for(;a!==-1;){let u=a+i.length,y=e.slice(a,u).some(Boolean),h=n.slice(a,u).some(Boolean),v=i===">"&&t[a-1]==="=",S=(i==="<"||i===">")&&(t[u]==="="||t[a-1]==="<"||t[a-1]===">");if(!y&&!h&&!v&&!S){for(let d=a;d<u;d++)e[d]=!0;s.push({id:`${r}:${E(t,a)}:${a}:${i}->${c}`,index:a,from:i,to:c,line:E(t,a)})}a=t.indexOf(i,a+1)}}return s.sort((i,c)=>i.index-c.index)}function W(t,r){return t.slice(0,r.index)+r.to+t.slice(r.index+r.from.length)}import*as m from"fs";import*as f from"path";import*as L from"os";import{spawnSync as J}from"child_process";function I(t){let r=f.resolve(t),n=f.join(r,"src"),e=f.join(r,"tests");if(!m.existsSync(n)||!m.existsSync(e))throw new Error(`not an arena fixture (expected src/ and tests/): ${r}`);let s=m.readdirSync(n).filter(c=>c.endsWith(".mjs")).sort().map(c=>f.join("src",c)),i={};for(let c of m.readdirSync(e).filter(a=>a.endsWith(".test.mjs")).sort())i[c.replace(".test.mjs","")]=f.join("tests",c);if(s.length===0||Object.keys(i).length===0)throw new Error(`fixture has no src/*.mjs or tests/*.test.mjs: ${r}`);return{root:r,sourceFiles:s,testGroups:i}}function T(t,r){let n=m.mkdtempSync(f.join(r,"arena-ws-"));m.mkdirSync(f.join(n,"src"),{recursive:!0}),m.mkdirSync(f.join(n,"tests"),{recursive:!0});for(let e of t.layout.sourceFiles){let s=t.mutatedFile&&t.mutatedFile.relPath===e?t.mutatedFile.content:m.readFileSync(f.join(t.layout.root,e),"utf8");m.writeFileSync(f.join(n,e),s)}for(let e of t.groups){let s=t.layout.testGroups[e];m.copyFileSync(f.join(t.layout.root,s),f.join(n,s))}return n}function $(t,r={}){let n=["--test"];r.coverage&&n.push("--experimental-test-coverage");let e=m.readdirSync(f.join(t,"tests")).filter(u=>u.endsWith(".test.mjs")).sort().map(u=>f.join("tests",u));n.push(...e);let s=process.hrtime.bigint(),i=J(process.execPath,n,{cwd:t,timeout:r.timeoutMs??12e4,encoding:"utf8"}),c=Number(process.hrtime.bigint()-s)/1e6,a=null;if(r.coverage){let u=/all files\s*\|\s*([\d.]+)/.exec(i.stdout??"");a=u?Number(u[1]):null}return{ok:i.status===0,durationMs:Math.round(c),coveragePct:a}}function N(){return m.mkdtempSync(f.join(L.tmpdir(),"qe-arena-"))}function B(t){m.rmSync(t,{recursive:!0,force:!0})}var k={kill:.6,coverage:.3,runtimePenalty:.1};function Q(t,r,n){let e=[...t].sort(),s=new Set([e.join("+")]),i=[{id:"s1",name:`all(${e.join("+")})`,groups:e}],c=0;for(;i.length<r&&c++<200;){let a=e.filter(()=>n()<.5);if(a.length===0)continue;let u=a.join("+");s.has(u)||(s.add(u),i.push({id:`s${i.length+1}`,name:u,groups:a}))}return i}function C(t,r,n){let e=r===null?0:r/100,s=k.kill*t+k.coverage*e-k.runtimePenalty*n;return Math.round(s*1e4)/1e4}function D(t,r,n,e){let s=T({layout:t,groups:r.groups},e),i=$(s,{coverage:!0});if(!i.ok)return{baselinePassed:!1,killed:0,total:0,coveragePct:i.coveragePct,runtimeMs:i.durationMs};let c=0,a=0;for(let u of n)for(let y of u.mutants){a++;let h=T({layout:t,groups:r.groups,mutatedFile:{relPath:u.relPath,content:W(u.source,y)}},e);$(h).ok||c++}return{baselinePassed:!0,killed:c,total:a,coveragePct:i.coveragePct,runtimeMs:i.durationMs}}function rt(t){let r=t.seed??42,n=t.log??(()=>{}),e=G(r),s=I(t.target),i=N();try{let c=t.maxMutants??24,a=s.sourceFiles.map(l=>{let o=K.readFileSync(M.join(s.root,l),"utf8");return{relPath:l,source:o,mutants:A(o,l)}}),u=a.flatMap(l=>l.mutants.map(o=>({file:l.relPath,m:o})));if(u.length>c){let l=new Set;for(;l.size<c;)l.add(u[w(e,u.length)].m.id);for(let o of a)o.mutants=o.mutants.filter(p=>l.has(p.id));u=a.flatMap(o=>o.mutants.map(p=>({file:o.relPath,m:p})))}n(`mutants: ${u.length} (of ${a.reduce((l,o)=>l+A(o.source,o.relPath).length,0)} enumerated)`);let y=Q(Object.keys(s.testGroups),t.strategies??4,e),h={},v=y.map(l=>{n(`evaluating ${l.id} [${l.name}] ...`);let o=D(s,l,a,i);return h[l.id]=o.runtimeMs,{s:l,e:o}}),S=Object.keys(s.testGroups).length,d=v.map(({s:l,e:o})=>{let p=o.total>0?Math.round(o.killed/o.total*1e4)/1e4:0,g=Math.round(l.groups.length/S*1e4)/1e4;return{...l,baselinePassed:o.baselinePassed,mutantsKilled:o.killed,mutantsTotal:o.total,killRate:p,coveragePct:o.coveragePct,suiteCostRatio:g,fitness:o.baselinePassed?C(p,o.coveragePct,g):0}}),P=[...d].sort((l,o)=>o.fitness-l.fitness||l.id.localeCompare(o.id)).map(l=>l.id),U=d.map(l=>d.map(o=>l.fitness>o.fitness?1:l.fitness<o.fitness?-1:0)),j=[];if(t.evolveSteps&&t.evolveSteps>0){let l=Object.keys(s.testGroups).sort(),o=d.find(g=>g.id===P[0]).groups,p=d.find(g=>g.id===P[0]).fitness;for(let g=1;g<=t.evolveSteps;g++){let R=l[w(e,l.length)],b=o.includes(R)?o.filter(q=>q!==R):[...o,R].sort();if(b.length===0){j.push({step:g,groups:b,fitness:0,accepted:!1});continue}let x=D(s,{id:`evo${g}`,name:b.join("+"),groups:b},a,i),_=x.total>0?x.killed/x.total:0,F=x.baselinePassed?C(_,x.coveragePct,b.length/l.length):0,O=F>p;j.push({step:g,groups:b,fitness:F,accepted:O}),O&&(o=b,p=F)}}return{contract:"arena-result@1",seed:r,target:M.relative(process.cwd(),s.root)||".",weights:{...k},mutantsTotal:u.length,strategies:d,ranking:P,competitiveArray:U,evolution:j,informational:{runtimesMs:h}}}finally{B(i)}}export{Q as buildStrategies,rt as runArena};
|
|
@@ -1,3 +1,3 @@
|
|
|
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.12.
|
|
2
|
-
import{d as f,e as g,f as m,g as y}from"./chunk-
|
|
3
|
-
`)}function V(){try{let n=l(),i=b.join(n,".agentic-qe","memory.db");if(!p(i))return null;let e=(w(),v(E)),t=new e(i),r=f(t),s=m(r);return t.close(),s}catch{return null}}async function O(n){let i=y(),t=(V()??g()).verifyChain(),r={featureEnabled:i,chainLength:t.length,integrity:t.valid,brokenAt:t.brokenAt,lastHash:t.lastHash,message:t.message};return n.format==="json"?console.log(JSON.stringify(r,null,2)):console.log(C(t,i)),r}async function j(n){let{WitnessChain:i,hashWith:e,serializeEntry:t}=await import("./witness-chain-
|
|
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.12.2");process.exit(0)}
|
|
2
|
+
import{d as f,e as g,f as m,g as y}from"./chunk-IKIKIHFQ.js";import{m as L}from"./chunk-APVXTHTA.js";import"./chunk-AL5QT6OX.js";import"./chunk-YY4KXDI6.js";import"./chunk-R5HC6JVJ.js";import{b as l}from"./chunk-ACDZ2CRV.js";import"./chunk-CKFZOPZN.js";import"./chunk-P65S7AZA.js";import"./chunk-X47GHZY3.js";import"./chunk-WRMUQVKY.js";import{p as E,q as w}from"./chunk-UF3YOGHV.js";import"./chunk-V2QYW5KW.js";import"./chunk-4KEOBDEI.js";import"./chunk-C7VNQ4PY.js";import"./chunk-QYST2TZW.js";import"./chunk-YZ44FUVJ.js";import"./chunk-YDZIPP3Y.js";import"./chunk-CTFW7CMI.js";import{g as v}from"./chunk-HU6ETNA7.js";import{Command as x}from"commander";import c from"chalk";L();import{existsSync as p}from"node:fs";import b from"node:path";function C(n,i){let e=[];e.push(c.bold("Witness Chain Audit Verification")),e.push("");let t=i?c.green("ENABLED"):c.yellow("DISABLED");e.push(` Feature Flag: ${t}`),e.push(` Chain Length: ${n.length} receipts`);let r=n.valid?c.green("VALID"):c.red("BROKEN");return e.push(` Integrity: ${r}`),n.length>0&&e.push(` Last Hash: ${n.lastHash.slice(0,16)}...`),!n.valid&&n.brokenAt>=0&&(e.push(""),e.push(c.red(` Break detected at index ${n.brokenAt}`)),e.push(c.red(` ${n.message}`))),e.push(""),e.join(`
|
|
3
|
+
`)}function V(){try{let n=l(),i=b.join(n,".agentic-qe","memory.db");if(!p(i))return null;let e=(w(),v(E)),t=new e(i),r=f(t),s=m(r);return t.close(),s}catch{return null}}async function O(n){let i=y(),t=(V()??g()).verifyChain(),r={featureEnabled:i,chainLength:t.length,integrity:t.valid,brokenAt:t.brokenAt,lastHash:t.lastHash,message:t.message};return n.format==="json"?console.log(JSON.stringify(r,null,2)):console.log(C(t,i)),r}async function j(n){let{WitnessChain:i,hashWith:e,serializeEntry:t}=await import("./witness-chain-XW4S3LVW.js"),r=l(),s=b.join(r,".agentic-qe","memory.db"),a;if(!p(s))a={featureEnabled:!0,chainLength:0,integrity:!0,brokenAt:-1,lastHash:"",message:`No database found at ${s} \u2014 nothing to verify`};else{let{default:A}=await import("./better-sqlite3-RQCOOAZC.js"),h=new A(s,{readonly:!0});try{let d=new i(h);await d.initialize();let o=d.verify({includeArchive:!0,checkSignatures:!0}),u=h.prepare("SELECT * FROM witness_chain ORDER BY id DESC LIMIT 1").get(),k=u?e(u.hash_algo||"sha256",t(u)):"";a={featureEnabled:!0,chainLength:o.entriesChecked,integrity:o.valid,brokenAt:o.brokenAt??-1,lastHash:k,message:o.valid?`Audit chain verified: ${o.entriesChecked} entries checked, ${o.signatureFailures??0} signature failures`:`Audit chain BROKEN at id=${o.brokenAt} (${o.entriesChecked} entries checked before the break)`}}finally{h.close()}}return n.format==="json"?console.log(JSON.stringify(a,null,2)):console.log(C({valid:a.integrity,length:a.chainLength,brokenAt:a.brokenAt,lastHash:a.lastHash,message:a.message},a.featureEnabled)),a}function R(n,i,e){let t=new x("audit").description("Witness chain audit trail management");return t.command("verify").description("Verify witness chain integrity").option("-F, --format <format>","Output format (json|text)","text").option("-C, --chain <chain>","Which chain to verify: governance (29 decision receipts) or audit (full QE audit trail)","governance").action(async r=>{try{let s=r.format,a=r.chain==="audit"?await j({format:s}):await O({format:s});await i(a.integrity?0:1)}catch(s){console.error("Failed to verify witness chain:",s),await i(1)}}),t}export{R as createAuditCommand,C as formatVerificationText,j as handleAuditChainVerify,O as handleAuditVerify};
|
|
@@ -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.12.2");process.exit(0)}
|
|
2
|
+
import{a,b,c,d,e,f,g,h,i,j,k,l}from"./chunk-LIAW5FD7.js";import"./chunk-ZHWXI4SK.js";import"./chunk-APVXTHTA.js";import"./chunk-AL5QT6OX.js";import"./chunk-YY4KXDI6.js";import"./chunk-R5HC6JVJ.js";import"./chunk-ACDZ2CRV.js";import"./chunk-CKFZOPZN.js";import"./chunk-P65S7AZA.js";import"./chunk-X47GHZY3.js";import"./chunk-ZBYMF2QJ.js";import"./chunk-ERQL3D2O.js";import"./chunk-WRMUQVKY.js";import"./chunk-UF3YOGHV.js";import"./chunk-V2QYW5KW.js";import"./chunk-4KEOBDEI.js";import"./chunk-C7VNQ4PY.js";import"./chunk-QYST2TZW.js";import"./chunk-YZ44FUVJ.js";import"./chunk-YDZIPP3Y.js";import"./chunk-CTFW7CMI.js";import"./chunk-HU6ETNA7.js";export{l as MCPToolBase,k as defaultToolLogger,j as getKernel,i as getLLMRouter,e as getMemoryBackend,g as getSharedLLMRouter,c as getSharedMemoryBackend,a as isMemoryOnlyMode,b as registerRvfResetFn,h as resetSharedLLMRouter,d as resetSharedMemoryBackend,f as setSharedLLMRouter};
|
|
@@ -1,2 +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.12.
|
|
2
|
-
import{a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,q 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.12.2");process.exit(0)}
|
|
2
|
+
import{a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,q as p}from"./chunk-UF3YOGHV.js";import"./chunk-HU6ETNA7.js";p();export{i as DotProductAttention,h as FlashAttention,k as HyperbolicAttention,l as LinearAttention,m as MoEAttention,j as MultiHeadAttention,b as RuvectorLayer,n as SonaEngine,c as TensorCompress,a as default,d as differentiableSearch,f as getCompressionLevel,e as hierarchicalForward,g as init,o as pipeline};
|
|
@@ -1,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.12.
|
|
2
|
-
import{a as A,b as L,c as F,d as R,e as Y,f as T,g as P,h as C,i as j,j as X,k as V,l as ye,m as $,n as Z,o as be,p as _,q as J,r as U,s as W}from"./chunk-6X3RJBA3.js";import{h as ge}from"./chunk-NW7G57NR.js";import{b as pe}from"./chunk-XEYW3V5I.js";import"./chunk-C4SZSPXY.js";import"./chunk-SSXAW3ER.js";import"./chunk-MDT3LIXS.js";import"./chunk-TJEJ4UVX.js";import"./chunk-L5ZLOW3K.js";import{b as x,d as Q}from"./chunk-K5SN66B4.js";import{a as fe,b as me,c as ue,d as k,f as ze}from"./chunk-PT3FTGKZ.js";import"./chunk-W2OMW6UU.js";import"./chunk-RHC7TFPU.js";import{a as O,b as We}from"./chunk-UVVKFBF7.js";import"./chunk-YKOTOCO6.js";import"./chunk-FZIHOMGY.js";import"./chunk-KJWQ7ENF.js";import"./chunk-V2MD5EDD.js";import"./chunk-64M3FFM4.js";import"./chunk-AEX75YGI.js";import"./chunk-27JCWG5J.js";import"./chunk-2KHDGC7N.js";import"./chunk-3AFNXU45.js";import B from"path";import o from"chalk";We();Q();import{existsSync as z,mkdirSync as He,writeFileSync as Ke,readFileSync as ee}from"fs";import{join as E,resolve as ne}from"path";var Ge={rl_q_values:"includeQValues",dream_insights:"includeDreamInsights",dream_cycles:"includeDreamInsights",witness_chain:"includeWitnessChain",vectors:"includeVectors"};function Qe(e,n){let r=Ge[e.tableName];return!(r&&n[r]===!1)}var Ye=1e4;function Xe(e,n,r,t){if(!Qe(n,r))return Z(E(t,n.fileName),[]),{count:0,rows:[]};let[a,s]=n.domainColumn?$(r.domains,n.domainColumn):[void 0,[]];if(X(e,n.tableName,a,s)>=Ye){let d=n.blobColumns,c=d&&d.length>0?p=>T(p,d):void 0;return{count:be(E(t,n.fileName),ye(e,n.tableName,a,s),c)}}let i=V(e,n.tableName,a,s);return n.blobColumns&&n.blobColumns.length>0&&(i=i.map(d=>T(d,n.blobColumns))),Z(E(t,n.fileName),i),{count:i.length,rows:i}}function he(e){let n=[];for(let r of R){let t=E(e,r.fileName);z(t)?n.push(C(ee(t,"utf-8"))):n.push(C(""))}return C(n.join(":"))}function we(e,n,r="memory.db"){let t=ne(n.outputPath);z(t)||He(t,{recursive:!0});let a=0,s={},l=new Set;for(let u of R){let p=Xe(e,u,n,t);if(s[u.tableName]=p.count,a+=p.count,u.tableName==="qe_patterns"){if(p.rows)for(let f of p.rows)f.qe_domain&&l.add(f.qe_domain);else if(p.count>0){let[f,w]=u.domainColumn?$(n.domains,u.domainColumn):[void 0,[]],y=`SELECT DISTINCT qe_domain FROM qe_patterns ${f?`WHERE ${f} AND qe_domain IS NOT NULL`:"WHERE qe_domain IS NOT NULL"}`;try{let g=e.prepare(y).all(...w||[]);for(let v of g)l.add(v.qe_domain)}catch{}}}}let i=n.includeVectors!==!1?X(e,"vectors"):0,d=he(t),c={version:"3.0",exportedAt:new Date().toISOString(),sourceDb:r,stats:{patternCount:s.qe_patterns||0,vectorCount:i,qValueCount:s.rl_q_values||0,dreamInsightCount:s.dream_insights||0,witnessChainLength:s.witness_chain||0,totalRecords:a},domains:[...l].sort(),checksum:d,tableRecordCounts:s};return Ke(E(t,"manifest.json"),JSON.stringify(c,null,2),"utf-8"),c}var Ze=new Set(["qe_patterns","rl_q_values","dream_insights","witness_chain"]);function en(e){return e==="1.0"?R.filter(n=>Ze.has(n.tableName)):e==="3.0"?R:(console.warn(`[brain-import] Unknown manifest version '${e}'. Attempting full import \u2014 some files may be missing.`),R)}function ve(e,n,r){let t=ne(n),a=E(t,"manifest.json");if(!z(a))throw new Error(`Manifest not found at ${a}`);let s=x(ee(a,"utf-8")),l=he(t);if(l!==s.checksum)throw new Error(`Checksum mismatch: expected ${s.checksum}, got ${l}. The export may have been tampered with or corrupted.`);let i=en(s.version);if(r.dryRun){let f=0;for(let w of i){let m=_(E(t,w.fileName),x);f+=m.length}return{imported:f,skipped:0,conflicts:0}}W(e);let d=0,c=0,u=0;return e.transaction(()=>{for(let f of i){let w=E(t,f.fileName),m=_(w,x);f.blobColumns&&f.blobColumns.length>0&&(m=m.map(y=>P(y,f.blobColumns)));for(let y of m){let g;if(f.dedupColumns&&f.dedupColumns.length>0)g=U(e,f.tableName,y,f.dedupColumns);else{let v=A[f.tableName]||"id",b=F[f.tableName],I=L[f.tableName];g=J(e,f.tableName,y,v,r.mergeStrategy,b,I)}d+=g.imported,c+=g.skipped,u+=g.conflicts}}})(),{imported:d,skipped:c,conflicts:u}}function Re(e){let n=ne(e),r=E(n,"manifest.json");if(!z(r))throw new Error(`Manifest not found at ${r}`);return x(ee(r,"utf-8"))}ze();import{existsSync as H,statSync as nn,unlinkSync as Se,writeFileSync as tn}from"fs";import{resolve as te}from"path";function xe(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=te(n.outputPath),a=n.dimension??384;H(t)&&Se(t);let s=`${t}.idmap.json`;H(s)&&Se(s);let l=fe(t,a);try{let i={},d=new Set,c=0;for(let S of R){let[h,ce]=S.domainColumn?$(n.domains,S.domainColumn):[void 0,[]],D=V(e,S.tableName,h,ce);if(S.tableName==="qe_patterns")for(let q of D)q.qe_domain&&d.add(q.qe_domain);let G=Y[S.tableName];G&&G.length>0&&(D=D.map(q=>T(q,G))),i[S.tableName]=D,c+=D.length}let u=0,p=[];if(j(e,"qe_pattern_embeddings")){let S=e.prepare("SELECT pattern_id, embedding, dimension FROM qe_pattern_embeddings").all();for(let h of S)h.embedding&&h.dimension===a&&p.push({id:`pe:${h.pattern_id}`,vector:new Float32Array(h.embedding.buffer,h.embedding.byteOffset,a),metadata:{tableName:"qe_pattern_embeddings"}})}if(j(e,"captured_experiences")){let S=e.prepare("SELECT id, embedding, embedding_dimension, domain, quality FROM captured_experiences WHERE embedding IS NOT NULL").all();for(let h of S)h.embedding_dimension===a&&p.push({id:`exp:${h.id}`,vector:new Float32Array(h.embedding.buffer,h.embedding.byteOffset,a),metadata:{tableName:"captured_experiences",domain:h.domain,confidence:h.quality}})}if(j(e,"sona_patterns")){let S=e.prepare("SELECT id, state_embedding, domain, confidence FROM sona_patterns WHERE state_embedding IS NOT NULL").all();for(let h of S)h.state_embedding.byteLength/4===a&&p.push({id:`sona:${h.id}`,vector:new Float32Array(h.state_embedding.buffer,h.state_embedding.byteOffset,a),metadata:{tableName:"sona_patterns",domain:h.domain,confidence:h.confidence}})}p.length>0&&(u=l.ingest(p).accepted);let f={version:"3.0",format:"rvf",exportedAt:new Date().toISOString(),sourceDb:r,domains:[...d].sort(),tables:i},w=JSON.stringify(f),m=C(w),y=Buffer.from(w);l.embedKernel(y);let g=n.sign?l.sign(y)??void 0:void 0,v=g?n.signerKeyId??"default":void 0,b=l.fileId(),I=b?{fileId:b,parentId:l.parentId(),lineageDepth:l.lineageDepth()}:void 0,N=l.status(),M={version:"3.0",format:"rvf",exportedAt:f.exportedAt,sourceDb:r,stats:{patternCount:(i.qe_patterns||[]).length,embeddingCount:u,qValueCount:(i.rl_q_values||[]).length,dreamInsightCount:(i.dream_insights||[]).length,witnessChainLength:(i.witness_chain||[]).length,totalRecords:c},domains:f.domains,checksum:m,rvfStatus:{totalVectors:N.totalVectors,totalSegments:N.totalSegments,fileSizeBytes:N.fileSizeBytes},...g?{signature:g,signerKeyId:v}:{},...I?{lineage:I}:{}};if(g)try{l.freeze()}catch{}let Ue=`${t}.manifest.json`;return tn(Ue,JSON.stringify(M,null,2),"utf-8"),M}finally{l.close()}}var rn={patterns:"qe_patterns",qValues:"rl_q_values",dreamInsights:"dream_insights",witnessChain:"witness_chain"};function Ce(e,n,r){if(!k())throw new Error("@ruvector/rvf-node is not available. Install it or use JSONL format.");let t=te(n);if(!H(t))throw new Error(`RVF file not found: ${t}`);let a=me(t);try{let s=a.verifyWitness();if(!s.valid&&(s.totalEntries>0||s.errors.length>0)){let m=s.errors.length>0?s.errors.join("; "):"unknown integrity error";throw new Error(`RVF witness verification failed: ${m}`)}let l=a.extractKernel();if(!l||!l.image)throw new Error("No brain data found in RVF file (missing kernel segment)");let i;try{i=JSON.parse(l.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(i.tables)for(let y of Object.values(i.tables))m+=y?.length??0;else m=(i.patterns?.length??0)+(i.qValues?.length??0)+(i.dreamInsights?.length??0)+(i.witnessChain?.length??0);return{imported:m,skipped:0,conflicts:0,embeddingsRestored:0}}W(e);let d=0,c=0,u=0,p=0,f={};if(i.tables)Object.assign(f,i.tables);else for(let[m,y]of Object.entries(rn)){let g=i[m];Array.isArray(g)&&(f[y]=g)}if(e.transaction(()=>{for(let m of R){let y=f[m.tableName];if(!y||!Array.isArray(y))continue;let g=Y[m.tableName];if(g&&g.length>0){y=y.map(v=>P(v,g));for(let v of y)for(let b of g)v[b]instanceof Buffer&&p++}for(let v of y){let b;if(m.dedupColumns&&m.dedupColumns.length>0)b=U(e,m.tableName,v,m.dedupColumns);else{let I=A[m.tableName]||"id",N=F[m.tableName],M=L[m.tableName];b=J(e,m.tableName,v,I,r.mergeStrategy,N,M)}d+=b.imported,c+=b.skipped,u+=b.conflicts}}})(),u>0)try{a.compact()}catch{}return{imported:d,skipped:c,conflicts:u,embeddingsRestored:p}}finally{a.close()}}function K(e){if(!k())throw new Error("@ruvector/rvf-node is not available.");let n=te(e);if(!H(n))throw new Error(`RVF file not found: ${n}`);let r=ue(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"),s;try{s=JSON.parse(a)}catch(w){throw new Error(`Failed to parse brain kernel data as JSON: ${w instanceof Error?w.message:w}`)}let l=r.status(),i=nn(n).size,d=s.tables,c=d?d.qe_patterns?.length??0:s.patterns?.length??0,u=d?d.rl_q_values?.length??0:s.qValues?.length??0,p=d?d.dream_insights?.length??0:s.dreamInsights?.length??0,f=d?d.witness_chain?.length??0:s.witnessChain?.length??0;return{version:"3.0",format:"rvf",exportedAt:s.exportedAt??"unknown",sourceDb:s.sourceDb??"unknown",stats:{patternCount:c,embeddingCount:l.totalVectors,qValueCount:u,dreamInsightCount:p,witnessChainLength:f},domains:s.domains??[],checksum:C(a),rvfStatus:{totalVectors:l.totalVectors,totalSegments:l.totalSegments,fileSizeBytes:i}}}finally{r.close()}}function re(){return k()}Q();import{existsSync as ae,readFileSync as on,statSync as an}from"fs";import{join as oe,resolve as Ee}from"path";function Oe(e,n,r={}){let t=Ee(e),a=Ee(n),s=Be(t),l=Be(a),i=_e(t,s),d=_e(a,l),c=s==="jsonl"&&l==="jsonl",u=dn({pathA:t,pathB:a,manifestA:i,manifestB:d,recordLevel:c,tableFilter:r.tableFilter,maxIdsPerBucket:r.maxIdsPerBucket??500}),p=new Set(i.domains),f=new Set(d.domains),w=i.domains.filter(b=>!f.has(b)),m=d.domains.filter(b=>!p.has(b)),y=i.checksum===d.checksum,g=i.version===d.version,v=y&&g&&u.every(b=>b.delta===0&&(b.added?.length??0)===0&&(b.removed?.length??0)===0&&(b.changed?.length??0)===0);return{pathA:t,pathB:a,formatA:s,formatB:l,manifestA:i,manifestB:d,checksumMatch:y,versionMatch:g,identical:v,recordLevel:c,tableDiffs:u,domainsOnlyInA:w,domainsOnlyInB:m}}function Be(e){if(!ae(e))throw new Error(`Path not found: ${e}`);if(e.endsWith(".rvf"))return"rvf";if(an(e).isFile())throw new Error(`Unsupported brain export: ${e} (expected a .rvf file or a JSONL directory)`);return"jsonl"}function _e(e,n){return n==="rvf"?ln(e):sn(e)}function sn(e){let n=oe(e,"manifest.json");if(!ae(n))throw new Error(`Manifest not found at ${n}`);let r=x(on(n,"utf-8"));return Ae(r,"jsonl")}function ln(e){let n=K(e);return Ae(n,"rvf")}function Ae(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 dn(e){let n=e.tableFilter?R.filter(t=>t.tableName===e.tableFilter):R;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,s=e.manifestB.tableRecordCounts[t.tableName]??0,l=s-a,i,d,c;if(e.recordLevel&&cn(t)){let u=fn(oe(e.pathA,t.fileName),oe(e.pathB,t.fileName),t,e.maxIdsPerBucket);i=u.added,d=u.removed,c=u.changed}r.push({tableName:t.tableName,countA:a,countB:s,delta:l,...i!==void 0?{added:i}:{},...d!==void 0?{removed:d}:{},...c!==void 0?{changed:c}:{}})}return r}function cn(e){return!0}function fn(e,n,r,t){let a=Ie(e,r),s=Ie(n,r),l=[],i=[],d=[];for(let[c,u]of a){let p=s.get(c);if(p===void 0)i.length<t&&i.push(c);else if(p!==u){if(r.dedupColumns&&r.dedupColumns.length>0)continue;d.length<t&&d.push(c)}}for(let c of s.keys())a.has(c)||l.length<t&&l.push(c);return l.sort(),i.sort(),d.sort(),{added:l,removed:i,changed:d}}function Ie(e,n){let r=new Map;if(!ae(e))return r;let t=_(e,x);for(let a of t){let s=mn(a,n);if(s===void 0)continue;let l=un(a);r.set(s,pn(l))}return r}function mn(e,n){if(n.dedupColumns&&n.dedupColumns.length>0){let a=[];for(let s of n.dedupColumns){let l=e[s];if(l==null)return;a.push(String(l))}return a.join("")}let r=A[n.tableName]??"id",t=e[r];if(t!=null)return String(t)}function un(e){let n=Object.keys(e).sort(),r={};for(let t of n)r[t]=e[t];return JSON.stringify(r)}function pn(e){return C(e)}Q();import{existsSync as ie,statSync as gn}from"fs";import{join as Ne,resolve as yn}from"path";var bn=20,hn="qe_patterns";function De(e,n={}){let r=yn(e);Rn(r);let t=n.table??hn,a=R.find(g=>g.tableName===t);if(!a)throw new Error(`Unknown table: ${t}`);let s=Ne(r,a.fileName);if(!ie(s))throw new Error(`Table file not found: ${a.fileName} (expected in ${r}). Was this export generated with --format jsonl?`);let l=_(s,x),i=a.domainColumn,d=Math.max(1,n.limit??bn),c=n.query?n.query.toLowerCase():void 0,u=n.domains&&n.domains.length>0?new Set(n.domains):void 0,p=n.since,f=n.until,w=n.patternType,m=0,y=[];for(let g of l)wn(g,{domainColumn:i,domains:u,patternType:w,since:p,until:f,queryLower:c})&&(m++,y.length<d&&y.push(vn(g,a.tableName,i)));return{table:t,inputPath:r,totalScanned:l.length,totalMatched:m,limit:d,hits:y,truncated:m>d}}function wn(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=ke(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 ke(e){for(let n of["updated_at","created_at","timestamp"]){let r=e[n];if(typeof r=="string"&&r.length>0)return r}}function vn(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:ke(e)};return{id:t,display:a,row:e}}function Rn(e){if(!ie(e))throw new Error(`Path not found: ${e}`);if(gn(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=Ne(e,"manifest.json");if(!ie(r))throw new Error(`Manifest not found at ${r}. Is this a brain export directory?`)}function Te(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.12.2");process.exit(0)}
|
|
2
|
+
import{a as A,b as L,c as F,d as R,e as Y,f as T,g as P,h as C,i as j,j as X,k as V,l as ye,m as $,n as Z,o as be,p as _,q as J,r as U,s as W}from"./chunk-R6LDR3IO.js";import{h as ge}from"./chunk-ADZTWGEB.js";import{b as pe}from"./chunk-2L7K2J2T.js";import"./chunk-APVXTHTA.js";import"./chunk-AL5QT6OX.js";import"./chunk-YY4KXDI6.js";import"./chunk-R5HC6JVJ.js";import"./chunk-ACDZ2CRV.js";import{b as x,d as Q}from"./chunk-CKFZOPZN.js";import{a as fe,b as me,c as ue,d as k,f as ze}from"./chunk-TRHUH24V.js";import"./chunk-P65S7AZA.js";import"./chunk-X47GHZY3.js";import{a as O,b as We}from"./chunk-WRMUQVKY.js";import"./chunk-UF3YOGHV.js";import"./chunk-V2QYW5KW.js";import"./chunk-4KEOBDEI.js";import"./chunk-C7VNQ4PY.js";import"./chunk-QYST2TZW.js";import"./chunk-YZ44FUVJ.js";import"./chunk-YDZIPP3Y.js";import"./chunk-CTFW7CMI.js";import"./chunk-HU6ETNA7.js";import B from"path";import o from"chalk";We();Q();import{existsSync as z,mkdirSync as He,writeFileSync as Ke,readFileSync as ee}from"fs";import{join as E,resolve as ne}from"path";var Ge={rl_q_values:"includeQValues",dream_insights:"includeDreamInsights",dream_cycles:"includeDreamInsights",witness_chain:"includeWitnessChain",vectors:"includeVectors"};function Qe(e,n){let r=Ge[e.tableName];return!(r&&n[r]===!1)}var Ye=1e4;function Xe(e,n,r,t){if(!Qe(n,r))return Z(E(t,n.fileName),[]),{count:0,rows:[]};let[a,s]=n.domainColumn?$(r.domains,n.domainColumn):[void 0,[]];if(X(e,n.tableName,a,s)>=Ye){let d=n.blobColumns,c=d&&d.length>0?p=>T(p,d):void 0;return{count:be(E(t,n.fileName),ye(e,n.tableName,a,s),c)}}let i=V(e,n.tableName,a,s);return n.blobColumns&&n.blobColumns.length>0&&(i=i.map(d=>T(d,n.blobColumns))),Z(E(t,n.fileName),i),{count:i.length,rows:i}}function he(e){let n=[];for(let r of R){let t=E(e,r.fileName);z(t)?n.push(C(ee(t,"utf-8"))):n.push(C(""))}return C(n.join(":"))}function we(e,n,r="memory.db"){let t=ne(n.outputPath);z(t)||He(t,{recursive:!0});let a=0,s={},l=new Set;for(let u of R){let p=Xe(e,u,n,t);if(s[u.tableName]=p.count,a+=p.count,u.tableName==="qe_patterns"){if(p.rows)for(let f of p.rows)f.qe_domain&&l.add(f.qe_domain);else if(p.count>0){let[f,w]=u.domainColumn?$(n.domains,u.domainColumn):[void 0,[]],y=`SELECT DISTINCT qe_domain FROM qe_patterns ${f?`WHERE ${f} AND qe_domain IS NOT NULL`:"WHERE qe_domain IS NOT NULL"}`;try{let g=e.prepare(y).all(...w||[]);for(let v of g)l.add(v.qe_domain)}catch{}}}}let i=n.includeVectors!==!1?X(e,"vectors"):0,d=he(t),c={version:"3.0",exportedAt:new Date().toISOString(),sourceDb:r,stats:{patternCount:s.qe_patterns||0,vectorCount:i,qValueCount:s.rl_q_values||0,dreamInsightCount:s.dream_insights||0,witnessChainLength:s.witness_chain||0,totalRecords:a},domains:[...l].sort(),checksum:d,tableRecordCounts:s};return Ke(E(t,"manifest.json"),JSON.stringify(c,null,2),"utf-8"),c}var Ze=new Set(["qe_patterns","rl_q_values","dream_insights","witness_chain"]);function en(e){return e==="1.0"?R.filter(n=>Ze.has(n.tableName)):e==="3.0"?R:(console.warn(`[brain-import] Unknown manifest version '${e}'. Attempting full import \u2014 some files may be missing.`),R)}function ve(e,n,r){let t=ne(n),a=E(t,"manifest.json");if(!z(a))throw new Error(`Manifest not found at ${a}`);let s=x(ee(a,"utf-8")),l=he(t);if(l!==s.checksum)throw new Error(`Checksum mismatch: expected ${s.checksum}, got ${l}. The export may have been tampered with or corrupted.`);let i=en(s.version);if(r.dryRun){let f=0;for(let w of i){let m=_(E(t,w.fileName),x);f+=m.length}return{imported:f,skipped:0,conflicts:0}}W(e);let d=0,c=0,u=0;return e.transaction(()=>{for(let f of i){let w=E(t,f.fileName),m=_(w,x);f.blobColumns&&f.blobColumns.length>0&&(m=m.map(y=>P(y,f.blobColumns)));for(let y of m){let g;if(f.dedupColumns&&f.dedupColumns.length>0)g=U(e,f.tableName,y,f.dedupColumns);else{let v=A[f.tableName]||"id",b=F[f.tableName],I=L[f.tableName];g=J(e,f.tableName,y,v,r.mergeStrategy,b,I)}d+=g.imported,c+=g.skipped,u+=g.conflicts}}})(),{imported:d,skipped:c,conflicts:u}}function Re(e){let n=ne(e),r=E(n,"manifest.json");if(!z(r))throw new Error(`Manifest not found at ${r}`);return x(ee(r,"utf-8"))}ze();import{existsSync as H,statSync as nn,unlinkSync as Se,writeFileSync as tn}from"fs";import{resolve as te}from"path";function xe(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=te(n.outputPath),a=n.dimension??384;H(t)&&Se(t);let s=`${t}.idmap.json`;H(s)&&Se(s);let l=fe(t,a);try{let i={},d=new Set,c=0;for(let S of R){let[h,ce]=S.domainColumn?$(n.domains,S.domainColumn):[void 0,[]],D=V(e,S.tableName,h,ce);if(S.tableName==="qe_patterns")for(let q of D)q.qe_domain&&d.add(q.qe_domain);let G=Y[S.tableName];G&&G.length>0&&(D=D.map(q=>T(q,G))),i[S.tableName]=D,c+=D.length}let u=0,p=[];if(j(e,"qe_pattern_embeddings")){let S=e.prepare("SELECT pattern_id, embedding, dimension FROM qe_pattern_embeddings").all();for(let h of S)h.embedding&&h.dimension===a&&p.push({id:`pe:${h.pattern_id}`,vector:new Float32Array(h.embedding.buffer,h.embedding.byteOffset,a),metadata:{tableName:"qe_pattern_embeddings"}})}if(j(e,"captured_experiences")){let S=e.prepare("SELECT id, embedding, embedding_dimension, domain, quality FROM captured_experiences WHERE embedding IS NOT NULL").all();for(let h of S)h.embedding_dimension===a&&p.push({id:`exp:${h.id}`,vector:new Float32Array(h.embedding.buffer,h.embedding.byteOffset,a),metadata:{tableName:"captured_experiences",domain:h.domain,confidence:h.quality}})}if(j(e,"sona_patterns")){let S=e.prepare("SELECT id, state_embedding, domain, confidence FROM sona_patterns WHERE state_embedding IS NOT NULL").all();for(let h of S)h.state_embedding.byteLength/4===a&&p.push({id:`sona:${h.id}`,vector:new Float32Array(h.state_embedding.buffer,h.state_embedding.byteOffset,a),metadata:{tableName:"sona_patterns",domain:h.domain,confidence:h.confidence}})}p.length>0&&(u=l.ingest(p).accepted);let f={version:"3.0",format:"rvf",exportedAt:new Date().toISOString(),sourceDb:r,domains:[...d].sort(),tables:i},w=JSON.stringify(f),m=C(w),y=Buffer.from(w);l.embedKernel(y);let g=n.sign?l.sign(y)??void 0:void 0,v=g?n.signerKeyId??"default":void 0,b=l.fileId(),I=b?{fileId:b,parentId:l.parentId(),lineageDepth:l.lineageDepth()}:void 0,N=l.status(),M={version:"3.0",format:"rvf",exportedAt:f.exportedAt,sourceDb:r,stats:{patternCount:(i.qe_patterns||[]).length,embeddingCount:u,qValueCount:(i.rl_q_values||[]).length,dreamInsightCount:(i.dream_insights||[]).length,witnessChainLength:(i.witness_chain||[]).length,totalRecords:c},domains:f.domains,checksum:m,rvfStatus:{totalVectors:N.totalVectors,totalSegments:N.totalSegments,fileSizeBytes:N.fileSizeBytes},...g?{signature:g,signerKeyId:v}:{},...I?{lineage:I}:{}};if(g)try{l.freeze()}catch{}let Ue=`${t}.manifest.json`;return tn(Ue,JSON.stringify(M,null,2),"utf-8"),M}finally{l.close()}}var rn={patterns:"qe_patterns",qValues:"rl_q_values",dreamInsights:"dream_insights",witnessChain:"witness_chain"};function Ce(e,n,r){if(!k())throw new Error("@ruvector/rvf-node is not available. Install it or use JSONL format.");let t=te(n);if(!H(t))throw new Error(`RVF file not found: ${t}`);let a=me(t);try{let s=a.verifyWitness();if(!s.valid&&(s.totalEntries>0||s.errors.length>0)){let m=s.errors.length>0?s.errors.join("; "):"unknown integrity error";throw new Error(`RVF witness verification failed: ${m}`)}let l=a.extractKernel();if(!l||!l.image)throw new Error("No brain data found in RVF file (missing kernel segment)");let i;try{i=JSON.parse(l.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(i.tables)for(let y of Object.values(i.tables))m+=y?.length??0;else m=(i.patterns?.length??0)+(i.qValues?.length??0)+(i.dreamInsights?.length??0)+(i.witnessChain?.length??0);return{imported:m,skipped:0,conflicts:0,embeddingsRestored:0}}W(e);let d=0,c=0,u=0,p=0,f={};if(i.tables)Object.assign(f,i.tables);else for(let[m,y]of Object.entries(rn)){let g=i[m];Array.isArray(g)&&(f[y]=g)}if(e.transaction(()=>{for(let m of R){let y=f[m.tableName];if(!y||!Array.isArray(y))continue;let g=Y[m.tableName];if(g&&g.length>0){y=y.map(v=>P(v,g));for(let v of y)for(let b of g)v[b]instanceof Buffer&&p++}for(let v of y){let b;if(m.dedupColumns&&m.dedupColumns.length>0)b=U(e,m.tableName,v,m.dedupColumns);else{let I=A[m.tableName]||"id",N=F[m.tableName],M=L[m.tableName];b=J(e,m.tableName,v,I,r.mergeStrategy,N,M)}d+=b.imported,c+=b.skipped,u+=b.conflicts}}})(),u>0)try{a.compact()}catch{}return{imported:d,skipped:c,conflicts:u,embeddingsRestored:p}}finally{a.close()}}function K(e){if(!k())throw new Error("@ruvector/rvf-node is not available.");let n=te(e);if(!H(n))throw new Error(`RVF file not found: ${n}`);let r=ue(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"),s;try{s=JSON.parse(a)}catch(w){throw new Error(`Failed to parse brain kernel data as JSON: ${w instanceof Error?w.message:w}`)}let l=r.status(),i=nn(n).size,d=s.tables,c=d?d.qe_patterns?.length??0:s.patterns?.length??0,u=d?d.rl_q_values?.length??0:s.qValues?.length??0,p=d?d.dream_insights?.length??0:s.dreamInsights?.length??0,f=d?d.witness_chain?.length??0:s.witnessChain?.length??0;return{version:"3.0",format:"rvf",exportedAt:s.exportedAt??"unknown",sourceDb:s.sourceDb??"unknown",stats:{patternCount:c,embeddingCount:l.totalVectors,qValueCount:u,dreamInsightCount:p,witnessChainLength:f},domains:s.domains??[],checksum:C(a),rvfStatus:{totalVectors:l.totalVectors,totalSegments:l.totalSegments,fileSizeBytes:i}}}finally{r.close()}}function re(){return k()}Q();import{existsSync as ae,readFileSync as on,statSync as an}from"fs";import{join as oe,resolve as Ee}from"path";function Oe(e,n,r={}){let t=Ee(e),a=Ee(n),s=Be(t),l=Be(a),i=_e(t,s),d=_e(a,l),c=s==="jsonl"&&l==="jsonl",u=dn({pathA:t,pathB:a,manifestA:i,manifestB:d,recordLevel:c,tableFilter:r.tableFilter,maxIdsPerBucket:r.maxIdsPerBucket??500}),p=new Set(i.domains),f=new Set(d.domains),w=i.domains.filter(b=>!f.has(b)),m=d.domains.filter(b=>!p.has(b)),y=i.checksum===d.checksum,g=i.version===d.version,v=y&&g&&u.every(b=>b.delta===0&&(b.added?.length??0)===0&&(b.removed?.length??0)===0&&(b.changed?.length??0)===0);return{pathA:t,pathB:a,formatA:s,formatB:l,manifestA:i,manifestB:d,checksumMatch:y,versionMatch:g,identical:v,recordLevel:c,tableDiffs:u,domainsOnlyInA:w,domainsOnlyInB:m}}function Be(e){if(!ae(e))throw new Error(`Path not found: ${e}`);if(e.endsWith(".rvf"))return"rvf";if(an(e).isFile())throw new Error(`Unsupported brain export: ${e} (expected a .rvf file or a JSONL directory)`);return"jsonl"}function _e(e,n){return n==="rvf"?ln(e):sn(e)}function sn(e){let n=oe(e,"manifest.json");if(!ae(n))throw new Error(`Manifest not found at ${n}`);let r=x(on(n,"utf-8"));return Ae(r,"jsonl")}function ln(e){let n=K(e);return Ae(n,"rvf")}function Ae(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 dn(e){let n=e.tableFilter?R.filter(t=>t.tableName===e.tableFilter):R;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,s=e.manifestB.tableRecordCounts[t.tableName]??0,l=s-a,i,d,c;if(e.recordLevel&&cn(t)){let u=fn(oe(e.pathA,t.fileName),oe(e.pathB,t.fileName),t,e.maxIdsPerBucket);i=u.added,d=u.removed,c=u.changed}r.push({tableName:t.tableName,countA:a,countB:s,delta:l,...i!==void 0?{added:i}:{},...d!==void 0?{removed:d}:{},...c!==void 0?{changed:c}:{}})}return r}function cn(e){return!0}function fn(e,n,r,t){let a=Ie(e,r),s=Ie(n,r),l=[],i=[],d=[];for(let[c,u]of a){let p=s.get(c);if(p===void 0)i.length<t&&i.push(c);else if(p!==u){if(r.dedupColumns&&r.dedupColumns.length>0)continue;d.length<t&&d.push(c)}}for(let c of s.keys())a.has(c)||l.length<t&&l.push(c);return l.sort(),i.sort(),d.sort(),{added:l,removed:i,changed:d}}function Ie(e,n){let r=new Map;if(!ae(e))return r;let t=_(e,x);for(let a of t){let s=mn(a,n);if(s===void 0)continue;let l=un(a);r.set(s,pn(l))}return r}function mn(e,n){if(n.dedupColumns&&n.dedupColumns.length>0){let a=[];for(let s of n.dedupColumns){let l=e[s];if(l==null)return;a.push(String(l))}return a.join("")}let r=A[n.tableName]??"id",t=e[r];if(t!=null)return String(t)}function un(e){let n=Object.keys(e).sort(),r={};for(let t of n)r[t]=e[t];return JSON.stringify(r)}function pn(e){return C(e)}Q();import{existsSync as ie,statSync as gn}from"fs";import{join as Ne,resolve as yn}from"path";var bn=20,hn="qe_patterns";function De(e,n={}){let r=yn(e);Rn(r);let t=n.table??hn,a=R.find(g=>g.tableName===t);if(!a)throw new Error(`Unknown table: ${t}`);let s=Ne(r,a.fileName);if(!ie(s))throw new Error(`Table file not found: ${a.fileName} (expected in ${r}). Was this export generated with --format jsonl?`);let l=_(s,x),i=a.domainColumn,d=Math.max(1,n.limit??bn),c=n.query?n.query.toLowerCase():void 0,u=n.domains&&n.domains.length>0?new Set(n.domains):void 0,p=n.since,f=n.until,w=n.patternType,m=0,y=[];for(let g of l)wn(g,{domainColumn:i,domains:u,patternType:w,since:p,until:f,queryLower:c})&&(m++,y.length<d&&y.push(vn(g,a.tableName,i)));return{table:t,inputPath:r,totalScanned:l.length,totalMatched:m,limit:d,hits:y,truncated:m>d}}function wn(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=ke(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 ke(e){for(let n of["updated_at","created_at","timestamp"]){let r=e[n];if(typeof r=="string"&&r.length>0)return r}}function vn(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:ke(e)};return{id:t,display:a,row:e}}function Rn(e){if(!ie(e))throw new Error(`Path not found: ${e}`);if(gn(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=Ne(e,"manifest.json");if(!ie(r))throw new Error(`Manifest not found at ${r}. Is this a brain export directory?`)}function Te(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 se(e){if(e)return e;let{findProjectRoot:n}=await import("./unified-memory-
|
|
77
|
+
`}};async function se(e){if(e)return e;let{findProjectRoot:n}=await import("./unified-memory-PXOQ4N53.js");return B.join(n(),".agentic-qe","memory.db")}function Ve(e){return e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/(1024*1024)).toFixed(1)} MB`}function xn(e){let n=Number.parseInt(e,10);return!Number.isFinite(n)||n<1?20:n}function Cn(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 s=a.trim();s&&r.push(s)}return r.length>0?r:void 0}function En(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)} `+Je(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.12.
|
|
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.12.2");process.exit(0)}
|
|
2
|
+
import"./chunk-HU6ETNA7.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.12.
|
|
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.12.2");process.exit(0)}
|
|
2
|
+
import{a as p}from"./chunk-TMQ3S7HR.js";import"./chunk-HU6ETNA7.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.12.2");process.exit(0)}
|
|
2
|
+
import{a}from"./chunk-B7DI76SY.js";import"./chunk-LIAW5FD7.js";import"./chunk-ZHWXI4SK.js";import"./chunk-APVXTHTA.js";import"./chunk-AL5QT6OX.js";import"./chunk-YY4KXDI6.js";import"./chunk-R5HC6JVJ.js";import"./chunk-ACDZ2CRV.js";import"./chunk-CKFZOPZN.js";import"./chunk-P65S7AZA.js";import"./chunk-X47GHZY3.js";import"./chunk-ZBYMF2QJ.js";import"./chunk-ERQL3D2O.js";import"./chunk-WRMUQVKY.js";import"./chunk-UF3YOGHV.js";import"./chunk-V2QYW5KW.js";import"./chunk-4KEOBDEI.js";import"./chunk-C7VNQ4PY.js";import"./chunk-QYST2TZW.js";import"./chunk-YZ44FUVJ.js";import"./chunk-YDZIPP3Y.js";import"./chunk-CTFW7CMI.js";import"./chunk-HU6ETNA7.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.12.
|
|
2
|
-
import{b as k,c 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.12.2");process.exit(0)}
|
|
2
|
+
import{b as k,c as p}from"./chunk-ACDZ2CRV.js";p();import{generateKeyPairSync as g,createPrivateKey as v,createPublicKey as I,sign as m,verify as D,createHash as b}from"crypto";import{existsSync as d,mkdirSync as P,writeFileSync as y,readFileSync as o,readdirSync as w}from"fs";import{join as n}from"path";var f=class{keys=new Map;activeKeyId=null;keyDir;constructor(e={}){this.keyDir=e.keyDir??null,this.keyDir&&this.loadFromDisk(),e.autoGenerate!==!1&&this.keys.size===0&&this.generateKeyPair()}generateKeyPair(){let{publicKey:e,privateKey:i}=g("ed25519"),r=e.export({type:"spki",format:"der"}),t=b("sha256").update(r).digest("hex").slice(0,16),s={keyId:t,publicKey:e,privateKey:i,createdAt:new Date().toISOString(),retired:!1};return this.keys.set(t,s),this.activeKeyId=t,this.keyDir&&(this.saveKeyPairToDisk(s),this.saveActiveKeyId()),{keyId:t,publicKey:r}}sign(e,i){let r=i??this.activeKeyId;if(!r)throw new Error("No active key available for signing");let t=this.keys.get(r);if(!t)throw new Error(`Key not found: ${r}`);return{signature:m(null,e,t.privateKey),keyId:r}}verify(e,i,r){let t=this.keys.get(r);if(!t)return!1;try{return D(null,e,t.publicKey,i)}catch{return!1}}rotateKey(){let e=this.activeKeyId;if(!e)throw new Error("No active key to rotate");let i=this.keys.get(e);i&&(i.retired=!0,this.keyDir&&this.saveKeyPairToDisk(i));let{keyId:r}=this.generateKeyPair();return{oldKeyId:e,newKeyId:r}}getActiveKeyId(){if(!this.activeKeyId)throw new Error("No active key");return this.activeKeyId}hasKey(e){return this.keys.has(e)}getKeyCount(){return this.keys.size}saveKeyPairToDisk(e){if(!this.keyDir)return;d(this.keyDir)||P(this.keyDir,{recursive:!0});let i=n(this.keyDir,e.keyId);y(`${i}.pub.pem`,e.publicKey.export({type:"spki",format:"pem"}),"utf-8"),y(`${i}.key.pem`,e.privateKey.export({type:"pkcs8",format:"pem"}),{encoding:"utf-8",mode:384}),y(`${i}.meta.json`,JSON.stringify({keyId:e.keyId,createdAt:e.createdAt,retired:e.retired}),"utf-8")}saveActiveKeyId(){!this.keyDir||!this.activeKeyId||y(n(this.keyDir,"active-key-id"),this.activeKeyId,"utf-8")}loadFromDisk(){if(!this.keyDir||!d(this.keyDir))return;let i=w(this.keyDir).filter(t=>t.endsWith(".meta.json"));for(let t of i)try{let s=JSON.parse(o(n(this.keyDir,t),"utf-8")),a=n(this.keyDir,s.keyId),l=o(`${a}.pub.pem`,"utf-8"),K=o(`${a}.key.pem`,"utf-8"),h={keyId:s.keyId,publicKey:I(l),privateKey:v(K),createdAt:s.createdAt,retired:s.retired};this.keys.set(s.keyId,h)}catch{}let r=n(this.keyDir,"active-key-id");if(d(r)){let t=o(r,"utf-8").trim();this.keys.has(t)&&(this.activeKeyId=t)}if(!this.activeKeyId){let t=[...this.keys.values()].filter(s=>!s.retired).sort((s,a)=>a.createdAt.localeCompare(s.createdAt));t.length>0&&(this.activeKeyId=t[0].keyId)}}},c=null;function F(){if(!c){let u=n(k(),".agentic-qe","witness-keys");c=new f({keyDir:u})}return c}function O(){c=null}export{f as a,F as b,O 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.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.12.2");process.exit(0)}
|
|
2
2
|
var h=class{executionHistory=[];learnedDurations=new Map;runCount=0;lastPrunedCount=0;learningRate;maxHistorySize;constructor(t){this.learningRate=t?.learningRate??.3,this.maxHistorySize=t?.maxHistorySize??1e4}buildTestDAG(t){let e=new Map,n=new Map;for(let i of t){let s=this.applyLearnedDuration(i);e.set(s.id,s),n.set(s.id,[])}for(let i of t)for(let s of i.dependencies){if(!e.has(s))throw new Error(`Test '${i.id}' depends on '${s}' which does not exist in the test set`);n.get(s).push(i.id)}let o=this.computeCriticalPath(e,n),a=this.computeParallelGroups(e,n);return{nodes:e,edges:n,criticalPath:o,parallelGroups:a}}findCriticalPath(t){return t.criticalPath.map(e=>t.nodes.get(e)).filter(e=>e!==void 0)}findParallelBranches(t){return t.parallelGroups.map(e=>e.map(n=>t.nodes.get(n)).filter(n=>n!==void 0))}pruneByMinCut(t,e){let n=this.sumDurations(t.nodes);if(n<=e)return this.lastPrunedCount=0,t;let o=this.computeAttentionScores(t),a=Array.from(o.entries()).sort((r,l)=>r[1]-l[1]),i=new Set(t.criticalPath),s=new Set,c=n;for(let[r]of a){if(c<=e)break;if(i.has(r)||(t.edges.get(r)??[]).some(p=>!s.has(p)))continue;let d=t.nodes.get(r);d&&(s.add(r),c-=d.estimatedDuration)}this.lastPrunedCount=s.size;let u=Array.from(t.nodes.values()).filter(r=>!s.has(r.id));return this.buildTestDAG(u)}schedule(t){if(t.length===0)return{phases:[],totalEstimatedTime:0,criticalPathTime:0,parallelism:0};let e=this.buildTestDAG(t),o=this.findParallelBranches(e).map(u=>({tests:u,canRunInParallel:u.length>1})),a=this.computeCriticalPathDuration(e),i=this.sumDurations(e.nodes),s=o.reduce((u,r)=>r.canRunInParallel?u+Math.max(...r.tests.map(l=>l.estimatedDuration)):u+r.tests.reduce((l,d)=>l+d.estimatedDuration,0),0),c=s>0?i/s:1;return this.runCount++,{phases:o,totalEstimatedTime:s,criticalPathTime:a,parallelism:c}}getOptimizationStats(){return{totalTests:0,criticalPathLength:0,parallelGroupCount:0,prunedTests:this.lastPrunedCount,estimatedTimeSaved:0,historicalRuns:this.runCount,usingNativeBackend:!1}}recordExecution(t,e,n){this.executionHistory.push({testId:t,actualDuration:e,result:n,timestamp:Date.now()}),this.executionHistory.length>this.maxHistorySize&&(this.executionHistory=this.executionHistory.slice(-this.maxHistorySize));let o=this.learnedDurations.get(t);o!==void 0?this.learnedDurations.set(t,o*(1-this.learningRate)+e*this.learningRate):this.learnedDurations.set(t,e)}getLearnedDuration(t){return this.learnedDurations.get(t)}isNativeBackendAvailable(){return!1}computeCriticalPath(t,e){let n=this.topologicalSort(t,e);if(n.length===0)return[];let o=new Map,a=new Map;for(let r of n)o.set(r,t.get(r).estimatedDuration),a.set(r,null);for(let r of n){let l=o.get(r);for(let d of e.get(r)??[]){let p=t.get(d);if(!p)continue;let g=l+p.estimatedDuration;g>(o.get(d)??0)&&(o.set(d,g),a.set(d,r))}}let i=0,s=null;for(let[r,l]of o)l>i&&(i=l,s=r);if(!s)return[];let c=[],u=s;for(;u!==null;)c.unshift(u),u=a.get(u)??null;return c}computeCriticalPathDuration(t){return t.criticalPath.reduce((e,n)=>e+(t.nodes.get(n)?.estimatedDuration??0),0)}computeParallelGroups(t,e){let n=this.topologicalSort(t,e);if(n.length===0)return[];let o=new Map;for(let[u,r]of t)o.set(u,new Set(r.dependencies));let a=new Map;for(let u of n){let r=-1;for(let l of o.get(u)??new Set){let d=a.get(l);d!==void 0&&d>r&&(r=d)}a.set(u,r+1)}let i=new Map;for(let u of n){let r=a.get(u)??0;i.has(r)||i.set(r,[]),i.get(r).push(u)}let s=Math.max(...Array.from(i.keys()),-1),c=[];for(let u=0;u<=s;u++){let r=i.get(u);r&&r.length>0&&c.push(r)}return c}computeAttentionScores(t){let e=new Map,n=this.countTransitiveDependents(t);for(let[o,a]of t.nodes){let i=a.lastResult==="fail"?2:1,s=n.get(o)??0;e.set(o,a.priority*i*(1+s))}return e}countTransitiveDependents(t){let e=new Map,n=new Map,o=a=>{if(n.has(a))return n.get(a);let i=new Set;for(let s of t.edges.get(a)??[]){i.add(s);for(let c of o(s))i.add(c)}return n.set(a,i),i};for(let a of t.nodes.keys())e.set(a,o(a).size);return e}topologicalSort(t,e){let n=new Map;for(let i of t.keys())n.set(i,0);for(let i of e.values())for(let s of i)n.has(s)&&n.set(s,(n.get(s)??0)+1);let o=[];for(let[i,s]of n)s===0&&o.push(i);let a=[];for(;o.length>0;){let i=o.shift();a.push(i);for(let s of e.get(i)??[]){let c=(n.get(s)??0)-1;n.set(s,c),c===0&&o.push(s)}}if(a.length!==t.size)throw new Error(`Cycle detected in test DAG: sorted ${a.length} of ${t.size} nodes`);return a}applyLearnedDuration(t){let e=this.learnedDurations.get(t.id);return e!==void 0?{...t,estimatedDuration:Math.round(e)}:t}sumDurations(t){let e=0;for(let n of t.values())e+=n.estimatedDuration;return e}};function m(f){return new h(f)}export{h as a,m as b};
|