agentdb 2.0.0-alpha.2 → 2.0.0-alpha.2.2

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 (317) hide show
  1. package/dist/agentdb.min.js +4 -4
  2. package/dist/simulation/cli.js +0 -0
  3. package/dist/src/cli/agentdb-cli.d.ts.map +1 -1
  4. package/dist/src/cli/agentdb-cli.js +78 -0
  5. package/dist/src/cli/agentdb-cli.js.map +1 -1
  6. package/dist/src/cli/commands/init.js +3 -3
  7. package/dist/src/cli/commands/init.js.map +1 -1
  8. package/package.json +3 -3
  9. package/src/cli/agentdb-cli.ts +78 -0
  10. package/src/cli/commands/init.ts +3 -3
  11. package/dist/agentdb-advanced.js +0 -2110
  12. package/dist/agentdb-advanced.min.js +0 -1
  13. package/dist/backends/GraphBackend.d.ts +0 -196
  14. package/dist/backends/GraphBackend.d.ts.map +0 -1
  15. package/dist/backends/GraphBackend.js +0 -33
  16. package/dist/backends/GraphBackend.js.map +0 -1
  17. package/dist/backends/LearningBackend.d.ts +0 -148
  18. package/dist/backends/LearningBackend.d.ts.map +0 -1
  19. package/dist/backends/LearningBackend.js +0 -27
  20. package/dist/backends/LearningBackend.js.map +0 -1
  21. package/dist/backends/VectorBackend.d.ts +0 -119
  22. package/dist/backends/VectorBackend.d.ts.map +0 -1
  23. package/dist/backends/VectorBackend.js +0 -14
  24. package/dist/backends/VectorBackend.js.map +0 -1
  25. package/dist/backends/detector.d.ts +0 -81
  26. package/dist/backends/detector.d.ts.map +0 -1
  27. package/dist/backends/detector.js +0 -192
  28. package/dist/backends/detector.js.map +0 -1
  29. package/dist/backends/factory.d.ts +0 -50
  30. package/dist/backends/factory.d.ts.map +0 -1
  31. package/dist/backends/factory.js +0 -161
  32. package/dist/backends/factory.js.map +0 -1
  33. package/dist/backends/graph/GraphDatabaseAdapter.d.ts +0 -139
  34. package/dist/backends/graph/GraphDatabaseAdapter.d.ts.map +0 -1
  35. package/dist/backends/graph/GraphDatabaseAdapter.js +0 -194
  36. package/dist/backends/graph/GraphDatabaseAdapter.js.map +0 -1
  37. package/dist/backends/hnswlib/HNSWLibBackend.d.ts +0 -92
  38. package/dist/backends/hnswlib/HNSWLibBackend.d.ts.map +0 -1
  39. package/dist/backends/hnswlib/HNSWLibBackend.js +0 -316
  40. package/dist/backends/hnswlib/HNSWLibBackend.js.map +0 -1
  41. package/dist/backends/hnswlib/index.d.ts +0 -7
  42. package/dist/backends/hnswlib/index.d.ts.map +0 -1
  43. package/dist/backends/hnswlib/index.js +0 -7
  44. package/dist/backends/hnswlib/index.js.map +0 -1
  45. package/dist/backends/index.d.ts +0 -14
  46. package/dist/backends/index.d.ts.map +0 -1
  47. package/dist/backends/index.js +0 -13
  48. package/dist/backends/index.js.map +0 -1
  49. package/dist/backends/ruvector/RuVectorBackend.d.ts +0 -75
  50. package/dist/backends/ruvector/RuVectorBackend.d.ts.map +0 -1
  51. package/dist/backends/ruvector/RuVectorBackend.js +0 -198
  52. package/dist/backends/ruvector/RuVectorBackend.js.map +0 -1
  53. package/dist/backends/ruvector/RuVectorLearning.d.ts +0 -104
  54. package/dist/backends/ruvector/RuVectorLearning.d.ts.map +0 -1
  55. package/dist/backends/ruvector/RuVectorLearning.js +0 -177
  56. package/dist/backends/ruvector/RuVectorLearning.js.map +0 -1
  57. package/dist/backends/ruvector/index.d.ts +0 -9
  58. package/dist/backends/ruvector/index.d.ts.map +0 -1
  59. package/dist/backends/ruvector/index.js +0 -8
  60. package/dist/backends/ruvector/index.js.map +0 -1
  61. package/dist/benchmarks/wasm-vector-benchmark.d.ts +0 -10
  62. package/dist/benchmarks/wasm-vector-benchmark.d.ts.map +0 -1
  63. package/dist/benchmarks/wasm-vector-benchmark.js +0 -196
  64. package/dist/benchmarks/wasm-vector-benchmark.js.map +0 -1
  65. package/dist/browser/AdvancedFeatures.d.ts +0 -144
  66. package/dist/browser/AdvancedFeatures.d.ts.map +0 -1
  67. package/dist/browser/AdvancedFeatures.js +0 -430
  68. package/dist/browser/AdvancedFeatures.js.map +0 -1
  69. package/dist/browser/HNSWIndex.d.ts +0 -117
  70. package/dist/browser/HNSWIndex.d.ts.map +0 -1
  71. package/dist/browser/HNSWIndex.js +0 -402
  72. package/dist/browser/HNSWIndex.js.map +0 -1
  73. package/dist/browser/ProductQuantization.d.ts +0 -107
  74. package/dist/browser/ProductQuantization.d.ts.map +0 -1
  75. package/dist/browser/ProductQuantization.js +0 -337
  76. package/dist/browser/ProductQuantization.js.map +0 -1
  77. package/dist/browser/browser/AdvancedFeatures.d.ts +0 -144
  78. package/dist/browser/browser/AdvancedFeatures.d.ts.map +0 -1
  79. package/dist/browser/browser/AdvancedFeatures.js +0 -427
  80. package/dist/browser/browser/HNSWIndex.d.ts +0 -117
  81. package/dist/browser/browser/HNSWIndex.d.ts.map +0 -1
  82. package/dist/browser/browser/HNSWIndex.js +0 -402
  83. package/dist/browser/browser/ProductQuantization.d.ts +0 -107
  84. package/dist/browser/browser/ProductQuantization.d.ts.map +0 -1
  85. package/dist/browser/browser/ProductQuantization.js +0 -348
  86. package/dist/browser/browser/index.d.ts +0 -223
  87. package/dist/browser/browser/index.d.ts.map +0 -1
  88. package/dist/browser/browser/index.js +0 -233
  89. package/dist/browser/index.d.ts +0 -223
  90. package/dist/browser/index.d.ts.map +0 -1
  91. package/dist/browser/index.js +0 -225
  92. package/dist/browser/index.js.map +0 -1
  93. package/dist/cli/agentdb-cli.d.ts +0 -154
  94. package/dist/cli/agentdb-cli.d.ts.map +0 -1
  95. package/dist/cli/agentdb-cli.js +0 -2273
  96. package/dist/cli/agentdb-cli.js.map +0 -1
  97. package/dist/cli/agentdb.db +0 -0
  98. package/dist/cli/commands/init.d.ts +0 -12
  99. package/dist/cli/commands/init.d.ts.map +0 -1
  100. package/dist/cli/commands/init.js +0 -115
  101. package/dist/cli/commands/init.js.map +0 -1
  102. package/dist/cli/commands/install-embeddings.d.ts +0 -10
  103. package/dist/cli/commands/install-embeddings.d.ts.map +0 -1
  104. package/dist/cli/commands/install-embeddings.js +0 -68
  105. package/dist/cli/commands/install-embeddings.js.map +0 -1
  106. package/dist/cli/commands/migrate.d.ts +0 -15
  107. package/dist/cli/commands/migrate.d.ts.map +0 -1
  108. package/dist/cli/commands/migrate.js +0 -425
  109. package/dist/cli/commands/migrate.js.map +0 -1
  110. package/dist/cli/commands/status.d.ts +0 -10
  111. package/dist/cli/commands/status.d.ts.map +0 -1
  112. package/dist/cli/commands/status.js +0 -129
  113. package/dist/cli/commands/status.js.map +0 -1
  114. package/dist/controllers/CausalMemoryGraph.d.ts +0 -126
  115. package/dist/controllers/CausalMemoryGraph.d.ts.map +0 -1
  116. package/dist/controllers/CausalMemoryGraph.js +0 -323
  117. package/dist/controllers/CausalMemoryGraph.js.map +0 -1
  118. package/dist/controllers/CausalRecall.d.ts +0 -139
  119. package/dist/controllers/CausalRecall.d.ts.map +0 -1
  120. package/dist/controllers/CausalRecall.js +0 -356
  121. package/dist/controllers/CausalRecall.js.map +0 -1
  122. package/dist/controllers/ContextSynthesizer.d.ts +0 -65
  123. package/dist/controllers/ContextSynthesizer.d.ts.map +0 -1
  124. package/dist/controllers/ContextSynthesizer.js +0 -208
  125. package/dist/controllers/ContextSynthesizer.js.map +0 -1
  126. package/dist/controllers/EmbeddingService.d.ts +0 -37
  127. package/dist/controllers/EmbeddingService.d.ts.map +0 -1
  128. package/dist/controllers/EmbeddingService.js +0 -136
  129. package/dist/controllers/EmbeddingService.js.map +0 -1
  130. package/dist/controllers/EnhancedEmbeddingService.d.ts +0 -50
  131. package/dist/controllers/EnhancedEmbeddingService.d.ts.map +0 -1
  132. package/dist/controllers/EnhancedEmbeddingService.js +0 -119
  133. package/dist/controllers/EnhancedEmbeddingService.js.map +0 -1
  134. package/dist/controllers/ExplainableRecall.d.ts +0 -163
  135. package/dist/controllers/ExplainableRecall.d.ts.map +0 -1
  136. package/dist/controllers/ExplainableRecall.js +0 -485
  137. package/dist/controllers/ExplainableRecall.js.map +0 -1
  138. package/dist/controllers/HNSWIndex.d.ts +0 -128
  139. package/dist/controllers/HNSWIndex.d.ts.map +0 -1
  140. package/dist/controllers/HNSWIndex.js +0 -361
  141. package/dist/controllers/HNSWIndex.js.map +0 -1
  142. package/dist/controllers/LearningSystem.d.ts +0 -195
  143. package/dist/controllers/LearningSystem.d.ts.map +0 -1
  144. package/dist/controllers/LearningSystem.js +0 -929
  145. package/dist/controllers/LearningSystem.js.map +0 -1
  146. package/dist/controllers/MMRDiversityRanker.d.ts +0 -50
  147. package/dist/controllers/MMRDiversityRanker.d.ts.map +0 -1
  148. package/dist/controllers/MMRDiversityRanker.js +0 -130
  149. package/dist/controllers/MMRDiversityRanker.js.map +0 -1
  150. package/dist/controllers/MetadataFilter.d.ts +0 -70
  151. package/dist/controllers/MetadataFilter.d.ts.map +0 -1
  152. package/dist/controllers/MetadataFilter.js +0 -243
  153. package/dist/controllers/MetadataFilter.js.map +0 -1
  154. package/dist/controllers/NightlyLearner.d.ts +0 -114
  155. package/dist/controllers/NightlyLearner.d.ts.map +0 -1
  156. package/dist/controllers/NightlyLearner.js +0 -394
  157. package/dist/controllers/NightlyLearner.js.map +0 -1
  158. package/dist/controllers/QUICClient.d.ts +0 -109
  159. package/dist/controllers/QUICClient.d.ts.map +0 -1
  160. package/dist/controllers/QUICClient.js +0 -299
  161. package/dist/controllers/QUICClient.js.map +0 -1
  162. package/dist/controllers/QUICServer.d.ts +0 -121
  163. package/dist/controllers/QUICServer.d.ts.map +0 -1
  164. package/dist/controllers/QUICServer.js +0 -383
  165. package/dist/controllers/QUICServer.js.map +0 -1
  166. package/dist/controllers/ReasoningBank.d.ts +0 -196
  167. package/dist/controllers/ReasoningBank.d.ts.map +0 -1
  168. package/dist/controllers/ReasoningBank.js +0 -494
  169. package/dist/controllers/ReasoningBank.js.map +0 -1
  170. package/dist/controllers/ReflexionMemory.d.ts +0 -125
  171. package/dist/controllers/ReflexionMemory.d.ts.map +0 -1
  172. package/dist/controllers/ReflexionMemory.js +0 -521
  173. package/dist/controllers/ReflexionMemory.js.map +0 -1
  174. package/dist/controllers/SkillLibrary.d.ts +0 -149
  175. package/dist/controllers/SkillLibrary.d.ts.map +0 -1
  176. package/dist/controllers/SkillLibrary.js +0 -547
  177. package/dist/controllers/SkillLibrary.js.map +0 -1
  178. package/dist/controllers/SyncCoordinator.d.ts +0 -120
  179. package/dist/controllers/SyncCoordinator.d.ts.map +0 -1
  180. package/dist/controllers/SyncCoordinator.js +0 -441
  181. package/dist/controllers/SyncCoordinator.js.map +0 -1
  182. package/dist/controllers/WASMVectorSearch.d.ts +0 -89
  183. package/dist/controllers/WASMVectorSearch.d.ts.map +0 -1
  184. package/dist/controllers/WASMVectorSearch.js +0 -234
  185. package/dist/controllers/WASMVectorSearch.js.map +0 -1
  186. package/dist/controllers/frontier-index.d.ts +0 -14
  187. package/dist/controllers/frontier-index.d.ts.map +0 -1
  188. package/dist/controllers/frontier-index.js +0 -10
  189. package/dist/controllers/frontier-index.js.map +0 -1
  190. package/dist/controllers/index.d.ts +0 -30
  191. package/dist/controllers/index.d.ts.map +0 -1
  192. package/dist/controllers/index.js +0 -18
  193. package/dist/controllers/index.js.map +0 -1
  194. package/dist/db-fallback.d.ts +0 -26
  195. package/dist/db-fallback.d.ts.map +0 -1
  196. package/dist/db-fallback.js +0 -264
  197. package/dist/db-fallback.js.map +0 -1
  198. package/dist/db-test.d.ts +0 -13
  199. package/dist/db-test.d.ts.map +0 -1
  200. package/dist/db-test.js +0 -55
  201. package/dist/db-test.js.map +0 -1
  202. package/dist/db-unified.d.ts +0 -76
  203. package/dist/db-unified.d.ts.map +0 -1
  204. package/dist/db-unified.js +0 -278
  205. package/dist/db-unified.js.map +0 -1
  206. package/dist/examples/quic-sync-example.d.ts +0 -9
  207. package/dist/examples/quic-sync-example.d.ts.map +0 -1
  208. package/dist/examples/quic-sync-example.js +0 -169
  209. package/dist/examples/quic-sync-example.js.map +0 -1
  210. package/dist/examples/wasm-vector-usage.d.ts +0 -12
  211. package/dist/examples/wasm-vector-usage.d.ts.map +0 -1
  212. package/dist/examples/wasm-vector-usage.js +0 -190
  213. package/dist/examples/wasm-vector-usage.js.map +0 -1
  214. package/dist/index.d.ts +0 -28
  215. package/dist/index.d.ts.map +0 -1
  216. package/dist/index.js +0 -35
  217. package/dist/index.js.map +0 -1
  218. package/dist/malp/core/ccc.d.ts +0 -99
  219. package/dist/malp/core/ccc.d.ts.map +0 -1
  220. package/dist/malp/core/ccc.js +0 -181
  221. package/dist/malp/core/ccc.js.map +0 -1
  222. package/dist/malp/core/index.d.ts +0 -9
  223. package/dist/malp/core/index.d.ts.map +0 -1
  224. package/dist/malp/core/index.js +0 -9
  225. package/dist/malp/core/index.js.map +0 -1
  226. package/dist/malp/core/linalg.d.ts +0 -101
  227. package/dist/malp/core/linalg.d.ts.map +0 -1
  228. package/dist/malp/core/linalg.js +0 -278
  229. package/dist/malp/core/linalg.js.map +0 -1
  230. package/dist/malp/core/optimizer.d.ts +0 -68
  231. package/dist/malp/core/optimizer.d.ts.map +0 -1
  232. package/dist/malp/core/optimizer.js +0 -160
  233. package/dist/malp/core/optimizer.js.map +0 -1
  234. package/dist/malp/index.d.ts +0 -33
  235. package/dist/malp/index.d.ts.map +0 -1
  236. package/dist/malp/index.js +0 -37
  237. package/dist/malp/index.js.map +0 -1
  238. package/dist/malp/metrics/agreement.d.ts +0 -106
  239. package/dist/malp/metrics/agreement.d.ts.map +0 -1
  240. package/dist/malp/metrics/agreement.js +0 -199
  241. package/dist/malp/metrics/agreement.js.map +0 -1
  242. package/dist/malp/metrics/comparison.d.ts +0 -93
  243. package/dist/malp/metrics/comparison.d.ts.map +0 -1
  244. package/dist/malp/metrics/comparison.js +0 -256
  245. package/dist/malp/metrics/comparison.js.map +0 -1
  246. package/dist/malp/metrics/index.d.ts +0 -8
  247. package/dist/malp/metrics/index.d.ts.map +0 -1
  248. package/dist/malp/metrics/index.js +0 -8
  249. package/dist/malp/metrics/index.js.map +0 -1
  250. package/dist/malp/metrics/performance.d.ts +0 -61
  251. package/dist/malp/metrics/performance.d.ts.map +0 -1
  252. package/dist/malp/metrics/performance.js +0 -190
  253. package/dist/malp/metrics/performance.js.map +0 -1
  254. package/dist/malp/models/index.d.ts +0 -7
  255. package/dist/malp/models/index.d.ts.map +0 -1
  256. package/dist/malp/models/index.js +0 -7
  257. package/dist/malp/models/index.js.map +0 -1
  258. package/dist/malp/models/malp.d.ts +0 -116
  259. package/dist/malp/models/malp.d.ts.map +0 -1
  260. package/dist/malp/models/malp.js +0 -206
  261. package/dist/malp/models/malp.js.map +0 -1
  262. package/dist/malp/models/regressor.d.ts +0 -80
  263. package/dist/malp/models/regressor.d.ts.map +0 -1
  264. package/dist/malp/models/regressor.js +0 -229
  265. package/dist/malp/models/regressor.js.map +0 -1
  266. package/dist/malp/reasoningbank_validator.d.ts +0 -187
  267. package/dist/malp/reasoningbank_validator.d.ts.map +0 -1
  268. package/dist/malp/reasoningbank_validator.js +0 -246
  269. package/dist/malp/reasoningbank_validator.js.map +0 -1
  270. package/dist/malp/wasm_bindings.d.ts +0 -344
  271. package/dist/malp/wasm_bindings.d.ts.map +0 -1
  272. package/dist/malp/wasm_bindings.js +0 -9
  273. package/dist/malp/wasm_bindings.js.map +0 -1
  274. package/dist/mcp/agentdb-mcp-server.d.ts +0 -8
  275. package/dist/mcp/agentdb-mcp-server.d.ts.map +0 -1
  276. package/dist/mcp/agentdb-mcp-server.js +0 -2116
  277. package/dist/mcp/agentdb-mcp-server.js.map +0 -1
  278. package/dist/mcp/learning-tools-handlers.d.ts +0 -16
  279. package/dist/mcp/learning-tools-handlers.d.ts.map +0 -1
  280. package/dist/mcp/learning-tools-handlers.js +0 -105
  281. package/dist/mcp/learning-tools-handlers.js.map +0 -1
  282. package/dist/optimizations/BatchOperations.d.ts +0 -109
  283. package/dist/optimizations/BatchOperations.d.ts.map +0 -1
  284. package/dist/optimizations/BatchOperations.js +0 -407
  285. package/dist/optimizations/BatchOperations.js.map +0 -1
  286. package/dist/optimizations/QueryOptimizer.d.ts +0 -83
  287. package/dist/optimizations/QueryOptimizer.d.ts.map +0 -1
  288. package/dist/optimizations/QueryOptimizer.js +0 -228
  289. package/dist/optimizations/QueryOptimizer.js.map +0 -1
  290. package/dist/optimizations/ToolCache.d.ts +0 -137
  291. package/dist/optimizations/ToolCache.d.ts.map +0 -1
  292. package/dist/optimizations/ToolCache.js +0 -281
  293. package/dist/optimizations/ToolCache.js.map +0 -1
  294. package/dist/optimizations/index.d.ts +0 -10
  295. package/dist/optimizations/index.d.ts.map +0 -1
  296. package/dist/optimizations/index.js +0 -8
  297. package/dist/optimizations/index.js.map +0 -1
  298. package/dist/security/input-validation.d.ts +0 -109
  299. package/dist/security/input-validation.d.ts.map +0 -1
  300. package/dist/security/input-validation.js +0 -398
  301. package/dist/security/input-validation.js.map +0 -1
  302. package/dist/security/limits.d.ts +0 -150
  303. package/dist/security/limits.d.ts.map +0 -1
  304. package/dist/security/limits.js +0 -288
  305. package/dist/security/limits.js.map +0 -1
  306. package/dist/security/path-security.d.ts +0 -100
  307. package/dist/security/path-security.d.ts.map +0 -1
  308. package/dist/security/path-security.js +0 -337
  309. package/dist/security/path-security.js.map +0 -1
  310. package/dist/security/validation.d.ts +0 -95
  311. package/dist/security/validation.d.ts.map +0 -1
  312. package/dist/security/validation.js +0 -315
  313. package/dist/security/validation.js.map +0 -1
  314. package/dist/types/quic.d.ts +0 -518
  315. package/dist/types/quic.d.ts.map +0 -1
  316. package/dist/types/quic.js +0 -272
  317. package/dist/types/quic.js.map +0 -1
