agentdb 2.0.0-alpha.2 → 2.0.0-alpha.2.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 (314) 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/package.json +3 -3
  7. package/src/cli/agentdb-cli.ts +78 -0
  8. package/dist/agentdb-advanced.js +0 -2110
  9. package/dist/agentdb-advanced.min.js +0 -1
  10. package/dist/backends/GraphBackend.d.ts +0 -196
  11. package/dist/backends/GraphBackend.d.ts.map +0 -1
  12. package/dist/backends/GraphBackend.js +0 -33
  13. package/dist/backends/GraphBackend.js.map +0 -1
  14. package/dist/backends/LearningBackend.d.ts +0 -148
  15. package/dist/backends/LearningBackend.d.ts.map +0 -1
  16. package/dist/backends/LearningBackend.js +0 -27
  17. package/dist/backends/LearningBackend.js.map +0 -1
  18. package/dist/backends/VectorBackend.d.ts +0 -119
  19. package/dist/backends/VectorBackend.d.ts.map +0 -1
  20. package/dist/backends/VectorBackend.js +0 -14
  21. package/dist/backends/VectorBackend.js.map +0 -1
  22. package/dist/backends/detector.d.ts +0 -81
  23. package/dist/backends/detector.d.ts.map +0 -1
  24. package/dist/backends/detector.js +0 -192
  25. package/dist/backends/detector.js.map +0 -1
  26. package/dist/backends/factory.d.ts +0 -50
  27. package/dist/backends/factory.d.ts.map +0 -1
  28. package/dist/backends/factory.js +0 -161
  29. package/dist/backends/factory.js.map +0 -1
  30. package/dist/backends/graph/GraphDatabaseAdapter.d.ts +0 -139
  31. package/dist/backends/graph/GraphDatabaseAdapter.d.ts.map +0 -1
  32. package/dist/backends/graph/GraphDatabaseAdapter.js +0 -194
  33. package/dist/backends/graph/GraphDatabaseAdapter.js.map +0 -1
  34. package/dist/backends/hnswlib/HNSWLibBackend.d.ts +0 -92
  35. package/dist/backends/hnswlib/HNSWLibBackend.d.ts.map +0 -1
  36. package/dist/backends/hnswlib/HNSWLibBackend.js +0 -316
  37. package/dist/backends/hnswlib/HNSWLibBackend.js.map +0 -1
  38. package/dist/backends/hnswlib/index.d.ts +0 -7
  39. package/dist/backends/hnswlib/index.d.ts.map +0 -1
  40. package/dist/backends/hnswlib/index.js +0 -7
  41. package/dist/backends/hnswlib/index.js.map +0 -1
  42. package/dist/backends/index.d.ts +0 -14
  43. package/dist/backends/index.d.ts.map +0 -1
  44. package/dist/backends/index.js +0 -13
  45. package/dist/backends/index.js.map +0 -1
  46. package/dist/backends/ruvector/RuVectorBackend.d.ts +0 -75
  47. package/dist/backends/ruvector/RuVectorBackend.d.ts.map +0 -1
  48. package/dist/backends/ruvector/RuVectorBackend.js +0 -198
  49. package/dist/backends/ruvector/RuVectorBackend.js.map +0 -1
  50. package/dist/backends/ruvector/RuVectorLearning.d.ts +0 -104
  51. package/dist/backends/ruvector/RuVectorLearning.d.ts.map +0 -1
  52. package/dist/backends/ruvector/RuVectorLearning.js +0 -177
  53. package/dist/backends/ruvector/RuVectorLearning.js.map +0 -1
  54. package/dist/backends/ruvector/index.d.ts +0 -9
  55. package/dist/backends/ruvector/index.d.ts.map +0 -1
  56. package/dist/backends/ruvector/index.js +0 -8
  57. package/dist/backends/ruvector/index.js.map +0 -1
  58. package/dist/benchmarks/wasm-vector-benchmark.d.ts +0 -10
  59. package/dist/benchmarks/wasm-vector-benchmark.d.ts.map +0 -1
  60. package/dist/benchmarks/wasm-vector-benchmark.js +0 -196
  61. package/dist/benchmarks/wasm-vector-benchmark.js.map +0 -1
  62. package/dist/browser/AdvancedFeatures.d.ts +0 -144
  63. package/dist/browser/AdvancedFeatures.d.ts.map +0 -1
  64. package/dist/browser/AdvancedFeatures.js +0 -430
  65. package/dist/browser/AdvancedFeatures.js.map +0 -1
  66. package/dist/browser/HNSWIndex.d.ts +0 -117
  67. package/dist/browser/HNSWIndex.d.ts.map +0 -1
  68. package/dist/browser/HNSWIndex.js +0 -402
  69. package/dist/browser/HNSWIndex.js.map +0 -1
  70. package/dist/browser/ProductQuantization.d.ts +0 -107
  71. package/dist/browser/ProductQuantization.d.ts.map +0 -1
  72. package/dist/browser/ProductQuantization.js +0 -337
  73. package/dist/browser/ProductQuantization.js.map +0 -1
  74. package/dist/browser/browser/AdvancedFeatures.d.ts +0 -144
  75. package/dist/browser/browser/AdvancedFeatures.d.ts.map +0 -1
  76. package/dist/browser/browser/AdvancedFeatures.js +0 -427
  77. package/dist/browser/browser/HNSWIndex.d.ts +0 -117
  78. package/dist/browser/browser/HNSWIndex.d.ts.map +0 -1
  79. package/dist/browser/browser/HNSWIndex.js +0 -402
  80. package/dist/browser/browser/ProductQuantization.d.ts +0 -107
  81. package/dist/browser/browser/ProductQuantization.d.ts.map +0 -1
  82. package/dist/browser/browser/ProductQuantization.js +0 -348
  83. package/dist/browser/browser/index.d.ts +0 -223
  84. package/dist/browser/browser/index.d.ts.map +0 -1
  85. package/dist/browser/browser/index.js +0 -233
  86. package/dist/browser/index.d.ts +0 -223
  87. package/dist/browser/index.d.ts.map +0 -1
  88. package/dist/browser/index.js +0 -225
  89. package/dist/browser/index.js.map +0 -1
  90. package/dist/cli/agentdb-cli.d.ts +0 -154
  91. package/dist/cli/agentdb-cli.d.ts.map +0 -1
  92. package/dist/cli/agentdb-cli.js +0 -2273
  93. package/dist/cli/agentdb-cli.js.map +0 -1
  94. package/dist/cli/agentdb.db +0 -0
  95. package/dist/cli/commands/init.d.ts +0 -12
  96. package/dist/cli/commands/init.d.ts.map +0 -1
  97. package/dist/cli/commands/init.js +0 -115
  98. package/dist/cli/commands/init.js.map +0 -1
  99. package/dist/cli/commands/install-embeddings.d.ts +0 -10
  100. package/dist/cli/commands/install-embeddings.d.ts.map +0 -1
  101. package/dist/cli/commands/install-embeddings.js +0 -68
  102. package/dist/cli/commands/install-embeddings.js.map +0 -1
  103. package/dist/cli/commands/migrate.d.ts +0 -15
  104. package/dist/cli/commands/migrate.d.ts.map +0 -1
  105. package/dist/cli/commands/migrate.js +0 -425
  106. package/dist/cli/commands/migrate.js.map +0 -1
  107. package/dist/cli/commands/status.d.ts +0 -10
  108. package/dist/cli/commands/status.d.ts.map +0 -1
  109. package/dist/cli/commands/status.js +0 -129
  110. package/dist/cli/commands/status.js.map +0 -1
  111. package/dist/controllers/CausalMemoryGraph.d.ts +0 -126
  112. package/dist/controllers/CausalMemoryGraph.d.ts.map +0 -1
  113. package/dist/controllers/CausalMemoryGraph.js +0 -323
  114. package/dist/controllers/CausalMemoryGraph.js.map +0 -1
  115. package/dist/controllers/CausalRecall.d.ts +0 -139
  116. package/dist/controllers/CausalRecall.d.ts.map +0 -1
  117. package/dist/controllers/CausalRecall.js +0 -356
  118. package/dist/controllers/CausalRecall.js.map +0 -1
  119. package/dist/controllers/ContextSynthesizer.d.ts +0 -65
  120. package/dist/controllers/ContextSynthesizer.d.ts.map +0 -1
  121. package/dist/controllers/ContextSynthesizer.js +0 -208
  122. package/dist/controllers/ContextSynthesizer.js.map +0 -1
  123. package/dist/controllers/EmbeddingService.d.ts +0 -37
  124. package/dist/controllers/EmbeddingService.d.ts.map +0 -1
  125. package/dist/controllers/EmbeddingService.js +0 -136
  126. package/dist/controllers/EmbeddingService.js.map +0 -1
  127. package/dist/controllers/EnhancedEmbeddingService.d.ts +0 -50
  128. package/dist/controllers/EnhancedEmbeddingService.d.ts.map +0 -1
  129. package/dist/controllers/EnhancedEmbeddingService.js +0 -119
  130. package/dist/controllers/EnhancedEmbeddingService.js.map +0 -1
  131. package/dist/controllers/ExplainableRecall.d.ts +0 -163
  132. package/dist/controllers/ExplainableRecall.d.ts.map +0 -1
  133. package/dist/controllers/ExplainableRecall.js +0 -485
  134. package/dist/controllers/ExplainableRecall.js.map +0 -1
  135. package/dist/controllers/HNSWIndex.d.ts +0 -128
  136. package/dist/controllers/HNSWIndex.d.ts.map +0 -1
  137. package/dist/controllers/HNSWIndex.js +0 -361
  138. package/dist/controllers/HNSWIndex.js.map +0 -1
  139. package/dist/controllers/LearningSystem.d.ts +0 -195
  140. package/dist/controllers/LearningSystem.d.ts.map +0 -1
  141. package/dist/controllers/LearningSystem.js +0 -929
  142. package/dist/controllers/LearningSystem.js.map +0 -1
  143. package/dist/controllers/MMRDiversityRanker.d.ts +0 -50
  144. package/dist/controllers/MMRDiversityRanker.d.ts.map +0 -1
  145. package/dist/controllers/MMRDiversityRanker.js +0 -130
  146. package/dist/controllers/MMRDiversityRanker.js.map +0 -1
  147. package/dist/controllers/MetadataFilter.d.ts +0 -70
  148. package/dist/controllers/MetadataFilter.d.ts.map +0 -1
  149. package/dist/controllers/MetadataFilter.js +0 -243
  150. package/dist/controllers/MetadataFilter.js.map +0 -1
  151. package/dist/controllers/NightlyLearner.d.ts +0 -114
  152. package/dist/controllers/NightlyLearner.d.ts.map +0 -1
  153. package/dist/controllers/NightlyLearner.js +0 -394
  154. package/dist/controllers/NightlyLearner.js.map +0 -1
  155. package/dist/controllers/QUICClient.d.ts +0 -109
  156. package/dist/controllers/QUICClient.d.ts.map +0 -1
  157. package/dist/controllers/QUICClient.js +0 -299
  158. package/dist/controllers/QUICClient.js.map +0 -1
  159. package/dist/controllers/QUICServer.d.ts +0 -121
  160. package/dist/controllers/QUICServer.d.ts.map +0 -1
  161. package/dist/controllers/QUICServer.js +0 -383
  162. package/dist/controllers/QUICServer.js.map +0 -1
  163. package/dist/controllers/ReasoningBank.d.ts +0 -196
  164. package/dist/controllers/ReasoningBank.d.ts.map +0 -1
  165. package/dist/controllers/ReasoningBank.js +0 -494
  166. package/dist/controllers/ReasoningBank.js.map +0 -1
  167. package/dist/controllers/ReflexionMemory.d.ts +0 -125
  168. package/dist/controllers/ReflexionMemory.d.ts.map +0 -1
  169. package/dist/controllers/ReflexionMemory.js +0 -521
  170. package/dist/controllers/ReflexionMemory.js.map +0 -1
  171. package/dist/controllers/SkillLibrary.d.ts +0 -149
  172. package/dist/controllers/SkillLibrary.d.ts.map +0 -1
  173. package/dist/controllers/SkillLibrary.js +0 -547
  174. package/dist/controllers/SkillLibrary.js.map +0 -1
  175. package/dist/controllers/SyncCoordinator.d.ts +0 -120
  176. package/dist/controllers/SyncCoordinator.d.ts.map +0 -1
  177. package/dist/controllers/SyncCoordinator.js +0 -441
  178. package/dist/controllers/SyncCoordinator.js.map +0 -1
  179. package/dist/controllers/WASMVectorSearch.d.ts +0 -89
  180. package/dist/controllers/WASMVectorSearch.d.ts.map +0 -1
  181. package/dist/controllers/WASMVectorSearch.js +0 -234
  182. package/dist/controllers/WASMVectorSearch.js.map +0 -1
  183. package/dist/controllers/frontier-index.d.ts +0 -14
  184. package/dist/controllers/frontier-index.d.ts.map +0 -1
  185. package/dist/controllers/frontier-index.js +0 -10
  186. package/dist/controllers/frontier-index.js.map +0 -1
  187. package/dist/controllers/index.d.ts +0 -30
  188. package/dist/controllers/index.d.ts.map +0 -1
  189. package/dist/controllers/index.js +0 -18
  190. package/dist/controllers/index.js.map +0 -1
  191. package/dist/db-fallback.d.ts +0 -26
  192. package/dist/db-fallback.d.ts.map +0 -1
  193. package/dist/db-fallback.js +0 -264
  194. package/dist/db-fallback.js.map +0 -1
  195. package/dist/db-test.d.ts +0 -13
  196. package/dist/db-test.d.ts.map +0 -1
  197. package/dist/db-test.js +0 -55
  198. package/dist/db-test.js.map +0 -1
  199. package/dist/db-unified.d.ts +0 -76
  200. package/dist/db-unified.d.ts.map +0 -1
  201. package/dist/db-unified.js +0 -278
  202. package/dist/db-unified.js.map +0 -1
  203. package/dist/examples/quic-sync-example.d.ts +0 -9
  204. package/dist/examples/quic-sync-example.d.ts.map +0 -1
  205. package/dist/examples/quic-sync-example.js +0 -169
  206. package/dist/examples/quic-sync-example.js.map +0 -1
  207. package/dist/examples/wasm-vector-usage.d.ts +0 -12
  208. package/dist/examples/wasm-vector-usage.d.ts.map +0 -1
  209. package/dist/examples/wasm-vector-usage.js +0 -190
  210. package/dist/examples/wasm-vector-usage.js.map +0 -1
  211. package/dist/index.d.ts +0 -28
  212. package/dist/index.d.ts.map +0 -1
  213. package/dist/index.js +0 -35
  214. package/dist/index.js.map +0 -1
  215. package/dist/malp/core/ccc.d.ts +0 -99
  216. package/dist/malp/core/ccc.d.ts.map +0 -1
  217. package/dist/malp/core/ccc.js +0 -181
  218. package/dist/malp/core/ccc.js.map +0 -1
  219. package/dist/malp/core/index.d.ts +0 -9
  220. package/dist/malp/core/index.d.ts.map +0 -1
  221. package/dist/malp/core/index.js +0 -9
  222. package/dist/malp/core/index.js.map +0 -1
  223. package/dist/malp/core/linalg.d.ts +0 -101
  224. package/dist/malp/core/linalg.d.ts.map +0 -1
  225. package/dist/malp/core/linalg.js +0 -278
  226. package/dist/malp/core/linalg.js.map +0 -1
  227. package/dist/malp/core/optimizer.d.ts +0 -68
  228. package/dist/malp/core/optimizer.d.ts.map +0 -1
  229. package/dist/malp/core/optimizer.js +0 -160
  230. package/dist/malp/core/optimizer.js.map +0 -1
  231. package/dist/malp/index.d.ts +0 -33
  232. package/dist/malp/index.d.ts.map +0 -1
  233. package/dist/malp/index.js +0 -37
  234. package/dist/malp/index.js.map +0 -1
  235. package/dist/malp/metrics/agreement.d.ts +0 -106
  236. package/dist/malp/metrics/agreement.d.ts.map +0 -1
  237. package/dist/malp/metrics/agreement.js +0 -199
  238. package/dist/malp/metrics/agreement.js.map +0 -1
  239. package/dist/malp/metrics/comparison.d.ts +0 -93
  240. package/dist/malp/metrics/comparison.d.ts.map +0 -1
  241. package/dist/malp/metrics/comparison.js +0 -256
  242. package/dist/malp/metrics/comparison.js.map +0 -1
  243. package/dist/malp/metrics/index.d.ts +0 -8
  244. package/dist/malp/metrics/index.d.ts.map +0 -1
  245. package/dist/malp/metrics/index.js +0 -8
  246. package/dist/malp/metrics/index.js.map +0 -1
  247. package/dist/malp/metrics/performance.d.ts +0 -61
  248. package/dist/malp/metrics/performance.d.ts.map +0 -1
  249. package/dist/malp/metrics/performance.js +0 -190
  250. package/dist/malp/metrics/performance.js.map +0 -1
  251. package/dist/malp/models/index.d.ts +0 -7
  252. package/dist/malp/models/index.d.ts.map +0 -1
  253. package/dist/malp/models/index.js +0 -7
  254. package/dist/malp/models/index.js.map +0 -1
  255. package/dist/malp/models/malp.d.ts +0 -116
  256. package/dist/malp/models/malp.d.ts.map +0 -1
  257. package/dist/malp/models/malp.js +0 -206
  258. package/dist/malp/models/malp.js.map +0 -1
  259. package/dist/malp/models/regressor.d.ts +0 -80
  260. package/dist/malp/models/regressor.d.ts.map +0 -1
  261. package/dist/malp/models/regressor.js +0 -229
  262. package/dist/malp/models/regressor.js.map +0 -1
  263. package/dist/malp/reasoningbank_validator.d.ts +0 -187
  264. package/dist/malp/reasoningbank_validator.d.ts.map +0 -1
  265. package/dist/malp/reasoningbank_validator.js +0 -246
  266. package/dist/malp/reasoningbank_validator.js.map +0 -1
  267. package/dist/malp/wasm_bindings.d.ts +0 -344
  268. package/dist/malp/wasm_bindings.d.ts.map +0 -1
  269. package/dist/malp/wasm_bindings.js +0 -9
  270. package/dist/malp/wasm_bindings.js.map +0 -1
  271. package/dist/mcp/agentdb-mcp-server.d.ts +0 -8
  272. package/dist/mcp/agentdb-mcp-server.d.ts.map +0 -1
  273. package/dist/mcp/agentdb-mcp-server.js +0 -2116
  274. package/dist/mcp/agentdb-mcp-server.js.map +0 -1
  275. package/dist/mcp/learning-tools-handlers.d.ts +0 -16
  276. package/dist/mcp/learning-tools-handlers.d.ts.map +0 -1
  277. package/dist/mcp/learning-tools-handlers.js +0 -105
  278. package/dist/mcp/learning-tools-handlers.js.map +0 -1
  279. package/dist/optimizations/BatchOperations.d.ts +0 -109
  280. package/dist/optimizations/BatchOperations.d.ts.map +0 -1
  281. package/dist/optimizations/BatchOperations.js +0 -407
  282. package/dist/optimizations/BatchOperations.js.map +0 -1
  283. package/dist/optimizations/QueryOptimizer.d.ts +0 -83
  284. package/dist/optimizations/QueryOptimizer.d.ts.map +0 -1
  285. package/dist/optimizations/QueryOptimizer.js +0 -228
  286. package/dist/optimizations/QueryOptimizer.js.map +0 -1
  287. package/dist/optimizations/ToolCache.d.ts +0 -137
  288. package/dist/optimizations/ToolCache.d.ts.map +0 -1
  289. package/dist/optimizations/ToolCache.js +0 -281
  290. package/dist/optimizations/ToolCache.js.map +0 -1
  291. package/dist/optimizations/index.d.ts +0 -10
  292. package/dist/optimizations/index.d.ts.map +0 -1
  293. package/dist/optimizations/index.js +0 -8
  294. package/dist/optimizations/index.js.map +0 -1
  295. package/dist/security/input-validation.d.ts +0 -109
  296. package/dist/security/input-validation.d.ts.map +0 -1
  297. package/dist/security/input-validation.js +0 -398
  298. package/dist/security/input-validation.js.map +0 -1
  299. package/dist/security/limits.d.ts +0 -150
  300. package/dist/security/limits.d.ts.map +0 -1
  301. package/dist/security/limits.js +0 -288
  302. package/dist/security/limits.js.map +0 -1
  303. package/dist/security/path-security.d.ts +0 -100
  304. package/dist/security/path-security.d.ts.map +0 -1
  305. package/dist/security/path-security.js +0 -337
  306. package/dist/security/path-security.js.map +0 -1
  307. package/dist/security/validation.d.ts +0 -95
  308. package/dist/security/validation.d.ts.map +0 -1
  309. package/dist/security/validation.js +0 -315
  310. package/dist/security/validation.js.map +0 -1
  311. package/dist/types/quic.d.ts +0 -518
  312. package/dist/types/quic.d.ts.map +0 -1
  313. package/dist/types/quic.js +0 -272
  314. 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