erosolar-cli 1.7.372 → 1.7.377

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 (97) hide show
  1. package/dist/capabilities/agentSpawningCapability.d.ts.map +1 -1
  2. package/dist/capabilities/agentSpawningCapability.js +29 -1
  3. package/dist/capabilities/agentSpawningCapability.js.map +1 -1
  4. package/dist/contracts/agent-schemas.json +100 -0
  5. package/dist/core/alphaZeroEngine.d.ts +269 -0
  6. package/dist/core/alphaZeroEngine.d.ts.map +1 -0
  7. package/dist/core/alphaZeroEngine.js +523 -0
  8. package/dist/core/alphaZeroEngine.js.map +1 -0
  9. package/dist/core/alphaZeroOrchestrator.d.ts +140 -0
  10. package/dist/core/alphaZeroOrchestrator.d.ts.map +1 -0
  11. package/dist/core/alphaZeroOrchestrator.js +418 -0
  12. package/dist/core/alphaZeroOrchestrator.js.map +1 -0
  13. package/dist/core/checkpoint.d.ts +76 -0
  14. package/dist/core/checkpoint.d.ts.map +1 -0
  15. package/dist/core/checkpoint.js +278 -0
  16. package/dist/core/checkpoint.js.map +1 -0
  17. package/dist/core/claudeCodeFeatures.d.ts +64 -0
  18. package/dist/core/claudeCodeFeatures.d.ts.map +1 -0
  19. package/dist/core/claudeCodeFeatures.js +163 -0
  20. package/dist/core/claudeCodeFeatures.js.map +1 -0
  21. package/dist/core/costTracker.d.ts +87 -0
  22. package/dist/core/costTracker.d.ts.map +1 -0
  23. package/dist/core/costTracker.js +285 -0
  24. package/dist/core/costTracker.js.map +1 -0
  25. package/dist/core/failureRecovery.d.ts +122 -0
  26. package/dist/core/failureRecovery.d.ts.map +1 -0
  27. package/dist/core/failureRecovery.js +477 -0
  28. package/dist/core/failureRecovery.js.map +1 -0
  29. package/dist/core/learningPersistence.d.ts +145 -0
  30. package/dist/core/learningPersistence.d.ts.map +1 -0
  31. package/dist/core/learningPersistence.js +477 -0
  32. package/dist/core/learningPersistence.js.map +1 -0
  33. package/dist/core/memorySystem.d.ts +67 -0
  34. package/dist/core/memorySystem.d.ts.map +1 -0
  35. package/dist/core/memorySystem.js +334 -0
  36. package/dist/core/memorySystem.js.map +1 -0
  37. package/dist/core/metricsTracker.d.ts +35 -0
  38. package/dist/core/metricsTracker.d.ts.map +1 -1
  39. package/dist/core/metricsTracker.js +67 -0
  40. package/dist/core/metricsTracker.js.map +1 -1
  41. package/dist/core/outputStyles.d.ts +48 -0
  42. package/dist/core/outputStyles.d.ts.map +1 -0
  43. package/dist/core/outputStyles.js +270 -0
  44. package/dist/core/outputStyles.js.map +1 -0
  45. package/dist/core/selfEvolution.d.ts +155 -0
  46. package/dist/core/selfEvolution.d.ts.map +1 -0
  47. package/dist/core/selfEvolution.js +1000 -0
  48. package/dist/core/selfEvolution.js.map +1 -0
  49. package/dist/core/selfImprovement.d.ts +141 -0
  50. package/dist/core/selfImprovement.d.ts.map +1 -0
  51. package/dist/core/selfImprovement.js +700 -0
  52. package/dist/core/selfImprovement.js.map +1 -0
  53. package/dist/core/updateManager.d.ts +62 -0
  54. package/dist/core/updateManager.d.ts.map +1 -0
  55. package/dist/core/updateManager.js +266 -0
  56. package/dist/core/updateManager.js.map +1 -0
  57. package/dist/shell/interactiveShell.d.ts +45 -0
  58. package/dist/shell/interactiveShell.d.ts.map +1 -1
  59. package/dist/shell/interactiveShell.js +1157 -4
  60. package/dist/shell/interactiveShell.js.map +1 -1
  61. package/dist/shell/keyboardShortcuts.d.ts +53 -0
  62. package/dist/shell/keyboardShortcuts.d.ts.map +1 -0
  63. package/dist/shell/keyboardShortcuts.js +163 -0
  64. package/dist/shell/keyboardShortcuts.js.map +1 -0
  65. package/dist/shell/terminalInput.d.ts +1 -1
  66. package/dist/shell/terminalInput.d.ts.map +1 -1
  67. package/dist/shell/terminalInput.js +8 -4
  68. package/dist/shell/terminalInput.js.map +1 -1
  69. package/dist/shell/vimMode.d.ts +66 -0
  70. package/dist/shell/vimMode.d.ts.map +1 -0
  71. package/dist/shell/vimMode.js +434 -0
  72. package/dist/shell/vimMode.js.map +1 -0
  73. package/dist/subagents/parallelAgentManager.d.ts +99 -0
  74. package/dist/subagents/parallelAgentManager.d.ts.map +1 -0
  75. package/dist/subagents/parallelAgentManager.js +249 -0
  76. package/dist/subagents/parallelAgentManager.js.map +1 -0
  77. package/dist/subagents/taskRunner.d.ts +6 -1
  78. package/dist/subagents/taskRunner.d.ts.map +1 -1
  79. package/dist/subagents/taskRunner.js +57 -2
  80. package/dist/subagents/taskRunner.js.map +1 -1
  81. package/dist/tools/planningTools.d.ts +9 -0
  82. package/dist/tools/planningTools.d.ts.map +1 -1
  83. package/dist/tools/planningTools.js +90 -0
  84. package/dist/tools/planningTools.js.map +1 -1
  85. package/dist/ui/ShellUIAdapter.d.ts +11 -1
  86. package/dist/ui/ShellUIAdapter.d.ts.map +1 -1
  87. package/dist/ui/ShellUIAdapter.js +73 -9
  88. package/dist/ui/ShellUIAdapter.js.map +1 -1
  89. package/dist/ui/display.d.ts +5 -0
  90. package/dist/ui/display.d.ts.map +1 -1
  91. package/dist/ui/display.js +14 -0
  92. package/dist/ui/display.js.map +1 -1
  93. package/dist/ui/shortcutsHelp.d.ts +11 -0
  94. package/dist/ui/shortcutsHelp.d.ts.map +1 -1
  95. package/dist/ui/shortcutsHelp.js +59 -3
  96. package/dist/ui/shortcutsHelp.js.map +1 -1
  97. package/package.json +1 -1
