agentic-qe 3.9.31 → 3.9.32
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 +88 -0
- package/assets/skills/skills-manifest.json +1 -1
- package/dist/cli/bundle.js +5 -5
- package/dist/cli/chunks/adapter-CDQOF5TF.js +2 -0
- package/dist/cli/chunks/{agent-booster-wasm-AQXZYWZY.js → agent-booster-wasm-WKS3E6KT.js} +2 -2
- package/dist/cli/chunks/{agent-handler-7N4ZPXCY.js → agent-handler-LYCAWE7S.js} +2 -2
- package/dist/cli/chunks/{agent-memory-branch-FLKF2JVX.js → agent-memory-branch-XF7IOMRK.js} +2 -2
- package/dist/cli/chunks/aqe-learning-engine-RZK22CJB.js +2 -0
- package/dist/cli/chunks/{audit-B4V4IKTA.js → audit-D2AY3HFP.js} +2 -2
- package/dist/cli/chunks/base-UGH6TVO4.js +2 -0
- package/dist/cli/chunks/{hnswlib-node-WENGW3YX.js → better-sqlite3-K2VWFDKT.js} +2 -2
- package/dist/cli/chunks/{brain-handler-OOXJ2KYY.js → brain-handler-NNW4TAO2.js} +3 -3
- package/dist/cli/chunks/{branch-enumerator-LFKFW3A4.js → branch-enumerator-OM5HNZKV.js} +2 -2
- package/dist/cli/chunks/{browser-F72IES2I.js → browser-Y2FU2NV4.js} +2 -2
- package/dist/cli/chunks/browser-workflow-SGOL3FCJ.js +2 -0
- package/dist/cli/chunks/{chunk-35SFAIXE.js → chunk-2L5GAOST.js} +2 -2
- package/dist/cli/chunks/{chunk-MAJ5QFVY.js → chunk-2XC4XVCI.js} +1 -1
- package/dist/cli/chunks/{chunk-QEJBJST4.js → chunk-2Z2IQBIJ.js} +1 -1
- package/dist/cli/chunks/{chunk-AKFRM4IO.js → chunk-33PGBYTC.js} +2 -2
- package/dist/cli/chunks/{chunk-W7XVEWKQ.js → chunk-3MHWBCSC.js} +1 -1
- package/dist/cli/chunks/{chunk-NBKM7NKX.js → chunk-3R4CMTWF.js} +2 -2
- package/dist/cli/chunks/{chunk-4N736EES.js → chunk-45N22VAB.js} +2 -2
- package/dist/cli/chunks/{chunk-3VKB4HVT.js → chunk-4H4PEZUX.js} +2 -2
- package/dist/cli/chunks/{chunk-CFLA2GBS.js → chunk-4VAZSCTZ.js} +2 -2
- package/dist/cli/chunks/{chunk-JF3U456G.js → chunk-5A6LBGRU.js} +2 -2
- package/dist/cli/chunks/{chunk-TYUIQSSF.js → chunk-5DSANX6S.js} +2 -2
- package/dist/cli/chunks/chunk-5R5WOLZM.js +5 -0
- package/dist/cli/chunks/{chunk-K6MFAVXK.js → chunk-5WR42V5O.js} +2 -2
- package/dist/cli/chunks/{chunk-PUSZ4NBY.js → chunk-5XY6SULI.js} +2 -2
- package/dist/cli/chunks/{chunk-VOOJDHLI.js → chunk-62UXGD5J.js} +3 -3
- package/dist/cli/chunks/{chunk-REJEFTWX.js → chunk-667I4RTC.js} +1 -1
- package/dist/cli/chunks/{chunk-KXRDQQGN.js → chunk-6EKXBWJD.js} +2 -2
- package/dist/cli/chunks/{chunk-CNKOIHF6.js → chunk-6R6QCGNU.js} +2 -2
- package/dist/cli/chunks/{chunk-YEZJE2ZW.js → chunk-6SYP7QX6.js} +4 -4
- package/dist/cli/chunks/{chunk-TLCCM2AF.js → chunk-6YGFAJ3X.js} +1 -1
- package/dist/cli/chunks/{chunk-KJAIE7SL.js → chunk-6ZG6TBWF.js} +4 -4
- package/dist/cli/chunks/{chunk-NLUBN642.js → chunk-7AISRWBS.js} +2 -2
- package/dist/cli/chunks/{chunk-LF5RO6WO.js → chunk-7IDPVSTF.js} +1 -1
- package/dist/cli/chunks/{chunk-VUL5HIKR.js → chunk-7PTW3M67.js} +2 -2
- package/dist/cli/chunks/{chunk-QGLWFZVQ.js → chunk-A4UNK5SY.js} +2 -2
- package/dist/cli/chunks/{chunk-JRIDPOEZ.js → chunk-A6VI5BZU.js} +4 -4
- package/dist/cli/chunks/{chunk-7OVVBBOZ.js → chunk-BBPOTFIY.js} +2 -2
- package/dist/cli/chunks/{chunk-AKJWBJDK.js → chunk-BDXEL3GM.js} +2 -2
- package/dist/cli/chunks/{chunk-GJSH4UZ3.js → chunk-BGRC4676.js} +3 -3
- package/dist/cli/chunks/{chunk-PSF6YQQM.js → chunk-BQML7B4W.js} +3 -3
- package/dist/cli/chunks/{chunk-VAIOZDG5.js → chunk-BV3SGEV7.js} +1 -1
- package/dist/cli/chunks/{chunk-XNJ6DIEW.js → chunk-DBE2LIYG.js} +2 -2
- package/dist/cli/chunks/{chunk-AQN6PDHI.js → chunk-DFY7F4TE.js} +1 -1
- package/dist/cli/chunks/{chunk-IRRGUXAU.js → chunk-EFEJLZDN.js} +1 -1
- package/dist/cli/chunks/{chunk-5G2L4XRU.js → chunk-ESNBKAT6.js} +2 -2
- package/dist/cli/chunks/{chunk-7UHRT5AX.js → chunk-EVSUZKD5.js} +2 -2
- package/dist/cli/chunks/{chunk-FUHPLXJX.js → chunk-FFBF5BLQ.js} +1 -1
- package/dist/cli/chunks/{chunk-N6P7ENG7.js → chunk-FIONYUVH.js} +2 -2
- package/dist/cli/chunks/{chunk-TJGIIGKL.js → chunk-FNQCWEVJ.js} +2 -2
- package/dist/cli/chunks/{chunk-NTVJKQ5S.js → chunk-FV2MU6CY.js} +2 -2
- package/dist/cli/chunks/{chunk-M6RVKGIP.js → chunk-FWEYOD3S.js} +2 -2
- package/dist/cli/chunks/{chunk-EAIPJSKH.js → chunk-G6AJMFWL.js} +3 -3
- package/dist/cli/chunks/{chunk-L7DNPOAQ.js → chunk-G6VVOUUF.js} +2 -2
- package/dist/cli/chunks/{chunk-BYHUGO73.js → chunk-G77CYF7H.js} +3 -3
- package/dist/cli/chunks/{chunk-EJXRBAQF.js → chunk-H7YKTJMY.js} +2 -2
- package/dist/cli/chunks/{chunk-CUSLB7MB.js → chunk-HGWQC7PR.js} +2 -2
- package/dist/cli/chunks/{chunk-XE4YKDIM.js → chunk-HHBFI3YA.js} +2 -2
- package/dist/cli/chunks/{chunk-PTOTOBOU.js → chunk-HPQZSXED.js} +1 -1
- package/dist/cli/chunks/{chunk-YN7HCVUP.js → chunk-HR6NX6DW.js} +2 -2
- package/dist/cli/chunks/{chunk-QITO7E7Y.js → chunk-I6Q6BPVH.js} +1 -1
- package/dist/cli/chunks/{chunk-L63KB63A.js → chunk-IGEZVFOM.js} +2 -2
- package/dist/cli/chunks/{chunk-ENCFLC44.js → chunk-IGQPGXP7.js} +2 -2
- package/dist/cli/chunks/{chunk-YMN4C32S.js → chunk-IJQJV7BC.js} +3 -3
- package/dist/cli/chunks/chunk-JDW6GN3A.js +2 -0
- package/dist/cli/chunks/{chunk-LRWRFKQH.js → chunk-JRYNHFZA.js} +1 -1
- package/dist/cli/chunks/{chunk-7V7TP242.js → chunk-KHZRNJ3A.js} +1 -1
- package/dist/cli/chunks/{chunk-PYYNY7RJ.js → chunk-LHDTXTS7.js} +1 -1
- package/dist/cli/chunks/{chunk-ONMJJ2C3.js → chunk-LI2IOJMM.js} +1 -1
- package/dist/cli/chunks/{heartbeat-scheduler-OH3SS7MH.js → chunk-LR5VW3OS.js} +2 -2
- package/dist/cli/chunks/{chunk-XY3WUGD3.js → chunk-LTSNDM5N.js} +2 -2
- package/dist/cli/chunks/{chunk-CQWZNVIM.js → chunk-M5PYPGBC.js} +2 -2
- package/dist/cli/chunks/{chunk-RTGNWRQI.js → chunk-MEHNT37H.js} +2 -2
- package/dist/cli/chunks/{chunk-ZG4EKPGV.js → chunk-MERMCKPG.js} +1 -1
- package/dist/cli/chunks/{chunk-JKKV5KKS.js → chunk-MIHQIAVK.js} +2 -2
- package/dist/cli/chunks/{chunk-RDJWUKIR.js → chunk-MMVSERJQ.js} +2 -2
- package/dist/cli/chunks/{chunk-5WWQLPB4.js → chunk-MQQANXFS.js} +2 -2
- package/dist/cli/chunks/{chunk-I3TFGMOQ.js → chunk-MTOHV22P.js} +1 -1
- package/dist/cli/chunks/{chunk-7RPEBKQZ.js → chunk-NVZHCAEB.js} +2 -2
- package/dist/cli/chunks/{chunk-52D3CYE5.js → chunk-NW5FYGDE.js} +2 -2
- package/dist/cli/chunks/{chunk-UIRTXM7C.js → chunk-NZRJWK5H.js} +61 -121
- package/dist/cli/chunks/chunk-O5NEZCTB.js +2 -0
- package/dist/cli/chunks/{chunk-YQJBE6NX.js → chunk-O5UGJ3OI.js} +2 -2
- package/dist/cli/chunks/{chunk-WB6TI6Q3.js → chunk-OK2TFTXP.js} +2 -2
- package/dist/cli/chunks/{chunk-NNF3GCGF.js → chunk-OKEHGXIS.js} +2 -2
- package/dist/cli/chunks/{chunk-5AMAJCZS.js → chunk-OKRY4LNE.js} +3 -3
- package/dist/cli/chunks/{chunk-NZQYNUGM.js → chunk-OMOGD2NN.js} +2 -2
- package/dist/cli/chunks/{chunk-X2FLWV5C.js → chunk-ONNTJXU7.js} +2 -2
- package/dist/cli/chunks/{chunk-MYCVU3D3.js → chunk-OPOGZAN5.js} +2 -2
- package/dist/cli/chunks/{chunk-ZBJRNCWX.js → chunk-PG5F2VHA.js} +2 -2
- package/dist/cli/chunks/{chunk-JMLOEW7Y.js → chunk-PHRMWRXA.js} +2 -2
- package/dist/cli/chunks/{chunk-N6SIKSCO.js → chunk-PIXUX2NR.js} +2 -2
- package/dist/cli/chunks/{chunk-IY4P35N3.js → chunk-PLGMPG7S.js} +2 -2
- package/dist/cli/chunks/{chunk-K37CNLQZ.js → chunk-PPS6VN24.js} +1 -1
- package/dist/cli/chunks/{chunk-XMMWYQJK.js → chunk-PQAYCK2U.js} +2 -2
- package/dist/cli/chunks/{chunk-SL4TAJOE.js → chunk-PS6ISBED.js} +2 -2
- package/dist/cli/chunks/{chunk-OXOXNAEZ.js → chunk-QPYNQSWD.js} +2 -2
- package/dist/cli/chunks/{chunk-62KYX5NH.js → chunk-QRTZ67BC.js} +2 -2
- package/dist/cli/chunks/{chunk-DUF733Z7.js → chunk-REW3W3ZW.js} +1 -1
- package/dist/cli/chunks/{chunk-T4DDCMKG.js → chunk-RHXYZ6AZ.js} +127 -127
- package/dist/cli/chunks/{chunk-VLAGWLHF.js → chunk-RZXAXWBD.js} +2 -2
- package/dist/cli/chunks/{chunk-XTWYCMAM.js → chunk-S4M7U6CZ.js} +2 -2
- package/dist/cli/chunks/{chunk-ROEIR3OD.js → chunk-SJETAUZA.js} +1 -1
- package/dist/cli/chunks/{chunk-47QIAHUJ.js → chunk-SLH7LFVY.js} +2 -2
- package/dist/cli/chunks/{chunk-XGBIXRKD.js → chunk-SRJ5N7LD.js} +2 -2
- package/dist/cli/chunks/{chunk-EKYPQ5DX.js → chunk-T5ADVYPH.js} +1 -1
- package/dist/cli/chunks/{chunk-7MXQV7RB.js → chunk-THYGFSTA.js} +2 -2
- package/dist/cli/chunks/{chunk-462MZLJB.js → chunk-TX2DBLTL.js} +1 -1
- package/dist/cli/chunks/{chunk-TVHWI77X.js → chunk-UJMGNO6L.js} +1 -1
- package/dist/cli/chunks/{chunk-YLEMSN46.js → chunk-UUQ3SOKM.js} +1 -1
- package/dist/cli/chunks/{chunk-ZWSRIJ2T.js → chunk-V5RLGPEW.js} +2 -2
- package/dist/cli/chunks/{chunk-CYUGE5ZQ.js → chunk-V6HM2BKJ.js} +1 -1
- package/dist/cli/chunks/{chunk-UIIEZMSM.js → chunk-V7I6FTLG.js} +1 -1
- package/dist/cli/chunks/{chunk-5M4F3PAL.js → chunk-V7ZBPSVG.js} +1 -1
- package/dist/cli/chunks/{chunk-VSKABN3B.js → chunk-VJL7DNUU.js} +2 -2
- package/dist/cli/chunks/{chunk-2NLZXG6V.js → chunk-VKCWWR6C.js} +1 -1
- package/dist/cli/chunks/chunk-VKNCMGOJ.js +29 -0
- package/dist/cli/chunks/{chunk-L4JTTPU7.js → chunk-W2VTHUDK.js} +2 -2
- package/dist/cli/chunks/{chunk-FOAWHNOP.js → chunk-W3JB3G7C.js} +2 -2
- package/dist/cli/chunks/{chunk-A424Z7LA.js → chunk-WQ4MT74X.js} +1 -1
- package/dist/cli/chunks/{chunk-GQFAVT2I.js → chunk-WTNM7NA4.js} +1 -1
- package/dist/cli/chunks/chunk-XB3SIYGU.js +62 -0
- package/dist/cli/chunks/{chunk-HHEIQHLQ.js → chunk-XCUNQ3FK.js} +2 -2
- package/dist/cli/chunks/{chunk-BMS7WFDB.js → chunk-XHQFVTFD.js} +1 -1
- package/dist/cli/chunks/{chunk-QMSDKKYG.js → chunk-YBUUAFKR.js} +1 -1
- package/dist/cli/chunks/{chunk-G2U7Q6V6.js → chunk-YJV6TTCW.js} +2 -2
- package/dist/cli/chunks/{chunk-GN7FUCJH.js → chunk-YUSGT2CU.js} +1 -1
- package/dist/cli/chunks/{chunk-JJRZOLDY.js → chunk-YUTSN5BK.js} +2 -2
- package/dist/cli/chunks/{chunk-G3YKCZWQ.js → chunk-YVMJTBXB.js} +3 -3
- package/dist/cli/chunks/chunk-YVQ4PR4H.js +2 -0
- package/dist/cli/chunks/{chunk-UNXUSYRL.js → chunk-Z2EDNMCQ.js} +2 -2
- package/dist/cli/chunks/{chunk-DMF4Z2M6.js → chunk-ZESMMAKZ.js} +2 -2
- package/dist/cli/chunks/{chunk-VA45HLBF.js → chunk-ZIVOT3B7.js} +2 -2
- package/dist/cli/chunks/{ci-LRTJSZHT.js → ci-NSF6OHB4.js} +2 -2
- package/dist/cli/chunks/{ci-output-LISCHUKD.js → ci-output-ZPDJ42U3.js} +2 -2
- package/dist/cli/chunks/{circuit-breaker-7PMP25KZ.js → circuit-breaker-Y2RUJDYG.js} +2 -2
- package/dist/cli/chunks/{claude-flow-setup-DOW4QVMC.js → claude-flow-setup-OH6G6KM2.js} +2 -2
- package/dist/cli/chunks/client-QQGRKAY7.js +2 -0
- package/dist/cli/chunks/{cline-installer-2NXQGW73.js → cline-installer-IHH4F27G.js} +2 -2
- package/dist/cli/chunks/{code-3X6RWAS7.js → code-SFAHWFTX.js} +2 -2
- package/dist/cli/chunks/{code-index-extractor-4ABP5WCP.js → code-index-extractor-GXECMOM2.js} +2 -2
- package/dist/cli/chunks/{codex-installer-V7PII6GL.js → codex-installer-UPMSAFCQ.js} +2 -2
- package/dist/cli/chunks/{completions-Y7LNQ63I.js → completions-5TX6LDHY.js} +2 -2
- package/dist/cli/chunks/{complexity-analyzer-XLYMAM6I.js → complexity-analyzer-J2ZR3XZB.js} +2 -2
- package/dist/cli/chunks/{continuedev-installer-GOT4TKNT.js → continuedev-installer-GWYZKB5A.js} +2 -2
- package/dist/cli/chunks/{copilot-installer-D6BAQVIO.js → copilot-installer-DQZMQWI7.js} +2 -2
- package/dist/cli/chunks/{cost-tracker-VT7C5Q52.js → cost-tracker-V7KIGCLZ.js} +2 -2
- package/dist/cli/chunks/{coverage-C62MRP4M.js → coverage-3X6LA2GZ.js} +3 -3
- package/dist/cli/chunks/cross-domain-router-3SHAGRVP.js +2 -0
- package/dist/cli/chunks/{cursor-installer-WAWSS2K2.js → cursor-installer-ENDG4JIU.js} +2 -2
- package/dist/cli/chunks/daemon-4XVAO7GT.js +16 -0
- package/dist/cli/chunks/daemon-TC65CQFK.js +10 -0
- package/dist/cli/chunks/{dag-attention-scheduler-SZIZWPV7.js → dag-attention-scheduler-JOSCDRZC.js} +2 -2
- package/dist/cli/chunks/{detect-AJX6NJEP.js → detect-KWZX3OMK.js} +2 -2
- package/dist/cli/chunks/{dist-node-E5X47QTY.js → dist-node-R4U2PJ47.js} +2 -2
- package/dist/cli/chunks/{domain-handler-FN3PIP45.js → domain-handler-BMYYZO2L.js} +2 -2
- package/dist/cli/chunks/{domain-transfer-N3TOJEMT.js → domain-transfer-MSDBBDLC.js} +2 -2
- package/dist/cli/chunks/dream-OCZK42FM.js +2 -0
- package/dist/cli/chunks/{embed-and-insert-pattern-PJI5TZKR.js → embed-and-insert-pattern-MFINPOLS.js} +2 -2
- package/dist/cli/chunks/{eval-OS54TDQU.js → eval-OER6UNUY.js} +2 -2
- package/dist/cli/chunks/{experience-capture-middleware-FBM4ANZW.js → experience-capture-middleware-F5I77ECG.js} +3 -3
- package/dist/cli/chunks/{fast-paths-2CVAAPQO.js → fast-paths-P3KT5DUQ.js} +2 -2
- package/dist/cli/chunks/{feature-flags-A5KFWVFC.js → feature-flags-5EBWQ5WU.js} +2 -2
- package/dist/cli/chunks/{feature-flags-GEXTW6OT.js → feature-flags-DYFZSQLV.js} +2 -2
- package/dist/cli/chunks/{file-discovery-KWLVC7KN.js → file-discovery-MOBVABSM.js} +2 -2
- package/dist/cli/chunks/{fleet-MNKH356S.js → fleet-J3R3NQNC.js} +3 -3
- package/dist/cli/chunks/{gnn-wrapper-ALTWYFVZ.js → gnn-wrapper-QD76SULF.js} +2 -2
- package/dist/cli/chunks/{heartbeat-handler-MBMEPEGW.js → heartbeat-handler-AJEWTPZ4.js} +4 -4
- package/dist/cli/chunks/heartbeat-scheduler-EAVZR6TJ.js +2 -0
- package/dist/cli/chunks/hnsw-adapter-BY4XB7FB.js +2 -0
- package/dist/cli/chunks/hnsw-index-657CZRG7.js +2 -0
- package/dist/cli/chunks/{hnsw-legacy-bridge-WTD5PR5V.js → hnsw-legacy-bridge-5VRM5N7K.js} +2 -2
- package/dist/cli/chunks/{better-sqlite3-NYOVLWBG.js → hnswlib-node-BWUH4OQT.js} +2 -2
- package/dist/cli/chunks/{hooks-ELHGEBFK.js → hooks-7PMVKQOE.js} +10 -10
- package/dist/cli/chunks/{hybrid-router-D6ZMIZCE.js → hybrid-router-2K2LW45J.js} +2 -2
- package/dist/cli/chunks/{hypergraph-engine-JOQ6TERZ.js → hypergraph-engine-2CQ735JO.js} +2 -2
- package/dist/cli/chunks/{hypergraph-handler-HX45YWWN.js → hypergraph-handler-AQ53GVIW.js} +3 -3
- package/dist/cli/chunks/impact-analyzer-GI6UVAMT.js +2 -0
- package/dist/cli/chunks/{init-handler-TNVU6NQ6.js → init-handler-ZOVJPAWO.js} +6 -6
- package/dist/cli/chunks/init-wizard-HOH577MH.js +2 -0
- package/dist/cli/chunks/kernel-JDYBG5GE.js +2 -0
- package/dist/cli/chunks/{kilocode-installer-YC5RJIY4.js → kilocode-installer-GWQCNLKI.js} +2 -2
- package/dist/cli/chunks/{kiro-installer-EAB26M55.js → kiro-installer-6KVES4MO.js} +2 -2
- package/dist/cli/chunks/knowledge-graph-RAQOWLG3.js +2 -0
- package/dist/cli/chunks/{learning-A2OB7D2B.js → learning-6XMNWXRT.js} +3 -3
- package/dist/cli/chunks/{llm-router-KEG6PA7C.js → llm-router-GS4AZJJC.js} +4 -4
- package/dist/cli/chunks/{load-D6ZDLVA3.js → load-FEMEQNE6.js} +2 -2
- package/dist/cli/chunks/load-test-3MEJ43U2.js +2 -0
- package/dist/cli/chunks/{mcp-ERJHZ6FN.js → mcp-6V2H7EXU.js} +2 -2
- package/dist/cli/chunks/{memory-GSRIJIVR.js → memory-YLGPOB2H.js} +5 -5
- package/dist/cli/chunks/memory-backend-2A47ZRGO.js +2 -0
- package/dist/cli/chunks/memory-handlers-UBTBC7D2.js +2 -0
- package/dist/cli/chunks/{multi-model-executor-GK3V7ERC.js → multi-model-executor-SL2EKAH2.js} +2 -2
- package/dist/cli/chunks/{opencode-installer-6TTN26RG.js → opencode-installer-ADOJVGNA.js} +2 -2
- package/dist/cli/chunks/{orchestrator-YVTSM6QW.js → orchestrator-O4IWW2VU.js} +5 -5
- package/dist/cli/chunks/{pipeline-EWLJCY5G.js → pipeline-5BD5YQNQ.js} +2 -2
- package/dist/cli/chunks/{platform-2ULHQQME.js → platform-HXSUOOJH.js} +2 -2
- package/dist/cli/chunks/{plugin-PYN2KOXA.js → plugin-HOLH5CUH.js} +2 -2
- package/dist/cli/chunks/{prime-radiant-advanced-wasm-IULCTOGZ.js → prime-radiant-advanced-wasm-PJTL7OLS.js} +2 -2
- package/dist/cli/chunks/protocol-executor-3FR7FBVM.js +2 -0
- package/dist/cli/chunks/{protocol-handler-FZYI2SBP.js → protocol-handler-K27YGLC7.js} +2 -2
- package/dist/cli/chunks/{prove-DN7S74SP.js → prove-MHCLHQQ6.js} +2 -2
- package/dist/cli/chunks/{provider-manager-FT3MCROB.js → provider-manager-3645PPXX.js} +2 -2
- package/dist/cli/chunks/qe-reasoning-bank-CHNYPYQW.js +2 -0
- package/dist/cli/chunks/{quality-ITBU6LGC.js → quality-NDE6EDOY.js} +2 -2
- package/dist/cli/chunks/queen-coordinator-J6ZRYTBX.js +2 -0
- package/dist/cli/chunks/{real-embeddings-PZUZ5RXJ.js → real-embeddings-VD3EVV3U.js} +2 -2
- package/dist/cli/chunks/{roocode-installer-2LMVZOUZ.js → roocode-installer-63Y45UUG.js} +2 -2
- package/dist/cli/chunks/router-23HRN2Z6.js +2 -0
- package/dist/cli/chunks/routing-feedback-R6A4B6ZG.js +2 -0
- package/dist/cli/chunks/{routing-handler-5RB73UCF.js → routing-handler-76XISU2E.js} +2 -2
- package/dist/cli/chunks/{ruvector-commands-VBN4APMG.js → ruvector-commands-AEKOZZHZ.js} +2 -2
- package/dist/cli/chunks/{rvf-dual-writer-BNY4AUWT.js → rvf-dual-writer-4DMUIZQF.js} +2 -2
- package/dist/cli/chunks/{rvf-migration-adapter-73MKPBGV.js → rvf-migration-adapter-YUTXFOZ3.js} +2 -2
- package/dist/cli/chunks/{rvf-migration-coordinator-SGVB7ZAZ.js → rvf-migration-coordinator-XJ5N2W37.js} +2 -2
- package/dist/cli/chunks/rvf-native-adapter-QINEJZM7.js +2 -0
- package/dist/cli/chunks/safe-db-YXMCSKFH.js +2 -0
- package/dist/cli/chunks/schedule-XVFD27P5.js +2 -0
- package/dist/cli/chunks/scheduler-NWH2IDEU.js +2 -0
- package/dist/cli/chunks/{security-XUH4H7R3.js → security-6YS6GQGO.js} +3 -3
- package/dist/cli/chunks/shared-rvf-adapter-FTZY35WI.js +2 -0
- package/dist/cli/chunks/{shared-rvf-dual-writer-GML4EDYF.js → shared-rvf-dual-writer-MH2Y65HA.js} +2 -2
- package/dist/cli/chunks/sqlite-persistence-BR6YJF5P.js +2 -0
- package/dist/cli/chunks/{status-handler-XI7GJF6Z.js → status-handler-57JQMPY5.js} +2 -2
- package/dist/cli/chunks/{structural-health-WPCYKOXV.js → structural-health-34D5VWRD.js} +2 -2
- package/dist/cli/chunks/sync-HJD2US5P.js +2 -0
- package/dist/cli/chunks/sync-TTQ6ZB5D.js +17 -0
- package/dist/cli/chunks/{task-handler-FZB55IEG.js → task-handler-4RF57637.js} +2 -2
- package/dist/cli/chunks/{task-handlers-EXZGFH7F.js → task-handlers-BRSK7HDE.js} +3 -3
- package/dist/cli/chunks/{test-XYRN4OVU.js → test-GMUW2VR3.js} +4 -4
- package/dist/cli/chunks/{test-scheduling-FLVOPGOT.js → test-scheduling-7LF24IFV.js} +3 -3
- package/dist/cli/chunks/{token-bootstrap-FDCFVRHM.js → token-bootstrap-VYT4RTHU.js} +2 -2
- package/dist/cli/chunks/{token-usage-MHNZF3DM.js → token-usage-NFNCPQGW.js} +2 -2
- package/dist/cli/chunks/{transformers-4CRVTMWY.js → transformers-GGD5GIEY.js} +2 -2
- package/dist/cli/chunks/{tree-sitter-wasm-parser-CI3V4AND.js → tree-sitter-wasm-parser-GKYG6NKT.js} +2 -2
- package/dist/cli/chunks/{types-RKCD4BNL.js → types-WJ3ZTRD5.js} +2 -2
- package/dist/cli/chunks/unified-memory-AT3Z4CY7.js +2 -0
- package/dist/cli/chunks/unified-memory-hnsw-6FOIGINN.js +2 -0
- package/dist/cli/chunks/unified-persistence-TCJB7MQS.js +2 -0
- package/dist/cli/chunks/{upgrade-463W7VKH.js → upgrade-IMBT4F6K.js} +2 -2
- package/dist/cli/chunks/{validate-LENSMEAY.js → validate-76OVF45Z.js} +2 -2
- package/dist/cli/chunks/{validate-swarm-4FEBNAWA.js → validate-swarm-HH2ZYWXA.js} +2 -2
- package/dist/cli/chunks/{vibium-TXNVIVWJ.js → vibium-74WQNDBX.js} +2 -2
- package/dist/cli/chunks/visual-security-IBAUX2K5.js +2 -0
- package/dist/cli/chunks/{web-tree-sitter-BZEGWID4.js → web-tree-sitter-W6RGE4SL.js} +2 -2
- package/dist/cli/chunks/{windsurf-installer-7AFXJTPU.js → windsurf-installer-7DMSFCA2.js} +2 -2
- package/dist/cli/chunks/{witness-chain-G6SUZOZG.js → witness-chain-BLZ4ZKAD.js} +2 -2
- package/dist/cli/chunks/witness-chain-GNNF23XU.js +2 -0
- package/dist/cli/chunks/{workflow-EVQPO6FH.js → workflow-RNSDKRZ4.js} +4 -4
- package/dist/cli/chunks/workflow-orchestrator-S2YONHGM.js +2 -0
- package/dist/cli/chunks/{wrappers-HR6RUDI2.js → wrappers-J7RXMIOY.js} +2 -2
- package/dist/domains/learning-optimization/services/learning-coordinator.js +37 -17
- package/dist/kernel/hybrid-backend.d.ts +17 -7
- package/dist/kernel/hybrid-backend.js +24 -10
- package/dist/kernel/interfaces.d.ts +21 -6
- package/dist/kernel/memory-backend.d.ts +5 -5
- package/dist/kernel/memory-backend.js +14 -7
- package/dist/mcp/bundle.js +447 -447
- package/dist/mcp/handlers/core-handlers.js +21 -0
- package/dist/workers/interfaces.d.ts +26 -0
- package/dist/workers/worker-manager.d.ts +15 -12
- package/dist/workers/worker-manager.js +11 -0
- package/dist/workers/workers/learning-consolidation.js +116 -89
- package/package.json +3 -1
- package/dist/cli/chunks/adapter-CI2GZYME.js +0 -2
- package/dist/cli/chunks/aqe-learning-engine-KNQKALLI.js +0 -2
- package/dist/cli/chunks/base-P7PRMQWY.js +0 -2
- package/dist/cli/chunks/browser-workflow-QUP4A763.js +0 -2
- package/dist/cli/chunks/chunk-5Z6PYYWK.js +0 -2
- package/dist/cli/chunks/chunk-RBDAHW2M.js +0 -2
- package/dist/cli/chunks/client-XF6SJO2C.js +0 -2
- package/dist/cli/chunks/cross-domain-router-J2OFPM6R.js +0 -2
- package/dist/cli/chunks/daemon-CP2ETHRF.js +0 -19
- package/dist/cli/chunks/dream-D5LD5SOZ.js +0 -2
- package/dist/cli/chunks/hnsw-adapter-M2MMM3N6.js +0 -2
- package/dist/cli/chunks/hnsw-index-JO7KNF7M.js +0 -2
- package/dist/cli/chunks/impact-analyzer-ROQL4J7P.js +0 -2
- package/dist/cli/chunks/init-wizard-4BDFZX4M.js +0 -2
- package/dist/cli/chunks/kernel-37Y63WKR.js +0 -2
- package/dist/cli/chunks/knowledge-graph-V3DX6ZCX.js +0 -2
- package/dist/cli/chunks/load-test-HPBA2CMT.js +0 -2
- package/dist/cli/chunks/memory-backend-DODDBB46.js +0 -2
- package/dist/cli/chunks/memory-handlers-MFLCRS7V.js +0 -2
- package/dist/cli/chunks/protocol-executor-D56OYMCJ.js +0 -2
- package/dist/cli/chunks/qe-reasoning-bank-KXROIEK7.js +0 -2
- package/dist/cli/chunks/queen-coordinator-XOGATERL.js +0 -2
- package/dist/cli/chunks/router-3EHNUCOM.js +0 -2
- package/dist/cli/chunks/routing-feedback-ZHKGET22.js +0 -2
- package/dist/cli/chunks/rvf-native-adapter-4YC5IQUW.js +0 -2
- package/dist/cli/chunks/safe-db-PLJRHQIC.js +0 -2
- package/dist/cli/chunks/schedule-7DGELVJE.js +0 -2
- package/dist/cli/chunks/scheduler-VWASEC2J.js +0 -2
- package/dist/cli/chunks/shared-rvf-adapter-DCVDY2XW.js +0 -2
- package/dist/cli/chunks/sqlite-persistence-CTEBGVOW.js +0 -2
- package/dist/cli/chunks/sync-SFKTCRZC.js +0 -23
- package/dist/cli/chunks/unified-memory-YDKXKW3D.js +0 -2
- package/dist/cli/chunks/unified-memory-hnsw-6N7YZCLR.js +0 -2
- package/dist/cli/chunks/unified-persistence-UTWLPUQI.js +0 -2
- package/dist/cli/chunks/visual-security-DGXSOFKD.js +0 -2
- package/dist/cli/chunks/witness-chain-VP4MF6EU.js +0 -2
- package/dist/cli/chunks/workflow-orchestrator-VXSYAKQY.js +0 -2
|
@@ -135,6 +135,27 @@ export async function handleFleetInit(params) {
|
|
|
135
135
|
domainPlugins.set(domain, plugin);
|
|
136
136
|
}
|
|
137
137
|
}
|
|
138
|
+
// Issue #491 Bug 1 + Bug 4b: the MCP-hosted daemon constructs its
|
|
139
|
+
// WorkerManager *before* the kernel exists (in src/mcp/entry.ts), so it
|
|
140
|
+
// starts with StubWorkerDomainAccess (getDomainAPI returns undefined for
|
|
141
|
+
// every domain) and a private InMemoryWorkerMemory the dashboard never
|
|
142
|
+
// reads from. Wire both now that kernel + plugins are ready. Without
|
|
143
|
+
// this, every domain-dependent worker tick fails with "<domain> not
|
|
144
|
+
// available" and `aqe learning loop-health` shows learningWorker as
|
|
145
|
+
// never-ran even when it executes every cycle.
|
|
146
|
+
try {
|
|
147
|
+
const { getDaemon } = await import('../../workers/daemon.js');
|
|
148
|
+
const workerManager = getDaemon().getWorkerManager();
|
|
149
|
+
workerManager.setKernel(state.kernel);
|
|
150
|
+
workerManager.setMemory(state.kernel.memory);
|
|
151
|
+
}
|
|
152
|
+
catch (err) {
|
|
153
|
+
// Daemon wiring is best-effort: a workless smoke install (e.g. some
|
|
154
|
+
// unit-test harnesses) may not even bundle the daemon module. Surface
|
|
155
|
+
// as a warning but don't fail fleet_init — the user still gets a
|
|
156
|
+
// working kernel + queen for MCP tool calls.
|
|
157
|
+
console.warn(`[fleet_init] Daemon worker manager wiring skipped: ${toErrorMessage(err)}`);
|
|
158
|
+
}
|
|
138
159
|
// Create Queen Coordinator with domain plugins for direct task execution
|
|
139
160
|
state.queen = createQueenCoordinator(state.kernel, state.router, protocolExecutor, undefined, // workflowExecutor
|
|
140
161
|
domainPlugins // INTEGRATION FIX: Pass domain plugins
|
|
@@ -170,6 +170,20 @@ export interface WorkerDomainAccess {
|
|
|
170
170
|
errors: string[];
|
|
171
171
|
};
|
|
172
172
|
}
|
|
173
|
+
/**
|
|
174
|
+
* Structural shape of the kernel that worker-side code needs. Declared here
|
|
175
|
+
* (rather than imported from src/kernel) to avoid a circular dependency between
|
|
176
|
+
* the kernel and the workers package.
|
|
177
|
+
*/
|
|
178
|
+
export interface WorkerKernelReference {
|
|
179
|
+
getDomainAPI<T>(domain: DomainName): T | undefined;
|
|
180
|
+
getHealth(): {
|
|
181
|
+
domains: Record<string, {
|
|
182
|
+
status: string;
|
|
183
|
+
errors?: string[];
|
|
184
|
+
}>;
|
|
185
|
+
};
|
|
186
|
+
}
|
|
173
187
|
export interface WorkerHealth {
|
|
174
188
|
/** Worker status */
|
|
175
189
|
readonly status: WorkerStatus;
|
|
@@ -223,6 +237,18 @@ export interface WorkerManager {
|
|
|
223
237
|
* Get manager health status
|
|
224
238
|
*/
|
|
225
239
|
getHealth(): WorkerManagerHealth;
|
|
240
|
+
/**
|
|
241
|
+
* Bind the kernel late, after construction. Without this, workers fall
|
|
242
|
+
* through to a stub domain-access that returns undefined for every domain,
|
|
243
|
+
* causing every domain-dependent worker tick to fail (issue #491 Bug 1).
|
|
244
|
+
*/
|
|
245
|
+
setKernel(kernel: WorkerKernelReference): void;
|
|
246
|
+
/**
|
|
247
|
+
* Bind the worker manager's memory to a shared instance (e.g. the kernel's
|
|
248
|
+
* HybridMemoryBackend) so workers and the dashboards that read worker output
|
|
249
|
+
* resolve to the same kv store (issue #491 Bug 4b).
|
|
250
|
+
*/
|
|
251
|
+
setMemory(memory: WorkerMemory): void;
|
|
226
252
|
}
|
|
227
253
|
export interface WorkerManagerHealth {
|
|
228
254
|
/** Total registered workers */
|
|
@@ -5,20 +5,14 @@
|
|
|
5
5
|
* Manages the lifecycle and scheduling of all background workers.
|
|
6
6
|
* Provides centralized control for starting, stopping, and monitoring workers.
|
|
7
7
|
*/
|
|
8
|
-
import { Worker, WorkerManager as IWorkerManager, WorkerManagerHealth, WorkerResult, WorkerEventBus, WorkerMemory, WorkerDomainAccess, WorkerEvent } from './interfaces';
|
|
9
|
-
import { DomainName } from '../shared/types';
|
|
8
|
+
import { Worker, WorkerManager as IWorkerManager, WorkerManagerHealth, WorkerResult, WorkerEventBus, WorkerMemory, WorkerDomainAccess, WorkerEvent, WorkerKernelReference } from './interfaces';
|
|
10
9
|
/**
|
|
11
|
-
*
|
|
10
|
+
* Local alias for the shared worker-kernel structural shape. The public type
|
|
11
|
+
* lives in interfaces.ts so the WorkerManager interface can refer to it
|
|
12
|
+
* without importing this file (which would re-introduce the circular
|
|
13
|
+
* dependency the original local declaration was avoiding).
|
|
12
14
|
*/
|
|
13
|
-
|
|
14
|
-
getDomainAPI<T>(domain: DomainName): T | undefined;
|
|
15
|
-
getHealth(): {
|
|
16
|
-
domains: Record<string, {
|
|
17
|
-
status: string;
|
|
18
|
-
errors?: string[];
|
|
19
|
-
}>;
|
|
20
|
-
};
|
|
21
|
-
}
|
|
15
|
+
type KernelReference = WorkerKernelReference;
|
|
22
16
|
/**
|
|
23
17
|
* Worker Manager implementation
|
|
24
18
|
*/
|
|
@@ -42,6 +36,15 @@ export declare class WorkerManagerImpl implements IWorkerManager {
|
|
|
42
36
|
* Allows late binding of kernel after construction
|
|
43
37
|
*/
|
|
44
38
|
setKernel(kernel: KernelReference): void;
|
|
39
|
+
/**
|
|
40
|
+
* Replace the worker manager's memory with a shared instance — typically the
|
|
41
|
+
* kernel's HybridMemoryBackend so dashboards reading worker-emitted keys
|
|
42
|
+
* (e.g. `learning:loop-health` in the `qe-kernel` namespace) actually see
|
|
43
|
+
* what workers write. Without this, workers write to the in-process
|
|
44
|
+
* InMemoryWorkerMemory and the dashboard reads a different kv (issue #491
|
|
45
|
+
* Bug 4b).
|
|
46
|
+
*/
|
|
47
|
+
setMemory(memory: WorkerMemory): void;
|
|
45
48
|
/**
|
|
46
49
|
* Register a worker
|
|
47
50
|
*/
|
|
@@ -181,6 +181,17 @@ export class WorkerManagerImpl {
|
|
|
181
181
|
this.domainAccess = new KernelWorkerDomainAccess(() => this.kernelRef);
|
|
182
182
|
}
|
|
183
183
|
}
|
|
184
|
+
/**
|
|
185
|
+
* Replace the worker manager's memory with a shared instance — typically the
|
|
186
|
+
* kernel's HybridMemoryBackend so dashboards reading worker-emitted keys
|
|
187
|
+
* (e.g. `learning:loop-health` in the `qe-kernel` namespace) actually see
|
|
188
|
+
* what workers write. Without this, workers write to the in-process
|
|
189
|
+
* InMemoryWorkerMemory and the dashboard reads a different kv (issue #491
|
|
190
|
+
* Bug 4b).
|
|
191
|
+
*/
|
|
192
|
+
setMemory(memory) {
|
|
193
|
+
this.memory = memory;
|
|
194
|
+
}
|
|
184
195
|
/**
|
|
185
196
|
* Register a worker
|
|
186
197
|
*/
|
|
@@ -85,97 +85,124 @@ export class LearningConsolidationWorker extends BaseWorker {
|
|
|
85
85
|
context.logger.info('Starting learning consolidation (Phase 7: Continuous Learning Loop)');
|
|
86
86
|
const findings = [];
|
|
87
87
|
const recommendations = [];
|
|
88
|
-
//
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
let
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
//
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
return this.createResult(Date.now() - startTime, {
|
|
153
|
-
itemsAnalyzed: result.patternsAnalyzed,
|
|
154
|
-
issuesFound: result.patternsPruned + result.patternsDeprecated,
|
|
155
|
-
healthScore,
|
|
156
|
-
trend: this.determineTrend(result),
|
|
157
|
-
domainMetrics: {
|
|
88
|
+
// #491 Bug 4a: liveness must be reported on every tick, including the
|
|
89
|
+
// failure path. Before this fix, `recordLoopHealth(success:true)` sat
|
|
90
|
+
// *after* `collectPatterns()`, which throws on installs with nothing
|
|
91
|
+
// to consolidate — so loop-health permanently showed `never-ran`
|
|
92
|
+
// even when the worker executed every cycle. Track success in a flag
|
|
93
|
+
// and emit the ping in `finally` (matches the
|
|
94
|
+
// CapturedExperienceBridge.drainSafe pattern that ships correctly).
|
|
95
|
+
let liveness = { success: false };
|
|
96
|
+
try {
|
|
97
|
+
// Initialize Phase 7 metrics
|
|
98
|
+
let experiencesProcessed = 0;
|
|
99
|
+
let patternCandidatesFound = 0;
|
|
100
|
+
let patternsPromoted = 0;
|
|
101
|
+
let patternsDeprecated = 0;
|
|
102
|
+
let confidenceDecayApplied = 0;
|
|
103
|
+
let patternsMined = 0;
|
|
104
|
+
let domainsMined = 0;
|
|
105
|
+
let dreamInsightsPruned = 0;
|
|
106
|
+
// Phase 7: Run continuous learning loop
|
|
107
|
+
const lifecycleManager = await this.getLifecycleManager();
|
|
108
|
+
if (lifecycleManager) {
|
|
109
|
+
const lifecycleResult = await this.runContinuousLearningLoop(context, lifecycleManager, findings, recommendations);
|
|
110
|
+
experiencesProcessed = lifecycleResult.experiencesProcessed;
|
|
111
|
+
patternCandidatesFound = lifecycleResult.patternCandidatesFound;
|
|
112
|
+
patternsPromoted = lifecycleResult.patternsPromoted;
|
|
113
|
+
patternsDeprecated = lifecycleResult.patternsDeprecated;
|
|
114
|
+
confidenceDecayApplied = lifecycleResult.confidenceDecayApplied;
|
|
115
|
+
patternsMined = lifecycleResult.patternsMined;
|
|
116
|
+
domainsMined = lifecycleResult.domainsMined;
|
|
117
|
+
dreamInsightsPruned = lifecycleResult.dreamInsightsPruned;
|
|
118
|
+
}
|
|
119
|
+
// Collect patterns from all domains
|
|
120
|
+
const patterns = await this.collectPatterns(context);
|
|
121
|
+
// Consolidate and analyze
|
|
122
|
+
const result = await this.consolidatePatterns(context, patterns);
|
|
123
|
+
// Add Phase 7 metrics to result
|
|
124
|
+
result.experiencesProcessed = experiencesProcessed;
|
|
125
|
+
result.patternCandidatesFound = patternCandidatesFound;
|
|
126
|
+
result.patternsPromoted = patternsPromoted;
|
|
127
|
+
result.patternsDeprecated = patternsDeprecated;
|
|
128
|
+
result.confidenceDecayApplied = confidenceDecayApplied;
|
|
129
|
+
result.patternsMined = patternsMined;
|
|
130
|
+
result.domainsMined = domainsMined;
|
|
131
|
+
result.dreamInsightsPruned = dreamInsightsPruned;
|
|
132
|
+
// Identify cross-domain patterns
|
|
133
|
+
this.identifyCrossDomainPatterns(patterns, findings, recommendations);
|
|
134
|
+
// Prune ineffective patterns
|
|
135
|
+
this.pruneIneffectivePatterns(patterns, findings, recommendations);
|
|
136
|
+
// Generate optimization recommendations
|
|
137
|
+
this.generateOptimizations(patterns, findings, recommendations);
|
|
138
|
+
// ADR-046: Run dream cycle for pattern discovery
|
|
139
|
+
const dreamResult = await this.runDreamCycle(context, patterns, findings, recommendations);
|
|
140
|
+
result.dreamInsights = dreamResult.insights;
|
|
141
|
+
result.dreamPatternsCreated = dreamResult.patternsCreated;
|
|
142
|
+
// Store consolidated results
|
|
143
|
+
await context.memory.set('learning:lastConsolidation', result);
|
|
144
|
+
await context.memory.set('learning:consolidatedPatterns', patterns);
|
|
145
|
+
// Reached the end without throwing — this tick is a real success.
|
|
146
|
+
liveness = { success: true };
|
|
147
|
+
// Update last run timestamp for decay calculation
|
|
148
|
+
this.lastRunTimestamp = Date.now();
|
|
149
|
+
const healthScore = this.calculateHealthScore(result, patterns);
|
|
150
|
+
context.logger.info('Learning consolidation complete', {
|
|
151
|
+
healthScore,
|
|
158
152
|
patternsAnalyzed: result.patternsAnalyzed,
|
|
159
|
-
patternsPruned: result.patternsPruned,
|
|
160
|
-
patternsConsolidated: result.patternsConsolidated,
|
|
161
153
|
newInsights: result.newInsights,
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
154
|
+
// Phase 7 metrics
|
|
155
|
+
experiencesProcessed,
|
|
156
|
+
patternsPromoted,
|
|
157
|
+
patternsDeprecated,
|
|
158
|
+
});
|
|
159
|
+
return this.createResult(Date.now() - startTime, {
|
|
160
|
+
itemsAnalyzed: result.patternsAnalyzed,
|
|
161
|
+
issuesFound: result.patternsPruned + result.patternsDeprecated,
|
|
162
|
+
healthScore,
|
|
163
|
+
trend: this.determineTrend(result),
|
|
164
|
+
domainMetrics: {
|
|
165
|
+
patternsAnalyzed: result.patternsAnalyzed,
|
|
166
|
+
patternsPruned: result.patternsPruned,
|
|
167
|
+
patternsConsolidated: result.patternsConsolidated,
|
|
168
|
+
newInsights: result.newInsights,
|
|
169
|
+
crossDomainPatterns: result.crossDomainPatterns,
|
|
170
|
+
// ADR-046: Dream cycle metrics
|
|
171
|
+
dreamInsights: result.dreamInsights,
|
|
172
|
+
dreamPatternsCreated: result.dreamPatternsCreated,
|
|
173
|
+
// Phase 7: Continuous Learning Loop metrics
|
|
174
|
+
experiencesProcessed: result.experiencesProcessed,
|
|
175
|
+
patternCandidatesFound: result.patternCandidatesFound,
|
|
176
|
+
patternsPromoted: result.patternsPromoted,
|
|
177
|
+
patternsDeprecated: result.patternsDeprecated,
|
|
178
|
+
confidenceDecayApplied: result.confidenceDecayApplied,
|
|
179
|
+
// #486 Gap A: mineExperiences auto-trigger
|
|
180
|
+
patternsMined: result.patternsMined,
|
|
181
|
+
domainsMined: result.domainsMined,
|
|
182
|
+
// #488 C.2: dream_insights retention pruning
|
|
183
|
+
dreamInsightsPruned: result.dreamInsightsPruned,
|
|
184
|
+
},
|
|
185
|
+
}, findings, recommendations);
|
|
186
|
+
}
|
|
187
|
+
catch (error) {
|
|
188
|
+
// Record the failure shape and rethrow — BaseWorker handles
|
|
189
|
+
// worker-level retry/error tracking via this throw.
|
|
190
|
+
liveness = { success: false, error: error instanceof Error ? error.message : String(error) };
|
|
191
|
+
throw error;
|
|
192
|
+
}
|
|
193
|
+
finally {
|
|
194
|
+
// #491 Bug 4a: liveness must always reach the dashboard, even when
|
|
195
|
+
// collectPatterns throws on empty installs. Best-effort — must not
|
|
196
|
+
// throw or it would shadow the original error.
|
|
197
|
+
try {
|
|
198
|
+
await recordLoopHealth(context.memory, 'learningWorker', liveness);
|
|
199
|
+
}
|
|
200
|
+
catch (recordErr) {
|
|
201
|
+
context.logger.warn('recordLoopHealth failed (non-fatal)', {
|
|
202
|
+
error: recordErr instanceof Error ? recordErr.message : String(recordErr),
|
|
203
|
+
});
|
|
204
|
+
}
|
|
205
|
+
}
|
|
179
206
|
}
|
|
180
207
|
/**
|
|
181
208
|
* Phase 7: Run the continuous learning loop
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "agentic-qe",
|
|
3
|
-
"version": "3.9.
|
|
3
|
+
"version": "3.9.32",
|
|
4
4
|
"description": "Agentic Quality Engineering V3 - Domain-Driven Design Architecture with 13 Bounded Contexts, O(log n) coverage analysis, ReasoningBank learning, 60 specialized QE agents, mathematical Coherence verification, deep Claude Flow integration",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -62,6 +62,8 @@
|
|
|
62
62
|
"test:all": "npm test -- --run",
|
|
63
63
|
"test:mcp": "npm run test:unit:mcp",
|
|
64
64
|
"test:mcp:integration": "npm test -- --run tests/integration/mcp/",
|
|
65
|
+
"test:integration:fast": "NODE_OPTIONS='--max-old-space-size=2048 --expose-gc' vitest run tests/integration/mcp/fleet-init-wires-daemon.test.ts tests/integration/workers/workers-reach-domains.test.ts tests/integration/learning/coordinator-roundtrip.test.ts tests/integration/bridge/bridge-end-to-end.test.ts",
|
|
66
|
+
"test:integration": "NODE_OPTIONS='--max-old-space-size=4096 --expose-gc' vitest run tests/integration/ --exclude='**/browser/**' --exclude='**/browser-integration/**' --exclude='**/*.e2e.test.ts'",
|
|
65
67
|
"mcp:validate": "echo 'MCP validation: All tools registered in MCP server' && exit 0",
|
|
66
68
|
"mcp:report": "echo 'MCP Report: uses vitest for test reporting' && exit 0",
|
|
67
69
|
"test:code-intelligence": "npm test -- --run tests/unit/domains/code-intelligence/ tests/unit/coordination/mincut/",
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.31");process.exit(0)}
|
|
2
|
-
import{a,b,c}from"./chunk-YMN4C32S.js";import"./chunk-JJRZOLDY.js";import"./chunk-5M4F3PAL.js";import"./chunk-WB6TI6Q3.js";import"./chunk-K6MFAVXK.js";import"./chunk-BMS7WFDB.js";export{a as AgentBoosterAdapter,b as createAgentBoosterAdapter,c as createAgentBoosterAdapterSync};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.31");process.exit(0)}
|
|
2
|
-
import{a,b,c,d,e,f}from"./chunk-G3YKCZWQ.js";import"./chunk-YN7HCVUP.js";import"./chunk-VOOJDHLI.js";import"./chunk-YEZJE2ZW.js";import"./chunk-UIIEZMSM.js";import"./chunk-VA45HLBF.js";import"./chunk-PYYNY7RJ.js";import"./chunk-AQN6PDHI.js";import"./chunk-ZG4EKPGV.js";import"./chunk-N6P7ENG7.js";import"./chunk-M6RVKGIP.js";import"./chunk-CNKOIHF6.js";import"./chunk-VSKABN3B.js";import"./chunk-XTWYCMAM.js";import"./chunk-7MXQV7RB.js";import"./chunk-X2FLWV5C.js";import"./chunk-WB6TI6Q3.js";import"./chunk-NTVJKQ5S.js";import"./chunk-5Z6PYYWK.js";import"./chunk-NZQYNUGM.js";import"./chunk-IRRGUXAU.js";import"./chunk-K6MFAVXK.js";import"./chunk-GQFAVT2I.js";import"./chunk-CFLA2GBS.js";import"./chunk-EJXRBAQF.js";import"./chunk-N6SIKSCO.js";import"./chunk-5WWQLPB4.js";import"./chunk-7OVVBBOZ.js";import"./chunk-G2U7Q6V6.js";import"./chunk-CUSLB7MB.js";import"./chunk-DMF4Z2M6.js";import"./chunk-AKFRM4IO.js";import"./chunk-BMS7WFDB.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,2 +0,0 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.31");process.exit(0)}
|
|
2
|
-
import{a,b,c,d,e,f}from"./chunk-AKJWBJDK.js";import"./chunk-EAIPJSKH.js";import"./chunk-7MXQV7RB.js";import"./chunk-X2FLWV5C.js";import"./chunk-WB6TI6Q3.js";import"./chunk-5Z6PYYWK.js";import"./chunk-NZQYNUGM.js";import"./chunk-K6MFAVXK.js";import"./chunk-GQFAVT2I.js";import"./chunk-CFLA2GBS.js";import"./chunk-EJXRBAQF.js";import"./chunk-N6SIKSCO.js";import"./chunk-5WWQLPB4.js";import"./chunk-7OVVBBOZ.js";import"./chunk-G2U7Q6V6.js";import"./chunk-CUSLB7MB.js";import"./chunk-DMF4Z2M6.js";import"./chunk-AKFRM4IO.js";import"./chunk-BMS7WFDB.js";export{f as MCPToolBase,e as defaultToolLogger,d as getMemoryBackend,b as getSharedMemoryBackend,a as registerRvfResetFn,c as resetSharedMemoryBackend};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.31");process.exit(0)}
|
|
2
|
-
import{a}from"./chunk-IY4P35N3.js";import"./chunk-AKJWBJDK.js";import"./chunk-EAIPJSKH.js";import"./chunk-7MXQV7RB.js";import"./chunk-X2FLWV5C.js";import"./chunk-WB6TI6Q3.js";import"./chunk-5Z6PYYWK.js";import"./chunk-NZQYNUGM.js";import"./chunk-K6MFAVXK.js";import"./chunk-GQFAVT2I.js";import"./chunk-CFLA2GBS.js";import"./chunk-EJXRBAQF.js";import"./chunk-N6SIKSCO.js";import"./chunk-5WWQLPB4.js";import"./chunk-7OVVBBOZ.js";import"./chunk-G2U7Q6V6.js";import"./chunk-CUSLB7MB.js";import"./chunk-DMF4Z2M6.js";import"./chunk-AKFRM4IO.js";import"./chunk-BMS7WFDB.js";export{a as BrowserWorkflowTool};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.31");process.exit(0)}
|
|
2
|
-
import{a as e,b as g,e as r}from"./chunk-NZQYNUGM.js";import{c as o}from"./chunk-BMS7WFDB.js";var L=o(()=>{"use strict";e();g();r()});export{L as a};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.31");process.exit(0)}
|
|
2
|
-
import{a as o,e as l}from"./chunk-7OVVBBOZ.js";import{a,d as u}from"./chunk-G2U7Q6V6.js";u();l();var c=class{store=new Map;vectors=new Map;cleanupInterval;async initialize(){this.cleanupInterval=setInterval(()=>this.cleanup(),o.CLEANUP_INTERVAL_MS),this.cleanupInterval.unref&&this.cleanupInterval.unref()}async dispose(){this.cleanupInterval&&clearInterval(this.cleanupInterval),this.store.clear(),this.vectors.clear()}async set(t,r,e){let s={value:r,namespace:e?.namespace??"default",createdAt:Date.now()};e?.ttl&&(s.expiresAt=Date.now()+e.ttl*o.TTL_MULTIPLIER_MS);let n=this.buildKey(t,e?.namespace);this.store.set(n,s)}async get(t,r){let e=this.buildKey(t,r),s=this.store.get(e);if(s){if(s.expiresAt&&Date.now()>s.expiresAt){this.store.delete(e);return}return s.value}}async delete(t,r){let e=this.buildKey(t,r);return this.store.delete(e)}async has(t,r){return await this.get(t,r)!==void 0}async search(t,r=o.DEFAULT_SEARCH_LIMIT){let e=t.replace(/[.+?^${}()|[\]\\]/g,"\\$&"),s=new RegExp(e.replace(/\*/g,".*")),n=[];for(let i of this.store.keys())if(s.test(i)&&(n.push(i),n.length>=r))break;return n}async vectorSearch(t,r){let e=[];for(let[s,n]of this.vectors.entries()){let i=a(t,n.embedding);e.push({key:s,score:i,metadata:n.metadata})}return e.sort((s,n)=>n.score-s.score).slice(0,r)}async storeVector(t,r,e){this.vectors.set(t,{embedding:r,metadata:e})}buildKey(t,r){return r?`${r}:${t}`:t}cleanup(){let t=Date.now();for(let[r,e]of this.store.entries())e.expiresAt&&t>e.expiresAt&&this.store.delete(r)}getStats(){return{entries:this.store.size,vectors:this.vectors.size}}async clear(t){if(t){let r=`${t}:`;for(let e of this.store.keys())e.startsWith(r)&&this.store.delete(e)}else this.store.clear()}async count(t){let r=0,e=`${t}:`;for(let s of this.store.keys())if(s.startsWith(e)){let n=this.store.get(s);n&&(!n.expiresAt||Date.now()<=n.expiresAt)&&r++}return r}async hasCodeIntelligenceIndex(){return await this.count("code-intelligence:kg")>0}};export{c as a};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.31");process.exit(0)}
|
|
2
|
-
import{c as a,d as b,e as c}from"./chunk-GJSH4UZ3.js";import"./chunk-NBKM7NKX.js";import"./chunk-K6MFAVXK.js";import"./chunk-BMS7WFDB.js";c();export{a as VibiumClientImpl,b as VibiumClientProvider};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.31");process.exit(0)}
|
|
2
|
-
import{a,b}from"./chunk-TYUIQSSF.js";import"./chunk-EKYPQ5DX.js";import"./chunk-IRRGUXAU.js";import"./chunk-GQFAVT2I.js";import"./chunk-BMS7WFDB.js";export{a as CrossDomainEventRouter,b as createCrossDomainRouter};
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.31");process.exit(0)}
|
|
2
|
-
import{a as N}from"./chunk-QEJBJST4.js";import"./chunk-BMS7WFDB.js";import{Command as ae}from"commander";import s from"chalk";import{cpus as ne,freemem as ie,totalmem as re,loadavg as se}from"os";var f=class{queues={now:[],next:[],later:[]};_maxSize;constructor(e=1e3){this._maxSize=e}enqueue(e){return this.size>=this._maxSize?!1:(this.queues[e.priority].push(e),!0)}dequeue(){let e=Date.now();for(let t of["now","next","later"]){let o=this.queues[t];for(;o.length>0;){let n=o.shift();if(!(n.ttlMs&&e-n.createdAt>n.ttlMs))return n}}}peek(){let e=Date.now();for(let t of["now","next","later"]){let o=this.queues[t];for(let n of o)if(!n.ttlMs||e-n.createdAt<=n.ttlMs)return n}}drainPriority(e){let t=this.queues[e].splice(0),o=Date.now();return t.filter(n=>!n.ttlMs||o-n.createdAt<=n.ttlMs)}pruneExpired(){let e=0,t=Date.now();for(let o of["now","next","later"]){let n=this.queues[o].length;this.queues[o]=this.queues[o].filter(i=>!i.ttlMs||t-i.createdAt<=i.ttlMs),e+=n-this.queues[o].length}return e}get size(){return this.queues.now.length+this.queues.next.length+this.queues.later.length}get depths(){return{now:this.queues.now.length,next:this.queues.next.length,later:this.queues.later.length}}get isEmpty(){return this.size===0}clear(){this.queues.now=[],this.queues.next=[],this.queues.later=[]}};import{watch as E}from"fs";import{execFile as L}from"child_process";import{promisify as U}from"util";import{resolve as W,join as z}from"path";import{existsSync as j,readFileSync as B}from"fs";var M=U(L),J={repoRoot:process.cwd(),debounceMs:500,maxChangedFiles:200,pollIntervalMs:5e3},y=class{constructor(e,t){this.queue=e;this.options={...J,...t}}queue;watcher;pollTimer;options;lastKnownHeads=new Map;debounceTimer;_running=!1;_polling=!1;get running(){return this._running}async start(){if(this._running)return;let e=W(this.options.repoRoot,".git","refs","heads");if(!j(e))throw new Error(`Git refs directory not found: ${e}`);await this.snapshotHeads(),process.platform==="darwin"||process.platform==="win32"?this.watcher=E(e,{recursive:!0},(o,n)=>{n&&this.handleRefChange(n)}):this.pollTimer=setInterval(()=>{this.poll().catch(o=>{console.debug("[GitWatcher] Poll error:",o)})},this.options.pollIntervalMs),this._running=!0}stop(){this.debounceTimer&&(clearTimeout(this.debounceTimer),this.debounceTimer=void 0),this.pollTimer&&(clearInterval(this.pollTimer),this.pollTimer=void 0),this.watcher&&(this.watcher.close(),this.watcher=void 0),this._running=!1}async poll(){if(this._polling)return[];this._polling=!0;let e=[];try{let{stdout:t}=await M("git",["for-each-ref","--format=%(refname:short) %(objectname:short)","refs/heads/"],{cwd:this.options.repoRoot});for(let o of t.trim().split(`
|
|
3
|
-
`)){if(!o)continue;let[n,i]=o.split(" "),r=this.lastKnownHeads.get(n);r&&r!==i&&(e.push(n),await this.enqueueCommitAnalysis(n,i)),this.lastKnownHeads.set(n,i)}}catch{}finally{this._polling=!1}return e}handleRefChange(e){this.debounceTimer&&clearTimeout(this.debounceTimer),this.debounceTimer=setTimeout(()=>{this.processRefChange(e).catch(t=>{console.debug("[GitWatcher] Error processing ref change:",t)})},this.options.debounceMs)}async processRefChange(e){let t=e.replace(/\\/g,"/"),o=W(this.options.repoRoot,".git","refs","heads"),n=z(o,e),i;try{i=B(n,"utf-8").trim()}catch{return}this.lastKnownHeads.get(t)!==i&&(this.lastKnownHeads.set(t,i),await this.enqueueCommitAnalysis(t,i))}async enqueueCommitAnalysis(e,t){let o=[];try{let{stdout:r}=await M("git",["diff-tree","--no-commit-id","--name-only","-r",t],{cwd:this.options.repoRoot});o=r.trim().split(`
|
|
4
|
-
`).filter(Boolean).slice(0,this.options.maxChangedFiles)}catch{}let n={type:"git_commit",branch:e,commitHash:t,changedFiles:o},i={id:`git-${t}-${Date.now()}`,priority:"next",payload:n,createdAt:Date.now(),source:"git-watcher",ttlMs:300*1e3};this.queue.enqueue(i)}async snapshotHeads(){try{let{stdout:e}=await M("git",["for-each-ref","--format=%(refname:short) %(objectname:short)","refs/heads/"],{cwd:this.options.repoRoot});for(let t of e.trim().split(`
|
|
5
|
-
`)){if(!t)continue;let[o,n]=t.split(" ");this.lastKnownHeads.set(o,n)}}catch{}}};var V={regressionThreshold:2,gapThreshold:60,memoryPrefix:"quality-daemon:coverage"},v=class{constructor(e,t){this.queue=e;this.options={...V,...t}}queue;options;async analyze(e,t,o){let n=await t.get(`${this.options.memoryPrefix}:snapshot`);if(await t.set(`${this.options.memoryPrefix}:snapshot`,e),!n)return{regressionDetected:!1,overallDelta:{line:0,branch:0,function:0,statement:0},affectedFiles:[],newGaps:[]};let i=n,r={line:e.overall.line-i.overall.line,branch:e.overall.branch-i.overall.branch,function:e.overall.function-i.overall.function,statement:e.overall.statement-i.overall.statement},a=r.line<-this.options.regressionThreshold||r.branch<-this.options.regressionThreshold,c=o??Object.keys(e.files),d=[],h=[];for(let g of c){let m=e.files[g],p=i.files[g];if(!m)continue;let R=p?m.line-p.line:0,$=p?m.branch-p.branch:0,I=p?m.uncoveredLines.filter(_=>!p.uncoveredLines.includes(_)):m.uncoveredLines;if((R!==0||$!==0||I.length>0)&&d.push({file:g,lineDelta:R,branchDelta:$,newUncoveredLines:I}),m.line<this.options.gapThreshold){let _=this.computeRiskScore(m,I.length);h.push({file:g,uncoveredLines:m.uncoveredLines,currentCoverage:m.line,riskScore:_})}}return(a||h.length>0)&&this.enqueueTestSuggestion(e,i,h),await t.set(`${this.options.memoryPrefix}:delta`,{timestamp:Date.now(),overallDelta:r,regressionDetected:a,affectedFileCount:d.length,gapCount:h.length}),{regressionDetected:a,overallDelta:r,affectedFiles:d,newGaps:h}}async buildSnapshot(e){let t=await e.get("coverage:latest");if(t)return{timestamp:Date.now(),overall:{line:t.line,branch:t.branch,function:t.function,statement:t.statement},files:t.files??{}}}computeRiskScore(e,t){let n=1-Math.min(100,Math.max(0,e.line))/100,i=Math.min(t/50,1);return Math.min(1,n*.6+i*.4)}enqueueTestSuggestion(e,t,o){let n={type:"coverage_delta",previousSnapshot:`snapshot-${t.timestamp}`,currentSnapshot:`snapshot-${e.timestamp}`},i={id:`coverage-delta-${Date.now()}`,priority:o.some(r=>r.riskScore>.8)?"now":"next",payload:n,createdAt:Date.now(),source:"coverage-delta",ttlMs:600*1e3};this.queue.enqueue(i)}};import{execFile as K}from"child_process";import{promisify as Y}from"util";var X=Y(K),Z={runsPerWorkflow:10,flakyThreshold:3,repo:""},w=class{constructor(e,t){this.queue=e;this.options={...Z,...t}}queue;options;async check(){let e=await this.fetchRecentRuns(),t=this.groupByWorkflow(e),o=[],n=[],i=0;for(let[a,c]of Object.entries(t)){let d=c.filter(p=>p.conclusion==="failure").length,h=c.length>0?(c.length-d)/c.length*100:100,g=this.countConsecutiveFailures(c),m=c[0]?.conclusion??"unknown";m==="failure"&&i++,g>=this.options.flakyThreshold&&(n.push(a),this.enqueueFailureAlert(a,c[0])),o.push({name:a,recentRuns:c.length,failedRuns:d,successRate:Math.round(h*10)/10,lastConclusion:m,consecutiveFailures:g})}let r=this.calculateHealthScore(o);return{timestamp:Date.now(),workflows:o,failingWorkflows:i,flakyWorkflows:n,healthScore:r}}async fetchRecentRuns(){try{let e=["run","list","--limit",String(this.options.runsPerWorkflow*5),"--json","name,status,conclusion,headBranch,number,databaseId,createdAt"];this.options.repo&&e.push("--repo",this.options.repo);let{stdout:t}=await X("gh",e,{timeout:15e3});return JSON.parse(t).map(n=>({name:n.name,status:n.status,conclusion:n.conclusion??"pending",headBranch:n.headBranch,runNumber:n.number,databaseId:n.databaseId,createdAt:n.createdAt}))}catch{return[]}}groupByWorkflow(e){let t={};for(let o of e)t[o.name]||(t[o.name]=[]),t[o.name].push(o);for(let o of Object.keys(t))t[o]=t[o].slice(0,this.options.runsPerWorkflow);return t}countConsecutiveFailures(e){let t=0;for(let o of e)if(o.conclusion==="failure")t++;else break;return t}calculateHealthScore(e){if(e.length===0)return 100;let t=e.reduce((o,n)=>o+n.successRate,0)/e.length;return Math.round(t)}enqueueFailureAlert(e,t){let o={type:"ci_failure",workflowName:e,runId:t.databaseId,conclusion:t.conclusion},n={id:`ci-failure-${e}-${Date.now()}`,priority:"now",payload:o,createdAt:Date.now(),source:"ci-monitor",ttlMs:1800*1e3};this.queue.enqueue(n)}};var ee={memoryPrefix:"quality-daemon:suggestions",maxSuggestions:100,minRiskScore:.3},b=class{options;constructor(e){this.options={...ee,...e}}async suggest(e,t,o){let n=[],i=e.filter(a=>a.riskScore>=this.options.minRiskScore);for(let a of i){let c=t.includes(a.file),d=this.determinePriority(a,c),h=this.determineTestType(a.file),g=this.estimateEffort(a);n.push({id:`suggestion-${Date.now()}-${n.length}`,file:a.file,uncoveredLines:a.uncoveredLines.slice(0,50),suggestedTestType:h,description:this.generateDescription(a,h),priority:d,estimatedEffort:g,createdAt:Date.now(),status:"pending"})}n.sort((a,c)=>{let d={high:0,medium:1,low:2};return d[a.priority]-d[c.priority]});let r=n.slice(0,this.options.maxSuggestions);return await this.storeSuggestions(r,o),r}async getPending(e){return(await e.get(`${this.options.memoryPrefix}:list`)??[]).filter(o=>o.status==="pending")}async updateStatus(e,t,o){let n=await o.get(`${this.options.memoryPrefix}:list`);if(!n)return!1;let i=n.findIndex(a=>a.id===e);if(i===-1)return!1;let r=n.map((a,c)=>c===i?{...a,status:t}:a);return await o.set(`${this.options.memoryPrefix}:list`,r),!0}determinePriority(e,t){return e.riskScore>.8?"high":t||e.riskScore>.5?"medium":"low"}determineTestType(e){return e.includes("/api/")||e.includes("/routes/")||e.includes("/handlers/")?"integration":e.includes("/e2e/")||e.includes("/pages/")||e.includes("/views/")?"e2e":"unit"}estimateEffort(e){return e.uncoveredLines.length<=10?"small":e.uncoveredLines.length<=50?"medium":"large"}generateDescription(e,t){let o=e.uncoveredLines.length,n=Math.round(e.currentCoverage);return`Add ${t} tests for ${e.file} (${o} uncovered lines, ${n}% coverage, risk ${(e.riskScore*100).toFixed(0)}%)`}async storeSuggestions(e,t){let i=[...(await t.get(`${this.options.memoryPrefix}:list`)??[]).filter(r=>r.status!=="pending"),...e].slice(-this.options.maxSuggestions);await t.set(`${this.options.memoryPrefix}:list`,i),await t.set(`${this.options.memoryPrefix}:count`,{pending:e.length,total:i.length,lastUpdated:Date.now()})}};var te={memoryPrefix:"quality-daemon:nightly",maxEntryAge:6048e5,nightlyHour:2},k=class{constructor(e,t){this.queue=e;this.options={...te,...t}}queue;options;lastRunDate;shouldRun(){let e=new Date,t=e.toISOString().split("T")[0];return this.lastRunDate===t?!1:e.getHours()>=this.options.nightlyHour}scheduleIfDue(){if(!this.shouldRun())return!1;let e={type:"nightly",tasks:["consolidate_patterns","prune_expired","generate_report"]},t={id:`nightly-${Date.now()}`,priority:"later",payload:e,createdAt:Date.now(),source:"nightly-consolidation",ttlMs:720*60*1e3};return this.queue.enqueue(t)}async execute(e,t){let o=Date.now(),n=new Date().toISOString().split("T")[0],i=await this.consolidatePatterns(e),r=await this.pruneExpired(e),a=this.generateReport(n,t);await e.set(`${this.options.memoryPrefix}:report:${n}`,a),this.lastRunDate=n;let c={timestamp:Date.now(),patternsConsolidated:i,entriesPruned:r,reportGenerated:!0,durationMs:Date.now()-o};return await e.set(`${this.options.memoryPrefix}:last-result`,c),c}async getLastResult(e){return e.get(`${this.options.memoryPrefix}:last-result`)}async consolidatePatterns(e){let t=await e.search("quality-daemon:*"),o=0;return await e.get("quality-daemon:suggestions:count")&&o++,await e.get("quality-daemon:coverage:delta")&&o++,o}async pruneExpired(e){let t=await e.search("quality-daemon:*"),o=0,n=Date.now();for(let i of t){if(i.endsWith(":snapshot")||i.endsWith(":list"))continue;let r=await e.get(i);r&&typeof r.timestamp=="number"&&n-r.timestamp>this.options.maxEntryAge&&(await e.set(i,{pruned:!0,prunedAt:n}),o++)}return o}generateReport(e,t){return{date:e,coverageHealth:t.coverageHealth??0,ciHealth:t.ciHealth??0,commitsAnalyzed:t.commitsAnalyzed??0,suggestionsGenerated:t.suggestionsGenerated??0,notificationsSent:t.notificationsSent??0,queueDepthAvg:t.queueDepthAvg??0,daemonUptime:t.uptimeSeconds??0}}};import{writeFileSync as A,mkdirSync as Q,readdirSync as P,readFileSync as F,unlinkSync as G}from"fs";import{join as C,resolve as oe}from"path";var O={notificationsDir:oe(process.cwd(),".agentic-qe","notifications"),maxNotifications:200},S=class{notificationsDir;maxNotifications;webhookUrl;urlValidator;_sentCount=0;constructor(e){this.notificationsDir=e?.notificationsDir??O.notificationsDir,this.maxNotifications=e?.maxNotifications??O.maxNotifications,this.webhookUrl=e?.webhookUrl,this.urlValidator=e?.urlValidator}get sentCount(){return this._sentCount}initialize(){Q(this.notificationsDir,{recursive:!0})}async send(e){let t={...e,id:`notif-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,timestamp:Date.now(),read:!1};return this.writeToFile(t),this.webhookUrl&&await this.sendWebhook(t),this._sentCount++,this.pruneOldNotifications(),t}list(e){let t=e?.limit??50;try{let o=P(this.notificationsDir).filter(i=>i.endsWith(".json")).sort().reverse(),n=[];for(let i of o){if(n.length>=t)break;try{let r=F(C(this.notificationsDir,i),"utf-8"),a=JSON.parse(r);if(e?.unreadOnly&&a.read||e?.type&&a.type!==e.type)continue;n.push(a)}catch{}}return n}catch{return[]}}markRead(e){try{let t=P(this.notificationsDir).filter(r=>r.endsWith(`-${e}.json`));if(t.length===0)return!1;let o=C(this.notificationsDir,t[0]),i={...JSON.parse(F(o,"utf-8")),read:!0};return A(o,JSON.stringify(i,null,2)),!0}catch{return!1}}clear(){try{let e=P(this.notificationsDir).filter(t=>t.endsWith(".json"));for(let t of e)G(C(this.notificationsDir,t));return e.length}catch{return 0}}writeToFile(e){try{Q(this.notificationsDir,{recursive:!0});let t=`${e.timestamp}-${e.id}.json`,o=C(this.notificationsDir,t);A(o,JSON.stringify(e,null,2))}catch(t){console.debug("[NotificationService] Failed to write notification:",t)}}async sendWebhook(e){if(this.webhookUrl){if(this.urlValidator&&!this.urlValidator(this.webhookUrl)){console.warn("[NotificationService] Webhook URL blocked by SSRF guard:",this.webhookUrl);return}try{let t=await fetch(this.webhookUrl,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e),signal:AbortSignal.timeout(5e3)});t.ok||console.debug(`[NotificationService] Webhook returned ${t.status}`)}catch(t){console.debug("[NotificationService] Webhook delivery failed:",t)}}}pruneOldNotifications(){try{let e=P(this.notificationsDir).filter(o=>o.endsWith(".json")).sort();if(e.length<=this.maxNotifications)return;let t=e.slice(0,e.length-this.maxNotifications);for(let o of t)G(C(this.notificationsDir,o))}catch{}}};var q="quality-daemon",D=class{constructor(e){this.backend=e}backend;async get(e){return this.backend.kvGet(e,q)}async set(e,t){await this.backend.kvSet(e,t,q)}async search(e){return this.backend.kvSearch(e,q)}};var T={tickIntervalMs:3e4,ciPollIntervalMs:5*6e4,coverageCheckIntervalMs:2*6e4,cpuThreshold:.7,memoryThreshold:.8},x=class{queue;gitWatcher;coverageDelta;ciMonitor;testSuggester;nightlyConsolidation;notificationService;tickTimer;_running=!1;_startedAt=0;_tickCount=0;_lastTickAt;_throttled=!1;_commitsAnalyzed=0;_suggestionsGenerated=0;_ciHealth=100;_coverageHealth=100;_lastCICheck;_lastCoverageCheck;_memory;config;constructor(e){this.config={tickIntervalMs:e?.tickIntervalMs??T.tickIntervalMs,ciPollIntervalMs:e?.ciPollIntervalMs??T.ciPollIntervalMs,coverageCheckIntervalMs:e?.coverageCheckIntervalMs??T.coverageCheckIntervalMs,cpuThreshold:e?.cpuThreshold??T.cpuThreshold,memoryThreshold:e?.memoryThreshold??T.memoryThreshold},this.queue=new f,this.gitWatcher=new y(this.queue,e?.git),this.coverageDelta=new v(this.queue,e?.coverage),this.ciMonitor=new w(this.queue,e?.ci),this.testSuggester=new b(e?.suggestions),this.nightlyConsolidation=new k(this.queue,e?.nightly),this.notificationService=new S(e?.notifications)}get running(){return this._running}async start(e){this._running||(this._memory=e,this._running=!0,this._startedAt=Date.now(),this.notificationService.initialize(),await this.gitWatcher.start().catch(t=>{console.debug("[QualityDaemon] Git watcher failed to start:",t)}),this.scheduleTick())}async stop(){this._running&&(this._running=!1,this.tickTimer&&(clearTimeout(this.tickTimer),this.tickTimer=void 0),this.gitWatcher.stop(),this._memory&&await this._memory.set("quality-daemon:state",{stoppedAt:Date.now(),tickCount:this._tickCount,commitsAnalyzed:this._commitsAnalyzed,suggestionsGenerated:this._suggestionsGenerated}))}getStatus(){return{running:this._running,uptimeSeconds:this._running?Math.floor((Date.now()-this._startedAt)/1e3):0,tickCount:this._tickCount,queueDepth:this.queue.depths,lastTickAt:this._lastTickAt,throttled:this._throttled,commitsAnalyzed:this._commitsAnalyzed,suggestionsGenerated:this._suggestionsGenerated,notificationsSent:this.notificationService.sentCount,ciHealth:this._ciHealth,coverageHealth:this._coverageHealth,lastCICheck:this._lastCICheck,lastCoverageCheck:this._lastCoverageCheck}}scheduleTick(){this._running&&(this.tickTimer=setTimeout(()=>this.tick(),this.config.tickIntervalMs))}async tick(){if(!(!this._running||!this._memory)){if(this._tickCount++,this._lastTickAt=Date.now(),this._throttled=this.isResourceConstrained(),this._throttled){await this.processNowItems(this._memory),this.scheduleTick();return}await this.processQueue(this._memory),await this.runPeriodicChecks(this._memory),this.nightlyConsolidation.scheduleIfDue(),this.queue.pruneExpired(),this.scheduleTick()}}async processQueue(e){let t=0,o=10;for(;t<o&&!this.queue.isEmpty;){let n=this.queue.dequeue();if(!n)break;await this.handleQueueItem(n,e),t++}}async processNowItems(e){let t=this.queue.drainPriority("now");for(let o of t)await this.handleQueueItem(o,e)}async handleQueueItem(e,t){let o=e.payload;switch(o.type){case"git_commit":this._commitsAnalyzed++;let n=await this.coverageDelta.buildSnapshot(t);if(n){let i=await this.coverageDelta.analyze(n,t,o.changedFiles);if(i.regressionDetected&&await this.notificationService.send({type:"coverage_drop",title:"Coverage Regression Detected",message:`Line coverage delta: ${i.overallDelta.line.toFixed(1)}% (${i.affectedFiles.length} files affected)`,severity:"high",metadata:{delta:i.overallDelta,commit:o.commitHash}}),i.newGaps.length>0){let r=await this.testSuggester.suggest(i.newGaps,o.changedFiles,t);this._suggestionsGenerated+=r.length,r.length>0&&await this.notificationService.send({type:"suggestion_available",title:"New Test Suggestions Available",message:`${r.length} test suggestions generated for uncovered code`,severity:"info",metadata:{count:r.length}})}}break;case"coverage_delta":{let i=await this.testSuggester.getPending(t);i.length>0&&await this.notificationService.send({type:"suggestion_available",title:"Test Suggestions Pending",message:`${i.length} test suggestions awaiting review`,severity:"info",metadata:{count:i.length}});break}case"gate_failure":await this.notificationService.send({type:"gate_failure",title:`Quality Gate Failed: ${o.gateName}`,message:`Score ${o.score} below threshold ${o.threshold}`,severity:"critical",metadata:{gate:o.gateName,score:o.score,threshold:o.threshold}});break;case"ci_failure":await this.notificationService.send({type:"ci_failure",title:`CI Failure: ${o.workflowName}`,message:`Workflow ${o.workflowName} run #${o.runId} concluded: ${o.conclusion}`,severity:"high",metadata:{workflow:o.workflowName,runId:o.runId}});break;case"nightly":{let i={coverageHealth:this._coverageHealth,ciHealth:this._ciHealth,commitsAnalyzed:this._commitsAnalyzed,suggestionsGenerated:this._suggestionsGenerated,notificationsSent:this.notificationService.sentCount,queueDepthAvg:this.queue.size,uptimeSeconds:Math.floor((Date.now()-this._startedAt)/1e3)};await this.nightlyConsolidation.execute(t,i);break}default:console.warn("[QualityDaemon] Unhandled payload type:",o.type)}}async runPeriodicChecks(e){let t=Date.now();if(!this._lastCICheck||t-this._lastCICheck>=this.config.ciPollIntervalMs)try{let o=await this.ciMonitor.check();this._ciHealth=o.healthScore,this._lastCICheck=t,o.flakyWorkflows.length>0&&await this.notificationService.send({type:"flaky_detected",title:"Flaky Workflows Detected",message:`${o.flakyWorkflows.length} workflows showing repeated failures: ${o.flakyWorkflows.join(", ")}`,severity:"medium",metadata:{workflows:o.flakyWorkflows}})}catch{}if(!this._lastCoverageCheck||t-this._lastCoverageCheck>=this.config.coverageCheckIntervalMs)try{let o=await this.coverageDelta.buildSnapshot(e);o&&(this._coverageHealth=Math.round((o.overall.line+o.overall.branch+o.overall.function+o.overall.statement)/4),this._lastCoverageCheck=t)}catch{}}isResourceConstrained(){if(1-ie()/re()>this.config.memoryThreshold)return!0;let t=ne().length;return(t>0?se()[0]/t:0)>this.config.cpuThreshold}};var u;function Ke(){let l=new ae("daemon").description("Manage the QE Quality Daemon").addHelpText("after",`
|
|
6
|
-
Examples:
|
|
7
|
-
aqe daemon start Start daemon in foreground
|
|
8
|
-
aqe daemon stop Stop running daemon
|
|
9
|
-
aqe daemon status Show daemon health and queue depth
|
|
10
|
-
aqe daemon notifications List recent notifications
|
|
11
|
-
aqe daemon clear-notifications Clear all notifications
|
|
12
|
-
`);return l.command("start").description("Start the QE Quality Daemon").option("--tick-interval <ms>","Tick interval in milliseconds","30000").option("--ci-interval <ms>","CI poll interval in milliseconds","300000").action(async e=>{if(u?.running){console.log(s.yellow("Daemon is already running"));let r=u.getStatus();console.log(s.gray(` Uptime: ${r.uptimeSeconds}s, Ticks: ${r.tickCount}`));return}let t={tickIntervalMs:parseInt(e.tickInterval,10),ciPollIntervalMs:parseInt(e.ciInterval,10),notifications:{urlValidator:r=>{try{let c=new URL(r).hostname.replace(/^\[|\]$/g,"");return!N(c)}catch{return!1}}}};u=new x(t);let o;try{let{UnifiedMemoryManager:r}=await import("./unified-memory-YDKXKW3D.js"),a=await r.getInstanceAsync();o=new D(a),console.log(s.gray(" Storage: SQLite (persistent)"))}catch{let r=new Map;o={async get(a){return r.get(a)},async set(a,c){r.set(a,c)},async search(a){let c=a.replace(/[.+?^${}()|[\]\\]/g,"\\$&"),d=new RegExp(c.replace(/\*/g,".*"));return Array.from(r.keys()).filter(h=>d.test(h))}},console.log(s.yellow(" Storage: in-memory (no SQLite available, state will not persist)"))}console.log(s.green("Starting QE Quality Daemon...")),await u.start(o),console.log(s.green("QE Quality Daemon started")),console.log(s.gray(` Tick interval: ${t.tickIntervalMs}ms`)),console.log(s.gray(` CI poll interval: ${t.ciPollIntervalMs}ms`)),console.log(s.gray(` PID: ${process.pid}`)),console.log(s.gray(`
|
|
13
|
-
Press Ctrl+C to stop`));let n=setInterval(()=>{u?.running||clearInterval(n)},5e3),i=async()=>{console.log(s.yellow(`
|
|
14
|
-
Stopping QE Quality Daemon...`)),await u?.stop(),clearInterval(n),console.log(s.green("Daemon stopped")),process.exit(0)};process.once("SIGINT",i),process.once("SIGTERM",i)}),l.command("stop").description("Stop the QE Quality Daemon").action(async()=>{if(!u?.running){console.log(s.yellow("No running daemon found"));return}await u.stop(),console.log(s.green("Daemon stopped")),u=void 0}),l.command("status").description("Show daemon health and queue status").action(()=>{if(!u){console.log(s.yellow("No daemon instance (start with: aqe daemon start)"));return}let e=u.getStatus();console.log(s.bold(`
|
|
15
|
-
QE Quality Daemon Status`)),console.log(s.gray("\u2500".repeat(40))),console.log(` Running: ${e.running?s.green("yes"):s.red("no")}`),console.log(` Uptime: ${le(e.uptimeSeconds)}`),console.log(` Ticks: ${e.tickCount}`),console.log(` Throttled: ${e.throttled?s.yellow("yes"):s.green("no")}`),console.log(s.bold(`
|
|
16
|
-
Queue Depth`)),console.log(` Now: ${e.queueDepth.now}`),console.log(` Next: ${e.queueDepth.next}`),console.log(` Later: ${e.queueDepth.later}`),console.log(s.bold(`
|
|
17
|
-
Health`)),console.log(` CI: ${H(e.ciHealth)}${e.ciHealth}%${s.reset("")}`),console.log(` Coverage: ${H(e.coverageHealth)}${e.coverageHealth}%${s.reset("")}`),console.log(s.bold(`
|
|
18
|
-
Activity`)),console.log(` Commits: ${e.commitsAnalyzed}`),console.log(` Suggestions: ${e.suggestionsGenerated}`),console.log(` Notifications: ${e.notificationsSent}`),console.log()}),l.command("notifications").description("List recent notifications").option("--unread","Show only unread notifications").option("--limit <n>","Maximum notifications to show","20").option("--type <type>","Filter by type (gate_failure, coverage_drop, flaky_detected, etc.)").action(e=>{if(!u){console.log(s.yellow("No daemon instance"));return}let t=u.notificationService.list({unreadOnly:e.unread,limit:parseInt(e.limit,10),type:e.type});if(t.length===0){console.log(s.gray("No notifications"));return}console.log(s.bold(`
|
|
19
|
-
Notifications (${t.length})`)),console.log(s.gray("\u2500".repeat(60)));for(let o of t){let n=ce(o.severity),i=new Date(o.timestamp).toLocaleString(),r=o.read?s.gray("\u2713"):s.yellow("\u25CF");console.log(`${r} ${n} ${s.bold(o.title)}`),console.log(` ${o.message}`),console.log(s.gray(` ${i} [${o.type}]`)),console.log()}}),l.command("clear-notifications").description("Clear all notifications").action(()=>{if(!u){console.log(s.yellow("No daemon instance"));return}let e=u.notificationService.clear();console.log(s.green(`Cleared ${e} notifications`))}),l}function le(l){if(l<60)return`${l}s`;if(l<3600)return`${Math.floor(l/60)}m ${l%60}s`;let e=Math.floor(l/3600),t=Math.floor(l%3600/60);return`${e}h ${t}m`}function H(l){return l>=80?s.green(""):l>=60?s.yellow(""):s.red("")}function ce(l){switch(l){case"critical":return s.red("!!");case"high":return s.red("!");case"medium":return s.yellow("~");case"low":return s.blue("-");case"info":return s.gray("i");default:return" "}}export{Ke as createDaemonCommand};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.31");process.exit(0)}
|
|
2
|
-
import{b as a,c as b,d as c,e as d,f as e,g as f,h as g,i as h,j as i,k as j,l as k,m as l,n as m,o as n,p as o,q as p,r as q,s as r,t as s,u as t,v as u}from"./chunk-JRIDPOEZ.js";import"./chunk-KXRDQQGN.js";import"./chunk-G3YKCZWQ.js";import"./chunk-YN7HCVUP.js";import"./chunk-VOOJDHLI.js";import"./chunk-YEZJE2ZW.js";import"./chunk-UIIEZMSM.js";import"./chunk-VA45HLBF.js";import"./chunk-PYYNY7RJ.js";import"./chunk-AQN6PDHI.js";import"./chunk-ZG4EKPGV.js";import"./chunk-N6P7ENG7.js";import"./chunk-M6RVKGIP.js";import"./chunk-CNKOIHF6.js";import"./chunk-HHEIQHLQ.js";import"./chunk-VSKABN3B.js";import"./chunk-XTWYCMAM.js";import"./chunk-7MXQV7RB.js";import"./chunk-X2FLWV5C.js";import"./chunk-WB6TI6Q3.js";import"./chunk-NTVJKQ5S.js";import"./chunk-5Z6PYYWK.js";import"./chunk-NZQYNUGM.js";import"./chunk-IRRGUXAU.js";import"./chunk-K6MFAVXK.js";import"./chunk-GQFAVT2I.js";import"./chunk-CFLA2GBS.js";import"./chunk-EJXRBAQF.js";import"./chunk-N6SIKSCO.js";import"./chunk-5WWQLPB4.js";import"./chunk-7OVVBBOZ.js";import"./chunk-G2U7Q6V6.js";import"./chunk-CUSLB7MB.js";import"./chunk-DMF4Z2M6.js";import"./chunk-AKFRM4IO.js";import"./chunk-BMS7WFDB.js";export{t as BUILT_IN_STRATEGIES,e as ConceptGraph,j as DEFAULT_ACTIVATION_CONFIG,d as DEFAULT_CONCEPT_GRAPH_CONFIG,p as DEFAULT_DREAM_CONFIG,a as DEFAULT_DREAM_SCHEDULER_CONFIG,l as DEFAULT_INSIGHT_CONFIG,n as DEFAULT_VALIDATION_THRESHOLDS,q as DreamEngine,b as DreamScheduler,i as HISTORY_TRIM_TARGET_RATIO,m as InsightGenerator,g as MAX_ACTIVATION_HISTORY_ENTRIES,h as MAX_COACTIVATION_ENTRIES,o as RVCOWBranchManager,u as SpeculativeDreamer,k as SpreadingActivation,f as createConceptGraph,r as createDreamEngine,c as createDreamScheduler,s as default};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.31");process.exit(0)}
|
|
2
|
-
import{a,c as b}from"./chunk-CUSLB7MB.js";import"./chunk-DMF4Z2M6.js";import"./chunk-AKFRM4IO.js";import"./chunk-BMS7WFDB.js";b();export{a as HnswAdapter};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.31");process.exit(0)}
|
|
2
|
-
import{a,b,c,d}from"./chunk-VLAGWLHF.js";import"./chunk-5Z6PYYWK.js";import"./chunk-NZQYNUGM.js";import"./chunk-5WWQLPB4.js";import"./chunk-CUSLB7MB.js";import"./chunk-DMF4Z2M6.js";import"./chunk-AKFRM4IO.js";import"./chunk-BMS7WFDB.js";export{a as DEFAULT_HNSW_CONFIG,b as HNSWIndex,d as benchmarkHNSW,c as createHNSWIndex};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.31");process.exit(0)}
|
|
2
|
-
import{a}from"./chunk-ENCFLC44.js";import"./chunk-BYHUGO73.js";import"./chunk-WB6TI6Q3.js";import"./chunk-5Z6PYYWK.js";import"./chunk-NZQYNUGM.js";import"./chunk-IRRGUXAU.js";import"./chunk-K6MFAVXK.js";import"./chunk-GQFAVT2I.js";import"./chunk-BMS7WFDB.js";export{a as ImpactAnalyzerService};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.31");process.exit(0)}
|
|
2
|
-
import{a,b,c,d}from"./chunk-KJAIE7SL.js";import"./chunk-YQJBE6NX.js";import"./chunk-W7XVEWKQ.js";import"./chunk-DUF733Z7.js";import"./chunk-TVHWI77X.js";import"./chunk-WB6TI6Q3.js";import"./chunk-K6MFAVXK.js";import"./chunk-CFLA2GBS.js";import"./chunk-EJXRBAQF.js";import"./chunk-BMS7WFDB.js";export{a as InitOrchestrator,b as createInitOrchestrator,d as formatInitResult,c as quickInit};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.31");process.exit(0)}
|
|
2
|
-
import{y as a,z as b}from"./chunk-T4DDCMKG.js";import"./chunk-462MZLJB.js";import"./chunk-A424Z7LA.js";import"./chunk-5AMAJCZS.js";import"./chunk-VAIOZDG5.js";import"./chunk-QGLWFZVQ.js";import"./chunk-ZBJRNCWX.js";import"./chunk-7V7TP242.js";import"./chunk-52D3CYE5.js";import"./chunk-CQWZNVIM.js";import"./chunk-JF3U456G.js";import"./chunk-EKYPQ5DX.js";import"./chunk-ENCFLC44.js";import"./chunk-BYHUGO73.js";import"./chunk-L7DNPOAQ.js";import"./chunk-GJSH4UZ3.js";import"./chunk-NBKM7NKX.js";import"./chunk-JRIDPOEZ.js";import"./chunk-KXRDQQGN.js";import"./chunk-RTGNWRQI.js";import"./chunk-47QIAHUJ.js";import"./chunk-TJGIIGKL.js";import"./chunk-G3YKCZWQ.js";import"./chunk-YN7HCVUP.js";import"./chunk-3VKB4HVT.js";import"./chunk-NNF3GCGF.js";import"./chunk-VOOJDHLI.js";import"./chunk-YEZJE2ZW.js";import"./chunk-UIIEZMSM.js";import"./chunk-VA45HLBF.js";import"./chunk-PYYNY7RJ.js";import"./chunk-AQN6PDHI.js";import"./chunk-ZG4EKPGV.js";import"./chunk-N6P7ENG7.js";import"./chunk-M6RVKGIP.js";import"./chunk-CNKOIHF6.js";import"./chunk-OXOXNAEZ.js";import"./chunk-EAIPJSKH.js";import"./chunk-HHEIQHLQ.js";import"./chunk-VSKABN3B.js";import"./chunk-XTWYCMAM.js";import"./chunk-7MXQV7RB.js";import"./chunk-X2FLWV5C.js";import"./chunk-WB6TI6Q3.js";import"./chunk-NTVJKQ5S.js";import"./chunk-VLAGWLHF.js";import"./chunk-5Z6PYYWK.js";import"./chunk-NZQYNUGM.js";import"./chunk-IRRGUXAU.js";import"./chunk-K6MFAVXK.js";import"./chunk-GQFAVT2I.js";import"./chunk-RBDAHW2M.js";import"./chunk-CFLA2GBS.js";import"./chunk-EJXRBAQF.js";import"./chunk-N6SIKSCO.js";import"./chunk-5WWQLPB4.js";import"./chunk-7OVVBBOZ.js";import"./chunk-G2U7Q6V6.js";import"./chunk-CUSLB7MB.js";import"./chunk-DMF4Z2M6.js";import"./chunk-AKFRM4IO.js";import"./chunk-BMS7WFDB.js";export{a as QEKernelImpl,b as createKernel};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.31");process.exit(0)}
|
|
2
|
-
import{g as a}from"./chunk-BYHUGO73.js";import"./chunk-WB6TI6Q3.js";import"./chunk-5Z6PYYWK.js";import"./chunk-NZQYNUGM.js";import"./chunk-IRRGUXAU.js";import"./chunk-K6MFAVXK.js";import"./chunk-BMS7WFDB.js";export{a as KnowledgeGraphService};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.31");process.exit(0)}
|
|
2
|
-
import{a}from"./chunk-L4JTTPU7.js";import"./chunk-AKJWBJDK.js";import"./chunk-EAIPJSKH.js";import"./chunk-7MXQV7RB.js";import"./chunk-X2FLWV5C.js";import"./chunk-WB6TI6Q3.js";import"./chunk-5Z6PYYWK.js";import"./chunk-NZQYNUGM.js";import"./chunk-K6MFAVXK.js";import"./chunk-GQFAVT2I.js";import"./chunk-CFLA2GBS.js";import"./chunk-EJXRBAQF.js";import"./chunk-N6SIKSCO.js";import"./chunk-5WWQLPB4.js";import"./chunk-7OVVBBOZ.js";import"./chunk-G2U7Q6V6.js";import"./chunk-CUSLB7MB.js";import"./chunk-DMF4Z2M6.js";import"./chunk-AKFRM4IO.js";import"./chunk-BMS7WFDB.js";export{a as LoadTestTool};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.31");process.exit(0)}
|
|
2
|
-
import{a}from"./chunk-RBDAHW2M.js";import"./chunk-7OVVBBOZ.js";import"./chunk-G2U7Q6V6.js";import"./chunk-BMS7WFDB.js";export{a as InMemoryBackend};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.31");process.exit(0)}
|
|
2
|
-
import{c as a,d as c}from"./chunk-UIRTXM7C.js";import"./chunk-ZWSRIJ2T.js";import"./chunk-62KYX5NH.js";import"./chunk-ROEIR3OD.js";import"./chunk-4N736EES.js";import"./chunk-JMLOEW7Y.js";import"./chunk-YMN4C32S.js";import"./chunk-JJRZOLDY.js";import"./chunk-5M4F3PAL.js";import"./chunk-NLUBN642.js";import"./chunk-SL4TAJOE.js";import"./chunk-XY3WUGD3.js";import"./chunk-PUSZ4NBY.js";import"./chunk-UNXUSYRL.js";import"./chunk-7UHRT5AX.js";import"./chunk-JKKV5KKS.js";import"./chunk-L4JTTPU7.js";import"./chunk-MYCVU3D3.js";import"./chunk-CYUGE5ZQ.js";import"./chunk-ONMJJ2C3.js";import"./chunk-IY4P35N3.js";import"./chunk-RDJWUKIR.js";import"./chunk-QITO7E7Y.js";import"./chunk-FOAWHNOP.js";import"./chunk-W7XVEWKQ.js";import"./chunk-T4DDCMKG.js";import"./chunk-462MZLJB.js";import"./chunk-A424Z7LA.js";import"./chunk-5AMAJCZS.js";import"./chunk-VAIOZDG5.js";import"./chunk-QGLWFZVQ.js";import"./chunk-ZBJRNCWX.js";import"./chunk-TYUIQSSF.js";import"./chunk-35SFAIXE.js";import"./chunk-7V7TP242.js";import"./chunk-52D3CYE5.js";import"./chunk-PSF6YQQM.js";import"./chunk-QEJBJST4.js";import"./chunk-5G2L4XRU.js";import"./chunk-TVHWI77X.js";import"./chunk-CQWZNVIM.js";import{a as m,b as R,d as $,e as y,f as g,i as b}from"./chunk-JF3U456G.js";import"./chunk-EKYPQ5DX.js";import"./chunk-ENCFLC44.js";import"./chunk-BYHUGO73.js";import"./chunk-L7DNPOAQ.js";import"./chunk-GJSH4UZ3.js";import"./chunk-NBKM7NKX.js";import"./chunk-JRIDPOEZ.js";import"./chunk-KXRDQQGN.js";import"./chunk-RTGNWRQI.js";import"./chunk-47QIAHUJ.js";import"./chunk-TJGIIGKL.js";import"./chunk-G3YKCZWQ.js";import"./chunk-YN7HCVUP.js";import"./chunk-3VKB4HVT.js";import"./chunk-NNF3GCGF.js";import"./chunk-VOOJDHLI.js";import"./chunk-YEZJE2ZW.js";import"./chunk-UIIEZMSM.js";import"./chunk-VA45HLBF.js";import"./chunk-PYYNY7RJ.js";import"./chunk-AQN6PDHI.js";import"./chunk-ZG4EKPGV.js";import"./chunk-N6P7ENG7.js";import"./chunk-M6RVKGIP.js";import"./chunk-CNKOIHF6.js";import"./chunk-OXOXNAEZ.js";import"./chunk-AKJWBJDK.js";import"./chunk-EAIPJSKH.js";import"./chunk-HHEIQHLQ.js";import"./chunk-VSKABN3B.js";import{b as w}from"./chunk-XTWYCMAM.js";import"./chunk-7MXQV7RB.js";import"./chunk-X2FLWV5C.js";import"./chunk-WB6TI6Q3.js";import"./chunk-NTVJKQ5S.js";import"./chunk-VLAGWLHF.js";import"./chunk-5Z6PYYWK.js";import"./chunk-NZQYNUGM.js";import"./chunk-IRRGUXAU.js";import{a as i,c as S}from"./chunk-K6MFAVXK.js";import"./chunk-GQFAVT2I.js";import"./chunk-RBDAHW2M.js";import"./chunk-CFLA2GBS.js";import"./chunk-EJXRBAQF.js";import"./chunk-N6SIKSCO.js";import"./chunk-5WWQLPB4.js";import"./chunk-7OVVBBOZ.js";import"./chunk-G2U7Q6V6.js";import"./chunk-CUSLB7MB.js";import"./chunk-DMF4Z2M6.js";import"./chunk-AKFRM4IO.js";import"./chunk-BMS7WFDB.js";S();async function T(e){if(!c())return{success:!1,error:"Fleet not initialized. Call fleet_init first."};let{kernel:s}=a();try{let t=e.namespace||"default",n=`${t}:${e.key}`;if(m()){let r=g(e.key,e.value,t,{tags:e.metadata?.tags}),o=await y.evaluateWrite(r);if(!o.allowed){if(R()&&b.recordViolation({type:"contradiction",severity:"medium",gate:"memoryWriteGate",description:`Memory write blocked for key ${e.key}: ${o.reason}`,context:{key:e.key,namespace:t,reason:o.reason,conflictingPatterns:o.conflictingPatterns}}),$())return{success:!1,error:`Memory write blocked by governance: ${o.reason}`};console.warn(`[MemoryHandler] Write allowed with warning: ${o.reason}`)}}await s.memory.set(n,e.value,{ttl:e.ttl});try{let r=`${e.key} ${JSON.stringify(e.value)}`,o=await w(r);await s.memory.storeVector(n,o,{key:e.key,namespace:t,storedAt:Date.now()})}catch(r){console.warn(`[MemoryHandler] Vector indexing failed for ${e.key}: ${i(r)}`)}return m()&&y.registerPattern(g(e.key,e.value,t)),{success:!0,data:{stored:!0,key:e.key,namespace:t,timestamp:new Date().toISOString(),persisted:!0}}}catch(t){return{success:!1,error:`Failed to store memory: ${i(t)}`}}}async function z(e){if(!c())return{success:!1,error:"Fleet not initialized. Call fleet_init first."};let{kernel:s}=a();try{let n=`${e.namespace||"default"}:${e.key}`,r=await s.memory.get(n);if(r===void 0)return{success:!0,data:{found:!1,key:e.key}};let o={found:!0,key:e.key,value:r,timestamp:new Date().toISOString()};return e.includeMetadata&&(o.metadata={}),{success:!0,data:o}}catch(t){return{success:!1,error:`Failed to retrieve memory: ${i(t)}`}}}function v(e){return e.includes(" ")&&!e.includes("*")&&!e.includes("?")}async function E(e){if(!c())return{success:!1,error:"Fleet not initialized. Call fleet_init first."};let{kernel:s}=a();try{let t=e.namespace||"default",n=e.limit||100,r=e.offset||0;if((e.semantic===!0||e.semantic!==!1&&e.pattern&&v(e.pattern))&&e.pattern)try{let l=await w(e.pattern),u=await s.memory.vectorSearch(l,n+r),M=t!=="default"?u.filter(d=>d.key.startsWith(`${t}:`)):u;return{success:!0,data:{entries:M.slice(r,r+n).map(d=>{let k=d.key.split(":");return{key:k.length>1?k.slice(1).join(":"):d.key,namespace:k.length>1?k[0]:t,score:d.score}}),total:M.length,hasMore:r+n<M.length,searchType:"semantic"}}}catch(l){console.error(`[MemoryHandler] Semantic search failed, falling back to pattern: ${i(l)}`)}let f=e.pattern?`${t}:${e.pattern}`:`${t}:*`,h=await s.memory.search(f,n+r);return{success:!0,data:{entries:h.slice(r,r+n).map(l=>{let u=l.split(":");return{key:u.slice(1).join(":"),namespace:u[0]}}),total:h.length,hasMore:r+n<h.length,searchType:"pattern"}}}catch(t){return{success:!1,error:`Failed to query memory: ${i(t)}`}}}async function K(e){if(!c())return{success:!1,error:"Fleet not initialized. Call fleet_init first."};let{kernel:s}=a();try{let t=e.namespace||"default",n=`${t}:${e.key}`;return{success:!0,data:{deleted:await s.memory.delete(n),key:e.key,namespace:t}}}catch(t){return{success:!1,error:`Failed to delete memory: ${i(t)}`}}}async function W(){if(!c())return{success:!1,error:"Fleet not initialized. Call fleet_init first."};let{kernel:e}=a();try{let s=await e.memory.search("*",1e4),t=0,n=1;try{let r=e.memory;r.getVectorStats&&(t=(await r.getVectorStats())?.vectorCount??0);let o=new Set(s.map(f=>f.split(":")[0]).filter(Boolean));n=Math.max(1,o.size)}catch{}return{success:!0,data:{entries:s.length,vectors:t,namespaces:n,size:{current:s.length,limit:Number.MAX_SAFE_INTEGER,unit:"entries"}}}}catch(s){return{success:!1,error:`Failed to get memory usage: ${i(s)}`}}}async function _(e){if(!c())return{success:!1,error:"Fleet not initialized. Call fleet_init first."};let{kernel:s}=a();try{let t=`shared:${e.knowledgeDomain}:${Date.now()}`,n={source:e.sourceAgentId,targets:e.targetAgentIds,domain:e.knowledgeDomain,content:e.knowledgeContent,timestamp:new Date().toISOString()};if(m()){let r=g(t,n,e.knowledgeDomain,{agentId:e.sourceAgentId}),o=await y.evaluateWrite(r);if(!o.allowed&&(R()&&b.recordViolation({type:"contradiction",severity:"medium",agentId:e.sourceAgentId,gate:"memoryWriteGate",description:`Shared knowledge blocked for domain ${e.knowledgeDomain}: ${o.reason}`,context:{sourceAgent:e.sourceAgentId,targetAgents:e.targetAgentIds,domain:e.knowledgeDomain,reason:o.reason}}),$()))return{success:!1,error:`Knowledge sharing blocked by governance: ${o.reason}`}}return await s.memory.set(t,n,{namespace:"agent-knowledge"}),m()&&y.registerPattern(g(t,n,e.knowledgeDomain)),{success:!0,data:{shared:!0,sourceAgent:e.sourceAgentId,targetAgents:e.targetAgentIds,domain:e.knowledgeDomain}}}catch(t){return{success:!1,error:`Failed to share memory: ${i(t)}`}}}export{K as handleMemoryDelete,E as handleMemoryQuery,z as handleMemoryRetrieve,_ as handleMemoryShare,T as handleMemoryStore,W as handleMemoryUsage};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.31");process.exit(0)}
|
|
2
|
-
import{a,b}from"./chunk-35SFAIXE.js";import"./chunk-7V7TP242.js";import"./chunk-52D3CYE5.js";import"./chunk-IRRGUXAU.js";import"./chunk-K6MFAVXK.js";import"./chunk-GQFAVT2I.js";import"./chunk-BMS7WFDB.js";export{a as DefaultProtocolExecutor,b as createProtocolExecutor};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.31");process.exit(0)}
|
|
2
|
-
import{a as h,b as i,c as j,e as k,f as l,g as m,h as n}from"./chunk-VOOJDHLI.js";import"./chunk-YEZJE2ZW.js";import{a as e,b as f,d as g}from"./chunk-UIIEZMSM.js";import"./chunk-VA45HLBF.js";import"./chunk-PYYNY7RJ.js";import"./chunk-AQN6PDHI.js";import{a,b,c,h as d}from"./chunk-ZG4EKPGV.js";import"./chunk-N6P7ENG7.js";import"./chunk-M6RVKGIP.js";import"./chunk-VSKABN3B.js";import"./chunk-XTWYCMAM.js";import"./chunk-7MXQV7RB.js";import"./chunk-X2FLWV5C.js";import"./chunk-WB6TI6Q3.js";import"./chunk-NTVJKQ5S.js";import"./chunk-5Z6PYYWK.js";import"./chunk-NZQYNUGM.js";import"./chunk-IRRGUXAU.js";import"./chunk-K6MFAVXK.js";import"./chunk-GQFAVT2I.js";import"./chunk-CFLA2GBS.js";import"./chunk-EJXRBAQF.js";import"./chunk-N6SIKSCO.js";import"./chunk-5WWQLPB4.js";import"./chunk-7OVVBBOZ.js";import"./chunk-G2U7Q6V6.js";import"./chunk-CUSLB7MB.js";import"./chunk-DMF4Z2M6.js";import"./chunk-AKFRM4IO.js";import"./chunk-BMS7WFDB.js";export{j as AGENT_CAPABILITIES,h as DEFAULT_QE_REASONING_BANK_CONFIG,i as PRETRAINED_PATTERNS,m as QEReasoningBank,l as RELATED_DOMAINS,d as applyPatternTemplate,k as calculateAgentScores,n as createQEReasoningBank,a as detectQEDomain,b as detectQEDomains,g as generateGuidanceContext,f as getCombinedGuidance,e as getGuidance,c as mapQEDomainToAQE};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.31");process.exit(0)}
|
|
2
|
-
import{a,b,c,d}from"./chunk-PSF6YQQM.js";import"./chunk-QEJBJST4.js";import"./chunk-5G2L4XRU.js";import"./chunk-TVHWI77X.js";import"./chunk-CQWZNVIM.js";import"./chunk-JF3U456G.js";import"./chunk-EKYPQ5DX.js";import"./chunk-47QIAHUJ.js";import"./chunk-VA45HLBF.js";import"./chunk-PYYNY7RJ.js";import"./chunk-AQN6PDHI.js";import"./chunk-ZG4EKPGV.js";import"./chunk-7MXQV7RB.js";import"./chunk-X2FLWV5C.js";import"./chunk-WB6TI6Q3.js";import"./chunk-5Z6PYYWK.js";import"./chunk-NZQYNUGM.js";import"./chunk-IRRGUXAU.js";import"./chunk-K6MFAVXK.js";import"./chunk-GQFAVT2I.js";import"./chunk-CFLA2GBS.js";import"./chunk-EJXRBAQF.js";import"./chunk-N6SIKSCO.js";import"./chunk-5WWQLPB4.js";import"./chunk-7OVVBBOZ.js";import"./chunk-G2U7Q6V6.js";import"./chunk-CUSLB7MB.js";import"./chunk-DMF4Z2M6.js";import"./chunk-AKFRM4IO.js";import"./chunk-BMS7WFDB.js";export{a as DOMAIN_GROUPS,c as QueenCoordinator,b as TASK_DOMAIN_MAP,d as createQueenCoordinator};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.9.31");process.exit(0)}
|
|
2
|
-
import{a,b,c}from"./chunk-ZWSRIJ2T.js";import"./chunk-62KYX5NH.js";import"./chunk-ROEIR3OD.js";import"./chunk-JJRZOLDY.js";import"./chunk-5M4F3PAL.js";import"./chunk-WB6TI6Q3.js";import"./chunk-K6MFAVXK.js";import"./chunk-BMS7WFDB.js";export{a as ModelRouter,b as createModelRouter,c as createModelRouterWithAgentBooster};
|