agentdb 1.6.1 → 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 (719) 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/NightlyLearner.d.ts.map +1 -1
  110. package/dist/controllers/NightlyLearner.js +7 -4
  111. package/dist/controllers/NightlyLearner.js.map +1 -1
  112. package/dist/controllers/ReasoningBank.d.ts +101 -2
  113. package/dist/controllers/ReasoningBank.d.ts.map +1 -1
  114. package/dist/controllers/ReasoningBank.js +196 -4
  115. package/dist/controllers/ReasoningBank.js.map +1 -1
  116. package/dist/controllers/ReflexionMemory.d.ts +41 -1
  117. package/dist/controllers/ReflexionMemory.d.ts.map +1 -1
  118. package/dist/controllers/ReflexionMemory.js +282 -5
  119. package/dist/controllers/ReflexionMemory.js.map +1 -1
  120. package/dist/controllers/SkillLibrary.d.ts +27 -9
  121. package/dist/controllers/SkillLibrary.d.ts.map +1 -1
  122. package/dist/controllers/SkillLibrary.js +136 -47
  123. package/dist/controllers/SkillLibrary.js.map +1 -1
  124. package/dist/db-fallback.d.ts.map +1 -1
  125. package/dist/db-fallback.js +100 -29
  126. package/dist/db-fallback.js.map +1 -1
  127. package/dist/db-test.d.ts +13 -0
  128. package/dist/db-test.d.ts.map +1 -0
  129. package/dist/db-test.js +55 -0
  130. package/dist/db-test.js.map +1 -0
  131. package/dist/db-unified.d.ts +76 -0
  132. package/dist/db-unified.d.ts.map +1 -0
  133. package/dist/db-unified.js +278 -0
  134. package/dist/db-unified.js.map +1 -0
  135. package/dist/malp/core/ccc.d.ts +99 -0
  136. package/dist/malp/core/ccc.d.ts.map +1 -0
  137. package/dist/malp/core/ccc.js +181 -0
  138. package/dist/malp/core/ccc.js.map +1 -0
  139. package/dist/malp/core/index.d.ts +9 -0
  140. package/dist/malp/core/index.d.ts.map +1 -0
  141. package/dist/malp/core/index.js +9 -0
  142. package/dist/malp/core/index.js.map +1 -0
  143. package/dist/malp/core/linalg.d.ts +101 -0
  144. package/dist/malp/core/linalg.d.ts.map +1 -0
  145. package/dist/malp/core/linalg.js +278 -0
  146. package/dist/malp/core/linalg.js.map +1 -0
  147. package/dist/malp/core/optimizer.d.ts +68 -0
  148. package/dist/malp/core/optimizer.d.ts.map +1 -0
  149. package/dist/malp/core/optimizer.js +160 -0
  150. package/dist/malp/core/optimizer.js.map +1 -0
  151. package/dist/malp/index.d.ts +33 -0
  152. package/dist/malp/index.d.ts.map +1 -0
  153. package/dist/malp/index.js +37 -0
  154. package/dist/malp/index.js.map +1 -0
  155. package/dist/malp/metrics/agreement.d.ts +106 -0
  156. package/dist/malp/metrics/agreement.d.ts.map +1 -0
  157. package/dist/malp/metrics/agreement.js +199 -0
  158. package/dist/malp/metrics/agreement.js.map +1 -0
  159. package/dist/malp/metrics/comparison.d.ts +93 -0
  160. package/dist/malp/metrics/comparison.d.ts.map +1 -0
  161. package/dist/malp/metrics/comparison.js +256 -0
  162. package/dist/malp/metrics/comparison.js.map +1 -0
  163. package/dist/malp/metrics/index.d.ts +8 -0
  164. package/dist/malp/metrics/index.d.ts.map +1 -0
  165. package/dist/malp/metrics/index.js +8 -0
  166. package/dist/malp/metrics/index.js.map +1 -0
  167. package/dist/malp/metrics/performance.d.ts +61 -0
  168. package/dist/malp/metrics/performance.d.ts.map +1 -0
  169. package/dist/malp/metrics/performance.js +190 -0
  170. package/dist/malp/metrics/performance.js.map +1 -0
  171. package/dist/malp/models/index.d.ts +7 -0
  172. package/dist/malp/models/index.d.ts.map +1 -0
  173. package/dist/malp/models/index.js +7 -0
  174. package/dist/malp/models/index.js.map +1 -0
  175. package/dist/malp/models/malp.d.ts +116 -0
  176. package/dist/malp/models/malp.d.ts.map +1 -0
  177. package/dist/malp/models/malp.js +206 -0
  178. package/dist/malp/models/malp.js.map +1 -0
  179. package/dist/malp/models/regressor.d.ts +80 -0
  180. package/dist/malp/models/regressor.d.ts.map +1 -0
  181. package/dist/malp/models/regressor.js +229 -0
  182. package/dist/malp/models/regressor.js.map +1 -0
  183. package/dist/malp/reasoningbank_validator.d.ts +187 -0
  184. package/dist/malp/reasoningbank_validator.d.ts.map +1 -0
  185. package/dist/malp/reasoningbank_validator.js +246 -0
  186. package/dist/malp/reasoningbank_validator.js.map +1 -0
  187. package/dist/malp/wasm_bindings.d.ts +344 -0
  188. package/dist/malp/wasm_bindings.d.ts.map +1 -0
  189. package/dist/malp/wasm_bindings.js +9 -0
  190. package/dist/malp/wasm_bindings.js.map +1 -0
  191. package/dist/mcp/agentdb-mcp-server.js +512 -33
  192. package/dist/mcp/agentdb-mcp-server.js.map +1 -1
  193. package/dist/optimizations/BatchOperations.d.ts +42 -0
  194. package/dist/optimizations/BatchOperations.d.ts.map +1 -1
  195. package/dist/optimizations/BatchOperations.js +181 -0
  196. package/dist/optimizations/BatchOperations.js.map +1 -1
  197. package/dist/optimizations/ToolCache.d.ts +137 -0
  198. package/dist/optimizations/ToolCache.d.ts.map +1 -0
  199. package/dist/optimizations/ToolCache.js +281 -0
  200. package/dist/optimizations/ToolCache.js.map +1 -0
  201. package/dist/security/input-validation.d.ts +24 -0
  202. package/dist/security/input-validation.d.ts.map +1 -1
  203. package/dist/security/input-validation.js +106 -0
  204. package/dist/security/input-validation.js.map +1 -1
  205. package/dist/security/limits.d.ts +150 -0
  206. package/dist/security/limits.d.ts.map +1 -0
  207. package/dist/security/limits.js +288 -0
  208. package/dist/security/limits.js.map +1 -0
  209. package/dist/security/path-security.d.ts +100 -0
  210. package/dist/security/path-security.d.ts.map +1 -0
  211. package/dist/security/path-security.js +337 -0
  212. package/dist/security/path-security.js.map +1 -0
  213. package/dist/security/validation.d.ts +95 -0
  214. package/dist/security/validation.d.ts.map +1 -0
  215. package/dist/security/validation.js +315 -0
  216. package/dist/security/validation.js.map +1 -0
  217. package/dist/simulation/cli.d.ts +9 -0
  218. package/dist/simulation/cli.d.ts.map +1 -0
  219. package/dist/simulation/cli.js +68 -0
  220. package/dist/simulation/cli.js.map +1 -0
  221. package/dist/simulation/runner.d.ts +21 -0
  222. package/dist/simulation/runner.d.ts.map +1 -0
  223. package/dist/simulation/runner.js +241 -0
  224. package/dist/simulation/runner.js.map +1 -0
  225. package/dist/simulation/scenarios/aidefence-integration.d.ts +24 -0
  226. package/dist/simulation/scenarios/aidefence-integration.d.ts.map +1 -0
  227. package/dist/simulation/scenarios/aidefence-integration.js +124 -0
  228. package/dist/simulation/scenarios/aidefence-integration.js.map +1 -0
  229. package/dist/simulation/scenarios/bmssp-integration.d.ts +23 -0
  230. package/dist/simulation/scenarios/bmssp-integration.d.ts.map +1 -0
  231. package/dist/simulation/scenarios/bmssp-integration.js +104 -0
  232. package/dist/simulation/scenarios/bmssp-integration.js.map +1 -0
  233. package/dist/simulation/scenarios/causal-reasoning.d.ts +16 -0
  234. package/dist/simulation/scenarios/causal-reasoning.d.ts.map +1 -0
  235. package/dist/simulation/scenarios/causal-reasoning.js +108 -0
  236. package/dist/simulation/scenarios/causal-reasoning.js.map +1 -0
  237. package/dist/simulation/scenarios/consciousness-explorer.d.ts +25 -0
  238. package/dist/simulation/scenarios/consciousness-explorer.d.ts.map +1 -0
  239. package/dist/simulation/scenarios/consciousness-explorer.js +108 -0
  240. package/dist/simulation/scenarios/consciousness-explorer.js.map +1 -0
  241. package/dist/simulation/scenarios/domain-examples/e-commerce-recommendations.d.ts +135 -0
  242. package/dist/simulation/scenarios/domain-examples/e-commerce-recommendations.d.ts.map +1 -0
  243. package/dist/simulation/scenarios/domain-examples/e-commerce-recommendations.js +158 -0
  244. package/dist/simulation/scenarios/domain-examples/e-commerce-recommendations.js.map +1 -0
  245. package/dist/simulation/scenarios/domain-examples/index.d.ts +14 -0
  246. package/dist/simulation/scenarios/domain-examples/index.d.ts.map +1 -0
  247. package/dist/simulation/scenarios/domain-examples/index.js +14 -0
  248. package/dist/simulation/scenarios/domain-examples/index.js.map +1 -0
  249. package/dist/simulation/scenarios/domain-examples/iot-sensor-networks.d.ts +178 -0
  250. package/dist/simulation/scenarios/domain-examples/iot-sensor-networks.d.ts.map +1 -0
  251. package/dist/simulation/scenarios/domain-examples/iot-sensor-networks.js +218 -0
  252. package/dist/simulation/scenarios/domain-examples/iot-sensor-networks.js.map +1 -0
  253. package/dist/simulation/scenarios/domain-examples/medical-imaging.d.ts +122 -0
  254. package/dist/simulation/scenarios/domain-examples/medical-imaging.d.ts.map +1 -0
  255. package/dist/simulation/scenarios/domain-examples/medical-imaging.js +129 -0
  256. package/dist/simulation/scenarios/domain-examples/medical-imaging.js.map +1 -0
  257. package/dist/simulation/scenarios/domain-examples/robotics-navigation.d.ts +166 -0
  258. package/dist/simulation/scenarios/domain-examples/robotics-navigation.d.ts.map +1 -0
  259. package/dist/simulation/scenarios/domain-examples/robotics-navigation.js +161 -0
  260. package/dist/simulation/scenarios/domain-examples/robotics-navigation.js.map +1 -0
  261. package/dist/simulation/scenarios/domain-examples/scientific-research.d.ts +151 -0
  262. package/dist/simulation/scenarios/domain-examples/scientific-research.d.ts.map +1 -0
  263. package/dist/simulation/scenarios/domain-examples/scientific-research.js +187 -0
  264. package/dist/simulation/scenarios/domain-examples/scientific-research.js.map +1 -0
  265. package/dist/simulation/scenarios/domain-examples/trading-systems.d.ts +102 -0
  266. package/dist/simulation/scenarios/domain-examples/trading-systems.d.ts.map +1 -0
  267. package/dist/simulation/scenarios/domain-examples/trading-systems.js +100 -0
  268. package/dist/simulation/scenarios/domain-examples/trading-systems.js.map +1 -0
  269. package/dist/simulation/scenarios/goalie-integration.d.ts +24 -0
  270. package/dist/simulation/scenarios/goalie-integration.d.ts.map +1 -0
  271. package/dist/simulation/scenarios/goalie-integration.js +121 -0
  272. package/dist/simulation/scenarios/goalie-integration.js.map +1 -0
  273. package/dist/simulation/scenarios/graph-traversal.d.ts +17 -0
  274. package/dist/simulation/scenarios/graph-traversal.d.ts.map +1 -0
  275. package/dist/simulation/scenarios/graph-traversal.js +101 -0
  276. package/dist/simulation/scenarios/graph-traversal.js.map +1 -0
  277. package/dist/simulation/scenarios/latent-space/attention-analysis.d.ts +45 -0
  278. package/dist/simulation/scenarios/latent-space/attention-analysis.d.ts.map +1 -0
  279. package/dist/simulation/scenarios/latent-space/attention-analysis.js +435 -0
  280. package/dist/simulation/scenarios/latent-space/attention-analysis.js.map +1 -0
  281. package/dist/simulation/scenarios/latent-space/clustering-analysis.d.ts +55 -0
  282. package/dist/simulation/scenarios/latent-space/clustering-analysis.d.ts.map +1 -0
  283. package/dist/simulation/scenarios/latent-space/clustering-analysis.js +606 -0
  284. package/dist/simulation/scenarios/latent-space/clustering-analysis.js.map +1 -0
  285. package/dist/simulation/scenarios/latent-space/hnsw-exploration.d.ts +74 -0
  286. package/dist/simulation/scenarios/latent-space/hnsw-exploration.d.ts.map +1 -0
  287. package/dist/simulation/scenarios/latent-space/hnsw-exploration.js +391 -0
  288. package/dist/simulation/scenarios/latent-space/hnsw-exploration.js.map +1 -0
  289. package/dist/simulation/scenarios/latent-space/hypergraph-exploration.d.ts +51 -0
  290. package/dist/simulation/scenarios/latent-space/hypergraph-exploration.d.ts.map +1 -0
  291. package/dist/simulation/scenarios/latent-space/hypergraph-exploration.js +536 -0
  292. package/dist/simulation/scenarios/latent-space/hypergraph-exploration.js.map +1 -0
  293. package/dist/simulation/scenarios/latent-space/index.d.ts +35 -0
  294. package/dist/simulation/scenarios/latent-space/index.d.ts.map +1 -0
  295. package/dist/simulation/scenarios/latent-space/index.js +35 -0
  296. package/dist/simulation/scenarios/latent-space/index.js.map +1 -0
  297. package/dist/simulation/scenarios/latent-space/neural-augmentation.d.ts +52 -0
  298. package/dist/simulation/scenarios/latent-space/neural-augmentation.d.ts.map +1 -0
  299. package/dist/simulation/scenarios/latent-space/neural-augmentation.js +472 -0
  300. package/dist/simulation/scenarios/latent-space/neural-augmentation.js.map +1 -0
  301. package/dist/simulation/scenarios/latent-space/quantum-hybrid.d.ts +53 -0
  302. package/dist/simulation/scenarios/latent-space/quantum-hybrid.d.ts.map +1 -0
  303. package/dist/simulation/scenarios/latent-space/quantum-hybrid.js +391 -0
  304. package/dist/simulation/scenarios/latent-space/quantum-hybrid.js.map +1 -0
  305. package/dist/simulation/scenarios/latent-space/self-organizing-hnsw.d.ts +52 -0
  306. package/dist/simulation/scenarios/latent-space/self-organizing-hnsw.d.ts.map +1 -0
  307. package/dist/simulation/scenarios/latent-space/self-organizing-hnsw.js +514 -0
  308. package/dist/simulation/scenarios/latent-space/self-organizing-hnsw.js.map +1 -0
  309. package/dist/simulation/scenarios/latent-space/traversal-optimization.d.ts +53 -0
  310. package/dist/simulation/scenarios/latent-space/traversal-optimization.d.ts.map +1 -0
  311. package/dist/simulation/scenarios/latent-space/traversal-optimization.js +595 -0
  312. package/dist/simulation/scenarios/latent-space/traversal-optimization.js.map +1 -0
  313. package/dist/simulation/scenarios/lean-agentic-swarm.d.ts +18 -0
  314. package/dist/simulation/scenarios/lean-agentic-swarm.d.ts.map +1 -0
  315. package/dist/simulation/scenarios/lean-agentic-swarm.js +132 -0
  316. package/dist/simulation/scenarios/lean-agentic-swarm.js.map +1 -0
  317. package/dist/simulation/scenarios/multi-agent-swarm.d.ts +17 -0
  318. package/dist/simulation/scenarios/multi-agent-swarm.d.ts.map +1 -0
  319. package/dist/simulation/scenarios/multi-agent-swarm.js +111 -0
  320. package/dist/simulation/scenarios/multi-agent-swarm.js.map +1 -0
  321. package/dist/simulation/scenarios/psycho-symbolic-reasoner.d.ts +23 -0
  322. package/dist/simulation/scenarios/psycho-symbolic-reasoner.d.ts.map +1 -0
  323. package/dist/simulation/scenarios/psycho-symbolic-reasoner.js +98 -0
  324. package/dist/simulation/scenarios/psycho-symbolic-reasoner.js.map +1 -0
  325. package/dist/simulation/scenarios/reflexion-learning.d.ts +16 -0
  326. package/dist/simulation/scenarios/reflexion-learning.d.ts.map +1 -0
  327. package/dist/simulation/scenarios/reflexion-learning.js +98 -0
  328. package/dist/simulation/scenarios/reflexion-learning.js.map +1 -0
  329. package/dist/simulation/scenarios/research-swarm.d.ts +24 -0
  330. package/dist/simulation/scenarios/research-swarm.d.ts.map +1 -0
  331. package/dist/simulation/scenarios/research-swarm.js +146 -0
  332. package/dist/simulation/scenarios/research-swarm.js.map +1 -0
  333. package/dist/simulation/scenarios/skill-evolution.d.ts +16 -0
  334. package/dist/simulation/scenarios/skill-evolution.d.ts.map +1 -0
  335. package/dist/simulation/scenarios/skill-evolution.js +109 -0
  336. package/dist/simulation/scenarios/skill-evolution.js.map +1 -0
  337. package/dist/simulation/scenarios/stock-market-emergence.d.ts +33 -0
  338. package/dist/simulation/scenarios/stock-market-emergence.d.ts.map +1 -0
  339. package/dist/simulation/scenarios/stock-market-emergence.js +246 -0
  340. package/dist/simulation/scenarios/stock-market-emergence.js.map +1 -0
  341. package/dist/simulation/scenarios/strange-loops.d.ts +18 -0
  342. package/dist/simulation/scenarios/strange-loops.d.ts.map +1 -0
  343. package/dist/simulation/scenarios/strange-loops.js +133 -0
  344. package/dist/simulation/scenarios/strange-loops.js.map +1 -0
  345. package/dist/simulation/scenarios/sublinear-solver.d.ts +22 -0
  346. package/dist/simulation/scenarios/sublinear-solver.d.ts.map +1 -0
  347. package/dist/simulation/scenarios/sublinear-solver.js +82 -0
  348. package/dist/simulation/scenarios/sublinear-solver.js.map +1 -0
  349. package/dist/simulation/scenarios/temporal-lead-solver.d.ts +23 -0
  350. package/dist/simulation/scenarios/temporal-lead-solver.d.ts.map +1 -0
  351. package/dist/simulation/scenarios/temporal-lead-solver.js +90 -0
  352. package/dist/simulation/scenarios/temporal-lead-solver.js.map +1 -0
  353. package/dist/simulation/scenarios/voting-system-consensus.d.ts +27 -0
  354. package/dist/simulation/scenarios/voting-system-consensus.d.ts.map +1 -0
  355. package/dist/simulation/scenarios/voting-system-consensus.js +175 -0
  356. package/dist/simulation/scenarios/voting-system-consensus.js.map +1 -0
  357. package/dist/simulation/types.d.ts +162 -0
  358. package/dist/simulation/types.d.ts.map +1 -0
  359. package/dist/simulation/types.js +5 -0
  360. package/dist/simulation/types.js.map +1 -0
  361. package/dist/simulation/utils/PerformanceOptimizer.d.ts +115 -0
  362. package/dist/simulation/utils/PerformanceOptimizer.d.ts.map +1 -0
  363. package/dist/simulation/utils/PerformanceOptimizer.js +223 -0
  364. package/dist/simulation/utils/PerformanceOptimizer.js.map +1 -0
  365. package/dist/src/backends/GraphBackend.d.ts +196 -0
  366. package/dist/src/backends/GraphBackend.d.ts.map +1 -0
  367. package/dist/src/backends/GraphBackend.js +33 -0
  368. package/dist/src/backends/GraphBackend.js.map +1 -0
  369. package/dist/src/backends/LearningBackend.d.ts +148 -0
  370. package/dist/src/backends/LearningBackend.d.ts.map +1 -0
  371. package/dist/src/backends/LearningBackend.js +27 -0
  372. package/dist/src/backends/LearningBackend.js.map +1 -0
  373. package/dist/src/backends/VectorBackend.d.ts +119 -0
  374. package/dist/src/backends/VectorBackend.d.ts.map +1 -0
  375. package/dist/src/backends/VectorBackend.js +14 -0
  376. package/dist/src/backends/VectorBackend.js.map +1 -0
  377. package/dist/src/backends/detector.d.ts +81 -0
  378. package/dist/src/backends/detector.d.ts.map +1 -0
  379. package/dist/src/backends/detector.js +192 -0
  380. package/dist/src/backends/detector.js.map +1 -0
  381. package/dist/src/backends/factory.d.ts +50 -0
  382. package/dist/src/backends/factory.d.ts.map +1 -0
  383. package/dist/src/backends/factory.js +161 -0
  384. package/dist/src/backends/factory.js.map +1 -0
  385. package/dist/src/backends/graph/GraphDatabaseAdapter.d.ts +151 -0
  386. package/dist/src/backends/graph/GraphDatabaseAdapter.d.ts.map +1 -0
  387. package/dist/src/backends/graph/GraphDatabaseAdapter.js +224 -0
  388. package/dist/src/backends/graph/GraphDatabaseAdapter.js.map +1 -0
  389. package/dist/src/backends/hnswlib/HNSWLibBackend.d.ts +92 -0
  390. package/dist/src/backends/hnswlib/HNSWLibBackend.d.ts.map +1 -0
  391. package/dist/src/backends/hnswlib/HNSWLibBackend.js +316 -0
  392. package/dist/src/backends/hnswlib/HNSWLibBackend.js.map +1 -0
  393. package/dist/src/backends/hnswlib/index.d.ts +7 -0
  394. package/dist/src/backends/hnswlib/index.d.ts.map +1 -0
  395. package/dist/src/backends/hnswlib/index.js +7 -0
  396. package/dist/src/backends/hnswlib/index.js.map +1 -0
  397. package/dist/src/backends/index.d.ts +14 -0
  398. package/dist/src/backends/index.d.ts.map +1 -0
  399. package/dist/src/backends/index.js +13 -0
  400. package/dist/src/backends/index.js.map +1 -0
  401. package/dist/src/backends/ruvector/RuVectorBackend.d.ts +75 -0
  402. package/dist/src/backends/ruvector/RuVectorBackend.d.ts.map +1 -0
  403. package/dist/src/backends/ruvector/RuVectorBackend.js +198 -0
  404. package/dist/src/backends/ruvector/RuVectorBackend.js.map +1 -0
  405. package/dist/src/backends/ruvector/RuVectorLearning.d.ts +104 -0
  406. package/dist/src/backends/ruvector/RuVectorLearning.d.ts.map +1 -0
  407. package/dist/src/backends/ruvector/RuVectorLearning.js +177 -0
  408. package/dist/src/backends/ruvector/RuVectorLearning.js.map +1 -0
  409. package/dist/src/backends/ruvector/index.d.ts +9 -0
  410. package/dist/src/backends/ruvector/index.d.ts.map +1 -0
  411. package/dist/src/backends/ruvector/index.js +8 -0
  412. package/dist/src/backends/ruvector/index.js.map +1 -0
  413. package/dist/src/benchmarks/wasm-vector-benchmark.d.ts +10 -0
  414. package/dist/src/benchmarks/wasm-vector-benchmark.d.ts.map +1 -0
  415. package/dist/src/benchmarks/wasm-vector-benchmark.js +196 -0
  416. package/dist/src/benchmarks/wasm-vector-benchmark.js.map +1 -0
  417. package/dist/src/browser/AdvancedFeatures.d.ts +144 -0
  418. package/dist/src/browser/AdvancedFeatures.d.ts.map +1 -0
  419. package/dist/src/browser/AdvancedFeatures.js +430 -0
  420. package/dist/src/browser/AdvancedFeatures.js.map +1 -0
  421. package/dist/src/browser/HNSWIndex.d.ts +117 -0
  422. package/dist/src/browser/HNSWIndex.d.ts.map +1 -0
  423. package/dist/src/browser/HNSWIndex.js +402 -0
  424. package/dist/src/browser/HNSWIndex.js.map +1 -0
  425. package/dist/src/browser/ProductQuantization.d.ts +107 -0
  426. package/dist/src/browser/ProductQuantization.d.ts.map +1 -0
  427. package/dist/src/browser/ProductQuantization.js +337 -0
  428. package/dist/src/browser/ProductQuantization.js.map +1 -0
  429. package/dist/src/browser/index.d.ts +223 -0
  430. package/dist/src/browser/index.d.ts.map +1 -0
  431. package/dist/src/browser/index.js +225 -0
  432. package/dist/src/browser/index.js.map +1 -0
  433. package/dist/src/cli/agentdb-cli.d.ts +154 -0
  434. package/dist/src/cli/agentdb-cli.d.ts.map +1 -0
  435. package/dist/src/cli/agentdb-cli.js +2273 -0
  436. package/dist/src/cli/agentdb-cli.js.map +1 -0
  437. package/dist/src/cli/commands/init.d.ts +12 -0
  438. package/dist/src/cli/commands/init.d.ts.map +1 -0
  439. package/dist/src/cli/commands/init.js +115 -0
  440. package/dist/src/cli/commands/init.js.map +1 -0
  441. package/dist/src/cli/commands/install-embeddings.d.ts +10 -0
  442. package/dist/src/cli/commands/install-embeddings.d.ts.map +1 -0
  443. package/dist/src/cli/commands/install-embeddings.js +68 -0
  444. package/dist/src/cli/commands/install-embeddings.js.map +1 -0
  445. package/dist/src/cli/commands/migrate.d.ts +15 -0
  446. package/dist/src/cli/commands/migrate.d.ts.map +1 -0
  447. package/dist/src/cli/commands/migrate.js +425 -0
  448. package/dist/src/cli/commands/migrate.js.map +1 -0
  449. package/dist/src/cli/commands/simulate-custom.d.ts +26 -0
  450. package/dist/src/cli/commands/simulate-custom.d.ts.map +1 -0
  451. package/dist/src/cli/commands/simulate-custom.js +207 -0
  452. package/dist/src/cli/commands/simulate-custom.js.map +1 -0
  453. package/dist/src/cli/commands/simulate-report.d.ts +15 -0
  454. package/dist/src/cli/commands/simulate-report.d.ts.map +1 -0
  455. package/dist/src/cli/commands/simulate-report.js +136 -0
  456. package/dist/src/cli/commands/simulate-report.js.map +1 -0
  457. package/dist/src/cli/commands/simulate-wizard.d.ts +6 -0
  458. package/dist/src/cli/commands/simulate-wizard.d.ts.map +1 -0
  459. package/dist/src/cli/commands/simulate-wizard.js +352 -0
  460. package/dist/src/cli/commands/simulate-wizard.js.map +1 -0
  461. package/dist/src/cli/commands/simulate.d.ts +7 -0
  462. package/dist/src/cli/commands/simulate.d.ts.map +1 -0
  463. package/dist/src/cli/commands/simulate.js +100 -0
  464. package/dist/src/cli/commands/simulate.js.map +1 -0
  465. package/dist/src/cli/commands/status.d.ts +10 -0
  466. package/dist/src/cli/commands/status.d.ts.map +1 -0
  467. package/dist/src/cli/commands/status.js +129 -0
  468. package/dist/src/cli/commands/status.js.map +1 -0
  469. package/dist/src/cli/lib/config-manager.d.ts +110 -0
  470. package/dist/src/cli/lib/config-manager.d.ts.map +1 -0
  471. package/dist/src/cli/lib/config-manager.js +512 -0
  472. package/dist/src/cli/lib/config-manager.js.map +1 -0
  473. package/dist/src/cli/lib/config-validator.d.ts +43 -0
  474. package/dist/src/cli/lib/config-validator.d.ts.map +1 -0
  475. package/dist/src/cli/lib/config-validator.js +217 -0
  476. package/dist/src/cli/lib/config-validator.js.map +1 -0
  477. package/dist/src/cli/lib/health-monitor.d.ts +149 -0
  478. package/dist/src/cli/lib/health-monitor.d.ts.map +1 -0
  479. package/dist/src/cli/lib/health-monitor.js +380 -0
  480. package/dist/src/cli/lib/health-monitor.js.map +1 -0
  481. package/dist/src/cli/lib/help-formatter.d.ts +38 -0
  482. package/dist/src/cli/lib/help-formatter.d.ts.map +1 -0
  483. package/dist/src/cli/lib/help-formatter.js +357 -0
  484. package/dist/src/cli/lib/help-formatter.js.map +1 -0
  485. package/dist/src/cli/lib/history-tracker.d.ts +103 -0
  486. package/dist/src/cli/lib/history-tracker.d.ts.map +1 -0
  487. package/dist/src/cli/lib/history-tracker.js +346 -0
  488. package/dist/src/cli/lib/history-tracker.js.map +1 -0
  489. package/dist/src/cli/lib/report-generator.d.ts +24 -0
  490. package/dist/src/cli/lib/report-generator.d.ts.map +1 -0
  491. package/dist/src/cli/lib/report-generator.js +417 -0
  492. package/dist/src/cli/lib/report-generator.js.map +1 -0
  493. package/dist/src/cli/lib/report-store.d.ts +116 -0
  494. package/dist/src/cli/lib/report-store.d.ts.map +1 -0
  495. package/dist/src/cli/lib/report-store.js +464 -0
  496. package/dist/src/cli/lib/report-store.js.map +1 -0
  497. package/dist/src/cli/lib/simulation-registry.d.ts +165 -0
  498. package/dist/src/cli/lib/simulation-registry.d.ts.map +1 -0
  499. package/dist/src/cli/lib/simulation-registry.js +332 -0
  500. package/dist/src/cli/lib/simulation-registry.js.map +1 -0
  501. package/dist/src/cli/lib/simulation-runner.d.ts +90 -0
  502. package/dist/src/cli/lib/simulation-runner.d.ts.map +1 -0
  503. package/dist/src/cli/lib/simulation-runner.js +211 -0
  504. package/dist/src/cli/lib/simulation-runner.js.map +1 -0
  505. package/dist/src/controllers/CausalMemoryGraph.d.ts +127 -0
  506. package/dist/src/controllers/CausalMemoryGraph.d.ts.map +1 -0
  507. package/dist/src/controllers/CausalMemoryGraph.js +354 -0
  508. package/dist/src/controllers/CausalMemoryGraph.js.map +1 -0
  509. package/dist/src/controllers/CausalRecall.d.ts +139 -0
  510. package/dist/src/controllers/CausalRecall.d.ts.map +1 -0
  511. package/dist/src/controllers/CausalRecall.js +356 -0
  512. package/dist/src/controllers/CausalRecall.js.map +1 -0
  513. package/dist/src/controllers/ContextSynthesizer.d.ts +65 -0
  514. package/dist/src/controllers/ContextSynthesizer.d.ts.map +1 -0
  515. package/dist/src/controllers/ContextSynthesizer.js +208 -0
  516. package/dist/src/controllers/ContextSynthesizer.js.map +1 -0
  517. package/dist/src/controllers/EmbeddingService.d.ts +37 -0
  518. package/dist/src/controllers/EmbeddingService.d.ts.map +1 -0
  519. package/dist/src/controllers/EmbeddingService.js +136 -0
  520. package/dist/src/controllers/EmbeddingService.js.map +1 -0
  521. package/dist/src/controllers/EnhancedEmbeddingService.d.ts +50 -0
  522. package/dist/src/controllers/EnhancedEmbeddingService.d.ts.map +1 -0
  523. package/dist/src/controllers/EnhancedEmbeddingService.js +119 -0
  524. package/dist/src/controllers/EnhancedEmbeddingService.js.map +1 -0
  525. package/dist/src/controllers/ExplainableRecall.d.ts +163 -0
  526. package/dist/src/controllers/ExplainableRecall.d.ts.map +1 -0
  527. package/dist/src/controllers/ExplainableRecall.js +485 -0
  528. package/dist/src/controllers/ExplainableRecall.js.map +1 -0
  529. package/dist/src/controllers/HNSWIndex.d.ts +128 -0
  530. package/dist/src/controllers/HNSWIndex.d.ts.map +1 -0
  531. package/dist/src/controllers/HNSWIndex.js +361 -0
  532. package/dist/src/controllers/HNSWIndex.js.map +1 -0
  533. package/dist/src/controllers/LearningSystem.d.ts +195 -0
  534. package/dist/src/controllers/LearningSystem.d.ts.map +1 -0
  535. package/dist/src/controllers/LearningSystem.js +929 -0
  536. package/dist/src/controllers/LearningSystem.js.map +1 -0
  537. package/dist/src/controllers/MMRDiversityRanker.d.ts +50 -0
  538. package/dist/src/controllers/MMRDiversityRanker.d.ts.map +1 -0
  539. package/dist/src/controllers/MMRDiversityRanker.js +130 -0
  540. package/dist/src/controllers/MMRDiversityRanker.js.map +1 -0
  541. package/dist/src/controllers/MetadataFilter.d.ts +70 -0
  542. package/dist/src/controllers/MetadataFilter.d.ts.map +1 -0
  543. package/dist/src/controllers/MetadataFilter.js +243 -0
  544. package/dist/src/controllers/MetadataFilter.js.map +1 -0
  545. package/dist/src/controllers/NightlyLearner.d.ts +114 -0
  546. package/dist/src/controllers/NightlyLearner.d.ts.map +1 -0
  547. package/dist/src/controllers/NightlyLearner.js +394 -0
  548. package/dist/src/controllers/NightlyLearner.js.map +1 -0
  549. package/dist/src/controllers/QUICClient.d.ts +109 -0
  550. package/dist/src/controllers/QUICClient.d.ts.map +1 -0
  551. package/dist/src/controllers/QUICClient.js +299 -0
  552. package/dist/src/controllers/QUICClient.js.map +1 -0
  553. package/dist/src/controllers/QUICServer.d.ts +121 -0
  554. package/dist/src/controllers/QUICServer.d.ts.map +1 -0
  555. package/dist/src/controllers/QUICServer.js +383 -0
  556. package/dist/src/controllers/QUICServer.js.map +1 -0
  557. package/dist/src/controllers/ReasoningBank.d.ts +196 -0
  558. package/dist/src/controllers/ReasoningBank.d.ts.map +1 -0
  559. package/dist/src/controllers/ReasoningBank.js +494 -0
  560. package/dist/src/controllers/ReasoningBank.js.map +1 -0
  561. package/dist/src/controllers/ReflexionMemory.d.ts +125 -0
  562. package/dist/src/controllers/ReflexionMemory.d.ts.map +1 -0
  563. package/dist/src/controllers/ReflexionMemory.js +654 -0
  564. package/dist/src/controllers/ReflexionMemory.js.map +1 -0
  565. package/dist/src/controllers/SkillLibrary.d.ts +150 -0
  566. package/dist/src/controllers/SkillLibrary.d.ts.map +1 -0
  567. package/dist/src/controllers/SkillLibrary.js +608 -0
  568. package/dist/src/controllers/SkillLibrary.js.map +1 -0
  569. package/dist/src/controllers/SyncCoordinator.d.ts +120 -0
  570. package/dist/src/controllers/SyncCoordinator.d.ts.map +1 -0
  571. package/dist/src/controllers/SyncCoordinator.js +441 -0
  572. package/dist/src/controllers/SyncCoordinator.js.map +1 -0
  573. package/dist/src/controllers/WASMVectorSearch.d.ts +89 -0
  574. package/dist/src/controllers/WASMVectorSearch.d.ts.map +1 -0
  575. package/dist/src/controllers/WASMVectorSearch.js +234 -0
  576. package/dist/src/controllers/WASMVectorSearch.js.map +1 -0
  577. package/dist/src/controllers/frontier-index.d.ts +14 -0
  578. package/dist/src/controllers/frontier-index.d.ts.map +1 -0
  579. package/dist/src/controllers/frontier-index.js +10 -0
  580. package/dist/src/controllers/frontier-index.js.map +1 -0
  581. package/dist/src/controllers/index.d.ts +30 -0
  582. package/dist/src/controllers/index.d.ts.map +1 -0
  583. package/dist/src/controllers/index.js +18 -0
  584. package/dist/src/controllers/index.js.map +1 -0
  585. package/dist/src/db-fallback.d.ts +26 -0
  586. package/dist/src/db-fallback.d.ts.map +1 -0
  587. package/dist/src/db-fallback.js +264 -0
  588. package/dist/src/db-fallback.js.map +1 -0
  589. package/dist/src/db-test.d.ts +13 -0
  590. package/dist/src/db-test.d.ts.map +1 -0
  591. package/dist/src/db-test.js +55 -0
  592. package/dist/src/db-test.js.map +1 -0
  593. package/dist/src/db-unified.d.ts +76 -0
  594. package/dist/src/db-unified.d.ts.map +1 -0
  595. package/dist/src/db-unified.js +279 -0
  596. package/dist/src/db-unified.js.map +1 -0
  597. package/dist/src/examples/quic-sync-example.d.ts +9 -0
  598. package/dist/src/examples/quic-sync-example.d.ts.map +1 -0
  599. package/dist/src/examples/quic-sync-example.js +169 -0
  600. package/dist/src/examples/quic-sync-example.js.map +1 -0
  601. package/dist/src/examples/wasm-vector-usage.d.ts +12 -0
  602. package/dist/src/examples/wasm-vector-usage.d.ts.map +1 -0
  603. package/dist/src/examples/wasm-vector-usage.js +190 -0
  604. package/dist/src/examples/wasm-vector-usage.js.map +1 -0
  605. package/dist/src/index.d.ts +28 -0
  606. package/dist/src/index.d.ts.map +1 -0
  607. package/dist/src/index.js +35 -0
  608. package/dist/src/index.js.map +1 -0
  609. package/dist/src/mcp/agentdb-mcp-server.d.ts +8 -0
  610. package/dist/src/mcp/agentdb-mcp-server.d.ts.map +1 -0
  611. package/dist/src/mcp/agentdb-mcp-server.js +2116 -0
  612. package/dist/src/mcp/agentdb-mcp-server.js.map +1 -0
  613. package/dist/src/mcp/learning-tools-handlers.d.ts +16 -0
  614. package/dist/src/mcp/learning-tools-handlers.d.ts.map +1 -0
  615. package/dist/src/mcp/learning-tools-handlers.js +105 -0
  616. package/dist/src/mcp/learning-tools-handlers.js.map +1 -0
  617. package/dist/src/optimizations/BatchOperations.d.ts +109 -0
  618. package/dist/src/optimizations/BatchOperations.d.ts.map +1 -0
  619. package/dist/src/optimizations/BatchOperations.js +407 -0
  620. package/dist/src/optimizations/BatchOperations.js.map +1 -0
  621. package/dist/src/optimizations/QueryOptimizer.d.ts +83 -0
  622. package/dist/src/optimizations/QueryOptimizer.d.ts.map +1 -0
  623. package/dist/src/optimizations/QueryOptimizer.js +228 -0
  624. package/dist/src/optimizations/QueryOptimizer.js.map +1 -0
  625. package/dist/src/optimizations/ToolCache.d.ts +137 -0
  626. package/dist/src/optimizations/ToolCache.d.ts.map +1 -0
  627. package/dist/src/optimizations/ToolCache.js +281 -0
  628. package/dist/src/optimizations/ToolCache.js.map +1 -0
  629. package/dist/src/optimizations/index.d.ts +10 -0
  630. package/dist/src/optimizations/index.d.ts.map +1 -0
  631. package/dist/src/optimizations/index.js +8 -0
  632. package/dist/src/optimizations/index.js.map +1 -0
  633. package/dist/src/security/input-validation.d.ts +109 -0
  634. package/dist/src/security/input-validation.d.ts.map +1 -0
  635. package/dist/src/security/input-validation.js +398 -0
  636. package/dist/src/security/input-validation.js.map +1 -0
  637. package/dist/src/security/limits.d.ts +150 -0
  638. package/dist/src/security/limits.d.ts.map +1 -0
  639. package/dist/src/security/limits.js +288 -0
  640. package/dist/src/security/limits.js.map +1 -0
  641. package/dist/src/security/path-security.d.ts +100 -0
  642. package/dist/src/security/path-security.d.ts.map +1 -0
  643. package/dist/src/security/path-security.js +337 -0
  644. package/dist/src/security/path-security.js.map +1 -0
  645. package/dist/src/security/validation.d.ts +95 -0
  646. package/dist/src/security/validation.d.ts.map +1 -0
  647. package/dist/src/security/validation.js +315 -0
  648. package/dist/src/security/validation.js.map +1 -0
  649. package/dist/src/services/LLMRouter.d.ts +84 -0
  650. package/dist/src/services/LLMRouter.d.ts.map +1 -0
  651. package/dist/src/services/LLMRouter.js +329 -0
  652. package/dist/src/services/LLMRouter.js.map +1 -0
  653. package/dist/src/types/quic.d.ts +518 -0
  654. package/dist/src/types/quic.d.ts.map +1 -0
  655. package/dist/src/types/quic.js +272 -0
  656. package/dist/src/types/quic.js.map +1 -0
  657. package/dist/src/utils/NodeIdMapper.d.ts +38 -0
  658. package/dist/src/utils/NodeIdMapper.d.ts.map +1 -0
  659. package/dist/src/utils/NodeIdMapper.js +57 -0
  660. package/dist/src/utils/NodeIdMapper.js.map +1 -0
  661. package/package.json +12 -2
  662. package/scripts/README.md +314 -0
  663. package/src/backends/GraphBackend.ts +290 -0
  664. package/src/backends/LearningBackend.ts +210 -0
  665. package/src/backends/README.md +389 -0
  666. package/src/backends/VectorBackend.ts +145 -0
  667. package/src/backends/detector.ts +283 -0
  668. package/src/backends/factory.ts +193 -0
  669. package/src/backends/graph/GraphDatabaseAdapter.ts +334 -0
  670. package/src/backends/hnswlib/HNSWLibBackend.ts +413 -0
  671. package/src/backends/hnswlib/index.ts +7 -0
  672. package/src/backends/index.ts +32 -0
  673. package/src/backends/ruvector/RuVectorBackend.ts +232 -0
  674. package/src/backends/ruvector/RuVectorLearning.ts +242 -0
  675. package/src/backends/ruvector/index.ts +9 -0
  676. package/src/backends/ruvector/types.d.ts +64 -0
  677. package/src/browser/AdvancedFeatures.ts +565 -0
  678. package/src/browser/HNSWIndex.ts +494 -0
  679. package/src/browser/ProductQuantization.ts +419 -0
  680. package/src/browser/index.ts +301 -0
  681. package/src/cli/agentdb-cli.ts +131 -8
  682. package/src/cli/commands/init.ts +148 -0
  683. package/src/cli/commands/install-embeddings.ts +81 -0
  684. package/src/cli/commands/migrate.ts +545 -0
  685. package/src/cli/commands/simulate-custom.ts +232 -0
  686. package/src/cli/commands/simulate-report.ts +171 -0
  687. package/src/cli/commands/simulate-wizard.ts +379 -0
  688. package/src/cli/commands/simulate.ts +115 -0
  689. package/src/cli/commands/status.ts +156 -0
  690. package/src/cli/lib/config-manager.ts +627 -0
  691. package/src/cli/lib/config-validator.ts +261 -0
  692. package/src/cli/lib/health-monitor.ts +513 -0
  693. package/src/cli/lib/help-formatter.ts +406 -0
  694. package/src/cli/lib/history-tracker.ts +497 -0
  695. package/src/cli/lib/report-generator.ts +455 -0
  696. package/src/cli/lib/report-store.ts +582 -0
  697. package/src/cli/lib/simulation-registry.ts +502 -0
  698. package/src/cli/lib/simulation-runner.ts +291 -0
  699. package/src/cli/tests/agentdb-cli.test.ts +58 -0
  700. package/src/controllers/CausalMemoryGraph.ts +42 -2
  701. package/src/controllers/CausalRecall.ts +41 -4
  702. package/src/controllers/ExplainableRecall.ts +123 -5
  703. package/src/controllers/NightlyLearner.ts +8 -4
  704. package/src/controllers/ReasoningBank.ts +268 -5
  705. package/src/controllers/ReflexionMemory.ts +531 -6
  706. package/src/controllers/SkillLibrary.ts +234 -60
  707. package/src/db-fallback.ts +103 -35
  708. package/src/db-test.ts +59 -0
  709. package/src/db-unified.ts +327 -0
  710. package/src/mcp/agentdb-mcp-server.ts +544 -38
  711. package/src/optimizations/BatchOperations.ts +270 -0
  712. package/src/optimizations/ToolCache.ts +355 -0
  713. package/src/security/input-validation.ts +166 -0
  714. package/src/security/limits.ts +375 -0
  715. package/src/security/path-security.ts +436 -0
  716. package/src/security/validation.ts +556 -0
  717. package/src/services/LLMRouter.ts +406 -0
  718. package/src/types/xenova-transformers.d.ts +26 -0
  719. package/src/utils/NodeIdMapper.ts +64 -0
