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.
Files changed (416) hide show
  1. package/.claude/skills/skills-manifest.json +1 -1
  2. package/CHANGELOG.md +43 -0
  3. package/dist/audit/witness-chain.d.ts +1 -1
  4. package/dist/cli/bundle.js +8 -8
  5. package/dist/cli/chunks/adapter-53WBPKXU.js +2 -0
  6. package/dist/cli/chunks/{agent-booster-wasm-PQYB7VRU.js → agent-booster-wasm-AKAOHSCX.js} +2 -2
  7. package/dist/cli/chunks/{agent-handler-QDAB5NQS.js → agent-handler-MTGPOUVP.js} +2 -2
  8. package/dist/cli/chunks/agent-memory-branch-UFPKWUFK.js +2 -0
  9. package/dist/cli/chunks/aqe-learning-engine-MV7NGY24.js +2 -0
  10. package/dist/cli/chunks/{audit-S7JUYYVP.js → audit-VBEZHNHO.js} +2 -2
  11. package/dist/cli/chunks/base-DZVGMQN2.js +2 -0
  12. package/dist/cli/chunks/better-sqlite3-IRPHIXRU.js +2 -0
  13. package/dist/cli/chunks/brain-handler-7EO3FFRZ.js +68 -0
  14. package/dist/cli/chunks/{branch-enumerator-XK4V5W7L.js → branch-enumerator-MZRGP35N.js} +2 -2
  15. package/dist/cli/chunks/{browser-PALA5PL3.js → browser-VSIWQE7J.js} +2 -2
  16. package/dist/cli/chunks/browser-workflow-3J5YNMEI.js +2 -0
  17. package/dist/cli/chunks/chunk-25LFUL2K.js +79 -0
  18. package/dist/cli/chunks/{chunk-LHJQD2VU.js → chunk-2EC5Z2J4.js} +68 -68
  19. package/dist/cli/chunks/{chunk-4YOMLWEK.js → chunk-2VVV73PW.js} +1 -1
  20. package/dist/cli/chunks/{chunk-BPWXXEH2.js → chunk-2WBCYSUN.js} +128 -128
  21. package/dist/cli/chunks/{chunk-X3KI6JOY.js → chunk-2Z2TFEOL.js} +2 -2
  22. package/dist/cli/chunks/chunk-34U7JDCN.js +2 -0
  23. package/dist/cli/chunks/{chunk-24FKIJNC.js → chunk-3GZKAORV.js} +2 -2
  24. package/dist/cli/chunks/{chunk-72WOAVK6.js → chunk-4D2ZG2QO.js} +1 -1
  25. package/dist/cli/chunks/{chunk-B36CDR4U.js → chunk-4DAOZQ3V.js} +2 -2
  26. package/dist/cli/chunks/{chunk-CL6POIX4.js → chunk-4FMHBBG5.js} +1 -1
  27. package/dist/cli/chunks/{chunk-BXAXGEFC.js → chunk-4FT3PND7.js} +5 -5
  28. package/dist/cli/chunks/{chunk-IGJPMN4I.js → chunk-4LA7IW3V.js} +1 -1
  29. package/dist/cli/chunks/{chunk-JRYGQO2W.js → chunk-4PKXIBX2.js} +1 -1
  30. package/dist/cli/chunks/{chunk-YPFOCNOE.js → chunk-4UH25U4O.js} +1 -1
  31. package/dist/cli/chunks/{chunk-U5RN7YQW.js → chunk-4Z27TRQF.js} +2 -2
  32. package/dist/cli/chunks/{chunk-YW2THB5Q.js → chunk-563PJBDM.js} +2 -2
  33. package/dist/cli/chunks/{chunk-BDIEMZ22.js → chunk-56IWS2KY.js} +2 -2
  34. package/dist/cli/chunks/chunk-5AUKULWO.js +2 -0
  35. package/dist/cli/chunks/{chunk-VSVXUTJN.js → chunk-5L6AU3QK.js} +2 -2
  36. package/dist/cli/chunks/{chunk-RTGGL7D7.js → chunk-5RL66XSH.js} +2 -2
  37. package/dist/cli/chunks/{chunk-YANUP2RO.js → chunk-65M7C6SH.js} +1 -1
  38. package/dist/cli/chunks/{chunk-ESVQ6MEB.js → chunk-6SOJVEU7.js} +2 -2
  39. package/dist/cli/chunks/{chunk-UFUVUO3J.js → chunk-727BDQ3K.js} +2 -2
  40. package/dist/cli/chunks/{chunk-TLHP5EII.js → chunk-7NOIIC7G.js} +1 -1
  41. package/dist/cli/chunks/{chunk-N4TL73TH.js → chunk-7SLN2JGP.js} +8 -8
  42. package/dist/cli/chunks/{chunk-NZ2VCPN4.js → chunk-AA33R5U4.js} +2 -2
  43. package/dist/cli/chunks/{chunk-Y7BHKZFJ.js → chunk-AKSJQ6B3.js} +2 -2
  44. package/dist/cli/chunks/{chunk-3ZOONQG6.js → chunk-BIVIPF4O.js} +1 -1
  45. package/dist/cli/chunks/{chunk-VOS4NQSF.js → chunk-BKCTNRC5.js} +2 -2
  46. package/dist/cli/chunks/{chunk-B6LLWYQ6.js → chunk-BOH22AKC.js} +2 -2
  47. package/dist/cli/chunks/{chunk-OI5NGQO2.js → chunk-BY47GV4T.js} +2 -2
  48. package/dist/cli/chunks/chunk-CCYMJKWX.js +2 -0
  49. package/dist/cli/chunks/chunk-CL3K5EJK.js +2 -0
  50. package/dist/cli/chunks/{chunk-GPQ57KA4.js → chunk-CQBSGYRA.js} +2 -2
  51. package/dist/cli/chunks/{chunk-MZOFWJTM.js → chunk-CQP7ZFME.js} +2 -2
  52. package/dist/cli/chunks/chunk-DBE34QES.js +2 -0
  53. package/dist/cli/chunks/chunk-DHE66JRR.js +12 -0
  54. package/dist/cli/chunks/{chunk-2BZFNEN2.js → chunk-DNLMZTE2.js} +1 -1
  55. package/dist/cli/chunks/{chunk-XLRQYLWW.js → chunk-DSE57A5N.js} +1 -1
  56. package/dist/cli/chunks/{chunk-SUSEVMZT.js → chunk-E25S5E2D.js} +1 -1
  57. package/dist/cli/chunks/{chunk-FEKY7T6Q.js → chunk-FAXVVLPL.js} +2 -2
  58. package/dist/cli/chunks/chunk-FRJLP7IB.js +2 -0
  59. package/dist/cli/chunks/{chunk-CS2KS7LP.js → chunk-FUIHWBVF.js} +1 -1
  60. package/dist/cli/chunks/{chunk-LNQIY6BP.js → chunk-GCMVJS5X.js} +2 -2
  61. package/dist/cli/chunks/{chunk-XT2V2322.js → chunk-GITD7SRQ.js} +2 -2
  62. package/dist/cli/chunks/{chunk-JJO7Y4H3.js → chunk-GK72GUHA.js} +3 -3
  63. package/dist/cli/chunks/{chunk-6EOS7KX2.js → chunk-GPLERTZU.js} +2 -2
  64. package/dist/cli/chunks/{chunk-2E5NQNSU.js → chunk-HW4ISY5B.js} +11 -11
  65. package/dist/cli/chunks/{chunk-HRO6OZQD.js → chunk-ICDXWIFZ.js} +1 -1
  66. package/dist/cli/chunks/{chunk-3NZLZHJI.js → chunk-J4BS6IWE.js} +1 -1
  67. package/dist/cli/chunks/{chunk-4VUPRTVX.js → chunk-JOVINE23.js} +2 -2
  68. package/dist/cli/chunks/chunk-JV7LX6OT.js +95 -0
  69. package/dist/cli/chunks/{chunk-6SVX4DJC.js → chunk-KBA7FBK3.js} +3 -3
  70. package/dist/cli/chunks/chunk-KDDZYXP4.js +2 -0
  71. package/dist/cli/chunks/{chunk-GAOJV3OX.js → chunk-KNVAAVHH.js} +2 -2
  72. package/dist/cli/chunks/{chunk-CWFB6BSA.js → chunk-KQTJ2YLI.js} +4 -4
  73. package/dist/cli/chunks/{chunk-FGA7VIFR.js → chunk-KTYUCZEM.js} +3 -3
  74. package/dist/cli/chunks/{chunk-RU5WAHB7.js → chunk-KZTO5EVM.js} +2 -2
  75. package/dist/cli/chunks/{chunk-IFNIIK34.js → chunk-KZUJBZ7B.js} +3 -3
  76. package/dist/cli/chunks/{chunk-GKNNSCLC.js → chunk-L5WZUPZF.js} +2 -2
  77. package/dist/cli/chunks/{chunk-MDUHYUHF.js → chunk-L5YEPSDU.js} +2 -2
  78. package/dist/cli/chunks/chunk-LCAA6H4J.js +2 -0
  79. package/dist/cli/chunks/{chunk-XRE2HCWG.js → chunk-LMMEUVE5.js} +1 -1
  80. package/dist/cli/chunks/{chunk-7VDBAVTY.js → chunk-MN742FIH.js} +2 -2
  81. package/dist/cli/chunks/chunk-MY4LMIG7.js +180 -0
  82. package/dist/cli/chunks/{chunk-WGMPEW2T.js → chunk-N3F3CX4V.js} +2 -2
  83. package/dist/cli/chunks/{chunk-YVA65UZL.js → chunk-NJY7ZA77.js} +1 -1
  84. package/dist/cli/chunks/{chunk-3IHG3WOY.js → chunk-NM6TIEJ3.js} +3 -3
  85. package/dist/cli/chunks/{chunk-KP5NUODU.js → chunk-NRCKGXJJ.js} +1 -1
  86. package/dist/cli/chunks/{chunk-3ADGXLTM.js → chunk-PFNFC43Q.js} +1 -1
  87. package/dist/cli/chunks/{chunk-4VBTXZRM.js → chunk-PJFLO37I.js} +2 -2
  88. package/dist/cli/chunks/{chunk-XIBDETCS.js → chunk-PNL5G6TE.js} +2 -2
  89. package/dist/cli/chunks/{chunk-AFLLQ5PP.js → chunk-Q4A72ZTV.js} +2 -2
  90. package/dist/cli/chunks/{chunk-EHDQJQ6Y.js → chunk-QEQTC4WQ.js} +5 -5
  91. package/dist/cli/chunks/{chunk-IAV2JMIX.js → chunk-QIH3E775.js} +2 -2
  92. package/dist/cli/chunks/{chunk-GRUUQAR6.js → chunk-QNBQBSAI.js} +2 -2
  93. package/dist/cli/chunks/{chunk-WIEC7VKK.js → chunk-QODE4LM6.js} +2 -2
  94. package/dist/cli/chunks/{chunk-HY6PMO5W.js → chunk-QPRVX4H2.js} +2 -2
  95. package/dist/cli/chunks/chunk-RC5CPXON.js +2 -0
  96. package/dist/cli/chunks/{chunk-TWUWL5EJ.js → chunk-RITN3XR4.js} +2 -2
  97. package/dist/cli/chunks/{chunk-WBQSXPBI.js → chunk-RJROC5M3.js} +2 -2
  98. package/dist/cli/chunks/chunk-RQGYJK7H.js +2 -0
  99. package/dist/cli/chunks/{chunk-XO6PVK2P.js → chunk-S3RDH5CI.js} +2 -2
  100. package/dist/cli/chunks/{chunk-3IUNFTIF.js → chunk-SCF7NRVE.js} +1 -1
  101. package/dist/cli/chunks/chunk-SDTVHR63.js +2 -0
  102. package/dist/cli/chunks/chunk-SGAW2WLI.js +65 -0
  103. package/dist/cli/chunks/{chunk-N2NS2PHA.js → chunk-SNVM4YJS.js} +2 -2
  104. package/dist/cli/chunks/{chunk-JXM26HEE.js → chunk-SRRFWTNF.js} +2 -2
  105. package/dist/cli/chunks/{chunk-UQHYFOBX.js → chunk-STE42EMB.js} +2 -2
  106. package/dist/cli/chunks/{chunk-WJ3DLOXF.js → chunk-T5GV6UIO.js} +2 -2
  107. package/dist/cli/chunks/{chunk-4YS3IJ45.js → chunk-TKF447CW.js} +1 -1
  108. package/dist/cli/chunks/{chunk-ZAPS3UGQ.js → chunk-TTOE336G.js} +3 -3
  109. package/dist/cli/chunks/{chunk-YAGODYIG.js → chunk-UKDOMLBI.js} +3 -3
  110. package/dist/cli/chunks/{chunk-JBANAPWG.js → chunk-V6XBAZNH.js} +1 -1
  111. package/dist/cli/chunks/{chunk-BULKFVYX.js → chunk-VHVWAXCF.js} +1 -1
  112. package/dist/cli/chunks/{chunk-5SKGFSKD.js → chunk-VL7YOOC2.js} +2 -2
  113. package/dist/cli/chunks/{chunk-AKE543X2.js → chunk-VUAO4VFC.js} +2 -2
  114. package/dist/cli/chunks/{chunk-7R6YMLVS.js → chunk-WG4GHAML.js} +2 -2
  115. package/dist/cli/chunks/{chunk-BTREG4IW.js → chunk-WXWY2GAF.js} +2 -2
  116. package/dist/cli/chunks/chunk-X35GP7TR.js +1 -0
  117. package/dist/cli/chunks/chunk-X6LCMOGC.js +2 -0
  118. package/dist/cli/chunks/{chunk-BGXNSCXX.js → chunk-XFMKJ3UD.js} +1 -1
  119. package/dist/cli/chunks/{chunk-BLBRY5UD.js → chunk-XH53ARZD.js} +2 -2
  120. package/dist/cli/chunks/chunk-XIBVVZGB.js +2 -0
  121. package/dist/cli/chunks/chunk-XYJL6DKI.js +2 -0
  122. package/dist/cli/chunks/{chunk-5T2ZQWKF.js → chunk-Y6O7CDLI.js} +2 -2
  123. package/dist/cli/chunks/{chunk-4I2IOUS4.js → chunk-YXCU4CJX.js} +1 -1
  124. package/dist/cli/chunks/{chunk-YR6ZZGH7.js → chunk-Z2IKNC5M.js} +1 -1
  125. package/dist/cli/chunks/{chunk-OLHKGP35.js → chunk-Z54EO6E6.js} +2 -2
  126. package/dist/cli/chunks/{chunk-ZDATDCYN.js → chunk-Z5HXGVXZ.js} +1 -1
  127. package/dist/cli/chunks/{ci-J374KDLI.js → ci-2BCOBWFG.js} +2 -2
  128. package/dist/cli/chunks/ci-output-FB4OJHAC.js +2 -0
  129. package/dist/cli/chunks/{claude-flow-setup-245JLJCN.js → claude-flow-setup-NEEFZTMB.js} +2 -2
  130. package/dist/cli/chunks/client-EF555KYW.js +2 -0
  131. package/dist/cli/chunks/{cline-installer-LBA2M5N3.js → cline-installer-ODO2PS4K.js} +2 -2
  132. package/dist/cli/chunks/{code-U4N4WONM.js → code-NSOF62VE.js} +2 -2
  133. package/dist/cli/chunks/{code-index-extractor-A57Z6BO4.js → code-index-extractor-YQL5XN52.js} +2 -2
  134. package/dist/cli/chunks/{codex-installer-UXMK2N4T.js → codex-installer-SPEY6VYT.js} +2 -2
  135. package/dist/cli/chunks/{completions-W66BSCOE.js → completions-OWKBUMBE.js} +2 -2
  136. package/dist/cli/chunks/complexity-analyzer-PGTXKP73.js +2 -0
  137. package/dist/cli/chunks/{continuedev-installer-LRFZ2SJM.js → continuedev-installer-KGOXAC7L.js} +2 -2
  138. package/dist/cli/chunks/{copilot-installer-CQ3JYBIB.js → copilot-installer-BF3UA3TG.js} +2 -2
  139. package/dist/cli/chunks/cost-tracker-2HDJ66E2.js +2 -0
  140. package/dist/cli/chunks/{coverage-4PUEQXAY.js → coverage-KPA2PHIN.js} +3 -3
  141. package/dist/cli/chunks/cross-domain-router-GXFNK5TS.js +2 -0
  142. package/dist/cli/chunks/{cursor-installer-JZEDEDHA.js → cursor-installer-7CDZFHTV.js} +2 -2
  143. package/dist/cli/chunks/{daemon-B7TWGHXQ.js → daemon-4BPGCKDJ.js} +3 -3
  144. package/dist/cli/chunks/dag-attention-scheduler-2MAVGSBB.js +2 -0
  145. package/dist/cli/chunks/detect-WRPWTGP5.js +2 -0
  146. package/dist/cli/chunks/{domain-handler-FT5FLZWL.js → domain-handler-JZVSJ7AG.js} +2 -2
  147. package/dist/cli/chunks/domain-transfer-XGIZOR2X.js +2 -0
  148. package/dist/cli/chunks/dream-3IKF5XH4.js +2 -0
  149. package/dist/cli/chunks/esm-node-DHAE52OW.js +2 -0
  150. package/dist/cli/chunks/{eval-GHMPFGWV.js → eval-T7YPAS4G.js} +2 -2
  151. package/dist/cli/chunks/{fast-paths-B3R647KN.js → fast-paths-QECJTKCQ.js} +2 -2
  152. package/dist/cli/chunks/{feature-flags-DWS7ARSX.js → feature-flags-LIFURSFZ.js} +2 -2
  153. package/dist/cli/chunks/feature-flags-R4QZYTIW.js +2 -0
  154. package/dist/cli/chunks/file-discovery-4W3K3W4C.js +2 -0
  155. package/dist/cli/chunks/{fleet-EKOKMOMW.js → fleet-NLLQWCI5.js} +3 -3
  156. package/dist/cli/chunks/gnn-wrapper-XEII72LN.js +2 -0
  157. package/dist/cli/chunks/{heartbeat-handler-MBBS4IBU.js → heartbeat-handler-DJ65RE5D.js} +4 -4
  158. package/dist/cli/chunks/{heartbeat-scheduler-XDGMOT7X.js → heartbeat-scheduler-H664265Q.js} +2 -2
  159. package/dist/cli/chunks/hnsw-adapter-DML5KXQR.js +2 -0
  160. package/dist/cli/chunks/hnsw-index-BUPPGVR6.js +2 -0
  161. package/dist/cli/chunks/hnsw-legacy-bridge-SQIDTWAA.js +2 -0
  162. package/dist/cli/chunks/hnswlib-node-WICYCU5U.js +2 -0
  163. package/dist/cli/chunks/{hooks-L5VLZGEK.js → hooks-GZUHUD63.js} +6 -6
  164. package/dist/cli/chunks/hypergraph-engine-MLCDZ6BL.js +2 -0
  165. package/dist/cli/chunks/{hypergraph-handler-3HDGB5SZ.js → hypergraph-handler-NNDDI4R3.js} +3 -3
  166. package/dist/cli/chunks/impact-analyzer-DPTMJRYS.js +2 -0
  167. package/dist/cli/chunks/{init-handler-JDET6WUN.js → init-handler-IJ6BHE6A.js} +6 -6
  168. package/dist/cli/chunks/init-wizard-35PUDJPW.js +2 -0
  169. package/dist/cli/chunks/kernel-2HZ44ZJ4.js +2 -0
  170. package/dist/cli/chunks/{kilocode-installer-GZZG5AFW.js → kilocode-installer-EPZFFPFE.js} +2 -2
  171. package/dist/cli/chunks/{kiro-installer-IWNY5TKH.js → kiro-installer-5VACG3HU.js} +2 -2
  172. package/dist/cli/chunks/knowledge-graph-JL62G72U.js +2 -0
  173. package/dist/cli/chunks/{learning-722ZNSZ6.js → learning-6FITK6XY.js} +3 -3
  174. package/dist/cli/chunks/{llm-router-DNAV746L.js → llm-router-4DDC6AKJ.js} +2 -2
  175. package/dist/cli/chunks/{load-Y3GCUFM4.js → load-KGDNVUBX.js} +2 -2
  176. package/dist/cli/chunks/load-test-LN245SSD.js +2 -0
  177. package/dist/cli/chunks/{mcp-LKPIBZ3W.js → mcp-4LETGVIV.js} +2 -2
  178. package/dist/cli/chunks/{memory-L57MLFOP.js → memory-II4I4QMO.js} +5 -5
  179. package/dist/cli/chunks/memory-backend-SVM7YRIE.js +2 -0
  180. package/dist/cli/chunks/memory-handlers-TQXTOJGQ.js +2 -0
  181. package/dist/cli/chunks/opencode-installer-EU6JCWBW.js +3 -0
  182. package/dist/cli/chunks/{orchestrator-QHSBB2UC.js → orchestrator-YLMGJVSP.js} +5 -5
  183. package/dist/cli/chunks/{pipeline-D3QER35Z.js → pipeline-MPZJWYKK.js} +2 -2
  184. package/dist/cli/chunks/{platform-T4E7Q3RD.js → platform-YH35ZZFZ.js} +2 -2
  185. package/dist/cli/chunks/{plugin-JHW2YPRC.js → plugin-B7JYZFNQ.js} +2 -2
  186. package/dist/cli/chunks/{prime-radiant-advanced-wasm-G7CFNNQV.js → prime-radiant-advanced-wasm-KTUK6UE2.js} +2 -2
  187. package/dist/cli/chunks/protocol-executor-IEN2XB4L.js +2 -0
  188. package/dist/cli/chunks/{protocol-handler-2BQQ4HDM.js → protocol-handler-3NXMVU34.js} +2 -2
  189. package/dist/cli/chunks/{prove-UQ6JFT73.js → prove-H5LMGSUC.js} +2 -2
  190. package/dist/cli/chunks/qe-reasoning-bank-Q3ZV3JRG.js +2 -0
  191. package/dist/cli/chunks/{quality-JRZYMC77.js → quality-RCWHY6GO.js} +2 -2
  192. package/dist/cli/chunks/queen-coordinator-E6ON3JUR.js +2 -0
  193. package/dist/cli/chunks/real-embeddings-NKH4VURF.js +2 -0
  194. package/dist/cli/chunks/{roocode-installer-F4E2LAYR.js → roocode-installer-SB7QJYM3.js} +2 -2
  195. package/dist/cli/chunks/router-WMC3LZ3C.js +2 -0
  196. package/dist/cli/chunks/routing-feedback-VKCZRCE3.js +2 -0
  197. package/dist/cli/chunks/{routing-handler-VNKFUUGB.js → routing-handler-SY7GKG2W.js} +2 -2
  198. package/dist/cli/chunks/ruvector-commands-HATTO3UQ.js +8 -0
  199. package/dist/cli/chunks/rvf-dual-writer-D57EXQUD.js +2 -0
  200. package/dist/cli/chunks/rvf-migration-adapter-OWDYN6KD.js +2 -0
  201. package/dist/cli/chunks/rvf-migration-coordinator-SIQVJB5S.js +2 -0
  202. package/dist/cli/chunks/rvf-native-adapter-C7NBH5UN.js +2 -0
  203. package/dist/cli/chunks/safe-db-5KLXCNXN.js +2 -0
  204. package/dist/cli/chunks/schedule-HAWWOXWB.js +2 -0
  205. package/dist/cli/chunks/scheduler-HTRDY5BC.js +2 -0
  206. package/dist/cli/chunks/{security-EBEG2OPU.js → security-DS3XLZWN.js} +3 -3
  207. package/dist/cli/chunks/shared-rvf-adapter-6I2Z5UGL.js +2 -0
  208. package/dist/cli/chunks/shared-rvf-dual-writer-YB7AH6XJ.js +2 -0
  209. package/dist/cli/chunks/sqlite-persistence-WNNRGTGG.js +2 -0
  210. package/dist/cli/chunks/{status-handler-VZ32M4G4.js → status-handler-TUYHE4FT.js} +2 -2
  211. package/dist/cli/chunks/{structural-health-K6LRCKV6.js → structural-health-XNGBNRRD.js} +2 -2
  212. package/dist/cli/chunks/{sync-MHSHNLIM.js → sync-K6CIRKBB.js} +2 -2
  213. package/dist/cli/chunks/{task-handler-JNOIBZ2G.js → task-handler-7PJY67DR.js} +2 -2
  214. package/dist/cli/chunks/task-handlers-WB5CDWUR.js +2 -0
  215. package/dist/cli/chunks/{test-DO22BNIL.js → test-WV5ALEBB.js} +4 -4
  216. package/dist/cli/chunks/{test-scheduling-VLRQZEFL.js → test-scheduling-N55ZGGA2.js} +3 -3
  217. package/dist/cli/chunks/token-bootstrap-SINWHAKR.js +2 -0
  218. package/dist/cli/chunks/{token-usage-LG3PXRXH.js → token-usage-R7TGEVGL.js} +2 -2
  219. package/dist/cli/chunks/transformers-6DBLXPV7.js +2 -0
  220. package/dist/cli/chunks/{tree-sitter-wasm-parser-FT2KB66N.js → tree-sitter-wasm-parser-7C7FKMQW.js} +2 -2
  221. package/dist/cli/chunks/types-VNPMOKQT.js +2 -0
  222. package/dist/cli/chunks/unified-memory-72SKVZ7Y.js +2 -0
  223. package/dist/cli/chunks/unified-memory-hnsw-TMN2L77W.js +2 -0
  224. package/dist/cli/chunks/unified-persistence-MDN3SRCR.js +2 -0
  225. package/dist/cli/chunks/{validate-VQCRSVNQ.js → validate-53MNIRAF.js} +2 -2
  226. package/dist/cli/chunks/{validate-swarm-A5DHAWTP.js → validate-swarm-ZY4RGUFO.js} +2 -2
  227. package/dist/cli/chunks/{vibium-RZBSL4EB.js → vibium-PBADBIV6.js} +2 -2
  228. package/dist/cli/chunks/visual-security-TRBCXPIB.js +2 -0
  229. package/dist/cli/chunks/{web-tree-sitter-7C4NXEOF.js → web-tree-sitter-O7VI6RLB.js} +2 -2
  230. package/dist/cli/chunks/{windsurf-installer-ES3KPQG3.js → windsurf-installer-HV3C3TAD.js} +2 -2
  231. package/dist/cli/chunks/witness-chain-4WIMYP4X.js +2 -0
  232. package/dist/cli/chunks/witness-chain-JOI2YYGK.js +2 -0
  233. package/dist/cli/chunks/{workflow-JETHX4ML.js → workflow-5RVAQ4TM.js} +4 -4
  234. package/dist/cli/chunks/workflow-orchestrator-2NQ72S3C.js +2 -0
  235. package/dist/cli/chunks/{wrappers-WP5RH745.js → wrappers-RRHCCA3E.js} +2 -2
  236. package/dist/cli/commands/ruvector-commands.js +14 -2
  237. package/dist/cli/index.js +10 -15
  238. package/dist/coordination/agent-memory-branch.d.ts +117 -0
  239. package/dist/coordination/agent-memory-branch.js +213 -0
  240. package/dist/coordination/agent-teams/mailbox.d.ts +43 -0
  241. package/dist/coordination/agent-teams/mailbox.js +130 -4
  242. package/dist/coordination/handlers/handler-utils.d.ts +1 -0
  243. package/dist/coordination/handlers/handler-utils.js +9 -2
  244. package/dist/coordination/handlers/quality-handlers.js +7 -1
  245. package/dist/domains/contract-testing/coordinator.js +11 -0
  246. package/dist/domains/quality-assessment/coherence/gate-controller.d.ts +20 -1
  247. package/dist/domains/quality-assessment/coherence/gate-controller.js +64 -0
  248. package/dist/domains/quality-assessment/coherence/index.d.ts +3 -3
  249. package/dist/domains/quality-assessment/coherence/index.js +2 -2
  250. package/dist/domains/quality-assessment/coherence/types.d.ts +39 -0
  251. package/dist/domains/quality-assessment/coherence/types.js +11 -0
  252. package/dist/domains/quality-assessment/coordinator.d.ts +14 -0
  253. package/dist/domains/quality-assessment/coordinator.js +92 -0
  254. package/dist/domains/test-execution/coordinator.d.ts +19 -0
  255. package/dist/domains/test-execution/coordinator.js +102 -5
  256. package/dist/domains/test-generation/coordinator.js +11 -0
  257. package/dist/domains/test-generation/interfaces.d.ts +2 -0
  258. package/dist/domains/test-generation/services/test-generator.d.ts +9 -0
  259. package/dist/domains/test-generation/services/test-generator.js +37 -0
  260. package/dist/init/agents-installer.d.ts +5 -3
  261. package/dist/init/agents-installer.js +17 -43
  262. package/dist/init/find-package-root.d.ts +22 -0
  263. package/dist/init/find-package-root.js +46 -0
  264. package/dist/init/n8n-installer.d.ts +4 -2
  265. package/dist/init/n8n-installer.js +23 -23
  266. package/dist/init/opencode-installer.d.ts +0 -5
  267. package/dist/init/opencode-installer.js +12 -39
  268. package/dist/init/skills-installer.d.ts +5 -2
  269. package/dist/init/skills-installer.js +15 -37
  270. package/dist/integrations/embeddings/index/HNSWIndex.d.ts +9 -2
  271. package/dist/integrations/embeddings/index/HNSWIndex.js +110 -35
  272. package/dist/integrations/ruvector/cognitive-routing.d.ts +67 -0
  273. package/dist/integrations/ruvector/cognitive-routing.js +208 -0
  274. package/dist/integrations/ruvector/feature-flags.d.ts +84 -0
  275. package/dist/integrations/ruvector/feature-flags.js +59 -0
  276. package/dist/integrations/ruvector/hdc-fingerprint.d.ts +76 -0
  277. package/dist/integrations/ruvector/hdc-fingerprint.js +217 -0
  278. package/dist/integrations/ruvector/hyperbolic-hnsw.d.ts +59 -0
  279. package/dist/integrations/ruvector/hyperbolic-hnsw.js +194 -0
  280. package/dist/integrations/ruvector/index.d.ts +5 -2
  281. package/dist/integrations/ruvector/index.js +13 -2
  282. package/dist/integrations/ruvector/shared-rvf-adapter.d.ts +24 -0
  283. package/dist/integrations/ruvector/shared-rvf-adapter.js +55 -0
  284. package/dist/integrations/ruvector/shared-rvf-dual-writer.d.ts +6 -0
  285. package/dist/integrations/ruvector/shared-rvf-dual-writer.js +38 -0
  286. package/dist/integrations/ruvector/sona-persistence.d.ts +8 -0
  287. package/dist/integrations/ruvector/sona-persistence.js +10 -0
  288. package/dist/integrations/ruvector/vector-delta-tracker.d.ts +96 -0
  289. package/dist/integrations/ruvector/vector-delta-tracker.js +226 -0
  290. package/dist/kernel/agent-coordinator.d.ts +75 -1
  291. package/dist/kernel/agent-coordinator.js +250 -1
  292. package/dist/kernel/hnsw-legacy-bridge.d.ts +38 -0
  293. package/dist/kernel/hnsw-legacy-bridge.js +88 -0
  294. package/dist/kernel/hnsw-shadow-validator.d.ts +91 -0
  295. package/dist/kernel/hnsw-shadow-validator.js +139 -0
  296. package/dist/kernel/index.d.ts +1 -1
  297. package/dist/kernel/index.js +1 -1
  298. package/dist/kernel/interfaces.d.ts +39 -0
  299. package/dist/kernel/kernel.d.ts +23 -0
  300. package/dist/kernel/kernel.js +106 -1
  301. package/dist/kernel/unified-memory.d.ts +1 -1
  302. package/dist/kernel/unified-memory.js +7 -3
  303. package/dist/learning/aqe-learning-engine.d.ts +65 -0
  304. package/dist/learning/aqe-learning-engine.js +134 -0
  305. package/dist/learning/dream/dream-engine.d.ts +6 -1
  306. package/dist/learning/dream/dream-engine.js +37 -2
  307. package/dist/learning/dream/dream-scheduler.d.ts +25 -0
  308. package/dist/learning/dream/dream-scheduler.js +120 -0
  309. package/dist/learning/dream/rvcow-branch-manager.d.ts +6 -3
  310. package/dist/learning/dream/rvcow-branch-manager.js +60 -5
  311. package/dist/learning/experience-capture.d.ts +3 -3
  312. package/dist/learning/hyperbolic-pattern-index.d.ts +82 -0
  313. package/dist/learning/hyperbolic-pattern-index.js +142 -0
  314. package/dist/learning/index.d.ts +3 -3
  315. package/dist/learning/index.js +1 -1
  316. package/dist/learning/metrics-tracker.d.ts +44 -0
  317. package/dist/learning/metrics-tracker.js +37 -0
  318. package/dist/learning/pattern-promotion.d.ts +3 -3
  319. package/dist/learning/pattern-store.d.ts +45 -2
  320. package/dist/learning/pattern-store.js +239 -4
  321. package/dist/learning/qe-patterns.d.ts +1 -1
  322. package/dist/learning/qe-reasoning-bank.js +1 -1
  323. package/dist/learning/rvf-pattern-migration.d.ts +50 -0
  324. package/dist/learning/rvf-pattern-migration.js +106 -0
  325. package/dist/learning/rvf-pattern-store.d.ts +69 -0
  326. package/dist/learning/rvf-pattern-store.js +449 -0
  327. package/dist/mcp/bundle.js +1894 -1804
  328. package/dist/mcp/handlers/index.d.ts +1 -0
  329. package/dist/mcp/handlers/index.js +2 -0
  330. package/dist/mcp/handlers/migration-handlers.d.ts +52 -0
  331. package/dist/mcp/handlers/migration-handlers.js +85 -0
  332. package/dist/mcp/protocol-server.d.ts +1 -0
  333. package/dist/mcp/protocol-server.js +63 -2
  334. package/dist/mcp/types.d.ts +1 -1
  335. package/dist/optimization/early-exit-token-optimizer.d.ts +7 -7
  336. package/dist/optimization/early-exit-token-optimizer.js +3 -3
  337. package/dist/persistence/rvf-consistency-validator.d.ts +85 -0
  338. package/dist/persistence/rvf-consistency-validator.js +182 -0
  339. package/dist/persistence/rvf-migration-adapter.d.ts +125 -0
  340. package/dist/persistence/rvf-migration-adapter.js +303 -0
  341. package/dist/persistence/rvf-migration-coordinator.d.ts +115 -0
  342. package/dist/persistence/rvf-migration-coordinator.js +224 -0
  343. package/dist/persistence/rvf-stage-gate.d.ts +70 -0
  344. package/dist/persistence/rvf-stage-gate.js +163 -0
  345. package/package.json +10 -10
  346. package/dist/cli/chunks/adapter-WBR5NXS3.js +0 -2
  347. package/dist/cli/chunks/aqe-learning-engine-TK4JQCGT.js +0 -2
  348. package/dist/cli/chunks/base-2WXOSMBQ.js +0 -2
  349. package/dist/cli/chunks/better-sqlite3-7KY2RDXO.js +0 -2
  350. package/dist/cli/chunks/brain-handler-PPEGDCN4.js +0 -68
  351. package/dist/cli/chunks/browser-workflow-42F7GK5T.js +0 -2
  352. package/dist/cli/chunks/chunk-263XS447.js +0 -2
  353. package/dist/cli/chunks/chunk-2I7J3O6V.js +0 -2
  354. package/dist/cli/chunks/chunk-3JPRUND5.js +0 -2
  355. package/dist/cli/chunks/chunk-3THRQEZ2.js +0 -95
  356. package/dist/cli/chunks/chunk-4B6NCELM.js +0 -2
  357. package/dist/cli/chunks/chunk-62ADTHV7.js +0 -2
  358. package/dist/cli/chunks/chunk-BR26T7ZS.js +0 -180
  359. package/dist/cli/chunks/chunk-DRT3WKQW.js +0 -2
  360. package/dist/cli/chunks/chunk-FIA6X7UL.js +0 -2
  361. package/dist/cli/chunks/chunk-J3KWWR6Z.js +0 -1
  362. package/dist/cli/chunks/chunk-JZSDOIXA.js +0 -2
  363. package/dist/cli/chunks/chunk-MV6CMOJQ.js +0 -65
  364. package/dist/cli/chunks/chunk-N5UXCLFI.js +0 -2
  365. package/dist/cli/chunks/chunk-OF4D7MYI.js +0 -2
  366. package/dist/cli/chunks/chunk-QOVHWZEP.js +0 -1
  367. package/dist/cli/chunks/chunk-RFSN6IDA.js +0 -79
  368. package/dist/cli/chunks/chunk-X5IJGWYG.js +0 -2
  369. package/dist/cli/chunks/ci-output-7JN7F6CI.js +0 -2
  370. package/dist/cli/chunks/client-MCSNSH2C.js +0 -2
  371. package/dist/cli/chunks/complexity-analyzer-AB4OZARV.js +0 -2
  372. package/dist/cli/chunks/cost-tracker-4F723RB6.js +0 -2
  373. package/dist/cli/chunks/cross-domain-router-OWR5IJ5G.js +0 -2
  374. package/dist/cli/chunks/dag-attention-scheduler-JWO6XI6A.js +0 -2
  375. package/dist/cli/chunks/detect-L6ZZHUSX.js +0 -2
  376. package/dist/cli/chunks/domain-transfer-5Y4FGJAJ.js +0 -2
  377. package/dist/cli/chunks/dream-4TDBIYED.js +0 -2
  378. package/dist/cli/chunks/esm-node-2PKHKOTS.js +0 -2
  379. package/dist/cli/chunks/feature-flags-IVQ3AL4Q.js +0 -2
  380. package/dist/cli/chunks/file-discovery-QFPA6GMV.js +0 -2
  381. package/dist/cli/chunks/gnn-wrapper-OYC55N5E.js +0 -2
  382. package/dist/cli/chunks/hnsw-index-YO7CT23I.js +0 -2
  383. package/dist/cli/chunks/hnswlib-node-56YWVXFE.js +0 -2
  384. package/dist/cli/chunks/hypergraph-engine-A4Y2ZRAG.js +0 -2
  385. package/dist/cli/chunks/impact-analyzer-UEIGXSZ4.js +0 -2
  386. package/dist/cli/chunks/init-wizard-JWZUGIPJ.js +0 -2
  387. package/dist/cli/chunks/kernel-YNDTVKIW.js +0 -2
  388. package/dist/cli/chunks/knowledge-graph-NGJKFTSN.js +0 -2
  389. package/dist/cli/chunks/load-test-GZUBXFF3.js +0 -2
  390. package/dist/cli/chunks/memory-backend-3NQIZUXE.js +0 -2
  391. package/dist/cli/chunks/memory-handlers-MDZQ7HVW.js +0 -2
  392. package/dist/cli/chunks/opencode-installer-4HUB36H5.js +0 -3
  393. package/dist/cli/chunks/protocol-executor-SPUVRDWT.js +0 -2
  394. package/dist/cli/chunks/qe-reasoning-bank-3HBK2FVD.js +0 -2
  395. package/dist/cli/chunks/queen-coordinator-RW3NKO5A.js +0 -2
  396. package/dist/cli/chunks/real-embeddings-GK63VF35.js +0 -2
  397. package/dist/cli/chunks/router-RJGHWDQ3.js +0 -2
  398. package/dist/cli/chunks/routing-feedback-ZXBXFKX6.js +0 -2
  399. package/dist/cli/chunks/ruvector-commands-2TLNHC3A.js +0 -8
  400. package/dist/cli/chunks/rvf-dual-writer-MQW2SJLT.js +0 -2
  401. package/dist/cli/chunks/rvf-native-adapter-LKFKTMUN.js +0 -2
  402. package/dist/cli/chunks/safe-db-G22E5ROA.js +0 -2
  403. package/dist/cli/chunks/schedule-Y7VVCPYV.js +0 -2
  404. package/dist/cli/chunks/scheduler-AUQIFQB7.js +0 -2
  405. package/dist/cli/chunks/shared-rvf-dual-writer-BVSCQAFS.js +0 -2
  406. package/dist/cli/chunks/sqlite-persistence-JAVHUGGL.js +0 -2
  407. package/dist/cli/chunks/task-handlers-P5DSUKND.js +0 -2
  408. package/dist/cli/chunks/token-bootstrap-4VJKGVMK.js +0 -2
  409. package/dist/cli/chunks/transformers-GY7SIKEU.js +0 -2
  410. package/dist/cli/chunks/types-QJGNBKP2.js +0 -2
  411. package/dist/cli/chunks/unified-memory-XYGENQUT.js +0 -2
  412. package/dist/cli/chunks/unified-memory-hnsw-MVEGQBF3.js +0 -2
  413. package/dist/cli/chunks/unified-persistence-PFRCWEUG.js +0 -2
  414. package/dist/cli/chunks/visual-security-V47BLGJM.js +0 -2
  415. package/dist/cli/chunks/witness-chain-BR63P4A7.js +0 -2
  416. 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, DEFAULT_FEATURE_FLAGS, } from './feature-flags';
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
  *