agentdb 3.0.0-alpha.8 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (718) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +248 -269
  3. package/dist/schemas/frontier-schema.sql +7 -0
  4. package/dist/schemas/schema.sql +7 -0
  5. package/dist/src/backends/VectorBackend.d.ts +48 -6
  6. package/dist/src/backends/VectorBackend.d.ts.map +1 -1
  7. package/dist/src/backends/VectorBackend.js +13 -1
  8. package/dist/src/backends/VectorBackend.js.map +1 -1
  9. package/dist/src/backends/detector.js.map +1 -1
  10. package/dist/src/backends/factory.d.ts +16 -33
  11. package/dist/src/backends/factory.d.ts.map +1 -1
  12. package/dist/src/backends/factory.js +140 -110
  13. package/dist/src/backends/factory.js.map +1 -1
  14. package/dist/src/backends/graph/GraphDatabaseAdapter.d.ts +54 -6
  15. package/dist/src/backends/graph/GraphDatabaseAdapter.d.ts.map +1 -1
  16. package/dist/src/backends/graph/GraphDatabaseAdapter.js +143 -6
  17. package/dist/src/backends/graph/GraphDatabaseAdapter.js.map +1 -1
  18. package/dist/src/backends/hnswlib/HNSWLibBackend.d.ts.map +1 -1
  19. package/dist/src/backends/hnswlib/HNSWLibBackend.js +35 -8
  20. package/dist/src/backends/hnswlib/HNSWLibBackend.js.map +1 -1
  21. package/dist/src/backends/index.d.ts +2 -1
  22. package/dist/src/backends/index.d.ts.map +1 -1
  23. package/dist/src/backends/index.js +2 -0
  24. package/dist/src/backends/index.js.map +1 -1
  25. package/dist/src/backends/ruvector/RuVectorBackend.d.ts +256 -45
  26. package/dist/src/backends/ruvector/RuVectorBackend.d.ts.map +1 -1
  27. package/dist/src/backends/ruvector/RuVectorBackend.js +764 -290
  28. package/dist/src/backends/ruvector/RuVectorBackend.js.map +1 -1
  29. package/dist/src/backends/ruvector/RuVectorLearning.d.ts +0 -4
  30. package/dist/src/backends/ruvector/RuVectorLearning.d.ts.map +1 -1
  31. package/dist/src/backends/ruvector/RuVectorLearning.js +0 -6
  32. package/dist/src/backends/ruvector/RuVectorLearning.js.map +1 -1
  33. package/dist/src/backends/rvf/AdaptiveIndexTuner.d.ts +175 -0
  34. package/dist/src/backends/rvf/AdaptiveIndexTuner.d.ts.map +1 -0
  35. package/dist/src/backends/rvf/AdaptiveIndexTuner.js +567 -0
  36. package/dist/src/backends/rvf/AdaptiveIndexTuner.js.map +1 -0
  37. package/dist/src/backends/rvf/ContrastiveTrainer.d.ts +148 -0
  38. package/dist/src/backends/rvf/ContrastiveTrainer.d.ts.map +1 -0
  39. package/dist/src/backends/rvf/ContrastiveTrainer.js +438 -0
  40. package/dist/src/backends/rvf/ContrastiveTrainer.js.map +1 -0
  41. package/dist/src/backends/rvf/FederatedSessionManager.d.ts +212 -0
  42. package/dist/src/backends/rvf/FederatedSessionManager.d.ts.map +1 -0
  43. package/dist/src/backends/rvf/FederatedSessionManager.js +397 -0
  44. package/dist/src/backends/rvf/FederatedSessionManager.js.map +1 -0
  45. package/dist/src/backends/rvf/FilterBuilder.d.ts +136 -0
  46. package/dist/src/backends/rvf/FilterBuilder.d.ts.map +1 -0
  47. package/dist/src/backends/rvf/FilterBuilder.js +157 -0
  48. package/dist/src/backends/rvf/FilterBuilder.js.map +1 -0
  49. package/dist/src/backends/rvf/NativeAccelerator.d.ts +158 -0
  50. package/dist/src/backends/rvf/NativeAccelerator.d.ts.map +1 -0
  51. package/dist/src/backends/rvf/NativeAccelerator.js +702 -0
  52. package/dist/src/backends/rvf/NativeAccelerator.js.map +1 -0
  53. package/dist/src/backends/rvf/RvfBackend.d.ts +207 -0
  54. package/dist/src/backends/rvf/RvfBackend.d.ts.map +1 -0
  55. package/dist/src/backends/rvf/RvfBackend.js +651 -0
  56. package/dist/src/backends/rvf/RvfBackend.js.map +1 -0
  57. package/dist/src/backends/rvf/RvfSolver.d.ts +175 -0
  58. package/dist/src/backends/rvf/RvfSolver.d.ts.map +1 -0
  59. package/dist/src/backends/rvf/RvfSolver.js +176 -0
  60. package/dist/src/backends/rvf/RvfSolver.js.map +1 -0
  61. package/dist/src/backends/rvf/SelfLearningRvfBackend.d.ts +143 -0
  62. package/dist/src/backends/rvf/SelfLearningRvfBackend.d.ts.map +1 -0
  63. package/dist/src/backends/rvf/SelfLearningRvfBackend.js +612 -0
  64. package/dist/src/backends/rvf/SelfLearningRvfBackend.js.map +1 -0
  65. package/dist/src/backends/rvf/SemanticQueryRouter.d.ts +128 -0
  66. package/dist/src/backends/rvf/SemanticQueryRouter.d.ts.map +1 -0
  67. package/dist/src/backends/rvf/SemanticQueryRouter.js +415 -0
  68. package/dist/src/backends/rvf/SemanticQueryRouter.js.map +1 -0
  69. package/dist/src/backends/rvf/SimdFallbacks.d.ts +25 -0
  70. package/dist/src/backends/rvf/SimdFallbacks.d.ts.map +1 -0
  71. package/dist/src/backends/rvf/SimdFallbacks.js +287 -0
  72. package/dist/src/backends/rvf/SimdFallbacks.js.map +1 -0
  73. package/dist/src/backends/rvf/SolverBandit.d.ts +100 -0
  74. package/dist/src/backends/rvf/SolverBandit.d.ts.map +1 -0
  75. package/dist/src/backends/rvf/SolverBandit.js +216 -0
  76. package/dist/src/backends/rvf/SolverBandit.js.map +1 -0
  77. package/dist/src/backends/rvf/SonaLearningBackend.d.ts +157 -0
  78. package/dist/src/backends/rvf/SonaLearningBackend.d.ts.map +1 -0
  79. package/dist/src/backends/rvf/SonaLearningBackend.js +283 -0
  80. package/dist/src/backends/rvf/SonaLearningBackend.js.map +1 -0
  81. package/dist/src/backends/rvf/SqlJsRvfBackend.d.ts +104 -0
  82. package/dist/src/backends/rvf/SqlJsRvfBackend.d.ts.map +1 -0
  83. package/dist/src/backends/rvf/SqlJsRvfBackend.js +464 -0
  84. package/dist/src/backends/rvf/SqlJsRvfBackend.js.map +1 -0
  85. package/dist/src/backends/rvf/WasmStoreBridge.d.ts +27 -0
  86. package/dist/src/backends/rvf/WasmStoreBridge.d.ts.map +1 -0
  87. package/dist/src/backends/rvf/WasmStoreBridge.js +87 -0
  88. package/dist/src/backends/rvf/WasmStoreBridge.js.map +1 -0
  89. package/dist/src/backends/rvf/validation.d.ts +20 -0
  90. package/dist/src/backends/rvf/validation.d.ts.map +1 -0
  91. package/dist/src/backends/rvf/validation.js +78 -0
  92. package/dist/src/backends/rvf/validation.js.map +1 -0
  93. package/dist/src/benchmark/BenchmarkSuite.d.ts +318 -0
  94. package/dist/src/benchmark/BenchmarkSuite.d.ts.map +1 -0
  95. package/dist/src/benchmark/BenchmarkSuite.js +984 -0
  96. package/dist/src/benchmark/BenchmarkSuite.js.map +1 -0
  97. package/dist/src/benchmark/index.d.ts +29 -0
  98. package/dist/src/benchmark/index.d.ts.map +1 -0
  99. package/dist/src/benchmark/index.js +39 -0
  100. package/dist/src/benchmark/index.js.map +1 -0
  101. package/dist/src/browser/AttentionBrowser.d.ts.map +1 -1
  102. package/dist/src/browser/AttentionBrowser.js +1 -0
  103. package/dist/src/browser/AttentionBrowser.js.map +1 -1
  104. package/dist/src/cli/agentdb-cli.d.ts +14 -0
  105. package/dist/src/cli/agentdb-cli.d.ts.map +1 -1
  106. package/dist/src/cli/agentdb-cli.js +839 -143
  107. package/dist/src/cli/agentdb-cli.js.map +1 -1
  108. package/dist/src/cli/commands/attention.js +12 -2
  109. package/dist/src/cli/commands/attention.js.map +1 -1
  110. package/dist/src/cli/commands/doctor.js +5 -5
  111. package/dist/src/cli/commands/doctor.js.map +1 -1
  112. package/dist/src/cli/commands/hyperbolic.d.ts +11 -0
  113. package/dist/src/cli/commands/hyperbolic.d.ts.map +1 -0
  114. package/dist/src/cli/commands/hyperbolic.js +440 -0
  115. package/dist/src/cli/commands/hyperbolic.js.map +1 -0
  116. package/dist/src/cli/commands/install-embeddings.d.ts +1 -1
  117. package/dist/src/cli/commands/install-embeddings.d.ts.map +1 -1
  118. package/dist/src/cli/commands/install-embeddings.js +17 -11
  119. package/dist/src/cli/commands/install-embeddings.js.map +1 -1
  120. package/dist/src/cli/commands/learn.d.ts +11 -0
  121. package/dist/src/cli/commands/learn.d.ts.map +1 -0
  122. package/dist/src/cli/commands/learn.js +410 -0
  123. package/dist/src/cli/commands/learn.js.map +1 -0
  124. package/dist/src/cli/commands/migrate.d.ts +15 -0
  125. package/dist/src/cli/commands/migrate.d.ts.map +1 -1
  126. package/dist/src/cli/commands/migrate.js +190 -10
  127. package/dist/src/cli/commands/migrate.js.map +1 -1
  128. package/dist/src/cli/commands/route.d.ts +11 -0
  129. package/dist/src/cli/commands/route.d.ts.map +1 -0
  130. package/dist/src/cli/commands/route.js +419 -0
  131. package/dist/src/cli/commands/route.js.map +1 -0
  132. package/dist/src/cli/commands/rvf.d.ts +21 -0
  133. package/dist/src/cli/commands/rvf.d.ts.map +1 -0
  134. package/dist/src/cli/commands/rvf.js +448 -0
  135. package/dist/src/cli/commands/rvf.js.map +1 -0
  136. package/dist/src/cli/commands/simulate-report.js +14 -2
  137. package/dist/src/cli/commands/simulate-report.js.map +1 -1
  138. package/dist/src/cli/lib/report-store.d.ts +2 -1
  139. package/dist/src/cli/lib/report-store.d.ts.map +1 -1
  140. package/dist/src/cli/lib/report-store.js +85 -65
  141. package/dist/src/cli/lib/report-store.js.map +1 -1
  142. package/dist/src/cli/lib/simulation-runner.d.ts +40 -3
  143. package/dist/src/cli/lib/simulation-runner.d.ts.map +1 -1
  144. package/dist/src/cli/lib/simulation-runner.js +248 -6
  145. package/dist/src/cli/lib/simulation-runner.js.map +1 -1
  146. package/dist/src/compatibility/DeprecationWarnings.d.ts +54 -0
  147. package/dist/src/compatibility/DeprecationWarnings.d.ts.map +1 -0
  148. package/dist/src/compatibility/DeprecationWarnings.js +131 -0
  149. package/dist/src/compatibility/DeprecationWarnings.js.map +1 -0
  150. package/dist/src/compatibility/MigrationUtilities.d.ts +30 -0
  151. package/dist/src/compatibility/MigrationUtilities.d.ts.map +1 -0
  152. package/dist/src/compatibility/MigrationUtilities.js +184 -0
  153. package/dist/src/compatibility/MigrationUtilities.js.map +1 -0
  154. package/dist/src/compatibility/V1toV2Adapter.d.ts +76 -0
  155. package/dist/src/compatibility/V1toV2Adapter.d.ts.map +1 -0
  156. package/dist/src/compatibility/V1toV2Adapter.js +185 -0
  157. package/dist/src/compatibility/V1toV2Adapter.js.map +1 -0
  158. package/dist/src/compatibility/VersionDetector.d.ts +32 -0
  159. package/dist/src/compatibility/VersionDetector.d.ts.map +1 -0
  160. package/dist/src/compatibility/VersionDetector.js +144 -0
  161. package/dist/src/compatibility/VersionDetector.js.map +1 -0
  162. package/dist/src/compatibility/index.d.ts +14 -0
  163. package/dist/src/compatibility/index.d.ts.map +1 -0
  164. package/dist/src/compatibility/index.js +21 -0
  165. package/dist/src/compatibility/index.js.map +1 -0
  166. package/dist/src/compatibility/types.d.ts +103 -0
  167. package/dist/src/compatibility/types.d.ts.map +1 -0
  168. package/dist/src/compatibility/types.js +5 -0
  169. package/dist/src/compatibility/types.js.map +1 -0
  170. package/dist/src/controllers/AttentionService.d.ts +99 -202
  171. package/dist/src/controllers/AttentionService.d.ts.map +1 -1
  172. package/dist/src/controllers/AttentionService.js +450 -558
  173. package/dist/src/controllers/AttentionService.js.map +1 -1
  174. package/dist/src/controllers/CausalMemoryGraph.d.ts +30 -5
  175. package/dist/src/controllers/CausalMemoryGraph.d.ts.map +1 -1
  176. package/dist/src/controllers/CausalMemoryGraph.js +92 -15
  177. package/dist/src/controllers/CausalMemoryGraph.js.map +1 -1
  178. package/dist/src/controllers/CausalRecall.d.ts +4 -0
  179. package/dist/src/controllers/CausalRecall.d.ts.map +1 -1
  180. package/dist/src/controllers/CausalRecall.js +23 -5
  181. package/dist/src/controllers/CausalRecall.js.map +1 -1
  182. package/dist/src/controllers/EmbeddingService.d.ts +29 -0
  183. package/dist/src/controllers/EmbeddingService.d.ts.map +1 -1
  184. package/dist/src/controllers/EmbeddingService.js +154 -32
  185. package/dist/src/controllers/EmbeddingService.js.map +1 -1
  186. package/dist/src/controllers/EnhancedEmbeddingService.d.ts +4 -0
  187. package/dist/src/controllers/EnhancedEmbeddingService.d.ts.map +1 -1
  188. package/dist/src/controllers/EnhancedEmbeddingService.js +21 -7
  189. package/dist/src/controllers/EnhancedEmbeddingService.js.map +1 -1
  190. package/dist/src/controllers/ExplainableRecall.d.ts +1 -1
  191. package/dist/src/controllers/ExplainableRecall.d.ts.map +1 -1
  192. package/dist/src/controllers/ExplainableRecall.js +1 -1
  193. package/dist/src/controllers/ExplainableRecall.js.map +1 -1
  194. package/dist/src/controllers/HNSWIndex.d.ts +20 -2
  195. package/dist/src/controllers/HNSWIndex.d.ts.map +1 -1
  196. package/dist/src/controllers/HNSWIndex.js +114 -39
  197. package/dist/src/controllers/HNSWIndex.js.map +1 -1
  198. package/dist/src/controllers/LearningSystem.d.ts +6 -17
  199. package/dist/src/controllers/LearningSystem.d.ts.map +1 -1
  200. package/dist/src/controllers/LearningSystem.js +66 -155
  201. package/dist/src/controllers/LearningSystem.js.map +1 -1
  202. package/dist/src/controllers/MemoryController.d.ts +174 -0
  203. package/dist/src/controllers/MemoryController.d.ts.map +1 -0
  204. package/dist/src/controllers/MemoryController.js +320 -0
  205. package/dist/src/controllers/MemoryController.js.map +1 -0
  206. package/dist/src/controllers/MetadataFilter.d.ts.map +1 -1
  207. package/dist/src/controllers/MetadataFilter.js +38 -26
  208. package/dist/src/controllers/MetadataFilter.js.map +1 -1
  209. package/dist/src/controllers/MincutService.d.ts +92 -0
  210. package/dist/src/controllers/MincutService.d.ts.map +1 -0
  211. package/dist/src/controllers/MincutService.js +336 -0
  212. package/dist/src/controllers/MincutService.js.map +1 -0
  213. package/dist/src/controllers/NightlyLearner.d.ts +5 -1
  214. package/dist/src/controllers/NightlyLearner.d.ts.map +1 -1
  215. package/dist/src/controllers/NightlyLearner.js +45 -31
  216. package/dist/src/controllers/NightlyLearner.js.map +1 -1
  217. package/dist/src/controllers/QUICClient.d.ts +45 -0
  218. package/dist/src/controllers/QUICClient.d.ts.map +1 -1
  219. package/dist/src/controllers/QUICClient.js +211 -21
  220. package/dist/src/controllers/QUICClient.js.map +1 -1
  221. package/dist/src/controllers/QUICServer.d.ts.map +1 -1
  222. package/dist/src/controllers/QUICServer.js +36 -27
  223. package/dist/src/controllers/QUICServer.js.map +1 -1
  224. package/dist/src/controllers/ReasoningBank.d.ts +6 -3
  225. package/dist/src/controllers/ReasoningBank.d.ts.map +1 -1
  226. package/dist/src/controllers/ReasoningBank.js +77 -56
  227. package/dist/src/controllers/ReasoningBank.js.map +1 -1
  228. package/dist/src/controllers/ReflexionMemory.d.ts +129 -6
  229. package/dist/src/controllers/ReflexionMemory.d.ts.map +1 -1
  230. package/dist/src/controllers/ReflexionMemory.js +678 -220
  231. package/dist/src/controllers/ReflexionMemory.js.map +1 -1
  232. package/dist/src/controllers/SkillLibrary.d.ts +32 -3
  233. package/dist/src/controllers/SkillLibrary.d.ts.map +1 -1
  234. package/dist/src/controllers/SkillLibrary.js +239 -104
  235. package/dist/src/controllers/SkillLibrary.js.map +1 -1
  236. package/dist/src/controllers/SparsificationService.d.ts +151 -0
  237. package/dist/src/controllers/SparsificationService.d.ts.map +1 -0
  238. package/dist/src/controllers/SparsificationService.js +375 -0
  239. package/dist/src/controllers/SparsificationService.js.map +1 -0
  240. package/dist/src/controllers/SyncCoordinator.d.ts.map +1 -1
  241. package/dist/src/controllers/SyncCoordinator.js +126 -12
  242. package/dist/src/controllers/SyncCoordinator.js.map +1 -1
  243. package/dist/src/controllers/WASMVectorSearch.d.ts +12 -30
  244. package/dist/src/controllers/WASMVectorSearch.d.ts.map +1 -1
  245. package/dist/src/controllers/WASMVectorSearch.js +161 -102
  246. package/dist/src/controllers/WASMVectorSearch.js.map +1 -1
  247. package/dist/src/controllers/attention/AttentionCache.d.ts +38 -0
  248. package/dist/src/controllers/attention/AttentionCache.d.ts.map +1 -0
  249. package/dist/src/controllers/attention/AttentionCache.js +80 -0
  250. package/dist/src/controllers/attention/AttentionCache.js.map +1 -0
  251. package/dist/src/controllers/attention/AttentionConfig.d.ts +127 -0
  252. package/dist/src/controllers/attention/AttentionConfig.d.ts.map +1 -0
  253. package/dist/src/controllers/attention/AttentionConfig.js +124 -0
  254. package/dist/src/controllers/attention/AttentionConfig.js.map +1 -0
  255. package/dist/src/controllers/attention/AttentionCore.d.ts +89 -0
  256. package/dist/src/controllers/attention/AttentionCore.d.ts.map +1 -0
  257. package/dist/src/controllers/attention/AttentionCore.js +289 -0
  258. package/dist/src/controllers/attention/AttentionCore.js.map +1 -0
  259. package/dist/src/controllers/attention/AttentionHelpers.d.ts +55 -0
  260. package/dist/src/controllers/attention/AttentionHelpers.d.ts.map +1 -0
  261. package/dist/src/controllers/attention/AttentionHelpers.js +148 -0
  262. package/dist/src/controllers/attention/AttentionHelpers.js.map +1 -0
  263. package/dist/src/controllers/attention/AttentionMetrics.d.ts +55 -0
  264. package/dist/src/controllers/attention/AttentionMetrics.d.ts.map +1 -0
  265. package/dist/src/controllers/attention/AttentionMetrics.js +72 -0
  266. package/dist/src/controllers/attention/AttentionMetrics.js.map +1 -0
  267. package/dist/src/controllers/attention/AttentionWASM.d.ts +98 -0
  268. package/dist/src/controllers/attention/AttentionWASM.d.ts.map +1 -0
  269. package/dist/src/controllers/attention/AttentionWASM.js +147 -0
  270. package/dist/src/controllers/attention/AttentionWASM.js.map +1 -0
  271. package/dist/src/controllers/attention/CrossAttentionController.d.ts +141 -0
  272. package/dist/src/controllers/attention/CrossAttentionController.d.ts.map +1 -0
  273. package/dist/src/controllers/attention/CrossAttentionController.js +325 -0
  274. package/dist/src/controllers/attention/CrossAttentionController.js.map +1 -0
  275. package/dist/src/controllers/attention/MultiHeadAttentionController.d.ts +137 -0
  276. package/dist/src/controllers/attention/MultiHeadAttentionController.d.ts.map +1 -0
  277. package/dist/src/controllers/attention/MultiHeadAttentionController.js +336 -0
  278. package/dist/src/controllers/attention/MultiHeadAttentionController.js.map +1 -0
  279. package/dist/src/controllers/attention/SelfAttentionController.d.ts +117 -0
  280. package/dist/src/controllers/attention/SelfAttentionController.d.ts.map +1 -0
  281. package/dist/src/controllers/attention/SelfAttentionController.js +205 -0
  282. package/dist/src/controllers/attention/SelfAttentionController.js.map +1 -0
  283. package/dist/src/controllers/attention/index.d.ts +24 -0
  284. package/dist/src/controllers/attention/index.d.ts.map +1 -0
  285. package/dist/src/controllers/attention/index.js +20 -0
  286. package/dist/src/controllers/attention/index.js.map +1 -0
  287. package/dist/src/controllers/index.d.ts +15 -28
  288. package/dist/src/controllers/index.d.ts.map +1 -1
  289. package/dist/src/controllers/index.js +11 -19
  290. package/dist/src/controllers/index.js.map +1 -1
  291. package/dist/src/controllers/prerequisites.d.ts +76 -0
  292. package/dist/src/controllers/prerequisites.d.ts.map +1 -0
  293. package/dist/src/controllers/prerequisites.js +235 -0
  294. package/dist/src/controllers/prerequisites.js.map +1 -0
  295. package/dist/src/core/AgentDB.d.ts +33 -19
  296. package/dist/src/core/AgentDB.d.ts.map +1 -1
  297. package/dist/src/core/AgentDB.js +87 -127
  298. package/dist/src/core/AgentDB.js.map +1 -1
  299. package/dist/src/core/QueryCache.d.ts +138 -0
  300. package/dist/src/core/QueryCache.d.ts.map +1 -0
  301. package/dist/src/core/QueryCache.js +309 -0
  302. package/dist/src/core/QueryCache.js.map +1 -0
  303. package/dist/src/db-fallback.d.ts +52 -4
  304. package/dist/src/db-fallback.d.ts.map +1 -1
  305. package/dist/src/db-fallback.js +521 -71
  306. package/dist/src/db-fallback.js.map +1 -1
  307. package/dist/src/db-unified.d.ts.map +1 -1
  308. package/dist/src/db-unified.js +32 -30
  309. package/dist/src/db-unified.js.map +1 -1
  310. package/dist/src/embedding/EmbeddingSpaceIdentity.d.ts +58 -0
  311. package/dist/src/embedding/EmbeddingSpaceIdentity.d.ts.map +1 -0
  312. package/dist/src/embedding/EmbeddingSpaceIdentity.js +137 -0
  313. package/dist/src/embedding/EmbeddingSpaceIdentity.js.map +1 -0
  314. package/dist/src/embedding/index.d.ts +3 -0
  315. package/dist/src/embedding/index.d.ts.map +1 -0
  316. package/dist/src/embedding/index.js +2 -0
  317. package/dist/src/embedding/index.js.map +1 -0
  318. package/dist/src/examples/quic-sync-example.js +2 -2
  319. package/dist/src/examples/quic-sync-example.js.map +1 -1
  320. package/dist/src/governance/MetaHarnessGateway.d.ts +55 -0
  321. package/dist/src/governance/MetaHarnessGateway.d.ts.map +1 -0
  322. package/dist/src/governance/MetaHarnessGateway.js +65 -0
  323. package/dist/src/governance/MetaHarnessGateway.js.map +1 -0
  324. package/dist/src/governance/RvfExperimentBranch.d.ts +65 -0
  325. package/dist/src/governance/RvfExperimentBranch.d.ts.map +1 -0
  326. package/dist/src/governance/RvfExperimentBranch.js +115 -0
  327. package/dist/src/governance/RvfExperimentBranch.js.map +1 -0
  328. package/dist/src/index.d.ts +20 -16
  329. package/dist/src/index.d.ts.map +1 -1
  330. package/dist/src/index.js +44 -12
  331. package/dist/src/index.js.map +1 -1
  332. package/dist/src/mcp/agentdb-mcp-server.js +178 -15
  333. package/dist/src/mcp/agentdb-mcp-server.js.map +1 -1
  334. package/dist/src/mcp/reset-database.d.ts +15 -0
  335. package/dist/src/mcp/reset-database.d.ts.map +1 -0
  336. package/dist/src/mcp/reset-database.js +45 -0
  337. package/dist/src/mcp/reset-database.js.map +1 -0
  338. package/dist/src/model/ModelCacheLoader.d.ts +31 -0
  339. package/dist/src/model/ModelCacheLoader.d.ts.map +1 -0
  340. package/dist/src/model/ModelCacheLoader.js +209 -0
  341. package/dist/src/model/ModelCacheLoader.js.map +1 -0
  342. package/dist/src/observability/index.d.ts +8 -0
  343. package/dist/src/observability/index.d.ts.map +1 -0
  344. package/dist/src/observability/index.js +8 -0
  345. package/dist/src/observability/index.js.map +1 -0
  346. package/dist/src/observability/integration.d.ts +32 -0
  347. package/dist/src/observability/integration.d.ts.map +1 -0
  348. package/dist/src/observability/integration.js +159 -0
  349. package/dist/src/observability/integration.js.map +1 -0
  350. package/dist/src/observability/telemetry.d.ts +137 -0
  351. package/dist/src/observability/telemetry.d.ts.map +1 -0
  352. package/dist/src/observability/telemetry.js +424 -0
  353. package/dist/src/observability/telemetry.js.map +1 -0
  354. package/dist/src/optimizations/BatchOperations.d.ts +47 -0
  355. package/dist/src/optimizations/BatchOperations.d.ts.map +1 -1
  356. package/dist/src/optimizations/BatchOperations.js +189 -35
  357. package/dist/src/optimizations/BatchOperations.js.map +1 -1
  358. package/dist/src/optimizations/Quantization.d.ts +330 -0
  359. package/dist/src/optimizations/Quantization.d.ts.map +1 -0
  360. package/dist/src/optimizations/Quantization.js +793 -0
  361. package/dist/src/optimizations/Quantization.js.map +1 -0
  362. package/dist/src/optimizations/index.d.ts +1 -3
  363. package/dist/src/optimizations/index.d.ts.map +1 -1
  364. package/dist/src/optimizations/index.js +0 -1
  365. package/dist/src/optimizations/index.js.map +1 -1
  366. package/dist/src/quantization/index.d.ts +7 -0
  367. package/dist/src/quantization/index.d.ts.map +1 -0
  368. package/dist/src/quantization/index.js +15 -0
  369. package/dist/src/quantization/index.js.map +1 -0
  370. package/dist/src/quantization/vector-quantization.d.ts +388 -0
  371. package/dist/src/quantization/vector-quantization.d.ts.map +1 -0
  372. package/dist/src/quantization/vector-quantization.js +1132 -0
  373. package/dist/src/quantization/vector-quantization.js.map +1 -0
  374. package/dist/src/schemas/inline.d.ts +3 -0
  375. package/dist/src/schemas/inline.d.ts.map +1 -0
  376. package/dist/src/schemas/inline.js +10 -0
  377. package/dist/src/schemas/inline.js.map +1 -0
  378. package/dist/src/search/HybridSearch.d.ts +311 -0
  379. package/dist/src/search/HybridSearch.d.ts.map +1 -0
  380. package/dist/src/search/HybridSearch.js +713 -0
  381. package/dist/src/search/HybridSearch.js.map +1 -0
  382. package/dist/src/search/index.d.ts +12 -0
  383. package/dist/src/search/index.d.ts.map +1 -0
  384. package/dist/src/search/index.js +16 -0
  385. package/dist/src/search/index.js.map +1 -0
  386. package/dist/src/security/input-validation.d.ts +30 -0
  387. package/dist/src/security/input-validation.d.ts.map +1 -1
  388. package/dist/src/security/input-validation.js +77 -3
  389. package/dist/src/security/input-validation.js.map +1 -1
  390. package/dist/src/security/limits.d.ts.map +1 -1
  391. package/dist/src/security/limits.js +12 -3
  392. package/dist/src/security/limits.js.map +1 -1
  393. package/dist/src/security/mcp-policy.d.ts +17 -0
  394. package/dist/src/security/mcp-policy.d.ts.map +1 -0
  395. package/dist/src/security/mcp-policy.js +90 -0
  396. package/dist/src/security/mcp-policy.js.map +1 -0
  397. package/dist/src/security/path-security.d.ts.map +1 -1
  398. package/dist/src/security/path-security.js +3 -1
  399. package/dist/src/security/path-security.js.map +1 -1
  400. package/dist/src/security/validation.js +3 -3
  401. package/dist/src/security/validation.js.map +1 -1
  402. package/dist/src/services/AttentionService.d.ts +303 -0
  403. package/dist/src/services/AttentionService.d.ts.map +1 -0
  404. package/dist/src/services/AttentionService.js +1165 -0
  405. package/dist/src/services/AttentionService.js.map +1 -0
  406. package/dist/src/services/LLMRouter.d.ts +70 -8
  407. package/dist/src/services/LLMRouter.d.ts.map +1 -1
  408. package/dist/src/services/LLMRouter.js +279 -28
  409. package/dist/src/services/LLMRouter.js.map +1 -1
  410. package/dist/src/services/audit-logger.service.d.ts +168 -0
  411. package/dist/src/services/audit-logger.service.d.ts.map +1 -0
  412. package/dist/src/services/audit-logger.service.js +331 -0
  413. package/dist/src/services/audit-logger.service.js.map +1 -0
  414. package/dist/src/services/enhanced-embeddings.d.ts +271 -0
  415. package/dist/src/services/enhanced-embeddings.d.ts.map +1 -0
  416. package/dist/src/services/enhanced-embeddings.js +1036 -0
  417. package/dist/src/services/enhanced-embeddings.js.map +1 -0
  418. package/dist/src/services/federated-learning.d.ts +172 -0
  419. package/dist/src/services/federated-learning.d.ts.map +1 -0
  420. package/dist/src/services/federated-learning.js +344 -0
  421. package/dist/src/services/federated-learning.js.map +1 -0
  422. package/dist/src/simd/index.d.ts +9 -0
  423. package/dist/src/simd/index.d.ts.map +1 -0
  424. package/dist/src/simd/index.js +27 -0
  425. package/dist/src/simd/index.js.map +1 -0
  426. package/dist/src/simd/simd-vector-ops.d.ts +332 -0
  427. package/dist/src/simd/simd-vector-ops.d.ts.map +1 -0
  428. package/dist/src/simd/simd-vector-ops.js +945 -0
  429. package/dist/src/simd/simd-vector-ops.js.map +1 -0
  430. package/dist/src/types/database.types.d.ts +275 -0
  431. package/dist/src/types/database.types.d.ts.map +1 -0
  432. package/dist/src/types/database.types.js +55 -0
  433. package/dist/src/types/database.types.js.map +1 -0
  434. package/dist/src/types/graph.d.ts +29 -0
  435. package/dist/src/types/graph.d.ts.map +1 -0
  436. package/dist/src/types/graph.js +8 -0
  437. package/dist/src/types/graph.js.map +1 -0
  438. package/dist/src/utils/chalk-fallback.d.ts +3 -0
  439. package/dist/src/utils/chalk-fallback.d.ts.map +1 -0
  440. package/dist/src/utils/chalk-fallback.js +20 -0
  441. package/dist/src/utils/chalk-fallback.js.map +1 -0
  442. package/dist/src/utils/similarity.d.ts +11 -0
  443. package/dist/src/utils/similarity.d.ts.map +1 -0
  444. package/dist/src/utils/similarity.js +25 -0
  445. package/dist/src/utils/similarity.js.map +1 -0
  446. package/dist/src/wasm-loader.d.ts +66 -0
  447. package/dist/src/wasm-loader.d.ts.map +1 -0
  448. package/dist/src/wasm-loader.js +76 -0
  449. package/dist/src/wasm-loader.js.map +1 -0
  450. package/dist/src/wrappers/agentdb-fast.d.ts +140 -0
  451. package/dist/src/wrappers/agentdb-fast.d.ts.map +1 -0
  452. package/dist/src/wrappers/agentdb-fast.js +309 -0
  453. package/dist/src/wrappers/agentdb-fast.js.map +1 -0
  454. package/dist/src/wrappers/attention-fallbacks.d.ts +343 -0
  455. package/dist/src/wrappers/attention-fallbacks.d.ts.map +1 -0
  456. package/dist/src/wrappers/attention-fallbacks.js +1484 -0
  457. package/dist/src/wrappers/attention-fallbacks.js.map +1 -0
  458. package/dist/src/wrappers/attention-native.d.ts +111 -0
  459. package/dist/src/wrappers/attention-native.d.ts.map +1 -0
  460. package/dist/src/wrappers/attention-native.js +273 -0
  461. package/dist/src/wrappers/attention-native.js.map +1 -0
  462. package/dist/src/wrappers/embedding-service.d.ts +117 -0
  463. package/dist/src/wrappers/embedding-service.d.ts.map +1 -0
  464. package/dist/src/wrappers/embedding-service.js +370 -0
  465. package/dist/src/wrappers/embedding-service.js.map +1 -0
  466. package/dist/src/wrappers/gnn-wrapper.d.ts +71 -0
  467. package/dist/src/wrappers/gnn-wrapper.d.ts.map +1 -0
  468. package/dist/src/wrappers/gnn-wrapper.js +236 -0
  469. package/dist/src/wrappers/gnn-wrapper.js.map +1 -0
  470. package/dist/src/wrappers/index.d.ts +48 -0
  471. package/dist/src/wrappers/index.d.ts.map +1 -0
  472. package/dist/src/wrappers/index.js +83 -0
  473. package/dist/src/wrappers/index.js.map +1 -0
  474. package/package.json +130 -80
  475. package/scripts/postinstall.cjs +13 -144
  476. package/dist/agentdb.browser.js +0 -1685
  477. package/dist/agentdb.browser.js.map +0 -7
  478. package/dist/agentdb.browser.min.js +0 -3
  479. package/dist/agentdb.browser.min.js.map +0 -7
  480. package/dist/agentdb.wasm-loader.js +0 -207
  481. package/dist/backends/VectorBackend.d.ts +0 -120
  482. package/dist/backends/VectorBackend.js +0 -14
  483. package/dist/backends/VectorBackend.js.map +0 -1
  484. package/dist/optimizations/RVFOptimizer.d.ts +0 -225
  485. package/dist/optimizations/RVFOptimizer.js +0 -541
  486. package/dist/optimizations/RVFOptimizer.js.map +0 -1
  487. package/dist/simulation/cli.d.ts +0 -9
  488. package/dist/simulation/cli.d.ts.map +0 -1
  489. package/dist/simulation/cli.js +0 -68
  490. package/dist/simulation/cli.js.map +0 -1
  491. package/dist/simulation/runner.d.ts +0 -21
  492. package/dist/simulation/runner.d.ts.map +0 -1
  493. package/dist/simulation/runner.js +0 -241
  494. package/dist/simulation/runner.js.map +0 -1
  495. package/dist/simulation/scenarios/aidefence-integration.d.ts +0 -24
  496. package/dist/simulation/scenarios/aidefence-integration.d.ts.map +0 -1
  497. package/dist/simulation/scenarios/aidefence-integration.js +0 -124
  498. package/dist/simulation/scenarios/aidefence-integration.js.map +0 -1
  499. package/dist/simulation/scenarios/bmssp-integration.d.ts +0 -23
  500. package/dist/simulation/scenarios/bmssp-integration.d.ts.map +0 -1
  501. package/dist/simulation/scenarios/bmssp-integration.js +0 -104
  502. package/dist/simulation/scenarios/bmssp-integration.js.map +0 -1
  503. package/dist/simulation/scenarios/causal-reasoning.d.ts +0 -16
  504. package/dist/simulation/scenarios/causal-reasoning.d.ts.map +0 -1
  505. package/dist/simulation/scenarios/causal-reasoning.js +0 -108
  506. package/dist/simulation/scenarios/causal-reasoning.js.map +0 -1
  507. package/dist/simulation/scenarios/consciousness-explorer.d.ts +0 -25
  508. package/dist/simulation/scenarios/consciousness-explorer.d.ts.map +0 -1
  509. package/dist/simulation/scenarios/consciousness-explorer.js +0 -108
  510. package/dist/simulation/scenarios/consciousness-explorer.js.map +0 -1
  511. package/dist/simulation/scenarios/domain-examples/e-commerce-recommendations.d.ts +0 -135
  512. package/dist/simulation/scenarios/domain-examples/e-commerce-recommendations.d.ts.map +0 -1
  513. package/dist/simulation/scenarios/domain-examples/e-commerce-recommendations.js +0 -158
  514. package/dist/simulation/scenarios/domain-examples/e-commerce-recommendations.js.map +0 -1
  515. package/dist/simulation/scenarios/domain-examples/index.d.ts +0 -14
  516. package/dist/simulation/scenarios/domain-examples/index.d.ts.map +0 -1
  517. package/dist/simulation/scenarios/domain-examples/index.js +0 -14
  518. package/dist/simulation/scenarios/domain-examples/index.js.map +0 -1
  519. package/dist/simulation/scenarios/domain-examples/iot-sensor-networks.d.ts +0 -178
  520. package/dist/simulation/scenarios/domain-examples/iot-sensor-networks.d.ts.map +0 -1
  521. package/dist/simulation/scenarios/domain-examples/iot-sensor-networks.js +0 -218
  522. package/dist/simulation/scenarios/domain-examples/iot-sensor-networks.js.map +0 -1
  523. package/dist/simulation/scenarios/domain-examples/medical-imaging.d.ts +0 -122
  524. package/dist/simulation/scenarios/domain-examples/medical-imaging.d.ts.map +0 -1
  525. package/dist/simulation/scenarios/domain-examples/medical-imaging.js +0 -129
  526. package/dist/simulation/scenarios/domain-examples/medical-imaging.js.map +0 -1
  527. package/dist/simulation/scenarios/domain-examples/robotics-navigation.d.ts +0 -166
  528. package/dist/simulation/scenarios/domain-examples/robotics-navigation.d.ts.map +0 -1
  529. package/dist/simulation/scenarios/domain-examples/robotics-navigation.js +0 -161
  530. package/dist/simulation/scenarios/domain-examples/robotics-navigation.js.map +0 -1
  531. package/dist/simulation/scenarios/domain-examples/scientific-research.d.ts +0 -151
  532. package/dist/simulation/scenarios/domain-examples/scientific-research.d.ts.map +0 -1
  533. package/dist/simulation/scenarios/domain-examples/scientific-research.js +0 -187
  534. package/dist/simulation/scenarios/domain-examples/scientific-research.js.map +0 -1
  535. package/dist/simulation/scenarios/domain-examples/trading-systems.d.ts +0 -102
  536. package/dist/simulation/scenarios/domain-examples/trading-systems.d.ts.map +0 -1
  537. package/dist/simulation/scenarios/domain-examples/trading-systems.js +0 -100
  538. package/dist/simulation/scenarios/domain-examples/trading-systems.js.map +0 -1
  539. package/dist/simulation/scenarios/goalie-integration.d.ts +0 -24
  540. package/dist/simulation/scenarios/goalie-integration.d.ts.map +0 -1
  541. package/dist/simulation/scenarios/goalie-integration.js +0 -121
  542. package/dist/simulation/scenarios/goalie-integration.js.map +0 -1
  543. package/dist/simulation/scenarios/graph-traversal.d.ts +0 -17
  544. package/dist/simulation/scenarios/graph-traversal.d.ts.map +0 -1
  545. package/dist/simulation/scenarios/graph-traversal.js +0 -101
  546. package/dist/simulation/scenarios/graph-traversal.js.map +0 -1
  547. package/dist/simulation/scenarios/latent-space/attention-analysis.d.ts +0 -45
  548. package/dist/simulation/scenarios/latent-space/attention-analysis.d.ts.map +0 -1
  549. package/dist/simulation/scenarios/latent-space/attention-analysis.js +0 -435
  550. package/dist/simulation/scenarios/latent-space/attention-analysis.js.map +0 -1
  551. package/dist/simulation/scenarios/latent-space/clustering-analysis.d.ts +0 -55
  552. package/dist/simulation/scenarios/latent-space/clustering-analysis.d.ts.map +0 -1
  553. package/dist/simulation/scenarios/latent-space/clustering-analysis.js +0 -606
  554. package/dist/simulation/scenarios/latent-space/clustering-analysis.js.map +0 -1
  555. package/dist/simulation/scenarios/latent-space/hnsw-exploration.d.ts +0 -74
  556. package/dist/simulation/scenarios/latent-space/hnsw-exploration.d.ts.map +0 -1
  557. package/dist/simulation/scenarios/latent-space/hnsw-exploration.js +0 -391
  558. package/dist/simulation/scenarios/latent-space/hnsw-exploration.js.map +0 -1
  559. package/dist/simulation/scenarios/latent-space/hypergraph-exploration.d.ts +0 -51
  560. package/dist/simulation/scenarios/latent-space/hypergraph-exploration.d.ts.map +0 -1
  561. package/dist/simulation/scenarios/latent-space/hypergraph-exploration.js +0 -536
  562. package/dist/simulation/scenarios/latent-space/hypergraph-exploration.js.map +0 -1
  563. package/dist/simulation/scenarios/latent-space/index.d.ts +0 -35
  564. package/dist/simulation/scenarios/latent-space/index.d.ts.map +0 -1
  565. package/dist/simulation/scenarios/latent-space/index.js +0 -35
  566. package/dist/simulation/scenarios/latent-space/index.js.map +0 -1
  567. package/dist/simulation/scenarios/latent-space/neural-augmentation.d.ts +0 -52
  568. package/dist/simulation/scenarios/latent-space/neural-augmentation.d.ts.map +0 -1
  569. package/dist/simulation/scenarios/latent-space/neural-augmentation.js +0 -472
  570. package/dist/simulation/scenarios/latent-space/neural-augmentation.js.map +0 -1
  571. package/dist/simulation/scenarios/latent-space/quantum-hybrid.d.ts +0 -53
  572. package/dist/simulation/scenarios/latent-space/quantum-hybrid.d.ts.map +0 -1
  573. package/dist/simulation/scenarios/latent-space/quantum-hybrid.js +0 -391
  574. package/dist/simulation/scenarios/latent-space/quantum-hybrid.js.map +0 -1
  575. package/dist/simulation/scenarios/latent-space/self-organizing-hnsw.d.ts +0 -52
  576. package/dist/simulation/scenarios/latent-space/self-organizing-hnsw.d.ts.map +0 -1
  577. package/dist/simulation/scenarios/latent-space/self-organizing-hnsw.js +0 -514
  578. package/dist/simulation/scenarios/latent-space/self-organizing-hnsw.js.map +0 -1
  579. package/dist/simulation/scenarios/latent-space/traversal-optimization.d.ts +0 -53
  580. package/dist/simulation/scenarios/latent-space/traversal-optimization.d.ts.map +0 -1
  581. package/dist/simulation/scenarios/latent-space/traversal-optimization.js +0 -595
  582. package/dist/simulation/scenarios/latent-space/traversal-optimization.js.map +0 -1
  583. package/dist/simulation/scenarios/lean-agentic-swarm.d.ts +0 -18
  584. package/dist/simulation/scenarios/lean-agentic-swarm.d.ts.map +0 -1
  585. package/dist/simulation/scenarios/lean-agentic-swarm.js +0 -132
  586. package/dist/simulation/scenarios/lean-agentic-swarm.js.map +0 -1
  587. package/dist/simulation/scenarios/multi-agent-swarm.d.ts +0 -17
  588. package/dist/simulation/scenarios/multi-agent-swarm.d.ts.map +0 -1
  589. package/dist/simulation/scenarios/multi-agent-swarm.js +0 -111
  590. package/dist/simulation/scenarios/multi-agent-swarm.js.map +0 -1
  591. package/dist/simulation/scenarios/psycho-symbolic-reasoner.d.ts +0 -23
  592. package/dist/simulation/scenarios/psycho-symbolic-reasoner.d.ts.map +0 -1
  593. package/dist/simulation/scenarios/psycho-symbolic-reasoner.js +0 -98
  594. package/dist/simulation/scenarios/psycho-symbolic-reasoner.js.map +0 -1
  595. package/dist/simulation/scenarios/reflexion-learning.d.ts +0 -16
  596. package/dist/simulation/scenarios/reflexion-learning.d.ts.map +0 -1
  597. package/dist/simulation/scenarios/reflexion-learning.js +0 -98
  598. package/dist/simulation/scenarios/reflexion-learning.js.map +0 -1
  599. package/dist/simulation/scenarios/research-swarm.d.ts +0 -24
  600. package/dist/simulation/scenarios/research-swarm.d.ts.map +0 -1
  601. package/dist/simulation/scenarios/research-swarm.js +0 -146
  602. package/dist/simulation/scenarios/research-swarm.js.map +0 -1
  603. package/dist/simulation/scenarios/skill-evolution.d.ts +0 -16
  604. package/dist/simulation/scenarios/skill-evolution.d.ts.map +0 -1
  605. package/dist/simulation/scenarios/skill-evolution.js +0 -109
  606. package/dist/simulation/scenarios/skill-evolution.js.map +0 -1
  607. package/dist/simulation/scenarios/stock-market-emergence.d.ts +0 -33
  608. package/dist/simulation/scenarios/stock-market-emergence.d.ts.map +0 -1
  609. package/dist/simulation/scenarios/stock-market-emergence.js +0 -246
  610. package/dist/simulation/scenarios/stock-market-emergence.js.map +0 -1
  611. package/dist/simulation/scenarios/strange-loops.d.ts +0 -18
  612. package/dist/simulation/scenarios/strange-loops.d.ts.map +0 -1
  613. package/dist/simulation/scenarios/strange-loops.js +0 -133
  614. package/dist/simulation/scenarios/strange-loops.js.map +0 -1
  615. package/dist/simulation/scenarios/sublinear-solver.d.ts +0 -22
  616. package/dist/simulation/scenarios/sublinear-solver.d.ts.map +0 -1
  617. package/dist/simulation/scenarios/sublinear-solver.js +0 -82
  618. package/dist/simulation/scenarios/sublinear-solver.js.map +0 -1
  619. package/dist/simulation/scenarios/temporal-lead-solver.d.ts +0 -23
  620. package/dist/simulation/scenarios/temporal-lead-solver.d.ts.map +0 -1
  621. package/dist/simulation/scenarios/temporal-lead-solver.js +0 -90
  622. package/dist/simulation/scenarios/temporal-lead-solver.js.map +0 -1
  623. package/dist/simulation/scenarios/voting-system-consensus.d.ts +0 -27
  624. package/dist/simulation/scenarios/voting-system-consensus.d.ts.map +0 -1
  625. package/dist/simulation/scenarios/voting-system-consensus.js +0 -175
  626. package/dist/simulation/scenarios/voting-system-consensus.js.map +0 -1
  627. package/dist/simulation/types.d.ts +0 -162
  628. package/dist/simulation/types.d.ts.map +0 -1
  629. package/dist/simulation/types.js +0 -5
  630. package/dist/simulation/types.js.map +0 -1
  631. package/dist/simulation/utils/PerformanceOptimizer.d.ts +0 -115
  632. package/dist/simulation/utils/PerformanceOptimizer.d.ts.map +0 -1
  633. package/dist/simulation/utils/PerformanceOptimizer.js +0 -223
  634. package/dist/simulation/utils/PerformanceOptimizer.js.map +0 -1
  635. package/dist/src/backends/index.cjs +0 -6
  636. package/dist/src/backends/ruvector/GuardedVectorBackend.d.ts +0 -93
  637. package/dist/src/backends/ruvector/GuardedVectorBackend.d.ts.map +0 -1
  638. package/dist/src/backends/ruvector/GuardedVectorBackend.js +0 -182
  639. package/dist/src/backends/ruvector/GuardedVectorBackend.js.map +0 -1
  640. package/dist/src/consensus/RaftConsensus.d.ts +0 -220
  641. package/dist/src/consensus/RaftConsensus.d.ts.map +0 -1
  642. package/dist/src/consensus/RaftConsensus.js +0 -762
  643. package/dist/src/consensus/RaftConsensus.js.map +0 -1
  644. package/dist/src/controllers/HierarchicalMemory.d.ts +0 -197
  645. package/dist/src/controllers/HierarchicalMemory.d.ts.map +0 -1
  646. package/dist/src/controllers/HierarchicalMemory.js +0 -519
  647. package/dist/src/controllers/HierarchicalMemory.js.map +0 -1
  648. package/dist/src/controllers/MemoryConsolidation.d.ts +0 -142
  649. package/dist/src/controllers/MemoryConsolidation.d.ts.map +0 -1
  650. package/dist/src/controllers/MemoryConsolidation.js +0 -479
  651. package/dist/src/controllers/MemoryConsolidation.js.map +0 -1
  652. package/dist/src/controllers/QUICConnection.d.ts +0 -122
  653. package/dist/src/controllers/QUICConnection.d.ts.map +0 -1
  654. package/dist/src/controllers/QUICConnection.js +0 -329
  655. package/dist/src/controllers/QUICConnection.js.map +0 -1
  656. package/dist/src/controllers/QUICConnectionPool.d.ts +0 -83
  657. package/dist/src/controllers/QUICConnectionPool.d.ts.map +0 -1
  658. package/dist/src/controllers/QUICConnectionPool.js +0 -256
  659. package/dist/src/controllers/QUICConnectionPool.js.map +0 -1
  660. package/dist/src/controllers/QUICStreamManager.d.ts +0 -114
  661. package/dist/src/controllers/QUICStreamManager.d.ts.map +0 -1
  662. package/dist/src/controllers/QUICStreamManager.js +0 -267
  663. package/dist/src/controllers/QUICStreamManager.js.map +0 -1
  664. package/dist/src/controllers/StreamingEmbeddingService.d.ts +0 -82
  665. package/dist/src/controllers/StreamingEmbeddingService.d.ts.map +0 -1
  666. package/dist/src/controllers/StreamingEmbeddingService.js +0 -243
  667. package/dist/src/controllers/StreamingEmbeddingService.js.map +0 -1
  668. package/dist/src/controllers/index.cjs +0 -6
  669. package/dist/src/coordination/MultiDatabaseCoordinator.d.ts +0 -348
  670. package/dist/src/coordination/MultiDatabaseCoordinator.d.ts.map +0 -1
  671. package/dist/src/coordination/MultiDatabaseCoordinator.js +0 -803
  672. package/dist/src/coordination/MultiDatabaseCoordinator.js.map +0 -1
  673. package/dist/src/coordination/index.d.ts +0 -10
  674. package/dist/src/coordination/index.d.ts.map +0 -1
  675. package/dist/src/coordination/index.js +0 -10
  676. package/dist/src/coordination/index.js.map +0 -1
  677. package/dist/src/index.cjs +0 -6
  678. package/dist/src/optimizations/RVFOptimizer.d.ts +0 -226
  679. package/dist/src/optimizations/RVFOptimizer.d.ts.map +0 -1
  680. package/dist/src/optimizations/RVFOptimizer.js +0 -541
  681. package/dist/src/optimizations/RVFOptimizer.js.map +0 -1
  682. package/dist/src/security/AttestationLog.d.ts +0 -70
  683. package/dist/src/security/AttestationLog.d.ts.map +0 -1
  684. package/dist/src/security/AttestationLog.js +0 -174
  685. package/dist/src/security/AttestationLog.js.map +0 -1
  686. package/dist/src/security/MutationGuard.d.ts +0 -83
  687. package/dist/src/security/MutationGuard.d.ts.map +0 -1
  688. package/dist/src/security/MutationGuard.js +0 -364
  689. package/dist/src/security/MutationGuard.js.map +0 -1
  690. package/dist/src/security/index.cjs +0 -6
  691. package/dist/src/security/index.d.ts +0 -15
  692. package/dist/src/security/index.d.ts.map +0 -1
  693. package/dist/src/security/index.js +0 -18
  694. package/dist/src/security/index.js.map +0 -1
  695. package/dist/src/services/GNNService.d.ts +0 -172
  696. package/dist/src/services/GNNService.d.ts.map +0 -1
  697. package/dist/src/services/GNNService.js +0 -612
  698. package/dist/src/services/GNNService.js.map +0 -1
  699. package/dist/src/services/GraphTransformerService.d.ts +0 -80
  700. package/dist/src/services/GraphTransformerService.d.ts.map +0 -1
  701. package/dist/src/services/GraphTransformerService.js +0 -369
  702. package/dist/src/services/GraphTransformerService.js.map +0 -1
  703. package/dist/src/services/SemanticRouter.d.ts +0 -83
  704. package/dist/src/services/SemanticRouter.d.ts.map +0 -1
  705. package/dist/src/services/SemanticRouter.js +0 -160
  706. package/dist/src/services/SemanticRouter.js.map +0 -1
  707. package/dist/src/services/SonaTrajectoryService.d.ts +0 -224
  708. package/dist/src/services/SonaTrajectoryService.d.ts.map +0 -1
  709. package/dist/src/services/SonaTrajectoryService.js +0 -539
  710. package/dist/src/services/SonaTrajectoryService.js.map +0 -1
  711. package/dist/src/utils/LegacyAttentionAdapter.d.ts +0 -93
  712. package/dist/src/utils/LegacyAttentionAdapter.d.ts.map +0 -1
  713. package/dist/src/utils/LegacyAttentionAdapter.js +0 -241
  714. package/dist/src/utils/LegacyAttentionAdapter.js.map +0 -1
  715. package/dist/src/utils/vector-math.d.ts +0 -29
  716. package/dist/src/utils/vector-math.d.ts.map +0 -1
  717. package/dist/src/utils/vector-math.js +0 -66
  718. package/dist/src/utils/vector-math.js.map +0 -1
