agentdb 3.0.0-alpha.2 → 3.0.0-alpha.20

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 (519) hide show
  1. package/README.md +208 -2593
  2. package/dist/src/backends/GraphBackend.d.ts +8 -8
  3. package/dist/src/backends/GraphBackend.d.ts.map +1 -1
  4. package/dist/src/backends/GraphBackend.js +15 -16
  5. package/dist/src/backends/GraphBackend.js.map +1 -1
  6. package/dist/src/backends/LearningBackend.d.ts +2 -2
  7. package/dist/src/backends/LearningBackend.d.ts.map +1 -1
  8. package/dist/src/backends/LearningBackend.js +10 -11
  9. package/dist/src/backends/LearningBackend.js.map +1 -1
  10. package/dist/src/backends/VectorBackend.d.ts +10 -0
  11. package/dist/src/backends/VectorBackend.d.ts.map +1 -1
  12. package/dist/src/backends/detector.d.ts +3 -25
  13. package/dist/src/backends/detector.d.ts.map +1 -1
  14. package/dist/src/backends/detector.js +15 -119
  15. package/dist/src/backends/detector.js.map +1 -1
  16. package/dist/src/backends/graph/GraphDatabaseAdapter.d.ts +55 -1
  17. package/dist/src/backends/graph/GraphDatabaseAdapter.d.ts.map +1 -1
  18. package/dist/src/backends/graph/GraphDatabaseAdapter.js +133 -7
  19. package/dist/src/backends/graph/GraphDatabaseAdapter.js.map +1 -1
  20. package/dist/src/backends/hnswlib/HNSWLibBackend.d.ts +2 -2
  21. package/dist/src/backends/hnswlib/HNSWLibBackend.d.ts.map +1 -1
  22. package/dist/src/backends/hnswlib/HNSWLibBackend.js +12 -21
  23. package/dist/src/backends/hnswlib/HNSWLibBackend.js.map +1 -1
  24. package/dist/src/backends/index.d.ts +3 -25
  25. package/dist/src/backends/index.d.ts.map +1 -1
  26. package/dist/src/backends/index.js +1 -23
  27. package/dist/src/backends/index.js.map +1 -1
  28. package/dist/src/backends/ruvector/RuVectorBackend.d.ts +4 -4
  29. package/dist/src/backends/ruvector/RuVectorBackend.d.ts.map +1 -1
  30. package/dist/src/backends/ruvector/RuVectorBackend.js +2 -2
  31. package/dist/src/backends/ruvector/RuVectorBackend.js.map +1 -1
  32. package/dist/src/backends/ruvector/RuVectorLearning.d.ts.map +1 -1
  33. package/dist/src/backends/ruvector/RuVectorLearning.js +5 -10
  34. package/dist/src/backends/ruvector/RuVectorLearning.js.map +1 -1
  35. package/dist/src/backends/rvf/SelfLearningRvfBackend.d.ts.map +1 -1
  36. package/dist/src/backends/rvf/SelfLearningRvfBackend.js +45 -2
  37. package/dist/src/backends/rvf/SelfLearningRvfBackend.js.map +1 -1
  38. package/dist/src/backends/rvf/SqlJsRvfBackend.d.ts +26 -0
  39. package/dist/src/backends/rvf/SqlJsRvfBackend.d.ts.map +1 -1
  40. package/dist/src/backends/rvf/SqlJsRvfBackend.js +93 -31
  41. package/dist/src/backends/rvf/SqlJsRvfBackend.js.map +1 -1
  42. package/dist/src/benchmark/BenchmarkSuite.d.ts.map +1 -1
  43. package/dist/src/benchmark/BenchmarkSuite.js +0 -2
  44. package/dist/src/benchmark/BenchmarkSuite.js.map +1 -1
  45. package/dist/src/benchmarks/wasm-vector-benchmark.d.ts +10 -0
  46. package/dist/src/benchmarks/wasm-vector-benchmark.d.ts.map +1 -0
  47. package/dist/src/benchmarks/wasm-vector-benchmark.js +196 -0
  48. package/dist/src/benchmarks/wasm-vector-benchmark.js.map +1 -0
  49. package/dist/src/browser/AdvancedFeatures.d.ts.map +1 -1
  50. package/dist/src/browser/AdvancedFeatures.js +10 -3
  51. package/dist/src/browser/AdvancedFeatures.js.map +1 -1
  52. package/dist/src/browser/AttentionBrowser.d.ts.map +1 -1
  53. package/dist/src/browser/AttentionBrowser.js +13 -5
  54. package/dist/src/browser/AttentionBrowser.js.map +1 -1
  55. package/dist/src/browser/HNSWIndex.d.ts +1 -31
  56. package/dist/src/browser/HNSWIndex.d.ts.map +1 -1
  57. package/dist/src/browser/HNSWIndex.js +18 -136
  58. package/dist/src/browser/HNSWIndex.js.map +1 -1
  59. package/dist/src/browser/ProductQuantization.d.ts.map +1 -1
  60. package/dist/src/browser/ProductQuantization.js +1 -0
  61. package/dist/src/browser/ProductQuantization.js.map +1 -1
  62. package/dist/src/browser/index.d.ts +3 -3
  63. package/dist/src/browser/index.d.ts.map +1 -1
  64. package/dist/src/browser/index.js +1 -2
  65. package/dist/src/browser/index.js.map +1 -1
  66. package/dist/src/cli/agentdb-cli.d.ts +2 -3
  67. package/dist/src/cli/agentdb-cli.d.ts.map +1 -1
  68. package/dist/src/cli/agentdb-cli.js +142 -96
  69. package/dist/src/cli/agentdb-cli.js.map +1 -1
  70. package/dist/src/cli/commands/attention.js +15 -5
  71. package/dist/src/cli/commands/attention.js.map +1 -1
  72. package/dist/src/cli/commands/doctor.d.ts +0 -2
  73. package/dist/src/cli/commands/doctor.d.ts.map +1 -1
  74. package/dist/src/cli/commands/doctor.js +6 -111
  75. package/dist/src/cli/commands/doctor.js.map +1 -1
  76. package/dist/src/cli/commands/hyperbolic.d.ts.map +1 -1
  77. package/dist/src/cli/commands/hyperbolic.js +15 -3
  78. package/dist/src/cli/commands/hyperbolic.js.map +1 -1
  79. package/dist/src/cli/commands/init.d.ts +1 -2
  80. package/dist/src/cli/commands/init.d.ts.map +1 -1
  81. package/dist/src/cli/commands/init.js +7 -30
  82. package/dist/src/cli/commands/init.js.map +1 -1
  83. package/dist/src/cli/commands/install-embeddings.d.ts +1 -1
  84. package/dist/src/cli/commands/install-embeddings.d.ts.map +1 -1
  85. package/dist/src/cli/commands/install-embeddings.js +17 -11
  86. package/dist/src/cli/commands/install-embeddings.js.map +1 -1
  87. package/dist/src/cli/commands/learn.d.ts.map +1 -1
  88. package/dist/src/cli/commands/learn.js +12 -6
  89. package/dist/src/cli/commands/learn.js.map +1 -1
  90. package/dist/src/cli/commands/migrate.d.ts.map +1 -1
  91. package/dist/src/cli/commands/migrate.js +31 -10
  92. package/dist/src/cli/commands/migrate.js.map +1 -1
  93. package/dist/src/cli/commands/route.d.ts.map +1 -1
  94. package/dist/src/cli/commands/route.js +6 -1
  95. package/dist/src/cli/commands/route.js.map +1 -1
  96. package/dist/src/cli/commands/simulate-report.js +14 -2
  97. package/dist/src/cli/commands/simulate-report.js.map +1 -1
  98. package/dist/src/cli/commands/simulate-wizard.js.map +1 -1
  99. package/dist/src/cli/commands/simulate.d.ts +7 -0
  100. package/dist/src/cli/commands/simulate.d.ts.map +1 -0
  101. package/dist/src/cli/commands/simulate.js +100 -0
  102. package/dist/src/cli/commands/simulate.js.map +1 -0
  103. package/dist/src/cli/commands/status.js +1 -5
  104. package/dist/src/cli/commands/status.js.map +1 -1
  105. package/dist/src/cli/lib/attention-config.d.ts +2 -2
  106. package/dist/src/cli/lib/attention-config.d.ts.map +1 -1
  107. package/dist/src/cli/lib/attention-config.js +1 -2
  108. package/dist/src/cli/lib/attention-config.js.map +1 -1
  109. package/dist/src/cli/lib/config-manager.d.ts +110 -0
  110. package/dist/src/cli/lib/config-manager.d.ts.map +1 -0
  111. package/dist/src/cli/lib/config-manager.js +512 -0
  112. package/dist/src/cli/lib/config-manager.js.map +1 -0
  113. package/dist/src/cli/lib/config-validator.d.ts +1 -1
  114. package/dist/src/cli/lib/config-validator.d.ts.map +1 -1
  115. package/dist/src/cli/lib/health-monitor.d.ts +149 -0
  116. package/dist/src/cli/lib/health-monitor.d.ts.map +1 -0
  117. package/dist/src/cli/lib/health-monitor.js +380 -0
  118. package/dist/src/cli/lib/health-monitor.js.map +1 -0
  119. package/dist/src/cli/lib/history-tracker.d.ts +103 -0
  120. package/dist/src/cli/lib/history-tracker.d.ts.map +1 -0
  121. package/dist/src/cli/lib/history-tracker.js +352 -0
  122. package/dist/src/cli/lib/history-tracker.js.map +1 -0
  123. package/dist/src/cli/lib/report-store.d.ts.map +1 -1
  124. package/dist/src/cli/lib/report-store.js +3 -5
  125. package/dist/src/cli/lib/report-store.js.map +1 -1
  126. package/dist/src/cli/lib/simulation-registry.d.ts +1 -1
  127. package/dist/src/cli/lib/simulation-registry.d.ts.map +1 -1
  128. package/dist/src/cli/lib/simulation-registry.js +0 -1
  129. package/dist/src/cli/lib/simulation-registry.js.map +1 -1
  130. package/dist/src/cli/lib/simulation-runner.d.ts +1 -1
  131. package/dist/src/cli/lib/simulation-runner.d.ts.map +1 -1
  132. package/dist/src/cli/lib/simulation-runner.js +1 -4
  133. package/dist/src/cli/lib/simulation-runner.js.map +1 -1
  134. package/dist/src/compatibility/DeprecationWarnings.d.ts.map +1 -1
  135. package/dist/src/compatibility/V1toV2Adapter.d.ts +2 -2
  136. package/dist/src/compatibility/V1toV2Adapter.d.ts.map +1 -1
  137. package/dist/src/compatibility/V1toV2Adapter.js +1 -14
  138. package/dist/src/compatibility/V1toV2Adapter.js.map +1 -1
  139. package/dist/src/compatibility/VersionDetector.d.ts +1 -1
  140. package/dist/src/compatibility/VersionDetector.d.ts.map +1 -1
  141. package/dist/src/compatibility/VersionDetector.js +3 -3
  142. package/dist/src/compatibility/VersionDetector.js.map +1 -1
  143. package/dist/src/compatibility/index.d.ts +3 -0
  144. package/dist/src/compatibility/index.d.ts.map +1 -1
  145. package/dist/src/compatibility/index.js +11 -0
  146. package/dist/src/compatibility/index.js.map +1 -1
  147. package/dist/src/controllers/AttentionService.d.ts +98 -122
  148. package/dist/src/controllers/AttentionService.d.ts.map +1 -1
  149. package/dist/src/controllers/AttentionService.js +463 -238
  150. package/dist/src/controllers/AttentionService.js.map +1 -1
  151. package/dist/src/controllers/CausalMemoryGraph.d.ts +4 -4
  152. package/dist/src/controllers/CausalMemoryGraph.d.ts.map +1 -1
  153. package/dist/src/controllers/CausalMemoryGraph.js +7 -8
  154. package/dist/src/controllers/CausalMemoryGraph.js.map +1 -1
  155. package/dist/src/controllers/CausalRecall.d.ts +3 -2
  156. package/dist/src/controllers/CausalRecall.d.ts.map +1 -1
  157. package/dist/src/controllers/CausalRecall.js +21 -10
  158. package/dist/src/controllers/CausalRecall.js.map +1 -1
  159. package/dist/src/controllers/ContextSynthesizer.d.ts +1 -1
  160. package/dist/src/controllers/ContextSynthesizer.d.ts.map +1 -1
  161. package/dist/src/controllers/EmbeddingService.d.ts +29 -0
  162. package/dist/src/controllers/EmbeddingService.d.ts.map +1 -1
  163. package/dist/src/controllers/EmbeddingService.js +149 -34
  164. package/dist/src/controllers/EmbeddingService.js.map +1 -1
  165. package/dist/src/controllers/EnhancedEmbeddingService.d.ts.map +1 -1
  166. package/dist/src/controllers/EnhancedEmbeddingService.js +14 -7
  167. package/dist/src/controllers/EnhancedEmbeddingService.js.map +1 -1
  168. package/dist/src/controllers/ExplainableRecall.d.ts +5 -4
  169. package/dist/src/controllers/ExplainableRecall.d.ts.map +1 -1
  170. package/dist/src/controllers/ExplainableRecall.js +12 -20
  171. package/dist/src/controllers/ExplainableRecall.js.map +1 -1
  172. package/dist/src/controllers/HNSWIndex.d.ts +5 -4
  173. package/dist/src/controllers/HNSWIndex.d.ts.map +1 -1
  174. package/dist/src/controllers/HNSWIndex.js +6 -9
  175. package/dist/src/controllers/HNSWIndex.js.map +1 -1
  176. package/dist/src/controllers/LearningSystem.d.ts +10 -105
  177. package/dist/src/controllers/LearningSystem.d.ts.map +1 -1
  178. package/dist/src/controllers/LearningSystem.js +28 -39
  179. package/dist/src/controllers/LearningSystem.js.map +1 -1
  180. package/dist/src/controllers/MMRDiversityRanker.d.ts +1 -1
  181. package/dist/src/controllers/MMRDiversityRanker.d.ts.map +1 -1
  182. package/dist/src/controllers/MemoryController.d.ts +15 -2
  183. package/dist/src/controllers/MemoryController.d.ts.map +1 -1
  184. package/dist/src/controllers/MemoryController.js +33 -3
  185. package/dist/src/controllers/MemoryController.js.map +1 -1
  186. package/dist/src/controllers/MetadataFilter.d.ts +3 -3
  187. package/dist/src/controllers/MetadataFilter.d.ts.map +1 -1
  188. package/dist/src/controllers/MetadataFilter.js +6 -9
  189. package/dist/src/controllers/MetadataFilter.js.map +1 -1
  190. package/dist/src/controllers/MincutService.d.ts +92 -0
  191. package/dist/src/controllers/MincutService.d.ts.map +1 -0
  192. package/dist/src/controllers/MincutService.js +336 -0
  193. package/dist/src/controllers/MincutService.js.map +1 -0
  194. package/dist/src/controllers/NightlyLearner.d.ts +3 -4
  195. package/dist/src/controllers/NightlyLearner.d.ts.map +1 -1
  196. package/dist/src/controllers/NightlyLearner.js +17 -22
  197. package/dist/src/controllers/NightlyLearner.js.map +1 -1
  198. package/dist/src/controllers/QUICClient.d.ts +7 -10
  199. package/dist/src/controllers/QUICClient.d.ts.map +1 -1
  200. package/dist/src/controllers/QUICClient.js +3 -3
  201. package/dist/src/controllers/QUICClient.js.map +1 -1
  202. package/dist/src/controllers/QUICServer.d.ts +4 -4
  203. package/dist/src/controllers/QUICServer.d.ts.map +1 -1
  204. package/dist/src/controllers/QUICServer.js +14 -22
  205. package/dist/src/controllers/QUICServer.js.map +1 -1
  206. package/dist/src/controllers/ReasoningBank.d.ts +2 -9
  207. package/dist/src/controllers/ReasoningBank.d.ts.map +1 -1
  208. package/dist/src/controllers/ReasoningBank.js +39 -35
  209. package/dist/src/controllers/ReasoningBank.js.map +1 -1
  210. package/dist/src/controllers/ReflexionMemory.d.ts +51 -1
  211. package/dist/src/controllers/ReflexionMemory.d.ts.map +1 -1
  212. package/dist/src/controllers/ReflexionMemory.js +307 -33
  213. package/dist/src/controllers/ReflexionMemory.js.map +1 -1
  214. package/dist/src/controllers/SkillLibrary.d.ts +5 -11
  215. package/dist/src/controllers/SkillLibrary.d.ts.map +1 -1
  216. package/dist/src/controllers/SkillLibrary.js +39 -48
  217. package/dist/src/controllers/SkillLibrary.js.map +1 -1
  218. package/dist/src/controllers/SparsificationService.d.ts +151 -0
  219. package/dist/src/controllers/SparsificationService.d.ts.map +1 -0
  220. package/dist/src/controllers/SparsificationService.js +375 -0
  221. package/dist/src/controllers/SparsificationService.js.map +1 -0
  222. package/dist/src/controllers/SyncCoordinator.d.ts +3 -2
  223. package/dist/src/controllers/SyncCoordinator.d.ts.map +1 -1
  224. package/dist/src/controllers/SyncCoordinator.js +2 -2
  225. package/dist/src/controllers/SyncCoordinator.js.map +1 -1
  226. package/dist/src/controllers/WASMVectorSearch.d.ts +7 -6
  227. package/dist/src/controllers/WASMVectorSearch.d.ts.map +1 -1
  228. package/dist/src/controllers/WASMVectorSearch.js +2 -4
  229. package/dist/src/controllers/WASMVectorSearch.js.map +1 -1
  230. package/dist/src/controllers/attention/AttentionCache.d.ts +38 -0
  231. package/dist/src/controllers/attention/AttentionCache.d.ts.map +1 -0
  232. package/dist/src/controllers/attention/AttentionCache.js +80 -0
  233. package/dist/src/controllers/attention/AttentionCache.js.map +1 -0
  234. package/dist/src/controllers/attention/AttentionConfig.d.ts +127 -0
  235. package/dist/src/controllers/attention/AttentionConfig.d.ts.map +1 -0
  236. package/dist/src/controllers/attention/AttentionConfig.js +124 -0
  237. package/dist/src/controllers/attention/AttentionConfig.js.map +1 -0
  238. package/dist/src/controllers/attention/AttentionCore.d.ts +89 -0
  239. package/dist/src/controllers/attention/AttentionCore.d.ts.map +1 -0
  240. package/dist/src/controllers/attention/AttentionCore.js +289 -0
  241. package/dist/src/controllers/attention/AttentionCore.js.map +1 -0
  242. package/dist/src/controllers/attention/AttentionHelpers.d.ts +55 -0
  243. package/dist/src/controllers/attention/AttentionHelpers.d.ts.map +1 -0
  244. package/dist/src/controllers/attention/AttentionHelpers.js +148 -0
  245. package/dist/src/controllers/attention/AttentionHelpers.js.map +1 -0
  246. package/dist/src/controllers/attention/AttentionMetrics.d.ts +55 -0
  247. package/dist/src/controllers/attention/AttentionMetrics.d.ts.map +1 -0
  248. package/dist/src/controllers/attention/AttentionMetrics.js +72 -0
  249. package/dist/src/controllers/attention/AttentionMetrics.js.map +1 -0
  250. package/dist/src/controllers/attention/AttentionWASM.d.ts +98 -0
  251. package/dist/src/controllers/attention/AttentionWASM.d.ts.map +1 -0
  252. package/dist/src/controllers/attention/AttentionWASM.js +147 -0
  253. package/dist/src/controllers/attention/AttentionWASM.js.map +1 -0
  254. package/dist/src/controllers/attention/CrossAttentionController.d.ts +1 -1
  255. package/dist/src/controllers/attention/CrossAttentionController.d.ts.map +1 -1
  256. package/dist/src/controllers/attention/MultiHeadAttentionController.d.ts +1 -1
  257. package/dist/src/controllers/attention/MultiHeadAttentionController.d.ts.map +1 -1
  258. package/dist/src/controllers/attention/MultiHeadAttentionController.js +5 -8
  259. package/dist/src/controllers/attention/MultiHeadAttentionController.js.map +1 -1
  260. package/dist/src/controllers/attention/SelfAttentionController.d.ts +1 -1
  261. package/dist/src/controllers/attention/SelfAttentionController.d.ts.map +1 -1
  262. package/dist/src/controllers/attention/index.d.ts +9 -0
  263. package/dist/src/controllers/attention/index.d.ts.map +1 -1
  264. package/dist/src/controllers/attention/index.js +8 -0
  265. package/dist/src/controllers/attention/index.js.map +1 -1
  266. package/dist/src/controllers/frontier-index.d.ts +14 -0
  267. package/dist/src/controllers/frontier-index.d.ts.map +1 -0
  268. package/dist/src/controllers/frontier-index.js +10 -0
  269. package/dist/src/controllers/frontier-index.js.map +1 -0
  270. package/dist/src/controllers/index.d.ts +7 -1
  271. package/dist/src/controllers/index.d.ts.map +1 -1
  272. package/dist/src/controllers/index.js +5 -1
  273. package/dist/src/controllers/index.js.map +1 -1
  274. package/dist/src/controllers/prerequisites.d.ts +76 -0
  275. package/dist/src/controllers/prerequisites.d.ts.map +1 -0
  276. package/dist/src/controllers/prerequisites.js +235 -0
  277. package/dist/src/controllers/prerequisites.js.map +1 -0
  278. package/dist/src/core/AgentDB.d.ts +11 -36
  279. package/dist/src/core/AgentDB.d.ts.map +1 -1
  280. package/dist/src/core/AgentDB.js +31 -89
  281. package/dist/src/core/AgentDB.js.map +1 -1
  282. package/dist/src/core/QueryCache.d.ts +1 -1
  283. package/dist/src/core/QueryCache.d.ts.map +1 -1
  284. package/dist/src/core/QueryCache.js +2 -6
  285. package/dist/src/core/QueryCache.js.map +1 -1
  286. package/dist/src/db-fallback.d.ts +40 -3
  287. package/dist/src/db-fallback.d.ts.map +1 -1
  288. package/dist/src/db-fallback.js +308 -84
  289. package/dist/src/db-fallback.js.map +1 -1
  290. package/dist/src/db-test.d.ts +13 -0
  291. package/dist/src/db-test.d.ts.map +1 -0
  292. package/dist/src/db-test.js +55 -0
  293. package/dist/src/db-test.js.map +1 -0
  294. package/dist/src/db-unified.d.ts +76 -0
  295. package/dist/src/db-unified.d.ts.map +1 -0
  296. package/dist/src/db-unified.js +281 -0
  297. package/dist/src/db-unified.js.map +1 -0
  298. package/dist/src/embedding/EmbeddingSpaceIdentity.d.ts +58 -0
  299. package/dist/src/embedding/EmbeddingSpaceIdentity.d.ts.map +1 -0
  300. package/dist/src/embedding/EmbeddingSpaceIdentity.js +137 -0
  301. package/dist/src/embedding/EmbeddingSpaceIdentity.js.map +1 -0
  302. package/dist/src/embedding/index.d.ts +3 -0
  303. package/dist/src/embedding/index.d.ts.map +1 -0
  304. package/dist/src/embedding/index.js +2 -0
  305. package/dist/src/embedding/index.js.map +1 -0
  306. package/dist/src/examples/quic-sync-example.d.ts +9 -0
  307. package/dist/src/examples/quic-sync-example.d.ts.map +1 -0
  308. package/dist/src/examples/quic-sync-example.js +169 -0
  309. package/dist/src/examples/quic-sync-example.js.map +1 -0
  310. package/dist/src/examples/wasm-vector-usage.d.ts +12 -0
  311. package/dist/src/examples/wasm-vector-usage.d.ts.map +1 -0
  312. package/dist/src/examples/wasm-vector-usage.js +190 -0
  313. package/dist/src/examples/wasm-vector-usage.js.map +1 -0
  314. package/dist/src/governance/MetaHarnessGateway.d.ts +55 -0
  315. package/dist/src/governance/MetaHarnessGateway.d.ts.map +1 -0
  316. package/dist/src/governance/MetaHarnessGateway.js +65 -0
  317. package/dist/src/governance/MetaHarnessGateway.js.map +1 -0
  318. package/dist/src/governance/RvfExperimentBranch.d.ts +65 -0
  319. package/dist/src/governance/RvfExperimentBranch.d.ts.map +1 -0
  320. package/dist/src/governance/RvfExperimentBranch.js +115 -0
  321. package/dist/src/governance/RvfExperimentBranch.js.map +1 -0
  322. package/dist/src/index.d.ts +7 -25
  323. package/dist/src/index.d.ts.map +1 -1
  324. package/dist/src/index.js +9 -10
  325. package/dist/src/index.js.map +1 -1
  326. package/dist/src/mcp/agentdb-mcp-server.js +162 -159
  327. package/dist/src/mcp/agentdb-mcp-server.js.map +1 -1
  328. package/dist/src/mcp/learning-tools-handlers.d.ts +16 -0
  329. package/dist/src/mcp/learning-tools-handlers.d.ts.map +1 -0
  330. package/dist/src/mcp/learning-tools-handlers.js +105 -0
  331. package/dist/src/mcp/learning-tools-handlers.js.map +1 -0
  332. package/dist/src/model/ModelCacheLoader.d.ts +24 -0
  333. package/dist/src/model/ModelCacheLoader.d.ts.map +1 -0
  334. package/dist/src/model/ModelCacheLoader.js +123 -0
  335. package/dist/src/model/ModelCacheLoader.js.map +1 -0
  336. package/dist/src/observability/integration.d.ts +3 -3
  337. package/dist/src/observability/integration.d.ts.map +1 -1
  338. package/dist/src/observability/integration.js +2 -0
  339. package/dist/src/observability/integration.js.map +1 -1
  340. package/dist/src/observability/telemetry.d.ts +3 -3
  341. package/dist/src/observability/telemetry.d.ts.map +1 -1
  342. package/dist/src/observability/telemetry.js +3 -5
  343. package/dist/src/observability/telemetry.js.map +1 -1
  344. package/dist/src/optimizations/BatchOperations.d.ts +6 -6
  345. package/dist/src/optimizations/BatchOperations.d.ts.map +1 -1
  346. package/dist/src/optimizations/BatchOperations.js +6 -5
  347. package/dist/src/optimizations/BatchOperations.js.map +1 -1
  348. package/dist/src/optimizations/Quantization.d.ts +330 -0
  349. package/dist/src/optimizations/Quantization.d.ts.map +1 -0
  350. package/dist/src/optimizations/Quantization.js +793 -0
  351. package/dist/src/optimizations/Quantization.js.map +1 -0
  352. package/dist/src/optimizations/QueryOptimizer.d.ts +4 -4
  353. package/dist/src/optimizations/QueryOptimizer.d.ts.map +1 -1
  354. package/dist/src/optimizations/QueryOptimizer.js +1 -3
  355. package/dist/src/optimizations/QueryOptimizer.js.map +1 -1
  356. package/dist/src/optimizations/ToolCache.d.ts +4 -4
  357. package/dist/src/optimizations/ToolCache.d.ts.map +1 -1
  358. package/dist/src/optimizations/ToolCache.js.map +1 -1
  359. package/dist/src/quantization/vector-quantization.d.ts.map +1 -1
  360. package/dist/src/quantization/vector-quantization.js +1 -5
  361. package/dist/src/quantization/vector-quantization.js.map +1 -1
  362. package/dist/src/schemas/inline.d.ts +3 -0
  363. package/dist/src/schemas/inline.d.ts.map +1 -0
  364. package/dist/src/schemas/inline.js +10 -0
  365. package/dist/src/schemas/inline.js.map +1 -0
  366. package/dist/src/search/HybridSearch.d.ts +6 -6
  367. package/dist/src/search/HybridSearch.d.ts.map +1 -1
  368. package/dist/src/search/HybridSearch.js.map +1 -1
  369. package/dist/src/security/input-validation.d.ts +34 -12
  370. package/dist/src/security/input-validation.d.ts.map +1 -1
  371. package/dist/src/security/input-validation.js +46 -1
  372. package/dist/src/security/input-validation.js.map +1 -1
  373. package/dist/src/security/limits.d.ts +150 -0
  374. package/dist/src/security/limits.d.ts.map +1 -0
  375. package/dist/src/security/limits.js +288 -0
  376. package/dist/src/security/limits.js.map +1 -0
  377. package/dist/src/security/mcp-policy.d.ts +13 -0
  378. package/dist/src/security/mcp-policy.d.ts.map +1 -0
  379. package/dist/src/security/mcp-policy.js +66 -0
  380. package/dist/src/security/mcp-policy.js.map +1 -0
  381. package/dist/src/security/path-security.d.ts +100 -0
  382. package/dist/src/security/path-security.d.ts.map +1 -0
  383. package/dist/src/security/path-security.js +339 -0
  384. package/dist/src/security/path-security.js.map +1 -0
  385. package/dist/src/security/validation.d.ts +95 -0
  386. package/dist/src/security/validation.d.ts.map +1 -0
  387. package/dist/src/security/validation.js +315 -0
  388. package/dist/src/security/validation.js.map +1 -0
  389. package/dist/src/services/AttentionService.d.ts.map +1 -1
  390. package/dist/src/services/AttentionService.js +2 -4
  391. package/dist/src/services/AttentionService.js.map +1 -1
  392. package/dist/src/services/LLMRouter.d.ts +2 -2
  393. package/dist/src/services/LLMRouter.d.ts.map +1 -1
  394. package/dist/src/services/LLMRouter.js +3 -9
  395. package/dist/src/services/LLMRouter.js.map +1 -1
  396. package/dist/src/services/audit-logger.service.d.ts +168 -0
  397. package/dist/src/services/audit-logger.service.d.ts.map +1 -0
  398. package/dist/src/services/audit-logger.service.js +331 -0
  399. package/dist/src/services/audit-logger.service.js.map +1 -0
  400. package/dist/src/services/enhanced-embeddings.d.ts +271 -0
  401. package/dist/src/services/enhanced-embeddings.d.ts.map +1 -0
  402. package/dist/src/services/enhanced-embeddings.js +1035 -0
  403. package/dist/src/services/enhanced-embeddings.js.map +1 -0
  404. package/dist/src/services/federated-learning.d.ts +172 -0
  405. package/dist/src/services/federated-learning.d.ts.map +1 -0
  406. package/dist/src/services/federated-learning.js +342 -0
  407. package/dist/src/services/federated-learning.js.map +1 -0
  408. package/dist/src/simd/simd-vector-ops.d.ts.map +1 -1
  409. package/dist/src/simd/simd-vector-ops.js +0 -2
  410. package/dist/src/simd/simd-vector-ops.js.map +1 -1
  411. package/dist/src/types/attention.d.ts +249 -0
  412. package/dist/src/types/attention.d.ts.map +1 -0
  413. package/dist/src/types/attention.js +43 -0
  414. package/dist/src/types/attention.js.map +1 -0
  415. package/dist/src/types/database.types.d.ts +11 -11
  416. package/dist/src/types/database.types.d.ts.map +1 -1
  417. package/dist/src/types/database.types.js +2 -4
  418. package/dist/src/types/database.types.js.map +1 -1
  419. package/dist/src/types/graph.d.ts +29 -0
  420. package/dist/src/types/graph.d.ts.map +1 -0
  421. package/dist/src/types/graph.js +8 -0
  422. package/dist/src/types/graph.js.map +1 -0
  423. package/dist/src/types/quic.d.ts +518 -0
  424. package/dist/src/types/quic.d.ts.map +1 -0
  425. package/dist/src/types/quic.js +272 -0
  426. package/dist/src/types/quic.js.map +1 -0
  427. package/dist/src/utils/attention-metrics.d.ts +76 -0
  428. package/dist/src/utils/attention-metrics.d.ts.map +1 -0
  429. package/dist/src/utils/attention-metrics.js +178 -0
  430. package/dist/src/utils/attention-metrics.js.map +1 -0
  431. package/dist/src/wasm-loader.d.ts +0 -1
  432. package/dist/src/wasm-loader.d.ts.map +1 -1
  433. package/dist/src/wasm-loader.js +0 -2
  434. package/dist/src/wasm-loader.js.map +1 -1
  435. package/dist/src/wrappers/agentdb-fast.d.ts +5 -4
  436. package/dist/src/wrappers/agentdb-fast.d.ts.map +1 -1
  437. package/dist/src/wrappers/agentdb-fast.js +6 -13
  438. package/dist/src/wrappers/agentdb-fast.js.map +1 -1
  439. package/dist/src/wrappers/attention-fallbacks.d.ts +0 -8
  440. package/dist/src/wrappers/attention-fallbacks.d.ts.map +1 -1
  441. package/dist/src/wrappers/attention-fallbacks.js +3 -6
  442. package/dist/src/wrappers/attention-fallbacks.js.map +1 -1
  443. package/dist/src/wrappers/attention-native.d.ts +111 -0
  444. package/dist/src/wrappers/attention-native.d.ts.map +1 -0
  445. package/dist/src/wrappers/attention-native.js +273 -0
  446. package/dist/src/wrappers/attention-native.js.map +1 -0
  447. package/dist/src/wrappers/embedding-service.d.ts +4 -4
  448. package/dist/src/wrappers/embedding-service.d.ts.map +1 -1
  449. package/dist/src/wrappers/embedding-service.js +2 -8
  450. package/dist/src/wrappers/embedding-service.js.map +1 -1
  451. package/dist/src/wrappers/gnn-wrapper.d.ts.map +1 -1
  452. package/dist/src/wrappers/gnn-wrapper.js +3 -7
  453. package/dist/src/wrappers/gnn-wrapper.js.map +1 -1
  454. package/package.json +87 -18
  455. package/scripts/postinstall.cjs +13 -144
  456. package/dist/src/cli/tests/agentdb-cli.test.d.ts +0 -8
  457. package/dist/src/cli/tests/agentdb-cli.test.d.ts.map +0 -1
  458. package/dist/src/cli/tests/agentdb-cli.test.js +0 -50
  459. package/dist/src/cli/tests/agentdb-cli.test.js.map +0 -1
  460. package/dist/src/cli/tests/attention-cli.test.d.ts +0 -5
  461. package/dist/src/cli/tests/attention-cli.test.d.ts.map +0 -1
  462. package/dist/src/cli/tests/attention-cli.test.js +0 -257
  463. package/dist/src/cli/tests/attention-cli.test.js.map +0 -1
  464. package/dist/src/coordination/MultiDatabaseCoordinator.d.ts +0 -348
  465. package/dist/src/coordination/MultiDatabaseCoordinator.d.ts.map +0 -1
  466. package/dist/src/coordination/MultiDatabaseCoordinator.js +0 -803
  467. package/dist/src/coordination/MultiDatabaseCoordinator.js.map +0 -1
  468. package/dist/src/coordination/index.d.ts +0 -10
  469. package/dist/src/coordination/index.d.ts.map +0 -1
  470. package/dist/src/coordination/index.js +0 -10
  471. package/dist/src/coordination/index.js.map +0 -1
  472. package/dist/src/tests/attention-service.test.d.ts +0 -7
  473. package/dist/src/tests/attention-service.test.d.ts.map +0 -1
  474. package/dist/src/tests/attention-service.test.js +0 -401
  475. package/dist/src/tests/attention-service.test.js.map +0 -1
  476. package/dist/src/tests/integration/compatibility/backwards-compat.integration.test.d.ts +0 -7
  477. package/dist/src/tests/integration/compatibility/backwards-compat.integration.test.d.ts.map +0 -1
  478. package/dist/src/tests/integration/compatibility/backwards-compat.integration.test.js +0 -283
  479. package/dist/src/tests/integration/compatibility/backwards-compat.integration.test.js.map +0 -1
  480. package/dist/src/tests/query-cache.test.d.ts +0 -7
  481. package/dist/src/tests/query-cache.test.d.ts.map +0 -1
  482. package/dist/src/tests/query-cache.test.js +0 -343
  483. package/dist/src/tests/query-cache.test.js.map +0 -1
  484. package/dist/src/tests/ruvector-integration.test.d.ts +0 -14
  485. package/dist/src/tests/ruvector-integration.test.d.ts.map +0 -1
  486. package/dist/src/tests/ruvector-integration.test.js +0 -1156
  487. package/dist/src/tests/ruvector-integration.test.js.map +0 -1
  488. package/dist/src/tests/unit/auth/crypto.utils.test.d.ts +0 -6
  489. package/dist/src/tests/unit/auth/crypto.utils.test.d.ts.map +0 -1
  490. package/dist/src/tests/unit/auth/crypto.utils.test.js +0 -310
  491. package/dist/src/tests/unit/auth/crypto.utils.test.js.map +0 -1
  492. package/dist/src/tests/unit/compatibility/deprecation-warnings.test.d.ts +0 -5
  493. package/dist/src/tests/unit/compatibility/deprecation-warnings.test.d.ts.map +0 -1
  494. package/dist/src/tests/unit/compatibility/deprecation-warnings.test.js +0 -207
  495. package/dist/src/tests/unit/compatibility/deprecation-warnings.test.js.map +0 -1
  496. package/dist/src/tests/unit/compatibility/migration-utils.test.d.ts +0 -5
  497. package/dist/src/tests/unit/compatibility/migration-utils.test.d.ts.map +0 -1
  498. package/dist/src/tests/unit/compatibility/migration-utils.test.js +0 -264
  499. package/dist/src/tests/unit/compatibility/migration-utils.test.js.map +0 -1
  500. package/dist/src/tests/unit/compatibility/v1-adapter.test.d.ts +0 -7
  501. package/dist/src/tests/unit/compatibility/v1-adapter.test.d.ts.map +0 -1
  502. package/dist/src/tests/unit/compatibility/v1-adapter.test.js +0 -228
  503. package/dist/src/tests/unit/compatibility/v1-adapter.test.js.map +0 -1
  504. package/dist/src/tests/unit/compatibility/version-detector.test.d.ts +0 -10
  505. package/dist/src/tests/unit/compatibility/version-detector.test.d.ts.map +0 -1
  506. package/dist/src/tests/unit/compatibility/version-detector.test.js +0 -162
  507. package/dist/src/tests/unit/compatibility/version-detector.test.js.map +0 -1
  508. package/dist/src/tests/vector-quantization.test.d.ts +0 -5
  509. package/dist/src/tests/vector-quantization.test.d.ts.map +0 -1
  510. package/dist/src/tests/vector-quantization.test.js +0 -338
  511. package/dist/src/tests/vector-quantization.test.js.map +0 -1
  512. package/dist/src/tests/wasm-vector-search.test.d.ts +0 -7
  513. package/dist/src/tests/wasm-vector-search.test.d.ts.map +0 -1
  514. package/dist/src/tests/wasm-vector-search.test.js +0 -193
  515. package/dist/src/tests/wasm-vector-search.test.js.map +0 -1
  516. package/dist/src/utils/crypto.utils.d.ts +0 -122
  517. package/dist/src/utils/crypto.utils.d.ts.map +0 -1
  518. package/dist/src/utils/crypto.utils.js +0 -296
  519. package/dist/src/utils/crypto.utils.js.map +0 -1