@@ -1,228 +0,0 @@
1
- /**
2
- * QueryOptimizer - Advanced Query Optimization for AgentDB
3
- *
4
- * Implements:
5
- * - Query result caching with TTL
6
- * - Prepared statement pooling
7
- * - Batch operation optimization
8
- * - Index usage analysis
9
- * - Query plan analysis
10
- */
11
- export class QueryOptimizer {
12
- db;
13
- cache;
14
- stats;
15
- config;
16
- constructor(db, config) {
17
- this.db = db;
18
- this.cache = new Map();
19
- this.stats = new Map();
20
- this.config = {
21
- maxSize: 1000,
22
- ttl: 60000, // 1 minute default
23
- enabled: true,
24
- ...config
25
- };
26
- }
27
- /**
28
- * Execute query with caching
29
- */
30
- query(sql, params = [], cacheKey) {
31
- const key = cacheKey || this.generateCacheKey(sql, params);
32
- const startTime = Date.now();
33
- // Check cache
34
- if (this.config.enabled && this.cache.has(key)) {
35
- const cached = this.cache.get(key);
36
- if (Date.now() - cached.timestamp < this.config.ttl) {
37
- this.recordStats(sql, Date.now() - startTime, true);
38
- return cached.result;
39
- }
40
- else {
41
- this.cache.delete(key);
42
- }
43
- }
44
- // Execute query
45
- const stmt = this.db.prepare(sql);
46
- const result = params.length > 0 ? stmt.all(...params) : stmt.all();
47
- const executionTime = Date.now() - startTime;
48
- this.recordStats(sql, executionTime, false);
49
- // Cache result
50
- if (this.config.enabled) {
51
- this.cacheResult(key, result);
52
- }
53
- return result;
54
- }
55
- /**
56
- * Execute query that returns single row
57
- */
58
- queryOne(sql, params = [], cacheKey) {
59
- const results = this.query(sql, params, cacheKey);
60
- return results[0];
61
- }
62
- /**
63
- * Execute write operation (no caching)
64
- */
65
- execute(sql, params = []) {
66
- const startTime = Date.now();
67
- const stmt = this.db.prepare(sql);
68
- const result = params.length > 0 ? stmt.run(...params) : stmt.run();
69
- this.recordStats(sql, Date.now() - startTime, false);
70
- // Invalidate relevant cache entries
71
- this.invalidateCache(sql);
72
- return result;
73
- }
74
- /**
75
- * Batch insert optimization
76
- */
77
- batchInsert(table, columns, rows) {
78
- const placeholders = columns.map(() => '?').join(', ');
79
- const sql = `INSERT INTO ${table} (${columns.join(', ')}) VALUES (${placeholders})`;
80
- const transaction = this.db.transaction((rows) => {
81
- const stmt = this.db.prepare(sql);
82
- for (const row of rows) {
83
- stmt.run(...row);
84
- }
85
- });
86
- const startTime = Date.now();
87
- transaction(rows);
88
- this.recordStats(`BATCH INSERT ${table}`, Date.now() - startTime, false);
89
- }
90
- /**
91
- * Analyze query plan
92
- */
93
- analyzeQuery(sql) {
94
- const plan = this.db.prepare(`EXPLAIN QUERY PLAN ${sql}`).all();
95
- const planText = plan.map((row) => row.detail).join(' ');
96
- const usesIndex = planText.toLowerCase().includes('index');
97
- const hasFullScan = planText.toLowerCase().includes('scan');
98
- // Simple cost estimation
99
- let estimatedCost = 1;
100
- if (hasFullScan)
101
- estimatedCost *= 10;
102
- if (!usesIndex)
103
- estimatedCost *= 5;
104
- return {
105
- plan: planText,
106
- usesIndex,
107
- estimatedCost
108
- };
109
- }
110
- /**
111
- * Get optimization suggestions
112
- */
113
- getSuggestions() {
114
- const suggestions = [];
115
- // Analyze frequently run queries
116
- const frequentQueries = Array.from(this.stats.values())
117
- .filter(s => s.executionCount > 100)
118
- .sort((a, b) => b.totalTime - a.totalTime)
119
- .slice(0, 10);
120
- for (const stat of frequentQueries) {
121
- if (stat.avgTime > 50) {
122
- const analysis = this.analyzeQuery(stat.query);
123
- if (!analysis.usesIndex) {
124
- suggestions.push(`Slow query (${stat.avgTime.toFixed(1)}ms avg): Consider adding index for:\n${stat.query}`);
125
- }
126
- if (stat.cacheHits === 0 && stat.executionCount > 50) {
127
- suggestions.push(`Frequently run query without cache hits: ${stat.query.substring(0, 50)}...`);
128
- }
129
- }
130
- }
131
- // Check cache efficiency
132
- const totalHits = Array.from(this.stats.values()).reduce((sum, s) => sum + s.cacheHits, 0);
133
- const totalMisses = Array.from(this.stats.values()).reduce((sum, s) => sum + s.cacheMisses, 0);
134
- const hitRate = totalHits / (totalHits + totalMisses) || 0;
135
- if (hitRate < 0.3 && totalHits + totalMisses > 1000) {
136
- suggestions.push(`Low cache hit rate (${(hitRate * 100).toFixed(1)}%). Consider increasing cache size or TTL.`);
137
- }
138
- return suggestions;
139
- }
140
- /**
141
- * Get query statistics
142
- */
143
- getStats() {
144
- return Array.from(this.stats.values())
145
- .sort((a, b) => b.totalTime - a.totalTime);
146
- }
147
- /**
148
- * Clear cache
149
- */
150
- clearCache() {
151
- this.cache.clear();
152
- }
153
- /**
154
- * Get cache statistics
155
- */
156
- getCacheStats() {
157
- const totalHits = Array.from(this.stats.values()).reduce((sum, s) => sum + s.cacheHits, 0);
158
- const totalMisses = Array.from(this.stats.values()).reduce((sum, s) => sum + s.cacheMisses, 0);
159
- return {
160
- size: this.cache.size,
161
- hitRate: totalHits / (totalHits + totalMisses) || 0,
162
- totalHits,
163
- totalMisses
164
- };
165
- }
166
- // ========================================================================
167
- // Private Methods
168
- // ========================================================================
169
- generateCacheKey(sql, params) {
170
- return `${sql}:${JSON.stringify(params)}`;
171
- }
172
- cacheResult(key, result) {
173
- if (this.cache.size >= this.config.maxSize) {
174
- // Simple LRU: remove oldest entry
175
- const oldestKey = this.cache.keys().next().value;
176
- if (oldestKey) {
177
- this.cache.delete(oldestKey);
178
- }
179
- }
180
- this.cache.set(key, {
181
- result,
182
- timestamp: Date.now()
183
- });
184
- }
185
- invalidateCache(sql) {
186
- // Invalidate cache entries related to modified tables
187
- const tables = this.extractTables(sql);
188
- for (const [key] of this.cache) {
189
- for (const table of tables) {
190
- if (key.toLowerCase().includes(table.toLowerCase())) {
191
- this.cache.delete(key);
192
- }
193
- }
194
- }
195
- }
196
- extractTables(sql) {
197
- const matches = sql.match(/(?:FROM|INTO|UPDATE|JOIN)\s+(\w+)/gi);
198
- if (!matches)
199
- return [];
200
- return matches
201
- .map(m => m.split(/\s+/)[1])
202
- .filter((v, i, a) => a.indexOf(v) === i); // unique
203
- }
204
- recordStats(sql, time, cacheHit) {
205
- const key = sql.substring(0, 100); // Use first 100 chars as key
206
- if (!this.stats.has(key)) {
207
- this.stats.set(key, {
208
- query: sql,
209
- executionCount: 0,
210
- totalTime: 0,
211
- avgTime: 0,
212
- cacheHits: 0,
213
- cacheMisses: 0
214
- });
215
- }
216
- const stat = this.stats.get(key);
217
- stat.executionCount++;
218
- stat.totalTime += time;
219
- stat.avgTime = stat.totalTime / stat.executionCount;
220
- if (cacheHit) {
221
- stat.cacheHits++;
222
- }
223
- else {
224
- stat.cacheMisses++;
225
- }
226
- }
227
- }
228
- //# sourceMappingURL=QueryOptimizer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"QueryOptimizer.js","sourceRoot":"","sources":["../../src/optimizations/QueryOptimizer.ts"],"names":[],"mappings":"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"}
@@ -1,137 +0,0 @@
1
- /**
2
- * ToolCache - Intelligent Caching for MCP Tools
3
- *
4
- * Features:
5
- * - TTL-based expiration
6
- * - LRU eviction when max size reached
7
- * - Pattern-based cache invalidation
8
- * - Hit/miss rate tracking
9
- * - Memory-efficient storage
10
- *
11
- * Performance Impact:
12
- * - agentdb_stats: 176ms → ~20ms (8.8x faster)
13
- * - pattern_stats: Similar improvement
14
- * - learning_metrics: 120s TTL for expensive computations
15
- */
16
- export interface CacheEntry<T> {
17
- value: T;
18
- expiry: number;
19
- accessCount: number;
20
- lastAccess: number;
21
- }
22
- export interface CacheStats {
23
- size: number;
24
- maxSize: number;
25
- hits: number;
26
- misses: number;
27
- hitRate: number;
28
- evictions: number;
29
- avgAccessCount: number;
30
- }
31
- export declare class ToolCache<T = any> {
32
- private cache;
33
- private maxSize;
34
- private defaultTTLMs;
35
- private hits;
36
- private misses;
37
- private evictions;
38
- constructor(maxSize?: number, defaultTTLMs?: number);
39
- /**
40
- * Set cache entry with optional custom TTL
41
- */
42
- set(key: string, value: T, ttlMs?: number): void;
43
- /**
44
- * Get cache entry (returns null if expired or not found)
45
- */
46
- get(key: string): T | null;
47
- /**
48
- * Check if key exists and is not expired
49
- */
50
- has(key: string): boolean;
51
- /**
52
- * Delete specific key
53
- */
54
- delete(key: string): boolean;
55
- /**
56
- * Clear all entries matching pattern (e.g., 'stats:*', 'search:user-123:*')
57
- */
58
- clear(pattern?: string): number;
59
- /**
60
- * Evict all expired entries
61
- */
62
- private evictExpired;
63
- /**
64
- * Evict least recently used entry (LRU)
65
- */
66
- private evictLRU;
67
- /**
68
- * Get cache statistics
69
- */
70
- getStats(): CacheStats;
71
- /**
72
- * Reset statistics (keeps cached data)
73
- */
74
- resetStats(): void;
75
- /**
76
- * Get all cache keys (useful for debugging)
77
- */
78
- keys(): string[];
79
- /**
80
- * Get cache entry with metadata (useful for debugging)
81
- */
82
- inspect(key: string): CacheEntry<T> | null;
83
- /**
84
- * Warmup cache with pre-computed values
85
- */
86
- warmup(entries: Array<{
87
- key: string;
88
- value: T;
89
- ttlMs?: number;
90
- }>): void;
91
- /**
92
- * Export cache to JSON (for persistence)
93
- */
94
- export(): Array<{
95
- key: string;
96
- value: T;
97
- expiry: number;
98
- }>;
99
- /**
100
- * Import cache from JSON (for persistence)
101
- */
102
- import(entries: Array<{
103
- key: string;
104
- value: T;
105
- expiry: number;
106
- }>): number;
107
- }
108
- /**
109
- * Specialized caches for different MCP tools
110
- */
111
- export declare class MCPToolCaches {
112
- stats: ToolCache<string>;
113
- patterns: ToolCache<any[]>;
114
- searches: ToolCache<any[]>;
115
- metrics: ToolCache<any>;
116
- constructor();
117
- /**
118
- * Clear all caches
119
- */
120
- clearAll(): void;
121
- /**
122
- * Get aggregate statistics
123
- */
124
- getAggregateStats(): {
125
- stats: CacheStats;
126
- patterns: CacheStats;
127
- searches: CacheStats;
128
- metrics: CacheStats;
129
- total: {
130
- size: number;
131
- hits: number;
132
- misses: number;
133
- hitRate: number;
134
- };
135
- };
136
- }
137
- //# sourceMappingURL=ToolCache.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ToolCache.d.ts","sourceRoot":"","sources":["../../src/optimizations/ToolCache.ts"],"names":[],"mappings":"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"}
@@ -1,281 +0,0 @@
1
- /**
2
- * ToolCache - Intelligent Caching for MCP Tools
3
- *
4
- * Features:
5
- * - TTL-based expiration
6
- * - LRU eviction when max size reached
7
- * - Pattern-based cache invalidation
8
- * - Hit/miss rate tracking
9
- * - Memory-efficient storage
10
- *
11
- * Performance Impact:
12
- * - agentdb_stats: 176ms → ~20ms (8.8x faster)
13
- * - pattern_stats: Similar improvement
14
- * - learning_metrics: 120s TTL for expensive computations
15
- */
16
- export class ToolCache {
17
- cache;
18
- maxSize;
19
- defaultTTLMs;
20
- hits;
21
- misses;
22
- evictions;
23
- constructor(maxSize = 1000, defaultTTLMs = 60000) {
24
- this.cache = new Map();
25
- this.maxSize = maxSize;
26
- this.defaultTTLMs = defaultTTLMs;
27
- this.hits = 0;
28
- this.misses = 0;
29
- this.evictions = 0;
30
- }
31
- /**
32
- * Set cache entry with optional custom TTL
33
- */
34
- set(key, value, ttlMs) {
35
- // Evict expired entries first
36
- this.evictExpired();
37
- // If at capacity, evict LRU entry
38
- if (this.cache.size >= this.maxSize && !this.cache.has(key)) {
39
- this.evictLRU();
40
- }
41
- const expiry = Date.now() + (ttlMs ?? this.defaultTTLMs);
42
- this.cache.set(key, {
43
- value,
44
- expiry,
45
- accessCount: 0,
46
- lastAccess: Date.now(),
47
- });
48
- }
49
- /**
50
- * Get cache entry (returns null if expired or not found)
51
- */
52
- get(key) {
53
- const entry = this.cache.get(key);
54
- if (!entry) {
55
- this.misses++;
56
- return null;
57
- }
58
- // Check expiration
59
- if (Date.now() > entry.expiry) {
60
- this.cache.delete(key);
61
- this.misses++;
62
- return null;
63
- }
64
- // Update access stats
65
- entry.accessCount++;
66
- entry.lastAccess = Date.now();
67
- this.hits++;
68
- return entry.value;
69
- }
70
- /**
71
- * Check if key exists and is not expired
72
- */
73
- has(key) {
74
- const entry = this.cache.get(key);
75
- if (!entry)
76
- return false;
77
- if (Date.now() > entry.expiry) {
78
- this.cache.delete(key);
79
- return false;
80
- }
81
- return true;
82
- }
83
- /**
84
- * Delete specific key
85
- */
86
- delete(key) {
87
- return this.cache.delete(key);
88
- }
89
- /**
90
- * Clear all entries matching pattern (e.g., 'stats:*', 'search:user-123:*')
91
- */
92
- clear(pattern) {
93
- if (!pattern) {
94
- const size = this.cache.size;
95
- this.cache.clear();
96
- return size;
97
- }
98
- // Convert glob pattern to regex
99
- const regex = new RegExp('^' + pattern.replace(/\*/g, '.*') + '$');
100
- let cleared = 0;
101
- for (const key of this.cache.keys()) {
102
- if (regex.test(key)) {
103
- this.cache.delete(key);
104
- cleared++;
105
- }
106
- }
107
- return cleared;
108
- }
109
- /**
110
- * Evict all expired entries
111
- */
112
- evictExpired() {
113
- const now = Date.now();
114
- let evicted = 0;
115
- for (const [key, entry] of this.cache.entries()) {
116
- if (now > entry.expiry) {
117
- this.cache.delete(key);
118
- evicted++;
119
- }
120
- }
121
- this.evictions += evicted;
122
- return evicted;
123
- }
124
- /**
125
- * Evict least recently used entry (LRU)
126
- */
127
- evictLRU() {
128
- let lruKey = null;
129
- let oldestAccess = Infinity;
130
- for (const [key, entry] of this.cache.entries()) {
131
- if (entry.lastAccess < oldestAccess) {
132
- oldestAccess = entry.lastAccess;
133
- lruKey = key;
134
- }
135
- }
136
- if (lruKey) {
137
- this.cache.delete(lruKey);
138
- this.evictions++;
139
- }
140
- }
141
- /**
142
- * Get cache statistics
143
- */
144
- getStats() {
145
- const totalAccesses = this.hits + this.misses;
146
- const hitRate = totalAccesses > 0 ? this.hits / totalAccesses : 0;
147
- let totalAccessCount = 0;
148
- for (const entry of this.cache.values()) {
149
- totalAccessCount += entry.accessCount;
150
- }
151
- const avgAccessCount = this.cache.size > 0 ? totalAccessCount / this.cache.size : 0;
152
- return {
153
- size: this.cache.size,
154
- maxSize: this.maxSize,
155
- hits: this.hits,
156
- misses: this.misses,
157
- hitRate,
158
- evictions: this.evictions,
159
- avgAccessCount,
160
- };
161
- }
162
- /**
163
- * Reset statistics (keeps cached data)
164
- */
165
- resetStats() {
166
- this.hits = 0;
167
- this.misses = 0;
168
- this.evictions = 0;
169
- }
170
- /**
171
- * Get all cache keys (useful for debugging)
172
- */
173
- keys() {
174
- return Array.from(this.cache.keys());
175
- }
176
- /**
177
- * Get cache entry with metadata (useful for debugging)
178
- */
179
- inspect(key) {
180
- return this.cache.get(key) || null;
181
- }
182
- /**
183
- * Warmup cache with pre-computed values
184
- */
185
- warmup(entries) {
186
- for (const { key, value, ttlMs } of entries) {
187
- this.set(key, value, ttlMs);
188
- }
189
- }
190
- /**
191
- * Export cache to JSON (for persistence)
192
- */
193
- export() {
194
- const now = Date.now();
195
- const exported = [];
196
- for (const [key, entry] of this.cache.entries()) {
197
- // Only export non-expired entries
198
- if (entry.expiry > now) {
199
- exported.push({
200
- key,
201
- value: entry.value,
202
- expiry: entry.expiry,
203
- });
204
- }
205
- }
206
- return exported;
207
- }
208
- /**
209
- * Import cache from JSON (for persistence)
210
- */
211
- import(entries) {
212
- const now = Date.now();
213
- let imported = 0;
214
- for (const { key, value, expiry } of entries) {
215
- // Only import non-expired entries
216
- if (expiry > now) {
217
- this.cache.set(key, {
218
- value,
219
- expiry,
220
- accessCount: 0,
221
- lastAccess: now,
222
- });
223
- imported++;
224
- }
225
- }
226
- return imported;
227
- }
228
- }
229
- /**
230
- * Specialized caches for different MCP tools
231
- */
232
- export class MCPToolCaches {
233
- stats;
234
- patterns;
235
- searches;
236
- metrics;
237
- constructor() {
238
- // Stats cache: 60s TTL (agentdb_stats, db_stats, pattern_stats)
239
- this.stats = new ToolCache(100, 60000);
240
- // Pattern cache: 30s TTL (pattern searches, skill searches)
241
- this.patterns = new ToolCache(500, 30000);
242
- // Search results cache: 15s TTL (episode retrieval, vector search)
243
- this.searches = new ToolCache(1000, 15000);
244
- // Metrics cache: 120s TTL (learning_metrics, expensive computations)
245
- this.metrics = new ToolCache(50, 120000);
246
- }
247
- /**
248
- * Clear all caches
249
- */
250
- clearAll() {
251
- this.stats.clear();
252
- this.patterns.clear();
253
- this.searches.clear();
254
- this.metrics.clear();
255
- }
256
- /**
257
- * Get aggregate statistics
258
- */
259
- getAggregateStats() {
260
- const statsStats = this.stats.getStats();
261
- const patternsStats = this.patterns.getStats();
262
- const searchesStats = this.searches.getStats();
263
- const metricsStats = this.metrics.getStats();
264
- const totalHits = statsStats.hits + patternsStats.hits + searchesStats.hits + metricsStats.hits;
265
- const totalMisses = statsStats.misses + patternsStats.misses + searchesStats.misses + metricsStats.misses;
266
- const totalAccesses = totalHits + totalMisses;
267
- return {
268
- stats: statsStats,
269
- patterns: patternsStats,
270
- searches: searchesStats,
271
- metrics: metricsStats,
272
- total: {
273
- size: statsStats.size + patternsStats.size + searchesStats.size + metricsStats.size,
274
- hits: totalHits,
275
- misses: totalMisses,
276
- hitRate: totalAccesses > 0 ? totalHits / totalAccesses : 0,
277
- },
278
- };
279
- }
280
- }
281
- //# sourceMappingURL=ToolCache.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ToolCache.js","sourceRoot":"","sources":["../../src/optimizations/ToolCache.ts"],"names":[],"mappings":"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"}
@@ -1,10 +0,0 @@
1
- /**
2
- * AgentDB Optimizations
3
- *
4
- * Performance optimization utilities
5
- */
6
- export { QueryOptimizer } from './QueryOptimizer';
7
- export { BatchOperations } from './BatchOperations';
8
- export type { CacheConfig, QueryStats } from './QueryOptimizer';
9
- export type { BatchConfig } from './BatchOperations';
10
- //# sourceMappingURL=index.d.ts.map