erosolar-cli 1.7.371 → 1.7.373

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 (38) hide show
  1. package/dist/contracts/agent-schemas.json +5 -0
  2. package/dist/core/alphaZeroEngine.d.ts +269 -0
  3. package/dist/core/alphaZeroEngine.d.ts.map +1 -0
  4. package/dist/core/alphaZeroEngine.js +523 -0
  5. package/dist/core/alphaZeroEngine.js.map +1 -0
  6. package/dist/core/metricsTracker.d.ts +35 -0
  7. package/dist/core/metricsTracker.d.ts.map +1 -1
  8. package/dist/core/metricsTracker.js +67 -0
  9. package/dist/core/metricsTracker.js.map +1 -1
  10. package/dist/core/preferences.d.ts +36 -0
  11. package/dist/core/preferences.d.ts.map +1 -1
  12. package/dist/core/preferences.js +82 -0
  13. package/dist/core/preferences.js.map +1 -1
  14. package/dist/shell/interactiveShell.d.ts +1 -0
  15. package/dist/shell/interactiveShell.d.ts.map +1 -1
  16. package/dist/shell/interactiveShell.js +72 -2
  17. package/dist/shell/interactiveShell.js.map +1 -1
  18. package/dist/shell/terminalInput.d.ts +2 -2
  19. package/dist/shell/terminalInput.d.ts.map +1 -1
  20. package/dist/shell/terminalInput.js +36 -21
  21. package/dist/shell/terminalInput.js.map +1 -1
  22. package/dist/ui/ShellUIAdapter.d.ts +13 -1
  23. package/dist/ui/ShellUIAdapter.d.ts.map +1 -1
  24. package/dist/ui/ShellUIAdapter.js +82 -9
  25. package/dist/ui/ShellUIAdapter.js.map +1 -1
  26. package/dist/ui/display.d.ts +3 -1
  27. package/dist/ui/display.d.ts.map +1 -1
  28. package/dist/ui/display.js +20 -10
  29. package/dist/ui/display.js.map +1 -1
  30. package/dist/ui/shortcutsHelp.d.ts +26 -0
  31. package/dist/ui/shortcutsHelp.d.ts.map +1 -1
  32. package/dist/ui/shortcutsHelp.js +83 -0
  33. package/dist/ui/shortcutsHelp.js.map +1 -1
  34. package/dist/ui/unified/layout.d.ts +9 -0
  35. package/dist/ui/unified/layout.d.ts.map +1 -1
  36. package/dist/ui/unified/layout.js +80 -2
  37. package/dist/ui/unified/layout.js.map +1 -1
  38. package/package.json +1 -1
@@ -308,6 +308,11 @@
308
308
  "description": "Show all available commands and keyboard shortcuts",
309
309
  "category": "other"
310
310
  },
