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
|
@@ -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.9.
|
|
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.9.32");process.exit(0)}
|
|
2
|
+
import"./chunk-XHQFVTFD.js";import{createRequire as t}from"module";var o=t(import.meta.url),e=o("web-tree-sitter"),i=e,{RuvectorLayer:n,TensorCompress:a,differentiableSearch:c,hierarchicalForward:s,getCompressionLevel:l,init:p,FlashAttention:m,DotProductAttention:u,MultiHeadAttention:d,HyperbolicAttention:A,LinearAttention:f,MoEAttention:h,SonaEngine:_,pipeline:b}=e||{};export{u as DotProductAttention,m as FlashAttention,A as HyperbolicAttention,f as LinearAttention,h as MoEAttention,d as MultiHeadAttention,n as RuvectorLayer,_ as SonaEngine,a as TensorCompress,i as default,c as differentiableSearch,l as getCompressionLevel,s as hierarchicalForward,p as init,b 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.9.
|
|
2
|
-
import{b as u}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.9.32");process.exit(0)}
|
|
2
|
+
import{b as u}from"./chunk-JRYNHFZA.js";import{a as f,c as h}from"./chunk-5WR42V5O.js";import"./chunk-XHQFVTFD.js";h();import{existsSync as i,mkdirSync as d,readFileSync as g,writeFileSync as a}from"fs";import{join as p,dirname as v}from"path";var c=class{projectRoot;overwrite;generator;constructor(e){this.projectRoot=e.projectRoot,this.overwrite=e.overwrite??!1,this.generator=u()}async install(){let e={success:!0,mcpConfigured:!1,rulesInstalled:!1,errors:[],configPath:"",rulesPath:""};try{let t=this.generator.generateMcpConfig("windsurf"),r=p(this.projectRoot,t.path);if(e.configPath=r,!i(r)||this.overwrite){let o=v(r);if(i(o)||d(o,{recursive:!0}),i(r)&&this.overwrite){let m=this.mergeExistingConfig(r,t.content);a(r,m)}else a(r,t.content);e.mcpConfigured=!0}let n=this.generator.generateBehavioralRules("windsurf"),s=p(this.projectRoot,n.path);if(e.rulesPath=s,!i(s)||this.overwrite){if(i(s)&&this.overwrite){let o=this.mergeExistingRules(s,n.content);a(s,o)}else a(s,n.content);e.rulesInstalled=!0}}catch(t){e.success=!1,e.errors.push(`Windsurf installation failed: ${f(t)}`)}return e}mergeExistingConfig(e,t){try{let r=JSON.parse(g(e,"utf-8")),n=JSON.parse(t);return r.mcpServers||(r.mcpServers={}),Object.assign(r.mcpServers,n.mcpServers),JSON.stringify(r,null,2)+`
|
|
3
3
|
`}catch{return t}}mergeExistingRules(e,t){try{let r=g(e,"utf-8");return r.includes("Agentic QE")||r.includes("fleet_init")?r:r.trimEnd()+`
|
|
4
4
|
|
|
5
5
|
---
|
|
@@ -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.9.
|
|
2
|
-
import{a,b,c,d,e,f,g}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.9.32");process.exit(0)}
|
|
2
|
+
import{a,b,c,d,e,f,g}from"./chunk-SLH7LFVY.js";import"./chunk-YVQ4PR4H.js";import"./chunk-OMOGD2NN.js";import"./chunk-33PGBYTC.js";import"./chunk-XHQFVTFD.js";export{c as PersistentWitnessChain,a as SPRTAccumulator,b as WitnessChain,f as createPersistentWitnessChain,e as createWitnessChain,d as createWitnessChainSQLitePersistence,g as isWitnessChainFeatureEnabled};
|
|
@@ -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.9.32");process.exit(0)}
|
|
2
|
+
import{a,b,c,d,e,f,g,h}from"./chunk-FWEYOD3S.js";import"./chunk-THYGFSTA.js";import"./chunk-ONNTJXU7.js";import"./chunk-OK2TFTXP.js";import"./chunk-YVQ4PR4H.js";import"./chunk-OMOGD2NN.js";import"./chunk-5WR42V5O.js";import"./chunk-4VAZSCTZ.js";import"./chunk-H7YKTJMY.js";import"./chunk-PIXUX2NR.js";import"./chunk-MQQANXFS.js";import"./chunk-BBPOTFIY.js";import"./chunk-YJV6TTCW.js";import"./chunk-HGWQC7PR.js";import"./chunk-ZESMMAKZ.js";import"./chunk-33PGBYTC.js";import"./chunk-XHQFVTFD.js";export{a as GENESIS_PREV_HASH,f as WitnessChain,h as createWitnessChain,g as getWitnessChain,d as hashWith,e as serializeEntry,b as sha256,c as shake256};
|
|
@@ -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.9.
|
|
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.9.32");process.exit(0)}
|
|
2
|
+
import"./chunk-7PTW3M67.js";import{b as $}from"./chunk-PPS6VN24.js";import{d as R}from"./chunk-PQAYCK2U.js";import{b as k,c as C,d as b}from"./chunk-NVZHCAEB.js";import{c as W}from"./chunk-OK2TFTXP.js";import"./chunk-EFEJLZDN.js";import"./chunk-5WR42V5O.js";import"./chunk-XHQFVTFD.js";import{Command as O}from"commander";import o from"chalk";function P(d,a){let m=d.indexOf("=");return m>0&&(a[d.substring(0,m)]=d.substring(m+1)),a}function x(d,a,m){let y=new O("workflow").description("Manage QE workflows and pipelines (ADR-041)");return y.command("run <file>").description("Execute a QE pipeline from YAML file").option("-w, --watch","Watch execution progress").option("-v, --verbose","Show detailed output").option("--params <json>","Additional parameters as JSON","{}").action(async(t,l)=>{if(!await m())return;let e=await import("fs"),c=(await import("path")).resolve(t);try{console.log(o.blue(`
|
|
3
3
|
Running workflow from: ${t}
|
|
4
4
|
`));let s=k(c);if(!s.success||!s.workflow){console.log(o.red("Failed to parse pipeline:"));for(let w of s.errors)console.log(o.red(` ${w}`));await a(1)}let r={...W(l.params,"params")};if(s.pipeline){for(let w of s.pipeline.stages)if(w.params)for(let[S,h]of Object.entries(w.params))r[S]=h}if(!d.workflowOrchestrator.getWorkflow(s.workflow.id)){let w=d.workflowOrchestrator.registerWorkflow(s.workflow);w.success||(console.log(o.red(`Failed to register workflow: ${w.error.message}`)),await a(1))}let n=await d.workflowOrchestrator.executeWorkflow(s.workflow.id,r);if(!n.success){console.log(o.red(`Failed to start workflow: ${n.error.message}`)),await a(1);return}let p=n.value;if(console.log(o.cyan(` Execution ID: ${p}`)),console.log(o.gray(` Workflow: ${s.workflow.name}`)),console.log(o.gray(` Stages: ${s.workflow.steps.length}`)),console.log(""),l.watch){console.log(o.blue(`Workflow Progress:
|
|
5
5
|
`));let w,S=Date.now();for(;;){let g=d.workflowOrchestrator.getWorkflowStatus(p);if(!g)break;if(!w||w.progress!==g.progress||w.status!==g.status||JSON.stringify(w.currentSteps)!==JSON.stringify(g.currentSteps)){process.stdout.write("\r\x1B[K");let v="\u2588".repeat(Math.floor(g.progress/5))+"\u2591".repeat(20-Math.floor(g.progress/5)),D=g.status==="completed"?o.green:g.status==="failed"?o.red:g.status==="running"?o.yellow:o.gray;console.log(` [${v}] ${g.progress}% - ${D(g.status)}`),g.currentSteps.length>0&&l.verbose&&console.log(o.gray(` Running: ${g.currentSteps.join(", ")}`)),w=g}if(g.status==="completed"||g.status==="failed"||g.status==="cancelled")break;await new Promise(v=>setTimeout(v,500))}let h=d.workflowOrchestrator.getWorkflowStatus(p);if(h){console.log("");let g=h.duration||Date.now()-S;h.status==="completed"?(console.log(o.green("Workflow completed successfully")),console.log(o.gray(` Duration: ${$(g)}`)),console.log(o.gray(` Completed: ${h.completedSteps.length} stages`)),h.skippedSteps.length>0&&console.log(o.yellow(` Skipped: ${h.skippedSteps.length} stages`))):h.status==="failed"?(console.log(o.red("Workflow failed")),console.log(o.red(` Error: ${h.error}`)),console.log(o.gray(` Failed stages: ${h.failedSteps.join(", ")}`))):console.log(o.yellow(`Workflow ${h.status}`))}}else console.log(o.green("Workflow execution started")),console.log(o.gray(` Use 'aqe workflow status ${p}' to check progress`));console.log(""),await a(0)}catch(s){console.error(o.red(`
|
|
@@ -35,10 +35,10 @@ Workflow cancelled: ${t}
|
|
|
35
35
|
`)):console.log(o.red(`
|
|
36
36
|
Failed to cancel workflow: ${l.error.message}
|
|
37
37
|
`)),await a(l.success?0:1)}catch(l){console.error(o.red(`
|
|
38
|
-
Failed to cancel workflow:`),l),await a(1)}}),y.command("browser-list").description("List available browser workflow templates").action(async()=>{try{let{BrowserWorkflowTool:t}=await import("./browser-workflow-
|
|
38
|
+
Failed to cancel workflow:`),l),await a(1)}}),y.command("browser-list").description("List available browser workflow templates").action(async()=>{try{let{BrowserWorkflowTool:t}=await import("./browser-workflow-SGOL3FCJ.js"),e=await new t().invoke({});if(e.success&&e.data){console.log(o.blue(`
|
|
39
39
|
Browser Workflow Templates:
|
|
40
40
|
`));for(let u of e.data.availableTemplates)console.log(` ${o.cyan(u)}`);console.log("")}else console.log(o.red(`Failed: ${e.error||"Unknown error"}`));await a(0)}catch(t){console.error(o.red(`
|
|
41
|
-
Failed:`),t),await a(1)}}),y.command("browser-load [template]").description("Load and validate a browser workflow template or inline YAML").option("--yaml <yaml>","Inline YAML workflow definition").option("-v, --var <key=value>","Variable override (repeatable)",P,{}).option("-F, --format <format>","Output format (text|json)","text").option("-o, --output <path>","Write output to file").action(async(t,l)=>{try{let{BrowserWorkflowTool:e}=await import("./browser-workflow-
|
|
41
|
+
Failed:`),t),await a(1)}}),y.command("browser-load [template]").description("Load and validate a browser workflow template or inline YAML").option("--yaml <yaml>","Inline YAML workflow definition").option("-v, --var <key=value>","Variable override (repeatable)",P,{}).option("-F, --format <format>","Output format (text|json)","text").option("-o, --output <path>","Write output to file").action(async(t,l)=>{try{let{BrowserWorkflowTool:e}=await import("./browser-workflow-SGOL3FCJ.js"),{writeOutput:u,toJSON:c}=await import("./ci-output-ZPDJ42U3.js"),s=new e,f={variables:l.var||{}};if(l.yaml)f.workflowYaml=l.yaml;else if(t)if(t.endsWith(".yaml")||t.endsWith(".yml")){let i=await import("fs"),p=(await import("path")).resolve(t);i.existsSync(p)||(console.log(o.red(`
|
|
42
42
|
File not found: ${p}
|
|
43
43
|
`)),await a(1)),f.workflowYaml=i.readFileSync(p,"utf-8")}else f.templateName=t;else console.log(o.red(`
|
|
44
44
|
Provide a template name or --yaml. Use "workflow browser-list" to see templates.
|
|
@@ -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.9.32");process.exit(0)}
|
|
2
|
+
import{a,b,c,d}from"./chunk-PG5F2VHA.js";import"./chunk-NW5FYGDE.js";import"./chunk-THYGFSTA.js";import"./chunk-ONNTJXU7.js";import"./chunk-OK2TFTXP.js";import"./chunk-YVQ4PR4H.js";import"./chunk-OMOGD2NN.js";import"./chunk-EFEJLZDN.js";import"./chunk-5WR42V5O.js";import"./chunk-WTNM7NA4.js";import"./chunk-4VAZSCTZ.js";import"./chunk-H7YKTJMY.js";import"./chunk-PIXUX2NR.js";import"./chunk-MQQANXFS.js";import"./chunk-BBPOTFIY.js";import"./chunk-YJV6TTCW.js";import"./chunk-HGWQC7PR.js";import"./chunk-ZESMMAKZ.js";import"./chunk-33PGBYTC.js";import"./chunk-XHQFVTFD.js";export{b as DEFAULT_WORKFLOW_CONFIG,a as WorkflowEvents,c as WorkflowOrchestrator,d as createWorkflowOrchestrator};
|
|
@@ -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.9.
|
|
2
|
-
import{a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v as L,w as M,x as N}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.9.32");process.exit(0)}
|
|
2
|
+
import{a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v as L,w as M,x as N}from"./chunk-4H4PEZUX.js";import{a as v,b as w,c as x,d as y,e as z,f as A,g as B,h as C,i as D,j as E,k as F,l as G,m as H,n as I,o as J,p as K}from"./chunk-OKEHGXIS.js";import"./chunk-THYGFSTA.js";import"./chunk-ONNTJXU7.js";import"./chunk-OK2TFTXP.js";import"./chunk-YVQ4PR4H.js";import"./chunk-OMOGD2NN.js";import"./chunk-5WR42V5O.js";import"./chunk-4VAZSCTZ.js";import"./chunk-H7YKTJMY.js";import"./chunk-PIXUX2NR.js";import"./chunk-MQQANXFS.js";import"./chunk-BBPOTFIY.js";import"./chunk-YJV6TTCW.js";import"./chunk-HGWQC7PR.js";import"./chunk-ZESMMAKZ.js";import"./chunk-33PGBYTC.js";import"./chunk-XHQFVTFD.js";export{z as GNNLayerFactory,i as QEFlashAttention,x as QEGNNEmbeddingIndex,y as QEGNNIndexFactory,a as QESONA,e as QE_FLASH_ATTENTION_CONFIG,g as QE_PERFORMANCE_TARGETS,f as QE_SONA_CONFIG,A as TensorCompressionFactory,u as batchComputeAttention,K as batchDifferentiableSearch,M as checkRuvectorPackagesAvailable,c as createDomainQESONA,j as createQEFlashAttention,b as createQESONA,D as getDifferentiableSearch,F as getGetCompressionLevel,E as getHierarchicalForward,G as getInit,h as getOptimalBlockConfig,k as getQEFlashAttentionConfig,n as getRuvectorDotProductAttention,m as getRuvectorFlashAttention,p as getRuvectorHyperbolicAttention,B as getRuvectorLayer,q as getRuvectorLinearAttention,r as getRuvectorMoEAttention,o as getRuvectorMultiHeadAttention,L as getRuvectorPackageVersions,C as getTensorCompress,l as getWorkloadTypes,N as initAllRuvectorPackages,w as initGNN,d as isAttentionAvailable,v as isGNNAvailable,s as toFloat32Array,H as toFloat32ArrayGNN,J as toIEmbedding,t as toNumberArrayAttn,I as toNumberArrayGNN};
|
|
@@ -22,6 +22,14 @@ const DEFAULT_CONFIG = {
|
|
|
22
22
|
* Implements pattern learning and experience mining capabilities
|
|
23
23
|
*/
|
|
24
24
|
const logger = LoggerFactory.create('learning-optimization/learning-coordinator');
|
|
25
|
+
/**
|
|
26
|
+
* #491 Bug 2: every read in this file must pass this namespace to match
|
|
27
|
+
* the writes (which already specify `namespace: 'learning-optimization'`).
|
|
28
|
+
* Without it, HybridBackend defaults to `default` and the coordinator
|
|
29
|
+
* cannot read its own data — `mineExperiences` returned 0 for every
|
|
30
|
+
* domain even on installs with hundreds of indexed experiences.
|
|
31
|
+
*/
|
|
32
|
+
const LEARNING_NS = { namespace: 'learning-optimization' };
|
|
25
33
|
export class LearningCoordinatorService {
|
|
26
34
|
config;
|
|
27
35
|
memory;
|
|
@@ -245,9 +253,9 @@ Provide:
|
|
|
245
253
|
async findMatchingPatterns(context, limit = 10) {
|
|
246
254
|
try {
|
|
247
255
|
const patterns = [];
|
|
248
|
-
const keys = await this.memory.search('learning:pattern:*', 100);
|
|
256
|
+
const keys = await this.memory.search('learning:pattern:*', 100, LEARNING_NS);
|
|
249
257
|
for (const key of keys) {
|
|
250
|
-
const pattern = await this.memory.get(key);
|
|
258
|
+
const pattern = await this.memory.get(key, LEARNING_NS);
|
|
251
259
|
if (pattern && this.matchesContext(pattern, context)) {
|
|
252
260
|
patterns.push(pattern);
|
|
253
261
|
}
|
|
@@ -292,7 +300,7 @@ Provide:
|
|
|
292
300
|
async updatePatternFeedback(patternId, success) {
|
|
293
301
|
try {
|
|
294
302
|
const key = `learning:pattern:${patternId}`;
|
|
295
|
-
const pattern = await this.memory.get(key);
|
|
303
|
+
const pattern = await this.memory.get(key, LEARNING_NS);
|
|
296
304
|
if (!pattern) {
|
|
297
305
|
return err(new Error(`Pattern ${patternId} not found`));
|
|
298
306
|
}
|
|
@@ -329,7 +337,7 @@ Provide:
|
|
|
329
337
|
}
|
|
330
338
|
const patterns = [];
|
|
331
339
|
for (const id of patternIds) {
|
|
332
|
-
const pattern = await this.memory.get(`learning:pattern:${id}
|
|
340
|
+
const pattern = await this.memory.get(`learning:pattern:${id}`, LEARNING_NS);
|
|
333
341
|
if (pattern) {
|
|
334
342
|
patterns.push(pattern);
|
|
335
343
|
}
|
|
@@ -377,10 +385,10 @@ Provide:
|
|
|
377
385
|
*/
|
|
378
386
|
async getPatternStats(domain) {
|
|
379
387
|
try {
|
|
380
|
-
const keys = await this.memory.search('learning:pattern:*', 500);
|
|
388
|
+
const keys = await this.memory.search('learning:pattern:*', 500, LEARNING_NS);
|
|
381
389
|
const patterns = [];
|
|
382
390
|
for (const key of keys) {
|
|
383
|
-
const pattern = await this.memory.get(key);
|
|
391
|
+
const pattern = await this.memory.get(key, LEARNING_NS);
|
|
384
392
|
if (pattern && (!domain || pattern.domain === domain)) {
|
|
385
393
|
patterns.push(pattern);
|
|
386
394
|
}
|
|
@@ -525,12 +533,12 @@ Provide:
|
|
|
525
533
|
*/
|
|
526
534
|
async getReplayBuffer(agentId, limit = 100) {
|
|
527
535
|
try {
|
|
528
|
-
const keys = await this.memory.search(`learning:experience:index:agent:${agentId.value}:*`, limit);
|
|
536
|
+
const keys = await this.memory.search(`learning:experience:index:agent:${agentId.value}:*`, limit, LEARNING_NS);
|
|
529
537
|
const experiences = [];
|
|
530
538
|
for (const key of keys) {
|
|
531
|
-
const experienceId = await this.memory.get(key);
|
|
539
|
+
const experienceId = await this.memory.get(key, LEARNING_NS);
|
|
532
540
|
if (experienceId) {
|
|
533
|
-
const experience = await this.memory.get(`learning:experience:${experienceId}
|
|
541
|
+
const experience = await this.memory.get(`learning:experience:${experienceId}`, LEARNING_NS);
|
|
534
542
|
if (experience) {
|
|
535
543
|
experiences.push(experience);
|
|
536
544
|
}
|
|
@@ -601,18 +609,18 @@ Provide:
|
|
|
601
609
|
}
|
|
602
610
|
async archivePattern(patternId) {
|
|
603
611
|
const key = `learning:pattern:${patternId}`;
|
|
604
|
-
const pattern = await this.memory.get(key);
|
|
612
|
+
const pattern = await this.memory.get(key, LEARNING_NS);
|
|
605
613
|
if (pattern) {
|
|
606
614
|
await this.memory.set(`learning:pattern:archived:${patternId}`, pattern, {
|
|
607
615
|
namespace: 'learning-optimization',
|
|
608
616
|
persist: true,
|
|
609
617
|
});
|
|
610
|
-
await this.memory.delete(key);
|
|
618
|
+
await this.memory.delete(key, LEARNING_NS);
|
|
611
619
|
}
|
|
612
620
|
}
|
|
613
621
|
async updatePatternUsage(patternId) {
|
|
614
622
|
const key = `learning:pattern:${patternId}`;
|
|
615
|
-
const pattern = await this.memory.get(key);
|
|
623
|
+
const pattern = await this.memory.get(key, LEARNING_NS);
|
|
616
624
|
if (pattern) {
|
|
617
625
|
const updated = {
|
|
618
626
|
...pattern,
|
|
@@ -639,14 +647,26 @@ Provide:
|
|
|
639
647
|
await this.memory.set(`learning:experience:index:domain:${experience.domain}:${experience.id}`, experience.id, { namespace: 'learning-optimization', ttl: 86400 * 30 });
|
|
640
648
|
}
|
|
641
649
|
async getExperiencesByDomainAndTime(domain, timeRange) {
|
|
642
|
-
const keys = await this.memory.search(`learning:experience:index:domain:${domain}:*`, 1000);
|
|
650
|
+
const keys = await this.memory.search(`learning:experience:index:domain:${domain}:*`, 1000, LEARNING_NS);
|
|
643
651
|
const experiences = [];
|
|
644
652
|
for (const key of keys) {
|
|
645
|
-
const experienceId = await this.memory.get(key);
|
|
653
|
+
const experienceId = await this.memory.get(key, LEARNING_NS);
|
|
646
654
|
if (experienceId) {
|
|
647
|
-
const experience = await this.memory.get(`learning:experience:${experienceId}
|
|
648
|
-
if (experience
|
|
649
|
-
|
|
655
|
+
const experience = await this.memory.get(`learning:experience:${experienceId}`, LEARNING_NS);
|
|
656
|
+
if (experience) {
|
|
657
|
+
// #491 Bug 3: kv stores Date via JSON.stringify (→ ISO string)
|
|
658
|
+
// but JSON.parse does not re-hydrate. `TimeRange.contains` does
|
|
659
|
+
// `date >= start`; in `string >= Date`, the string coerces to
|
|
660
|
+
// NaN and every comparison is false — so every experience was
|
|
661
|
+
// silently dropped by the time-window filter, leaving
|
|
662
|
+
// `mineExperiences` mining 0 for every domain. Coerce at the
|
|
663
|
+
// boundary; downstream code expects a real Date.
|
|
664
|
+
const ts = experience.timestamp instanceof Date
|
|
665
|
+
? experience.timestamp
|
|
666
|
+
: new Date(experience.timestamp);
|
|
667
|
+
if (timeRange.contains(ts)) {
|
|
668
|
+
experiences.push({ ...experience, timestamp: ts });
|
|
669
|
+
}
|
|
650
670
|
}
|
|
651
671
|
}
|
|
652
672
|
}
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* This is a facade over UnifiedMemoryManager that maintains
|
|
10
10
|
* backward compatibility with existing MemoryBackend interface.
|
|
11
11
|
*/
|
|
12
|
-
import { MemoryBackend, StoreOptions, VectorSearchResult } from './interfaces';
|
|
12
|
+
import { MemoryBackend, StoreOptions, RetrieveOptions, VectorSearchResult } from './interfaces';
|
|
13
13
|
import { UnifiedMemoryManager } from './unified-memory';
|
|
14
14
|
/**
|
|
15
15
|
* SQLite connection configuration (legacy - kept for API compatibility)
|
|
@@ -83,21 +83,31 @@ export declare class HybridMemoryBackend implements MemoryBackend {
|
|
|
83
83
|
*/
|
|
84
84
|
set<T>(key: string, value: T, options?: StoreOptions): Promise<void>;
|
|
85
85
|
/**
|
|
86
|
-
* Retrieve a value
|
|
86
|
+
* Retrieve a value.
|
|
87
|
+
*
|
|
88
|
+
* #491 Bug 2: previously this method hard-coded `defaultNamespace`, so
|
|
89
|
+
* any caller that wrote with `set(k, v, {namespace:'foo'})` could not
|
|
90
|
+
* read its own data back. The whole LearningCoordinator read path
|
|
91
|
+
* (`getExperiencesByDomainAndTime` etc.) was broken by this — writes
|
|
92
|
+
* landed in `learning-optimization`, reads queried `default`, and
|
|
93
|
+
* `mineExperiences` mined 0 for every domain even on installs with
|
|
94
|
+
* hundreds of indexed experiences. Honor the namespace; default
|
|
95
|
+
* preserves the historical behavior for the many call sites that
|
|
96
|
+
* still pass no option.
|
|
87
97
|
*/
|
|
88
|
-
get<T>(key: string): Promise<T | undefined>;
|
|
98
|
+
get<T>(key: string, options?: RetrieveOptions): Promise<T | undefined>;
|
|
89
99
|
/**
|
|
90
100
|
* Delete a value
|
|
91
101
|
*/
|
|
92
|
-
delete(key: string): Promise<boolean>;
|
|
102
|
+
delete(key: string, options?: RetrieveOptions): Promise<boolean>;
|
|
93
103
|
/**
|
|
94
104
|
* Check if key exists
|
|
95
105
|
*/
|
|
96
|
-
has(key: string): Promise<boolean>;
|
|
106
|
+
has(key: string, options?: RetrieveOptions): Promise<boolean>;
|
|
97
107
|
/**
|
|
98
|
-
* Search for keys matching pattern
|
|
108
|
+
* Search for keys matching pattern. See `get` for the namespace rationale.
|
|
99
109
|
*/
|
|
100
|
-
search(pattern: string, limit?: number): Promise<string[]>;
|
|
110
|
+
search(pattern: string, limit?: number, options?: RetrieveOptions): Promise<string[]>;
|
|
101
111
|
/**
|
|
102
112
|
* Vector similarity search
|
|
103
113
|
* Now uses unified memory's persistent vector storage
|
|
@@ -92,19 +92,31 @@ export class HybridMemoryBackend {
|
|
|
92
92
|
await this.unifiedMemory.kvSet(key, value, namespace, options?.ttl);
|
|
93
93
|
}
|
|
94
94
|
/**
|
|
95
|
-
* Retrieve a value
|
|
95
|
+
* Retrieve a value.
|
|
96
|
+
*
|
|
97
|
+
* #491 Bug 2: previously this method hard-coded `defaultNamespace`, so
|
|
98
|
+
* any caller that wrote with `set(k, v, {namespace:'foo'})` could not
|
|
99
|
+
* read its own data back. The whole LearningCoordinator read path
|
|
100
|
+
* (`getExperiencesByDomainAndTime` etc.) was broken by this — writes
|
|
101
|
+
* landed in `learning-optimization`, reads queried `default`, and
|
|
102
|
+
* `mineExperiences` mined 0 for every domain even on installs with
|
|
103
|
+
* hundreds of indexed experiences. Honor the namespace; default
|
|
104
|
+
* preserves the historical behavior for the many call sites that
|
|
105
|
+
* still pass no option.
|
|
96
106
|
*/
|
|
97
|
-
async get(key) {
|
|
107
|
+
async get(key, options) {
|
|
98
108
|
this.ensureInitialized();
|
|
99
|
-
|
|
109
|
+
const namespace = options?.namespace ?? this.config.defaultNamespace;
|
|
110
|
+
return this.unifiedMemory.kvGet(key, namespace);
|
|
100
111
|
}
|
|
101
112
|
/**
|
|
102
113
|
* Delete a value
|
|
103
114
|
*/
|
|
104
|
-
async delete(key) {
|
|
115
|
+
async delete(key, options) {
|
|
105
116
|
this.ensureInitialized();
|
|
117
|
+
const namespace = options?.namespace ?? this.config.defaultNamespace;
|
|
106
118
|
// Delete from KV store
|
|
107
|
-
const kvDeleted = await this.unifiedMemory.kvDelete(key,
|
|
119
|
+
const kvDeleted = await this.unifiedMemory.kvDelete(key, namespace);
|
|
108
120
|
// Also try to delete from vectors (in case it's a vector key)
|
|
109
121
|
const vectorDeleted = await this.unifiedMemory.vectorDelete(key);
|
|
110
122
|
return kvDeleted || vectorDeleted;
|
|
@@ -112,16 +124,18 @@ export class HybridMemoryBackend {
|
|
|
112
124
|
/**
|
|
113
125
|
* Check if key exists
|
|
114
126
|
*/
|
|
115
|
-
async has(key) {
|
|
127
|
+
async has(key, options) {
|
|
116
128
|
this.ensureInitialized();
|
|
117
|
-
|
|
129
|
+
const namespace = options?.namespace ?? this.config.defaultNamespace;
|
|
130
|
+
return this.unifiedMemory.kvExists(key, namespace);
|
|
118
131
|
}
|
|
119
132
|
/**
|
|
120
|
-
* Search for keys matching pattern
|
|
133
|
+
* Search for keys matching pattern. See `get` for the namespace rationale.
|
|
121
134
|
*/
|
|
122
|
-
async search(pattern, limit = 100) {
|
|
135
|
+
async search(pattern, limit = 100, options) {
|
|
123
136
|
this.ensureInitialized();
|
|
124
|
-
|
|
137
|
+
const namespace = options?.namespace ?? this.config.defaultNamespace;
|
|
138
|
+
return this.unifiedMemory.kvSearch(pattern, namespace, limit);
|
|
125
139
|
}
|
|
126
140
|
/**
|
|
127
141
|
* Vector similarity search
|
|
@@ -200,14 +200,21 @@ export interface PluginLoader {
|
|
|
200
200
|
export interface MemoryBackend extends Initializable, Disposable {
|
|
201
201
|
/** Store a value */
|
|
202
202
|
set<T>(key: string, value: T, options?: StoreOptions): Promise<void>;
|
|
203
|
-
/**
|
|
204
|
-
|
|
203
|
+
/**
|
|
204
|
+
* Retrieve a value.
|
|
205
|
+
*
|
|
206
|
+
* `options.namespace` lets callers read from a non-default namespace.
|
|
207
|
+
* Without this, a caller that wrote with `set(k, v, {namespace:'foo'})`
|
|
208
|
+
* could not read its own data back — `get` would silently fall through
|
|
209
|
+
* to the default namespace and return undefined (issue #491 Bug 2).
|
|
210
|
+
*/
|
|
211
|
+
get<T>(key: string, options?: RetrieveOptions): Promise<T | undefined>;
|
|
205
212
|
/** Delete a value */
|
|
206
|
-
delete(key: string): Promise<boolean>;
|
|
213
|
+
delete(key: string, options?: RetrieveOptions): Promise<boolean>;
|
|
207
214
|
/** Check if key exists */
|
|
208
|
-
has(key: string): Promise<boolean>;
|
|
209
|
-
/** Search by pattern */
|
|
210
|
-
search(pattern: string, limit?: number): Promise<string[]>;
|
|
215
|
+
has(key: string, options?: RetrieveOptions): Promise<boolean>;
|
|
216
|
+
/** Search by pattern (`options.namespace` mirrors `get`). */
|
|
217
|
+
search(pattern: string, limit?: number, options?: RetrieveOptions): Promise<string[]>;
|
|
211
218
|
/** Vector similarity search (HNSW) */
|
|
212
219
|
vectorSearch(embedding: number[], k: number): Promise<VectorSearchResult[]>;
|
|
213
220
|
/** Store vector embedding */
|
|
@@ -230,6 +237,14 @@ export interface StoreOptions {
|
|
|
230
237
|
namespace?: string;
|
|
231
238
|
persist?: boolean;
|
|
232
239
|
}
|
|
240
|
+
/**
|
|
241
|
+
* Options for memory read operations. Symmetric with `StoreOptions.namespace`
|
|
242
|
+
* so a caller can read back exactly what it wrote into a non-default
|
|
243
|
+
* namespace (issue #491 Bug 2).
|
|
244
|
+
*/
|
|
245
|
+
export interface RetrieveOptions {
|
|
246
|
+
namespace?: string;
|
|
247
|
+
}
|
|
233
248
|
export interface VectorSearchResult {
|
|
234
249
|
key: string;
|
|
235
250
|
score: number;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Agentic QE v3 - Memory Backend
|
|
3
3
|
* Hybrid memory implementation (in-memory + optional persistence)
|
|
4
4
|
*/
|
|
5
|
-
import { MemoryBackend, StoreOptions, VectorSearchResult } from './interfaces';
|
|
5
|
+
import { MemoryBackend, StoreOptions, RetrieveOptions, VectorSearchResult } from './interfaces';
|
|
6
6
|
export declare class InMemoryBackend implements MemoryBackend {
|
|
7
7
|
private store;
|
|
8
8
|
private vectors;
|
|
@@ -10,10 +10,10 @@ export declare class InMemoryBackend implements MemoryBackend {
|
|
|
10
10
|
initialize(): Promise<void>;
|
|
11
11
|
dispose(): Promise<void>;
|
|
12
12
|
set<T>(key: string, value: T, options?: StoreOptions): Promise<void>;
|
|
13
|
-
get<T>(key: string,
|
|
14
|
-
delete(key: string,
|
|
15
|
-
has(key: string,
|
|
16
|
-
search(pattern: string, limit?: number): Promise<string[]>;
|
|
13
|
+
get<T>(key: string, options?: RetrieveOptions): Promise<T | undefined>;
|
|
14
|
+
delete(key: string, options?: RetrieveOptions): Promise<boolean>;
|
|
15
|
+
has(key: string, options?: RetrieveOptions): Promise<boolean>;
|
|
16
|
+
search(pattern: string, limit?: number, options?: RetrieveOptions): Promise<string[]>;
|
|
17
17
|
vectorSearch(embedding: number[], k: number): Promise<VectorSearchResult[]>;
|
|
18
18
|
storeVector(key: string, embedding: number[], metadata?: unknown): Promise<void>;
|
|
19
19
|
private buildKey;
|
|
@@ -34,8 +34,8 @@ export class InMemoryBackend {
|
|
|
34
34
|
const fullKey = this.buildKey(key, options?.namespace);
|
|
35
35
|
this.store.set(fullKey, entry);
|
|
36
36
|
}
|
|
37
|
-
async get(key,
|
|
38
|
-
const fullKey = this.buildKey(key, namespace);
|
|
37
|
+
async get(key, options) {
|
|
38
|
+
const fullKey = this.buildKey(key, options?.namespace);
|
|
39
39
|
const entry = this.store.get(fullKey);
|
|
40
40
|
if (!entry) {
|
|
41
41
|
return undefined;
|
|
@@ -47,20 +47,27 @@ export class InMemoryBackend {
|
|
|
47
47
|
}
|
|
48
48
|
return entry.value;
|
|
49
49
|
}
|
|
50
|
-
async delete(key,
|
|
51
|
-
const fullKey = this.buildKey(key, namespace);
|
|
50
|
+
async delete(key, options) {
|
|
51
|
+
const fullKey = this.buildKey(key, options?.namespace);
|
|
52
52
|
return this.store.delete(fullKey);
|
|
53
53
|
}
|
|
54
|
-
async has(key,
|
|
55
|
-
const value = await this.get(key,
|
|
54
|
+
async has(key, options) {
|
|
55
|
+
const value = await this.get(key, options);
|
|
56
56
|
return value !== undefined;
|
|
57
57
|
}
|
|
58
|
-
async search(pattern, limit = MEMORY_CONSTANTS.DEFAULT_SEARCH_LIMIT) {
|
|
58
|
+
async search(pattern, limit = MEMORY_CONSTANTS.DEFAULT_SEARCH_LIMIT, options) {
|
|
59
59
|
// Escape regex-special chars first, then convert glob wildcards to regex
|
|
60
60
|
const escaped = pattern.replace(/[.+?^${}()|[\]\\]/g, '\\$&');
|
|
61
61
|
const regex = new RegExp(escaped.replace(/\*/g, '.*'));
|
|
62
62
|
const results = [];
|
|
63
|
+
// When a namespace is supplied, scope the scan to that prefix. Matches
|
|
64
|
+
// HybridBackend's namespace-aware search and lets LearningCoordinator's
|
|
65
|
+
// namespaced reads behave identically under unit tests that swap in the
|
|
66
|
+
// in-memory backend (#491 Bug 2).
|
|
67
|
+
const nsPrefix = options?.namespace ? `${options.namespace}:` : undefined;
|
|
63
68
|
for (const key of this.store.keys()) {
|
|
69
|
+
if (nsPrefix && !key.startsWith(nsPrefix))
|
|
70
|
+
continue;
|
|
64
71
|
if (regex.test(key)) {
|
|
65
72
|
results.push(key);
|
|
66
73
|
if (results.length >= limit)
|