agentdb 1.6.0 → 2.0.0-alpha.1

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 (734) hide show
  1. package/README.md +1098 -350
  2. package/dist/agentdb-advanced.js +2110 -0
  3. package/dist/agentdb-advanced.min.js +1 -0
  4. package/dist/agentdb.min.js +4 -4
  5. package/dist/backends/GraphBackend.d.ts +196 -0
  6. package/dist/backends/GraphBackend.d.ts.map +1 -0
  7. package/dist/backends/GraphBackend.js +33 -0
  8. package/dist/backends/GraphBackend.js.map +1 -0
  9. package/dist/backends/LearningBackend.d.ts +148 -0
  10. package/dist/backends/LearningBackend.d.ts.map +1 -0
  11. package/dist/backends/LearningBackend.js +27 -0
  12. package/dist/backends/LearningBackend.js.map +1 -0
  13. package/dist/backends/VectorBackend.d.ts +119 -0
  14. package/dist/backends/VectorBackend.d.ts.map +1 -0
  15. package/dist/backends/VectorBackend.js +14 -0
  16. package/dist/backends/VectorBackend.js.map +1 -0
  17. package/dist/backends/detector.d.ts +81 -0
  18. package/dist/backends/detector.d.ts.map +1 -0
  19. package/dist/backends/detector.js +192 -0
  20. package/dist/backends/detector.js.map +1 -0
  21. package/dist/backends/factory.d.ts +50 -0
  22. package/dist/backends/factory.d.ts.map +1 -0
  23. package/dist/backends/factory.js +161 -0
  24. package/dist/backends/factory.js.map +1 -0
  25. package/dist/backends/graph/GraphDatabaseAdapter.d.ts +139 -0
  26. package/dist/backends/graph/GraphDatabaseAdapter.d.ts.map +1 -0
  27. package/dist/backends/graph/GraphDatabaseAdapter.js +194 -0
  28. package/dist/backends/graph/GraphDatabaseAdapter.js.map +1 -0
  29. package/dist/backends/hnswlib/HNSWLibBackend.d.ts +92 -0
  30. package/dist/backends/hnswlib/HNSWLibBackend.d.ts.map +1 -0
  31. package/dist/backends/hnswlib/HNSWLibBackend.js +316 -0
  32. package/dist/backends/hnswlib/HNSWLibBackend.js.map +1 -0
  33. package/dist/backends/hnswlib/index.d.ts +7 -0
  34. package/dist/backends/hnswlib/index.d.ts.map +1 -0
  35. package/dist/backends/hnswlib/index.js +7 -0
  36. package/dist/backends/hnswlib/index.js.map +1 -0
  37. package/dist/backends/index.d.ts +14 -0
  38. package/dist/backends/index.d.ts.map +1 -0
  39. package/dist/backends/index.js +13 -0
  40. package/dist/backends/index.js.map +1 -0
  41. package/dist/backends/ruvector/RuVectorBackend.d.ts +75 -0
  42. package/dist/backends/ruvector/RuVectorBackend.d.ts.map +1 -0
  43. package/dist/backends/ruvector/RuVectorBackend.js +198 -0
  44. package/dist/backends/ruvector/RuVectorBackend.js.map +1 -0
  45. package/dist/backends/ruvector/RuVectorLearning.d.ts +104 -0
  46. package/dist/backends/ruvector/RuVectorLearning.d.ts.map +1 -0
  47. package/dist/backends/ruvector/RuVectorLearning.js +177 -0
  48. package/dist/backends/ruvector/RuVectorLearning.js.map +1 -0
  49. package/dist/backends/ruvector/index.d.ts +9 -0
  50. package/dist/backends/ruvector/index.d.ts.map +1 -0
  51. package/dist/backends/ruvector/index.js +8 -0
  52. package/dist/backends/ruvector/index.js.map +1 -0
  53. package/dist/browser/AdvancedFeatures.d.ts +144 -0
  54. package/dist/browser/AdvancedFeatures.d.ts.map +1 -0
  55. package/dist/browser/AdvancedFeatures.js +430 -0
  56. package/dist/browser/AdvancedFeatures.js.map +1 -0
  57. package/dist/browser/HNSWIndex.d.ts +117 -0
  58. package/dist/browser/HNSWIndex.d.ts.map +1 -0
  59. package/dist/browser/HNSWIndex.js +402 -0
  60. package/dist/browser/HNSWIndex.js.map +1 -0
  61. package/dist/browser/ProductQuantization.d.ts +107 -0
  62. package/dist/browser/ProductQuantization.d.ts.map +1 -0
  63. package/dist/browser/ProductQuantization.js +337 -0
  64. package/dist/browser/ProductQuantization.js.map +1 -0
  65. package/dist/browser/browser/AdvancedFeatures.d.ts +144 -0
  66. package/dist/browser/browser/AdvancedFeatures.d.ts.map +1 -0
  67. package/dist/browser/browser/AdvancedFeatures.js +427 -0
  68. package/dist/browser/browser/HNSWIndex.d.ts +117 -0
  69. package/dist/browser/browser/HNSWIndex.d.ts.map +1 -0
  70. package/dist/browser/browser/HNSWIndex.js +402 -0
  71. package/dist/browser/browser/ProductQuantization.d.ts +107 -0
  72. package/dist/browser/browser/ProductQuantization.d.ts.map +1 -0
  73. package/dist/browser/browser/ProductQuantization.js +348 -0
  74. package/dist/browser/browser/index.d.ts +223 -0
  75. package/dist/browser/browser/index.d.ts.map +1 -0
  76. package/dist/browser/browser/index.js +233 -0
  77. package/dist/browser/index.d.ts +223 -0
  78. package/dist/browser/index.d.ts.map +1 -0
  79. package/dist/browser/index.js +225 -0
  80. package/dist/browser/index.js.map +1 -0
  81. package/dist/cli/agentdb-cli.d.ts.map +1 -1
  82. package/dist/cli/agentdb-cli.js +130 -8
  83. package/dist/cli/agentdb-cli.js.map +1 -1
  84. package/dist/cli/agentdb.db +0 -0
  85. package/dist/cli/commands/init.d.ts +12 -0
  86. package/dist/cli/commands/init.d.ts.map +1 -0
  87. package/dist/cli/commands/init.js +115 -0
  88. package/dist/cli/commands/init.js.map +1 -0
  89. package/dist/cli/commands/install-embeddings.d.ts +10 -0
  90. package/dist/cli/commands/install-embeddings.d.ts.map +1 -0
  91. package/dist/cli/commands/install-embeddings.js +68 -0
  92. package/dist/cli/commands/install-embeddings.js.map +1 -0
  93. package/dist/cli/commands/migrate.d.ts +15 -0
  94. package/dist/cli/commands/migrate.d.ts.map +1 -0
  95. package/dist/cli/commands/migrate.js +425 -0
  96. package/dist/cli/commands/migrate.js.map +1 -0
  97. package/dist/cli/commands/status.d.ts +10 -0
  98. package/dist/cli/commands/status.d.ts.map +1 -0
  99. package/dist/cli/commands/status.js +129 -0
  100. package/dist/cli/commands/status.js.map +1 -0
  101. package/dist/controllers/CausalRecall.d.ts +3 -1
  102. package/dist/controllers/CausalRecall.d.ts.map +1 -1
  103. package/dist/controllers/CausalRecall.js +35 -4
  104. package/dist/controllers/CausalRecall.js.map +1 -1
  105. package/dist/controllers/ExplainableRecall.d.ts +24 -0
  106. package/dist/controllers/ExplainableRecall.d.ts.map +1 -1
  107. package/dist/controllers/ExplainableRecall.js +102 -5
  108. package/dist/controllers/ExplainableRecall.js.map +1 -1
  109. package/dist/controllers/HNSWIndex.d.ts +128 -0
  110. package/dist/controllers/HNSWIndex.d.ts.map +1 -0
  111. package/dist/controllers/HNSWIndex.js +361 -0
  112. package/dist/controllers/HNSWIndex.js.map +1 -0
  113. package/dist/controllers/NightlyLearner.d.ts.map +1 -1
  114. package/dist/controllers/NightlyLearner.js +7 -4
  115. package/dist/controllers/NightlyLearner.js.map +1 -1
  116. package/dist/controllers/ReasoningBank.d.ts +101 -2
  117. package/dist/controllers/ReasoningBank.d.ts.map +1 -1
  118. package/dist/controllers/ReasoningBank.js +196 -4
  119. package/dist/controllers/ReasoningBank.js.map +1 -1
  120. package/dist/controllers/ReflexionMemory.d.ts +41 -1
  121. package/dist/controllers/ReflexionMemory.d.ts.map +1 -1
  122. package/dist/controllers/ReflexionMemory.js +282 -5
  123. package/dist/controllers/ReflexionMemory.js.map +1 -1
  124. package/dist/controllers/SkillLibrary.d.ts +27 -9
  125. package/dist/controllers/SkillLibrary.d.ts.map +1 -1
  126. package/dist/controllers/SkillLibrary.js +136 -47
  127. package/dist/controllers/SkillLibrary.js.map +1 -1
  128. package/dist/controllers/index.d.ts +2 -0
  129. package/dist/controllers/index.d.ts.map +1 -1
  130. package/dist/controllers/index.js +1 -0
  131. package/dist/controllers/index.js.map +1 -1
  132. package/dist/db-fallback.d.ts.map +1 -1
  133. package/dist/db-fallback.js +100 -29
  134. package/dist/db-fallback.js.map +1 -1
  135. package/dist/db-test.d.ts +13 -0
  136. package/dist/db-test.d.ts.map +1 -0
  137. package/dist/db-test.js +55 -0
  138. package/dist/db-test.js.map +1 -0
  139. package/dist/db-unified.d.ts +76 -0
  140. package/dist/db-unified.d.ts.map +1 -0
  141. package/dist/db-unified.js +278 -0
  142. package/dist/db-unified.js.map +1 -0
  143. package/dist/index.d.ts +1 -0
  144. package/dist/index.d.ts.map +1 -1
  145. package/dist/index.js +2 -1
  146. package/dist/index.js.map +1 -1
  147. package/dist/malp/core/ccc.d.ts +99 -0
  148. package/dist/malp/core/ccc.d.ts.map +1 -0
  149. package/dist/malp/core/ccc.js +181 -0
  150. package/dist/malp/core/ccc.js.map +1 -0
  151. package/dist/malp/core/index.d.ts +9 -0
  152. package/dist/malp/core/index.d.ts.map +1 -0
  153. package/dist/malp/core/index.js +9 -0
  154. package/dist/malp/core/index.js.map +1 -0
  155. package/dist/malp/core/linalg.d.ts +101 -0
  156. package/dist/malp/core/linalg.d.ts.map +1 -0
  157. package/dist/malp/core/linalg.js +278 -0
  158. package/dist/malp/core/linalg.js.map +1 -0
  159. package/dist/malp/core/optimizer.d.ts +68 -0
  160. package/dist/malp/core/optimizer.d.ts.map +1 -0
  161. package/dist/malp/core/optimizer.js +160 -0
  162. package/dist/malp/core/optimizer.js.map +1 -0
  163. package/dist/malp/index.d.ts +33 -0
  164. package/dist/malp/index.d.ts.map +1 -0
  165. package/dist/malp/index.js +37 -0
  166. package/dist/malp/index.js.map +1 -0
  167. package/dist/malp/metrics/agreement.d.ts +106 -0
  168. package/dist/malp/metrics/agreement.d.ts.map +1 -0
  169. package/dist/malp/metrics/agreement.js +199 -0
  170. package/dist/malp/metrics/agreement.js.map +1 -0
  171. package/dist/malp/metrics/comparison.d.ts +93 -0
  172. package/dist/malp/metrics/comparison.d.ts.map +1 -0
  173. package/dist/malp/metrics/comparison.js +256 -0
  174. package/dist/malp/metrics/comparison.js.map +1 -0
  175. package/dist/malp/metrics/index.d.ts +8 -0
  176. package/dist/malp/metrics/index.d.ts.map +1 -0
  177. package/dist/malp/metrics/index.js +8 -0
  178. package/dist/malp/metrics/index.js.map +1 -0
  179. package/dist/malp/metrics/performance.d.ts +61 -0
  180. package/dist/malp/metrics/performance.d.ts.map +1 -0
  181. package/dist/malp/metrics/performance.js +190 -0
  182. package/dist/malp/metrics/performance.js.map +1 -0
  183. package/dist/malp/models/index.d.ts +7 -0
  184. package/dist/malp/models/index.d.ts.map +1 -0
  185. package/dist/malp/models/index.js +7 -0
  186. package/dist/malp/models/index.js.map +1 -0
  187. package/dist/malp/models/malp.d.ts +116 -0
  188. package/dist/malp/models/malp.d.ts.map +1 -0
  189. package/dist/malp/models/malp.js +206 -0
  190. package/dist/malp/models/malp.js.map +1 -0
  191. package/dist/malp/models/regressor.d.ts +80 -0
  192. package/dist/malp/models/regressor.d.ts.map +1 -0
  193. package/dist/malp/models/regressor.js +229 -0
  194. package/dist/malp/models/regressor.js.map +1 -0
  195. package/dist/malp/reasoningbank_validator.d.ts +187 -0
  196. package/dist/malp/reasoningbank_validator.d.ts.map +1 -0
  197. package/dist/malp/reasoningbank_validator.js +246 -0
  198. package/dist/malp/reasoningbank_validator.js.map +1 -0
  199. package/dist/malp/wasm_bindings.d.ts +344 -0
  200. package/dist/malp/wasm_bindings.d.ts.map +1 -0
  201. package/dist/malp/wasm_bindings.js +9 -0
  202. package/dist/malp/wasm_bindings.js.map +1 -0
  203. package/dist/mcp/agentdb-mcp-server.js +512 -33
  204. package/dist/mcp/agentdb-mcp-server.js.map +1 -1
  205. package/dist/optimizations/BatchOperations.d.ts +42 -0
  206. package/dist/optimizations/BatchOperations.d.ts.map +1 -1
  207. package/dist/optimizations/BatchOperations.js +181 -0
  208. package/dist/optimizations/BatchOperations.js.map +1 -1
  209. package/dist/optimizations/ToolCache.d.ts +137 -0
  210. package/dist/optimizations/ToolCache.d.ts.map +1 -0
  211. package/dist/optimizations/ToolCache.js +281 -0
  212. package/dist/optimizations/ToolCache.js.map +1 -0
  213. package/dist/security/input-validation.d.ts +24 -0
  214. package/dist/security/input-validation.d.ts.map +1 -1
  215. package/dist/security/input-validation.js +106 -0
  216. package/dist/security/input-validation.js.map +1 -1
  217. package/dist/security/limits.d.ts +150 -0
  218. package/dist/security/limits.d.ts.map +1 -0
  219. package/dist/security/limits.js +288 -0
  220. package/dist/security/limits.js.map +1 -0
  221. package/dist/security/path-security.d.ts +100 -0
  222. package/dist/security/path-security.d.ts.map +1 -0
  223. package/dist/security/path-security.js +337 -0
  224. package/dist/security/path-security.js.map +1 -0
  225. package/dist/security/validation.d.ts +95 -0
  226. package/dist/security/validation.d.ts.map +1 -0
  227. package/dist/security/validation.js +315 -0
  228. package/dist/security/validation.js.map +1 -0
  229. package/dist/simulation/cli.d.ts +9 -0
  230. package/dist/simulation/cli.d.ts.map +1 -0
  231. package/dist/simulation/cli.js +68 -0
  232. package/dist/simulation/cli.js.map +1 -0
  233. package/dist/simulation/runner.d.ts +21 -0
  234. package/dist/simulation/runner.d.ts.map +1 -0
  235. package/dist/simulation/runner.js +241 -0
  236. package/dist/simulation/runner.js.map +1 -0
  237. package/dist/simulation/scenarios/aidefence-integration.d.ts +24 -0
  238. package/dist/simulation/scenarios/aidefence-integration.d.ts.map +1 -0
  239. package/dist/simulation/scenarios/aidefence-integration.js +124 -0
  240. package/dist/simulation/scenarios/aidefence-integration.js.map +1 -0
  241. package/dist/simulation/scenarios/bmssp-integration.d.ts +23 -0
  242. package/dist/simulation/scenarios/bmssp-integration.d.ts.map +1 -0
  243. package/dist/simulation/scenarios/bmssp-integration.js +104 -0
  244. package/dist/simulation/scenarios/bmssp-integration.js.map +1 -0
  245. package/dist/simulation/scenarios/causal-reasoning.d.ts +16 -0
  246. package/dist/simulation/scenarios/causal-reasoning.d.ts.map +1 -0
  247. package/dist/simulation/scenarios/causal-reasoning.js +108 -0
  248. package/dist/simulation/scenarios/causal-reasoning.js.map +1 -0
  249. package/dist/simulation/scenarios/consciousness-explorer.d.ts +25 -0
  250. package/dist/simulation/scenarios/consciousness-explorer.d.ts.map +1 -0
  251. package/dist/simulation/scenarios/consciousness-explorer.js +108 -0
  252. package/dist/simulation/scenarios/consciousness-explorer.js.map +1 -0
  253. package/dist/simulation/scenarios/domain-examples/e-commerce-recommendations.d.ts +135 -0
  254. package/dist/simulation/scenarios/domain-examples/e-commerce-recommendations.d.ts.map +1 -0
  255. package/dist/simulation/scenarios/domain-examples/e-commerce-recommendations.js +158 -0
  256. package/dist/simulation/scenarios/domain-examples/e-commerce-recommendations.js.map +1 -0
  257. package/dist/simulation/scenarios/domain-examples/index.d.ts +14 -0
  258. package/dist/simulation/scenarios/domain-examples/index.d.ts.map +1 -0
  259. package/dist/simulation/scenarios/domain-examples/index.js +14 -0
  260. package/dist/simulation/scenarios/domain-examples/index.js.map +1 -0
  261. package/dist/simulation/scenarios/domain-examples/iot-sensor-networks.d.ts +178 -0
  262. package/dist/simulation/scenarios/domain-examples/iot-sensor-networks.d.ts.map +1 -0
  263. package/dist/simulation/scenarios/domain-examples/iot-sensor-networks.js +218 -0
  264. package/dist/simulation/scenarios/domain-examples/iot-sensor-networks.js.map +1 -0
  265. package/dist/simulation/scenarios/domain-examples/medical-imaging.d.ts +122 -0
  266. package/dist/simulation/scenarios/domain-examples/medical-imaging.d.ts.map +1 -0
  267. package/dist/simulation/scenarios/domain-examples/medical-imaging.js +129 -0
  268. package/dist/simulation/scenarios/domain-examples/medical-imaging.js.map +1 -0
  269. package/dist/simulation/scenarios/domain-examples/robotics-navigation.d.ts +166 -0
  270. package/dist/simulation/scenarios/domain-examples/robotics-navigation.d.ts.map +1 -0
  271. package/dist/simulation/scenarios/domain-examples/robotics-navigation.js +161 -0
  272. package/dist/simulation/scenarios/domain-examples/robotics-navigation.js.map +1 -0
  273. package/dist/simulation/scenarios/domain-examples/scientific-research.d.ts +151 -0
  274. package/dist/simulation/scenarios/domain-examples/scientific-research.d.ts.map +1 -0
  275. package/dist/simulation/scenarios/domain-examples/scientific-research.js +187 -0
  276. package/dist/simulation/scenarios/domain-examples/scientific-research.js.map +1 -0
  277. package/dist/simulation/scenarios/domain-examples/trading-systems.d.ts +102 -0
  278. package/dist/simulation/scenarios/domain-examples/trading-systems.d.ts.map +1 -0
  279. package/dist/simulation/scenarios/domain-examples/trading-systems.js +100 -0
  280. package/dist/simulation/scenarios/domain-examples/trading-systems.js.map +1 -0
  281. package/dist/simulation/scenarios/goalie-integration.d.ts +24 -0
  282. package/dist/simulation/scenarios/goalie-integration.d.ts.map +1 -0
  283. package/dist/simulation/scenarios/goalie-integration.js +121 -0
  284. package/dist/simulation/scenarios/goalie-integration.js.map +1 -0
  285. package/dist/simulation/scenarios/graph-traversal.d.ts +17 -0
  286. package/dist/simulation/scenarios/graph-traversal.d.ts.map +1 -0
  287. package/dist/simulation/scenarios/graph-traversal.js +101 -0
  288. package/dist/simulation/scenarios/graph-traversal.js.map +1 -0
  289. package/dist/simulation/scenarios/latent-space/attention-analysis.d.ts +45 -0
  290. package/dist/simulation/scenarios/latent-space/attention-analysis.d.ts.map +1 -0
  291. package/dist/simulation/scenarios/latent-space/attention-analysis.js +435 -0
  292. package/dist/simulation/scenarios/latent-space/attention-analysis.js.map +1 -0
  293. package/dist/simulation/scenarios/latent-space/clustering-analysis.d.ts +55 -0
  294. package/dist/simulation/scenarios/latent-space/clustering-analysis.d.ts.map +1 -0
  295. package/dist/simulation/scenarios/latent-space/clustering-analysis.js +606 -0
  296. package/dist/simulation/scenarios/latent-space/clustering-analysis.js.map +1 -0
  297. package/dist/simulation/scenarios/latent-space/hnsw-exploration.d.ts +74 -0
  298. package/dist/simulation/scenarios/latent-space/hnsw-exploration.d.ts.map +1 -0
  299. package/dist/simulation/scenarios/latent-space/hnsw-exploration.js +391 -0
  300. package/dist/simulation/scenarios/latent-space/hnsw-exploration.js.map +1 -0
  301. package/dist/simulation/scenarios/latent-space/hypergraph-exploration.d.ts +51 -0
  302. package/dist/simulation/scenarios/latent-space/hypergraph-exploration.d.ts.map +1 -0
  303. package/dist/simulation/scenarios/latent-space/hypergraph-exploration.js +536 -0
  304. package/dist/simulation/scenarios/latent-space/hypergraph-exploration.js.map +1 -0
  305. package/dist/simulation/scenarios/latent-space/index.d.ts +35 -0
  306. package/dist/simulation/scenarios/latent-space/index.d.ts.map +1 -0
  307. package/dist/simulation/scenarios/latent-space/index.js +35 -0
  308. package/dist/simulation/scenarios/latent-space/index.js.map +1 -0
  309. package/dist/simulation/scenarios/latent-space/neural-augmentation.d.ts +52 -0
  310. package/dist/simulation/scenarios/latent-space/neural-augmentation.d.ts.map +1 -0
  311. package/dist/simulation/scenarios/latent-space/neural-augmentation.js +472 -0
  312. package/dist/simulation/scenarios/latent-space/neural-augmentation.js.map +1 -0
  313. package/dist/simulation/scenarios/latent-space/quantum-hybrid.d.ts +53 -0
  314. package/dist/simulation/scenarios/latent-space/quantum-hybrid.d.ts.map +1 -0
  315. package/dist/simulation/scenarios/latent-space/quantum-hybrid.js +391 -0
  316. package/dist/simulation/scenarios/latent-space/quantum-hybrid.js.map +1 -0
  317. package/dist/simulation/scenarios/latent-space/self-organizing-hnsw.d.ts +52 -0
  318. package/dist/simulation/scenarios/latent-space/self-organizing-hnsw.d.ts.map +1 -0
  319. package/dist/simulation/scenarios/latent-space/self-organizing-hnsw.js +514 -0
  320. package/dist/simulation/scenarios/latent-space/self-organizing-hnsw.js.map +1 -0
  321. package/dist/simulation/scenarios/latent-space/traversal-optimization.d.ts +53 -0
  322. package/dist/simulation/scenarios/latent-space/traversal-optimization.d.ts.map +1 -0
  323. package/dist/simulation/scenarios/latent-space/traversal-optimization.js +595 -0
  324. package/dist/simulation/scenarios/latent-space/traversal-optimization.js.map +1 -0
  325. package/dist/simulation/scenarios/lean-agentic-swarm.d.ts +18 -0
  326. package/dist/simulation/scenarios/lean-agentic-swarm.d.ts.map +1 -0
  327. package/dist/simulation/scenarios/lean-agentic-swarm.js +132 -0
  328. package/dist/simulation/scenarios/lean-agentic-swarm.js.map +1 -0
  329. package/dist/simulation/scenarios/multi-agent-swarm.d.ts +17 -0
  330. package/dist/simulation/scenarios/multi-agent-swarm.d.ts.map +1 -0
  331. package/dist/simulation/scenarios/multi-agent-swarm.js +111 -0
  332. package/dist/simulation/scenarios/multi-agent-swarm.js.map +1 -0
  333. package/dist/simulation/scenarios/psycho-symbolic-reasoner.d.ts +23 -0
  334. package/dist/simulation/scenarios/psycho-symbolic-reasoner.d.ts.map +1 -0
  335. package/dist/simulation/scenarios/psycho-symbolic-reasoner.js +98 -0
  336. package/dist/simulation/scenarios/psycho-symbolic-reasoner.js.map +1 -0
  337. package/dist/simulation/scenarios/reflexion-learning.d.ts +16 -0
  338. package/dist/simulation/scenarios/reflexion-learning.d.ts.map +1 -0
  339. package/dist/simulation/scenarios/reflexion-learning.js +98 -0
  340. package/dist/simulation/scenarios/reflexion-learning.js.map +1 -0
  341. package/dist/simulation/scenarios/research-swarm.d.ts +24 -0
  342. package/dist/simulation/scenarios/research-swarm.d.ts.map +1 -0
  343. package/dist/simulation/scenarios/research-swarm.js +146 -0
  344. package/dist/simulation/scenarios/research-swarm.js.map +1 -0
  345. package/dist/simulation/scenarios/skill-evolution.d.ts +16 -0
  346. package/dist/simulation/scenarios/skill-evolution.d.ts.map +1 -0
  347. package/dist/simulation/scenarios/skill-evolution.js +109 -0
  348. package/dist/simulation/scenarios/skill-evolution.js.map +1 -0
  349. package/dist/simulation/scenarios/stock-market-emergence.d.ts +33 -0
  350. package/dist/simulation/scenarios/stock-market-emergence.d.ts.map +1 -0
  351. package/dist/simulation/scenarios/stock-market-emergence.js +246 -0
  352. package/dist/simulation/scenarios/stock-market-emergence.js.map +1 -0
  353. package/dist/simulation/scenarios/strange-loops.d.ts +18 -0
  354. package/dist/simulation/scenarios/strange-loops.d.ts.map +1 -0
  355. package/dist/simulation/scenarios/strange-loops.js +133 -0
  356. package/dist/simulation/scenarios/strange-loops.js.map +1 -0
  357. package/dist/simulation/scenarios/sublinear-solver.d.ts +22 -0
  358. package/dist/simulation/scenarios/sublinear-solver.d.ts.map +1 -0
  359. package/dist/simulation/scenarios/sublinear-solver.js +82 -0
  360. package/dist/simulation/scenarios/sublinear-solver.js.map +1 -0
  361. package/dist/simulation/scenarios/temporal-lead-solver.d.ts +23 -0
  362. package/dist/simulation/scenarios/temporal-lead-solver.d.ts.map +1 -0
  363. package/dist/simulation/scenarios/temporal-lead-solver.js +90 -0
  364. package/dist/simulation/scenarios/temporal-lead-solver.js.map +1 -0
  365. package/dist/simulation/scenarios/voting-system-consensus.d.ts +27 -0
  366. package/dist/simulation/scenarios/voting-system-consensus.d.ts.map +1 -0
  367. package/dist/simulation/scenarios/voting-system-consensus.js +175 -0
  368. package/dist/simulation/scenarios/voting-system-consensus.js.map +1 -0
  369. package/dist/simulation/types.d.ts +162 -0
  370. package/dist/simulation/types.d.ts.map +1 -0
  371. package/dist/simulation/types.js +5 -0
  372. package/dist/simulation/types.js.map +1 -0
  373. package/dist/simulation/utils/PerformanceOptimizer.d.ts +115 -0
  374. package/dist/simulation/utils/PerformanceOptimizer.d.ts.map +1 -0
  375. package/dist/simulation/utils/PerformanceOptimizer.js +223 -0
  376. package/dist/simulation/utils/PerformanceOptimizer.js.map +1 -0
  377. package/dist/src/backends/GraphBackend.d.ts +196 -0
  378. package/dist/src/backends/GraphBackend.d.ts.map +1 -0
  379. package/dist/src/backends/GraphBackend.js +33 -0
  380. package/dist/src/backends/GraphBackend.js.map +1 -0
  381. package/dist/src/backends/LearningBackend.d.ts +148 -0
  382. package/dist/src/backends/LearningBackend.d.ts.map +1 -0
  383. package/dist/src/backends/LearningBackend.js +27 -0
  384. package/dist/src/backends/LearningBackend.js.map +1 -0
  385. package/dist/src/backends/VectorBackend.d.ts +119 -0
  386. package/dist/src/backends/VectorBackend.d.ts.map +1 -0
  387. package/dist/src/backends/VectorBackend.js +14 -0
  388. package/dist/src/backends/VectorBackend.js.map +1 -0
  389. package/dist/src/backends/detector.d.ts +81 -0
  390. package/dist/src/backends/detector.d.ts.map +1 -0
  391. package/dist/src/backends/detector.js +192 -0
  392. package/dist/src/backends/detector.js.map +1 -0
  393. package/dist/src/backends/factory.d.ts +50 -0
  394. package/dist/src/backends/factory.d.ts.map +1 -0
  395. package/dist/src/backends/factory.js +161 -0
  396. package/dist/src/backends/factory.js.map +1 -0
  397. package/dist/src/backends/graph/GraphDatabaseAdapter.d.ts +151 -0
  398. package/dist/src/backends/graph/GraphDatabaseAdapter.d.ts.map +1 -0
  399. package/dist/src/backends/graph/GraphDatabaseAdapter.js +224 -0
  400. package/dist/src/backends/graph/GraphDatabaseAdapter.js.map +1 -0
  401. package/dist/src/backends/hnswlib/HNSWLibBackend.d.ts +92 -0
  402. package/dist/src/backends/hnswlib/HNSWLibBackend.d.ts.map +1 -0
  403. package/dist/src/backends/hnswlib/HNSWLibBackend.js +316 -0
  404. package/dist/src/backends/hnswlib/HNSWLibBackend.js.map +1 -0
  405. package/dist/src/backends/hnswlib/index.d.ts +7 -0
  406. package/dist/src/backends/hnswlib/index.d.ts.map +1 -0
  407. package/dist/src/backends/hnswlib/index.js +7 -0
  408. package/dist/src/backends/hnswlib/index.js.map +1 -0
  409. package/dist/src/backends/index.d.ts +14 -0
  410. package/dist/src/backends/index.d.ts.map +1 -0
  411. package/dist/src/backends/index.js +13 -0
  412. package/dist/src/backends/index.js.map +1 -0
  413. package/dist/src/backends/ruvector/RuVectorBackend.d.ts +75 -0
  414. package/dist/src/backends/ruvector/RuVectorBackend.d.ts.map +1 -0
  415. package/dist/src/backends/ruvector/RuVectorBackend.js +198 -0
  416. package/dist/src/backends/ruvector/RuVectorBackend.js.map +1 -0
  417. package/dist/src/backends/ruvector/RuVectorLearning.d.ts +104 -0
  418. package/dist/src/backends/ruvector/RuVectorLearning.d.ts.map +1 -0
  419. package/dist/src/backends/ruvector/RuVectorLearning.js +177 -0
  420. package/dist/src/backends/ruvector/RuVectorLearning.js.map +1 -0
  421. package/dist/src/backends/ruvector/index.d.ts +9 -0
  422. package/dist/src/backends/ruvector/index.d.ts.map +1 -0
  423. package/dist/src/backends/ruvector/index.js +8 -0
  424. package/dist/src/backends/ruvector/index.js.map +1 -0
  425. package/dist/src/benchmarks/wasm-vector-benchmark.d.ts +10 -0
  426. package/dist/src/benchmarks/wasm-vector-benchmark.d.ts.map +1 -0
  427. package/dist/src/benchmarks/wasm-vector-benchmark.js +196 -0
  428. package/dist/src/benchmarks/wasm-vector-benchmark.js.map +1 -0
  429. package/dist/src/browser/AdvancedFeatures.d.ts +144 -0
  430. package/dist/src/browser/AdvancedFeatures.d.ts.map +1 -0
  431. package/dist/src/browser/AdvancedFeatures.js +430 -0
  432. package/dist/src/browser/AdvancedFeatures.js.map +1 -0
  433. package/dist/src/browser/HNSWIndex.d.ts +117 -0
  434. package/dist/src/browser/HNSWIndex.d.ts.map +1 -0
  435. package/dist/src/browser/HNSWIndex.js +402 -0
  436. package/dist/src/browser/HNSWIndex.js.map +1 -0
  437. package/dist/src/browser/ProductQuantization.d.ts +107 -0
  438. package/dist/src/browser/ProductQuantization.d.ts.map +1 -0
  439. package/dist/src/browser/ProductQuantization.js +337 -0
  440. package/dist/src/browser/ProductQuantization.js.map +1 -0
  441. package/dist/src/browser/index.d.ts +223 -0
  442. package/dist/src/browser/index.d.ts.map +1 -0
  443. package/dist/src/browser/index.js +225 -0
  444. package/dist/src/browser/index.js.map +1 -0
  445. package/dist/src/cli/agentdb-cli.d.ts +154 -0
  446. package/dist/src/cli/agentdb-cli.d.ts.map +1 -0
  447. package/dist/src/cli/agentdb-cli.js +2273 -0
  448. package/dist/src/cli/agentdb-cli.js.map +1 -0
  449. package/dist/src/cli/commands/init.d.ts +12 -0
  450. package/dist/src/cli/commands/init.d.ts.map +1 -0
  451. package/dist/src/cli/commands/init.js +115 -0
  452. package/dist/src/cli/commands/init.js.map +1 -0
  453. package/dist/src/cli/commands/install-embeddings.d.ts +10 -0
  454. package/dist/src/cli/commands/install-embeddings.d.ts.map +1 -0
  455. package/dist/src/cli/commands/install-embeddings.js +68 -0
  456. package/dist/src/cli/commands/install-embeddings.js.map +1 -0
  457. package/dist/src/cli/commands/migrate.d.ts +15 -0
  458. package/dist/src/cli/commands/migrate.d.ts.map +1 -0
  459. package/dist/src/cli/commands/migrate.js +425 -0
  460. package/dist/src/cli/commands/migrate.js.map +1 -0
  461. package/dist/src/cli/commands/simulate-custom.d.ts +26 -0
  462. package/dist/src/cli/commands/simulate-custom.d.ts.map +1 -0
  463. package/dist/src/cli/commands/simulate-custom.js +207 -0
  464. package/dist/src/cli/commands/simulate-custom.js.map +1 -0
  465. package/dist/src/cli/commands/simulate-report.d.ts +15 -0
  466. package/dist/src/cli/commands/simulate-report.d.ts.map +1 -0
  467. package/dist/src/cli/commands/simulate-report.js +136 -0
  468. package/dist/src/cli/commands/simulate-report.js.map +1 -0
  469. package/dist/src/cli/commands/simulate-wizard.d.ts +6 -0
  470. package/dist/src/cli/commands/simulate-wizard.d.ts.map +1 -0
  471. package/dist/src/cli/commands/simulate-wizard.js +352 -0
  472. package/dist/src/cli/commands/simulate-wizard.js.map +1 -0
  473. package/dist/src/cli/commands/simulate.d.ts +7 -0
  474. package/dist/src/cli/commands/simulate.d.ts.map +1 -0
  475. package/dist/src/cli/commands/simulate.js +100 -0
  476. package/dist/src/cli/commands/simulate.js.map +1 -0
  477. package/dist/src/cli/commands/status.d.ts +10 -0
  478. package/dist/src/cli/commands/status.d.ts.map +1 -0
  479. package/dist/src/cli/commands/status.js +129 -0
  480. package/dist/src/cli/commands/status.js.map +1 -0
  481. package/dist/src/cli/lib/config-manager.d.ts +110 -0
  482. package/dist/src/cli/lib/config-manager.d.ts.map +1 -0
  483. package/dist/src/cli/lib/config-manager.js +512 -0
  484. package/dist/src/cli/lib/config-manager.js.map +1 -0
  485. package/dist/src/cli/lib/config-validator.d.ts +43 -0
  486. package/dist/src/cli/lib/config-validator.d.ts.map +1 -0
  487. package/dist/src/cli/lib/config-validator.js +217 -0
  488. package/dist/src/cli/lib/config-validator.js.map +1 -0
  489. package/dist/src/cli/lib/health-monitor.d.ts +149 -0
  490. package/dist/src/cli/lib/health-monitor.d.ts.map +1 -0
  491. package/dist/src/cli/lib/health-monitor.js +380 -0
  492. package/dist/src/cli/lib/health-monitor.js.map +1 -0
  493. package/dist/src/cli/lib/help-formatter.d.ts +38 -0
  494. package/dist/src/cli/lib/help-formatter.d.ts.map +1 -0
  495. package/dist/src/cli/lib/help-formatter.js +357 -0
  496. package/dist/src/cli/lib/help-formatter.js.map +1 -0
  497. package/dist/src/cli/lib/history-tracker.d.ts +103 -0
  498. package/dist/src/cli/lib/history-tracker.d.ts.map +1 -0
  499. package/dist/src/cli/lib/history-tracker.js +346 -0
  500. package/dist/src/cli/lib/history-tracker.js.map +1 -0
  501. package/dist/src/cli/lib/report-generator.d.ts +24 -0
  502. package/dist/src/cli/lib/report-generator.d.ts.map +1 -0
  503. package/dist/src/cli/lib/report-generator.js +417 -0
  504. package/dist/src/cli/lib/report-generator.js.map +1 -0
  505. package/dist/src/cli/lib/report-store.d.ts +116 -0
  506. package/dist/src/cli/lib/report-store.d.ts.map +1 -0
  507. package/dist/src/cli/lib/report-store.js +464 -0
  508. package/dist/src/cli/lib/report-store.js.map +1 -0
  509. package/dist/src/cli/lib/simulation-registry.d.ts +165 -0
  510. package/dist/src/cli/lib/simulation-registry.d.ts.map +1 -0
  511. package/dist/src/cli/lib/simulation-registry.js +332 -0
  512. package/dist/src/cli/lib/simulation-registry.js.map +1 -0
  513. package/dist/src/cli/lib/simulation-runner.d.ts +90 -0
  514. package/dist/src/cli/lib/simulation-runner.d.ts.map +1 -0
  515. package/dist/src/cli/lib/simulation-runner.js +211 -0
  516. package/dist/src/cli/lib/simulation-runner.js.map +1 -0
  517. package/dist/src/controllers/CausalMemoryGraph.d.ts +127 -0
  518. package/dist/src/controllers/CausalMemoryGraph.d.ts.map +1 -0
  519. package/dist/src/controllers/CausalMemoryGraph.js +354 -0
  520. package/dist/src/controllers/CausalMemoryGraph.js.map +1 -0
  521. package/dist/src/controllers/CausalRecall.d.ts +139 -0
  522. package/dist/src/controllers/CausalRecall.d.ts.map +1 -0
  523. package/dist/src/controllers/CausalRecall.js +356 -0
  524. package/dist/src/controllers/CausalRecall.js.map +1 -0
  525. package/dist/src/controllers/ContextSynthesizer.d.ts +65 -0
  526. package/dist/src/controllers/ContextSynthesizer.d.ts.map +1 -0
  527. package/dist/src/controllers/ContextSynthesizer.js +208 -0
  528. package/dist/src/controllers/ContextSynthesizer.js.map +1 -0
  529. package/dist/src/controllers/EmbeddingService.d.ts +37 -0
  530. package/dist/src/controllers/EmbeddingService.d.ts.map +1 -0
  531. package/dist/src/controllers/EmbeddingService.js +136 -0
  532. package/dist/src/controllers/EmbeddingService.js.map +1 -0
  533. package/dist/src/controllers/EnhancedEmbeddingService.d.ts +50 -0
  534. package/dist/src/controllers/EnhancedEmbeddingService.d.ts.map +1 -0
  535. package/dist/src/controllers/EnhancedEmbeddingService.js +119 -0
  536. package/dist/src/controllers/EnhancedEmbeddingService.js.map +1 -0
  537. package/dist/src/controllers/ExplainableRecall.d.ts +163 -0
  538. package/dist/src/controllers/ExplainableRecall.d.ts.map +1 -0
  539. package/dist/src/controllers/ExplainableRecall.js +485 -0
  540. package/dist/src/controllers/ExplainableRecall.js.map +1 -0
  541. package/dist/src/controllers/HNSWIndex.d.ts +128 -0
  542. package/dist/src/controllers/HNSWIndex.d.ts.map +1 -0
  543. package/dist/src/controllers/HNSWIndex.js +361 -0
  544. package/dist/src/controllers/HNSWIndex.js.map +1 -0
  545. package/dist/src/controllers/LearningSystem.d.ts +195 -0
  546. package/dist/src/controllers/LearningSystem.d.ts.map +1 -0
  547. package/dist/src/controllers/LearningSystem.js +929 -0
  548. package/dist/src/controllers/LearningSystem.js.map +1 -0
  549. package/dist/src/controllers/MMRDiversityRanker.d.ts +50 -0
  550. package/dist/src/controllers/MMRDiversityRanker.d.ts.map +1 -0
  551. package/dist/src/controllers/MMRDiversityRanker.js +130 -0
  552. package/dist/src/controllers/MMRDiversityRanker.js.map +1 -0
  553. package/dist/src/controllers/MetadataFilter.d.ts +70 -0
  554. package/dist/src/controllers/MetadataFilter.d.ts.map +1 -0
  555. package/dist/src/controllers/MetadataFilter.js +243 -0
  556. package/dist/src/controllers/MetadataFilter.js.map +1 -0
  557. package/dist/src/controllers/NightlyLearner.d.ts +114 -0
  558. package/dist/src/controllers/NightlyLearner.d.ts.map +1 -0
  559. package/dist/src/controllers/NightlyLearner.js +394 -0
  560. package/dist/src/controllers/NightlyLearner.js.map +1 -0
  561. package/dist/src/controllers/QUICClient.d.ts +109 -0
  562. package/dist/src/controllers/QUICClient.d.ts.map +1 -0
  563. package/dist/src/controllers/QUICClient.js +299 -0
  564. package/dist/src/controllers/QUICClient.js.map +1 -0
  565. package/dist/src/controllers/QUICServer.d.ts +121 -0
  566. package/dist/src/controllers/QUICServer.d.ts.map +1 -0
  567. package/dist/src/controllers/QUICServer.js +383 -0
  568. package/dist/src/controllers/QUICServer.js.map +1 -0
  569. package/dist/src/controllers/ReasoningBank.d.ts +196 -0
  570. package/dist/src/controllers/ReasoningBank.d.ts.map +1 -0
  571. package/dist/src/controllers/ReasoningBank.js +494 -0
  572. package/dist/src/controllers/ReasoningBank.js.map +1 -0
  573. package/dist/src/controllers/ReflexionMemory.d.ts +125 -0
  574. package/dist/src/controllers/ReflexionMemory.d.ts.map +1 -0
  575. package/dist/src/controllers/ReflexionMemory.js +654 -0
  576. package/dist/src/controllers/ReflexionMemory.js.map +1 -0
  577. package/dist/src/controllers/SkillLibrary.d.ts +150 -0
  578. package/dist/src/controllers/SkillLibrary.d.ts.map +1 -0
  579. package/dist/src/controllers/SkillLibrary.js +608 -0
  580. package/dist/src/controllers/SkillLibrary.js.map +1 -0
  581. package/dist/src/controllers/SyncCoordinator.d.ts +120 -0
  582. package/dist/src/controllers/SyncCoordinator.d.ts.map +1 -0
  583. package/dist/src/controllers/SyncCoordinator.js +441 -0
  584. package/dist/src/controllers/SyncCoordinator.js.map +1 -0
  585. package/dist/src/controllers/WASMVectorSearch.d.ts +89 -0
  586. package/dist/src/controllers/WASMVectorSearch.d.ts.map +1 -0
  587. package/dist/src/controllers/WASMVectorSearch.js +234 -0
  588. package/dist/src/controllers/WASMVectorSearch.js.map +1 -0
  589. package/dist/src/controllers/frontier-index.d.ts +14 -0
  590. package/dist/src/controllers/frontier-index.d.ts.map +1 -0
  591. package/dist/src/controllers/frontier-index.js +10 -0
  592. package/dist/src/controllers/frontier-index.js.map +1 -0
  593. package/dist/src/controllers/index.d.ts +30 -0
  594. package/dist/src/controllers/index.d.ts.map +1 -0
  595. package/dist/src/controllers/index.js +18 -0
  596. package/dist/src/controllers/index.js.map +1 -0
  597. package/dist/src/db-fallback.d.ts +26 -0
  598. package/dist/src/db-fallback.d.ts.map +1 -0
  599. package/dist/src/db-fallback.js +264 -0
  600. package/dist/src/db-fallback.js.map +1 -0
  601. package/dist/src/db-test.d.ts +13 -0
  602. package/dist/src/db-test.d.ts.map +1 -0
  603. package/dist/src/db-test.js +55 -0
  604. package/dist/src/db-test.js.map +1 -0
  605. package/dist/src/db-unified.d.ts +76 -0
  606. package/dist/src/db-unified.d.ts.map +1 -0
  607. package/dist/src/db-unified.js +279 -0
  608. package/dist/src/db-unified.js.map +1 -0
  609. package/dist/src/examples/quic-sync-example.d.ts +9 -0
  610. package/dist/src/examples/quic-sync-example.d.ts.map +1 -0
  611. package/dist/src/examples/quic-sync-example.js +169 -0
  612. package/dist/src/examples/quic-sync-example.js.map +1 -0
  613. package/dist/src/examples/wasm-vector-usage.d.ts +12 -0
  614. package/dist/src/examples/wasm-vector-usage.d.ts.map +1 -0
  615. package/dist/src/examples/wasm-vector-usage.js +190 -0
  616. package/dist/src/examples/wasm-vector-usage.js.map +1 -0
  617. package/dist/src/index.d.ts +28 -0
  618. package/dist/src/index.d.ts.map +1 -0
  619. package/dist/src/index.js +35 -0
  620. package/dist/src/index.js.map +1 -0
  621. package/dist/src/mcp/agentdb-mcp-server.d.ts +8 -0
  622. package/dist/src/mcp/agentdb-mcp-server.d.ts.map +1 -0
  623. package/dist/src/mcp/agentdb-mcp-server.js +2116 -0
  624. package/dist/src/mcp/agentdb-mcp-server.js.map +1 -0
  625. package/dist/src/mcp/learning-tools-handlers.d.ts +16 -0
  626. package/dist/src/mcp/learning-tools-handlers.d.ts.map +1 -0
  627. package/dist/src/mcp/learning-tools-handlers.js +105 -0
  628. package/dist/src/mcp/learning-tools-handlers.js.map +1 -0
  629. package/dist/src/optimizations/BatchOperations.d.ts +109 -0
  630. package/dist/src/optimizations/BatchOperations.d.ts.map +1 -0
  631. package/dist/src/optimizations/BatchOperations.js +407 -0
  632. package/dist/src/optimizations/BatchOperations.js.map +1 -0
  633. package/dist/src/optimizations/QueryOptimizer.d.ts +83 -0
  634. package/dist/src/optimizations/QueryOptimizer.d.ts.map +1 -0
  635. package/dist/src/optimizations/QueryOptimizer.js +228 -0
  636. package/dist/src/optimizations/QueryOptimizer.js.map +1 -0
  637. package/dist/src/optimizations/ToolCache.d.ts +137 -0
  638. package/dist/src/optimizations/ToolCache.d.ts.map +1 -0
  639. package/dist/src/optimizations/ToolCache.js +281 -0
  640. package/dist/src/optimizations/ToolCache.js.map +1 -0
  641. package/dist/src/optimizations/index.d.ts +10 -0
  642. package/dist/src/optimizations/index.d.ts.map +1 -0
  643. package/dist/src/optimizations/index.js +8 -0
  644. package/dist/src/optimizations/index.js.map +1 -0
  645. package/dist/src/security/input-validation.d.ts +109 -0
  646. package/dist/src/security/input-validation.d.ts.map +1 -0
  647. package/dist/src/security/input-validation.js +398 -0
  648. package/dist/src/security/input-validation.js.map +1 -0
  649. package/dist/src/security/limits.d.ts +150 -0
  650. package/dist/src/security/limits.d.ts.map +1 -0
  651. package/dist/src/security/limits.js +288 -0
  652. package/dist/src/security/limits.js.map +1 -0
  653. package/dist/src/security/path-security.d.ts +100 -0
  654. package/dist/src/security/path-security.d.ts.map +1 -0
  655. package/dist/src/security/path-security.js +337 -0
  656. package/dist/src/security/path-security.js.map +1 -0
  657. package/dist/src/security/validation.d.ts +95 -0
  658. package/dist/src/security/validation.d.ts.map +1 -0
  659. package/dist/src/security/validation.js +315 -0
  660. package/dist/src/security/validation.js.map +1 -0
  661. package/dist/src/services/LLMRouter.d.ts +84 -0
  662. package/dist/src/services/LLMRouter.d.ts.map +1 -0
  663. package/dist/src/services/LLMRouter.js +329 -0
  664. package/dist/src/services/LLMRouter.js.map +1 -0
  665. package/dist/src/types/quic.d.ts +518 -0
  666. package/dist/src/types/quic.d.ts.map +1 -0
  667. package/dist/src/types/quic.js +272 -0
  668. package/dist/src/types/quic.js.map +1 -0
  669. package/dist/src/utils/NodeIdMapper.d.ts +38 -0
  670. package/dist/src/utils/NodeIdMapper.d.ts.map +1 -0
  671. package/dist/src/utils/NodeIdMapper.js +57 -0
  672. package/dist/src/utils/NodeIdMapper.js.map +1 -0
  673. package/package.json +15 -3
  674. package/scripts/README.md +314 -0
  675. package/src/backends/GraphBackend.ts +290 -0
  676. package/src/backends/LearningBackend.ts +210 -0
  677. package/src/backends/README.md +389 -0
  678. package/src/backends/VectorBackend.ts +145 -0
  679. package/src/backends/detector.ts +283 -0
  680. package/src/backends/factory.ts +193 -0
  681. package/src/backends/graph/GraphDatabaseAdapter.ts +334 -0
  682. package/src/backends/hnswlib/HNSWLibBackend.ts +413 -0
  683. package/src/backends/hnswlib/index.ts +7 -0
  684. package/src/backends/index.ts +32 -0
  685. package/src/backends/ruvector/RuVectorBackend.ts +232 -0
  686. package/src/backends/ruvector/RuVectorLearning.ts +242 -0
  687. package/src/backends/ruvector/index.ts +9 -0
  688. package/src/backends/ruvector/types.d.ts +64 -0
  689. package/src/browser/AdvancedFeatures.ts +565 -0
  690. package/src/browser/HNSWIndex.ts +494 -0
  691. package/src/browser/ProductQuantization.ts +419 -0
  692. package/src/browser/index.ts +301 -0
  693. package/src/cli/agentdb-cli.ts +131 -8
  694. package/src/cli/commands/init.ts +148 -0
  695. package/src/cli/commands/install-embeddings.ts +81 -0
  696. package/src/cli/commands/migrate.ts +545 -0
  697. package/src/cli/commands/simulate-custom.ts +232 -0
  698. package/src/cli/commands/simulate-report.ts +171 -0
  699. package/src/cli/commands/simulate-wizard.ts +379 -0
  700. package/src/cli/commands/simulate.ts +115 -0
  701. package/src/cli/commands/status.ts +156 -0
  702. package/src/cli/lib/config-manager.ts +627 -0
  703. package/src/cli/lib/config-validator.ts +261 -0
  704. package/src/cli/lib/health-monitor.ts +513 -0
  705. package/src/cli/lib/help-formatter.ts +406 -0
  706. package/src/cli/lib/history-tracker.ts +497 -0
  707. package/src/cli/lib/report-generator.ts +455 -0
  708. package/src/cli/lib/report-store.ts +582 -0
  709. package/src/cli/lib/simulation-registry.ts +502 -0
  710. package/src/cli/lib/simulation-runner.ts +291 -0
  711. package/src/cli/tests/agentdb-cli.test.ts +58 -0
  712. package/src/controllers/CausalMemoryGraph.ts +42 -2
  713. package/src/controllers/CausalRecall.ts +41 -4
  714. package/src/controllers/ExplainableRecall.ts +123 -5
  715. package/src/controllers/HNSWIndex.ts +495 -0
  716. package/src/controllers/NightlyLearner.ts +8 -4
  717. package/src/controllers/ReasoningBank.ts +268 -5
  718. package/src/controllers/ReflexionMemory.ts +531 -6
  719. package/src/controllers/SkillLibrary.ts +234 -60
  720. package/src/controllers/index.ts +2 -0
  721. package/src/db-fallback.ts +103 -35
  722. package/src/db-test.ts +59 -0
  723. package/src/db-unified.ts +327 -0
  724. package/src/index.ts +2 -1
  725. package/src/mcp/agentdb-mcp-server.ts +544 -38
  726. package/src/optimizations/BatchOperations.ts +270 -0
  727. package/src/optimizations/ToolCache.ts +355 -0
  728. package/src/security/input-validation.ts +166 -0
  729. package/src/security/limits.ts +375 -0
  730. package/src/security/path-security.ts +436 -0
  731. package/src/security/validation.ts +556 -0
  732. package/src/services/LLMRouter.ts +406 -0
  733. package/src/types/xenova-transformers.d.ts +26 -0
  734. package/src/utils/NodeIdMapper.ts +64 -0
