agentdb 3.0.0-alpha.9 → 3.1.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 (726) 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/ExactSearch.d.ts +22 -0
  6. package/dist/src/backends/ExactSearch.d.ts.map +1 -0
  7. package/dist/src/backends/ExactSearch.js +36 -0
  8. package/dist/src/backends/ExactSearch.js.map +1 -0
  9. package/dist/src/backends/VectorBackend.d.ts +80 -6
  10. package/dist/src/backends/VectorBackend.d.ts.map +1 -1
  11. package/dist/src/backends/VectorBackend.js +67 -1
  12. package/dist/src/backends/VectorBackend.js.map +1 -1
  13. package/dist/src/backends/detector.js.map +1 -1
  14. package/dist/src/backends/factory.d.ts +16 -33
  15. package/dist/src/backends/factory.d.ts.map +1 -1
  16. package/dist/src/backends/factory.js +140 -110
  17. package/dist/src/backends/factory.js.map +1 -1
  18. package/dist/src/backends/graph/GraphDatabaseAdapter.d.ts +54 -6
  19. package/dist/src/backends/graph/GraphDatabaseAdapter.d.ts.map +1 -1
  20. package/dist/src/backends/graph/GraphDatabaseAdapter.js +143 -6
  21. package/dist/src/backends/graph/GraphDatabaseAdapter.js.map +1 -1
  22. package/dist/src/backends/hnswlib/HNSWLibBackend.d.ts.map +1 -1
  23. package/dist/src/backends/hnswlib/HNSWLibBackend.js +35 -8
  24. package/dist/src/backends/hnswlib/HNSWLibBackend.js.map +1 -1
  25. package/dist/src/backends/index.d.ts +2 -1
  26. package/dist/src/backends/index.d.ts.map +1 -1
  27. package/dist/src/backends/index.js +2 -0
  28. package/dist/src/backends/index.js.map +1 -1
  29. package/dist/src/backends/ruvector/RuVectorBackend.d.ts +256 -45
  30. package/dist/src/backends/ruvector/RuVectorBackend.d.ts.map +1 -1
  31. package/dist/src/backends/ruvector/RuVectorBackend.js +764 -290
  32. package/dist/src/backends/ruvector/RuVectorBackend.js.map +1 -1
  33. package/dist/src/backends/ruvector/RuVectorLearning.d.ts +0 -4
  34. package/dist/src/backends/ruvector/RuVectorLearning.d.ts.map +1 -1
  35. package/dist/src/backends/ruvector/RuVectorLearning.js +0 -6
  36. package/dist/src/backends/ruvector/RuVectorLearning.js.map +1 -1
  37. package/dist/src/backends/rvf/AdaptiveIndexTuner.d.ts +175 -0
  38. package/dist/src/backends/rvf/AdaptiveIndexTuner.d.ts.map +1 -0
  39. package/dist/src/backends/rvf/AdaptiveIndexTuner.js +567 -0
  40. package/dist/src/backends/rvf/AdaptiveIndexTuner.js.map +1 -0
  41. package/dist/src/backends/rvf/ContrastiveTrainer.d.ts +148 -0
  42. package/dist/src/backends/rvf/ContrastiveTrainer.d.ts.map +1 -0
  43. package/dist/src/backends/rvf/ContrastiveTrainer.js +438 -0
  44. package/dist/src/backends/rvf/ContrastiveTrainer.js.map +1 -0
  45. package/dist/src/backends/rvf/FederatedSessionManager.d.ts +212 -0
  46. package/dist/src/backends/rvf/FederatedSessionManager.d.ts.map +1 -0
  47. package/dist/src/backends/rvf/FederatedSessionManager.js +397 -0
  48. package/dist/src/backends/rvf/FederatedSessionManager.js.map +1 -0
  49. package/dist/src/backends/rvf/FilterBuilder.d.ts +136 -0
  50. package/dist/src/backends/rvf/FilterBuilder.d.ts.map +1 -0
  51. package/dist/src/backends/rvf/FilterBuilder.js +157 -0
  52. package/dist/src/backends/rvf/FilterBuilder.js.map +1 -0
  53. package/dist/src/backends/rvf/NativeAccelerator.d.ts +158 -0
  54. package/dist/src/backends/rvf/NativeAccelerator.d.ts.map +1 -0
  55. package/dist/src/backends/rvf/NativeAccelerator.js +702 -0
  56. package/dist/src/backends/rvf/NativeAccelerator.js.map +1 -0
  57. package/dist/src/backends/rvf/RvfBackend.d.ts +207 -0
  58. package/dist/src/backends/rvf/RvfBackend.d.ts.map +1 -0
  59. package/dist/src/backends/rvf/RvfBackend.js +651 -0
  60. package/dist/src/backends/rvf/RvfBackend.js.map +1 -0
  61. package/dist/src/backends/rvf/RvfSolver.d.ts +175 -0
  62. package/dist/src/backends/rvf/RvfSolver.d.ts.map +1 -0
  63. package/dist/src/backends/rvf/RvfSolver.js +176 -0
  64. package/dist/src/backends/rvf/RvfSolver.js.map +1 -0
  65. package/dist/src/backends/rvf/SelfLearningRvfBackend.d.ts +143 -0
  66. package/dist/src/backends/rvf/SelfLearningRvfBackend.d.ts.map +1 -0
  67. package/dist/src/backends/rvf/SelfLearningRvfBackend.js +612 -0
  68. package/dist/src/backends/rvf/SelfLearningRvfBackend.js.map +1 -0
  69. package/dist/src/backends/rvf/SemanticQueryRouter.d.ts +128 -0
  70. package/dist/src/backends/rvf/SemanticQueryRouter.d.ts.map +1 -0
  71. package/dist/src/backends/rvf/SemanticQueryRouter.js +415 -0
  72. package/dist/src/backends/rvf/SemanticQueryRouter.js.map +1 -0
  73. package/dist/src/backends/rvf/SimdFallbacks.d.ts +25 -0
  74. package/dist/src/backends/rvf/SimdFallbacks.d.ts.map +1 -0
  75. package/dist/src/backends/rvf/SimdFallbacks.js +287 -0
  76. package/dist/src/backends/rvf/SimdFallbacks.js.map +1 -0
  77. package/dist/src/backends/rvf/SolverBandit.d.ts +100 -0
  78. package/dist/src/backends/rvf/SolverBandit.d.ts.map +1 -0
  79. package/dist/src/backends/rvf/SolverBandit.js +216 -0
  80. package/dist/src/backends/rvf/SolverBandit.js.map +1 -0
  81. package/dist/src/backends/rvf/SonaLearningBackend.d.ts +157 -0
  82. package/dist/src/backends/rvf/SonaLearningBackend.d.ts.map +1 -0
  83. package/dist/src/backends/rvf/SonaLearningBackend.js +283 -0
  84. package/dist/src/backends/rvf/SonaLearningBackend.js.map +1 -0
  85. package/dist/src/backends/rvf/SqlJsRvfBackend.d.ts +104 -0
  86. package/dist/src/backends/rvf/SqlJsRvfBackend.d.ts.map +1 -0
  87. package/dist/src/backends/rvf/SqlJsRvfBackend.js +474 -0
  88. package/dist/src/backends/rvf/SqlJsRvfBackend.js.map +1 -0
  89. package/dist/src/backends/rvf/WasmStoreBridge.d.ts +27 -0
  90. package/dist/src/backends/rvf/WasmStoreBridge.d.ts.map +1 -0
  91. package/dist/src/backends/rvf/WasmStoreBridge.js +87 -0
  92. package/dist/src/backends/rvf/WasmStoreBridge.js.map +1 -0
  93. package/dist/src/backends/rvf/validation.d.ts +20 -0
  94. package/dist/src/backends/rvf/validation.d.ts.map +1 -0
  95. package/dist/src/backends/rvf/validation.js +78 -0
  96. package/dist/src/backends/rvf/validation.js.map +1 -0
  97. package/dist/src/benchmark/BenchmarkSuite.d.ts +318 -0
  98. package/dist/src/benchmark/BenchmarkSuite.d.ts.map +1 -0
  99. package/dist/src/benchmark/BenchmarkSuite.js +984 -0
  100. package/dist/src/benchmark/BenchmarkSuite.js.map +1 -0
  101. package/dist/src/benchmark/index.d.ts +29 -0
  102. package/dist/src/benchmark/index.d.ts.map +1 -0
  103. package/dist/src/benchmark/index.js +39 -0
  104. package/dist/src/benchmark/index.js.map +1 -0
  105. package/dist/src/browser/AttentionBrowser.d.ts.map +1 -1
  106. package/dist/src/browser/AttentionBrowser.js +1 -0
  107. package/dist/src/browser/AttentionBrowser.js.map +1 -1
  108. package/dist/src/cli/agentdb-cli.d.ts +14 -0
  109. package/dist/src/cli/agentdb-cli.d.ts.map +1 -1
  110. package/dist/src/cli/agentdb-cli.js +839 -143
  111. package/dist/src/cli/agentdb-cli.js.map +1 -1
  112. package/dist/src/cli/commands/attention.js +12 -2
  113. package/dist/src/cli/commands/attention.js.map +1 -1
  114. package/dist/src/cli/commands/doctor.js +5 -5
  115. package/dist/src/cli/commands/doctor.js.map +1 -1
  116. package/dist/src/cli/commands/hyperbolic.d.ts +11 -0
  117. package/dist/src/cli/commands/hyperbolic.d.ts.map +1 -0
  118. package/dist/src/cli/commands/hyperbolic.js +440 -0
  119. package/dist/src/cli/commands/hyperbolic.js.map +1 -0
  120. package/dist/src/cli/commands/install-embeddings.d.ts +1 -1
  121. package/dist/src/cli/commands/install-embeddings.d.ts.map +1 -1
  122. package/dist/src/cli/commands/install-embeddings.js +17 -11
  123. package/dist/src/cli/commands/install-embeddings.js.map +1 -1
  124. package/dist/src/cli/commands/learn.d.ts +11 -0
  125. package/dist/src/cli/commands/learn.d.ts.map +1 -0
  126. package/dist/src/cli/commands/learn.js +410 -0
  127. package/dist/src/cli/commands/learn.js.map +1 -0
  128. package/dist/src/cli/commands/migrate.d.ts +15 -0
  129. package/dist/src/cli/commands/migrate.d.ts.map +1 -1
  130. package/dist/src/cli/commands/migrate.js +190 -10
  131. package/dist/src/cli/commands/migrate.js.map +1 -1
  132. package/dist/src/cli/commands/route.d.ts +11 -0
  133. package/dist/src/cli/commands/route.d.ts.map +1 -0
  134. package/dist/src/cli/commands/route.js +419 -0
  135. package/dist/src/cli/commands/route.js.map +1 -0
  136. package/dist/src/cli/commands/rvf.d.ts +21 -0
  137. package/dist/src/cli/commands/rvf.d.ts.map +1 -0
  138. package/dist/src/cli/commands/rvf.js +448 -0
  139. package/dist/src/cli/commands/rvf.js.map +1 -0
  140. package/dist/src/cli/commands/simulate-report.js +14 -2
  141. package/dist/src/cli/commands/simulate-report.js.map +1 -1
  142. package/dist/src/cli/lib/report-store.d.ts +2 -1
  143. package/dist/src/cli/lib/report-store.d.ts.map +1 -1
  144. package/dist/src/cli/lib/report-store.js +85 -65
  145. package/dist/src/cli/lib/report-store.js.map +1 -1
  146. package/dist/src/cli/lib/simulation-runner.d.ts +40 -3
  147. package/dist/src/cli/lib/simulation-runner.d.ts.map +1 -1
  148. package/dist/src/cli/lib/simulation-runner.js +248 -6
  149. package/dist/src/cli/lib/simulation-runner.js.map +1 -1
  150. package/dist/src/compatibility/DeprecationWarnings.d.ts +54 -0
  151. package/dist/src/compatibility/DeprecationWarnings.d.ts.map +1 -0
  152. package/dist/src/compatibility/DeprecationWarnings.js +131 -0
  153. package/dist/src/compatibility/DeprecationWarnings.js.map +1 -0
  154. package/dist/src/compatibility/MigrationUtilities.d.ts +30 -0
  155. package/dist/src/compatibility/MigrationUtilities.d.ts.map +1 -0
  156. package/dist/src/compatibility/MigrationUtilities.js +184 -0
  157. package/dist/src/compatibility/MigrationUtilities.js.map +1 -0
  158. package/dist/src/compatibility/V1toV2Adapter.d.ts +76 -0
  159. package/dist/src/compatibility/V1toV2Adapter.d.ts.map +1 -0
  160. package/dist/src/compatibility/V1toV2Adapter.js +185 -0
  161. package/dist/src/compatibility/V1toV2Adapter.js.map +1 -0
  162. package/dist/src/compatibility/VersionDetector.d.ts +32 -0
  163. package/dist/src/compatibility/VersionDetector.d.ts.map +1 -0
  164. package/dist/src/compatibility/VersionDetector.js +144 -0
  165. package/dist/src/compatibility/VersionDetector.js.map +1 -0
  166. package/dist/src/compatibility/index.d.ts +14 -0
  167. package/dist/src/compatibility/index.d.ts.map +1 -0
  168. package/dist/src/compatibility/index.js +21 -0
  169. package/dist/src/compatibility/index.js.map +1 -0
  170. package/dist/src/compatibility/types.d.ts +103 -0
  171. package/dist/src/compatibility/types.d.ts.map +1 -0
  172. package/dist/src/compatibility/types.js +5 -0
  173. package/dist/src/compatibility/types.js.map +1 -0
  174. package/dist/src/controllers/AttentionService.d.ts +99 -202
  175. package/dist/src/controllers/AttentionService.d.ts.map +1 -1
  176. package/dist/src/controllers/AttentionService.js +450 -558
  177. package/dist/src/controllers/AttentionService.js.map +1 -1
  178. package/dist/src/controllers/CausalMemoryGraph.d.ts +30 -5
  179. package/dist/src/controllers/CausalMemoryGraph.d.ts.map +1 -1
  180. package/dist/src/controllers/CausalMemoryGraph.js +92 -15
  181. package/dist/src/controllers/CausalMemoryGraph.js.map +1 -1
  182. package/dist/src/controllers/CausalRecall.d.ts +4 -0
  183. package/dist/src/controllers/CausalRecall.d.ts.map +1 -1
  184. package/dist/src/controllers/CausalRecall.js +23 -5
  185. package/dist/src/controllers/CausalRecall.js.map +1 -1
  186. package/dist/src/controllers/EmbeddingService.d.ts +39 -0
  187. package/dist/src/controllers/EmbeddingService.d.ts.map +1 -1
  188. package/dist/src/controllers/EmbeddingService.js +166 -32
  189. package/dist/src/controllers/EmbeddingService.js.map +1 -1
  190. package/dist/src/controllers/EnhancedEmbeddingService.d.ts +4 -0
  191. package/dist/src/controllers/EnhancedEmbeddingService.d.ts.map +1 -1
  192. package/dist/src/controllers/EnhancedEmbeddingService.js +21 -7
  193. package/dist/src/controllers/EnhancedEmbeddingService.js.map +1 -1
  194. package/dist/src/controllers/ExplainableRecall.d.ts +1 -1
  195. package/dist/src/controllers/ExplainableRecall.d.ts.map +1 -1
  196. package/dist/src/controllers/ExplainableRecall.js +1 -1
  197. package/dist/src/controllers/ExplainableRecall.js.map +1 -1
  198. package/dist/src/controllers/HNSWIndex.d.ts +20 -2
  199. package/dist/src/controllers/HNSWIndex.d.ts.map +1 -1
  200. package/dist/src/controllers/HNSWIndex.js +114 -39
  201. package/dist/src/controllers/HNSWIndex.js.map +1 -1
  202. package/dist/src/controllers/LearningSystem.d.ts +6 -17
  203. package/dist/src/controllers/LearningSystem.d.ts.map +1 -1
  204. package/dist/src/controllers/LearningSystem.js +66 -155
  205. package/dist/src/controllers/LearningSystem.js.map +1 -1
  206. package/dist/src/controllers/MemoryController.d.ts +174 -0
  207. package/dist/src/controllers/MemoryController.d.ts.map +1 -0
  208. package/dist/src/controllers/MemoryController.js +320 -0
  209. package/dist/src/controllers/MemoryController.js.map +1 -0
  210. package/dist/src/controllers/MetadataFilter.d.ts.map +1 -1
  211. package/dist/src/controllers/MetadataFilter.js +38 -26
  212. package/dist/src/controllers/MetadataFilter.js.map +1 -1
  213. package/dist/src/controllers/MincutService.d.ts +92 -0
  214. package/dist/src/controllers/MincutService.d.ts.map +1 -0
  215. package/dist/src/controllers/MincutService.js +336 -0
  216. package/dist/src/controllers/MincutService.js.map +1 -0
  217. package/dist/src/controllers/NightlyLearner.d.ts +5 -1
  218. package/dist/src/controllers/NightlyLearner.d.ts.map +1 -1
  219. package/dist/src/controllers/NightlyLearner.js +45 -31
  220. package/dist/src/controllers/NightlyLearner.js.map +1 -1
  221. package/dist/src/controllers/QUICClient.d.ts +45 -0
  222. package/dist/src/controllers/QUICClient.d.ts.map +1 -1
  223. package/dist/src/controllers/QUICClient.js +211 -21
  224. package/dist/src/controllers/QUICClient.js.map +1 -1
  225. package/dist/src/controllers/QUICServer.d.ts.map +1 -1
  226. package/dist/src/controllers/QUICServer.js +36 -27
  227. package/dist/src/controllers/QUICServer.js.map +1 -1
  228. package/dist/src/controllers/ReasoningBank.d.ts +44 -5
  229. package/dist/src/controllers/ReasoningBank.d.ts.map +1 -1
  230. package/dist/src/controllers/ReasoningBank.js +187 -99
  231. package/dist/src/controllers/ReasoningBank.js.map +1 -1
  232. package/dist/src/controllers/ReflexionMemory.d.ts +129 -6
  233. package/dist/src/controllers/ReflexionMemory.d.ts.map +1 -1
  234. package/dist/src/controllers/ReflexionMemory.js +687 -220
  235. package/dist/src/controllers/ReflexionMemory.js.map +1 -1
  236. package/dist/src/controllers/SkillLibrary.d.ts +41 -3
  237. package/dist/src/controllers/SkillLibrary.d.ts.map +1 -1
  238. package/dist/src/controllers/SkillLibrary.js +291 -116
  239. package/dist/src/controllers/SkillLibrary.js.map +1 -1
  240. package/dist/src/controllers/SparsificationService.d.ts +151 -0
  241. package/dist/src/controllers/SparsificationService.d.ts.map +1 -0
  242. package/dist/src/controllers/SparsificationService.js +375 -0
  243. package/dist/src/controllers/SparsificationService.js.map +1 -0
  244. package/dist/src/controllers/SyncCoordinator.d.ts.map +1 -1
  245. package/dist/src/controllers/SyncCoordinator.js +126 -12
  246. package/dist/src/controllers/SyncCoordinator.js.map +1 -1
  247. package/dist/src/controllers/WASMVectorSearch.d.ts +12 -30
  248. package/dist/src/controllers/WASMVectorSearch.d.ts.map +1 -1
  249. package/dist/src/controllers/WASMVectorSearch.js +209 -119
  250. package/dist/src/controllers/WASMVectorSearch.js.map +1 -1
  251. package/dist/src/controllers/attention/AttentionCache.d.ts +38 -0
  252. package/dist/src/controllers/attention/AttentionCache.d.ts.map +1 -0
  253. package/dist/src/controllers/attention/AttentionCache.js +80 -0
  254. package/dist/src/controllers/attention/AttentionCache.js.map +1 -0
  255. package/dist/src/controllers/attention/AttentionConfig.d.ts +127 -0
  256. package/dist/src/controllers/attention/AttentionConfig.d.ts.map +1 -0
  257. package/dist/src/controllers/attention/AttentionConfig.js +124 -0
  258. package/dist/src/controllers/attention/AttentionConfig.js.map +1 -0
  259. package/dist/src/controllers/attention/AttentionCore.d.ts +89 -0
  260. package/dist/src/controllers/attention/AttentionCore.d.ts.map +1 -0
  261. package/dist/src/controllers/attention/AttentionCore.js +289 -0
  262. package/dist/src/controllers/attention/AttentionCore.js.map +1 -0
  263. package/dist/src/controllers/attention/AttentionHelpers.d.ts +55 -0
  264. package/dist/src/controllers/attention/AttentionHelpers.d.ts.map +1 -0
  265. package/dist/src/controllers/attention/AttentionHelpers.js +148 -0
  266. package/dist/src/controllers/attention/AttentionHelpers.js.map +1 -0
  267. package/dist/src/controllers/attention/AttentionMetrics.d.ts +55 -0
  268. package/dist/src/controllers/attention/AttentionMetrics.d.ts.map +1 -0
  269. package/dist/src/controllers/attention/AttentionMetrics.js +72 -0
  270. package/dist/src/controllers/attention/AttentionMetrics.js.map +1 -0
  271. package/dist/src/controllers/attention/AttentionWASM.d.ts +98 -0
  272. package/dist/src/controllers/attention/AttentionWASM.d.ts.map +1 -0
  273. package/dist/src/controllers/attention/AttentionWASM.js +147 -0
  274. package/dist/src/controllers/attention/AttentionWASM.js.map +1 -0
  275. package/dist/src/controllers/attention/CrossAttentionController.d.ts +141 -0
  276. package/dist/src/controllers/attention/CrossAttentionController.d.ts.map +1 -0
  277. package/dist/src/controllers/attention/CrossAttentionController.js +325 -0
  278. package/dist/src/controllers/attention/CrossAttentionController.js.map +1 -0
  279. package/dist/src/controllers/attention/MultiHeadAttentionController.d.ts +137 -0
  280. package/dist/src/controllers/attention/MultiHeadAttentionController.d.ts.map +1 -0
  281. package/dist/src/controllers/attention/MultiHeadAttentionController.js +336 -0
  282. package/dist/src/controllers/attention/MultiHeadAttentionController.js.map +1 -0
  283. package/dist/src/controllers/attention/SelfAttentionController.d.ts +117 -0
  284. package/dist/src/controllers/attention/SelfAttentionController.d.ts.map +1 -0
  285. package/dist/src/controllers/attention/SelfAttentionController.js +205 -0
  286. package/dist/src/controllers/attention/SelfAttentionController.js.map +1 -0
  287. package/dist/src/controllers/attention/index.d.ts +24 -0
  288. package/dist/src/controllers/attention/index.d.ts.map +1 -0
  289. package/dist/src/controllers/attention/index.js +20 -0
  290. package/dist/src/controllers/attention/index.js.map +1 -0
  291. package/dist/src/controllers/index.d.ts +15 -28
  292. package/dist/src/controllers/index.d.ts.map +1 -1
  293. package/dist/src/controllers/index.js +11 -19
  294. package/dist/src/controllers/index.js.map +1 -1
  295. package/dist/src/controllers/prerequisites.d.ts +76 -0
  296. package/dist/src/controllers/prerequisites.d.ts.map +1 -0
  297. package/dist/src/controllers/prerequisites.js +235 -0
  298. package/dist/src/controllers/prerequisites.js.map +1 -0
  299. package/dist/src/core/AgentDB.d.ts +33 -19
  300. package/dist/src/core/AgentDB.d.ts.map +1 -1
  301. package/dist/src/core/AgentDB.js +87 -127
  302. package/dist/src/core/AgentDB.js.map +1 -1
  303. package/dist/src/core/QueryCache.d.ts +138 -0
  304. package/dist/src/core/QueryCache.d.ts.map +1 -0
  305. package/dist/src/core/QueryCache.js +309 -0
  306. package/dist/src/core/QueryCache.js.map +1 -0
  307. package/dist/src/db-fallback.d.ts +52 -4
  308. package/dist/src/db-fallback.d.ts.map +1 -1
  309. package/dist/src/db-fallback.js +521 -71
  310. package/dist/src/db-fallback.js.map +1 -1
  311. package/dist/src/db-unified.d.ts.map +1 -1
  312. package/dist/src/db-unified.js +32 -30
  313. package/dist/src/db-unified.js.map +1 -1
  314. package/dist/src/embedding/EmbeddingSpaceIdentity.d.ts +58 -0
  315. package/dist/src/embedding/EmbeddingSpaceIdentity.d.ts.map +1 -0
  316. package/dist/src/embedding/EmbeddingSpaceIdentity.js +137 -0
  317. package/dist/src/embedding/EmbeddingSpaceIdentity.js.map +1 -0
  318. package/dist/src/embedding/index.d.ts +3 -0
  319. package/dist/src/embedding/index.d.ts.map +1 -0
  320. package/dist/src/embedding/index.js +2 -0
  321. package/dist/src/embedding/index.js.map +1 -0
  322. package/dist/src/examples/quic-sync-example.js +2 -2
  323. package/dist/src/examples/quic-sync-example.js.map +1 -1
  324. package/dist/src/governance/MetaHarnessGateway.d.ts +55 -0
  325. package/dist/src/governance/MetaHarnessGateway.d.ts.map +1 -0
  326. package/dist/src/governance/MetaHarnessGateway.js +65 -0
  327. package/dist/src/governance/MetaHarnessGateway.js.map +1 -0
  328. package/dist/src/governance/RvfExperimentBranch.d.ts +65 -0
  329. package/dist/src/governance/RvfExperimentBranch.d.ts.map +1 -0
  330. package/dist/src/governance/RvfExperimentBranch.js +115 -0
  331. package/dist/src/governance/RvfExperimentBranch.js.map +1 -0
  332. package/dist/src/index.d.ts +20 -16
  333. package/dist/src/index.d.ts.map +1 -1
  334. package/dist/src/index.js +44 -12
  335. package/dist/src/index.js.map +1 -1
  336. package/dist/src/mcp/agentdb-mcp-server.js +318 -16
  337. package/dist/src/mcp/agentdb-mcp-server.js.map +1 -1
  338. package/dist/src/mcp/reset-database.d.ts +15 -0
  339. package/dist/src/mcp/reset-database.d.ts.map +1 -0
  340. package/dist/src/mcp/reset-database.js +45 -0
  341. package/dist/src/mcp/reset-database.js.map +1 -0
  342. package/dist/src/model/ModelCacheLoader.d.ts +31 -0
  343. package/dist/src/model/ModelCacheLoader.d.ts.map +1 -0
  344. package/dist/src/model/ModelCacheLoader.js +209 -0
  345. package/dist/src/model/ModelCacheLoader.js.map +1 -0
  346. package/dist/src/observability/index.d.ts +8 -0
  347. package/dist/src/observability/index.d.ts.map +1 -0
  348. package/dist/src/observability/index.js +8 -0
  349. package/dist/src/observability/index.js.map +1 -0
  350. package/dist/src/observability/integration.d.ts +32 -0
  351. package/dist/src/observability/integration.d.ts.map +1 -0
  352. package/dist/src/observability/integration.js +159 -0
  353. package/dist/src/observability/integration.js.map +1 -0
  354. package/dist/src/observability/telemetry.d.ts +137 -0
  355. package/dist/src/observability/telemetry.d.ts.map +1 -0
  356. package/dist/src/observability/telemetry.js +424 -0
  357. package/dist/src/observability/telemetry.js.map +1 -0
  358. package/dist/src/optimizations/BatchOperations.d.ts +47 -0
  359. package/dist/src/optimizations/BatchOperations.d.ts.map +1 -1
  360. package/dist/src/optimizations/BatchOperations.js +189 -35
  361. package/dist/src/optimizations/BatchOperations.js.map +1 -1
  362. package/dist/src/optimizations/Quantization.d.ts +330 -0
  363. package/dist/src/optimizations/Quantization.d.ts.map +1 -0
  364. package/dist/src/optimizations/Quantization.js +793 -0
  365. package/dist/src/optimizations/Quantization.js.map +1 -0
  366. package/dist/src/optimizations/index.d.ts +1 -3
  367. package/dist/src/optimizations/index.d.ts.map +1 -1
  368. package/dist/src/optimizations/index.js +0 -1
  369. package/dist/src/optimizations/index.js.map +1 -1
  370. package/dist/src/quantization/index.d.ts +7 -0
  371. package/dist/src/quantization/index.d.ts.map +1 -0
  372. package/dist/src/quantization/index.js +15 -0
  373. package/dist/src/quantization/index.js.map +1 -0
  374. package/dist/src/quantization/vector-quantization.d.ts +388 -0
  375. package/dist/src/quantization/vector-quantization.d.ts.map +1 -0
  376. package/dist/src/quantization/vector-quantization.js +1132 -0
  377. package/dist/src/quantization/vector-quantization.js.map +1 -0
  378. package/dist/src/schemas/inline.d.ts +3 -0
  379. package/dist/src/schemas/inline.d.ts.map +1 -0
  380. package/dist/src/schemas/inline.js +10 -0
  381. package/dist/src/schemas/inline.js.map +1 -0
  382. package/dist/src/search/HybridSearch.d.ts +311 -0
  383. package/dist/src/search/HybridSearch.d.ts.map +1 -0
  384. package/dist/src/search/HybridSearch.js +713 -0
  385. package/dist/src/search/HybridSearch.js.map +1 -0
  386. package/dist/src/search/index.d.ts +12 -0
  387. package/dist/src/search/index.d.ts.map +1 -0
  388. package/dist/src/search/index.js +16 -0
  389. package/dist/src/search/index.js.map +1 -0
  390. package/dist/src/security/input-validation.d.ts +30 -0
  391. package/dist/src/security/input-validation.d.ts.map +1 -1
  392. package/dist/src/security/input-validation.js +77 -3
  393. package/dist/src/security/input-validation.js.map +1 -1
  394. package/dist/src/security/limits.d.ts.map +1 -1
  395. package/dist/src/security/limits.js +12 -3
  396. package/dist/src/security/limits.js.map +1 -1
  397. package/dist/src/security/mcp-policy.d.ts +17 -0
  398. package/dist/src/security/mcp-policy.d.ts.map +1 -0
  399. package/dist/src/security/mcp-policy.js +94 -0
  400. package/dist/src/security/mcp-policy.js.map +1 -0
  401. package/dist/src/security/path-security.d.ts.map +1 -1
  402. package/dist/src/security/path-security.js +3 -1
  403. package/dist/src/security/path-security.js.map +1 -1
  404. package/dist/src/security/validation.js +3 -3
  405. package/dist/src/security/validation.js.map +1 -1
  406. package/dist/src/services/AttentionService.d.ts +303 -0
  407. package/dist/src/services/AttentionService.d.ts.map +1 -0
  408. package/dist/src/services/AttentionService.js +1165 -0
  409. package/dist/src/services/AttentionService.js.map +1 -0
  410. package/dist/src/services/LLMRouter.d.ts +70 -8
  411. package/dist/src/services/LLMRouter.d.ts.map +1 -1
  412. package/dist/src/services/LLMRouter.js +279 -28
  413. package/dist/src/services/LLMRouter.js.map +1 -1
  414. package/dist/src/services/audit-logger.service.d.ts +168 -0
  415. package/dist/src/services/audit-logger.service.d.ts.map +1 -0
  416. package/dist/src/services/audit-logger.service.js +331 -0
  417. package/dist/src/services/audit-logger.service.js.map +1 -0
  418. package/dist/src/services/enhanced-embeddings.d.ts +271 -0
  419. package/dist/src/services/enhanced-embeddings.d.ts.map +1 -0
  420. package/dist/src/services/enhanced-embeddings.js +1036 -0
  421. package/dist/src/services/enhanced-embeddings.js.map +1 -0
  422. package/dist/src/services/federated-learning.d.ts +172 -0
  423. package/dist/src/services/federated-learning.d.ts.map +1 -0
  424. package/dist/src/services/federated-learning.js +344 -0
  425. package/dist/src/services/federated-learning.js.map +1 -0
  426. package/dist/src/simd/index.d.ts +9 -0
  427. package/dist/src/simd/index.d.ts.map +1 -0
  428. package/dist/src/simd/index.js +27 -0
  429. package/dist/src/simd/index.js.map +1 -0
  430. package/dist/src/simd/simd-vector-ops.d.ts +343 -0
  431. package/dist/src/simd/simd-vector-ops.d.ts.map +1 -0
  432. package/dist/src/simd/simd-vector-ops.js +1012 -0
  433. package/dist/src/simd/simd-vector-ops.js.map +1 -0
  434. package/dist/src/types/database.types.d.ts +275 -0
  435. package/dist/src/types/database.types.d.ts.map +1 -0
  436. package/dist/src/types/database.types.js +55 -0
  437. package/dist/src/types/database.types.js.map +1 -0
  438. package/dist/src/types/graph.d.ts +29 -0
  439. package/dist/src/types/graph.d.ts.map +1 -0
  440. package/dist/src/types/graph.js +8 -0
  441. package/dist/src/types/graph.js.map +1 -0
  442. package/dist/src/utils/chalk-fallback.d.ts +3 -0
  443. package/dist/src/utils/chalk-fallback.d.ts.map +1 -0
  444. package/dist/src/utils/chalk-fallback.js +20 -0
  445. package/dist/src/utils/chalk-fallback.js.map +1 -0
  446. package/dist/src/utils/similarity.d.ts +11 -0
  447. package/dist/src/utils/similarity.d.ts.map +1 -0
  448. package/dist/src/utils/similarity.js +25 -0
  449. package/dist/src/utils/similarity.js.map +1 -0
  450. package/dist/src/utils/top-k.d.ts +44 -0
  451. package/dist/src/utils/top-k.d.ts.map +1 -0
  452. package/dist/src/utils/top-k.js +111 -0
  453. package/dist/src/utils/top-k.js.map +1 -0
  454. package/dist/src/wasm-loader.d.ts +66 -0
  455. package/dist/src/wasm-loader.d.ts.map +1 -0
  456. package/dist/src/wasm-loader.js +76 -0
  457. package/dist/src/wasm-loader.js.map +1 -0
  458. package/dist/src/wrappers/agentdb-fast.d.ts +140 -0
  459. package/dist/src/wrappers/agentdb-fast.d.ts.map +1 -0
  460. package/dist/src/wrappers/agentdb-fast.js +309 -0
  461. package/dist/src/wrappers/agentdb-fast.js.map +1 -0
  462. package/dist/src/wrappers/attention-fallbacks.d.ts +343 -0
  463. package/dist/src/wrappers/attention-fallbacks.d.ts.map +1 -0
  464. package/dist/src/wrappers/attention-fallbacks.js +1484 -0
  465. package/dist/src/wrappers/attention-fallbacks.js.map +1 -0
  466. package/dist/src/wrappers/attention-native.d.ts +111 -0
  467. package/dist/src/wrappers/attention-native.d.ts.map +1 -0
  468. package/dist/src/wrappers/attention-native.js +273 -0
  469. package/dist/src/wrappers/attention-native.js.map +1 -0
  470. package/dist/src/wrappers/embedding-service.d.ts +117 -0
  471. package/dist/src/wrappers/embedding-service.d.ts.map +1 -0
  472. package/dist/src/wrappers/embedding-service.js +370 -0
  473. package/dist/src/wrappers/embedding-service.js.map +1 -0
  474. package/dist/src/wrappers/gnn-wrapper.d.ts +71 -0
  475. package/dist/src/wrappers/gnn-wrapper.d.ts.map +1 -0
  476. package/dist/src/wrappers/gnn-wrapper.js +236 -0
  477. package/dist/src/wrappers/gnn-wrapper.js.map +1 -0
  478. package/dist/src/wrappers/index.d.ts +48 -0
  479. package/dist/src/wrappers/index.d.ts.map +1 -0
  480. package/dist/src/wrappers/index.js +83 -0
  481. package/dist/src/wrappers/index.js.map +1 -0
  482. package/package.json +130 -80
  483. package/scripts/postinstall.cjs +13 -144
  484. package/dist/agentdb.browser.js +0 -1685
  485. package/dist/agentdb.browser.js.map +0 -7
  486. package/dist/agentdb.browser.min.js +0 -3
  487. package/dist/agentdb.browser.min.js.map +0 -7
  488. package/dist/agentdb.wasm-loader.js +0 -207
  489. package/dist/backends/VectorBackend.d.ts +0 -120
  490. package/dist/backends/VectorBackend.js +0 -14
  491. package/dist/backends/VectorBackend.js.map +0 -1
  492. package/dist/optimizations/RVFOptimizer.d.ts +0 -225
  493. package/dist/optimizations/RVFOptimizer.js +0 -541
  494. package/dist/optimizations/RVFOptimizer.js.map +0 -1
  495. package/dist/simulation/cli.d.ts +0 -9
  496. package/dist/simulation/cli.d.ts.map +0 -1
  497. package/dist/simulation/cli.js +0 -68
  498. package/dist/simulation/cli.js.map +0 -1
  499. package/dist/simulation/runner.d.ts +0 -21
  500. package/dist/simulation/runner.d.ts.map +0 -1
  501. package/dist/simulation/runner.js +0 -241
  502. package/dist/simulation/runner.js.map +0 -1
  503. package/dist/simulation/scenarios/aidefence-integration.d.ts +0 -24
  504. package/dist/simulation/scenarios/aidefence-integration.d.ts.map +0 -1
  505. package/dist/simulation/scenarios/aidefence-integration.js +0 -124
  506. package/dist/simulation/scenarios/aidefence-integration.js.map +0 -1
  507. package/dist/simulation/scenarios/bmssp-integration.d.ts +0 -23
  508. package/dist/simulation/scenarios/bmssp-integration.d.ts.map +0 -1
  509. package/dist/simulation/scenarios/bmssp-integration.js +0 -104
  510. package/dist/simulation/scenarios/bmssp-integration.js.map +0 -1
  511. package/dist/simulation/scenarios/causal-reasoning.d.ts +0 -16
  512. package/dist/simulation/scenarios/causal-reasoning.d.ts.map +0 -1
  513. package/dist/simulation/scenarios/causal-reasoning.js +0 -108
  514. package/dist/simulation/scenarios/causal-reasoning.js.map +0 -1
  515. package/dist/simulation/scenarios/consciousness-explorer.d.ts +0 -25
  516. package/dist/simulation/scenarios/consciousness-explorer.d.ts.map +0 -1
  517. package/dist/simulation/scenarios/consciousness-explorer.js +0 -108
  518. package/dist/simulation/scenarios/consciousness-explorer.js.map +0 -1
  519. package/dist/simulation/scenarios/domain-examples/e-commerce-recommendations.d.ts +0 -135
  520. package/dist/simulation/scenarios/domain-examples/e-commerce-recommendations.d.ts.map +0 -1
  521. package/dist/simulation/scenarios/domain-examples/e-commerce-recommendations.js +0 -158
  522. package/dist/simulation/scenarios/domain-examples/e-commerce-recommendations.js.map +0 -1
  523. package/dist/simulation/scenarios/domain-examples/index.d.ts +0 -14
  524. package/dist/simulation/scenarios/domain-examples/index.d.ts.map +0 -1
  525. package/dist/simulation/scenarios/domain-examples/index.js +0 -14
  526. package/dist/simulation/scenarios/domain-examples/index.js.map +0 -1
  527. package/dist/simulation/scenarios/domain-examples/iot-sensor-networks.d.ts +0 -178
  528. package/dist/simulation/scenarios/domain-examples/iot-sensor-networks.d.ts.map +0 -1
  529. package/dist/simulation/scenarios/domain-examples/iot-sensor-networks.js +0 -218
  530. package/dist/simulation/scenarios/domain-examples/iot-sensor-networks.js.map +0 -1
  531. package/dist/simulation/scenarios/domain-examples/medical-imaging.d.ts +0 -122
  532. package/dist/simulation/scenarios/domain-examples/medical-imaging.d.ts.map +0 -1
  533. package/dist/simulation/scenarios/domain-examples/medical-imaging.js +0 -129
  534. package/dist/simulation/scenarios/domain-examples/medical-imaging.js.map +0 -1
  535. package/dist/simulation/scenarios/domain-examples/robotics-navigation.d.ts +0 -166
  536. package/dist/simulation/scenarios/domain-examples/robotics-navigation.d.ts.map +0 -1
  537. package/dist/simulation/scenarios/domain-examples/robotics-navigation.js +0 -161
  538. package/dist/simulation/scenarios/domain-examples/robotics-navigation.js.map +0 -1
  539. package/dist/simulation/scenarios/domain-examples/scientific-research.d.ts +0 -151
  540. package/dist/simulation/scenarios/domain-examples/scientific-research.d.ts.map +0 -1
  541. package/dist/simulation/scenarios/domain-examples/scientific-research.js +0 -187
  542. package/dist/simulation/scenarios/domain-examples/scientific-research.js.map +0 -1
  543. package/dist/simulation/scenarios/domain-examples/trading-systems.d.ts +0 -102
  544. package/dist/simulation/scenarios/domain-examples/trading-systems.d.ts.map +0 -1
  545. package/dist/simulation/scenarios/domain-examples/trading-systems.js +0 -100
  546. package/dist/simulation/scenarios/domain-examples/trading-systems.js.map +0 -1
  547. package/dist/simulation/scenarios/goalie-integration.d.ts +0 -24
  548. package/dist/simulation/scenarios/goalie-integration.d.ts.map +0 -1
  549. package/dist/simulation/scenarios/goalie-integration.js +0 -121
  550. package/dist/simulation/scenarios/goalie-integration.js.map +0 -1
  551. package/dist/simulation/scenarios/graph-traversal.d.ts +0 -17
  552. package/dist/simulation/scenarios/graph-traversal.d.ts.map +0 -1
  553. package/dist/simulation/scenarios/graph-traversal.js +0 -101
  554. package/dist/simulation/scenarios/graph-traversal.js.map +0 -1
  555. package/dist/simulation/scenarios/latent-space/attention-analysis.d.ts +0 -45
  556. package/dist/simulation/scenarios/latent-space/attention-analysis.d.ts.map +0 -1
  557. package/dist/simulation/scenarios/latent-space/attention-analysis.js +0 -435
  558. package/dist/simulation/scenarios/latent-space/attention-analysis.js.map +0 -1
  559. package/dist/simulation/scenarios/latent-space/clustering-analysis.d.ts +0 -55
  560. package/dist/simulation/scenarios/latent-space/clustering-analysis.d.ts.map +0 -1
  561. package/dist/simulation/scenarios/latent-space/clustering-analysis.js +0 -606
  562. package/dist/simulation/scenarios/latent-space/clustering-analysis.js.map +0 -1
  563. package/dist/simulation/scenarios/latent-space/hnsw-exploration.d.ts +0 -74
  564. package/dist/simulation/scenarios/latent-space/hnsw-exploration.d.ts.map +0 -1
  565. package/dist/simulation/scenarios/latent-space/hnsw-exploration.js +0 -391
  566. package/dist/simulation/scenarios/latent-space/hnsw-exploration.js.map +0 -1
  567. package/dist/simulation/scenarios/latent-space/hypergraph-exploration.d.ts +0 -51
  568. package/dist/simulation/scenarios/latent-space/hypergraph-exploration.d.ts.map +0 -1
  569. package/dist/simulation/scenarios/latent-space/hypergraph-exploration.js +0 -536
  570. package/dist/simulation/scenarios/latent-space/hypergraph-exploration.js.map +0 -1
  571. package/dist/simulation/scenarios/latent-space/index.d.ts +0 -35
  572. package/dist/simulation/scenarios/latent-space/index.d.ts.map +0 -1
  573. package/dist/simulation/scenarios/latent-space/index.js +0 -35
  574. package/dist/simulation/scenarios/latent-space/index.js.map +0 -1
  575. package/dist/simulation/scenarios/latent-space/neural-augmentation.d.ts +0 -52
  576. package/dist/simulation/scenarios/latent-space/neural-augmentation.d.ts.map +0 -1
  577. package/dist/simulation/scenarios/latent-space/neural-augmentation.js +0 -472
  578. package/dist/simulation/scenarios/latent-space/neural-augmentation.js.map +0 -1
  579. package/dist/simulation/scenarios/latent-space/quantum-hybrid.d.ts +0 -53
  580. package/dist/simulation/scenarios/latent-space/quantum-hybrid.d.ts.map +0 -1
  581. package/dist/simulation/scenarios/latent-space/quantum-hybrid.js +0 -391
  582. package/dist/simulation/scenarios/latent-space/quantum-hybrid.js.map +0 -1
  583. package/dist/simulation/scenarios/latent-space/self-organizing-hnsw.d.ts +0 -52
  584. package/dist/simulation/scenarios/latent-space/self-organizing-hnsw.d.ts.map +0 -1
  585. package/dist/simulation/scenarios/latent-space/self-organizing-hnsw.js +0 -514
  586. package/dist/simulation/scenarios/latent-space/self-organizing-hnsw.js.map +0 -1
  587. package/dist/simulation/scenarios/latent-space/traversal-optimization.d.ts +0 -53
  588. package/dist/simulation/scenarios/latent-space/traversal-optimization.d.ts.map +0 -1
  589. package/dist/simulation/scenarios/latent-space/traversal-optimization.js +0 -595
  590. package/dist/simulation/scenarios/latent-space/traversal-optimization.js.map +0 -1
  591. package/dist/simulation/scenarios/lean-agentic-swarm.d.ts +0 -18
  592. package/dist/simulation/scenarios/lean-agentic-swarm.d.ts.map +0 -1
  593. package/dist/simulation/scenarios/lean-agentic-swarm.js +0 -132
  594. package/dist/simulation/scenarios/lean-agentic-swarm.js.map +0 -1
  595. package/dist/simulation/scenarios/multi-agent-swarm.d.ts +0 -17
  596. package/dist/simulation/scenarios/multi-agent-swarm.d.ts.map +0 -1
  597. package/dist/simulation/scenarios/multi-agent-swarm.js +0 -111
  598. package/dist/simulation/scenarios/multi-agent-swarm.js.map +0 -1
  599. package/dist/simulation/scenarios/psycho-symbolic-reasoner.d.ts +0 -23
  600. package/dist/simulation/scenarios/psycho-symbolic-reasoner.d.ts.map +0 -1
  601. package/dist/simulation/scenarios/psycho-symbolic-reasoner.js +0 -98
  602. package/dist/simulation/scenarios/psycho-symbolic-reasoner.js.map +0 -1
  603. package/dist/simulation/scenarios/reflexion-learning.d.ts +0 -16
  604. package/dist/simulation/scenarios/reflexion-learning.d.ts.map +0 -1
  605. package/dist/simulation/scenarios/reflexion-learning.js +0 -98
  606. package/dist/simulation/scenarios/reflexion-learning.js.map +0 -1
  607. package/dist/simulation/scenarios/research-swarm.d.ts +0 -24
  608. package/dist/simulation/scenarios/research-swarm.d.ts.map +0 -1
  609. package/dist/simulation/scenarios/research-swarm.js +0 -146
  610. package/dist/simulation/scenarios/research-swarm.js.map +0 -1
  611. package/dist/simulation/scenarios/skill-evolution.d.ts +0 -16
  612. package/dist/simulation/scenarios/skill-evolution.d.ts.map +0 -1
  613. package/dist/simulation/scenarios/skill-evolution.js +0 -109
  614. package/dist/simulation/scenarios/skill-evolution.js.map +0 -1
  615. package/dist/simulation/scenarios/stock-market-emergence.d.ts +0 -33
  616. package/dist/simulation/scenarios/stock-market-emergence.d.ts.map +0 -1
  617. package/dist/simulation/scenarios/stock-market-emergence.js +0 -246
  618. package/dist/simulation/scenarios/stock-market-emergence.js.map +0 -1
  619. package/dist/simulation/scenarios/strange-loops.d.ts +0 -18
  620. package/dist/simulation/scenarios/strange-loops.d.ts.map +0 -1
  621. package/dist/simulation/scenarios/strange-loops.js +0 -133
  622. package/dist/simulation/scenarios/strange-loops.js.map +0 -1
  623. package/dist/simulation/scenarios/sublinear-solver.d.ts +0 -22
  624. package/dist/simulation/scenarios/sublinear-solver.d.ts.map +0 -1
  625. package/dist/simulation/scenarios/sublinear-solver.js +0 -82
  626. package/dist/simulation/scenarios/sublinear-solver.js.map +0 -1
  627. package/dist/simulation/scenarios/temporal-lead-solver.d.ts +0 -23
  628. package/dist/simulation/scenarios/temporal-lead-solver.d.ts.map +0 -1
  629. package/dist/simulation/scenarios/temporal-lead-solver.js +0 -90
  630. package/dist/simulation/scenarios/temporal-lead-solver.js.map +0 -1
  631. package/dist/simulation/scenarios/voting-system-consensus.d.ts +0 -27
  632. package/dist/simulation/scenarios/voting-system-consensus.d.ts.map +0 -1
  633. package/dist/simulation/scenarios/voting-system-consensus.js +0 -175
  634. package/dist/simulation/scenarios/voting-system-consensus.js.map +0 -1
  635. package/dist/simulation/types.d.ts +0 -162
  636. package/dist/simulation/types.d.ts.map +0 -1
  637. package/dist/simulation/types.js +0 -5
  638. package/dist/simulation/types.js.map +0 -1
  639. package/dist/simulation/utils/PerformanceOptimizer.d.ts +0 -115
  640. package/dist/simulation/utils/PerformanceOptimizer.d.ts.map +0 -1
  641. package/dist/simulation/utils/PerformanceOptimizer.js +0 -223
  642. package/dist/simulation/utils/PerformanceOptimizer.js.map +0 -1
  643. package/dist/src/backends/index.cjs +0 -6
  644. package/dist/src/backends/ruvector/GuardedVectorBackend.d.ts +0 -93
  645. package/dist/src/backends/ruvector/GuardedVectorBackend.d.ts.map +0 -1
  646. package/dist/src/backends/ruvector/GuardedVectorBackend.js +0 -182
  647. package/dist/src/backends/ruvector/GuardedVectorBackend.js.map +0 -1
  648. package/dist/src/consensus/RaftConsensus.d.ts +0 -220
  649. package/dist/src/consensus/RaftConsensus.d.ts.map +0 -1
  650. package/dist/src/consensus/RaftConsensus.js +0 -762
  651. package/dist/src/consensus/RaftConsensus.js.map +0 -1
  652. package/dist/src/controllers/HierarchicalMemory.d.ts +0 -197
  653. package/dist/src/controllers/HierarchicalMemory.d.ts.map +0 -1
  654. package/dist/src/controllers/HierarchicalMemory.js +0 -519
  655. package/dist/src/controllers/HierarchicalMemory.js.map +0 -1
  656. package/dist/src/controllers/MemoryConsolidation.d.ts +0 -142
  657. package/dist/src/controllers/MemoryConsolidation.d.ts.map +0 -1
  658. package/dist/src/controllers/MemoryConsolidation.js +0 -479
  659. package/dist/src/controllers/MemoryConsolidation.js.map +0 -1
  660. package/dist/src/controllers/QUICConnection.d.ts +0 -122
  661. package/dist/src/controllers/QUICConnection.d.ts.map +0 -1
  662. package/dist/src/controllers/QUICConnection.js +0 -329
  663. package/dist/src/controllers/QUICConnection.js.map +0 -1
  664. package/dist/src/controllers/QUICConnectionPool.d.ts +0 -83
  665. package/dist/src/controllers/QUICConnectionPool.d.ts.map +0 -1
  666. package/dist/src/controllers/QUICConnectionPool.js +0 -256
  667. package/dist/src/controllers/QUICConnectionPool.js.map +0 -1
  668. package/dist/src/controllers/QUICStreamManager.d.ts +0 -114
  669. package/dist/src/controllers/QUICStreamManager.d.ts.map +0 -1
  670. package/dist/src/controllers/QUICStreamManager.js +0 -267
  671. package/dist/src/controllers/QUICStreamManager.js.map +0 -1
  672. package/dist/src/controllers/StreamingEmbeddingService.d.ts +0 -82
  673. package/dist/src/controllers/StreamingEmbeddingService.d.ts.map +0 -1
  674. package/dist/src/controllers/StreamingEmbeddingService.js +0 -243
  675. package/dist/src/controllers/StreamingEmbeddingService.js.map +0 -1
  676. package/dist/src/controllers/index.cjs +0 -6
  677. package/dist/src/coordination/MultiDatabaseCoordinator.d.ts +0 -348
  678. package/dist/src/coordination/MultiDatabaseCoordinator.d.ts.map +0 -1
  679. package/dist/src/coordination/MultiDatabaseCoordinator.js +0 -803
  680. package/dist/src/coordination/MultiDatabaseCoordinator.js.map +0 -1
  681. package/dist/src/coordination/index.d.ts +0 -10
  682. package/dist/src/coordination/index.d.ts.map +0 -1
  683. package/dist/src/coordination/index.js +0 -10
  684. package/dist/src/coordination/index.js.map +0 -1
  685. package/dist/src/index.cjs +0 -6
  686. package/dist/src/optimizations/RVFOptimizer.d.ts +0 -226
  687. package/dist/src/optimizations/RVFOptimizer.d.ts.map +0 -1
  688. package/dist/src/optimizations/RVFOptimizer.js +0 -541
  689. package/dist/src/optimizations/RVFOptimizer.js.map +0 -1
  690. package/dist/src/security/AttestationLog.d.ts +0 -70
  691. package/dist/src/security/AttestationLog.d.ts.map +0 -1
  692. package/dist/src/security/AttestationLog.js +0 -174
  693. package/dist/src/security/AttestationLog.js.map +0 -1
  694. package/dist/src/security/MutationGuard.d.ts +0 -83
  695. package/dist/src/security/MutationGuard.d.ts.map +0 -1
  696. package/dist/src/security/MutationGuard.js +0 -364
  697. package/dist/src/security/MutationGuard.js.map +0 -1
  698. package/dist/src/security/index.cjs +0 -6
  699. package/dist/src/security/index.d.ts +0 -15
  700. package/dist/src/security/index.d.ts.map +0 -1
  701. package/dist/src/security/index.js +0 -18
  702. package/dist/src/security/index.js.map +0 -1
  703. package/dist/src/services/GNNService.d.ts +0 -172
  704. package/dist/src/services/GNNService.d.ts.map +0 -1
  705. package/dist/src/services/GNNService.js +0 -612
  706. package/dist/src/services/GNNService.js.map +0 -1
  707. package/dist/src/services/GraphTransformerService.d.ts +0 -80
  708. package/dist/src/services/GraphTransformerService.d.ts.map +0 -1
  709. package/dist/src/services/GraphTransformerService.js +0 -369
  710. package/dist/src/services/GraphTransformerService.js.map +0 -1
  711. package/dist/src/services/SemanticRouter.d.ts +0 -83
  712. package/dist/src/services/SemanticRouter.d.ts.map +0 -1
  713. package/dist/src/services/SemanticRouter.js +0 -160
  714. package/dist/src/services/SemanticRouter.js.map +0 -1
  715. package/dist/src/services/SonaTrajectoryService.d.ts +0 -224
  716. package/dist/src/services/SonaTrajectoryService.d.ts.map +0 -1
  717. package/dist/src/services/SonaTrajectoryService.js +0 -539
  718. package/dist/src/services/SonaTrajectoryService.js.map +0 -1
  719. package/dist/src/utils/LegacyAttentionAdapter.d.ts +0 -93
  720. package/dist/src/utils/LegacyAttentionAdapter.d.ts.map +0 -1
  721. package/dist/src/utils/LegacyAttentionAdapter.js +0 -241
  722. package/dist/src/utils/LegacyAttentionAdapter.js.map +0 -1
  723. package/dist/src/utils/vector-math.d.ts +0 -29
  724. package/dist/src/utils/vector-math.d.ts.map +0 -1
  725. package/dist/src/utils/vector-math.js +0 -66
  726. 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