agentdb 3.0.0-alpha.2 → 3.0.0-alpha.4

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 (1038) hide show
  1. package/README.md +978 -2342
  2. package/dist/agentdb.browser.js +1492 -0
  3. package/dist/agentdb.browser.js.map +7 -0
  4. package/dist/agentdb.browser.min.js +3 -0
  5. package/dist/agentdb.browser.min.js.map +7 -0
  6. package/dist/agentdb.wasm-loader.js +207 -0
  7. package/dist/schemas/frontier-schema.sql +0 -7
  8. package/dist/schemas/schema.sql +0 -7
  9. package/dist/simulation/cli.d.ts +9 -0
  10. package/dist/simulation/cli.d.ts.map +1 -0
  11. package/dist/simulation/cli.js +68 -0
  12. package/dist/simulation/cli.js.map +1 -0
  13. package/dist/simulation/runner.d.ts +21 -0
  14. package/dist/simulation/runner.d.ts.map +1 -0
  15. package/dist/simulation/runner.js +241 -0
  16. package/dist/simulation/runner.js.map +1 -0
  17. package/dist/simulation/scenarios/aidefence-integration.d.ts +24 -0
  18. package/dist/simulation/scenarios/aidefence-integration.d.ts.map +1 -0
  19. package/dist/simulation/scenarios/aidefence-integration.js +124 -0
  20. package/dist/simulation/scenarios/aidefence-integration.js.map +1 -0
  21. package/dist/simulation/scenarios/bmssp-integration.d.ts +23 -0
  22. package/dist/simulation/scenarios/bmssp-integration.d.ts.map +1 -0
  23. package/dist/simulation/scenarios/bmssp-integration.js +104 -0
  24. package/dist/simulation/scenarios/bmssp-integration.js.map +1 -0
  25. package/dist/simulation/scenarios/causal-reasoning.d.ts +16 -0
  26. package/dist/simulation/scenarios/causal-reasoning.d.ts.map +1 -0
  27. package/dist/simulation/scenarios/causal-reasoning.js +108 -0
  28. package/dist/simulation/scenarios/causal-reasoning.js.map +1 -0
  29. package/dist/simulation/scenarios/consciousness-explorer.d.ts +25 -0
  30. package/dist/simulation/scenarios/consciousness-explorer.d.ts.map +1 -0
  31. package/dist/simulation/scenarios/consciousness-explorer.js +108 -0
  32. package/dist/simulation/scenarios/consciousness-explorer.js.map +1 -0
  33. package/dist/simulation/scenarios/domain-examples/e-commerce-recommendations.d.ts +135 -0
  34. package/dist/simulation/scenarios/domain-examples/e-commerce-recommendations.d.ts.map +1 -0
  35. package/dist/simulation/scenarios/domain-examples/e-commerce-recommendations.js +158 -0
  36. package/dist/simulation/scenarios/domain-examples/e-commerce-recommendations.js.map +1 -0
  37. package/dist/simulation/scenarios/domain-examples/index.d.ts +14 -0
  38. package/dist/simulation/scenarios/domain-examples/index.d.ts.map +1 -0
  39. package/dist/simulation/scenarios/domain-examples/index.js +14 -0
  40. package/dist/simulation/scenarios/domain-examples/index.js.map +1 -0
  41. package/dist/simulation/scenarios/domain-examples/iot-sensor-networks.d.ts +178 -0
  42. package/dist/simulation/scenarios/domain-examples/iot-sensor-networks.d.ts.map +1 -0
  43. package/dist/simulation/scenarios/domain-examples/iot-sensor-networks.js +218 -0
  44. package/dist/simulation/scenarios/domain-examples/iot-sensor-networks.js.map +1 -0
  45. package/dist/simulation/scenarios/domain-examples/medical-imaging.d.ts +122 -0
  46. package/dist/simulation/scenarios/domain-examples/medical-imaging.d.ts.map +1 -0
  47. package/dist/simulation/scenarios/domain-examples/medical-imaging.js +129 -0
  48. package/dist/simulation/scenarios/domain-examples/medical-imaging.js.map +1 -0
  49. package/dist/simulation/scenarios/domain-examples/robotics-navigation.d.ts +166 -0
  50. package/dist/simulation/scenarios/domain-examples/robotics-navigation.d.ts.map +1 -0
  51. package/dist/simulation/scenarios/domain-examples/robotics-navigation.js +161 -0
  52. package/dist/simulation/scenarios/domain-examples/robotics-navigation.js.map +1 -0
  53. package/dist/simulation/scenarios/domain-examples/scientific-research.d.ts +151 -0
  54. package/dist/simulation/scenarios/domain-examples/scientific-research.d.ts.map +1 -0
  55. package/dist/simulation/scenarios/domain-examples/scientific-research.js +187 -0
  56. package/dist/simulation/scenarios/domain-examples/scientific-research.js.map +1 -0
  57. package/dist/simulation/scenarios/domain-examples/trading-systems.d.ts +102 -0
  58. package/dist/simulation/scenarios/domain-examples/trading-systems.d.ts.map +1 -0
  59. package/dist/simulation/scenarios/domain-examples/trading-systems.js +100 -0
  60. package/dist/simulation/scenarios/domain-examples/trading-systems.js.map +1 -0
  61. package/dist/simulation/scenarios/goalie-integration.d.ts +24 -0
  62. package/dist/simulation/scenarios/goalie-integration.d.ts.map +1 -0
  63. package/dist/simulation/scenarios/goalie-integration.js +121 -0
  64. package/dist/simulation/scenarios/goalie-integration.js.map +1 -0
  65. package/dist/simulation/scenarios/graph-traversal.d.ts +17 -0
  66. package/dist/simulation/scenarios/graph-traversal.d.ts.map +1 -0
  67. package/dist/simulation/scenarios/graph-traversal.js +101 -0
  68. package/dist/simulation/scenarios/graph-traversal.js.map +1 -0
  69. package/dist/simulation/scenarios/latent-space/attention-analysis.d.ts +45 -0
  70. package/dist/simulation/scenarios/latent-space/attention-analysis.d.ts.map +1 -0
  71. package/dist/simulation/scenarios/latent-space/attention-analysis.js +435 -0
  72. package/dist/simulation/scenarios/latent-space/attention-analysis.js.map +1 -0
  73. package/dist/simulation/scenarios/latent-space/clustering-analysis.d.ts +55 -0
  74. package/dist/simulation/scenarios/latent-space/clustering-analysis.d.ts.map +1 -0
  75. package/dist/simulation/scenarios/latent-space/clustering-analysis.js +606 -0
  76. package/dist/simulation/scenarios/latent-space/clustering-analysis.js.map +1 -0
  77. package/dist/simulation/scenarios/latent-space/hnsw-exploration.d.ts +74 -0
  78. package/dist/simulation/scenarios/latent-space/hnsw-exploration.d.ts.map +1 -0
  79. package/dist/simulation/scenarios/latent-space/hnsw-exploration.js +391 -0
  80. package/dist/simulation/scenarios/latent-space/hnsw-exploration.js.map +1 -0
  81. package/dist/simulation/scenarios/latent-space/hypergraph-exploration.d.ts +51 -0
  82. package/dist/simulation/scenarios/latent-space/hypergraph-exploration.d.ts.map +1 -0
  83. package/dist/simulation/scenarios/latent-space/hypergraph-exploration.js +536 -0
  84. package/dist/simulation/scenarios/latent-space/hypergraph-exploration.js.map +1 -0
  85. package/dist/simulation/scenarios/latent-space/index.d.ts +35 -0
  86. package/dist/simulation/scenarios/latent-space/index.d.ts.map +1 -0
  87. package/dist/simulation/scenarios/latent-space/index.js +35 -0
  88. package/dist/simulation/scenarios/latent-space/index.js.map +1 -0
  89. package/dist/simulation/scenarios/latent-space/neural-augmentation.d.ts +52 -0
  90. package/dist/simulation/scenarios/latent-space/neural-augmentation.d.ts.map +1 -0
  91. package/dist/simulation/scenarios/latent-space/neural-augmentation.js +472 -0
  92. package/dist/simulation/scenarios/latent-space/neural-augmentation.js.map +1 -0
  93. package/dist/simulation/scenarios/latent-space/quantum-hybrid.d.ts +53 -0
  94. package/dist/simulation/scenarios/latent-space/quantum-hybrid.d.ts.map +1 -0
  95. package/dist/simulation/scenarios/latent-space/quantum-hybrid.js +391 -0
  96. package/dist/simulation/scenarios/latent-space/quantum-hybrid.js.map +1 -0
  97. package/dist/simulation/scenarios/latent-space/self-organizing-hnsw.d.ts +52 -0
  98. package/dist/simulation/scenarios/latent-space/self-organizing-hnsw.d.ts.map +1 -0
  99. package/dist/simulation/scenarios/latent-space/self-organizing-hnsw.js +514 -0
  100. package/dist/simulation/scenarios/latent-space/self-organizing-hnsw.js.map +1 -0
  101. package/dist/simulation/scenarios/latent-space/traversal-optimization.d.ts +53 -0
  102. package/dist/simulation/scenarios/latent-space/traversal-optimization.d.ts.map +1 -0
  103. package/dist/simulation/scenarios/latent-space/traversal-optimization.js +595 -0
  104. package/dist/simulation/scenarios/latent-space/traversal-optimization.js.map +1 -0
  105. package/dist/simulation/scenarios/lean-agentic-swarm.d.ts +18 -0
  106. package/dist/simulation/scenarios/lean-agentic-swarm.d.ts.map +1 -0
  107. package/dist/simulation/scenarios/lean-agentic-swarm.js +132 -0
  108. package/dist/simulation/scenarios/lean-agentic-swarm.js.map +1 -0
  109. package/dist/simulation/scenarios/multi-agent-swarm.d.ts +17 -0
  110. package/dist/simulation/scenarios/multi-agent-swarm.d.ts.map +1 -0
  111. package/dist/simulation/scenarios/multi-agent-swarm.js +111 -0
  112. package/dist/simulation/scenarios/multi-agent-swarm.js.map +1 -0
  113. package/dist/simulation/scenarios/psycho-symbolic-reasoner.d.ts +23 -0
  114. package/dist/simulation/scenarios/psycho-symbolic-reasoner.d.ts.map +1 -0
  115. package/dist/simulation/scenarios/psycho-symbolic-reasoner.js +98 -0
  116. package/dist/simulation/scenarios/psycho-symbolic-reasoner.js.map +1 -0
  117. package/dist/simulation/scenarios/reflexion-learning.d.ts +16 -0
  118. package/dist/simulation/scenarios/reflexion-learning.d.ts.map +1 -0
  119. package/dist/simulation/scenarios/reflexion-learning.js +98 -0
  120. package/dist/simulation/scenarios/reflexion-learning.js.map +1 -0
  121. package/dist/simulation/scenarios/research-swarm.d.ts +24 -0
  122. package/dist/simulation/scenarios/research-swarm.d.ts.map +1 -0
  123. package/dist/simulation/scenarios/research-swarm.js +146 -0
  124. package/dist/simulation/scenarios/research-swarm.js.map +1 -0
  125. package/dist/simulation/scenarios/skill-evolution.d.ts +16 -0
  126. package/dist/simulation/scenarios/skill-evolution.d.ts.map +1 -0
  127. package/dist/simulation/scenarios/skill-evolution.js +109 -0
  128. package/dist/simulation/scenarios/skill-evolution.js.map +1 -0
  129. package/dist/simulation/scenarios/stock-market-emergence.d.ts +33 -0
  130. package/dist/simulation/scenarios/stock-market-emergence.d.ts.map +1 -0
  131. package/dist/simulation/scenarios/stock-market-emergence.js +246 -0
  132. package/dist/simulation/scenarios/stock-market-emergence.js.map +1 -0
  133. package/dist/simulation/scenarios/strange-loops.d.ts +18 -0
  134. package/dist/simulation/scenarios/strange-loops.d.ts.map +1 -0
  135. package/dist/simulation/scenarios/strange-loops.js +133 -0
  136. package/dist/simulation/scenarios/strange-loops.js.map +1 -0
  137. package/dist/simulation/scenarios/sublinear-solver.d.ts +22 -0
  138. package/dist/simulation/scenarios/sublinear-solver.d.ts.map +1 -0
  139. package/dist/simulation/scenarios/sublinear-solver.js +82 -0
  140. package/dist/simulation/scenarios/sublinear-solver.js.map +1 -0
  141. package/dist/simulation/scenarios/temporal-lead-solver.d.ts +23 -0
  142. package/dist/simulation/scenarios/temporal-lead-solver.d.ts.map +1 -0
  143. package/dist/simulation/scenarios/temporal-lead-solver.js +90 -0
  144. package/dist/simulation/scenarios/temporal-lead-solver.js.map +1 -0
  145. package/dist/simulation/scenarios/voting-system-consensus.d.ts +27 -0
  146. package/dist/simulation/scenarios/voting-system-consensus.d.ts.map +1 -0
  147. package/dist/simulation/scenarios/voting-system-consensus.js +175 -0
  148. package/dist/simulation/scenarios/voting-system-consensus.js.map +1 -0
  149. package/dist/simulation/types.d.ts +162 -0
  150. package/dist/simulation/types.d.ts.map +1 -0
  151. package/dist/simulation/types.js +5 -0
  152. package/dist/simulation/types.js.map +1 -0
  153. package/dist/simulation/utils/PerformanceOptimizer.d.ts +115 -0
  154. package/dist/simulation/utils/PerformanceOptimizer.d.ts.map +1 -0
  155. package/dist/simulation/utils/PerformanceOptimizer.js +223 -0
  156. package/dist/simulation/utils/PerformanceOptimizer.js.map +1 -0
  157. package/dist/src/backends/GraphBackend.d.ts +8 -8
  158. package/dist/src/backends/GraphBackend.d.ts.map +1 -1
  159. package/dist/src/backends/GraphBackend.js +15 -16
  160. package/dist/src/backends/GraphBackend.js.map +1 -1
  161. package/dist/src/backends/LearningBackend.d.ts +2 -2
  162. package/dist/src/backends/LearningBackend.d.ts.map +1 -1
  163. package/dist/src/backends/LearningBackend.js +10 -11
  164. package/dist/src/backends/LearningBackend.js.map +1 -1
  165. package/dist/src/backends/VectorBackend.d.ts +6 -31
  166. package/dist/src/backends/VectorBackend.d.ts.map +1 -1
  167. package/dist/src/backends/detector.d.ts +3 -25
  168. package/dist/src/backends/detector.d.ts.map +1 -1
  169. package/dist/src/backends/detector.js +15 -119
  170. package/dist/src/backends/detector.js.map +1 -1
  171. package/dist/src/backends/factory.d.ts +32 -16
  172. package/dist/src/backends/factory.d.ts.map +1 -1
  173. package/dist/src/backends/factory.js +70 -133
  174. package/dist/src/backends/factory.js.map +1 -1
  175. package/dist/src/backends/graph/GraphDatabaseAdapter.d.ts +1 -1
  176. package/dist/src/backends/graph/GraphDatabaseAdapter.d.ts.map +1 -1
  177. package/dist/src/backends/graph/GraphDatabaseAdapter.js +1 -5
  178. package/dist/src/backends/graph/GraphDatabaseAdapter.js.map +1 -1
  179. package/dist/src/backends/hnswlib/HNSWLibBackend.d.ts +2 -2
  180. package/dist/src/backends/hnswlib/HNSWLibBackend.d.ts.map +1 -1
  181. package/dist/src/backends/hnswlib/HNSWLibBackend.js +13 -49
  182. package/dist/src/backends/hnswlib/HNSWLibBackend.js.map +1 -1
  183. package/dist/src/backends/index.d.ts +3 -25
  184. package/dist/src/backends/index.d.ts.map +1 -1
  185. package/dist/src/backends/index.js +1 -23
  186. package/dist/src/backends/index.js.map +1 -1
  187. package/dist/src/backends/ruvector/GuardedVectorBackend.d.ts +93 -0
  188. package/dist/src/backends/ruvector/GuardedVectorBackend.d.ts.map +1 -0
  189. package/dist/src/backends/ruvector/GuardedVectorBackend.js +182 -0
  190. package/dist/src/backends/ruvector/GuardedVectorBackend.js.map +1 -0
  191. package/dist/src/backends/ruvector/RuVectorBackend.d.ts +16 -187
  192. package/dist/src/backends/ruvector/RuVectorBackend.d.ts.map +1 -1
  193. package/dist/src/backends/ruvector/RuVectorBackend.js +94 -576
  194. package/dist/src/backends/ruvector/RuVectorBackend.js.map +1 -1
  195. package/dist/src/backends/ruvector/RuVectorLearning.d.ts +4 -0
  196. package/dist/src/backends/ruvector/RuVectorLearning.d.ts.map +1 -1
  197. package/dist/src/backends/ruvector/RuVectorLearning.js +11 -10
  198. package/dist/src/backends/ruvector/RuVectorLearning.js.map +1 -1
  199. package/dist/src/benchmarks/wasm-vector-benchmark.d.ts +10 -0
  200. package/dist/src/benchmarks/wasm-vector-benchmark.d.ts.map +1 -0
  201. package/dist/src/benchmarks/wasm-vector-benchmark.js +196 -0
  202. package/dist/src/benchmarks/wasm-vector-benchmark.js.map +1 -0
  203. package/dist/src/browser/AdvancedFeatures.d.ts.map +1 -1
  204. package/dist/src/browser/AdvancedFeatures.js +10 -3
  205. package/dist/src/browser/AdvancedFeatures.js.map +1 -1
  206. package/dist/src/browser/AttentionBrowser.d.ts.map +1 -1
  207. package/dist/src/browser/AttentionBrowser.js +12 -5
  208. package/dist/src/browser/AttentionBrowser.js.map +1 -1
  209. package/dist/src/browser/HNSWIndex.d.ts +1 -31
  210. package/dist/src/browser/HNSWIndex.d.ts.map +1 -1
  211. package/dist/src/browser/HNSWIndex.js +18 -136
  212. package/dist/src/browser/HNSWIndex.js.map +1 -1
  213. package/dist/src/browser/ProductQuantization.d.ts.map +1 -1
  214. package/dist/src/browser/ProductQuantization.js +1 -0
  215. package/dist/src/browser/ProductQuantization.js.map +1 -1
  216. package/dist/src/browser/index.d.ts +3 -3
  217. package/dist/src/browser/index.d.ts.map +1 -1
  218. package/dist/src/browser/index.js +1 -2
  219. package/dist/src/browser/index.js.map +1 -1
  220. package/dist/src/cli/agentdb-cli.d.ts +2 -16
  221. package/dist/src/cli/agentdb-cli.d.ts.map +1 -1
  222. package/dist/src/cli/agentdb-cli.js +216 -853
  223. package/dist/src/cli/agentdb-cli.js.map +1 -1
  224. package/dist/src/cli/commands/attention.js +3 -3
  225. package/dist/src/cli/commands/attention.js.map +1 -1
  226. package/dist/src/cli/commands/doctor.d.ts +0 -2
  227. package/dist/src/cli/commands/doctor.d.ts.map +1 -1
  228. package/dist/src/cli/commands/doctor.js +1 -106
  229. package/dist/src/cli/commands/doctor.js.map +1 -1
  230. package/dist/src/cli/commands/init.d.ts +1 -2
  231. package/dist/src/cli/commands/init.d.ts.map +1 -1
  232. package/dist/src/cli/commands/init.js +7 -30
  233. package/dist/src/cli/commands/init.js.map +1 -1
  234. package/dist/src/cli/commands/install-embeddings.d.ts.map +1 -1
  235. package/dist/src/cli/commands/install-embeddings.js.map +1 -1
  236. package/dist/src/cli/commands/migrate.d.ts +0 -15
  237. package/dist/src/cli/commands/migrate.d.ts.map +1 -1
  238. package/dist/src/cli/commands/migrate.js +5 -164
  239. package/dist/src/cli/commands/migrate.js.map +1 -1
  240. package/dist/src/cli/commands/simulate-report.js.map +1 -1
  241. package/dist/src/cli/commands/simulate-wizard.js.map +1 -1
  242. package/dist/src/cli/commands/simulate.d.ts +7 -0
  243. package/dist/src/cli/commands/simulate.d.ts.map +1 -0
  244. package/dist/src/cli/commands/simulate.js +100 -0
  245. package/dist/src/cli/commands/simulate.js.map +1 -0
  246. package/dist/src/cli/commands/status.js +1 -5
  247. package/dist/src/cli/commands/status.js.map +1 -1
  248. package/dist/src/cli/lib/attention-config.d.ts +2 -2
  249. package/dist/src/cli/lib/attention-config.d.ts.map +1 -1
  250. package/dist/src/cli/lib/attention-config.js +1 -2
  251. package/dist/src/cli/lib/attention-config.js.map +1 -1
  252. package/dist/src/cli/lib/config-manager.d.ts +110 -0
  253. package/dist/src/cli/lib/config-manager.d.ts.map +1 -0
  254. package/dist/src/cli/lib/config-manager.js +512 -0
  255. package/dist/src/cli/lib/config-manager.js.map +1 -0
  256. package/dist/src/cli/lib/config-validator.d.ts +1 -1
  257. package/dist/src/cli/lib/config-validator.d.ts.map +1 -1
  258. package/dist/src/cli/lib/health-monitor.d.ts +149 -0
  259. package/dist/src/cli/lib/health-monitor.d.ts.map +1 -0
  260. package/dist/src/cli/lib/health-monitor.js +380 -0
  261. package/dist/src/cli/lib/health-monitor.js.map +1 -0
  262. package/dist/src/cli/lib/history-tracker.d.ts +103 -0
  263. package/dist/src/cli/lib/history-tracker.d.ts.map +1 -0
  264. package/dist/src/cli/lib/history-tracker.js +352 -0
  265. package/dist/src/cli/lib/history-tracker.js.map +1 -0
  266. package/dist/src/cli/lib/report-store.d.ts +1 -2
  267. package/dist/src/cli/lib/report-store.d.ts.map +1 -1
  268. package/dist/src/cli/lib/report-store.js +65 -87
  269. package/dist/src/cli/lib/report-store.js.map +1 -1
  270. package/dist/src/cli/lib/simulation-registry.d.ts +1 -1
  271. package/dist/src/cli/lib/simulation-registry.d.ts.map +1 -1
  272. package/dist/src/cli/lib/simulation-registry.js +0 -1
  273. package/dist/src/cli/lib/simulation-registry.js.map +1 -1
  274. package/dist/src/cli/lib/simulation-runner.d.ts +4 -41
  275. package/dist/src/cli/lib/simulation-runner.d.ts.map +1 -1
  276. package/dist/src/cli/lib/simulation-runner.js +6 -251
  277. package/dist/src/cli/lib/simulation-runner.js.map +1 -1
  278. package/dist/src/controllers/AttentionService.d.ts.map +1 -1
  279. package/dist/src/controllers/AttentionService.js +5 -3
  280. package/dist/src/controllers/AttentionService.js.map +1 -1
  281. package/dist/src/controllers/CausalMemoryGraph.d.ts +8 -33
  282. package/dist/src/controllers/CausalMemoryGraph.d.ts.map +1 -1
  283. package/dist/src/controllers/CausalMemoryGraph.js +16 -93
  284. package/dist/src/controllers/CausalMemoryGraph.js.map +1 -1
  285. package/dist/src/controllers/CausalRecall.d.ts +3 -6
  286. package/dist/src/controllers/CausalRecall.d.ts.map +1 -1
  287. package/dist/src/controllers/CausalRecall.js +8 -14
  288. package/dist/src/controllers/CausalRecall.js.map +1 -1
  289. package/dist/src/controllers/ContextSynthesizer.d.ts +1 -1
  290. package/dist/src/controllers/ContextSynthesizer.d.ts.map +1 -1
  291. package/dist/src/controllers/EmbeddingService.d.ts.map +1 -1
  292. package/dist/src/controllers/EmbeddingService.js +3 -10
  293. package/dist/src/controllers/EmbeddingService.js.map +1 -1
  294. package/dist/src/controllers/EnhancedEmbeddingService.d.ts +0 -4
  295. package/dist/src/controllers/EnhancedEmbeddingService.d.ts.map +1 -1
  296. package/dist/src/controllers/EnhancedEmbeddingService.js +3 -10
  297. package/dist/src/controllers/EnhancedEmbeddingService.js.map +1 -1
  298. package/dist/src/controllers/ExplainableRecall.d.ts +6 -5
  299. package/dist/src/controllers/ExplainableRecall.d.ts.map +1 -1
  300. package/dist/src/controllers/ExplainableRecall.js +13 -21
  301. package/dist/src/controllers/ExplainableRecall.js.map +1 -1
  302. package/dist/src/controllers/HNSWIndex.d.ts +7 -24
  303. package/dist/src/controllers/HNSWIndex.d.ts.map +1 -1
  304. package/dist/src/controllers/HNSWIndex.js +10 -89
  305. package/dist/src/controllers/HNSWIndex.js.map +1 -1
  306. package/dist/src/controllers/LearningSystem.d.ts +10 -106
  307. package/dist/src/controllers/LearningSystem.d.ts.map +1 -1
  308. package/dist/src/controllers/LearningSystem.js +14 -39
  309. package/dist/src/controllers/LearningSystem.js.map +1 -1
  310. package/dist/src/controllers/MMRDiversityRanker.d.ts +1 -1
  311. package/dist/src/controllers/MMRDiversityRanker.d.ts.map +1 -1
  312. package/dist/src/controllers/MetadataFilter.d.ts +3 -3
  313. package/dist/src/controllers/MetadataFilter.d.ts.map +1 -1
  314. package/dist/src/controllers/MetadataFilter.js +6 -9
  315. package/dist/src/controllers/MetadataFilter.js.map +1 -1
  316. package/dist/src/controllers/NightlyLearner.d.ts +4 -9
  317. package/dist/src/controllers/NightlyLearner.d.ts.map +1 -1
  318. package/dist/src/controllers/NightlyLearner.js +9 -28
  319. package/dist/src/controllers/NightlyLearner.js.map +1 -1
  320. package/dist/src/controllers/QUICClient.d.ts +2 -50
  321. package/dist/src/controllers/QUICClient.d.ts.map +1 -1
  322. package/dist/src/controllers/QUICClient.js +3 -193
  323. package/dist/src/controllers/QUICClient.js.map +1 -1
  324. package/dist/src/controllers/QUICServer.d.ts +4 -4
  325. package/dist/src/controllers/QUICServer.d.ts.map +1 -1
  326. package/dist/src/controllers/QUICServer.js +14 -22
  327. package/dist/src/controllers/QUICServer.js.map +1 -1
  328. package/dist/src/controllers/ReasoningBank.d.ts +4 -14
  329. package/dist/src/controllers/ReasoningBank.d.ts.map +1 -1
  330. package/dist/src/controllers/ReasoningBank.js +46 -59
  331. package/dist/src/controllers/ReasoningBank.js.map +1 -1
  332. package/dist/src/controllers/ReflexionMemory.d.ts +7 -80
  333. package/dist/src/controllers/ReflexionMemory.d.ts.map +1 -1
  334. package/dist/src/controllers/ReflexionMemory.js +214 -372
  335. package/dist/src/controllers/ReflexionMemory.js.map +1 -1
  336. package/dist/src/controllers/SkillLibrary.d.ts +7 -37
  337. package/dist/src/controllers/SkillLibrary.d.ts.map +1 -1
  338. package/dist/src/controllers/SkillLibrary.js +96 -212
  339. package/dist/src/controllers/SkillLibrary.js.map +1 -1
  340. package/dist/src/controllers/SyncCoordinator.d.ts +3 -2
  341. package/dist/src/controllers/SyncCoordinator.d.ts.map +1 -1
  342. package/dist/src/controllers/SyncCoordinator.js +5 -117
  343. package/dist/src/controllers/SyncCoordinator.js.map +1 -1
  344. package/dist/src/controllers/WASMVectorSearch.d.ts +9 -20
  345. package/dist/src/controllers/WASMVectorSearch.d.ts.map +1 -1
  346. package/dist/src/controllers/WASMVectorSearch.js +29 -154
  347. package/dist/src/controllers/WASMVectorSearch.js.map +1 -1
  348. package/dist/src/controllers/frontier-index.d.ts +14 -0
  349. package/dist/src/controllers/frontier-index.d.ts.map +1 -0
  350. package/dist/src/controllers/frontier-index.js +10 -0
  351. package/dist/src/controllers/frontier-index.js.map +1 -0
  352. package/dist/src/controllers/index.d.ts +17 -8
  353. package/dist/src/controllers/index.d.ts.map +1 -1
  354. package/dist/src/controllers/index.js +12 -6
  355. package/dist/src/controllers/index.js.map +1 -1
  356. package/dist/src/core/AgentDB.d.ts +25 -57
  357. package/dist/src/core/AgentDB.d.ts.map +1 -1
  358. package/dist/src/core/AgentDB.js +115 -137
  359. package/dist/src/core/AgentDB.js.map +1 -1
  360. package/dist/src/db-fallback.d.ts +1 -10
  361. package/dist/src/db-fallback.d.ts.map +1 -1
  362. package/dist/src/db-fallback.js +4 -171
  363. package/dist/src/db-fallback.js.map +1 -1
  364. package/dist/src/db-test.d.ts +13 -0
  365. package/dist/src/db-test.d.ts.map +1 -0
  366. package/dist/src/db-test.js +55 -0
  367. package/dist/src/db-test.js.map +1 -0
  368. package/dist/src/db-unified.d.ts +76 -0
  369. package/dist/src/db-unified.d.ts.map +1 -0
  370. package/dist/src/db-unified.js +279 -0
  371. package/dist/src/db-unified.js.map +1 -0
  372. package/dist/src/examples/quic-sync-example.d.ts +9 -0
  373. package/dist/src/examples/quic-sync-example.d.ts.map +1 -0
  374. package/dist/src/examples/quic-sync-example.js +169 -0
  375. package/dist/src/examples/quic-sync-example.js.map +1 -0
  376. package/dist/src/examples/wasm-vector-usage.d.ts +12 -0
  377. package/dist/src/examples/wasm-vector-usage.d.ts.map +1 -0
  378. package/dist/src/examples/wasm-vector-usage.js +190 -0
  379. package/dist/src/examples/wasm-vector-usage.js.map +1 -0
  380. package/dist/src/index.d.ts +12 -38
  381. package/dist/src/index.d.ts.map +1 -1
  382. package/dist/src/index.js +11 -46
  383. package/dist/src/index.js.map +1 -1
  384. package/dist/src/mcp/agentdb-mcp-server.js +63 -219
  385. package/dist/src/mcp/agentdb-mcp-server.js.map +1 -1
  386. package/dist/src/mcp/learning-tools-handlers.d.ts +16 -0
  387. package/dist/src/mcp/learning-tools-handlers.d.ts.map +1 -0
  388. package/dist/src/mcp/learning-tools-handlers.js +105 -0
  389. package/dist/src/mcp/learning-tools-handlers.js.map +1 -0
  390. package/dist/src/optimizations/BatchOperations.d.ts +5 -52
  391. package/dist/src/optimizations/BatchOperations.d.ts.map +1 -1
  392. package/dist/src/optimizations/BatchOperations.js +33 -186
  393. package/dist/src/optimizations/BatchOperations.js.map +1 -1
  394. package/dist/src/optimizations/QueryOptimizer.d.ts +4 -4
  395. package/dist/src/optimizations/QueryOptimizer.d.ts.map +1 -1
  396. package/dist/src/optimizations/QueryOptimizer.js +1 -3
  397. package/dist/src/optimizations/QueryOptimizer.js.map +1 -1
  398. package/dist/src/optimizations/ToolCache.d.ts +4 -4
  399. package/dist/src/optimizations/ToolCache.d.ts.map +1 -1
  400. package/dist/src/optimizations/ToolCache.js.map +1 -1
  401. package/dist/src/optimizations/index.d.ts +1 -1
  402. package/dist/src/optimizations/index.d.ts.map +1 -1
  403. package/dist/src/security/AttestationLog.d.ts +70 -0
  404. package/dist/src/security/AttestationLog.d.ts.map +1 -0
  405. package/dist/src/security/AttestationLog.js +174 -0
  406. package/dist/src/security/AttestationLog.js.map +1 -0
  407. package/dist/src/security/MutationGuard.d.ts +83 -0
  408. package/dist/src/security/MutationGuard.d.ts.map +1 -0
  409. package/dist/src/security/MutationGuard.js +379 -0
  410. package/dist/src/security/MutationGuard.js.map +1 -0
  411. package/dist/src/security/index.d.ts +15 -0
  412. package/dist/src/security/index.d.ts.map +1 -0
  413. package/dist/src/security/index.js +18 -0
  414. package/dist/src/security/index.js.map +1 -0
  415. package/dist/src/security/input-validation.d.ts +12 -12
  416. package/dist/src/security/input-validation.d.ts.map +1 -1
  417. package/dist/src/security/input-validation.js +0 -1
  418. package/dist/src/security/input-validation.js.map +1 -1
  419. package/dist/src/security/limits.d.ts +150 -0
  420. package/dist/src/security/limits.d.ts.map +1 -0
  421. package/dist/src/security/limits.js +288 -0
  422. package/dist/src/security/limits.js.map +1 -0
  423. package/dist/src/security/path-security.d.ts +100 -0
  424. package/dist/src/security/path-security.d.ts.map +1 -0
  425. package/dist/src/security/path-security.js +337 -0
  426. package/dist/src/security/path-security.js.map +1 -0
  427. package/dist/src/security/validation.d.ts +95 -0
  428. package/dist/src/security/validation.d.ts.map +1 -0
  429. package/dist/src/security/validation.js +315 -0
  430. package/dist/src/security/validation.js.map +1 -0
  431. package/dist/src/services/GraphTransformerService.d.ts +79 -0
  432. package/dist/src/services/GraphTransformerService.d.ts.map +1 -0
  433. package/dist/src/services/GraphTransformerService.js +331 -0
  434. package/dist/src/services/GraphTransformerService.js.map +1 -0
  435. package/dist/src/services/LLMRouter.d.ts +7 -61
  436. package/dist/src/services/LLMRouter.d.ts.map +1 -1
  437. package/dist/src/services/LLMRouter.js +25 -295
  438. package/dist/src/services/LLMRouter.js.map +1 -1
  439. package/dist/src/services/SemanticRouter.d.ts +78 -0
  440. package/dist/src/services/SemanticRouter.d.ts.map +1 -0
  441. package/dist/src/services/SemanticRouter.js +149 -0
  442. package/dist/src/services/SemanticRouter.js.map +1 -0
  443. package/dist/src/services/SonaTrajectoryService.d.ts +100 -0
  444. package/dist/src/services/SonaTrajectoryService.d.ts.map +1 -0
  445. package/dist/src/services/SonaTrajectoryService.js +231 -0
  446. package/dist/src/services/SonaTrajectoryService.js.map +1 -0
  447. package/dist/src/types/attention.d.ts +249 -0
  448. package/dist/src/types/attention.d.ts.map +1 -0
  449. package/dist/src/types/attention.js +43 -0
  450. package/dist/src/types/attention.js.map +1 -0
  451. package/dist/src/types/quic.d.ts +518 -0
  452. package/dist/src/types/quic.d.ts.map +1 -0
  453. package/dist/src/types/quic.js +272 -0
  454. package/dist/src/types/quic.js.map +1 -0
  455. package/dist/src/utils/LegacyAttentionAdapter.d.ts +93 -0
  456. package/dist/src/utils/LegacyAttentionAdapter.d.ts.map +1 -0
  457. package/dist/src/utils/LegacyAttentionAdapter.js +241 -0
  458. package/dist/src/utils/LegacyAttentionAdapter.js.map +1 -0
  459. package/dist/src/utils/attention-metrics.d.ts +76 -0
  460. package/dist/src/utils/attention-metrics.d.ts.map +1 -0
  461. package/dist/src/utils/attention-metrics.js +178 -0
  462. package/dist/src/utils/attention-metrics.js.map +1 -0
  463. package/dist/src/utils/vector-math.d.ts +29 -0
  464. package/dist/src/utils/vector-math.d.ts.map +1 -0
  465. package/dist/src/utils/vector-math.js +66 -0
  466. package/dist/src/utils/vector-math.js.map +1 -0
  467. package/examples/README.md +105 -0
  468. package/examples/browser/attention-demo.html +499 -0
  469. package/examples/browser/flash-consolidation.html +598 -0
  470. package/examples/browser/hyperbolic-hierarchy.html +497 -0
  471. package/examples/quickstart.js +43 -0
  472. package/package.json +53 -56
  473. package/simulation/.claude-flow/metrics/agent-metrics.json +1 -0
  474. package/simulation/.claude-flow/metrics/performance.json +87 -0
  475. package/simulation/.claude-flow/metrics/task-metrics.json +10 -0
  476. package/simulation/COMPLETION-STATUS.md +139 -0
  477. package/simulation/FINAL-RESULTS.md +414 -0
  478. package/simulation/FINAL-STATUS.md +281 -0
  479. package/simulation/INTEGRATION-COMPLETE.md +452 -0
  480. package/simulation/MIGRATION-STATUS.md +231 -0
  481. package/simulation/OPTIMIZATION-RESULTS.md +397 -0
  482. package/simulation/PHASE1-COMPLETE.md +163 -0
  483. package/simulation/README.md +848 -0
  484. package/simulation/SIMULATION-RESULTS.md +239 -0
  485. package/simulation/cli.ts +78 -0
  486. package/simulation/configs/default.json +37 -0
  487. package/simulation/data/advanced/aidefence.graph +0 -0
  488. package/simulation/data/advanced/bmssp.graph +0 -0
  489. package/simulation/data/advanced/consciousness.graph +0 -0
  490. package/simulation/data/advanced/goalie.graph +0 -0
  491. package/simulation/data/advanced/psycho-symbolic.graph +0 -0
  492. package/simulation/data/advanced/research-swarm.graph +0 -0
  493. package/simulation/data/advanced/sublinear.graph +0 -0
  494. package/simulation/data/advanced/temporal.graph +0 -0
  495. package/simulation/data/causal.graph +0 -0
  496. package/simulation/data/graph-traversal.graph +0 -0
  497. package/simulation/data/lean-agentic.graph +0 -0
  498. package/simulation/data/reflexion.graph +0 -0
  499. package/simulation/data/skills.graph +0 -0
  500. package/simulation/data/stock-market.graph +0 -0
  501. package/simulation/data/strange-loops.graph +0 -0
  502. package/simulation/data/swarm.graph +0 -0
  503. package/simulation/data/voting-consensus.graph +0 -0
  504. package/simulation/docs/CLI-INTEGRATION-PLAN.md +1038 -0
  505. package/simulation/docs/COMPREHENSIVE-LATENT-SPACE-COMPLETION.md +354 -0
  506. package/simulation/docs/DOCUMENTATION-INDEX.md +226 -0
  507. package/simulation/docs/IMPLEMENTATION-COMPLETE.md +521 -0
  508. package/simulation/docs/OPTIMIZATION-SUMMARY.md +279 -0
  509. package/simulation/docs/README.md +229 -0
  510. package/simulation/docs/SWARM-5-INTEGRATION-SUMMARY.md +528 -0
  511. package/simulation/docs/TESTING-SUMMARY.md +304 -0
  512. package/simulation/docs/architecture/EXTENSION-API.md +868 -0
  513. package/simulation/docs/architecture/INTEGRATION-ARCHITECTURE.md +1138 -0
  514. package/simulation/docs/architecture/OPTIMIZATION-STRATEGY.md +778 -0
  515. package/simulation/docs/architecture/SIMULATION-ARCHITECTURE.md +892 -0
  516. package/simulation/docs/guides/CLI-REFERENCE.md +896 -0
  517. package/simulation/docs/guides/CUSTOM-SIMULATIONS.md +931 -0
  518. package/simulation/docs/guides/DEPLOYMENT.md +832 -0
  519. package/simulation/docs/guides/IMPLEMENTATION-SUMMARY.md +544 -0
  520. package/simulation/docs/guides/MIGRATION-GUIDE.md +591 -0
  521. package/simulation/docs/guides/QUICK-START.md +361 -0
  522. package/simulation/docs/guides/README.md +736 -0
  523. package/simulation/docs/guides/TROUBLESHOOTING.md +817 -0
  524. package/simulation/docs/guides/WIZARD-GUIDE.md +869 -0
  525. package/simulation/docs/reports/latent-space/MASTER-SYNTHESIS.md +345 -0
  526. package/simulation/docs/reports/latent-space/README.md +132 -0
  527. package/simulation/docs/reports/latent-space/attention-analysis-RESULTS.md +238 -0
  528. package/simulation/docs/reports/latent-space/clustering-analysis-RESULTS.md +210 -0
  529. package/simulation/docs/reports/latent-space/hnsw-exploration-RESULTS.md +332 -0
  530. package/simulation/docs/reports/latent-space/hypergraph-exploration-RESULTS.md +37 -0
  531. package/simulation/docs/reports/latent-space/neural-augmentation-RESULTS.md +69 -0
  532. package/simulation/docs/reports/latent-space/quantum-hybrid-RESULTS.md +91 -0
  533. package/simulation/docs/reports/latent-space/self-organizing-hnsw-RESULTS.md +51 -0
  534. package/simulation/docs/reports/latent-space/traversal-optimization-RESULTS.md +238 -0
  535. package/simulation/reports/README.md +397 -0
  536. package/simulation/reports/advanced-simulations-performance.md +1241 -0
  537. package/simulation/reports/aidefence-integration-2025-11-30T01-36-53-486Z.json +30 -0
  538. package/simulation/reports/architecture-analysis.md +1396 -0
  539. package/simulation/reports/basic-scenarios-performance.md +1840 -0
  540. package/simulation/reports/bmssp-integration-2025-11-30T01-36-27-193Z.json +30 -0
  541. package/simulation/reports/bmssp-integration-2025-11-30T03-38-12-887Z.json +30 -0
  542. package/simulation/reports/causal-reasoning-2025-11-29T23-35-21-795Z.json +36 -0
  543. package/simulation/reports/causal-reasoning-2025-11-30T00-58-42-862Z.json +30 -0
  544. package/simulation/reports/causal-reasoning-2025-11-30T00-59-12-546Z.json +40 -0
  545. package/simulation/reports/consciousness-explorer-2025-11-30T01-36-51-269Z.json +31 -0
  546. package/simulation/reports/core-benchmarks.md +727 -0
  547. package/simulation/reports/goalie-integration-2025-11-30T01-36-52-377Z.json +30 -0
  548. package/simulation/reports/graph-traversal-2025-11-29T23-35-35-279Z.json +78 -0
  549. package/simulation/reports/graph-traversal-2025-11-29T23-37-36-697Z.json +30 -0
  550. package/simulation/reports/graph-traversal-2025-11-30T01-03-59-716Z.json +30 -0
  551. package/simulation/reports/graph-traversal-2025-11-30T01-05-10-984Z.json +30 -0
  552. package/simulation/reports/graph-traversal-2025-11-30T01-06-16-334Z.json +30 -0
  553. package/simulation/reports/graph-traversal-2025-11-30T01-06-53-312Z.json +30 -0
  554. package/simulation/reports/graph-traversal-2025-11-30T01-07-51-075Z.json +24 -0
  555. package/simulation/reports/graph-traversal-2025-11-30T01-08-22-179Z.json +42 -0
  556. package/simulation/reports/lean-agentic-swarm-2025-11-29T23-37-23-804Z.json +148 -0
  557. package/simulation/reports/lean-agentic-swarm-2025-11-30T01-31-24-401Z.json +31 -0
  558. package/simulation/reports/lean-agentic-swarm-2025-11-30T03-38-01-470Z.json +31 -0
  559. package/simulation/reports/multi-agent-swarm-2025-11-29T23-35-28-093Z.json +78 -0
  560. package/simulation/reports/multi-agent-swarm-2025-11-30T01-03-54-062Z.json +42 -0
  561. package/simulation/reports/multi-agent-swarm-2025-11-30T01-05-06-092Z.json +42 -0
  562. package/simulation/reports/psycho-symbolic-reasoner-2025-11-30T01-36-50-180Z.json +30 -0
  563. package/simulation/reports/quality-metrics.md +727 -0
  564. package/simulation/reports/reflexion-learning-2025-11-29T23-35-09-774Z.json +48 -0
  565. package/simulation/reports/reflexion-learning-2025-11-29T23-37-16-934Z.json +36 -0
  566. package/simulation/reports/reflexion-learning-2025-11-30T00-07-49-259Z.json +30 -0
  567. package/simulation/reports/reflexion-learning-2025-11-30T00-09-29-319Z.json +51 -0
  568. package/simulation/reports/reflexion-learning-2025-11-30T00-28-37-659Z.json +51 -0
  569. package/simulation/reports/reflexion-learning-2025-11-30T01-31-30-690Z.json +29 -0
  570. package/simulation/reports/reflexion-learning-2025-11-30T03-38-06-937Z.json +29 -0
  571. package/simulation/reports/research-foundations.md +2004 -0
  572. package/simulation/reports/research-swarm-2025-11-30T01-36-54-647Z.json +30 -0
  573. package/simulation/reports/scalability-deployment.md +2404 -0
  574. package/simulation/reports/skill-evolution-2025-11-29T23-35-15-945Z.json +36 -0
  575. package/simulation/reports/skill-evolution-2025-11-30T01-03-17-995Z.json +30 -0
  576. package/simulation/reports/skill-evolution-2025-11-30T01-03-48-441Z.json +30 -0
  577. package/simulation/reports/skill-evolution-2025-11-30T01-05-00-554Z.json +30 -0
  578. package/simulation/reports/skill-evolution-2025-11-30T01-06-11-436Z.json +30 -0
  579. package/simulation/reports/skill-evolution-2025-11-30T01-06-51-979Z.json +30 -0
  580. package/simulation/reports/skill-evolution-2025-11-30T01-07-32-695Z.json +40 -0
  581. package/simulation/reports/stock-market-emergence-2025-11-30T00-11-43-865Z.json +56 -0
  582. package/simulation/reports/stock-market-emergence-2025-11-30T00-28-57-495Z.json +56 -0
  583. package/simulation/reports/strange-loops-2025-11-29T23-37-30-621Z.json +78 -0
  584. package/simulation/reports/strange-loops-2025-11-30T00-07-55-415Z.json +30 -0
  585. package/simulation/reports/strange-loops-2025-11-30T00-09-35-133Z.json +30 -0
  586. package/simulation/reports/strange-loops-2025-11-30T00-48-50-744Z.json +24 -0
  587. package/simulation/reports/strange-loops-2025-11-30T00-54-48-044Z.json +24 -0
  588. package/simulation/reports/strange-loops-2025-11-30T00-57-27-633Z.json +24 -0
  589. package/simulation/reports/strange-loops-2025-11-30T00-57-59-135Z.json +42 -0
  590. package/simulation/reports/sublinear-solver-2025-11-30T01-36-33-134Z.json +30 -0
  591. package/simulation/reports/temporal-lead-solver-2025-11-30T01-36-38-628Z.json +30 -0
  592. package/simulation/reports/use-cases-applications.md +2212 -0
  593. package/simulation/reports/voting-system-consensus-2025-11-30T00-11-37-199Z.json +58 -0
  594. package/simulation/reports/voting-system-consensus-2025-11-30T00-28-47-735Z.json +58 -0
  595. package/simulation/runner.ts +300 -0
  596. package/simulation/scenarios/README-advanced/aidefence-integration.md +63 -0
  597. package/simulation/scenarios/README-advanced/bmssp-integration.md +58 -0
  598. package/simulation/scenarios/README-advanced/consciousness-explorer.md +53 -0
  599. package/simulation/scenarios/README-advanced/goalie-integration.md +61 -0
  600. package/simulation/scenarios/README-advanced/psycho-symbolic-reasoner.md +55 -0
  601. package/simulation/scenarios/README-advanced/research-swarm.md +63 -0
  602. package/simulation/scenarios/README-advanced/sublinear-solver.md +58 -0
  603. package/simulation/scenarios/README-advanced/temporal-lead-solver.md +55 -0
  604. package/simulation/scenarios/README-basic/causal-reasoning.md +39 -0
  605. package/simulation/scenarios/README-basic/graph-traversal.md +41 -0
  606. package/simulation/scenarios/README-basic/lean-agentic-swarm.md +122 -0
  607. package/simulation/scenarios/README-basic/multi-agent-swarm.md +34 -0
  608. package/simulation/scenarios/README-basic/reflexion-learning.md +41 -0
  609. package/simulation/scenarios/README-basic/skill-evolution.md +38 -0
  610. package/simulation/scenarios/README-basic/stock-market-emergence.md +28 -0
  611. package/simulation/scenarios/README-basic/strange-loops.md +36 -0
  612. package/simulation/scenarios/README-basic/voting-system-consensus.md +28 -0
  613. package/simulation/scenarios/README.md +438 -0
  614. package/simulation/scenarios/aidefence-integration.ts +165 -0
  615. package/simulation/scenarios/bmssp-integration.ts +137 -0
  616. package/simulation/scenarios/causal-reasoning.ts +143 -0
  617. package/simulation/scenarios/consciousness-explorer.ts +139 -0
  618. package/simulation/scenarios/domain-examples/.claude-flow/metrics/agent-metrics.json +1 -0
  619. package/simulation/scenarios/domain-examples/.claude-flow/metrics/performance.json +87 -0
  620. package/simulation/scenarios/domain-examples/.claude-flow/metrics/task-metrics.json +10 -0
  621. package/simulation/scenarios/domain-examples/README.md +525 -0
  622. package/simulation/scenarios/domain-examples/e-commerce-recommendations.ts +220 -0
  623. package/simulation/scenarios/domain-examples/index.ts +81 -0
  624. package/simulation/scenarios/domain-examples/iot-sensor-networks.ts +290 -0
  625. package/simulation/scenarios/domain-examples/medical-imaging.ts +181 -0
  626. package/simulation/scenarios/domain-examples/robotics-navigation.ts +214 -0
  627. package/simulation/scenarios/domain-examples/scientific-research.ts +250 -0
  628. package/simulation/scenarios/domain-examples/trading-systems.ts +138 -0
  629. package/simulation/scenarios/goalie-integration.ts +161 -0
  630. package/simulation/scenarios/graph-traversal.ts +129 -0
  631. package/simulation/scenarios/latent-space/OPTIMIZATION-COMPLETE.md +287 -0
  632. package/simulation/scenarios/latent-space/README-attention-analysis.md +170 -0
  633. package/simulation/scenarios/latent-space/README-clustering-analysis.md +239 -0
  634. package/simulation/scenarios/latent-space/README-hnsw-exploration.md +199 -0
  635. package/simulation/scenarios/latent-space/README-hypergraph-exploration.md +279 -0
  636. package/simulation/scenarios/latent-space/README-neural-augmentation.md +267 -0
  637. package/simulation/scenarios/latent-space/README-quantum-hybrid.md +276 -0
  638. package/simulation/scenarios/latent-space/README-self-organizing-hnsw.md +244 -0
  639. package/simulation/scenarios/latent-space/README-traversal-optimization.md +212 -0
  640. package/simulation/scenarios/latent-space/attention-analysis.ts +598 -0
  641. package/simulation/scenarios/latent-space/clustering-analysis.ts +796 -0
  642. package/simulation/scenarios/latent-space/hnsw-exploration.ts +526 -0
  643. package/simulation/scenarios/latent-space/hypergraph-exploration.ts +706 -0
  644. package/simulation/scenarios/latent-space/index.ts +47 -0
  645. package/simulation/scenarios/latent-space/neural-augmentation.ts +604 -0
  646. package/simulation/scenarios/latent-space/quantum-hybrid.ts +508 -0
  647. package/simulation/scenarios/latent-space/self-organizing-hnsw.ts +680 -0
  648. package/simulation/scenarios/latent-space/traversal-optimization.ts +782 -0
  649. package/simulation/scenarios/lean-agentic-swarm.ts +182 -0
  650. package/simulation/scenarios/multi-agent-swarm.ts +146 -0
  651. package/simulation/scenarios/psycho-symbolic-reasoner.ts +136 -0
  652. package/simulation/scenarios/reflexion-learning.ts +132 -0
  653. package/simulation/scenarios/research-swarm.ts +187 -0
  654. package/simulation/scenarios/skill-evolution.ts +135 -0
  655. package/simulation/scenarios/stock-market-emergence.ts +323 -0
  656. package/simulation/scenarios/strange-loops.ts +175 -0
  657. package/simulation/scenarios/sublinear-solver.ts +108 -0
  658. package/simulation/scenarios/temporal-lead-solver.ts +121 -0
  659. package/simulation/scenarios/voting-system-consensus.ts +251 -0
  660. package/simulation/tests/latent-space/attention-analysis.test.ts +204 -0
  661. package/simulation/tests/latent-space/clustering-analysis.test.ts +281 -0
  662. package/simulation/tests/latent-space/hnsw-exploration.test.ts +253 -0
  663. package/simulation/tests/latent-space/hypergraph-exploration.test.ts +295 -0
  664. package/simulation/tests/latent-space/neural-augmentation.test.ts +326 -0
  665. package/simulation/tests/latent-space/quantum-hybrid.test.ts +307 -0
  666. package/simulation/tests/latent-space/self-organizing-hnsw.test.ts +291 -0
  667. package/simulation/tests/latent-space/traversal-optimization.test.ts +261 -0
  668. package/simulation/types.ts +177 -0
  669. package/simulation/utils/PerformanceOptimizer.ts +269 -0
  670. package/src/backends/GraphBackend.ts +290 -0
  671. package/src/backends/LearningBackend.ts +210 -0
  672. package/src/backends/README.md +389 -0
  673. package/src/backends/VectorBackend.ts +147 -0
  674. package/src/backends/detector.ts +283 -0
  675. package/src/backends/factory.ts +279 -0
  676. package/src/backends/graph/GraphDatabaseAdapter.ts +334 -0
  677. package/src/backends/hnswlib/HNSWLibBackend.ts +419 -0
  678. package/src/backends/hnswlib/index.ts +7 -0
  679. package/src/backends/index.ts +32 -0
  680. package/src/backends/ruvector/GuardedVectorBackend.ts +219 -0
  681. package/src/backends/ruvector/RuVectorBackend.ts +343 -0
  682. package/src/backends/ruvector/RuVectorLearning.ts +254 -0
  683. package/src/backends/ruvector/index.ts +9 -0
  684. package/src/benchmarks/wasm-vector-benchmark.ts +250 -0
  685. package/src/browser/AdvancedFeatures.ts +565 -0
  686. package/src/browser/AttentionBrowser.ts +387 -0
  687. package/src/browser/HNSWIndex.ts +494 -0
  688. package/src/browser/ProductQuantization.ts +419 -0
  689. package/src/browser/index.ts +317 -0
  690. package/src/cli/agentdb-cli.ts +2712 -0
  691. package/src/cli/attention-cli-integration.ts +91 -0
  692. package/src/cli/commands/attention.ts +656 -0
  693. package/src/cli/commands/doctor.ts +322 -0
  694. package/src/cli/commands/init.ts +176 -0
  695. package/src/cli/commands/install-embeddings.ts +81 -0
  696. package/src/cli/commands/migrate.ts +545 -0
  697. package/src/cli/commands/simulate-custom.ts +232 -0
  698. package/src/cli/commands/simulate-report.ts +171 -0
  699. package/src/cli/commands/simulate-wizard.ts +379 -0
  700. package/src/cli/commands/simulate.ts +115 -0
  701. package/src/cli/commands/status.ts +156 -0
  702. package/src/cli/examples.sh +83 -0
  703. package/src/cli/lib/attention-config.ts +326 -0
  704. package/src/cli/lib/config-manager.ts +627 -0
  705. package/src/cli/lib/config-validator.ts +261 -0
  706. package/src/cli/lib/health-monitor.ts +513 -0
  707. package/src/cli/lib/help-formatter.ts +406 -0
  708. package/src/cli/lib/history-tracker.ts +503 -0
  709. package/src/cli/lib/report-generator.ts +455 -0
  710. package/src/cli/lib/report-store.ts +582 -0
  711. package/src/cli/lib/simulation-registry.ts +503 -0
  712. package/src/cli/lib/simulation-runner.ts +291 -0
  713. package/src/cli/tests/agentdb-cli.test.ts +58 -0
  714. package/src/cli/tests/attention-cli.test.ts +335 -0
  715. package/src/controllers/AttentionService.ts +770 -0
  716. package/src/controllers/CausalMemoryGraph.ts +773 -0
  717. package/src/controllers/CausalRecall.ts +484 -0
  718. package/src/controllers/ContextSynthesizer.ts +285 -0
  719. package/src/controllers/EmbeddingService.ts +161 -0
  720. package/src/controllers/EnhancedEmbeddingService.ts +143 -0
  721. package/src/controllers/ExplainableRecall.ts +746 -0
  722. package/src/controllers/HNSWIndex.ts +495 -0
  723. package/src/controllers/LearningSystem.ts +1270 -0
  724. package/src/controllers/MMRDiversityRanker.ts +187 -0
  725. package/src/controllers/MetadataFilter.ts +280 -0
  726. package/src/controllers/NightlyLearner.ts +647 -0
  727. package/src/controllers/QUICClient.ts +413 -0
  728. package/src/controllers/QUICServer.ts +498 -0
  729. package/src/controllers/ReasoningBank.ts +665 -0
  730. package/src/controllers/ReflexionMemory.ts +872 -0
  731. package/src/controllers/SkillLibrary.ts +795 -0
  732. package/src/controllers/SyncCoordinator.ts +597 -0
  733. package/src/controllers/WASMVectorSearch.ts +292 -0
  734. package/src/controllers/frontier-index.ts +35 -0
  735. package/src/controllers/index.ts +57 -0
  736. package/src/coordination/MultiDatabaseCoordinator.ts +1107 -0
  737. package/src/coordination/index.ts +24 -0
  738. package/src/core/AgentDB.ts +211 -0
  739. package/src/db-fallback.ts +296 -0
  740. package/src/db-test.ts +59 -0
  741. package/src/db-unified.ts +327 -0
  742. package/src/examples/quic-sync-example.ts +198 -0
  743. package/src/examples/wasm-vector-usage.ts +245 -0
  744. package/src/index.ts +69 -0
  745. package/src/mcp/agentdb-mcp-server.ts +2318 -0
  746. package/src/mcp/attention-mcp-integration.ts +145 -0
  747. package/src/mcp/attention-tools-handlers.ts +586 -0
  748. package/src/mcp/learning-tools-handlers.ts +106 -0
  749. package/src/optimizations/BatchOperations.ts +594 -0
  750. package/src/optimizations/QueryOptimizer.ts +297 -0
  751. package/src/optimizations/ToolCache.ts +355 -0
  752. package/src/optimizations/index.ts +11 -0
  753. package/src/schemas/frontier-schema.sql +378 -0
  754. package/src/schemas/schema.sql +382 -0
  755. package/src/security/AttestationLog.ts +252 -0
  756. package/src/security/MutationGuard.ts +420 -0
  757. package/src/security/index.ts +52 -0
  758. package/src/security/input-validation.ts +543 -0
  759. package/src/security/limits.ts +375 -0
  760. package/src/security/path-security.ts +436 -0
  761. package/src/security/validation.ts +556 -0
  762. package/src/services/GraphTransformerService.ts +389 -0
  763. package/src/services/LLMRouter.ts +380 -0
  764. package/src/services/SemanticRouter.ts +169 -0
  765. package/src/services/SonaTrajectoryService.ts +264 -0
  766. package/src/tests/attention-service.test.ts +492 -0
  767. package/src/tests/wasm-vector-search.test.ts +240 -0
  768. package/src/types/attention.ts +392 -0
  769. package/src/types/quic.ts +772 -0
  770. package/src/utils/LegacyAttentionAdapter.ts +393 -0
  771. package/src/utils/NodeIdMapper.ts +64 -0
  772. package/src/utils/attention-metrics.ts +253 -0
  773. package/src/utils/vector-math.ts +71 -0
  774. package/LICENSE +0 -21
  775. package/dist/src/backends/rvf/AdaptiveIndexTuner.d.ts +0 -175
  776. package/dist/src/backends/rvf/AdaptiveIndexTuner.d.ts.map +0 -1
  777. package/dist/src/backends/rvf/AdaptiveIndexTuner.js +0 -559
  778. package/dist/src/backends/rvf/AdaptiveIndexTuner.js.map +0 -1
  779. package/dist/src/backends/rvf/ContrastiveTrainer.d.ts +0 -148
  780. package/dist/src/backends/rvf/ContrastiveTrainer.d.ts.map +0 -1
  781. package/dist/src/backends/rvf/ContrastiveTrainer.js +0 -438
  782. package/dist/src/backends/rvf/ContrastiveTrainer.js.map +0 -1
  783. package/dist/src/backends/rvf/FederatedSessionManager.d.ts +0 -211
  784. package/dist/src/backends/rvf/FederatedSessionManager.d.ts.map +0 -1
  785. package/dist/src/backends/rvf/FederatedSessionManager.js +0 -389
  786. package/dist/src/backends/rvf/FederatedSessionManager.js.map +0 -1
  787. package/dist/src/backends/rvf/FilterBuilder.d.ts +0 -136
  788. package/dist/src/backends/rvf/FilterBuilder.d.ts.map +0 -1
  789. package/dist/src/backends/rvf/FilterBuilder.js +0 -157
  790. package/dist/src/backends/rvf/FilterBuilder.js.map +0 -1
  791. package/dist/src/backends/rvf/NativeAccelerator.d.ts +0 -140
  792. package/dist/src/backends/rvf/NativeAccelerator.d.ts.map +0 -1
  793. package/dist/src/backends/rvf/NativeAccelerator.js +0 -630
  794. package/dist/src/backends/rvf/NativeAccelerator.js.map +0 -1
  795. package/dist/src/backends/rvf/RvfBackend.d.ts +0 -194
  796. package/dist/src/backends/rvf/RvfBackend.d.ts.map +0 -1
  797. package/dist/src/backends/rvf/RvfBackend.js +0 -607
  798. package/dist/src/backends/rvf/RvfBackend.js.map +0 -1
  799. package/dist/src/backends/rvf/RvfSolver.d.ts +0 -175
  800. package/dist/src/backends/rvf/RvfSolver.d.ts.map +0 -1
  801. package/dist/src/backends/rvf/RvfSolver.js +0 -176
  802. package/dist/src/backends/rvf/RvfSolver.js.map +0 -1
  803. package/dist/src/backends/rvf/SelfLearningRvfBackend.d.ts +0 -143
  804. package/dist/src/backends/rvf/SelfLearningRvfBackend.d.ts.map +0 -1
  805. package/dist/src/backends/rvf/SelfLearningRvfBackend.js +0 -569
  806. package/dist/src/backends/rvf/SelfLearningRvfBackend.js.map +0 -1
  807. package/dist/src/backends/rvf/SemanticQueryRouter.d.ts +0 -128
  808. package/dist/src/backends/rvf/SemanticQueryRouter.d.ts.map +0 -1
  809. package/dist/src/backends/rvf/SemanticQueryRouter.js +0 -415
  810. package/dist/src/backends/rvf/SemanticQueryRouter.js.map +0 -1
  811. package/dist/src/backends/rvf/SimdFallbacks.d.ts +0 -25
  812. package/dist/src/backends/rvf/SimdFallbacks.d.ts.map +0 -1
  813. package/dist/src/backends/rvf/SimdFallbacks.js +0 -287
  814. package/dist/src/backends/rvf/SimdFallbacks.js.map +0 -1
  815. package/dist/src/backends/rvf/SolverBandit.d.ts +0 -100
  816. package/dist/src/backends/rvf/SolverBandit.d.ts.map +0 -1
  817. package/dist/src/backends/rvf/SolverBandit.js +0 -216
  818. package/dist/src/backends/rvf/SolverBandit.js.map +0 -1
  819. package/dist/src/backends/rvf/SonaLearningBackend.d.ts +0 -157
  820. package/dist/src/backends/rvf/SonaLearningBackend.d.ts.map +0 -1
  821. package/dist/src/backends/rvf/SonaLearningBackend.js +0 -283
  822. package/dist/src/backends/rvf/SonaLearningBackend.js.map +0 -1
  823. package/dist/src/backends/rvf/SqlJsRvfBackend.d.ts +0 -77
  824. package/dist/src/backends/rvf/SqlJsRvfBackend.d.ts.map +0 -1
  825. package/dist/src/backends/rvf/SqlJsRvfBackend.js +0 -382
  826. package/dist/src/backends/rvf/SqlJsRvfBackend.js.map +0 -1
  827. package/dist/src/backends/rvf/WasmStoreBridge.d.ts +0 -27
  828. package/dist/src/backends/rvf/WasmStoreBridge.d.ts.map +0 -1
  829. package/dist/src/backends/rvf/WasmStoreBridge.js +0 -87
  830. package/dist/src/backends/rvf/WasmStoreBridge.js.map +0 -1
  831. package/dist/src/backends/rvf/validation.d.ts +0 -20
  832. package/dist/src/backends/rvf/validation.d.ts.map +0 -1
  833. package/dist/src/backends/rvf/validation.js +0 -78
  834. package/dist/src/backends/rvf/validation.js.map +0 -1
  835. package/dist/src/benchmark/BenchmarkSuite.d.ts +0 -318
  836. package/dist/src/benchmark/BenchmarkSuite.d.ts.map +0 -1
  837. package/dist/src/benchmark/BenchmarkSuite.js +0 -986
  838. package/dist/src/benchmark/BenchmarkSuite.js.map +0 -1
  839. package/dist/src/benchmark/index.d.ts +0 -29
  840. package/dist/src/benchmark/index.d.ts.map +0 -1
  841. package/dist/src/benchmark/index.js +0 -39
  842. package/dist/src/benchmark/index.js.map +0 -1
  843. package/dist/src/cli/commands/hyperbolic.d.ts +0 -11
  844. package/dist/src/cli/commands/hyperbolic.d.ts.map +0 -1
  845. package/dist/src/cli/commands/hyperbolic.js +0 -428
  846. package/dist/src/cli/commands/hyperbolic.js.map +0 -1
  847. package/dist/src/cli/commands/learn.d.ts +0 -11
  848. package/dist/src/cli/commands/learn.d.ts.map +0 -1
  849. package/dist/src/cli/commands/learn.js +0 -404
  850. package/dist/src/cli/commands/learn.js.map +0 -1
  851. package/dist/src/cli/commands/route.d.ts +0 -11
  852. package/dist/src/cli/commands/route.d.ts.map +0 -1
  853. package/dist/src/cli/commands/route.js +0 -414
  854. package/dist/src/cli/commands/route.js.map +0 -1
  855. package/dist/src/cli/commands/rvf.d.ts +0 -21
  856. package/dist/src/cli/commands/rvf.d.ts.map +0 -1
  857. package/dist/src/cli/commands/rvf.js +0 -448
  858. package/dist/src/cli/commands/rvf.js.map +0 -1
  859. package/dist/src/cli/tests/agentdb-cli.test.d.ts +0 -8
  860. package/dist/src/cli/tests/agentdb-cli.test.d.ts.map +0 -1
  861. package/dist/src/cli/tests/agentdb-cli.test.js +0 -50
  862. package/dist/src/cli/tests/agentdb-cli.test.js.map +0 -1
  863. package/dist/src/cli/tests/attention-cli.test.d.ts +0 -5
  864. package/dist/src/cli/tests/attention-cli.test.d.ts.map +0 -1
  865. package/dist/src/cli/tests/attention-cli.test.js +0 -257
  866. package/dist/src/cli/tests/attention-cli.test.js.map +0 -1
  867. package/dist/src/compatibility/DeprecationWarnings.d.ts +0 -54
  868. package/dist/src/compatibility/DeprecationWarnings.d.ts.map +0 -1
  869. package/dist/src/compatibility/DeprecationWarnings.js +0 -131
  870. package/dist/src/compatibility/DeprecationWarnings.js.map +0 -1
  871. package/dist/src/compatibility/MigrationUtilities.d.ts +0 -30
  872. package/dist/src/compatibility/MigrationUtilities.d.ts.map +0 -1
  873. package/dist/src/compatibility/MigrationUtilities.js +0 -184
  874. package/dist/src/compatibility/MigrationUtilities.js.map +0 -1
  875. package/dist/src/compatibility/V1toV2Adapter.d.ts +0 -76
  876. package/dist/src/compatibility/V1toV2Adapter.d.ts.map +0 -1
  877. package/dist/src/compatibility/V1toV2Adapter.js +0 -198
  878. package/dist/src/compatibility/V1toV2Adapter.js.map +0 -1
  879. package/dist/src/compatibility/VersionDetector.d.ts +0 -32
  880. package/dist/src/compatibility/VersionDetector.d.ts.map +0 -1
  881. package/dist/src/compatibility/VersionDetector.js +0 -144
  882. package/dist/src/compatibility/VersionDetector.js.map +0 -1
  883. package/dist/src/compatibility/index.d.ts +0 -11
  884. package/dist/src/compatibility/index.d.ts.map +0 -1
  885. package/dist/src/compatibility/index.js +0 -10
  886. package/dist/src/compatibility/index.js.map +0 -1
  887. package/dist/src/compatibility/types.d.ts +0 -103
  888. package/dist/src/compatibility/types.d.ts.map +0 -1
  889. package/dist/src/compatibility/types.js +0 -5
  890. package/dist/src/compatibility/types.js.map +0 -1
  891. package/dist/src/controllers/MemoryController.d.ts +0 -161
  892. package/dist/src/controllers/MemoryController.d.ts.map +0 -1
  893. package/dist/src/controllers/MemoryController.js +0 -290
  894. package/dist/src/controllers/MemoryController.js.map +0 -1
  895. package/dist/src/controllers/attention/CrossAttentionController.d.ts +0 -141
  896. package/dist/src/controllers/attention/CrossAttentionController.d.ts.map +0 -1
  897. package/dist/src/controllers/attention/CrossAttentionController.js +0 -325
  898. package/dist/src/controllers/attention/CrossAttentionController.js.map +0 -1
  899. package/dist/src/controllers/attention/MultiHeadAttentionController.d.ts +0 -137
  900. package/dist/src/controllers/attention/MultiHeadAttentionController.d.ts.map +0 -1
  901. package/dist/src/controllers/attention/MultiHeadAttentionController.js +0 -339
  902. package/dist/src/controllers/attention/MultiHeadAttentionController.js.map +0 -1
  903. package/dist/src/controllers/attention/SelfAttentionController.d.ts +0 -117
  904. package/dist/src/controllers/attention/SelfAttentionController.d.ts.map +0 -1
  905. package/dist/src/controllers/attention/SelfAttentionController.js +0 -205
  906. package/dist/src/controllers/attention/SelfAttentionController.js.map +0 -1
  907. package/dist/src/controllers/attention/index.d.ts +0 -15
  908. package/dist/src/controllers/attention/index.d.ts.map +0 -1
  909. package/dist/src/controllers/attention/index.js +0 -12
  910. package/dist/src/controllers/attention/index.js.map +0 -1
  911. package/dist/src/core/QueryCache.d.ts +0 -138
  912. package/dist/src/core/QueryCache.d.ts.map +0 -1
  913. package/dist/src/core/QueryCache.js +0 -313
  914. package/dist/src/core/QueryCache.js.map +0 -1
  915. package/dist/src/observability/index.d.ts +0 -8
  916. package/dist/src/observability/index.d.ts.map +0 -1
  917. package/dist/src/observability/index.js +0 -8
  918. package/dist/src/observability/index.js.map +0 -1
  919. package/dist/src/observability/integration.d.ts +0 -32
  920. package/dist/src/observability/integration.d.ts.map +0 -1
  921. package/dist/src/observability/integration.js +0 -157
  922. package/dist/src/observability/integration.js.map +0 -1
  923. package/dist/src/observability/telemetry.d.ts +0 -137
  924. package/dist/src/observability/telemetry.d.ts.map +0 -1
  925. package/dist/src/observability/telemetry.js +0 -420
  926. package/dist/src/observability/telemetry.js.map +0 -1
  927. package/dist/src/quantization/index.d.ts +0 -7
  928. package/dist/src/quantization/index.d.ts.map +0 -1
  929. package/dist/src/quantization/index.js +0 -15
  930. package/dist/src/quantization/index.js.map +0 -1
  931. package/dist/src/quantization/vector-quantization.d.ts +0 -388
  932. package/dist/src/quantization/vector-quantization.d.ts.map +0 -1
  933. package/dist/src/quantization/vector-quantization.js +0 -1136
  934. package/dist/src/quantization/vector-quantization.js.map +0 -1
  935. package/dist/src/search/HybridSearch.d.ts +0 -311
  936. package/dist/src/search/HybridSearch.d.ts.map +0 -1
  937. package/dist/src/search/HybridSearch.js +0 -712
  938. package/dist/src/search/HybridSearch.js.map +0 -1
  939. package/dist/src/search/index.d.ts +0 -12
  940. package/dist/src/search/index.d.ts.map +0 -1
  941. package/dist/src/search/index.js +0 -16
  942. package/dist/src/search/index.js.map +0 -1
  943. package/dist/src/services/AttentionService.d.ts +0 -303
  944. package/dist/src/services/AttentionService.d.ts.map +0 -1
  945. package/dist/src/services/AttentionService.js +0 -1167
  946. package/dist/src/services/AttentionService.js.map +0 -1
  947. package/dist/src/simd/index.d.ts +0 -9
  948. package/dist/src/simd/index.d.ts.map +0 -1
  949. package/dist/src/simd/index.js +0 -27
  950. package/dist/src/simd/index.js.map +0 -1
  951. package/dist/src/simd/simd-vector-ops.d.ts +0 -332
  952. package/dist/src/simd/simd-vector-ops.d.ts.map +0 -1
  953. package/dist/src/simd/simd-vector-ops.js +0 -947
  954. package/dist/src/simd/simd-vector-ops.js.map +0 -1
  955. package/dist/src/tests/attention-service.test.d.ts +0 -7
  956. package/dist/src/tests/attention-service.test.d.ts.map +0 -1
  957. package/dist/src/tests/attention-service.test.js +0 -401
  958. package/dist/src/tests/attention-service.test.js.map +0 -1
  959. package/dist/src/tests/integration/compatibility/backwards-compat.integration.test.d.ts +0 -7
  960. package/dist/src/tests/integration/compatibility/backwards-compat.integration.test.d.ts.map +0 -1
  961. package/dist/src/tests/integration/compatibility/backwards-compat.integration.test.js +0 -283
  962. package/dist/src/tests/integration/compatibility/backwards-compat.integration.test.js.map +0 -1
  963. package/dist/src/tests/query-cache.test.d.ts +0 -7
  964. package/dist/src/tests/query-cache.test.d.ts.map +0 -1
  965. package/dist/src/tests/query-cache.test.js +0 -343
  966. package/dist/src/tests/query-cache.test.js.map +0 -1
  967. package/dist/src/tests/ruvector-integration.test.d.ts +0 -14
  968. package/dist/src/tests/ruvector-integration.test.d.ts.map +0 -1
  969. package/dist/src/tests/ruvector-integration.test.js +0 -1156
  970. package/dist/src/tests/ruvector-integration.test.js.map +0 -1
  971. package/dist/src/tests/unit/auth/crypto.utils.test.d.ts +0 -6
  972. package/dist/src/tests/unit/auth/crypto.utils.test.d.ts.map +0 -1
  973. package/dist/src/tests/unit/auth/crypto.utils.test.js +0 -310
  974. package/dist/src/tests/unit/auth/crypto.utils.test.js.map +0 -1
  975. package/dist/src/tests/unit/compatibility/deprecation-warnings.test.d.ts +0 -5
  976. package/dist/src/tests/unit/compatibility/deprecation-warnings.test.d.ts.map +0 -1
  977. package/dist/src/tests/unit/compatibility/deprecation-warnings.test.js +0 -207
  978. package/dist/src/tests/unit/compatibility/deprecation-warnings.test.js.map +0 -1
  979. package/dist/src/tests/unit/compatibility/migration-utils.test.d.ts +0 -5
  980. package/dist/src/tests/unit/compatibility/migration-utils.test.d.ts.map +0 -1
  981. package/dist/src/tests/unit/compatibility/migration-utils.test.js +0 -264
  982. package/dist/src/tests/unit/compatibility/migration-utils.test.js.map +0 -1
  983. package/dist/src/tests/unit/compatibility/v1-adapter.test.d.ts +0 -7
  984. package/dist/src/tests/unit/compatibility/v1-adapter.test.d.ts.map +0 -1
  985. package/dist/src/tests/unit/compatibility/v1-adapter.test.js +0 -228
  986. package/dist/src/tests/unit/compatibility/v1-adapter.test.js.map +0 -1
  987. package/dist/src/tests/unit/compatibility/version-detector.test.d.ts +0 -10
  988. package/dist/src/tests/unit/compatibility/version-detector.test.d.ts.map +0 -1
  989. package/dist/src/tests/unit/compatibility/version-detector.test.js +0 -162
  990. package/dist/src/tests/unit/compatibility/version-detector.test.js.map +0 -1
  991. package/dist/src/tests/vector-quantization.test.d.ts +0 -5
  992. package/dist/src/tests/vector-quantization.test.d.ts.map +0 -1
  993. package/dist/src/tests/vector-quantization.test.js +0 -338
  994. package/dist/src/tests/vector-quantization.test.js.map +0 -1
  995. package/dist/src/tests/wasm-vector-search.test.d.ts +0 -7
  996. package/dist/src/tests/wasm-vector-search.test.d.ts.map +0 -1
  997. package/dist/src/tests/wasm-vector-search.test.js +0 -193
  998. package/dist/src/tests/wasm-vector-search.test.js.map +0 -1
  999. package/dist/src/types/database.types.d.ts +0 -275
  1000. package/dist/src/types/database.types.d.ts.map +0 -1
  1001. package/dist/src/types/database.types.js +0 -57
  1002. package/dist/src/types/database.types.js.map +0 -1
  1003. package/dist/src/utils/chalk-fallback.d.ts +0 -3
  1004. package/dist/src/utils/chalk-fallback.d.ts.map +0 -1
  1005. package/dist/src/utils/chalk-fallback.js +0 -20
  1006. package/dist/src/utils/chalk-fallback.js.map +0 -1
  1007. package/dist/src/utils/crypto.utils.d.ts +0 -122
  1008. package/dist/src/utils/crypto.utils.d.ts.map +0 -1
  1009. package/dist/src/utils/crypto.utils.js +0 -296
  1010. package/dist/src/utils/crypto.utils.js.map +0 -1
  1011. package/dist/src/utils/similarity.d.ts +0 -11
  1012. package/dist/src/utils/similarity.d.ts.map +0 -1
  1013. package/dist/src/utils/similarity.js +0 -25
  1014. package/dist/src/utils/similarity.js.map +0 -1
  1015. package/dist/src/wasm-loader.d.ts +0 -67
  1016. package/dist/src/wasm-loader.d.ts.map +0 -1
  1017. package/dist/src/wasm-loader.js +0 -78
  1018. package/dist/src/wasm-loader.js.map +0 -1
  1019. package/dist/src/wrappers/agentdb-fast.d.ts +0 -139
  1020. package/dist/src/wrappers/agentdb-fast.d.ts.map +0 -1
  1021. package/dist/src/wrappers/agentdb-fast.js +0 -316
  1022. package/dist/src/wrappers/agentdb-fast.js.map +0 -1
  1023. package/dist/src/wrappers/attention-fallbacks.d.ts +0 -351
  1024. package/dist/src/wrappers/attention-fallbacks.d.ts.map +0 -1
  1025. package/dist/src/wrappers/attention-fallbacks.js +0 -1487
  1026. package/dist/src/wrappers/attention-fallbacks.js.map +0 -1
  1027. package/dist/src/wrappers/embedding-service.d.ts +0 -117
  1028. package/dist/src/wrappers/embedding-service.d.ts.map +0 -1
  1029. package/dist/src/wrappers/embedding-service.js +0 -376
  1030. package/dist/src/wrappers/embedding-service.js.map +0 -1
  1031. package/dist/src/wrappers/gnn-wrapper.d.ts +0 -71
  1032. package/dist/src/wrappers/gnn-wrapper.d.ts.map +0 -1
  1033. package/dist/src/wrappers/gnn-wrapper.js +0 -240
  1034. package/dist/src/wrappers/gnn-wrapper.js.map +0 -1
  1035. package/dist/src/wrappers/index.d.ts +0 -48
  1036. package/dist/src/wrappers/index.d.ts.map +0 -1
  1037. package/dist/src/wrappers/index.js +0 -83
  1038. package/dist/src/wrappers/index.js.map +0 -1
