agentic-qe 2.5.7 → 2.5.9

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 (98) hide show
  1. package/CHANGELOG.md +133 -0
  2. package/README.md +1 -1
  3. package/dist/agents/BaseAgent.d.ts +231 -4
  4. package/dist/agents/BaseAgent.d.ts.map +1 -1
  5. package/dist/agents/BaseAgent.js +535 -5
  6. package/dist/agents/BaseAgent.js.map +1 -1
  7. package/dist/agents/CoverageAnalyzerAgent.d.ts +20 -23
  8. package/dist/agents/CoverageAnalyzerAgent.d.ts.map +1 -1
  9. package/dist/agents/CoverageAnalyzerAgent.js +95 -145
  10. package/dist/agents/CoverageAnalyzerAgent.js.map +1 -1
  11. package/dist/agents/QualityAnalyzerAgent.d.ts +2 -2
  12. package/dist/agents/QualityAnalyzerAgent.d.ts.map +1 -1
  13. package/dist/agents/QualityAnalyzerAgent.js.map +1 -1
  14. package/dist/agents/QualityGateAgent.d.ts +35 -18
  15. package/dist/agents/QualityGateAgent.d.ts.map +1 -1
  16. package/dist/agents/QualityGateAgent.js +72 -97
  17. package/dist/agents/QualityGateAgent.js.map +1 -1
  18. package/dist/agents/TestGeneratorAgent.d.ts +5 -0
  19. package/dist/agents/TestGeneratorAgent.d.ts.map +1 -1
  20. package/dist/agents/TestGeneratorAgent.js +38 -0
  21. package/dist/agents/TestGeneratorAgent.js.map +1 -1
  22. package/dist/agents/index.d.ts +1 -1
  23. package/dist/agents/index.d.ts.map +1 -1
  24. package/dist/agents/index.js +17 -4
  25. package/dist/agents/index.js.map +1 -1
  26. package/dist/core/memory/HNSWVectorMemory.js +1 -1
  27. package/dist/core/memory/RuVectorPatternStore.d.ts +90 -0
  28. package/dist/core/memory/RuVectorPatternStore.d.ts.map +1 -1
  29. package/dist/core/memory/RuVectorPatternStore.js +209 -0
  30. package/dist/core/memory/RuVectorPatternStore.js.map +1 -1
  31. package/dist/learning/FederatedManager.d.ts +232 -0
  32. package/dist/learning/FederatedManager.d.ts.map +1 -0
  33. package/dist/learning/FederatedManager.js +489 -0
  34. package/dist/learning/FederatedManager.js.map +1 -0
  35. package/dist/learning/HNSWPatternAdapter.d.ts +117 -0
  36. package/dist/learning/HNSWPatternAdapter.d.ts.map +1 -0
  37. package/dist/learning/HNSWPatternAdapter.js +262 -0
  38. package/dist/learning/HNSWPatternAdapter.js.map +1 -0
  39. package/dist/learning/LearningEngine.d.ts +27 -0
  40. package/dist/learning/LearningEngine.d.ts.map +1 -1
  41. package/dist/learning/LearningEngine.js +75 -1
  42. package/dist/learning/LearningEngine.js.map +1 -1
  43. package/dist/learning/PatternCurator.d.ts +217 -0
  44. package/dist/learning/PatternCurator.d.ts.map +1 -0
  45. package/dist/learning/PatternCurator.js +393 -0
  46. package/dist/learning/PatternCurator.js.map +1 -0
  47. package/dist/learning/index.d.ts +6 -0
  48. package/dist/learning/index.d.ts.map +1 -1
  49. package/dist/learning/index.js +16 -1
  50. package/dist/learning/index.js.map +1 -1
  51. package/dist/learning/types.d.ts +4 -0
  52. package/dist/learning/types.d.ts.map +1 -1
  53. package/dist/mcp/server-instructions.d.ts +1 -1
  54. package/dist/mcp/server-instructions.js +1 -1
  55. package/dist/mcp/tools.d.ts +6 -0
  56. package/dist/mcp/tools.d.ts.map +1 -1
  57. package/dist/mcp/tools.js +121 -0
  58. package/dist/mcp/tools.js.map +1 -1
  59. package/dist/memory/HNSWPatternStore.d.ts +176 -0
  60. package/dist/memory/HNSWPatternStore.d.ts.map +1 -0
  61. package/dist/memory/HNSWPatternStore.js +392 -0
  62. package/dist/memory/HNSWPatternStore.js.map +1 -0
  63. package/dist/memory/index.d.ts +8 -0
  64. package/dist/memory/index.d.ts.map +1 -0
  65. package/dist/memory/index.js +13 -0
  66. package/dist/memory/index.js.map +1 -0
  67. package/dist/providers/HybridRouter.d.ts +85 -4
  68. package/dist/providers/HybridRouter.d.ts.map +1 -1
  69. package/dist/providers/HybridRouter.js +332 -10
  70. package/dist/providers/HybridRouter.js.map +1 -1
  71. package/dist/providers/LLMBaselineTracker.d.ts +120 -0
  72. package/dist/providers/LLMBaselineTracker.d.ts.map +1 -0
  73. package/dist/providers/LLMBaselineTracker.js +305 -0
  74. package/dist/providers/LLMBaselineTracker.js.map +1 -0
  75. package/dist/providers/OpenRouterProvider.d.ts +26 -0
  76. package/dist/providers/OpenRouterProvider.d.ts.map +1 -1
  77. package/dist/providers/OpenRouterProvider.js +75 -6
  78. package/dist/providers/OpenRouterProvider.js.map +1 -1
  79. package/dist/providers/RuVectorClient.d.ts +259 -0
  80. package/dist/providers/RuVectorClient.d.ts.map +1 -0
  81. package/dist/providers/RuVectorClient.js +416 -0
  82. package/dist/providers/RuVectorClient.js.map +1 -0
  83. package/dist/providers/RuvllmPatternCurator.d.ts +116 -0
  84. package/dist/providers/RuvllmPatternCurator.d.ts.map +1 -0
  85. package/dist/providers/RuvllmPatternCurator.js +323 -0
  86. package/dist/providers/RuvllmPatternCurator.js.map +1 -0
  87. package/dist/providers/RuvllmProvider.d.ts +233 -1
  88. package/dist/providers/RuvllmProvider.d.ts.map +1 -1
  89. package/dist/providers/RuvllmProvider.js +781 -11
  90. package/dist/providers/RuvllmProvider.js.map +1 -1
  91. package/dist/providers/index.d.ts +5 -1
  92. package/dist/providers/index.d.ts.map +1 -1
  93. package/dist/providers/index.js +12 -2
  94. package/dist/providers/index.js.map +1 -1
  95. package/dist/utils/ruvllm-loader.d.ts +98 -1
  96. package/dist/utils/ruvllm-loader.d.ts.map +1 -1
  97. package/dist/utils/ruvllm-loader.js.map +1 -1
  98. package/package.json +1 -1