@@ -0,0 +1,654 @@
1
+ /**
2
+ * ReflexionMemory - Episodic Replay Memory System
3
+ *
4
+ * Implements reflexion-style episodic replay for agent self-improvement.
5
+ * Stores self-critiques and outcomes, retrieves relevant past experiences.
6
+ *
7
+ * Based on: "Reflexion: Language Agents with Verbal Reinforcement Learning"
8
+ * https://arxiv.org/abs/2303.11366
9
+ */
10
+ import { NodeIdMapper } from '../utils/NodeIdMapper.js';
11
+ export class ReflexionMemory {
12
+ db;
13
+ embedder;
14
+ vectorBackend;
15
+ learningBackend;
16
+ graphBackend;
17
+ constructor(db, embedder, vectorBackend, learningBackend, graphBackend) {
18
+ this.db = db;
19
+ this.embedder = embedder;
20
+ this.vectorBackend = vectorBackend;
21
+ this.learningBackend = learningBackend;
22
+ this.graphBackend = graphBackend;
23
+ }
24
+ /**
25
+ * Store a new episode with its critique and outcome
26
+ */
27
+ async storeEpisode(episode) {
28
+ // Use GraphDatabaseAdapter if available (AgentDB v2)
29
+ if (this.graphBackend && 'storeEpisode' in this.graphBackend) {
30
+ // GraphDatabaseAdapter has specialized storeEpisode method
31
+ const graphAdapter = this.graphBackend;
32
+ // Generate embedding for the task
33
+ const taskEmbedding = await this.embedder.embed(episode.task);
34
+ // Create episode node using GraphDatabaseAdapter
35
+ const nodeId = await graphAdapter.storeEpisode({
36
+ id: episode.id ? `episode-${episode.id}` : `episode-${Date.now()}-${Math.random()}`,
37
+ sessionId: episode.sessionId,
38
+ task: episode.task,
39
+ reward: episode.reward,
40
+ success: episode.success,
41
+ input: episode.input,
42
+ output: episode.output,
43
+ critique: episode.critique,
44
+ createdAt: episode.ts ? episode.ts * 1000 : Date.now(),
45
+ tokensUsed: episode.tokensUsed,
46
+ latencyMs: episode.latencyMs
47
+ }, taskEmbedding);
48
+ // Return a numeric ID (parse from string ID)
49
+ const numericId = parseInt(nodeId.split('-').pop() || '0', 36);
50
+ // Register mapping for later use by CausalMemoryGraph
51
+ NodeIdMapper.getInstance().register(numericId, nodeId);
52
+ return numericId;
53
+ }
54
+ // Use generic GraphBackend if available
55
+ if (this.graphBackend) {
56
+ // Generate embedding for the task
57
+ const taskEmbedding = await this.embedder.embed(episode.task);
58
+ // Create episode node ID
59
+ const nodeId = await this.graphBackend.createNode(['Episode'], {
60
+ sessionId: episode.sessionId,
61
+ task: episode.task,
62
+ input: episode.input || '',
63
+ output: episode.output || '',
64
+ critique: episode.critique || '',
65
+ reward: episode.reward,
66
+ success: episode.success,
67
+ latencyMs: episode.latencyMs || 0,
68
+ tokensUsed: episode.tokensUsed || 0,
69
+ tags: episode.tags ? JSON.stringify(episode.tags) : '[]',
70
+ metadata: episode.metadata ? JSON.stringify(episode.metadata) : '{}',
71
+ createdAt: Date.now()
72
+ });
73
+ // Store embedding using vectorBackend if available
74
+ if (this.vectorBackend && taskEmbedding) {
75
+ this.vectorBackend.insert(nodeId, taskEmbedding, {
76
+ type: 'episode',
77
+ sessionId: episode.sessionId
78
+ });
79
+ }
80
+ // Return a numeric ID (parse from string ID)
81
+ const numericId = parseInt(nodeId.split('-').pop() || '0', 36);
82
+ // Register mapping for later use by CausalMemoryGraph
83
+ NodeIdMapper.getInstance().register(numericId, nodeId);
84
+ return numericId;
85
+ }
86
+ // Fallback to SQLite (v1 compatibility)
87
+ const stmt = this.db.prepare(`
88
+ INSERT INTO episodes (
89
+ session_id, task, input, output, critique, reward, success,
90
+ latency_ms, tokens_used, tags, metadata
91
+ ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
92
+ `);
93
+ const tags = episode.tags ? JSON.stringify(episode.tags) : null;
94
+ const metadata = episode.metadata ? JSON.stringify(episode.metadata) : null;
95
+ const result = stmt.run(episode.sessionId, episode.task, episode.input || null, episode.output || null, episode.critique || null, episode.reward, episode.success ? 1 : 0, episode.latencyMs || null, episode.tokensUsed || null, tags, metadata);
96
+ const episodeId = result.lastInsertRowid;
97
+ // Generate and store embedding
98
+ const text = this.buildEpisodeText(episode);
99
+ const embedding = await this.embedder.embed(text);
100
+ // Use vector backend if available (150x faster retrieval)
101
+ if (this.vectorBackend) {
102
+ this.vectorBackend.insert(episodeId.toString(), embedding);
103
+ }
104
+ // Also store in SQL for fallback
105
+ this.storeEmbedding(episodeId, embedding);
106
+ // Create graph node for episode if graph backend available
107
+ if (this.graphBackend) {
108
+ await this.createEpisodeGraphNode(episodeId, episode, embedding);
109
+ }
110
+ // Add training sample if learning backend available
111
+ if (this.learningBackend && episode.success !== undefined) {
112
+ this.learningBackend.addSample({
113
+ embedding,
114
+ label: episode.success ? 1 : 0,
115
+ weight: Math.abs(episode.reward),
116
+ context: {
117
+ task: episode.task,
118
+ sessionId: episode.sessionId,
119
+ latencyMs: episode.latencyMs,
120
+ tokensUsed: episode.tokensUsed
121
+ }
122
+ });
123
+ }
124
+ return episodeId;
125
+ }
126
+ /**
127
+ * Retrieve relevant past episodes for a new task attempt
128
+ */
129
+ async retrieveRelevant(query) {
130
+ const { task, currentState = '', k = 5, minReward, onlyFailures = false, onlySuccesses = false, timeWindowDays } = query;
131
+ // Generate query embedding
132
+ const queryText = currentState ? `${task}\n${currentState}` : task;
133
+ let queryEmbedding = await this.embedder.embed(queryText);
134
+ // Enhance query with GNN if learning backend available
135
+ if (this.learningBackend) {
136
+ queryEmbedding = await this.enhanceQueryWithGNN(queryEmbedding, k);
137
+ }
138
+ // Use GraphDatabaseAdapter if available (AgentDB v2)
139
+ if (this.graphBackend && 'searchSimilarEpisodes' in this.graphBackend) {
140
+ const graphAdapter = this.graphBackend;
141
+ // Search using vector similarity
142
+ const results = await graphAdapter.searchSimilarEpisodes(queryEmbedding, k * 3);
143
+ // Apply filters
144
+ const filtered = results.filter((ep) => {
145
+ if (minReward !== undefined && ep.reward < minReward)
146
+ return false;
147
+ if (onlyFailures && ep.success)
148
+ return false;
149
+ if (onlySuccesses && !ep.success)
150
+ return false;
151
+ if (timeWindowDays && ep.createdAt < (Date.now() - timeWindowDays * 86400000))
152
+ return false;
153
+ return true;
154
+ });
155
+ // Convert to EpisodeWithEmbedding format
156
+ const episodes = filtered.slice(0, k).map((ep) => ({
157
+ id: parseInt(ep.id.split('-').pop() || '0', 36),
158
+ sessionId: ep.sessionId,
159
+ task: ep.task,
160
+ input: ep.input,
161
+ output: ep.output,
162
+ critique: ep.critique,
163
+ reward: ep.reward,
164
+ success: ep.success,
165
+ latencyMs: ep.latencyMs,
166
+ tokensUsed: ep.tokensUsed,
167
+ ts: Math.floor(ep.createdAt / 1000)
168
+ }));
169
+ return episodes;
170
+ }
171
+ // Use generic GraphBackend if available
172
+ if (this.graphBackend && 'execute' in this.graphBackend) {
173
+ // Build Cypher query with filters
174
+ let cypherQuery = 'MATCH (e:Episode) WHERE 1=1';
175
+ if (minReward !== undefined) {
176
+ cypherQuery += ` AND e.reward >= ${minReward}`;
177
+ }
178
+ if (onlyFailures) {
179
+ cypherQuery += ` AND e.success = false`;
180
+ }
181
+ if (onlySuccesses) {
182
+ cypherQuery += ` AND e.success = true`;
183
+ }
184
+ if (timeWindowDays) {
185
+ const cutoff = Date.now() - timeWindowDays * 86400000;
186
+ cypherQuery += ` AND e.createdAt >= ${cutoff}`;
187
+ }
188
+ cypherQuery += ` RETURN e LIMIT ${k * 3}`;
189
+ const result = await this.graphBackend.execute(cypherQuery);
190
+ // Convert to EpisodeWithEmbedding format
191
+ const episodes = result.rows.map((row) => {
192
+ const node = row.e;
193
+ return {
194
+ id: parseInt(node.id.split('-').pop() || '0', 36),
195
+ sessionId: node.properties.sessionId,
196
+ task: node.properties.task,
197
+ input: node.properties.input,
198
+ output: node.properties.output,
199
+ critique: node.properties.critique,
200
+ reward: typeof node.properties.reward === 'string' ? parseFloat(node.properties.reward) : node.properties.reward,
201
+ success: typeof node.properties.success === 'string' ? node.properties.success === 'true' : node.properties.success,
202
+ latencyMs: node.properties.latencyMs,
203
+ tokensUsed: node.properties.tokensUsed,
204
+ tags: node.properties.tags ? JSON.parse(node.properties.tags) : [],
205
+ metadata: node.properties.metadata ? JSON.parse(node.properties.metadata) : {},
206
+ ts: Math.floor(node.properties.createdAt / 1000)
207
+ };
208
+ });
209
+ return episodes.slice(0, k);
210
+ }
211
+ // Use optimized vector backend if available (150x faster)
212
+ if (this.vectorBackend) {
213
+ // Get candidates from vector backend
214
+ const searchResults = this.vectorBackend.search(queryEmbedding, k * 3, {
215
+ threshold: 0.0
216
+ });
217
+ // Fetch full episode data from DB
218
+ const episodeIds = searchResults.map(r => parseInt(r.id));
219
+ if (episodeIds.length === 0) {
220
+ return [];
221
+ }
222
+ const placeholders = episodeIds.map(() => '?').join(',');
223
+ const stmt = this.db.prepare(`
224
+ SELECT * FROM episodes
225
+ WHERE id IN (${placeholders})
226
+ `);
227
+ const rows = stmt.all(...episodeIds);
228
+ const episodeMap = new Map(rows.map(r => [r.id.toString(), r]));
229
+ // Map results back with similarity scores and apply filters
230
+ const episodes = [];
231
+ for (const result of searchResults) {
232
+ const row = episodeMap.get(result.id);
233
+ if (!row)
234
+ continue;
235
+ // Apply additional filters
236
+ if (minReward !== undefined && row.reward < minReward)
237
+ continue;
238
+ if (onlyFailures && row.success === 1)
239
+ continue;
240
+ if (onlySuccesses && row.success === 0)
241
+ continue;
242
+ if (timeWindowDays && row.ts < (Date.now() / 1000 - timeWindowDays * 86400))
243
+ continue;
244
+ episodes.push({
245
+ id: row.id,
246
+ ts: row.ts,
247
+ sessionId: row.session_id,
248
+ task: row.task,
249
+ input: row.input,
250
+ output: row.output,
251
+ critique: row.critique,
252
+ reward: row.reward,
253
+ success: row.success === 1,
254
+ latencyMs: row.latency_ms,
255
+ tokensUsed: row.tokens_used,
256
+ tags: row.tags ? JSON.parse(row.tags) : undefined,
257
+ metadata: row.metadata ? JSON.parse(row.metadata) : undefined,
258
+ similarity: result.similarity
259
+ });
260
+ if (episodes.length >= k)
261
+ break;
262
+ }
263
+ return episodes;
264
+ }
265
+ // Fallback to SQL-based similarity search
266
+ const filters = [];
267
+ const params = [];
268
+ if (minReward !== undefined) {
269
+ filters.push('e.reward >= ?');
270
+ params.push(minReward);
271
+ }
272
+ if (onlyFailures) {
273
+ filters.push('e.success = 0');
274
+ }
275
+ if (onlySuccesses) {
276
+ filters.push('e.success = 1');
277
+ }
278
+ if (timeWindowDays) {
279
+ filters.push('e.ts > strftime("%s", "now") - ?');
280
+ params.push(timeWindowDays * 86400);
281
+ }
282
+ const whereClause = filters.length > 0 ? `WHERE ${filters.join(' AND ')}` : '';
283
+ const stmt = this.db.prepare(`
284
+ SELECT
285
+ e.*,
286
+ ee.embedding
287
+ FROM episodes e
288
+ JOIN episode_embeddings ee ON e.id = ee.episode_id
289
+ ${whereClause}
290
+ ORDER BY e.reward DESC
291
+ `);
292
+ const rows = stmt.all(...params);
293
+ // Calculate similarities manually
294
+ const episodes = rows.map(row => {
295
+ const embedding = this.deserializeEmbedding(row.embedding);
296
+ const similarity = this.cosineSimilarity(queryEmbedding, embedding);
297
+ return {
298
+ id: row.id,
299
+ ts: row.ts,
300
+ sessionId: row.session_id,
301
+ task: row.task,
302
+ input: row.input,
303
+ output: row.output,
304
+ critique: row.critique,
305
+ reward: row.reward,
306
+ success: row.success === 1,
307
+ latencyMs: row.latency_ms,
308
+ tokensUsed: row.tokens_used,
309
+ tags: row.tags ? JSON.parse(row.tags) : undefined,
310
+ metadata: row.metadata ? JSON.parse(row.metadata) : undefined,
311
+ embedding,
312
+ similarity
313
+ };
314
+ });
315
+ // Sort by similarity and return top-k
316
+ episodes.sort((a, b) => (b.similarity || 0) - (a.similarity || 0));
317
+ return episodes.slice(0, k);
318
+ }
319
+ /**
320
+ * Get statistics for a task
321
+ */
322
+ getTaskStats(task, timeWindowDays) {
323
+ const windowFilter = timeWindowDays
324
+ ? `AND ts > strftime('%s', 'now') - ${timeWindowDays * 86400}`
325
+ : '';
326
+ const stmt = this.db.prepare(`
327
+ SELECT
328
+ COUNT(*) as total,
329
+ AVG(CASE WHEN success = 1 THEN 1.0 ELSE 0.0 END) as success_rate,
330
+ AVG(reward) as avg_reward,
331
+ AVG(latency_ms) as avg_latency
332
+ FROM episodes
333
+ WHERE task = ? ${windowFilter}
334
+ `);
335
+ const stats = stmt.get(task);
336
+ // Calculate improvement trend (recent vs older)
337
+ const trendStmt = this.db.prepare(`
338
+ SELECT
339
+ AVG(CASE
340
+ WHEN ts > strftime('%s', 'now') - ${7 * 86400} THEN reward
341
+ END) as recent_reward,
342
+ AVG(CASE
343
+ WHEN ts <= strftime('%s', 'now') - ${7 * 86400} THEN reward
344
+ END) as older_reward
345
+ FROM episodes
346
+ WHERE task = ? ${windowFilter}
347
+ `);
348
+ const trend = trendStmt.get(task);
349
+ const improvementTrend = trend.recent_reward && trend.older_reward
350
+ ? (trend.recent_reward - trend.older_reward) / trend.older_reward
351
+ : 0;
352
+ return {
353
+ totalAttempts: stats.total || 0,
354
+ successRate: stats.success_rate || 0,
355
+ avgReward: stats.avg_reward || 0,
356
+ avgLatency: stats.avg_latency || 0,
357
+ improvementTrend
358
+ };
359
+ }
360
+ /**
361
+ * Build critique summary from similar failed episodes
362
+ */
363
+ async getCritiqueSummary(query) {
364
+ const failures = await this.retrieveRelevant({
365
+ ...query,
366
+ onlyFailures: true,
367
+ k: 3
368
+ });
369
+ if (failures.length === 0) {
370
+ return 'No prior failures found for this task.';
371
+ }
372
+ const critiques = failures
373
+ .filter(ep => ep.critique)
374
+ .map((ep, i) => `${i + 1}. ${ep.critique} (reward: ${ep.reward.toFixed(2)})`)
375
+ .join('\n');
376
+ return `Prior failures and lessons learned:\n${critiques}`;
377
+ }
378
+ /**
379
+ * Get successful strategies for a task
380
+ */
381
+ async getSuccessStrategies(query) {
382
+ const successes = await this.retrieveRelevant({
383
+ ...query,
384
+ onlySuccesses: true,
385
+ minReward: 0.7,
386
+ k: 3
387
+ });
388
+ if (successes.length === 0) {
389
+ return 'No successful strategies found for this task.';
390
+ }
391
+ const strategies = successes
392
+ .map((ep, i) => {
393
+ const approach = ep.output?.substring(0, 200) || 'No output recorded';
394
+ return `${i + 1}. Approach (reward ${ep.reward.toFixed(2)}): ${approach}...`;
395
+ })
396
+ .join('\n');
397
+ return `Successful strategies:\n${strategies}`;
398
+ }
399
+ /**
400
+ * Get recent episodes for a session
401
+ */
402
+ async getRecentEpisodes(sessionId, limit = 10) {
403
+ const stmt = this.db.prepare(`
404
+ SELECT * FROM episodes
405
+ WHERE session_id = ?
406
+ ORDER BY ts DESC
407
+ LIMIT ?
408
+ `);
409
+ const rows = stmt.all(sessionId, limit);
410
+ return rows.map(row => ({
411
+ id: row.id,
412
+ ts: row.ts,
413
+ sessionId: row.session_id,
414
+ task: row.task,
415
+ input: row.input,
416
+ output: row.output,
417
+ critique: row.critique,
418
+ reward: row.reward,
419
+ success: row.success === 1,
420
+ latencyMs: row.latency_ms,
421
+ tokensUsed: row.tokens_used,
422
+ tags: row.tags ? JSON.parse(row.tags) : undefined,
423
+ metadata: row.metadata ? JSON.parse(row.metadata) : undefined
424
+ }));
425
+ }
426
+ /**
427
+ * Prune low-quality episodes based on TTL and quality threshold
428
+ */
429
+ pruneEpisodes(config) {
430
+ const { minReward = 0.3, maxAgeDays = 30, keepMinPerTask = 5 } = config;
431
+ // Keep high-reward episodes and minimum per task
432
+ const stmt = this.db.prepare(`
433
+ DELETE FROM episodes
434
+ WHERE id IN (
435
+ SELECT id FROM (
436
+ SELECT
437
+ id,
438
+ reward,
439
+ ts,
440
+ ROW_NUMBER() OVER (PARTITION BY task ORDER BY reward DESC) as rank
441
+ FROM episodes
442
+ WHERE reward < ?
443
+ AND ts < strftime('%s', 'now') - ?
444
+ ) WHERE rank > ?
445
+ )
446
+ `);
447
+ const result = stmt.run(minReward, maxAgeDays * 86400, keepMinPerTask);
448
+ return result.changes;
449
+ }
450
+ // ========================================================================
451
+ // Private Helper Methods
452
+ // ========================================================================
453
+ buildEpisodeText(episode) {
454
+ const parts = [episode.task];
455
+ if (episode.critique)
456
+ parts.push(episode.critique);
457
+ if (episode.output)
458
+ parts.push(episode.output);
459
+ return parts.join('\n');
460
+ }
461
+ storeEmbedding(episodeId, embedding) {
462
+ const stmt = this.db.prepare(`
463
+ INSERT INTO episode_embeddings (episode_id, embedding)
464
+ VALUES (?, ?)
465
+ `);
466
+ stmt.run(episodeId, this.serializeEmbedding(embedding));
467
+ }
468
+ serializeEmbedding(embedding) {
469
+ // Handle empty/null embeddings
470
+ if (!embedding || !embedding.buffer) {
471
+ return Buffer.alloc(0);
472
+ }
473
+ return Buffer.from(embedding.buffer);
474
+ }
475
+ deserializeEmbedding(buffer) {
476
+ return new Float32Array(buffer.buffer, buffer.byteOffset, buffer.length / 4);
477
+ }
478
+ cosineSimilarity(a, b) {
479
+ let dotProduct = 0;
480
+ let normA = 0;
481
+ let normB = 0;
482
+ for (let i = 0; i < a.length; i++) {
483
+ dotProduct += a[i] * b[i];
484
+ normA += a[i] * a[i];
485
+ normB += b[i] * b[i];
486
+ }
487
+ return dotProduct / (Math.sqrt(normA) * Math.sqrt(normB));
488
+ }
489
+ // ========================================================================
490
+ // GNN and Graph Integration Methods
491
+ // ========================================================================
492
+ /**
493
+ * Create graph node for episode with relationships
494
+ */
495
+ async createEpisodeGraphNode(episodeId, episode, embedding) {
496
+ if (!this.graphBackend)
497
+ return;
498
+ // Create episode node
499
+ const nodeId = await this.graphBackend.createNode(['Episode', episode.success ? 'Success' : 'Failure'], {
500
+ episodeId,
501
+ sessionId: episode.sessionId,
502
+ task: episode.task,
503
+ reward: episode.reward,
504
+ success: episode.success,
505
+ timestamp: episode.ts || Date.now(),
506
+ latencyMs: episode.latencyMs,
507
+ tokensUsed: episode.tokensUsed
508
+ });
509
+ // Find similar episodes using graph vector search
510
+ const similarEpisodes = await this.graphBackend.vectorSearch(embedding, 5, nodeId);
511
+ // Create similarity relationships to similar episodes
512
+ for (const similar of similarEpisodes) {
513
+ if (similar.id !== nodeId && similar.properties.episodeId !== episodeId) {
514
+ await this.graphBackend.createRelationship(nodeId, similar.id, 'SIMILAR_TO', {
515
+ similarity: this.cosineSimilarity(embedding, similar.embedding || new Float32Array()),
516
+ createdAt: Date.now()
517
+ });
518
+ }
519
+ }
520
+ // Create session relationship
521
+ const sessionNodes = await this.graphBackend.execute('MATCH (s:Session {sessionId: $sessionId}) RETURN s', { sessionId: episode.sessionId });
522
+ let sessionNodeId;
523
+ if (sessionNodes.rows.length === 0) {
524
+ // Create session node if doesn't exist
525
+ sessionNodeId = await this.graphBackend.createNode(['Session'], {
526
+ sessionId: episode.sessionId,
527
+ startTime: episode.ts || Date.now()
528
+ });
529
+ }
530
+ else {
531
+ sessionNodeId = sessionNodes.rows[0].s.id;
532
+ }
533
+ await this.graphBackend.createRelationship(nodeId, sessionNodeId, 'BELONGS_TO_SESSION', { timestamp: episode.ts || Date.now() });
534
+ // If episode has critique, create causal relationship to previous failures
535
+ if (episode.critique && !episode.success) {
536
+ const previousFailures = await this.graphBackend.execute(`MATCH (e:Episode:Failure {sessionId: $sessionId})
537
+ WHERE e.timestamp < $timestamp
538
+ RETURN e
539
+ ORDER BY e.timestamp DESC
540
+ LIMIT 3`, { sessionId: episode.sessionId, timestamp: episode.ts || Date.now() });
541
+ for (const prevFailure of previousFailures.rows) {
542
+ await this.graphBackend.createRelationship(nodeId, prevFailure.e.id, 'LEARNED_FROM', {
543
+ critique: episode.critique,
544
+ improvementAttempt: true
545
+ });
546
+ }
547
+ }
548
+ }
549
+ /**
550
+ * Enhance query embedding using GNN attention mechanism
551
+ */
552
+ async enhanceQueryWithGNN(queryEmbedding, k) {
553
+ if (!this.learningBackend || !this.vectorBackend) {
554
+ return queryEmbedding;
555
+ }
556
+ try {
557
+ // Get initial neighbors
558
+ const initialResults = this.vectorBackend.search(queryEmbedding, k * 2, {
559
+ threshold: 0.0
560
+ });
561
+ if (initialResults.length === 0) {
562
+ return queryEmbedding;
563
+ }
564
+ // Fetch neighbor embeddings
565
+ const neighborEmbeddings = [];
566
+ const weights = [];
567
+ const episodeIds = initialResults.map(r => r.id);
568
+ const placeholders = episodeIds.map(() => '?').join(',');
569
+ const episodes = this.db.prepare(`
570
+ SELECT ee.embedding, e.reward
571
+ FROM episode_embeddings ee
572
+ JOIN episodes e ON e.id = ee.episode_id
573
+ WHERE ee.episode_id IN (${placeholders})
574
+ `).all(...episodeIds);
575
+ for (const ep of episodes) {
576
+ const embedding = this.deserializeEmbedding(ep.embedding);
577
+ neighborEmbeddings.push(embedding);
578
+ // Use reward as weight (higher reward = more important)
579
+ weights.push(Math.max(0.1, ep.reward));
580
+ }
581
+ // Enhance query using GNN
582
+ const enhanced = this.learningBackend.enhance(queryEmbedding, neighborEmbeddings, weights);
583
+ return enhanced;
584
+ }
585
+ catch (error) {
586
+ console.warn('[ReflexionMemory] GNN enhancement failed:', error);
587
+ return queryEmbedding;
588
+ }
589
+ }
590
+ /**
591
+ * Get graph-based episode relationships
592
+ */
593
+ async getEpisodeRelationships(episodeId) {
594
+ if (!this.graphBackend) {
595
+ return { similar: [], session: '', learnedFrom: [] };
596
+ }
597
+ const result = await this.graphBackend.execute(`MATCH (e:Episode {episodeId: $episodeId})
598
+ OPTIONAL MATCH (e)-[:SIMILAR_TO]->(similar:Episode)
599
+ OPTIONAL MATCH (e)-[:BELONGS_TO_SESSION]->(s:Session)
600
+ OPTIONAL MATCH (e)-[:LEARNED_FROM]->(learned:Episode)
601
+ RETURN e, collect(DISTINCT similar.episodeId) as similar,
602
+ s.sessionId as session,
603
+ collect(DISTINCT learned.episodeId) as learnedFrom`, { episodeId });
604
+ if (result.rows.length === 0) {
605
+ return { similar: [], session: '', learnedFrom: [] };
606
+ }
607
+ const row = result.rows[0];
608
+ return {
609
+ similar: (row.similar || []).filter((id) => id != null),
610
+ session: row.session || '',
611
+ learnedFrom: (row.learnedFrom || []).filter((id) => id != null)
612
+ };
613
+ }
614
+ /**
615
+ * Train GNN model on accumulated samples
616
+ */
617
+ async trainGNN(options) {
618
+ if (!this.learningBackend) {
619
+ console.warn('[ReflexionMemory] No learning backend available for training');
620
+ return;
621
+ }
622
+ const stats = this.learningBackend.getStats();
623
+ if (stats.samplesCollected < 10) {
624
+ console.warn('[ReflexionMemory] Not enough samples for training (need at least 10)');
625
+ return;
626
+ }
627
+ const result = await this.learningBackend.train(options);
628
+ console.log('[ReflexionMemory] GNN training complete:', {
629
+ epochs: result.epochs,
630
+ finalLoss: result.finalLoss.toFixed(4),
631
+ improvement: `${(result.improvement * 100).toFixed(1)}%`,
632
+ duration: `${result.duration}ms`
633
+ });
634
+ }
635
+ /**
636
+ * Get learning backend statistics
637
+ */
638
+ getLearningStats() {
639
+ if (!this.learningBackend) {
640
+ return null;
641
+ }
642
+ return this.learningBackend.getStats();
643
+ }
644
+ /**
645
+ * Get graph backend statistics
646
+ */
647
+ getGraphStats() {
648
+ if (!this.graphBackend) {
649
+ return null;
650
+ }
651
+ return this.graphBackend.getStats();
652
+ }
653
+ }
654
+ //# sourceMappingURL=ReflexionMemory.js.map