agentdb 3.0.0-alpha.10 → 3.0.0-alpha.12

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 (648) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +2821 -225
  3. package/dist/src/backends/VectorBackend.d.ts +31 -6
  4. package/dist/src/backends/VectorBackend.d.ts.map +1 -1
  5. package/dist/src/backends/detector.js.map +1 -1
  6. package/dist/src/backends/factory.d.ts +16 -33
  7. package/dist/src/backends/factory.d.ts.map +1 -1
  8. package/dist/src/backends/factory.js +138 -108
  9. package/dist/src/backends/factory.js.map +1 -1
  10. package/dist/src/backends/hnswlib/HNSWLibBackend.d.ts.map +1 -1
  11. package/dist/src/backends/hnswlib/HNSWLibBackend.js +29 -2
  12. package/dist/src/backends/hnswlib/HNSWLibBackend.js.map +1 -1
  13. package/dist/src/backends/ruvector/RuVectorBackend.d.ts +198 -45
  14. package/dist/src/backends/ruvector/RuVectorBackend.d.ts.map +1 -1
  15. package/dist/src/backends/ruvector/RuVectorBackend.js +612 -277
  16. package/dist/src/backends/ruvector/RuVectorBackend.js.map +1 -1
  17. package/dist/src/backends/ruvector/RuVectorLearning.d.ts +0 -4
  18. package/dist/src/backends/ruvector/RuVectorLearning.d.ts.map +1 -1
  19. package/dist/src/backends/ruvector/RuVectorLearning.js +0 -6
  20. package/dist/src/backends/ruvector/RuVectorLearning.js.map +1 -1
  21. package/dist/src/backends/rvf/AdaptiveIndexTuner.d.ts +175 -0
  22. package/dist/src/backends/rvf/AdaptiveIndexTuner.d.ts.map +1 -0
  23. package/dist/src/backends/rvf/AdaptiveIndexTuner.js +559 -0
  24. package/dist/src/backends/rvf/AdaptiveIndexTuner.js.map +1 -0
  25. package/dist/src/backends/rvf/ContrastiveTrainer.d.ts +148 -0
  26. package/dist/src/backends/rvf/ContrastiveTrainer.d.ts.map +1 -0
  27. package/dist/src/backends/rvf/ContrastiveTrainer.js +438 -0
  28. package/dist/src/backends/rvf/ContrastiveTrainer.js.map +1 -0
  29. package/dist/src/backends/rvf/FederatedSessionManager.d.ts +211 -0
  30. package/dist/src/backends/rvf/FederatedSessionManager.d.ts.map +1 -0
  31. package/dist/src/backends/rvf/FederatedSessionManager.js +389 -0
  32. package/dist/src/backends/rvf/FederatedSessionManager.js.map +1 -0
  33. package/dist/src/backends/rvf/FilterBuilder.d.ts +136 -0
  34. package/dist/src/backends/rvf/FilterBuilder.d.ts.map +1 -0
  35. package/dist/src/backends/rvf/FilterBuilder.js +157 -0
  36. package/dist/src/backends/rvf/FilterBuilder.js.map +1 -0
  37. package/dist/src/backends/rvf/NativeAccelerator.d.ts +140 -0
  38. package/dist/src/backends/rvf/NativeAccelerator.d.ts.map +1 -0
  39. package/dist/src/backends/rvf/NativeAccelerator.js +630 -0
  40. package/dist/src/backends/rvf/NativeAccelerator.js.map +1 -0
  41. package/dist/src/backends/rvf/RvfBackend.d.ts +194 -0
  42. package/dist/src/backends/rvf/RvfBackend.d.ts.map +1 -0
  43. package/dist/src/backends/rvf/RvfBackend.js +607 -0
  44. package/dist/src/backends/rvf/RvfBackend.js.map +1 -0
  45. package/dist/src/backends/rvf/RvfSolver.d.ts +175 -0
  46. package/dist/src/backends/rvf/RvfSolver.d.ts.map +1 -0
  47. package/dist/src/backends/rvf/RvfSolver.js +176 -0
  48. package/dist/src/backends/rvf/RvfSolver.js.map +1 -0
  49. package/dist/src/backends/rvf/SelfLearningRvfBackend.d.ts +143 -0
  50. package/dist/src/backends/rvf/SelfLearningRvfBackend.d.ts.map +1 -0
  51. package/dist/src/backends/rvf/SelfLearningRvfBackend.js +569 -0
  52. package/dist/src/backends/rvf/SelfLearningRvfBackend.js.map +1 -0
  53. package/dist/src/backends/rvf/SemanticQueryRouter.d.ts +128 -0
  54. package/dist/src/backends/rvf/SemanticQueryRouter.d.ts.map +1 -0
  55. package/dist/src/backends/rvf/SemanticQueryRouter.js +415 -0
  56. package/dist/src/backends/rvf/SemanticQueryRouter.js.map +1 -0
  57. package/dist/src/backends/rvf/SimdFallbacks.d.ts +25 -0
  58. package/dist/src/backends/rvf/SimdFallbacks.d.ts.map +1 -0
  59. package/dist/src/backends/rvf/SimdFallbacks.js +287 -0
  60. package/dist/src/backends/rvf/SimdFallbacks.js.map +1 -0
  61. package/dist/src/backends/rvf/SolverBandit.d.ts +100 -0
  62. package/dist/src/backends/rvf/SolverBandit.d.ts.map +1 -0
  63. package/dist/src/backends/rvf/SolverBandit.js +216 -0
  64. package/dist/src/backends/rvf/SolverBandit.js.map +1 -0
  65. package/dist/src/backends/rvf/SonaLearningBackend.d.ts +157 -0
  66. package/dist/src/backends/rvf/SonaLearningBackend.d.ts.map +1 -0
  67. package/dist/src/backends/rvf/SonaLearningBackend.js +283 -0
  68. package/dist/src/backends/rvf/SonaLearningBackend.js.map +1 -0
  69. package/dist/src/backends/rvf/SqlJsRvfBackend.d.ts +77 -0
  70. package/dist/src/backends/rvf/SqlJsRvfBackend.d.ts.map +1 -0
  71. package/dist/src/backends/rvf/SqlJsRvfBackend.js +382 -0
  72. package/dist/src/backends/rvf/SqlJsRvfBackend.js.map +1 -0
  73. package/dist/src/backends/rvf/WasmStoreBridge.d.ts +27 -0
  74. package/dist/src/backends/rvf/WasmStoreBridge.d.ts.map +1 -0
  75. package/dist/src/backends/rvf/WasmStoreBridge.js +87 -0
  76. package/dist/src/backends/rvf/WasmStoreBridge.js.map +1 -0
  77. package/dist/src/backends/rvf/validation.d.ts +20 -0
  78. package/dist/src/backends/rvf/validation.d.ts.map +1 -0
  79. package/dist/src/backends/rvf/validation.js +78 -0
  80. package/dist/src/backends/rvf/validation.js.map +1 -0
  81. package/dist/src/benchmark/BenchmarkSuite.d.ts +318 -0
  82. package/dist/src/benchmark/BenchmarkSuite.d.ts.map +1 -0
  83. package/dist/src/benchmark/BenchmarkSuite.js +984 -0
  84. package/dist/src/benchmark/BenchmarkSuite.js.map +1 -0
  85. package/dist/src/benchmark/index.d.ts +29 -0
  86. package/dist/src/benchmark/index.d.ts.map +1 -0
  87. package/dist/src/benchmark/index.js +39 -0
  88. package/dist/src/benchmark/index.js.map +1 -0
  89. package/dist/src/browser/AttentionBrowser.d.ts.map +1 -1
  90. package/dist/src/browser/AttentionBrowser.js +1 -0
  91. package/dist/src/browser/AttentionBrowser.js.map +1 -1
  92. package/dist/src/cli/agentdb-cli.d.ts +13 -0
  93. package/dist/src/cli/agentdb-cli.d.ts.map +1 -1
  94. package/dist/src/cli/agentdb-cli.js +803 -94
  95. package/dist/src/cli/agentdb-cli.js.map +1 -1
  96. package/dist/src/cli/commands/hyperbolic.d.ts +11 -0
  97. package/dist/src/cli/commands/hyperbolic.d.ts.map +1 -0
  98. package/dist/src/cli/commands/hyperbolic.js +428 -0
  99. package/dist/src/cli/commands/hyperbolic.js.map +1 -0
  100. package/dist/src/cli/commands/learn.d.ts +11 -0
  101. package/dist/src/cli/commands/learn.d.ts.map +1 -0
  102. package/dist/src/cli/commands/learn.js +404 -0
  103. package/dist/src/cli/commands/learn.js.map +1 -0
  104. package/dist/src/cli/commands/migrate.d.ts +15 -0
  105. package/dist/src/cli/commands/migrate.d.ts.map +1 -1
  106. package/dist/src/cli/commands/migrate.js +176 -8
  107. package/dist/src/cli/commands/migrate.js.map +1 -1
  108. package/dist/src/cli/commands/route.d.ts +11 -0
  109. package/dist/src/cli/commands/route.d.ts.map +1 -0
  110. package/dist/src/cli/commands/route.js +414 -0
  111. package/dist/src/cli/commands/route.js.map +1 -0
  112. package/dist/src/cli/commands/rvf.d.ts +21 -0
  113. package/dist/src/cli/commands/rvf.d.ts.map +1 -0
  114. package/dist/src/cli/commands/rvf.js +448 -0
  115. package/dist/src/cli/commands/rvf.js.map +1 -0
  116. package/dist/src/cli/lib/report-store.d.ts +2 -1
  117. package/dist/src/cli/lib/report-store.d.ts.map +1 -1
  118. package/dist/src/cli/lib/report-store.js +85 -65
  119. package/dist/src/cli/lib/report-store.js.map +1 -1
  120. package/dist/src/cli/lib/simulation-runner.d.ts +40 -3
  121. package/dist/src/cli/lib/simulation-runner.d.ts.map +1 -1
  122. package/dist/src/cli/lib/simulation-runner.js +248 -6
  123. package/dist/src/cli/lib/simulation-runner.js.map +1 -1
  124. package/dist/src/compatibility/DeprecationWarnings.d.ts +54 -0
  125. package/dist/src/compatibility/DeprecationWarnings.d.ts.map +1 -0
  126. package/dist/src/compatibility/DeprecationWarnings.js +131 -0
  127. package/dist/src/compatibility/DeprecationWarnings.js.map +1 -0
  128. package/dist/src/compatibility/MigrationUtilities.d.ts +30 -0
  129. package/dist/src/compatibility/MigrationUtilities.d.ts.map +1 -0
  130. package/dist/src/compatibility/MigrationUtilities.js +184 -0
  131. package/dist/src/compatibility/MigrationUtilities.js.map +1 -0
  132. package/dist/src/compatibility/V1toV2Adapter.d.ts +76 -0
  133. package/dist/src/compatibility/V1toV2Adapter.d.ts.map +1 -0
  134. package/dist/src/compatibility/V1toV2Adapter.js +185 -0
  135. package/dist/src/compatibility/V1toV2Adapter.js.map +1 -0
  136. package/dist/src/compatibility/VersionDetector.d.ts +32 -0
  137. package/dist/src/compatibility/VersionDetector.d.ts.map +1 -0
  138. package/dist/src/compatibility/VersionDetector.js +144 -0
  139. package/dist/src/compatibility/VersionDetector.js.map +1 -0
  140. package/dist/src/compatibility/index.d.ts +14 -0
  141. package/dist/src/compatibility/index.d.ts.map +1 -0
  142. package/dist/src/compatibility/index.js +21 -0
  143. package/dist/src/compatibility/index.js.map +1 -0
  144. package/dist/src/compatibility/types.d.ts +103 -0
  145. package/dist/src/compatibility/types.d.ts.map +1 -0
  146. package/dist/src/compatibility/types.js +5 -0
  147. package/dist/src/compatibility/types.js.map +1 -0
  148. package/dist/src/controllers/AttentionService.d.ts +99 -202
  149. package/dist/src/controllers/AttentionService.d.ts.map +1 -1
  150. package/dist/src/controllers/AttentionService.js +450 -558
  151. package/dist/src/controllers/AttentionService.js.map +1 -1
  152. package/dist/src/controllers/CausalMemoryGraph.d.ts +30 -5
  153. package/dist/src/controllers/CausalMemoryGraph.d.ts.map +1 -1
  154. package/dist/src/controllers/CausalMemoryGraph.js +89 -13
  155. package/dist/src/controllers/CausalMemoryGraph.js.map +1 -1
  156. package/dist/src/controllers/CausalRecall.d.ts +4 -0
  157. package/dist/src/controllers/CausalRecall.d.ts.map +1 -1
  158. package/dist/src/controllers/CausalRecall.js +19 -2
  159. package/dist/src/controllers/CausalRecall.js.map +1 -1
  160. package/dist/src/controllers/EmbeddingService.d.ts.map +1 -1
  161. package/dist/src/controllers/EmbeddingService.js +28 -11
  162. package/dist/src/controllers/EmbeddingService.js.map +1 -1
  163. package/dist/src/controllers/EnhancedEmbeddingService.d.ts +4 -0
  164. package/dist/src/controllers/EnhancedEmbeddingService.d.ts.map +1 -1
  165. package/dist/src/controllers/EnhancedEmbeddingService.js +17 -3
  166. package/dist/src/controllers/EnhancedEmbeddingService.js.map +1 -1
  167. package/dist/src/controllers/ExplainableRecall.d.ts +1 -1
  168. package/dist/src/controllers/ExplainableRecall.d.ts.map +1 -1
  169. package/dist/src/controllers/ExplainableRecall.js +1 -1
  170. package/dist/src/controllers/ExplainableRecall.js.map +1 -1
  171. package/dist/src/controllers/HNSWIndex.d.ts +20 -2
  172. package/dist/src/controllers/HNSWIndex.d.ts.map +1 -1
  173. package/dist/src/controllers/HNSWIndex.js +82 -6
  174. package/dist/src/controllers/HNSWIndex.js.map +1 -1
  175. package/dist/src/controllers/LearningSystem.d.ts +1 -17
  176. package/dist/src/controllers/LearningSystem.d.ts.map +1 -1
  177. package/dist/src/controllers/LearningSystem.js +18 -135
  178. package/dist/src/controllers/LearningSystem.js.map +1 -1
  179. package/dist/src/controllers/MemoryController.d.ts +161 -0
  180. package/dist/src/controllers/MemoryController.d.ts.map +1 -0
  181. package/dist/src/controllers/MemoryController.js +303 -0
  182. package/dist/src/controllers/MemoryController.js.map +1 -0
  183. package/dist/src/controllers/MincutService.d.ts +92 -0
  184. package/dist/src/controllers/MincutService.d.ts.map +1 -0
  185. package/dist/src/controllers/MincutService.js +336 -0
  186. package/dist/src/controllers/MincutService.js.map +1 -0
  187. package/dist/src/controllers/NightlyLearner.d.ts +5 -1
  188. package/dist/src/controllers/NightlyLearner.d.ts.map +1 -1
  189. package/dist/src/controllers/NightlyLearner.js +17 -3
  190. package/dist/src/controllers/NightlyLearner.js.map +1 -1
  191. package/dist/src/controllers/QUICClient.d.ts +45 -0
  192. package/dist/src/controllers/QUICClient.d.ts.map +1 -1
  193. package/dist/src/controllers/QUICClient.js +190 -0
  194. package/dist/src/controllers/QUICClient.js.map +1 -1
  195. package/dist/src/controllers/ReasoningBank.d.ts +6 -3
  196. package/dist/src/controllers/ReasoningBank.d.ts.map +1 -1
  197. package/dist/src/controllers/ReasoningBank.js +47 -41
  198. package/dist/src/controllers/ReasoningBank.js.map +1 -1
  199. package/dist/src/controllers/ReflexionMemory.d.ts +115 -6
  200. package/dist/src/controllers/ReflexionMemory.d.ts.map +1 -1
  201. package/dist/src/controllers/ReflexionMemory.js +541 -213
  202. package/dist/src/controllers/ReflexionMemory.js.map +1 -1
  203. package/dist/src/controllers/SkillLibrary.d.ts +27 -3
  204. package/dist/src/controllers/SkillLibrary.d.ts.map +1 -1
  205. package/dist/src/controllers/SkillLibrary.js +187 -91
  206. package/dist/src/controllers/SkillLibrary.js.map +1 -1
  207. package/dist/src/controllers/SparsificationService.d.ts +151 -0
  208. package/dist/src/controllers/SparsificationService.d.ts.map +1 -0
  209. package/dist/src/controllers/SparsificationService.js +375 -0
  210. package/dist/src/controllers/SparsificationService.js.map +1 -0
  211. package/dist/src/controllers/SyncCoordinator.d.ts.map +1 -1
  212. package/dist/src/controllers/SyncCoordinator.js +115 -3
  213. package/dist/src/controllers/SyncCoordinator.js.map +1 -1
  214. package/dist/src/controllers/WASMVectorSearch.d.ts +12 -30
  215. package/dist/src/controllers/WASMVectorSearch.d.ts.map +1 -1
  216. package/dist/src/controllers/WASMVectorSearch.js +146 -93
  217. package/dist/src/controllers/WASMVectorSearch.js.map +1 -1
  218. package/dist/src/controllers/attention/AttentionCache.d.ts +38 -0
  219. package/dist/src/controllers/attention/AttentionCache.d.ts.map +1 -0
  220. package/dist/src/controllers/attention/AttentionCache.js +80 -0
  221. package/dist/src/controllers/attention/AttentionCache.js.map +1 -0
  222. package/dist/src/controllers/attention/AttentionConfig.d.ts +127 -0
  223. package/dist/src/controllers/attention/AttentionConfig.d.ts.map +1 -0
  224. package/dist/src/controllers/attention/AttentionConfig.js +124 -0
  225. package/dist/src/controllers/attention/AttentionConfig.js.map +1 -0
  226. package/dist/src/controllers/attention/AttentionCore.d.ts +89 -0
  227. package/dist/src/controllers/attention/AttentionCore.d.ts.map +1 -0
  228. package/dist/src/controllers/attention/AttentionCore.js +289 -0
  229. package/dist/src/controllers/attention/AttentionCore.js.map +1 -0
  230. package/dist/src/controllers/attention/AttentionHelpers.d.ts +55 -0
  231. package/dist/src/controllers/attention/AttentionHelpers.d.ts.map +1 -0
  232. package/dist/src/controllers/attention/AttentionHelpers.js +148 -0
  233. package/dist/src/controllers/attention/AttentionHelpers.js.map +1 -0
  234. package/dist/src/controllers/attention/AttentionMetrics.d.ts +55 -0
  235. package/dist/src/controllers/attention/AttentionMetrics.d.ts.map +1 -0
  236. package/dist/src/controllers/attention/AttentionMetrics.js +72 -0
  237. package/dist/src/controllers/attention/AttentionMetrics.js.map +1 -0
  238. package/dist/src/controllers/attention/AttentionWASM.d.ts +98 -0
  239. package/dist/src/controllers/attention/AttentionWASM.d.ts.map +1 -0
  240. package/dist/src/controllers/attention/AttentionWASM.js +147 -0
  241. package/dist/src/controllers/attention/AttentionWASM.js.map +1 -0
  242. package/dist/src/controllers/attention/CrossAttentionController.d.ts +141 -0
  243. package/dist/src/controllers/attention/CrossAttentionController.d.ts.map +1 -0
  244. package/dist/src/controllers/attention/CrossAttentionController.js +325 -0
  245. package/dist/src/controllers/attention/CrossAttentionController.js.map +1 -0
  246. package/dist/src/controllers/attention/MultiHeadAttentionController.d.ts +137 -0
  247. package/dist/src/controllers/attention/MultiHeadAttentionController.d.ts.map +1 -0
  248. package/dist/src/controllers/attention/MultiHeadAttentionController.js +336 -0
  249. package/dist/src/controllers/attention/MultiHeadAttentionController.js.map +1 -0
  250. package/dist/src/controllers/attention/SelfAttentionController.d.ts +117 -0
  251. package/dist/src/controllers/attention/SelfAttentionController.d.ts.map +1 -0
  252. package/dist/src/controllers/attention/SelfAttentionController.js +205 -0
  253. package/dist/src/controllers/attention/SelfAttentionController.js.map +1 -0
  254. package/dist/src/controllers/attention/index.d.ts +24 -0
  255. package/dist/src/controllers/attention/index.d.ts.map +1 -0
  256. package/dist/src/controllers/attention/index.js +20 -0
  257. package/dist/src/controllers/attention/index.js.map +1 -0
  258. package/dist/src/controllers/index.d.ts +14 -27
  259. package/dist/src/controllers/index.d.ts.map +1 -1
  260. package/dist/src/controllers/index.js +10 -18
  261. package/dist/src/controllers/index.js.map +1 -1
  262. package/dist/src/controllers/prerequisites.d.ts +76 -0
  263. package/dist/src/controllers/prerequisites.d.ts.map +1 -0
  264. package/dist/src/controllers/prerequisites.js +235 -0
  265. package/dist/src/controllers/prerequisites.js.map +1 -0
  266. package/dist/src/core/AgentDB.d.ts +27 -19
  267. package/dist/src/core/AgentDB.d.ts.map +1 -1
  268. package/dist/src/core/AgentDB.js +76 -124
  269. package/dist/src/core/AgentDB.js.map +1 -1
  270. package/dist/src/core/QueryCache.d.ts +138 -0
  271. package/dist/src/core/QueryCache.d.ts.map +1 -0
  272. package/dist/src/core/QueryCache.js +309 -0
  273. package/dist/src/core/QueryCache.js.map +1 -0
  274. package/dist/src/db-fallback.d.ts +10 -1
  275. package/dist/src/db-fallback.d.ts.map +1 -1
  276. package/dist/src/db-fallback.js +205 -28
  277. package/dist/src/db-fallback.js.map +1 -1
  278. package/dist/src/examples/quic-sync-example.js +2 -2
  279. package/dist/src/examples/quic-sync-example.js.map +1 -1
  280. package/dist/src/index.d.ts +15 -15
  281. package/dist/src/index.d.ts.map +1 -1
  282. package/dist/src/index.js +39 -11
  283. package/dist/src/index.js.map +1 -1
  284. package/dist/src/mcp/agentdb-mcp-server.js +47 -2
  285. package/dist/src/mcp/agentdb-mcp-server.js.map +1 -1
  286. package/dist/src/model/ModelCacheLoader.d.ts +24 -0
  287. package/dist/src/model/ModelCacheLoader.d.ts.map +1 -0
  288. package/dist/src/model/ModelCacheLoader.js +121 -0
  289. package/dist/src/model/ModelCacheLoader.js.map +1 -0
  290. package/dist/src/observability/index.d.ts +8 -0
  291. package/dist/src/observability/index.d.ts.map +1 -0
  292. package/dist/src/observability/index.js +8 -0
  293. package/dist/src/observability/index.js.map +1 -0
  294. package/dist/src/observability/integration.d.ts +32 -0
  295. package/dist/src/observability/integration.d.ts.map +1 -0
  296. package/dist/src/observability/integration.js +159 -0
  297. package/dist/src/observability/integration.js.map +1 -0
  298. package/dist/src/observability/telemetry.d.ts +137 -0
  299. package/dist/src/observability/telemetry.d.ts.map +1 -0
  300. package/dist/src/observability/telemetry.js +416 -0
  301. package/dist/src/observability/telemetry.js.map +1 -0
  302. package/dist/src/optimizations/BatchOperations.d.ts +47 -0
  303. package/dist/src/optimizations/BatchOperations.d.ts.map +1 -1
  304. package/dist/src/optimizations/BatchOperations.js +183 -31
  305. package/dist/src/optimizations/BatchOperations.js.map +1 -1
  306. package/dist/src/optimizations/Quantization.d.ts +330 -0
  307. package/dist/src/optimizations/Quantization.d.ts.map +1 -0
  308. package/dist/src/optimizations/Quantization.js +793 -0
  309. package/dist/src/optimizations/Quantization.js.map +1 -0
  310. package/dist/src/optimizations/index.d.ts +1 -3
  311. package/dist/src/optimizations/index.d.ts.map +1 -1
  312. package/dist/src/optimizations/index.js +0 -1
  313. package/dist/src/optimizations/index.js.map +1 -1
  314. package/dist/src/quantization/index.d.ts +7 -0
  315. package/dist/src/quantization/index.d.ts.map +1 -0
  316. package/dist/src/quantization/index.js +15 -0
  317. package/dist/src/quantization/index.js.map +1 -0
  318. package/dist/src/quantization/vector-quantization.d.ts +388 -0
  319. package/dist/src/quantization/vector-quantization.d.ts.map +1 -0
  320. package/dist/src/quantization/vector-quantization.js +1132 -0
  321. package/dist/src/quantization/vector-quantization.js.map +1 -0
  322. package/dist/src/search/HybridSearch.d.ts +311 -0
  323. package/dist/src/search/HybridSearch.d.ts.map +1 -0
  324. package/dist/src/search/HybridSearch.js +712 -0
  325. package/dist/src/search/HybridSearch.js.map +1 -0
  326. package/dist/src/search/index.d.ts +12 -0
  327. package/dist/src/search/index.d.ts.map +1 -0
  328. package/dist/src/search/index.js +16 -0
  329. package/dist/src/search/index.js.map +1 -0
  330. package/dist/src/services/AttentionService.d.ts +303 -0
  331. package/dist/src/services/AttentionService.d.ts.map +1 -0
  332. package/dist/src/services/AttentionService.js +1165 -0
  333. package/dist/src/services/AttentionService.js.map +1 -0
  334. package/dist/src/services/LLMRouter.d.ts +61 -7
  335. package/dist/src/services/LLMRouter.d.ts.map +1 -1
  336. package/dist/src/services/LLMRouter.js +286 -22
  337. package/dist/src/services/LLMRouter.js.map +1 -1
  338. package/dist/src/services/audit-logger.service.d.ts +168 -0
  339. package/dist/src/services/audit-logger.service.d.ts.map +1 -0
  340. package/dist/src/services/audit-logger.service.js +331 -0
  341. package/dist/src/services/audit-logger.service.js.map +1 -0
  342. package/dist/src/services/enhanced-embeddings.d.ts +271 -0
  343. package/dist/src/services/enhanced-embeddings.d.ts.map +1 -0
  344. package/dist/src/services/enhanced-embeddings.js +1035 -0
  345. package/dist/src/services/enhanced-embeddings.js.map +1 -0
  346. package/dist/src/services/federated-learning.d.ts +172 -0
  347. package/dist/src/services/federated-learning.d.ts.map +1 -0
  348. package/dist/src/services/federated-learning.js +342 -0
  349. package/dist/src/services/federated-learning.js.map +1 -0
  350. package/dist/src/simd/index.d.ts +9 -0
  351. package/dist/src/simd/index.d.ts.map +1 -0
  352. package/dist/src/simd/index.js +27 -0
  353. package/dist/src/simd/index.js.map +1 -0
  354. package/dist/src/simd/simd-vector-ops.d.ts +332 -0
  355. package/dist/src/simd/simd-vector-ops.d.ts.map +1 -0
  356. package/dist/src/simd/simd-vector-ops.js +945 -0
  357. package/dist/src/simd/simd-vector-ops.js.map +1 -0
  358. package/dist/src/types/database.types.d.ts +275 -0
  359. package/dist/src/types/database.types.d.ts.map +1 -0
  360. package/dist/src/types/database.types.js +55 -0
  361. package/dist/src/types/database.types.js.map +1 -0
  362. package/dist/src/types/graph.d.ts +29 -0
  363. package/dist/src/types/graph.d.ts.map +1 -0
  364. package/dist/src/types/graph.js +8 -0
  365. package/dist/src/types/graph.js.map +1 -0
  366. package/dist/src/utils/chalk-fallback.d.ts +3 -0
  367. package/dist/src/utils/chalk-fallback.d.ts.map +1 -0
  368. package/dist/src/utils/chalk-fallback.js +20 -0
  369. package/dist/src/utils/chalk-fallback.js.map +1 -0
  370. package/dist/src/utils/similarity.d.ts +11 -0
  371. package/dist/src/utils/similarity.d.ts.map +1 -0
  372. package/dist/src/utils/similarity.js +25 -0
  373. package/dist/src/utils/similarity.js.map +1 -0
  374. package/dist/src/wasm-loader.d.ts +66 -0
  375. package/dist/src/wasm-loader.d.ts.map +1 -0
  376. package/dist/src/wasm-loader.js +76 -0
  377. package/dist/src/wasm-loader.js.map +1 -0
  378. package/dist/src/wrappers/agentdb-fast.d.ts +139 -0
  379. package/dist/src/wrappers/agentdb-fast.d.ts.map +1 -0
  380. package/dist/src/wrappers/agentdb-fast.js +307 -0
  381. package/dist/src/wrappers/agentdb-fast.js.map +1 -0
  382. package/dist/src/wrappers/attention-fallbacks.d.ts +343 -0
  383. package/dist/src/wrappers/attention-fallbacks.d.ts.map +1 -0
  384. package/dist/src/wrappers/attention-fallbacks.js +1484 -0
  385. package/dist/src/wrappers/attention-fallbacks.js.map +1 -0
  386. package/dist/src/wrappers/attention-native.d.ts +111 -0
  387. package/dist/src/wrappers/attention-native.d.ts.map +1 -0
  388. package/dist/src/wrappers/attention-native.js +273 -0
  389. package/dist/src/wrappers/attention-native.js.map +1 -0
  390. package/dist/src/wrappers/embedding-service.d.ts +117 -0
  391. package/dist/src/wrappers/embedding-service.d.ts.map +1 -0
  392. package/dist/src/wrappers/embedding-service.js +370 -0
  393. package/dist/src/wrappers/embedding-service.js.map +1 -0
  394. package/dist/src/wrappers/gnn-wrapper.d.ts +71 -0
  395. package/dist/src/wrappers/gnn-wrapper.d.ts.map +1 -0
  396. package/dist/src/wrappers/gnn-wrapper.js +236 -0
  397. package/dist/src/wrappers/gnn-wrapper.js.map +1 -0
  398. package/dist/src/wrappers/index.d.ts +48 -0
  399. package/dist/src/wrappers/index.d.ts.map +1 -0
  400. package/dist/src/wrappers/index.js +83 -0
  401. package/dist/src/wrappers/index.js.map +1 -0
  402. package/package.json +77 -76
  403. package/scripts/postinstall.cjs +13 -144
  404. package/dist/agentdb.browser.js +0 -1685
  405. package/dist/agentdb.browser.js.map +0 -7
  406. package/dist/agentdb.browser.min.js +0 -3
  407. package/dist/agentdb.browser.min.js.map +0 -7
  408. package/dist/agentdb.wasm-loader.js +0 -207
  409. package/dist/backends/VectorBackend.d.ts +0 -120
  410. package/dist/backends/VectorBackend.js +0 -14
  411. package/dist/backends/VectorBackend.js.map +0 -1
  412. package/dist/optimizations/RVFOptimizer.d.ts +0 -225
  413. package/dist/optimizations/RVFOptimizer.js +0 -541
  414. package/dist/optimizations/RVFOptimizer.js.map +0 -1
  415. package/dist/schemas/frontier-schema.sql +0 -378
  416. package/dist/schemas/schema.sql +0 -382
  417. package/dist/simulation/cli.d.ts +0 -9
  418. package/dist/simulation/cli.d.ts.map +0 -1
  419. package/dist/simulation/cli.js +0 -68
  420. package/dist/simulation/cli.js.map +0 -1
  421. package/dist/simulation/runner.d.ts +0 -21
  422. package/dist/simulation/runner.d.ts.map +0 -1
  423. package/dist/simulation/runner.js +0 -241
  424. package/dist/simulation/runner.js.map +0 -1
  425. package/dist/simulation/scenarios/aidefence-integration.d.ts +0 -24
  426. package/dist/simulation/scenarios/aidefence-integration.d.ts.map +0 -1
  427. package/dist/simulation/scenarios/aidefence-integration.js +0 -124
  428. package/dist/simulation/scenarios/aidefence-integration.js.map +0 -1
  429. package/dist/simulation/scenarios/bmssp-integration.d.ts +0 -23
  430. package/dist/simulation/scenarios/bmssp-integration.d.ts.map +0 -1
  431. package/dist/simulation/scenarios/bmssp-integration.js +0 -104
  432. package/dist/simulation/scenarios/bmssp-integration.js.map +0 -1
  433. package/dist/simulation/scenarios/causal-reasoning.d.ts +0 -16
  434. package/dist/simulation/scenarios/causal-reasoning.d.ts.map +0 -1
  435. package/dist/simulation/scenarios/causal-reasoning.js +0 -108
  436. package/dist/simulation/scenarios/causal-reasoning.js.map +0 -1
  437. package/dist/simulation/scenarios/consciousness-explorer.d.ts +0 -25
  438. package/dist/simulation/scenarios/consciousness-explorer.d.ts.map +0 -1
  439. package/dist/simulation/scenarios/consciousness-explorer.js +0 -108
  440. package/dist/simulation/scenarios/consciousness-explorer.js.map +0 -1
  441. package/dist/simulation/scenarios/domain-examples/e-commerce-recommendations.d.ts +0 -135
  442. package/dist/simulation/scenarios/domain-examples/e-commerce-recommendations.d.ts.map +0 -1
  443. package/dist/simulation/scenarios/domain-examples/e-commerce-recommendations.js +0 -158
  444. package/dist/simulation/scenarios/domain-examples/e-commerce-recommendations.js.map +0 -1
  445. package/dist/simulation/scenarios/domain-examples/index.d.ts +0 -14
  446. package/dist/simulation/scenarios/domain-examples/index.d.ts.map +0 -1
  447. package/dist/simulation/scenarios/domain-examples/index.js +0 -14
  448. package/dist/simulation/scenarios/domain-examples/index.js.map +0 -1
  449. package/dist/simulation/scenarios/domain-examples/iot-sensor-networks.d.ts +0 -178
  450. package/dist/simulation/scenarios/domain-examples/iot-sensor-networks.d.ts.map +0 -1
  451. package/dist/simulation/scenarios/domain-examples/iot-sensor-networks.js +0 -218
  452. package/dist/simulation/scenarios/domain-examples/iot-sensor-networks.js.map +0 -1
  453. package/dist/simulation/scenarios/domain-examples/medical-imaging.d.ts +0 -122
  454. package/dist/simulation/scenarios/domain-examples/medical-imaging.d.ts.map +0 -1
  455. package/dist/simulation/scenarios/domain-examples/medical-imaging.js +0 -129
  456. package/dist/simulation/scenarios/domain-examples/medical-imaging.js.map +0 -1
  457. package/dist/simulation/scenarios/domain-examples/robotics-navigation.d.ts +0 -166
  458. package/dist/simulation/scenarios/domain-examples/robotics-navigation.d.ts.map +0 -1
  459. package/dist/simulation/scenarios/domain-examples/robotics-navigation.js +0 -161
  460. package/dist/simulation/scenarios/domain-examples/robotics-navigation.js.map +0 -1
  461. package/dist/simulation/scenarios/domain-examples/scientific-research.d.ts +0 -151
  462. package/dist/simulation/scenarios/domain-examples/scientific-research.d.ts.map +0 -1
  463. package/dist/simulation/scenarios/domain-examples/scientific-research.js +0 -187
  464. package/dist/simulation/scenarios/domain-examples/scientific-research.js.map +0 -1
  465. package/dist/simulation/scenarios/domain-examples/trading-systems.d.ts +0 -102
  466. package/dist/simulation/scenarios/domain-examples/trading-systems.d.ts.map +0 -1
  467. package/dist/simulation/scenarios/domain-examples/trading-systems.js +0 -100
  468. package/dist/simulation/scenarios/domain-examples/trading-systems.js.map +0 -1
  469. package/dist/simulation/scenarios/goalie-integration.d.ts +0 -24
  470. package/dist/simulation/scenarios/goalie-integration.d.ts.map +0 -1
  471. package/dist/simulation/scenarios/goalie-integration.js +0 -121
  472. package/dist/simulation/scenarios/goalie-integration.js.map +0 -1
  473. package/dist/simulation/scenarios/graph-traversal.d.ts +0 -17
  474. package/dist/simulation/scenarios/graph-traversal.d.ts.map +0 -1
  475. package/dist/simulation/scenarios/graph-traversal.js +0 -101
  476. package/dist/simulation/scenarios/graph-traversal.js.map +0 -1
  477. package/dist/simulation/scenarios/latent-space/attention-analysis.d.ts +0 -45
  478. package/dist/simulation/scenarios/latent-space/attention-analysis.d.ts.map +0 -1
  479. package/dist/simulation/scenarios/latent-space/attention-analysis.js +0 -435
  480. package/dist/simulation/scenarios/latent-space/attention-analysis.js.map +0 -1
  481. package/dist/simulation/scenarios/latent-space/clustering-analysis.d.ts +0 -55
  482. package/dist/simulation/scenarios/latent-space/clustering-analysis.d.ts.map +0 -1
  483. package/dist/simulation/scenarios/latent-space/clustering-analysis.js +0 -606
  484. package/dist/simulation/scenarios/latent-space/clustering-analysis.js.map +0 -1
  485. package/dist/simulation/scenarios/latent-space/hnsw-exploration.d.ts +0 -74
  486. package/dist/simulation/scenarios/latent-space/hnsw-exploration.d.ts.map +0 -1
  487. package/dist/simulation/scenarios/latent-space/hnsw-exploration.js +0 -391
  488. package/dist/simulation/scenarios/latent-space/hnsw-exploration.js.map +0 -1
  489. package/dist/simulation/scenarios/latent-space/hypergraph-exploration.d.ts +0 -51
  490. package/dist/simulation/scenarios/latent-space/hypergraph-exploration.d.ts.map +0 -1
  491. package/dist/simulation/scenarios/latent-space/hypergraph-exploration.js +0 -536
  492. package/dist/simulation/scenarios/latent-space/hypergraph-exploration.js.map +0 -1
  493. package/dist/simulation/scenarios/latent-space/index.d.ts +0 -35
  494. package/dist/simulation/scenarios/latent-space/index.d.ts.map +0 -1
  495. package/dist/simulation/scenarios/latent-space/index.js +0 -35
  496. package/dist/simulation/scenarios/latent-space/index.js.map +0 -1
  497. package/dist/simulation/scenarios/latent-space/neural-augmentation.d.ts +0 -52
  498. package/dist/simulation/scenarios/latent-space/neural-augmentation.d.ts.map +0 -1
  499. package/dist/simulation/scenarios/latent-space/neural-augmentation.js +0 -472
  500. package/dist/simulation/scenarios/latent-space/neural-augmentation.js.map +0 -1
  501. package/dist/simulation/scenarios/latent-space/quantum-hybrid.d.ts +0 -53
  502. package/dist/simulation/scenarios/latent-space/quantum-hybrid.d.ts.map +0 -1
  503. package/dist/simulation/scenarios/latent-space/quantum-hybrid.js +0 -391
  504. package/dist/simulation/scenarios/latent-space/quantum-hybrid.js.map +0 -1
  505. package/dist/simulation/scenarios/latent-space/self-organizing-hnsw.d.ts +0 -52
  506. package/dist/simulation/scenarios/latent-space/self-organizing-hnsw.d.ts.map +0 -1
  507. package/dist/simulation/scenarios/latent-space/self-organizing-hnsw.js +0 -514
  508. package/dist/simulation/scenarios/latent-space/self-organizing-hnsw.js.map +0 -1
  509. package/dist/simulation/scenarios/latent-space/traversal-optimization.d.ts +0 -53
  510. package/dist/simulation/scenarios/latent-space/traversal-optimization.d.ts.map +0 -1
  511. package/dist/simulation/scenarios/latent-space/traversal-optimization.js +0 -595
  512. package/dist/simulation/scenarios/latent-space/traversal-optimization.js.map +0 -1
  513. package/dist/simulation/scenarios/lean-agentic-swarm.d.ts +0 -18
  514. package/dist/simulation/scenarios/lean-agentic-swarm.d.ts.map +0 -1
  515. package/dist/simulation/scenarios/lean-agentic-swarm.js +0 -132
  516. package/dist/simulation/scenarios/lean-agentic-swarm.js.map +0 -1
  517. package/dist/simulation/scenarios/multi-agent-swarm.d.ts +0 -17
  518. package/dist/simulation/scenarios/multi-agent-swarm.d.ts.map +0 -1
  519. package/dist/simulation/scenarios/multi-agent-swarm.js +0 -111
  520. package/dist/simulation/scenarios/multi-agent-swarm.js.map +0 -1
  521. package/dist/simulation/scenarios/psycho-symbolic-reasoner.d.ts +0 -23
  522. package/dist/simulation/scenarios/psycho-symbolic-reasoner.d.ts.map +0 -1
  523. package/dist/simulation/scenarios/psycho-symbolic-reasoner.js +0 -98
  524. package/dist/simulation/scenarios/psycho-symbolic-reasoner.js.map +0 -1
  525. package/dist/simulation/scenarios/reflexion-learning.d.ts +0 -16
  526. package/dist/simulation/scenarios/reflexion-learning.d.ts.map +0 -1
  527. package/dist/simulation/scenarios/reflexion-learning.js +0 -98
  528. package/dist/simulation/scenarios/reflexion-learning.js.map +0 -1
  529. package/dist/simulation/scenarios/research-swarm.d.ts +0 -24
  530. package/dist/simulation/scenarios/research-swarm.d.ts.map +0 -1
  531. package/dist/simulation/scenarios/research-swarm.js +0 -146
  532. package/dist/simulation/scenarios/research-swarm.js.map +0 -1
  533. package/dist/simulation/scenarios/skill-evolution.d.ts +0 -16
  534. package/dist/simulation/scenarios/skill-evolution.d.ts.map +0 -1
  535. package/dist/simulation/scenarios/skill-evolution.js +0 -109
  536. package/dist/simulation/scenarios/skill-evolution.js.map +0 -1
  537. package/dist/simulation/scenarios/stock-market-emergence.d.ts +0 -33
  538. package/dist/simulation/scenarios/stock-market-emergence.d.ts.map +0 -1
  539. package/dist/simulation/scenarios/stock-market-emergence.js +0 -246
  540. package/dist/simulation/scenarios/stock-market-emergence.js.map +0 -1
  541. package/dist/simulation/scenarios/strange-loops.d.ts +0 -18
  542. package/dist/simulation/scenarios/strange-loops.d.ts.map +0 -1
  543. package/dist/simulation/scenarios/strange-loops.js +0 -133
  544. package/dist/simulation/scenarios/strange-loops.js.map +0 -1
  545. package/dist/simulation/scenarios/sublinear-solver.d.ts +0 -22
  546. package/dist/simulation/scenarios/sublinear-solver.d.ts.map +0 -1
  547. package/dist/simulation/scenarios/sublinear-solver.js +0 -82
  548. package/dist/simulation/scenarios/sublinear-solver.js.map +0 -1
  549. package/dist/simulation/scenarios/temporal-lead-solver.d.ts +0 -23
  550. package/dist/simulation/scenarios/temporal-lead-solver.d.ts.map +0 -1
  551. package/dist/simulation/scenarios/temporal-lead-solver.js +0 -90
  552. package/dist/simulation/scenarios/temporal-lead-solver.js.map +0 -1
  553. package/dist/simulation/scenarios/voting-system-consensus.d.ts +0 -27
  554. package/dist/simulation/scenarios/voting-system-consensus.d.ts.map +0 -1
  555. package/dist/simulation/scenarios/voting-system-consensus.js +0 -175
  556. package/dist/simulation/scenarios/voting-system-consensus.js.map +0 -1
  557. package/dist/simulation/types.d.ts +0 -162
  558. package/dist/simulation/types.d.ts.map +0 -1
  559. package/dist/simulation/types.js +0 -5
  560. package/dist/simulation/types.js.map +0 -1
  561. package/dist/simulation/utils/PerformanceOptimizer.d.ts +0 -115
  562. package/dist/simulation/utils/PerformanceOptimizer.d.ts.map +0 -1
  563. package/dist/simulation/utils/PerformanceOptimizer.js +0 -223
  564. package/dist/simulation/utils/PerformanceOptimizer.js.map +0 -1
  565. package/dist/src/backends/index.cjs +0 -6
  566. package/dist/src/backends/ruvector/GuardedVectorBackend.d.ts +0 -93
  567. package/dist/src/backends/ruvector/GuardedVectorBackend.d.ts.map +0 -1
  568. package/dist/src/backends/ruvector/GuardedVectorBackend.js +0 -182
  569. package/dist/src/backends/ruvector/GuardedVectorBackend.js.map +0 -1
  570. package/dist/src/consensus/RaftConsensus.d.ts +0 -220
  571. package/dist/src/consensus/RaftConsensus.d.ts.map +0 -1
  572. package/dist/src/consensus/RaftConsensus.js +0 -762
  573. package/dist/src/consensus/RaftConsensus.js.map +0 -1
  574. package/dist/src/controllers/HierarchicalMemory.d.ts +0 -197
  575. package/dist/src/controllers/HierarchicalMemory.d.ts.map +0 -1
  576. package/dist/src/controllers/HierarchicalMemory.js +0 -519
  577. package/dist/src/controllers/HierarchicalMemory.js.map +0 -1
  578. package/dist/src/controllers/MemoryConsolidation.d.ts +0 -142
  579. package/dist/src/controllers/MemoryConsolidation.d.ts.map +0 -1
  580. package/dist/src/controllers/MemoryConsolidation.js +0 -479
  581. package/dist/src/controllers/MemoryConsolidation.js.map +0 -1
  582. package/dist/src/controllers/QUICConnection.d.ts +0 -122
  583. package/dist/src/controllers/QUICConnection.d.ts.map +0 -1
  584. package/dist/src/controllers/QUICConnection.js +0 -329
  585. package/dist/src/controllers/QUICConnection.js.map +0 -1
  586. package/dist/src/controllers/QUICConnectionPool.d.ts +0 -83
  587. package/dist/src/controllers/QUICConnectionPool.d.ts.map +0 -1
  588. package/dist/src/controllers/QUICConnectionPool.js +0 -256
  589. package/dist/src/controllers/QUICConnectionPool.js.map +0 -1
  590. package/dist/src/controllers/QUICStreamManager.d.ts +0 -114
  591. package/dist/src/controllers/QUICStreamManager.d.ts.map +0 -1
  592. package/dist/src/controllers/QUICStreamManager.js +0 -267
  593. package/dist/src/controllers/QUICStreamManager.js.map +0 -1
  594. package/dist/src/controllers/StreamingEmbeddingService.d.ts +0 -82
  595. package/dist/src/controllers/StreamingEmbeddingService.d.ts.map +0 -1
  596. package/dist/src/controllers/StreamingEmbeddingService.js +0 -243
  597. package/dist/src/controllers/StreamingEmbeddingService.js.map +0 -1
  598. package/dist/src/controllers/index.cjs +0 -6
  599. package/dist/src/coordination/MultiDatabaseCoordinator.d.ts +0 -348
  600. package/dist/src/coordination/MultiDatabaseCoordinator.d.ts.map +0 -1
  601. package/dist/src/coordination/MultiDatabaseCoordinator.js +0 -803
  602. package/dist/src/coordination/MultiDatabaseCoordinator.js.map +0 -1
  603. package/dist/src/coordination/index.d.ts +0 -10
  604. package/dist/src/coordination/index.d.ts.map +0 -1
  605. package/dist/src/coordination/index.js +0 -10
  606. package/dist/src/coordination/index.js.map +0 -1
  607. package/dist/src/index.cjs +0 -6
  608. package/dist/src/optimizations/RVFOptimizer.d.ts +0 -226
  609. package/dist/src/optimizations/RVFOptimizer.d.ts.map +0 -1
  610. package/dist/src/optimizations/RVFOptimizer.js +0 -541
  611. package/dist/src/optimizations/RVFOptimizer.js.map +0 -1
  612. package/dist/src/security/AttestationLog.d.ts +0 -70
  613. package/dist/src/security/AttestationLog.d.ts.map +0 -1
  614. package/dist/src/security/AttestationLog.js +0 -174
  615. package/dist/src/security/AttestationLog.js.map +0 -1
  616. package/dist/src/security/MutationGuard.d.ts +0 -83
  617. package/dist/src/security/MutationGuard.d.ts.map +0 -1
  618. package/dist/src/security/MutationGuard.js +0 -364
  619. package/dist/src/security/MutationGuard.js.map +0 -1
  620. package/dist/src/security/index.cjs +0 -6
  621. package/dist/src/security/index.d.ts +0 -15
  622. package/dist/src/security/index.d.ts.map +0 -1
  623. package/dist/src/security/index.js +0 -18
  624. package/dist/src/security/index.js.map +0 -1
  625. package/dist/src/services/GNNService.d.ts +0 -173
  626. package/dist/src/services/GNNService.d.ts.map +0 -1
  627. package/dist/src/services/GNNService.js +0 -639
  628. package/dist/src/services/GNNService.js.map +0 -1
  629. package/dist/src/services/GraphTransformerService.d.ts +0 -80
  630. package/dist/src/services/GraphTransformerService.d.ts.map +0 -1
  631. package/dist/src/services/GraphTransformerService.js +0 -369
  632. package/dist/src/services/GraphTransformerService.js.map +0 -1
  633. package/dist/src/services/SemanticRouter.d.ts +0 -83
  634. package/dist/src/services/SemanticRouter.d.ts.map +0 -1
  635. package/dist/src/services/SemanticRouter.js +0 -160
  636. package/dist/src/services/SemanticRouter.js.map +0 -1
  637. package/dist/src/services/SonaTrajectoryService.d.ts +0 -224
  638. package/dist/src/services/SonaTrajectoryService.d.ts.map +0 -1
  639. package/dist/src/services/SonaTrajectoryService.js +0 -539
  640. package/dist/src/services/SonaTrajectoryService.js.map +0 -1
  641. package/dist/src/utils/LegacyAttentionAdapter.d.ts +0 -93
  642. package/dist/src/utils/LegacyAttentionAdapter.d.ts.map +0 -1
  643. package/dist/src/utils/LegacyAttentionAdapter.js +0 -241
  644. package/dist/src/utils/LegacyAttentionAdapter.js.map +0 -1
  645. package/dist/src/utils/vector-math.d.ts +0 -29
  646. package/dist/src/utils/vector-math.d.ts.map +0 -1
  647. package/dist/src/utils/vector-math.js +0 -66
  648. package/dist/src/utils/vector-math.js.map +0 -1
