agentic-qe 2.1.2 → 2.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 (190) hide show
  1. package/.claude/skills/agentic-quality-engineering/SKILL.md +4 -4
  2. package/.claude/skills/cicd-pipeline-qe-orchestrator/README.md +14 -11
  3. package/.claude/skills/skills-manifest.json +2 -2
  4. package/CHANGELOG.md +138 -0
  5. package/README.md +92 -214
  6. package/dist/agents/BaseAgent.d.ts +5 -1
  7. package/dist/agents/BaseAgent.d.ts.map +1 -1
  8. package/dist/agents/BaseAgent.js +32 -17
  9. package/dist/agents/BaseAgent.js.map +1 -1
  10. package/dist/agents/index.d.ts.map +1 -1
  11. package/dist/agents/index.js +5 -1
  12. package/dist/agents/index.js.map +1 -1
  13. package/dist/cli/commands/improve/index.d.ts +8 -1
  14. package/dist/cli/commands/improve/index.d.ts.map +1 -1
  15. package/dist/cli/commands/improve/index.js +18 -16
  16. package/dist/cli/commands/improve/index.js.map +1 -1
  17. package/dist/cli/commands/learn/index.d.ts +10 -2
  18. package/dist/cli/commands/learn/index.d.ts.map +1 -1
  19. package/dist/cli/commands/learn/index.js +99 -63
  20. package/dist/cli/commands/learn/index.js.map +1 -1
  21. package/dist/cli/commands/patterns/index.d.ts +8 -1
  22. package/dist/cli/commands/patterns/index.d.ts.map +1 -1
  23. package/dist/cli/commands/patterns/index.js +79 -45
  24. package/dist/cli/commands/patterns/index.js.map +1 -1
  25. package/dist/cli/commands/routing/index.d.ts +5 -0
  26. package/dist/cli/commands/routing/index.d.ts.map +1 -1
  27. package/dist/cli/commands/routing/index.js +11 -10
  28. package/dist/cli/commands/routing/index.js.map +1 -1
  29. package/dist/cli/init/agents.d.ts +1 -1
  30. package/dist/cli/init/agents.js +2 -2
  31. package/dist/cli/init/database-init.d.ts +7 -0
  32. package/dist/cli/init/database-init.d.ts.map +1 -1
  33. package/dist/cli/init/database-init.js +29 -48
  34. package/dist/cli/init/database-init.js.map +1 -1
  35. package/dist/core/di/AgentDependencies.d.ts +127 -0
  36. package/dist/core/di/AgentDependencies.d.ts.map +1 -0
  37. package/dist/core/di/AgentDependencies.js +251 -0
  38. package/dist/core/di/AgentDependencies.js.map +1 -0
  39. package/dist/core/di/DIContainer.d.ts +149 -0
  40. package/dist/core/di/DIContainer.d.ts.map +1 -0
  41. package/dist/core/di/DIContainer.js +333 -0
  42. package/dist/core/di/DIContainer.js.map +1 -0
  43. package/dist/core/di/index.d.ts +11 -0
  44. package/dist/core/di/index.d.ts.map +1 -0
  45. package/dist/core/di/index.js +22 -0
  46. package/dist/core/di/index.js.map +1 -0
  47. package/dist/core/index.d.ts +1 -0
  48. package/dist/core/index.d.ts.map +1 -1
  49. package/dist/core/index.js +11 -1
  50. package/dist/core/index.js.map +1 -1
  51. package/dist/core/memory/HNSWVectorMemory.d.ts +261 -0
  52. package/dist/core/memory/HNSWVectorMemory.d.ts.map +1 -0
  53. package/dist/core/memory/HNSWVectorMemory.js +647 -0
  54. package/dist/core/memory/HNSWVectorMemory.js.map +1 -0
  55. package/dist/core/memory/SwarmMemoryManager.d.ts +7 -0
  56. package/dist/core/memory/SwarmMemoryManager.d.ts.map +1 -1
  57. package/dist/core/memory/SwarmMemoryManager.js +9 -0
  58. package/dist/core/memory/SwarmMemoryManager.js.map +1 -1
  59. package/dist/core/memory/index.d.ts +2 -0
  60. package/dist/core/memory/index.d.ts.map +1 -1
  61. package/dist/core/memory/index.js +11 -1
  62. package/dist/core/memory/index.js.map +1 -1
  63. package/dist/learning/ExperienceSharingProtocol.d.ts +243 -0
  64. package/dist/learning/ExperienceSharingProtocol.d.ts.map +1 -0
  65. package/dist/learning/ExperienceSharingProtocol.js +538 -0
  66. package/dist/learning/ExperienceSharingProtocol.js.map +1 -0
  67. package/dist/learning/ExplainableLearning.d.ts +191 -0
  68. package/dist/learning/ExplainableLearning.d.ts.map +1 -0
  69. package/dist/learning/ExplainableLearning.js +441 -0
  70. package/dist/learning/ExplainableLearning.js.map +1 -0
  71. package/dist/learning/GossipPatternSharingProtocol.d.ts +228 -0
  72. package/dist/learning/GossipPatternSharingProtocol.d.ts.map +1 -0
  73. package/dist/learning/GossipPatternSharingProtocol.js +590 -0
  74. package/dist/learning/GossipPatternSharingProtocol.js.map +1 -0
  75. package/dist/learning/LearningEngine.d.ts +104 -4
  76. package/dist/learning/LearningEngine.d.ts.map +1 -1
  77. package/dist/learning/LearningEngine.js +350 -16
  78. package/dist/learning/LearningEngine.js.map +1 -1
  79. package/dist/learning/PerformanceOptimizer.d.ts +268 -0
  80. package/dist/learning/PerformanceOptimizer.d.ts.map +1 -0
  81. package/dist/learning/PerformanceOptimizer.js +552 -0
  82. package/dist/learning/PerformanceOptimizer.js.map +1 -0
  83. package/dist/learning/PrivacyManager.d.ts +197 -0
  84. package/dist/learning/PrivacyManager.d.ts.map +1 -0
  85. package/dist/learning/PrivacyManager.js +551 -0
  86. package/dist/learning/PrivacyManager.js.map +1 -0
  87. package/dist/learning/QLearning.d.ts +38 -125
  88. package/dist/learning/QLearning.d.ts.map +1 -1
  89. package/dist/learning/QLearning.js +46 -267
  90. package/dist/learning/QLearning.js.map +1 -1
  91. package/dist/learning/QLearningLegacy.d.ts +154 -0
  92. package/dist/learning/QLearningLegacy.d.ts.map +1 -0
  93. package/dist/learning/QLearningLegacy.js +337 -0
  94. package/dist/learning/QLearningLegacy.js.map +1 -0
  95. package/dist/learning/TransferLearningManager.d.ts +212 -0
  96. package/dist/learning/TransferLearningManager.d.ts.map +1 -0
  97. package/dist/learning/TransferLearningManager.js +497 -0
  98. package/dist/learning/TransferLearningManager.js.map +1 -0
  99. package/dist/learning/algorithms/AbstractRLLearner.d.ts +162 -0
  100. package/dist/learning/algorithms/AbstractRLLearner.d.ts.map +1 -0
  101. package/dist/learning/algorithms/AbstractRLLearner.js +300 -0
  102. package/dist/learning/algorithms/AbstractRLLearner.js.map +1 -0
  103. package/dist/learning/algorithms/ActorCriticLearner.d.ts +201 -0
  104. package/dist/learning/algorithms/ActorCriticLearner.d.ts.map +1 -0
  105. package/dist/learning/algorithms/ActorCriticLearner.js +447 -0
  106. package/dist/learning/algorithms/ActorCriticLearner.js.map +1 -0
  107. package/dist/learning/algorithms/MAMLMetaLearner.d.ts +218 -0
  108. package/dist/learning/algorithms/MAMLMetaLearner.d.ts.map +1 -0
  109. package/dist/learning/algorithms/MAMLMetaLearner.js +532 -0
  110. package/dist/learning/algorithms/MAMLMetaLearner.js.map +1 -0
  111. package/dist/learning/algorithms/PPOLearner.d.ts +207 -0
  112. package/dist/learning/algorithms/PPOLearner.d.ts.map +1 -0
  113. package/dist/learning/algorithms/PPOLearner.js +490 -0
  114. package/dist/learning/algorithms/PPOLearner.js.map +1 -0
  115. package/dist/learning/algorithms/QLearning.d.ts +68 -0
  116. package/dist/learning/algorithms/QLearning.d.ts.map +1 -0
  117. package/dist/learning/algorithms/QLearning.js +116 -0
  118. package/dist/learning/algorithms/QLearning.js.map +1 -0
  119. package/dist/learning/algorithms/SARSALearner.d.ts +107 -0
  120. package/dist/learning/algorithms/SARSALearner.d.ts.map +1 -0
  121. package/dist/learning/algorithms/SARSALearner.js +252 -0
  122. package/dist/learning/algorithms/SARSALearner.js.map +1 -0
  123. package/dist/learning/algorithms/index.d.ts +32 -0
  124. package/dist/learning/algorithms/index.d.ts.map +1 -0
  125. package/dist/learning/algorithms/index.js +50 -0
  126. package/dist/learning/algorithms/index.js.map +1 -0
  127. package/dist/learning/index.d.ts +11 -0
  128. package/dist/learning/index.d.ts.map +1 -1
  129. package/dist/learning/index.js +31 -1
  130. package/dist/learning/index.js.map +1 -1
  131. package/dist/learning/types.d.ts +2 -0
  132. package/dist/learning/types.d.ts.map +1 -1
  133. package/dist/mcp/server-instructions.d.ts +1 -1
  134. package/dist/mcp/server-instructions.js +1 -1
  135. package/dist/memory/DistributedPatternLibrary.d.ts +159 -0
  136. package/dist/memory/DistributedPatternLibrary.d.ts.map +1 -0
  137. package/dist/memory/DistributedPatternLibrary.js +370 -0
  138. package/dist/memory/DistributedPatternLibrary.js.map +1 -0
  139. package/dist/memory/PatternQualityScorer.d.ts +169 -0
  140. package/dist/memory/PatternQualityScorer.d.ts.map +1 -0
  141. package/dist/memory/PatternQualityScorer.js +327 -0
  142. package/dist/memory/PatternQualityScorer.js.map +1 -0
  143. package/dist/memory/PatternReplicationService.d.ts +187 -0
  144. package/dist/memory/PatternReplicationService.d.ts.map +1 -0
  145. package/dist/memory/PatternReplicationService.js +392 -0
  146. package/dist/memory/PatternReplicationService.js.map +1 -0
  147. package/dist/providers/ClaudeProvider.d.ts +98 -0
  148. package/dist/providers/ClaudeProvider.d.ts.map +1 -0
  149. package/dist/providers/ClaudeProvider.js +418 -0
  150. package/dist/providers/ClaudeProvider.js.map +1 -0
  151. package/dist/providers/HybridRouter.d.ts +217 -0
  152. package/dist/providers/HybridRouter.d.ts.map +1 -0
  153. package/dist/providers/HybridRouter.js +679 -0
  154. package/dist/providers/HybridRouter.js.map +1 -0
  155. package/dist/providers/ILLMProvider.d.ts +287 -0
  156. package/dist/providers/ILLMProvider.d.ts.map +1 -0
  157. package/dist/providers/ILLMProvider.js +33 -0
  158. package/dist/providers/ILLMProvider.js.map +1 -0
  159. package/dist/providers/LLMProviderFactory.d.ts +154 -0
  160. package/dist/providers/LLMProviderFactory.d.ts.map +1 -0
  161. package/dist/providers/LLMProviderFactory.js +426 -0
  162. package/dist/providers/LLMProviderFactory.js.map +1 -0
  163. package/dist/providers/RuvllmProvider.d.ts +107 -0
  164. package/dist/providers/RuvllmProvider.d.ts.map +1 -0
  165. package/dist/providers/RuvllmProvider.js +417 -0
  166. package/dist/providers/RuvllmProvider.js.map +1 -0
  167. package/dist/providers/index.d.ts +32 -0
  168. package/dist/providers/index.d.ts.map +1 -0
  169. package/dist/providers/index.js +75 -0
  170. package/dist/providers/index.js.map +1 -0
  171. package/dist/telemetry/LearningTelemetry.d.ts +190 -0
  172. package/dist/telemetry/LearningTelemetry.d.ts.map +1 -0
  173. package/dist/telemetry/LearningTelemetry.js +403 -0
  174. package/dist/telemetry/LearningTelemetry.js.map +1 -0
  175. package/dist/telemetry/index.d.ts +1 -0
  176. package/dist/telemetry/index.d.ts.map +1 -1
  177. package/dist/telemetry/index.js +20 -2
  178. package/dist/telemetry/index.js.map +1 -1
  179. package/dist/telemetry/instrumentation/agent.d.ts +1 -1
  180. package/dist/telemetry/instrumentation/agent.js +1 -1
  181. package/dist/telemetry/instrumentation/index.d.ts +1 -1
  182. package/dist/telemetry/instrumentation/index.js +1 -1
  183. package/dist/utils/math.d.ts +11 -0
  184. package/dist/utils/math.d.ts.map +1 -0
  185. package/dist/utils/math.js +16 -0
  186. package/dist/utils/math.js.map +1 -0
  187. package/docs/reference/agents.md +1 -1
  188. package/docs/reference/skills.md +3 -3
  189. package/docs/reference/usage.md +4 -4
  190. package/package.json +1 -1