@@ -1,803 +0,0 @@
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
- // MultiDatabaseCoordinator Implementation
16
- // ============================================================================
17
- /**
18
- * MultiDatabaseCoordinator - Manages multiple AgentDB instances
19
- *
20
- * Provides coordination, synchronization, and health monitoring for
21
- * distributed vector database deployments.
22
- *
23
- * @example
24
- * ```typescript
25
- * const coordinator = new MultiDatabaseCoordinator(primaryDb, {
26
- * replicationFactor: 2,
27
- * syncIntervalMs: 30000,
28
- * conflictResolution: 'last-write-wins'
29
- * });
30
- *
31
- * // Register secondary instances
32
- * coordinator.registerInstance({
33
- * id: 'secondary-1',
34
- * url: 'http://db1.example.com:8080',
35
- * status: 'online',
36
- * lastSyncAt: 0,
37
- * vectorCount: 0,
38
- * version: '2.0.0'
39
- * });
40
- *
41
- * // Start health monitoring
42
- * coordinator.startHealthCheck(5000);
43
- *
44
- * // Sync all instances
45
- * const results = await coordinator.syncAll();
46
- * ```
47
- */
48
- export class MultiDatabaseCoordinator {
49
- primaryDb;
50
- instances = new Map();
51
- config;
52
- healthCheckInterval = null;
53
- syncInterval = null;
54
- statusChangeCallbacks = [];
55
- isSyncing = new Map();
56
- vectorTimestamps = new Map();
57
- /**
58
- * Create a new MultiDatabaseCoordinator
59
- *
60
- * @param primaryDb - Primary vector database backend
61
- * @param config - Configuration options
62
- */
63
- constructor(primaryDb, config = {}) {
64
- this.primaryDb = primaryDb;
65
- this.config = {
66
- replicationFactor: config.replicationFactor ?? 2,
67
- syncIntervalMs: config.syncIntervalMs ?? 30000,
68
- conflictResolution: config.conflictResolution ?? 'last-write-wins',
69
- healthCheckIntervalMs: config.healthCheckIntervalMs ?? 10000,
70
- healthCheckTimeoutMs: config.healthCheckTimeoutMs ?? 5000,
71
- autoFailover: config.autoFailover ?? true,
72
- maxRetries: config.maxRetries ?? 3,
73
- retryDelayMs: config.retryDelayMs ?? 1000,
74
- };
75
- // Start automatic sync if configured
76
- if (this.config.syncIntervalMs > 0) {
77
- this.startAutoSync();
78
- }
79
- }
80
- // ==========================================================================
81
- // Instance Management
82
- // ==========================================================================
83
- /**
84
- * Register a new database instance
85
- *
86
- * @param instance - Instance configuration
87
- * @throws Error if instance with same ID already exists
88
- */
89
- registerInstance(instance) {
90
- if (this.instances.has(instance.id)) {
91
- throw new Error(`Instance with ID '${instance.id}' already registered`);
92
- }
93
- this.instances.set(instance.id, { ...instance });
94
- this.isSyncing.set(instance.id, false);
95
- console.log(`[MultiDatabaseCoordinator] Registered instance: ${instance.id} (${instance.url})`);
96
- }
97
- /**
98
- * Unregister a database instance
99
- *
100
- * @param id - Instance ID to unregister
101
- * @throws Error if instance is currently syncing
102
- */
103
- unregisterInstance(id) {
104
- if (this.isSyncing.get(id)) {
105
- throw new Error(`Cannot unregister instance '${id}' while syncing`);
106
- }
107
- const removed = this.instances.delete(id);
108
- this.isSyncing.delete(id);
109
- if (removed) {
110
- console.log(`[MultiDatabaseCoordinator] Unregistered instance: ${id}`);
111
- }
112
- }
113
- /**
114
- * Get all registered instances
115
- *
116
- * @returns Array of database instances
117
- */
118
- getInstances() {
119
- return Array.from(this.instances.values());
120
- }
121
- /**
122
- * Get a specific instance by ID
123
- *
124
- * @param id - Instance ID
125
- * @returns Instance or null if not found
126
- */
127
- getInstanceStatus(id) {
128
- return this.instances.get(id) ?? null;
129
- }
130
- /**
131
- * Get only online instances
132
- *
133
- * @returns Array of online instances
134
- */
135
- getOnlineInstances() {
136
- return Array.from(this.instances.values()).filter((i) => i.status === 'online');
137
- }
138
- /**
139
- * Update instance status
140
- *
141
- * @param id - Instance ID
142
- * @param status - New status
143
- */
144
- updateInstanceStatus(id, status) {
145
- const instance = this.instances.get(id);
146
- if (!instance)
147
- return;
148
- const oldStatus = instance.status;
149
- if (oldStatus === status)
150
- return;
151
- instance.status = status;
152
- // Notify callbacks
153
- for (const callback of this.statusChangeCallbacks) {
154
- try {
155
- callback(id, oldStatus, status);
156
- }
157
- catch (error) {
158
- console.error(`[MultiDatabaseCoordinator] Status change callback error:`, error);
159
- }
160
- }
161
- }
162
- // ==========================================================================
163
- // Synchronization
164
- // ==========================================================================
165
- /**
166
- * Synchronize data TO a remote instance
167
- *
168
- * @param targetId - Target instance ID
169
- * @param options - Sync options
170
- * @returns Sync result
171
- */
172
- async syncToInstance(targetId, options = {}) {
173
- const instance = this.instances.get(targetId);
174
- if (!instance) {
175
- return {
176
- success: false,
177
- instanceId: targetId,
178
- itemsSynced: 0,
179
- conflictsDetected: 0,
180
- conflictsResolved: 0,
181
- durationMs: 0,
182
- bytesTransferred: 0,
183
- error: `Instance '${targetId}' not found`,
184
- };
185
- }
186
- if (instance.status === 'offline') {
187
- return {
188
- success: false,
189
- instanceId: targetId,
190
- itemsSynced: 0,
191
- conflictsDetected: 0,
192
- conflictsResolved: 0,
193
- durationMs: 0,
194
- bytesTransferred: 0,
195
- error: `Instance '${targetId}' is offline`,
196
- };
197
- }
198
- if (this.isSyncing.get(targetId)) {
199
- return {
200
- success: false,
201
- instanceId: targetId,
202
- itemsSynced: 0,
203
- conflictsDetected: 0,
204
- conflictsResolved: 0,
205
- durationMs: 0,
206
- bytesTransferred: 0,
207
- error: `Instance '${targetId}' is already syncing`,
208
- };
209
- }
210
- this.isSyncing.set(targetId, true);
211
- this.updateInstanceStatus(targetId, 'syncing');
212
- const startTime = Date.now();
213
- try {
214
- const mergedOptions = this.mergeOptions(options);
215
- let itemsSynced = 0;
216
- let conflictsDetected = 0;
217
- let conflictsResolved = 0;
218
- let bytesTransferred = 0;
219
- const unresolvedConflicts = [];
220
- mergedOptions.onProgress?.({
221
- phase: 'preparing',
222
- current: 0,
223
- total: 100,
224
- message: 'Preparing synchronization...',
225
- });
226
- // Get local vector stats
227
- const localStats = this.primaryDb.getStats();
228
- const localVectorIds = this.getLocalVectorIds();
229
- mergedOptions.onProgress?.({
230
- phase: 'fetching',
231
- current: 0,
232
- total: localVectorIds.length,
233
- message: `Fetching ${localVectorIds.length} vectors...`,
234
- });
235
- // Simulate sync - in real implementation, this would use network calls
236
- // For now, we track what would be synced
237
- const syncBatches = this.createBatches(localVectorIds, mergedOptions.batchSize ?? 100);
238
- for (let i = 0; i < syncBatches.length; i++) {
239
- const batch = syncBatches[i];
240
- mergedOptions.onProgress?.({
241
- phase: 'applying',
242
- current: i * (mergedOptions.batchSize ?? 100),
243
- total: localVectorIds.length,
244
- message: `Syncing batch ${i + 1}/${syncBatches.length}...`,
245
- });
246
- // Simulate batch transfer
247
- for (const vectorId of batch) {
248
- const localTimestamp = this.vectorTimestamps.get(vectorId) ?? Date.now();
249
- // Check for conflicts (simulate remote timestamp check)
250
- const hasConflict = Math.random() < 0.01; // 1% conflict rate for simulation
251
- if (hasConflict) {
252
- conflictsDetected++;
253
- if (mergedOptions.conflictResolution === 'manual') {
254
- unresolvedConflicts.push({
255
- vectorId,
256
- local: {
257
- embedding: new Float32Array(0),
258
- timestamp: localTimestamp,
259
- },
260
- remote: {
261
- embedding: new Float32Array(0),
262
- timestamp: localTimestamp - 1000,
263
- },
264
- suggestion: 'keep-local',
265
- });
266
- }
267
- else {
268
- conflictsResolved++;
269
- }
270
- }
271
- itemsSynced++;
272
- bytesTransferred += 384 * 4; // Approximate vector size
273
- }
274
- // Simulate network delay
275
- await this.delay(10);
276
- }
277
- // Update instance stats
278
- instance.lastSyncAt = Date.now();
279
- instance.vectorCount = localStats.count;
280
- mergedOptions.onProgress?.({
281
- phase: 'completed',
282
- current: itemsSynced,
283
- total: itemsSynced,
284
- message: 'Synchronization completed',
285
- });
286
- const durationMs = Date.now() - startTime;
287
- console.log(`[MultiDatabaseCoordinator] Synced to ${targetId}: ${itemsSynced} items, ${conflictsResolved}/${conflictsDetected} conflicts resolved, ${durationMs}ms`);
288
- return {
289
- success: true,
290
- instanceId: targetId,
291
- itemsSynced,
292
- conflictsDetected,
293
- conflictsResolved,
294
- durationMs,
295
- bytesTransferred,
296
- unresolvedConflicts: unresolvedConflicts.length > 0 ? unresolvedConflicts : undefined,
297
- };
298
- }
299
- catch (error) {
300
- const err = error;
301
- const durationMs = Date.now() - startTime;
302
- options.onProgress?.({
303
- phase: 'error',
304
- current: 0,
305
- total: 0,
306
- error: err.message,
307
- });
308
- console.error(`[MultiDatabaseCoordinator] Sync to ${targetId} failed:`, err.message);
309
- return {
310
- success: false,
311
- instanceId: targetId,
312
- itemsSynced: 0,
313
- conflictsDetected: 0,
314
- conflictsResolved: 0,
315
- durationMs,
316
- bytesTransferred: 0,
317
- error: err.message,
318
- };
319
- }
320
- finally {
321
- this.isSyncing.set(targetId, false);
322
- const instance = this.instances.get(targetId);
323
- if (instance && instance.status === 'syncing') {
324
- this.updateInstanceStatus(targetId, 'online');
325
- }
326
- }
327
- }
328
- /**
329
- * Synchronize data FROM a remote instance
330
- *
331
- * @param sourceId - Source instance ID
332
- * @param options - Sync options
333
- * @returns Sync result
334
- */
335
- async syncFromInstance(sourceId, options = {}) {
336
- const instance = this.instances.get(sourceId);
337
- if (!instance) {
338
- return {
339
- success: false,
340
- instanceId: sourceId,
341
- itemsSynced: 0,
342
- conflictsDetected: 0,
343
- conflictsResolved: 0,
344
- durationMs: 0,
345
- bytesTransferred: 0,
346
- error: `Instance '${sourceId}' not found`,
347
- };
348
- }
349
- if (instance.status === 'offline') {
350
- return {
351
- success: false,
352
- instanceId: sourceId,
353
- itemsSynced: 0,
354
- conflictsDetected: 0,
355
- conflictsResolved: 0,
356
- durationMs: 0,
357
- bytesTransferred: 0,
358
- error: `Instance '${sourceId}' is offline`,
359
- };
360
- }
361
- if (this.isSyncing.get(sourceId)) {
362
- return {
363
- success: false,
364
- instanceId: sourceId,
365
- itemsSynced: 0,
366
- conflictsDetected: 0,
367
- conflictsResolved: 0,
368
- durationMs: 0,
369
- bytesTransferred: 0,
370
- error: `Instance '${sourceId}' is already syncing`,
371
- };
372
- }
373
- this.isSyncing.set(sourceId, true);
374
- this.updateInstanceStatus(sourceId, 'syncing');
375
- const startTime = Date.now();
376
- try {
377
- const mergedOptions = this.mergeOptions(options);
378
- let itemsSynced = 0;
379
- let conflictsDetected = 0;
380
- let conflictsResolved = 0;
381
- let bytesTransferred = 0;
382
- mergedOptions.onProgress?.({
383
- phase: 'preparing',
384
- current: 0,
385
- total: 100,
386
- message: 'Preparing to fetch from remote...',
387
- });
388
- // Simulate fetching from remote
389
- const remoteVectorCount = instance.vectorCount;
390
- mergedOptions.onProgress?.({
391
- phase: 'fetching',
392
- current: 0,
393
- total: remoteVectorCount,
394
- message: `Fetching ${remoteVectorCount} vectors from ${sourceId}...`,
395
- });
396
- // Simulate progressive sync
397
- const batchCount = Math.ceil(remoteVectorCount / (mergedOptions.batchSize ?? 100));
398
- for (let i = 0; i < batchCount; i++) {
399
- const batchItems = Math.min(mergedOptions.batchSize ?? 100, remoteVectorCount - i * (mergedOptions.batchSize ?? 100));
400
- mergedOptions.onProgress?.({
401
- phase: 'applying',
402
- current: i * (mergedOptions.batchSize ?? 100),
403
- total: remoteVectorCount,
404
- message: `Applying batch ${i + 1}/${batchCount}...`,
405
- });
406
- // Simulate conflict detection
407
- const batchConflicts = Math.floor(batchItems * 0.01);
408
- conflictsDetected += batchConflicts;
409
- if (mergedOptions.conflictResolution !== 'manual') {
410
- conflictsResolved += batchConflicts;
411
- }
412
- itemsSynced += batchItems;
413
- bytesTransferred += batchItems * 384 * 4;
414
- await this.delay(10);
415
- }
416
- // Update instance
417
- instance.lastSyncAt = Date.now();
418
- mergedOptions.onProgress?.({
419
- phase: 'completed',
420
- current: itemsSynced,
421
- total: itemsSynced,
422
- message: 'Synchronization completed',
423
- });
424
- const durationMs = Date.now() - startTime;
425
- console.log(`[MultiDatabaseCoordinator] Synced from ${sourceId}: ${itemsSynced} items, ${conflictsResolved}/${conflictsDetected} conflicts resolved, ${durationMs}ms`);
426
- return {
427
- success: true,
428
- instanceId: sourceId,
429
- itemsSynced,
430
- conflictsDetected,
431
- conflictsResolved,
432
- durationMs,
433
- bytesTransferred,
434
- };
435
- }
436
- catch (error) {
437
- const err = error;
438
- const durationMs = Date.now() - startTime;
439
- options.onProgress?.({
440
- phase: 'error',
441
- current: 0,
442
- total: 0,
443
- error: err.message,
444
- });
445
- console.error(`[MultiDatabaseCoordinator] Sync from ${sourceId} failed:`, err.message);
446
- return {
447
- success: false,
448
- instanceId: sourceId,
449
- itemsSynced: 0,
450
- conflictsDetected: 0,
451
- conflictsResolved: 0,
452
- durationMs,
453
- bytesTransferred: 0,
454
- error: err.message,
455
- };
456
- }
457
- finally {
458
- this.isSyncing.set(sourceId, false);
459
- const instance = this.instances.get(sourceId);
460
- if (instance && instance.status === 'syncing') {
461
- this.updateInstanceStatus(sourceId, 'online');
462
- }
463
- }
464
- }
465
- /**
466
- * Synchronize all registered instances
467
- *
468
- * @param options - Sync options
469
- * @returns Map of instance ID to sync result
470
- */
471
- async syncAll(options = {}) {
472
- const results = new Map();
473
- const onlineInstances = this.getOnlineInstances();
474
- if (onlineInstances.length === 0) {
475
- console.log('[MultiDatabaseCoordinator] No online instances to sync');
476
- return results;
477
- }
478
- console.log(`[MultiDatabaseCoordinator] Starting sync to ${onlineInstances.length} instances...`);
479
- // Sync in parallel (respecting replication factor)
480
- const syncPromises = onlineInstances.map(async (instance) => {
481
- const result = await this.syncToInstance(instance.id, options);
482
- results.set(instance.id, result);
483
- return result;
484
- });
485
- await Promise.all(syncPromises);
486
- const successCount = Array.from(results.values()).filter((r) => r.success).length;
487
- console.log(`[MultiDatabaseCoordinator] Sync completed: ${successCount}/${onlineInstances.length} successful`);
488
- return results;
489
- }
490
- // ==========================================================================
491
- // Health Monitoring
492
- // ==========================================================================
493
- /**
494
- * Start periodic health checks
495
- *
496
- * @param intervalMs - Check interval in milliseconds (overrides config)
497
- */
498
- startHealthCheck(intervalMs) {
499
- if (this.healthCheckInterval) {
500
- console.log('[MultiDatabaseCoordinator] Health check already running');
501
- return;
502
- }
503
- const interval = intervalMs ?? this.config.healthCheckIntervalMs;
504
- console.log(`[MultiDatabaseCoordinator] Starting health checks (interval: ${interval}ms)`);
505
- this.healthCheckInterval = setInterval(async () => {
506
- await this.performHealthCheck();
507
- }, interval);
508
- // Perform initial check
509
- this.performHealthCheck();
510
- }
511
- /**
512
- * Stop periodic health checks
513
- */
514
- stopHealthCheck() {
515
- if (this.healthCheckInterval) {
516
- clearInterval(this.healthCheckInterval);
517
- this.healthCheckInterval = null;
518
- console.log('[MultiDatabaseCoordinator] Health checks stopped');
519
- }
520
- }
521
- /**
522
- * Perform health check on all instances
523
- */
524
- async performHealthCheck() {
525
- const instances = this.getInstances();
526
- for (const instance of instances) {
527
- try {
528
- // Simulate health check (in real implementation, make HTTP/TCP request)
529
- const isHealthy = await this.checkInstanceHealth(instance);
530
- if (isHealthy && instance.status === 'offline') {
531
- this.updateInstanceStatus(instance.id, 'online');
532
- console.log(`[MultiDatabaseCoordinator] Instance ${instance.id} is now online`);
533
- // Auto-sync if enabled
534
- if (this.config.autoFailover) {
535
- this.syncToInstance(instance.id).catch((err) => {
536
- console.error(`[MultiDatabaseCoordinator] Auto-sync to ${instance.id} failed:`, err);
537
- });
538
- }
539
- }
540
- else if (!isHealthy && instance.status !== 'offline') {
541
- this.updateInstanceStatus(instance.id, 'offline');
542
- console.log(`[MultiDatabaseCoordinator] Instance ${instance.id} is now offline`);
543
- }
544
- }
545
- catch (error) {
546
- if (instance.status !== 'offline') {
547
- this.updateInstanceStatus(instance.id, 'offline');
548
- console.log(`[MultiDatabaseCoordinator] Instance ${instance.id} health check failed`);
549
- }
550
- }
551
- }
552
- }
553
- /**
554
- * Check if a specific instance is healthy
555
- */
556
- async checkInstanceHealth(_instance) {
557
- // Simulate health check with timeout
558
- // In real implementation: HTTP ping or TCP connect
559
- return new Promise((resolve) => {
560
- setTimeout(() => {
561
- // Simulate 95% uptime
562
- resolve(Math.random() > 0.05);
563
- }, Math.random() * 100);
564
- });
565
- }
566
- /**
567
- * Register a callback for instance status changes
568
- *
569
- * @param callback - Callback function
570
- * @returns Unsubscribe function
571
- */
572
- onInstanceStatusChange(callback) {
573
- this.statusChangeCallbacks.push(callback);
574
- return () => {
575
- const index = this.statusChangeCallbacks.indexOf(callback);
576
- if (index >= 0) {
577
- this.statusChangeCallbacks.splice(index, 1);
578
- }
579
- };
580
- }
581
- // ==========================================================================
582
- // Distributed Operations
583
- // ==========================================================================
584
- /**
585
- * Broadcast an insert operation to all online instances
586
- *
587
- * @param id - Vector ID
588
- * @param vector - Vector embedding
589
- * @param metadata - Optional metadata
590
- */
591
- async broadcastInsert(id, vector, metadata) {
592
- // Insert to primary
593
- this.primaryDb.insert(id, vector, metadata);
594
- this.vectorTimestamps.set(id, Date.now());
595
- // Get online instances for replication
596
- const onlineInstances = this.getOnlineInstances();
597
- const replicationTargets = this.selectReplicationTargets(onlineInstances, this.config.replicationFactor - 1);
598
- if (replicationTargets.length === 0) {
599
- return;
600
- }
601
- // Broadcast to replicas (fire and forget with retries)
602
- const promises = replicationTargets.map(async (instance) => {
603
- for (let retry = 0; retry < this.config.maxRetries; retry++) {
604
- try {
605
- // Simulate remote insert
606
- await this.delay(5);
607
- return;
608
- }
609
- catch (error) {
610
- if (retry === this.config.maxRetries - 1) {
611
- console.error(`[MultiDatabaseCoordinator] Failed to replicate insert to ${instance.id} after ${this.config.maxRetries} retries`);
612
- }
613
- else {
614
- await this.delay(this.config.retryDelayMs);
615
- }
616
- }
617
- }
618
- });
619
- await Promise.allSettled(promises);
620
- }
621
- /**
622
- * Broadcast a delete operation to all online instances
623
- *
624
- * @param id - Vector ID to delete
625
- */
626
- async broadcastDelete(id) {
627
- // Delete from primary
628
- this.primaryDb.remove(id);
629
- this.vectorTimestamps.delete(id);
630
- // Get online instances
631
- const onlineInstances = this.getOnlineInstances();
632
- if (onlineInstances.length === 0) {
633
- return;
634
- }
635
- // Broadcast delete to all instances
636
- const promises = onlineInstances.map(async (instance) => {
637
- for (let retry = 0; retry < this.config.maxRetries; retry++) {
638
- try {
639
- // Simulate remote delete
640
- await this.delay(5);
641
- return;
642
- }
643
- catch (error) {
644
- if (retry === this.config.maxRetries - 1) {
645
- console.error(`[MultiDatabaseCoordinator] Failed to replicate delete to ${instance.id}`);
646
- }
647
- else {
648
- await this.delay(this.config.retryDelayMs);
649
- }
650
- }
651
- }
652
- });
653
- await Promise.allSettled(promises);
654
- }
655
- /**
656
- * Execute an operation on all instances (including primary)
657
- *
658
- * @param operation - Operation to execute
659
- * @returns Map of instance ID to result
660
- */
661
- async executeOnAll(operation) {
662
- const results = new Map();
663
- const errors = new Map();
664
- // Execute on primary
665
- try {
666
- const primaryResult = await operation(this.primaryDb, 'primary');
667
- results.set('primary', primaryResult);
668
- }
669
- catch (error) {
670
- errors.set('primary', error);
671
- }
672
- // Execute on all online instances
673
- const onlineInstances = this.getOnlineInstances();
674
- const promises = onlineInstances.map(async (instance) => {
675
- try {
676
- // In real implementation, this would make remote calls
677
- // For now, simulate the operation
678
- await this.delay(10);
679
- const result = await operation(this.primaryDb, instance.id);
680
- results.set(instance.id, result);
681
- }
682
- catch (error) {
683
- errors.set(instance.id, error);
684
- }
685
- });
686
- await Promise.all(promises);
687
- return {
688
- results,
689
- errors,
690
- successCount: results.size,
691
- failureCount: errors.size,
692
- };
693
- }
694
- // ==========================================================================
695
- // Configuration
696
- // ==========================================================================
697
- /**
698
- * Get current configuration
699
- */
700
- getConfig() {
701
- return { ...this.config };
702
- }
703
- /**
704
- * Update configuration
705
- *
706
- * @param updates - Partial configuration updates
707
- */
708
- updateConfig(updates) {
709
- Object.assign(this.config, updates);
710
- // Restart auto-sync if interval changed
711
- if (updates.syncIntervalMs !== undefined) {
712
- this.stopAutoSync();
713
- if (this.config.syncIntervalMs > 0) {
714
- this.startAutoSync();
715
- }
716
- }
717
- }
718
- /**
719
- * Get coordinator statistics
720
- */
721
- getStats() {
722
- const instances = this.getInstances();
723
- const onlineCount = instances.filter((i) => i.status === 'online').length;
724
- const offlineCount = instances.filter((i) => i.status === 'offline').length;
725
- const syncingCount = instances.filter((i) => i.status === 'syncing').length;
726
- const totalVectors = instances.reduce((sum, i) => sum + i.vectorCount, 0);
727
- return {
728
- primaryStats: this.primaryDb.getStats(),
729
- instanceCount: instances.length,
730
- onlineCount,
731
- offlineCount,
732
- syncingCount,
733
- totalVectors,
734
- };
735
- }
736
- // ==========================================================================
737
- // Cleanup
738
- // ==========================================================================
739
- /**
740
- * Stop all background tasks and cleanup
741
- */
742
- close() {
743
- this.stopHealthCheck();
744
- this.stopAutoSync();
745
- this.instances.clear();
746
- this.statusChangeCallbacks.length = 0;
747
- this.vectorTimestamps.clear();
748
- console.log('[MultiDatabaseCoordinator] Closed');
749
- }
750
- // ==========================================================================
751
- // Private Helpers
752
- // ==========================================================================
753
- startAutoSync() {
754
- if (this.syncInterval)
755
- return;
756
- console.log(`[MultiDatabaseCoordinator] Starting auto-sync (interval: ${this.config.syncIntervalMs}ms)`);
757
- this.syncInterval = setInterval(async () => {
758
- try {
759
- await this.syncAll();
760
- }
761
- catch (error) {
762
- console.error('[MultiDatabaseCoordinator] Auto-sync failed:', error);
763
- }
764
- }, this.config.syncIntervalMs);
765
- }
766
- stopAutoSync() {
767
- if (this.syncInterval) {
768
- clearInterval(this.syncInterval);
769
- this.syncInterval = null;
770
- console.log('[MultiDatabaseCoordinator] Auto-sync stopped');
771
- }
772
- }
773
- mergeOptions(options) {
774
- return {
775
- conflictResolution: options.conflictResolution ?? this.config.conflictResolution,
776
- batchSize: options.batchSize ?? 100,
777
- timeoutMs: options.timeoutMs ?? 60000,
778
- forceFullSync: options.forceFullSync ?? false,
779
- namespaceFilter: options.namespaceFilter,
780
- onProgress: options.onProgress,
781
- };
782
- }
783
- getLocalVectorIds() {
784
- // Return tracked vector IDs
785
- return Array.from(this.vectorTimestamps.keys());
786
- }
787
- createBatches(items, batchSize) {
788
- const batches = [];
789
- for (let i = 0; i < items.length; i += batchSize) {
790
- batches.push(items.slice(i, i + batchSize));
791
- }
792
- return batches;
793
- }
794
- selectReplicationTargets(instances, count) {
795
- // Select random instances for replication
796
- const shuffled = [...instances].sort(() => Math.random() - 0.5);
797
- return shuffled.slice(0, Math.min(count, shuffled.length));
798
- }
799
- delay(ms) {
800
- return new Promise((resolve) => setTimeout(resolve, ms));
801
- }
802
- }
803
- //# sourceMappingURL=MultiDatabaseCoordinator.js.map