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
package/dist/mcp/entry.js
CHANGED
|
@@ -207,10 +207,45 @@ async function main() {
|
|
|
207
207
|
version,
|
|
208
208
|
});
|
|
209
209
|
originalStderrWrite('[MCP] Ready\n');
|
|
210
|
+
// Eagerly initialize CrossPhaseHooks so kv_store / qcsd-memory rows
|
|
211
|
+
// actually grow under sustained queen-event-handlers traffic. The lazy
|
|
212
|
+
// singleton in hooks/cross-phase-hooks.ts is created on first use, but
|
|
213
|
+
// its initialize() (config-load + memory wiring) only runs when
|
|
214
|
+
// explicitly called. Doing it here means hook events fire through a
|
|
215
|
+
// fully-initialized executor from the first MCP request.
|
|
216
|
+
try {
|
|
217
|
+
const { getCrossPhaseHookExecutor } = await import('../hooks/cross-phase-hooks.js');
|
|
218
|
+
await getCrossPhaseHookExecutor().initialize();
|
|
219
|
+
originalStderrWrite('[MCP] CrossPhaseHooks initialized (eager init via patch 010)\n');
|
|
220
|
+
}
|
|
221
|
+
catch (cpErr) {
|
|
222
|
+
originalStderrWrite(`[MCP] WARNING: CrossPhaseHooks eager init failed: ${cpErr instanceof Error ? cpErr.message : 'unknown'}\n`);
|
|
223
|
+
}
|
|
224
|
+
// Pre-warm ReasoningBankService so HNSW A is populated before the first
|
|
225
|
+
// task_orchestrate arrives. Fire-and-forget: getReasoningBankService()
|
|
226
|
+
// builds the singleton + EnhancedReasoningBankAdapter.initialize() +
|
|
227
|
+
// HNSW A index population. Without this, the first task_orchestrate pays
|
|
228
|
+
// the cold-start cost and routing falls through to context-only matches.
|
|
229
|
+
void (async () => {
|
|
230
|
+
try {
|
|
231
|
+
const { getReasoningBankService } = await import('./services/reasoning-bank-service.js');
|
|
232
|
+
await getReasoningBankService();
|
|
233
|
+
originalStderrWrite('[MCP] ReasoningBank prewarmed\n');
|
|
234
|
+
}
|
|
235
|
+
catch (rbErr) {
|
|
236
|
+
originalStderrWrite(`[MCP] WARNING: ReasoningBank prewarm failed: ${rbErr instanceof Error ? rbErr.message : 'unknown'}\n`);
|
|
237
|
+
}
|
|
238
|
+
})();
|
|
210
239
|
// IMP-10: Start background workers (heartbeat scheduler, etc.)
|
|
211
240
|
try {
|
|
212
241
|
const { getDaemon } = await import('../workers/daemon.js');
|
|
213
|
-
|
|
242
|
+
// ADR-001 Bug A fix: use the canonical getDaemon() default. Passing
|
|
243
|
+
// `{ autoStart: false }` here would neuter workerManager.startAll() —
|
|
244
|
+
// the only call path that schedules per-worker setInterval timers, so
|
|
245
|
+
// workers would register but never tick. DEFAULT_CONFIG.autoStart=true
|
|
246
|
+
// (workers/daemon.ts) is the contracted default; matches the
|
|
247
|
+
// shutdownDaemon() call site above.
|
|
248
|
+
const daemon = getDaemon();
|
|
214
249
|
await daemon.start();
|
|
215
250
|
const status = daemon.getStatus();
|
|
216
251
|
originalStderrWrite(`[MCP] Background workers started (${status.workerManager.totalWorkers} workers)\n`);
|
|
@@ -472,8 +472,8 @@ export async function handleAQEHealth() {
|
|
|
472
472
|
const hnswEnabled = process.env.AQE_V3_HNSW_ENABLED === 'true';
|
|
473
473
|
hnswStats.enabled = hnswEnabled;
|
|
474
474
|
const memAny = mem;
|
|
475
|
-
if (hnswEnabled && typeof memAny.
|
|
476
|
-
hnswStats.vectorCount = await memAny.
|
|
475
|
+
if (hnswEnabled && typeof memAny.vectorCount === 'function') {
|
|
476
|
+
hnswStats.vectorCount = await memAny.vectorCount();
|
|
477
477
|
}
|
|
478
478
|
}
|
|
479
479
|
catch {
|
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
import { getFleetState, isFleetInitialized } from './core-handlers';
|
|
9
9
|
import { getTaskRouter, } from '../services/task-router';
|
|
10
10
|
import { getReasoningBankService, startTaskTrajectory, endTaskTrajectory, } from '../services/reasoning-bank-service';
|
|
11
|
+
import { scoreUnjudgedTrajectories } from './trajectory-judge.js';
|
|
11
12
|
import { toErrorMessage } from '../../shared/error-utils.js';
|
|
12
13
|
// ============================================================================
|
|
13
14
|
// Task Type to Workflow Mapping (Issue #206)
|
|
@@ -224,6 +225,16 @@ export async function handleTaskOrchestrate(params) {
|
|
|
224
225
|
// INTEGRATION FIX: Get ReasoningBank guidance for the task
|
|
225
226
|
const reasoningBankService = await getReasoningBankService();
|
|
226
227
|
const experienceGuidance = await reasoningBankService.getExperienceGuidance(params.task, params.context?.project);
|
|
228
|
+
// Bring HNSW A (qe_patterns) into the routing decision alongside HNSW C
|
|
229
|
+
// (experienceGuidance). Without this, only past trajectories influenced
|
|
230
|
+
// routing — the catalog of consolidated long-term patterns was never
|
|
231
|
+
// consulted for new tasks. Fail-soft: empty array on error.
|
|
232
|
+
const patternHintMatches = await reasoningBankService
|
|
233
|
+
.searchPatterns(params.task, {
|
|
234
|
+
limit: 5,
|
|
235
|
+
domain: params.context?.project ?? inferredDomain,
|
|
236
|
+
})
|
|
237
|
+
.catch(() => []);
|
|
227
238
|
// Parse task description to determine task type
|
|
228
239
|
const taskType = inferTaskType(params.task);
|
|
229
240
|
const priority = mapPriority(params.priority || 'medium');
|
|
@@ -254,6 +265,19 @@ export async function handleTaskOrchestrate(params) {
|
|
|
254
265
|
executionStrategy: routingResult.executionStrategy,
|
|
255
266
|
complexity: routingResult.decision.complexityAnalysis.overall,
|
|
256
267
|
},
|
|
268
|
+
// HNSW A pattern hints (mirrors the submitTask payload below); the
|
|
269
|
+
// workflow branch routes through executeWorkflow, so the same catalog
|
|
270
|
+
// of consolidated long-term patterns should reach it.
|
|
271
|
+
patternHints: patternHintMatches.length > 0
|
|
272
|
+
? patternHintMatches.map(p => ({
|
|
273
|
+
patternId: p.id,
|
|
274
|
+
name: p.name,
|
|
275
|
+
description: p.description,
|
|
276
|
+
confidence: p.confidence,
|
|
277
|
+
similarity: p.qualityScore,
|
|
278
|
+
canReuse: p.tier === 'long-term',
|
|
279
|
+
}))
|
|
280
|
+
: undefined,
|
|
257
281
|
};
|
|
258
282
|
const workflowResult = await workflowOrchestrator.executeWorkflow(workflowId, workflowInput);
|
|
259
283
|
if (!workflowResult.success) {
|
|
@@ -325,6 +349,17 @@ export async function handleTaskOrchestrate(params) {
|
|
|
325
349
|
confidence: experienceGuidance.confidence,
|
|
326
350
|
tokenSavings: experienceGuidance.estimatedTokenSavings,
|
|
327
351
|
} : undefined,
|
|
352
|
+
// HNSW A pattern hints for the executing agent
|
|
353
|
+
patternHints: patternHintMatches.length > 0
|
|
354
|
+
? patternHintMatches.map(p => ({
|
|
355
|
+
patternId: p.id,
|
|
356
|
+
name: p.name,
|
|
357
|
+
description: p.description,
|
|
358
|
+
confidence: p.confidence,
|
|
359
|
+
similarity: p.qualityScore,
|
|
360
|
+
canReuse: p.tier === 'long-term',
|
|
361
|
+
}))
|
|
362
|
+
: undefined,
|
|
328
363
|
},
|
|
329
364
|
timeout: 600000, // 10 minutes for orchestrated tasks
|
|
330
365
|
});
|
|
@@ -343,6 +378,16 @@ export async function handleTaskOrchestrate(params) {
|
|
|
343
378
|
// Issue N1: Trajectory auto-close is handled by subscribeTrajectoryEvents(),
|
|
344
379
|
// which listens for TaskCompleted/TaskFailed on the event router.
|
|
345
380
|
// No per-task polling needed.
|
|
381
|
+
// Trajectory judge: opt-in LLM scoring of recent unscored trajectories.
|
|
382
|
+
// Hook-created rows in qe_trajectories never receive feedback unless
|
|
383
|
+
// something goes back and judges them. This catches up by scoring ≤5
|
|
384
|
+
// rows per task_orchestrate call. Opt-in (AQE_TRAJECTORY_JUDGE=1)
|
|
385
|
+
// because it makes paid LLM calls.
|
|
386
|
+
if (process.env.AQE_TRAJECTORY_JUDGE === '1' && process.env.ANTHROPIC_API_KEY) {
|
|
387
|
+
void scoreUnjudgedTrajectories().catch(err => {
|
|
388
|
+
console.warn('[TrajectoryJudge] failed:', err instanceof Error ? err.message : err);
|
|
389
|
+
});
|
|
390
|
+
}
|
|
346
391
|
return {
|
|
347
392
|
success: true,
|
|
348
393
|
data: {
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Trajectory Judge — opt-in LLM scoring of unscored qe_trajectories rows.
|
|
3
|
+
*
|
|
4
|
+
* Picks ≤5 rows where feedback IS NULL AND ended_at IS NOT NULL, asks Claude
|
|
5
|
+
* Haiku to score them, and writes a structured feedback JSON back into
|
|
6
|
+
* qe_trajectories.feedback. Quality is embedded in the feedback JSON since
|
|
7
|
+
* the canonical schema has no `quality` column.
|
|
8
|
+
*
|
|
9
|
+
* Uses the proxy-aware path from patch 380 (ANTHROPIC_BASE_URL) so this honors
|
|
10
|
+
* any local proxy in front of api.anthropic.com.
|
|
11
|
+
*/
|
|
12
|
+
export declare function scoreUnjudgedTrajectories(): Promise<void>;
|
|
13
|
+
//# sourceMappingURL=trajectory-judge.d.ts.map
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Trajectory Judge — opt-in LLM scoring of unscored qe_trajectories rows.
|
|
3
|
+
*
|
|
4
|
+
* Picks ≤5 rows where feedback IS NULL AND ended_at IS NOT NULL, asks Claude
|
|
5
|
+
* Haiku to score them, and writes a structured feedback JSON back into
|
|
6
|
+
* qe_trajectories.feedback. Quality is embedded in the feedback JSON since
|
|
7
|
+
* the canonical schema has no `quality` column.
|
|
8
|
+
*
|
|
9
|
+
* Uses the proxy-aware path from patch 380 (ANTHROPIC_BASE_URL) so this honors
|
|
10
|
+
* any local proxy in front of api.anthropic.com.
|
|
11
|
+
*/
|
|
12
|
+
import { getUnifiedMemory } from '../../kernel/unified-memory.js';
|
|
13
|
+
const MODEL_ID = 'claude-haiku-4-5-20251001';
|
|
14
|
+
const MAX_TOKENS = 200;
|
|
15
|
+
const BATCH_SIZE = 5;
|
|
16
|
+
export async function scoreUnjudgedTrajectories() {
|
|
17
|
+
const apiKey = process.env.ANTHROPIC_API_KEY;
|
|
18
|
+
if (!apiKey)
|
|
19
|
+
return;
|
|
20
|
+
const baseUrl = (process.env.ANTHROPIC_BASE_URL ?? 'https://api.anthropic.com').replace(/\/$/, '');
|
|
21
|
+
const um = getUnifiedMemory();
|
|
22
|
+
if (!um.isInitialized())
|
|
23
|
+
return;
|
|
24
|
+
const db = um.getDatabase();
|
|
25
|
+
// Verify the feedback column exists (TrajectoryTracker.ensureSchema() adds it
|
|
26
|
+
// lazily — it may not have run yet on a fresh install).
|
|
27
|
+
const cols = db.prepare('PRAGMA table_info(qe_trajectories)').all();
|
|
28
|
+
if (!cols.some(c => c.name === 'feedback'))
|
|
29
|
+
return;
|
|
30
|
+
const rows = db.prepare(`
|
|
31
|
+
SELECT id, task, agent, domain, success
|
|
32
|
+
FROM qe_trajectories
|
|
33
|
+
WHERE feedback IS NULL AND ended_at IS NOT NULL
|
|
34
|
+
ORDER BY ended_at DESC
|
|
35
|
+
LIMIT ?
|
|
36
|
+
`).all(BATCH_SIZE);
|
|
37
|
+
if (rows.length === 0)
|
|
38
|
+
return;
|
|
39
|
+
const updateStmt = db.prepare(`UPDATE qe_trajectories SET feedback = ? WHERE id = ?`);
|
|
40
|
+
for (const row of rows) {
|
|
41
|
+
try {
|
|
42
|
+
const verdict = await scoreTrajectory(row, apiKey, baseUrl);
|
|
43
|
+
if (verdict) {
|
|
44
|
+
updateStmt.run(JSON.stringify(verdict), row.id);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
catch {
|
|
48
|
+
// Skip this row; another task_orchestrate call will retry it
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
async function scoreTrajectory(row, apiKey, baseUrl) {
|
|
53
|
+
const prompt = [
|
|
54
|
+
`You are a quality engineering judge scoring a completed task trajectory.`,
|
|
55
|
+
``,
|
|
56
|
+
`Task: ${row.task.slice(0, 400)}`,
|
|
57
|
+
`Agent: ${row.agent ?? 'unknown'}`,
|
|
58
|
+
`Domain: ${row.domain ?? 'general'}`,
|
|
59
|
+
`Outcome: ${row.success ? 'success' : 'failure'}`,
|
|
60
|
+
``,
|
|
61
|
+
`Respond ONLY with JSON: {"quality": 0..1, "reasoning": "≤120 chars", "improvement": "≤120 chars or omit"}.`,
|
|
62
|
+
].join('\n');
|
|
63
|
+
const response = await fetch(`${baseUrl}/v1/messages`, {
|
|
64
|
+
method: 'POST',
|
|
65
|
+
headers: {
|
|
66
|
+
'content-type': 'application/json',
|
|
67
|
+
'x-api-key': apiKey,
|
|
68
|
+
'anthropic-version': '2023-06-01',
|
|
69
|
+
},
|
|
70
|
+
body: JSON.stringify({
|
|
71
|
+
model: MODEL_ID,
|
|
72
|
+
max_tokens: MAX_TOKENS,
|
|
73
|
+
messages: [{ role: 'user', content: prompt }],
|
|
74
|
+
}),
|
|
75
|
+
});
|
|
76
|
+
if (!response.ok)
|
|
77
|
+
return null;
|
|
78
|
+
const body = await response.json();
|
|
79
|
+
const text = body.content?.[0]?.text;
|
|
80
|
+
if (!text)
|
|
81
|
+
return null;
|
|
82
|
+
// Tolerate fenced code blocks
|
|
83
|
+
const jsonMatch = text.match(/\{[\s\S]*\}/);
|
|
84
|
+
if (!jsonMatch)
|
|
85
|
+
return null;
|
|
86
|
+
try {
|
|
87
|
+
const parsed = JSON.parse(jsonMatch[0]);
|
|
88
|
+
if (typeof parsed.quality !== 'number' || typeof parsed.reasoning !== 'string')
|
|
89
|
+
return null;
|
|
90
|
+
return {
|
|
91
|
+
quality: Math.max(0, Math.min(1, parsed.quality)),
|
|
92
|
+
reasoning: parsed.reasoning.slice(0, 200),
|
|
93
|
+
improvement: typeof parsed.improvement === 'string' ? parsed.improvement.slice(0, 200) : undefined,
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
catch {
|
|
97
|
+
return null;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
//# sourceMappingURL=trajectory-judge.js.map
|
|
@@ -271,7 +271,7 @@ export class ClaudeProvider {
|
|
|
271
271
|
* Get base URL
|
|
272
272
|
*/
|
|
273
273
|
getBaseUrl() {
|
|
274
|
-
return (this.config.baseUrl ?? 'https://api.anthropic.com').replace(/\/$/, '');
|
|
274
|
+
return (this.config.baseUrl ?? process.env.ANTHROPIC_BASE_URL ?? 'https://api.anthropic.com').replace(/\/$/, '');
|
|
275
275
|
}
|
|
276
276
|
/**
|
|
277
277
|
* Get request headers
|
|
@@ -299,6 +299,7 @@ export class LearningConsolidationWorker extends BaseWorker {
|
|
|
299
299
|
try {
|
|
300
300
|
const { v4: uuidv4 } = await import('uuid');
|
|
301
301
|
const patternId = uuidv4();
|
|
302
|
+
const description = `Auto-extracted pattern from ${candidate.sourceExperiences} experiences. Avg reward: ${candidate.avgReward.toFixed(3)}`;
|
|
302
303
|
db.prepare(`
|
|
303
304
|
INSERT INTO qe_patterns (
|
|
304
305
|
id, pattern_type, qe_domain, domain, name, description,
|
|
@@ -306,7 +307,7 @@ export class LearningConsolidationWorker extends BaseWorker {
|
|
|
306
307
|
template_json, context_json, created_at, successful_uses
|
|
307
308
|
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, datetime('now'), ?)
|
|
308
309
|
`).run(patternId, candidate.patternType, candidate.domain, candidate.domain, // AQE domain same as QE domain
|
|
309
|
-
candidate.name,
|
|
310
|
+
candidate.name, description, candidate.confidence, candidate.sourceExperiences, candidate.successRate, candidate.confidence * 0.3 + (Math.min(candidate.sourceExperiences, 100) / 100) * 0.2 + candidate.successRate * 0.5, 'short-term', JSON.stringify({
|
|
310
311
|
type: 'workflow',
|
|
311
312
|
content: candidate.templateContent,
|
|
312
313
|
variables: [],
|
|
@@ -315,6 +316,10 @@ export class LearningConsolidationWorker extends BaseWorker {
|
|
|
315
316
|
sourceType: 'experience-extraction',
|
|
316
317
|
extractedAt: new Date().toISOString(),
|
|
317
318
|
}), Math.round(candidate.sourceExperiences * candidate.successRate));
|
|
319
|
+
// Pair the qe_patterns row with an embedding so HNSW pattern recall
|
|
320
|
+
// doesn't see this as a "ghost" (ADR-058 embedding-locality). Fail-soft.
|
|
321
|
+
const { ensurePatternEmbedding } = await import('../../learning/embed-and-insert-pattern.js');
|
|
322
|
+
await ensurePatternEmbedding(db, patternId, candidate.name, description, candidate.actions);
|
|
318
323
|
created++;
|
|
319
324
|
}
|
|
320
325
|
catch (error) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "agentic-qe",
|
|
3
|
-
"version": "3.9.
|
|
3
|
+
"version": "3.9.20",
|
|
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",
|
|
@@ -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.18");process.exit(0)}
|
|
2
|
-
import{a,b,c}from"./chunk-BGSYFAEJ.js";import"./chunk-4ELLGWTS.js";import"./chunk-Z4YHL4JU.js";import"./chunk-6ZMQL3U6.js";import"./chunk-UNPTSPAO.js";import"./chunk-FKNYOKIK.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.18");process.exit(0)}
|
|
2
|
-
import{a,b,c,d,e,f}from"./chunk-RHYGRUNU.js";import"./chunk-6IBFYVLK.js";import"./chunk-SQHM6WUF.js";import"./chunk-EZN7QMOZ.js";import"./chunk-JZTB35EQ.js";import"./chunk-VZO5I23B.js";import"./chunk-G2H4W7NN.js";import"./chunk-JMK5OCWL.js";import"./chunk-X2T4TI7D.js";import"./chunk-QW2RFI73.js";import"./chunk-BADBKGZE.js";import"./chunk-3GA7M5NK.js";import"./chunk-D7SS56EG.js";import"./chunk-RPT7HCMH.js";import"./chunk-AGPZVE6B.js";import"./chunk-4XYQJ4LQ.js";import"./chunk-6KTF7QB3.js";import"./chunk-6ZMQL3U6.js";import"./chunk-TPL3CBMS.js";import"./chunk-UNPTSPAO.js";import"./chunk-LVABI4OA.js";import"./chunk-UFGFV4BO.js";import"./chunk-MBGWDELE.js";import"./chunk-IS2PMHB5.js";import"./chunk-QGSELG75.js";import"./chunk-ZURHHRSA.js";import"./chunk-DOSDUAVZ.js";import"./chunk-TFUWIKGZ.js";import"./chunk-JBW2A2O6.js";import"./chunk-FTIHPDWV.js";import"./chunk-FKNYOKIK.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.18");process.exit(0)}
|
|
2
|
-
import{a,b,c,d,e,f}from"./chunk-RI3NTZ2I.js";import"./chunk-XSLKR2DM.js";import"./chunk-RPT7HCMH.js";import"./chunk-AGPZVE6B.js";import"./chunk-4XYQJ4LQ.js";import"./chunk-6KTF7QB3.js";import"./chunk-6ZMQL3U6.js";import"./chunk-UNPTSPAO.js";import"./chunk-LVABI4OA.js";import"./chunk-UFGFV4BO.js";import"./chunk-MBGWDELE.js";import"./chunk-IS2PMHB5.js";import"./chunk-QGSELG75.js";import"./chunk-ZURHHRSA.js";import"./chunk-DOSDUAVZ.js";import"./chunk-TFUWIKGZ.js";import"./chunk-JBW2A2O6.js";import"./chunk-FTIHPDWV.js";import"./chunk-FKNYOKIK.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.18");process.exit(0)}
|
|
2
|
-
import{a}from"./chunk-CCM7MBLA.js";import"./chunk-RI3NTZ2I.js";import"./chunk-XSLKR2DM.js";import"./chunk-RPT7HCMH.js";import"./chunk-AGPZVE6B.js";import"./chunk-4XYQJ4LQ.js";import"./chunk-6KTF7QB3.js";import"./chunk-6ZMQL3U6.js";import"./chunk-UNPTSPAO.js";import"./chunk-LVABI4OA.js";import"./chunk-UFGFV4BO.js";import"./chunk-MBGWDELE.js";import"./chunk-IS2PMHB5.js";import"./chunk-QGSELG75.js";import"./chunk-ZURHHRSA.js";import"./chunk-DOSDUAVZ.js";import"./chunk-TFUWIKGZ.js";import"./chunk-JBW2A2O6.js";import"./chunk-FTIHPDWV.js";import"./chunk-FKNYOKIK.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.18");process.exit(0)}
|
|
2
|
-
import{a as e,b as g,e as r}from"./chunk-6KTF7QB3.js";import{c as o}from"./chunk-FKNYOKIK.js";var L=o(()=>{"use strict";e();g();r()});export{L as a};
|
|
@@ -1,66 +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.18");process.exit(0)}
|
|
2
|
-
import{a as I,b as H,c as C,e as S,f as L}from"./chunk-AGPZVE6B.js";import{b as T,d as P}from"./chunk-6ZMQL3U6.js";import{a as f,c as O}from"./chunk-UNPTSPAO.js";import{i as x}from"./chunk-LVABI4OA.js";L();P();var v=["function","module","test","file","class"],w=["calls","imports","tests","depends_on","covers"],E=class{ensureSchema(e){e.transaction(()=>{e.exec(I),e.exec(H),e.exec(C)})()}schemaExists(e){return S(e)}getNodeTypes(){return v}getEdgeTypes(){return w}isValidNodeType(e){return v.includes(e)}isValidEdgeType(e){return w.includes(e)}getStats(e){if(!this.schemaExists(e))return{nodeCount:0,edgeCount:0};let t=e.prepare("SELECT COUNT(*) as count FROM hypergraph_nodes").get().count,r=e.prepare("SELECT COUNT(*) as count FROM hypergraph_edges").get().count;return{nodeCount:t,edgeCount:r}}dropSchema(e){let t=e.prepare("SELECT COUNT(*) as cnt FROM hypergraph_nodes").get()?.cnt??0,r=e.prepare("SELECT COUNT(*) as cnt FROM hypergraph_edges").get()?.cnt??0;if(t>0||r>0)throw new Error(`REFUSING to drop hypergraph schema: tables contain data (${t} nodes, ${r} edges). Backup and manually drop if needed.`);e.transaction(()=>{e.exec("DROP TABLE IF EXISTS hypergraph_edges"),e.exec("DROP TABLE IF EXISTS hypergraph_nodes")})()}};function N(n){return{id:n.id,type:n.type,name:n.name,file_path:n.filePath??null,line_start:n.lineStart??null,line_end:n.lineEnd??null,complexity:n.complexity??null,coverage:n.coverage??null,metadata:n.metadata?JSON.stringify(n.metadata):null,embedding:n.embedding?M(n.embedding):null}}function l(n){return{id:n.id,type:n.type,name:n.name,filePath:n.file_path??void 0,lineStart:n.line_start??void 0,lineEnd:n.line_end??void 0,complexity:n.complexity??void 0,coverage:n.coverage??void 0,metadata:n.metadata?T(n.metadata):void 0,embedding:n.embedding?F(n.embedding):void 0,createdAt:n.created_at,updatedAt:n.updated_at}}function A(n){return{id:n.id,source_id:n.sourceId,target_id:n.targetId,type:n.type,weight:n.weight??1,properties:n.properties?JSON.stringify(n.properties):null}}function b(n){return{id:n.id,sourceId:n.source_id,targetId:n.target_id,type:n.type,weight:n.weight,properties:n.properties?T(n.properties):void 0,createdAt:n.created_at}}function _(n,e,t){return`${n}--${t}-->${e}`}function M(n){let e=Buffer.alloc(n.length*4);for(let t=0;t<n.length;t++)e.writeFloatLE(n[t],t*4);return e}function F(n){let e=[],t=n.length/4;for(let r=0;r<t;r++)e.push(n.readFloatLE(r*4));return e}O();var z={maxTraversalDepth:10,maxQueryResults:1e3,enableVectorSearch:!1},y=class{config;schemaManager;initialized=!1;constructor(e){this.config={...z,...e},this.schemaManager=new E}async initialize(){this.initialized||(this.schemaManager.ensureSchema(this.config.db),this.initialized=!0)}isInitialized(){return this.initialized}async addNode(e){this.ensureInitialized();let t=x(),r={id:t,...e},i=N(r);return this.config.db.prepare(`
|
|
3
|
-
INSERT INTO hypergraph_nodes (id, type, name, file_path, line_start, line_end, complexity, coverage, metadata, embedding)
|
|
4
|
-
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
5
|
-
`).run(i.id,i.type,i.name,i.file_path,i.line_start,i.line_end,i.complexity,i.coverage,i.metadata,i.embedding),t}async addEdge(e){this.ensureInitialized();let t=_(e.sourceId,e.targetId,e.type),r={id:t,...e},i=A(r);return this.config.db.prepare(`
|
|
6
|
-
INSERT OR REPLACE INTO hypergraph_edges (id, source_id, target_id, type, weight, properties)
|
|
7
|
-
VALUES (?, ?, ?, ?, ?, ?)
|
|
8
|
-
`).run(i.id,i.source_id,i.target_id,i.type,i.weight,i.properties),t}async getNode(e){this.ensureInitialized();let t=this.config.db.prepare("SELECT * FROM hypergraph_nodes WHERE id = ?").get(e);return t?l(t):null}async getEdge(e){this.ensureInitialized();let t=this.config.db.prepare("SELECT * FROM hypergraph_edges WHERE id = ?").get(e);return t?b(t):null}async updateNode(e,t){this.ensureInitialized();let r=await this.getNode(e);if(!r)throw new Error(`Node not found: ${e}`);let i={...r,...t},a=N(i);this.config.db.prepare(`
|
|
9
|
-
UPDATE hypergraph_nodes
|
|
10
|
-
SET type = ?, name = ?, file_path = ?, line_start = ?, line_end = ?,
|
|
11
|
-
complexity = ?, coverage = ?, metadata = ?, embedding = ?,
|
|
12
|
-
updated_at = datetime('now')
|
|
13
|
-
WHERE id = ?
|
|
14
|
-
`).run(a.type,a.name,a.file_path,a.line_start,a.line_end,a.complexity,a.coverage,a.metadata,a.embedding,e)}async deleteNode(e){this.ensureInitialized(),this.config.db.prepare("DELETE FROM hypergraph_edges WHERE source_id = ? OR target_id = ?").run(e,e),this.config.db.prepare("DELETE FROM hypergraph_nodes WHERE id = ?").run(e)}async deleteEdge(e){this.ensureInitialized(),this.config.db.prepare("DELETE FROM hypergraph_edges WHERE id = ?").run(e)}async findNodes(e){this.ensureInitialized();let t=[],r=[];if(e.type){let s=Array.isArray(e.type)?e.type:[e.type];t.push(`type IN (${s.map(()=>"?").join(", ")})`),r.push(...s)}e.filePath&&(e.filePath.includes("%")?t.push("file_path LIKE ?"):t.push("file_path = ?"),r.push(e.filePath)),e.name&&typeof e.name=="string"&&(t.push("name = ?"),r.push(e.name)),e.minComplexity!==void 0&&(t.push("complexity >= ?"),r.push(e.minComplexity)),e.maxComplexity!==void 0&&(t.push("complexity <= ?"),r.push(e.maxComplexity)),e.minCoverage!==void 0&&(t.push("coverage >= ?"),r.push(e.minCoverage)),e.maxCoverage!==void 0&&(t.push("coverage <= ?"),r.push(e.maxCoverage));let i=t.length>0?`WHERE ${t.join(" AND ")}`:"",a=e.limit??this.config.maxQueryResults,p=`SELECT * FROM hypergraph_nodes ${i} LIMIT ?`;r.push(a);let o=this.config.db.prepare(p).all(...r).map(l);return e.name instanceof RegExp&&(o=o.filter(s=>e.name instanceof RegExp&&e.name.test(s.name))),o}async findEdges(e){this.ensureInitialized();let t=[],r=[];if(e.type){let o=Array.isArray(e.type)?e.type:[e.type];t.push(`type IN (${o.map(()=>"?").join(", ")})`),r.push(...o)}e.sourceId&&(t.push("source_id = ?"),r.push(e.sourceId)),e.targetId&&(t.push("target_id = ?"),r.push(e.targetId)),e.minWeight!==void 0&&(t.push("weight >= ?"),r.push(e.minWeight));let i=t.length>0?`WHERE ${t.join(" AND ")}`:"",a=e.limit??this.config.maxQueryResults,p=`SELECT * FROM hypergraph_edges ${i} LIMIT ?`;return r.push(a),this.config.db.prepare(p).all(...r).map(b)}async traverse(e,t=[],r=5){this.ensureInitialized();let i=new Map,a=new Map,p=[],g=0,o=[{nodeId:e,depth:0,path:{nodes:[e],edges:[]}}],s=Math.min(r,this.config.maxTraversalDepth);for(;o.length>0;){let{nodeId:d,depth:c,path:h}=o.shift();if(!i.has(d)){let u=await this.getNode(d);u&&i.set(d,u)}if(g=Math.max(g,c),c>=s){p.push(h);continue}let m={sourceId:d};t.length>0&&(m.type=t);let R=await this.findEdges(m);if(R.length===0){p.push(h);continue}for(let u of R)if(!a.has(u.id)){a.set(u.id,u);let D={nodes:[...h.nodes,u.targetId],edges:[...h.edges,u.id]};o.push({nodeId:u.targetId,depth:c+1,path:D})}}return{nodes:Array.from(i.values()),edges:Array.from(a.values()),paths:p,maxDepthReached:g}}async findUntestedFunctions(){return this.ensureInitialized(),this.config.db.prepare(`
|
|
15
|
-
SELECT n.* FROM hypergraph_nodes n
|
|
16
|
-
WHERE n.type = 'function'
|
|
17
|
-
AND NOT EXISTS (
|
|
18
|
-
SELECT 1 FROM hypergraph_edges e
|
|
19
|
-
JOIN hypergraph_nodes t ON t.id = e.source_id
|
|
20
|
-
WHERE e.target_id = n.id
|
|
21
|
-
AND e.type = 'covers'
|
|
22
|
-
AND t.type = 'test'
|
|
23
|
-
)
|
|
24
|
-
ORDER BY n.complexity DESC NULLS LAST
|
|
25
|
-
LIMIT ?
|
|
26
|
-
`).all(this.config.maxQueryResults).map(l)}async findImpactedTests(e){if(this.ensureInitialized(),e.length===0)return[];let r=`
|
|
27
|
-
SELECT DISTINCT t.* FROM hypergraph_nodes t
|
|
28
|
-
JOIN hypergraph_edges e ON e.source_id = t.id
|
|
29
|
-
JOIN hypergraph_nodes f ON f.id = e.target_id
|
|
30
|
-
WHERE t.type = 'test'
|
|
31
|
-
AND e.type = 'covers'
|
|
32
|
-
AND f.type = 'function'
|
|
33
|
-
AND f.file_path IN (${e.map(()=>"?").join(", ")})
|
|
34
|
-
LIMIT ?
|
|
35
|
-
`,i=[...e,this.config.maxQueryResults];return this.config.db.prepare(r).all(...i).map(l)}async findCoverageGaps(e=50){return this.ensureInitialized(),this.config.db.prepare(`
|
|
36
|
-
SELECT * FROM hypergraph_nodes
|
|
37
|
-
WHERE type = 'function'
|
|
38
|
-
AND coverage IS NOT NULL
|
|
39
|
-
AND coverage <= ?
|
|
40
|
-
ORDER BY coverage ASC, complexity DESC NULLS LAST
|
|
41
|
-
LIMIT ?
|
|
42
|
-
`).all(e,this.config.maxQueryResults).map(l)}async findModuleDependencies(e){this.ensureInitialized();let t=await this.findNodes({type:"module",filePath:e,limit:1});if(t.length===0){let d=await this.findNodes({type:"file",filePath:e,limit:1});if(d.length===0)throw new Error(`Module not found: ${e}`);t.push(d[0])}let r=t[0],i=await this.findEdges({sourceId:r.id,type:["imports","depends_on"]}),a=[];for(let d of i){let c=await this.getNode(d.targetId);c&&a.push(c)}let p=await this.findEdges({targetId:r.id,type:["imports","depends_on"]}),g=[];for(let d of p){let c=await this.getNode(d.sourceId);c&&g.push(c)}let o=await this.traverse(r.id,["imports","depends_on"],5),s=o.nodes.filter(d=>d.id!==r.id);return{module:r,directDependencies:a,dependents:g,transitiveDependencies:s,maxDependencyDepth:o.maxDepthReached}}async buildFromIndexResult(e){this.ensureInitialized();let t=Date.now(),r=0,i=0,a=0,p=[];return this.config.db.transaction(()=>{for(let o of e.files)try{let s=`file:${o.path}`;this.config.db.prepare("SELECT id FROM hypergraph_nodes WHERE id = ?").get(s)?i++:(this.config.db.prepare(`
|
|
43
|
-
INSERT INTO hypergraph_nodes (id, type, name, file_path)
|
|
44
|
-
VALUES (?, 'file', ?, ?)
|
|
45
|
-
`).run(s,o.path.split("/").pop()||o.path,o.path),r++)}catch(s){p.push({entity:`file:${o.path}`,error:f(s)})}for(let o of e.files)for(let s of o.entities)try{let d=`${s.type}:${o.path}:${s.name}`,c=this.mapEntityTypeToNodeType(s.type);this.config.db.prepare("SELECT id FROM hypergraph_nodes WHERE id = ?").get(d)?(this.config.db.prepare(`
|
|
46
|
-
UPDATE hypergraph_nodes
|
|
47
|
-
SET line_start = ?, line_end = ?, complexity = ?, coverage = ?,
|
|
48
|
-
updated_at = datetime('now')
|
|
49
|
-
WHERE id = ?
|
|
50
|
-
`).run(s.lineStart,s.lineEnd,s.complexity,s.coverage,d),i++):(this.config.db.prepare(`
|
|
51
|
-
INSERT INTO hypergraph_nodes (id, type, name, file_path, line_start, line_end, complexity, coverage)
|
|
52
|
-
VALUES (?, ?, ?, ?, ?, ?, ?, ?)
|
|
53
|
-
`).run(d,c,s.name,o.path,s.lineStart,s.lineEnd,s.complexity,s.coverage),r++)}catch(d){p.push({entity:`${s.type}:${s.name}`,error:f(d)})}for(let o of e.files){let s=`file:${o.path}`;for(let d of o.imports)try{let c=`file:${d}`;if(this.config.db.prepare("SELECT id FROM hypergraph_nodes WHERE id = ?").get(c)){let m=_(s,c,"imports");this.config.db.prepare(`
|
|
54
|
-
INSERT OR REPLACE INTO hypergraph_edges (id, source_id, target_id, type, weight)
|
|
55
|
-
VALUES (?, ?, ?, 'imports', 1.0)
|
|
56
|
-
`).run(m,s,c),a++}}catch(c){p.push({entity:`import:${d}`,error:f(c)})}}})(),{nodesCreated:r,nodesUpdated:i,edgesCreated:a,durationMs:Date.now()-t,errors:p}}async syncWithKnowledgeGraph(e){this.ensureInitialized();let t=Date.now(),r=0,i=0,a=0,p=0,g=await this.findNodes({});for(let s of g){let d=await e.getNode(s.id);r++}return i=(await this.findEdges({})).length,{nodesSynced:r,edgesSynced:i,nodesAdded:a,nodesRemoved:p,durationMs:Date.now()-t}}async getStats(){this.ensureInitialized();let e=this.schemaManager.getStats(this.config.db),t=this.config.db.prepare(`
|
|
57
|
-
SELECT type, COUNT(*) as count FROM hypergraph_nodes GROUP BY type
|
|
58
|
-
`).all(),r={function:0,module:0,test:0,file:0,class:0};for(let g of t)g.type in r&&(r[g.type]=g.count);let i=this.config.db.prepare(`
|
|
59
|
-
SELECT type, COUNT(*) as count FROM hypergraph_edges GROUP BY type
|
|
60
|
-
`).all(),a={calls:0,imports:0,tests:0,depends_on:0,covers:0};for(let g of i)g.type in a&&(a[g.type]=g.count);let p=this.config.db.prepare(`
|
|
61
|
-
SELECT
|
|
62
|
-
AVG(complexity) as avg_complexity,
|
|
63
|
-
AVG(coverage) as avg_coverage,
|
|
64
|
-
COUNT(CASE WHEN embedding IS NOT NULL THEN 1 END) as nodes_with_embeddings
|
|
65
|
-
FROM hypergraph_nodes
|
|
66
|
-
`).get();return{totalNodes:e.nodeCount,totalEdges:e.edgeCount,nodesByType:r,edgesByType:a,avgComplexity:p.avg_complexity??0,avgCoverage:p.avg_coverage??0,nodesWithEmbeddings:p.nodes_with_embeddings}}ensureInitialized(){if(!this.initialized)throw new Error("HypergraphEngine not initialized. Call initialize() first.")}mapEntityTypeToNodeType(e){return{function:"function",class:"class",module:"module",interface:"module",file:"file",test:"test"}[e]??"function"}};async function V(n){let e=new y(n);return await e.initialize(),e}function Y(n){return new y(n)}var k=y;export{z as a,y as b,V as c,Y as d,k as e};
|
|
@@ -1,24 +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.18");process.exit(0)}
|
|
2
|
-
import{a as U,b as G}from"./chunk-6IBFYVLK.js";import{g as W}from"./chunk-SQHM6WUF.js";import{a as _}from"./chunk-EZN7QMOZ.js";import{e as S}from"./chunk-G2H4W7NN.js";import{b as v,c as x}from"./chunk-X2T4TI7D.js";import{a as ne}from"./chunk-4XYQJ4LQ.js";import{c as z}from"./chunk-6KTF7QB3.js";import{b as k,d as q}from"./chunk-6ZMQL3U6.js";import{b,c as E}from"./chunk-TPL3CBMS.js";import{a as y,c as I}from"./chunk-UNPTSPAO.js";import{i as O}from"./chunk-LVABI4OA.js";import{S as ae,b as N}from"./chunk-FTIHPDWV.js";import{randomUUID as Z}from"crypto";I();q();import{randomUUID as se}from"node:crypto";var j=x(),P=class{constructor(e){this.options=e}options;claudeFlowAvailable=!1;localTrajectories=new Map;async initialize(){this.claudeFlowAvailable=await this.checkClaudeFlow()}async checkClaudeFlow(){return v(this.options.projectRoot).available}async startTrajectory(e,t){let i=`trajectory-${se()}`;if(this.claudeFlowAvailable)try{let{execFileSync:r}=await import("child_process"),n=["--no-install",j,"hooks","intelligence","trajectory-start","--task",e];t&&n.push("--agent",t);let s=r("npx",n,{encoding:"utf-8",timeout:1e4,cwd:this.options.projectRoot}).match(/trajectoryId[:\s]+["']?([^"'\s,}]+)/i);if(s?.[1])return s[1]}catch(r){console.debug("[TrajectoryBridge] Claude Flow trajectory start failed:",r instanceof Error?r.message:r)}return this.localTrajectories.set(i,{id:i,task:e,agent:t,steps:[],startedAt:Date.now()}),i}async recordStep(e,t,i,r){if(this.claudeFlowAvailable)try{let{execFileSync:a}=await import("child_process"),s=["--no-install",j,"hooks","intelligence","trajectory-step","--trajectory-id",e,"--action",t];i&&s.push("--result",i),r!==void 0&&s.push("--quality",String(r)),a("npx",s,{encoding:"utf-8",timeout:1e4,cwd:this.options.projectRoot});return}catch(a){console.debug("[TrajectoryBridge] Claude Flow trajectory step failed:",a instanceof Error?a.message:a)}let n=this.localTrajectories.get(e);n&&n.steps.push({id:`step-${n.steps.length+1}`,action:t,result:i,quality:r,timestamp:Date.now()})}async endTrajectory(e,t,i){if(this.claudeFlowAvailable)try{let{execFileSync:n}=await import("child_process"),a=["--no-install",j,"hooks","intelligence","trajectory-end","--trajectory-id",e,"--success",String(t)];i&&a.push("--feedback",i),n("npx",a,{encoding:"utf-8",timeout:1e4,cwd:this.options.projectRoot})}catch{}let r=this.localTrajectories.get(e);if(r)return r.success=t,r.feedback=i,r.completedAt=Date.now(),await this.persistTrajectory(r),r}getTrajectory(e){return this.localTrajectories.get(e)}isClaudeFlowAvailable(){return this.claudeFlowAvailable}async persistTrajectory(e){try{let{join:t}=await import("path"),{existsSync:i,mkdirSync:r}=await import("fs"),{createRequire:n}=await import("module"),a=n(import.meta.url),{openDatabase:s}=a("../../shared/safe-db.js"),o=t(this.options.projectRoot,".agentic-qe","trajectories.db"),u=t(this.options.projectRoot,".agentic-qe");i(u)||r(u,{recursive:!0});let p=s(o);p.exec(`
|
|
3
|
-
CREATE TABLE IF NOT EXISTS trajectories (
|
|
4
|
-
id TEXT PRIMARY KEY,
|
|
5
|
-
task TEXT NOT NULL,
|
|
6
|
-
agent TEXT,
|
|
7
|
-
steps TEXT NOT NULL,
|
|
8
|
-
success INTEGER,
|
|
9
|
-
feedback TEXT,
|
|
10
|
-
started_at INTEGER NOT NULL,
|
|
11
|
-
completed_at INTEGER,
|
|
12
|
-
created_at INTEGER DEFAULT (strftime('%s', 'now') * 1000)
|
|
13
|
-
);
|
|
14
|
-
CREATE INDEX IF NOT EXISTS idx_trajectories_success ON trajectories(success);
|
|
15
|
-
`),p.prepare(`
|
|
16
|
-
INSERT OR REPLACE INTO trajectories (id, task, agent, steps, success, feedback, started_at, completed_at)
|
|
17
|
-
VALUES (?, ?, ?, ?, ?, ?, ?, ?)
|
|
18
|
-
`).run(e.id,e.task,e.agent||null,JSON.stringify(e.steps),e.success?1:0,e.feedback||null,e.startedAt,e.completedAt||null),p.close()}catch(t){console.debug("[TrajectoryBridge] Trajectory persistence failed:",t instanceof Error?t.message:t)}}};var H=x(),X={low:[/simple/i,/basic/i,/fix typo/i,/rename/i,/format/i,/add comment/i,/lint/i,/minor/i,/quick/i],high:[/architect/i,/design/i,/complex/i,/security/i,/performance/i,/refactor.*large/i,/critical/i,/analysis/i,/multi.*file/i,/database.*migration/i,/distributed/i,/concurrent/i]},R=class{constructor(e){this.options=e}options;claudeFlowAvailable=!1;routingHistory=[];async initialize(){this.claudeFlowAvailable=await this.checkClaudeFlow()}async checkClaudeFlow(){return v(this.options.projectRoot).available}async routeTask(e){if(this.claudeFlowAvailable)try{let{execFileSync:t}=await import("child_process"),i=t("npx",["--no-install",H,"hooks","model-route","--task",e],{encoding:"utf-8",timeout:1e4,cwd:this.options.projectRoot}),r=i.match(/model[:\s]+["']?(haiku|sonnet|opus)/i),n=i.match(/confidence[:\s]+([0-9.]+)/i),a=i.match(/reason(?:ing)?[:\s]+["']?([^"'\n]+)/i);if(r)return{model:r[1].toLowerCase(),confidence:n?parseFloat(n[1]):.7,reasoning:a?.[1]?.trim()}}catch(t){console.debug("[ModelRouterBridge] Claude Flow routing failed:",t instanceof Error?t.message:t)}return this.localRoute(e)}async recordOutcome(e){if(this.routingHistory.push(e),this.routingHistory.length>1e3&&(this.routingHistory=this.routingHistory.slice(-500)),this.claudeFlowAvailable)try{let{execFileSync:t}=await import("child_process");t("npx",["--no-install",H,"hooks","model-outcome","--task",e.task,"--model",e.model,"--outcome",e.outcome],{encoding:"utf-8",timeout:1e4,cwd:this.options.projectRoot})}catch(t){console.debug("[ModelRouterBridge] Outcome recording failed:",t instanceof Error?t.message:t)}}getStats(){let e={totalRoutings:this.routingHistory.length,modelDistribution:{haiku:0,sonnet:0,opus:0},successRate:{haiku:0,sonnet:0,opus:0}},t={haiku:0,sonnet:0,opus:0};for(let i of this.routingHistory)e.modelDistribution[i.model]++,i.outcome==="success"&&t[i.model]++;for(let i of["haiku","sonnet","opus"]){let r=e.modelDistribution[i];e.successRate[i]=r>0?t[i]/r:0}return e}isClaudeFlowAvailable(){return this.claudeFlowAvailable}localRoute(e){let t=e.toLowerCase();for(let i of X.low)if(i.test(t))return{model:"haiku",confidence:.75,reasoning:"Low complexity task detected - using haiku for speed"};for(let i of X.high)if(i.test(t))return{model:"opus",confidence:.8,reasoning:"High complexity task detected - using opus for capability"};return e.length>500?{model:"opus",confidence:.65,reasoning:"Long task description - using opus for complex reasoning"}:e.length<50?{model:"haiku",confidence:.6,reasoning:"Short task description - using haiku for efficiency"}:{model:"sonnet",confidence:.7,reasoning:"Medium complexity task - using sonnet for balance"}}};q();I();var B=x(),T=class{constructor(e){this.options=e}options;claudeFlowAvailable=!1;analysisCache=new Map;async initialize(){this.claudeFlowAvailable=await this.checkClaudeFlow()}async checkClaudeFlow(){return v(this.options.projectRoot).available}async analyze(e,t="medium"){let i=e||this.options.projectRoot,r=`${i}:${t}`,n=this.analysisCache.get(r);if(n)return n;if(this.claudeFlowAvailable)try{let{execFileSync:a}=await import("child_process"),s=a("npx",["--no-install",B,"hooks","pretrain","--path",i,"--depth",t],{encoding:"utf-8",timeout:12e4,cwd:this.options.projectRoot});try{let o=k(s),u={success:!0,repositoryPath:i,depth:t,analysis:o.analysis||void 0,agentConfigs:o.agentConfigs};return this.analysisCache.set(r,u),u}catch{return{success:!0,repositoryPath:i,depth:t}}}catch(a){console.debug("[PretrainBridge] Claude Flow analyze failed, using local:",a instanceof Error?a.message:a)}return this.localAnalyze(i,t)}async generateAgentConfigs(e="yaml"){if(this.claudeFlowAvailable)try{let{execFileSync:t}=await import("child_process"),i=t("npx",["--no-install",B,"hooks","build-agents","--format",e],{encoding:"utf-8",timeout:6e4,cwd:this.options.projectRoot});try{return k(i)}catch(r){return console.debug("[PretrainBridge] Agent config parse error:",r instanceof Error?r.message:r),[]}}catch(t){console.debug("[PretrainBridge] Claude Flow generateAgentConfigs failed:",t instanceof Error?t.message:t)}return this.generateLocalAgentConfigs()}async transferPatterns(e,t=.7){if(this.claudeFlowAvailable)try{let{execFileSync:i}=await import("child_process"),r=i("npx",["--no-install",B,"hooks","transfer","--source-path",e,"--min-confidence",String(t)],{encoding:"utf-8",timeout:6e4,cwd:this.options.projectRoot}),n=r.match(/transferred[:\s]+(\d+)/i),a=r.match(/skipped[:\s]+(\d+)/i);return{transferred:n?parseInt(n[1]):0,skipped:a?parseInt(a[1]):0}}catch(i){console.debug("[PretrainBridge] Claude Flow transferPatterns failed:",i instanceof Error?i.message:i)}return{transferred:0,skipped:0}}isClaudeFlowAvailable(){return this.claudeFlowAvailable}async localAnalyze(e,t){try{let i=await import("fast-glob"),{existsSync:r,readFileSync:n}=await import("fs"),{join:a}=await import("path"),s=t==="shallow"?["*.ts","*.js","*.json"]:t==="medium"?["**/*.ts","**/*.js","**/*.json","**/*.py"]:["**/*"],o=["node_modules/**","dist/**","coverage/**",".git/**"],u=await i.default(s,{cwd:e,ignore:o,onlyFiles:!0}),p=new Set,g=new Set;for(let d of u.slice(0,100))(d.endsWith(".ts")||d.endsWith(".tsx"))&&p.add("typescript"),(d.endsWith(".js")||d.endsWith(".jsx"))&&p.add("javascript"),d.endsWith(".py")&&p.add("python"),d.endsWith(".go")&&p.add("go"),d.endsWith(".rs")&&p.add("rust");let w=a(e,"package.json");if(r(w))try{let d=k(n(w,"utf-8")),f={...d.dependencies,...d.devDependencies};f.react&&g.add("react"),f.vue&&g.add("vue"),f.angular&&g.add("angular"),f.vitest&&g.add("vitest"),f.jest&&g.add("jest"),f.playwright&&g.add("playwright"),f.express&&g.add("express"),f.fastify&&g.add("fastify")}catch(d){console.debug("[PretrainBridge] package.json parse error:",d instanceof Error?d.message:d)}let m={success:!0,repositoryPath:e,depth:t,analysis:{languages:Array.from(p),frameworks:Array.from(g),patterns:[],complexity:u.length>500?3:u.length>100?2:1}};return this.analysisCache.set(`${e}:${t}`,m),m}catch(i){return{success:!1,repositoryPath:e,depth:t,error:y(i)}}}generateLocalAgentConfigs(){return[{name:"qe-test-architect",type:"worker",capabilities:["test-generation","test-design"],model:"sonnet"},{name:"qe-coverage-specialist",type:"worker",capabilities:["coverage-analysis","gap-detection"],model:"haiku"},{name:"qe-quality-gate",type:"worker",capabilities:["quality-assessment","risk-scoring"],model:"sonnet"},{name:"qe-security-scanner",type:"worker",capabilities:["security-scanning","vulnerability-detection"],model:"opus"}]}};var D=class{constructor(e){this.options=e;this.trajectory=new P(e),this.modelRouter=new R(e),this.pretrain=new T(e)}options;trajectory;modelRouter;pretrain;initialized=!1;async initialize(){this.initialized||(await Promise.all([this.trajectory.initialize(),this.modelRouter.initialize(),this.pretrain.initialize()]),this.initialized=!0)}getStatus(){return{available:this.isAvailable(),features:{trajectories:this.trajectory.isClaudeFlowAvailable(),modelRouting:this.modelRouter.isClaudeFlowAvailable(),pretrain:this.pretrain.isClaudeFlowAvailable(),patternSearch:this.trajectory.isClaudeFlowAvailable()}}}isAvailable(){return this.trajectory.isClaudeFlowAvailable()||this.modelRouter.isClaudeFlowAvailable()||this.pretrain.isClaudeFlowAvailable()}};function V(l){return new D(l)}ne();ae();var M=z.create("experience-capture"),J={"catches-bug":1,flaky:-1,"false-positive":-1,"new-coverage":.3,redundant:0,"code-smell":-.5,neutral:0},oe=new Set(Object.keys(J));function K(l){return typeof l=="string"&&oe.has(l)}function ce(l){if(K(l))return J[l]}var le={namespace:"qe-experiences",minQualityForPatternExtraction:.7,similarityThreshold:.85,promotionThreshold:S,maxExperiencesPerDomain:1e3,enableCrossDomainSharing:!0,autoCleanup:!0,cleanupIntervalMs:864e5},Q=class{constructor(e,t,i,r={}){this.memory=e;this.patternStore=t;this.eventBus=i;this.config={...le,...r}}memory;patternStore;eventBus;config;initialized=!1;cleanupTimer;activeExperiences=new Map;stats={totalCaptured:0,successfulCaptures:0,patternsExtracted:0,patternsPromoted:0,byDomain:new Map};sessionCaptureCount=0;witnessChain;setWitnessChain(e){this.witnessChain=e}async initialize(){this.initialized||(await this.loadStats(),this.config.autoCleanup&&(this.cleanupTimer=setInterval(()=>this.cleanup(),this.config.cleanupIntervalMs)),this.initialized=!0,console.log("[ExperienceCapture] Initialized"))}startCapture(e,t){let i=`exp-${Date.now()}-${O().slice(0,8)}`,r={id:i,task:e,agent:t?.agent,domain:t?.domain,model:t?.model,startedAt:Date.now(),completedAt:0,durationMs:0,steps:[],success:!1,quality:0,trajectoryId:t?.trajectoryId,metadata:t?.metadata};return this.activeExperiences.set(i,r),i}recordStep(e,t){let i=this.activeExperiences.get(e);if(!i){console.warn(`[ExperienceCapture] Experience not found: ${e}`);return}i.steps.push({...t,timestamp:Date.now()})}async completeCapture(e,t){let i=this.activeExperiences.get(e);if(!i)return E(new Error(`Experience not found: ${e}`));let r=Date.now();i.completedAt=r,i.durationMs=r-i.startedAt,i.success=t.success,i.feedback=t.feedback,t.quality!==void 0?i.quality=t.quality:i.quality=this.calculateQuality(i);let n=t.testOutcome??i.metadata?.testOutcome;if(n&&K(n)&&(i.testOutcome=n,i.reward=ce(n)),this.witnessChain&&N().useWitnessChain)try{let s=this.witnessChain.appendWitness({type:"experience-capture",decision:i.success?"PASS":"FAIL",context:{experienceId:i.id,task:i.task,quality:i.quality,domain:i.domain,reward:i.reward},evidence:i.reward});i.witnessHash=s.hash}catch(s){M.warn("Failed to create witness receipt for experience",{experienceId:i.id,error:s instanceof Error?s.message:String(s)})}this.activeExperiences.delete(e),await this.storeExperience(i),this.updateStats(i);let a=i.reward===void 0||i.reward>0;if(i.success&&i.quality>=this.config.minQualityForPatternExtraction&&a){let s=await this.extractPattern(i);(s.newPattern||s.reinforced)&&(i.patterns=[s.patternId])}return this.emitExperienceCaptured(i),b(i)}getActiveExperience(e){return this.activeExperiences.get(e)}getPendingCount(){return this.activeExperiences.size}async flushPending(){let e=Array.from(this.activeExperiences.entries());if(e.length===0)return 0;let t=0;for(let[i,r]of e){let n=Date.now();r.completedAt=n,r.durationMs=n-r.startedAt,r.quality=r.quality||this.calculateQuality(r),r.metadata={...r.metadata,flushedByCompaction:!0},await this.storeExperience(r),this.updateStats(r),this.activeExperiences.delete(i),t++}return M.info(`Flushed ${t} pending experiences before compaction`),t}async getExperience(e){let t=`${this.config.namespace}:experience:${e}`;return await this.memory.get(t)??null}async searchExperiences(e={}){let t=e.limit||100,i=[],r;e.domain?r=await this.memory.search(`${this.config.namespace}:index:domain:${e.domain}:*`,t*2):r=await this.memory.search(`${this.config.namespace}:experience:*`,t*2);for(let n of r){if(i.length>=t)break;let a=n.includes(":index:")?await this.memory.get(n):null,s=a?await this.getExperience(a):await this.memory.get(n);s&&(e.agent&&s.agent!==e.agent||e.success!==void 0&&s.success!==e.success||e.minQuality!==void 0&&s.quality<e.minQuality||i.push(s))}return i}async getStats(){let e={};for(let[t,i]of this.stats.byDomain)e[t]=i;return{totalExperiences:this.stats.totalCaptured,byDomain:e,successRate:this.stats.totalCaptured>0?this.stats.successfulCaptures/this.stats.totalCaptured:0,avgQuality:await this.calculateAvgQuality(),patternsExtracted:this.stats.patternsExtracted,patternsPromoted:this.stats.patternsPromoted}}async extractPattern(e){if(!this.patternStore)return{newPattern:!1,reinforced:!1,promoted:!1};let t=await this.patternStore.search(e.task,{limit:1,domain:e.domain,useVectorSearch:!0});if(t.success&&t.value.length>0){let n=t.value[0];if(n.similarity>=this.config.similarityThreshold){let a=await this.patternStore.recordUsage(n.pattern.id,e.success),s=await this.patternStore.get(n.pattern.id),o=!1;return s&&s.tier==="short-term"&&s.usageCount>=this.config.promotionThreshold&&(await this.patternStore.promote(n.pattern.id)).success&&(o=!0,this.stats.patternsPromoted++,console.log(`[ExperienceCapture] Pattern promoted: ${n.pattern.id} (${s.usageCount} uses)`)),{newPattern:!1,patternId:n.pattern.id,reinforced:a.success,promoted:o}}}let i=this.experienceToPatternOptions(e),r=await this.patternStore.create(i);return r.success?(this.stats.patternsExtracted++,await this.patternStore.recordUsage(r.value.id,e.success),{newPattern:!0,patternId:r.value.id,reinforced:!1,promoted:!1}):{newPattern:!1,reinforced:!1,promoted:!1}}async shareAcrossDomains(e){if(!this.config.enableCrossDomainSharing||!e.domain)return;let t=this.getRelatedDomains(e.domain);for(let i of t){let r=`${this.config.namespace}:shared:${i}:${e.id}`;await this.memory.set(r,{sourceExperience:e.id,sourceDomain:e.domain,sharedAt:Date.now()},{persist:!0})}}async cleanup(){let e=0,t=0;for(let i of this.stats.byDomain.keys()){let r=this.stats.byDomain.get(i)||0;if(r>this.config.maxExperiencesPerDomain){let n=await this.searchExperiences({domain:i,limit:r});n.sort((s,o)=>s.quality-o.quality||s.startedAt-o.startedAt);let a=r-this.config.maxExperiencesPerDomain;for(let s=0;s<Math.min(a,n.length);s++){let o=n[s];await this.softDeleteExperience(o.id),t++}}}return console.log(`[ExperienceCapture] Cleanup: ${t} archived (0 destroyed)`),{removed:0,consolidated:e,archived:t}}async dispose(){this.cleanupTimer&&(clearInterval(this.cleanupTimer),this.cleanupTimer=void 0),await this.saveStats(),this.sessionCaptureCount===0&&console.warn("[ExperienceCapture] WARNING: Zero experiences captured this session. Learning cannot improve without experience data. Ensure tasks call startCapture()/completeCapture() to feed the learning loop."),this.activeExperiences.clear(),this.initialized=!1}async storeExperience(e){let t=`${this.config.namespace}:experience:${e.id}`;if(await this.memory.set(t,e,{persist:!0}),e.domain){let i=`${this.config.namespace}:index:domain:${e.domain}:${e.id}`;await this.memory.set(i,e.id,{persist:!0})}if(e.agent){let i=`${this.config.namespace}:index:agent:${e.agent}:${e.id}`;await this.memory.set(i,e.id,{persist:!0})}}async deleteExperience(e){await this.softDeleteExperience(e)}async softDeleteExperience(e){let t=await this.getExperience(e);if(!t)return;let i=`${this.config.namespace}:experience:${e}`,r={...t,_archived:!0};await this.memory.set(i,r,{persist:!0})}calculateQuality(e){if(e.steps.length===0)return e.success?.5:.2;let t=e.steps.filter(r=>r.quality!==void 0);if(t.length===0)return e.success?.6:.3;let i=t.reduce((r,n)=>r+(n.quality||0),0)/t.length;return e.success?Math.min(1,i+.1):Math.max(0,i-.2)}updateStats(e){if(this.stats.totalCaptured++,this.sessionCaptureCount++,e.success&&this.stats.successfulCaptures++,e.domain){let t=this.stats.byDomain.get(e.domain)||0;this.stats.byDomain.set(e.domain,t+1)}}async calculateAvgQuality(){let e=await this.searchExperiences({limit:100});return e.length===0?0:e.reduce((i,r)=>i+r.quality,0)/e.length}experienceToPatternOptions(e){let t=this.detectPatternType(e.task),r=`Task: {{task}}
|
|
19
|
-
|
|
20
|
-
Steps:
|
|
21
|
-
${e.steps.map((n,a)=>`${a+1}. ${n.action}${n.result?` \u2192 ${n.result}`:""}`).join(`
|
|
22
|
-
`)}
|
|
23
|
-
|
|
24
|
-
Duration: ${e.durationMs}ms`;return{patternType:t,name:this.generatePatternName(e),description:`Pattern extracted from: ${e.task}`,context:{tags:this.extractTags(e),testType:this.detectTestType(e.task)},template:{type:"workflow",content:r,variables:[{name:"task",type:"string",description:"The task to execute",required:!0}]}}}detectPatternType(e){let t=e.toLowerCase();return t.includes("test")||t.includes("spec")?(t.includes("unit")||t.includes("integration")||t.includes("e2e"),"test-template"):t.includes("mock")||t.includes("stub")?"mock-pattern":t.includes("assert")||t.includes("expect")?"assertion-pattern":t.includes("coverage")?"coverage-strategy":t.includes("api")||t.includes("contract")?"api-contract":t.includes("visual")||t.includes("screenshot")?"visual-baseline":t.includes("accessibility")||t.includes("a11y")?"a11y-check":t.includes("performance")||t.includes("perf")?"perf-benchmark":t.includes("flaky")?"flaky-fix":t.includes("refactor")?"refactor-safe":t.includes("error")||t.includes("exception")?"error-handling":"test-template"}generatePatternName(e){let t=e.task.replace(/[^a-zA-Z0-9\s-]/g,"").slice(0,50).trim();return`${e.domain?`[${e.domain}] `:""}${t}`}extractTags(e){let t=[];e.domain&&t.push(e.domain),e.agent&&t.push(e.agent),e.model&&t.push(`model:${e.model}`);let i=e.task.toLowerCase().split(/\s+/),r=["unit","integration","e2e","api","mock","coverage","security"];for(let n of r)i.some(a=>a.includes(n))&&t.push(n);return t}detectTestType(e){let t=e.toLowerCase();if(t.includes("unit"))return"unit";if(t.includes("integration"))return"integration";if(t.includes("e2e")||t.includes("end-to-end"))return"e2e";if(t.includes("contract")||t.includes("api"))return"contract";if(t.includes("smoke"))return"smoke"}getRelatedDomains(e){return{"test-generation":["test-execution","coverage-analysis"],"test-execution":["test-generation","coverage-analysis","quality-assessment"],"coverage-analysis":["test-generation","test-execution"],"quality-assessment":["test-execution","defect-intelligence"],"defect-intelligence":["quality-assessment","code-intelligence"],"requirements-validation":["test-generation","quality-assessment"],"code-intelligence":["defect-intelligence","security-compliance"],"security-compliance":["code-intelligence","quality-assessment"],"contract-testing":["test-generation","test-execution"],"visual-accessibility":["quality-assessment","test-execution"],"chaos-resilience":["test-execution","quality-assessment"],"learning-optimization":[]}[e]||[]}emitExperienceCaptured(e){this.eventBus&&this.eventBus.publish({id:`exp-captured-${e.id}`,type:"learning.ExperienceCaptured",source:"learning-optimization",timestamp:new Date,payload:{experience:e,reward:e.reward,testOutcome:e.testOutcome}})}async loadStats(){try{let e=await this.memory.get(`${this.config.namespace}:stats`);e&&(this.stats.totalCaptured=e.totalCaptured,this.stats.successfulCaptures=e.successfulCaptures,this.stats.patternsExtracted=e.patternsExtracted,this.stats.patternsPromoted=e.patternsPromoted,this.stats.byDomain=new Map(e.byDomain))}catch(e){M.debug("Stats restoration failed, starting fresh",{error:e instanceof Error?e.message:String(e)})}}async saveStats(){try{await this.memory.set(`${this.config.namespace}:stats`,{totalCaptured:this.stats.totalCaptured,successfulCaptures:this.stats.successfulCaptures,patternsExtracted:this.stats.patternsExtracted,patternsPromoted:this.stats.patternsPromoted,byDomain:Array.from(this.stats.byDomain.entries())},{persist:!0})}catch(e){console.error("[ExperienceCapture] Failed to save stats:",e)}}};function Y(l,e,t,i){return new Q(l,e,t,i)}var ue={enableClaudeFlow:!0,enableExperienceCapture:!0,enablePatternPromotion:!0,promotionThreshold:S},L=class{constructor(e,t,i){this.memory=e;this.eventBus=i;this.config={...ue,...t}}memory;eventBus;config;reasoningBank;claudeFlowBridge;experienceCapture;patternStore;coherenceService;initialized=!1;_domainTransferEngine=null;_domainTransferInterval=null;activeTasks=new Map;completedTasks=0;claudeFlowErrors=0;async initialize(){if(!this.initialized){try{this.coherenceService=await U(G),this.coherenceService.isInitialized()&&console.log("[AQELearningEngine] CoherenceService initialized with WASM engines")}catch(e){console.log("[AQELearningEngine] CoherenceService WASM unavailable, using fallback:",y(e))}this.patternStore=_(this.memory,{promotionThreshold:this.config.promotionThreshold}),await this.patternStore.initialize(),this.reasoningBank=W(this.memory,this.eventBus,this.config.reasoningBank,this.coherenceService),await this.reasoningBank.initialize();try{let{getSharedRvfDualWriter:e}=await import("./shared-rvf-dual-writer-HYI64CBX.js"),t=await e();t&&this.reasoningBank.setRvfDualWriter(t)}catch(e){process.env.DEBUG&&console.debug("[AQELearningEngine] RVF wiring skipped:",e instanceof Error?e.message:e)}if(this.config.enableExperienceCapture){this.experienceCapture=Y(this.memory,this.patternStore,this.eventBus,{promotionThreshold:this.config.promotionThreshold}),await this.experienceCapture.initialize();try{let{isWitnessChainFeatureEnabled:e}=await import("./witness-chain-DWNP7VR6.js");if(e()){let{createPersistentWitnessChain:t,createWitnessChainSQLitePersistence:i}=await import("./witness-chain-DWNP7VR6.js"),{getUnifiedPersistence:r}=await import("./unified-persistence-GA7HKYZC.js"),n=r();if(n.isInitialized()){let a=n.getDatabase(),s=i(a),o=t(s);this.experienceCapture.setWitnessChain(o)}}}catch(e){process.env.DEBUG&&console.debug("[AQELearningEngine] Witness chain wiring skipped:",e instanceof Error?e.message:e)}}try{let{isCrossDomainTransferEnabled:e}=await import("./feature-flags-XEP6B4GN.js");if(e()&&this.patternStore){let{createDomainTransferEngine:t}=await import("./domain-transfer-OUERZRGL.js"),i=t(),r=this.patternStore,n=await r.getStats();this._domainTransferInterval=setInterval(async()=>{try{n=await r.getStats()}catch(a){process.env.DEBUG&&console.debug("[AQELearningEngine] Stats refresh failed:",a instanceof Error?a.message:a)}},6e4),this._domainTransferInterval.unref?.(),i.setPerformanceProvider(a=>{let s=n.byDomain?.[a]??0,o=n.totalPatterns??0;return{domain:a,successRate:o>0?s/o:.5,avgConfidence:n.avgConfidence??.5,patternCount:s,timestamp:Date.now()}}),this._domainTransferEngine=i}}catch(e){process.env.DEBUG&&console.debug("[AQELearningEngine] Domain transfer wiring skipped:",e instanceof Error?e.message:e)}if(this.config.enableClaudeFlow)try{this.claudeFlowBridge=V({projectRoot:this.config.projectRoot}),await this.claudeFlowBridge.initialize(),this.claudeFlowBridge.isAvailable()&&console.log("[AQELearningEngine] Claude Flow integration enabled")}catch(e){process.env.DEBUG&&console.log("[AQELearningEngine] Claude Flow not available, using standalone mode:",y(e))}this.initialized=!0,console.log("[AQELearningEngine] Initialized")}}getStatus(){let e=this.claudeFlowBridge?.getStatus();return{initialized:this.initialized,claudeFlowAvailable:e?.available??!1,features:{patternLearning:!0,vectorSearch:!0,taskRouting:!0,trajectories:e?.features.trajectories??!1,modelRouting:e?.features.modelRouting??!1,pretrain:e?.features.pretrain??!1}}}async getStats(){if(!this.initialized||!this.reasoningBank)throw new Error("Engine not initialized");let e=await this.reasoningBank.getStats(),t=this.experienceCapture?await this.experienceCapture.getStats():{totalExperiences:0,byDomain:{},successRate:0,avgQuality:0,patternsExtracted:0,patternsPromoted:0};return{...e,activeTasks:this.activeTasks.size,completedTasks:this.completedTasks,claudeFlowStatus:this.claudeFlowBridge?.getStatus()??{available:!1,features:{trajectories:!1,modelRouting:!1,pretrain:!1,patternSearch:!1}},claudeFlowErrors:this.claudeFlowErrors,experienceCapture:t}}async storePattern(e){return!this.initialized||!this.reasoningBank?E(new Error("Engine not initialized")):this.reasoningBank.storePattern(e)}async searchPatterns(e,t){return!this.initialized||!this.reasoningBank?E(new Error("Engine not initialized")):this.reasoningBank.searchPatterns(e,t)}async getPattern(e){return!this.initialized||!this.reasoningBank?null:this.reasoningBank.getPattern(e)}async recordOutcome(e){return!this.initialized||!this.reasoningBank?E(new Error("Engine not initialized")):this.reasoningBank.recordOutcome(e)}async routeTask(e){if(!this.initialized||!this.reasoningBank)return E(new Error("Engine not initialized"));let t=await this.searchPatternsForTask(e.task,{limit:5,minConfidence:.4,domain:e.domain});t.success&&t.value.length>0&&await this.trackPatternSearch(e.task,t.value);let i=await this.reasoningBank.routeTask(e);if(i.success&&this.claudeFlowBridge?.pretrain.isClaudeFlowAvailable(),i.success&&t.success){let r=this.enhanceRoutingWithPatterns(i.value,t.value);return b(r)}return i}async route(e,t){let i=await this.routeTask({task:e,context:t});return i.success?i.value:null}async searchPatternsForTask(e,t={}){if(!this.reasoningBank)return b([]);try{return await this.reasoningBank.searchPatterns(e,{limit:t.limit||5,minConfidence:t.minConfidence||.4,domain:t.domain,useVectorSearch:!0})}catch(i){return console.warn("[AQELearningEngine] Pattern search failed:",y(i)),b([])}}async trackPatternSearch(e,t){let i={timestamp:Date.now(),task:e.slice(0,500),patternsFound:t.length,patternIds:t.map(r=>r.pattern.id),avgSimilarity:t.length>0?t.reduce((r,n)=>r+n.similarity,0)/t.length:0};try{let r=`pattern-usage:search:${Date.now()}-${Z().slice(0,8)}`;await this.memory.set(r,i,{persist:!0,ttl:10080*60*1e3})}catch(r){console.debug("[AQELearningEngine] Failed to track pattern search:",y(r))}}enhanceRoutingWithPatterns(e,t){let i=t.filter(o=>o.similarity>=.5&&o.pattern.qualityScore>=.3);if(i.length===0)return e;let r=i.map(o=>{let u=o.pattern;return`[Pattern: ${u.name}] ${u.description} (confidence: ${(u.confidence*100).toFixed(0)}%, similarity: ${(o.similarity*100).toFixed(0)}%)`}),n=[...e.guidance,"--- Relevant Patterns ---",...r],a=[...e.patterns,...i.map(o=>o.pattern)],s=i.length>0?`; Found ${i.length} relevant pattern(s) with avg similarity ${(i.reduce((o,u)=>o+u.similarity,0)/i.length*100).toFixed(0)}%`:"";return{...e,patterns:a,guidance:n,reasoning:e.reasoning+s,confidence:Math.min(1,e.confidence+i.length*.02)}}async recommendModel(e){if(this.claudeFlowBridge?.modelRouter.isClaudeFlowAvailable())try{return await this.claudeFlowBridge.modelRouter.routeTask(e)}catch(t){console.debug("[AQELearningEngine] Claude Flow model routing failed:",t instanceof Error?t.message:t)}return this.localModelRoute(e)}async recordModelOutcome(e,t,i){this.claudeFlowBridge?.modelRouter.isClaudeFlowAvailable()&&await this.claudeFlowBridge.modelRouter.recordOutcome({task:e,model:t,outcome:i})}localModelRoute(e){let t=e.toLowerCase(),i=[/simple/i,/basic/i,/fix typo/i,/rename/i,/format/i,/add comment/i,/lint/i,/minor/i,/quick/i,/small/i];for(let n of i)if(n.test(t))return{model:"haiku",confidence:.75,reasoning:"Low complexity task - using haiku for speed"};let r=[/architect/i,/design/i,/complex/i,/security/i,/performance/i,/refactor.*large/i,/critical/i,/analysis/i,/multi.*file/i,/distributed/i,/concurrent/i,/migration/i];for(let n of r)if(n.test(t))return{model:"opus",confidence:.8,reasoning:"High complexity task - using opus for capability"};return e.length>500?{model:"opus",confidence:.65,reasoning:"Long task description - using opus for complex reasoning"}:e.length<50?{model:"haiku",confidence:.6,reasoning:"Short task - using haiku for efficiency"}:{model:"sonnet",confidence:.7,reasoning:"Medium complexity - using sonnet for balance"}}async startTask(e,t,i){let r=`task-${Date.now()}-${Z().slice(0,8)}`,n=r;if(this.claudeFlowBridge?.trajectory.isClaudeFlowAvailable())try{n=await this.claudeFlowBridge.trajectory.startTrajectory(e,t)}catch(o){this.claudeFlowErrors++,console.warn(`[AQELearningEngine] Claude Flow startTrajectory failed (${this.claudeFlowErrors} total errors):`,y(o))}let a;this.experienceCapture&&(a=this.experienceCapture.startCapture(e,{agent:t,domain:i,trajectoryId:n!==r?n:void 0}));let s={id:a||n,task:e,agent:t,startedAt:Date.now(),steps:[]};return this.activeTasks.set(s.id,s),s.id}async recordStep(e,t,i,r){if(this.claudeFlowBridge?.trajectory.isClaudeFlowAvailable())try{await this.claudeFlowBridge.trajectory.recordStep(e,t,i,r)}catch(a){this.claudeFlowErrors++,console.warn(`[AQELearningEngine] Claude Flow recordStep failed (${this.claudeFlowErrors} total errors):`,y(a))}this.experienceCapture&&this.experienceCapture.recordStep(e,{action:t,result:i,quality:r});let n=this.activeTasks.get(e);n&&n.steps.push({action:t,result:i,quality:r,timestamp:Date.now()})}async endTask(e,t,i){if(this.claudeFlowBridge?.trajectory.isClaudeFlowAvailable())try{await this.claudeFlowBridge.trajectory.endTrajectory(e,t,i)}catch(n){this.claudeFlowErrors++,console.warn(`[AQELearningEngine] Claude Flow endTrajectory failed (${this.claudeFlowErrors} total errors):`,y(n))}let r=this.activeTasks.get(e);if(r)return this.activeTasks.delete(e),this.completedTasks++,this.config.enableExperienceCapture&&t&&await this.captureExperience(r),r}getTask(e){return this.activeTasks.get(e)}async analyzeCodebase(e,t="medium"){let i=e||this.config.projectRoot;if(this.claudeFlowBridge?.pretrain.isClaudeFlowAvailable())try{return await this.claudeFlowBridge.pretrain.analyze(i,t)}catch(r){console.debug("[AQELearningEngine] Claude Flow pretrain analyze failed:",r instanceof Error?r.message:r)}return this.localAnalyze(i,t)}async generateAgentConfigs(e="yaml"){if(this.claudeFlowBridge?.pretrain.isClaudeFlowAvailable())try{return await this.claudeFlowBridge.pretrain.generateAgentConfigs(e)}catch(t){console.debug("[AQELearningEngine] Claude Flow agent config failed:",t instanceof Error?t.message:t)}return[{name:"qe-test-architect",type:"worker",capabilities:["test-generation","test-design"],model:"sonnet"},{name:"qe-coverage-specialist",type:"worker",capabilities:["coverage-analysis","gap-detection"],model:"haiku"},{name:"qe-security-scanner",type:"worker",capabilities:["security-scanning","vulnerability-detection"],model:"opus"}]}async captureExperience(e){if(!this.experienceCapture||!this.config.enableExperienceCapture)return;let t=e.steps.length>0?e.steps.reduce((r,n)=>r+(n.quality??.5),0)/e.steps.length:.5;await this.experienceCapture.completeCapture(e.id,{success:!0,quality:t});let i=await this.experienceCapture.getExperience(e.id);i&&i.quality>=.7&&await this.experienceCapture.shareAcrossDomains(i)}startExperienceCapture(e,t){if(this.experienceCapture)return this.experienceCapture.startCapture(e,t)}getExperienceCaptureService(){return this.experienceCapture}async localAnalyze(e,t){try{let i=await import("fast-glob"),{existsSync:r,readFileSync:n}=await import("fs"),{join:a}=await import("path"),s=t==="shallow"?["*.ts","*.js","*.json"]:t==="medium"?["**/*.ts","**/*.js","**/*.json","**/*.py"]:["**/*"],o=["node_modules/**","dist/**","coverage/**",".git/**"],u=await i.default(s,{cwd:e,ignore:o,onlyFiles:!0}),p=new Set,g=new Set;for(let m of u.slice(0,100))(m.endsWith(".ts")||m.endsWith(".tsx"))&&p.add("typescript"),(m.endsWith(".js")||m.endsWith(".jsx"))&&p.add("javascript"),m.endsWith(".py")&&p.add("python"),m.endsWith(".go")&&p.add("go"),m.endsWith(".rs")&&p.add("rust");let w=a(e,"package.json");if(r(w))try{let m=k(n(w,"utf-8")),d={...m.dependencies,...m.devDependencies};d.react&&g.add("react"),d.vue&&g.add("vue"),d.vitest&&g.add("vitest"),d.jest&&g.add("jest"),d.playwright&&g.add("playwright")}catch(m){console.debug("[AQELearningEngine] package.json parse failed:",m instanceof Error?m.message:m)}return{success:!0,repositoryPath:e,depth:t,analysis:{languages:Array.from(p),frameworks:Array.from(g),patterns:[],complexity:u.length>500?3:u.length>100?2:1}}}catch(i){return{success:!1,repositoryPath:e,depth:t,error:y(i)}}}getGuidance(e,t){if(!this.reasoningBank)throw new Error("Engine not initialized");return this.reasoningBank.getGuidance(e,t)}generateContext(e,t){if(!this.reasoningBank)throw new Error("Engine not initialized");return this.reasoningBank.generateContext(e,t)}checkAntiPatterns(e,t){if(!this.reasoningBank)throw new Error("Engine not initialized");return this.reasoningBank.checkAntiPatterns(e,t)}async dispose(){this._domainTransferInterval&&(clearInterval(this._domainTransferInterval),this._domainTransferInterval=null),this._domainTransferEngine=null,this.experienceCapture&&await this.experienceCapture.dispose(),this.patternStore&&await this.patternStore.dispose(),this.reasoningBank&&await this.reasoningBank.dispose(),this.activeTasks.clear(),this.initialized=!1}},de={enabled:!1,snapshotIntervalMs:3e5,minSnapshotsForAnalysis:5,autoApplyThreshold:.8},ee=class{config;constructor(e){this.config={...de,...e}}runMetaLearningCycle(e){if(process.env.AQE_META_LEARNING_ENABLED!=="true")return[];if(!this.config.enabled)return[];if(e.length<this.config.minSnapshotsForAnalysis)return[];let t=Math.floor(e.length/2),i=e.slice(0,t),r=e.slice(t),n=[],a=Date.now(),s=h(i.map(c=>c.tokenMetrics.costUsd)),o=h(r.map(c=>c.tokenMetrics.costUsd)),u=h(i.map(c=>c.tokenMetrics.savingsUsd)),p=h(r.map(c=>c.tokenMetrics.savingsUsd));if(o>s*1.1&&p<=u*1.05){let c=Math.min(1,(o-s)/(s||1));n.push({id:`meta-tw-${a}`,type:"token-waste",description:`Token cost increased by ${((o/(s||1)-1)*100).toFixed(1)}% while savings remained flat`,confidence:F(c),suggestedAction:"Review cache configuration and increase pattern reuse thresholds",detectedAt:a})}let g=h(i.map(c=>c.qualityMetrics.gatePassRate)),w=h(r.map(c=>c.qualityMetrics.gatePassRate));Math.abs(w-g)<.02&&e.length>=this.config.minSnapshotsForAnalysis&&n.push({id:`meta-qp-${a}`,type:"quality-plateau",description:`Gate pass rate has been flat at ${(w*100).toFixed(1)}% across ${e.length} snapshots`,confidence:F(.6+(e.length-this.config.minSnapshotsForAnalysis)*.05),suggestedAction:"Consider reviewing quality thresholds or adding new test coverage domains",detectedAt:a});let d=h(i.map(c=>c.learningMetrics.patternCount)),f=h(r.map(c=>c.learningMetrics.patternCount)),te=h(i.map(c=>c.learningMetrics.averageConfidence)),$=h(r.map(c=>c.learningMetrics.averageConfidence)),ie=Math.abs(f-d),re=Math.abs($-te);ie<1&&re<.02&&n.push({id:`meta-ls-${a}`,type:"learning-stall",description:`Pattern count (~${Math.round(f)}) and confidence (~${$.toFixed(2)}) have stagnated`,confidence:F(.65+(e.length-this.config.minSnapshotsForAnalysis)*.04),suggestedAction:"Expand to new QE domains or lower pattern creation thresholds to encourage exploration",detectedAt:a});let C=h(i.map(c=>c.performanceMetrics.p95LatencyMs)),A=h(r.map(c=>c.performanceMetrics.p95LatencyMs));if(A>C*1.2&&C>0){let c=Math.min(1,(A-C)/(C||1));n.push({id:`meta-pr-${a}`,type:"performance-regression",description:`P95 latency increased from ${C.toFixed(0)}ms to ${A.toFixed(0)}ms`,confidence:F(c),suggestedAction:"Profile hot paths and consider HNSW index tuning or batch size reduction",detectedAt:a})}return n}shouldAutoApply(e,t){let i=(t??this.config).autoApplyThreshold;return e.confidence>=i}};function h(l){return l.length===0?0:l.reduce((e,t)=>e+t,0)/l.length}function F(l){return Math.max(0,Math.min(1,l))}function pe(l,e,t){return new L(l,e,t)}function et(l,e,t){return pe(l,{projectRoot:e},t)}export{ue as a,L as b,de as c,ee as d,pe as e,et as f};
|
|
@@ -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.18");process.exit(0)}
|
|
2
|
-
import{c as a,d as b,e as c}from"./chunk-J7BG55VG.js";import"./chunk-6G3RNT5H.js";import"./chunk-UNPTSPAO.js";import"./chunk-FKNYOKIK.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.18");process.exit(0)}
|
|
2
|
-
import{a,b}from"./chunk-H5JZZH2C.js";import"./chunk-V2N7KWT7.js";import"./chunk-TPL3CBMS.js";import"./chunk-LVABI4OA.js";import"./chunk-FKNYOKIK.js";export{a as CrossDomainEventRouter,b as createCrossDomainRouter};
|
|
@@ -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.18");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}from"./chunk-KYLE6ZSC.js";import"./chunk-ENYQUSSK.js";import"./chunk-RHYGRUNU.js";import"./chunk-6IBFYVLK.js";import"./chunk-SQHM6WUF.js";import"./chunk-EZN7QMOZ.js";import"./chunk-JZTB35EQ.js";import"./chunk-VZO5I23B.js";import"./chunk-G2H4W7NN.js";import"./chunk-JMK5OCWL.js";import"./chunk-X2T4TI7D.js";import"./chunk-QW2RFI73.js";import"./chunk-BADBKGZE.js";import"./chunk-3GA7M5NK.js";import"./chunk-D7SS56EG.js";import"./chunk-YQL6JH2Y.js";import"./chunk-RPT7HCMH.js";import"./chunk-AGPZVE6B.js";import"./chunk-4XYQJ4LQ.js";import"./chunk-6KTF7QB3.js";import"./chunk-6ZMQL3U6.js";import"./chunk-TPL3CBMS.js";import"./chunk-UNPTSPAO.js";import"./chunk-LVABI4OA.js";import"./chunk-UFGFV4BO.js";import"./chunk-MBGWDELE.js";import"./chunk-IS2PMHB5.js";import"./chunk-QGSELG75.js";import"./chunk-ZURHHRSA.js";import"./chunk-DOSDUAVZ.js";import"./chunk-TFUWIKGZ.js";import"./chunk-JBW2A2O6.js";import"./chunk-FTIHPDWV.js";import"./chunk-FKNYOKIK.js";export{t as BUILT_IN_STRATEGIES,b as ConceptGraph,g as DEFAULT_ACTIVATION_CONFIG,a as DEFAULT_CONCEPT_GRAPH_CONFIG,m as DEFAULT_DREAM_CONFIG,q as DEFAULT_DREAM_SCHEDULER_CONFIG,i as DEFAULT_INSIGHT_CONFIG,k as DEFAULT_VALIDATION_THRESHOLDS,n as DreamEngine,r as DreamScheduler,f as HISTORY_TRIM_TARGET_RATIO,j as InsightGenerator,d as MAX_ACTIVATION_HISTORY_ENTRIES,e as MAX_COACTIVATION_ENTRIES,l as RVCOWBranchManager,u as SpeculativeDreamer,h as SpreadingActivation,c as createConceptGraph,o as createDreamEngine,s as createDreamScheduler,p 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.18");process.exit(0)}
|
|
2
|
-
import{a,c as b}from"./chunk-TFUWIKGZ.js";import"./chunk-JBW2A2O6.js";import"./chunk-FTIHPDWV.js";import"./chunk-FKNYOKIK.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.18");process.exit(0)}
|
|
2
|
-
import{a,b,c,d}from"./chunk-BXTHB2A2.js";import"./chunk-4XYQJ4LQ.js";import"./chunk-6KTF7QB3.js";import"./chunk-QGSELG75.js";import"./chunk-TFUWIKGZ.js";import"./chunk-JBW2A2O6.js";import"./chunk-FTIHPDWV.js";import"./chunk-FKNYOKIK.js";export{a as DEFAULT_HNSW_CONFIG,b as HNSWIndex,d as benchmarkHNSW,c as createHNSWIndex};
|