agentdb 3.0.0-alpha.9 → 3.0.0

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 (718) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +248 -269
  3. package/dist/schemas/frontier-schema.sql +7 -0
  4. package/dist/schemas/schema.sql +7 -0
  5. package/dist/src/backends/VectorBackend.d.ts +48 -6
  6. package/dist/src/backends/VectorBackend.d.ts.map +1 -1
  7. package/dist/src/backends/VectorBackend.js +13 -1
  8. package/dist/src/backends/VectorBackend.js.map +1 -1
  9. package/dist/src/backends/detector.js.map +1 -1
  10. package/dist/src/backends/factory.d.ts +16 -33
  11. package/dist/src/backends/factory.d.ts.map +1 -1
  12. package/dist/src/backends/factory.js +140 -110
  13. package/dist/src/backends/factory.js.map +1 -1
  14. package/dist/src/backends/graph/GraphDatabaseAdapter.d.ts +54 -6
  15. package/dist/src/backends/graph/GraphDatabaseAdapter.d.ts.map +1 -1
  16. package/dist/src/backends/graph/GraphDatabaseAdapter.js +143 -6
  17. package/dist/src/backends/graph/GraphDatabaseAdapter.js.map +1 -1
  18. package/dist/src/backends/hnswlib/HNSWLibBackend.d.ts.map +1 -1
  19. package/dist/src/backends/hnswlib/HNSWLibBackend.js +35 -8
  20. package/dist/src/backends/hnswlib/HNSWLibBackend.js.map +1 -1
  21. package/dist/src/backends/index.d.ts +2 -1
  22. package/dist/src/backends/index.d.ts.map +1 -1
  23. package/dist/src/backends/index.js +2 -0
  24. package/dist/src/backends/index.js.map +1 -1
  25. package/dist/src/backends/ruvector/RuVectorBackend.d.ts +256 -45
  26. package/dist/src/backends/ruvector/RuVectorBackend.d.ts.map +1 -1
  27. package/dist/src/backends/ruvector/RuVectorBackend.js +764 -290
  28. package/dist/src/backends/ruvector/RuVectorBackend.js.map +1 -1
  29. package/dist/src/backends/ruvector/RuVectorLearning.d.ts +0 -4
  30. package/dist/src/backends/ruvector/RuVectorLearning.d.ts.map +1 -1
  31. package/dist/src/backends/ruvector/RuVectorLearning.js +0 -6
  32. package/dist/src/backends/ruvector/RuVectorLearning.js.map +1 -1
  33. package/dist/src/backends/rvf/AdaptiveIndexTuner.d.ts +175 -0
  34. package/dist/src/backends/rvf/AdaptiveIndexTuner.d.ts.map +1 -0
  35. package/dist/src/backends/rvf/AdaptiveIndexTuner.js +567 -0
  36. package/dist/src/backends/rvf/AdaptiveIndexTuner.js.map +1 -0
  37. package/dist/src/backends/rvf/ContrastiveTrainer.d.ts +148 -0
  38. package/dist/src/backends/rvf/ContrastiveTrainer.d.ts.map +1 -0
  39. package/dist/src/backends/rvf/ContrastiveTrainer.js +438 -0
  40. package/dist/src/backends/rvf/ContrastiveTrainer.js.map +1 -0
  41. package/dist/src/backends/rvf/FederatedSessionManager.d.ts +212 -0
  42. package/dist/src/backends/rvf/FederatedSessionManager.d.ts.map +1 -0
  43. package/dist/src/backends/rvf/FederatedSessionManager.js +397 -0
  44. package/dist/src/backends/rvf/FederatedSessionManager.js.map +1 -0
  45. package/dist/src/backends/rvf/FilterBuilder.d.ts +136 -0
  46. package/dist/src/backends/rvf/FilterBuilder.d.ts.map +1 -0
  47. package/dist/src/backends/rvf/FilterBuilder.js +157 -0
  48. package/dist/src/backends/rvf/FilterBuilder.js.map +1 -0
  49. package/dist/src/backends/rvf/NativeAccelerator.d.ts +158 -0
  50. package/dist/src/backends/rvf/NativeAccelerator.d.ts.map +1 -0
  51. package/dist/src/backends/rvf/NativeAccelerator.js +702 -0
  52. package/dist/src/backends/rvf/NativeAccelerator.js.map +1 -0
  53. package/dist/src/backends/rvf/RvfBackend.d.ts +207 -0
  54. package/dist/src/backends/rvf/RvfBackend.d.ts.map +1 -0
  55. package/dist/src/backends/rvf/RvfBackend.js +651 -0
  56. package/dist/src/backends/rvf/RvfBackend.js.map +1 -0
  57. package/dist/src/backends/rvf/RvfSolver.d.ts +175 -0
  58. package/dist/src/backends/rvf/RvfSolver.d.ts.map +1 -0
  59. package/dist/src/backends/rvf/RvfSolver.js +176 -0
  60. package/dist/src/backends/rvf/RvfSolver.js.map +1 -0
  61. package/dist/src/backends/rvf/SelfLearningRvfBackend.d.ts +143 -0
  62. package/dist/src/backends/rvf/SelfLearningRvfBackend.d.ts.map +1 -0
  63. package/dist/src/backends/rvf/SelfLearningRvfBackend.js +612 -0
  64. package/dist/src/backends/rvf/SelfLearningRvfBackend.js.map +1 -0
  65. package/dist/src/backends/rvf/SemanticQueryRouter.d.ts +128 -0
  66. package/dist/src/backends/rvf/SemanticQueryRouter.d.ts.map +1 -0
  67. package/dist/src/backends/rvf/SemanticQueryRouter.js +415 -0
  68. package/dist/src/backends/rvf/SemanticQueryRouter.js.map +1 -0
  69. package/dist/src/backends/rvf/SimdFallbacks.d.ts +25 -0
  70. package/dist/src/backends/rvf/SimdFallbacks.d.ts.map +1 -0
  71. package/dist/src/backends/rvf/SimdFallbacks.js +287 -0
  72. package/dist/src/backends/rvf/SimdFallbacks.js.map +1 -0
  73. package/dist/src/backends/rvf/SolverBandit.d.ts +100 -0
  74. package/dist/src/backends/rvf/SolverBandit.d.ts.map +1 -0
  75. package/dist/src/backends/rvf/SolverBandit.js +216 -0
  76. package/dist/src/backends/rvf/SolverBandit.js.map +1 -0
  77. package/dist/src/backends/rvf/SonaLearningBackend.d.ts +157 -0
  78. package/dist/src/backends/rvf/SonaLearningBackend.d.ts.map +1 -0
  79. package/dist/src/backends/rvf/SonaLearningBackend.js +283 -0
  80. package/dist/src/backends/rvf/SonaLearningBackend.js.map +1 -0
  81. package/dist/src/backends/rvf/SqlJsRvfBackend.d.ts +104 -0
  82. package/dist/src/backends/rvf/SqlJsRvfBackend.d.ts.map +1 -0
  83. package/dist/src/backends/rvf/SqlJsRvfBackend.js +464 -0
  84. package/dist/src/backends/rvf/SqlJsRvfBackend.js.map +1 -0
  85. package/dist/src/backends/rvf/WasmStoreBridge.d.ts +27 -0
  86. package/dist/src/backends/rvf/WasmStoreBridge.d.ts.map +1 -0
  87. package/dist/src/backends/rvf/WasmStoreBridge.js +87 -0
  88. package/dist/src/backends/rvf/WasmStoreBridge.js.map +1 -0
  89. package/dist/src/backends/rvf/validation.d.ts +20 -0
  90. package/dist/src/backends/rvf/validation.d.ts.map +1 -0
  91. package/dist/src/backends/rvf/validation.js +78 -0
  92. package/dist/src/backends/rvf/validation.js.map +1 -0
  93. package/dist/src/benchmark/BenchmarkSuite.d.ts +318 -0
  94. package/dist/src/benchmark/BenchmarkSuite.d.ts.map +1 -0
  95. package/dist/src/benchmark/BenchmarkSuite.js +984 -0
  96. package/dist/src/benchmark/BenchmarkSuite.js.map +1 -0
  97. package/dist/src/benchmark/index.d.ts +29 -0
  98. package/dist/src/benchmark/index.d.ts.map +1 -0
  99. package/dist/src/benchmark/index.js +39 -0
  100. package/dist/src/benchmark/index.js.map +1 -0
  101. package/dist/src/browser/AttentionBrowser.d.ts.map +1 -1
  102. package/dist/src/browser/AttentionBrowser.js +1 -0
  103. package/dist/src/browser/AttentionBrowser.js.map +1 -1
  104. package/dist/src/cli/agentdb-cli.d.ts +14 -0
  105. package/dist/src/cli/agentdb-cli.d.ts.map +1 -1
  106. package/dist/src/cli/agentdb-cli.js +839 -143
  107. package/dist/src/cli/agentdb-cli.js.map +1 -1
  108. package/dist/src/cli/commands/attention.js +12 -2
  109. package/dist/src/cli/commands/attention.js.map +1 -1
  110. package/dist/src/cli/commands/doctor.js +5 -5
  111. package/dist/src/cli/commands/doctor.js.map +1 -1
  112. package/dist/src/cli/commands/hyperbolic.d.ts +11 -0
  113. package/dist/src/cli/commands/hyperbolic.d.ts.map +1 -0
  114. package/dist/src/cli/commands/hyperbolic.js +440 -0
  115. package/dist/src/cli/commands/hyperbolic.js.map +1 -0
  116. package/dist/src/cli/commands/install-embeddings.d.ts +1 -1
  117. package/dist/src/cli/commands/install-embeddings.d.ts.map +1 -1
  118. package/dist/src/cli/commands/install-embeddings.js +17 -11
  119. package/dist/src/cli/commands/install-embeddings.js.map +1 -1
  120. package/dist/src/cli/commands/learn.d.ts +11 -0
  121. package/dist/src/cli/commands/learn.d.ts.map +1 -0
  122. package/dist/src/cli/commands/learn.js +410 -0
  123. package/dist/src/cli/commands/learn.js.map +1 -0
  124. package/dist/src/cli/commands/migrate.d.ts +15 -0
  125. package/dist/src/cli/commands/migrate.d.ts.map +1 -1
  126. package/dist/src/cli/commands/migrate.js +190 -10
  127. package/dist/src/cli/commands/migrate.js.map +1 -1
  128. package/dist/src/cli/commands/route.d.ts +11 -0
  129. package/dist/src/cli/commands/route.d.ts.map +1 -0
  130. package/dist/src/cli/commands/route.js +419 -0
  131. package/dist/src/cli/commands/route.js.map +1 -0
  132. package/dist/src/cli/commands/rvf.d.ts +21 -0
  133. package/dist/src/cli/commands/rvf.d.ts.map +1 -0
  134. package/dist/src/cli/commands/rvf.js +448 -0
  135. package/dist/src/cli/commands/rvf.js.map +1 -0
  136. package/dist/src/cli/commands/simulate-report.js +14 -2
  137. package/dist/src/cli/commands/simulate-report.js.map +1 -1
  138. package/dist/src/cli/lib/report-store.d.ts +2 -1
  139. package/dist/src/cli/lib/report-store.d.ts.map +1 -1
  140. package/dist/src/cli/lib/report-store.js +85 -65
  141. package/dist/src/cli/lib/report-store.js.map +1 -1
  142. package/dist/src/cli/lib/simulation-runner.d.ts +40 -3
  143. package/dist/src/cli/lib/simulation-runner.d.ts.map +1 -1
  144. package/dist/src/cli/lib/simulation-runner.js +248 -6
  145. package/dist/src/cli/lib/simulation-runner.js.map +1 -1
  146. package/dist/src/compatibility/DeprecationWarnings.d.ts +54 -0
  147. package/dist/src/compatibility/DeprecationWarnings.d.ts.map +1 -0
  148. package/dist/src/compatibility/DeprecationWarnings.js +131 -0
  149. package/dist/src/compatibility/DeprecationWarnings.js.map +1 -0
  150. package/dist/src/compatibility/MigrationUtilities.d.ts +30 -0
  151. package/dist/src/compatibility/MigrationUtilities.d.ts.map +1 -0
  152. package/dist/src/compatibility/MigrationUtilities.js +184 -0
  153. package/dist/src/compatibility/MigrationUtilities.js.map +1 -0
  154. package/dist/src/compatibility/V1toV2Adapter.d.ts +76 -0
  155. package/dist/src/compatibility/V1toV2Adapter.d.ts.map +1 -0
  156. package/dist/src/compatibility/V1toV2Adapter.js +185 -0
  157. package/dist/src/compatibility/V1toV2Adapter.js.map +1 -0
  158. package/dist/src/compatibility/VersionDetector.d.ts +32 -0
  159. package/dist/src/compatibility/VersionDetector.d.ts.map +1 -0
  160. package/dist/src/compatibility/VersionDetector.js +144 -0
  161. package/dist/src/compatibility/VersionDetector.js.map +1 -0
  162. package/dist/src/compatibility/index.d.ts +14 -0
  163. package/dist/src/compatibility/index.d.ts.map +1 -0
  164. package/dist/src/compatibility/index.js +21 -0
  165. package/dist/src/compatibility/index.js.map +1 -0
  166. package/dist/src/compatibility/types.d.ts +103 -0
  167. package/dist/src/compatibility/types.d.ts.map +1 -0
  168. package/dist/src/compatibility/types.js +5 -0
  169. package/dist/src/compatibility/types.js.map +1 -0
  170. package/dist/src/controllers/AttentionService.d.ts +99 -202
  171. package/dist/src/controllers/AttentionService.d.ts.map +1 -1
  172. package/dist/src/controllers/AttentionService.js +450 -558
  173. package/dist/src/controllers/AttentionService.js.map +1 -1
  174. package/dist/src/controllers/CausalMemoryGraph.d.ts +30 -5
  175. package/dist/src/controllers/CausalMemoryGraph.d.ts.map +1 -1
  176. package/dist/src/controllers/CausalMemoryGraph.js +92 -15
  177. package/dist/src/controllers/CausalMemoryGraph.js.map +1 -1
  178. package/dist/src/controllers/CausalRecall.d.ts +4 -0
  179. package/dist/src/controllers/CausalRecall.d.ts.map +1 -1
  180. package/dist/src/controllers/CausalRecall.js +23 -5
  181. package/dist/src/controllers/CausalRecall.js.map +1 -1
  182. package/dist/src/controllers/EmbeddingService.d.ts +29 -0
  183. package/dist/src/controllers/EmbeddingService.d.ts.map +1 -1
  184. package/dist/src/controllers/EmbeddingService.js +154 -32
  185. package/dist/src/controllers/EmbeddingService.js.map +1 -1
  186. package/dist/src/controllers/EnhancedEmbeddingService.d.ts +4 -0
  187. package/dist/src/controllers/EnhancedEmbeddingService.d.ts.map +1 -1
  188. package/dist/src/controllers/EnhancedEmbeddingService.js +21 -7
  189. package/dist/src/controllers/EnhancedEmbeddingService.js.map +1 -1
  190. package/dist/src/controllers/ExplainableRecall.d.ts +1 -1
  191. package/dist/src/controllers/ExplainableRecall.d.ts.map +1 -1
  192. package/dist/src/controllers/ExplainableRecall.js +1 -1
  193. package/dist/src/controllers/ExplainableRecall.js.map +1 -1
  194. package/dist/src/controllers/HNSWIndex.d.ts +20 -2
  195. package/dist/src/controllers/HNSWIndex.d.ts.map +1 -1
  196. package/dist/src/controllers/HNSWIndex.js +114 -39
  197. package/dist/src/controllers/HNSWIndex.js.map +1 -1
  198. package/dist/src/controllers/LearningSystem.d.ts +6 -17
  199. package/dist/src/controllers/LearningSystem.d.ts.map +1 -1
  200. package/dist/src/controllers/LearningSystem.js +66 -155
  201. package/dist/src/controllers/LearningSystem.js.map +1 -1
  202. package/dist/src/controllers/MemoryController.d.ts +174 -0
  203. package/dist/src/controllers/MemoryController.d.ts.map +1 -0
  204. package/dist/src/controllers/MemoryController.js +320 -0
  205. package/dist/src/controllers/MemoryController.js.map +1 -0
  206. package/dist/src/controllers/MetadataFilter.d.ts.map +1 -1
  207. package/dist/src/controllers/MetadataFilter.js +38 -26
  208. package/dist/src/controllers/MetadataFilter.js.map +1 -1
  209. package/dist/src/controllers/MincutService.d.ts +92 -0
  210. package/dist/src/controllers/MincutService.d.ts.map +1 -0
  211. package/dist/src/controllers/MincutService.js +336 -0
  212. package/dist/src/controllers/MincutService.js.map +1 -0
  213. package/dist/src/controllers/NightlyLearner.d.ts +5 -1
  214. package/dist/src/controllers/NightlyLearner.d.ts.map +1 -1
  215. package/dist/src/controllers/NightlyLearner.js +45 -31
  216. package/dist/src/controllers/NightlyLearner.js.map +1 -1
  217. package/dist/src/controllers/QUICClient.d.ts +45 -0
  218. package/dist/src/controllers/QUICClient.d.ts.map +1 -1
  219. package/dist/src/controllers/QUICClient.js +211 -21
  220. package/dist/src/controllers/QUICClient.js.map +1 -1
  221. package/dist/src/controllers/QUICServer.d.ts.map +1 -1
  222. package/dist/src/controllers/QUICServer.js +36 -27
  223. package/dist/src/controllers/QUICServer.js.map +1 -1
  224. package/dist/src/controllers/ReasoningBank.d.ts +6 -3
  225. package/dist/src/controllers/ReasoningBank.d.ts.map +1 -1
  226. package/dist/src/controllers/ReasoningBank.js +77 -56
  227. package/dist/src/controllers/ReasoningBank.js.map +1 -1
  228. package/dist/src/controllers/ReflexionMemory.d.ts +129 -6
  229. package/dist/src/controllers/ReflexionMemory.d.ts.map +1 -1
  230. package/dist/src/controllers/ReflexionMemory.js +678 -220
  231. package/dist/src/controllers/ReflexionMemory.js.map +1 -1
  232. package/dist/src/controllers/SkillLibrary.d.ts +32 -3
  233. package/dist/src/controllers/SkillLibrary.d.ts.map +1 -1
  234. package/dist/src/controllers/SkillLibrary.js +239 -104
  235. package/dist/src/controllers/SkillLibrary.js.map +1 -1
  236. package/dist/src/controllers/SparsificationService.d.ts +151 -0
  237. package/dist/src/controllers/SparsificationService.d.ts.map +1 -0
  238. package/dist/src/controllers/SparsificationService.js +375 -0
  239. package/dist/src/controllers/SparsificationService.js.map +1 -0
  240. package/dist/src/controllers/SyncCoordinator.d.ts.map +1 -1
  241. package/dist/src/controllers/SyncCoordinator.js +126 -12
  242. package/dist/src/controllers/SyncCoordinator.js.map +1 -1
  243. package/dist/src/controllers/WASMVectorSearch.d.ts +12 -30
  244. package/dist/src/controllers/WASMVectorSearch.d.ts.map +1 -1
  245. package/dist/src/controllers/WASMVectorSearch.js +161 -102
  246. package/dist/src/controllers/WASMVectorSearch.js.map +1 -1
  247. package/dist/src/controllers/attention/AttentionCache.d.ts +38 -0
  248. package/dist/src/controllers/attention/AttentionCache.d.ts.map +1 -0
  249. package/dist/src/controllers/attention/AttentionCache.js +80 -0
  250. package/dist/src/controllers/attention/AttentionCache.js.map +1 -0
  251. package/dist/src/controllers/attention/AttentionConfig.d.ts +127 -0
  252. package/dist/src/controllers/attention/AttentionConfig.d.ts.map +1 -0
  253. package/dist/src/controllers/attention/AttentionConfig.js +124 -0
  254. package/dist/src/controllers/attention/AttentionConfig.js.map +1 -0
  255. package/dist/src/controllers/attention/AttentionCore.d.ts +89 -0
  256. package/dist/src/controllers/attention/AttentionCore.d.ts.map +1 -0
  257. package/dist/src/controllers/attention/AttentionCore.js +289 -0
  258. package/dist/src/controllers/attention/AttentionCore.js.map +1 -0
  259. package/dist/src/controllers/attention/AttentionHelpers.d.ts +55 -0
  260. package/dist/src/controllers/attention/AttentionHelpers.d.ts.map +1 -0
  261. package/dist/src/controllers/attention/AttentionHelpers.js +148 -0
  262. package/dist/src/controllers/attention/AttentionHelpers.js.map +1 -0
  263. package/dist/src/controllers/attention/AttentionMetrics.d.ts +55 -0
  264. package/dist/src/controllers/attention/AttentionMetrics.d.ts.map +1 -0
  265. package/dist/src/controllers/attention/AttentionMetrics.js +72 -0
  266. package/dist/src/controllers/attention/AttentionMetrics.js.map +1 -0
  267. package/dist/src/controllers/attention/AttentionWASM.d.ts +98 -0
  268. package/dist/src/controllers/attention/AttentionWASM.d.ts.map +1 -0
  269. package/dist/src/controllers/attention/AttentionWASM.js +147 -0
  270. package/dist/src/controllers/attention/AttentionWASM.js.map +1 -0
  271. package/dist/src/controllers/attention/CrossAttentionController.d.ts +141 -0
  272. package/dist/src/controllers/attention/CrossAttentionController.d.ts.map +1 -0
  273. package/dist/src/controllers/attention/CrossAttentionController.js +325 -0
  274. package/dist/src/controllers/attention/CrossAttentionController.js.map +1 -0
  275. package/dist/src/controllers/attention/MultiHeadAttentionController.d.ts +137 -0
  276. package/dist/src/controllers/attention/MultiHeadAttentionController.d.ts.map +1 -0
  277. package/dist/src/controllers/attention/MultiHeadAttentionController.js +336 -0
  278. package/dist/src/controllers/attention/MultiHeadAttentionController.js.map +1 -0
  279. package/dist/src/controllers/attention/SelfAttentionController.d.ts +117 -0
  280. package/dist/src/controllers/attention/SelfAttentionController.d.ts.map +1 -0
  281. package/dist/src/controllers/attention/SelfAttentionController.js +205 -0
  282. package/dist/src/controllers/attention/SelfAttentionController.js.map +1 -0
  283. package/dist/src/controllers/attention/index.d.ts +24 -0
  284. package/dist/src/controllers/attention/index.d.ts.map +1 -0
  285. package/dist/src/controllers/attention/index.js +20 -0
  286. package/dist/src/controllers/attention/index.js.map +1 -0
  287. package/dist/src/controllers/index.d.ts +15 -28
  288. package/dist/src/controllers/index.d.ts.map +1 -1
  289. package/dist/src/controllers/index.js +11 -19
  290. package/dist/src/controllers/index.js.map +1 -1
  291. package/dist/src/controllers/prerequisites.d.ts +76 -0
  292. package/dist/src/controllers/prerequisites.d.ts.map +1 -0
  293. package/dist/src/controllers/prerequisites.js +235 -0
  294. package/dist/src/controllers/prerequisites.js.map +1 -0
  295. package/dist/src/core/AgentDB.d.ts +33 -19
  296. package/dist/src/core/AgentDB.d.ts.map +1 -1
  297. package/dist/src/core/AgentDB.js +87 -127
  298. package/dist/src/core/AgentDB.js.map +1 -1
  299. package/dist/src/core/QueryCache.d.ts +138 -0
  300. package/dist/src/core/QueryCache.d.ts.map +1 -0
  301. package/dist/src/core/QueryCache.js +309 -0
  302. package/dist/src/core/QueryCache.js.map +1 -0
  303. package/dist/src/db-fallback.d.ts +52 -4
  304. package/dist/src/db-fallback.d.ts.map +1 -1
  305. package/dist/src/db-fallback.js +521 -71
  306. package/dist/src/db-fallback.js.map +1 -1
  307. package/dist/src/db-unified.d.ts.map +1 -1
  308. package/dist/src/db-unified.js +32 -30
  309. package/dist/src/db-unified.js.map +1 -1
  310. package/dist/src/embedding/EmbeddingSpaceIdentity.d.ts +58 -0
  311. package/dist/src/embedding/EmbeddingSpaceIdentity.d.ts.map +1 -0
  312. package/dist/src/embedding/EmbeddingSpaceIdentity.js +137 -0
  313. package/dist/src/embedding/EmbeddingSpaceIdentity.js.map +1 -0
  314. package/dist/src/embedding/index.d.ts +3 -0
  315. package/dist/src/embedding/index.d.ts.map +1 -0
  316. package/dist/src/embedding/index.js +2 -0
  317. package/dist/src/embedding/index.js.map +1 -0
  318. package/dist/src/examples/quic-sync-example.js +2 -2
  319. package/dist/src/examples/quic-sync-example.js.map +1 -1
  320. package/dist/src/governance/MetaHarnessGateway.d.ts +55 -0
  321. package/dist/src/governance/MetaHarnessGateway.d.ts.map +1 -0
  322. package/dist/src/governance/MetaHarnessGateway.js +65 -0
  323. package/dist/src/governance/MetaHarnessGateway.js.map +1 -0
  324. package/dist/src/governance/RvfExperimentBranch.d.ts +65 -0
  325. package/dist/src/governance/RvfExperimentBranch.d.ts.map +1 -0
  326. package/dist/src/governance/RvfExperimentBranch.js +115 -0
  327. package/dist/src/governance/RvfExperimentBranch.js.map +1 -0
  328. package/dist/src/index.d.ts +20 -16
  329. package/dist/src/index.d.ts.map +1 -1
  330. package/dist/src/index.js +44 -12
  331. package/dist/src/index.js.map +1 -1
  332. package/dist/src/mcp/agentdb-mcp-server.js +178 -15
  333. package/dist/src/mcp/agentdb-mcp-server.js.map +1 -1
  334. package/dist/src/mcp/reset-database.d.ts +15 -0
  335. package/dist/src/mcp/reset-database.d.ts.map +1 -0
  336. package/dist/src/mcp/reset-database.js +45 -0
  337. package/dist/src/mcp/reset-database.js.map +1 -0
  338. package/dist/src/model/ModelCacheLoader.d.ts +31 -0
  339. package/dist/src/model/ModelCacheLoader.d.ts.map +1 -0
  340. package/dist/src/model/ModelCacheLoader.js +209 -0
  341. package/dist/src/model/ModelCacheLoader.js.map +1 -0
  342. package/dist/src/observability/index.d.ts +8 -0
  343. package/dist/src/observability/index.d.ts.map +1 -0
  344. package/dist/src/observability/index.js +8 -0
  345. package/dist/src/observability/index.js.map +1 -0
  346. package/dist/src/observability/integration.d.ts +32 -0
  347. package/dist/src/observability/integration.d.ts.map +1 -0
  348. package/dist/src/observability/integration.js +159 -0
  349. package/dist/src/observability/integration.js.map +1 -0
  350. package/dist/src/observability/telemetry.d.ts +137 -0
  351. package/dist/src/observability/telemetry.d.ts.map +1 -0
  352. package/dist/src/observability/telemetry.js +424 -0
  353. package/dist/src/observability/telemetry.js.map +1 -0
  354. package/dist/src/optimizations/BatchOperations.d.ts +47 -0
  355. package/dist/src/optimizations/BatchOperations.d.ts.map +1 -1
  356. package/dist/src/optimizations/BatchOperations.js +189 -35
  357. package/dist/src/optimizations/BatchOperations.js.map +1 -1
  358. package/dist/src/optimizations/Quantization.d.ts +330 -0
  359. package/dist/src/optimizations/Quantization.d.ts.map +1 -0
  360. package/dist/src/optimizations/Quantization.js +793 -0
  361. package/dist/src/optimizations/Quantization.js.map +1 -0
  362. package/dist/src/optimizations/index.d.ts +1 -3
  363. package/dist/src/optimizations/index.d.ts.map +1 -1
  364. package/dist/src/optimizations/index.js +0 -1
  365. package/dist/src/optimizations/index.js.map +1 -1
  366. package/dist/src/quantization/index.d.ts +7 -0
  367. package/dist/src/quantization/index.d.ts.map +1 -0
  368. package/dist/src/quantization/index.js +15 -0
  369. package/dist/src/quantization/index.js.map +1 -0
  370. package/dist/src/quantization/vector-quantization.d.ts +388 -0
  371. package/dist/src/quantization/vector-quantization.d.ts.map +1 -0
  372. package/dist/src/quantization/vector-quantization.js +1132 -0
  373. package/dist/src/quantization/vector-quantization.js.map +1 -0
  374. package/dist/src/schemas/inline.d.ts +3 -0
  375. package/dist/src/schemas/inline.d.ts.map +1 -0
  376. package/dist/src/schemas/inline.js +10 -0
  377. package/dist/src/schemas/inline.js.map +1 -0
  378. package/dist/src/search/HybridSearch.d.ts +311 -0
  379. package/dist/src/search/HybridSearch.d.ts.map +1 -0
  380. package/dist/src/search/HybridSearch.js +713 -0
  381. package/dist/src/search/HybridSearch.js.map +1 -0
  382. package/dist/src/search/index.d.ts +12 -0
  383. package/dist/src/search/index.d.ts.map +1 -0
  384. package/dist/src/search/index.js +16 -0
  385. package/dist/src/search/index.js.map +1 -0
  386. package/dist/src/security/input-validation.d.ts +30 -0
  387. package/dist/src/security/input-validation.d.ts.map +1 -1
  388. package/dist/src/security/input-validation.js +77 -3
  389. package/dist/src/security/input-validation.js.map +1 -1
  390. package/dist/src/security/limits.d.ts.map +1 -1
  391. package/dist/src/security/limits.js +12 -3
  392. package/dist/src/security/limits.js.map +1 -1
  393. package/dist/src/security/mcp-policy.d.ts +17 -0
  394. package/dist/src/security/mcp-policy.d.ts.map +1 -0
  395. package/dist/src/security/mcp-policy.js +90 -0
  396. package/dist/src/security/mcp-policy.js.map +1 -0
  397. package/dist/src/security/path-security.d.ts.map +1 -1
  398. package/dist/src/security/path-security.js +3 -1
  399. package/dist/src/security/path-security.js.map +1 -1
  400. package/dist/src/security/validation.js +3 -3
  401. package/dist/src/security/validation.js.map +1 -1
  402. package/dist/src/services/AttentionService.d.ts +303 -0
  403. package/dist/src/services/AttentionService.d.ts.map +1 -0
  404. package/dist/src/services/AttentionService.js +1165 -0
  405. package/dist/src/services/AttentionService.js.map +1 -0
  406. package/dist/src/services/LLMRouter.d.ts +70 -8
  407. package/dist/src/services/LLMRouter.d.ts.map +1 -1
  408. package/dist/src/services/LLMRouter.js +279 -28
  409. package/dist/src/services/LLMRouter.js.map +1 -1
  410. package/dist/src/services/audit-logger.service.d.ts +168 -0
  411. package/dist/src/services/audit-logger.service.d.ts.map +1 -0
  412. package/dist/src/services/audit-logger.service.js +331 -0
  413. package/dist/src/services/audit-logger.service.js.map +1 -0
  414. package/dist/src/services/enhanced-embeddings.d.ts +271 -0
  415. package/dist/src/services/enhanced-embeddings.d.ts.map +1 -0
  416. package/dist/src/services/enhanced-embeddings.js +1036 -0
  417. package/dist/src/services/enhanced-embeddings.js.map +1 -0
  418. package/dist/src/services/federated-learning.d.ts +172 -0
  419. package/dist/src/services/federated-learning.d.ts.map +1 -0
  420. package/dist/src/services/federated-learning.js +344 -0
  421. package/dist/src/services/federated-learning.js.map +1 -0
  422. package/dist/src/simd/index.d.ts +9 -0
  423. package/dist/src/simd/index.d.ts.map +1 -0
  424. package/dist/src/simd/index.js +27 -0
  425. package/dist/src/simd/index.js.map +1 -0
  426. package/dist/src/simd/simd-vector-ops.d.ts +332 -0
  427. package/dist/src/simd/simd-vector-ops.d.ts.map +1 -0
  428. package/dist/src/simd/simd-vector-ops.js +945 -0
  429. package/dist/src/simd/simd-vector-ops.js.map +1 -0
  430. package/dist/src/types/database.types.d.ts +275 -0
  431. package/dist/src/types/database.types.d.ts.map +1 -0
  432. package/dist/src/types/database.types.js +55 -0
  433. package/dist/src/types/database.types.js.map +1 -0
  434. package/dist/src/types/graph.d.ts +29 -0
  435. package/dist/src/types/graph.d.ts.map +1 -0
  436. package/dist/src/types/graph.js +8 -0
  437. package/dist/src/types/graph.js.map +1 -0
  438. package/dist/src/utils/chalk-fallback.d.ts +3 -0
  439. package/dist/src/utils/chalk-fallback.d.ts.map +1 -0
  440. package/dist/src/utils/chalk-fallback.js +20 -0
  441. package/dist/src/utils/chalk-fallback.js.map +1 -0
  442. package/dist/src/utils/similarity.d.ts +11 -0
  443. package/dist/src/utils/similarity.d.ts.map +1 -0
  444. package/dist/src/utils/similarity.js +25 -0
  445. package/dist/src/utils/similarity.js.map +1 -0
  446. package/dist/src/wasm-loader.d.ts +66 -0
  447. package/dist/src/wasm-loader.d.ts.map +1 -0
  448. package/dist/src/wasm-loader.js +76 -0
  449. package/dist/src/wasm-loader.js.map +1 -0
  450. package/dist/src/wrappers/agentdb-fast.d.ts +140 -0
  451. package/dist/src/wrappers/agentdb-fast.d.ts.map +1 -0
  452. package/dist/src/wrappers/agentdb-fast.js +309 -0
  453. package/dist/src/wrappers/agentdb-fast.js.map +1 -0
  454. package/dist/src/wrappers/attention-fallbacks.d.ts +343 -0
  455. package/dist/src/wrappers/attention-fallbacks.d.ts.map +1 -0
  456. package/dist/src/wrappers/attention-fallbacks.js +1484 -0
  457. package/dist/src/wrappers/attention-fallbacks.js.map +1 -0
  458. package/dist/src/wrappers/attention-native.d.ts +111 -0
  459. package/dist/src/wrappers/attention-native.d.ts.map +1 -0
  460. package/dist/src/wrappers/attention-native.js +273 -0
  461. package/dist/src/wrappers/attention-native.js.map +1 -0
  462. package/dist/src/wrappers/embedding-service.d.ts +117 -0
  463. package/dist/src/wrappers/embedding-service.d.ts.map +1 -0
  464. package/dist/src/wrappers/embedding-service.js +370 -0
  465. package/dist/src/wrappers/embedding-service.js.map +1 -0
  466. package/dist/src/wrappers/gnn-wrapper.d.ts +71 -0
  467. package/dist/src/wrappers/gnn-wrapper.d.ts.map +1 -0
  468. package/dist/src/wrappers/gnn-wrapper.js +236 -0
  469. package/dist/src/wrappers/gnn-wrapper.js.map +1 -0
  470. package/dist/src/wrappers/index.d.ts +48 -0
  471. package/dist/src/wrappers/index.d.ts.map +1 -0
  472. package/dist/src/wrappers/index.js +83 -0
  473. package/dist/src/wrappers/index.js.map +1 -0
  474. package/package.json +130 -80
  475. package/scripts/postinstall.cjs +13 -144
  476. package/dist/agentdb.browser.js +0 -1685
  477. package/dist/agentdb.browser.js.map +0 -7
  478. package/dist/agentdb.browser.min.js +0 -3
  479. package/dist/agentdb.browser.min.js.map +0 -7
  480. package/dist/agentdb.wasm-loader.js +0 -207
  481. package/dist/backends/VectorBackend.d.ts +0 -120
  482. package/dist/backends/VectorBackend.js +0 -14
  483. package/dist/backends/VectorBackend.js.map +0 -1
  484. package/dist/optimizations/RVFOptimizer.d.ts +0 -225
  485. package/dist/optimizations/RVFOptimizer.js +0 -541
  486. package/dist/optimizations/RVFOptimizer.js.map +0 -1
  487. package/dist/simulation/cli.d.ts +0 -9
  488. package/dist/simulation/cli.d.ts.map +0 -1
  489. package/dist/simulation/cli.js +0 -68
  490. package/dist/simulation/cli.js.map +0 -1
  491. package/dist/simulation/runner.d.ts +0 -21
  492. package/dist/simulation/runner.d.ts.map +0 -1
  493. package/dist/simulation/runner.js +0 -241
  494. package/dist/simulation/runner.js.map +0 -1
  495. package/dist/simulation/scenarios/aidefence-integration.d.ts +0 -24
  496. package/dist/simulation/scenarios/aidefence-integration.d.ts.map +0 -1
  497. package/dist/simulation/scenarios/aidefence-integration.js +0 -124
  498. package/dist/simulation/scenarios/aidefence-integration.js.map +0 -1
  499. package/dist/simulation/scenarios/bmssp-integration.d.ts +0 -23
  500. package/dist/simulation/scenarios/bmssp-integration.d.ts.map +0 -1
  501. package/dist/simulation/scenarios/bmssp-integration.js +0 -104
  502. package/dist/simulation/scenarios/bmssp-integration.js.map +0 -1
  503. package/dist/simulation/scenarios/causal-reasoning.d.ts +0 -16
  504. package/dist/simulation/scenarios/causal-reasoning.d.ts.map +0 -1
  505. package/dist/simulation/scenarios/causal-reasoning.js +0 -108
  506. package/dist/simulation/scenarios/causal-reasoning.js.map +0 -1
  507. package/dist/simulation/scenarios/consciousness-explorer.d.ts +0 -25
  508. package/dist/simulation/scenarios/consciousness-explorer.d.ts.map +0 -1
  509. package/dist/simulation/scenarios/consciousness-explorer.js +0 -108
  510. package/dist/simulation/scenarios/consciousness-explorer.js.map +0 -1
  511. package/dist/simulation/scenarios/domain-examples/e-commerce-recommendations.d.ts +0 -135
  512. package/dist/simulation/scenarios/domain-examples/e-commerce-recommendations.d.ts.map +0 -1
  513. package/dist/simulation/scenarios/domain-examples/e-commerce-recommendations.js +0 -158
  514. package/dist/simulation/scenarios/domain-examples/e-commerce-recommendations.js.map +0 -1
  515. package/dist/simulation/scenarios/domain-examples/index.d.ts +0 -14
  516. package/dist/simulation/scenarios/domain-examples/index.d.ts.map +0 -1
  517. package/dist/simulation/scenarios/domain-examples/index.js +0 -14
  518. package/dist/simulation/scenarios/domain-examples/index.js.map +0 -1
  519. package/dist/simulation/scenarios/domain-examples/iot-sensor-networks.d.ts +0 -178
  520. package/dist/simulation/scenarios/domain-examples/iot-sensor-networks.d.ts.map +0 -1
  521. package/dist/simulation/scenarios/domain-examples/iot-sensor-networks.js +0 -218
  522. package/dist/simulation/scenarios/domain-examples/iot-sensor-networks.js.map +0 -1
  523. package/dist/simulation/scenarios/domain-examples/medical-imaging.d.ts +0 -122
  524. package/dist/simulation/scenarios/domain-examples/medical-imaging.d.ts.map +0 -1
  525. package/dist/simulation/scenarios/domain-examples/medical-imaging.js +0 -129
  526. package/dist/simulation/scenarios/domain-examples/medical-imaging.js.map +0 -1
  527. package/dist/simulation/scenarios/domain-examples/robotics-navigation.d.ts +0 -166
  528. package/dist/simulation/scenarios/domain-examples/robotics-navigation.d.ts.map +0 -1
  529. package/dist/simulation/scenarios/domain-examples/robotics-navigation.js +0 -161
  530. package/dist/simulation/scenarios/domain-examples/robotics-navigation.js.map +0 -1
  531. package/dist/simulation/scenarios/domain-examples/scientific-research.d.ts +0 -151
  532. package/dist/simulation/scenarios/domain-examples/scientific-research.d.ts.map +0 -1
  533. package/dist/simulation/scenarios/domain-examples/scientific-research.js +0 -187
  534. package/dist/simulation/scenarios/domain-examples/scientific-research.js.map +0 -1
  535. package/dist/simulation/scenarios/domain-examples/trading-systems.d.ts +0 -102
  536. package/dist/simulation/scenarios/domain-examples/trading-systems.d.ts.map +0 -1
  537. package/dist/simulation/scenarios/domain-examples/trading-systems.js +0 -100
  538. package/dist/simulation/scenarios/domain-examples/trading-systems.js.map +0 -1
  539. package/dist/simulation/scenarios/goalie-integration.d.ts +0 -24
  540. package/dist/simulation/scenarios/goalie-integration.d.ts.map +0 -1
  541. package/dist/simulation/scenarios/goalie-integration.js +0 -121
  542. package/dist/simulation/scenarios/goalie-integration.js.map +0 -1
  543. package/dist/simulation/scenarios/graph-traversal.d.ts +0 -17
  544. package/dist/simulation/scenarios/graph-traversal.d.ts.map +0 -1
  545. package/dist/simulation/scenarios/graph-traversal.js +0 -101
  546. package/dist/simulation/scenarios/graph-traversal.js.map +0 -1
  547. package/dist/simulation/scenarios/latent-space/attention-analysis.d.ts +0 -45
  548. package/dist/simulation/scenarios/latent-space/attention-analysis.d.ts.map +0 -1
  549. package/dist/simulation/scenarios/latent-space/attention-analysis.js +0 -435
  550. package/dist/simulation/scenarios/latent-space/attention-analysis.js.map +0 -1
  551. package/dist/simulation/scenarios/latent-space/clustering-analysis.d.ts +0 -55
  552. package/dist/simulation/scenarios/latent-space/clustering-analysis.d.ts.map +0 -1
  553. package/dist/simulation/scenarios/latent-space/clustering-analysis.js +0 -606
  554. package/dist/simulation/scenarios/latent-space/clustering-analysis.js.map +0 -1
  555. package/dist/simulation/scenarios/latent-space/hnsw-exploration.d.ts +0 -74
  556. package/dist/simulation/scenarios/latent-space/hnsw-exploration.d.ts.map +0 -1
  557. package/dist/simulation/scenarios/latent-space/hnsw-exploration.js +0 -391
  558. package/dist/simulation/scenarios/latent-space/hnsw-exploration.js.map +0 -1
  559. package/dist/simulation/scenarios/latent-space/hypergraph-exploration.d.ts +0 -51
  560. package/dist/simulation/scenarios/latent-space/hypergraph-exploration.d.ts.map +0 -1
  561. package/dist/simulation/scenarios/latent-space/hypergraph-exploration.js +0 -536
  562. package/dist/simulation/scenarios/latent-space/hypergraph-exploration.js.map +0 -1
  563. package/dist/simulation/scenarios/latent-space/index.d.ts +0 -35
  564. package/dist/simulation/scenarios/latent-space/index.d.ts.map +0 -1
  565. package/dist/simulation/scenarios/latent-space/index.js +0 -35
  566. package/dist/simulation/scenarios/latent-space/index.js.map +0 -1
  567. package/dist/simulation/scenarios/latent-space/neural-augmentation.d.ts +0 -52
  568. package/dist/simulation/scenarios/latent-space/neural-augmentation.d.ts.map +0 -1
  569. package/dist/simulation/scenarios/latent-space/neural-augmentation.js +0 -472
  570. package/dist/simulation/scenarios/latent-space/neural-augmentation.js.map +0 -1
  571. package/dist/simulation/scenarios/latent-space/quantum-hybrid.d.ts +0 -53
  572. package/dist/simulation/scenarios/latent-space/quantum-hybrid.d.ts.map +0 -1
  573. package/dist/simulation/scenarios/latent-space/quantum-hybrid.js +0 -391
  574. package/dist/simulation/scenarios/latent-space/quantum-hybrid.js.map +0 -1
  575. package/dist/simulation/scenarios/latent-space/self-organizing-hnsw.d.ts +0 -52
  576. package/dist/simulation/scenarios/latent-space/self-organizing-hnsw.d.ts.map +0 -1
  577. package/dist/simulation/scenarios/latent-space/self-organizing-hnsw.js +0 -514
  578. package/dist/simulation/scenarios/latent-space/self-organizing-hnsw.js.map +0 -1
  579. package/dist/simulation/scenarios/latent-space/traversal-optimization.d.ts +0 -53
  580. package/dist/simulation/scenarios/latent-space/traversal-optimization.d.ts.map +0 -1
  581. package/dist/simulation/scenarios/latent-space/traversal-optimization.js +0 -595
  582. package/dist/simulation/scenarios/latent-space/traversal-optimization.js.map +0 -1
  583. package/dist/simulation/scenarios/lean-agentic-swarm.d.ts +0 -18
  584. package/dist/simulation/scenarios/lean-agentic-swarm.d.ts.map +0 -1
  585. package/dist/simulation/scenarios/lean-agentic-swarm.js +0 -132
  586. package/dist/simulation/scenarios/lean-agentic-swarm.js.map +0 -1
  587. package/dist/simulation/scenarios/multi-agent-swarm.d.ts +0 -17
  588. package/dist/simulation/scenarios/multi-agent-swarm.d.ts.map +0 -1
  589. package/dist/simulation/scenarios/multi-agent-swarm.js +0 -111
  590. package/dist/simulation/scenarios/multi-agent-swarm.js.map +0 -1
  591. package/dist/simulation/scenarios/psycho-symbolic-reasoner.d.ts +0 -23
  592. package/dist/simulation/scenarios/psycho-symbolic-reasoner.d.ts.map +0 -1
  593. package/dist/simulation/scenarios/psycho-symbolic-reasoner.js +0 -98
  594. package/dist/simulation/scenarios/psycho-symbolic-reasoner.js.map +0 -1
  595. package/dist/simulation/scenarios/reflexion-learning.d.ts +0 -16
  596. package/dist/simulation/scenarios/reflexion-learning.d.ts.map +0 -1
  597. package/dist/simulation/scenarios/reflexion-learning.js +0 -98
  598. package/dist/simulation/scenarios/reflexion-learning.js.map +0 -1
  599. package/dist/simulation/scenarios/research-swarm.d.ts +0 -24
  600. package/dist/simulation/scenarios/research-swarm.d.ts.map +0 -1
  601. package/dist/simulation/scenarios/research-swarm.js +0 -146
  602. package/dist/simulation/scenarios/research-swarm.js.map +0 -1
  603. package/dist/simulation/scenarios/skill-evolution.d.ts +0 -16
  604. package/dist/simulation/scenarios/skill-evolution.d.ts.map +0 -1
  605. package/dist/simulation/scenarios/skill-evolution.js +0 -109
  606. package/dist/simulation/scenarios/skill-evolution.js.map +0 -1
  607. package/dist/simulation/scenarios/stock-market-emergence.d.ts +0 -33
  608. package/dist/simulation/scenarios/stock-market-emergence.d.ts.map +0 -1
  609. package/dist/simulation/scenarios/stock-market-emergence.js +0 -246
  610. package/dist/simulation/scenarios/stock-market-emergence.js.map +0 -1
  611. package/dist/simulation/scenarios/strange-loops.d.ts +0 -18
  612. package/dist/simulation/scenarios/strange-loops.d.ts.map +0 -1
  613. package/dist/simulation/scenarios/strange-loops.js +0 -133
  614. package/dist/simulation/scenarios/strange-loops.js.map +0 -1
  615. package/dist/simulation/scenarios/sublinear-solver.d.ts +0 -22
  616. package/dist/simulation/scenarios/sublinear-solver.d.ts.map +0 -1
  617. package/dist/simulation/scenarios/sublinear-solver.js +0 -82
  618. package/dist/simulation/scenarios/sublinear-solver.js.map +0 -1
  619. package/dist/simulation/scenarios/temporal-lead-solver.d.ts +0 -23
  620. package/dist/simulation/scenarios/temporal-lead-solver.d.ts.map +0 -1
  621. package/dist/simulation/scenarios/temporal-lead-solver.js +0 -90
  622. package/dist/simulation/scenarios/temporal-lead-solver.js.map +0 -1
  623. package/dist/simulation/scenarios/voting-system-consensus.d.ts +0 -27
  624. package/dist/simulation/scenarios/voting-system-consensus.d.ts.map +0 -1
  625. package/dist/simulation/scenarios/voting-system-consensus.js +0 -175
  626. package/dist/simulation/scenarios/voting-system-consensus.js.map +0 -1
  627. package/dist/simulation/types.d.ts +0 -162
  628. package/dist/simulation/types.d.ts.map +0 -1
  629. package/dist/simulation/types.js +0 -5
  630. package/dist/simulation/types.js.map +0 -1
  631. package/dist/simulation/utils/PerformanceOptimizer.d.ts +0 -115
  632. package/dist/simulation/utils/PerformanceOptimizer.d.ts.map +0 -1
  633. package/dist/simulation/utils/PerformanceOptimizer.js +0 -223
  634. package/dist/simulation/utils/PerformanceOptimizer.js.map +0 -1
  635. package/dist/src/backends/index.cjs +0 -6
  636. package/dist/src/backends/ruvector/GuardedVectorBackend.d.ts +0 -93
  637. package/dist/src/backends/ruvector/GuardedVectorBackend.d.ts.map +0 -1
  638. package/dist/src/backends/ruvector/GuardedVectorBackend.js +0 -182
  639. package/dist/src/backends/ruvector/GuardedVectorBackend.js.map +0 -1
  640. package/dist/src/consensus/RaftConsensus.d.ts +0 -220
  641. package/dist/src/consensus/RaftConsensus.d.ts.map +0 -1
  642. package/dist/src/consensus/RaftConsensus.js +0 -762
  643. package/dist/src/consensus/RaftConsensus.js.map +0 -1
  644. package/dist/src/controllers/HierarchicalMemory.d.ts +0 -197
  645. package/dist/src/controllers/HierarchicalMemory.d.ts.map +0 -1
  646. package/dist/src/controllers/HierarchicalMemory.js +0 -519
  647. package/dist/src/controllers/HierarchicalMemory.js.map +0 -1
  648. package/dist/src/controllers/MemoryConsolidation.d.ts +0 -142
  649. package/dist/src/controllers/MemoryConsolidation.d.ts.map +0 -1
  650. package/dist/src/controllers/MemoryConsolidation.js +0 -479
  651. package/dist/src/controllers/MemoryConsolidation.js.map +0 -1
  652. package/dist/src/controllers/QUICConnection.d.ts +0 -122
  653. package/dist/src/controllers/QUICConnection.d.ts.map +0 -1
  654. package/dist/src/controllers/QUICConnection.js +0 -329
  655. package/dist/src/controllers/QUICConnection.js.map +0 -1
  656. package/dist/src/controllers/QUICConnectionPool.d.ts +0 -83
  657. package/dist/src/controllers/QUICConnectionPool.d.ts.map +0 -1
  658. package/dist/src/controllers/QUICConnectionPool.js +0 -256
  659. package/dist/src/controllers/QUICConnectionPool.js.map +0 -1
  660. package/dist/src/controllers/QUICStreamManager.d.ts +0 -114
  661. package/dist/src/controllers/QUICStreamManager.d.ts.map +0 -1
  662. package/dist/src/controllers/QUICStreamManager.js +0 -267
  663. package/dist/src/controllers/QUICStreamManager.js.map +0 -1
  664. package/dist/src/controllers/StreamingEmbeddingService.d.ts +0 -82
  665. package/dist/src/controllers/StreamingEmbeddingService.d.ts.map +0 -1
  666. package/dist/src/controllers/StreamingEmbeddingService.js +0 -243
  667. package/dist/src/controllers/StreamingEmbeddingService.js.map +0 -1
  668. package/dist/src/controllers/index.cjs +0 -6
  669. package/dist/src/coordination/MultiDatabaseCoordinator.d.ts +0 -348
  670. package/dist/src/coordination/MultiDatabaseCoordinator.d.ts.map +0 -1
  671. package/dist/src/coordination/MultiDatabaseCoordinator.js +0 -803
  672. package/dist/src/coordination/MultiDatabaseCoordinator.js.map +0 -1
  673. package/dist/src/coordination/index.d.ts +0 -10
  674. package/dist/src/coordination/index.d.ts.map +0 -1
  675. package/dist/src/coordination/index.js +0 -10
  676. package/dist/src/coordination/index.js.map +0 -1
  677. package/dist/src/index.cjs +0 -6
  678. package/dist/src/optimizations/RVFOptimizer.d.ts +0 -226
  679. package/dist/src/optimizations/RVFOptimizer.d.ts.map +0 -1
  680. package/dist/src/optimizations/RVFOptimizer.js +0 -541
  681. package/dist/src/optimizations/RVFOptimizer.js.map +0 -1
  682. package/dist/src/security/AttestationLog.d.ts +0 -70
  683. package/dist/src/security/AttestationLog.d.ts.map +0 -1
  684. package/dist/src/security/AttestationLog.js +0 -174
  685. package/dist/src/security/AttestationLog.js.map +0 -1
  686. package/dist/src/security/MutationGuard.d.ts +0 -83
  687. package/dist/src/security/MutationGuard.d.ts.map +0 -1
  688. package/dist/src/security/MutationGuard.js +0 -364
  689. package/dist/src/security/MutationGuard.js.map +0 -1
  690. package/dist/src/security/index.cjs +0 -6
  691. package/dist/src/security/index.d.ts +0 -15
  692. package/dist/src/security/index.d.ts.map +0 -1
  693. package/dist/src/security/index.js +0 -18
  694. package/dist/src/security/index.js.map +0 -1
  695. package/dist/src/services/GNNService.d.ts +0 -172
  696. package/dist/src/services/GNNService.d.ts.map +0 -1
  697. package/dist/src/services/GNNService.js +0 -612
  698. package/dist/src/services/GNNService.js.map +0 -1
  699. package/dist/src/services/GraphTransformerService.d.ts +0 -80
  700. package/dist/src/services/GraphTransformerService.d.ts.map +0 -1
  701. package/dist/src/services/GraphTransformerService.js +0 -369
  702. package/dist/src/services/GraphTransformerService.js.map +0 -1
  703. package/dist/src/services/SemanticRouter.d.ts +0 -83
  704. package/dist/src/services/SemanticRouter.d.ts.map +0 -1
  705. package/dist/src/services/SemanticRouter.js +0 -160
  706. package/dist/src/services/SemanticRouter.js.map +0 -1
  707. package/dist/src/services/SonaTrajectoryService.d.ts +0 -224
  708. package/dist/src/services/SonaTrajectoryService.d.ts.map +0 -1
  709. package/dist/src/services/SonaTrajectoryService.js +0 -539
  710. package/dist/src/services/SonaTrajectoryService.js.map +0 -1
  711. package/dist/src/utils/LegacyAttentionAdapter.d.ts +0 -93
  712. package/dist/src/utils/LegacyAttentionAdapter.d.ts.map +0 -1
  713. package/dist/src/utils/LegacyAttentionAdapter.js +0 -241
  714. package/dist/src/utils/LegacyAttentionAdapter.js.map +0 -1
  715. package/dist/src/utils/vector-math.d.ts +0 -29
  716. package/dist/src/utils/vector-math.d.ts.map +0 -1
  717. package/dist/src/utils/vector-math.js +0 -66
  718. package/dist/src/utils/vector-math.js.map +0 -1