311
+ {
312
+ "command": "/features",
313
+ "description": "Toggle optional features (AlphaZero dual, metrics, MCP, etc.)",
314
+ "category": "configuration"
315
+ },
311
316
  {
312
317
  "command": "/model",
313
318
  "description": "Choose what model to use",
@@ -0,0 +1,269 @@
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
+ import type { ProviderUsage } from './types.js';
13
+ export interface DualResponse {
14
+ responseA: GeneratedResponse;
15
+ responseB: GeneratedResponse;
16
+ winner: 'A' | 'B' | 'tie';
17
+ evaluation: ResponseEvaluation;
18
+ combinedResponse?: string;
19
+ }
20
+ export interface GeneratedResponse {
21
+ content: string;
22
+ toolCalls: ToolCallRecord[];
23
+ duration: number;
24
+ tokenUsage?: ProviderUsage;
25
+ temperature: number;
26
+ confidence: number;
27
+ }
28
+ export interface ToolCallRecord {
29
+ name: string;
30
+ arguments: Record<string, unknown>;
31
+ result?: string;
32
+ success: boolean;
33
+ duration: number;
34
+ }
35
+ export interface ResponseEvaluation {
36
+ qualityScoreA: number;
37
+ qualityScoreB: number;
38
+ dimensions: EvaluationDimensions;
39
+ reasoning: string;
40
+ confidence: number;
41
+ }
42
+ export interface EvaluationDimensions {
43
+ correctness: {
44
+ a: number;
45
+ b: number;
46
+ };
47
+ completeness: {
48
+ a: number;
49
+ b: number;
50
+ };
51
+ efficiency: {
52
+ a: number;
53
+ b: number;
54
+ };
55
+ codeQuality: {
56
+ a: number;
57
+ b: number;
58
+ };
59
+ toolUsage: {
60
+ a: number;
61
+ b: number;
62
+ };
63
+ }
64
+ export interface SelfCritiqueResult {
65
+ originalResponse: string;
66
+ critique: string;
67
+ issues: CritiqueIssue[];
68
+ improvedResponse?: string;
69
+ improvementScore: number;
70
+ }
71
+ export interface CritiqueIssue {
72
+ category: 'correctness' | 'completeness' | 'efficiency' | 'style' | 'security';
73
+ severity: 'critical' | 'major' | 'minor';
74
+ description: string;
75
+ suggestion?: string;
76
+ location?: string;
77
+ }
78
+ export interface ToolPattern {
79
+ taskType: string;
80
+ toolSequence: string[];
81
+ successRate: number;
82
+ avgDuration: number;
83
+ occurrences: number;
84
+ }
85
+ export interface LearningState {
86
+ toolPatterns: Map<string, ToolPattern[]>;
87
+ successfulPromptPatterns: string[];
88
+ failurePatterns: string[];
89
+ qualityThresholds: Record<string, number>;
90
+ }
91
+ /**
92
+ * Configuration for dual response generation
93
+ */
94
+ export interface DualResponseConfig {
95
+ enabled: boolean;
96
+ temperatureA: number;
97
+ temperatureB: number;
98
+ evaluationModel?: string;
99
+ minQualityDifference: number;
100
+ timeoutMs: number;
101
+ }
102
+ export declare const DEFAULT_DUAL_CONFIG: DualResponseConfig;
103
+ /**
104
+ * Generates evaluation prompt for comparing two responses
105
+ */
106
+ export declare function buildEvaluationPrompt(userQuery: string, responseA: string, responseB: string): string;
107
+ /**
108
+ * Parse evaluation response from LLM
109
+ */
110
+ export declare function parseEvaluationResponse(response: string): ResponseEvaluation | null;
111
+ /**
112
+ * Generates self-critique prompt
113
+ */
114
+ export declare function buildCritiquePrompt(userQuery: string, response: string, toolCalls: ToolCallRecord[]): string;
115
+ /**
116
+ * Parse critique response
117
+ */
118
+ export declare function parseCritiqueResponse(response: string): CritiqueIssue[];
119
+ /**
120
+ * Build improvement prompt based on critique
121
+ */
122
+ export declare function buildImprovementPrompt(userQuery: string, originalResponse: string, issues: CritiqueIssue[]): string;
123
+ /**
124
+ * Tool pattern tracker for learning optimal sequences
125
+ */
126
+ export declare class ToolPatternTracker {
127
+ private patterns;
128
+ private currentSequence;
129
+ private currentTaskType;
130
+ private sequenceStartTime;
131
+ /**
132
+ * Start tracking a new task
133
+ */
134
+ startTask(taskType: string): void;
135
+ /**
136
+ * Record a tool use
137
+ */
138
+ recordToolUse(toolName: string, success: boolean): void;
139
+ /**
140
+ * Complete the current task and record the pattern
141
+ */
142
+ completeTask(success: boolean): void;
143
+ /**
144
+ * Get recommended tool sequence for a task type
145
+ */
146
+ getRecommendedSequence(taskType: string): string[] | null;
147
+ /**
148
+ * Get all learned patterns
149
+ */
150
+ getAllPatterns(): Map<string, ToolPattern[]>;
151
+ /**
152
+ * Export patterns for persistence
153
+ */
154
+ exportPatterns(): Record<string, ToolPattern[]>;
155
+ /**
156
+ * Import patterns from persistence
157
+ */
158
+ importPatterns(data: Record<string, ToolPattern[]>): void;
159
+ }
160
+ export interface QualityScore {
161
+ overall: number;
162
+ correctness: number;
163
+ completeness: number;
164
+ efficiency: number;
165
+ maintainability: number;
166
+ security: number;
167
+ breakdown: string;
168
+ }
169
+ /**
170
+ * Quick heuristic-based quality scoring (no LLM needed)
171
+ */
172
+ export declare function quickQualityScore(response: string, toolCalls: ToolCallRecord[]): QualityScore;
173
+ /**
174
+ * Classify task type from user query for pattern matching
175
+ */
176
+ export declare function classifyTaskType(query: string): string;
177
+ export interface AlphaZeroConfig {
178
+ dualResponseEnabled: boolean;
179
+ selfCritiqueEnabled: boolean;
180
+ patternLearningEnabled: boolean;
181
+ minQualityThreshold: number;
182
+ maxCritiqueIterations: number;
183
+ }
184
+ export interface AlphaZeroSessionStats {
185
+ dualResponsesGenerated: number;
186
+ critiqueIterations: number;
187
+ improvementsApplied: number;
188
+ patternsLearned: number;
189
+ }
190
+ export declare const DEFAULT_ALPHA_CONFIG: AlphaZeroConfig;
191
+ /**
192
+ * Main AlphaZero Engine coordinating all components
193
+ */
194
+ export declare class AlphaZeroEngine {
195
+ private config;
196
+ private patternTracker;
197
+ private sessionStats;
198
+ constructor(config?: Partial<AlphaZeroConfig>);
199
+ /**
200
+ * Start tracking a task
201
+ */
202
+ startTask(userQuery: string): void;
203
+ /**
204
+ * Record a tool call
205
+ */
206
+ recordToolCall(toolName: string, success: boolean): void;
207
+ /**
208
+ * Complete current task
209
+ */
210
+ completeTask(success: boolean): void;
211
+ /**
212
+ * Get recommended tools for current task type
213
+ */
214
+ getRecommendedTools(taskType: string): string[] | null;
215
+ /**
216
+ * Score a response
217
+ */
218
+ scoreResponse(response: string, toolCalls: ToolCallRecord[]): QualityScore;
219
+ /**
220
+ * Check if response needs improvement
221
+ */
222
+ needsImprovement(score: QualityScore): boolean;
223
+ /**
224
+ * Get session statistics
225
+ */
226
+ getStats(): AlphaZeroSessionStats;
227
+ /**
228
+ * Export learned patterns
229
+ */
230
+ exportLearning(): {
231
+ patterns: Record<string, ToolPattern[]>;
232
+ stats: AlphaZeroSessionStats;
233
+ };
234
+ /**
235
+ * Import learned patterns
236
+ */
237
+ importLearning(data: {
238
+ patterns: Record<string, ToolPattern[]>;
239
+ }): void;
240
+ /**
241
+ * Increment dual response counter
242
+ */
243
+ recordDualResponse(): void;
244
+ /**
245
+ * Increment critique counter
246
+ */
247
+ recordCritique(): void;
248
+ /**
249
+ * Increment improvement counter
250
+ */
251
+ recordImprovement(): void;
252
+ /**
253
+ * Get configuration
254
+ */
255
+ getConfig(): AlphaZeroConfig;
256
+ /**
257
+ * Update configuration
258
+ */
259
+ updateConfig(updates: Partial<AlphaZeroConfig>): void;
260
+ }
261
+ /**
262
+ * Get the global AlphaZero engine instance
263
+ */
264
+ export declare function getAlphaZeroEngine(): AlphaZeroEngine;
265
+ /**
266
+ * Reset the engine (for testing)
267
+ */
268
+ export declare function resetAlphaZeroEngine(): void;
269
+ //# sourceMappingURL=alphaZeroEngine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"alphaZeroEngine.d.ts","sourceRoot":"","sources":["../../src/core/alphaZeroEngine.ts"],"names":[],"mappings":"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"}