@@ -19,11 +19,18 @@ import { EmbeddingService } from '../controllers/EmbeddingService.js';
19
19
  import { MMRDiversityRanker } from '../controllers/MMRDiversityRanker.js';
20
20
  import { ContextSynthesizer } from '../controllers/ContextSynthesizer.js';
21
21
  import { MetadataFilter } from '../controllers/MetadataFilter.js';
22
+ import { QUICServer } from '../controllers/QUICServer.js';
23
+ import { QUICClient } from '../controllers/QUICClient.js';
24
+ import { SyncCoordinator } from '../controllers/SyncCoordinator.js';
22
25
  import { initCommand } from './commands/init.js';
23
26
  import { statusCommand } from './commands/status.js';
24
27
  import { installEmbeddingsCommand } from './commands/install-embeddings.js';
25
28
  import { migrateCommand } from './commands/migrate.js';
26
29
  import { doctorCommand } from './commands/doctor.js';
30
+ import { attentionCommand } from './commands/attention.js';
31
+ import { learnCommand } from './commands/learn.js';
32
+ import { routeCommand } from './commands/route.js';
33
+ import { hyperbolicCommand } from './commands/hyperbolic.js';
27
34
  import * as fs from 'fs';
28
35
  import * as path from 'path';
29
36
  import * as zlib from 'zlib';