@@ -0,0 +1,148 @@
1
+ /**
2
+ * ContrastiveTrainer - Contrastive Embedding Improvement for AgentDB
3
+ *
4
+ * Provides:
5
+ * - InfoNCE contrastive loss for embedding refinement
6
+ * - Hard negative mining for effective training samples
7
+ * - Curriculum scheduling for progressive difficulty
8
+ * - AdamW optimizer for weight updates (via @ruvector/attention when available)
9
+ *
10
+ * Security:
11
+ * - Operates on embeddings only (no user text)
12
+ * - Temperature bounded (0.01-1.0)
13
+ * - Batch sizes bounded to prevent OOM
14
+ * - All inputs dimension-validated
15
+ */
16
+ /** Training sample for contrastive learning */
17
+ export interface ContrastiveSample {
18
+ anchor: Float32Array;
19
+ positive: Float32Array;
20
+ negatives: Float32Array[];
21
+ }
22
+ /** Training batch result */
23
+ export interface TrainBatchResult {
24
+ loss: number;
25
+ batchSize: number;
26
+ avgGradNorm: number;
27
+ }
28
+ /** Training session statistics */
29
+ export interface TrainingStats {
30
+ totalBatches: number;
31
+ totalSamples: number;
32
+ avgLoss: number;
33
+ bestLoss: number;
34
+ currentDifficulty: number;
35
+ epoch: number;
36
+ }
37
+ /** Curriculum stage configuration */
38
+ export interface CurriculumStage {
39
+ /** Number of negatives per sample in this stage */
40
+ negativeCount: number;
41
+ /** Minimum similarity for hard negatives */
42
+ hardNegativeThreshold: number;
43
+ /** Number of batches in this stage */
44
+ batches: number;
45
+ }
46
+ /** ContrastiveTrainer configuration */
47
+ export interface ContrastiveConfig {
48
+ /** Embedding dimension */
49
+ dimension: number;
50
+ /** InfoNCE temperature (default: 0.07) */
51
+ temperature?: number;
52
+ /** Learning rate (default: 0.001) */
53
+ learningRate?: number;
54
+ /** Weight decay for AdamW (default: 0.01) */
55
+ weightDecay?: number;
56
+ /** Maximum batch size (default: 64) */
57
+ maxBatchSize?: number;
58
+ /** Curriculum stages (default: 3 stages) */
59
+ stages?: CurriculumStage[];
60
+ }
61
+ import type { NativeAccelerator } from './NativeAccelerator.js';
62
+ /**
63
+ * ContrastiveTrainer - Self-improving embedding quality via contrastive learning
64
+ *
65
+ * Uses InfoNCE loss to train a lightweight projection that improves
66
+ * embedding quality over time. Hard negative mining ensures the model
67
+ * focuses on the most informative training signals.
68
+ *
69
+ * Automatically uses NativeAccelerator (ADR-007) for SIMD-accelerated
70
+ * cosine similarity and native AdamW when available.
71
+ */
72
+ export declare class ContrastiveTrainer {
73
+ private dim;
74
+ private temperature;
75
+ private learningRate;
76
+ private weightDecay;
77
+ private maxBatchSize;
78
+ private stages;
79
+ private currentStage;
80
+ private batchesInStage;
81
+ private weights;
82
+ private bias;
83
+ private mW;
84
+ private vW;
85
+ private mB;
86
+ private vB;
87
+ private step;
88
+ private accel;
89
+ private _totalBatches;
90
+ private _totalSamples;
91
+ private _lossSum;
92
+ private _bestLoss;
93
+ private _destroyed;
94
+ private constructor();
95
+ /**
96
+ * Create a new contrastive trainer.
97
+ */
98
+ static create(config: ContrastiveConfig): Promise<ContrastiveTrainer>;
99
+ /**
100
+ * Project an embedding through the learned transformation.
101
+ * Use this to enhance query/document embeddings after training.
102
+ */
103
+ project(embedding: Float32Array): Float32Array;
104
+ /**
105
+ * Compute InfoNCE loss for a batch of contrastive samples.
106
+ *
107
+ * L = -log(exp(sim(a, p) / t) / sum(exp(sim(a, n_i) / t)))
108
+ */
109
+ computeLoss(samples: ContrastiveSample[]): number;
110
+ /**
111
+ * Train on a batch of contrastive samples.
112
+ * Uses analytical backpropagation through the InfoNCE loss.
113
+ */
114
+ trainBatch(samples: ContrastiveSample[]): TrainBatchResult;
115
+ /**
116
+ * Mine hard negatives from a pool of embeddings.
117
+ * Returns negatives that are similar to anchor but from different classes.
118
+ *
119
+ * SOTA: Positive-aware filtering (NV-Retriever, 2024). Rejects candidates
120
+ * with high similarity to known positives to eliminate false negatives,
121
+ * which constitute ~70% of naively mined hard negatives.
122
+ */
123
+ mineHardNegatives(anchor: Float32Array, pool: Float32Array[], excludeIndices: Set<number>, count?: number, positives?: Float32Array[]): Float32Array[];
124
+ /**
125
+ * Get the NativeAccelerator instance (for testing/introspection).
126
+ */
127
+ getAccelerator(): NativeAccelerator | null;
128
+ /**
129
+ * Get the current curriculum stage info.
130
+ */
131
+ get currentCurriculumStage(): number;
132
+ /**
133
+ * Get training statistics.
134
+ */
135
+ getStats(): TrainingStats;
136
+ /** Check if destroyed */
137
+ get isDestroyed(): boolean;
138
+ /** Get configured dimension */
139
+ get dimension(): number;
140
+ /** Destroy and free resources */
141
+ destroy(): void;
142
+ private matVecMul;
143
+ private cosineSimilarity;
144
+ private vecNorm;
145
+ private adamWUpdate;
146
+ private ensureAlive;
147
+ }
148
+ //# sourceMappingURL=ContrastiveTrainer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContrastiveTrainer.d.ts","sourceRoot":"","sources":["../../../../src/backends/rvf/ContrastiveTrainer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,438 @@
1
+ /**
2
+ * ContrastiveTrainer - Contrastive Embedding Improvement for AgentDB
3
+ *
4
+ * Provides:
5
+ * - InfoNCE contrastive loss for embedding refinement
6
+ * - Hard negative mining for effective training samples
7
+ * - Curriculum scheduling for progressive difficulty
8
+ * - AdamW optimizer for weight updates (via @ruvector/attention when available)
9
+ *
10
+ * Security:
11
+ * - Operates on embeddings only (no user text)
12
+ * - Temperature bounded (0.01-1.0)
13
+ * - Batch sizes bounded to prevent OOM
14
+ * - All inputs dimension-validated
15
+ */
16
+ // Bounds
17
+ const MIN_TEMPERATURE = 0.01;
18
+ const MAX_TEMPERATURE = 1.0;
19
+ const MAX_BATCH_SIZE = 256;
20
+ const MAX_NEGATIVES = 128;
21
+ const MAX_DIMENSION = 4096;
22
+ /**
23
+ * ContrastiveTrainer - Self-improving embedding quality via contrastive learning
24
+ *
25
+ * Uses InfoNCE loss to train a lightweight projection that improves
26
+ * embedding quality over time. Hard negative mining ensures the model
27
+ * focuses on the most informative training signals.
28
+ *
29
+ * Automatically uses NativeAccelerator (ADR-007) for SIMD-accelerated
30
+ * cosine similarity and native AdamW when available.
31
+ */
32
+ export class ContrastiveTrainer {
33
+ dim;
34
+ temperature;
35
+ learningRate;
36
+ weightDecay;
37
+ maxBatchSize;
38
+ stages;
39
+ currentStage = 0;
40
+ batchesInStage = 0;
41
+ // Lightweight linear projection: W * x + b
42
+ weights;
43
+ bias;
44
+ // AdamW state
45
+ mW;
46
+ vW;
47
+ mB;
48
+ vB;
49
+ step = 0;
50
+ // Native accelerator (ADR-007) — optional SIMD + native ops
51
+ accel = null;
52
+ // Stats
53
+ _totalBatches = 0;
54
+ _totalSamples = 0;
55
+ _lossSum = 0;
56
+ _bestLoss = Infinity;
57
+ _destroyed = false;
58
+ constructor(config) {
59
+ this.dim = config.dimension;
60
+ this.temperature = Math.min(Math.max(MIN_TEMPERATURE, config.temperature ?? 0.07), MAX_TEMPERATURE);
61
+ this.learningRate = Math.max(1e-6, config.learningRate ?? 0.001);
62
+ this.weightDecay = Math.max(0, config.weightDecay ?? 0.01);
63
+ this.maxBatchSize = Math.min(Math.max(1, config.maxBatchSize ?? 64), MAX_BATCH_SIZE);
64
+ this.stages = config.stages ?? [
65
+ { negativeCount: 4, hardNegativeThreshold: 0.5, batches: 100 },
66
+ { negativeCount: 8, hardNegativeThreshold: 0.3, batches: 100 },
67
+ { negativeCount: 16, hardNegativeThreshold: 0.1, batches: 100 },
68
+ ];
69
+ // Initialize projection as identity + small noise
70
+ const d = this.dim;
71
+ this.weights = new Float32Array(d * d);
72
+ this.bias = new Float32Array(d);
73
+ for (let i = 0; i < d; i++) {
74
+ this.weights[i * d + i] = 1.0; // Identity diagonal
75
+ }
76
+ // Small random perturbation
77
+ for (let i = 0; i < this.weights.length; i++) {
78
+ this.weights[i] += (Math.random() - 0.5) * 0.01;
79
+ }
80
+ // AdamW momentum/velocity
81
+ this.mW = new Float32Array(d * d);
82
+ this.vW = new Float32Array(d * d);
83
+ this.mB = new Float32Array(d);
84
+ this.vB = new Float32Array(d);
85
+ }
86
+ /**
87
+ * Create a new contrastive trainer.
88
+ */
89
+ static async create(config) {
90
+ if (!Number.isFinite(config.dimension) || config.dimension < 1 || config.dimension > MAX_DIMENSION) {
91
+ throw new Error(`dimension must be between 1 and ${MAX_DIMENSION}`);
92
+ }
93
+ const trainer = new ContrastiveTrainer(config);
94
+ // Lazy-load NativeAccelerator for SIMD cosine + native AdamW (ADR-007)
95
+ try {
96
+ const { NativeAccelerator: N } = await import('./NativeAccelerator.js');
97
+ trainer.accel = new N();
98
+ await trainer.accel.initialize();
99
+ }
100
+ catch { /* proceed without acceleration */ }
101
+ return trainer;
102
+ }
103
+ /**
104
+ * Project an embedding through the learned transformation.
105
+ * Use this to enhance query/document embeddings after training.
106
+ */
107
+ project(embedding) {
108
+ this.ensureAlive();
109
+ if (embedding.length !== this.dim) {
110
+ throw new Error(`Expected dimension ${this.dim}, got ${embedding.length}`);
111
+ }
112
+ return this.matVecMul(this.weights, embedding, this.bias);
113
+ }
114
+ /**
115
+ * Compute InfoNCE loss for a batch of contrastive samples.
116
+ *
117
+ * L = -log(exp(sim(a, p) / t) / sum(exp(sim(a, n_i) / t)))
118
+ */
119
+ computeLoss(samples) {
120
+ this.ensureAlive();
121
+ if (samples.length === 0)
122
+ return 0;
123
+ let totalLoss = 0;
124
+ for (const sample of samples) {
125
+ const projAnchor = this.matVecMul(this.weights, sample.anchor, this.bias);
126
+ const projPos = this.matVecMul(this.weights, sample.positive, this.bias);
127
+ // ADR-007 Phase 1: delegate to native InfoNCE when available
128
+ if (this.accel && this.accel.nativeInfoNceAvailable) {
129
+ const projNegs = sample.negatives.map(n => this.matVecMul(this.weights, n, this.bias));
130
+ totalLoss += this.accel.infoNceLoss(projAnchor, projPos, projNegs, this.temperature);
131
+ continue;
132
+ }
133
+ const posSim = this.cosineSimilarity(projAnchor, projPos) / this.temperature;
134
+ let logSumExp = Math.exp(posSim);
135
+ for (const neg of sample.negatives) {
136
+ const projNeg = this.matVecMul(this.weights, neg, this.bias);
137
+ const negSim = this.cosineSimilarity(projAnchor, projNeg) / this.temperature;
138
+ logSumExp += Math.exp(negSim);
139
+ }
140
+ totalLoss += -posSim + Math.log(logSumExp);
141
+ }
142
+ return totalLoss / samples.length;
143
+ }
144
+ /**
145
+ * Train on a batch of contrastive samples.
146
+ * Uses analytical backpropagation through the InfoNCE loss.
147
+ */
148
+ trainBatch(samples) {
149
+ this.ensureAlive();
150
+ const batchSize = Math.min(samples.length, this.maxBatchSize);
151
+ const batch = samples.slice(0, batchSize);
152
+ const d = this.dim;
153
+ // Forward pass: compute loss
154
+ const loss = this.computeLoss(batch);
155
+ // Backward pass: analytical gradients via chain rule
156
+ const wGrad = new Float32Array(d * d);
157
+ const bGrad = new Float32Array(d);
158
+ for (const sample of batch) {
159
+ // Forward: project all vectors
160
+ const aProj = this.matVecMul(this.weights, sample.anchor, this.bias);
161
+ const pProj = this.matVecMul(this.weights, sample.positive, this.bias);
162
+ const aNorm = this.vecNorm(aProj);
163
+ const pNorm = this.vecNorm(pProj);
164
+ if (aNorm < 1e-10 || pNorm < 1e-10)
165
+ continue;
166
+ // Normalized anchor and positive
167
+ const invAN = 1 / aNorm;
168
+ const invPN = 1 / pNorm;
169
+ const aHat = new Float32Array(d);
170
+ const pHat = new Float32Array(d);
171
+ for (let i = 0; i < d; i++) {
172
+ aHat[i] = aProj[i] * invAN;
173
+ pHat[i] = pProj[i] * invPN;
174
+ }
175
+ // Positive cosine similarity
176
+ let cosPos = 0;
177
+ for (let i = 0; i < d; i++)
178
+ cosPos += aHat[i] * pHat[i];
179
+ const sPos = cosPos / this.temperature;
180
+ // Project and normalize negatives, compute cosine similarities
181
+ const negHats = [];
182
+ const negNorms = [];
183
+ const negCos = [];
184
+ let Z = Math.exp(sPos);
185
+ for (const neg of sample.negatives) {
186
+ const nProj = this.matVecMul(this.weights, neg, this.bias);
187
+ const nNorm = this.vecNorm(nProj);
188
+ negNorms.push(nNorm);
189
+ const nHat = new Float32Array(d);
190
+ if (nNorm > 1e-10) {
191
+ const invNN = 1 / nNorm;
192
+ for (let i = 0; i < d; i++)
193
+ nHat[i] = nProj[i] * invNN;
194
+ }
195
+ negHats.push(nHat);
196
+ let cosN = 0;
197
+ for (let i = 0; i < d; i++)
198
+ cosN += aHat[i] * nHat[i];
199
+ negCos.push(cosN);
200
+ Z += Math.exp(cosN / this.temperature);
201
+ }
202
+ // Gradient of loss w.r.t. cosine similarities
203
+ // dL/d(cos_pos) = (-1 + exp(s_pos)/Z) / τ
204
+ const dLdCosPos = (-1 + Math.exp(sPos) / Z) / this.temperature;
205
+ // Accumulate dL/da' from positive + all negatives
206
+ // d(cos(â,b̂))/da' = (b̂ - cos*â) / ||a'||
207
+ const dLda = new Float32Array(d);
208
+ for (let i = 0; i < d; i++) {
209
+ dLda[i] = dLdCosPos * (pHat[i] - cosPos * aHat[i]) * invAN;
210
+ }
211
+ // dL/dp' = dLdCosPos * (â - cos*p̂) / ||p'||
212
+ const dLdp = new Float32Array(d);
213
+ for (let i = 0; i < d; i++) {
214
+ dLdp[i] = dLdCosPos * (aHat[i] - cosPos * pHat[i]) * invPN;
215
+ }
216
+ // Process negatives
217
+ const dLdn = [];
218
+ for (let n = 0; n < negHats.length; n++) {
219
+ const dLdCosNeg = Math.exp(negCos[n] / this.temperature) / (this.temperature * Z);
220
+ const nNorm = negNorms[n];
221
+ // Accumulate anchor gradient from this negative
222
+ if (nNorm > 1e-10) {
223
+ const invNN = 1 / nNorm;
224
+ for (let i = 0; i < d; i++) {
225
+ dLda[i] += dLdCosNeg * (negHats[n][i] - negCos[n] * aHat[i]) * invAN;
226
+ }
227
+ // Gradient w.r.t. negative projection
228
+ const g = new Float32Array(d);
229
+ for (let i = 0; i < d; i++) {
230
+ g[i] = dLdCosNeg * (aHat[i] - negCos[n] * negHats[n][i]) * invNN;
231
+ }
232
+ dLdn.push(g);
233
+ }
234
+ else {
235
+ dLdn.push(new Float32Array(d));
236
+ }
237
+ }
238
+ // Accumulate weight and bias gradients via outer products
239
+ // dL/dW += outer(dL/da', anchor) + outer(dL/dp', positive) + sum(outer(dL/dn_i', neg_i))
240
+ for (let i = 0; i < d; i++) {
241
+ const rowOff = i * d;
242
+ const dLda_i = dLda[i];
243
+ const dLdp_i = dLdp[i];
244
+ for (let j = 0; j < d; j++) {
245
+ wGrad[rowOff + j] += dLda_i * sample.anchor[j] + dLdp_i * sample.positive[j];
246
+ }
247
+ bGrad[i] += dLda_i + dLdp_i;
248
+ }
249
+ // Negative outer products
250
+ for (let n = 0; n < sample.negatives.length; n++) {
251
+ for (let i = 0; i < d; i++) {
252
+ const rowOff = i * d;
253
+ const g_i = dLdn[n][i];
254
+ for (let j = 0; j < d; j++) {
255
+ wGrad[rowOff + j] += g_i * sample.negatives[n][j];
256
+ }
257
+ bGrad[i] += g_i;
258
+ }
259
+ }
260
+ }
261
+ // Average over batch
262
+ const invN = 1 / batchSize;
263
+ let totalGradNorm = 0;
264
+ for (let i = 0; i < wGrad.length; i++) {
265
+ wGrad[i] *= invN;
266
+ totalGradNorm += wGrad[i] * wGrad[i];
267
+ }
268
+ for (let i = 0; i < bGrad.length; i++) {
269
+ bGrad[i] *= invN;
270
+ totalGradNorm += bGrad[i] * bGrad[i];
271
+ }
272
+ totalGradNorm = Math.sqrt(totalGradNorm);
273
+ // AdamW update
274
+ this.step++;
275
+ this.adamWUpdate(this.weights, wGrad, this.mW, this.vW);
276
+ this.adamWUpdate(this.bias, bGrad, this.mB, this.vB);
277
+ // Update stats
278
+ this._totalBatches++;
279
+ this._totalSamples += batchSize;
280
+ this._lossSum += loss;
281
+ if (loss < this._bestLoss)
282
+ this._bestLoss = loss;
283
+ // Advance curriculum
284
+ this.batchesInStage++;
285
+ if (this.currentStage < this.stages.length &&
286
+ this.batchesInStage >= this.stages[this.currentStage].batches) {
287
+ this.currentStage = Math.min(this.currentStage + 1, this.stages.length - 1);
288
+ this.batchesInStage = 0;
289
+ }
290
+ return {
291
+ loss,
292
+ batchSize,
293
+ avgGradNorm: totalGradNorm,
294
+ };
295
+ }
296
+ /**
297
+ * Mine hard negatives from a pool of embeddings.
298
+ * Returns negatives that are similar to anchor but from different classes.
299
+ *
300
+ * SOTA: Positive-aware filtering (NV-Retriever, 2024). Rejects candidates
301
+ * with high similarity to known positives to eliminate false negatives,
302
+ * which constitute ~70% of naively mined hard negatives.
303
+ */
304
+ mineHardNegatives(anchor, pool, excludeIndices, count, positives) {
305
+ this.ensureAlive();
306
+ const stage = this.stages[Math.min(this.currentStage, this.stages.length - 1)];
307
+ const n = Math.min(count ?? stage.negativeCount, MAX_NEGATIVES, pool.length);
308
+ const falseNegThreshold = 0.85; // NV-Retriever recommended threshold
309
+ // Score all candidates by similarity to anchor
310
+ const scored = [];
311
+ for (let i = 0; i < pool.length; i++) {
312
+ if (excludeIndices.has(i))
313
+ continue;
314
+ const sim = this.cosineSimilarity(anchor, pool[i]);
315
+ if (sim < stage.hardNegativeThreshold)
316
+ continue;
317
+ // SOTA: Positive-aware false negative filtering
318
+ // Skip candidates too similar to any known positive (likely false negatives)
319
+ if (positives && positives.length > 0) {
320
+ let isFalseNeg = false;
321
+ for (const pos of positives) {
322
+ if (this.cosineSimilarity(pool[i], pos) > falseNegThreshold) {
323
+ isFalseNeg = true;
324
+ break;
325
+ }
326
+ }
327
+ if (isFalseNeg)
328
+ continue;
329
+ }
330
+ scored.push({ idx: i, sim });
331
+ }
332
+ // Sort by similarity descending (hardest negatives first)
333
+ scored.sort((a, b) => b.sim - a.sim);
334
+ return scored.slice(0, n).map((s) => pool[s.idx]);
335
+ }
336
+ /**
337
+ * Get the NativeAccelerator instance (for testing/introspection).
338
+ */
339
+ getAccelerator() {
340
+ return this.accel;
341
+ }
342
+ /**
343
+ * Get the current curriculum stage info.
344
+ */
345
+ get currentCurriculumStage() {
346
+ return this.currentStage;
347
+ }
348
+ /**
349
+ * Get training statistics.
350
+ */
351
+ getStats() {
352
+ return {
353
+ totalBatches: this._totalBatches,
354
+ totalSamples: this._totalSamples,
355
+ avgLoss: this._totalBatches > 0 ? this._lossSum / this._totalBatches : 0,
356
+ bestLoss: this._bestLoss === Infinity ? 0 : this._bestLoss,
357
+ currentDifficulty: this.currentStage / Math.max(1, this.stages.length - 1),
358
+ epoch: this.currentStage,
359
+ };
360
+ }
361
+ /** Check if destroyed */
362
+ get isDestroyed() {
363
+ return this._destroyed;
364
+ }
365
+ /** Get configured dimension */
366
+ get dimension() {
367
+ return this.dim;
368
+ }
369
+ /** Destroy and free resources */
370
+ destroy() {
371
+ if (!this._destroyed) {
372
+ this._destroyed = true;
373
+ }
374
+ }
375
+ // --- Private helpers ---
376
+ matVecMul(W, x, b) {
377
+ const d = this.dim;
378
+ const result = new Float32Array(d);
379
+ for (let i = 0; i < d; i++) {
380
+ let sum = b[i];
381
+ const rowOffset = i * d;
382
+ for (let j = 0; j < d; j++) {
383
+ sum += W[rowOffset + j] * x[j];
384
+ }
385
+ result[i] = sum;
386
+ }
387
+ return result;
388
+ }
389
+ cosineSimilarity(a, b) {
390
+ // Delegate to NativeAccelerator for SIMD-accelerated cosine when available
391
+ if (this.accel)
392
+ return this.accel.cosineSimilarity(a, b);
393
+ let dot = 0, normA = 0, normB = 0;
394
+ for (let i = 0; i < a.length; i++) {
395
+ dot += a[i] * b[i];
396
+ normA += a[i] * a[i];
397
+ normB += b[i] * b[i];
398
+ }
399
+ const denom = Math.sqrt(normA * normB);
400
+ return denom > 0 ? dot / denom : 0;
401
+ }
402
+ vecNorm(v) {
403
+ let sum = 0;
404
+ for (let i = 0; i < v.length; i++)
405
+ sum += v[i] * v[i];
406
+ return Math.sqrt(sum);
407
+ }
408
+ adamWUpdate(params, grads, m, v) {
409
+ // Delegate to NativeAccelerator when available (ADR-007)
410
+ if (this.accel) {
411
+ this.accel.adamWStep(params, grads, m, v, this.step, this.learningRate, this.weightDecay);
412
+ return;
413
+ }
414
+ const beta1 = 0.9;
415
+ const beta2 = 0.999;
416
+ const eps = 1e-8;
417
+ const lr = this.learningRate;
418
+ const wd = this.weightDecay;
419
+ const bc1 = 1 - Math.pow(beta1, this.step);
420
+ const bc2 = 1 - Math.pow(beta2, this.step);
421
+ for (let i = 0; i < params.length; i++) {
422
+ // AdamW: decouple weight decay
423
+ params[i] -= lr * wd * params[i];
424
+ // Adam update
425
+ m[i] = beta1 * m[i] + (1 - beta1) * grads[i];
426
+ v[i] = beta2 * v[i] + (1 - beta2) * grads[i] * grads[i];
427
+ const mHat = m[i] / bc1;
428
+ const vHat = v[i] / bc2;
429
+ params[i] -= lr * mHat / (Math.sqrt(vHat) + eps);
430
+ }
431
+ }
432
+ ensureAlive() {
433
+ if (this._destroyed) {
434
+ throw new Error('ContrastiveTrainer has been destroyed. Create a new instance.');
435
+ }
436
+ }
437
+ }
438
+ //# sourceMappingURL=ContrastiveTrainer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContrastiveTrainer.js","sourceRoot":"","sources":["../../../../src/backends/rvf/ContrastiveTrainer.ts"],"names":[],"mappings":"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"}