@@ -0,0 +1,416 @@
1
+ "use strict";
2
+ /**
3
+ * RuVectorClient - TypeScript client for RuVector Docker integration
4
+ *
5
+ * Provides GNN-enhanced vector search with LoRA learning capabilities.
6
+ * Part of AQE LLM Independence initiative (Phase 0.5).
7
+ *
8
+ * @module providers/RuVectorClient
9
+ */
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.RUVECTOR_CLIENT_VERSION = exports.RuVectorClient = exports.RuVectorError = void 0;
12
+ exports.createRuVectorClient = createRuVectorClient;
13
+ /**
14
+ * Custom error class for RuVector operations
15
+ */
16
+ class RuVectorError extends Error {
17
+ constructor(message, code, statusCode, details) {
18
+ super(message);
19
+ this.code = code;
20
+ this.statusCode = statusCode;
21
+ this.details = details;
22
+ this.name = 'RuVectorError';
23
+ Object.setPrototypeOf(this, RuVectorError.prototype);
24
+ }
25
+ }
26
+ exports.RuVectorError = RuVectorError;
27
+ /**
28
+ * RuVector TypeScript Client
29
+ *
30
+ * Provides integration with RuVector Docker service for GNN-enhanced
31
+ * vector search with LoRA learning capabilities.
32
+ *
33
+ * @example
34
+ * ```typescript
35
+ * const client = new RuVectorClient({
36
+ * baseUrl: 'http://localhost:8080',
37
+ * learningEnabled: true,
38
+ * cacheThreshold: 0.8,
39
+ * loraRank: 8,
40
+ * ewcEnabled: true
41
+ * });
42
+ *
43
+ * // Query with automatic learning
44
+ * const result = await client.queryWithLearning(
45
+ * 'How do I test async functions?',
46
+ * embedding,
47
+ * async () => await llm.complete('How do I test async functions?')
48
+ * );
49
+ * ```
50
+ */
51
+ class RuVectorClient {
52
+ /**
53
+ * Creates a new RuVector client instance
54
+ *
55
+ * @param config - Configuration options
56
+ */
57
+ constructor(config) {
58
+ this.queryCount = 0;
59
+ this.cacheHits = 0;
60
+ this.totalLatency = 0;
61
+ this.baseUrl = config.baseUrl.replace(/\/$/, ''); // Remove trailing slash
62
+ this.config = {
63
+ ...config,
64
+ timeout: config.timeout ?? 30000,
65
+ maxRetries: config.maxRetries ?? 3,
66
+ retryDelay: config.retryDelay ?? 1000,
67
+ debug: config.debug ?? false
68
+ };
69
+ this.log('RuVectorClient initialized', { baseUrl: this.baseUrl });
70
+ }
71
+ /**
72
+ * Search for similar patterns with GNN-enhanced ranking
73
+ *
74
+ * @param embedding - Query embedding vector
75
+ * @param k - Number of results to return (default: 10)
76
+ * @param options - Additional search options
77
+ * @returns Array of search results ranked by GNN confidence
78
+ *
79
+ * @example
80
+ * ```typescript
81
+ * const results = await client.search(embedding, 5);
82
+ * console.log(`Top result: ${results[0].content} (${results[0].confidence})`);
83
+ * ```
84
+ */
85
+ async search(embedding, k = 10, options) {
86
+ this.validateEmbedding(embedding);
87
+ const startTime = Date.now();
88
+ try {
89
+ const response = await this.fetchWithRetry(`${this.baseUrl}/v1/search`, {
90
+ method: 'POST',
91
+ headers: { 'Content-Type': 'application/json' },
92
+ body: JSON.stringify({
93
+ embedding,
94
+ k,
95
+ useGNN: options?.useGNN ?? true,
96
+ attentionType: options?.attentionType ?? 'multi-head',
97
+ minConfidence: options?.minConfidence ?? 0.0
98
+ })
99
+ });
100
+ const results = await this.parseJsonResponse(response);
101
+ const latency = Date.now() - startTime;
102
+ this.log('Search completed', {
103
+ k,
104
+ resultsCount: results.length,
105
+ latency,
106
+ topConfidence: results[0]?.confidence
107
+ });
108
+ return results;
109
+ }
110
+ catch (error) {
111
+ throw this.handleError('search', error, { k, embeddingSize: embedding.length });
112
+ }
113
+ }
114
+ /**
115
+ * Store pattern with automatic LoRA learning
116
+ *
117
+ * @param pattern - Pattern to store
118
+ * @param options - Storage options
119
+ *
120
+ * @example
121
+ * ```typescript
122
+ * await client.store({
123
+ * embedding: [0.1, 0.2, ...],
124
+ * content: 'Use jest.fn() for mocking',
125
+ * metadata: { category: 'testing', framework: 'jest' }
126
+ * });
127
+ * ```
128
+ */
129
+ async store(pattern, options) {
130
+ this.validateEmbedding(pattern.embedding);
131
+ try {
132
+ const response = await this.fetchWithRetry(`${this.baseUrl}/v1/store`, {
133
+ method: 'POST',
134
+ headers: { 'Content-Type': 'application/json' },
135
+ body: JSON.stringify({
136
+ embedding: pattern.embedding,
137
+ content: pattern.content,
138
+ metadata: pattern.metadata,
139
+ learningConfig: this.config.learningEnabled ? {
140
+ loraRank: this.config.loraRank,
141
+ ewcLambda: this.config.ewcEnabled ? 0.5 : 0,
142
+ triggerConsolidation: options?.triggerLearning ?? false
143
+ } : undefined,
144
+ priority: options?.priority ?? 'normal'
145
+ })
146
+ });
147
+ if (!response.ok) {
148
+ throw new RuVectorError(`Failed to store pattern: ${response.statusText}`, 'STORE_FAILED', response.status);
149
+ }
150
+ this.log('Pattern stored successfully', {
151
+ contentLength: pattern.content.length,
152
+ metadataKeys: Object.keys(pattern.metadata).length
153
+ });
154
+ }
155
+ catch (error) {
156
+ throw this.handleError('store', error, { embeddingSize: pattern.embedding.length });
157
+ }
158
+ }
159
+ /**
160
+ * Query with automatic learning and LLM fallback
161
+ *
162
+ * Implements intelligent routing:
163
+ * 1. Search vector DB for similar patterns
164
+ * 2. If confidence > threshold, return cached result
165
+ * 3. Otherwise, call LLM fallback
166
+ * 4. Store LLM result for future learning
167
+ *
168
+ * @param query - Query string for logging
169
+ * @param embedding - Query embedding vector
170
+ * @param llmFallback - Function to call LLM if cache misses
171
+ * @returns Query result with source information
172
+ *
173
+ * @example
174
+ * ```typescript
175
+ * const result = await client.queryWithLearning(
176
+ * 'How to mock API calls?',
177
+ * embedding,
178
+ * async () => await anthropic.complete('How to mock API calls?')
179
+ * );
180
+ *
181
+ * if (result.source === 'cache') {
182
+ * console.log('Served from cache, saving costs!');
183
+ * }
184
+ * ```
185
+ */
186
+ async queryWithLearning(query, embedding, llmFallback) {
187
+ const startTime = Date.now();
188
+ this.queryCount++;
189
+ try {
190
+ // Phase 1: Search for similar patterns
191
+ const results = await this.search(embedding, 5);
192
+ const topResult = results[0];
193
+ // Phase 2: Check confidence threshold
194
+ if (topResult && topResult.confidence > this.config.cacheThreshold) {
195
+ this.cacheHits++;
196
+ const latency = Date.now() - startTime;
197
+ this.totalLatency += latency;
198
+ this.log('Cache hit', {
199
+ query,
200
+ confidence: topResult.confidence,
201
+ threshold: this.config.cacheThreshold,
202
+ latency
203
+ });
204
+ return {
205
+ content: topResult.content,
206
+ source: 'cache',
207
+ confidence: topResult.confidence,
208
+ latency,
209
+ metadata: topResult.metadata
210
+ };
211
+ }
212
+ // Phase 3: Cache miss - call LLM
213
+ this.log('Cache miss, calling LLM fallback', {
214
+ query,
215
+ topConfidence: topResult?.confidence ?? 0,
216
+ threshold: this.config.cacheThreshold
217
+ });
218
+ const llmResponse = await llmFallback();
219
+ const latency = Date.now() - startTime;
220
+ this.totalLatency += latency;
221
+ // Phase 4: Store for future learning
222
+ if (this.config.learningEnabled) {
223
+ await this.store({
224
+ embedding,
225
+ content: llmResponse,
226
+ metadata: {
227
+ query,
228
+ timestamp: new Date().toISOString(),
229
+ source: 'llm',
230
+ originalConfidence: topResult?.confidence ?? 0
231
+ }
232
+ }, { triggerLearning: true });
233
+ }
234
+ return {
235
+ content: llmResponse,
236
+ source: 'llm',
237
+ confidence: 1.0, // LLM responses are assumed to be high quality
238
+ latency,
239
+ metadata: {
240
+ query,
241
+ cachedResultConfidence: topResult?.confidence
242
+ }
243
+ };
244
+ }
245
+ catch (error) {
246
+ throw this.handleError('queryWithLearning', error, { query });
247
+ }
248
+ }
249
+ /**
250
+ * Get learning metrics
251
+ *
252
+ * @returns Current learning metrics
253
+ */
254
+ async getMetrics() {
255
+ try {
256
+ const response = await this.fetchWithRetry(`${this.baseUrl}/v1/metrics`);
257
+ const serverMetrics = await this.parseJsonResponse(response);
258
+ return {
259
+ cacheHitRate: this.queryCount > 0 ? this.cacheHits / this.queryCount : 0,
260
+ totalQueries: this.queryCount,
261
+ loraUpdates: serverMetrics.loraUpdates,
262
+ averageLatency: this.queryCount > 0 ? this.totalLatency / this.queryCount : 0,
263
+ patternCount: serverMetrics.patternCount,
264
+ memoryUsageMB: serverMetrics.memoryUsageMB,
265
+ gnnMetrics: serverMetrics.gnnMetrics
266
+ };
267
+ }
268
+ catch (error) {
269
+ throw this.handleError('getMetrics', error);
270
+ }
271
+ }
272
+ /**
273
+ * Force learning consolidation
274
+ *
275
+ * Triggers manual LoRA parameter consolidation.
276
+ * Use sparingly - automatic consolidation is preferred.
277
+ *
278
+ * @returns Consolidation result with updated metrics
279
+ */
280
+ async forceLearn() {
281
+ this.log('Forcing learning consolidation');
282
+ try {
283
+ const response = await this.fetchWithRetry(`${this.baseUrl}/v1/learn`, {
284
+ method: 'POST',
285
+ headers: { 'Content-Type': 'application/json' },
286
+ body: JSON.stringify({
287
+ loraRank: this.config.loraRank,
288
+ ewcLambda: this.config.ewcEnabled ? 0.5 : 0
289
+ })
290
+ });
291
+ const result = await this.parseJsonResponse(response);
292
+ this.log('Learning consolidation completed', result);
293
+ return result;
294
+ }
295
+ catch (error) {
296
+ throw this.handleError('forceLearn', error);
297
+ }
298
+ }
299
+ /**
300
+ * Health check
301
+ *
302
+ * @returns Health status of RuVector service
303
+ */
304
+ async healthCheck() {
305
+ try {
306
+ const response = await this.fetchWithRetry(`${this.baseUrl}/health`, {
307
+ method: 'GET'
308
+ });
309
+ const health = await this.parseJsonResponse(response);
310
+ this.log('Health check completed', {
311
+ status: health.status,
312
+ uptime: health.uptime,
313
+ vectorCount: health.vectorCount
314
+ });
315
+ return health;
316
+ }
317
+ catch (error) {
318
+ throw this.handleError('healthCheck', error);
319
+ }
320
+ }
321
+ /**
322
+ * Reset metrics
323
+ *
324
+ * Resets client-side query metrics. Does not affect server metrics.
325
+ */
326
+ resetMetrics() {
327
+ this.queryCount = 0;
328
+ this.cacheHits = 0;
329
+ this.totalLatency = 0;
330
+ this.log('Metrics reset');
331
+ }
332
+ // Private helper methods
333
+ validateEmbedding(embedding) {
334
+ if (!Array.isArray(embedding) || embedding.length === 0) {
335
+ throw new RuVectorError('Embedding must be a non-empty array', 'INVALID_EMBEDDING');
336
+ }
337
+ if (!embedding.every(v => typeof v === 'number' && !isNaN(v))) {
338
+ throw new RuVectorError('Embedding must contain only valid numbers', 'INVALID_EMBEDDING');
339
+ }
340
+ }
341
+ async fetchWithRetry(url, options, attempt = 1) {
342
+ const controller = new AbortController();
343
+ const timeoutId = setTimeout(() => controller.abort(), this.config.timeout);
344
+ try {
345
+ const response = await fetch(url, {
346
+ ...options,
347
+ signal: controller.signal
348
+ });
349
+ clearTimeout(timeoutId);
350
+ if (!response.ok && attempt < this.config.maxRetries) {
351
+ const delay = this.config.retryDelay * attempt;
352
+ this.log(`Request failed (attempt ${attempt}), retrying in ${delay}ms`, {
353
+ status: response.status,
354
+ url
355
+ });
356
+ await this.sleep(delay);
357
+ return this.fetchWithRetry(url, options, attempt + 1);
358
+ }
359
+ return response;
360
+ }
361
+ catch (error) {
362
+ clearTimeout(timeoutId);
363
+ if (attempt < this.config.maxRetries) {
364
+ const delay = this.config.retryDelay * attempt;
365
+ this.log(`Request error (attempt ${attempt}), retrying in ${delay}ms`, {
366
+ error: error instanceof Error ? error.message : String(error),
367
+ url
368
+ });
369
+ await this.sleep(delay);
370
+ return this.fetchWithRetry(url, options, attempt + 1);
371
+ }
372
+ throw error;
373
+ }
374
+ }
375
+ async parseJsonResponse(response) {
376
+ if (!response.ok) {
377
+ const errorText = await response.text().catch(() => 'Unknown error');
378
+ throw new RuVectorError(`Request failed: ${response.statusText}`, 'REQUEST_FAILED', response.status, errorText);
379
+ }
380
+ try {
381
+ return await response.json();
382
+ }
383
+ catch (error) {
384
+ throw new RuVectorError('Failed to parse JSON response', 'PARSE_ERROR', response.status, error);
385
+ }
386
+ }
387
+ handleError(operation, error, context) {
388
+ if (error instanceof RuVectorError) {
389
+ return error;
390
+ }
391
+ const message = error instanceof Error ? error.message : String(error);
392
+ const ruVectorError = new RuVectorError(`${operation} failed: ${message}`, 'OPERATION_FAILED', undefined, { originalError: error, context });
393
+ this.log(`Error in ${operation}`, {
394
+ error: message,
395
+ context
396
+ });
397
+ return ruVectorError;
398
+ }
399
+ sleep(ms) {
400
+ return new Promise(resolve => setTimeout(resolve, ms));
401
+ }
402
+ log(message, data) {
403
+ if (this.config.debug) {
404
+ const timestamp = new Date().toISOString();
405
+ console.log(`[RuVectorClient] ${timestamp} - ${message}`, data || '');
406
+ }
407
+ }
408
+ }
409
+ exports.RuVectorClient = RuVectorClient;
410
+ // Export default instance factory for convenience
411
+ function createRuVectorClient(config) {
412
+ return new RuVectorClient(config);
413
+ }
414
+ // Export version for compatibility checks
415
+ exports.RUVECTOR_CLIENT_VERSION = '1.0.0';
416
+ //# sourceMappingURL=RuVectorClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RuVectorClient.js","sourceRoot":"","sources":["../../src/providers/RuVectorClient.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,116 @@
1
+ /**
2
+ * RuvllmPatternCurator - Integration layer between PatternCurator and RuvllmProvider
3
+ *
4
+ * Phase 0 M0.6: Wires manual pattern curation to RuvLLM's learning system
5
+ *
6
+ * This adapter:
7
+ * - Implements IPatternSource using HNSWPatternAdapter
8
+ * - Implements ILearningTrigger using RuvllmProvider
9
+ * - Enables manual curation to improve RuvLLM routing decisions
10
+ * - Provides 20% better routing through curated patterns
11
+ */
12
+ import { EventEmitter } from 'events';
13
+ import { StoredPattern, CuratedPattern, CuratorConfig, CurationSession, PatternAnalytics } from '../learning/PatternCurator';
14
+ import { RuvllmProvider } from './RuvllmProvider';
15
+ import { HNSWPatternAdapter } from '../learning/HNSWPatternAdapter';
16
+ /**
17
+ * Configuration for RuvllmPatternCurator
18
+ */
19
+ export interface RuvllmPatternCuratorConfig {
20
+ /** Pattern curation configuration */
21
+ curatorConfig?: Partial<CuratorConfig>;
22
+ /** RuvLLM provider instance */
23
+ ruvllmProvider: RuvllmProvider;
24
+ /** Optional HNSW adapter for pattern storage */
25
+ hnswAdapter?: HNSWPatternAdapter;
26
+ /** Enable embedding-based similarity search */
27
+ useEmbeddings?: boolean;
28
+ }
29
+ /**
30
+ * RuvllmPatternCurator - Unified pattern curation with RuvLLM integration
31
+ */
32
+ export declare class RuvllmPatternCurator extends EventEmitter {
33
+ private readonly logger;
34
+ private readonly curator;
35
+ private readonly ruvllm;
36
+ private readonly patternSource;
37
+ private readonly learningTrigger;
38
+ constructor(config: RuvllmPatternCuratorConfig);
39
+ /**
40
+ * Start a curation session
41
+ */
42
+ startSession(reviewerId?: string): CurationSession;
43
+ /**
44
+ * End current curation session
45
+ */
46
+ endSession(): CurationSession | null;
47
+ /**
48
+ * Find low-confidence patterns for review
49
+ */
50
+ findLowConfidencePatterns(limit?: number): Promise<StoredPattern[]>;
51
+ /**
52
+ * Review a pattern manually
53
+ */
54
+ reviewPattern(pattern: StoredPattern, curation: CuratedPattern): Promise<void>;
55
+ /**
56
+ * Auto-curate patterns based on confidence thresholds
57
+ */
58
+ autoCurate(): Promise<{
59
+ autoApproved: number;
60
+ autoRejected: number;
61
+ needsReview: number;
62
+ }>;
63
+ /**
64
+ * Force learning consolidation
65
+ */
66
+ forceLearning(): Promise<{
67
+ feedbackSubmitted: number;
68
+ patternsConsolidated: number;
69
+ newWeightVersion: number;
70
+ }>;
71
+ /**
72
+ * Get pattern analytics
73
+ */
74
+ getAnalytics(): Promise<PatternAnalytics>;
75
+ /**
76
+ * Get routing improvement stats
77
+ */
78
+ getRoutingImprovement(): Promise<{
79
+ beforeCuration: {
80
+ avgConfidence: number;
81
+ };
82
+ afterCuration: {
83
+ avgConfidence: number;
84
+ };
85
+ improvement: number;
86
+ }>;
87
+ /**
88
+ * Get curation history
89
+ */
90
+ getCurationHistory(): CurationSession[];
91
+ /**
92
+ * Get current session
93
+ */
94
+ getCurrentSession(): CurationSession | null;
95
+ /**
96
+ * Get pending feedback count
97
+ */
98
+ getPendingFeedbackCount(): number;
99
+ /**
100
+ * Interactive curation generator
101
+ */
102
+ interactiveCuration(limit?: number): AsyncGenerator<{
103
+ pattern: StoredPattern;
104
+ submit: (curation: CuratedPattern) => Promise<void>;
105
+ skip: () => void;
106
+ }>;
107
+ }
108
+ /**
109
+ * Create a RuvllmPatternCurator with default configuration
110
+ */
111
+ export declare function createRuvllmPatternCurator(ruvllmProvider: RuvllmProvider, options?: {
112
+ curatorConfig?: Partial<CuratorConfig>;
113
+ useEmbeddings?: boolean;
114
+ hnswConfig?: any;
115
+ }): RuvllmPatternCurator;
116
+ //# sourceMappingURL=RuvllmPatternCurator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RuvllmPatternCurator.d.ts","sourceRoot":"","sources":["../../src/providers/RuvllmPatternCurator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAGL,aAAa,EACb,cAAc,EAEd,aAAa,EAGb,eAAe,EACf,gBAAgB,EACjB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAA4B,MAAM,gCAAgC,CAAC;AAI9F;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,qCAAqC;IACrC,aAAa,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IACvC,+BAA+B;IAC/B,cAAc,EAAE,cAAc,CAAC;IAC/B,gDAAgD;IAChD,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC,+CAA+C;IAC/C,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAsND;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,YAAY;IACpD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiB;IACzC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;IACxC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAsB;IACpD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAwB;gBAE5C,MAAM,EAAE,0BAA0B;IAkC9C;;OAEG;IACH,YAAY,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,eAAe;IAIlD;;OAEG;IACH,UAAU,IAAI,eAAe,GAAG,IAAI;IAIpC;;OAEG;IACG,yBAAyB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAIzE;;OAEG;IACG,aAAa,CAAC,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAIpF;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC;QAC1B,YAAY,EAAE,MAAM,CAAC;QACrB,YAAY,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;IAIF;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC;QAC7B,iBAAiB,EAAE,MAAM,CAAC;QAC1B,oBAAoB,EAAE,MAAM,CAAC;QAC7B,gBAAgB,EAAE,MAAM,CAAC;KAC1B,CAAC;IAIF;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAI/C;;OAEG;IACG,qBAAqB,IAAI,OAAO,CAAC;QACrC,cAAc,EAAE;YAAE,aAAa,EAAE,MAAM,CAAA;SAAE,CAAC;QAC1C,aAAa,EAAE;YAAE,aAAa,EAAE,MAAM,CAAA;SAAE,CAAC;QACzC,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;IAIF;;OAEG;IACH,kBAAkB,IAAI,eAAe,EAAE;IAIvC;;OAEG;IACH,iBAAiB,IAAI,eAAe,GAAG,IAAI;IAI3C;;OAEG;IACH,uBAAuB,IAAI,MAAM;IAIjC;;OAEG;IACI,mBAAmB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,cAAc,CAAC;QACzD,OAAO,EAAE,aAAa,CAAC;QACvB,MAAM,EAAE,CAAC,QAAQ,EAAE,cAAc,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;QACpD,IAAI,EAAE,MAAM,IAAI,CAAC;KAClB,CAAC;CAGH;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CACxC,cAAc,EAAE,cAAc,EAC9B,OAAO,CAAC,EAAE;IACR,aAAa,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IACvC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,UAAU,CAAC,EAAE,GAAG,CAAC;CAClB,GACA,oBAAoB,CAatB"}