erosolar-cli 1.7.396 → 1.7.398
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/dist/browser/BrowserSessionManager.d.ts +3 -1
- package/dist/browser/BrowserSessionManager.d.ts.map +1 -1
- package/dist/browser/BrowserSessionManager.js +24 -4
- package/dist/browser/BrowserSessionManager.js.map +1 -1
- package/dist/contracts/agent-schemas.json +5 -0
- package/dist/contracts/unified-schema.json +2 -1
- package/dist/core/agent.d.ts +5 -0
- package/dist/core/agent.d.ts.map +1 -1
- package/dist/core/agent.js +99 -0
- package/dist/core/agent.js.map +1 -1
- package/dist/core/alphaZeroConfig.d.ts +11 -0
- package/dist/core/alphaZeroConfig.d.ts.map +1 -0
- package/dist/core/alphaZeroConfig.js +59 -0
- package/dist/core/alphaZeroConfig.js.map +1 -0
- package/dist/core/alphaZeroEngine.d.ts +8 -0
- package/dist/core/alphaZeroEngine.d.ts.map +1 -1
- package/dist/core/alphaZeroEngine.js +149 -35
- package/dist/core/alphaZeroEngine.js.map +1 -1
- package/dist/core/alphaZeroEnhanced.d.ts +125 -0
- package/dist/core/alphaZeroEnhanced.d.ts.map +1 -0
- package/dist/core/alphaZeroEnhanced.js +386 -0
- package/dist/core/alphaZeroEnhanced.js.map +1 -0
- package/dist/core/alphaZeroOrchestrator.d.ts +17 -0
- package/dist/core/alphaZeroOrchestrator.d.ts.map +1 -1
- package/dist/core/alphaZeroOrchestrator.js +95 -8
- package/dist/core/alphaZeroOrchestrator.js.map +1 -1
- package/dist/core/autonomousVerification.d.ts +103 -0
- package/dist/core/autonomousVerification.d.ts.map +1 -0
- package/dist/core/autonomousVerification.js +583 -0
- package/dist/core/autonomousVerification.js.map +1 -0
- package/dist/core/cliTestHarness.d.ts +5 -0
- package/dist/core/cliTestHarness.d.ts.map +1 -1
- package/dist/core/cliTestHarness.js +14 -3
- package/dist/core/cliTestHarness.js.map +1 -1
- package/dist/core/contextManager.d.ts +10 -0
- package/dist/core/contextManager.d.ts.map +1 -1
- package/dist/core/contextManager.js +18 -0
- package/dist/core/contextManager.js.map +1 -1
- package/dist/core/offsecAlphaZeroEnhanced.d.ts +98 -0
- package/dist/core/offsecAlphaZeroEnhanced.d.ts.map +1 -0
- package/dist/core/offsecAlphaZeroEnhanced.js +441 -0
- package/dist/core/offsecAlphaZeroEnhanced.js.map +1 -0
- package/dist/core/parallelAgentOrchestrator.d.ts +171 -0
- package/dist/core/parallelAgentOrchestrator.d.ts.map +1 -0
- package/dist/core/parallelAgentOrchestrator.js +459 -0
- package/dist/core/parallelAgentOrchestrator.js.map +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -0
- package/dist/shell/interactiveShell.d.ts +15 -0
- package/dist/shell/interactiveShell.d.ts.map +1 -1
- package/dist/shell/interactiveShell.js +344 -210
- package/dist/shell/interactiveShell.js.map +1 -1
- package/dist/shell/shellApp.d.ts.map +1 -1
- package/dist/shell/shellApp.js +15 -1
- package/dist/shell/shellApp.js.map +1 -1
- package/dist/shell/terminalInput.d.ts +42 -1
- package/dist/shell/terminalInput.d.ts.map +1 -1
- package/dist/shell/terminalInput.js +276 -6
- package/dist/shell/terminalInput.js.map +1 -1
- package/dist/shell/terminalInputAdapter.d.ts +14 -2
- package/dist/shell/terminalInputAdapter.d.ts.map +1 -1
- package/dist/shell/terminalInputAdapter.js +19 -1
- package/dist/shell/terminalInputAdapter.js.map +1 -1
- package/dist/ui/assistantBlockRenderer.d.ts +28 -0
- package/dist/ui/assistantBlockRenderer.d.ts.map +1 -0
- package/dist/ui/assistantBlockRenderer.js +99 -0
- package/dist/ui/assistantBlockRenderer.js.map +1 -0
- package/dist/ui/display.d.ts +11 -0
- package/dist/ui/display.d.ts.map +1 -1
- package/dist/ui/display.js +37 -0
- package/dist/ui/display.js.map +1 -1
- package/dist/ui/theme.d.ts +80 -81
- package/dist/ui/theme.d.ts.map +1 -1
- package/dist/ui/unified/layout.d.ts +0 -23
- package/dist/ui/unified/layout.d.ts.map +1 -1
- package/dist/ui/unified/layout.js +11 -114
- package/dist/ui/unified/layout.js.map +1 -1
- package/package.json +33 -19
|
@@ -0,0 +1,386 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Enhanced AlphaZero Integration Layer
|
|
3
|
+
*
|
|
4
|
+
* Integrates all AlphaZero enhancements:
|
|
5
|
+
* - Autonomous verification for barrier bypassing
|
|
6
|
+
* - Strong confirmation for offensive security
|
|
7
|
+
* - Context-aware parallel agent orchestration
|
|
8
|
+
* - Optimal task parallelization with dependency analysis
|
|
9
|
+
* - Auto-compaction and token budget management
|
|
10
|
+
*/
|
|
11
|
+
import { AutonomousVerificationEngine } from './autonomousVerification.js';
|
|
12
|
+
import { ParallelAgentOrchestrator, } from './parallelAgentOrchestrator.js';
|
|
13
|
+
import { OffsecAlphaZeroEnhanced, } from './offsecAlphaZeroEnhanced.js';
|
|
14
|
+
/**
|
|
15
|
+
* Enhanced AlphaZero with all advanced capabilities
|
|
16
|
+
*/
|
|
17
|
+
export class EnhancedAlphaZero {
|
|
18
|
+
config;
|
|
19
|
+
orchestrator;
|
|
20
|
+
contextManager;
|
|
21
|
+
verificationEngine;
|
|
22
|
+
parallelOrchestrator;
|
|
23
|
+
offsecEngine;
|
|
24
|
+
metrics;
|
|
25
|
+
constructor(orchestrator, contextManager, config) {
|
|
26
|
+
this.orchestrator = orchestrator;
|
|
27
|
+
this.contextManager = contextManager;
|
|
28
|
+
this.verificationEngine = new AutonomousVerificationEngine();
|
|
29
|
+
this.config = {
|
|
30
|
+
enableAutonomousVerification: config?.enableAutonomousVerification ?? true,
|
|
31
|
+
enableParallelAgents: config?.enableParallelAgents ?? true,
|
|
32
|
+
enableAutoCompaction: config?.enableAutoCompaction ?? true,
|
|
33
|
+
totalTokens: config?.totalTokens || 200000,
|
|
34
|
+
reservedTokenRatio: config?.reservedTokenRatio || 0.15,
|
|
35
|
+
compactionThreshold: config?.compactionThreshold || 0.75,
|
|
36
|
+
maxConcurrentAgents: config?.maxConcurrentAgents || 5,
|
|
37
|
+
defaultAgentTimeout: config?.defaultAgentTimeout || 120000,
|
|
38
|
+
defaultMinConfidence: config?.defaultMinConfidence || 0.75,
|
|
39
|
+
maxRetries: config?.maxRetries || 3,
|
|
40
|
+
offsecEnabled: config?.offsecEnabled ?? false,
|
|
41
|
+
offsecContext: config?.offsecContext,
|
|
42
|
+
};
|
|
43
|
+
this.parallelOrchestrator = new ParallelAgentOrchestrator(contextManager, {
|
|
44
|
+
totalTokens: this.config.totalTokens,
|
|
45
|
+
maxConcurrentAgents: this.config.maxConcurrentAgents,
|
|
46
|
+
autoCompactionEnabled: this.config.enableAutoCompaction,
|
|
47
|
+
compactionThreshold: this.config.compactionThreshold,
|
|
48
|
+
});
|
|
49
|
+
if (this.config.offsecEnabled) {
|
|
50
|
+
this.offsecEngine = new OffsecAlphaZeroEnhanced(this.config.offsecContext);
|
|
51
|
+
}
|
|
52
|
+
this.metrics = {
|
|
53
|
+
totalTasks: 0,
|
|
54
|
+
completedTasks: 0,
|
|
55
|
+
failedTasks: 0,
|
|
56
|
+
totalTokensUsed: 0,
|
|
57
|
+
totalExecutionTimeMs: 0,
|
|
58
|
+
parallelizationEfficiency: 0,
|
|
59
|
+
verificationSuccessRate: 0,
|
|
60
|
+
averageConfidence: 0,
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Decompose a complex task into parallelizable subtasks
|
|
65
|
+
*/
|
|
66
|
+
async decomposeTask(task) {
|
|
67
|
+
// Analyze task to identify subtasks and dependencies
|
|
68
|
+
const analysis = this.analyzeTask(task);
|
|
69
|
+
const subtasks = [];
|
|
70
|
+
let taskId = 0;
|
|
71
|
+
for (const subtask of analysis.subtasks) {
|
|
72
|
+
subtasks.push({
|
|
73
|
+
id: `task-${taskId++}`,
|
|
74
|
+
description: subtask.description,
|
|
75
|
+
type: subtask.type,
|
|
76
|
+
priority: subtask.priority,
|
|
77
|
+
estimatedTokens: subtask.estimatedTokens,
|
|
78
|
+
dependencies: subtask.dependencies,
|
|
79
|
+
requiredArtifacts: subtask.requiredArtifacts,
|
|
80
|
+
producedArtifacts: subtask.producedArtifacts,
|
|
81
|
+
timeout: subtask.timeout || this.config.defaultAgentTimeout,
|
|
82
|
+
retryable: subtask.retryable ?? true,
|
|
83
|
+
maxRetries: this.config.maxRetries,
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
// Determine execution strategy
|
|
87
|
+
const strategy = this.determineExecutionStrategy(subtasks);
|
|
88
|
+
// Estimate duration
|
|
89
|
+
const estimatedDuration = this.estimateDuration(subtasks, strategy);
|
|
90
|
+
return {
|
|
91
|
+
originalTask: task,
|
|
92
|
+
subtasks,
|
|
93
|
+
strategy,
|
|
94
|
+
estimatedDuration,
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Analyze a task to identify subtasks (placeholder for AI-based analysis)
|
|
99
|
+
*/
|
|
100
|
+
analyzeTask(task) {
|
|
101
|
+
// This is a simplified heuristic-based decomposition
|
|
102
|
+
// In production, this would use LLM analysis to intelligently decompose tasks
|
|
103
|
+
const taskLower = task.toLowerCase();
|
|
104
|
+
// Offensive security tasks
|
|
105
|
+
if (taskLower.includes('pentest') || taskLower.includes('security') || taskLower.includes('exploit')) {
|
|
106
|
+
return {
|
|
107
|
+
subtasks: [
|
|
108
|
+
{
|
|
109
|
+
description: 'Reconnaissance and information gathering',
|
|
110
|
+
type: 'exploration',
|
|
111
|
+
priority: 9,
|
|
112
|
+
estimatedTokens: 5000,
|
|
113
|
+
dependencies: [],
|
|
114
|
+
requiredArtifacts: [],
|
|
115
|
+
producedArtifacts: ['recon_report'],
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
description: 'Vulnerability identification',
|
|
119
|
+
type: 'security',
|
|
120
|
+
priority: 8,
|
|
121
|
+
estimatedTokens: 8000,
|
|
122
|
+
dependencies: ['task-0'],
|
|
123
|
+
requiredArtifacts: ['recon_report'],
|
|
124
|
+
producedArtifacts: ['vulnerabilities'],
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
description: 'Exploitation and verification',
|
|
128
|
+
type: 'security',
|
|
129
|
+
priority: 7,
|
|
130
|
+
estimatedTokens: 10000,
|
|
131
|
+
dependencies: ['task-1'],
|
|
132
|
+
requiredArtifacts: ['vulnerabilities'],
|
|
133
|
+
producedArtifacts: ['exploit_results'],
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
description: 'Post-exploitation analysis',
|
|
137
|
+
type: 'verification',
|
|
138
|
+
priority: 6,
|
|
139
|
+
estimatedTokens: 6000,
|
|
140
|
+
dependencies: ['task-2'],
|
|
141
|
+
requiredArtifacts: ['exploit_results'],
|
|
142
|
+
producedArtifacts: ['final_report'],
|
|
143
|
+
},
|
|
144
|
+
],
|
|
145
|
+
};
|
|
146
|
+
}
|
|
147
|
+
// Code implementation tasks
|
|
148
|
+
if (taskLower.includes('implement') || taskLower.includes('build') || taskLower.includes('create')) {
|
|
149
|
+
return {
|
|
150
|
+
subtasks: [
|
|
151
|
+
{
|
|
152
|
+
description: 'Explore codebase and understand requirements',
|
|
153
|
+
type: 'exploration',
|
|
154
|
+
priority: 8,
|
|
155
|
+
estimatedTokens: 6000,
|
|
156
|
+
dependencies: [],
|
|
157
|
+
requiredArtifacts: [],
|
|
158
|
+
producedArtifacts: ['codebase_understanding'],
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
description: 'Design and plan implementation',
|
|
162
|
+
type: 'exploration',
|
|
163
|
+
priority: 7,
|
|
164
|
+
estimatedTokens: 7000,
|
|
165
|
+
dependencies: ['task-0'],
|
|
166
|
+
requiredArtifacts: ['codebase_understanding'],
|
|
167
|
+
producedArtifacts: ['implementation_plan'],
|
|
168
|
+
},
|
|
169
|
+
{
|
|
170
|
+
description: 'Implement core functionality',
|
|
171
|
+
type: 'implementation',
|
|
172
|
+
priority: 9,
|
|
173
|
+
estimatedTokens: 12000,
|
|
174
|
+
dependencies: ['task-1'],
|
|
175
|
+
requiredArtifacts: ['implementation_plan'],
|
|
176
|
+
producedArtifacts: ['implementation'],
|
|
177
|
+
},
|
|
178
|
+
{
|
|
179
|
+
description: 'Write tests',
|
|
180
|
+
type: 'testing',
|
|
181
|
+
priority: 6,
|
|
182
|
+
estimatedTokens: 8000,
|
|
183
|
+
dependencies: ['task-2'],
|
|
184
|
+
requiredArtifacts: ['implementation'],
|
|
185
|
+
producedArtifacts: ['tests'],
|
|
186
|
+
},
|
|
187
|
+
{
|
|
188
|
+
description: 'Run tests and verify',
|
|
189
|
+
type: 'verification',
|
|
190
|
+
priority: 8,
|
|
191
|
+
estimatedTokens: 5000,
|
|
192
|
+
dependencies: ['task-3'],
|
|
193
|
+
requiredArtifacts: ['tests', 'implementation'],
|
|
194
|
+
producedArtifacts: ['test_results'],
|
|
195
|
+
},
|
|
196
|
+
],
|
|
197
|
+
};
|
|
198
|
+
}
|
|
199
|
+
// Default decomposition
|
|
200
|
+
return {
|
|
201
|
+
subtasks: [
|
|
202
|
+
{
|
|
203
|
+
description: task,
|
|
204
|
+
type: 'exploration',
|
|
205
|
+
priority: 5,
|
|
206
|
+
estimatedTokens: 10000,
|
|
207
|
+
dependencies: [],
|
|
208
|
+
requiredArtifacts: [],
|
|
209
|
+
producedArtifacts: ['result'],
|
|
210
|
+
},
|
|
211
|
+
],
|
|
212
|
+
};
|
|
213
|
+
}
|
|
214
|
+
/**
|
|
215
|
+
* Determine optimal execution strategy
|
|
216
|
+
*/
|
|
217
|
+
determineExecutionStrategy(subtasks) {
|
|
218
|
+
if (!this.config.enableParallelAgents) {
|
|
219
|
+
return 'sequential';
|
|
220
|
+
}
|
|
221
|
+
// Analyze dependency structure
|
|
222
|
+
const hasDependencies = subtasks.some((t) => t.dependencies.length > 0);
|
|
223
|
+
if (!hasDependencies) {
|
|
224
|
+
return 'parallel';
|
|
225
|
+
}
|
|
226
|
+
// Check if there are independent task groups
|
|
227
|
+
const graph = this.parallelOrchestrator.buildDependencyGraph();
|
|
228
|
+
const hasParallelizableWaves = graph.levels.some((level) => level.length > 1);
|
|
229
|
+
return hasParallelizableWaves ? 'hybrid' : 'sequential';
|
|
230
|
+
}
|
|
231
|
+
/**
|
|
232
|
+
* Estimate total execution duration
|
|
233
|
+
*/
|
|
234
|
+
estimateDuration(subtasks, strategy) {
|
|
235
|
+
if (strategy === 'sequential') {
|
|
236
|
+
return subtasks.reduce((sum, task) => sum + task.timeout, 0);
|
|
237
|
+
}
|
|
238
|
+
if (strategy === 'parallel') {
|
|
239
|
+
return Math.max(...subtasks.map((task) => task.timeout));
|
|
240
|
+
}
|
|
241
|
+
// Hybrid: use critical path
|
|
242
|
+
this.parallelOrchestrator.addTasks(subtasks);
|
|
243
|
+
const plan = this.parallelOrchestrator.createExecutionPlan();
|
|
244
|
+
return plan.estimatedTotalTimeMs;
|
|
245
|
+
}
|
|
246
|
+
/**
|
|
247
|
+
* Execute a task with all enhancements
|
|
248
|
+
*/
|
|
249
|
+
async executeTask(task) {
|
|
250
|
+
const startTime = Date.now();
|
|
251
|
+
// Decompose task
|
|
252
|
+
const decomposition = await this.decomposeTask(task);
|
|
253
|
+
console.log(`Task decomposed into ${decomposition.subtasks.length} subtasks (${decomposition.strategy})`);
|
|
254
|
+
// Add tasks to orchestrator
|
|
255
|
+
this.parallelOrchestrator.addTasks(decomposition.subtasks);
|
|
256
|
+
// Create execution plan
|
|
257
|
+
const plan = this.parallelOrchestrator.createExecutionPlan();
|
|
258
|
+
console.log(`Execution plan created: ${plan.waves.length} waves, estimated ${plan.estimatedTotalTokens} tokens`);
|
|
259
|
+
// Execute plan
|
|
260
|
+
const results = await this.parallelOrchestrator.executePlan(plan);
|
|
261
|
+
// Verify results if enabled
|
|
262
|
+
const verifications = new Map();
|
|
263
|
+
if (this.config.enableAutonomousVerification) {
|
|
264
|
+
for (const [taskId, result] of results) {
|
|
265
|
+
const task = decomposition.subtasks.find((t) => t.id === taskId);
|
|
266
|
+
if (!task)
|
|
267
|
+
continue;
|
|
268
|
+
const verification = await this.verificationEngine.verify(task.type, task.description, result.output, result.artifacts);
|
|
269
|
+
verifications.set(taskId, verification);
|
|
270
|
+
// Update metrics
|
|
271
|
+
if (verification.approved) {
|
|
272
|
+
this.metrics.completedTasks++;
|
|
273
|
+
}
|
|
274
|
+
else {
|
|
275
|
+
this.metrics.failedTasks++;
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
// Update metrics
|
|
280
|
+
this.metrics.totalTasks = decomposition.subtasks.length;
|
|
281
|
+
this.metrics.totalExecutionTimeMs = Date.now() - startTime;
|
|
282
|
+
const orchestratorSummary = this.parallelOrchestrator.getSummary();
|
|
283
|
+
this.metrics.totalTokensUsed = orchestratorSummary.tokenUsage.consumed;
|
|
284
|
+
// Calculate parallelization efficiency
|
|
285
|
+
const sequentialTime = decomposition.subtasks.reduce((sum, t) => sum + t.timeout, 0);
|
|
286
|
+
this.metrics.parallelizationEfficiency = sequentialTime / this.metrics.totalExecutionTimeMs;
|
|
287
|
+
// Calculate verification stats
|
|
288
|
+
if (verifications.size > 0) {
|
|
289
|
+
const approvedCount = Array.from(verifications.values()).filter((v) => v.approved).length;
|
|
290
|
+
this.metrics.verificationSuccessRate = approvedCount / verifications.size;
|
|
291
|
+
const totalConfidence = Array.from(verifications.values()).reduce((sum, v) => sum + v.confidence, 0);
|
|
292
|
+
this.metrics.averageConfidence = totalConfidence / verifications.size;
|
|
293
|
+
}
|
|
294
|
+
const success = this.metrics.verificationSuccessRate >= 0.7;
|
|
295
|
+
return {
|
|
296
|
+
success,
|
|
297
|
+
results,
|
|
298
|
+
metrics: { ...this.metrics },
|
|
299
|
+
verifications,
|
|
300
|
+
};
|
|
301
|
+
}
|
|
302
|
+
/**
|
|
303
|
+
* Execute an offensive security task
|
|
304
|
+
*/
|
|
305
|
+
async executeOffsecTask(objective, scope, maxActions = 10) {
|
|
306
|
+
if (!this.offsecEngine) {
|
|
307
|
+
throw new Error('Offensive security engine not enabled');
|
|
308
|
+
}
|
|
309
|
+
const startTime = Date.now();
|
|
310
|
+
const results = [];
|
|
311
|
+
// Execute autonomous run
|
|
312
|
+
const run = await this.offsecEngine.executeAutonomousRun(objective, scope, maxActions);
|
|
313
|
+
// Collect results (would need to be tracked in enhanced version)
|
|
314
|
+
// For now, return the run
|
|
315
|
+
const success = Object.values(run.nodes).some((n) => n.status === 'succeeded');
|
|
316
|
+
this.metrics.totalExecutionTimeMs = Date.now() - startTime;
|
|
317
|
+
return {
|
|
318
|
+
run,
|
|
319
|
+
results,
|
|
320
|
+
success,
|
|
321
|
+
};
|
|
322
|
+
}
|
|
323
|
+
/**
|
|
324
|
+
* Get current metrics
|
|
325
|
+
*/
|
|
326
|
+
getMetrics() {
|
|
327
|
+
return { ...this.metrics };
|
|
328
|
+
}
|
|
329
|
+
/**
|
|
330
|
+
* Get token budget status
|
|
331
|
+
*/
|
|
332
|
+
getTokenBudget() {
|
|
333
|
+
return this.parallelOrchestrator.getTokenBudget();
|
|
334
|
+
}
|
|
335
|
+
/**
|
|
336
|
+
* Reset metrics
|
|
337
|
+
*/
|
|
338
|
+
resetMetrics() {
|
|
339
|
+
this.metrics = {
|
|
340
|
+
totalTasks: 0,
|
|
341
|
+
completedTasks: 0,
|
|
342
|
+
failedTasks: 0,
|
|
343
|
+
totalTokensUsed: 0,
|
|
344
|
+
totalExecutionTimeMs: 0,
|
|
345
|
+
parallelizationEfficiency: 0,
|
|
346
|
+
verificationSuccessRate: 0,
|
|
347
|
+
averageConfidence: 0,
|
|
348
|
+
};
|
|
349
|
+
}
|
|
350
|
+
/**
|
|
351
|
+
* Enable/disable features
|
|
352
|
+
*/
|
|
353
|
+
updateConfig(updates) {
|
|
354
|
+
this.config = { ...this.config, ...updates };
|
|
355
|
+
// Reinitialize engines if needed
|
|
356
|
+
if (updates.offsecEnabled && !this.offsecEngine) {
|
|
357
|
+
this.offsecEngine = new OffsecAlphaZeroEnhanced(this.config.offsecContext);
|
|
358
|
+
}
|
|
359
|
+
}
|
|
360
|
+
/**
|
|
361
|
+
* Get execution plan preview without executing
|
|
362
|
+
*/
|
|
363
|
+
async previewExecutionPlan(task) {
|
|
364
|
+
const decomposition = await this.decomposeTask(task);
|
|
365
|
+
this.parallelOrchestrator.addTasks(decomposition.subtasks);
|
|
366
|
+
const plan = this.parallelOrchestrator.createExecutionPlan();
|
|
367
|
+
const sequentialTime = decomposition.subtasks.reduce((sum, t) => sum + t.timeout, 0);
|
|
368
|
+
const parallelizationGain = sequentialTime / plan.estimatedTotalTimeMs;
|
|
369
|
+
return {
|
|
370
|
+
decomposition,
|
|
371
|
+
plan,
|
|
372
|
+
estimatedCost: {
|
|
373
|
+
tokens: plan.estimatedTotalTokens,
|
|
374
|
+
timeMs: plan.estimatedTotalTimeMs,
|
|
375
|
+
parallelizationGain,
|
|
376
|
+
},
|
|
377
|
+
};
|
|
378
|
+
}
|
|
379
|
+
}
|
|
380
|
+
/**
|
|
381
|
+
* Create an enhanced AlphaZero instance
|
|
382
|
+
*/
|
|
383
|
+
export function createEnhancedAlphaZero(orchestrator, contextManager, config) {
|
|
384
|
+
return new EnhancedAlphaZero(orchestrator, contextManager, config);
|
|
385
|
+
}
|
|
386
|
+
//# sourceMappingURL=alphaZeroEnhanced.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"alphaZeroEnhanced.js","sourceRoot":"","sources":["../../src/core/alphaZeroEnhanced.ts"],"names":[],"mappings":"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"}
|
|
@@ -46,6 +46,7 @@ export interface AlphaZeroSession {
|
|
|
46
46
|
startTime: string;
|
|
47
47
|
taskType: string;
|
|
48
48
|
userQuery: string;
|
|
49
|
+
planningGuidance?: PlanningGuidance;
|
|
49
50
|
dualResponseUsed: boolean;
|
|
50
51
|
critiqueIterations: number;
|
|
51
52
|
finalQuality: number;
|
|
@@ -53,10 +54,17 @@ export interface AlphaZeroSession {
|
|
|
53
54
|
success: boolean;
|
|
54
55
|
improvementsLearned: number;
|
|
55
56
|
}
|
|
57
|
+
interface PlanningGuidance {
|
|
58
|
+
recommendedTools?: string[];
|
|
59
|
+
avoidPatterns: string[];
|
|
60
|
+
summary: string;
|
|
61
|
+
}
|
|
56
62
|
export declare class AlphaZeroOrchestrator {
|
|
57
63
|
private config;
|
|
58
64
|
private provider;
|
|
59
65
|
private state;
|
|
66
|
+
private evaluationAlerts;
|
|
67
|
+
private planningGuidanceCache;
|
|
60
68
|
constructor(config?: Partial<AlphaZeroConfig>);
|
|
61
69
|
/**
|
|
62
70
|
* Set the LLM provider for evaluations
|
|
@@ -103,6 +111,10 @@ export declare class AlphaZeroOrchestrator {
|
|
|
103
111
|
* Get recommended tools for a task type
|
|
104
112
|
*/
|
|
105
113
|
getRecommendedTools(taskType: string): string[] | null;
|
|
114
|
+
/**
|
|
115
|
+
* Retrieve learned guidance before the model plans tool calls.
|
|
116
|
+
*/
|
|
117
|
+
getPlanningGuidance(taskType: string): PlanningGuidance;
|
|
106
118
|
/**
|
|
107
119
|
* Get patterns to avoid for a task type
|
|
108
120
|
*/
|
|
@@ -116,6 +128,10 @@ export declare class AlphaZeroOrchestrator {
|
|
|
116
128
|
avgQuality: number;
|
|
117
129
|
learningData: ReturnType<typeof getLearningSummary>;
|
|
118
130
|
};
|
|
131
|
+
/**
|
|
132
|
+
* Get any soft failures surfaced during the last evaluation.
|
|
133
|
+
*/
|
|
134
|
+
getEvaluationAlerts(): string[];
|
|
119
135
|
/**
|
|
120
136
|
* Get current configuration
|
|
121
137
|
*/
|
|
@@ -137,4 +153,5 @@ export declare function getAlphaZeroOrchestrator(): AlphaZeroOrchestrator;
|
|
|
137
153
|
* Initialize with a provider
|
|
138
154
|
*/
|
|
139
155
|
export declare function initializeAlphaZero(provider: LLMProvider): AlphaZeroOrchestrator;
|
|
156
|
+
export {};
|
|
140
157
|
//# sourceMappingURL=alphaZeroOrchestrator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"alphaZeroOrchestrator.d.ts","sourceRoot":"","sources":["../../src/core/alphaZeroOrchestrator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAMH,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"alphaZeroOrchestrator.d.ts","sourceRoot":"","sources":["../../src/core/alphaZeroOrchestrator.ts"],"names":[],"mappings":"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"}
|
|
@@ -28,8 +28,10 @@
|
|
|
28
28
|
import { existsSync, writeFileSync, readFileSync, mkdirSync } from 'node:fs';
|
|
29
29
|
import { join } from 'node:path';
|
|
30
30
|
import { homedir } from 'node:os';
|
|
31
|
-
import {
|
|
31
|
+
import { safeErrorMessage } from './secretStore.js';
|
|
32
|
+
import { buildEvaluationPrompt, buildCritiquePrompt, buildImprovementPrompt, parseEvaluationResponse, parseCritiqueResponse, quickQualityScore, classifyTaskType, heuristicEvaluationFromResponses, } from './alphaZeroEngine.js';
|
|
32
33
|
import { addToolPattern, recordFailurePattern, recordPromptImprovement, getBestToolPattern, getFailurePatternsToAvoid, getLearningSummary, } from './learningPersistence.js';
|
|
34
|
+
import { getAlphaZeroDefaults } from './alphaZeroConfig.js';
|
|
33
35
|
import { detectFailure, clearActionHistory, } from './failureRecovery.js';
|
|
34
36
|
export const DEFAULT_ALPHAZERO_CONFIG = {
|
|
35
37
|
dualResponseEnabled: true,
|
|
@@ -76,8 +78,24 @@ export class AlphaZeroOrchestrator {
|
|
|
76
78
|
config;
|
|
77
79
|
provider = null;
|
|
78
80
|
state;
|
|
81
|
+
evaluationAlerts = [];
|
|
82
|
+
planningGuidanceCache = new Map();
|
|
79
83
|
constructor(config = {}) {
|
|
80
|
-
|
|
84
|
+
const defaults = getAlphaZeroDefaults();
|
|
85
|
+
const configFromDefaults = {};
|
|
86
|
+
if (typeof defaults.temperatureConservative === 'number') {
|
|
87
|
+
configFromDefaults.temperatureConservative = defaults.temperatureConservative;
|
|
88
|
+
}
|
|
89
|
+
if (typeof defaults.temperatureCreative === 'number') {
|
|
90
|
+
configFromDefaults.temperatureCreative = defaults.temperatureCreative;
|
|
91
|
+
}
|
|
92
|
+
if (typeof defaults.minQualityThreshold === 'number') {
|
|
93
|
+
configFromDefaults.minQualityThreshold = defaults.minQualityThreshold;
|
|
94
|
+
}
|
|
95
|
+
if (typeof defaults.maxCritiqueIterations === 'number') {
|
|
96
|
+
configFromDefaults.maxCritiqueIterations = defaults.maxCritiqueIterations;
|
|
97
|
+
}
|
|
98
|
+
this.config = { ...DEFAULT_ALPHAZERO_CONFIG, ...configFromDefaults, ...config };
|
|
81
99
|
this.state = loadState();
|
|
82
100
|
}
|
|
83
101
|
/**
|
|
@@ -92,11 +110,14 @@ export class AlphaZeroOrchestrator {
|
|
|
92
110
|
startTask(userQuery) {
|
|
93
111
|
const sessionId = `az-${Date.now()}`;
|
|
94
112
|
const taskType = classifyTaskType(userQuery);
|
|
113
|
+
const planningGuidance = this.getPlanningGuidance(taskType);
|
|
114
|
+
this.evaluationAlerts = [];
|
|
95
115
|
this.state.currentSession = {
|
|
96
116
|
sessionId,
|
|
97
117
|
startTime: new Date().toISOString(),
|
|
98
118
|
taskType,
|
|
99
119
|
userQuery,
|
|
120
|
+
planningGuidance,
|
|
100
121
|
dualResponseUsed: false,
|
|
101
122
|
critiqueIterations: 0,
|
|
102
123
|
finalQuality: 0,
|
|
@@ -226,15 +247,54 @@ export class AlphaZeroOrchestrator {
|
|
|
226
247
|
return intersection.size / union.size > 0.8;
|
|
227
248
|
}
|
|
228
249
|
async evaluateResponses(userQuery, responseA, responseB) {
|
|
229
|
-
|
|
230
|
-
|
|
250
|
+
const alerts = [];
|
|
251
|
+
const addAlert = (message) => {
|
|
252
|
+
const trimmed = message.trim();
|
|
253
|
+
if (trimmed && !alerts.includes(trimmed)) {
|
|
254
|
+
alerts.push(trimmed);
|
|
255
|
+
}
|
|
256
|
+
};
|
|
257
|
+
const fallbackEvaluation = () => {
|
|
258
|
+
const heuristic = heuristicEvaluationFromResponses(responseA, responseB);
|
|
259
|
+
if (heuristic.warnings?.length) {
|
|
260
|
+
heuristic.warnings.forEach(addAlert);
|
|
261
|
+
}
|
|
262
|
+
else {
|
|
263
|
+
addAlert('Used heuristic fallback scorer.');
|
|
264
|
+
}
|
|
265
|
+
heuristic.warnings = Array.from(new Set([...(heuristic.warnings ?? []), ...alerts]));
|
|
266
|
+
this.evaluationAlerts = [...alerts];
|
|
267
|
+
return heuristic;
|
|
268
|
+
};
|
|
269
|
+
const evalPrompt = buildEvaluationPrompt(userQuery, responseA, responseB);
|
|
270
|
+
if (evalPrompt.includes('…[truncated]')) {
|
|
271
|
+
addAlert('Evaluation prompt truncated to fit token budget; scores may be approximate.');
|
|
272
|
+
}
|
|
273
|
+
if (!this.provider) {
|
|
274
|
+
addAlert('No evaluation provider configured; falling back to heuristics.');
|
|
275
|
+
return fallbackEvaluation();
|
|
276
|
+
}
|
|
231
277
|
try {
|
|
232
|
-
const evalPrompt = buildEvaluationPrompt(userQuery, responseA, responseB);
|
|
233
278
|
const evalResponse = await this.provider.generate([{ role: 'user', content: evalPrompt }], []);
|
|
234
|
-
|
|
279
|
+
const parsed = parseEvaluationResponse(evalResponse.content ?? '');
|
|
280
|
+
if (!parsed) {
|
|
281
|
+
addAlert('LLM evaluation returned no structured scores; using heuristic fallback.');
|
|
282
|
+
return fallbackEvaluation();
|
|
283
|
+
}
|
|
284
|
+
if (parsed.warnings?.length) {
|
|
285
|
+
parsed.warnings.forEach(addAlert);
|
|
286
|
+
}
|
|
287
|
+
parsed.warnings = Array.from(new Set([...(parsed.warnings ?? []), ...alerts]));
|
|
288
|
+
this.evaluationAlerts = [...alerts];
|
|
289
|
+
return parsed;
|
|
235
290
|
}
|
|
236
|
-
catch {
|
|
237
|
-
|
|
291
|
+
catch (error) {
|
|
292
|
+
const message = safeErrorMessage(error);
|
|
293
|
+
const isTimeout = /timeout/i.test(message);
|
|
294
|
+
addAlert(isTimeout
|
|
295
|
+
? `Evaluation timed out: ${message}`
|
|
296
|
+
: `Evaluation provider error: ${message}`);
|
|
297
|
+
return fallbackEvaluation();
|
|
238
298
|
}
|
|
239
299
|
}
|
|
240
300
|
// ============================================================================
|
|
@@ -331,6 +391,27 @@ export class AlphaZeroOrchestrator {
|
|
|
331
391
|
const pattern = getBestToolPattern(taskType);
|
|
332
392
|
return pattern?.toolSequence ?? null;
|
|
333
393
|
}
|
|
394
|
+
/**
|
|
395
|
+
* Retrieve learned guidance before the model plans tool calls.
|
|
396
|
+
*/
|
|
397
|
+
getPlanningGuidance(taskType) {
|
|
398
|
+
const cached = this.planningGuidanceCache.get(taskType);
|
|
399
|
+
if (cached) {
|
|
400
|
+
return { ...cached, avoidPatterns: [...cached.avoidPatterns] };
|
|
401
|
+
}
|
|
402
|
+
const pattern = getBestToolPattern(taskType);
|
|
403
|
+
const avoidPatterns = getFailurePatternsToAvoid(taskType).map((p) => p.avoidanceHint || p.description);
|
|
404
|
+
const guidance = {
|
|
405
|
+
recommendedTools: pattern?.toolSequence,
|
|
406
|
+
avoidPatterns,
|
|
407
|
+
summary: [
|
|
408
|
+
pattern ? `Try: ${pattern.toolSequence.join(' → ')}` : 'No recommended pattern yet.',
|
|
409
|
+
avoidPatterns.length ? `Avoid: ${avoidPatterns.slice(0, 3).join(' | ')}` : 'No failures recorded.',
|
|
410
|
+
].join(' | '),
|
|
411
|
+
};
|
|
412
|
+
this.planningGuidanceCache.set(taskType, guidance);
|
|
413
|
+
return guidance;
|
|
414
|
+
}
|
|
334
415
|
/**
|
|
335
416
|
* Get patterns to avoid for a task type
|
|
336
417
|
*/
|
|
@@ -349,6 +430,12 @@ export class AlphaZeroOrchestrator {
|
|
|
349
430
|
learningData: getLearningSummary(),
|
|
350
431
|
};
|
|
351
432
|
}
|
|
433
|
+
/**
|
|
434
|
+
* Get any soft failures surfaced during the last evaluation.
|
|
435
|
+
*/
|
|
436
|
+
getEvaluationAlerts() {
|
|
437
|
+
return [...this.evaluationAlerts];
|
|
438
|
+
}
|
|
352
439
|
// ============================================================================
|
|
353
440
|
// STATUS AND CONFIGURATION
|
|
354
441
|
// ============================================================================
|