agentic-qe 3.9.18 → 3.9.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/helpers/statusline-v3.cjs +1 -1
- package/.claude/skills/skills-manifest.json +1 -1
- package/CHANGELOG.md +62 -0
- package/assets/skills/skills-manifest.json +1 -1
- package/dist/adapters/claude-flow/trajectory-bridge.d.ts +12 -1
- package/dist/adapters/claude-flow/trajectory-bridge.js +33 -31
- package/dist/cli/bundle.js +5 -5
- package/dist/cli/chunks/adapter-UOX57IAN.js +2 -0
- package/dist/cli/chunks/{agent-booster-wasm-RJHBIG5V.js → agent-booster-wasm-T5JB3MOF.js} +2 -2
- package/dist/cli/chunks/{agent-handler-CXS6EE2V.js → agent-handler-EASMQSQO.js} +2 -2
- package/dist/cli/chunks/{agent-memory-branch-7NV5DD5A.js → agent-memory-branch-7GWN2KCG.js} +2 -2
- package/dist/cli/chunks/aqe-learning-engine-KZES2SKE.js +2 -0
- package/dist/cli/chunks/{audit-3NWGSPJW.js → audit-VHV4GXPW.js} +2 -2
- package/dist/cli/chunks/base-7MXMBRSW.js +2 -0
- package/dist/cli/chunks/{better-sqlite3-NXOMSJDC.js → better-sqlite3-GNK7MDXZ.js} +2 -2
- package/dist/cli/chunks/{brain-handler-6N5WWZVA.js → brain-handler-ALXZKWO4.js} +3 -3
- package/dist/cli/chunks/{branch-enumerator-I7UTOCAW.js → branch-enumerator-JNYLOLMM.js} +2 -2
- package/dist/cli/chunks/{browser-6VOFWA52.js → browser-FXRW6LID.js} +2 -2
- package/dist/cli/chunks/browser-workflow-4C5R54CZ.js +2 -0
- package/dist/cli/chunks/{chunk-BFM47L3X.js → chunk-2J5OO63R.js} +2 -2
- package/dist/cli/chunks/{chunk-7OGUAZGJ.js → chunk-35HDLA22.js} +1 -1
- package/dist/cli/chunks/{chunk-P6HIDCTQ.js → chunk-3BFNYFXV.js} +1 -1
- package/dist/cli/chunks/{chunk-KFITGSW3.js → chunk-3CLKKAGH.js} +2 -2
- package/dist/cli/chunks/{chunk-WC5A7C5L.js → chunk-3GPNZPM4.js} +1 -1
- package/dist/cli/chunks/{chunk-HLXPD4Y2.js → chunk-3HQ4VKK6.js} +79 -67
- package/dist/cli/chunks/{chunk-ENYQUSSK.js → chunk-3ZHUKLU7.js} +2 -2
- package/dist/cli/chunks/{chunk-4BIWQLD3.js → chunk-4G6OH5LQ.js} +2 -2
- package/dist/cli/chunks/{chunk-ODGACHEZ.js → chunk-4HD7YRW7.js} +2 -2
- package/dist/cli/chunks/{chunk-MBGWDELE.js → chunk-4IUNBRKQ.js} +2 -2
- package/dist/cli/chunks/{chunk-S2XBAOXE.js → chunk-4PNLBMKY.js} +1 -1
- package/dist/cli/chunks/{chunk-FTIHPDWV.js → chunk-4SBMTHTA.js} +2 -2
- package/dist/cli/chunks/{chunk-H5JZZH2C.js → chunk-5GA4BUQU.js} +2 -2
- package/dist/cli/chunks/{chunk-AMRUZ6XG.js → chunk-5ILP2ZDZ.js} +2 -2
- package/dist/cli/chunks/{chunk-G2H4W7NN.js → chunk-5LM2W3NE.js} +1 -1
- package/dist/cli/chunks/{chunk-BGSYFAEJ.js → chunk-6LKEFWKI.js} +3 -3
- package/dist/cli/chunks/{chunk-MDCTQOUJ.js → chunk-6R7SJ5FS.js} +1 -1
- package/dist/cli/chunks/{chunk-7XLTLFP5.js → chunk-7I6ROJGF.js} +2 -2
- package/dist/cli/chunks/{chunk-4666TC3P.js → chunk-7J34I3CI.js} +2 -2
- package/dist/cli/chunks/{chunk-6QSB4XOL.js → chunk-7OGFOHG5.js} +2 -2
- package/dist/cli/chunks/{chunk-B6BAK2JI.js → chunk-7Q7SCQMQ.js} +2 -2
- package/dist/cli/chunks/{chunk-X2T4TI7D.js → chunk-7R45TEY6.js} +2 -2
- package/dist/cli/chunks/{chunk-27MW2RFA.js → chunk-7WXYQDML.js} +2 -2
- package/dist/cli/chunks/{chunk-IJPTWPXG.js → chunk-7Y4QQ6JL.js} +1 -1
- package/dist/cli/chunks/{chunk-QGSELG75.js → chunk-AFMLL2G3.js} +2 -2
- package/dist/cli/chunks/{chunk-JBW2A2O6.js → chunk-AVVRA6FG.js} +2 -2
- package/dist/cli/chunks/{chunk-2A4JCRAW.js → chunk-BIODM56C.js} +2 -2
- package/dist/cli/chunks/{chunk-KMHGQD76.js → chunk-BJF77EFA.js} +2 -2
- package/dist/cli/chunks/chunk-BKGCMWFL.js +12 -0
- package/dist/cli/chunks/{chunk-JMK5OCWL.js → chunk-BXGAXGME.js} +2 -2
- package/dist/cli/chunks/{chunk-RPT7HCMH.js → chunk-CEVIRL2S.js} +2 -2
- package/dist/cli/chunks/{chunk-DC3PADV3.js → chunk-CPVGZYEP.js} +1 -1
- package/dist/cli/chunks/chunk-CQSME43Z.js +69 -0
- package/dist/cli/chunks/{chunk-VRHKEJR6.js → chunk-DERQRIAR.js} +3 -3
- package/dist/cli/chunks/{chunk-XBWVHO6G.js → chunk-DJCLA5AG.js} +2 -2
- package/dist/cli/chunks/{chunk-EN2A2CVT.js → chunk-DODH6CEQ.js} +1 -1
- package/dist/cli/chunks/{chunk-4U2JKV44.js → chunk-DSPH4GI3.js} +1 -1
- package/dist/cli/chunks/{chunk-HZKY5KPB.js → chunk-EJQRDMON.js} +1 -1
- package/dist/cli/chunks/{chunk-OXL6JSVR.js → chunk-EYSGJZ7Y.js} +9 -9
- package/dist/cli/chunks/chunk-F32R4LVS.js +2 -0
- package/dist/cli/chunks/{chunk-DCB2VUYM.js → chunk-F3PX6EJX.js} +1 -1
- package/dist/cli/chunks/{chunk-RI3NTZ2I.js → chunk-FAQPPMEC.js} +2 -2
- package/dist/cli/chunks/{chunk-6G3RNT5H.js → chunk-FHDYN73D.js} +2 -2
- package/dist/cli/chunks/{chunk-DQCWNCOT.js → chunk-FPBNTPCM.js} +2 -2
- package/dist/cli/chunks/{chunk-TFUWIKGZ.js → chunk-FUTRX4ZT.js} +2 -2
- package/dist/cli/chunks/{chunk-IS2PMHB5.js → chunk-G7HYTJDG.js} +2 -2
- package/dist/cli/chunks/{chunk-4ELLGWTS.js → chunk-GJACTPDK.js} +2 -2
- package/dist/cli/chunks/{chunk-EZN7QMOZ.js → chunk-GXO42P3X.js} +4 -4
- package/dist/cli/chunks/{chunk-FKNYOKIK.js → chunk-H647PYXW.js} +1 -1
- package/dist/cli/chunks/{chunk-MLVVYUFS.js → chunk-HCFRGEMK.js} +1 -1
- package/dist/cli/chunks/{chunk-DOSDUAVZ.js → chunk-HW47UOFK.js} +2 -2
- package/dist/cli/chunks/{chunk-JGNVI5UB.js → chunk-HXQ7GAUV.js} +3 -3
- package/dist/cli/chunks/{chunk-BRWWIY6O.js → chunk-ICLWWAGZ.js} +2 -2
- package/dist/cli/chunks/{chunk-A26GU6YU.js → chunk-IHBRFVGA.js} +1 -1
- package/dist/cli/chunks/{chunk-ZURHHRSA.js → chunk-J7SDO52P.js} +2 -2
- package/dist/cli/chunks/{chunk-6ZMQL3U6.js → chunk-JCPXG42O.js} +2 -2
- package/dist/cli/chunks/{chunk-BSQTOKNR.js → chunk-K2D5L7YV.js} +1 -1
- package/dist/cli/chunks/{chunk-JZG23IPV.js → chunk-KMDZOVCF.js} +1 -1
- package/dist/cli/chunks/{chunk-VW7FKTFO.js → chunk-KNOZWD6E.js} +2 -2
- package/dist/cli/chunks/{chunk-JZTB35EQ.js → chunk-LATJ2LKJ.js} +1 -1
- package/dist/cli/chunks/{chunk-WMJCFDTA.js → chunk-LGSPAQSP.js} +2 -2
- package/dist/cli/chunks/{chunk-D7SS56EG.js → chunk-LJW7BTMK.js} +2 -2
- package/dist/cli/chunks/{chunk-ZHA5Z5V4.js → chunk-LSYMQG52.js} +1 -1
- package/dist/cli/chunks/{chunk-6KTF7QB3.js → chunk-MIST354H.js} +2 -2
- package/dist/cli/chunks/{chunk-AGPZVE6B.js → chunk-MXAEZHW6.js} +2 -2
- package/dist/cli/chunks/{chunk-6IBFYVLK.js → chunk-MXDGMXJA.js} +2 -2
- package/dist/cli/chunks/{chunk-R3U3ARVJ.js → chunk-MXHJUAM7.js} +2 -2
- package/dist/cli/chunks/{chunk-BXTHB2A2.js → chunk-NGWGOMOP.js} +2 -2
- package/dist/cli/chunks/{chunk-UNPTSPAO.js → chunk-NN6VRHNL.js} +2 -2
- package/dist/cli/chunks/{chunk-LVABI4OA.js → chunk-NQIOXSHW.js} +1 -1
- package/dist/cli/chunks/{chunk-CSYQKVZY.js → chunk-NWYYWFUO.js} +1 -1
- package/dist/cli/chunks/{chunk-CCM7MBLA.js → chunk-O3PLWCCD.js} +2 -2
- package/dist/cli/chunks/{chunk-3DLD7OMF.js → chunk-OD5SVOVP.js} +1 -1
- package/dist/cli/chunks/{chunk-FDDB7QTM.js → chunk-P2ABIGYB.js} +1 -1
- package/dist/cli/chunks/{chunk-QTUTQLOY.js → chunk-Q4OITFDX.js} +2 -2
- package/dist/cli/chunks/{chunk-3GA7M5NK.js → chunk-QAZYSC3T.js} +2 -2
- package/dist/cli/chunks/{chunk-UPP5V7Y3.js → chunk-QCLEA3CM.js} +2 -2
- package/dist/cli/chunks/{chunk-ZWR4PZ4Z.js → chunk-QKOPJ5CZ.js} +2 -2
- package/dist/cli/chunks/{chunk-Z4YHL4JU.js → chunk-QLZPCEVI.js} +1 -1
- package/dist/cli/chunks/{chunk-7GGSUXVM.js → chunk-QMGXALN3.js} +2 -2
- package/dist/cli/chunks/{chunk-SQHM6WUF.js → chunk-QMUZMIV7.js} +3 -3
- package/dist/cli/chunks/{chunk-5SZLQCFP.js → chunk-QQMHE4RT.js} +2 -2
- package/dist/cli/chunks/{chunk-NBQW7MXF.js → chunk-RCPFDAOC.js} +1 -1
- package/dist/cli/chunks/{chunk-JD6KE6DJ.js → chunk-RVWGW7TI.js} +2 -2
- package/dist/cli/chunks/{chunk-ZJEVL5O3.js → chunk-RXXKU3VP.js} +2 -2
- package/dist/cli/chunks/{chunk-AZGESIFV.js → chunk-RYBFRFKY.js} +1 -1
- package/dist/cli/chunks/{chunk-WKQSZTU6.js → chunk-S6SRHNJV.js} +2 -2
- package/dist/cli/chunks/{chunk-BADBKGZE.js → chunk-SGGY4QYU.js} +2 -2
- package/dist/cli/chunks/{chunk-YZIOM7JL.js → chunk-SH2UPGO7.js} +2 -2
- package/dist/cli/chunks/{chunk-PM77Z4PR.js → chunk-SL7WTN5Z.js} +2 -2
- package/dist/cli/chunks/{chunk-KV6PIOHN.js → chunk-SMQ5OARZ.js} +1 -1
- package/dist/cli/chunks/{chunk-YQL6JH2Y.js → chunk-SYXPLFK7.js} +2 -2
- package/dist/cli/chunks/{chunk-6BGSH2YR.js → chunk-T3TEQH2H.js} +1 -1
- package/dist/cli/chunks/{chunk-YNVVRND7.js → chunk-T5MMSSSF.js} +2 -2
- package/dist/cli/chunks/{chunk-BY44ODHD.js → chunk-TG6P44UT.js} +4 -4
- package/dist/cli/chunks/{chunk-TPL3CBMS.js → chunk-TV5OVFKK.js} +1 -1
- package/dist/cli/chunks/{chunk-54TOOHER.js → chunk-U7RTH6F4.js} +2 -2
- package/dist/cli/chunks/{chunk-XTCV5UOJ.js → chunk-UABC2Z3S.js} +2 -2
- package/dist/cli/chunks/{chunk-I3POPZT5.js → chunk-UAE37LHP.js} +2 -2
- package/dist/cli/chunks/{chunk-5ROA7KOT.js → chunk-UHWRRJBH.js} +1 -1
- package/dist/cli/chunks/{chunk-J7BG55VG.js → chunk-UNAVOVD7.js} +3 -3
- package/dist/cli/chunks/{chunk-MJ7UYPGY.js → chunk-V5UB75TQ.js} +2 -2
- package/dist/cli/chunks/{chunk-WH7ZOJCF.js → chunk-VQI6JQQP.js} +1 -1
- package/dist/cli/chunks/{chunk-KYLE6ZSC.js → chunk-WALYYW6B.js} +4 -4
- package/dist/cli/chunks/{chunk-UFGFV4BO.js → chunk-WF6MKBRI.js} +2 -2
- package/dist/cli/chunks/{chunk-F7XU7KZL.js → chunk-X3NADG4S.js} +2 -2
- package/dist/cli/chunks/{chunk-7ZIKFJ6X.js → chunk-XJRXB5Z5.js} +2 -2
- package/dist/cli/chunks/{chunk-V2N7KWT7.js → chunk-Y6U4CCPP.js} +1 -1
- package/dist/cli/chunks/{chunk-VXQK4GKV.js → chunk-YPUDYGIU.js} +1 -1
- package/dist/cli/chunks/{chunk-K5NFP7B5.js → chunk-YPVPWDKL.js} +2 -2
- package/dist/cli/chunks/{chunk-VZO5I23B.js → chunk-Z5MG54R4.js} +1 -1
- package/dist/cli/chunks/{chunk-QTNDHCZ7.js → chunk-Z65DB2Z7.js} +3 -3
- package/dist/cli/chunks/{chunk-XSLKR2DM.js → chunk-ZBBHJGPI.js} +2 -2
- package/dist/cli/chunks/{chunk-RGLCMGNZ.js → chunk-ZCH5MNST.js} +2 -2
- package/dist/cli/chunks/{chunk-QW2RFI73.js → chunk-ZTWHRDUY.js} +2 -2
- package/dist/cli/chunks/{ci-LYAVZLM3.js → ci-TE3744OR.js} +2 -2
- package/dist/cli/chunks/{ci-output-L7TR2NCN.js → ci-output-GSNS52SY.js} +2 -2
- package/dist/cli/chunks/{circuit-breaker-AQOGJGKI.js → circuit-breaker-7ROW7QBW.js} +2 -2
- package/dist/cli/chunks/{claude-flow-setup-SO2ZN26K.js → claude-flow-setup-Z5GPMILN.js} +2 -2
- package/dist/cli/chunks/client-S5TFLKHN.js +2 -0
- package/dist/cli/chunks/{cline-installer-XCXFH4UR.js → cline-installer-6D4SAAM4.js} +2 -2
- package/dist/cli/chunks/{code-3Z2HMS5I.js → code-JZKH7FRS.js} +2 -2
- package/dist/cli/chunks/{code-index-extractor-KE362AJX.js → code-index-extractor-JJFTZLOK.js} +2 -2
- package/dist/cli/chunks/{codex-installer-GTD3GFTF.js → codex-installer-O5KIPN3Z.js} +2 -2
- package/dist/cli/chunks/{completions-EDCXRRJO.js → completions-QNMAUYKK.js} +2 -2
- package/dist/cli/chunks/{complexity-analyzer-QMN3V6D3.js → complexity-analyzer-JYJ7TLYE.js} +2 -2
- package/dist/cli/chunks/{continuedev-installer-U6HN376C.js → continuedev-installer-JYMVLG6S.js} +2 -2
- package/dist/cli/chunks/{copilot-installer-54PZIREM.js → copilot-installer-SSV6GF5G.js} +2 -2
- package/dist/cli/chunks/{cost-tracker-33O475QA.js → cost-tracker-2VZ3IMJZ.js} +2 -2
- package/dist/cli/chunks/{coverage-B7E545AJ.js → coverage-KW4V5D5L.js} +3 -3
- package/dist/cli/chunks/cross-domain-router-GZG5GU7Q.js +2 -0
- package/dist/cli/chunks/{cursor-installer-LKKSPZUM.js → cursor-installer-QVGDAHOI.js} +2 -2
- package/dist/cli/chunks/{daemon-DVOHWXUR.js → daemon-JKMFDYK2.js} +3 -3
- package/dist/cli/chunks/{dag-attention-scheduler-EQOHQBUG.js → dag-attention-scheduler-WKRV7DFE.js} +2 -2
- package/dist/cli/chunks/{detect-OCB2XT6C.js → detect-ROCCKX63.js} +2 -2
- package/dist/cli/chunks/{dist-node-HSG4QK4G.js → dist-node-QGU7TJTW.js} +2 -2
- package/dist/cli/chunks/{domain-handler-USGF4CIG.js → domain-handler-3UJHQPOR.js} +2 -2
- package/dist/cli/chunks/{domain-transfer-OUERZRGL.js → domain-transfer-R47ISVU5.js} +2 -2
- package/dist/cli/chunks/dream-PGYTIOQS.js +2 -0
- package/dist/cli/chunks/embed-and-insert-pattern-ZVK7WSY2.js +3 -0
- package/dist/cli/chunks/{eval-LHYXXWFK.js → eval-WNZWXFOW.js} +2 -2
- package/dist/cli/chunks/{fast-paths-UTK7BN63.js → fast-paths-QPF47RZJ.js} +2 -2
- package/dist/cli/chunks/{feature-flags-XB6ALB3X.js → feature-flags-2MAHHM66.js} +2 -2
- package/dist/cli/chunks/{feature-flags-XEP6B4GN.js → feature-flags-PGIG2W3G.js} +2 -2
- package/dist/cli/chunks/{file-discovery-O4DUCNHK.js → file-discovery-JL6FCXRB.js} +2 -2
- package/dist/cli/chunks/{fleet-37NGGRJI.js → fleet-LMBZU2GU.js} +3 -3
- package/dist/cli/chunks/{gnn-wrapper-5E7T3IQX.js → gnn-wrapper-GFNFVEER.js} +2 -2
- package/dist/cli/chunks/{heartbeat-handler-Q44PCI7K.js → heartbeat-handler-YN7ES3AX.js} +4 -4
- package/dist/cli/chunks/{heartbeat-scheduler-6JPB2AQS.js → heartbeat-scheduler-SII2KJSQ.js} +2 -2
- package/dist/cli/chunks/hnsw-adapter-ANJKCXK6.js +2 -0
- package/dist/cli/chunks/hnsw-index-D4CJEP7L.js +2 -0
- package/dist/cli/chunks/{hnsw-legacy-bridge-B55GGQYA.js → hnsw-legacy-bridge-CPMBYE7C.js} +2 -2
- package/dist/cli/chunks/{hnswlib-node-B3D2XIL5.js → hnswlib-node-NWNBNU3W.js} +2 -2
- package/dist/cli/chunks/hooks-EYSB7XDW.js +225 -0
- package/dist/cli/chunks/{hybrid-router-RV34PYQD.js → hybrid-router-BR7O6WT2.js} +2 -2
- package/dist/cli/chunks/{hypergraph-engine-FT5YK5RF.js → hypergraph-engine-HAKGWDYX.js} +2 -2
- package/dist/cli/chunks/{hypergraph-handler-EUS6MIYW.js → hypergraph-handler-UCI3LXUF.js} +3 -3
- package/dist/cli/chunks/impact-analyzer-55JW3OK6.js +2 -0
- package/dist/cli/chunks/{init-handler-3MV32TKZ.js → init-handler-7RYGU3W5.js} +6 -6
- package/dist/cli/chunks/init-wizard-MWKJNVB2.js +2 -0
- package/dist/cli/chunks/kernel-5MKKDS4J.js +2 -0
- package/dist/cli/chunks/{kilocode-installer-RZPRXQI2.js → kilocode-installer-W6ITMEFA.js} +2 -2
- package/dist/cli/chunks/{kiro-installer-BGDBNZHI.js → kiro-installer-2BO34D3O.js} +2 -2
- package/dist/cli/chunks/knowledge-graph-2A7AE7L7.js +2 -0
- package/dist/cli/chunks/{learning-KNEBWLEZ.js → learning-GEXYG72Z.js} +3 -3
- package/dist/cli/chunks/{llm-router-Q2VQPOQ3.js → llm-router-EGHA5YOC.js} +4 -4
- package/dist/cli/chunks/{load-RL53SYBD.js → load-VU2OOAEF.js} +2 -2
- package/dist/cli/chunks/load-test-UD4ZXCGG.js +2 -0
- package/dist/cli/chunks/{mcp-GTINFFUF.js → mcp-NVQFFQ2R.js} +2 -2
- package/dist/cli/chunks/{memory-STPMUUAK.js → memory-JNXMKTZQ.js} +5 -5
- package/dist/cli/chunks/memory-backend-X3Z4IAYG.js +2 -0
- package/dist/cli/chunks/{memory-handlers-LWX3LPVF.js → memory-handlers-NLGQ5I7K.js} +2 -2
- package/dist/cli/chunks/{multi-model-executor-36ZYYDA6.js → multi-model-executor-SG6OME2A.js} +2 -2
- package/dist/cli/chunks/{opencode-installer-KTCQKS2K.js → opencode-installer-AY4JCZIM.js} +2 -2
- package/dist/cli/chunks/{orchestrator-6EGOOXQG.js → orchestrator-GWI7HQG6.js} +6 -6
- package/dist/cli/chunks/{pipeline-WSLAIOYC.js → pipeline-7T6IAMC7.js} +2 -2
- package/dist/cli/chunks/{platform-MNUN663B.js → platform-IXUST66M.js} +2 -2
- package/dist/cli/chunks/{plugin-PLDTG4A2.js → plugin-PW7F6MVH.js} +2 -2
- package/dist/cli/chunks/{prime-radiant-advanced-wasm-B4UFONWB.js → prime-radiant-advanced-wasm-BUAZHZCM.js} +2 -2
- package/dist/cli/chunks/protocol-executor-AB6KPFK5.js +2 -0
- package/dist/cli/chunks/{protocol-handler-VAVLLAI2.js → protocol-handler-6746OC4P.js} +2 -2
- package/dist/cli/chunks/{prove-WVNPDWUC.js → prove-VYV5DQGC.js} +2 -2
- package/dist/cli/chunks/{provider-manager-VJF4D6AW.js → provider-manager-GEO3CUOO.js} +3 -3
- package/dist/cli/chunks/qe-reasoning-bank-Y4IDDIYA.js +2 -0
- package/dist/cli/chunks/{quality-LTMHVQBG.js → quality-4XXENNNW.js} +2 -2
- package/dist/cli/chunks/queen-coordinator-GBSTXGA2.js +2 -0
- package/dist/cli/chunks/{real-embeddings-6ACQACTM.js → real-embeddings-ZVEZVXVT.js} +2 -2
- package/dist/cli/chunks/{roocode-installer-T5ZWC3SS.js → roocode-installer-ZRNDOIDL.js} +2 -2
- package/dist/cli/chunks/router-JA2X4MF6.js +2 -0
- package/dist/cli/chunks/routing-feedback-YCVJIWFM.js +2 -0
- package/dist/cli/chunks/{routing-handler-Y2O2I2HM.js → routing-handler-MPSJ7DDI.js} +2 -2
- package/dist/cli/chunks/{ruvector-commands-F2V36B4W.js → ruvector-commands-V4BVCY2U.js} +2 -2
- package/dist/cli/chunks/{rvf-dual-writer-R6CNMPQD.js → rvf-dual-writer-X4VNU5KH.js} +2 -2
- package/dist/cli/chunks/{rvf-migration-adapter-IDVOB3LN.js → rvf-migration-adapter-KOYYJSNH.js} +2 -2
- package/dist/cli/chunks/{rvf-migration-coordinator-VM4AMFZG.js → rvf-migration-coordinator-SF5IBKTK.js} +2 -2
- package/dist/cli/chunks/rvf-native-adapter-5YN7EEB5.js +2 -0
- package/dist/cli/chunks/safe-db-S46Y7IC5.js +2 -0
- package/dist/cli/chunks/schedule-KSDHFWSY.js +2 -0
- package/dist/cli/chunks/scheduler-PLFJHU54.js +2 -0
- package/dist/cli/chunks/{security-WQ7YMR6M.js → security-AA5GBNNU.js} +3 -3
- package/dist/cli/chunks/shared-rvf-adapter-MLXVW4N6.js +2 -0
- package/dist/cli/chunks/{shared-rvf-dual-writer-HYI64CBX.js → shared-rvf-dual-writer-EGP3BYIY.js} +2 -2
- package/dist/cli/chunks/sqlite-persistence-RK3JWKB4.js +2 -0
- package/dist/cli/chunks/{status-handler-BH2WCMPA.js → status-handler-ARHPRXJ4.js} +2 -2
- package/dist/cli/chunks/{structural-health-XWX6FKVF.js → structural-health-IDV4RBZV.js} +2 -2
- package/dist/cli/chunks/{sync-PRDGCHE2.js → sync-7BRLSLDG.js} +2 -2
- package/dist/cli/chunks/{task-handler-YFHFBMHO.js → task-handler-XY42QA3K.js} +2 -2
- package/dist/cli/chunks/task-handlers-QEHOKEJC.js +9 -0
- package/dist/cli/chunks/{test-ZBTQ4Z66.js → test-TQIHDBEX.js} +4 -4
- package/dist/cli/chunks/{test-scheduling-F47Y3KNO.js → test-scheduling-BBVOLGFT.js} +3 -3
- package/dist/cli/chunks/{token-bootstrap-XOGAEQPG.js → token-bootstrap-BUHTWVEF.js} +2 -2
- package/dist/cli/chunks/{token-usage-2KZ7WE5J.js → token-usage-MRVQ7G3H.js} +2 -2
- package/dist/cli/chunks/{transformers-KCJ7PWZ4.js → transformers-3PFLFSWR.js} +2 -2
- package/dist/cli/chunks/{tree-sitter-wasm-parser-H6DL2DFA.js → tree-sitter-wasm-parser-6GDZQNFV.js} +2 -2
- package/dist/cli/chunks/{types-633TMIO3.js → types-F2LWFMRI.js} +2 -2
- package/dist/cli/chunks/unified-memory-JVZZMZRE.js +2 -0
- package/dist/cli/chunks/unified-memory-hnsw-EJJHCMFR.js +2 -0
- package/dist/cli/chunks/unified-persistence-IEKOYCBL.js +2 -0
- package/dist/cli/chunks/{upgrade-CH742GRF.js → upgrade-N676MSDA.js} +2 -2
- package/dist/cli/chunks/{validate-44WH3CKE.js → validate-56AA6YYM.js} +2 -2
- package/dist/cli/chunks/{validate-swarm-W2A7CUM7.js → validate-swarm-YPHV7MMC.js} +2 -2
- package/dist/cli/chunks/{vibium-B25MIEBK.js → vibium-ABPFT3DX.js} +2 -2
- package/dist/cli/chunks/visual-security-APS7K3TZ.js +2 -0
- package/dist/cli/chunks/{web-tree-sitter-B54K47HF.js → web-tree-sitter-KN4PWKMV.js} +2 -2
- package/dist/cli/chunks/{windsurf-installer-EWL7COTI.js → windsurf-installer-IZOJBDNN.js} +2 -2
- package/dist/cli/chunks/witness-chain-DMHO7R75.js +2 -0
- package/dist/cli/chunks/{witness-chain-DWNP7VR6.js → witness-chain-H2DM5WMB.js} +2 -2
- package/dist/cli/chunks/{workflow-LT2J7U23.js → workflow-R42PK45F.js} +4 -4
- package/dist/cli/chunks/workflow-orchestrator-BDHRNVOG.js +2 -0
- package/dist/cli/chunks/{wrappers-OAZ6MKXO.js → wrappers-6TIJNWN4.js} +2 -2
- package/dist/cli/commands/hooks-handlers/command-hooks.js +104 -11
- package/dist/cli/commands/hooks-handlers/hooks-dream-learning.d.ts +98 -0
- package/dist/cli/commands/hooks-handlers/hooks-dream-learning.js +339 -1
- package/dist/cli/commands/hooks-handlers/hooks-shared.d.ts +20 -1
- package/dist/cli/commands/hooks-handlers/hooks-shared.js +35 -3
- package/dist/cli/commands/hooks-handlers/routing-hooks.js +15 -5
- package/dist/cli/commands/hooks-handlers/task-hooks.js +216 -5
- package/dist/cli/commands/init.js +3 -1
- package/dist/coordination/consensus/providers/claude-provider.js +1 -1
- package/dist/coordination/task-executor.js +11 -2
- package/dist/init/phases/07-hooks.js +2 -2
- package/dist/integrations/agentic-flow/reasoning-bank/experience-replay.js +82 -0
- package/dist/integrations/ruvector/hypergraph-engine.js +63 -4
- package/dist/integrations/ruvector/hypergraph-schema.d.ts +6 -2
- package/dist/learning/dream/dream-engine.js +8 -0
- package/dist/learning/embed-and-insert-pattern.d.ts +36 -0
- package/dist/learning/embed-and-insert-pattern.js +52 -0
- package/dist/learning/pattern-store.d.ts +8 -0
- package/dist/learning/pattern-store.js +66 -43
- package/dist/mcp/bundle.js +372 -357
- package/dist/mcp/entry.js +36 -1
- package/dist/mcp/handlers/core-handlers.js +2 -2
- package/dist/mcp/handlers/task-handlers.js +45 -0
- package/dist/mcp/handlers/trajectory-judge.d.ts +13 -0
- package/dist/mcp/handlers/trajectory-judge.js +100 -0
- package/dist/shared/llm/providers/claude.js +1 -1
- package/dist/workers/workers/learning-consolidation.js +6 -1
- package/package.json +1 -1
- package/dist/cli/chunks/adapter-C7AKAAPC.js +0 -2
- package/dist/cli/chunks/aqe-learning-engine-7P3AXQNO.js +0 -2
- package/dist/cli/chunks/base-GIDVLEPA.js +0 -2
- package/dist/cli/chunks/browser-workflow-DAUS4Z5V.js +0 -2
- package/dist/cli/chunks/chunk-4XYQJ4LQ.js +0 -2
- package/dist/cli/chunks/chunk-NKOLFLXF.js +0 -66
- package/dist/cli/chunks/chunk-RHYGRUNU.js +0 -24
- package/dist/cli/chunks/client-LIKTMSIP.js +0 -2
- package/dist/cli/chunks/cross-domain-router-SSBT32Q3.js +0 -2
- package/dist/cli/chunks/dream-FAHB6BWB.js +0 -2
- package/dist/cli/chunks/hnsw-adapter-GQM3ONQE.js +0 -2
- package/dist/cli/chunks/hnsw-index-XF3NY4R4.js +0 -2
- package/dist/cli/chunks/hooks-MOBQSJLJ.js +0 -101
- package/dist/cli/chunks/impact-analyzer-V6PBIMZH.js +0 -2
- package/dist/cli/chunks/init-wizard-7ROJWLEO.js +0 -2
- package/dist/cli/chunks/kernel-AOUBGDXU.js +0 -2
- package/dist/cli/chunks/knowledge-graph-SJA3YGMQ.js +0 -2
- package/dist/cli/chunks/load-test-NSHIGHCV.js +0 -2
- package/dist/cli/chunks/memory-backend-SZAYMQVP.js +0 -2
- package/dist/cli/chunks/protocol-executor-22KKAYX2.js +0 -2
- package/dist/cli/chunks/qe-reasoning-bank-N7ZXOAEN.js +0 -2
- package/dist/cli/chunks/queen-coordinator-BC54OCHH.js +0 -2
- package/dist/cli/chunks/router-YTQZRTIB.js +0 -2
- package/dist/cli/chunks/routing-feedback-AASAMEUY.js +0 -2
- package/dist/cli/chunks/rvf-native-adapter-VHIHJOPA.js +0 -2
- package/dist/cli/chunks/safe-db-NVEBL662.js +0 -2
- package/dist/cli/chunks/schedule-KVUFE56T.js +0 -2
- package/dist/cli/chunks/scheduler-6GRLJZ2A.js +0 -2
- package/dist/cli/chunks/shared-rvf-adapter-XORIDF3Q.js +0 -2
- package/dist/cli/chunks/sqlite-persistence-25TDMX6G.js +0 -2
- package/dist/cli/chunks/task-handlers-4OQRADMG.js +0 -2
- package/dist/cli/chunks/unified-memory-BTX45KY5.js +0 -2
- package/dist/cli/chunks/unified-memory-hnsw-MMHMQ4CP.js +0 -2
- package/dist/cli/chunks/unified-persistence-GA7HKYZC.js +0 -2
- package/dist/cli/chunks/visual-security-HPF5HCYF.js +0 -2
- package/dist/cli/chunks/witness-chain-LROQLFND.js +0 -2
- package/dist/cli/chunks/workflow-orchestrator-VFRKGG5Y.js +0 -2
|
@@ -235,6 +235,14 @@ export class DreamEngine {
|
|
|
235
235
|
await this.persistence.initialize();
|
|
236
236
|
}
|
|
237
237
|
this.db = this.persistence.getDatabase();
|
|
238
|
+
// ADR-001 Option C: dynamic-import paths in checkAndTriggerDream() open
|
|
239
|
+
// a fresh handle that the hook/worker busy_timeout pragmas never reach.
|
|
240
|
+
// 60s patient timeout here keeps dream cycles from failing under WAL
|
|
241
|
+
// contention from MCP workers (was 71% failure rate observed).
|
|
242
|
+
try {
|
|
243
|
+
this.db.pragma('busy_timeout = 60000');
|
|
244
|
+
}
|
|
245
|
+
catch { /* fail-soft */ }
|
|
238
246
|
// Migrate legacy schema: rename 'duration' → 'duration_ms' if needed
|
|
239
247
|
this.migrateSchema();
|
|
240
248
|
// Initialize concept graph (shares same unified persistence)
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pattern embedding helper — unifies the 3 memory.db `qe_patterns` writers
|
|
3
|
+
* per ADR-058 (embedding-locality).
|
|
4
|
+
*
|
|
5
|
+
* Three live writers in our codebase write to `qe_patterns`:
|
|
6
|
+
*
|
|
7
|
+
* 1. learning/sqlite-persistence.ts:497 SQLitePatternStore.storePattern (canonical)
|
|
8
|
+
* 2. cli/commands/hooks-handlers/hooks-dream-learning.ts (consolidateAgentPatterns)
|
|
9
|
+
* 3. workers/workers/learning-consolidation.ts (createPatternsFromCandidates)
|
|
10
|
+
*
|
|
11
|
+
* Only the canonical writer pairs the row with a `qe_pattern_embeddings` row
|
|
12
|
+
* via `computeRealEmbedding(text, qeConfig.embeddings)`. Writers 2 & 3
|
|
13
|
+
* historically bypassed embedding generation, producing "ghost" patterns that
|
|
14
|
+
* loaded with no vectors and stayed invisible to HNSW pattern recall.
|
|
15
|
+
*
|
|
16
|
+
* This helper provides the embedding side so any caller can compute and persist
|
|
17
|
+
* the embedding adjacent to its existing INSERT INTO qe_patterns. It is
|
|
18
|
+
* fail-soft (errors are logged at debug level and swallowed) — pattern row
|
|
19
|
+
* persistence must not regress when embedding computation fails.
|
|
20
|
+
*/
|
|
21
|
+
import type Database from 'better-sqlite3';
|
|
22
|
+
import { type EmbeddingConfig } from './real-embeddings.js';
|
|
23
|
+
/**
|
|
24
|
+
* Compute an embedding for a pattern (`name + description + tags`) and persist
|
|
25
|
+
* it to `qe_pattern_embeddings`. Caller is responsible for the matching
|
|
26
|
+
* `qe_patterns` row.
|
|
27
|
+
*
|
|
28
|
+
* @param db - better-sqlite3 database handle (typically from UnifiedMemoryManager.getDatabase())
|
|
29
|
+
* @param patternId - id of the pattern row this embedding belongs to
|
|
30
|
+
* @param name - pattern name (the most semantic component)
|
|
31
|
+
* @param description - pattern description (optional)
|
|
32
|
+
* @param tags - pattern tags (optional)
|
|
33
|
+
* @param config - override embedding model/cache config (defaults to Xenova/all-MiniLM-L6-v2)
|
|
34
|
+
*/
|
|
35
|
+
export declare function ensurePatternEmbedding(db: Database.Database, patternId: string, name: string, description: string | undefined | null, tags: string[] | undefined | null, config?: Partial<EmbeddingConfig>): Promise<void>;
|
|
36
|
+
//# sourceMappingURL=embed-and-insert-pattern.d.ts.map
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pattern embedding helper — unifies the 3 memory.db `qe_patterns` writers
|
|
3
|
+
* per ADR-058 (embedding-locality).
|
|
4
|
+
*
|
|
5
|
+
* Three live writers in our codebase write to `qe_patterns`:
|
|
6
|
+
*
|
|
7
|
+
* 1. learning/sqlite-persistence.ts:497 SQLitePatternStore.storePattern (canonical)
|
|
8
|
+
* 2. cli/commands/hooks-handlers/hooks-dream-learning.ts (consolidateAgentPatterns)
|
|
9
|
+
* 3. workers/workers/learning-consolidation.ts (createPatternsFromCandidates)
|
|
10
|
+
*
|
|
11
|
+
* Only the canonical writer pairs the row with a `qe_pattern_embeddings` row
|
|
12
|
+
* via `computeRealEmbedding(text, qeConfig.embeddings)`. Writers 2 & 3
|
|
13
|
+
* historically bypassed embedding generation, producing "ghost" patterns that
|
|
14
|
+
* loaded with no vectors and stayed invisible to HNSW pattern recall.
|
|
15
|
+
*
|
|
16
|
+
* This helper provides the embedding side so any caller can compute and persist
|
|
17
|
+
* the embedding adjacent to its existing INSERT INTO qe_patterns. It is
|
|
18
|
+
* fail-soft (errors are logged at debug level and swallowed) — pattern row
|
|
19
|
+
* persistence must not regress when embedding computation fails.
|
|
20
|
+
*/
|
|
21
|
+
import { computeRealEmbedding, DEFAULT_EMBEDDING_CONFIG, } from './real-embeddings.js';
|
|
22
|
+
/**
|
|
23
|
+
* Compute an embedding for a pattern (`name + description + tags`) and persist
|
|
24
|
+
* it to `qe_pattern_embeddings`. Caller is responsible for the matching
|
|
25
|
+
* `qe_patterns` row.
|
|
26
|
+
*
|
|
27
|
+
* @param db - better-sqlite3 database handle (typically from UnifiedMemoryManager.getDatabase())
|
|
28
|
+
* @param patternId - id of the pattern row this embedding belongs to
|
|
29
|
+
* @param name - pattern name (the most semantic component)
|
|
30
|
+
* @param description - pattern description (optional)
|
|
31
|
+
* @param tags - pattern tags (optional)
|
|
32
|
+
* @param config - override embedding model/cache config (defaults to Xenova/all-MiniLM-L6-v2)
|
|
33
|
+
*/
|
|
34
|
+
export async function ensurePatternEmbedding(db, patternId, name, description, tags, config = {}) {
|
|
35
|
+
try {
|
|
36
|
+
const text = `${name ?? ''} ${description ?? ''} ${(tags ?? []).join(' ')}`.trim();
|
|
37
|
+
if (!text)
|
|
38
|
+
return;
|
|
39
|
+
const embedding = await computeRealEmbedding(text, config);
|
|
40
|
+
if (!embedding || embedding.length === 0)
|
|
41
|
+
return;
|
|
42
|
+
const buffer = Buffer.from(new Float32Array(embedding).buffer);
|
|
43
|
+
const fullConfig = { ...DEFAULT_EMBEDDING_CONFIG, ...config };
|
|
44
|
+
db.prepare(`INSERT OR REPLACE INTO qe_pattern_embeddings (pattern_id, embedding, dimension, model)
|
|
45
|
+
VALUES (?, ?, ?, ?)`).run(patternId, buffer, embedding.length, fullConfig.modelName);
|
|
46
|
+
}
|
|
47
|
+
catch (error) {
|
|
48
|
+
// Non-fatal: pattern row already persisted; embedding can be backfilled later.
|
|
49
|
+
console.debug('[ensurePatternEmbedding] non-fatal:', error instanceof Error ? error.message : String(error));
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=embed-and-insert-pattern.js.map
|
|
@@ -238,6 +238,14 @@ export declare class PatternStore implements IPatternStore {
|
|
|
238
238
|
* Internal HNSW initialization with timeout protection
|
|
239
239
|
*/
|
|
240
240
|
private initializeHNSWInternal;
|
|
241
|
+
/**
|
|
242
|
+
* Load existing qe_pattern_embeddings into the active HNSW index.
|
|
243
|
+
*
|
|
244
|
+
* Shared between the unified-HNSW path (ADR-071) and the legacy fallback
|
|
245
|
+
* so both report a populated `vectorCount` after first init. Capped to
|
|
246
|
+
* `maxElements` to prevent boot timeout on large pattern stores.
|
|
247
|
+
*/
|
|
248
|
+
private loadEmbeddingsIntoHNSW;
|
|
241
249
|
/**
|
|
242
250
|
* Lazily initialize the VectorDeltaTracker for embedding version history.
|
|
243
251
|
* Returns null when the useDeltaEventSourcing feature flag is disabled.
|
|
@@ -238,6 +238,10 @@ export class PatternStore {
|
|
|
238
238
|
this.hnswIndex = new HnswLegacyBridge(adapter);
|
|
239
239
|
this.hnswAvailable = true;
|
|
240
240
|
console.log('[PatternStore] Using unified HNSW via HnswLegacyBridge (ADR-071)');
|
|
241
|
+
// Load existing qe_pattern_embeddings into the unified bridge on
|
|
242
|
+
// first init. Without this the unified path starts empty and
|
|
243
|
+
// routing falls back to context-only matches.
|
|
244
|
+
await this.loadEmbeddingsIntoHNSW();
|
|
241
245
|
return;
|
|
242
246
|
}
|
|
243
247
|
catch (bridgeError) {
|
|
@@ -262,46 +266,7 @@ export class PatternStore {
|
|
|
262
266
|
await Promise.race([initPromise, timeoutPromise]);
|
|
263
267
|
this.hnswAvailable = this.hnswIndex.isNativeAvailable();
|
|
264
268
|
// Load existing embeddings from SQLite into HNSW index (capped to prevent timeout)
|
|
265
|
-
|
|
266
|
-
try {
|
|
267
|
-
const embeddings = this.sqliteStore.getAllEmbeddings();
|
|
268
|
-
const maxBootstrap = this.config.hnsw.maxElements;
|
|
269
|
-
let loaded = 0;
|
|
270
|
-
for (const { patternId, embedding } of embeddings) {
|
|
271
|
-
if (loaded >= maxBootstrap)
|
|
272
|
-
break;
|
|
273
|
-
if (!embedding || embedding.length !== this.config.embeddingDimension)
|
|
274
|
-
continue;
|
|
275
|
-
const pattern = this.patternCache.get(patternId);
|
|
276
|
-
if (!pattern)
|
|
277
|
-
continue;
|
|
278
|
-
try {
|
|
279
|
-
await this.hnswIndex.insert(patternId, embedding, {
|
|
280
|
-
filePath: pattern.patternType,
|
|
281
|
-
lineCoverage: pattern.confidence * 100,
|
|
282
|
-
branchCoverage: pattern.qualityScore * 100,
|
|
283
|
-
functionCoverage: 0,
|
|
284
|
-
statementCoverage: 0,
|
|
285
|
-
uncoveredLineCount: 0,
|
|
286
|
-
uncoveredBranchCount: 0,
|
|
287
|
-
riskScore: 1 - pattern.confidence,
|
|
288
|
-
lastUpdated: Date.now(),
|
|
289
|
-
totalLines: 0,
|
|
290
|
-
});
|
|
291
|
-
loaded++;
|
|
292
|
-
}
|
|
293
|
-
catch {
|
|
294
|
-
// Duplicate or invalid — skip
|
|
295
|
-
}
|
|
296
|
-
}
|
|
297
|
-
if (loaded > 0) {
|
|
298
|
-
console.log(`[PatternStore] Loaded ${loaded} embeddings from SQLite into HNSW`);
|
|
299
|
-
}
|
|
300
|
-
}
|
|
301
|
-
catch (error) {
|
|
302
|
-
console.warn('[PatternStore] Failed to load SQLite embeddings into HNSW:', toErrorMessage(error));
|
|
303
|
-
}
|
|
304
|
-
}
|
|
269
|
+
await this.loadEmbeddingsIntoHNSW();
|
|
305
270
|
console.log(`[PatternStore] HNSW lazy-initialized (native: ${this.hnswAvailable})`);
|
|
306
271
|
}
|
|
307
272
|
catch (error) {
|
|
@@ -310,6 +275,61 @@ export class PatternStore {
|
|
|
310
275
|
this.hnswAvailable = false;
|
|
311
276
|
}
|
|
312
277
|
}
|
|
278
|
+
/**
|
|
279
|
+
* Load existing qe_pattern_embeddings into the active HNSW index.
|
|
280
|
+
*
|
|
281
|
+
* Shared between the unified-HNSW path (ADR-071) and the legacy fallback
|
|
282
|
+
* so both report a populated `vectorCount` after first init. Capped to
|
|
283
|
+
* `maxElements` to prevent boot timeout on large pattern stores.
|
|
284
|
+
*/
|
|
285
|
+
async loadEmbeddingsIntoHNSW() {
|
|
286
|
+
if (!this.hnswIndex || !this.sqliteStore)
|
|
287
|
+
return;
|
|
288
|
+
try {
|
|
289
|
+
const embeddings = this.sqliteStore.getAllEmbeddings();
|
|
290
|
+
const maxBootstrap = this.config.hnsw.maxElements;
|
|
291
|
+
let loaded = 0;
|
|
292
|
+
let skipped = 0;
|
|
293
|
+
for (const { patternId, embedding } of embeddings) {
|
|
294
|
+
if (loaded >= maxBootstrap)
|
|
295
|
+
break;
|
|
296
|
+
if (!embedding || embedding.length !== this.config.embeddingDimension) {
|
|
297
|
+
skipped++;
|
|
298
|
+
continue;
|
|
299
|
+
}
|
|
300
|
+
const pattern = this.patternCache.get(patternId);
|
|
301
|
+
if (!pattern) {
|
|
302
|
+
skipped++;
|
|
303
|
+
continue;
|
|
304
|
+
}
|
|
305
|
+
try {
|
|
306
|
+
await this.hnswIndex.insert(patternId, embedding, {
|
|
307
|
+
filePath: pattern.patternType,
|
|
308
|
+
lineCoverage: pattern.confidence * 100,
|
|
309
|
+
branchCoverage: pattern.qualityScore * 100,
|
|
310
|
+
functionCoverage: 0,
|
|
311
|
+
statementCoverage: 0,
|
|
312
|
+
uncoveredLineCount: 0,
|
|
313
|
+
uncoveredBranchCount: 0,
|
|
314
|
+
riskScore: 1 - pattern.confidence,
|
|
315
|
+
lastUpdated: Date.now(),
|
|
316
|
+
totalLines: 0,
|
|
317
|
+
});
|
|
318
|
+
loaded++;
|
|
319
|
+
}
|
|
320
|
+
catch {
|
|
321
|
+
// Duplicate or invalid — skip
|
|
322
|
+
skipped++;
|
|
323
|
+
}
|
|
324
|
+
}
|
|
325
|
+
if (loaded > 0) {
|
|
326
|
+
console.log(`[PatternStore] Loaded ${loaded} embeddings into HNSW (skipped ${skipped})`);
|
|
327
|
+
}
|
|
328
|
+
}
|
|
329
|
+
catch (error) {
|
|
330
|
+
console.warn('[PatternStore] Failed to load SQLite embeddings into HNSW:', toErrorMessage(error));
|
|
331
|
+
}
|
|
332
|
+
}
|
|
313
333
|
/**
|
|
314
334
|
* Lazily initialize the VectorDeltaTracker for embedding version history.
|
|
315
335
|
* Returns null when the useDeltaEventSourcing feature flag is disabled.
|
|
@@ -1103,9 +1123,12 @@ export class PatternStore {
|
|
|
1103
1123
|
totalSuccess += pattern.successRate;
|
|
1104
1124
|
count++;
|
|
1105
1125
|
}
|
|
1106
|
-
//
|
|
1107
|
-
|
|
1108
|
-
|
|
1126
|
+
// Lazy-init HNSW for stats so `aqe hooks stats --json` reflects actual
|
|
1127
|
+
// vectorCount instead of pre-init zeros. Cost is bounded by ensureHNSW's
|
|
1128
|
+
// 5s timeout plus the load-loop cap.
|
|
1129
|
+
const hnsw = await this.ensureHNSW();
|
|
1130
|
+
const hnswStats = hnsw !== null
|
|
1131
|
+
? await hnsw.getStats()
|
|
1109
1132
|
: { nativeHNSW: false, vectorCount: 0, indexSizeBytes: 0, lazyLoaded: true };
|
|
1110
1133
|
return {
|
|
1111
1134
|
totalPatterns: this.patternCache.size,
|