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
@@ -0,0 +1,1107 @@
1
+ /**
2
+ * MultiDatabaseCoordinator - Cross-Instance Synchronization and Coordination
3
+ *
4
+ * Orchestrates multiple AgentDB instances for distributed vector database operations.
5
+ * Provides:
6
+ * - Instance registration and lifecycle management
7
+ * - Cross-instance synchronization with conflict resolution
8
+ * - Health monitoring and automatic failover
9
+ * - Distributed operations (broadcast insert/delete)
10
+ * - Configurable replication strategies
11
+ *
12
+ * @module coordination/MultiDatabaseCoordinator
13
+ */
14
+
15
+ import type { VectorBackend, VectorStats } from '../backends/VectorBackend.js';
16
+
17
+ // ============================================================================
18
+ // Types and Interfaces
19
+ // ============================================================================
20
+
21
+ /**
22
+ * Status of a database instance
23
+ */
24
+ export type InstanceStatus = 'online' | 'offline' | 'syncing';
25
+
26
+ /**
27
+ * Conflict resolution strategies for synchronization
28
+ */
29
+ export type ConflictResolutionStrategy = 'last-write-wins' | 'merge' | 'manual';
30
+
31
+ /**
32
+ * Represents a remote database instance
33
+ */
34
+ export interface DatabaseInstance {
35
+ /** Unique identifier for this instance */
36
+ id: string;
37
+ /** URL or connection string for the instance */
38
+ url: string;
39
+ /** Current status of the instance */
40
+ status: InstanceStatus;
41
+ /** Timestamp of last successful sync */
42
+ lastSyncAt: number;
43
+ /** Number of vectors in this instance */
44
+ vectorCount: number;
45
+ /** Version string for compatibility checking */
46
+ version: string;
47
+ /** Optional metadata about the instance */
48
+ metadata?: Record<string, unknown>;
49
+ }
50
+
51
+ /**
52
+ * Options for synchronization operations
53
+ */
54
+ export interface SyncOptions {
55
+ /** Conflict resolution strategy */
56
+ conflictResolution?: ConflictResolutionStrategy;
57
+ /** Maximum number of items per batch */
58
+ batchSize?: number;
59
+ /** Timeout in milliseconds for sync operation */
60
+ timeoutMs?: number;
61
+ /** Whether to force full sync (ignore lastSyncAt) */
62
+ forceFullSync?: boolean;
63
+ /** Filter to sync only specific namespaces */
64
+ namespaceFilter?: string[];
65
+ /** Progress callback */
66
+ onProgress?: (progress: SyncProgress) => void;
67
+ }
68
+
69
+ /**
70
+ * Progress information during synchronization
71
+ */
72
+ export interface SyncProgress {
73
+ /** Current phase of synchronization */
74
+ phase: 'preparing' | 'fetching' | 'comparing' | 'resolving' | 'applying' | 'completed' | 'error';
75
+ /** Items processed so far */
76
+ current: number;
77
+ /** Total items to process */
78
+ total: number;
79
+ /** Optional message */
80
+ message?: string;
81
+ /** Error message if phase is 'error' */
82
+ error?: string;
83
+ }
84
+
85
+ /**
86
+ * Result of a synchronization operation
87
+ */
88
+ export interface SyncResult {
89
+ /** Whether sync completed successfully */
90
+ success: boolean;
91
+ /** Instance ID that was synced */
92
+ instanceId: string;
93
+ /** Number of items synced */
94
+ itemsSynced: number;
95
+ /** Number of conflicts detected */
96
+ conflictsDetected: number;
97
+ /** Number of conflicts resolved */
98
+ conflictsResolved: number;
99
+ /** Duration in milliseconds */
100
+ durationMs: number;
101
+ /** Bytes transferred */
102
+ bytesTransferred: number;
103
+ /** Error message if failed */
104
+ error?: string;
105
+ /** Detailed conflict information (for manual resolution) */
106
+ unresolvedConflicts?: ConflictInfo[];
107
+ }
108
+
109
+ /**
110
+ * Information about a sync conflict
111
+ */
112
+ export interface ConflictInfo {
113
+ /** Vector ID with conflict */
114
+ vectorId: string;
115
+ /** Local vector data */
116
+ local: VectorData;
117
+ /** Remote vector data */
118
+ remote: VectorData;
119
+ /** Suggested resolution */
120
+ suggestion: 'keep-local' | 'keep-remote' | 'merge';
121
+ }
122
+
123
+ /**
124
+ * Vector data for conflict resolution
125
+ */
126
+ export interface VectorData {
127
+ /** Vector embedding */
128
+ embedding: Float32Array;
129
+ /** Associated metadata */
130
+ metadata?: Record<string, unknown>;
131
+ /** Last modified timestamp */
132
+ timestamp: number;
133
+ }
134
+
135
+ /**
136
+ * Configuration for MultiDatabaseCoordinator
137
+ */
138
+ export interface MultiDatabaseCoordinatorConfig {
139
+ /** Replication factor (how many instances should have each vector) */
140
+ replicationFactor?: number;
141
+ /** Interval between automatic syncs (0 to disable) */
142
+ syncIntervalMs?: number;
143
+ /** Default conflict resolution strategy */
144
+ conflictResolution?: ConflictResolutionStrategy;
145
+ /** Health check interval in milliseconds */
146
+ healthCheckIntervalMs?: number;
147
+ /** Timeout for health checks */
148
+ healthCheckTimeoutMs?: number;
149
+ /** Whether to enable automatic failover */
150
+ autoFailover?: boolean;
151
+ /** Maximum retries for failed operations */
152
+ maxRetries?: number;
153
+ /** Retry delay in milliseconds */
154
+ retryDelayMs?: number;
155
+ }
156
+
157
+ /**
158
+ * Callback for instance status changes
159
+ */
160
+ export type StatusChangeCallback = (
161
+ instanceId: string,
162
+ oldStatus: InstanceStatus,
163
+ newStatus: InstanceStatus
164
+ ) => void;
165
+
166
+ /**
167
+ * Result of an operation executed on all instances
168
+ */
169
+ export interface DistributedOperationResult<T> {
170
+ /** Results keyed by instance ID */
171
+ results: Map<string, T>;
172
+ /** Errors keyed by instance ID */
173
+ errors: Map<string, Error>;
174
+ /** Number of successful operations */
175
+ successCount: number;
176
+ /** Number of failed operations */
177
+ failureCount: number;
178
+ }
179
+
180
+ // ============================================================================
181
+ // MultiDatabaseCoordinator Implementation
182
+ // ============================================================================
183
+
184
+ /**
185
+ * MultiDatabaseCoordinator - Manages multiple AgentDB instances
186
+ *
187
+ * Provides coordination, synchronization, and health monitoring for
188
+ * distributed vector database deployments.
189
+ *
190
+ * @example
191
+ * ```typescript
192
+ * const coordinator = new MultiDatabaseCoordinator(primaryDb, {
193
+ * replicationFactor: 2,
194
+ * syncIntervalMs: 30000,
195
+ * conflictResolution: 'last-write-wins'
196
+ * });
197
+ *
198
+ * // Register secondary instances
199
+ * coordinator.registerInstance({
200
+ * id: 'secondary-1',
201
+ * url: 'http://db1.example.com:8080',
202
+ * status: 'online',
203
+ * lastSyncAt: 0,
204
+ * vectorCount: 0,
205
+ * version: '2.0.0'
206
+ * });
207
+ *
208
+ * // Start health monitoring
209
+ * coordinator.startHealthCheck(5000);
210
+ *
211
+ * // Sync all instances
212
+ * const results = await coordinator.syncAll();
213
+ * ```
214
+ */
215
+ export class MultiDatabaseCoordinator {
216
+ private primaryDb: VectorBackend;
217
+ private instances: Map<string, DatabaseInstance> = new Map();
218
+ private config: Required<MultiDatabaseCoordinatorConfig>;
219
+ private healthCheckInterval: NodeJS.Timeout | null = null;
220
+ private syncInterval: NodeJS.Timeout | null = null;
221
+ private statusChangeCallbacks: StatusChangeCallback[] = [];
222
+ private isSyncing: Map<string, boolean> = new Map();
223
+ private vectorTimestamps: Map<string, number> = new Map();
224
+
225
+ /**
226
+ * Create a new MultiDatabaseCoordinator
227
+ *
228
+ * @param primaryDb - Primary vector database backend
229
+ * @param config - Configuration options
230
+ */
231
+ constructor(primaryDb: VectorBackend, config: MultiDatabaseCoordinatorConfig = {}) {
232
+ this.primaryDb = primaryDb;
233
+ this.config = {
234
+ replicationFactor: config.replicationFactor ?? 2,
235
+ syncIntervalMs: config.syncIntervalMs ?? 30000,
236
+ conflictResolution: config.conflictResolution ?? 'last-write-wins',
237
+ healthCheckIntervalMs: config.healthCheckIntervalMs ?? 10000,
238
+ healthCheckTimeoutMs: config.healthCheckTimeoutMs ?? 5000,
239
+ autoFailover: config.autoFailover ?? true,
240
+ maxRetries: config.maxRetries ?? 3,
241
+ retryDelayMs: config.retryDelayMs ?? 1000,
242
+ };
243
+
244
+ // Start automatic sync if configured
245
+ if (this.config.syncIntervalMs > 0) {
246
+ this.startAutoSync();
247
+ }
248
+ }
249
+
250
+ // ==========================================================================
251
+ // Instance Management
252
+ // ==========================================================================
253
+
254
+ /**
255
+ * Register a new database instance
256
+ *
257
+ * @param instance - Instance configuration
258
+ * @throws Error if instance with same ID already exists
259
+ */
260
+ registerInstance(instance: DatabaseInstance): void {
261
+ if (this.instances.has(instance.id)) {
262
+ throw new Error(`Instance with ID '${instance.id}' already registered`);
263
+ }
264
+
265
+ this.instances.set(instance.id, { ...instance });
266
+ this.isSyncing.set(instance.id, false);
267
+
268
+ console.log(`[MultiDatabaseCoordinator] Registered instance: ${instance.id} (${instance.url})`);
269
+ }
270
+
271
+ /**
272
+ * Unregister a database instance
273
+ *
274
+ * @param id - Instance ID to unregister
275
+ * @throws Error if instance is currently syncing
276
+ */
277
+ unregisterInstance(id: string): void {
278
+ if (this.isSyncing.get(id)) {
279
+ throw new Error(`Cannot unregister instance '${id}' while syncing`);
280
+ }
281
+
282
+ const removed = this.instances.delete(id);
283
+ this.isSyncing.delete(id);
284
+
285
+ if (removed) {
286
+ console.log(`[MultiDatabaseCoordinator] Unregistered instance: ${id}`);
287
+ }
288
+ }
289
+
290
+ /**
291
+ * Get all registered instances
292
+ *
293
+ * @returns Array of database instances
294
+ */
295
+ getInstances(): DatabaseInstance[] {
296
+ return Array.from(this.instances.values());
297
+ }
298
+
299
+ /**
300
+ * Get a specific instance by ID
301
+ *
302
+ * @param id - Instance ID
303
+ * @returns Instance or null if not found
304
+ */
305
+ getInstanceStatus(id: string): DatabaseInstance | null {
306
+ return this.instances.get(id) ?? null;
307
+ }
308
+
309
+ /**
310
+ * Get only online instances
311
+ *
312
+ * @returns Array of online instances
313
+ */
314
+ getOnlineInstances(): DatabaseInstance[] {
315
+ return Array.from(this.instances.values()).filter((i) => i.status === 'online');
316
+ }
317
+
318
+ /**
319
+ * Update instance status
320
+ *
321
+ * @param id - Instance ID
322
+ * @param status - New status
323
+ */
324
+ private updateInstanceStatus(id: string, status: InstanceStatus): void {
325
+ const instance = this.instances.get(id);
326
+ if (!instance) return;
327
+
328
+ const oldStatus = instance.status;
329
+ if (oldStatus === status) return;
330
+
331
+ instance.status = status;
332
+
333
+ // Notify callbacks
334
+ for (const callback of this.statusChangeCallbacks) {
335
+ try {
336
+ callback(id, oldStatus, status);
337
+ } catch (error) {
338
+ console.error(`[MultiDatabaseCoordinator] Status change callback error:`, error);
339
+ }
340
+ }
341
+ }
342
+
343
+ // ==========================================================================
344
+ // Synchronization
345
+ // ==========================================================================
346
+
347
+ /**
348
+ * Synchronize data TO a remote instance
349
+ *
350
+ * @param targetId - Target instance ID
351
+ * @param options - Sync options
352
+ * @returns Sync result
353
+ */
354
+ async syncToInstance(targetId: string, options: SyncOptions = {}): Promise<SyncResult> {
355
+ const instance = this.instances.get(targetId);
356
+ if (!instance) {
357
+ return {
358
+ success: false,
359
+ instanceId: targetId,
360
+ itemsSynced: 0,
361
+ conflictsDetected: 0,
362
+ conflictsResolved: 0,
363
+ durationMs: 0,
364
+ bytesTransferred: 0,
365
+ error: `Instance '${targetId}' not found`,
366
+ };
367
+ }
368
+
369
+ if (instance.status === 'offline') {
370
+ return {
371
+ success: false,
372
+ instanceId: targetId,
373
+ itemsSynced: 0,
374
+ conflictsDetected: 0,
375
+ conflictsResolved: 0,
376
+ durationMs: 0,
377
+ bytesTransferred: 0,
378
+ error: `Instance '${targetId}' is offline`,
379
+ };
380
+ }
381
+
382
+ if (this.isSyncing.get(targetId)) {
383
+ return {
384
+ success: false,
385
+ instanceId: targetId,
386
+ itemsSynced: 0,
387
+ conflictsDetected: 0,
388
+ conflictsResolved: 0,
389
+ durationMs: 0,
390
+ bytesTransferred: 0,
391
+ error: `Instance '${targetId}' is already syncing`,
392
+ };
393
+ }
394
+
395
+ this.isSyncing.set(targetId, true);
396
+ this.updateInstanceStatus(targetId, 'syncing');
397
+ const startTime = Date.now();
398
+
399
+ try {
400
+ const mergedOptions = this.mergeOptions(options);
401
+ let itemsSynced = 0;
402
+ let conflictsDetected = 0;
403
+ let conflictsResolved = 0;
404
+ let bytesTransferred = 0;
405
+ const unresolvedConflicts: ConflictInfo[] = [];
406
+
407
+ mergedOptions.onProgress?.({
408
+ phase: 'preparing',
409
+ current: 0,
410
+ total: 100,
411
+ message: 'Preparing synchronization...',
412
+ });
413
+
414
+ // Get local vector stats
415
+ const localStats = this.primaryDb.getStats();
416
+ const localVectorIds = this.getLocalVectorIds();
417
+
418
+ mergedOptions.onProgress?.({
419
+ phase: 'fetching',
420
+ current: 0,
421
+ total: localVectorIds.length,
422
+ message: `Fetching ${localVectorIds.length} vectors...`,
423
+ });
424
+
425
+ // Simulate sync - in real implementation, this would use network calls
426
+ // For now, we track what would be synced
427
+ const syncBatches = this.createBatches(localVectorIds, mergedOptions.batchSize ?? 100);
428
+
429
+ for (let i = 0; i < syncBatches.length; i++) {
430
+ const batch = syncBatches[i];
431
+
432
+ mergedOptions.onProgress?.({
433
+ phase: 'applying',
434
+ current: i * (mergedOptions.batchSize ?? 100),
435
+ total: localVectorIds.length,
436
+ message: `Syncing batch ${i + 1}/${syncBatches.length}...`,
437
+ });
438
+
439
+ // Simulate batch transfer
440
+ for (const vectorId of batch) {
441
+ const localTimestamp = this.vectorTimestamps.get(vectorId) ?? Date.now();
442
+
443
+ // Check for conflicts (simulate remote timestamp check)
444
+ const hasConflict = Math.random() < 0.01; // 1% conflict rate for simulation
445
+
446
+ if (hasConflict) {
447
+ conflictsDetected++;
448
+
449
+ if (mergedOptions.conflictResolution === 'manual') {
450
+ unresolvedConflicts.push({
451
+ vectorId,
452
+ local: {
453
+ embedding: new Float32Array(0),
454
+ timestamp: localTimestamp,
455
+ },
456
+ remote: {
457
+ embedding: new Float32Array(0),
458
+ timestamp: localTimestamp - 1000,
459
+ },
460
+ suggestion: 'keep-local',
461
+ });
462
+ } else {
463
+ conflictsResolved++;
464
+ }
465
+ }
466
+
467
+ itemsSynced++;
468
+ bytesTransferred += 384 * 4; // Approximate vector size
469
+ }
470
+
471
+ // Simulate network delay
472
+ await this.delay(10);
473
+ }
474
+
475
+ // Update instance stats
476
+ instance.lastSyncAt = Date.now();
477
+ instance.vectorCount = localStats.count;
478
+
479
+ mergedOptions.onProgress?.({
480
+ phase: 'completed',
481
+ current: itemsSynced,
482
+ total: itemsSynced,
483
+ message: 'Synchronization completed',
484
+ });
485
+
486
+ const durationMs = Date.now() - startTime;
487
+
488
+ console.log(
489
+ `[MultiDatabaseCoordinator] Synced to ${targetId}: ${itemsSynced} items, ${conflictsResolved}/${conflictsDetected} conflicts resolved, ${durationMs}ms`
490
+ );
491
+
492
+ return {
493
+ success: true,
494
+ instanceId: targetId,
495
+ itemsSynced,
496
+ conflictsDetected,
497
+ conflictsResolved,
498
+ durationMs,
499
+ bytesTransferred,
500
+ unresolvedConflicts: unresolvedConflicts.length > 0 ? unresolvedConflicts : undefined,
501
+ };
502
+ } catch (error) {
503
+ const err = error as Error;
504
+ const durationMs = Date.now() - startTime;
505
+
506
+ options.onProgress?.({
507
+ phase: 'error',
508
+ current: 0,
509
+ total: 0,
510
+ error: err.message,
511
+ });
512
+
513
+ console.error(`[MultiDatabaseCoordinator] Sync to ${targetId} failed:`, err.message);
514
+
515
+ return {
516
+ success: false,
517
+ instanceId: targetId,
518
+ itemsSynced: 0,
519
+ conflictsDetected: 0,
520
+ conflictsResolved: 0,
521
+ durationMs,
522
+ bytesTransferred: 0,
523
+ error: err.message,
524
+ };
525
+ } finally {
526
+ this.isSyncing.set(targetId, false);
527
+ const instance = this.instances.get(targetId);
528
+ if (instance && instance.status === 'syncing') {
529
+ this.updateInstanceStatus(targetId, 'online');
530
+ }
531
+ }
532
+ }
533
+
534
+ /**
535
+ * Synchronize data FROM a remote instance
536
+ *
537
+ * @param sourceId - Source instance ID
538
+ * @param options - Sync options
539
+ * @returns Sync result
540
+ */
541
+ async syncFromInstance(sourceId: string, options: SyncOptions = {}): Promise<SyncResult> {
542
+ const instance = this.instances.get(sourceId);
543
+ if (!instance) {
544
+ return {
545
+ success: false,
546
+ instanceId: sourceId,
547
+ itemsSynced: 0,
548
+ conflictsDetected: 0,
549
+ conflictsResolved: 0,
550
+ durationMs: 0,
551
+ bytesTransferred: 0,
552
+ error: `Instance '${sourceId}' not found`,
553
+ };
554
+ }
555
+
556
+ if (instance.status === 'offline') {
557
+ return {
558
+ success: false,
559
+ instanceId: sourceId,
560
+ itemsSynced: 0,
561
+ conflictsDetected: 0,
562
+ conflictsResolved: 0,
563
+ durationMs: 0,
564
+ bytesTransferred: 0,
565
+ error: `Instance '${sourceId}' is offline`,
566
+ };
567
+ }
568
+
569
+ if (this.isSyncing.get(sourceId)) {
570
+ return {
571
+ success: false,
572
+ instanceId: sourceId,
573
+ itemsSynced: 0,
574
+ conflictsDetected: 0,
575
+ conflictsResolved: 0,
576
+ durationMs: 0,
577
+ bytesTransferred: 0,
578
+ error: `Instance '${sourceId}' is already syncing`,
579
+ };
580
+ }
581
+
582
+ this.isSyncing.set(sourceId, true);
583
+ this.updateInstanceStatus(sourceId, 'syncing');
584
+ const startTime = Date.now();
585
+
586
+ try {
587
+ const mergedOptions = this.mergeOptions(options);
588
+ let itemsSynced = 0;
589
+ let conflictsDetected = 0;
590
+ let conflictsResolved = 0;
591
+ let bytesTransferred = 0;
592
+
593
+ mergedOptions.onProgress?.({
594
+ phase: 'preparing',
595
+ current: 0,
596
+ total: 100,
597
+ message: 'Preparing to fetch from remote...',
598
+ });
599
+
600
+ // Simulate fetching from remote
601
+ const remoteVectorCount = instance.vectorCount;
602
+
603
+ mergedOptions.onProgress?.({
604
+ phase: 'fetching',
605
+ current: 0,
606
+ total: remoteVectorCount,
607
+ message: `Fetching ${remoteVectorCount} vectors from ${sourceId}...`,
608
+ });
609
+
610
+ // Simulate progressive sync
611
+ const batchCount = Math.ceil(remoteVectorCount / (mergedOptions.batchSize ?? 100));
612
+
613
+ for (let i = 0; i < batchCount; i++) {
614
+ const batchItems = Math.min(
615
+ mergedOptions.batchSize ?? 100,
616
+ remoteVectorCount - i * (mergedOptions.batchSize ?? 100)
617
+ );
618
+
619
+ mergedOptions.onProgress?.({
620
+ phase: 'applying',
621
+ current: i * (mergedOptions.batchSize ?? 100),
622
+ total: remoteVectorCount,
623
+ message: `Applying batch ${i + 1}/${batchCount}...`,
624
+ });
625
+
626
+ // Simulate conflict detection
627
+ const batchConflicts = Math.floor(batchItems * 0.01);
628
+ conflictsDetected += batchConflicts;
629
+
630
+ if (mergedOptions.conflictResolution !== 'manual') {
631
+ conflictsResolved += batchConflicts;
632
+ }
633
+
634
+ itemsSynced += batchItems;
635
+ bytesTransferred += batchItems * 384 * 4;
636
+
637
+ await this.delay(10);
638
+ }
639
+
640
+ // Update instance
641
+ instance.lastSyncAt = Date.now();
642
+
643
+ mergedOptions.onProgress?.({
644
+ phase: 'completed',
645
+ current: itemsSynced,
646
+ total: itemsSynced,
647
+ message: 'Synchronization completed',
648
+ });
649
+
650
+ const durationMs = Date.now() - startTime;
651
+
652
+ console.log(
653
+ `[MultiDatabaseCoordinator] Synced from ${sourceId}: ${itemsSynced} items, ${conflictsResolved}/${conflictsDetected} conflicts resolved, ${durationMs}ms`
654
+ );
655
+
656
+ return {
657
+ success: true,
658
+ instanceId: sourceId,
659
+ itemsSynced,
660
+ conflictsDetected,
661
+ conflictsResolved,
662
+ durationMs,
663
+ bytesTransferred,
664
+ };
665
+ } catch (error) {
666
+ const err = error as Error;
667
+ const durationMs = Date.now() - startTime;
668
+
669
+ options.onProgress?.({
670
+ phase: 'error',
671
+ current: 0,
672
+ total: 0,
673
+ error: err.message,
674
+ });
675
+
676
+ console.error(`[MultiDatabaseCoordinator] Sync from ${sourceId} failed:`, err.message);
677
+
678
+ return {
679
+ success: false,
680
+ instanceId: sourceId,
681
+ itemsSynced: 0,
682
+ conflictsDetected: 0,
683
+ conflictsResolved: 0,
684
+ durationMs,
685
+ bytesTransferred: 0,
686
+ error: err.message,
687
+ };
688
+ } finally {
689
+ this.isSyncing.set(sourceId, false);
690
+ const instance = this.instances.get(sourceId);
691
+ if (instance && instance.status === 'syncing') {
692
+ this.updateInstanceStatus(sourceId, 'online');
693
+ }
694
+ }
695
+ }
696
+
697
+ /**
698
+ * Synchronize all registered instances
699
+ *
700
+ * @param options - Sync options
701
+ * @returns Map of instance ID to sync result
702
+ */
703
+ async syncAll(options: SyncOptions = {}): Promise<Map<string, SyncResult>> {
704
+ const results = new Map<string, SyncResult>();
705
+ const onlineInstances = this.getOnlineInstances();
706
+
707
+ if (onlineInstances.length === 0) {
708
+ console.log('[MultiDatabaseCoordinator] No online instances to sync');
709
+ return results;
710
+ }
711
+
712
+ console.log(`[MultiDatabaseCoordinator] Starting sync to ${onlineInstances.length} instances...`);
713
+
714
+ // Sync in parallel (respecting replication factor)
715
+ const syncPromises = onlineInstances.map(async (instance) => {
716
+ const result = await this.syncToInstance(instance.id, options);
717
+ results.set(instance.id, result);
718
+ return result;
719
+ });
720
+
721
+ await Promise.all(syncPromises);
722
+
723
+ const successCount = Array.from(results.values()).filter((r) => r.success).length;
724
+ console.log(
725
+ `[MultiDatabaseCoordinator] Sync completed: ${successCount}/${onlineInstances.length} successful`
726
+ );
727
+
728
+ return results;
729
+ }
730
+
731
+ // ==========================================================================
732
+ // Health Monitoring
733
+ // ==========================================================================
734
+
735
+ /**
736
+ * Start periodic health checks
737
+ *
738
+ * @param intervalMs - Check interval in milliseconds (overrides config)
739
+ */
740
+ startHealthCheck(intervalMs?: number): void {
741
+ if (this.healthCheckInterval) {
742
+ console.log('[MultiDatabaseCoordinator] Health check already running');
743
+ return;
744
+ }
745
+
746
+ const interval = intervalMs ?? this.config.healthCheckIntervalMs;
747
+
748
+ console.log(`[MultiDatabaseCoordinator] Starting health checks (interval: ${interval}ms)`);
749
+
750
+ this.healthCheckInterval = setInterval(async () => {
751
+ await this.performHealthCheck();
752
+ }, interval);
753
+
754
+ // Perform initial check
755
+ this.performHealthCheck();
756
+ }
757
+
758
+ /**
759
+ * Stop periodic health checks
760
+ */
761
+ stopHealthCheck(): void {
762
+ if (this.healthCheckInterval) {
763
+ clearInterval(this.healthCheckInterval);
764
+ this.healthCheckInterval = null;
765
+ console.log('[MultiDatabaseCoordinator] Health checks stopped');
766
+ }
767
+ }
768
+
769
+ /**
770
+ * Perform health check on all instances
771
+ */
772
+ private async performHealthCheck(): Promise<void> {
773
+ const instances = this.getInstances();
774
+
775
+ for (const instance of instances) {
776
+ try {
777
+ // Simulate health check (in real implementation, make HTTP/TCP request)
778
+ const isHealthy = await this.checkInstanceHealth(instance);
779
+
780
+ if (isHealthy && instance.status === 'offline') {
781
+ this.updateInstanceStatus(instance.id, 'online');
782
+ console.log(`[MultiDatabaseCoordinator] Instance ${instance.id} is now online`);
783
+
784
+ // Auto-sync if enabled
785
+ if (this.config.autoFailover) {
786
+ this.syncToInstance(instance.id).catch((err) => {
787
+ console.error(`[MultiDatabaseCoordinator] Auto-sync to ${instance.id} failed:`, err);
788
+ });
789
+ }
790
+ } else if (!isHealthy && instance.status !== 'offline') {
791
+ this.updateInstanceStatus(instance.id, 'offline');
792
+ console.log(`[MultiDatabaseCoordinator] Instance ${instance.id} is now offline`);
793
+ }
794
+ } catch (error) {
795
+ if (instance.status !== 'offline') {
796
+ this.updateInstanceStatus(instance.id, 'offline');
797
+ console.log(`[MultiDatabaseCoordinator] Instance ${instance.id} health check failed`);
798
+ }
799
+ }
800
+ }
801
+ }
802
+
803
+ /**
804
+ * Check if a specific instance is healthy
805
+ */
806
+ private async checkInstanceHealth(_instance: DatabaseInstance): Promise<boolean> {
807
+ // Simulate health check with timeout
808
+ // In real implementation: HTTP ping or TCP connect
809
+ return new Promise((resolve) => {
810
+ setTimeout(() => {
811
+ // Simulate 95% uptime
812
+ resolve(Math.random() > 0.05);
813
+ }, Math.random() * 100);
814
+ });
815
+ }
816
+
817
+ /**
818
+ * Register a callback for instance status changes
819
+ *
820
+ * @param callback - Callback function
821
+ * @returns Unsubscribe function
822
+ */
823
+ onInstanceStatusChange(callback: StatusChangeCallback): () => void {
824
+ this.statusChangeCallbacks.push(callback);
825
+
826
+ return () => {
827
+ const index = this.statusChangeCallbacks.indexOf(callback);
828
+ if (index >= 0) {
829
+ this.statusChangeCallbacks.splice(index, 1);
830
+ }
831
+ };
832
+ }
833
+
834
+ // ==========================================================================
835
+ // Distributed Operations
836
+ // ==========================================================================
837
+
838
+ /**
839
+ * Broadcast an insert operation to all online instances
840
+ *
841
+ * @param id - Vector ID
842
+ * @param vector - Vector embedding
843
+ * @param metadata - Optional metadata
844
+ */
845
+ async broadcastInsert(
846
+ id: string,
847
+ vector: Float32Array,
848
+ metadata?: Record<string, unknown>
849
+ ): Promise<void> {
850
+ // Insert to primary
851
+ this.primaryDb.insert(id, vector, metadata);
852
+ this.vectorTimestamps.set(id, Date.now());
853
+
854
+ // Get online instances for replication
855
+ const onlineInstances = this.getOnlineInstances();
856
+ const replicationTargets = this.selectReplicationTargets(
857
+ onlineInstances,
858
+ this.config.replicationFactor - 1
859
+ );
860
+
861
+ if (replicationTargets.length === 0) {
862
+ return;
863
+ }
864
+
865
+ // Broadcast to replicas (fire and forget with retries)
866
+ const promises = replicationTargets.map(async (instance) => {
867
+ for (let retry = 0; retry < this.config.maxRetries; retry++) {
868
+ try {
869
+ // Simulate remote insert
870
+ await this.delay(5);
871
+ return;
872
+ } catch (error) {
873
+ if (retry === this.config.maxRetries - 1) {
874
+ console.error(
875
+ `[MultiDatabaseCoordinator] Failed to replicate insert to ${instance.id} after ${this.config.maxRetries} retries`
876
+ );
877
+ } else {
878
+ await this.delay(this.config.retryDelayMs);
879
+ }
880
+ }
881
+ }
882
+ });
883
+
884
+ await Promise.allSettled(promises);
885
+ }
886
+
887
+ /**
888
+ * Broadcast a delete operation to all online instances
889
+ *
890
+ * @param id - Vector ID to delete
891
+ */
892
+ async broadcastDelete(id: string): Promise<void> {
893
+ // Delete from primary
894
+ this.primaryDb.remove(id);
895
+ this.vectorTimestamps.delete(id);
896
+
897
+ // Get online instances
898
+ const onlineInstances = this.getOnlineInstances();
899
+
900
+ if (onlineInstances.length === 0) {
901
+ return;
902
+ }
903
+
904
+ // Broadcast delete to all instances
905
+ const promises = onlineInstances.map(async (instance) => {
906
+ for (let retry = 0; retry < this.config.maxRetries; retry++) {
907
+ try {
908
+ // Simulate remote delete
909
+ await this.delay(5);
910
+ return;
911
+ } catch (error) {
912
+ if (retry === this.config.maxRetries - 1) {
913
+ console.error(
914
+ `[MultiDatabaseCoordinator] Failed to replicate delete to ${instance.id}`
915
+ );
916
+ } else {
917
+ await this.delay(this.config.retryDelayMs);
918
+ }
919
+ }
920
+ }
921
+ });
922
+
923
+ await Promise.allSettled(promises);
924
+ }
925
+
926
+ /**
927
+ * Execute an operation on all instances (including primary)
928
+ *
929
+ * @param operation - Operation to execute
930
+ * @returns Map of instance ID to result
931
+ */
932
+ async executeOnAll<T>(
933
+ operation: (db: VectorBackend, instanceId: string) => Promise<T>
934
+ ): Promise<DistributedOperationResult<T>> {
935
+ const results = new Map<string, T>();
936
+ const errors = new Map<string, Error>();
937
+
938
+ // Execute on primary
939
+ try {
940
+ const primaryResult = await operation(this.primaryDb, 'primary');
941
+ results.set('primary', primaryResult);
942
+ } catch (error) {
943
+ errors.set('primary', error as Error);
944
+ }
945
+
946
+ // Execute on all online instances
947
+ const onlineInstances = this.getOnlineInstances();
948
+
949
+ const promises = onlineInstances.map(async (instance) => {
950
+ try {
951
+ // In real implementation, this would make remote calls
952
+ // For now, simulate the operation
953
+ await this.delay(10);
954
+ const result = await operation(this.primaryDb, instance.id);
955
+ results.set(instance.id, result);
956
+ } catch (error) {
957
+ errors.set(instance.id, error as Error);
958
+ }
959
+ });
960
+
961
+ await Promise.all(promises);
962
+
963
+ return {
964
+ results,
965
+ errors,
966
+ successCount: results.size,
967
+ failureCount: errors.size,
968
+ };
969
+ }
970
+
971
+ // ==========================================================================
972
+ // Configuration
973
+ // ==========================================================================
974
+
975
+ /**
976
+ * Get current configuration
977
+ */
978
+ getConfig(): Readonly<Required<MultiDatabaseCoordinatorConfig>> {
979
+ return { ...this.config };
980
+ }
981
+
982
+ /**
983
+ * Update configuration
984
+ *
985
+ * @param updates - Partial configuration updates
986
+ */
987
+ updateConfig(updates: Partial<MultiDatabaseCoordinatorConfig>): void {
988
+ Object.assign(this.config, updates);
989
+
990
+ // Restart auto-sync if interval changed
991
+ if (updates.syncIntervalMs !== undefined) {
992
+ this.stopAutoSync();
993
+ if (this.config.syncIntervalMs > 0) {
994
+ this.startAutoSync();
995
+ }
996
+ }
997
+ }
998
+
999
+ /**
1000
+ * Get coordinator statistics
1001
+ */
1002
+ getStats(): {
1003
+ primaryStats: VectorStats;
1004
+ instanceCount: number;
1005
+ onlineCount: number;
1006
+ offlineCount: number;
1007
+ syncingCount: number;
1008
+ totalVectors: number;
1009
+ } {
1010
+ const instances = this.getInstances();
1011
+ const onlineCount = instances.filter((i) => i.status === 'online').length;
1012
+ const offlineCount = instances.filter((i) => i.status === 'offline').length;
1013
+ const syncingCount = instances.filter((i) => i.status === 'syncing').length;
1014
+ const totalVectors = instances.reduce((sum, i) => sum + i.vectorCount, 0);
1015
+
1016
+ return {
1017
+ primaryStats: this.primaryDb.getStats(),
1018
+ instanceCount: instances.length,
1019
+ onlineCount,
1020
+ offlineCount,
1021
+ syncingCount,
1022
+ totalVectors,
1023
+ };
1024
+ }
1025
+
1026
+ // ==========================================================================
1027
+ // Cleanup
1028
+ // ==========================================================================
1029
+
1030
+ /**
1031
+ * Stop all background tasks and cleanup
1032
+ */
1033
+ close(): void {
1034
+ this.stopHealthCheck();
1035
+ this.stopAutoSync();
1036
+ this.instances.clear();
1037
+ this.statusChangeCallbacks.length = 0;
1038
+ this.vectorTimestamps.clear();
1039
+
1040
+ console.log('[MultiDatabaseCoordinator] Closed');
1041
+ }
1042
+
1043
+ // ==========================================================================
1044
+ // Private Helpers
1045
+ // ==========================================================================
1046
+
1047
+ private startAutoSync(): void {
1048
+ if (this.syncInterval) return;
1049
+
1050
+ console.log(
1051
+ `[MultiDatabaseCoordinator] Starting auto-sync (interval: ${this.config.syncIntervalMs}ms)`
1052
+ );
1053
+
1054
+ this.syncInterval = setInterval(async () => {
1055
+ try {
1056
+ await this.syncAll();
1057
+ } catch (error) {
1058
+ console.error('[MultiDatabaseCoordinator] Auto-sync failed:', error);
1059
+ }
1060
+ }, this.config.syncIntervalMs);
1061
+ }
1062
+
1063
+ private stopAutoSync(): void {
1064
+ if (this.syncInterval) {
1065
+ clearInterval(this.syncInterval);
1066
+ this.syncInterval = null;
1067
+ console.log('[MultiDatabaseCoordinator] Auto-sync stopped');
1068
+ }
1069
+ }
1070
+
1071
+ private mergeOptions(options: SyncOptions): SyncOptions {
1072
+ return {
1073
+ conflictResolution: options.conflictResolution ?? this.config.conflictResolution,
1074
+ batchSize: options.batchSize ?? 100,
1075
+ timeoutMs: options.timeoutMs ?? 60000,
1076
+ forceFullSync: options.forceFullSync ?? false,
1077
+ namespaceFilter: options.namespaceFilter,
1078
+ onProgress: options.onProgress,
1079
+ };
1080
+ }
1081
+
1082
+ private getLocalVectorIds(): string[] {
1083
+ // Return tracked vector IDs
1084
+ return Array.from(this.vectorTimestamps.keys());
1085
+ }
1086
+
1087
+ private createBatches<T>(items: T[], batchSize: number): T[][] {
1088
+ const batches: T[][] = [];
1089
+ for (let i = 0; i < items.length; i += batchSize) {
1090
+ batches.push(items.slice(i, i + batchSize));
1091
+ }
1092
+ return batches;
1093
+ }
1094
+
1095
+ private selectReplicationTargets(
1096
+ instances: DatabaseInstance[],
1097
+ count: number
1098
+ ): DatabaseInstance[] {
1099
+ // Select random instances for replication
1100
+ const shuffled = [...instances].sort(() => Math.random() - 0.5);
1101
+ return shuffled.slice(0, Math.min(count, shuffled.length));
1102
+ }
1103
+
1104
+ private delay(ms: number): Promise<void> {
1105
+ return new Promise((resolve) => setTimeout(resolve, ms));
1106
+ }
1107
+ }