@@ -48,6 +55,63 @@ const log = {
48
55
  warning: (msg) => console.log(`${colors.yellow}⚠ ${msg}${colors.reset}`),
49
56
  header: (msg) => console.log(`${colors.bright}${colors.cyan}${msg}${colors.reset}`)
50
57
  };
58
+ // Spinner utility for progress indication
59
+ class Spinner {
60
+ frames = ['|', '/', '-', '\\'];
61
+ current = 0;
62
+ interval = null;
63
+ message = '';
64
+ start(message) {
65
+ this.message = message;
66
+ this.current = 0;
67
+ process.stdout.write(`\r${this.frames[0]} ${message}`);
68
+ this.interval = setInterval(() => {
69
+ this.current = (this.current + 1) % this.frames.length;
70
+ process.stdout.write(`\r${this.frames[this.current]} ${this.message}`);
71
+ }, 100);
72
+ }
73
+ update(message) {
74
+ this.message = message;
75
+ process.stdout.write(`\r${this.frames[this.current]} ${this.message}`);
76
+ }
77
+ succeed(message) {
78
+ this.stop();
79
+ console.log(`\r${colors.green}v${colors.reset} ${message}`);
80
+ }
81
+ fail(message) {
82
+ this.stop();
83
+ console.log(`\r${colors.red}x${colors.reset} ${message}`);
84
+ }
85
+ stop() {
86
+ if (this.interval) {
87
+ clearInterval(this.interval);
88
+ this.interval = null;
89
+ }
90
+ process.stdout.write('\r' + ' '.repeat(this.message.length + 10) + '\r');
91
+ }
92
+ }
93
+ // Progress bar utility
94
+ class ProgressBar {
95
+ width = 40;
96
+ current = 0;
97
+ total = 100;
98
+ message = '';
99
+ update(current, total, message) {
100
+ this.current = current;
101
+ this.total = total;
102
+ if (message)
103
+ this.message = message;
104
+ const percent = Math.round((current / total) * 100);
105
+ const filled = Math.round((current / total) * this.width);
106
+ const empty = this.width - filled;
107
+ const bar = `${colors.green}${'='.repeat(filled)}${colors.reset}${'-'.repeat(empty)}`;
108
+ process.stdout.write(`\r[${bar}] ${percent}% ${this.message}`);
109
+ }
110
+ complete(message) {
111
+ const bar = `${colors.green}${'='.repeat(this.width)}${colors.reset}`;
112
+ console.log(`\r[${bar}] 100% ${message}`);
113
+ }
114
+ }
51
115
  class AgentDBCLI {
52
116
  db; // Database instance from createDatabase (public for init command)
53
117
  causalGraph;
@@ -57,6 +121,10 @@ class AgentDBCLI {
57
121
  reflexion;
58
122
  skills;
59
123
  embedder;
124
+ // QUIC sync controllers
125
+ quicServer;
126
+ quicClient;
127
+ syncCoordinator;
60
128
  async initialize(dbPath = './agentdb.db') {
61
129
  // Initialize database
62
130
  this.db = await createDatabase(dbPath);
@@ -565,128 +633,654 @@ class AgentDBCLI {
565
633
  // QUIC Synchronization Commands
566
634
  // ============================================================================
567
635
  async quicStartServer(params) {
568
- log.header('\n🚀 Starting QUIC Sync Server');
636
+ if (!this.db)
637
+ throw new Error('Not initialized');
638
+ log.header('\n[QUIC] Starting QUIC Sync Server');
639
+ const spinner = new Spinner();
569
640
  const port = params.port || 4433;
570
641
  const authToken = params.authToken || this.generateAuthToken();
571
- log.info(`Port: ${port}`);
572
- log.info(`Auth Token: ${authToken}`);
642
+ console.log('\n' + '='.repeat(80));
643
+ console.log(`${colors.bright}Server Configuration${colors.reset}`);
644
+ console.log('='.repeat(80));
645
+ console.log(` Host: ${colors.cyan}0.0.0.0${colors.reset}`);
646
+ console.log(` Port: ${colors.cyan}${port}${colors.reset}`);
647
+ console.log(` Auth Token: ${colors.cyan}${authToken.substring(0, 8)}...${colors.reset}`);
648
+ console.log(` Max Connections: ${colors.cyan}${params.maxConnections || 100}${colors.reset}`);
573
649
  if (params.cert && params.key) {
574
- log.info(`TLS Certificate: ${params.cert}`);
575
- log.info(`TLS Key: ${params.key}`);
650
+ console.log(` TLS Certificate: ${colors.green}${params.cert}${colors.reset}`);
651
+ console.log(` TLS Key: ${colors.green}${params.key}${colors.reset}`);
576
652
  }
577
653
  else {
578
- log.warning('No TLS certificate provided - using self-signed certificate');
654
+ console.log(` TLS: ${colors.yellow}Self-signed (development mode)${colors.reset}`);
655
+ }
656
+ console.log('='.repeat(80));
657
+ try {
658
+ spinner.start('Initializing QUIC server...');
659
+ // Create QUIC server configuration
660
+ const serverConfig = {
661
+ host: '0.0.0.0',
662
+ port,
663
+ maxConnections: params.maxConnections || 100,
664
+ authToken,
665
+ tlsConfig: {
666
+ cert: params.cert,
667
+ key: params.key,
668
+ },
669
+ rateLimit: {
670
+ maxRequestsPerMinute: 60,
671
+ maxBytesPerMinute: 10 * 1024 * 1024, // 10MB
672
+ },
673
+ };
674
+ // Initialize the QUIC server with database
675
+ this.quicServer = new QUICServer(this.db, serverConfig);
676
+ spinner.update('Starting server...');
677
+ await this.quicServer.start();
678
+ spinner.succeed('QUIC server started successfully');
679
+ console.log('\n' + '-'.repeat(80));
680
+ console.log(`${colors.bright}Server Status${colors.reset}`);
681
+ console.log('-'.repeat(80));
682
+ const status = this.quicServer.getStatus();
683
+ console.log(` Status: ${colors.green}Running${colors.reset}`);
684
+ console.log(` Active Connections: ${colors.cyan}${status.activeConnections}${colors.reset}`);
685
+ console.log(` Rate Limit: ${colors.cyan}${status.config.rateLimit?.maxRequestsPerMinute} req/min${colors.reset}`);
686
+ console.log('-'.repeat(80));
687
+ log.info('\nServer is ready to accept connections.');
688
+ log.info(`Clients can connect using: agentdb sync connect <host> ${port} --auth-token ${authToken}`);
689
+ log.info('\nPress Ctrl+C to stop the server');
690
+ // Handle graceful shutdown
691
+ const shutdown = async () => {
692
+ console.log('\n');
693
+ log.info('Shutting down server...');
694
+ const shutdownSpinner = new Spinner();
695
+ shutdownSpinner.start('Closing connections...');
696
+ try {
697
+ if (this.quicServer) {
698
+ await this.quicServer.stop();
699
+ }
700
+ shutdownSpinner.succeed('Server stopped gracefully');
701
+ }
702
+ catch (error) {
703
+ shutdownSpinner.fail(`Error during shutdown: ${error.message}`);
704
+ }
705
+ process.exit(0);
706
+ };
707
+ process.on('SIGINT', shutdown);
708
+ process.on('SIGTERM', shutdown);
709
+ // Monitor server status periodically
710
+ const monitorInterval = setInterval(() => {
711
+ if (this.quicServer) {
712
+ const currentStatus = this.quicServer.getStatus();
713
+ if (currentStatus.activeConnections > 0) {
714
+ process.stdout.write(`\r${colors.cyan}[${new Date().toLocaleTimeString()}]${colors.reset} Active connections: ${currentStatus.activeConnections} | Total requests: ${currentStatus.totalRequests} `);
715
+ }
716
+ }
717
+ }, 5000);
718
+ // Keep process alive
719
+ await new Promise((resolve) => {
720
+ process.on('SIGINT', () => {
721
+ clearInterval(monitorInterval);
722
+ resolve();
723
+ });
724
+ process.on('SIGTERM', () => {
725
+ clearInterval(monitorInterval);
726
+ resolve();
727
+ });
728
+ });
729
+ }
730
+ catch (error) {
731
+ spinner.fail(`Failed to start server: ${error.message}`);
732
+ throw error;
579
733
  }
580
- // TODO: Implement QUIC server using existing QUICSync controller
581
- log.info('\nServer started. Waiting for connections...');
582
- log.info('Press Ctrl+C to stop');
583
- // Keep process alive
584
- await new Promise(() => { });
585
734
  }
586
735
  async quicConnect(params) {
587
- log.header('\n🔌 Connecting to QUIC Sync Server');
588
- log.info(`Host: ${params.host}`);
589
- log.info(`Port: ${params.port}`);
590
- if (params.authToken) {
591
- log.info('Authentication: Enabled');
592
- }
736
+ log.header('\n[QUIC] Connecting to QUIC Sync Server');
737
+ const spinner = new Spinner();
738
+ console.log('\n' + '='.repeat(80));
739
+ console.log(`${colors.bright}Connection Details${colors.reset}`);
740
+ console.log('='.repeat(80));
741
+ console.log(` Server: ${colors.cyan}${params.host}:${params.port}${colors.reset}`);
742
+ console.log(` Authentication: ${params.authToken ? colors.green + 'Enabled' : colors.yellow + 'Disabled'}${colors.reset}`);
743
+ console.log(` Timeout: ${colors.cyan}${params.timeout || 30000}ms${colors.reset}`);
593
744
  if (params.cert) {
594
- log.info(`TLS Certificate: ${params.cert}`);
745
+ console.log(` TLS Certificate: ${colors.green}${params.cert}${colors.reset}`);
595
746
  }
596
747
  else {
597
- log.warning('No TLS certificate provided - using insecure connection');
748
+ console.log(` TLS: ${colors.yellow}Insecure (no certificate provided)${colors.reset}`);
749
+ }
750
+ console.log('='.repeat(80));
751
+ try {
752
+ spinner.start('Initializing QUIC client...');
753
+ // Create QUIC client configuration
754
+ const clientConfig = {
755
+ serverHost: params.host,
756
+ serverPort: params.port,
757
+ authToken: params.authToken,
758
+ maxRetries: 3,
759
+ retryDelayMs: 1000,
760
+ timeoutMs: params.timeout || 30000,
761
+ poolSize: 5,
762
+ tlsConfig: {
763
+ cert: params.cert,
764
+ rejectUnauthorized: !!params.cert,
765
+ },
766
+ };
767
+ // Initialize the QUIC client
768
+ this.quicClient = new QUICClient(clientConfig);
769
+ spinner.update('Establishing connection...');
770
+ await this.quicClient.connect();
771
+ spinner.update('Testing connection (ping)...');
772
+ const pingResult = await this.quicClient.ping();
773
+ if (!pingResult.success) {
774
+ throw new Error(pingResult.error || 'Ping failed');
775
+ }
776
+ spinner.succeed('Connected to remote server successfully');
777
+ console.log('\n' + '-'.repeat(80));
778
+ console.log(`${colors.bright}Connection Status${colors.reset}`);
779
+ console.log('-'.repeat(80));
780
+ const status = this.quicClient.getStatus();
781
+ console.log(` Status: ${colors.green}Connected${colors.reset}`);
782
+ console.log(` Latency: ${colors.cyan}${pingResult.latencyMs}ms${colors.reset}`);
783
+ console.log(` Pool Size: ${colors.cyan}${status.poolSize}${colors.reset}`);
784
+ console.log(` Active Connections: ${colors.cyan}${status.activeConnections}${colors.reset}`);
785
+ console.log('-'.repeat(80));
786
+ // Initialize the SyncCoordinator for subsequent push/pull operations
787
+ if (this.db) {
788
+ this.syncCoordinator = new SyncCoordinator({
789
+ db: this.db,
790
+ client: this.quicClient,
791
+ });
792
+ log.info('\nSync coordinator initialized. Ready for push/pull operations.');
793
+ }
794
+ log.success('\nConnection established.');
795
+ log.info('Use "agentdb sync push" or "agentdb sync pull" to sync data.');
796
+ }
797
+ catch (error) {
798
+ spinner.fail(`Connection failed: ${error.message}`);
799
+ console.log('\n' + '-'.repeat(80));
800
+ console.log(`${colors.bright}Troubleshooting${colors.reset}`);
801
+ console.log('-'.repeat(80));
802
+ console.log(' 1. Verify the server is running and accessible');
803
+ console.log(' 2. Check firewall settings allow traffic on the specified port');
804
+ console.log(' 3. Ensure the auth token matches the server configuration');
805
+ console.log(' 4. For TLS connections, verify the certificate is valid');
806
+ console.log('-'.repeat(80));
807
+ throw error;
598
808
  }
599
- // TODO: Implement QUIC client connection
600
- log.success('Connected to remote server');
601
- log.info('Server info: AgentDB QUIC Sync v1.0');
602
809
  }
603
810
  async quicPush(params) {
604
811
  if (!this.db)
605
812
  throw new Error('Not initialized');
606
- log.header('\n⬆️ Pushing Changes to Remote');
607
- log.info(`Server: ${params.server}`);
608
- log.info(`Mode: ${params.incremental ? 'Incremental' : 'Full'}`);
813
+ log.header('\n[QUIC] Pushing Changes to Remote');
814
+ const spinner = new Spinner();
815
+ const progressBar = new ProgressBar();
816
+ // Parse server address
817
+ const [host, portStr] = params.server.split(':');
818
+ const port = parseInt(portStr) || 4433;
819
+ console.log('\n' + '='.repeat(80));
820
+ console.log(`${colors.bright}Push Configuration${colors.reset}`);
821
+ console.log('='.repeat(80));
822
+ console.log(` Server: ${colors.cyan}${host}:${port}${colors.reset}`);
823
+ console.log(` Mode: ${colors.cyan}${params.incremental ? 'Incremental' : 'Full Sync'}${colors.reset}`);
824
+ console.log(` Batch Size: ${colors.cyan}${params.batchSize || 100}${colors.reset}`);
609
825
  if (params.filter) {
610
- log.info(`Filter: ${params.filter}`);
826
+ console.log(` Filter: ${colors.cyan}${params.filter}${colors.reset}`);
827
+ }
828
+ console.log('='.repeat(80));
829
+ try {
830
+ // Step 1: Analyze pending changes
831
+ spinner.start('Analyzing local changes...');
832
+ const pendingChanges = this.getPendingChangesDetailed(params.incremental, params.filter);
833
+ spinner.succeed(`Found ${pendingChanges.totalItems} items to push`);
834
+ console.log('\n' + '-'.repeat(80));
835
+ console.log(`${colors.bright}Pending Changes${colors.reset}`);
836
+ console.log('-'.repeat(80));
837
+ console.log(` Episodes: ${colors.cyan}${pendingChanges.episodes.length}${colors.reset}`);
838
+ console.log(` Skills: ${colors.cyan}${pendingChanges.skills.length}${colors.reset}`);
839
+ console.log(` Edges: ${colors.cyan}${pendingChanges.edges.length}${colors.reset}`);
840
+ console.log(` Total Size: ${colors.cyan}${(pendingChanges.totalSize / 1024).toFixed(2)} KB${colors.reset}`);
841
+ console.log('-'.repeat(80));
842
+ if (pendingChanges.totalItems === 0) {
843
+ log.info('\nNo changes to push. Database is up to date.');
844
+ return;
845
+ }
846
+ // Step 2: Establish connection if not already connected
847
+ spinner.start('Connecting to server...');
848
+ if (!this.quicClient) {
849
+ const clientConfig = {
850
+ serverHost: host,
851
+ serverPort: port,
852
+ authToken: params.authToken,
853
+ maxRetries: 3,
854
+ retryDelayMs: 1000,
855
+ timeoutMs: 30000,
856
+ poolSize: 5,
857
+ };
858
+ this.quicClient = new QUICClient(clientConfig);
859
+ await this.quicClient.connect();
860
+ }
861
+ spinner.succeed('Connected to server');
862
+ // Step 3: Initialize sync coordinator if not exists
863
+ if (!this.syncCoordinator) {
864
+ this.syncCoordinator = new SyncCoordinator({
865
+ db: this.db,
866
+ client: this.quicClient,
867
+ batchSize: params.batchSize || 100,
868
+ });
869
+ }
870
+ // Step 4: Push changes with progress tracking
871
+ console.log('\n' + '-'.repeat(80));
872
+ console.log(`${colors.bright}Push Progress${colors.reset}`);
873
+ console.log('-'.repeat(80));
874
+ let pushedItems = 0;
875
+ const startTime = Date.now();
876
+ // Perform sync with progress callback
877
+ const syncReport = await this.syncCoordinator.sync((progress) => {
878
+ if (progress.phase === 'pushing') {
879
+ pushedItems = progress.current;
880
+ progressBar.update(progress.current, progress.total, progress.itemType || 'items');
881
+ }
882
+ else if (progress.phase === 'completed') {
883
+ progressBar.complete('Push completed');
884
+ }
885
+ else if (progress.phase === 'error') {
886
+ console.log(`\n${colors.red}Error: ${progress.error}${colors.reset}`);
887
+ }
888
+ });
889
+ const duration = Date.now() - startTime;
890
+ console.log('\n' + '='.repeat(80));
891
+ console.log(`${colors.bright}Push Summary${colors.reset}`);
892
+ console.log('='.repeat(80));
893
+ console.log(` Status: ${syncReport.success ? colors.green + 'Success' : colors.red + 'Failed'}${colors.reset}`);
894
+ console.log(` Items Pushed: ${colors.cyan}${syncReport.itemsPushed}${colors.reset}`);
895
+ console.log(` Bytes Transferred: ${colors.cyan}${(syncReport.bytesTransferred / 1024).toFixed(2)} KB${colors.reset}`);
896
+ console.log(` Duration: ${colors.cyan}${duration}ms${colors.reset}`);
897
+ console.log(` Throughput: ${colors.cyan}${((syncReport.bytesTransferred / 1024) / (duration / 1000)).toFixed(2)} KB/s${colors.reset}`);
898
+ if (syncReport.errors.length > 0) {
899
+ console.log(` Errors: ${colors.red}${syncReport.errors.length}${colors.reset}`);
900
+ syncReport.errors.forEach((err, i) => {
901
+ console.log(` ${i + 1}. ${err}`);
902
+ });
903
+ }
904
+ console.log('='.repeat(80));
905
+ if (syncReport.success) {
906
+ log.success('\nChanges pushed successfully');
907
+ }
908
+ else {
909
+ log.error('\nPush completed with errors');
910
+ }
911
+ }
912
+ catch (error) {
913
+ spinner.fail(`Push failed: ${error.message}`);
914
+ throw error;
915
+ }
916
+ }
917
+ // Helper to get detailed pending changes with actual data
918
+ getPendingChangesDetailed(incremental, filter) {
919
+ if (!this.db) {
920
+ return { episodes: [], skills: [], edges: [], totalItems: 0, totalSize: 0 };
921
+ }
922
+ try {
923
+ // Get last sync time
924
+ let lastSyncTime = 0;
925
+ if (incremental) {
926
+ try {
927
+ const syncState = this.db.prepare('SELECT last_sync_at FROM sync_state WHERE id = 1').get();
928
+ if (syncState) {
929
+ lastSyncTime = syncState.last_sync_at || 0;
930
+ }
931
+ }
932
+ catch {
933
+ // Table might not exist
934
+ }
935
+ }
936
+ // Query episodes
937
+ let episodesQuery = 'SELECT * FROM episodes WHERE 1=1';
938
+ const episodeParams = [];
939
+ if (incremental && lastSyncTime > 0) {
940
+ episodesQuery += ' AND ts > ?';
941
+ episodeParams.push(lastSyncTime);
942
+ }
943
+ const episodes = this.db.prepare(episodesQuery).all(...episodeParams) || [];
944
+ // Query skills
945
+ let skillsQuery = 'SELECT * FROM skills WHERE 1=1';
946
+ const skillParams = [];
947
+ if (incremental && lastSyncTime > 0) {
948
+ skillsQuery += ' AND ts > ?';
949
+ skillParams.push(lastSyncTime);
950
+ }
951
+ let skills = [];
952
+ try {
953
+ skills = this.db.prepare(skillsQuery).all(...skillParams) || [];
954
+ }
955
+ catch {
956
+ // Skills table might not exist
957
+ }
958
+ // Query edges
959
+ let edgesQuery = 'SELECT * FROM skill_edges WHERE 1=1';
960
+ const edgeParams = [];
961
+ if (incremental && lastSyncTime > 0) {
962
+ edgesQuery += ' AND ts > ?';
963
+ edgeParams.push(lastSyncTime);
964
+ }
965
+ let edges = [];
966
+ try {
967
+ edges = this.db.prepare(edgesQuery).all(...edgeParams) || [];
968
+ }
969
+ catch {
970
+ // Edges table might not exist
971
+ }
972
+ // Calculate total size
973
+ const totalSize = JSON.stringify(episodes).length +
974
+ JSON.stringify(skills).length +
975
+ JSON.stringify(edges).length;
976
+ return {
977
+ episodes,
978
+ skills,
979
+ edges,
980
+ totalItems: episodes.length + skills.length + edges.length,
981
+ totalSize,
982
+ };
983
+ }
984
+ catch (error) {
985
+ log.warning(`Error analyzing changes: ${error.message}`);
986
+ return { episodes: [], skills: [], edges: [], totalItems: 0, totalSize: 0 };
611
987
  }
612
- // Get pending changes
613
- const changes = this.getPendingChanges(params.incremental, params.filter);
614
- console.log('\n' + '═'.repeat(80));
615
- console.log(`${colors.bright}Pending Changes${colors.reset}`);
616
- console.log('═'.repeat(80));
617
- console.log(` Episodes: ${changes.episodes}`);
618
- console.log(` Skills: ${changes.skills}`);
619
- console.log(` Causal Edges: ${changes.causalEdges}`);
620
- console.log(` Total Size: ${(changes.totalSize / 1024).toFixed(2)} KB`);
621
- console.log('═'.repeat(80));
622
- // TODO: Implement QUIC push
623
- log.success('Changes pushed successfully');
624
- log.info(`Transferred: ${(changes.totalSize / 1024).toFixed(2)} KB`);
625
988
  }
626
989
  async quicPull(params) {
627
990
  if (!this.db)
628
991
  throw new Error('Not initialized');
629
- log.header('\n⬇️ Pulling Changes from Remote');
630
- log.info(`Server: ${params.server}`);
631
- log.info(`Mode: ${params.incremental ? 'Incremental' : 'Full'}`);
992
+ log.header('\n[QUIC] Pulling Changes from Remote');
993
+ const spinner = new Spinner();
994
+ const progressBar = new ProgressBar();
995
+ // Parse server address
996
+ const [host, portStr] = params.server.split(':');
997
+ const port = parseInt(portStr) || 4433;
998
+ console.log('\n' + '='.repeat(80));
999
+ console.log(`${colors.bright}Pull Configuration${colors.reset}`);
1000
+ console.log('='.repeat(80));
1001
+ console.log(` Server: ${colors.cyan}${host}:${port}${colors.reset}`);
1002
+ console.log(` Mode: ${colors.cyan}${params.incremental ? 'Incremental' : 'Full Sync'}${colors.reset}`);
1003
+ console.log(` Conflict Strategy: ${colors.cyan}${params.conflictStrategy || 'latest-wins'}${colors.reset}`);
1004
+ console.log(` Batch Size: ${colors.cyan}${params.batchSize || 100}${colors.reset}`);
632
1005
  if (params.filter) {
633
- log.info(`Filter: ${params.filter}`);
634
- }
635
- // TODO: Implement QUIC pull
636
- const changes = {
637
- episodes: 5,
638
- skills: 2,
639
- causalEdges: 3,
640
- totalSize: 12800
641
- };
642
- console.log('\n' + '═'.repeat(80));
643
- console.log(`${colors.bright}Received Changes${colors.reset}`);
644
- console.log('═'.repeat(80));
645
- console.log(` Episodes: ${changes.episodes}`);
646
- console.log(` Skills: ${changes.skills}`);
647
- console.log(` Causal Edges: ${changes.causalEdges}`);
648
- console.log(` Total Size: ${(changes.totalSize / 1024).toFixed(2)} KB`);
649
- console.log('═'.repeat(80));
650
- log.success('Changes pulled and merged successfully');
651
- log.info(`Downloaded: ${(changes.totalSize / 1024).toFixed(2)} KB`);
1006
+ console.log(` Filter: ${colors.cyan}${params.filter}${colors.reset}`);
1007
+ }
1008
+ console.log('='.repeat(80));
1009
+ try {
1010
+ // Step 1: Establish connection if not already connected
1011
+ spinner.start('Connecting to server...');
1012
+ if (!this.quicClient) {
1013
+ const clientConfig = {
1014
+ serverHost: host,
1015
+ serverPort: port,
1016
+ authToken: params.authToken,
1017
+ maxRetries: 3,
1018
+ retryDelayMs: 1000,
1019
+ timeoutMs: 30000,
1020
+ poolSize: 5,
1021
+ };
1022
+ this.quicClient = new QUICClient(clientConfig);
1023
+ await this.quicClient.connect();
1024
+ }
1025
+ spinner.succeed('Connected to server');
1026
+ // Step 2: Initialize sync coordinator if not exists
1027
+ if (!this.syncCoordinator) {
1028
+ this.syncCoordinator = new SyncCoordinator({
1029
+ db: this.db,
1030
+ client: this.quicClient,
1031
+ batchSize: params.batchSize || 100,
1032
+ conflictStrategy: params.conflictStrategy || 'latest-wins',
1033
+ });
1034
+ }
1035
+ // Step 3: Pull changes with progress tracking
1036
+ console.log('\n' + '-'.repeat(80));
1037
+ console.log(`${colors.bright}Pull Progress${colors.reset}`);
1038
+ console.log('-'.repeat(80));
1039
+ const startTime = Date.now();
1040
+ let currentPhase = '';
1041
+ let episodesReceived = 0;
1042
+ let skillsReceived = 0;
1043
+ let edgesReceived = 0;
1044
+ // Perform sync with progress callback
1045
+ const syncReport = await this.syncCoordinator.sync((progress) => {
1046
+ if (progress.phase === 'pulling') {
1047
+ currentPhase = progress.itemType || 'items';
1048
+ progressBar.update(progress.current, progress.total, `Pulling ${currentPhase}...`);
1049
+ // Track received items
1050
+ if (progress.itemType === 'episodes')
1051
+ episodesReceived = progress.current;
1052
+ if (progress.itemType === 'skills')
1053
+ skillsReceived = progress.current;
1054
+ if (progress.itemType === 'edges')
1055
+ edgesReceived = progress.current;
1056
+ }
1057
+ else if (progress.phase === 'resolving') {
1058
+ progressBar.update(progress.current, progress.total, 'Resolving conflicts...');
1059
+ }
1060
+ else if (progress.phase === 'applying') {
1061
+ progressBar.update(progress.current, progress.total, 'Applying changes...');
1062
+ }
1063
+ else if (progress.phase === 'completed') {
1064
+ progressBar.complete('Pull completed');
1065
+ }
1066
+ else if (progress.phase === 'error') {
1067
+ console.log(`\n${colors.red}Error: ${progress.error}${colors.reset}`);
1068
+ }
1069
+ });
1070
+ const duration = Date.now() - startTime;
1071
+ console.log('\n' + '='.repeat(80));
1072
+ console.log(`${colors.bright}Pull Summary${colors.reset}`);
1073
+ console.log('='.repeat(80));
1074
+ console.log(` Status: ${syncReport.success ? colors.green + 'Success' : colors.red + 'Failed'}${colors.reset}`);
1075
+ console.log(` Items Pulled: ${colors.cyan}${syncReport.itemsPulled}${colors.reset}`);
1076
+ console.log(` Conflicts Resolved: ${colors.cyan}${syncReport.conflictsResolved}${colors.reset}`);
1077
+ console.log(` Bytes Transferred: ${colors.cyan}${(syncReport.bytesTransferred / 1024).toFixed(2)} KB${colors.reset}`);
1078
+ console.log(` Duration: ${colors.cyan}${duration}ms${colors.reset}`);
1079
+ console.log(` Throughput: ${colors.cyan}${((syncReport.bytesTransferred / 1024) / (duration / 1000)).toFixed(2)} KB/s${colors.reset}`);
1080
+ console.log('\n' + '-'.repeat(80));
1081
+ console.log(`${colors.bright}Received Data${colors.reset}`);
1082
+ console.log('-'.repeat(80));
1083
+ console.log(` Episodes: ${colors.cyan}${episodesReceived}${colors.reset}`);
1084
+ console.log(` Skills: ${colors.cyan}${skillsReceived}${colors.reset}`);
1085
+ console.log(` Edges: ${colors.cyan}${edgesReceived}${colors.reset}`);
1086
+ console.log('-'.repeat(80));
1087
+ if (syncReport.errors.length > 0) {
1088
+ console.log(`\n${colors.bright}Errors${colors.reset}`);
1089
+ console.log('-'.repeat(80));
1090
+ syncReport.errors.forEach((err, i) => {
1091
+ console.log(` ${colors.red}${i + 1}. ${err}${colors.reset}`);
1092
+ });
1093
+ console.log('-'.repeat(80));
1094
+ }
1095
+ console.log('='.repeat(80));
1096
+ if (syncReport.success) {
1097
+ log.success('\nChanges pulled and merged successfully');
1098
+ }
1099
+ else {
1100
+ log.error('\nPull completed with errors');
1101
+ }
1102
+ // Display local database status after pull
1103
+ spinner.start('Verifying local database...');
1104
+ const localStatus = this.getLocalDatabaseStatus();
1105
+ spinner.succeed('Local database verified');
1106
+ console.log('\n' + '-'.repeat(80));
1107
+ console.log(`${colors.bright}Local Database Status${colors.reset}`);
1108
+ console.log('-'.repeat(80));
1109
+ console.log(` Total Episodes: ${colors.cyan}${localStatus.episodes}${colors.reset}`);
1110
+ console.log(` Total Skills: ${colors.cyan}${localStatus.skills}${colors.reset}`);
1111
+ console.log(` Total Edges: ${colors.cyan}${localStatus.edges}${colors.reset}`);
1112
+ console.log('-'.repeat(80));
1113
+ }
1114
+ catch (error) {
1115
+ spinner.fail(`Pull failed: ${error.message}`);
1116
+ throw error;
1117
+ }
1118
+ }
1119
+ // Helper to get local database status
1120
+ getLocalDatabaseStatus() {
1121
+ if (!this.db) {
1122
+ return { episodes: 0, skills: 0, edges: 0 };
1123
+ }
1124
+ let episodes = 0;
1125
+ let skills = 0;
1126
+ let edges = 0;
1127
+ try {
1128
+ const episodeCount = this.db.prepare('SELECT COUNT(*) as count FROM episodes').get();
1129
+ episodes = episodeCount?.count || 0;
1130
+ }
1131
+ catch {
1132
+ // Table might not exist
1133
+ }
1134
+ try {
1135
+ const skillCount = this.db.prepare('SELECT COUNT(*) as count FROM skills').get();
1136
+ skills = skillCount?.count || 0;
1137
+ }
1138
+ catch {
1139
+ // Table might not exist
1140
+ }
1141
+ try {
1142
+ const edgeCount = this.db.prepare('SELECT COUNT(*) as count FROM skill_edges').get();
1143
+ edges = edgeCount?.count || 0;
1144
+ }
1145
+ catch {
1146
+ // Table might not exist
1147
+ }
1148
+ return { episodes, skills, edges };
652
1149
  }
653
1150
  async quicStatus() {
654
1151
  if (!this.db)
655
1152
  throw new Error('Not initialized');
656
- log.header('\n📊 QUIC Sync Status');
657
- // Get sync metadata
658
- const syncMeta = this.getSyncMetadata();
659
- console.log('\n' + '═'.repeat(80));
660
- console.log(`${colors.bright}Sync Status${colors.reset}`);
661
- console.log('═'.repeat(80));
662
- if (syncMeta.lastSyncTime) {
663
- const lastSync = new Date(syncMeta.lastSyncTime * 1000);
1153
+ log.header('\n[QUIC] Sync Status');
1154
+ const spinner = new Spinner();
1155
+ spinner.start('Loading sync status...');
1156
+ // Get sync metadata from database
1157
+ const syncMeta = this.getSyncMetadataFromDb();
1158
+ // Get pending changes
1159
+ const pendingChanges = this.getPendingChangesDetailed(true);
1160
+ spinner.succeed('Status loaded');
1161
+ console.log('\n' + '='.repeat(80));
1162
+ console.log(`${colors.bright}Sync Overview${colors.reset}`);
1163
+ console.log('='.repeat(80));
1164
+ // Last sync information
1165
+ if (syncMeta.lastSyncAt > 0) {
1166
+ const lastSync = new Date(syncMeta.lastSyncAt);
664
1167
  console.log(` Last Sync: ${colors.cyan}${lastSync.toLocaleString()}${colors.reset}`);
665
- console.log(` Time Ago: ${this.timeAgo(syncMeta.lastSyncTime)}`);
1168
+ console.log(` Time Ago: ${colors.cyan}${this.timeAgo(Math.floor(syncMeta.lastSyncAt / 1000))}${colors.reset}`);
666
1169
  }
667
1170
  else {
668
1171
  console.log(` Last Sync: ${colors.yellow}Never${colors.reset}`);
669
1172
  }
670
- console.log('\n' + '─'.repeat(80));
671
- console.log(`${colors.bright}Pending Changes${colors.reset}`);
672
- console.log('─'.repeat(80));
673
- console.log(` Episodes: ${colors.green}${syncMeta.pendingEpisodes}${colors.reset}`);
674
- console.log(` Skills: ${colors.green}${syncMeta.pendingSkills}${colors.reset}`);
675
- console.log(` Causal Edges: ${colors.green}${syncMeta.pendingCausalEdges}${colors.reset}`);
676
- console.log('\n' + ''.repeat(80));
677
- console.log(`${colors.bright}Connected Servers${colors.reset}`);
678
- console.log(''.repeat(80));
679
- if (syncMeta.servers.length === 0) {
680
- console.log(` ${colors.yellow}No servers connected${colors.reset}`);
1173
+ console.log(` Total Syncs: ${colors.cyan}${syncMeta.syncCount}${colors.reset}`);
1174
+ console.log(` Total Items Synced: ${colors.cyan}${syncMeta.totalItemsSynced}${colors.reset}`);
1175
+ console.log(` Total Data Synced: ${colors.cyan}${(syncMeta.totalBytesSynced / 1024).toFixed(2)} KB${colors.reset}`);
1176
+ if (syncMeta.lastError) {
1177
+ console.log(` Last Error: ${colors.red}${syncMeta.lastError}${colors.reset}`);
1178
+ }
1179
+ console.log('\n' + '-'.repeat(80));
1180
+ console.log(`${colors.bright}Pending Changes (Unsynced)${colors.reset}`);
1181
+ console.log('-'.repeat(80));
1182
+ console.log(` Episodes: ${colors.cyan}${pendingChanges.episodes.length}${colors.reset}`);
1183
+ console.log(` Skills: ${colors.cyan}${pendingChanges.skills.length}${colors.reset}`);
1184
+ console.log(` Edges: ${colors.cyan}${pendingChanges.edges.length}${colors.reset}`);
1185
+ console.log(` Total Size: ${colors.cyan}${(pendingChanges.totalSize / 1024).toFixed(2)} KB${colors.reset}`);
1186
+ console.log('\n' + '-'.repeat(80));
1187
+ console.log(`${colors.bright}Local Database${colors.reset}`);
1188
+ console.log('-'.repeat(80));
1189
+ const localStatus = this.getLocalDatabaseStatus();
1190
+ console.log(` Episodes: ${colors.cyan}${localStatus.episodes}${colors.reset}`);
1191
+ console.log(` Skills: ${colors.cyan}${localStatus.skills}${colors.reset}`);
1192
+ console.log(` Edges: ${colors.cyan}${localStatus.edges}${colors.reset}`);
1193
+ console.log('\n' + '-'.repeat(80));
1194
+ console.log(`${colors.bright}Controller Status${colors.reset}`);
1195
+ console.log('-'.repeat(80));
1196
+ // Server status
1197
+ if (this.quicServer) {
1198
+ const serverStatus = this.quicServer.getStatus();
1199
+ console.log(` QUIC Server: ${serverStatus.isRunning ? colors.green + 'Running' : colors.yellow + 'Stopped'}${colors.reset}`);
1200
+ if (serverStatus.isRunning) {
1201
+ console.log(` Active Connections: ${colors.cyan}${serverStatus.activeConnections}${colors.reset}`);
1202
+ console.log(` Total Requests: ${colors.cyan}${serverStatus.totalRequests}${colors.reset}`);
1203
+ }
681
1204
  }
682
1205
  else {
683
- syncMeta.servers.forEach((server) => {
684
- console.log(` ${colors.cyan}${server.host}:${server.port}${colors.reset}`);
685
- console.log(` Status: ${server.connected ? colors.green + 'Connected' : colors.red + 'Disconnected'}${colors.reset}`);
686
- console.log(` Last Seen: ${new Date(server.lastSeen * 1000).toLocaleString()}`);
687
- });
1206
+ console.log(` QUIC Server: ${colors.yellow}Not initialized${colors.reset}`);
688
1207
  }
689
- console.log('═'.repeat(80));
1208
+ // Client status
1209
+ if (this.quicClient) {
1210
+ const clientStatus = this.quicClient.getStatus();
1211
+ console.log(` QUIC Client: ${clientStatus.isConnected ? colors.green + 'Connected' : colors.yellow + 'Disconnected'}${colors.reset}`);
1212
+ if (clientStatus.isConnected) {
1213
+ console.log(` Server: ${colors.cyan}${clientStatus.config.serverHost}:${clientStatus.config.serverPort}${colors.reset}`);
1214
+ console.log(` Pool Size: ${colors.cyan}${clientStatus.poolSize}${colors.reset}`);
1215
+ console.log(` Total Requests: ${colors.cyan}${clientStatus.totalRequests}${colors.reset}`);
1216
+ }
1217
+ }
1218
+ else {
1219
+ console.log(` QUIC Client: ${colors.yellow}Not initialized${colors.reset}`);
1220
+ }
1221
+ // Sync coordinator status
1222
+ if (this.syncCoordinator) {
1223
+ const coordStatus = this.syncCoordinator.getStatus();
1224
+ console.log(` Sync Coordinator: ${colors.green}Ready${colors.reset}`);
1225
+ console.log(` Auto-Sync: ${coordStatus.autoSyncEnabled ? colors.green + 'Enabled' : colors.yellow + 'Disabled'}${colors.reset}`);
1226
+ console.log(` Currently Syncing: ${coordStatus.isSyncing ? colors.yellow + 'Yes' : colors.cyan + 'No'}${colors.reset}`);
1227
+ }
1228
+ else {
1229
+ console.log(` Sync Coordinator: ${colors.yellow}Not initialized${colors.reset}`);
1230
+ }
1231
+ console.log('='.repeat(80));
1232
+ // Recommendations
1233
+ if (pendingChanges.totalItems > 0) {
1234
+ log.info(`\nTip: You have ${pendingChanges.totalItems} unsynced items. Use "agentdb sync push" to sync them.`);
1235
+ }
1236
+ if (!this.quicClient && !this.quicServer) {
1237
+ log.info('\nTo start syncing:');
1238
+ log.info(' - Start a server: agentdb sync start-server --port 4433');
1239
+ log.info(' - Or connect to one: agentdb sync connect <host> <port>');
1240
+ }
1241
+ }
1242
+ // Get sync metadata from database
1243
+ getSyncMetadataFromDb() {
1244
+ if (!this.db) {
1245
+ return {
1246
+ lastSyncAt: 0,
1247
+ lastEpisodeSync: 0,
1248
+ lastSkillSync: 0,
1249
+ lastEdgeSync: 0,
1250
+ totalItemsSynced: 0,
1251
+ totalBytesSynced: 0,
1252
+ syncCount: 0,
1253
+ };
1254
+ }
1255
+ try {
1256
+ const row = this.db
1257
+ .prepare('SELECT * FROM sync_state WHERE id = 1')
1258
+ .get();
1259
+ if (row) {
1260
+ return {
1261
+ lastSyncAt: row.last_sync_at || 0,
1262
+ lastEpisodeSync: row.last_episode_sync || 0,
1263
+ lastSkillSync: row.last_skill_sync || 0,
1264
+ lastEdgeSync: row.last_edge_sync || 0,
1265
+ totalItemsSynced: row.total_items_synced || 0,
1266
+ totalBytesSynced: row.total_bytes_synced || 0,
1267
+ syncCount: row.sync_count || 0,
1268
+ lastError: row.last_error || undefined,
1269
+ };
1270
+ }
1271
+ }
1272
+ catch {
1273
+ // Table might not exist
1274
+ }
1275
+ return {
1276
+ lastSyncAt: 0,
1277
+ lastEpisodeSync: 0,
1278
+ lastSkillSync: 0,
1279
+ lastEdgeSync: 0,
1280
+ totalItemsSynced: 0,
1281
+ totalBytesSynced: 0,
1282
+ syncCount: 0,
1283
+ };
690
1284
  }
691
1285
  generateAuthToken() {
692
1286
  // Generate a random 32-character token
@@ -747,6 +1341,14 @@ class AgentDBCLI {
747
1341
  // ============================================================================
748
1342
  // CLI Entry Point
749
1343
  // ============================================================================
1344
+ /**
1345
+ * Helper function to execute Commander-based commands
1346
+ */
1347
+ async function handleCommanderCommand(command, args) {
1348
+ // Parse directly using the command instance without wrapping in a parent program
1349
+ // This avoids issues with subcommand routing
1350
+ await command.parseAsync(['node', command.name(), ...args], { from: 'user' });
1351
+ }
750
1352
  async function main() {
751
1353
  const args = process.argv.slice(2);
752
1354
  // Handle version flag
@@ -917,6 +1519,23 @@ async function main() {
917
1519
  await handleStatsCommand(args.slice(1));
918
1520
  return;
919
1521
  }
1522
+ // Handle advanced neural commands (WASM-accelerated when available)
1523
+ if (command === 'attention') {
1524
+ await handleCommanderCommand(attentionCommand, args.slice(1));
1525
+ return;
1526
+ }
1527
+ if (command === 'learn') {
1528
+ await handleCommanderCommand(learnCommand, args.slice(1));
1529
+ return;
1530
+ }
1531
+ if (command === 'route') {
1532
+ await handleCommanderCommand(routeCommand, args.slice(1));
1533
+ return;
1534
+ }
1535
+ if (command === 'hyperbolic') {
1536
+ await handleCommanderCommand(hyperbolicCommand, args.slice(1));
1537
+ return;
1538
+ }
920
1539
  // Handle simulate command - run simulation CLI
921
1540
  if (command === 'simulate') {
922
1541
  // Use pathToFileURL for proper ESM module resolution
@@ -1408,6 +2027,7 @@ async function handleSyncCommands(cli, subcommand, args) {
1408
2027
  let cert;
1409
2028
  let key;
1410
2029
  let authToken;
2030
+ let maxConnections;
1411
2031
  for (let i = 0; i < args.length; i++) {
1412
2032
  if (args[i] === '--port' && i + 1 < args.length) {
1413
2033
  port = parseInt(args[++i]);
@@ -1421,8 +2041,11 @@ async function handleSyncCommands(cli, subcommand, args) {
1421
2041
  else if (args[i] === '--auth-token' && i + 1 < args.length) {
1422
2042
  authToken = args[++i];
1423
2043
  }
2044
+ else if (args[i] === '--max-connections' && i + 1 < args.length) {
2045
+ maxConnections = parseInt(args[++i]);
2046
+ }
1424
2047
  }
1425
- await cli.quicStartServer({ port, cert, key, authToken });
2048
+ await cli.quicStartServer({ port, cert, key, authToken, maxConnections });
1426
2049
  }
1427
2050
  else if (subcommand === 'connect') {
1428
2051
  // Parse host and port
@@ -1430,11 +2053,12 @@ async function handleSyncCommands(cli, subcommand, args) {
1430
2053
  const port = parseInt(args[1]);
1431
2054
  if (!host || !port) {
1432
2055
  log.error('Missing required arguments: host and port');
1433
- log.info('Usage: agentdb sync connect <host> <port> [--auth-token <token>] [--cert <path>]');
2056
+ log.info('Usage: agentdb sync connect <host> <port> [--auth-token <token>] [--cert <path>] [--timeout <ms>]');
1434
2057
  process.exit(1);
1435
2058
  }
1436
2059
  let authToken;
1437
2060
  let cert;
2061
+ let timeout;
1438
2062
  for (let i = 2; i < args.length; i++) {
1439
2063
  if (args[i] === '--auth-token' && i + 1 < args.length) {
1440
2064
  authToken = args[++i];
@@ -1442,14 +2066,19 @@ async function handleSyncCommands(cli, subcommand, args) {
1442
2066
  else if (args[i] === '--cert' && i + 1 < args.length) {
1443
2067
  cert = args[++i];
1444
2068
  }
2069
+ else if (args[i] === '--timeout' && i + 1 < args.length) {
2070
+ timeout = parseInt(args[++i]);
2071
+ }
1445
2072
  }
1446
- await cli.quicConnect({ host, port, authToken, cert });
2073
+ await cli.quicConnect({ host, port, authToken, cert, timeout });
1447
2074
  }
1448
2075
  else if (subcommand === 'push') {
1449
2076
  // Parse options
1450
2077
  let server;
1451
2078
  let incremental = false;
1452
2079
  let filter;
2080
+ let authToken;
2081
+ let batchSize;
1453
2082
  for (let i = 0; i < args.length; i++) {
1454
2083
  if (args[i] === '--server' && i + 1 < args.length) {
1455
2084
  server = args[++i];
@@ -1460,22 +2089,31 @@ async function handleSyncCommands(cli, subcommand, args) {
1460
2089
  else if (args[i] === '--filter' && i + 1 < args.length) {
1461
2090
  filter = args[++i];
1462
2091
  }
2092
+ else if (args[i] === '--auth-token' && i + 1 < args.length) {
2093
+ authToken = args[++i];
2094
+ }
2095
+ else if (args[i] === '--batch-size' && i + 1 < args.length) {
2096
+ batchSize = parseInt(args[++i]);
2097
+ }
1463
2098
  else if (!args[i].startsWith('--') && !server) {
1464
2099
  server = args[i];
1465
2100
  }
1466
2101
  }
1467
2102
  if (!server) {
1468
2103
  log.error('Missing required --server parameter');
1469
- log.info('Usage: agentdb sync push --server <host:port> [--incremental] [--filter <pattern>]');
2104
+ log.info('Usage: agentdb sync push --server <host:port> [--incremental] [--filter <pattern>] [--auth-token <token>] [--batch-size <n>]');
1470
2105
  process.exit(1);
1471
2106
  }
1472
- await cli.quicPush({ server, incremental, filter });
2107
+ await cli.quicPush({ server, incremental, filter, authToken, batchSize });
1473
2108
  }
1474
2109
  else if (subcommand === 'pull') {
1475
2110
  // Parse options
1476
2111
  let server;
1477
2112
  let incremental = false;
1478
2113
  let filter;
2114
+ let authToken;
2115
+ let batchSize;
2116
+ let conflictStrategy;
1479
2117
  for (let i = 0; i < args.length; i++) {
1480
2118
  if (args[i] === '--server' && i + 1 < args.length) {
1481
2119
  server = args[++i];
@@ -1486,16 +2124,31 @@ async function handleSyncCommands(cli, subcommand, args) {
1486
2124
  else if (args[i] === '--filter' && i + 1 < args.length) {
1487
2125
  filter = args[++i];
1488
2126
  }
2127
+ else if (args[i] === '--auth-token' && i + 1 < args.length) {
2128
+ authToken = args[++i];
2129
+ }
2130
+ else if (args[i] === '--batch-size' && i + 1 < args.length) {
2131
+ batchSize = parseInt(args[++i]);
2132
+ }
2133
+ else if (args[i] === '--conflict-strategy' && i + 1 < args.length) {
2134
+ const strategy = args[++i];
2135
+ if (strategy === 'local-wins' || strategy === 'remote-wins' || strategy === 'latest-wins') {
2136
+ conflictStrategy = strategy;
2137
+ }
2138
+ else {
2139
+ log.warning(`Unknown conflict strategy: ${strategy}. Using default: latest-wins`);
2140
+ }
2141
+ }
1489
2142
  else if (!args[i].startsWith('--') && !server) {
1490
2143
  server = args[i];
1491
2144
  }
1492
2145
  }
1493
2146
  if (!server) {
1494
2147
  log.error('Missing required --server parameter');
1495
- log.info('Usage: agentdb sync pull --server <host:port> [--incremental] [--filter <pattern>]');
2148
+ log.info('Usage: agentdb sync pull --server <host:port> [--incremental] [--filter <pattern>] [--auth-token <token>] [--batch-size <n>] [--conflict-strategy <local-wins|remote-wins|latest-wins>]');
1496
2149
  process.exit(1);
1497
2150
  }
1498
- await cli.quicPull({ server, incremental, filter });
2151
+ await cli.quicPull({ server, incremental, filter, authToken, batchSize, conflictStrategy });
1499
2152
  }
1500
2153
  else if (subcommand === 'status') {
1501
2154
  await cli.quicStatus();
@@ -1503,6 +2156,13 @@ async function handleSyncCommands(cli, subcommand, args) {
1503
2156
  else {
1504
2157
  log.error(`Unknown sync subcommand: ${subcommand}`);
1505
2158
  log.info('Available subcommands: start-server, connect, push, pull, status');
2159
+ log.info('');
2160
+ log.info('Examples:');
2161
+ log.info(' agentdb sync start-server --port 4433 --auth-token secret123');
2162
+ log.info(' agentdb sync connect localhost 4433 --auth-token secret123');
2163
+ log.info(' agentdb sync push --server localhost:4433 --incremental');
2164
+ log.info(' agentdb sync pull --server localhost:4433 --conflict-strategy latest-wins');
2165
+ log.info(' agentdb sync status');
1506
2166
  printHelp();
1507
2167
  }
1508
2168
  }
@@ -2243,6 +2903,55 @@ ${colors.bright}QUIC SYNC COMMANDS:${colors.reset}
2243
2903
  Show synchronization status, pending changes, and connected servers
2244
2904
  Example: agentdb sync status
2245
2905
 
2906
+ ${colors.bright}ADVANCED NEURAL COMMANDS (WASM-ACCELERATED):${colors.reset}
2907
+ agentdb attention <subcommand> [options]
2908
+ Attention mechanism operations: flash, hyperbolic, sparse, MoE
2909
+ Subcommands:
2910
+ init --mechanism <type> Initialize attention configuration
2911
+ compute --query <text> Compute attention for query-key-value
2912
+ benchmark --all Benchmark all mechanisms
2913
+ optimize --mechanism <type> Optimize parameters
2914
+ Example: agentdb attention benchmark --all --iterations 100
2915
+
2916
+ agentdb learn --mode <type> --data <file> [options]
2917
+ Advanced learning: curriculum, contrastive loss, hard negative mining
2918
+ Modes:
2919
+ curriculum Progressive difficulty training with cosine/linear schedules
2920
+ contrastive InfoNCE and local contrastive loss training
2921
+ hard-negatives Hard negative mining for contrastive learning
2922
+ Options:
2923
+ --schedule <type> Difficulty schedule: linear|cosine|exponential
2924
+ --temperature <n> InfoNCE temperature (default: 0.07)
2925
+ --strategy <type> Mining strategy: hard|semi-hard|distance-based
2926
+ Example: agentdb learn --mode curriculum --data train.json --schedule cosine
2927
+ Example: agentdb learn --mode contrastive --data pairs.json --epochs 15
2928
+
2929
+ agentdb route --prompt <text> [options]
2930
+ LLM routing with FastGRNN model selection (haiku/sonnet/opus)
2931
+ Options:
2932
+ --prompt <text> Prompt to route
2933
+ --prompt-file <path> File containing prompt
2934
+ --context <json> Conversation context (JSON)
2935
+ --explain Explain routing decision
2936
+ Subcommands:
2937
+ feedback --model <type> --outcome <result> Record feedback for learning
2938
+ stats View routing statistics
2939
+ Example: agentdb route --prompt "Explain quantum computing" --explain
2940
+ Example: agentdb route feedback --model sonnet --outcome success
2941
+
2942
+ agentdb hyperbolic --op <type> [options]
2943
+ Hyperbolic space operations: Poincaré ball geometry
2944
+ Operations:
2945
+ expmap Exponential map (tangent -> manifold)
2946
+ logmap Logarithmic map (manifold -> tangent)
2947
+ mobius-add Möbius addition (hyperbolic addition)
2948
+ distance Poincaré distance between points
2949
+ project Project point to Poincaré ball
2950
+ centroid Compute hyperbolic centroid
2951
+ dual-search Hybrid Euclidean + Hyperbolic search
2952
+ Example: agentdb hyperbolic --op distance --point-a "[0.3,0.4]" --point-b "[0.6,0.2]"
2953
+ Example: agentdb hyperbolic --op dual-search --query "[0.5,0.5]" --points vectors.json
2954
+
2246
2955
  ${colors.bright}CAUSAL COMMANDS:${colors.reset}
2247
2956
  agentdb causal add-edge <cause> <effect> <uplift> [confidence] [sample-size]
2248
2957
  Add a causal edge manually