@@ -0,0 +1,149 @@
1
+ /**
2
+ * Health Monitor
3
+ *
4
+ * System resource tracking, performance monitoring, and self-healing
5
+ * using MPC (Message Passing with Coordination) algorithm.
6
+ */
7
+ import { EventEmitter } from 'events';
8
+ export interface HealthMetrics {
9
+ timestamp: Date;
10
+ cpu: {
11
+ usage: number;
12
+ loadAverage: number[];
13
+ cores: number;
14
+ };
15
+ memory: {
16
+ used: number;
17
+ available: number;
18
+ heapUsed: number;
19
+ heapTotal: number;
20
+ rss: number;
21
+ external: number;
22
+ };
23
+ disk?: {
24
+ readMBps: number;
25
+ writeMBps: number;
26
+ };
27
+ simulation?: {
28
+ iterationsCompleted: number;
29
+ itemsProcessed: number;
30
+ errorsEncountered: number;
31
+ progressPercent: number;
32
+ };
33
+ }
34
+ export interface Alert {
35
+ level: 'info' | 'warning' | 'critical';
36
+ metric: string;
37
+ threshold: number;
38
+ actual: number;
39
+ timestamp: Date;
40
+ action: 'log' | 'throttle' | 'abort' | 'heal';
41
+ message: string;
42
+ }
43
+ export interface AlertThresholds {
44
+ memoryMB: number;
45
+ latencyMs: number;
46
+ cpuPercent?: number;
47
+ errorRate?: number;
48
+ }
49
+ export interface HealingAction {
50
+ type: 'reduce_batch_size' | 'pause_and_gc' | 'restart_component' | 'abort';
51
+ reason: string;
52
+ parameters?: Record<string, any>;
53
+ }
54
+ export declare class HealthMonitor extends EventEmitter {
55
+ private monitoringInterval;
56
+ private intervalMs;
57
+ private thresholds;
58
+ private baselineMetrics;
59
+ private metricsHistory;
60
+ private maxHistorySize;
61
+ constructor(thresholds: AlertThresholds);
62
+ /**
63
+ * Start monitoring system resources.
64
+ */
65
+ startMonitoring(intervalMs?: number): void;
66
+ /**
67
+ * Stop monitoring.
68
+ */
69
+ stopMonitoring(): void;
70
+ /**
71
+ * Collect current system metrics.
72
+ */
73
+ collectMetrics(): HealthMetrics;
74
+ /**
75
+ * Get CPU usage percentage.
76
+ */
77
+ private getCPUUsage;
78
+ /**
79
+ * Check metrics against thresholds.
80
+ */
81
+ private checkThresholds;
82
+ /**
83
+ * Detect memory leaks by analyzing growth trend.
84
+ */
85
+ private detectMemoryLeak;
86
+ /**
87
+ * Check if memory is consistently growing.
88
+ */
89
+ private isConsistentGrowth;
90
+ /**
91
+ * Trigger self-healing using MPC coordination.
92
+ *
93
+ * MPC (Message Passing with Coordination) achieved 97.9% recall in simulations.
94
+ * We use it here for automatic recovery by coordinating between components.
95
+ */
96
+ private triggerSelfHealing;
97
+ /**
98
+ * Select healing strategy using MPC-inspired coordination.
99
+ *
100
+ * MPC coordinates between nodes to find stable state. Here, we coordinate
101
+ * between different recovery strategies based on alert severity and history.
102
+ */
103
+ private selectHealingStrategy;
104
+ /**
105
+ * Check if garbage collection can recover memory.
106
+ */
107
+ private canRecoverWithGC;
108
+ /**
109
+ * Get recent alerts (last 10 seconds).
110
+ */
111
+ private getRecentAlerts;
112
+ /**
113
+ * Heal by forcing garbage collection.
114
+ */
115
+ private healByGarbageCollection;
116
+ /**
117
+ * Heal by reducing workload.
118
+ */
119
+ private healByReducingLoad;
120
+ /**
121
+ * Heal by restarting component.
122
+ */
123
+ private healByRestartingComponent;
124
+ /**
125
+ * Heal by aborting (last resort).
126
+ */
127
+ private healByAborting;
128
+ /**
129
+ * Get current health status.
130
+ */
131
+ getStatus(): {
132
+ healthy: boolean;
133
+ metrics: HealthMetrics;
134
+ alerts: Alert[];
135
+ };
136
+ /**
137
+ * Get metrics history.
138
+ */
139
+ getHistory(): HealthMetrics[];
140
+ /**
141
+ * Generate health report.
142
+ */
143
+ generateReport(): string;
144
+ }
145
+ /**
146
+ * Create health monitor instance.
147
+ */
148
+ export declare function createHealthMonitor(thresholds: AlertThresholds): HealthMonitor;
149
+ //# sourceMappingURL=health-monitor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"health-monitor.d.ts","sourceRoot":"","sources":["../../../../src/cli/lib/health-monitor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,380 @@
1
+ /**
2
+ * Health Monitor
3
+ *
4
+ * System resource tracking, performance monitoring, and self-healing
5
+ * using MPC (Message Passing with Coordination) algorithm.
6
+ */
7
+ import { EventEmitter } from 'events';
8
+ import * as os from 'os';
9
+ import * as v8 from 'v8';
10
+ // ============================================================================
11
+ // Health Monitor
12
+ // ============================================================================
13
+ export class HealthMonitor extends EventEmitter {
14
+ monitoringInterval = null;
15
+ intervalMs = 1000; // 1 second
16
+ thresholds;
17
+ baselineMetrics = null;
18
+ metricsHistory = [];
19
+ maxHistorySize = 100;
20
+ constructor(thresholds) {
21
+ super();
22
+ this.thresholds = thresholds;
23
+ }
24
+ // --------------------------------------------------------------------------
25
+ // Monitoring
26
+ // --------------------------------------------------------------------------
27
+ /**
28
+ * Start monitoring system resources.
29
+ */
30
+ startMonitoring(intervalMs = 1000) {
31
+ this.intervalMs = intervalMs;
32
+ if (this.monitoringInterval) {
33
+ this.stopMonitoring();
34
+ }
35
+ // Collect baseline
36
+ this.baselineMetrics = this.collectMetrics();
37
+ this.monitoringInterval = setInterval(() => {
38
+ const metrics = this.collectMetrics();
39
+ // Store in history
40
+ this.metricsHistory.push(metrics);
41
+ if (this.metricsHistory.length > this.maxHistorySize) {
42
+ this.metricsHistory.shift();
43
+ }
44
+ // Check thresholds
45
+ const alerts = this.checkThresholds(metrics);
46
+ // Emit events
47
+ this.emit('metrics', metrics);
48
+ for (const alert of alerts) {
49
+ this.emit('alert', alert);
50
+ if (alert.action === 'heal') {
51
+ this.triggerSelfHealing(alert);
52
+ }
53
+ }
54
+ }, intervalMs);
55
+ }
56
+ /**
57
+ * Stop monitoring.
58
+ */
59
+ stopMonitoring() {
60
+ if (this.monitoringInterval) {
61
+ clearInterval(this.monitoringInterval);
62
+ this.monitoringInterval = null;
63
+ }
64
+ }
65
+ /**
66
+ * Collect current system metrics.
67
+ */
68
+ collectMetrics() {
69
+ const memUsage = process.memoryUsage();
70
+ const heapStats = v8.getHeapStatistics();
71
+ return {
72
+ timestamp: new Date(),
73
+ cpu: {
74
+ usage: this.getCPUUsage(),
75
+ loadAverage: os.loadavg(),
76
+ cores: os.cpus().length
77
+ },
78
+ memory: {
79
+ used: (os.totalmem() - os.freemem()) / 1024 / 1024,
80
+ available: os.freemem() / 1024 / 1024,
81
+ heapUsed: memUsage.heapUsed / 1024 / 1024,
82
+ heapTotal: memUsage.heapTotal / 1024 / 1024,
83
+ rss: memUsage.rss / 1024 / 1024,
84
+ external: memUsage.external / 1024 / 1024
85
+ }
86
+ };
87
+ }
88
+ /**
89
+ * Get CPU usage percentage.
90
+ */
91
+ getCPUUsage() {
92
+ const cpus = os.cpus();
93
+ let totalIdle = 0;
94
+ let totalTick = 0;
95
+ for (const cpu of cpus) {
96
+ for (const type in cpu.times) {
97
+ totalTick += cpu.times[type];
98
+ }
99
+ totalIdle += cpu.times.idle;
100
+ }
101
+ const idle = totalIdle / cpus.length;
102
+ const total = totalTick / cpus.length;
103
+ const usage = 100 - ~~(100 * idle / total);
104
+ return usage;
105
+ }
106
+ // --------------------------------------------------------------------------
107
+ // Threshold Checking
108
+ // --------------------------------------------------------------------------
109
+ /**
110
+ * Check metrics against thresholds.
111
+ */
112
+ checkThresholds(metrics) {
113
+ const alerts = [];
114
+ // Memory threshold
115
+ if (metrics.memory.heapUsed > this.thresholds.memoryMB) {
116
+ const level = metrics.memory.heapUsed > this.thresholds.memoryMB * 1.5 ? 'critical' :
117
+ metrics.memory.heapUsed > this.thresholds.memoryMB * 1.2 ? 'warning' : 'info';
118
+ const action = level === 'critical' ? 'heal' :
119
+ level === 'warning' ? 'throttle' : 'log';
120
+ alerts.push({
121
+ level,
122
+ metric: 'memory',
123
+ threshold: this.thresholds.memoryMB,
124
+ actual: metrics.memory.heapUsed,
125
+ timestamp: metrics.timestamp,
126
+ action,
127
+ message: `Memory usage (${metrics.memory.heapUsed.toFixed(0)}MB) exceeds threshold (${this.thresholds.memoryMB}MB)`
128
+ });
129
+ }
130
+ // CPU threshold (if configured)
131
+ if (this.thresholds.cpuPercent && metrics.cpu.usage > this.thresholds.cpuPercent) {
132
+ alerts.push({
133
+ level: 'warning',
134
+ metric: 'cpu',
135
+ threshold: this.thresholds.cpuPercent,
136
+ actual: metrics.cpu.usage,
137
+ timestamp: metrics.timestamp,
138
+ action: 'throttle',
139
+ message: `CPU usage (${metrics.cpu.usage.toFixed(0)}%) exceeds threshold (${this.thresholds.cpuPercent}%)`
140
+ });
141
+ }
142
+ // Memory leak detection
143
+ if (this.detectMemoryLeak(metrics)) {
144
+ alerts.push({
145
+ level: 'critical',
146
+ metric: 'memory-leak',
147
+ threshold: 0,
148
+ actual: metrics.memory.heapUsed,
149
+ timestamp: metrics.timestamp,
150
+ action: 'heal',
151
+ message: 'Potential memory leak detected (steady growth over time)'
152
+ });
153
+ }
154
+ return alerts;
155
+ }
156
+ /**
157
+ * Detect memory leaks by analyzing growth trend.
158
+ */
159
+ detectMemoryLeak(currentMetrics) {
160
+ if (this.metricsHistory.length < 10) {
161
+ return false; // Need at least 10 samples
162
+ }
163
+ // Get last 10 samples
164
+ const recent = this.metricsHistory.slice(-10);
165
+ const memoryValues = recent.map(m => m.memory.heapUsed);
166
+ // Calculate trend (simple linear regression)
167
+ const n = memoryValues.length;
168
+ const x = Array.from({ length: n }, (_, i) => i);
169
+ const y = memoryValues;
170
+ const meanX = x.reduce((a, b) => a + b, 0) / n;
171
+ const meanY = y.reduce((a, b) => a + b, 0) / n;
172
+ const numerator = x.reduce((sum, xi, i) => sum + (xi - meanX) * (y[i] - meanY), 0);
173
+ const denominator = x.reduce((sum, xi) => sum + Math.pow(xi - meanX, 2), 0);
174
+ const slope = numerator / denominator;
175
+ // If slope > 10MB per sample and consistent growth
176
+ return slope > 10 && this.isConsistentGrowth(memoryValues);
177
+ }
178
+ /**
179
+ * Check if memory is consistently growing.
180
+ */
181
+ isConsistentGrowth(values) {
182
+ let increases = 0;
183
+ for (let i = 1; i < values.length; i++) {
184
+ if (values[i] > values[i - 1]) {
185
+ increases++;
186
+ }
187
+ }
188
+ // Consider consistent if >80% of samples are increasing
189
+ return increases / (values.length - 1) > 0.8;
190
+ }
191
+ // --------------------------------------------------------------------------
192
+ // Self-Healing (MPC Algorithm)
193
+ // --------------------------------------------------------------------------
194
+ /**
195
+ * Trigger self-healing using MPC coordination.
196
+ *
197
+ * MPC (Message Passing with Coordination) achieved 97.9% recall in simulations.
198
+ * We use it here for automatic recovery by coordinating between components.
199
+ */
200
+ triggerSelfHealing(alert) {
201
+ console.log(`🔧 Self-healing triggered for ${alert.metric}`);
202
+ const healingAction = this.selectHealingStrategy(alert);
203
+ this.emit('healing', healingAction);
204
+ switch (healingAction.type) {
205
+ case 'pause_and_gc':
206
+ this.healByGarbageCollection();
207
+ break;
208
+ case 'reduce_batch_size':
209
+ this.healByReducingLoad(healingAction.parameters);
210
+ break;
211
+ case 'restart_component':
212
+ this.healByRestartingComponent(healingAction.parameters);
213
+ break;
214
+ case 'abort':
215
+ this.healByAborting(healingAction.reason);
216
+ break;
217
+ }
218
+ }
219
+ /**
220
+ * Select healing strategy using MPC-inspired coordination.
221
+ *
222
+ * MPC coordinates between nodes to find stable state. Here, we coordinate
223
+ * between different recovery strategies based on alert severity and history.
224
+ */
225
+ selectHealingStrategy(alert) {
226
+ // Analyze recent alerts to determine best strategy
227
+ const recentAlerts = this.getRecentAlerts();
228
+ // If memory is the issue
229
+ if (alert.metric === 'memory' || alert.metric === 'memory-leak') {
230
+ // Check if GC helps (coordinate with GC subsystem)
231
+ if (this.canRecoverWithGC()) {
232
+ return {
233
+ type: 'pause_and_gc',
234
+ reason: 'Memory pressure can be relieved by garbage collection'
235
+ };
236
+ }
237
+ // Check if reducing load helps (coordinate with workload manager)
238
+ if (alert.actual < this.thresholds.memoryMB * 2) {
239
+ return {
240
+ type: 'reduce_batch_size',
241
+ reason: 'Reduce batch size to lower memory footprint',
242
+ parameters: { reductionFactor: 0.5 }
243
+ };
244
+ }
245
+ // Last resort: abort
246
+ return {
247
+ type: 'abort',
248
+ reason: 'Memory exhaustion - cannot recover safely'
249
+ };
250
+ }
251
+ // If CPU is the issue
252
+ if (alert.metric === 'cpu') {
253
+ return {
254
+ type: 'reduce_batch_size',
255
+ reason: 'Reduce CPU load by throttling workload',
256
+ parameters: { reductionFactor: 0.7 }
257
+ };
258
+ }
259
+ // Default: log and monitor
260
+ return {
261
+ type: 'pause_and_gc',
262
+ reason: 'Unknown issue - attempt recovery via GC'
263
+ };
264
+ }
265
+ /**
266
+ * Check if garbage collection can recover memory.
267
+ */
268
+ canRecoverWithGC() {
269
+ const heapStats = v8.getHeapStatistics();
270
+ const usedPercent = heapStats.used_heap_size / heapStats.heap_size_limit;
271
+ // If we're using < 90% of heap, GC should help
272
+ return usedPercent < 0.9;
273
+ }
274
+ /**
275
+ * Get recent alerts (last 10 seconds).
276
+ */
277
+ getRecentAlerts() {
278
+ // This would be tracked in a real implementation
279
+ return [];
280
+ }
281
+ /**
282
+ * Heal by forcing garbage collection.
283
+ */
284
+ healByGarbageCollection() {
285
+ console.log('🧹 Running garbage collection...');
286
+ if (global.gc) {
287
+ global.gc();
288
+ console.log('✅ Garbage collection completed');
289
+ }
290
+ else {
291
+ console.warn('⚠️ GC not available (run with --expose-gc)');
292
+ }
293
+ }
294
+ /**
295
+ * Heal by reducing workload.
296
+ */
297
+ healByReducingLoad(parameters) {
298
+ const factor = parameters?.reductionFactor || 0.5;
299
+ console.log(`📉 Reducing workload by ${((1 - factor) * 100).toFixed(0)}%...`);
300
+ // Emit event for simulation runner to reduce batch size
301
+ this.emit('reduce-load', { factor });
302
+ }
303
+ /**
304
+ * Heal by restarting component.
305
+ */
306
+ healByRestartingComponent(parameters) {
307
+ const component = parameters?.component || 'unknown';
308
+ console.log(`🔄 Restarting component: ${component}...`);
309
+ // Emit event for component restart
310
+ this.emit('restart-component', { component });
311
+ }
312
+ /**
313
+ * Heal by aborting (last resort).
314
+ */
315
+ healByAborting(reason) {
316
+ console.error(`🛑 Aborting simulation: ${reason}`);
317
+ // Emit abort event
318
+ this.emit('abort', { reason });
319
+ }
320
+ // --------------------------------------------------------------------------
321
+ // Reporting
322
+ // --------------------------------------------------------------------------
323
+ /**
324
+ * Get current health status.
325
+ */
326
+ getStatus() {
327
+ const metrics = this.collectMetrics();
328
+ const alerts = this.checkThresholds(metrics);
329
+ return {
330
+ healthy: alerts.filter(a => a.level === 'critical').length === 0,
331
+ metrics,
332
+ alerts
333
+ };
334
+ }
335
+ /**
336
+ * Get metrics history.
337
+ */
338
+ getHistory() {
339
+ return [...this.metricsHistory];
340
+ }
341
+ /**
342
+ * Generate health report.
343
+ */
344
+ generateReport() {
345
+ const status = this.getStatus();
346
+ let report = '# System Health Report\n\n';
347
+ report += `**Generated**: ${new Date().toLocaleString()}\n`;
348
+ report += `**Status**: ${status.healthy ? '✅ Healthy' : '⚠️ Unhealthy'}\n\n`;
349
+ report += '## Current Metrics\n\n';
350
+ report += `- **CPU Usage**: ${status.metrics.cpu.usage.toFixed(1)}%\n`;
351
+ report += `- **Load Average**: ${status.metrics.cpu.loadAverage.map(l => l.toFixed(2)).join(', ')}\n`;
352
+ report += `- **Memory Used**: ${status.metrics.memory.used.toFixed(0)} MB\n`;
353
+ report += `- **Memory Available**: ${status.metrics.memory.available.toFixed(0)} MB\n`;
354
+ report += `- **Heap Used**: ${status.metrics.memory.heapUsed.toFixed(0)} MB\n`;
355
+ report += `- **Heap Total**: ${status.metrics.memory.heapTotal.toFixed(0)} MB\n\n`;
356
+ if (status.alerts.length > 0) {
357
+ report += '## Active Alerts\n\n';
358
+ for (const alert of status.alerts) {
359
+ const icon = alert.level === 'critical' ? '🔴' :
360
+ alert.level === 'warning' ? '🟠' : '🟡';
361
+ report += `${icon} **${alert.metric}** (${alert.level})\n`;
362
+ report += `- ${alert.message}\n`;
363
+ report += `- Threshold: ${alert.threshold}\n`;
364
+ report += `- Actual: ${alert.actual.toFixed(2)}\n`;
365
+ report += `- Action: ${alert.action}\n\n`;
366
+ }
367
+ }
368
+ return report;
369
+ }
370
+ }
371
+ // ============================================================================
372
+ // Factory
373
+ // ============================================================================
374
+ /**
375
+ * Create health monitor instance.
376
+ */
377
+ export function createHealthMonitor(thresholds) {
378
+ return new HealthMonitor(thresholds);
379
+ }
380
+ //# sourceMappingURL=health-monitor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"health-monitor.js","sourceRoot":"","sources":["../../../../src/cli/lib/health-monitor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,103 @@
1
+ /**
2
+ * History Tracker
3
+ *
4
+ * Tracks performance trends, detects regressions, and prepares
5
+ * visualization data for simulation history.
6
+ */
7
+ import { ReportStore } from './report-store';
8
+ export interface PerformanceTrend {
9
+ metric: string;
10
+ scenario: string;
11
+ dataPoints: Array<{
12
+ timestamp: Date;
13
+ value: number;
14
+ runId: number;
15
+ }>;
16
+ statistics: {
17
+ mean: number;
18
+ median: number;
19
+ min: number;
20
+ max: number;
21
+ stdDev: number;
22
+ };
23
+ trend: 'improving' | 'degrading' | 'stable';
24
+ slope?: number;
25
+ rSquared?: number;
26
+ }
27
+ export interface VisualizationData {
28
+ type: 'line' | 'bar' | 'scatter';
29
+ labels: string[];
30
+ datasets: Array<{
31
+ label: string;
32
+ data: number[];
33
+ backgroundColor?: string;
34
+ borderColor?: string;
35
+ }>;
36
+ }
37
+ export interface RegressionAlert {
38
+ severity: 'minor' | 'major' | 'critical';
39
+ metric: string;
40
+ scenario: string;
41
+ message: string;
42
+ degradation: number;
43
+ baseline: number;
44
+ current: number;
45
+ timestamp: Date;
46
+ }
47
+ export declare class HistoryTracker {
48
+ private store;
49
+ constructor(store: ReportStore);
50
+ /**
51
+ * Get performance trend for a specific metric and scenario.
52
+ */
53
+ getPerformanceTrend(scenarioId: string, metric: string): Promise<PerformanceTrend>;
54
+ /**
55
+ * Get all performance trends for a scenario.
56
+ */
57
+ getAllTrends(scenarioId: string): Promise<PerformanceTrend[]>;
58
+ /**
59
+ * Calculate statistical measures.
60
+ */
61
+ private calculateStatistics;
62
+ /**
63
+ * Calculate R-squared (coefficient of determination) for trend line.
64
+ */
65
+ private calculateRSquared;
66
+ /**
67
+ * Detect regressions using moving average baseline.
68
+ */
69
+ detectRegressions(scenarioId: string, windowSize?: number, threshold?: number): Promise<RegressionAlert[]>;
70
+ /**
71
+ * Compare current run against baseline.
72
+ */
73
+ compareToBaseline(scenarioId: string, currentRunId: number, baselineRunId?: number): Promise<{
74
+ metric: string;
75
+ baseline: number;
76
+ current: number;
77
+ change: number;
78
+ changePercent: number;
79
+ improved: boolean;
80
+ }[]>;
81
+ private getSeverity;
82
+ /**
83
+ * Prepare data for Chart.js line chart.
84
+ */
85
+ prepareLineChart(scenarioId: string, metrics: string[]): Promise<VisualizationData>;
86
+ /**
87
+ * Prepare data for comparison bar chart.
88
+ */
89
+ prepareComparisonChart(runIds: number[]): Promise<VisualizationData>;
90
+ /**
91
+ * Prepare scatter plot for correlation analysis.
92
+ */
93
+ prepareScatterPlot(scenarioId: string, xMetric: string, yMetric: string): Promise<VisualizationData>;
94
+ /**
95
+ * Generate comprehensive trend report.
96
+ */
97
+ generateTrendReport(scenarioId: string): Promise<string>;
98
+ }
99
+ /**
100
+ * Create history tracker instance.
101
+ */
102
+ export declare function createHistoryTracker(store: ReportStore): HistoryTracker;
103
+ //# sourceMappingURL=history-tracker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"history-tracker.d.ts","sourceRoot":"","sources":["../../../../src/cli/lib/history-tracker.ts"],"names":[],"mappings":"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"}