@@ -0,0 +1,647 @@
1
+ "use strict";
2
+ /**
3
+ * HNSW Vector Memory - Hierarchical Navigable Small World Index
4
+ *
5
+ * High-performance vector similarity search for learning system pattern matching.
6
+ * Integrates with AgentDB's vector capabilities and RuVector's HNSW implementation.
7
+ *
8
+ * Performance Characteristics:
9
+ * - Search: O(log n) time complexity with HNSW
10
+ * - Insert: O(log n) amortized
11
+ * - Memory: ~100 bytes per vector + HNSW overhead
12
+ *
13
+ * HNSW Parameters:
14
+ * - M: Number of connections per node (16-64, default: 32)
15
+ * Higher M = better recall, more memory
16
+ * - efConstruction: Search depth during construction (100-200, default: 200)
17
+ * Higher = better quality index, slower build
18
+ * - efSearch: Search depth during query (50-100, default: 100)
19
+ * Higher = better recall, slower search
20
+ *
21
+ * Distance Metrics:
22
+ * - Cosine: Best for semantic similarity (default)
23
+ * - Euclidean: Best for spatial distance
24
+ * - Dot Product: Best for normalized vectors
25
+ *
26
+ * @module core/memory/HNSWVectorMemory
27
+ * @version 1.0.0
28
+ */
29
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
30
+ if (k2 === undefined) k2 = k;
31
+ var desc = Object.getOwnPropertyDescriptor(m, k);
32
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
33
+ desc = { enumerable: true, get: function() { return m[k]; } };
34
+ }
35
+ Object.defineProperty(o, k2, desc);
36
+ }) : (function(o, m, k, k2) {
37
+ if (k2 === undefined) k2 = k;
38
+ o[k2] = m[k];
39
+ }));
40
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
41
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
42
+ }) : function(o, v) {
43
+ o["default"] = v;
44
+ });
45
+ var __importStar = (this && this.__importStar) || (function () {
46
+ var ownKeys = function(o) {
47
+ ownKeys = Object.getOwnPropertyNames || function (o) {
48
+ var ar = [];
49
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
50
+ return ar;
51
+ };
52
+ return ownKeys(o);
53
+ };
54
+ return function (mod) {
55
+ if (mod && mod.__esModule) return mod;
56
+ var result = {};
57
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
58
+ __setModuleDefault(result, mod);
59
+ return result;
60
+ };
61
+ })();
62
+ Object.defineProperty(exports, "__esModule", { value: true });
63
+ exports.HNSWVectorMemory = void 0;
64
+ exports.createHNSWVectorMemory = createHNSWVectorMemory;
65
+ exports.createHighPrecisionHNSW = createHighPrecisionHNSW;
66
+ exports.createHighThroughputHNSW = createHighThroughputHNSW;
67
+ exports.createBalancedHNSW = createBalancedHNSW;
68
+ /**
69
+ * HNSW Vector Memory Implementation
70
+ *
71
+ * Provides efficient vector similarity search with configurable HNSW parameters.
72
+ * Integrates with both AgentDB and RuVector backends for flexibility.
73
+ *
74
+ * @implements {IPatternStore}
75
+ */
76
+ class HNSWVectorMemory {
77
+ constructor(config = {}) {
78
+ this.initialized = false;
79
+ this.backend = null;
80
+ // Performance tracking
81
+ this.searchLatencies = [];
82
+ this.insertLatencies = [];
83
+ this.totalSearches = 0;
84
+ this.totalInserts = 0;
85
+ // Maintenance tracking
86
+ this.maintenanceStats = {
87
+ lastMaintenance: Date.now(),
88
+ rebalanceCount: 0,
89
+ cleanupCount: 0,
90
+ deletedCount: 0,
91
+ fragmentation: 0,
92
+ };
93
+ // Default HNSW parameters optimized for learning system
94
+ this.hnswConfig = {
95
+ M: config.M ?? 32,
96
+ efConstruction: config.efConstruction ?? 200,
97
+ efSearch: config.efSearch ?? 100,
98
+ metric: config.metric ?? 'cosine',
99
+ dimension: config.dimension ?? 384,
100
+ };
101
+ this.config = {
102
+ ...this.hnswConfig,
103
+ storagePath: config.storagePath ?? '.agentic-qe/hnsw-patterns.db',
104
+ autoPersist: config.autoPersist ?? true,
105
+ enableMetrics: config.enableMetrics ?? true,
106
+ batchSize: config.batchSize ?? 100,
107
+ enableMaintenance: config.enableMaintenance ?? true,
108
+ maintenanceInterval: config.maintenanceInterval ?? 3600000, // 1 hour
109
+ };
110
+ }
111
+ /**
112
+ * Initialize HNSW vector memory with backend selection
113
+ */
114
+ async initialize() {
115
+ if (this.initialized)
116
+ return;
117
+ try {
118
+ // Try to use RuVector as primary backend (best performance)
119
+ const { RuVectorPatternStore, isRuVectorAvailable } = await Promise.resolve().then(() => __importStar(require('./RuVectorPatternStore')));
120
+ if (isRuVectorAvailable()) {
121
+ this.backend = new RuVectorPatternStore({
122
+ dimension: this.hnswConfig.dimension,
123
+ metric: this.hnswConfig.metric,
124
+ storagePath: this.config.storagePath,
125
+ autoPersist: this.config.autoPersist,
126
+ enableMetrics: this.config.enableMetrics,
127
+ hnsw: {
128
+ m: this.hnswConfig.M,
129
+ efConstruction: this.hnswConfig.efConstruction,
130
+ efSearch: this.hnswConfig.efSearch,
131
+ },
132
+ });
133
+ await this.backend.initialize();
134
+ console.log('[HNSW] Using RuVector backend with HNSW indexing');
135
+ }
136
+ else {
137
+ // Fallback to AgentDB
138
+ await this.initializeAgentDBBackend();
139
+ }
140
+ }
141
+ catch (error) {
142
+ // If RuVector import fails, use AgentDB
143
+ console.warn('[HNSW] RuVector unavailable, using AgentDB backend:', error);
144
+ await this.initializeAgentDBBackend();
145
+ }
146
+ // Start maintenance if enabled
147
+ if (this.config.enableMaintenance) {
148
+ this.startMaintenance();
149
+ }
150
+ this.initialized = true;
151
+ this.logConfiguration();
152
+ }
153
+ /**
154
+ * Initialize AgentDB as fallback backend
155
+ */
156
+ async initializeAgentDBBackend() {
157
+ // Import AgentDB service with HNSW support
158
+ const { AgentDBService } = await Promise.resolve().then(() => __importStar(require('./AgentDBService')));
159
+ // Create a wrapper that implements IPatternStore interface
160
+ const agentDbService = new AgentDBService({
161
+ dbPath: this.config.storagePath,
162
+ embeddingDim: this.hnswConfig.dimension,
163
+ enableHNSW: true,
164
+ enableCache: true,
165
+ hnswConfig: {
166
+ M: this.hnswConfig.M,
167
+ efConstruction: this.hnswConfig.efConstruction,
168
+ efSearch: this.hnswConfig.efSearch,
169
+ },
170
+ });
171
+ await agentDbService.initialize();
172
+ // Create adapter to IPatternStore interface
173
+ this.backend = this.createAgentDBAdapter(agentDbService);
174
+ console.log('[HNSW] Using AgentDB backend with HNSW indexing');
175
+ }
176
+ /**
177
+ * Create IPatternStore adapter for AgentDB
178
+ */
179
+ createAgentDBAdapter(service) {
180
+ return {
181
+ initialize: async () => {
182
+ // Already initialized
183
+ },
184
+ storePattern: async (pattern) => {
185
+ await service.storePattern({
186
+ id: pattern.id,
187
+ type: pattern.type,
188
+ domain: pattern.domain,
189
+ pattern_data: JSON.stringify({
190
+ embedding: pattern.embedding,
191
+ content: pattern.content,
192
+ framework: pattern.framework,
193
+ coverage: pattern.coverage,
194
+ flakinessScore: pattern.flakinessScore,
195
+ verdict: pattern.verdict,
196
+ metadata: pattern.metadata,
197
+ }),
198
+ confidence: 0.8,
199
+ usage_count: pattern.usageCount ?? 0,
200
+ success_count: 0,
201
+ created_at: pattern.createdAt ?? Date.now(),
202
+ last_used: pattern.lastUsed ?? Date.now(),
203
+ });
204
+ },
205
+ searchSimilar: async (queryEmbedding, options = {}) => {
206
+ const results = await service.searchSimilar(queryEmbedding, {
207
+ k: options.k ?? 10,
208
+ threshold: options.threshold ?? 0,
209
+ domain: options.domain,
210
+ });
211
+ return results.map((r) => {
212
+ const data = JSON.parse(r.pattern_data);
213
+ return {
214
+ pattern: {
215
+ id: r.id,
216
+ embedding: data.embedding,
217
+ type: r.type,
218
+ domain: r.domain,
219
+ content: data.content,
220
+ framework: data.framework,
221
+ coverage: data.coverage,
222
+ flakinessScore: data.flakinessScore,
223
+ verdict: data.verdict,
224
+ createdAt: r.created_at,
225
+ lastUsed: r.last_used,
226
+ usageCount: r.usage_count,
227
+ metadata: data.metadata,
228
+ },
229
+ score: r.similarity ?? r.score ?? 0,
230
+ };
231
+ });
232
+ },
233
+ getPattern: async (id) => {
234
+ const pattern = await service.getPattern(id);
235
+ if (!pattern)
236
+ return null;
237
+ const data = JSON.parse(pattern.pattern_data);
238
+ return {
239
+ id: pattern.id,
240
+ embedding: data.embedding,
241
+ type: pattern.type,
242
+ domain: pattern.domain,
243
+ content: data.content,
244
+ framework: data.framework,
245
+ coverage: data.coverage,
246
+ flakinessScore: data.flakinessScore,
247
+ verdict: data.verdict,
248
+ createdAt: pattern.created_at,
249
+ lastUsed: pattern.last_used,
250
+ usageCount: pattern.usage_count,
251
+ metadata: data.metadata,
252
+ };
253
+ },
254
+ deletePattern: async (id) => {
255
+ await service.deletePattern(id);
256
+ return true;
257
+ },
258
+ getStats: async () => {
259
+ const stats = await service.getStats();
260
+ return {
261
+ count: stats.totalPatterns ?? 0,
262
+ dimension: this.hnswConfig.dimension,
263
+ metric: this.hnswConfig.metric,
264
+ implementation: 'agentdb',
265
+ indexType: 'HNSW',
266
+ };
267
+ },
268
+ clear: async () => {
269
+ // Not implemented for AgentDB adapter
270
+ },
271
+ shutdown: async () => {
272
+ await service.shutdown();
273
+ },
274
+ storeBatch: async (patterns) => {
275
+ for (const pattern of patterns) {
276
+ await this.backend?.storePattern(pattern);
277
+ }
278
+ },
279
+ recordUsage: async (id) => {
280
+ // Track usage in AgentDB
281
+ await service.recordPatternUsage?.(id);
282
+ },
283
+ buildIndex: async () => {
284
+ // HNSW index is built automatically in AgentDB
285
+ },
286
+ optimize: async () => {
287
+ await service.optimize?.();
288
+ },
289
+ getImplementationInfo: () => ({
290
+ type: 'agentdb',
291
+ version: '1.6.1',
292
+ features: ['hnsw', 'vector-search', 'persistence'],
293
+ }),
294
+ };
295
+ }
296
+ /**
297
+ * Store a pattern with performance tracking
298
+ */
299
+ async storePattern(pattern) {
300
+ this.ensureInitialized();
301
+ const startTime = performance.now();
302
+ await this.backend.storePattern(pattern);
303
+ const duration = performance.now() - startTime;
304
+ if (this.config.enableMetrics) {
305
+ this.recordInsertLatency(duration);
306
+ }
307
+ }
308
+ /**
309
+ * Store multiple patterns in batch (optimized)
310
+ * Returns void to match IPatternStore interface
311
+ */
312
+ async storeBatch(patterns) {
313
+ this.ensureInitialized();
314
+ const startTime = performance.now();
315
+ const errors = [];
316
+ let successful = 0;
317
+ let failed = 0;
318
+ // Process in batches to avoid memory issues
319
+ for (let i = 0; i < patterns.length; i += this.config.batchSize) {
320
+ const batch = patterns.slice(i, i + this.config.batchSize);
321
+ for (const pattern of batch) {
322
+ try {
323
+ await this.storePattern(pattern);
324
+ successful++;
325
+ }
326
+ catch (error) {
327
+ failed++;
328
+ errors.push(error);
329
+ }
330
+ }
331
+ }
332
+ const duration = performance.now() - startTime;
333
+ // Log batch results for debugging (interface requires void return)
334
+ if (failed > 0) {
335
+ console.warn(`[HNSW] storeBatch completed with ${failed} failures out of ${patterns.length} patterns (${duration.toFixed(2)}ms)`);
336
+ }
337
+ }
338
+ /**
339
+ * Search for similar patterns with performance tracking
340
+ */
341
+ async searchSimilar(queryEmbedding, options = {}) {
342
+ this.ensureInitialized();
343
+ const startTime = performance.now();
344
+ const results = await this.backend.searchSimilar(queryEmbedding, options);
345
+ const duration = performance.now() - startTime;
346
+ if (this.config.enableMetrics) {
347
+ this.recordSearchLatency(duration);
348
+ }
349
+ return results;
350
+ }
351
+ /**
352
+ * Batch query multiple vectors (optimized)
353
+ */
354
+ async searchBatch(queries) {
355
+ this.ensureInitialized();
356
+ const results = [];
357
+ for (const query of queries) {
358
+ const queryResults = await this.searchSimilar(query.embedding, query.options ?? {});
359
+ results.push(queryResults);
360
+ }
361
+ return results;
362
+ }
363
+ /**
364
+ * Get a pattern by ID
365
+ */
366
+ async getPattern(id) {
367
+ this.ensureInitialized();
368
+ return this.backend.getPattern(id);
369
+ }
370
+ /**
371
+ * Delete a pattern
372
+ */
373
+ async deletePattern(id) {
374
+ this.ensureInitialized();
375
+ const deleted = await this.backend.deletePattern(id);
376
+ if (deleted) {
377
+ this.maintenanceStats.deletedCount++;
378
+ }
379
+ return deleted;
380
+ }
381
+ /**
382
+ * Build or rebuild HNSW index
383
+ */
384
+ async buildIndex() {
385
+ this.ensureInitialized();
386
+ if (typeof this.backend.buildIndex === 'function') {
387
+ await this.backend.buildIndex();
388
+ console.log('[HNSW] Index built successfully');
389
+ }
390
+ }
391
+ /**
392
+ * Optimize the index (rebalancing, cleanup)
393
+ */
394
+ async optimize() {
395
+ this.ensureInitialized();
396
+ if (typeof this.backend.optimize === 'function') {
397
+ await this.backend.optimize();
398
+ this.maintenanceStats.rebalanceCount++;
399
+ this.maintenanceStats.lastMaintenance = Date.now();
400
+ console.log('[HNSW] Index optimized');
401
+ }
402
+ }
403
+ /**
404
+ * Get comprehensive statistics
405
+ */
406
+ async getStats() {
407
+ this.ensureInitialized();
408
+ const baseStats = await this.backend.getStats();
409
+ const metrics = this.getSearchMetrics();
410
+ return {
411
+ ...baseStats,
412
+ p50Latency: metrics.p50Latency,
413
+ p99Latency: metrics.p99Latency,
414
+ qps: metrics.qps,
415
+ };
416
+ }
417
+ /**
418
+ * Get search performance metrics
419
+ */
420
+ getSearchMetrics() {
421
+ if (this.searchLatencies.length === 0) {
422
+ return {
423
+ totalSearches: this.totalSearches,
424
+ avgLatency: 0,
425
+ p50Latency: 0,
426
+ p99Latency: 0,
427
+ qps: 0,
428
+ };
429
+ }
430
+ const sorted = [...this.searchLatencies].sort((a, b) => a - b);
431
+ const p50Index = Math.floor(sorted.length * 0.5);
432
+ const p99Index = Math.floor(sorted.length * 0.99);
433
+ const avgLatency = this.searchLatencies.reduce((a, b) => a + b, 0) / this.searchLatencies.length;
434
+ return {
435
+ totalSearches: this.totalSearches,
436
+ avgLatency,
437
+ p50Latency: sorted[p50Index] || 0,
438
+ p99Latency: sorted[p99Index] || 0,
439
+ qps: avgLatency > 0 ? 1000 / avgLatency : 0,
440
+ };
441
+ }
442
+ /**
443
+ * Get maintenance statistics
444
+ */
445
+ getMaintenanceStats() {
446
+ return { ...this.maintenanceStats };
447
+ }
448
+ /**
449
+ * Get HNSW configuration
450
+ */
451
+ getConfig() {
452
+ return { ...this.hnswConfig };
453
+ }
454
+ /**
455
+ * Update HNSW parameters (requires index rebuild)
456
+ */
457
+ async updateConfig(config) {
458
+ this.ensureInitialized();
459
+ this.hnswConfig = {
460
+ ...this.hnswConfig,
461
+ ...config,
462
+ };
463
+ // Rebuild index with new parameters
464
+ await this.buildIndex();
465
+ console.log('[HNSW] Configuration updated, index rebuilt');
466
+ }
467
+ /**
468
+ * Clear all patterns
469
+ */
470
+ async clear() {
471
+ this.ensureInitialized();
472
+ if (typeof this.backend.clear === 'function') {
473
+ await this.backend.clear();
474
+ }
475
+ // Reset metrics
476
+ this.resetMetrics();
477
+ }
478
+ /**
479
+ * Shutdown and cleanup
480
+ */
481
+ async shutdown() {
482
+ if (!this.initialized)
483
+ return;
484
+ // Stop maintenance
485
+ if (this.maintenanceTimer) {
486
+ clearInterval(this.maintenanceTimer);
487
+ this.maintenanceTimer = undefined;
488
+ }
489
+ // Shutdown backend
490
+ if (this.backend) {
491
+ await this.backend.shutdown();
492
+ }
493
+ this.initialized = false;
494
+ }
495
+ /**
496
+ * Record pattern usage (updates lastUsed and usageCount)
497
+ */
498
+ async recordUsage(id) {
499
+ this.ensureInitialized();
500
+ if (typeof this.backend.recordUsage === 'function') {
501
+ await this.backend.recordUsage(id);
502
+ }
503
+ }
504
+ /**
505
+ * Get implementation info
506
+ */
507
+ getImplementationInfo() {
508
+ return {
509
+ type: 'agentdb',
510
+ version: '2.2.1',
511
+ features: ['hnsw', 'vector-search', 'persistence', 'batch-operations'],
512
+ };
513
+ }
514
+ /**
515
+ * Start automatic index maintenance
516
+ */
517
+ startMaintenance() {
518
+ this.maintenanceTimer = setInterval(async () => {
519
+ try {
520
+ await this.performMaintenance();
521
+ }
522
+ catch (error) {
523
+ console.error('[HNSW] Maintenance error:', error);
524
+ }
525
+ }, this.config.maintenanceInterval);
526
+ }
527
+ /**
528
+ * Perform index maintenance
529
+ */
530
+ async performMaintenance() {
531
+ console.log('[HNSW] Starting scheduled maintenance...');
532
+ // Optimize index
533
+ await this.optimize();
534
+ // Calculate fragmentation
535
+ const stats = await this.getStats();
536
+ const expectedSize = stats.count * this.hnswConfig.M;
537
+ const actualSize = stats.count; // Simplified estimation
538
+ this.maintenanceStats.fragmentation = Math.max(0, ((expectedSize - actualSize) / expectedSize) * 100);
539
+ this.maintenanceStats.cleanupCount++;
540
+ console.log(`[HNSW] Maintenance complete. Fragmentation: ${this.maintenanceStats.fragmentation.toFixed(2)}%`);
541
+ }
542
+ /**
543
+ * Record search latency
544
+ */
545
+ recordSearchLatency(latency) {
546
+ this.searchLatencies.push(latency);
547
+ this.totalSearches++;
548
+ // Keep only last 1000 measurements
549
+ if (this.searchLatencies.length > 1000) {
550
+ this.searchLatencies.shift();
551
+ }
552
+ }
553
+ /**
554
+ * Record insert latency
555
+ */
556
+ recordInsertLatency(latency) {
557
+ this.insertLatencies.push(latency);
558
+ this.totalInserts++;
559
+ // Keep only last 1000 measurements
560
+ if (this.insertLatencies.length > 1000) {
561
+ this.insertLatencies.shift();
562
+ }
563
+ }
564
+ /**
565
+ * Reset performance metrics
566
+ */
567
+ resetMetrics() {
568
+ this.searchLatencies = [];
569
+ this.insertLatencies = [];
570
+ this.totalSearches = 0;
571
+ this.totalInserts = 0;
572
+ this.maintenanceStats = {
573
+ lastMaintenance: Date.now(),
574
+ rebalanceCount: 0,
575
+ cleanupCount: 0,
576
+ deletedCount: 0,
577
+ fragmentation: 0,
578
+ };
579
+ }
580
+ /**
581
+ * Ensure initialized
582
+ */
583
+ ensureInitialized() {
584
+ if (!this.initialized || !this.backend) {
585
+ throw new Error('HNSWVectorMemory not initialized. Call initialize() first.');
586
+ }
587
+ }
588
+ /**
589
+ * Log configuration on startup
590
+ */
591
+ logConfiguration() {
592
+ console.log('[HNSW] Configuration:');
593
+ console.log(` M: ${this.hnswConfig.M} (connections per node)`);
594
+ console.log(` efConstruction: ${this.hnswConfig.efConstruction} (build quality)`);
595
+ console.log(` efSearch: ${this.hnswConfig.efSearch} (search quality)`);
596
+ console.log(` Metric: ${this.hnswConfig.metric}`);
597
+ console.log(` Dimension: ${this.hnswConfig.dimension}`);
598
+ console.log(` Maintenance: ${this.config.enableMaintenance ? 'enabled' : 'disabled'}`);
599
+ }
600
+ }
601
+ exports.HNSWVectorMemory = HNSWVectorMemory;
602
+ /**
603
+ * Create HNSW Vector Memory with default configuration
604
+ */
605
+ function createHNSWVectorMemory(config) {
606
+ return new HNSWVectorMemory(config);
607
+ }
608
+ /**
609
+ * Create HNSW Vector Memory optimized for high precision
610
+ */
611
+ function createHighPrecisionHNSW(storagePath) {
612
+ return new HNSWVectorMemory({
613
+ M: 64,
614
+ efConstruction: 300,
615
+ efSearch: 150,
616
+ storagePath,
617
+ enableMetrics: true,
618
+ enableMaintenance: true,
619
+ });
620
+ }
621
+ /**
622
+ * Create HNSW Vector Memory optimized for high throughput
623
+ */
624
+ function createHighThroughputHNSW(storagePath) {
625
+ return new HNSWVectorMemory({
626
+ M: 16,
627
+ efConstruction: 100,
628
+ efSearch: 50,
629
+ storagePath,
630
+ enableMetrics: true,
631
+ enableMaintenance: false, // Disable for max speed
632
+ });
633
+ }
634
+ /**
635
+ * Create HNSW Vector Memory with balanced configuration
636
+ */
637
+ function createBalancedHNSW(storagePath) {
638
+ return new HNSWVectorMemory({
639
+ M: 32,
640
+ efConstruction: 200,
641
+ efSearch: 100,
642
+ storagePath,
643
+ enableMetrics: true,
644
+ enableMaintenance: true,
645
+ });
646
+ }
647
+ //# sourceMappingURL=HNSWVectorMemory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HNSWVectorMemory.js","sourceRoot":"","sources":["../../../src/core/memory/HNSWVectorMemory.ts"],"names":[],"mappings":"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"}
@@ -188,6 +188,13 @@ export declare class SwarmMemoryManager {
188
188
  private run;
189
189
  private queryOne;
190
190
  private queryAll;
191
+ /**
192
+ * Execute a raw SQL query (public method for CLI/admin usage)
193
+ * @param sql SQL query string
194
+ * @param params Query parameters
195
+ * @returns Array of results
196
+ */
197
+ queryRaw<T = any>(sql: string, params?: any[]): T[];
191
198
  initialize(): Promise<void>;
192
199
  /**
193
200
  * Store a key-value pair in memory with OpenTelemetry instrumentation