@kernel.chat/kbot 3.9.0 → 3.11.0

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 (49) hide show
  1. package/dist/a2a-client.d.ts +162 -0
  2. package/dist/a2a-client.d.ts.map +1 -0
  3. package/dist/a2a-client.js +376 -0
  4. package/dist/a2a-client.js.map +1 -0
  5. package/dist/agent.d.ts.map +1 -1
  6. package/dist/agent.js +96 -5
  7. package/dist/agent.js.map +1 -1
  8. package/dist/cli.js +295 -3
  9. package/dist/cli.js.map +1 -1
  10. package/dist/mcp-apps.d.ts +90 -0
  11. package/dist/mcp-apps.d.ts.map +1 -0
  12. package/dist/mcp-apps.js +497 -0
  13. package/dist/mcp-apps.js.map +1 -0
  14. package/dist/memory-synthesis.d.ts +67 -0
  15. package/dist/memory-synthesis.d.ts.map +1 -0
  16. package/dist/memory-synthesis.js +557 -0
  17. package/dist/memory-synthesis.js.map +1 -0
  18. package/dist/prompt-evolution.d.ts +92 -0
  19. package/dist/prompt-evolution.d.ts.map +1 -0
  20. package/dist/prompt-evolution.js +371 -0
  21. package/dist/prompt-evolution.js.map +1 -0
  22. package/dist/reflection.d.ts +33 -0
  23. package/dist/reflection.d.ts.map +1 -0
  24. package/dist/reflection.js +368 -0
  25. package/dist/reflection.js.map +1 -0
  26. package/dist/serve.d.ts.map +1 -1
  27. package/dist/serve.js +56 -6
  28. package/dist/serve.js.map +1 -1
  29. package/dist/skill-library.d.ts +60 -0
  30. package/dist/skill-library.d.ts.map +1 -0
  31. package/dist/skill-library.js +475 -0
  32. package/dist/skill-library.js.map +1 -0
  33. package/dist/spec.d.ts +23 -0
  34. package/dist/spec.d.ts.map +1 -0
  35. package/dist/spec.js +177 -0
  36. package/dist/spec.js.map +1 -0
  37. package/dist/tool-pipeline.d.ts +7 -0
  38. package/dist/tool-pipeline.d.ts.map +1 -1
  39. package/dist/tool-pipeline.js +32 -0
  40. package/dist/tool-pipeline.js.map +1 -1
  41. package/dist/tools/index.d.ts +1 -1
  42. package/dist/tools/index.d.ts.map +1 -1
  43. package/dist/tools/index.js +2 -1
  44. package/dist/tools/index.js.map +1 -1
  45. package/dist/tree-planner.d.ts +63 -0
  46. package/dist/tree-planner.d.ts.map +1 -0
  47. package/dist/tree-planner.js +818 -0
  48. package/dist/tree-planner.js.map +1 -0
  49. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-synthesis.js","sourceRoot":"","sources":["../src/memory-synthesis.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,92 @@
