agentic-qe 3.9.0 → 3.9.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/skills/skills-manifest.json +1 -1
- package/CHANGELOG.md +43 -0
- package/dist/audit/witness-chain.d.ts +1 -1
- package/dist/cli/bundle.js +8 -8
- package/dist/cli/chunks/adapter-53WBPKXU.js +2 -0
- package/dist/cli/chunks/{agent-booster-wasm-PQYB7VRU.js → agent-booster-wasm-AKAOHSCX.js} +2 -2
- package/dist/cli/chunks/{agent-handler-QDAB5NQS.js → agent-handler-MTGPOUVP.js} +2 -2
- package/dist/cli/chunks/agent-memory-branch-UFPKWUFK.js +2 -0
- package/dist/cli/chunks/aqe-learning-engine-MV7NGY24.js +2 -0
- package/dist/cli/chunks/{audit-S7JUYYVP.js → audit-VBEZHNHO.js} +2 -2
- package/dist/cli/chunks/base-DZVGMQN2.js +2 -0
- package/dist/cli/chunks/better-sqlite3-IRPHIXRU.js +2 -0
- package/dist/cli/chunks/brain-handler-7EO3FFRZ.js +68 -0
- package/dist/cli/chunks/{branch-enumerator-XK4V5W7L.js → branch-enumerator-MZRGP35N.js} +2 -2
- package/dist/cli/chunks/{browser-PALA5PL3.js → browser-VSIWQE7J.js} +2 -2
- package/dist/cli/chunks/browser-workflow-3J5YNMEI.js +2 -0
- package/dist/cli/chunks/chunk-25LFUL2K.js +79 -0
- package/dist/cli/chunks/{chunk-LHJQD2VU.js → chunk-2EC5Z2J4.js} +68 -68
- package/dist/cli/chunks/{chunk-4YOMLWEK.js → chunk-2VVV73PW.js} +1 -1
- package/dist/cli/chunks/{chunk-BPWXXEH2.js → chunk-2WBCYSUN.js} +128 -128
- package/dist/cli/chunks/{chunk-X3KI6JOY.js → chunk-2Z2TFEOL.js} +2 -2
- package/dist/cli/chunks/chunk-34U7JDCN.js +2 -0
- package/dist/cli/chunks/{chunk-24FKIJNC.js → chunk-3GZKAORV.js} +2 -2
- package/dist/cli/chunks/{chunk-72WOAVK6.js → chunk-4D2ZG2QO.js} +1 -1
- package/dist/cli/chunks/{chunk-B36CDR4U.js → chunk-4DAOZQ3V.js} +2 -2
- package/dist/cli/chunks/{chunk-CL6POIX4.js → chunk-4FMHBBG5.js} +1 -1
- package/dist/cli/chunks/{chunk-BXAXGEFC.js → chunk-4FT3PND7.js} +5 -5
- package/dist/cli/chunks/{chunk-IGJPMN4I.js → chunk-4LA7IW3V.js} +1 -1
- package/dist/cli/chunks/{chunk-JRYGQO2W.js → chunk-4PKXIBX2.js} +1 -1
- package/dist/cli/chunks/{chunk-YPFOCNOE.js → chunk-4UH25U4O.js} +1 -1
- package/dist/cli/chunks/{chunk-U5RN7YQW.js → chunk-4Z27TRQF.js} +2 -2
- package/dist/cli/chunks/{chunk-YW2THB5Q.js → chunk-563PJBDM.js} +2 -2
- package/dist/cli/chunks/{chunk-BDIEMZ22.js → chunk-56IWS2KY.js} +2 -2
- package/dist/cli/chunks/chunk-5AUKULWO.js +2 -0
- package/dist/cli/chunks/{chunk-VSVXUTJN.js → chunk-5L6AU3QK.js} +2 -2
- package/dist/cli/chunks/{chunk-RTGGL7D7.js → chunk-5RL66XSH.js} +2 -2
- package/dist/cli/chunks/{chunk-YANUP2RO.js → chunk-65M7C6SH.js} +1 -1
- package/dist/cli/chunks/{chunk-ESVQ6MEB.js → chunk-6SOJVEU7.js} +2 -2
- package/dist/cli/chunks/{chunk-UFUVUO3J.js → chunk-727BDQ3K.js} +2 -2
- package/dist/cli/chunks/{chunk-TLHP5EII.js → chunk-7NOIIC7G.js} +1 -1
- package/dist/cli/chunks/{chunk-N4TL73TH.js → chunk-7SLN2JGP.js} +8 -8
- package/dist/cli/chunks/{chunk-NZ2VCPN4.js → chunk-AA33R5U4.js} +2 -2
- package/dist/cli/chunks/{chunk-Y7BHKZFJ.js → chunk-AKSJQ6B3.js} +2 -2
- package/dist/cli/chunks/{chunk-3ZOONQG6.js → chunk-BIVIPF4O.js} +1 -1
- package/dist/cli/chunks/{chunk-VOS4NQSF.js → chunk-BKCTNRC5.js} +2 -2
- package/dist/cli/chunks/{chunk-B6LLWYQ6.js → chunk-BOH22AKC.js} +2 -2
- package/dist/cli/chunks/{chunk-OI5NGQO2.js → chunk-BY47GV4T.js} +2 -2
- package/dist/cli/chunks/chunk-CCYMJKWX.js +2 -0
- package/dist/cli/chunks/chunk-CL3K5EJK.js +2 -0
- package/dist/cli/chunks/{chunk-GPQ57KA4.js → chunk-CQBSGYRA.js} +2 -2
- package/dist/cli/chunks/{chunk-MZOFWJTM.js → chunk-CQP7ZFME.js} +2 -2
- package/dist/cli/chunks/chunk-DBE34QES.js +2 -0
- package/dist/cli/chunks/chunk-DHE66JRR.js +12 -0
- package/dist/cli/chunks/{chunk-2BZFNEN2.js → chunk-DNLMZTE2.js} +1 -1
- package/dist/cli/chunks/{chunk-XLRQYLWW.js → chunk-DSE57A5N.js} +1 -1
- package/dist/cli/chunks/{chunk-SUSEVMZT.js → chunk-E25S5E2D.js} +1 -1
- package/dist/cli/chunks/{chunk-FEKY7T6Q.js → chunk-FAXVVLPL.js} +2 -2
- package/dist/cli/chunks/chunk-FRJLP7IB.js +2 -0
- package/dist/cli/chunks/{chunk-CS2KS7LP.js → chunk-FUIHWBVF.js} +1 -1
- package/dist/cli/chunks/{chunk-LNQIY6BP.js → chunk-GCMVJS5X.js} +2 -2
- package/dist/cli/chunks/{chunk-XT2V2322.js → chunk-GITD7SRQ.js} +2 -2
- package/dist/cli/chunks/{chunk-JJO7Y4H3.js → chunk-GK72GUHA.js} +3 -3
- package/dist/cli/chunks/{chunk-6EOS7KX2.js → chunk-GPLERTZU.js} +2 -2
- package/dist/cli/chunks/{chunk-2E5NQNSU.js → chunk-HW4ISY5B.js} +11 -11
- package/dist/cli/chunks/{chunk-HRO6OZQD.js → chunk-ICDXWIFZ.js} +1 -1
- package/dist/cli/chunks/{chunk-3NZLZHJI.js → chunk-J4BS6IWE.js} +1 -1
- package/dist/cli/chunks/{chunk-4VUPRTVX.js → chunk-JOVINE23.js} +2 -2
- package/dist/cli/chunks/chunk-JV7LX6OT.js +95 -0
- package/dist/cli/chunks/{chunk-6SVX4DJC.js → chunk-KBA7FBK3.js} +3 -3
- package/dist/cli/chunks/chunk-KDDZYXP4.js +2 -0
- package/dist/cli/chunks/{chunk-GAOJV3OX.js → chunk-KNVAAVHH.js} +2 -2
- package/dist/cli/chunks/{chunk-CWFB6BSA.js → chunk-KQTJ2YLI.js} +4 -4
- package/dist/cli/chunks/{chunk-FGA7VIFR.js → chunk-KTYUCZEM.js} +3 -3
- package/dist/cli/chunks/{chunk-RU5WAHB7.js → chunk-KZTO5EVM.js} +2 -2
- package/dist/cli/chunks/{chunk-IFNIIK34.js → chunk-KZUJBZ7B.js} +3 -3
- package/dist/cli/chunks/{chunk-GKNNSCLC.js → chunk-L5WZUPZF.js} +2 -2
- package/dist/cli/chunks/{chunk-MDUHYUHF.js → chunk-L5YEPSDU.js} +2 -2
- package/dist/cli/chunks/chunk-LCAA6H4J.js +2 -0
- package/dist/cli/chunks/{chunk-XRE2HCWG.js → chunk-LMMEUVE5.js} +1 -1
- package/dist/cli/chunks/{chunk-7VDBAVTY.js → chunk-MN742FIH.js} +2 -2
- package/dist/cli/chunks/chunk-MY4LMIG7.js +180 -0
- package/dist/cli/chunks/{chunk-WGMPEW2T.js → chunk-N3F3CX4V.js} +2 -2
- package/dist/cli/chunks/{chunk-YVA65UZL.js → chunk-NJY7ZA77.js} +1 -1
- package/dist/cli/chunks/{chunk-3IHG3WOY.js → chunk-NM6TIEJ3.js} +3 -3
- package/dist/cli/chunks/{chunk-KP5NUODU.js → chunk-NRCKGXJJ.js} +1 -1
- package/dist/cli/chunks/{chunk-3ADGXLTM.js → chunk-PFNFC43Q.js} +1 -1
- package/dist/cli/chunks/{chunk-4VBTXZRM.js → chunk-PJFLO37I.js} +2 -2
- package/dist/cli/chunks/{chunk-XIBDETCS.js → chunk-PNL5G6TE.js} +2 -2
- package/dist/cli/chunks/{chunk-AFLLQ5PP.js → chunk-Q4A72ZTV.js} +2 -2
- package/dist/cli/chunks/{chunk-EHDQJQ6Y.js → chunk-QEQTC4WQ.js} +5 -5
- package/dist/cli/chunks/{chunk-IAV2JMIX.js → chunk-QIH3E775.js} +2 -2
- package/dist/cli/chunks/{chunk-GRUUQAR6.js → chunk-QNBQBSAI.js} +2 -2
- package/dist/cli/chunks/{chunk-WIEC7VKK.js → chunk-QODE4LM6.js} +2 -2
- package/dist/cli/chunks/{chunk-HY6PMO5W.js → chunk-QPRVX4H2.js} +2 -2
- package/dist/cli/chunks/chunk-RC5CPXON.js +2 -0
- package/dist/cli/chunks/{chunk-TWUWL5EJ.js → chunk-RITN3XR4.js} +2 -2
- package/dist/cli/chunks/{chunk-WBQSXPBI.js → chunk-RJROC5M3.js} +2 -2
- package/dist/cli/chunks/chunk-RQGYJK7H.js +2 -0
- package/dist/cli/chunks/{chunk-XO6PVK2P.js → chunk-S3RDH5CI.js} +2 -2
- package/dist/cli/chunks/{chunk-3IUNFTIF.js → chunk-SCF7NRVE.js} +1 -1
- package/dist/cli/chunks/chunk-SDTVHR63.js +2 -0
- package/dist/cli/chunks/chunk-SGAW2WLI.js +65 -0
- package/dist/cli/chunks/{chunk-N2NS2PHA.js → chunk-SNVM4YJS.js} +2 -2
- package/dist/cli/chunks/{chunk-JXM26HEE.js → chunk-SRRFWTNF.js} +2 -2
- package/dist/cli/chunks/{chunk-UQHYFOBX.js → chunk-STE42EMB.js} +2 -2
- package/dist/cli/chunks/{chunk-WJ3DLOXF.js → chunk-T5GV6UIO.js} +2 -2
- package/dist/cli/chunks/{chunk-4YS3IJ45.js → chunk-TKF447CW.js} +1 -1
- package/dist/cli/chunks/{chunk-ZAPS3UGQ.js → chunk-TTOE336G.js} +3 -3
- package/dist/cli/chunks/{chunk-YAGODYIG.js → chunk-UKDOMLBI.js} +3 -3
- package/dist/cli/chunks/{chunk-JBANAPWG.js → chunk-V6XBAZNH.js} +1 -1
- package/dist/cli/chunks/{chunk-BULKFVYX.js → chunk-VHVWAXCF.js} +1 -1
- package/dist/cli/chunks/{chunk-5SKGFSKD.js → chunk-VL7YOOC2.js} +2 -2
- package/dist/cli/chunks/{chunk-AKE543X2.js → chunk-VUAO4VFC.js} +2 -2
- package/dist/cli/chunks/{chunk-7R6YMLVS.js → chunk-WG4GHAML.js} +2 -2
- package/dist/cli/chunks/{chunk-BTREG4IW.js → chunk-WXWY2GAF.js} +2 -2
- package/dist/cli/chunks/chunk-X35GP7TR.js +1 -0
- package/dist/cli/chunks/chunk-X6LCMOGC.js +2 -0
- package/dist/cli/chunks/{chunk-BGXNSCXX.js → chunk-XFMKJ3UD.js} +1 -1
- package/dist/cli/chunks/{chunk-BLBRY5UD.js → chunk-XH53ARZD.js} +2 -2
- package/dist/cli/chunks/chunk-XIBVVZGB.js +2 -0
- package/dist/cli/chunks/chunk-XYJL6DKI.js +2 -0
- package/dist/cli/chunks/{chunk-5T2ZQWKF.js → chunk-Y6O7CDLI.js} +2 -2
- package/dist/cli/chunks/{chunk-4I2IOUS4.js → chunk-YXCU4CJX.js} +1 -1
- package/dist/cli/chunks/{chunk-YR6ZZGH7.js → chunk-Z2IKNC5M.js} +1 -1
- package/dist/cli/chunks/{chunk-OLHKGP35.js → chunk-Z54EO6E6.js} +2 -2
- package/dist/cli/chunks/{chunk-ZDATDCYN.js → chunk-Z5HXGVXZ.js} +1 -1
- package/dist/cli/chunks/{ci-J374KDLI.js → ci-2BCOBWFG.js} +2 -2
- package/dist/cli/chunks/ci-output-FB4OJHAC.js +2 -0
- package/dist/cli/chunks/{claude-flow-setup-245JLJCN.js → claude-flow-setup-NEEFZTMB.js} +2 -2
- package/dist/cli/chunks/client-EF555KYW.js +2 -0
- package/dist/cli/chunks/{cline-installer-LBA2M5N3.js → cline-installer-ODO2PS4K.js} +2 -2
- package/dist/cli/chunks/{code-U4N4WONM.js → code-NSOF62VE.js} +2 -2
- package/dist/cli/chunks/{code-index-extractor-A57Z6BO4.js → code-index-extractor-YQL5XN52.js} +2 -2
- package/dist/cli/chunks/{codex-installer-UXMK2N4T.js → codex-installer-SPEY6VYT.js} +2 -2
- package/dist/cli/chunks/{completions-W66BSCOE.js → completions-OWKBUMBE.js} +2 -2
- package/dist/cli/chunks/complexity-analyzer-PGTXKP73.js +2 -0
- package/dist/cli/chunks/{continuedev-installer-LRFZ2SJM.js → continuedev-installer-KGOXAC7L.js} +2 -2
- package/dist/cli/chunks/{copilot-installer-CQ3JYBIB.js → copilot-installer-BF3UA3TG.js} +2 -2
- package/dist/cli/chunks/cost-tracker-2HDJ66E2.js +2 -0
- package/dist/cli/chunks/{coverage-4PUEQXAY.js → coverage-KPA2PHIN.js} +3 -3
- package/dist/cli/chunks/cross-domain-router-GXFNK5TS.js +2 -0
- package/dist/cli/chunks/{cursor-installer-JZEDEDHA.js → cursor-installer-7CDZFHTV.js} +2 -2
- package/dist/cli/chunks/{daemon-B7TWGHXQ.js → daemon-4BPGCKDJ.js} +3 -3
- package/dist/cli/chunks/dag-attention-scheduler-2MAVGSBB.js +2 -0
- package/dist/cli/chunks/detect-WRPWTGP5.js +2 -0
- package/dist/cli/chunks/{domain-handler-FT5FLZWL.js → domain-handler-JZVSJ7AG.js} +2 -2
- package/dist/cli/chunks/domain-transfer-XGIZOR2X.js +2 -0
- package/dist/cli/chunks/dream-3IKF5XH4.js +2 -0
- package/dist/cli/chunks/esm-node-DHAE52OW.js +2 -0
- package/dist/cli/chunks/{eval-GHMPFGWV.js → eval-T7YPAS4G.js} +2 -2
- package/dist/cli/chunks/{fast-paths-B3R647KN.js → fast-paths-QECJTKCQ.js} +2 -2
- package/dist/cli/chunks/{feature-flags-DWS7ARSX.js → feature-flags-LIFURSFZ.js} +2 -2
- package/dist/cli/chunks/feature-flags-R4QZYTIW.js +2 -0
- package/dist/cli/chunks/file-discovery-4W3K3W4C.js +2 -0
- package/dist/cli/chunks/{fleet-EKOKMOMW.js → fleet-NLLQWCI5.js} +3 -3
- package/dist/cli/chunks/gnn-wrapper-XEII72LN.js +2 -0
- package/dist/cli/chunks/{heartbeat-handler-MBBS4IBU.js → heartbeat-handler-DJ65RE5D.js} +4 -4
- package/dist/cli/chunks/{heartbeat-scheduler-XDGMOT7X.js → heartbeat-scheduler-H664265Q.js} +2 -2
- package/dist/cli/chunks/hnsw-adapter-DML5KXQR.js +2 -0
- package/dist/cli/chunks/hnsw-index-BUPPGVR6.js +2 -0
- package/dist/cli/chunks/hnsw-legacy-bridge-SQIDTWAA.js +2 -0
- package/dist/cli/chunks/hnswlib-node-WICYCU5U.js +2 -0
- package/dist/cli/chunks/{hooks-L5VLZGEK.js → hooks-GZUHUD63.js} +6 -6
- package/dist/cli/chunks/hypergraph-engine-MLCDZ6BL.js +2 -0
- package/dist/cli/chunks/{hypergraph-handler-3HDGB5SZ.js → hypergraph-handler-NNDDI4R3.js} +3 -3
- package/dist/cli/chunks/impact-analyzer-DPTMJRYS.js +2 -0
- package/dist/cli/chunks/{init-handler-JDET6WUN.js → init-handler-IJ6BHE6A.js} +6 -6
- package/dist/cli/chunks/init-wizard-35PUDJPW.js +2 -0
- package/dist/cli/chunks/kernel-2HZ44ZJ4.js +2 -0
- package/dist/cli/chunks/{kilocode-installer-GZZG5AFW.js → kilocode-installer-EPZFFPFE.js} +2 -2
- package/dist/cli/chunks/{kiro-installer-IWNY5TKH.js → kiro-installer-5VACG3HU.js} +2 -2
- package/dist/cli/chunks/knowledge-graph-JL62G72U.js +2 -0
- package/dist/cli/chunks/{learning-722ZNSZ6.js → learning-6FITK6XY.js} +3 -3
- package/dist/cli/chunks/{llm-router-DNAV746L.js → llm-router-4DDC6AKJ.js} +2 -2
- package/dist/cli/chunks/{load-Y3GCUFM4.js → load-KGDNVUBX.js} +2 -2
- package/dist/cli/chunks/load-test-LN245SSD.js +2 -0
- package/dist/cli/chunks/{mcp-LKPIBZ3W.js → mcp-4LETGVIV.js} +2 -2
- package/dist/cli/chunks/{memory-L57MLFOP.js → memory-II4I4QMO.js} +5 -5
- package/dist/cli/chunks/memory-backend-SVM7YRIE.js +2 -0
- package/dist/cli/chunks/memory-handlers-TQXTOJGQ.js +2 -0
- package/dist/cli/chunks/opencode-installer-EU6JCWBW.js +3 -0
- package/dist/cli/chunks/{orchestrator-QHSBB2UC.js → orchestrator-YLMGJVSP.js} +5 -5
- package/dist/cli/chunks/{pipeline-D3QER35Z.js → pipeline-MPZJWYKK.js} +2 -2
- package/dist/cli/chunks/{platform-T4E7Q3RD.js → platform-YH35ZZFZ.js} +2 -2
- package/dist/cli/chunks/{plugin-JHW2YPRC.js → plugin-B7JYZFNQ.js} +2 -2
- package/dist/cli/chunks/{prime-radiant-advanced-wasm-G7CFNNQV.js → prime-radiant-advanced-wasm-KTUK6UE2.js} +2 -2
- package/dist/cli/chunks/protocol-executor-IEN2XB4L.js +2 -0
- package/dist/cli/chunks/{protocol-handler-2BQQ4HDM.js → protocol-handler-3NXMVU34.js} +2 -2
- package/dist/cli/chunks/{prove-UQ6JFT73.js → prove-H5LMGSUC.js} +2 -2
- package/dist/cli/chunks/qe-reasoning-bank-Q3ZV3JRG.js +2 -0
- package/dist/cli/chunks/{quality-JRZYMC77.js → quality-RCWHY6GO.js} +2 -2
- package/dist/cli/chunks/queen-coordinator-E6ON3JUR.js +2 -0
- package/dist/cli/chunks/real-embeddings-NKH4VURF.js +2 -0
- package/dist/cli/chunks/{roocode-installer-F4E2LAYR.js → roocode-installer-SB7QJYM3.js} +2 -2
- package/dist/cli/chunks/router-WMC3LZ3C.js +2 -0
- package/dist/cli/chunks/routing-feedback-VKCZRCE3.js +2 -0
- package/dist/cli/chunks/{routing-handler-VNKFUUGB.js → routing-handler-SY7GKG2W.js} +2 -2
- package/dist/cli/chunks/ruvector-commands-HATTO3UQ.js +8 -0
- package/dist/cli/chunks/rvf-dual-writer-D57EXQUD.js +2 -0
- package/dist/cli/chunks/rvf-migration-adapter-OWDYN6KD.js +2 -0
- package/dist/cli/chunks/rvf-migration-coordinator-SIQVJB5S.js +2 -0
- package/dist/cli/chunks/rvf-native-adapter-C7NBH5UN.js +2 -0
- package/dist/cli/chunks/safe-db-5KLXCNXN.js +2 -0
- package/dist/cli/chunks/schedule-HAWWOXWB.js +2 -0
- package/dist/cli/chunks/scheduler-HTRDY5BC.js +2 -0
- package/dist/cli/chunks/{security-EBEG2OPU.js → security-DS3XLZWN.js} +3 -3
- package/dist/cli/chunks/shared-rvf-adapter-6I2Z5UGL.js +2 -0
- package/dist/cli/chunks/shared-rvf-dual-writer-YB7AH6XJ.js +2 -0
- package/dist/cli/chunks/sqlite-persistence-WNNRGTGG.js +2 -0
- package/dist/cli/chunks/{status-handler-VZ32M4G4.js → status-handler-TUYHE4FT.js} +2 -2
- package/dist/cli/chunks/{structural-health-K6LRCKV6.js → structural-health-XNGBNRRD.js} +2 -2
- package/dist/cli/chunks/{sync-MHSHNLIM.js → sync-K6CIRKBB.js} +2 -2
- package/dist/cli/chunks/{task-handler-JNOIBZ2G.js → task-handler-7PJY67DR.js} +2 -2
- package/dist/cli/chunks/task-handlers-WB5CDWUR.js +2 -0
- package/dist/cli/chunks/{test-DO22BNIL.js → test-WV5ALEBB.js} +4 -4
- package/dist/cli/chunks/{test-scheduling-VLRQZEFL.js → test-scheduling-N55ZGGA2.js} +3 -3
- package/dist/cli/chunks/token-bootstrap-SINWHAKR.js +2 -0
- package/dist/cli/chunks/{token-usage-LG3PXRXH.js → token-usage-R7TGEVGL.js} +2 -2
- package/dist/cli/chunks/transformers-6DBLXPV7.js +2 -0
- package/dist/cli/chunks/{tree-sitter-wasm-parser-FT2KB66N.js → tree-sitter-wasm-parser-7C7FKMQW.js} +2 -2
- package/dist/cli/chunks/types-VNPMOKQT.js +2 -0
- package/dist/cli/chunks/unified-memory-72SKVZ7Y.js +2 -0
- package/dist/cli/chunks/unified-memory-hnsw-TMN2L77W.js +2 -0
- package/dist/cli/chunks/unified-persistence-MDN3SRCR.js +2 -0
- package/dist/cli/chunks/{validate-VQCRSVNQ.js → validate-53MNIRAF.js} +2 -2
- package/dist/cli/chunks/{validate-swarm-A5DHAWTP.js → validate-swarm-ZY4RGUFO.js} +2 -2
- package/dist/cli/chunks/{vibium-RZBSL4EB.js → vibium-PBADBIV6.js} +2 -2
- package/dist/cli/chunks/visual-security-TRBCXPIB.js +2 -0
- package/dist/cli/chunks/{web-tree-sitter-7C4NXEOF.js → web-tree-sitter-O7VI6RLB.js} +2 -2
- package/dist/cli/chunks/{windsurf-installer-ES3KPQG3.js → windsurf-installer-HV3C3TAD.js} +2 -2
- package/dist/cli/chunks/witness-chain-4WIMYP4X.js +2 -0
- package/dist/cli/chunks/witness-chain-JOI2YYGK.js +2 -0
- package/dist/cli/chunks/{workflow-JETHX4ML.js → workflow-5RVAQ4TM.js} +4 -4
- package/dist/cli/chunks/workflow-orchestrator-2NQ72S3C.js +2 -0
- package/dist/cli/chunks/{wrappers-WP5RH745.js → wrappers-RRHCCA3E.js} +2 -2
- package/dist/cli/commands/ruvector-commands.js +14 -2
- package/dist/cli/index.js +10 -15
- package/dist/coordination/agent-memory-branch.d.ts +117 -0
- package/dist/coordination/agent-memory-branch.js +213 -0
- package/dist/coordination/agent-teams/mailbox.d.ts +43 -0
- package/dist/coordination/agent-teams/mailbox.js +130 -4
- package/dist/coordination/handlers/handler-utils.d.ts +1 -0
- package/dist/coordination/handlers/handler-utils.js +9 -2
- package/dist/coordination/handlers/quality-handlers.js +7 -1
- package/dist/domains/contract-testing/coordinator.js +11 -0
- package/dist/domains/quality-assessment/coherence/gate-controller.d.ts +20 -1
- package/dist/domains/quality-assessment/coherence/gate-controller.js +64 -0
- package/dist/domains/quality-assessment/coherence/index.d.ts +3 -3
- package/dist/domains/quality-assessment/coherence/index.js +2 -2
- package/dist/domains/quality-assessment/coherence/types.d.ts +39 -0
- package/dist/domains/quality-assessment/coherence/types.js +11 -0
- package/dist/domains/quality-assessment/coordinator.d.ts +14 -0
- package/dist/domains/quality-assessment/coordinator.js +92 -0
- package/dist/domains/test-execution/coordinator.d.ts +19 -0
- package/dist/domains/test-execution/coordinator.js +102 -5
- package/dist/domains/test-generation/coordinator.js +11 -0
- package/dist/domains/test-generation/interfaces.d.ts +2 -0
- package/dist/domains/test-generation/services/test-generator.d.ts +9 -0
- package/dist/domains/test-generation/services/test-generator.js +37 -0
- package/dist/init/agents-installer.d.ts +5 -3
- package/dist/init/agents-installer.js +17 -43
- package/dist/init/find-package-root.d.ts +22 -0
- package/dist/init/find-package-root.js +46 -0
- package/dist/init/n8n-installer.d.ts +4 -2
- package/dist/init/n8n-installer.js +23 -23
- package/dist/init/opencode-installer.d.ts +0 -5
- package/dist/init/opencode-installer.js +12 -39
- package/dist/init/skills-installer.d.ts +5 -2
- package/dist/init/skills-installer.js +15 -37
- package/dist/integrations/embeddings/index/HNSWIndex.d.ts +9 -2
- package/dist/integrations/embeddings/index/HNSWIndex.js +110 -35
- package/dist/integrations/ruvector/cognitive-routing.d.ts +67 -0
- package/dist/integrations/ruvector/cognitive-routing.js +208 -0
- package/dist/integrations/ruvector/feature-flags.d.ts +84 -0
- package/dist/integrations/ruvector/feature-flags.js +59 -0
- package/dist/integrations/ruvector/hdc-fingerprint.d.ts +76 -0
- package/dist/integrations/ruvector/hdc-fingerprint.js +217 -0
- package/dist/integrations/ruvector/hyperbolic-hnsw.d.ts +59 -0
- package/dist/integrations/ruvector/hyperbolic-hnsw.js +194 -0
- package/dist/integrations/ruvector/index.d.ts +5 -2
- package/dist/integrations/ruvector/index.js +13 -2
- package/dist/integrations/ruvector/shared-rvf-adapter.d.ts +24 -0
- package/dist/integrations/ruvector/shared-rvf-adapter.js +55 -0
- package/dist/integrations/ruvector/shared-rvf-dual-writer.d.ts +6 -0
- package/dist/integrations/ruvector/shared-rvf-dual-writer.js +38 -0
- package/dist/integrations/ruvector/sona-persistence.d.ts +8 -0
- package/dist/integrations/ruvector/sona-persistence.js +10 -0
- package/dist/integrations/ruvector/vector-delta-tracker.d.ts +96 -0
- package/dist/integrations/ruvector/vector-delta-tracker.js +226 -0
- package/dist/kernel/agent-coordinator.d.ts +75 -1
- package/dist/kernel/agent-coordinator.js +250 -1
- package/dist/kernel/hnsw-legacy-bridge.d.ts +38 -0
- package/dist/kernel/hnsw-legacy-bridge.js +88 -0
- package/dist/kernel/hnsw-shadow-validator.d.ts +91 -0
- package/dist/kernel/hnsw-shadow-validator.js +139 -0
- package/dist/kernel/index.d.ts +1 -1
- package/dist/kernel/index.js +1 -1
- package/dist/kernel/interfaces.d.ts +39 -0
- package/dist/kernel/kernel.d.ts +23 -0
- package/dist/kernel/kernel.js +106 -1
- package/dist/kernel/unified-memory.d.ts +1 -1
- package/dist/kernel/unified-memory.js +7 -3
- package/dist/learning/aqe-learning-engine.d.ts +65 -0
- package/dist/learning/aqe-learning-engine.js +134 -0
- package/dist/learning/dream/dream-engine.d.ts +6 -1
- package/dist/learning/dream/dream-engine.js +37 -2
- package/dist/learning/dream/dream-scheduler.d.ts +25 -0
- package/dist/learning/dream/dream-scheduler.js +120 -0
- package/dist/learning/dream/rvcow-branch-manager.d.ts +6 -3
- package/dist/learning/dream/rvcow-branch-manager.js +60 -5
- package/dist/learning/experience-capture.d.ts +3 -3
- package/dist/learning/hyperbolic-pattern-index.d.ts +82 -0
- package/dist/learning/hyperbolic-pattern-index.js +142 -0
- package/dist/learning/index.d.ts +3 -3
- package/dist/learning/index.js +1 -1
- package/dist/learning/metrics-tracker.d.ts +44 -0
- package/dist/learning/metrics-tracker.js +37 -0
- package/dist/learning/pattern-promotion.d.ts +3 -3
- package/dist/learning/pattern-store.d.ts +45 -2
- package/dist/learning/pattern-store.js +239 -4
- package/dist/learning/qe-patterns.d.ts +1 -1
- package/dist/learning/qe-reasoning-bank.js +1 -1
- package/dist/learning/rvf-pattern-migration.d.ts +50 -0
- package/dist/learning/rvf-pattern-migration.js +106 -0
- package/dist/learning/rvf-pattern-store.d.ts +69 -0
- package/dist/learning/rvf-pattern-store.js +449 -0
- package/dist/mcp/bundle.js +1894 -1804
- package/dist/mcp/handlers/index.d.ts +1 -0
- package/dist/mcp/handlers/index.js +2 -0
- package/dist/mcp/handlers/migration-handlers.d.ts +52 -0
- package/dist/mcp/handlers/migration-handlers.js +85 -0
- package/dist/mcp/protocol-server.d.ts +1 -0
- package/dist/mcp/protocol-server.js +63 -2
- package/dist/mcp/types.d.ts +1 -1
- package/dist/optimization/early-exit-token-optimizer.d.ts +7 -7
- package/dist/optimization/early-exit-token-optimizer.js +3 -3
- package/dist/persistence/rvf-consistency-validator.d.ts +85 -0
- package/dist/persistence/rvf-consistency-validator.js +182 -0
- package/dist/persistence/rvf-migration-adapter.d.ts +125 -0
- package/dist/persistence/rvf-migration-adapter.js +303 -0
- package/dist/persistence/rvf-migration-coordinator.d.ts +115 -0
- package/dist/persistence/rvf-migration-coordinator.js +224 -0
- package/dist/persistence/rvf-stage-gate.d.ts +70 -0
- package/dist/persistence/rvf-stage-gate.js +163 -0
- package/package.json +10 -10
- package/dist/cli/chunks/adapter-WBR5NXS3.js +0 -2
- package/dist/cli/chunks/aqe-learning-engine-TK4JQCGT.js +0 -2
- package/dist/cli/chunks/base-2WXOSMBQ.js +0 -2
- package/dist/cli/chunks/better-sqlite3-7KY2RDXO.js +0 -2
- package/dist/cli/chunks/brain-handler-PPEGDCN4.js +0 -68
- package/dist/cli/chunks/browser-workflow-42F7GK5T.js +0 -2
- package/dist/cli/chunks/chunk-263XS447.js +0 -2
- package/dist/cli/chunks/chunk-2I7J3O6V.js +0 -2
- package/dist/cli/chunks/chunk-3JPRUND5.js +0 -2
- package/dist/cli/chunks/chunk-3THRQEZ2.js +0 -95
- package/dist/cli/chunks/chunk-4B6NCELM.js +0 -2
- package/dist/cli/chunks/chunk-62ADTHV7.js +0 -2
- package/dist/cli/chunks/chunk-BR26T7ZS.js +0 -180
- package/dist/cli/chunks/chunk-DRT3WKQW.js +0 -2
- package/dist/cli/chunks/chunk-FIA6X7UL.js +0 -2
- package/dist/cli/chunks/chunk-J3KWWR6Z.js +0 -1
- package/dist/cli/chunks/chunk-JZSDOIXA.js +0 -2
- package/dist/cli/chunks/chunk-MV6CMOJQ.js +0 -65
- package/dist/cli/chunks/chunk-N5UXCLFI.js +0 -2
- package/dist/cli/chunks/chunk-OF4D7MYI.js +0 -2
- package/dist/cli/chunks/chunk-QOVHWZEP.js +0 -1
- package/dist/cli/chunks/chunk-RFSN6IDA.js +0 -79
- package/dist/cli/chunks/chunk-X5IJGWYG.js +0 -2
- package/dist/cli/chunks/ci-output-7JN7F6CI.js +0 -2
- package/dist/cli/chunks/client-MCSNSH2C.js +0 -2
- package/dist/cli/chunks/complexity-analyzer-AB4OZARV.js +0 -2
- package/dist/cli/chunks/cost-tracker-4F723RB6.js +0 -2
- package/dist/cli/chunks/cross-domain-router-OWR5IJ5G.js +0 -2
- package/dist/cli/chunks/dag-attention-scheduler-JWO6XI6A.js +0 -2
- package/dist/cli/chunks/detect-L6ZZHUSX.js +0 -2
- package/dist/cli/chunks/domain-transfer-5Y4FGJAJ.js +0 -2
- package/dist/cli/chunks/dream-4TDBIYED.js +0 -2
- package/dist/cli/chunks/esm-node-2PKHKOTS.js +0 -2
- package/dist/cli/chunks/feature-flags-IVQ3AL4Q.js +0 -2
- package/dist/cli/chunks/file-discovery-QFPA6GMV.js +0 -2
- package/dist/cli/chunks/gnn-wrapper-OYC55N5E.js +0 -2
- package/dist/cli/chunks/hnsw-index-YO7CT23I.js +0 -2
- package/dist/cli/chunks/hnswlib-node-56YWVXFE.js +0 -2
- package/dist/cli/chunks/hypergraph-engine-A4Y2ZRAG.js +0 -2
- package/dist/cli/chunks/impact-analyzer-UEIGXSZ4.js +0 -2
- package/dist/cli/chunks/init-wizard-JWZUGIPJ.js +0 -2
- package/dist/cli/chunks/kernel-YNDTVKIW.js +0 -2
- package/dist/cli/chunks/knowledge-graph-NGJKFTSN.js +0 -2
- package/dist/cli/chunks/load-test-GZUBXFF3.js +0 -2
- package/dist/cli/chunks/memory-backend-3NQIZUXE.js +0 -2
- package/dist/cli/chunks/memory-handlers-MDZQ7HVW.js +0 -2
- package/dist/cli/chunks/opencode-installer-4HUB36H5.js +0 -3
- package/dist/cli/chunks/protocol-executor-SPUVRDWT.js +0 -2
- package/dist/cli/chunks/qe-reasoning-bank-3HBK2FVD.js +0 -2
- package/dist/cli/chunks/queen-coordinator-RW3NKO5A.js +0 -2
- package/dist/cli/chunks/real-embeddings-GK63VF35.js +0 -2
- package/dist/cli/chunks/router-RJGHWDQ3.js +0 -2
- package/dist/cli/chunks/routing-feedback-ZXBXFKX6.js +0 -2
- package/dist/cli/chunks/ruvector-commands-2TLNHC3A.js +0 -8
- package/dist/cli/chunks/rvf-dual-writer-MQW2SJLT.js +0 -2
- package/dist/cli/chunks/rvf-native-adapter-LKFKTMUN.js +0 -2
- package/dist/cli/chunks/safe-db-G22E5ROA.js +0 -2
- package/dist/cli/chunks/schedule-Y7VVCPYV.js +0 -2
- package/dist/cli/chunks/scheduler-AUQIFQB7.js +0 -2
- package/dist/cli/chunks/shared-rvf-dual-writer-BVSCQAFS.js +0 -2
- package/dist/cli/chunks/sqlite-persistence-JAVHUGGL.js +0 -2
- package/dist/cli/chunks/task-handlers-P5DSUKND.js +0 -2
- package/dist/cli/chunks/token-bootstrap-4VJKGVMK.js +0 -2
- package/dist/cli/chunks/transformers-GY7SIKEU.js +0 -2
- package/dist/cli/chunks/types-QJGNBKP2.js +0 -2
- package/dist/cli/chunks/unified-memory-XYGENQUT.js +0 -2
- package/dist/cli/chunks/unified-memory-hnsw-MVEGQBF3.js +0 -2
- package/dist/cli/chunks/unified-persistence-PFRCWEUG.js +0 -2
- package/dist/cli/chunks/visual-security-V47BLGJM.js +0 -2
- package/dist/cli/chunks/witness-chain-BR63P4A7.js +0 -2
- package/dist/cli/chunks/workflow-orchestrator-7PZMX3JZ.js +0 -2
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
* @module integrations/ruvector/hdc-fingerprint
|
|
17
17
|
*/
|
|
18
18
|
import { Xorshift128 } from '../../shared/utils/xorshift128.js';
|
|
19
|
+
import { isHDCFingerprintingEnabled } from './feature-flags.js';
|
|
19
20
|
// ============================================================================
|
|
20
21
|
// Constants
|
|
21
22
|
// ============================================================================
|
|
@@ -68,6 +69,213 @@ function hexDigest(bytes) {
|
|
|
68
69
|
return hex;
|
|
69
70
|
}
|
|
70
71
|
// ============================================================================
|
|
72
|
+
// Standalone HDC Algebra Functions
|
|
73
|
+
// ============================================================================
|
|
74
|
+
/**
|
|
75
|
+
* Generate a random binary hypervector using crypto-quality randomness.
|
|
76
|
+
* @param dimensions Number of bits. Default: 10000
|
|
77
|
+
*/
|
|
78
|
+
export function createRandomHypervector(dimensions = DEFAULT_DIMENSIONS) {
|
|
79
|
+
const byteLen = Math.ceil(dimensions / 8);
|
|
80
|
+
const vector = new Uint8Array(byteLen);
|
|
81
|
+
// Use a time-seeded PRNG for non-deterministic random vectors
|
|
82
|
+
const seed = (Date.now() ^ (Math.random() * 0xffffffff)) >>> 0;
|
|
83
|
+
const rng = new Xorshift128(seed);
|
|
84
|
+
let idx = 0;
|
|
85
|
+
while (idx < byteLen) {
|
|
86
|
+
const rand = rng.next();
|
|
87
|
+
const count = Math.min(4, byteLen - idx);
|
|
88
|
+
for (let j = 0; j < count; j++) {
|
|
89
|
+
vector[idx++] = (rand >>> (j * 8)) & 0xff;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
const trailingBits = dimensions % 8;
|
|
93
|
+
if (trailingBits > 0) {
|
|
94
|
+
vector[byteLen - 1] &= (1 << trailingBits) - 1;
|
|
95
|
+
}
|
|
96
|
+
return vector;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* XOR binding — component-wise XOR of two packed-bit vectors.
|
|
100
|
+
* This is the key composition operation in HDC.
|
|
101
|
+
*/
|
|
102
|
+
export function bind(a, b) {
|
|
103
|
+
if (a.length !== b.length) {
|
|
104
|
+
throw new Error(`Cannot bind vectors of different lengths: ${a.length} vs ${b.length}`);
|
|
105
|
+
}
|
|
106
|
+
const result = new Uint8Array(a.length);
|
|
107
|
+
for (let i = 0; i < a.length; i++) {
|
|
108
|
+
result[i] = a[i] ^ b[i];
|
|
109
|
+
}
|
|
110
|
+
return result;
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Majority-rule bundling — creates a "superposition" of vectors.
|
|
114
|
+
* For each bit position, takes the majority value across all input vectors.
|
|
115
|
+
* Ties are broken by setting the bit to 1 (arbitrary but deterministic).
|
|
116
|
+
*/
|
|
117
|
+
export function bundle(vectors) {
|
|
118
|
+
if (vectors.length === 0) {
|
|
119
|
+
throw new Error('Cannot bundle zero vectors');
|
|
120
|
+
}
|
|
121
|
+
const byteLen = vectors[0].length;
|
|
122
|
+
for (let i = 1; i < vectors.length; i++) {
|
|
123
|
+
if (vectors[i].length !== byteLen) {
|
|
124
|
+
throw new Error(`Vector length mismatch at index ${i}: expected ${byteLen}, got ${vectors[i].length}`);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
const result = new Uint8Array(byteLen);
|
|
128
|
+
const threshold = vectors.length / 2;
|
|
129
|
+
for (let byteIdx = 0; byteIdx < byteLen; byteIdx++) {
|
|
130
|
+
let resultByte = 0;
|
|
131
|
+
for (let bit = 0; bit < 8; bit++) {
|
|
132
|
+
let count = 0;
|
|
133
|
+
const mask = 1 << bit;
|
|
134
|
+
for (let v = 0; v < vectors.length; v++) {
|
|
135
|
+
if (vectors[v][byteIdx] & mask)
|
|
136
|
+
count++;
|
|
137
|
+
}
|
|
138
|
+
// Majority rule: set bit if count > half, or count == half (tie-break to 1)
|
|
139
|
+
if (count >= threshold)
|
|
140
|
+
resultByte |= mask;
|
|
141
|
+
}
|
|
142
|
+
result[byteIdx] = resultByte;
|
|
143
|
+
}
|
|
144
|
+
return result;
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Hamming distance between two packed-bit vectors, normalized to [0, 1].
|
|
148
|
+
* @param dimensions Total number of bits for normalization. If omitted, uses byteLength * 8.
|
|
149
|
+
*/
|
|
150
|
+
export function hammingDistance(a, b, dimensions) {
|
|
151
|
+
if (a.length !== b.length) {
|
|
152
|
+
throw new Error(`Cannot compute Hamming distance for vectors of different lengths: ${a.length} vs ${b.length}`);
|
|
153
|
+
}
|
|
154
|
+
let dist = 0;
|
|
155
|
+
for (let i = 0; i < a.length; i++) {
|
|
156
|
+
dist += POPCOUNT_TABLE[a[i] ^ b[i]];
|
|
157
|
+
}
|
|
158
|
+
const totalBits = dimensions ?? a.length * 8;
|
|
159
|
+
return totalBits > 0 ? dist / totalBits : 0;
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* Hamming similarity: 1 - hammingDistance. Returns value in [0, 1].
|
|
163
|
+
*/
|
|
164
|
+
export function hammingSimilarity(a, b, dimensions) {
|
|
165
|
+
return 1 - hammingDistance(a, b, dimensions);
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Circular bit shift (permutation) for sequence encoding.
|
|
169
|
+
* Shifts the entire bit vector left by `shifts` positions, wrapping around.
|
|
170
|
+
*/
|
|
171
|
+
export function permute(v, shifts = 1) {
|
|
172
|
+
const totalBits = v.length * 8;
|
|
173
|
+
if (totalBits === 0)
|
|
174
|
+
return new Uint8Array(0);
|
|
175
|
+
// Normalize shift to [0, totalBits)
|
|
176
|
+
const s = ((shifts % totalBits) + totalBits) % totalBits;
|
|
177
|
+
if (s === 0)
|
|
178
|
+
return new Uint8Array(v);
|
|
179
|
+
const result = new Uint8Array(v.length);
|
|
180
|
+
for (let dst = 0; dst < totalBits; dst++) {
|
|
181
|
+
const src = (dst + s) % totalBits;
|
|
182
|
+
const srcByte = src >>> 3;
|
|
183
|
+
const srcBit = src & 7;
|
|
184
|
+
if (v[srcByte] & (1 << srcBit)) {
|
|
185
|
+
result[dst >>> 3] |= 1 << (dst & 7);
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
return result;
|
|
189
|
+
}
|
|
190
|
+
// ============================================================================
|
|
191
|
+
// HDCPatternFingerprinter (Token-based)
|
|
192
|
+
// ============================================================================
|
|
193
|
+
/**
|
|
194
|
+
* Token-based HDC pattern fingerprinter.
|
|
195
|
+
*
|
|
196
|
+
* Maps string tokens deterministically to hypervectors, then composes
|
|
197
|
+
* them via XOR binding. Suitable for Agent Booster Tier 1 fingerprinting
|
|
198
|
+
* where tokens like "slow", "flaky", "database" are composed into a
|
|
199
|
+
* single concept fingerprint.
|
|
200
|
+
*/
|
|
201
|
+
export class HDCPatternFingerprinter {
|
|
202
|
+
dimensions;
|
|
203
|
+
baseSeed;
|
|
204
|
+
byteLen;
|
|
205
|
+
tokenCache = new Map();
|
|
206
|
+
constructor(config) {
|
|
207
|
+
this.dimensions = config?.dimensions ?? DEFAULT_DIMENSIONS;
|
|
208
|
+
this.baseSeed = config?.seed ?? DEFAULT_SEED;
|
|
209
|
+
this.byteLen = Math.ceil(this.dimensions / 8);
|
|
210
|
+
if (this.dimensions <= 0) {
|
|
211
|
+
throw new Error(`HDC dimensions must be positive, got ${this.dimensions}`);
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
/**
|
|
215
|
+
* Deterministic mapping from a string token to a hypervector.
|
|
216
|
+
* Uses seeded hash to generate bits. Results are cached.
|
|
217
|
+
*/
|
|
218
|
+
tokenToHypervector(token) {
|
|
219
|
+
const cached = this.tokenCache.get(token);
|
|
220
|
+
if (cached)
|
|
221
|
+
return new Uint8Array(cached);
|
|
222
|
+
const seed = fnv1a(token) ^ this.baseSeed;
|
|
223
|
+
const vector = this.generateSeededVector(seed);
|
|
224
|
+
this.tokenCache.set(token, vector);
|
|
225
|
+
return new Uint8Array(vector);
|
|
226
|
+
}
|
|
227
|
+
/**
|
|
228
|
+
* Bind all tokens: token1 XOR token2 XOR ... tokenN.
|
|
229
|
+
* XOR is commutative and associative, so order does not matter.
|
|
230
|
+
* Returns a zero vector for an empty token list.
|
|
231
|
+
*/
|
|
232
|
+
fingerprintPattern(tokens) {
|
|
233
|
+
if (tokens.length === 0)
|
|
234
|
+
return new Uint8Array(this.byteLen);
|
|
235
|
+
let result = this.tokenToHypervector(tokens[0]);
|
|
236
|
+
for (let i = 1; i < tokens.length; i++) {
|
|
237
|
+
result = bind(result, this.tokenToHypervector(tokens[i]));
|
|
238
|
+
}
|
|
239
|
+
return result;
|
|
240
|
+
}
|
|
241
|
+
/**
|
|
242
|
+
* Bind tokens, then bundle with a context fingerprint.
|
|
243
|
+
* Context tokens are fingerprinted separately (via XOR bind) and
|
|
244
|
+
* then bundled (majority-rule) with the main token fingerprint.
|
|
245
|
+
*/
|
|
246
|
+
fingerprintWithContext(tokens, context) {
|
|
247
|
+
const tokenFp = this.fingerprintPattern(tokens);
|
|
248
|
+
if (context.length === 0)
|
|
249
|
+
return tokenFp;
|
|
250
|
+
const contextFp = this.fingerprintPattern(context);
|
|
251
|
+
return bundle([tokenFp, contextFp]);
|
|
252
|
+
}
|
|
253
|
+
/** Hamming similarity between two vectors, normalized to [0, 1]. */
|
|
254
|
+
similarity(a, b) {
|
|
255
|
+
return hammingSimilarity(a, b, this.dimensions);
|
|
256
|
+
}
|
|
257
|
+
// --------------------------------------------------------------------------
|
|
258
|
+
// Internal
|
|
259
|
+
// --------------------------------------------------------------------------
|
|
260
|
+
generateSeededVector(seed) {
|
|
261
|
+
const vector = new Uint8Array(this.byteLen);
|
|
262
|
+
const rng = new Xorshift128(seed);
|
|
263
|
+
let idx = 0;
|
|
264
|
+
while (idx < this.byteLen) {
|
|
265
|
+
const rand = rng.next();
|
|
266
|
+
const count = Math.min(4, this.byteLen - idx);
|
|
267
|
+
for (let j = 0; j < count; j++) {
|
|
268
|
+
vector[idx++] = (rand >>> (j * 8)) & 0xff;
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
const trailingBits = this.dimensions % 8;
|
|
272
|
+
if (trailingBits > 0) {
|
|
273
|
+
vector[this.byteLen - 1] &= (1 << trailingBits) - 1;
|
|
274
|
+
}
|
|
275
|
+
return vector;
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
// ============================================================================
|
|
71
279
|
// HdcFingerprinter
|
|
72
280
|
// ============================================================================
|
|
73
281
|
/**
|
|
@@ -219,4 +427,13 @@ export class HdcFingerprinter {
|
|
|
219
427
|
export function createHdcFingerprinter(config) {
|
|
220
428
|
return new HdcFingerprinter(config);
|
|
221
429
|
}
|
|
430
|
+
/**
|
|
431
|
+
* Feature-flag-gated factory for HDCPatternFingerprinter.
|
|
432
|
+
* Returns null when isHDCFingerprintingEnabled() is false.
|
|
433
|
+
*/
|
|
434
|
+
export function createHDCFingerprinter(config) {
|
|
435
|
+
if (!isHDCFingerprintingEnabled())
|
|
436
|
+
return null;
|
|
437
|
+
return new HDCPatternFingerprinter(config);
|
|
438
|
+
}
|
|
222
439
|
//# sourceMappingURL=hdc-fingerprint.js.map
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
export interface HyperbolicConfig {
|
|
2
|
+
dimensions: number;
|
|
3
|
+
curvature: number;
|
|
4
|
+
maxElements: number;
|
|
5
|
+
efConstruction: number;
|
|
6
|
+
M: number;
|
|
7
|
+
}
|
|
8
|
+
export interface HyperbolicPoint {
|
|
9
|
+
id: string;
|
|
10
|
+
coordinates: Float32Array;
|
|
11
|
+
metadata?: Record<string, unknown>;
|
|
12
|
+
}
|
|
13
|
+
export interface HyperbolicSearchResult {
|
|
14
|
+
id: string;
|
|
15
|
+
distance: number;
|
|
16
|
+
point: HyperbolicPoint;
|
|
17
|
+
}
|
|
18
|
+
/** Pure math operations in the Poincare ball model of hyperbolic geometry. */
|
|
19
|
+
export declare class PoincareOperations {
|
|
20
|
+
/** d(a,b) = acosh(1 + 2||a-b||^2 / ((1-||a||^2)(1-||b||^2))) */
|
|
21
|
+
static poincareDistance(a: Float32Array, b: Float32Array): number;
|
|
22
|
+
/** Mobius addition: a +_M b in Poincare ball. */
|
|
23
|
+
static mobiusAdd(a: Float32Array, b: Float32Array): Float32Array;
|
|
24
|
+
/** Exponential map from tangent space at base to Poincare ball. */
|
|
25
|
+
static expMap(base: Float32Array, tangent: Float32Array): Float32Array;
|
|
26
|
+
/** Project point to inside Poincare ball (clamp norm < 1-eps). */
|
|
27
|
+
static project(point: Float32Array): Float32Array;
|
|
28
|
+
/** Map Euclidean point to Poincare ball via tanh scaling. */
|
|
29
|
+
static euclideanToHyperbolic(point: Float32Array): Float32Array;
|
|
30
|
+
}
|
|
31
|
+
/** HNSW index operating in hyperbolic (Poincare ball) space. */
|
|
32
|
+
export declare class HyperbolicHNSW {
|
|
33
|
+
private readonly config;
|
|
34
|
+
private readonly points;
|
|
35
|
+
constructor(config?: Partial<HyperbolicConfig>);
|
|
36
|
+
/** Insert a point, auto-projecting coordinates into the Poincare ball. */
|
|
37
|
+
insert(id: string, coordinates: Float32Array, metadata?: Record<string, unknown>): void;
|
|
38
|
+
/** k-NN search using Poincare distance, sorted ascending. */
|
|
39
|
+
search(query: Float32Array, k: number): HyperbolicSearchResult[];
|
|
40
|
+
/**
|
|
41
|
+
* Embed a tree hierarchy into hyperbolic space via BFS.
|
|
42
|
+
* Root near origin, leaves near boundary. Parent-child dist < sibling dist.
|
|
43
|
+
*/
|
|
44
|
+
embedHierarchy(nodes: Array<{
|
|
45
|
+
id: string;
|
|
46
|
+
parentId?: string;
|
|
47
|
+
features: Float32Array;
|
|
48
|
+
}>): Map<string, Float32Array>;
|
|
49
|
+
getStats(): {
|
|
50
|
+
elementCount: number;
|
|
51
|
+
dimensions: number;
|
|
52
|
+
curvature: number;
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
/** Create a HyperbolicHNSW if the feature flag is enabled, otherwise null. */
|
|
56
|
+
export declare function createHyperbolicHNSW(config?: Partial<HyperbolicConfig>): HyperbolicHNSW | null;
|
|
57
|
+
/** Check if Hyperbolic HNSW feature flag is enabled. */
|
|
58
|
+
export declare function isHyperbolicHnswEnabled(): boolean;
|
|
59
|
+
//# sourceMappingURL=hyperbolic-hnsw.d.ts.map
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* R14: Hyperbolic HNSW — Poincare Ball Embeddings for Hierarchical Data
|
|
3
|
+
*
|
|
4
|
+
* Maps tree-structured data into hyperbolic space where distances naturally
|
|
5
|
+
* preserve parent-child relationships. Root near origin, leaves near boundary.
|
|
6
|
+
* Numerically stable: all operations clamp norms and handle edge cases.
|
|
7
|
+
* TypeScript-only; no external dependencies.
|
|
8
|
+
*
|
|
9
|
+
* @module integrations/ruvector/hyperbolic-hnsw
|
|
10
|
+
*/
|
|
11
|
+
import { getRuVectorFeatureFlags } from './feature-flags.js';
|
|
12
|
+
const DEFAULT_CONFIG = {
|
|
13
|
+
dimensions: 32, curvature: -1.0, maxElements: 10000, efConstruction: 200, M: 16,
|
|
14
|
+
};
|
|
15
|
+
const EPS = 1e-5;
|
|
16
|
+
const MAX_NORM = 1 - EPS;
|
|
17
|
+
// Vector helpers
|
|
18
|
+
function dot(a, b) {
|
|
19
|
+
let s = 0;
|
|
20
|
+
for (let i = 0; i < a.length; i++)
|
|
21
|
+
s += a[i] * b[i];
|
|
22
|
+
return s;
|
|
23
|
+
}
|
|
24
|
+
function sqNorm(v) {
|
|
25
|
+
let s = 0;
|
|
26
|
+
for (let i = 0; i < v.length; i++)
|
|
27
|
+
s += v[i] * v[i];
|
|
28
|
+
return s;
|
|
29
|
+
}
|
|
30
|
+
function sub(a, b) {
|
|
31
|
+
const r = new Float32Array(a.length);
|
|
32
|
+
for (let i = 0; i < a.length; i++)
|
|
33
|
+
r[i] = a[i] - b[i];
|
|
34
|
+
return r;
|
|
35
|
+
}
|
|
36
|
+
/** Pure math operations in the Poincare ball model of hyperbolic geometry. */
|
|
37
|
+
export class PoincareOperations {
|
|
38
|
+
/** d(a,b) = acosh(1 + 2||a-b||^2 / ((1-||a||^2)(1-||b||^2))) */
|
|
39
|
+
static poincareDistance(a, b) {
|
|
40
|
+
const diffSq = sqNorm(sub(a, b));
|
|
41
|
+
const denomA = Math.max(EPS, 1 - sqNorm(a));
|
|
42
|
+
const denomB = Math.max(EPS, 1 - sqNorm(b));
|
|
43
|
+
return Math.acosh(Math.max(1, 1 + 2 * diffSq / (denomA * denomB)));
|
|
44
|
+
}
|
|
45
|
+
/** Mobius addition: a +_M b in Poincare ball. */
|
|
46
|
+
static mobiusAdd(a, b) {
|
|
47
|
+
const d = dot(a, b), nA = sqNorm(a), nB = sqNorm(b);
|
|
48
|
+
const denom = Math.max(EPS, 1 + 2 * d + nA * nB);
|
|
49
|
+
const cA = 1 + 2 * d + nB, cB = 1 - nA;
|
|
50
|
+
const r = new Float32Array(a.length);
|
|
51
|
+
for (let i = 0; i < a.length; i++)
|
|
52
|
+
r[i] = (cA * a[i] + cB * b[i]) / denom;
|
|
53
|
+
return PoincareOperations.project(r);
|
|
54
|
+
}
|
|
55
|
+
/** Exponential map from tangent space at base to Poincare ball. */
|
|
56
|
+
static expMap(base, tangent) {
|
|
57
|
+
const lambda = 2 / Math.max(EPS, 1 - sqNorm(base));
|
|
58
|
+
const nT = Math.sqrt(sqNorm(tangent));
|
|
59
|
+
if (nT < EPS)
|
|
60
|
+
return new Float32Array(base);
|
|
61
|
+
const t = Math.tanh(lambda * nT / 2);
|
|
62
|
+
const s = new Float32Array(tangent.length);
|
|
63
|
+
for (let i = 0; i < tangent.length; i++)
|
|
64
|
+
s[i] = (t / nT) * tangent[i];
|
|
65
|
+
return PoincareOperations.mobiusAdd(base, s);
|
|
66
|
+
}
|
|
67
|
+
/** Project point to inside Poincare ball (clamp norm < 1-eps). */
|
|
68
|
+
static project(point) {
|
|
69
|
+
const n = Math.sqrt(sqNorm(point));
|
|
70
|
+
if (n <= MAX_NORM)
|
|
71
|
+
return new Float32Array(point);
|
|
72
|
+
const scale = MAX_NORM / n;
|
|
73
|
+
const r = new Float32Array(point.length);
|
|
74
|
+
for (let i = 0; i < point.length; i++)
|
|
75
|
+
r[i] = point[i] * scale;
|
|
76
|
+
return r;
|
|
77
|
+
}
|
|
78
|
+
/** Map Euclidean point to Poincare ball via tanh scaling. */
|
|
79
|
+
static euclideanToHyperbolic(point) {
|
|
80
|
+
const n = Math.sqrt(sqNorm(point));
|
|
81
|
+
if (n < EPS)
|
|
82
|
+
return new Float32Array(point.length);
|
|
83
|
+
const scale = Math.tanh(n) / n;
|
|
84
|
+
const r = new Float32Array(point.length);
|
|
85
|
+
for (let i = 0; i < point.length; i++)
|
|
86
|
+
r[i] = point[i] * scale;
|
|
87
|
+
return PoincareOperations.project(r);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
/** HNSW index operating in hyperbolic (Poincare ball) space. */
|
|
91
|
+
export class HyperbolicHNSW {
|
|
92
|
+
config;
|
|
93
|
+
points = new Map();
|
|
94
|
+
constructor(config) {
|
|
95
|
+
this.config = { ...DEFAULT_CONFIG, ...config };
|
|
96
|
+
if (this.config.dimensions <= 0)
|
|
97
|
+
throw new Error(`dimensions must be positive, got ${this.config.dimensions}`);
|
|
98
|
+
if (this.config.curvature >= 0)
|
|
99
|
+
throw new Error(`curvature must be negative for hyperbolic space, got ${this.config.curvature}`);
|
|
100
|
+
if (this.config.maxElements <= 0)
|
|
101
|
+
throw new Error(`maxElements must be positive, got ${this.config.maxElements}`);
|
|
102
|
+
}
|
|
103
|
+
/** Insert a point, auto-projecting coordinates into the Poincare ball. */
|
|
104
|
+
insert(id, coordinates, metadata) {
|
|
105
|
+
if (coordinates.length !== this.config.dimensions)
|
|
106
|
+
throw new Error(`Dimension mismatch: expected ${this.config.dimensions}, got ${coordinates.length}`);
|
|
107
|
+
if (this.points.size >= this.config.maxElements)
|
|
108
|
+
throw new Error(`Maximum elements (${this.config.maxElements}) reached`);
|
|
109
|
+
this.points.set(id, {
|
|
110
|
+
id, coordinates: PoincareOperations.project(coordinates),
|
|
111
|
+
metadata: metadata ? { ...metadata } : undefined,
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
/** k-NN search using Poincare distance, sorted ascending. */
|
|
115
|
+
search(query, k) {
|
|
116
|
+
if (query.length !== this.config.dimensions)
|
|
117
|
+
throw new Error(`Query dimension mismatch: expected ${this.config.dimensions}, got ${query.length}`);
|
|
118
|
+
const proj = PoincareOperations.project(query);
|
|
119
|
+
const results = [];
|
|
120
|
+
for (const p of this.points.values())
|
|
121
|
+
results.push({ id: p.id, distance: PoincareOperations.poincareDistance(proj, p.coordinates), point: p });
|
|
122
|
+
results.sort((a, b) => a.distance - b.distance);
|
|
123
|
+
return results.slice(0, Math.max(0, k));
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Embed a tree hierarchy into hyperbolic space via BFS.
|
|
127
|
+
* Root near origin, leaves near boundary. Parent-child dist < sibling dist.
|
|
128
|
+
*/
|
|
129
|
+
embedHierarchy(nodes) {
|
|
130
|
+
const result = new Map();
|
|
131
|
+
if (nodes.length === 0)
|
|
132
|
+
return result;
|
|
133
|
+
const dims = this.config.dimensions;
|
|
134
|
+
const childrenOf = new Map();
|
|
135
|
+
const nodeMap = new Map();
|
|
136
|
+
const roots = [];
|
|
137
|
+
for (const node of nodes) {
|
|
138
|
+
nodeMap.set(node.id, node);
|
|
139
|
+
if (!node.parentId) {
|
|
140
|
+
roots.push(node.id);
|
|
141
|
+
}
|
|
142
|
+
else {
|
|
143
|
+
let ch = childrenOf.get(node.parentId);
|
|
144
|
+
if (!ch) {
|
|
145
|
+
ch = [];
|
|
146
|
+
childrenOf.set(node.parentId, ch);
|
|
147
|
+
}
|
|
148
|
+
ch.push(node.id);
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
const queue = roots.map((id, i) => ({
|
|
152
|
+
id, depth: 0,
|
|
153
|
+
angOff: (2 * Math.PI * i) / Math.max(1, roots.length),
|
|
154
|
+
angSpan: (2 * Math.PI) / Math.max(1, roots.length),
|
|
155
|
+
}));
|
|
156
|
+
while (queue.length > 0) {
|
|
157
|
+
const { id, depth, angOff, angSpan } = queue.shift();
|
|
158
|
+
const radius = Math.tanh(0.3 * (depth + 0.1));
|
|
159
|
+
const angle = angOff + angSpan / 2;
|
|
160
|
+
const coords = new Float32Array(dims);
|
|
161
|
+
coords[0] = radius * Math.cos(angle);
|
|
162
|
+
coords[1] = radius * Math.sin(angle);
|
|
163
|
+
const node = nodeMap.get(id);
|
|
164
|
+
if (node && node.features.length > 0) {
|
|
165
|
+
const fs = radius * 0.1;
|
|
166
|
+
for (let d = 2; d < dims && d - 2 < node.features.length; d++)
|
|
167
|
+
coords[d] = node.features[d - 2] * fs;
|
|
168
|
+
}
|
|
169
|
+
const projected = PoincareOperations.project(coords);
|
|
170
|
+
result.set(id, projected);
|
|
171
|
+
this.points.set(id, { id, coordinates: projected, metadata: { depth, parentId: node?.parentId } });
|
|
172
|
+
const children = childrenOf.get(id) ?? [];
|
|
173
|
+
for (let c = 0; c < children.length; c++) {
|
|
174
|
+
const cs = angSpan / Math.max(1, children.length);
|
|
175
|
+
queue.push({ id: children[c], depth: depth + 1, angOff: angOff + c * cs, angSpan: cs });
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
return result;
|
|
179
|
+
}
|
|
180
|
+
getStats() {
|
|
181
|
+
return { elementCount: this.points.size, dimensions: this.config.dimensions, curvature: this.config.curvature };
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
/** Create a HyperbolicHNSW if the feature flag is enabled, otherwise null. */
|
|
185
|
+
export function createHyperbolicHNSW(config) {
|
|
186
|
+
if (!isHyperbolicHnswEnabled())
|
|
187
|
+
return null;
|
|
188
|
+
return new HyperbolicHNSW(config);
|
|
189
|
+
}
|
|
190
|
+
/** Check if Hyperbolic HNSW feature flag is enabled. */
|
|
191
|
+
export function isHyperbolicHnswEnabled() {
|
|
192
|
+
return getRuVectorFeatureFlags().useHyperbolicHnsw;
|
|
193
|
+
}
|
|
194
|
+
//# sourceMappingURL=hyperbolic-hnsw.js.map
|
|
@@ -86,7 +86,7 @@ export declare function getRuVectorStatus(config?: Partial<RuVectorConfig>): Pro
|
|
|
86
86
|
}>;
|
|
87
87
|
export * from './wrappers';
|
|
88
88
|
export { RuVectorServiceProvider, getDomainRuVectorServices, getRuVectorProvider, getRuVectorServiceAvailability, type RuVectorServiceConfig, } from './provider';
|
|
89
|
-
export { getRuVectorFeatureFlags, setRuVectorFeatureFlags, resetRuVectorFeatureFlags, isSONAEnabled, isFlashAttentionEnabled, isGNNIndexEnabled, isTemporalCompressionEnabled, isCrossDomainTransferEnabled, shouldLogMigrationMetrics, initFeatureFlagsFromEnv, isHDCFingerprintingEnabled, isCusumDriftDetectionEnabled, isDeltaEventSourcingEnabled, isEwcPlusPlusEnabled, isGraphMAEEnabled, isHopfieldMemoryEnabled, isColdTierGNNEnabled, isMetaLearningEnabled, isSublinearSolverEnabled, isSpectralSparsificationEnabled, isReservoirReplayEnabled, isEpropOnlineLearningEnabled, isGrangerCausalityEnabled, DEFAULT_FEATURE_FLAGS, type RuVectorFeatureFlags, } from './feature-flags';
|
|
89
|
+
export { getRuVectorFeatureFlags, setRuVectorFeatureFlags, resetRuVectorFeatureFlags, isSONAEnabled, isFlashAttentionEnabled, isGNNIndexEnabled, isTemporalCompressionEnabled, isCrossDomainTransferEnabled, shouldLogMigrationMetrics, initFeatureFlagsFromEnv, isHDCFingerprintingEnabled, isCusumDriftDetectionEnabled, isDeltaEventSourcingEnabled, isEwcPlusPlusEnabled, isGraphMAEEnabled, isHopfieldMemoryEnabled, isColdTierGNNEnabled, isMetaLearningEnabled, isSublinearSolverEnabled, isSpectralSparsificationEnabled, isReservoirReplayEnabled, isEpropOnlineLearningEnabled, isGrangerCausalityEnabled, isCognitiveRoutingEnabled, isHyperbolicHnswEnabled, DEFAULT_FEATURE_FLAGS, type RuVectorFeatureFlags, } from './feature-flags';
|
|
90
90
|
export { DomainTransferEngine, ThompsonSampler, createDomainTransferEngine, DEFAULT_DOMAIN_TRANSFER_CONFIG, DecayingBeta, PlateauDetector, ParetoFront, CuriosityBonus, type TransferCandidate, type TransferResult, type TransferRecord, type DomainTransferConfig, type ParetoPoint, } from './domain-transfer';
|
|
91
91
|
export { TransferCoherenceStub, createTransferCoherenceGate, type ITransferCoherenceGate, type CoherenceValidation, } from './transfer-coherence-stub';
|
|
92
92
|
export { TransferVerifier, createTransferVerifier, DEFAULT_VERIFICATION_CONFIG, type DomainPerformanceSnapshot, type TransferResultForVerification, type VerificationResult, type TransferVerificationConfig, } from './transfer-verification';
|
|
@@ -101,9 +101,10 @@ export { RvfDualWriter, createDualWriter } from './rvf-dual-writer.js';
|
|
|
101
101
|
export type { DualWriteConfig, DualWriteResult, DivergenceReport } from './rvf-dual-writer.js';
|
|
102
102
|
export { getSharedRvfDualWriter, getSharedRvfDualWriterSync, resetSharedRvfDualWriter, } from './shared-rvf-dual-writer.js';
|
|
103
103
|
export { CognitiveContainer, createCognitiveContainer, generateSigningKeyPair, type ContainerSegment, type ContainerManifest, type ExportOptions, type ImportOptions, type ImportResult, type VerificationResult as CognitiveContainerVerificationResult, type ContainerInfo, type Ed25519KeyPair, } from './cognitive-container';
|
|
104
|
-
export { HdcFingerprinter, createHdcFingerprinter, type HdcConfig, type PatternFingerprint, } from './hdc-fingerprint';
|
|
104
|
+
export { HdcFingerprinter, createHdcFingerprinter, HDCPatternFingerprinter, createHDCFingerprinter, createRandomHypervector, bind, bundle, hammingDistance, hammingSimilarity, permute, type HdcConfig, type PatternFingerprint, } from './hdc-fingerprint';
|
|
105
105
|
export { CusumDetector, type CusumConfig, type CusumResult, type GateType, } from './cusum-detector';
|
|
106
106
|
export { DeltaTracker, PATTERN_DELTAS_SCHEMA, type DeltaEvent, type DeltaTrackerConfig, type JsonPatch, } from './delta-tracker';
|
|
107
|
+
export { VectorDeltaTracker, createVectorDeltaTracker, type PatternDelta, type SparseChange, type DeltaSnapshot, type VectorDeltaTrackerConfig, type VectorDeltaTrackerStats, } from './vector-delta-tracker';
|
|
107
108
|
export { GraphMAEEncoder, createGraphMAEEncoder, type GraphMAEConfig, type QEGraph, type GraphMAEResult, } from './graphmae-encoder';
|
|
108
109
|
export { HopfieldMemory, createHopfieldMemory, type HopfieldConfig, type StoredPattern, type RecallResult, } from './hopfield-memory';
|
|
109
110
|
export { ColdTierTrainer, InMemoryGraph, FileBackedGraph, createColdTierTrainer, type ColdTierConfig, type ColdTierGraph, type TrainingResult, type CacheStats, } from './cold-tier-trainer';
|
|
@@ -112,5 +113,7 @@ export { SpectralSparsifier, createSpectralSparsifier, type SparsifierGraph, typ
|
|
|
112
113
|
export { ReservoirReplayBuffer, createReservoirReplayBuffer, type ReservoirEntry, type ReservoirConfig, type ReservoirStats, type CoherenceTier, } from './reservoir-replay';
|
|
113
114
|
export { EpropNetwork, createEpropNetwork, type EpropConfig, type EpropStats, } from './eprop-learner';
|
|
114
115
|
export { GrangerAnalyzer, createGrangerAnalyzer, type TestExecutionHistory, type CausalLink, type GrangerConfig, } from './temporal-causality';
|
|
116
|
+
export { CognitiveRouter, MessagePredictor, OscillatoryRouter, createCognitiveRouter, type CognitiveRoutingConfig, type RoutedMessage, type RoutingStats, } from './cognitive-routing';
|
|
117
|
+
export { HyperbolicHNSW, PoincareOperations, createHyperbolicHNSW, type HyperbolicConfig, type HyperbolicPoint, type HyperbolicSearchResult, } from './hyperbolic-hnsw';
|
|
115
118
|
export { initializeSharedMemory, getSharedServerClient as getFleetSharedClient, setSharedServerClient, isSharedMemoryAvailable, getSharedMemoryStatus, getLastInitResult, shutdownSharedMemory, resetSharedMemoryState, integrateWithFleet, DEFAULT_SHARED_MEMORY_CONFIG, type SharedMemoryConfig, type SharedMemoryResult, type SharedMemoryStatus, } from './shared-memory';
|
|
116
119
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -295,7 +295,9 @@ isGraphMAEEnabled, isHopfieldMemoryEnabled, isColdTierGNNEnabled,
|
|
|
295
295
|
// Phase 5 Milestone 3 (ADR-087)
|
|
296
296
|
isMetaLearningEnabled, isSublinearSolverEnabled, isSpectralSparsificationEnabled, isReservoirReplayEnabled,
|
|
297
297
|
// Phase 5 Milestone 4 (ADR-087)
|
|
298
|
-
isEpropOnlineLearningEnabled, isGrangerCausalityEnabled,
|
|
298
|
+
isEpropOnlineLearningEnabled, isGrangerCausalityEnabled,
|
|
299
|
+
// Phase 5 Milestone 5 (ADR-087)
|
|
300
|
+
isCognitiveRoutingEnabled, isHyperbolicHnswEnabled, DEFAULT_FEATURE_FLAGS, } from './feature-flags';
|
|
299
301
|
// ============================================================================
|
|
300
302
|
// Cross-Domain Transfer Learning (ADR-084, Task 2.3)
|
|
301
303
|
// ============================================================================
|
|
@@ -338,11 +340,13 @@ export { CognitiveContainer, createCognitiveContainer, generateSigningKeyPair, }
|
|
|
338
340
|
// Phase 5: Pattern Intelligence (ADR-087, Milestone 1)
|
|
339
341
|
// ============================================================================
|
|
340
342
|
// R1: HDC Pattern Fingerprinting
|
|
341
|
-
export { HdcFingerprinter, createHdcFingerprinter, } from './hdc-fingerprint';
|
|
343
|
+
export { HdcFingerprinter, createHdcFingerprinter, HDCPatternFingerprinter, createHDCFingerprinter, createRandomHypervector, bind, bundle, hammingDistance, hammingSimilarity, permute, } from './hdc-fingerprint';
|
|
342
344
|
// R2: CUSUM Drift Detection
|
|
343
345
|
export { CusumDetector, } from './cusum-detector';
|
|
344
346
|
// R3: Delta Event Sourcing
|
|
345
347
|
export { DeltaTracker, PATTERN_DELTAS_SCHEMA, } from './delta-tracker';
|
|
348
|
+
// R3: Sparse Vector Delta Event Sourcing (ADR-087 Milestone 1)
|
|
349
|
+
export { VectorDeltaTracker, createVectorDeltaTracker, } from './vector-delta-tracker';
|
|
346
350
|
// ============================================================================
|
|
347
351
|
// Phase 5: Graph Learning (ADR-087, Milestone 2)
|
|
348
352
|
// ============================================================================
|
|
@@ -369,6 +373,13 @@ export { EpropNetwork, createEpropNetwork, } from './eprop-learner';
|
|
|
369
373
|
// R12: Granger Causality for Test Failure Prediction
|
|
370
374
|
export { GrangerAnalyzer, createGrangerAnalyzer, } from './temporal-causality';
|
|
371
375
|
// ============================================================================
|
|
376
|
+
// Phase 5: Routing & Geometry (ADR-087, Milestone 5)
|
|
377
|
+
// ============================================================================
|
|
378
|
+
// R13: Cognitive Routing
|
|
379
|
+
export { CognitiveRouter, MessagePredictor, OscillatoryRouter, createCognitiveRouter, } from './cognitive-routing';
|
|
380
|
+
// R14: Hyperbolic HNSW
|
|
381
|
+
export { HyperbolicHNSW, PoincareOperations, createHyperbolicHNSW, } from './hyperbolic-hnsw';
|
|
382
|
+
// ============================================================================
|
|
372
383
|
// Shared Memory Integration (Fleet Integration)
|
|
373
384
|
// ============================================================================
|
|
374
385
|
export { initializeSharedMemory, getSharedServerClient as getFleetSharedClient, setSharedServerClient, isSharedMemoryAvailable, getSharedMemoryStatus, getLastInitResult, shutdownSharedMemory, resetSharedMemoryState, integrateWithFleet, DEFAULT_SHARED_MEMORY_CONFIG, } from './shared-memory';
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared RVF Adapter Singleton
|
|
3
|
+
*
|
|
4
|
+
* Provides a single RvfNativeAdapter instance for .agentic-qe/patterns.rvf.
|
|
5
|
+
* Used by both the kernel (agent branching) and DreamEngine (COW dreams)
|
|
6
|
+
* to avoid dual file handles to the same .rvf file.
|
|
7
|
+
*
|
|
8
|
+
* Returns null when native bindings are unavailable — callers degrade
|
|
9
|
+
* gracefully.
|
|
10
|
+
*
|
|
11
|
+
* @module integrations/ruvector/shared-rvf-adapter
|
|
12
|
+
*/
|
|
13
|
+
import type { RvfNativeAdapter } from './rvf-native-adapter.js';
|
|
14
|
+
/**
|
|
15
|
+
* Get or create the shared RvfNativeAdapter singleton for patterns.rvf.
|
|
16
|
+
*
|
|
17
|
+
* @param dataDir - Data directory (default: .agentic-qe)
|
|
18
|
+
* @param dimensions - Vector dimensions (default: 384)
|
|
19
|
+
* @returns The shared adapter, or null if native bindings are unavailable
|
|
20
|
+
*/
|
|
21
|
+
export declare function getSharedRvfAdapter(dataDir?: string, dimensions?: number): RvfNativeAdapter | null;
|
|
22
|
+
/** Close the shared adapter and reset the singleton. */
|
|
23
|
+
export declare function resetSharedRvfAdapter(): void;
|
|
24
|
+
//# sourceMappingURL=shared-rvf-adapter.d.ts.map
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared RVF Adapter Singleton
|
|
3
|
+
*
|
|
4
|
+
* Provides a single RvfNativeAdapter instance for .agentic-qe/patterns.rvf.
|
|
5
|
+
* Used by both the kernel (agent branching) and DreamEngine (COW dreams)
|
|
6
|
+
* to avoid dual file handles to the same .rvf file.
|
|
7
|
+
*
|
|
8
|
+
* Returns null when native bindings are unavailable — callers degrade
|
|
9
|
+
* gracefully.
|
|
10
|
+
*
|
|
11
|
+
* @module integrations/ruvector/shared-rvf-adapter
|
|
12
|
+
*/
|
|
13
|
+
let sharedAdapter = null;
|
|
14
|
+
let initAttempted = false;
|
|
15
|
+
/**
|
|
16
|
+
* Get or create the shared RvfNativeAdapter singleton for patterns.rvf.
|
|
17
|
+
*
|
|
18
|
+
* @param dataDir - Data directory (default: .agentic-qe)
|
|
19
|
+
* @param dimensions - Vector dimensions (default: 384)
|
|
20
|
+
* @returns The shared adapter, or null if native bindings are unavailable
|
|
21
|
+
*/
|
|
22
|
+
export function getSharedRvfAdapter(dataDir = '.agentic-qe', dimensions = 384) {
|
|
23
|
+
if (initAttempted)
|
|
24
|
+
return sharedAdapter;
|
|
25
|
+
initAttempted = true;
|
|
26
|
+
try {
|
|
27
|
+
// Dynamic require to match the bundled build pattern used elsewhere
|
|
28
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
29
|
+
const { isRvfNativeAvailable, createRvfStore } = require('./rvf-native-adapter.js');
|
|
30
|
+
if (!isRvfNativeAvailable()) {
|
|
31
|
+
console.warn('[RVF] Native bindings unavailable — agent branching and dream COW disabled. ' +
|
|
32
|
+
'Install @ruvector/rvf-node to enable.');
|
|
33
|
+
return null;
|
|
34
|
+
}
|
|
35
|
+
const path = require('path');
|
|
36
|
+
sharedAdapter = createRvfStore(path.join(dataDir, 'patterns.rvf'), dimensions);
|
|
37
|
+
return sharedAdapter;
|
|
38
|
+
}
|
|
39
|
+
catch (error) {
|
|
40
|
+
console.warn('[RVF] Shared adapter init failed:', error instanceof Error ? error.message : error);
|
|
41
|
+
return null;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
/** Close the shared adapter and reset the singleton. */
|
|
45
|
+
export function resetSharedRvfAdapter() {
|
|
46
|
+
if (sharedAdapter) {
|
|
47
|
+
try {
|
|
48
|
+
sharedAdapter.close();
|
|
49
|
+
}
|
|
50
|
+
catch { /* best effort */ }
|
|
51
|
+
sharedAdapter = null;
|
|
52
|
+
}
|
|
53
|
+
initAttempted = false;
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=shared-rvf-adapter.js.map
|
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
* continue with SQLite-only operation.
|
|
13
13
|
*/
|
|
14
14
|
import type { RvfDualWriter } from './rvf-dual-writer.js';
|
|
15
|
+
import type { RvfMigrationAdapter } from '../../persistence/rvf-migration-adapter.js';
|
|
15
16
|
/**
|
|
16
17
|
* Get or create the shared RvfDualWriter singleton.
|
|
17
18
|
*
|
|
@@ -31,6 +32,11 @@ export declare function getSharedRvfDualWriter(): Promise<RvfDualWriter | null>;
|
|
|
31
32
|
* initialized or if native RVF is unavailable.
|
|
32
33
|
*/
|
|
33
34
|
export declare function getSharedRvfDualWriterSync(): RvfDualWriter | null;
|
|
35
|
+
/**
|
|
36
|
+
* Get the shared RvfMigrationAdapter (ADR-072).
|
|
37
|
+
* Returns null if migration stage < 2 or if initialization has not completed.
|
|
38
|
+
*/
|
|
39
|
+
export declare function getSharedMigrationAdapter(): RvfMigrationAdapter | null;
|
|
34
40
|
/**
|
|
35
41
|
* Reset the shared RvfDualWriter singleton.
|
|
36
42
|
*
|