@@ -1,947 +0,0 @@
1
- /**
2
- * SIMD-Accelerated Vector Operations for AgentDB
3
- *
4
- * High-performance vector operations with WebAssembly SIMD acceleration.
5
- * Provides 2-8x speedup over standard JavaScript implementations through:
6
- * - 8x loop unrolling with separate accumulators for Instruction-Level Parallelism (ILP)
7
- * - Pre-allocated buffer pools to minimize GC pressure
8
- * - SIMD detection and graceful fallback to optimized scalar code
9
- * - Batch operations for cache-friendly memory access patterns
10
- *
11
- * @module simd-vector-ops
12
- */
13
- // ============================================================================
14
- // Performance & Security Constants
15
- // ============================================================================
16
- /** @inline Maximum allowed vector dimension to prevent DoS via large allocations */
17
- export const MAX_VECTOR_DIMENSION = 4096;
18
- /** @inline Maximum buffer pool size per dimension bucket */
19
- const MAX_BUFFER_POOL_SIZE = 128;
20
- /** @inline Maximum batch size for optimal cache utilization */
21
- export const MAX_BATCH_SIZE = 10000;
22
- /** @inline Default cache size for embedding storage */
23
- export const DEFAULT_CACHE_SIZE = 10000;
24
- /** @inline Small epsilon for numerical stability */
25
- const EPSILON = 1e-10;
26
- // ============================================================================
27
- // Input Validation Helpers
28
- // ============================================================================
29
- /**
30
- * Validate that a value is a valid Float32Array
31
- */
32
- function validateFloat32Array(arr, name) {
33
- if (arr === null || arr === undefined) {
34
- throw new Error(`${name} cannot be null or undefined`);
35
- }
36
- if (!(arr instanceof Float32Array)) {
37
- throw new Error(`${name} must be a Float32Array`);
38
- }
39
- }
40
- /**
41
- * Validate vector dimension is within safe limits
42
- */
43
- function validateDimension(dimension, name = 'dimension') {
44
- if (!Number.isFinite(dimension) || dimension < 0) {
45
- throw new Error(`${name} must be a non-negative finite number`);
46
- }
47
- if (dimension > MAX_VECTOR_DIMENSION) {
48
- throw new Error(`${name} exceeds maximum allowed size of ${MAX_VECTOR_DIMENSION}`);
49
- }
50
- }
51
- /**
52
- * Check if a number is valid (not NaN, not Infinity)
53
- */
54
- function isValidNumber(n) {
55
- return Number.isFinite(n);
56
- }
57
- // ============================================================================
58
- // SIMD Detection
59
- // ============================================================================
60
- /**
61
- * WebAssembly SIMD feature detection
62
- *
63
- * Tests for SIMD support by attempting to validate a minimal WASM module
64
- * that uses SIMD instructions (v128.const and i8x16.extract_lane_s)
65
- */
66
- let _simdSupported = null;
67
- /**
68
- * Detect WebAssembly SIMD support
69
- *
70
- * This function caches the result after first call for performance.
71
- * The detection is done by validating a minimal WASM module containing
72
- * SIMD instructions.
73
- *
74
- * @returns true if SIMD is supported, false otherwise
75
- */
76
- export function detectSIMDSupport() {
77
- if (_simdSupported !== null) {
78
- return _simdSupported;
79
- }
80
- try {
81
- // Minimal WASM module with SIMD instructions:
82
- // - v128.const: Creates a 128-bit vector constant
83
- // - i8x16.extract_lane_s: Extracts a signed byte from the vector
84
- //
85
- // If the browser/runtime supports SIMD, this module will validate successfully
86
- const simdTestModule = new Uint8Array([
87
- 0x00, 0x61, 0x73, 0x6d, // WASM magic number
88
- 0x01, 0x00, 0x00, 0x00, // Version 1
89
- 0x01, 0x05, 0x01, 0x60, // Type section: function type () -> i32
90
- 0x00, 0x01, 0x7f,
91
- 0x03, 0x02, 0x01, 0x00, // Function section: 1 function of type 0
92
- 0x0a, 0x16, 0x01, 0x14, // Code section
93
- 0x00, // No locals
94
- 0xfd, 0x0c, // v128.const
95
- 0x00, 0x00, 0x00, 0x00, // Vector constant (16 bytes)
96
- 0x00, 0x00, 0x00, 0x00,
97
- 0x00, 0x00, 0x00, 0x00,
98
- 0x00, 0x00, 0x00, 0x00,
99
- 0xfd, 0x15, 0x00, // i8x16.extract_lane_s 0
100
- 0x0b // end
101
- ]);
102
- // eslint-disable-next-line @typescript-eslint/no-explicit-any -- WebAssembly runtime detection requires dynamic access
103
- const globalAny = globalThis;
104
- _simdSupported =
105
- typeof globalAny.WebAssembly !== 'undefined' &&
106
- typeof globalAny.WebAssembly.validate === 'function' &&
107
- globalAny.WebAssembly.validate(simdTestModule);
108
- }
109
- catch {
110
- _simdSupported = false;
111
- }
112
- // @inline Ensure we always return boolean (not null)
113
- return _simdSupported === true;
114
- }
115
- /**
116
- * Alternative SIMD detection using the simpler v128.const check
117
- * This is the same check used in WASMVectorSearch for consistency
118
- */
119
- export function detectSIMDSupportLegacy() {
120
- try {
121
- // eslint-disable-next-line @typescript-eslint/no-explicit-any -- WebAssembly runtime detection requires dynamic access
122
- const globalAny = globalThis;
123
- return (typeof globalAny.WebAssembly !== 'undefined' &&
124
- globalAny.WebAssembly.validate(new Uint8Array([
125
- 0, 97, 115, 109, 1, 0, 0, 0, 1, 5, 1, 96, 0, 1, 123, 3, 2, 1, 0, 10,
126
- 10, 1, 8, 0, 65, 0, 253, 15, 253, 98, 11,
127
- ])));
128
- }
129
- catch {
130
- return false;
131
- }
132
- }
133
- // ============================================================================
134
- // Optimized Scalar Operations (8x Unrolled with ILP)
135
- // ============================================================================
136
- /**
137
- * Calculate cosine similarity with 8x loop unrolling and ILP
138
- *
139
- * Uses 8 separate accumulators to maximize instruction-level parallelism.
140
- * Modern CPUs can execute multiple independent operations in parallel,
141
- * and separate accumulators prevent data dependencies between iterations.
142
- *
143
- * Performance characteristics:
144
- * - 8x unrolling reduces loop overhead by 87.5%
145
- * - Separate accumulators enable out-of-order execution
146
- * - Final reduction combines accumulators efficiently
147
- *
148
- * @param a - First vector (Float32Array)
149
- * @param b - Second vector (Float32Array)
150
- * @returns Cosine similarity in range [-1, 1]
151
- * @throws Error if vectors have different lengths
152
- */
153
- export function cosineSimilaritySIMD(a, b) {
154
- // Input validation
155
- validateFloat32Array(a, 'First vector (a)');
156
- validateFloat32Array(b, 'Second vector (b)');
157
- const len = a.length;
158
- if (len !== b.length) {
159
- throw new Error(`Vector length mismatch: ${len} vs ${b.length}. Vectors must have same dimension.`);
160
- }
161
- validateDimension(len, 'Vector length');
162
- if (len === 0) {
163
- return 0;
164
- }
165
- // 8 separate accumulators for instruction-level parallelism
166
- // This allows the CPU to execute up to 8 multiply-accumulate operations
167
- // in parallel across different execution units
168
- let dot0 = 0, dot1 = 0, dot2 = 0, dot3 = 0, dot4 = 0, dot5 = 0, dot6 = 0, dot7 = 0;
169
- let normA0 = 0, normA1 = 0, normA2 = 0, normA3 = 0, normA4 = 0, normA5 = 0, normA6 = 0, normA7 = 0;
170
- let normB0 = 0, normB1 = 0, normB2 = 0, normB3 = 0, normB4 = 0, normB5 = 0, normB6 = 0, normB7 = 0;
171
- // Process 8 elements at a time
172
- const loopEnd = len - (len % 8);
173
- for (let i = 0; i < loopEnd; i += 8) {
174
- // Load 8 elements from each vector
175
- const a0 = a[i], a1 = a[i + 1], a2 = a[i + 2], a3 = a[i + 3];
176
- const a4 = a[i + 4], a5 = a[i + 5], a6 = a[i + 6], a7 = a[i + 7];
177
- const b0 = b[i], b1 = b[i + 1], b2 = b[i + 2], b3 = b[i + 3];
178
- const b4 = b[i + 4], b5 = b[i + 5], b6 = b[i + 6], b7 = b[i + 7];
179
- // Accumulate dot products (independent operations for ILP)
180
- dot0 += a0 * b0;
181
- dot1 += a1 * b1;
182
- dot2 += a2 * b2;
183
- dot3 += a3 * b3;
184
- dot4 += a4 * b4;
185
- dot5 += a5 * b5;
186
- dot6 += a6 * b6;
187
- dot7 += a7 * b7;
188
- // Accumulate norms for vector a
189
- normA0 += a0 * a0;
190
- normA1 += a1 * a1;
191
- normA2 += a2 * a2;
192
- normA3 += a3 * a3;
193
- normA4 += a4 * a4;
194
- normA5 += a5 * a5;
195
- normA6 += a6 * a6;
196
- normA7 += a7 * a7;
197
- // Accumulate norms for vector b
198
- normB0 += b0 * b0;
199
- normB1 += b1 * b1;
200
- normB2 += b2 * b2;
201
- normB3 += b3 * b3;
202
- normB4 += b4 * b4;
203
- normB5 += b5 * b5;
204
- normB6 += b6 * b6;
205
- normB7 += b7 * b7;
206
- }
207
- // Handle remaining elements (up to 7)
208
- let dotRem = 0, normARem = 0, normBRem = 0;
209
- for (let i = loopEnd; i < len; i++) {
210
- const ai = a[i], bi = b[i];
211
- dotRem += ai * bi;
212
- normARem += ai * ai;
213
- normBRem += bi * bi;
214
- }
215
- // Reduce accumulators (tree reduction for numerical stability)
216
- const dotProduct = dot0 +
217
- dot1 +
218
- dot2 +
219
- dot3 +
220
- dot4 +
221
- dot5 +
222
- dot6 +
223
- dot7 +
224
- dotRem;
225
- const normA = normA0 +
226
- normA1 +
227
- normA2 +
228
- normA3 +
229
- normA4 +
230
- normA5 +
231
- normA6 +
232
- normA7 +
233
- normARem;
234
- const normB = normB0 +
235
- normB1 +
236
- normB2 +
237
- normB3 +
238
- normB4 +
239
- normB5 +
240
- normB6 +
241
- normB7 +
242
- normBRem;
243
- // @inline Compute final similarity with numerical stability check
244
- // Combined sqrt(a*b) is faster than sqrt(a)*sqrt(b) and more numerically stable
245
- const denom = Math.sqrt(normA * normB);
246
- if (denom < EPSILON || !isValidNumber(denom)) {
247
- return 0;
248
- }
249
- // Clamp to [-1, 1] to handle floating point errors
250
- const similarity = dotProduct / denom;
251
- // Guard against NaN/Infinity from floating point issues
252
- if (!isValidNumber(similarity)) {
253
- return 0;
254
- }
255
- // @inline Branchless clamp is slightly faster than Math.max/min
256
- return similarity > 1 ? 1 : similarity < -1 ? -1 : similarity;
257
- }
258
- /**
259
- * Calculate Euclidean (L2) distance with 8x loop unrolling
260
- *
261
- * Uses the same ILP optimization as cosine similarity.
262
- *
263
- * @param a - First vector (Float32Array)
264
- * @param b - Second vector (Float32Array)
265
- * @returns Euclidean distance (non-negative)
266
- * @throws Error if vectors have different lengths
267
- */
268
- export function euclideanDistanceSIMD(a, b) {
269
- // Input validation
270
- validateFloat32Array(a, 'First vector (a)');
271
- validateFloat32Array(b, 'Second vector (b)');
272
- const len = a.length;
273
- if (len !== b.length) {
274
- throw new Error(`Vector length mismatch: ${len} vs ${b.length}. Vectors must have same dimension.`);
275
- }
276
- validateDimension(len, 'Vector length');
277
- if (len === 0) {
278
- return 0;
279
- }
280
- // 8 separate accumulators for ILP
281
- let sum0 = 0, sum1 = 0, sum2 = 0, sum3 = 0, sum4 = 0, sum5 = 0, sum6 = 0, sum7 = 0;
282
- const loopEnd = len - (len % 8);
283
- for (let i = 0; i < loopEnd; i += 8) {
284
- // Compute squared differences
285
- const d0 = a[i] - b[i];
286
- const d1 = a[i + 1] - b[i + 1];
287
- const d2 = a[i + 2] - b[i + 2];
288
- const d3 = a[i + 3] - b[i + 3];
289
- const d4 = a[i + 4] - b[i + 4];
290
- const d5 = a[i + 5] - b[i + 5];
291
- const d6 = a[i + 6] - b[i + 6];
292
- const d7 = a[i + 7] - b[i + 7];
293
- // Accumulate squared distances (independent for ILP)
294
- sum0 += d0 * d0;
295
- sum1 += d1 * d1;
296
- sum2 += d2 * d2;
297
- sum3 += d3 * d3;
298
- sum4 += d4 * d4;
299
- sum5 += d5 * d5;
300
- sum6 += d6 * d6;
301
- sum7 += d7 * d7;
302
- }
303
- // Handle remainder
304
- let sumRem = 0;
305
- for (let i = loopEnd; i < len; i++) {
306
- const d = a[i] - b[i];
307
- sumRem += d * d;
308
- }
309
- // @inline Pairwise reduction for better numerical stability
310
- const total = (sum0 + sum1) + (sum2 + sum3) + (sum4 + sum5) + (sum6 + sum7) + sumRem;
311
- return Math.sqrt(total);
312
- }
313
- /**
314
- * Calculate squared Euclidean distance (faster than euclideanDistanceSIMD)
315
- *
316
- * Useful when you only need to compare distances (skip the sqrt).
317
- *
318
- * @param a - First vector
319
- * @param b - Second vector
320
- * @returns Squared Euclidean distance
321
- */
322
- export function euclideanDistanceSquaredSIMD(a, b) {
323
- // Input validation
324
- validateFloat32Array(a, 'First vector (a)');
325
- validateFloat32Array(b, 'Second vector (b)');
326
- const len = a.length;
327
- if (len !== b.length) {
328
- throw new Error(`Vector length mismatch: ${len} vs ${b.length}`);
329
- }
330
- validateDimension(len, 'Vector length');
331
- let sum0 = 0, sum1 = 0, sum2 = 0, sum3 = 0, sum4 = 0, sum5 = 0, sum6 = 0, sum7 = 0;
332
- const loopEnd = len - (len % 8);
333
- for (let i = 0; i < loopEnd; i += 8) {
334
- const d0 = a[i] - b[i];
335
- const d1 = a[i + 1] - b[i + 1];
336
- const d2 = a[i + 2] - b[i + 2];
337
- const d3 = a[i + 3] - b[i + 3];
338
- const d4 = a[i + 4] - b[i + 4];
339
- const d5 = a[i + 5] - b[i + 5];
340
- const d6 = a[i + 6] - b[i + 6];
341
- const d7 = a[i + 7] - b[i + 7];
342
- sum0 += d0 * d0;
343
- sum1 += d1 * d1;
344
- sum2 += d2 * d2;
345
- sum3 += d3 * d3;
346
- sum4 += d4 * d4;
347
- sum5 += d5 * d5;
348
- sum6 += d6 * d6;
349
- sum7 += d7 * d7;
350
- }
351
- let sumRem = 0;
352
- for (let i = loopEnd; i < len; i++) {
353
- const d = a[i] - b[i];
354
- sumRem += d * d;
355
- }
356
- return sum0 + sum1 + sum2 + sum3 + sum4 + sum5 + sum6 + sum7 + sumRem;
357
- }
358
- /**
359
- * Calculate dot product with 8x loop unrolling
360
- *
361
- * @param a - First vector
362
- * @param b - Second vector
363
- * @returns Dot product
364
- */
365
- export function dotProductSIMD(a, b) {
366
- // Input validation
367
- validateFloat32Array(a, 'First vector (a)');
368
- validateFloat32Array(b, 'Second vector (b)');
369
- const len = a.length;
370
- if (len !== b.length) {
371
- throw new Error(`Vector length mismatch: ${len} vs ${b.length}`);
372
- }
373
- validateDimension(len, 'Vector length');
374
- let dot0 = 0, dot1 = 0, dot2 = 0, dot3 = 0, dot4 = 0, dot5 = 0, dot6 = 0, dot7 = 0;
375
- const loopEnd = len - (len % 8);
376
- for (let i = 0; i < loopEnd; i += 8) {
377
- dot0 += a[i] * b[i];
378
- dot1 += a[i + 1] * b[i + 1];
379
- dot2 += a[i + 2] * b[i + 2];
380
- dot3 += a[i + 3] * b[i + 3];
381
- dot4 += a[i + 4] * b[i + 4];
382
- dot5 += a[i + 5] * b[i + 5];
383
- dot6 += a[i + 6] * b[i + 6];
384
- dot7 += a[i + 7] * b[i + 7];
385
- }
386
- let dotRem = 0;
387
- for (let i = loopEnd; i < len; i++) {
388
- dotRem += a[i] * b[i];
389
- }
390
- return dot0 + dot1 + dot2 + dot3 + dot4 + dot5 + dot6 + dot7 + dotRem;
391
- }
392
- /**
393
- * Calculate L2 norm (magnitude) of a vector with 8x unrolling
394
- *
395
- * @param v - Input vector
396
- * @returns L2 norm
397
- */
398
- export function l2NormSIMD(v) {
399
- // Input validation
400
- validateFloat32Array(v, 'Vector');
401
- const len = v.length;
402
- validateDimension(len, 'Vector length');
403
- let sum0 = 0, sum1 = 0, sum2 = 0, sum3 = 0, sum4 = 0, sum5 = 0, sum6 = 0, sum7 = 0;
404
- const loopEnd = len - (len % 8);
405
- for (let i = 0; i < loopEnd; i += 8) {
406
- const v0 = v[i], v1 = v[i + 1], v2 = v[i + 2], v3 = v[i + 3];
407
- const v4 = v[i + 4], v5 = v[i + 5], v6 = v[i + 6], v7 = v[i + 7];
408
- sum0 += v0 * v0;
409
- sum1 += v1 * v1;
410
- sum2 += v2 * v2;
411
- sum3 += v3 * v3;
412
- sum4 += v4 * v4;
413
- sum5 += v5 * v5;
414
- sum6 += v6 * v6;
415
- sum7 += v7 * v7;
416
- }
417
- let sumRem = 0;
418
- for (let i = loopEnd; i < len; i++) {
419
- sumRem += v[i] * v[i];
420
- }
421
- return Math.sqrt(sum0 + sum1 + sum2 + sum3 + sum4 + sum5 + sum6 + sum7 + sumRem);
422
- }
423
- // ============================================================================
424
- // Vector Normalization
425
- // ============================================================================
426
- /**
427
- * Normalize a vector to unit length (in-place)
428
- *
429
- * @param v - Vector to normalize (modified in-place)
430
- * @returns The same vector, normalized
431
- */
432
- export function normalizeVectorInPlace(v) {
433
- const norm = l2NormSIMD(v);
434
- if (norm === 0) {
435
- return v;
436
- }
437
- const invNorm = 1 / norm;
438
- const len = v.length;
439
- const loopEnd = len - (len % 8);
440
- // 8x unrolled normalization
441
- for (let i = 0; i < loopEnd; i += 8) {
442
- v[i] *= invNorm;
443
- v[i + 1] *= invNorm;
444
- v[i + 2] *= invNorm;
445
- v[i + 3] *= invNorm;
446
- v[i + 4] *= invNorm;
447
- v[i + 5] *= invNorm;
448
- v[i + 6] *= invNorm;
449
- v[i + 7] *= invNorm;
450
- }
451
- for (let i = loopEnd; i < len; i++) {
452
- v[i] *= invNorm;
453
- }
454
- return v;
455
- }
456
- /**
457
- * Create a normalized copy of a vector
458
- *
459
- * @param v - Input vector
460
- * @returns New normalized vector
461
- */
462
- export function normalizeVector(v) {
463
- const result = new Float32Array(v);
464
- return normalizeVectorInPlace(result);
465
- }
466
- // ============================================================================
467
- // Batch Operations
468
- // ============================================================================
469
- /**
470
- * Batch cosine similarity calculation with early termination optimization
471
- *
472
- * Efficiently computes similarities between a query vector and multiple
473
- * candidate vectors. Uses cache-friendly memory access patterns.
474
- *
475
- * @inline V8 optimization hint - hot path function
476
- * @param query - Query vector
477
- * @param vectors - Array of candidate vectors
478
- * @param options - Optional configuration
479
- * @returns Array of similarity scores (same order as input vectors)
480
- */
481
- export function batchCosineSimilarity(query, vectors, options) {
482
- // @inline Force integer for loop optimization
483
- const vectorCount = vectors.length | 0;
484
- const threshold = options?.threshold ?? -Infinity;
485
- const topK = options?.topK;
486
- const earlyTermThreshold = options?.earlyTerminationThreshold ?? 0.9999;
487
- const results = [];
488
- // @inline Track perfect matches for early termination
489
- let perfectMatches = 0;
490
- const maxPerfectMatches = topK ?? 10;
491
- // Process all vectors
492
- for (let i = 0; i < vectorCount; i++) {
493
- const similarity = cosineSimilaritySIMD(query, vectors[i]);
494
- if (similarity >= threshold) {
495
- results.push({
496
- index: i,
497
- similarity,
498
- });
499
- // @inline Early termination check for perfect matches
500
- if (similarity >= earlyTermThreshold) {
501
- perfectMatches++;
502
- if (topK && perfectMatches >= maxPerfectMatches) {
503
- break; // Early termination - found enough high-quality matches
504
- }
505
- }
506
- }
507
- }
508
- // Sort by similarity (descending)
509
- results.sort((a, b) => b.similarity - a.similarity);
510
- // Return top-k if specified
511
- if (topK !== undefined && topK > 0) {
512
- return results.slice(0, topK);
513
- }
514
- return results;
515
- }
516
- /**
517
- * Batch Euclidean distance calculation with early termination
518
- *
519
- * @inline V8 optimization hint - hot path function
520
- * @param query - Query vector
521
- * @param vectors - Array of candidate vectors
522
- * @param options - Optional configuration
523
- * @returns Array of distance results (same order as input vectors)
524
- */
525
- export function batchEuclideanDistance(query, vectors, options) {
526
- // @inline Force integer for loop optimization
527
- const vectorCount = vectors.length | 0;
528
- const maxDist = options?.maxDistance ?? Infinity;
529
- const useSquared = options?.squared ?? false;
530
- const topK = options?.topK;
531
- const earlyTermDist = options?.earlyTerminationDistance ?? 0.0001;
532
- // @inline Select distance function once outside loop
533
- const distFn = useSquared ? euclideanDistanceSquaredSIMD : euclideanDistanceSIMD;
534
- const results = [];
535
- let nearPerfectMatches = 0;
536
- const maxNearPerfect = topK ?? 10;
537
- for (let i = 0; i < vectorCount; i++) {
538
- const distance = distFn(query, vectors[i]);
539
- if (distance <= maxDist) {
540
- results.push({
541
- index: i,
542
- similarity: 1 / (1 + distance), // Convert to similarity-like score
543
- distance,
544
- });
545
- // @inline Early termination for near-zero distances
546
- if (distance <= earlyTermDist) {
547
- nearPerfectMatches++;
548
- if (topK && nearPerfectMatches >= maxNearPerfect) {
549
- break;
550
- }
551
- }
552
- }
553
- }
554
- // Sort by distance (ascending)
555
- results.sort((a, b) => (a.distance ?? 0) - (b.distance ?? 0));
556
- if (topK !== undefined && topK > 0) {
557
- return results.slice(0, topK);
558
- }
559
- return results;
560
- }
561
- // ============================================================================
562
- // Buffer Pool for Memory Efficiency
563
- // ============================================================================
564
- /**
565
- * Pre-allocated buffer pool to reduce GC pressure
566
- *
567
- * Reuses Float32Array buffers for temporary computations,
568
- * avoiding frequent memory allocations during vector operations.
569
- */
570
- class BufferPool {
571
- pools = new Map();
572
- maxPoolSize;
573
- stats = {
574
- allocations: 0,
575
- reuses: 0,
576
- returns: 0,
577
- };
578
- constructor(maxPoolSize = 32) {
579
- // Enforce maximum pool size limit for security
580
- this.maxPoolSize = Math.min(Math.max(1, maxPoolSize), MAX_BUFFER_POOL_SIZE);
581
- }
582
- /**
583
- * Acquire a buffer of the specified size
584
- */
585
- acquire(size) {
586
- // Validate size to prevent DoS
587
- if (!Number.isFinite(size) || size < 0 || size > MAX_VECTOR_DIMENSION) {
588
- throw new Error(`Invalid buffer size: ${size}. Must be between 0 and ${MAX_VECTOR_DIMENSION}`);
589
- }
590
- const pool = this.pools.get(size);
591
- if (pool && pool.length > 0) {
592
- this.stats.reuses++;
593
- return pool.pop();
594
- }
595
- this.stats.allocations++;
596
- return new Float32Array(size);
597
- }
598
- /**
599
- * Return a buffer to the pool
600
- */
601
- release(buffer) {
602
- const size = buffer.length;
603
- let pool = this.pools.get(size);
604
- if (!pool) {
605
- pool = [];
606
- this.pools.set(size, pool);
607
- }
608
- if (pool.length < this.maxPoolSize) {
609
- // Zero the buffer before returning to pool (security)
610
- buffer.fill(0);
611
- pool.push(buffer);
612
- this.stats.returns++;
613
- }
614
- // If pool is full, buffer will be garbage collected
615
- }
616
- /**
617
- * Get pool statistics
618
- */
619
- getStats() {
620
- return {
621
- ...this.stats,
622
- poolSizes: Array.from(this.pools.keys()),
623
- };
624
- }
625
- /**
626
- * Clear all pools
627
- */
628
- clear() {
629
- this.pools.clear();
630
- }
631
- }
632
- // ============================================================================
633
- // SIMDVectorOps Class
634
- // ============================================================================
635
- /**
636
- * SIMD-accelerated vector operations manager
637
- *
638
- * Provides a stateful wrapper around vector operations with:
639
- * - Automatic SIMD detection
640
- * - Pre-allocated buffer pools
641
- * - Operation statistics tracking
642
- * - Configurable behavior
643
- */
644
- export class SIMDVectorOps {
645
- config;
646
- simdEnabled;
647
- bufferPool;
648
- stats;
649
- constructor(config) {
650
- this.config = {
651
- enableSIMD: config?.enableSIMD ?? true,
652
- bufferPoolSize: config?.bufferPoolSize ?? 32,
653
- defaultDimension: config?.defaultDimension ?? 384,
654
- enableLogging: config?.enableLogging ?? false,
655
- };
656
- // Detect SIMD support
657
- this.simdEnabled = this.config.enableSIMD && detectSIMDSupport();
658
- // Initialize buffer pool
659
- this.bufferPool = new BufferPool(this.config.bufferPoolSize);
660
- // Initialize stats
661
- this.stats = {
662
- simdEnabled: this.simdEnabled,
663
- vectorsProcessed: 0,
664
- operationsCount: 0,
665
- buffersInPool: 0,
666
- peakBufferUsage: 0,
667
- };
668
- if (this.config.enableLogging) {
669
- console.log(`[SIMDVectorOps] Initialized with SIMD ${this.simdEnabled ? 'enabled' : 'disabled'}`);
670
- }
671
- }
672
- /**
673
- * Calculate cosine similarity between two vectors
674
- */
675
- cosineSimilarity(a, b) {
676
- this.stats.operationsCount++;
677
- this.stats.vectorsProcessed += 2;
678
- return cosineSimilaritySIMD(a, b);
679
- }
680
- /**
681
- * Calculate Euclidean distance between two vectors
682
- */
683
- euclideanDistance(a, b) {
684
- this.stats.operationsCount++;
685
- this.stats.vectorsProcessed += 2;
686
- return euclideanDistanceSIMD(a, b);
687
- }
688
- /**
689
- * Calculate squared Euclidean distance (faster for comparisons)
690
- */
691
- euclideanDistanceSquared(a, b) {
692
- this.stats.operationsCount++;
693
- this.stats.vectorsProcessed += 2;
694
- return euclideanDistanceSquaredSIMD(a, b);
695
- }
696
- /**
697
- * Calculate dot product
698
- */
699
- dotProduct(a, b) {
700
- this.stats.operationsCount++;
701
- this.stats.vectorsProcessed += 2;
702
- return dotProductSIMD(a, b);
703
- }
704
- /**
705
- * Calculate L2 norm
706
- */
707
- l2Norm(v) {
708
- this.stats.operationsCount++;
709
- this.stats.vectorsProcessed++;
710
- return l2NormSIMD(v);
711
- }
712
- /**
713
- * Normalize a vector (creates a copy)
714
- */
715
- normalize(v) {
716
- this.stats.operationsCount++;
717
- this.stats.vectorsProcessed++;
718
- return normalizeVector(v);
719
- }
720
- /**
721
- * Normalize a vector in place
722
- */
723
- normalizeInPlace(v) {
724
- this.stats.operationsCount++;
725
- this.stats.vectorsProcessed++;
726
- return normalizeVectorInPlace(v);
727
- }
728
- /**
729
- * Batch cosine similarity
730
- */
731
- batchCosineSimilarity(query, vectors, options) {
732
- this.stats.operationsCount++;
733
- this.stats.vectorsProcessed += 1 + vectors.length;
734
- return batchCosineSimilarity(query, vectors, options);
735
- }
736
- /**
737
- * Batch Euclidean distance
738
- */
739
- batchEuclideanDistance(query, vectors, options) {
740
- this.stats.operationsCount++;
741
- this.stats.vectorsProcessed += 1 + vectors.length;
742
- return batchEuclideanDistance(query, vectors, options);
743
- }
744
- /**
745
- * Acquire a temporary buffer from the pool
746
- */
747
- acquireBuffer(size) {
748
- const bufferSize = size ?? this.config.defaultDimension;
749
- this.stats.peakBufferUsage = Math.max(this.stats.peakBufferUsage, this.stats.buffersInPool + 1);
750
- return this.bufferPool.acquire(bufferSize);
751
- }
752
- /**
753
- * Release a buffer back to the pool
754
- */
755
- releaseBuffer(buffer) {
756
- this.bufferPool.release(buffer);
757
- }
758
- /**
759
- * Get operation statistics
760
- */
761
- getStats() {
762
- const poolStats = this.bufferPool.getStats();
763
- return {
764
- ...this.stats,
765
- buffersInPool: poolStats.poolSizes.length,
766
- };
767
- }
768
- /**
769
- * Reset statistics
770
- */
771
- resetStats() {
772
- this.stats = {
773
- simdEnabled: this.simdEnabled,
774
- vectorsProcessed: 0,
775
- operationsCount: 0,
776
- buffersInPool: 0,
777
- peakBufferUsage: 0,
778
- };
779
- }
780
- /**
781
- * Check if SIMD is enabled
782
- */
783
- isSIMDEnabled() {
784
- return this.simdEnabled;
785
- }
786
- /**
787
- * Clear buffer pools
788
- */
789
- clearBufferPool() {
790
- this.bufferPool.clear();
791
- }
792
- }
793
- // ============================================================================
794
- // Utility Functions
795
- // ============================================================================
796
- /**
797
- * Create a Float32Array from various input types
798
- *
799
- * @param data - Input data (array of numbers, ArrayBuffer, or existing Float32Array)
800
- * @returns Float32Array
801
- */
802
- export function toFloat32Array(data) {
803
- if (data instanceof Float32Array) {
804
- return data;
805
- }
806
- if (data instanceof ArrayBuffer) {
807
- return new Float32Array(data);
808
- }
809
- return new Float32Array(data);
810
- }
811
- /**
812
- * Create random unit vector for testing
813
- *
814
- * @param dimension - Vector dimension
815
- * @returns Normalized random vector
816
- */
817
- export function randomUnitVector(dimension) {
818
- // Input validation to prevent DoS via large allocations
819
- if (!Number.isFinite(dimension) || dimension < 0 || !Number.isInteger(dimension)) {
820
- throw new Error('Dimension must be a non-negative integer');
821
- }
822
- validateDimension(dimension, 'Dimension');
823
- const v = new Float32Array(dimension);
824
- for (let i = 0; i < dimension; i++) {
825
- v[i] = Math.random() * 2 - 1;
826
- }
827
- return normalizeVector(v);
828
- }
829
- /**
830
- * Vector addition with 8x unrolling
831
- *
832
- * @param a - First vector
833
- * @param b - Second vector
834
- * @param out - Optional output buffer (creates new if not provided)
835
- * @returns Result vector (a + b)
836
- */
837
- export function vectorAdd(a, b, out) {
838
- const len = a.length;
839
- const result = out ?? new Float32Array(len);
840
- const loopEnd = len - (len % 8);
841
- for (let i = 0; i < loopEnd; i += 8) {
842
- result[i] = a[i] + b[i];
843
- result[i + 1] = a[i + 1] + b[i + 1];
844
- result[i + 2] = a[i + 2] + b[i + 2];
845
- result[i + 3] = a[i + 3] + b[i + 3];
846
- result[i + 4] = a[i + 4] + b[i + 4];
847
- result[i + 5] = a[i + 5] + b[i + 5];
848
- result[i + 6] = a[i + 6] + b[i + 6];
849
- result[i + 7] = a[i + 7] + b[i + 7];
850
- }
851
- for (let i = loopEnd; i < len; i++) {
852
- result[i] = a[i] + b[i];
853
- }
854
- return result;
855
- }
856
- /**
857
- * Vector subtraction with 8x unrolling
858
- *
859
- * @param a - First vector
860
- * @param b - Second vector
861
- * @param out - Optional output buffer
862
- * @returns Result vector (a - b)
863
- */
864
- export function vectorSub(a, b, out) {
865
- const len = a.length;
866
- const result = out ?? new Float32Array(len);
867
- const loopEnd = len - (len % 8);
868
- for (let i = 0; i < loopEnd; i += 8) {
869
- result[i] = a[i] - b[i];
870
- result[i + 1] = a[i + 1] - b[i + 1];
871
- result[i + 2] = a[i + 2] - b[i + 2];
872
- result[i + 3] = a[i + 3] - b[i + 3];
873
- result[i + 4] = a[i + 4] - b[i + 4];
874
- result[i + 5] = a[i + 5] - b[i + 5];
875
- result[i + 6] = a[i + 6] - b[i + 6];
876
- result[i + 7] = a[i + 7] - b[i + 7];
877
- }
878
- for (let i = loopEnd; i < len; i++) {
879
- result[i] = a[i] - b[i];
880
- }
881
- return result;
882
- }
883
- /**
884
- * Scalar multiplication with 8x unrolling
885
- *
886
- * @param v - Input vector
887
- * @param scalar - Scalar multiplier
888
- * @param out - Optional output buffer
889
- * @returns Result vector (v * scalar)
890
- */
891
- export function vectorScale(v, scalar, out) {
892
- const len = v.length;
893
- const result = out ?? new Float32Array(len);
894
- const loopEnd = len - (len % 8);
895
- for (let i = 0; i < loopEnd; i += 8) {
896
- result[i] = v[i] * scalar;
897
- result[i + 1] = v[i + 1] * scalar;
898
- result[i + 2] = v[i + 2] * scalar;
899
- result[i + 3] = v[i + 3] * scalar;
900
- result[i + 4] = v[i + 4] * scalar;
901
- result[i + 5] = v[i + 5] * scalar;
902
- result[i + 6] = v[i + 6] * scalar;
903
- result[i + 7] = v[i + 7] * scalar;
904
- }
905
- for (let i = loopEnd; i < len; i++) {
906
- result[i] = v[i] * scalar;
907
- }
908
- return result;
909
- }
910
- // ============================================================================
911
- // Default Export
912
- // ============================================================================
913
- /**
914
- * Default SIMD vector operations instance
915
- *
916
- * Pre-configured with sensible defaults. For custom configuration,
917
- * create a new SIMDVectorOps instance.
918
- */
919
- export const defaultSIMDOps = new SIMDVectorOps();
920
- export default {
921
- // Core operations
922
- cosineSimilaritySIMD,
923
- euclideanDistanceSIMD,
924
- euclideanDistanceSquaredSIMD,
925
- dotProductSIMD,
926
- l2NormSIMD,
927
- // Normalization
928
- normalizeVector,
929
- normalizeVectorInPlace,
930
- // Batch operations
931
- batchCosineSimilarity,
932
- batchEuclideanDistance,
933
- // Vector math
934
- vectorAdd,
935
- vectorSub,
936
- vectorScale,
937
- // Utilities
938
- toFloat32Array,
939
- randomUnitVector,
940
- detectSIMDSupport,
941
- detectSIMDSupportLegacy,
942
- // Class
943
- SIMDVectorOps,
944
- // Default instance
945
- defaultSIMDOps,
946
- };
947
- //# sourceMappingURL=simd-vector-ops.js.map