@@ -0,0 +1,523 @@
1
+ /**
2
+ * AlphaZero-Style Dual Agent Engine
3
+ *
4
+ * Implements self-play concepts for code generation:
5
+ * 1. Dual Response Generation - Generate 2 responses, pick the best
6
+ * 2. Self-Critique Loop - Critique and improve responses
7
+ * 3. Solution Quality Scoring - Multi-dimensional evaluation
8
+ * 4. Tool Pattern Learning - Learn optimal tool sequences
9
+ *
10
+ * Principal Investigator: Bo Shang
11
+ */
12
+ export const DEFAULT_DUAL_CONFIG = {
13
+ enabled: true,
14
+ temperatureA: 0.3, // Conservative
15
+ temperatureB: 0.7, // Creative
16
+ minQualityDifference: 0.1,
17
+ timeoutMs: 60000,
18
+ };
19
+ /**
20
+ * Generates evaluation prompt for comparing two responses
21
+ */
22
+ export function buildEvaluationPrompt(userQuery, responseA, responseB) {
23
+ return `You are an expert code reviewer evaluating two AI assistant responses.
24
+
25
+ USER QUERY:
26
+ ${userQuery}
27
+
28
+ RESPONSE A:
29
+ ---
30
+ ${responseA.slice(0, 4000)}
31
+ ---
32
+
33
+ RESPONSE B:
34
+ ---
35
+ ${responseB.slice(0, 4000)}
36
+ ---
37
+
38
+ Evaluate both responses on these dimensions (0-100 each):
39
+ 1. Correctness - Is the solution correct and bug-free?
40
+ 2. Completeness - Does it fully address the user's request?
41
+ 3. Efficiency - Is the code/approach efficient?
42
+ 4. Code Quality - Is the code clean, readable, well-structured?
43
+ 5. Tool Usage - Are tools used appropriately and effectively?
44
+
45
+ Return JSON only:
46
+ {
47
+ "winner": "A" | "B" | "tie",
48
+ "scores": {
49
+ "correctness": { "a": 0-100, "b": 0-100 },
50
+ "completeness": { "a": 0-100, "b": 0-100 },
51
+ "efficiency": { "a": 0-100, "b": 0-100 },
52
+ "codeQuality": { "a": 0-100, "b": 0-100 },
53
+ "toolUsage": { "a": 0-100, "b": 0-100 }
54
+ },
55
+ "reasoning": "brief explanation",
56
+ "confidence": 0-100
57
+ }`;
58
+ }
59
+ /**
60
+ * Parse evaluation response from LLM
61
+ */
62
+ export function parseEvaluationResponse(response) {
63
+ try {
64
+ const match = response.match(/\{[\s\S]*\}/);
65
+ if (!match)
66
+ return null;
67
+ const parsed = JSON.parse(match[0]);
68
+ const qualityA = (parsed.scores.correctness.a +
69
+ parsed.scores.completeness.a +
70
+ parsed.scores.efficiency.a +
71
+ parsed.scores.codeQuality.a +
72
+ parsed.scores.toolUsage.a) / 5;
73
+ const qualityB = (parsed.scores.correctness.b +
74
+ parsed.scores.completeness.b +
75
+ parsed.scores.efficiency.b +
76
+ parsed.scores.codeQuality.b +
77
+ parsed.scores.toolUsage.b) / 5;
78
+ return {
79
+ qualityScoreA: qualityA,
80
+ qualityScoreB: qualityB,
81
+ dimensions: {
82
+ correctness: parsed.scores.correctness,
83
+ completeness: parsed.scores.completeness,
84
+ efficiency: parsed.scores.efficiency,
85
+ codeQuality: parsed.scores.codeQuality,
86
+ toolUsage: parsed.scores.toolUsage,
87
+ },
88
+ reasoning: parsed.reasoning,
89
+ confidence: parsed.confidence,
90
+ };
91
+ }
92
+ catch {
93
+ return null;
94
+ }
95
+ }
96
+ // ============================================================================
97
+ // SELF-CRITIQUE ENGINE
98
+ // ============================================================================
99
+ /**
100
+ * Generates self-critique prompt
101
+ */
102
+ export function buildCritiquePrompt(userQuery, response, toolCalls) {
103
+ const toolSummary = toolCalls.length > 0
104
+ ? toolCalls.map(t => `- ${t.name}: ${t.success ? 'success' : 'failed'}`).join('\n')
105
+ : 'No tools used';
106
+ return `You are a critical code reviewer. Analyze this AI assistant response for issues.
107
+
108
+ USER QUERY:
109
+ ${userQuery}
110
+
111
+ RESPONSE:
112
+ ---
113
+ ${response.slice(0, 6000)}
114
+ ---
115
+
116
+ TOOLS USED:
117
+ ${toolSummary}
118
+
119
+ Find issues in these categories:
120
+ - correctness: bugs, logic errors, wrong approaches
121
+ - completeness: missing features, partial solutions
122
+ - efficiency: performance issues, unnecessary operations
123
+ - style: code style, readability problems
124
+ - security: potential vulnerabilities
125
+
126
+ Return JSON only:
127
+ {
128
+ "issues": [
129
+ {
130
+ "category": "correctness|completeness|efficiency|style|security",
131
+ "severity": "critical|major|minor",
132
+ "description": "what's wrong",
133
+ "suggestion": "how to fix",
134
+ "location": "where in code (if applicable)"
135
+ }
136
+ ],
137
+ "overallQuality": 0-100,
138
+ "needsImprovement": true|false,
139
+ "improvementPriority": ["issue indices in order of importance"]
140
+ }`;
141
+ }
142
+ /**
143
+ * Parse critique response
144
+ */
145
+ export function parseCritiqueResponse(response) {
146
+ try {
147
+ const match = response.match(/\{[\s\S]*\}/);
148
+ if (!match)
149
+ return [];
150
+ const parsed = JSON.parse(match[0]);
151
+ return parsed.issues || [];
152
+ }
153
+ catch {
154
+ return [];
155
+ }
156
+ }
157
+ /**
158
+ * Build improvement prompt based on critique
159
+ */
160
+ export function buildImprovementPrompt(userQuery, originalResponse, issues) {
161
+ const issueList = issues
162
+ .map((i, idx) => `${idx + 1}. [${i.severity.toUpperCase()}] ${i.category}: ${i.description}${i.suggestion ? ` → ${i.suggestion}` : ''}`)
163
+ .join('\n');
164
+ return `Improve your previous response by fixing these issues:
165
+
166
+ ORIGINAL QUERY:
167
+ ${userQuery}
168
+
169
+ ISSUES FOUND:
170
+ ${issueList}
171
+
172
+ ORIGINAL RESPONSE:
173
+ ---
174
+ ${originalResponse.slice(0, 4000)}
175
+ ---
176
+
177
+ Generate an improved response that addresses ALL issues listed above.
178
+ Focus especially on critical and major issues.
179
+ Maintain what was good about the original response.`;
180
+ }
181
+ // ============================================================================
182
+ // TOOL PATTERN LEARNING
183
+ // ============================================================================
184
+ /**
185
+ * Tool pattern tracker for learning optimal sequences
186
+ */
187
+ export class ToolPatternTracker {
188
+ patterns = new Map();
189
+ currentSequence = [];
190
+ currentTaskType = 'general';
191
+ sequenceStartTime = 0;
192
+ /**
193
+ * Start tracking a new task
194
+ */
195
+ startTask(taskType) {
196
+ this.currentTaskType = taskType;
197
+ this.currentSequence = [];
198
+ this.sequenceStartTime = Date.now();
199
+ }
200
+ /**
201
+ * Record a tool use
202
+ */
203
+ recordToolUse(toolName, success) {
204
+ this.currentSequence.push(toolName);
205
+ }
206
+ /**
207
+ * Complete the current task and record the pattern
208
+ */
209
+ completeTask(success) {
210
+ if (this.currentSequence.length === 0)
211
+ return;
212
+ const duration = Date.now() - this.sequenceStartTime;
213
+ const patternKey = this.currentSequence.join('→');
214
+ let patterns = this.patterns.get(this.currentTaskType);
215
+ if (!patterns) {
216
+ patterns = [];
217
+ this.patterns.set(this.currentTaskType, patterns);
218
+ }
219
+ // Find existing pattern or create new
220
+ let existing = patterns.find(p => p.toolSequence.join('→') === patternKey);
221
+ if (existing) {
222
+ // Update statistics
223
+ existing.occurrences++;
224
+ existing.successRate = (existing.successRate * (existing.occurrences - 1) + (success ? 1 : 0)) / existing.occurrences;
225
+ existing.avgDuration = (existing.avgDuration * (existing.occurrences - 1) + duration) / existing.occurrences;
226
+ }
227
+ else {
228
+ // Create new pattern
229
+ patterns.push({
230
+ taskType: this.currentTaskType,
231
+ toolSequence: [...this.currentSequence],
232
+ successRate: success ? 1 : 0,
233
+ avgDuration: duration,
234
+ occurrences: 1,
235
+ });
236
+ }
237
+ // Sort by success rate
238
+ patterns.sort((a, b) => b.successRate - a.successRate);
239
+ // Keep top 10 patterns per task type
240
+ if (patterns.length > 10) {
241
+ patterns.length = 10;
242
+ }
243
+ }
244
+ /**
245
+ * Get recommended tool sequence for a task type
246
+ */
247
+ getRecommendedSequence(taskType) {
248
+ const patterns = this.patterns.get(taskType);
249
+ if (!patterns || patterns.length === 0)
250
+ return null;
251
+ // Return the most successful pattern with enough occurrences
252
+ const reliable = patterns.find(p => p.occurrences >= 3 && p.successRate >= 0.7);
253
+ return reliable?.toolSequence ?? patterns[0]?.toolSequence ?? null;
254
+ }
255
+ /**
256
+ * Get all learned patterns
257
+ */
258
+ getAllPatterns() {
259
+ return new Map(this.patterns);
260
+ }
261
+ /**
262
+ * Export patterns for persistence
263
+ */
264
+ exportPatterns() {
265
+ const result = {};
266
+ for (const [key, value] of this.patterns) {
267
+ result[key] = value;
268
+ }
269
+ return result;
270
+ }
271
+ /**
272
+ * Import patterns from persistence
273
+ */
274
+ importPatterns(data) {
275
+ this.patterns.clear();
276
+ for (const [key, value] of Object.entries(data)) {
277
+ this.patterns.set(key, value);
278
+ }
279
+ }
280
+ }
281
+ /**
282
+ * Quick heuristic-based quality scoring (no LLM needed)
283
+ */
284
+ export function quickQualityScore(response, toolCalls) {
285
+ let correctness = 50;
286
+ let completeness = 50;
287
+ let efficiency = 50;
288
+ let maintainability = 50;
289
+ let security = 50;
290
+ // Tool call success rate affects correctness
291
+ if (toolCalls.length > 0) {
292
+ const successRate = toolCalls.filter(t => t.success).length / toolCalls.length;
293
+ correctness = Math.round(50 + successRate * 40);
294
+ }
295
+ // Response length indicates completeness
296
+ if (response.length > 1000)
297
+ completeness += 15;
298
+ if (response.length > 3000)
299
+ completeness += 10;
300
+ if (response.length < 200)
301
+ completeness -= 20;
302
+ // Code blocks indicate actual implementation
303
+ const codeBlocks = (response.match(/```/g) || []).length / 2;
304
+ if (codeBlocks >= 1)
305
+ completeness += 10;
306
+ if (codeBlocks >= 3)
307
+ completeness += 5;
308
+ // Check for common patterns
309
+ if (/error|exception|try.*catch/i.test(response)) {
310
+ maintainability += 10; // Error handling
311
+ }
312
+ if (/\bconst\b|\blet\b/.test(response)) {
313
+ maintainability += 5; // Modern JS
314
+ }
315
+ if (/async|await|Promise/.test(response)) {
316
+ efficiency += 5; // Async patterns
317
+ }
318
+ // Security indicators
319
+ if (/validate|sanitize|escape/i.test(response))
320
+ security += 10;
321
+ if (/sql\s*injection|xss|csrf/i.test(response.toLowerCase()))
322
+ security -= 10; // Mentions vulnerabilities without fixing
323
+ // Bound scores
324
+ const bound = (n) => Math.max(0, Math.min(100, n));
325
+ correctness = bound(correctness);
326
+ completeness = bound(completeness);
327
+ efficiency = bound(efficiency);
328
+ maintainability = bound(maintainability);
329
+ security = bound(security);
330
+ const overall = Math.round(correctness * 0.3 +
331
+ completeness * 0.25 +
332
+ efficiency * 0.2 +
333
+ maintainability * 0.15 +
334
+ security * 0.1);
335
+ const breakdown = [
336
+ `Correctness: ${correctness}`,
337
+ `Completeness: ${completeness}`,
338
+ `Efficiency: ${efficiency}`,
339
+ `Maintainability: ${maintainability}`,
340
+ `Security: ${security}`,
341
+ ].join(' | ');
342
+ return {
343
+ overall,
344
+ correctness,
345
+ completeness,
346
+ efficiency,
347
+ maintainability,
348
+ security,
349
+ breakdown,
350
+ };
351
+ }
352
+ // ============================================================================
353
+ // TASK TYPE CLASSIFICATION
354
+ // ============================================================================
355
+ /**
356
+ * Classify task type from user query for pattern matching
357
+ */
358
+ export function classifyTaskType(query) {
359
+ const q = query.toLowerCase();
360
+ if (/\b(bug|fix|error|issue|broken|doesn't work|not working)\b/.test(q)) {
361
+ return 'bug-fix';
362
+ }
363
+ if (/\b(add|create|implement|build|make|new)\b/.test(q)) {
364
+ return 'feature-add';
365
+ }
366
+ if (/\b(refactor|clean|improve|optimize|simplify)\b/.test(q)) {
367
+ return 'refactor';
368
+ }
369
+ if (/\b(test|spec|coverage)\b/.test(q)) {
370
+ return 'testing';
371
+ }
372
+ if (/\b(explain|what|how|why|understand)\b/.test(q)) {
373
+ return 'explanation';
374
+ }
375
+ if (/\b(review|check|analyze|audit)\b/.test(q)) {
376
+ return 'review';
377
+ }
378
+ if (/\b(deploy|release|publish|ship)\b/.test(q)) {
379
+ return 'deployment';
380
+ }
381
+ if (/\b(config|setup|install|configure)\b/.test(q)) {
382
+ return 'configuration';
383
+ }
384
+ return 'general';
385
+ }
386
+ export const DEFAULT_ALPHA_CONFIG = {
387
+ dualResponseEnabled: true,
388
+ selfCritiqueEnabled: true,
389
+ patternLearningEnabled: true,
390
+ minQualityThreshold: 60,
391
+ maxCritiqueIterations: 2,
392
+ };
393
+ /**
394
+ * Main AlphaZero Engine coordinating all components
395
+ */
396
+ export class AlphaZeroEngine {
397
+ config;
398
+ patternTracker;
399
+ sessionStats;
400
+ constructor(config = {}) {
401
+ this.config = { ...DEFAULT_ALPHA_CONFIG, ...config };
402
+ this.patternTracker = new ToolPatternTracker();
403
+ this.sessionStats = {
404
+ dualResponsesGenerated: 0,
405
+ critiqueIterations: 0,
406
+ improvementsApplied: 0,
407
+ patternsLearned: 0,
408
+ };
409
+ }
410
+ /**
411
+ * Start tracking a task
412
+ */
413
+ startTask(userQuery) {
414
+ const taskType = classifyTaskType(userQuery);
415
+ this.patternTracker.startTask(taskType);
416
+ }
417
+ /**
418
+ * Record a tool call
419
+ */
420
+ recordToolCall(toolName, success) {
421
+ this.patternTracker.recordToolUse(toolName, success);
422
+ }
423
+ /**
424
+ * Complete current task
425
+ */
426
+ completeTask(success) {
427
+ this.patternTracker.completeTask(success);
428
+ if (success) {
429
+ this.sessionStats.patternsLearned++;
430
+ }
431
+ }
432
+ /**
433
+ * Get recommended tools for current task type
434
+ */
435
+ getRecommendedTools(taskType) {
436
+ return this.patternTracker.getRecommendedSequence(taskType);
437
+ }
438
+ /**
439
+ * Score a response
440
+ */
441
+ scoreResponse(response, toolCalls) {
442
+ return quickQualityScore(response, toolCalls);
443
+ }
444
+ /**
445
+ * Check if response needs improvement
446
+ */
447
+ needsImprovement(score) {
448
+ return score.overall < this.config.minQualityThreshold;
449
+ }
450
+ /**
451
+ * Get session statistics
452
+ */
453
+ getStats() {
454
+ return { ...this.sessionStats };
455
+ }
456
+ /**
457
+ * Export learned patterns
458
+ */
459
+ exportLearning() {
460
+ return {
461
+ patterns: this.patternTracker.exportPatterns(),
462
+ stats: { ...this.sessionStats },
463
+ };
464
+ }
465
+ /**
466
+ * Import learned patterns
467
+ */
468
+ importLearning(data) {
469
+ if (data.patterns) {
470
+ this.patternTracker.importPatterns(data.patterns);
471
+ }
472
+ }
473
+ /**
474
+ * Increment dual response counter
475
+ */
476
+ recordDualResponse() {
477
+ this.sessionStats.dualResponsesGenerated++;
478
+ }
479
+ /**
480
+ * Increment critique counter
481
+ */
482
+ recordCritique() {
483
+ this.sessionStats.critiqueIterations++;
484
+ }
485
+ /**
486
+ * Increment improvement counter
487
+ */
488
+ recordImprovement() {
489
+ this.sessionStats.improvementsApplied++;
490
+ }
491
+ /**
492
+ * Get configuration
493
+ */
494
+ getConfig() {
495
+ return { ...this.config };
496
+ }
497
+ /**
498
+ * Update configuration
499
+ */
500
+ updateConfig(updates) {
501
+ this.config = { ...this.config, ...updates };
502
+ }
503
+ }
504
+ // ============================================================================
505
+ // SINGLETON INSTANCE
506
+ // ============================================================================
507
+ let engineInstance = null;
508
+ /**
509
+ * Get the global AlphaZero engine instance
510
+ */
511
+ export function getAlphaZeroEngine() {
512
+ if (!engineInstance) {
513
+ engineInstance = new AlphaZeroEngine();
514
+ }
515
+ return engineInstance;
516
+ }
517
+ /**
518
+ * Reset the engine (for testing)
519
+ */
520
+ export function resetAlphaZeroEngine() {
521
+ engineInstance = null;
522
+ }
523
+ //# sourceMappingURL=alphaZeroEngine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"alphaZeroEngine.js","sourceRoot":"","sources":["../../src/core/alphaZeroEngine.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,140 @@
1
+ /**
2
+ * AlphaZero Orchestrator - Complete Self-Improvement System
3
+ *
4
+ * This module provides the "best" AlphaZero-style self-improvement for erosolar-cli:
5
+ *
6
+ * 1. DUAL-RESPONSE GENERATION
7
+ * - Generate 2 responses with different temperatures
8
+ * - Use LLM to evaluate and pick the winner
9
+ * - Learn which approach works better for task types
10
+ *
11
+ * 2. SELF-CRITIQUE LOOP
12
+ * - Critique responses for issues
13
+ * - Iteratively improve until quality threshold met
14
+ * - Learn from improvements for future responses
15
+ *
16
+ * 3. PATTERN LEARNING
17
+ * - Track tool sequences that work well
18
+ * - Record failure patterns to avoid
19
+ * - Store successful prompts for reuse
20
+ *
21
+ * 4. SOURCE IMPROVEMENT
22
+ * - Detect patterns in erosolar-cli itself
23
+ * - Apply validated fixes with git safety
24
+ * - Rollback on any failure
25
+ *
26
+ * Principal Investigator: Bo Shang
27
+ */
28
+ import type { LLMProvider, ConversationMessage } from './types.js';
29
+ import { type ToolCallRecord, type CritiqueIssue, type ResponseEvaluation } from './alphaZeroEngine.js';
30
+ import { getLearningSummary } from './learningPersistence.js';
31
+ export interface AlphaZeroConfig {
32
+ dualResponseEnabled: boolean;
33
+ temperatureConservative: number;
34
+ temperatureCreative: number;
35
+ selfCritiqueEnabled: boolean;
36
+ maxCritiqueIterations: number;
37
+ minQualityThreshold: number;
38
+ patternLearningEnabled: boolean;
39
+ autoApplyLearning: boolean;
40
+ sourceImprovementEnabled: boolean;
41
+ minValidationsForSourceFix: number;
42
+ }
43
+ export declare const DEFAULT_ALPHAZERO_CONFIG: AlphaZeroConfig;
44
+ export interface AlphaZeroSession {
45
+ sessionId: string;
46
+ startTime: string;
47
+ taskType: string;
48
+ userQuery: string;
49
+ dualResponseUsed: boolean;
50
+ critiqueIterations: number;
51
+ finalQuality: number;
52
+ toolsUsed: string[];
53
+ success: boolean;
54
+ improvementsLearned: number;
55
+ }
56
+ export declare class AlphaZeroOrchestrator {
57
+ private config;
58
+ private provider;
59
+ private state;
60
+ constructor(config?: Partial<AlphaZeroConfig>);
61
+ /**
62
+ * Set the LLM provider for evaluations
63
+ */
64
+ setProvider(provider: LLMProvider): void;
65
+ /**
66
+ * Start tracking a new task
67
+ */
68
+ startTask(userQuery: string): string;
69
+ /**
70
+ * Record a tool call in current session
71
+ */
72
+ recordToolCall(toolName: string, success: boolean): void;
73
+ /**
74
+ * Complete the current task and learn from it
75
+ */
76
+ completeTask(response: string, toolCalls: ToolCallRecord[], success: boolean): Promise<{
77
+ qualityScore: number;
78
+ learned: string[];
79
+ suggestions: string[];
80
+ }>;
81
+ /**
82
+ * Generate two responses and pick the better one
83
+ */
84
+ generateDualResponse(messages: ConversationMessage[], userQuery: string): Promise<{
85
+ winningResponse: string;
86
+ evaluation: ResponseEvaluation | null;
87
+ used: boolean;
88
+ }>;
89
+ private responsesAreSimilar;
90
+ private evaluateResponses;
91
+ /**
92
+ * Critique and iteratively improve a response
93
+ */
94
+ selfCritiqueLoop(response: string, userQuery: string, toolCalls: ToolCallRecord[]): Promise<{
95
+ improvedResponse: string;
96
+ iterations: number;
97
+ issues: CritiqueIssue[];
98
+ qualityImprovement: number;
99
+ }>;
100
+ private critiqueResponse;
101
+ private improveResponse;
102
+ /**
103
+ * Get recommended tools for a task type
104
+ */
105
+ getRecommendedTools(taskType: string): string[] | null;
106
+ /**
107
+ * Get patterns to avoid for a task type
108
+ */
109
+ getPatternsToAvoid(taskType: string): string[];
110
+ /**
111
+ * Get comprehensive learning summary
112
+ */
113
+ getSummary(): {
114
+ sessions: number;
115
+ improvements: number;
116
+ avgQuality: number;
117
+ learningData: ReturnType<typeof getLearningSummary>;
118
+ };
119
+ /**
120
+ * Get current configuration
121
+ */
122
+ getConfig(): AlphaZeroConfig;
123
+ /**
124
+ * Update configuration
125
+ */
126
+ updateConfig(updates: Partial<AlphaZeroConfig>): void;
127
+ /**
128
+ * Get formatted status for display
129
+ */
130
+ getStatus(): string;
131
+ }
132
+ /**
133
+ * Get the global AlphaZero orchestrator instance
134
+ */
135
+ export declare function getAlphaZeroOrchestrator(): AlphaZeroOrchestrator;
136
+ /**
137
+ * Initialize with a provider
138
+ */
139
+ export declare function initializeAlphaZero(provider: LLMProvider): AlphaZeroOrchestrator;
140
+ //# sourceMappingURL=alphaZeroOrchestrator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"alphaZeroOrchestrator.d.ts","sourceRoot":"","sources":["../../src/core/alphaZeroOrchestrator.ts"],"names":[],"mappings":"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"}