@@ -0,0 +1,76 @@
1
+ /**
2
+ * Unified Database Layer for AgentDB v2
3
+ *
4
+ * Architecture:
5
+ * - PRIMARY: RuVector GraphDatabase (@ruvector/graph-node) for new databases
6
+ * - FALLBACK: SQLite (sql.js) for legacy databases
7
+ *
8
+ * Detection Logic:
9
+ * 1. Check if database file exists
10
+ * 2. If exists, check file signature to determine type
11
+ * 3. If new database or .graph extension → use GraphDatabase
12
+ * 4. If .db extension and SQLite signature → use SQLite (legacy mode)
13
+ *
14
+ * Migration:
15
+ * - Provides migration tool to convert SQLite → GraphDatabase
16
+ * - Maintains backward compatibility with existing databases
17
+ */
18
+ import { GraphDatabaseAdapter } from './backends/graph/GraphDatabaseAdapter.js';
19
+ export type DatabaseMode = 'graph' | 'sqlite-legacy';
20
+ export interface UnifiedDatabaseConfig {
21
+ path: string;
22
+ dimensions?: number;
23
+ forceMode?: DatabaseMode;
24
+ autoMigrate?: boolean;
25
+ }
26
+ /**
27
+ * Unified Database - Smart detection and mode selection
28
+ */
29
+ export declare class UnifiedDatabase {
30
+ private mode;
31
+ private graphDb?;
32
+ private sqliteDb?;
33
+ private config;
34
+ constructor(config: UnifiedDatabaseConfig);
35
+ /**
36
+ * Initialize database with automatic mode detection
37
+ */
38
+ initialize(embedder: any): Promise<void>;
39
+ /**
40
+ * Initialize the selected database mode
41
+ */
42
+ private initializeMode;
43
+ /**
44
+ * Check if file is a SQLite database
45
+ */
46
+ private isSQLiteDatabase;
47
+ /**
48
+ * Migrate SQLite database to RuVector GraphDatabase
49
+ */
50
+ private migrateSQLiteToGraph;
51
+ /**
52
+ * Get the active database mode
53
+ */
54
+ getMode(): DatabaseMode;
55
+ /**
56
+ * Get the graph database (if in graph mode)
57
+ */
58
+ getGraphDatabase(): GraphDatabaseAdapter | undefined;
59
+ /**
60
+ * Get the SQLite database (if in legacy mode)
61
+ */
62
+ getSQLiteDatabase(): any | undefined;
63
+ /**
64
+ * Execute a query (auto-routes to correct database)
65
+ */
66
+ query(queryOrCypher: string): Promise<any>;
67
+ /**
68
+ * Close database
69
+ */
70
+ close(): void;
71
+ }
72
+ /**
73
+ * Create unified database (smart mode detection)
74
+ */
75
+ export declare function createUnifiedDatabase(path: string, embedder: any, options?: Partial<UnifiedDatabaseConfig>): Promise<UnifiedDatabase>;
76
+ //# sourceMappingURL=db-unified.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"db-unified.d.ts","sourceRoot":"","sources":["../src/db-unified.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,oBAAoB,EAA4B,MAAM,0CAA0C,CAAC;AAK1G,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,eAAe,CAAC;AAErD,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,YAAY,CAAC;IACzB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;GAEG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,IAAI,CAAe;IAC3B,OAAO,CAAC,OAAO,CAAC,CAAuB;IACvC,OAAO,CAAC,QAAQ,CAAC,CAAM;IACvB,OAAO,CAAC,MAAM,CAAwB;gBAE1B,MAAM,EAAE,qBAAqB;IAKzC;;OAEG;IACG,UAAU,CAAC,QAAQ,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IA2D9C;;OAEG;YACW,cAAc;IA6B5B;;OAEG;YACW,gBAAgB;IAY9B;;OAEG;YACW,oBAAoB;IAoGlC;;OAEG;IACH,OAAO,IAAI,YAAY;IAIvB;;OAEG;IACH,gBAAgB,IAAI,oBAAoB,GAAG,SAAS;IAIpD;;OAEG;IACH,iBAAiB,IAAI,GAAG,GAAG,SAAS;IAIpC;;OAEG;IACG,KAAK,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAUhD;;OAEG;IACH,KAAK,IAAI,IAAI;CAQd;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,GAAG,EACb,OAAO,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,GACvC,OAAO,CAAC,eAAe,CAAC,CAY1B"}
@@ -0,0 +1,278 @@
1
+ /**
2
+ * Unified Database Layer for AgentDB v2
3
+ *
4
+ * Architecture:
5
+ * - PRIMARY: RuVector GraphDatabase (@ruvector/graph-node) for new databases
6
+ * - FALLBACK: SQLite (sql.js) for legacy databases
7
+ *
8
+ * Detection Logic:
9
+ * 1. Check if database file exists
10
+ * 2. If exists, check file signature to determine type
11
+ * 3. If new database or .graph extension → use GraphDatabase
12
+ * 4. If .db extension and SQLite signature → use SQLite (legacy mode)
13
+ *
14
+ * Migration:
15
+ * - Provides migration tool to convert SQLite → GraphDatabase
16
+ * - Maintains backward compatibility with existing databases
17
+ */
18
+ import { GraphDatabaseAdapter } from './backends/graph/GraphDatabaseAdapter.js';
19
+ import { getDatabaseImplementation } from './db-fallback.js';
20
+ import * as fs from 'fs';
21
+ import * as path from 'path';
22
+ /**
23
+ * Unified Database - Smart detection and mode selection
24
+ */
25
+ export class UnifiedDatabase {
26
+ mode;
27
+ graphDb;
28
+ sqliteDb;
29
+ config;
30
+ constructor(config) {
31
+ this.config = config;
32
+ this.mode = 'graph'; // Default to graph mode
33
+ }
34
+ /**
35
+ * Initialize database with automatic mode detection
36
+ */
37
+ async initialize(embedder) {
38
+ const dbPath = this.config.path;
39
+ // Check if user forced a specific mode
40
+ if (this.config.forceMode) {
41
+ this.mode = this.config.forceMode;
42
+ await this.initializeMode(embedder);
43
+ return;
44
+ }
45
+ // Auto-detect based on file extension and content
46
+ if (fs.existsSync(dbPath)) {
47
+ const ext = path.extname(dbPath);
48
+ // .graph extension = always use graph mode
49
+ if (ext === '.graph') {
50
+ this.mode = 'graph';
51
+ console.log('🔍 Detected .graph extension → Using RuVector GraphDatabase');
52
+ }
53
+ // .db extension = check if it's SQLite
54
+ else if (ext === '.db') {
55
+ const isLegacySQLite = await this.isSQLiteDatabase(dbPath);
56
+ if (isLegacySQLite) {
57
+ this.mode = 'sqlite-legacy';
58
+ console.log('🔍 Detected legacy SQLite database');
59
+ // Offer migration if autoMigrate is enabled
60
+ if (this.config.autoMigrate) {
61
+ console.log('🔄 Auto-migration enabled, will migrate to GraphDatabase...');
62
+ await this.migrateSQLiteToGraph(dbPath, embedder);
63
+ this.mode = 'graph';
64
+ }
65
+ else {
66
+ console.log('ℹ️ Running in legacy SQLite mode');
67
+ console.log('💡 To migrate to RuVector Graph: set autoMigrate: true');
68
+ }
69
+ }
70
+ else {
71
+ // Not SQLite, use graph mode
72
+ this.mode = 'graph';
73
+ console.log('🔍 Using RuVector GraphDatabase');
74
+ }
75
+ }
76
+ else {
77
+ // Unknown extension, default to graph
78
+ this.mode = 'graph';
79
+ }
80
+ }
81
+ else {
82
+ // New database - use graph mode (recommended)
83
+ this.mode = 'graph';
84
+ console.log('✨ Creating new RuVector GraphDatabase');
85
+ // Suggest .graph extension if not using it
86
+ if (!dbPath.endsWith('.graph') && !dbPath.endsWith('.db')) {
87
+ console.log('💡 Tip: Use .graph extension for clarity (e.g., agentdb.graph)');
88
+ }
89
+ }
90
+ await this.initializeMode(embedder);
91
+ }
92
+ /**
93
+ * Initialize the selected database mode
94
+ */
95
+ async initializeMode(embedder) {
96
+ if (this.mode === 'graph') {
97
+ // Use RuVector GraphDatabase
98
+ const config = {
99
+ storagePath: this.config.path,
100
+ dimensions: this.config.dimensions || 384,
101
+ distanceMetric: 'Cosine'
102
+ };
103
+ this.graphDb = new GraphDatabaseAdapter(config, embedder);
104
+ await this.graphDb.initialize();
105
+ console.log('✅ RuVector GraphDatabase ready (Primary Mode)');
106
+ console.log(' - Cypher queries enabled');
107
+ console.log(' - Hypergraph support active');
108
+ console.log(' - ACID transactions available');
109
+ console.log(' - 131K+ ops/sec batch inserts');
110
+ }
111
+ else {
112
+ // Use legacy SQLite
113
+ const impl = await getDatabaseImplementation();
114
+ this.sqliteDb = await require('./db-fallback.js').createDatabase(this.config.path);
115
+ console.log('⚠️ Using legacy SQLite mode');
116
+ console.log(' - Limited to SQL queries');
117
+ console.log(' - No hypergraph support');
118
+ console.log(' - Consider migration to GraphDatabase');
119
+ }
120
+ }
121
+ /**
122
+ * Check if file is a SQLite database
123
+ */
124
+ async isSQLiteDatabase(filePath) {
125
+ try {
126
+ const buffer = fs.readFileSync(filePath);
127
+ // SQLite databases start with "SQLite format 3\0"
128
+ const signature = buffer.slice(0, 16).toString();
129
+ return signature.startsWith('SQLite format 3');
130
+ }
131
+ catch {
132
+ return false;
133
+ }
134
+ }
135
+ /**
136
+ * Migrate SQLite database to RuVector GraphDatabase
137
+ */
138
+ async migrateSQLiteToGraph(sqlitePath, embedder) {
139
+ console.log('🔄 Starting migration from SQLite to RuVector Graph...');
140
+ const startTime = Date.now();
141
+ // Load SQLite database
142
+ const sqliteImpl = await getDatabaseImplementation();
143
+ const sqliteDb = await require('./db-fallback.js').createDatabase(sqlitePath);
144
+ // Create new GraphDatabase
145
+ const graphPath = sqlitePath.replace(/\.db$/, '.graph');
146
+ const graphConfig = {
147
+ storagePath: graphPath,
148
+ dimensions: this.config.dimensions || 384,
149
+ distanceMetric: 'Cosine'
150
+ };
151
+ const graphDb = new GraphDatabaseAdapter(graphConfig, embedder);
152
+ await graphDb.initialize();
153
+ // Migrate episodes
154
+ console.log(' 📦 Migrating episodes...');
155
+ const episodes = sqliteDb.prepare('SELECT * FROM episodes').all();
156
+ for (const ep of episodes) {
157
+ // Generate embedding for episode
158
+ const text = `${ep.task} ${ep.input || ''} ${ep.output || ''}`;
159
+ const embedding = await embedder.generateEmbedding(text);
160
+ await graphDb.storeEpisode({
161
+ id: `ep-${ep.id}`,
162
+ sessionId: ep.session_id,
163
+ task: ep.task,
164
+ reward: ep.reward,
165
+ success: ep.success === 1,
166
+ input: ep.input,
167
+ output: ep.output,
168
+ critique: ep.critique,
169
+ createdAt: ep.created_at,
170
+ tokensUsed: ep.tokens_used,
171
+ latencyMs: ep.latency_ms
172
+ }, embedding);
173
+ }
174
+ console.log(` ✅ Migrated ${episodes.length} episodes`);
175
+ // Migrate skills
176
+ console.log(' 📦 Migrating skills...');
177
+ const skills = sqliteDb.prepare('SELECT * FROM skills').all();
178
+ for (const skill of skills) {
179
+ const text = `${skill.name} ${skill.description} ${skill.code}`;
180
+ const embedding = await embedder.generateEmbedding(text);
181
+ await graphDb.storeSkill({
182
+ id: `skill-${skill.id}`,
183
+ name: skill.name,
184
+ description: skill.description,
185
+ code: skill.code,
186
+ usageCount: skill.usage_count,
187
+ avgReward: skill.avg_reward,
188
+ createdAt: skill.created_at,
189
+ updatedAt: skill.updated_at,
190
+ tags: skill.tags
191
+ }, embedding);
192
+ }
193
+ console.log(` ✅ Migrated ${skills.length} skills`);
194
+ // Migrate causal edges
195
+ console.log(' 📦 Migrating causal relationships...');
196
+ const edges = sqliteDb.prepare('SELECT * FROM causal_edges').all();
197
+ for (const edge of edges) {
198
+ const text = edge.mechanism;
199
+ const embedding = await embedder.generateEmbedding(text);
200
+ await graphDb.createCausalEdge({
201
+ from: `ep-${edge.from_memory_id}`,
202
+ to: `ep-${edge.to_memory_id}`,
203
+ mechanism: edge.mechanism,
204
+ uplift: edge.uplift,
205
+ confidence: edge.confidence,
206
+ sampleSize: edge.sample_size
207
+ }, embedding);
208
+ }
209
+ console.log(` ✅ Migrated ${edges.length} causal edges`);
210
+ const duration = ((Date.now() - startTime) / 1000).toFixed(2);
211
+ console.log(`\n🎉 Migration complete in ${duration}s!`);
212
+ console.log(` Old SQLite: ${sqlitePath}`);
213
+ console.log(` New Graph: ${graphPath}`);
214
+ console.log(`\n💡 Backup your SQLite file and update path to use .graph`);
215
+ // Close SQLite
216
+ sqliteDb.close();
217
+ // Update config to use new graph database
218
+ this.config.path = graphPath;
219
+ this.graphDb = graphDb;
220
+ }
221
+ /**
222
+ * Get the active database mode
223
+ */
224
+ getMode() {
225
+ return this.mode;
226
+ }
227
+ /**
228
+ * Get the graph database (if in graph mode)
229
+ */
230
+ getGraphDatabase() {
231
+ return this.graphDb;
232
+ }
233
+ /**
234
+ * Get the SQLite database (if in legacy mode)
235
+ */
236
+ getSQLiteDatabase() {
237
+ return this.sqliteDb;
238
+ }
239
+ /**
240
+ * Execute a query (auto-routes to correct database)
241
+ */
242
+ async query(queryOrCypher) {
243
+ if (this.mode === 'graph') {
244
+ // Execute Cypher query
245
+ return await this.graphDb.query(queryOrCypher);
246
+ }
247
+ else {
248
+ // Execute SQL query
249
+ return this.sqliteDb.prepare(queryOrCypher).all();
250
+ }
251
+ }
252
+ /**
253
+ * Close database
254
+ */
255
+ close() {
256
+ if (this.graphDb) {
257
+ this.graphDb.close();
258
+ }
259
+ if (this.sqliteDb) {
260
+ this.sqliteDb.close();
261
+ }
262
+ }
263
+ }
264
+ /**
265
+ * Create unified database (smart mode detection)
266
+ */
267
+ export async function createUnifiedDatabase(path, embedder, options) {
268
+ const config = {
269
+ path,
270
+ dimensions: options?.dimensions || 384,
271
+ forceMode: options?.forceMode,
272
+ autoMigrate: options?.autoMigrate ?? false // Default: manual migration
273
+ };
274
+ const db = new UnifiedDatabase(config);
275
+ await db.initialize(embedder);
276
+ return db;
277
+ }
278
+ //# sourceMappingURL=db-unified.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"db-unified.js","sourceRoot":"","sources":["../src/db-unified.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,99 @@
1
+ /**
2
+ * Concordance Correlation Coefficient (CCC) Module
3
+ *
4
+ * Provides functions for computing CCC and related metrics.
5
+ * CCC measures agreement between two continuous measurements.
6
+ */
7
+ import { Vector } from './linalg';
8
+ /**
9
+ * Components of the CCC calculation
10
+ */
11
+ export interface CCCComponents {
12
+ /** Pearson correlation coefficient */
13
+ rho: number;
14
+ /** Mean of first variable */
15
+ muX: number;
16
+ /** Mean of second variable */
17
+ muY: number;
18
+ /** Standard deviation of first variable */
19
+ sigmaX: number;
20
+ /** Standard deviation of second variable */
21
+ sigmaY: number;
22
+ /** Location shift component (bias) */
23
+ locationShift: number;
24
+ /** Scale shift component */
25
+ scaleShift: number;
26
+ /** Precision (correlation) */
27
+ precision: number;
28
+ /** Accuracy (bias correction factor) */
29
+ accuracy: number;
30
+ }
31
+ /**
32
+ * Result of CCC computation
33
+ */
34
+ export interface CCCResult {
35
+ /** Concordance Correlation Coefficient (-1 to 1) */
36
+ ccc: number;
37
+ /** Detailed components breakdown */
38
+ components: CCCComponents;
39
+ }
40
+ /**
41
+ * Compute Concordance Correlation Coefficient
42
+ *
43
+ * CCC measures agreement between two continuous measurements.
44
+ * Range: [-1, 1], where 1 = perfect agreement
45
+ *
46
+ * Formula: CCC = 2 * cov(x,y) / (var(x) + var(y) + (mean(x) - mean(y))^2)
47
+ *
48
+ * @param x - First variable (reference/gold standard)
49
+ * @param y - Second variable (new/test method)
50
+ * @returns CCC result with components
51
+ */
52
+ export declare function computeCCC(x: number[] | Vector, y: number[] | Vector): CCCResult;
53
+ /**
54
+ * Alternative implementation using explicit formula
55
+ * Same as computeCCC but more explicit
56
+ */
57
+ export declare function calculateCCC(x: number[] | Vector, y: number[] | Vector): CCCResult;
58
+ /**
59
+ * Compute gradient of CCC with respect to predictions
60
+ *
61
+ * Useful for optimization algorithms that maximize CCC.
62
+ *
63
+ * @param x - Observed values
64
+ * @param y - Predicted values
65
+ * @returns Gradient vector
66
+ */
67
+ export declare function computeCCCGradient(x: number[] | Vector, y: number[] | Vector): number[];
68
+ /**
69
+ * Compute diagonal of Hessian matrix for CCC
70
+ * (approximate second derivatives)
71
+ *
72
+ * @param x - Observed values
73
+ * @param y - Predicted values
74
+ * @returns Diagonal Hessian elements
75
+ */
76
+ export declare function computeCCCHessianDiagonal(x: number[] | Vector, y: number[] | Vector): number[];
77
+ /**
78
+ * CCC-based loss function (negative CCC for minimization)
79
+ *
80
+ * @param x - Observed values
81
+ * @param y - Predicted values
82
+ * @returns Negative CCC (for minimization)
83
+ */
84
+ export declare function cccLoss(x: number[] | Vector, y: number[] | Vector): number;
85
+ /**
86
+ * Interpret CCC value
87
+ *
88
+ * @param ccc - CCC value
89
+ * @returns Human-readable interpretation
90
+ */
91
+ export declare function interpretCCC(ccc: number): string;
92
+ /**
93
+ * Validate CCC value is within expected range
94
+ *
95
+ * @param ccc - CCC value to validate
96
+ * @throws Error if CCC is outside [-1, 1] range
97
+ */
98
+ export declare function validateCCC(ccc: number): void;
99
+ //# sourceMappingURL=ccc.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ccc.d.ts","sourceRoot":"","sources":["../../../src/malp/core/ccc.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,EAAoD,MAAM,UAAU,CAAC;AAEpF;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,sCAAsC;IACtC,GAAG,EAAE,MAAM,CAAC;IACZ,6BAA6B;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,8BAA8B;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,2CAA2C;IAC3C,MAAM,EAAE,MAAM,CAAC;IACf,4CAA4C;IAC5C,MAAM,EAAE,MAAM,CAAC;IACf,sCAAsC;IACtC,aAAa,EAAE,MAAM,CAAC;IACtB,4BAA4B;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,8BAA8B;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,wCAAwC;IACxC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,oDAAoD;IACpD,GAAG,EAAE,MAAM,CAAC;IACZ,oCAAoC;IACpC,UAAU,EAAE,aAAa,CAAC;CAC3B;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,UAAU,CACxB,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,EACpB,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,GACnB,SAAS,CAsDX;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAC1B,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,EACpB,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,GACnB,SAAS,CAEX;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAChC,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,EACpB,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,GACnB,MAAM,EAAE,CA6BV;AAED;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CACvC,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,EACpB,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,GACnB,MAAM,EAAE,CA4BV;AAED;;;;;;GAMG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,MAAM,CAE1E;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAYhD;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAQ7C"}
@@ -0,0 +1,181 @@
1
+ /**
2
+ * Concordance Correlation Coefficient (CCC) Module
3
+ *
4
+ * Provides functions for computing CCC and related metrics.
5
+ * CCC measures agreement between two continuous measurements.
6
+ */
7
+ import { createVector, mean, std, covariance, pearsonCorr } from './linalg';
8
+ /**
9
+ * Compute Concordance Correlation Coefficient
10
+ *
11
+ * CCC measures agreement between two continuous measurements.
12
+ * Range: [-1, 1], where 1 = perfect agreement
13
+ *
14
+ * Formula: CCC = 2 * cov(x,y) / (var(x) + var(y) + (mean(x) - mean(y))^2)
15
+ *
16
+ * @param x - First variable (reference/gold standard)
17
+ * @param y - Second variable (new/test method)
18
+ * @returns CCC result with components
19
+ */
20
+ export function computeCCC(x, y) {
21
+ const xVec = Array.isArray(x) ? createVector(x) : x;
22
+ const yVec = Array.isArray(y) ? createVector(y) : y;
23
+ if (xVec.length !== yVec.length) {
24
+ throw new Error(`Vector length mismatch: ${xVec.length} !== ${yVec.length}`);
25
+ }
26
+ if (xVec.length === 0) {
27
+ throw new Error('Cannot compute CCC on empty vectors');
28
+ }
29
+ // Compute basic statistics
30
+ const muX = mean(xVec);
31
+ const muY = mean(yVec);
32
+ const sigmaX = std(xVec, muX);
33
+ const sigmaY = std(yVec, muY);
34
+ const rho = pearsonCorr(xVec, yVec);
35
+ // CCC components
36
+ const locationShift = muX - muY;
37
+ const scaleShift = sigmaX / sigmaY;
38
+ const precision = rho;
39
+ const accuracy = 2.0 / (scaleShift + 1.0 / scaleShift);
40
+ // CCC formula: 2 * cov(x,y) / (var(x) + var(y) + (mean(x) - mean(y))^2)
41
+ const cov = covariance(xVec, yVec);
42
+ const varX = sigmaX * sigmaX;
43
+ const varY = sigmaY * sigmaY;
44
+ const meanDiffSq = locationShift * locationShift;
45
+ const numerator = 2.0 * cov;
46
+ const denominator = varX + varY + meanDiffSq;
47
+ if (denominator === 0) {
48
+ throw new Error('Division by zero in CCC calculation (constant values?)');
49
+ }
50
+ const ccc = numerator / denominator;
51
+ return {
52
+ ccc,
53
+ components: {
54
+ rho,
55
+ muX,
56
+ muY,
57
+ sigmaX,
58
+ sigmaY,
59
+ locationShift,
60
+ scaleShift,
61
+ precision,
62
+ accuracy,
63
+ },
64
+ };
65
+ }
66
+ /**
67
+ * Alternative implementation using explicit formula
68
+ * Same as computeCCC but more explicit
69
+ */
70
+ export function calculateCCC(x, y) {
71
+ return computeCCC(x, y);
72
+ }
73
+ /**
74
+ * Compute gradient of CCC with respect to predictions
75
+ *
76
+ * Useful for optimization algorithms that maximize CCC.
77
+ *
78
+ * @param x - Observed values
79
+ * @param y - Predicted values
80
+ * @returns Gradient vector
81
+ */
82
+ export function computeCCCGradient(x, y) {
83
+ const xVec = Array.isArray(x) ? createVector(x) : x;
84
+ const yVec = Array.isArray(y) ? createVector(y) : y;
85
+ if (xVec.length !== yVec.length) {
86
+ throw new Error('Vector length mismatch');
87
+ }
88
+ const n = xVec.length;
89
+ const muX = mean(xVec);
90
+ const muY = mean(yVec);
91
+ const sigmaX = std(xVec, muX);
92
+ const sigmaY = std(yVec, muY);
93
+ // Numerical gradient using finite differences
94
+ const epsilon = 1e-7;
95
+ const gradient = [];
96
+ for (let i = 0; i < n; i++) {
97
+ const yPerturbed = [...yVec.data];
98
+ yPerturbed[i] += epsilon;
99
+ const cccOriginal = computeCCC(xVec, yVec).ccc;
100
+ const cccPerturbed = computeCCC(xVec, createVector(yPerturbed)).ccc;
101
+ gradient.push((cccPerturbed - cccOriginal) / epsilon);
102
+ }
103
+ return gradient;
104
+ }
105
+ /**
106
+ * Compute diagonal of Hessian matrix for CCC
107
+ * (approximate second derivatives)
108
+ *
109
+ * @param x - Observed values
110
+ * @param y - Predicted values
111
+ * @returns Diagonal Hessian elements
112
+ */
113
+ export function computeCCCHessianDiagonal(x, y) {
114
+ const xVec = Array.isArray(x) ? createVector(x) : x;
115
+ const yVec = Array.isArray(y) ? createVector(y) : y;
116
+ const n = xVec.length;
117
+ const epsilon = 1e-6;
118
+ const hessian = [];
119
+ for (let i = 0; i < n; i++) {
120
+ // Compute f(x + h)
121
+ const yPlus = [...yVec.data];
122
+ yPlus[i] += epsilon;
123
+ const cccPlus = computeCCC(xVec, createVector(yPlus)).ccc;
124
+ // Compute f(x - h)
125
+ const yMinus = [...yVec.data];
126
+ yMinus[i] -= epsilon;
127
+ const cccMinus = computeCCC(xVec, createVector(yMinus)).ccc;
128
+ // Compute f(x)
129
+ const cccCurrent = computeCCC(xVec, yVec).ccc;
130
+ // Second derivative: (f(x+h) - 2f(x) + f(x-h)) / h^2
131
+ const secondDerivative = (cccPlus - 2 * cccCurrent + cccMinus) / (epsilon * epsilon);
132
+ hessian.push(secondDerivative);
133
+ }
134
+ return hessian;
135
+ }
136
+ /**
137
+ * CCC-based loss function (negative CCC for minimization)
138
+ *
139
+ * @param x - Observed values
140
+ * @param y - Predicted values
141
+ * @returns Negative CCC (for minimization)
142
+ */
143
+ export function cccLoss(x, y) {
144
+ return -computeCCC(x, y).ccc;
145
+ }
146
+ /**
147
+ * Interpret CCC value
148
+ *
149
+ * @param ccc - CCC value
150
+ * @returns Human-readable interpretation
151
+ */
152
+ export function interpretCCC(ccc) {
153
+ const absCcc = Math.abs(ccc);
154
+ if (absCcc < 0.90) {
155
+ return 'Poor agreement';
156
+ }
157
+ else if (absCcc < 0.95) {
158
+ return 'Moderate agreement';
159
+ }
160
+ else if (absCcc < 0.99) {
161
+ return 'Substantial agreement';
162
+ }
163
+ else {
164
+ return 'Almost perfect agreement';
165
+ }
166
+ }
167
+ /**
168
+ * Validate CCC value is within expected range
169
+ *
170
+ * @param ccc - CCC value to validate
171
+ * @throws Error if CCC is outside [-1, 1] range
172
+ */
173
+ export function validateCCC(ccc) {
174
+ if (!isFinite(ccc)) {
175
+ throw new Error('CCC must be a finite number');
176
+ }
177
+ if (ccc < -1.0 || ccc > 1.0) {
178
+ throw new Error(`CCC must be in range [-1, 1], got ${ccc}`);
179
+ }
180
+ }
181
+ //# sourceMappingURL=ccc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ccc.js","sourceRoot":"","sources":["../../../src/malp/core/ccc.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * MALP Core Module
3
+ *
4
+ * Exports core algorithms and utilities for MALP regression.
5
+ */
6
+ export * from './linalg';
7
+ export * from './ccc';
8
+ export * from './optimizer';
9
+ //# sourceMappingURL=index.d.ts.map