agentic-qe 2.5.7 → 2.5.8
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.
- package/CHANGELOG.md +86 -0
- package/README.md +1 -1
- package/dist/agents/BaseAgent.d.ts +142 -0
- package/dist/agents/BaseAgent.d.ts.map +1 -1
- package/dist/agents/BaseAgent.js +372 -2
- package/dist/agents/BaseAgent.js.map +1 -1
- package/dist/agents/TestGeneratorAgent.d.ts +5 -0
- package/dist/agents/TestGeneratorAgent.d.ts.map +1 -1
- package/dist/agents/TestGeneratorAgent.js +38 -0
- package/dist/agents/TestGeneratorAgent.js.map +1 -1
- package/dist/agents/index.d.ts +1 -1
- package/dist/agents/index.d.ts.map +1 -1
- package/dist/agents/index.js.map +1 -1
- package/dist/core/memory/HNSWVectorMemory.js +1 -1
- package/dist/core/memory/RuVectorPatternStore.d.ts +90 -0
- package/dist/core/memory/RuVectorPatternStore.d.ts.map +1 -1
- package/dist/core/memory/RuVectorPatternStore.js +209 -0
- package/dist/core/memory/RuVectorPatternStore.js.map +1 -1
- package/dist/learning/FederatedManager.d.ts +232 -0
- package/dist/learning/FederatedManager.d.ts.map +1 -0
- package/dist/learning/FederatedManager.js +489 -0
- package/dist/learning/FederatedManager.js.map +1 -0
- package/dist/learning/HNSWPatternAdapter.d.ts +117 -0
- package/dist/learning/HNSWPatternAdapter.d.ts.map +1 -0
- package/dist/learning/HNSWPatternAdapter.js +262 -0
- package/dist/learning/HNSWPatternAdapter.js.map +1 -0
- package/dist/learning/LearningEngine.d.ts +27 -0
- package/dist/learning/LearningEngine.d.ts.map +1 -1
- package/dist/learning/LearningEngine.js +75 -1
- package/dist/learning/LearningEngine.js.map +1 -1
- package/dist/learning/PatternCurator.d.ts +217 -0
- package/dist/learning/PatternCurator.d.ts.map +1 -0
- package/dist/learning/PatternCurator.js +393 -0
- package/dist/learning/PatternCurator.js.map +1 -0
- package/dist/learning/index.d.ts +6 -0
- package/dist/learning/index.d.ts.map +1 -1
- package/dist/learning/index.js +16 -1
- package/dist/learning/index.js.map +1 -1
- package/dist/learning/types.d.ts +4 -0
- package/dist/learning/types.d.ts.map +1 -1
- package/dist/mcp/server-instructions.d.ts +1 -1
- package/dist/mcp/server-instructions.js +1 -1
- package/dist/memory/HNSWPatternStore.d.ts +176 -0
- package/dist/memory/HNSWPatternStore.d.ts.map +1 -0
- package/dist/memory/HNSWPatternStore.js +392 -0
- package/dist/memory/HNSWPatternStore.js.map +1 -0
- package/dist/memory/index.d.ts +8 -0
- package/dist/memory/index.d.ts.map +1 -0
- package/dist/memory/index.js +13 -0
- package/dist/memory/index.js.map +1 -0
- package/dist/providers/HybridRouter.d.ts +85 -4
- package/dist/providers/HybridRouter.d.ts.map +1 -1
- package/dist/providers/HybridRouter.js +332 -10
- package/dist/providers/HybridRouter.js.map +1 -1
- package/dist/providers/LLMBaselineTracker.d.ts +120 -0
- package/dist/providers/LLMBaselineTracker.d.ts.map +1 -0
- package/dist/providers/LLMBaselineTracker.js +305 -0
- package/dist/providers/LLMBaselineTracker.js.map +1 -0
- package/dist/providers/OpenRouterProvider.d.ts +26 -0
- package/dist/providers/OpenRouterProvider.d.ts.map +1 -1
- package/dist/providers/OpenRouterProvider.js +75 -6
- package/dist/providers/OpenRouterProvider.js.map +1 -1
- package/dist/providers/RuVectorClient.d.ts +259 -0
- package/dist/providers/RuVectorClient.d.ts.map +1 -0
- package/dist/providers/RuVectorClient.js +416 -0
- package/dist/providers/RuVectorClient.js.map +1 -0
- package/dist/providers/RuvllmPatternCurator.d.ts +116 -0
- package/dist/providers/RuvllmPatternCurator.d.ts.map +1 -0
- package/dist/providers/RuvllmPatternCurator.js +323 -0
- package/dist/providers/RuvllmPatternCurator.js.map +1 -0
- package/dist/providers/RuvllmProvider.d.ts +233 -1
- package/dist/providers/RuvllmProvider.d.ts.map +1 -1
- package/dist/providers/RuvllmProvider.js +781 -11
- package/dist/providers/RuvllmProvider.js.map +1 -1
- package/dist/providers/index.d.ts +5 -1
- package/dist/providers/index.d.ts.map +1 -1
- package/dist/providers/index.js +12 -2
- package/dist/providers/index.js.map +1 -1
- package/dist/utils/ruvllm-loader.d.ts +98 -1
- package/dist/utils/ruvllm-loader.d.ts.map +1 -1
- package/dist/utils/ruvllm-loader.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PatternCurator - Manual learning triggers and pattern quality curation
|
|
3
|
+
*
|
|
4
|
+
* Phase 0 M0.6: AQE LLM Independence - Manual Learning Triggers
|
|
5
|
+
*
|
|
6
|
+
* Features:
|
|
7
|
+
* - CLI and programmatic pattern review interface
|
|
8
|
+
* - Low-confidence pattern detection
|
|
9
|
+
* - Manual approval/rejection workflow
|
|
10
|
+
* - Force learning consolidation
|
|
11
|
+
* - Pattern quality analytics
|
|
12
|
+
* - 20% better routing decisions through curated patterns
|
|
13
|
+
*/
|
|
14
|
+
import { EventEmitter } from 'events';
|
|
15
|
+
/**
|
|
16
|
+
* Pattern stored in the system
|
|
17
|
+
*/
|
|
18
|
+
export interface StoredPattern {
|
|
19
|
+
id: string;
|
|
20
|
+
embedding: number[];
|
|
21
|
+
content: string;
|
|
22
|
+
category: string;
|
|
23
|
+
confidence: number;
|
|
24
|
+
quality: number;
|
|
25
|
+
usageCount: number;
|
|
26
|
+
createdAt: number;
|
|
27
|
+
lastUsedAt: number;
|
|
28
|
+
metadata: Record<string, unknown>;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Curated pattern after manual review
|
|
32
|
+
*/
|
|
33
|
+
export interface CuratedPattern {
|
|
34
|
+
id: string;
|
|
35
|
+
approved: boolean;
|
|
36
|
+
correctedContent?: string;
|
|
37
|
+
qualityRating: number;
|
|
38
|
+
explanation: string;
|
|
39
|
+
reviewedAt: number;
|
|
40
|
+
reviewedBy?: string;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Feedback for RuvLLM learning
|
|
44
|
+
*/
|
|
45
|
+
export interface LearningFeedback {
|
|
46
|
+
requestId: string;
|
|
47
|
+
correction: string;
|
|
48
|
+
rating: number;
|
|
49
|
+
reasoning: string;
|
|
50
|
+
category: string;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Pattern curation configuration
|
|
54
|
+
*/
|
|
55
|
+
export interface CuratorConfig {
|
|
56
|
+
/** Confidence threshold for low-confidence detection (default: 0.7) */
|
|
57
|
+
lowConfidenceThreshold: number;
|
|
58
|
+
/** Maximum patterns to review per batch (default: 50) */
|
|
59
|
+
maxBatchSize: number;
|
|
60
|
+
/** Auto-approve patterns above this confidence (default: 0.95) */
|
|
61
|
+
autoApproveThreshold: number;
|
|
62
|
+
/** Auto-reject patterns below this confidence (default: 0.3) */
|
|
63
|
+
autoRejectThreshold: number;
|
|
64
|
+
/** Storage path for curation history */
|
|
65
|
+
storagePath?: string;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Pattern analytics
|
|
69
|
+
*/
|
|
70
|
+
export interface PatternAnalytics {
|
|
71
|
+
totalPatterns: number;
|
|
72
|
+
lowConfidencePatterns: number;
|
|
73
|
+
highQualityPatterns: number;
|
|
74
|
+
averageConfidence: number;
|
|
75
|
+
averageQuality: number;
|
|
76
|
+
categoryDistribution: Record<string, number>;
|
|
77
|
+
usageDistribution: {
|
|
78
|
+
unused: number;
|
|
79
|
+
lowUsage: number;
|
|
80
|
+
mediumUsage: number;
|
|
81
|
+
highUsage: number;
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Curation session
|
|
86
|
+
*/
|
|
87
|
+
export interface CurationSession {
|
|
88
|
+
id: string;
|
|
89
|
+
startedAt: number;
|
|
90
|
+
endedAt?: number;
|
|
91
|
+
patternsReviewed: number;
|
|
92
|
+
approved: number;
|
|
93
|
+
rejected: number;
|
|
94
|
+
corrected: number;
|
|
95
|
+
reviewerId?: string;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Pattern source interface (abstraction for ReasoningBank or other pattern stores)
|
|
99
|
+
*/
|
|
100
|
+
export interface IPatternSource {
|
|
101
|
+
findSimilar(query: string, k: number, options?: {
|
|
102
|
+
minConfidence?: number;
|
|
103
|
+
minUsageCount?: number;
|
|
104
|
+
}): Promise<StoredPattern[]>;
|
|
105
|
+
findByConfidenceRange(minConfidence: number, maxConfidence: number, limit: number): Promise<StoredPattern[]>;
|
|
106
|
+
remove(id: string): Promise<void>;
|
|
107
|
+
update(id: string, updates: Partial<StoredPattern>): Promise<void>;
|
|
108
|
+
getStats(): Promise<{
|
|
109
|
+
total: number;
|
|
110
|
+
avgConfidence: number;
|
|
111
|
+
avgQuality: number;
|
|
112
|
+
}>;
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Learning trigger interface (abstraction for RuvLLM)
|
|
116
|
+
*/
|
|
117
|
+
export interface ILearningTrigger {
|
|
118
|
+
feedback(data: LearningFeedback): Promise<void>;
|
|
119
|
+
forceLearn(): Promise<{
|
|
120
|
+
patternsConsolidated: number;
|
|
121
|
+
newWeightVersion: number;
|
|
122
|
+
}>;
|
|
123
|
+
getRoutingStats(): Promise<{
|
|
124
|
+
totalDecisions: number;
|
|
125
|
+
avgConfidence: number;
|
|
126
|
+
}>;
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* PatternCurator - Manual pattern review and learning trigger system
|
|
130
|
+
*/
|
|
131
|
+
export declare class PatternCurator extends EventEmitter {
|
|
132
|
+
private config;
|
|
133
|
+
private patternSource;
|
|
134
|
+
private learningTrigger;
|
|
135
|
+
private currentSession;
|
|
136
|
+
private curationHistory;
|
|
137
|
+
private pendingFeedback;
|
|
138
|
+
constructor(config?: Partial<CuratorConfig>, patternSource?: IPatternSource, learningTrigger?: ILearningTrigger);
|
|
139
|
+
/**
|
|
140
|
+
* Start a new curation session
|
|
141
|
+
*/
|
|
142
|
+
startSession(reviewerId?: string): CurationSession;
|
|
143
|
+
/**
|
|
144
|
+
* End current curation session
|
|
145
|
+
*/
|
|
146
|
+
endSession(): CurationSession | null;
|
|
147
|
+
/**
|
|
148
|
+
* Find low-confidence patterns for review
|
|
149
|
+
*/
|
|
150
|
+
findLowConfidencePatterns(limit?: number): Promise<StoredPattern[]>;
|
|
151
|
+
/**
|
|
152
|
+
* Review a single pattern manually
|
|
153
|
+
*/
|
|
154
|
+
reviewPattern(pattern: StoredPattern, curation: CuratedPattern): Promise<void>;
|
|
155
|
+
/**
|
|
156
|
+
* Auto-curate patterns based on confidence thresholds
|
|
157
|
+
*/
|
|
158
|
+
autoCurate(): Promise<{
|
|
159
|
+
autoApproved: number;
|
|
160
|
+
autoRejected: number;
|
|
161
|
+
needsReview: number;
|
|
162
|
+
}>;
|
|
163
|
+
/**
|
|
164
|
+
* Force learning consolidation with pending feedback
|
|
165
|
+
*/
|
|
166
|
+
forceLearning(): Promise<{
|
|
167
|
+
feedbackSubmitted: number;
|
|
168
|
+
patternsConsolidated: number;
|
|
169
|
+
newWeightVersion: number;
|
|
170
|
+
}>;
|
|
171
|
+
/**
|
|
172
|
+
* Get pattern analytics
|
|
173
|
+
*/
|
|
174
|
+
getAnalytics(): Promise<PatternAnalytics>;
|
|
175
|
+
/**
|
|
176
|
+
* Get routing improvement stats after curation
|
|
177
|
+
*/
|
|
178
|
+
getRoutingImprovement(): Promise<{
|
|
179
|
+
beforeCuration: {
|
|
180
|
+
avgConfidence: number;
|
|
181
|
+
};
|
|
182
|
+
afterCuration: {
|
|
183
|
+
avgConfidence: number;
|
|
184
|
+
};
|
|
185
|
+
improvement: number;
|
|
186
|
+
}>;
|
|
187
|
+
/**
|
|
188
|
+
* Get curation history
|
|
189
|
+
*/
|
|
190
|
+
getCurationHistory(): CurationSession[];
|
|
191
|
+
/**
|
|
192
|
+
* Get current session
|
|
193
|
+
*/
|
|
194
|
+
getCurrentSession(): CurationSession | null;
|
|
195
|
+
/**
|
|
196
|
+
* Get pending feedback count
|
|
197
|
+
*/
|
|
198
|
+
getPendingFeedbackCount(): number;
|
|
199
|
+
/**
|
|
200
|
+
* Interactive CLI curation (for terminal usage)
|
|
201
|
+
* Returns a generator that yields patterns for review
|
|
202
|
+
*/
|
|
203
|
+
interactiveCuration(limit?: number): AsyncGenerator<{
|
|
204
|
+
pattern: StoredPattern;
|
|
205
|
+
submit: (curation: CuratedPattern) => Promise<void>;
|
|
206
|
+
skip: () => void;
|
|
207
|
+
}>;
|
|
208
|
+
}
|
|
209
|
+
/**
|
|
210
|
+
* Create a pattern curator with default configuration
|
|
211
|
+
*/
|
|
212
|
+
export declare function createPatternCurator(config?: Partial<CuratorConfig>, patternSource?: IPatternSource, learningTrigger?: ILearningTrigger): PatternCurator;
|
|
213
|
+
/**
|
|
214
|
+
* CLI helper for pattern curation
|
|
215
|
+
*/
|
|
216
|
+
export declare function runCurationCLI(curator: PatternCurator): Promise<CurationSession | null>;
|
|
217
|
+
//# sourceMappingURL=PatternCurator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PatternCurator.d.ts","sourceRoot":"","sources":["../../src/learning/PatternCurator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,393 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* PatternCurator - Manual learning triggers and pattern quality curation
|
|
4
|
+
*
|
|
5
|
+
* Phase 0 M0.6: AQE LLM Independence - Manual Learning Triggers
|
|
6
|
+
*
|
|
7
|
+
* Features:
|
|
8
|
+
* - CLI and programmatic pattern review interface
|
|
9
|
+
* - Low-confidence pattern detection
|
|
10
|
+
* - Manual approval/rejection workflow
|
|
11
|
+
* - Force learning consolidation
|
|
12
|
+
* - Pattern quality analytics
|
|
13
|
+
* - 20% better routing decisions through curated patterns
|
|
14
|
+
*/
|
|
15
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
exports.PatternCurator = void 0;
|
|
17
|
+
exports.createPatternCurator = createPatternCurator;
|
|
18
|
+
exports.runCurationCLI = runCurationCLI;
|
|
19
|
+
const events_1 = require("events");
|
|
20
|
+
const crypto_1 = require("crypto");
|
|
21
|
+
/**
|
|
22
|
+
* Mock pattern source for standalone usage
|
|
23
|
+
*/
|
|
24
|
+
class MockPatternSource {
|
|
25
|
+
constructor() {
|
|
26
|
+
this.patterns = new Map();
|
|
27
|
+
}
|
|
28
|
+
async findSimilar(query, k, options) {
|
|
29
|
+
const minConf = options?.minConfidence ?? 0;
|
|
30
|
+
return Array.from(this.patterns.values())
|
|
31
|
+
.filter(p => p.confidence >= minConf)
|
|
32
|
+
.slice(0, k);
|
|
33
|
+
}
|
|
34
|
+
async findByConfidenceRange(minConfidence, maxConfidence, limit) {
|
|
35
|
+
return Array.from(this.patterns.values())
|
|
36
|
+
.filter(p => p.confidence >= minConfidence && p.confidence <= maxConfidence)
|
|
37
|
+
.slice(0, limit);
|
|
38
|
+
}
|
|
39
|
+
async remove(id) {
|
|
40
|
+
this.patterns.delete(id);
|
|
41
|
+
}
|
|
42
|
+
async update(id, updates) {
|
|
43
|
+
const existing = this.patterns.get(id);
|
|
44
|
+
if (existing) {
|
|
45
|
+
this.patterns.set(id, { ...existing, ...updates });
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
async getStats() {
|
|
49
|
+
const patterns = Array.from(this.patterns.values());
|
|
50
|
+
if (patterns.length === 0) {
|
|
51
|
+
return { total: 0, avgConfidence: 0, avgQuality: 0 };
|
|
52
|
+
}
|
|
53
|
+
return {
|
|
54
|
+
total: patterns.length,
|
|
55
|
+
avgConfidence: patterns.reduce((sum, p) => sum + p.confidence, 0) / patterns.length,
|
|
56
|
+
avgQuality: patterns.reduce((sum, p) => sum + p.quality, 0) / patterns.length
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
// For testing: add a pattern
|
|
60
|
+
addPattern(pattern) {
|
|
61
|
+
this.patterns.set(pattern.id, pattern);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Mock learning trigger for standalone usage
|
|
66
|
+
*/
|
|
67
|
+
class MockLearningTrigger {
|
|
68
|
+
constructor() {
|
|
69
|
+
this.feedbackHistory = [];
|
|
70
|
+
this.learnCount = 0;
|
|
71
|
+
}
|
|
72
|
+
async feedback(data) {
|
|
73
|
+
this.feedbackHistory.push(data);
|
|
74
|
+
}
|
|
75
|
+
async forceLearn() {
|
|
76
|
+
this.learnCount++;
|
|
77
|
+
const consolidated = this.feedbackHistory.length;
|
|
78
|
+
this.feedbackHistory = [];
|
|
79
|
+
return {
|
|
80
|
+
patternsConsolidated: consolidated,
|
|
81
|
+
newWeightVersion: this.learnCount
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
async getRoutingStats() {
|
|
85
|
+
return {
|
|
86
|
+
totalDecisions: 100,
|
|
87
|
+
avgConfidence: 0.75
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* PatternCurator - Manual pattern review and learning trigger system
|
|
93
|
+
*/
|
|
94
|
+
class PatternCurator extends events_1.EventEmitter {
|
|
95
|
+
constructor(config, patternSource, learningTrigger) {
|
|
96
|
+
super();
|
|
97
|
+
this.config = {
|
|
98
|
+
lowConfidenceThreshold: config?.lowConfidenceThreshold ?? 0.7,
|
|
99
|
+
maxBatchSize: config?.maxBatchSize ?? 50,
|
|
100
|
+
autoApproveThreshold: config?.autoApproveThreshold ?? 0.95,
|
|
101
|
+
autoRejectThreshold: config?.autoRejectThreshold ?? 0.3,
|
|
102
|
+
storagePath: config?.storagePath
|
|
103
|
+
};
|
|
104
|
+
this.patternSource = patternSource ?? new MockPatternSource();
|
|
105
|
+
this.learningTrigger = learningTrigger ?? new MockLearningTrigger();
|
|
106
|
+
this.currentSession = null;
|
|
107
|
+
this.curationHistory = [];
|
|
108
|
+
this.pendingFeedback = [];
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Start a new curation session
|
|
112
|
+
*/
|
|
113
|
+
startSession(reviewerId) {
|
|
114
|
+
if (this.currentSession) {
|
|
115
|
+
this.endSession();
|
|
116
|
+
}
|
|
117
|
+
this.currentSession = {
|
|
118
|
+
id: (0, crypto_1.randomUUID)(),
|
|
119
|
+
startedAt: Date.now(),
|
|
120
|
+
patternsReviewed: 0,
|
|
121
|
+
approved: 0,
|
|
122
|
+
rejected: 0,
|
|
123
|
+
corrected: 0,
|
|
124
|
+
reviewerId
|
|
125
|
+
};
|
|
126
|
+
this.emit('sessionStarted', { session: this.currentSession });
|
|
127
|
+
return this.currentSession;
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* End current curation session
|
|
131
|
+
*/
|
|
132
|
+
endSession() {
|
|
133
|
+
if (!this.currentSession)
|
|
134
|
+
return null;
|
|
135
|
+
this.currentSession.endedAt = Date.now();
|
|
136
|
+
this.curationHistory.push(this.currentSession);
|
|
137
|
+
this.emit('sessionEnded', { session: this.currentSession });
|
|
138
|
+
const session = this.currentSession;
|
|
139
|
+
this.currentSession = null;
|
|
140
|
+
return session;
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Find low-confidence patterns for review
|
|
144
|
+
*/
|
|
145
|
+
async findLowConfidencePatterns(limit) {
|
|
146
|
+
const maxPatterns = limit ?? this.config.maxBatchSize;
|
|
147
|
+
const patterns = await this.patternSource.findByConfidenceRange(this.config.autoRejectThreshold, this.config.lowConfidenceThreshold, maxPatterns);
|
|
148
|
+
this.emit('patternsFound', {
|
|
149
|
+
count: patterns.length,
|
|
150
|
+
confidenceRange: {
|
|
151
|
+
min: this.config.autoRejectThreshold,
|
|
152
|
+
max: this.config.lowConfidenceThreshold
|
|
153
|
+
}
|
|
154
|
+
});
|
|
155
|
+
return patterns;
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* Review a single pattern manually
|
|
159
|
+
*/
|
|
160
|
+
async reviewPattern(pattern, curation) {
|
|
161
|
+
if (!this.currentSession) {
|
|
162
|
+
this.startSession();
|
|
163
|
+
}
|
|
164
|
+
if (curation.approved) {
|
|
165
|
+
// Pattern approved - provide positive feedback
|
|
166
|
+
const feedback = {
|
|
167
|
+
requestId: pattern.id,
|
|
168
|
+
correction: curation.correctedContent ?? pattern.content,
|
|
169
|
+
rating: curation.qualityRating,
|
|
170
|
+
reasoning: curation.explanation,
|
|
171
|
+
category: pattern.category
|
|
172
|
+
};
|
|
173
|
+
this.pendingFeedback.push(feedback);
|
|
174
|
+
// Update pattern quality in store
|
|
175
|
+
await this.patternSource.update(pattern.id, {
|
|
176
|
+
quality: curation.qualityRating,
|
|
177
|
+
confidence: Math.min(pattern.confidence + 0.1, 1.0) // Boost confidence
|
|
178
|
+
});
|
|
179
|
+
this.currentSession.approved++;
|
|
180
|
+
if (curation.correctedContent) {
|
|
181
|
+
this.currentSession.corrected++;
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
else {
|
|
185
|
+
// Pattern rejected - remove from store
|
|
186
|
+
await this.patternSource.remove(pattern.id);
|
|
187
|
+
this.currentSession.rejected++;
|
|
188
|
+
}
|
|
189
|
+
this.currentSession.patternsReviewed++;
|
|
190
|
+
this.emit('patternReviewed', {
|
|
191
|
+
patternId: pattern.id,
|
|
192
|
+
approved: curation.approved,
|
|
193
|
+
corrected: !!curation.correctedContent,
|
|
194
|
+
sessionStats: {
|
|
195
|
+
reviewed: this.currentSession.patternsReviewed,
|
|
196
|
+
approved: this.currentSession.approved,
|
|
197
|
+
rejected: this.currentSession.rejected
|
|
198
|
+
}
|
|
199
|
+
});
|
|
200
|
+
}
|
|
201
|
+
/**
|
|
202
|
+
* Auto-curate patterns based on confidence thresholds
|
|
203
|
+
*/
|
|
204
|
+
async autoCurate() {
|
|
205
|
+
const stats = { autoApproved: 0, autoRejected: 0, needsReview: 0 };
|
|
206
|
+
// Auto-reject very low confidence patterns
|
|
207
|
+
const veryLowConfidence = await this.patternSource.findByConfidenceRange(0, this.config.autoRejectThreshold, 1000);
|
|
208
|
+
for (const pattern of veryLowConfidence) {
|
|
209
|
+
await this.patternSource.remove(pattern.id);
|
|
210
|
+
stats.autoRejected++;
|
|
211
|
+
}
|
|
212
|
+
// Auto-approve very high confidence patterns
|
|
213
|
+
const veryHighConfidence = await this.patternSource.findByConfidenceRange(this.config.autoApproveThreshold, 1.0, 1000);
|
|
214
|
+
for (const pattern of veryHighConfidence) {
|
|
215
|
+
const feedback = {
|
|
216
|
+
requestId: pattern.id,
|
|
217
|
+
correction: pattern.content,
|
|
218
|
+
rating: pattern.quality,
|
|
219
|
+
reasoning: 'Auto-approved high-confidence pattern',
|
|
220
|
+
category: pattern.category
|
|
221
|
+
};
|
|
222
|
+
this.pendingFeedback.push(feedback);
|
|
223
|
+
stats.autoApproved++;
|
|
224
|
+
}
|
|
225
|
+
// Count patterns needing manual review
|
|
226
|
+
const needsReview = await this.patternSource.findByConfidenceRange(this.config.autoRejectThreshold, this.config.autoApproveThreshold, 1000);
|
|
227
|
+
stats.needsReview = needsReview.length;
|
|
228
|
+
this.emit('autoCurateComplete', stats);
|
|
229
|
+
return stats;
|
|
230
|
+
}
|
|
231
|
+
/**
|
|
232
|
+
* Force learning consolidation with pending feedback
|
|
233
|
+
*/
|
|
234
|
+
async forceLearning() {
|
|
235
|
+
// Submit all pending feedback
|
|
236
|
+
const feedbackCount = this.pendingFeedback.length;
|
|
237
|
+
for (const feedback of this.pendingFeedback) {
|
|
238
|
+
await this.learningTrigger.feedback(feedback);
|
|
239
|
+
}
|
|
240
|
+
this.pendingFeedback = [];
|
|
241
|
+
// Trigger learning consolidation
|
|
242
|
+
const result = await this.learningTrigger.forceLearn();
|
|
243
|
+
this.emit('learningForced', {
|
|
244
|
+
feedbackSubmitted: feedbackCount,
|
|
245
|
+
...result
|
|
246
|
+
});
|
|
247
|
+
return {
|
|
248
|
+
feedbackSubmitted: feedbackCount,
|
|
249
|
+
...result
|
|
250
|
+
};
|
|
251
|
+
}
|
|
252
|
+
/**
|
|
253
|
+
* Get pattern analytics
|
|
254
|
+
*/
|
|
255
|
+
async getAnalytics() {
|
|
256
|
+
const stats = await this.patternSource.getStats();
|
|
257
|
+
// Get patterns by confidence range
|
|
258
|
+
const veryLow = await this.patternSource.findByConfidenceRange(0, 0.3, 10000);
|
|
259
|
+
const low = await this.patternSource.findByConfidenceRange(0.3, 0.7, 10000);
|
|
260
|
+
const high = await this.patternSource.findByConfidenceRange(0.7, 1.0, 10000);
|
|
261
|
+
// Analyze category distribution
|
|
262
|
+
const allPatterns = [...veryLow, ...low, ...high];
|
|
263
|
+
const categoryDist = {};
|
|
264
|
+
for (const pattern of allPatterns) {
|
|
265
|
+
categoryDist[pattern.category] = (categoryDist[pattern.category] ?? 0) + 1;
|
|
266
|
+
}
|
|
267
|
+
// Analyze usage distribution
|
|
268
|
+
const usageDist = {
|
|
269
|
+
unused: allPatterns.filter(p => p.usageCount === 0).length,
|
|
270
|
+
lowUsage: allPatterns.filter(p => p.usageCount > 0 && p.usageCount <= 3).length,
|
|
271
|
+
mediumUsage: allPatterns.filter(p => p.usageCount > 3 && p.usageCount <= 10).length,
|
|
272
|
+
highUsage: allPatterns.filter(p => p.usageCount > 10).length
|
|
273
|
+
};
|
|
274
|
+
return {
|
|
275
|
+
totalPatterns: stats.total,
|
|
276
|
+
lowConfidencePatterns: veryLow.length + low.length,
|
|
277
|
+
highQualityPatterns: high.filter(p => p.quality >= 0.8).length,
|
|
278
|
+
averageConfidence: stats.avgConfidence,
|
|
279
|
+
averageQuality: stats.avgQuality,
|
|
280
|
+
categoryDistribution: categoryDist,
|
|
281
|
+
usageDistribution: usageDist
|
|
282
|
+
};
|
|
283
|
+
}
|
|
284
|
+
/**
|
|
285
|
+
* Get routing improvement stats after curation
|
|
286
|
+
*/
|
|
287
|
+
async getRoutingImprovement() {
|
|
288
|
+
const routingStats = await this.learningTrigger.getRoutingStats();
|
|
289
|
+
// Calculate improvement based on curation history
|
|
290
|
+
const totalReviewed = this.curationHistory.reduce((sum, s) => sum + s.patternsReviewed, 0);
|
|
291
|
+
const totalApproved = this.curationHistory.reduce((sum, s) => sum + s.approved, 0);
|
|
292
|
+
const approvalRate = totalReviewed > 0 ? totalApproved / totalReviewed : 0;
|
|
293
|
+
// Estimate improvement (20% target)
|
|
294
|
+
const estimatedImprovement = approvalRate * 0.2;
|
|
295
|
+
return {
|
|
296
|
+
beforeCuration: {
|
|
297
|
+
avgConfidence: routingStats.avgConfidence
|
|
298
|
+
},
|
|
299
|
+
afterCuration: {
|
|
300
|
+
avgConfidence: Math.min(routingStats.avgConfidence + estimatedImprovement, 1.0)
|
|
301
|
+
},
|
|
302
|
+
improvement: estimatedImprovement * 100 // Percentage
|
|
303
|
+
};
|
|
304
|
+
}
|
|
305
|
+
/**
|
|
306
|
+
* Get curation history
|
|
307
|
+
*/
|
|
308
|
+
getCurationHistory() {
|
|
309
|
+
return [...this.curationHistory];
|
|
310
|
+
}
|
|
311
|
+
/**
|
|
312
|
+
* Get current session
|
|
313
|
+
*/
|
|
314
|
+
getCurrentSession() {
|
|
315
|
+
return this.currentSession ? { ...this.currentSession } : null;
|
|
316
|
+
}
|
|
317
|
+
/**
|
|
318
|
+
* Get pending feedback count
|
|
319
|
+
*/
|
|
320
|
+
getPendingFeedbackCount() {
|
|
321
|
+
return this.pendingFeedback.length;
|
|
322
|
+
}
|
|
323
|
+
/**
|
|
324
|
+
* Interactive CLI curation (for terminal usage)
|
|
325
|
+
* Returns a generator that yields patterns for review
|
|
326
|
+
*/
|
|
327
|
+
async *interactiveCuration(limit) {
|
|
328
|
+
const patterns = await this.findLowConfidencePatterns(limit);
|
|
329
|
+
this.startSession();
|
|
330
|
+
for (const pattern of patterns) {
|
|
331
|
+
let resolved = false;
|
|
332
|
+
yield {
|
|
333
|
+
pattern,
|
|
334
|
+
submit: async (curation) => {
|
|
335
|
+
if (!resolved) {
|
|
336
|
+
await this.reviewPattern(pattern, curation);
|
|
337
|
+
resolved = true;
|
|
338
|
+
}
|
|
339
|
+
},
|
|
340
|
+
skip: () => {
|
|
341
|
+
resolved = true;
|
|
342
|
+
}
|
|
343
|
+
};
|
|
344
|
+
}
|
|
345
|
+
this.endSession();
|
|
346
|
+
}
|
|
347
|
+
}
|
|
348
|
+
exports.PatternCurator = PatternCurator;
|
|
349
|
+
/**
|
|
350
|
+
* Create a pattern curator with default configuration
|
|
351
|
+
*/
|
|
352
|
+
function createPatternCurator(config, patternSource, learningTrigger) {
|
|
353
|
+
return new PatternCurator(config, patternSource, learningTrigger);
|
|
354
|
+
}
|
|
355
|
+
/**
|
|
356
|
+
* CLI helper for pattern curation
|
|
357
|
+
*/
|
|
358
|
+
async function runCurationCLI(curator) {
|
|
359
|
+
console.log('\n=== Pattern Curation CLI ===\n');
|
|
360
|
+
// Get analytics first
|
|
361
|
+
const analytics = await curator.getAnalytics();
|
|
362
|
+
console.log(`Total patterns: ${analytics.totalPatterns}`);
|
|
363
|
+
console.log(`Low confidence patterns: ${analytics.lowConfidencePatterns}`);
|
|
364
|
+
console.log(`Average confidence: ${(analytics.averageConfidence * 100).toFixed(1)}%`);
|
|
365
|
+
console.log(`Average quality: ${(analytics.averageQuality * 100).toFixed(1)}%\n`);
|
|
366
|
+
// Start interactive curation
|
|
367
|
+
const iterator = curator.interactiveCuration(10);
|
|
368
|
+
for await (const { pattern, submit } of iterator) {
|
|
369
|
+
console.log(`\n--- Pattern ${pattern.id} ---`);
|
|
370
|
+
console.log(`Category: ${pattern.category}`);
|
|
371
|
+
console.log(`Confidence: ${(pattern.confidence * 100).toFixed(1)}%`);
|
|
372
|
+
console.log(`Content: ${pattern.content.substring(0, 200)}...`);
|
|
373
|
+
// In real CLI, would prompt for input here
|
|
374
|
+
// For now, auto-approve medium confidence patterns
|
|
375
|
+
const approved = pattern.confidence >= 0.5;
|
|
376
|
+
await submit({
|
|
377
|
+
id: pattern.id,
|
|
378
|
+
approved,
|
|
379
|
+
qualityRating: approved ? Math.max(pattern.quality, 0.7) : 0,
|
|
380
|
+
explanation: approved ? 'Approved via CLI' : 'Rejected via CLI',
|
|
381
|
+
reviewedAt: Date.now()
|
|
382
|
+
});
|
|
383
|
+
console.log(approved ? '✓ Approved' : '✗ Rejected');
|
|
384
|
+
}
|
|
385
|
+
// Force learning consolidation
|
|
386
|
+
console.log('\nConsolidating learning...');
|
|
387
|
+
const result = await curator.forceLearning();
|
|
388
|
+
console.log(`Feedback submitted: ${result.feedbackSubmitted}`);
|
|
389
|
+
console.log(`Patterns consolidated: ${result.patternsConsolidated}`);
|
|
390
|
+
console.log(`New weight version: ${result.newWeightVersion}`);
|
|
391
|
+
return curator.getCurrentSession();
|
|
392
|
+
}
|
|
393
|
+
//# sourceMappingURL=PatternCurator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PatternCurator.js","sourceRoot":"","sources":["../../src/learning/PatternCurator.ts"],"names":[],"mappings":"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"}
|
package/dist/learning/index.d.ts
CHANGED
|
@@ -30,4 +30,10 @@ export { PrivacyManager, PrivacyLevel } from './PrivacyManager';
|
|
|
30
30
|
export type { PrivacyConfig, SanitizedExperience, RetentionPolicyResult } from './PrivacyManager';
|
|
31
31
|
export { SONAFeedbackLoop, createFeedbackLoop, createConnectedFeedbackLoop, } from './SONAFeedbackLoop';
|
|
32
32
|
export type { FeedbackLoopConfig, FeedbackEvent, FeedbackAnalysis, Adaptation, } from './SONAFeedbackLoop';
|
|
33
|
+
export { FederatedManager, FederatedCoordinator, EphemeralAgent, createFederatedManager, } from './FederatedManager';
|
|
34
|
+
export type { FederatedConfig, FederatedMetrics, LearnedPattern, AgentState, AggregatedKnowledge, } from './FederatedManager';
|
|
35
|
+
export { PatternCurator, createPatternCurator, runCurationCLI, } from './PatternCurator';
|
|
36
|
+
export type { CuratorConfig, StoredPattern, CuratedPattern, LearningFeedback, PatternAnalytics, CurationSession, IPatternSource, ILearningTrigger, } from './PatternCurator';
|
|
37
|
+
export { HNSWPatternAdapter, createHNSWPatternAdapter, } from './HNSWPatternAdapter';
|
|
38
|
+
export type { HNSWPatternAdapterConfig, EmbeddedPattern, PatternSearchResult, } from './HNSWPatternAdapter';
|
|
33
39
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/learning/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,cAAc,SAAS,CAAC;AACxB,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AAGnC,OAAO,EACL,uBAAuB,EACxB,MAAM,2BAA2B,CAAC;AAInC,OAAO,EACL,iBAAiB,EACjB,QAAQ,EACR,MAAM,EACN,YAAY,EACZ,WAAW,EACX,kBAAkB,EAClB,iBAAiB,EACjB,8BAA8B,EAC9B,UAAU,EACV,SAAS,EACT,sBAAsB,EACtB,iBAAiB,EAClB,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,yBAAyB,EACzB,uBAAuB,EACvB,gBAAgB,EAChB,YAAY,EACZ,cAAc,EACd,YAAY,EACb,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,sBAAsB,EACtB,cAAc,EACd,qBAAqB,EACrB,0BAA0B,EAC1B,YAAY,EACb,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACL,4BAA4B,EAC5B,aAAa,EACb,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACpB,MAAM,gCAAgC,CAAC;AAGxC,OAAO,EACL,uBAAuB,EACvB,cAAc,EACd,eAAe,EACf,eAAe,EACf,gBAAgB,EACjB,MAAM,2BAA2B,CAAC;AACnC,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAG1E,OAAO,EACL,oBAAoB,EACrB,MAAM,wBAAwB,CAAC;AAChC,YAAY,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AAGzE,OAAO,EACL,cAAc,EACd,YAAY,EACb,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACV,aAAa,EACb,mBAAmB,EACnB,qBAAqB,EACtB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,2BAA2B,GAC5B,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,kBAAkB,EAClB,aAAa,EACb,gBAAgB,EAChB,UAAU,GACX,MAAM,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/learning/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,cAAc,SAAS,CAAC;AACxB,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AAGnC,OAAO,EACL,uBAAuB,EACxB,MAAM,2BAA2B,CAAC;AAInC,OAAO,EACL,iBAAiB,EACjB,QAAQ,EACR,MAAM,EACN,YAAY,EACZ,WAAW,EACX,kBAAkB,EAClB,iBAAiB,EACjB,8BAA8B,EAC9B,UAAU,EACV,SAAS,EACT,sBAAsB,EACtB,iBAAiB,EAClB,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,yBAAyB,EACzB,uBAAuB,EACvB,gBAAgB,EAChB,YAAY,EACZ,cAAc,EACd,YAAY,EACb,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,sBAAsB,EACtB,cAAc,EACd,qBAAqB,EACrB,0BAA0B,EAC1B,YAAY,EACb,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACL,4BAA4B,EAC5B,aAAa,EACb,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACpB,MAAM,gCAAgC,CAAC;AAGxC,OAAO,EACL,uBAAuB,EACvB,cAAc,EACd,eAAe,EACf,eAAe,EACf,gBAAgB,EACjB,MAAM,2BAA2B,CAAC;AACnC,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAG1E,OAAO,EACL,oBAAoB,EACrB,MAAM,wBAAwB,CAAC;AAChC,YAAY,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AAGzE,OAAO,EACL,cAAc,EACd,YAAY,EACb,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACV,aAAa,EACb,mBAAmB,EACnB,qBAAqB,EACtB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,2BAA2B,GAC5B,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,kBAAkB,EAClB,aAAa,EACb,gBAAgB,EAChB,UAAU,GACX,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,cAAc,EACd,sBAAsB,GACvB,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,UAAU,EACV,mBAAmB,GACpB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,cAAc,GACf,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACV,aAAa,EACb,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,gBAAgB,GACjB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EACV,wBAAwB,EACxB,eAAe,EACf,mBAAmB,GACpB,MAAM,sBAAsB,CAAC"}
|