1
+ export interface PromptTrace {
2
+ agent: string;
3
+ taskType: string;
4
+ toolsUsed: string[];
5
+ evalScore: number;
6
+ success: boolean;
7
+ messageLength: number;
8
+ timestamp: string;
9
+ }
10
+ export interface PromptMutation {
11
+ agent: string;
12
+ original: string;
13
+ mutated: string;
14
+ reason: string;
15
+ appliedAt: string;
16
+ scoreBefore: number;
17
+ scoreAfter: number;
18
+ }
19
+ export interface PromptEvolutionState {
20
+ traces: PromptTrace[];
21
+ mutations: PromptMutation[];
22
+ generation: number;
23
+ }
24
+ /**
25
+ * Record an execution trace after each agent response.
26
+ * Called from agent.ts in the post-response learning block.
27
+ */
28
+ export declare function recordTrace(trace: PromptTrace): void;
29
+ /**
30
+ * Check if an agent has accumulated enough traces to trigger evolution.
31
+ * Returns true if 20+ traces exist since the last evolution cycle for this agent.
32
+ */
33
+ export declare function shouldEvolve(agent: string): boolean;
34
+ /**
35
+ * Analyze execution traces for an agent and generate prompt mutations.
36
+ * This is the core GEPA heuristic engine — entirely local, no LLM calls.
37
+ *
38
+ * Mutation rules:
39
+ * 1. Low success rate (<0.6) → add verification/self-checking emphasis
40
+ * 2. Narrow tool usage → encourage broader tool exploration
41
+ * 3. Low scores on specific task types → add task-specific instructions
42
+ * 4. Responses too long → add conciseness instruction
43
+ * 5. Missing the question → add "answer first" instruction
44
+ *
45
+ * Returns the generated mutation, or null if no improvement is needed.
46
+ */
47
+ export declare function evolvePrompt(agent: string): PromptMutation | null;
48
+ /**
49
+ * Get the current active prompt amendment for an agent.
50
+ * Called before prompt assembly to inject evolved instructions.
51
+ * Returns empty string if no active mutation exists.
52
+ */
53
+ export declare function getPromptAmendment(agent: string): string;
54
+ /**
55
+ * Rollback the most recent mutation for an agent if it made things worse.
56
+ * Compares scoreAfter vs scoreBefore — if worse, removes the mutation.
57
+ *
58
+ * Call this after updating scoreAfter from the latest trace batch.
59
+ * Returns true if a rollback was performed.
60
+ */
61
+ export declare function rollbackMutation(agent: string): boolean;
62
+ /**
63
+ * Update the scoreAfter for the most recent mutation of an agent.
64
+ * Called when enough post-mutation traces are available.
65
+ */
66
+ export declare function updateMutationScore(agent: string): void;
67
+ /**
68
+ * Get evolution statistics — how prompts have evolved over time.
69
+ */
70
+ export declare function getEvolutionStats(): {
71
+ generation: number;
72
+ totalTraces: number;
73
+ totalMutations: number;
74
+ agentStats: Record<string, {
75
+ traces: number;
76
+ avgScore: number;
77
+ successRate: number;
78
+ activeMutation: boolean;
79
+ mutationCount: number;
80
+ lastEvolved: string | null;
81
+ }>;
82
+ };
83
+ /**
84
+ * Reset all evolution data for a specific agent (or all agents).
85
+ * Useful for debugging or when a major prompt rewrite happens.
86
+ */
87
+ export declare function resetEvolution(agent?: string): void;
88
+ /**
89
+ * Flush pending state to disk. Call on process exit.
90
+ */
91
+ export declare function flushEvolutionState(): void;
92
+ //# sourceMappingURL=prompt-evolution.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt-evolution.d.ts","sourceRoot":"","sources":["../src/prompt-evolution.ts"],"names":[],"mappings":"AAoBA,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,EAAE,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,OAAO,CAAA;IAChB,aAAa,EAAE,MAAM,CAAA;IACrB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,WAAW,EAAE,CAAA;IACrB,SAAS,EAAE,cAAc,EAAE,CAAA;IAC3B,UAAU,EAAE,MAAM,CAAA;CACnB;AAiDD;;;GAGG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,CAUpD;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAkBnD;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CA+JjE;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAWxD;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAmBvD;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CA2BvD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI;IACnC,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;IACnB,cAAc,EAAE,MAAM,CAAA;IACtB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE;QACzB,MAAM,EAAE,MAAM,CAAA;QACd,QAAQ,EAAE,MAAM,CAAA;QAChB,WAAW,EAAE,MAAM,CAAA;QACnB,cAAc,EAAE,OAAO,CAAA;QACvB,aAAa,EAAE,MAAM,CAAA;QACrB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;KAC3B,CAAC,CAAA;CACH,CA0DA;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAanD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAM1C"}
@@ -0,0 +1,371 @@
1
+ // kbot Prompt Evolution — GEPA-style self-optimizing specialist prompts
2
+ //
3
+ // Each specialist agent has a system prompt (in agents/specialists.ts or matrix.ts).
4
+ // This module tracks execution traces per specialist and periodically analyzes them
5
+ // to generate heuristic-based prompt mutations — no LLM calls needed.
6
+ //
7
+ // Design: simplified GEPA (Generative Evolution of Prompts for Agents) for CLI:
8
+ // 1. Record execution traces (agent, taskType, tools, score, success, length)
9
+ // 2. Every 20 runs of an agent, analyze trace patterns
10
+ // 3. Generate prompt amendments (suffixes, not full rewrites)
11
+ // 4. Track before/after scores to auto-rollback bad mutations
12
+ //
13
+ // Storage: ~/.kbot/memory/prompt-evolution.json
14
+ import { homedir } from 'node:os';
15
+ import { join } from 'node:path';
16
+ import { existsSync, readFileSync, writeFileSync, mkdirSync } from 'node:fs';
17
+ // ── Storage ──
18
+ const MEMORY_DIR = join(homedir(), '.kbot', 'memory');
19
+ const EVOLUTION_FILE = join(MEMORY_DIR, 'prompt-evolution.json');
20
+ const MAX_TRACES = 500;
21
+ const MAX_MUTATIONS = 50;
22
+ const EVOLUTION_THRESHOLD = 20; // traces per agent before evolution triggers
23
+ function ensureDir() {
24
+ if (!existsSync(MEMORY_DIR))
25
+ mkdirSync(MEMORY_DIR, { recursive: true });
26
+ }
27
+ function loadState() {
28
+ ensureDir();
29
+ if (!existsSync(EVOLUTION_FILE)) {
30
+ return { traces: [], mutations: [], generation: 0 };
31
+ }
32
+ try {
33
+ return JSON.parse(readFileSync(EVOLUTION_FILE, 'utf-8'));
34
+ }
35
+ catch {
36
+ return { traces: [], mutations: [], generation: 0 };
37
+ }
38
+ }
39
+ function saveState(state) {
40
+ ensureDir();
41
+ try {
42
+ writeFileSync(EVOLUTION_FILE, JSON.stringify(state, null, 2));
43
+ }
44
+ catch { /* non-critical — prompt evolution data can be regenerated */ }
45
+ }
46
+ // ── Lazy-loaded singleton state ──
47
+ let _state = null;
48
+ function getState() {
49
+ if (!_state)
50
+ _state = loadState();
51
+ return _state;
52
+ }
53
+ function persist() {
54
+ if (_state)
55
+ saveState(_state);
56
+ }
57
+ // ── Core API ──
58
+ /**
59
+ * Record an execution trace after each agent response.
60
+ * Called from agent.ts in the post-response learning block.
61
+ */
62
+ export function recordTrace(trace) {
63
+ const state = getState();
64
+ state.traces.push(trace);
65
+ // Cap at MAX_TRACES — drop oldest traces
66
+ if (state.traces.length > MAX_TRACES) {
67
+ state.traces = state.traces.slice(-MAX_TRACES);
68
+ }
69
+ persist();
70
+ }
71
+ /**
72
+ * Check if an agent has accumulated enough traces to trigger evolution.
73
+ * Returns true if 20+ traces exist since the last evolution cycle for this agent.
74
+ */
75
+ export function shouldEvolve(agent) {
76
+ const state = getState();
77
+ // Find the last mutation for this agent (if any)
78
+ const lastMutation = [...state.mutations]
79
+ .reverse()
80
+ .find(m => m.agent === agent);
81
+ const lastMutationTime = lastMutation
82
+ ? new Date(lastMutation.appliedAt).getTime()
83
+ : 0;
84
+ // Count traces for this agent since last mutation
85
+ const recentTraces = state.traces.filter(t => t.agent === agent && new Date(t.timestamp).getTime() > lastMutationTime);
86
+ return recentTraces.length >= EVOLUTION_THRESHOLD;
87
+ }
88
+ /**
89
+ * Analyze execution traces for an agent and generate prompt mutations.
90
+ * This is the core GEPA heuristic engine — entirely local, no LLM calls.
91
+ *
92
+ * Mutation rules:
93
+ * 1. Low success rate (<0.6) → add verification/self-checking emphasis
94
+ * 2. Narrow tool usage → encourage broader tool exploration
95
+ * 3. Low scores on specific task types → add task-specific instructions
96
+ * 4. Responses too long → add conciseness instruction
97
+ * 5. Missing the question → add "answer first" instruction
98
+ *
99
+ * Returns the generated mutation, or null if no improvement is needed.
100
+ */
101
+ export function evolvePrompt(agent) {
102
+ const state = getState();
103
+ // Get the last mutation for this agent to know the baseline
104
+ const lastMutation = [...state.mutations]
105
+ .reverse()
106
+ .find(m => m.agent === agent);
107
+ const lastMutationTime = lastMutation
108
+ ? new Date(lastMutation.appliedAt).getTime()
109
+ : 0;
110
+ // Gather traces since last evolution
111
+ const recentTraces = state.traces.filter(t => t.agent === agent && new Date(t.timestamp).getTime() > lastMutationTime);
112
+ if (recentTraces.length < EVOLUTION_THRESHOLD)
113
+ return null;
114
+ // ── Analyze trace patterns ──
115
+ const successRate = recentTraces.filter(t => t.success).length / recentTraces.length;
116
+ const avgScore = recentTraces.reduce((sum, t) => sum + t.evalScore, 0) / recentTraces.length;
117
+ const avgLength = recentTraces.reduce((sum, t) => sum + t.messageLength, 0) / recentTraces.length;
118
+ // Tool diversity: how many unique tools out of all tools used
119
+ const allToolsUsed = recentTraces.flatMap(t => t.toolsUsed);
120
+ const uniqueTools = new Set(allToolsUsed);
121
+ const toolDiversity = allToolsUsed.length > 0
122
+ ? uniqueTools.size / Math.min(allToolsUsed.length, 20) // normalize against 20 max
123
+ : 0;
124
+ // Per-task-type scores
125
+ const taskTypeScores = {};
126
+ for (const trace of recentTraces) {
127
+ if (!taskTypeScores[trace.taskType]) {
128
+ taskTypeScores[trace.taskType] = { total: 0, count: 0 };
129
+ }
130
+ taskTypeScores[trace.taskType].total += trace.evalScore;
131
+ taskTypeScores[trace.taskType].count++;
132
+ }
133
+ // Identify weak task types (avg score < 0.5 with at least 3 samples)
134
+ const weakTaskTypes = Object.entries(taskTypeScores)
135
+ .filter(([, v]) => v.count >= 3 && (v.total / v.count) < 0.5)
136
+ .map(([taskType, v]) => ({ taskType, avgScore: v.total / v.count }));
137
+ // Low relevancy indicator: traces where evalScore < 0.4 (often means missing the question)
138
+ const lowRelevancyRate = recentTraces.filter(t => t.evalScore < 0.4).length / recentTraces.length;
139
+ // ── Generate mutation amendments ──
140
+ // Priority order: address the most impactful issue first
141
+ const amendments = [];
142
+ const reasons = [];
143
+ // Rule 1: Low success rate → add verification emphasis
144
+ if (successRate < 0.6) {
145
+ amendments.push('IMPORTANT: After completing any action, verify the result explicitly. ' +
146
+ 'If writing code, run the build or type-checker. If modifying files, read them back to confirm. ' +
147
+ 'If a command fails, analyze the error before retrying with a different approach.');
148
+ reasons.push(`low success rate (${(successRate * 100).toFixed(0)}%)`);
149
+ }
150
+ // Rule 2: Narrow tool usage → encourage exploration
151
+ if (toolDiversity < 0.15 && allToolsUsed.length > 5) {
152
+ const topTools = Array.from(uniqueTools).slice(0, 3).join(', ');
153
+ amendments.push('You have many tools available beyond ' + topTools + '. ' +
154
+ 'Consider using web_search for external info, grep for codebase exploration, ' +
155
+ 'git tools for history, and multiple file operations for thorough changes. ' +
156
+ 'Use the right tool for each sub-task rather than relying on a single tool.');
157
+ reasons.push(`narrow tool usage (${uniqueTools.size} unique tools, diversity ${(toolDiversity * 100).toFixed(0)}%)`);
158
+ }
159
+ // Rule 3: Weak task types → add targeted instructions
160
+ if (weakTaskTypes.length > 0) {
161
+ const taskInstructions = weakTaskTypes.map(wt => {
162
+ switch (wt.taskType) {
163
+ case 'debug':
164
+ return 'For debugging: read error messages carefully, check recent git changes, ' +
165
+ 'reproduce the issue before attempting fixes, and verify the fix works.';
166
+ case 'build':
167
+ return 'For building/creating: plan the file structure first, write complete files ' +
168
+ '(not partial snippets), and run the build to verify.';
169
+ case 'refactor':
170
+ return 'For refactoring: understand all callers of the code being changed, ' +
171
+ 'make incremental changes, and verify each step compiles.';
172
+ case 'test':
173
+ return 'For testing: cover both happy paths and edge cases, mock external dependencies, ' +
174
+ 'and ensure tests actually assert meaningful behavior.';
175
+ case 'deploy':
176
+ return 'For deployment: check all prerequisites first, verify environment configuration, ' +
177
+ 'and always do a dry-run or build before the actual deploy.';
178
+ case 'explain':
179
+ return 'For explanations: lead with a clear, direct answer. Then provide supporting ' +
180
+ 'details. Use code examples where relevant. Keep it scannable.';
181
+ case 'review':
182
+ return 'For reviews: check for security issues, performance concerns, and code style. ' +
183
+ 'Provide specific line-level feedback, not just general comments.';
184
+ default:
185
+ return `For ${wt.taskType} tasks: pay extra attention to accuracy and completeness. ` +
186
+ 'Verify your work before presenting results.';
187
+ }
188
+ });
189
+ amendments.push(taskInstructions.join('\n'));
190
+ reasons.push(`weak on: ${weakTaskTypes.map(wt => `${wt.taskType} (${(wt.avgScore * 100).toFixed(0)}%)`).join(', ')}`);
191
+ }
192
+ // Rule 4: Responses too long → add conciseness
193
+ if (avgLength > 3000) {
194
+ amendments.push('Keep responses concise and focused. Lead with the answer or action, ' +
195
+ 'then add explanation only if needed. Avoid repeating the question or restating the problem. ' +
196
+ 'For code changes, show only the relevant diff, not the entire file.');
197
+ reasons.push(`verbose responses (avg ${Math.round(avgLength)} chars)`);
198
+ }
199
+ // Rule 5: Missing the question → add "answer first" instruction
200
+ if (lowRelevancyRate > 0.3) {
201
+ amendments.push('CRITICAL: Answer the actual question first. Do not go on tangents or provide ' +
202
+ 'unsolicited information. If the user asks a yes/no question, start with yes or no. ' +
203
+ 'If they ask for a specific thing, provide that specific thing before anything else.');
204
+ reasons.push(`high off-topic rate (${(lowRelevancyRate * 100).toFixed(0)}% of responses scored < 0.4)`);
205
+ }
206
+ // If no issues detected, no mutation needed
207
+ if (amendments.length === 0)
208
+ return null;
209
+ // Build the combined amendment
210
+ const mutatedText = `\n\n[Evolved Instructions — Generation ${state.generation + 1}]\n` +
211
+ amendments.join('\n\n');
212
+ const mutation = {
213
+ agent,
214
+ original: lastMutation?.mutated || '',
215
+ mutated: mutatedText,
216
+ reason: reasons.join('; '),
217
+ appliedAt: new Date().toISOString(),
218
+ scoreBefore: avgScore,
219
+ scoreAfter: 0, // filled in after next evolution cycle
220
+ };
221
+ // Store the mutation
222
+ state.mutations.push(mutation);
223
+ if (state.mutations.length > MAX_MUTATIONS) {
224
+ state.mutations = state.mutations.slice(-MAX_MUTATIONS);
225
+ }
226
+ state.generation++;
227
+ persist();
228
+ return mutation;
229
+ }
230
+ /**
231
+ * Get the current active prompt amendment for an agent.
232
+ * Called before prompt assembly to inject evolved instructions.
233
+ * Returns empty string if no active mutation exists.
234
+ */
235
+ export function getPromptAmendment(agent) {
236
+ const state = getState();
237
+ // Find the most recent mutation for this agent
238
+ const latestMutation = [...state.mutations]
239
+ .reverse()
240
+ .find(m => m.agent === agent);
241
+ if (!latestMutation)
242
+ return '';
243
+ return latestMutation.mutated;
244
+ }
245
+ /**
246
+ * Rollback the most recent mutation for an agent if it made things worse.
247
+ * Compares scoreAfter vs scoreBefore — if worse, removes the mutation.
248
+ *
249
+ * Call this after updating scoreAfter from the latest trace batch.
250
+ * Returns true if a rollback was performed.
251
+ */
252
+ export function rollbackMutation(agent) {
253
+ const state = getState();
254
+ // Find the most recent mutation for this agent
255
+ const mutationIndex = state.mutations.length - 1 -
256
+ [...state.mutations].reverse().findIndex(m => m.agent === agent);
257
+ if (mutationIndex < 0 || mutationIndex >= state.mutations.length)
258
+ return false;
259
+ const mutation = state.mutations[mutationIndex];
260
+ // Only rollback if we have scoreAfter data and it's worse
261
+ if (mutation.scoreAfter > 0 && mutation.scoreAfter < mutation.scoreBefore) {
262
+ state.mutations.splice(mutationIndex, 1);
263
+ persist();
264
+ return true;
265
+ }
266
+ return false;
267
+ }
268
+ /**
269
+ * Update the scoreAfter for the most recent mutation of an agent.
270
+ * Called when enough post-mutation traces are available.
271
+ */
272
+ export function updateMutationScore(agent) {
273
+ const state = getState();
274
+ const latestMutation = [...state.mutations]
275
+ .reverse()
276
+ .find(m => m.agent === agent);
277
+ if (!latestMutation || latestMutation.scoreAfter > 0)
278
+ return;
279
+ const mutationTime = new Date(latestMutation.appliedAt).getTime();
280
+ const postTraces = state.traces.filter(t => t.agent === agent && new Date(t.timestamp).getTime() > mutationTime);
281
+ // Need at least 10 post-mutation traces to evaluate
282
+ if (postTraces.length < 10)
283
+ return;
284
+ const avgScoreAfter = postTraces.reduce((sum, t) => sum + t.evalScore, 0) / postTraces.length;
285
+ latestMutation.scoreAfter = Math.round(avgScoreAfter * 1000) / 1000;
286
+ persist();
287
+ // Auto-rollback if mutation made things worse
288
+ if (latestMutation.scoreAfter < latestMutation.scoreBefore * 0.9) {
289
+ // Score dropped by more than 10% — rollback
290
+ rollbackMutation(agent);
291
+ }
292
+ }
293
+ /**
294
+ * Get evolution statistics — how prompts have evolved over time.
295
+ */
296
+ export function getEvolutionStats() {
297
+ const state = getState();
298
+ // Build per-agent stats
299
+ const agentStats = {};
300
+ // Group traces by agent
301
+ const agentTraces = {};
302
+ for (const trace of state.traces) {
303
+ if (!agentTraces[trace.agent])
304
+ agentTraces[trace.agent] = [];
305
+ agentTraces[trace.agent].push(trace);
306
+ }
307
+ // Group mutations by agent
308
+ const agentMutations = {};
309
+ for (const mutation of state.mutations) {
310
+ if (!agentMutations[mutation.agent])
311
+ agentMutations[mutation.agent] = [];
312
+ agentMutations[mutation.agent].push(mutation);
313
+ }
314
+ // Combine into stats
315
+ const allAgents = new Set([
316
+ ...Object.keys(agentTraces),
317
+ ...Object.keys(agentMutations),
318
+ ]);
319
+ for (const agent of allAgents) {
320
+ const traces = agentTraces[agent] || [];
321
+ const mutations = agentMutations[agent] || [];
322
+ const latestMutation = mutations.length > 0 ? mutations[mutations.length - 1] : null;
323
+ agentStats[agent] = {
324
+ traces: traces.length,
325
+ avgScore: traces.length > 0
326
+ ? Math.round((traces.reduce((s, t) => s + t.evalScore, 0) / traces.length) * 1000) / 1000
327
+ : 0,
328
+ successRate: traces.length > 0
329
+ ? Math.round((traces.filter(t => t.success).length / traces.length) * 1000) / 1000
330
+ : 0,
331
+ activeMutation: !!latestMutation,
332
+ mutationCount: mutations.length,
333
+ lastEvolved: latestMutation?.appliedAt || null,
334
+ };
335
+ }
336
+ return {
337
+ generation: state.generation,
338
+ totalTraces: state.traces.length,
339
+ totalMutations: state.mutations.length,
340
+ agentStats,
341
+ };
342
+ }
343
+ /**
344
+ * Reset all evolution data for a specific agent (or all agents).
345
+ * Useful for debugging or when a major prompt rewrite happens.
346
+ */
347
+ export function resetEvolution(agent) {
348
+ const state = getState();
349
+ if (agent) {
350
+ state.traces = state.traces.filter(t => t.agent !== agent);
351
+ state.mutations = state.mutations.filter(m => m.agent !== agent);
352
+ }
353
+ else {
354
+ state.traces = [];
355
+ state.mutations = [];
356
+ state.generation = 0;
357
+ }
358
+ persist();
359
+ }
360
+ /**
361
+ * Flush pending state to disk. Call on process exit.
362
+ */
363
+ export function flushEvolutionState() {
364
+ if (_state) {
365
+ try {
366
+ saveState(_state);
367
+ }
368
+ catch { /* best-effort */ }
369
+ }
370
+ }
371
+ //# sourceMappingURL=prompt-evolution.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt-evolution.js","sourceRoot":"","sources":["../src/prompt-evolution.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,EAAE;AACF,qFAAqF;AACrF,oFAAoF;AACpF,sEAAsE;AACtE,EAAE;AACF,gFAAgF;AAChF,gFAAgF;AAChF,yDAAyD;AACzD,gEAAgE;AAChE,gEAAgE;AAChE,EAAE;AACF,gDAAgD;AAEhD,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AA8B5E,gBAAgB;AAEhB,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAA;AACrD,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,EAAE,uBAAuB,CAAC,CAAA;AAEhE,MAAM,UAAU,GAAG,GAAG,CAAA;AACtB,MAAM,aAAa,GAAG,EAAE,CAAA;AACxB,MAAM,mBAAmB,GAAG,EAAE,CAAA,CAAE,6CAA6C;AAE7E,SAAS,SAAS;IAChB,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;QAAE,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;AACzE,CAAC;AAED,SAAS,SAAS;IAChB,SAAS,EAAE,CAAA;IACX,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;QAChC,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,CAAA;IACrD,CAAC;IACD,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC,CAAA;IAC1D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,CAAA;IACrD,CAAC;AACH,CAAC;AAED,SAAS,SAAS,CAAC,KAA2B;IAC5C,SAAS,EAAE,CAAA;IACX,IAAI,CAAC;QACH,aAAa,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;IAC/D,CAAC;IAAC,MAAM,CAAC,CAAC,6DAA6D,CAAC,CAAC;AAC3E,CAAC;AAED,oCAAoC;AAEpC,IAAI,MAAM,GAAgC,IAAI,CAAA;AAE9C,SAAS,QAAQ;IACf,IAAI,CAAC,MAAM;QAAE,MAAM,GAAG,SAAS,EAAE,CAAA;IACjC,OAAO,MAAM,CAAA;AACf,CAAC;AAED,SAAS,OAAO;IACd,IAAI,MAAM;QAAE,SAAS,CAAC,MAAM,CAAC,CAAA;AAC/B,CAAC;AAED,iBAAiB;AAEjB;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,KAAkB;IAC5C,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAA;IACxB,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAExB,yCAAyC;IACzC,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,UAAU,EAAE,CAAC;QACrC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,CAAA;IAChD,CAAC;IAED,OAAO,EAAE,CAAA;AACX,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,KAAa;IACxC,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAA;IAExB,iDAAiD;IACjD,MAAM,YAAY,GAAG,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC;SACtC,OAAO,EAAE;SACT,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,CAAA;IAE/B,MAAM,gBAAgB,GAAG,YAAY;QACnC,CAAC,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE;QAC5C,CAAC,CAAC,CAAC,CAAA;IAEL,kDAAkD;IAClD,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAC3C,CAAC,CAAC,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,GAAG,gBAAgB,CACxE,CAAA;IAED,OAAO,YAAY,CAAC,MAAM,IAAI,mBAAmB,CAAA;AACnD,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,YAAY,CAAC,KAAa;IACxC,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAA;IAExB,4DAA4D;IAC5D,MAAM,YAAY,GAAG,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC;SACtC,OAAO,EAAE;SACT,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,CAAA;IAE/B,MAAM,gBAAgB,GAAG,YAAY;QACnC,CAAC,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE;QAC5C,CAAC,CAAC,CAAC,CAAA;IAEL,qCAAqC;IACrC,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAC3C,CAAC,CAAC,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,GAAG,gBAAgB,CACxE,CAAA;IAED,IAAI,YAAY,CAAC,MAAM,GAAG,mBAAmB;QAAE,OAAO,IAAI,CAAA;IAE1D,+BAA+B;IAE/B,MAAM,WAAW,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,YAAY,CAAC,MAAM,CAAA;IACpF,MAAM,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,GAAG,YAAY,CAAC,MAAM,CAAA;IAC5F,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,GAAG,YAAY,CAAC,MAAM,CAAA;IAEjG,8DAA8D;IAC9D,MAAM,YAAY,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;IAC3D,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,CAAA;IACzC,MAAM,aAAa,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC;QAC3C,CAAC,CAAC,WAAW,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,2BAA2B;QAClF,CAAC,CAAC,CAAC,CAAA;IAEL,uBAAuB;IACvB,MAAM,cAAc,GAAqD,EAAE,CAAA;IAC3E,KAAK,MAAM,KAAK,IAAI,YAAY,EAAE,CAAC;QACjC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;YACpC,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAA;QACzD,CAAC;QACD,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC,SAAS,CAAA;QACvD,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,CAAA;IACxC,CAAC;IAED,qEAAqE;IACrE,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC;SACjD,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC;SAC5D,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;IAEtE,2FAA2F;IAC3F,MAAM,gBAAgB,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,MAAM,GAAG,YAAY,CAAC,MAAM,CAAA;IAEjG,qCAAqC;IACrC,yDAAyD;IAEzD,MAAM,UAAU,GAAa,EAAE,CAAA;IAC/B,MAAM,OAAO,GAAa,EAAE,CAAA;IAE5B,uDAAuD;IACvD,IAAI,WAAW,GAAG,GAAG,EAAE,CAAC;QACtB,UAAU,CAAC,IAAI,CACb,wEAAwE;YACxE,iGAAiG;YACjG,kFAAkF,CACnF,CAAA;QACD,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC,WAAW,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;IACvE,CAAC;IAED,oDAAoD;IACpD,IAAI,aAAa,GAAG,IAAI,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpD,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC/D,UAAU,CAAC,IAAI,CACb,uCAAuC,GAAG,QAAQ,GAAG,IAAI;YACzD,8EAA8E;YAC9E,4EAA4E;YAC5E,4EAA4E,CAC7E,CAAA;QACD,OAAO,CAAC,IAAI,CAAC,sBAAsB,WAAW,CAAC,IAAI,4BAA4B,CAAC,aAAa,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;IACtH,CAAC;IAED,sDAAsD;IACtD,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,MAAM,gBAAgB,GAAG,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;YAC9C,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC;gBACpB,KAAK,OAAO;oBACV,OAAO,0EAA0E;wBAC/E,wEAAwE,CAAA;gBAC5E,KAAK,OAAO;oBACV,OAAO,6EAA6E;wBAClF,sDAAsD,CAAA;gBAC1D,KAAK,UAAU;oBACb,OAAO,qEAAqE;wBAC1E,0DAA0D,CAAA;gBAC9D,KAAK,MAAM;oBACT,OAAO,kFAAkF;wBACvF,uDAAuD,CAAA;gBAC3D,KAAK,QAAQ;oBACX,OAAO,mFAAmF;wBACxF,4DAA4D,CAAA;gBAChE,KAAK,SAAS;oBACZ,OAAO,8EAA8E;wBACnF,+DAA+D,CAAA;gBACnE,KAAK,QAAQ;oBACX,OAAO,gFAAgF;wBACrF,kEAAkE,CAAA;gBACtE;oBACE,OAAO,OAAO,EAAE,CAAC,QAAQ,4DAA4D;wBACnF,6CAA6C,CAAA;YACnD,CAAC;QACH,CAAC,CAAC,CAAA;QACF,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;QAC5C,OAAO,CAAC,IAAI,CAAC,YAAY,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACvH,CAAC;IAED,+CAA+C;IAC/C,IAAI,SAAS,GAAG,IAAI,EAAE,CAAC;QACrB,UAAU,CAAC,IAAI,CACb,sEAAsE;YACtE,8FAA8F;YAC9F,qEAAqE,CACtE,CAAA;QACD,OAAO,CAAC,IAAI,CAAC,0BAA0B,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;IACxE,CAAC;IAED,gEAAgE;IAChE,IAAI,gBAAgB,GAAG,GAAG,EAAE,CAAC;QAC3B,UAAU,CAAC,IAAI,CACb,+EAA+E;YAC/E,qFAAqF;YACrF,qFAAqF,CACtF,CAAA;QACD,OAAO,CAAC,IAAI,CAAC,wBAAwB,CAAC,gBAAgB,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAA;IACzG,CAAC;IAED,4CAA4C;IAC5C,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAA;IAExC,+BAA+B;IAC/B,MAAM,WAAW,GAAG,0CAA0C,KAAK,CAAC,UAAU,GAAG,CAAC,KAAK;QACrF,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAEzB,MAAM,QAAQ,GAAmB;QAC/B,KAAK;QACL,QAAQ,EAAE,YAAY,EAAE,OAAO,IAAI,EAAE;QACrC,OAAO,EAAE,WAAW;QACpB,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;QAC1B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,WAAW,EAAE,QAAQ;QACrB,UAAU,EAAE,CAAC,EAAE,uCAAuC;KACvD,CAAA;IAED,qBAAqB;IACrB,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IAC9B,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,aAAa,EAAE,CAAC;QAC3C,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,CAAA;IACzD,CAAC;IAED,KAAK,CAAC,UAAU,EAAE,CAAA;IAClB,OAAO,EAAE,CAAA;IAET,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAa;IAC9C,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAA;IAExB,+CAA+C;IAC/C,MAAM,cAAc,GAAG,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC;SACxC,OAAO,EAAE;SACT,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,CAAA;IAE/B,IAAI,CAAC,cAAc;QAAE,OAAO,EAAE,CAAA;IAE9B,OAAO,cAAc,CAAC,OAAO,CAAA;AAC/B,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAa;IAC5C,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAA;IAExB,+CAA+C;IAC/C,MAAM,aAAa,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;QAC9C,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,CAAA;IAElE,IAAI,aAAa,GAAG,CAAC,IAAI,aAAa,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM;QAAE,OAAO,KAAK,CAAA;IAE9E,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAS,CAAC,aAAa,CAAC,CAAA;IAE/C,0DAA0D;IAC1D,IAAI,QAAQ,CAAC,UAAU,GAAG,CAAC,IAAI,QAAQ,CAAC,UAAU,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;QAC1E,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,CAAA;QACxC,OAAO,EAAE,CAAA;QACT,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO,KAAK,CAAA;AACd,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAa;IAC/C,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAA;IAExB,MAAM,cAAc,GAAG,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC;SACxC,OAAO,EAAE;SACT,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,CAAA;IAE/B,IAAI,CAAC,cAAc,IAAI,cAAc,CAAC,UAAU,GAAG,CAAC;QAAE,OAAM;IAE5D,MAAM,YAAY,GAAG,IAAI,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAA;IACjE,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CACzC,CAAC,CAAC,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,GAAG,YAAY,CACpE,CAAA;IAED,oDAAoD;IACpD,IAAI,UAAU,CAAC,MAAM,GAAG,EAAE;QAAE,OAAM;IAElC,MAAM,aAAa,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,GAAG,UAAU,CAAC,MAAM,CAAA;IAC7F,cAAc,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,IAAI,CAAA;IAEnE,OAAO,EAAE,CAAA;IAET,8CAA8C;IAC9C,IAAI,cAAc,CAAC,UAAU,GAAG,cAAc,CAAC,WAAW,GAAG,GAAG,EAAE,CAAC;QACjE,4CAA4C;QAC5C,gBAAgB,CAAC,KAAK,CAAC,CAAA;IACzB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB;IAa/B,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAA;IAExB,wBAAwB;IACxB,MAAM,UAAU,GAOX,EAAE,CAAA;IAEP,wBAAwB;IACxB,MAAM,WAAW,GAAkC,EAAE,CAAA;IACrD,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QACjC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC;YAAE,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,CAAA;QAC5D,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACtC,CAAC;IAED,2BAA2B;IAC3B,MAAM,cAAc,GAAqC,EAAE,CAAA;IAC3D,KAAK,MAAM,QAAQ,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;QACvC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,CAAA;QACxE,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IAC/C,CAAC;IAED,qBAAqB;IACrB,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC;QACxB,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;QAC3B,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC;KAC/B,CAAC,CAAA;IAEF,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,CAAA;QACvC,MAAM,SAAS,GAAG,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,CAAA;QAC7C,MAAM,cAAc,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;QAEpF,UAAU,CAAC,KAAK,CAAC,GAAG;YAClB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,QAAQ,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC;gBACzB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI;gBACzF,CAAC,CAAC,CAAC;YACL,WAAW,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC;gBAC5B,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI;gBAClF,CAAC,CAAC,CAAC;YACL,cAAc,EAAE,CAAC,CAAC,cAAc;YAChC,aAAa,EAAE,SAAS,CAAC,MAAM;YAC/B,WAAW,EAAE,cAAc,EAAE,SAAS,IAAI,IAAI;SAC/C,CAAA;IACH,CAAC;IAED,OAAO;QACL,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM;QAChC,cAAc,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM;QACtC,UAAU;KACX,CAAA;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,KAAc;IAC3C,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAA;IAExB,IAAI,KAAK,EAAE,CAAC;QACV,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,CAAA;QAC1D,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,CAAA;IAClE,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,MAAM,GAAG,EAAE,CAAA;QACjB,KAAK,CAAC,SAAS,GAAG,EAAE,CAAA;QACpB,KAAK,CAAC,UAAU,GAAG,CAAC,CAAA;IACtB,CAAC;IAED,OAAO,EAAE,CAAA;AACX,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB;IACjC,IAAI,MAAM,EAAE,CAAC;QACX,IAAI,CAAC;YACH,SAAS,CAAC,MAAM,CAAC,CAAA;QACnB,CAAC;QAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;IAC/B,CAAC;AACH,CAAC"}
@@ -0,0 +1,33 @@
1
+ export interface Perspective {
2
+ agent: string;
3
+ critique: string;
4
+ }
5
+ export interface Reflection {
6
+ id: string;
7
+ taskMessage: string;
8
+ failureType: 'low_score' | 'error_correction' | 'user_rejection';
9
+ perspectives: Perspective[];
10
+ synthesis: string;
11
+ lesson: string;
12
+ created: string;
13
+ }
14
+ /**
15
+ * Generate reflections from 5 key specialist perspectives.
16
+ * All heuristic-based — no LLM calls.
17
+ */
18
+ export declare function generateReflections(message: string, response: string, failureType: 'low_score' | 'error_correction' | 'user_rejection'): Reflection;
19
+ /**
20
+ * Retrieve past reflections relevant to a given message.
21
+ * Uses keyword overlap to find similar past failures.
22
+ */
23
+ export declare function getRelevantReflections(message: string, max?: number): Reflection[];
24
+ /**
25
+ * Format reflections for injection into the system prompt.
26
+ * Returns an empty string if no reflections exist.
27
+ */
28
+ export declare function formatReflectionsForPrompt(reflections: Reflection[]): string;
29
+ /**
30
+ * Detect if a user message indicates rejection of the previous response.
31
+ */
32
+ export declare function isUserRejection(message: string): boolean;
33
+ //# sourceMappingURL=reflection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reflection.d.ts","sourceRoot":"","sources":["../src/reflection.ts"],"names":[],"mappings":"AAkBA,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAA;IACV,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,WAAW,GAAG,kBAAkB,GAAG,gBAAgB,CAAA;IAChE,YAAY,EAAE,WAAW,EAAE,CAAA;IAC3B,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;CAChB;AAiPD;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,WAAW,GAAG,kBAAkB,GAAG,gBAAgB,GAC/D,UAAU,CA4BZ;AA2BD;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,GAAE,MAAU,GAAG,UAAU,EAAE,CAmCrF;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,MAAM,CAS5E;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAiCxD"}