erosolar-cli 1.7.261 → 1.7.262
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/README.md +22 -148
- package/dist/core/customCommands.d.ts +1 -0
- package/dist/core/customCommands.d.ts.map +1 -1
- package/dist/core/customCommands.js +3 -0
- package/dist/core/customCommands.js.map +1 -1
- package/dist/core/hooks.d.ts +113 -0
- package/dist/core/hooks.d.ts.map +1 -0
- package/dist/core/hooks.js +267 -0
- package/dist/core/hooks.js.map +1 -0
- package/dist/core/metricsTracker.d.ts +122 -0
- package/dist/core/metricsTracker.d.ts.map +1 -0
- package/dist/{alpha-zero → core}/metricsTracker.js +2 -5
- package/dist/core/metricsTracker.js.map +1 -0
- package/dist/core/toolPreconditions.d.ts.map +1 -1
- package/dist/core/toolPreconditions.js +0 -14
- package/dist/core/toolPreconditions.js.map +1 -1
- package/dist/core/toolRuntime.d.ts.map +1 -1
- package/dist/core/toolRuntime.js +0 -5
- package/dist/core/toolRuntime.js.map +1 -1
- package/dist/core/toolValidation.d.ts.map +1 -1
- package/dist/core/toolValidation.js +14 -3
- package/dist/core/toolValidation.js.map +1 -1
- package/dist/core/validationRunner.d.ts +1 -3
- package/dist/core/validationRunner.d.ts.map +1 -1
- package/dist/core/validationRunner.js.map +1 -1
- package/dist/mcp/sseClient.d.ts.map +1 -1
- package/dist/mcp/sseClient.js +9 -18
- package/dist/mcp/sseClient.js.map +1 -1
- package/dist/plugins/tools/build/buildPlugin.d.ts +0 -6
- package/dist/plugins/tools/build/buildPlugin.d.ts.map +1 -1
- package/dist/plugins/tools/build/buildPlugin.js +4 -10
- package/dist/plugins/tools/build/buildPlugin.js.map +1 -1
- package/dist/shell/interactiveShell.d.ts +10 -2
- package/dist/shell/interactiveShell.d.ts.map +1 -1
- package/dist/shell/interactiveShell.js +182 -36
- package/dist/shell/interactiveShell.js.map +1 -1
- package/dist/shell/terminalInput.d.ts +68 -140
- package/dist/shell/terminalInput.d.ts.map +1 -1
- package/dist/shell/terminalInput.js +448 -667
- package/dist/shell/terminalInput.js.map +1 -1
- package/dist/shell/terminalInputAdapter.d.ts +20 -15
- package/dist/shell/terminalInputAdapter.d.ts.map +1 -1
- package/dist/shell/terminalInputAdapter.js +14 -22
- package/dist/shell/terminalInputAdapter.js.map +1 -1
- package/dist/ui/ShellUIAdapter.d.ts.map +1 -1
- package/dist/ui/ShellUIAdapter.js +13 -12
- package/dist/ui/ShellUIAdapter.js.map +1 -1
- package/dist/ui/display.d.ts +19 -0
- package/dist/ui/display.d.ts.map +1 -1
- package/dist/ui/display.js +131 -33
- package/dist/ui/display.js.map +1 -1
- package/dist/ui/theme.d.ts.map +1 -1
- package/dist/ui/theme.js +6 -8
- package/dist/ui/theme.js.map +1 -1
- package/dist/ui/toolDisplay.d.ts +0 -158
- package/dist/ui/toolDisplay.d.ts.map +1 -1
- package/dist/ui/toolDisplay.js +0 -348
- package/dist/ui/toolDisplay.js.map +1 -1
- package/dist/ui/unified/layout.d.ts +1 -0
- package/dist/ui/unified/layout.d.ts.map +1 -1
- package/dist/ui/unified/layout.js +15 -25
- package/dist/ui/unified/layout.js.map +1 -1
- package/package.json +1 -1
- package/dist/alpha-zero/agentWrapper.d.ts +0 -84
- package/dist/alpha-zero/agentWrapper.d.ts.map +0 -1
- package/dist/alpha-zero/agentWrapper.js +0 -171
- package/dist/alpha-zero/agentWrapper.js.map +0 -1
- package/dist/alpha-zero/codeEvaluator.d.ts +0 -25
- package/dist/alpha-zero/codeEvaluator.d.ts.map +0 -1
- package/dist/alpha-zero/codeEvaluator.js +0 -273
- package/dist/alpha-zero/codeEvaluator.js.map +0 -1
- package/dist/alpha-zero/competitiveRunner.d.ts +0 -66
- package/dist/alpha-zero/competitiveRunner.d.ts.map +0 -1
- package/dist/alpha-zero/competitiveRunner.js +0 -224
- package/dist/alpha-zero/competitiveRunner.js.map +0 -1
- package/dist/alpha-zero/index.d.ts +0 -67
- package/dist/alpha-zero/index.d.ts.map +0 -1
- package/dist/alpha-zero/index.js +0 -99
- package/dist/alpha-zero/index.js.map +0 -1
- package/dist/alpha-zero/introspection.d.ts +0 -128
- package/dist/alpha-zero/introspection.d.ts.map +0 -1
- package/dist/alpha-zero/introspection.js +0 -300
- package/dist/alpha-zero/introspection.js.map +0 -1
- package/dist/alpha-zero/metricsTracker.d.ts +0 -71
- package/dist/alpha-zero/metricsTracker.d.ts.map +0 -1
- package/dist/alpha-zero/metricsTracker.js.map +0 -1
- package/dist/alpha-zero/security/core.d.ts +0 -125
- package/dist/alpha-zero/security/core.d.ts.map +0 -1
- package/dist/alpha-zero/security/core.js +0 -271
- package/dist/alpha-zero/security/core.js.map +0 -1
- package/dist/alpha-zero/security/google.d.ts +0 -125
- package/dist/alpha-zero/security/google.d.ts.map +0 -1
- package/dist/alpha-zero/security/google.js +0 -311
- package/dist/alpha-zero/security/google.js.map +0 -1
- package/dist/alpha-zero/security/googleLoader.d.ts +0 -17
- package/dist/alpha-zero/security/googleLoader.d.ts.map +0 -1
- package/dist/alpha-zero/security/googleLoader.js +0 -41
- package/dist/alpha-zero/security/googleLoader.js.map +0 -1
- package/dist/alpha-zero/security/index.d.ts +0 -29
- package/dist/alpha-zero/security/index.d.ts.map +0 -1
- package/dist/alpha-zero/security/index.js +0 -32
- package/dist/alpha-zero/security/index.js.map +0 -1
- package/dist/alpha-zero/security/simulation.d.ts +0 -124
- package/dist/alpha-zero/security/simulation.d.ts.map +0 -1
- package/dist/alpha-zero/security/simulation.js +0 -277
- package/dist/alpha-zero/security/simulation.js.map +0 -1
- package/dist/alpha-zero/selfModification.d.ts +0 -109
- package/dist/alpha-zero/selfModification.d.ts.map +0 -1
- package/dist/alpha-zero/selfModification.js +0 -233
- package/dist/alpha-zero/selfModification.js.map +0 -1
- package/dist/alpha-zero/types.d.ts +0 -170
- package/dist/alpha-zero/types.d.ts.map +0 -1
- package/dist/alpha-zero/types.js +0 -31
- package/dist/alpha-zero/types.js.map +0 -1
- package/dist/core/aiFlowOptimizer.d.ts +0 -26
- package/dist/core/aiFlowOptimizer.d.ts.map +0 -1
- package/dist/core/aiFlowOptimizer.js +0 -31
- package/dist/core/aiFlowOptimizer.js.map +0 -1
- package/dist/core/aiOptimizationEngine.d.ts +0 -158
- package/dist/core/aiOptimizationEngine.d.ts.map +0 -1
- package/dist/core/aiOptimizationEngine.js +0 -428
- package/dist/core/aiOptimizationEngine.js.map +0 -1
- package/dist/core/aiOptimizationIntegration.d.ts +0 -93
- package/dist/core/aiOptimizationIntegration.d.ts.map +0 -1
- package/dist/core/aiOptimizationIntegration.js +0 -250
- package/dist/core/aiOptimizationIntegration.js.map +0 -1
- package/dist/core/enhancedErrorRecovery.d.ts +0 -100
- package/dist/core/enhancedErrorRecovery.d.ts.map +0 -1
- package/dist/core/enhancedErrorRecovery.js +0 -345
- package/dist/core/enhancedErrorRecovery.js.map +0 -1
- package/dist/core/unified/errors.d.ts +0 -189
- package/dist/core/unified/errors.d.ts.map +0 -1
- package/dist/core/unified/errors.js +0 -497
- package/dist/core/unified/errors.js.map +0 -1
- package/dist/core/unified/index.d.ts +0 -19
- package/dist/core/unified/index.d.ts.map +0 -1
- package/dist/core/unified/index.js +0 -68
- package/dist/core/unified/index.js.map +0 -1
- package/dist/core/unified/schema.d.ts +0 -101
- package/dist/core/unified/schema.d.ts.map +0 -1
- package/dist/core/unified/schema.js +0 -350
- package/dist/core/unified/schema.js.map +0 -1
- package/dist/core/unified/toolRuntime.d.ts +0 -179
- package/dist/core/unified/toolRuntime.d.ts.map +0 -1
- package/dist/core/unified/toolRuntime.js +0 -517
- package/dist/core/unified/toolRuntime.js.map +0 -1
- package/dist/core/unified/tools.d.ts +0 -127
- package/dist/core/unified/tools.d.ts.map +0 -1
- package/dist/core/unified/tools.js +0 -1333
- package/dist/core/unified/tools.js.map +0 -1
- package/dist/core/unified/types.d.ts +0 -352
- package/dist/core/unified/types.d.ts.map +0 -1
- package/dist/core/unified/types.js +0 -12
- package/dist/core/unified/types.js.map +0 -1
- package/dist/core/unified/version.d.ts +0 -209
- package/dist/core/unified/version.d.ts.map +0 -1
- package/dist/core/unified/version.js +0 -454
- package/dist/core/unified/version.js.map +0 -1
- package/dist/security/active-stack-security.d.ts +0 -112
- package/dist/security/active-stack-security.d.ts.map +0 -1
- package/dist/security/active-stack-security.js +0 -296
- package/dist/security/active-stack-security.js.map +0 -1
- package/dist/security/advanced-persistence-research.d.ts +0 -92
- package/dist/security/advanced-persistence-research.d.ts.map +0 -1
- package/dist/security/advanced-persistence-research.js +0 -195
- package/dist/security/advanced-persistence-research.js.map +0 -1
- package/dist/security/advanced-targeting.d.ts +0 -119
- package/dist/security/advanced-targeting.d.ts.map +0 -1
- package/dist/security/advanced-targeting.js +0 -233
- package/dist/security/advanced-targeting.js.map +0 -1
- package/dist/security/assessment/vulnerabilityAssessment.d.ts +0 -104
- package/dist/security/assessment/vulnerabilityAssessment.d.ts.map +0 -1
- package/dist/security/assessment/vulnerabilityAssessment.js +0 -315
- package/dist/security/assessment/vulnerabilityAssessment.js.map +0 -1
- package/dist/security/authorization/securityAuthorization.d.ts +0 -88
- package/dist/security/authorization/securityAuthorization.d.ts.map +0 -1
- package/dist/security/authorization/securityAuthorization.js +0 -172
- package/dist/security/authorization/securityAuthorization.js.map +0 -1
- package/dist/security/comprehensive-targeting.d.ts +0 -85
- package/dist/security/comprehensive-targeting.d.ts.map +0 -1
- package/dist/security/comprehensive-targeting.js +0 -438
- package/dist/security/comprehensive-targeting.js.map +0 -1
- package/dist/security/global-security-integration.d.ts +0 -91
- package/dist/security/global-security-integration.d.ts.map +0 -1
- package/dist/security/global-security-integration.js +0 -218
- package/dist/security/global-security-integration.js.map +0 -1
- package/dist/security/index.d.ts +0 -38
- package/dist/security/index.d.ts.map +0 -1
- package/dist/security/index.js +0 -47
- package/dist/security/index.js.map +0 -1
- package/dist/security/persistence-analyzer.d.ts +0 -56
- package/dist/security/persistence-analyzer.d.ts.map +0 -1
- package/dist/security/persistence-analyzer.js +0 -187
- package/dist/security/persistence-analyzer.js.map +0 -1
- package/dist/security/persistence-cli.d.ts +0 -36
- package/dist/security/persistence-cli.d.ts.map +0 -1
- package/dist/security/persistence-cli.js +0 -160
- package/dist/security/persistence-cli.js.map +0 -1
- package/dist/security/persistence-research.d.ts +0 -92
- package/dist/security/persistence-research.d.ts.map +0 -1
- package/dist/security/persistence-research.js +0 -364
- package/dist/security/persistence-research.js.map +0 -1
- package/dist/security/research/persistenceResearch.d.ts +0 -97
- package/dist/security/research/persistenceResearch.d.ts.map +0 -1
- package/dist/security/research/persistenceResearch.js +0 -282
- package/dist/security/research/persistenceResearch.js.map +0 -1
- package/dist/security/security-integration.d.ts +0 -74
- package/dist/security/security-integration.d.ts.map +0 -1
- package/dist/security/security-integration.js +0 -137
- package/dist/security/security-integration.js.map +0 -1
- package/dist/security/security-testing-framework.d.ts +0 -112
- package/dist/security/security-testing-framework.d.ts.map +0 -1
- package/dist/security/security-testing-framework.js +0 -364
- package/dist/security/security-testing-framework.js.map +0 -1
- package/dist/security/simulation/attackSimulation.d.ts +0 -93
- package/dist/security/simulation/attackSimulation.d.ts.map +0 -1
- package/dist/security/simulation/attackSimulation.js +0 -341
- package/dist/security/simulation/attackSimulation.js.map +0 -1
- package/dist/security/strategic-operations.d.ts +0 -100
- package/dist/security/strategic-operations.d.ts.map +0 -1
- package/dist/security/strategic-operations.js +0 -276
- package/dist/security/strategic-operations.js.map +0 -1
- package/dist/security/tool-security-wrapper.d.ts +0 -58
- package/dist/security/tool-security-wrapper.d.ts.map +0 -1
- package/dist/security/tool-security-wrapper.js +0 -156
- package/dist/security/tool-security-wrapper.js.map +0 -1
- package/dist/shell/claudeCodeStreamHandler.d.ts +0 -145
- package/dist/shell/claudeCodeStreamHandler.d.ts.map +0 -1
- package/dist/shell/claudeCodeStreamHandler.js +0 -322
- package/dist/shell/claudeCodeStreamHandler.js.map +0 -1
- package/dist/shell/inputQueueManager.d.ts +0 -144
- package/dist/shell/inputQueueManager.d.ts.map +0 -1
- package/dist/shell/inputQueueManager.js +0 -290
- package/dist/shell/inputQueueManager.js.map +0 -1
- package/dist/shell/streamingOutputManager.d.ts +0 -115
- package/dist/shell/streamingOutputManager.d.ts.map +0 -1
- package/dist/shell/streamingOutputManager.js +0 -225
- package/dist/shell/streamingOutputManager.js.map +0 -1
- package/dist/ui/persistentPrompt.d.ts +0 -50
- package/dist/ui/persistentPrompt.d.ts.map +0 -1
- package/dist/ui/persistentPrompt.js +0 -92
- package/dist/ui/persistentPrompt.js.map +0 -1
- package/dist/ui/terminalUISchema.d.ts +0 -195
- package/dist/ui/terminalUISchema.d.ts.map +0 -1
- package/dist/ui/terminalUISchema.js +0 -113
- package/dist/ui/terminalUISchema.js.map +0 -1
- package/scripts/deploy-security-capabilities.js +0 -178
|
@@ -1,345 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Enhanced Error Recovery System
|
|
3
|
-
*
|
|
4
|
-
* Provides intelligent error recovery with:
|
|
5
|
-
* - Multi-strategy error handling
|
|
6
|
-
* - Context-aware recovery actions
|
|
7
|
-
* - Progressive escalation
|
|
8
|
-
* - Learning from past recoveries
|
|
9
|
-
* - Integration with AI optimization engine
|
|
10
|
-
*
|
|
11
|
-
* @license MIT
|
|
12
|
-
* @author Bo Shang
|
|
13
|
-
*/
|
|
14
|
-
import { AIOptimizationEngine } from './aiOptimizationEngine.js';
|
|
15
|
-
export var RecoveryLevel;
|
|
16
|
-
(function (RecoveryLevel) {
|
|
17
|
-
RecoveryLevel["IMMEDIATE"] = "immediate";
|
|
18
|
-
RecoveryLevel["ASSISTED"] = "assisted";
|
|
19
|
-
RecoveryLevel["ESCALATED"] = "escalated";
|
|
20
|
-
RecoveryLevel["MANUAL"] = "manual"; // Full manual intervention required
|
|
21
|
-
})(RecoveryLevel || (RecoveryLevel = {}));
|
|
22
|
-
export class EnhancedErrorRecovery {
|
|
23
|
-
optimizationEngine;
|
|
24
|
-
recoveryHistory = [];
|
|
25
|
-
learnedPatterns = new Map();
|
|
26
|
-
constructor(options = {}) {
|
|
27
|
-
this.optimizationEngine = new AIOptimizationEngine(options);
|
|
28
|
-
}
|
|
29
|
-
/**
|
|
30
|
-
* Analyze error and generate comprehensive recovery plan
|
|
31
|
-
*/
|
|
32
|
-
analyzeError(context) {
|
|
33
|
-
const errorAnalysis = this.analyzeErrorType(context.error);
|
|
34
|
-
const recoveryLevel = this.determineRecoveryLevel(context, errorAnalysis);
|
|
35
|
-
const primaryAction = this.generatePrimaryRecoveryAction(context, errorAnalysis);
|
|
36
|
-
const alternativeActions = this.generateAlternativeActions(context, errorAnalysis);
|
|
37
|
-
const estimatedTime = this.estimateRecoveryTime(context, errorAnalysis);
|
|
38
|
-
const successProbability = this.calculateSuccessProbability(context, errorAnalysis);
|
|
39
|
-
const rollbackPlan = this.generateRollbackPlan(context);
|
|
40
|
-
const validationSteps = this.generateValidationSteps(context);
|
|
41
|
-
return {
|
|
42
|
-
level: recoveryLevel,
|
|
43
|
-
primaryAction,
|
|
44
|
-
alternativeActions,
|
|
45
|
-
estimatedTime,
|
|
46
|
-
successProbability,
|
|
47
|
-
rollbackPlan,
|
|
48
|
-
validationSteps
|
|
49
|
-
};
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* Execute recovery plan with monitoring and learning
|
|
53
|
-
*/
|
|
54
|
-
async executeRecovery(plan, context) {
|
|
55
|
-
const startTime = Date.now();
|
|
56
|
-
let success = false;
|
|
57
|
-
let output = '';
|
|
58
|
-
let learnedPattern;
|
|
59
|
-
try {
|
|
60
|
-
// Execute primary action
|
|
61
|
-
if (plan.primaryAction.autoExecutable && !plan.primaryAction.requiresConfirmation) {
|
|
62
|
-
const result = await this.executeRecoveryAction(plan.primaryAction);
|
|
63
|
-
output = result.output;
|
|
64
|
-
success = result.success;
|
|
65
|
-
if (success) {
|
|
66
|
-
learnedPattern = this.extractPatternFromSuccess(context, plan.primaryAction);
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
// Record recovery attempt
|
|
70
|
-
const recoveryAttempt = {
|
|
71
|
-
timestamp: new Date(),
|
|
72
|
-
error: context.error,
|
|
73
|
-
recoveryAction: plan.primaryAction.action,
|
|
74
|
-
success,
|
|
75
|
-
durationMs: Date.now() - startTime,
|
|
76
|
-
learnedPattern
|
|
77
|
-
};
|
|
78
|
-
this.recoveryHistory.push(recoveryAttempt);
|
|
79
|
-
if (learnedPattern) {
|
|
80
|
-
this.learnedPatterns.set(context.errorType, learnedPattern);
|
|
81
|
-
}
|
|
82
|
-
return { success, output, learnedPattern };
|
|
83
|
-
}
|
|
84
|
-
catch (error) {
|
|
85
|
-
const recoveryAttempt = {
|
|
86
|
-
timestamp: new Date(),
|
|
87
|
-
error: context.error,
|
|
88
|
-
recoveryAction: plan.primaryAction.action,
|
|
89
|
-
success: false,
|
|
90
|
-
durationMs: Date.now() - startTime,
|
|
91
|
-
learnedPattern: `Failed recovery: ${error}`
|
|
92
|
-
};
|
|
93
|
-
this.recoveryHistory.push(recoveryAttempt);
|
|
94
|
-
return {
|
|
95
|
-
success: false,
|
|
96
|
-
output: `Recovery failed: ${error}`,
|
|
97
|
-
learnedPattern: `Avoid: ${plan.primaryAction.action} for ${context.errorType}`
|
|
98
|
-
};
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
/**
|
|
102
|
-
* Get recovery statistics and insights
|
|
103
|
-
*/
|
|
104
|
-
getRecoveryInsights() {
|
|
105
|
-
const totalRecoveries = this.recoveryHistory.length;
|
|
106
|
-
const successfulRecoveries = this.recoveryHistory.filter(r => r.success).length;
|
|
107
|
-
const successRate = totalRecoveries > 0 ? successfulRecoveries / totalRecoveries : 0;
|
|
108
|
-
const averageRecoveryTime = totalRecoveries > 0
|
|
109
|
-
? this.recoveryHistory.reduce((sum, r) => sum + r.durationMs, 0) / totalRecoveries
|
|
110
|
-
: 0;
|
|
111
|
-
const errorCounts = new Map();
|
|
112
|
-
this.recoveryHistory.forEach(r => {
|
|
113
|
-
errorCounts.set(r.error, (errorCounts.get(r.error) || 0) + 1);
|
|
114
|
-
});
|
|
115
|
-
const mostCommonErrors = Array.from(errorCounts.entries())
|
|
116
|
-
.sort((a, b) => b[1] - a[1])
|
|
117
|
-
.slice(0, 5)
|
|
118
|
-
.map(([error]) => error);
|
|
119
|
-
const learnedPatterns = Array.from(this.learnedPatterns.entries())
|
|
120
|
-
.map(([errorType, pattern]) => `${errorType}: ${pattern}`);
|
|
121
|
-
return {
|
|
122
|
-
totalRecoveries,
|
|
123
|
-
successRate,
|
|
124
|
-
averageRecoveryTime,
|
|
125
|
-
mostCommonErrors,
|
|
126
|
-
learnedPatterns
|
|
127
|
-
};
|
|
128
|
-
}
|
|
129
|
-
// Private implementation methods
|
|
130
|
-
analyzeErrorType(error) {
|
|
131
|
-
const errorLower = error.toLowerCase();
|
|
132
|
-
// Error categorization
|
|
133
|
-
let category = 'unknown';
|
|
134
|
-
let severity = 'medium';
|
|
135
|
-
let autoFixable = false;
|
|
136
|
-
const patterns = [];
|
|
137
|
-
// TypeScript/compilation errors
|
|
138
|
-
if (errorLower.includes('ts') && errorLower.includes('error')) {
|
|
139
|
-
category = 'compilation';
|
|
140
|
-
severity = 'high';
|
|
141
|
-
autoFixable = true;
|
|
142
|
-
patterns.push('typescript_error');
|
|
143
|
-
}
|
|
144
|
-
// Test failures
|
|
145
|
-
if (errorLower.includes('fail') && errorLower.includes('test')) {
|
|
146
|
-
category = 'test';
|
|
147
|
-
severity = 'medium';
|
|
148
|
-
autoFixable = false;
|
|
149
|
-
patterns.push('test_failure');
|
|
150
|
-
}
|
|
151
|
-
// File not found
|
|
152
|
-
if (errorLower.includes('file not found') || errorLower.includes('enoent')) {
|
|
153
|
-
category = 'file';
|
|
154
|
-
severity = 'medium';
|
|
155
|
-
autoFixable = true;
|
|
156
|
-
patterns.push('file_not_found');
|
|
157
|
-
}
|
|
158
|
-
// Permission errors
|
|
159
|
-
if (errorLower.includes('permission') || errorLower.includes('eacces')) {
|
|
160
|
-
category = 'permission';
|
|
161
|
-
severity = 'high';
|
|
162
|
-
autoFixable = false;
|
|
163
|
-
patterns.push('permission_error');
|
|
164
|
-
}
|
|
165
|
-
// Network errors
|
|
166
|
-
if (errorLower.includes('network') || errorLower.includes('connection')) {
|
|
167
|
-
category = 'network';
|
|
168
|
-
severity = 'medium';
|
|
169
|
-
autoFixable = false;
|
|
170
|
-
patterns.push('network_error');
|
|
171
|
-
}
|
|
172
|
-
return { category, severity, autoFixable, patterns };
|
|
173
|
-
}
|
|
174
|
-
determineRecoveryLevel(context, errorAnalysis) {
|
|
175
|
-
// Check if we have learned patterns for this error
|
|
176
|
-
if (this.learnedPatterns.has(context.errorType) && errorAnalysis.autoFixable) {
|
|
177
|
-
return RecoveryLevel.IMMEDIATE;
|
|
178
|
-
}
|
|
179
|
-
// Check severity and auto-fixability
|
|
180
|
-
if (errorAnalysis.severity === 'low' && errorAnalysis.autoFixable) {
|
|
181
|
-
return RecoveryLevel.IMMEDIATE;
|
|
182
|
-
}
|
|
183
|
-
if (errorAnalysis.severity === 'medium' && errorAnalysis.autoFixable) {
|
|
184
|
-
return RecoveryLevel.ASSISTED;
|
|
185
|
-
}
|
|
186
|
-
if (errorAnalysis.severity === 'high' || errorAnalysis.severity === 'critical') {
|
|
187
|
-
return RecoveryLevel.ESCALATED;
|
|
188
|
-
}
|
|
189
|
-
// Check recovery history for similar errors
|
|
190
|
-
const similarRecoveries = this.recoveryHistory.filter(r => r.error.includes(context.errorType) && r.success);
|
|
191
|
-
if (similarRecoveries.length > 0) {
|
|
192
|
-
return RecoveryLevel.ASSISTED;
|
|
193
|
-
}
|
|
194
|
-
return RecoveryLevel.MANUAL;
|
|
195
|
-
}
|
|
196
|
-
generatePrimaryRecoveryAction(context, errorAnalysis) {
|
|
197
|
-
// Use learned patterns if available
|
|
198
|
-
const learnedPattern = this.learnedPatterns.get(context.errorType);
|
|
199
|
-
if (learnedPattern) {
|
|
200
|
-
return this.parseLearnedPattern(learnedPattern, context);
|
|
201
|
-
}
|
|
202
|
-
// Generate based on error category
|
|
203
|
-
switch (errorAnalysis.category) {
|
|
204
|
-
case 'compilation':
|
|
205
|
-
return {
|
|
206
|
-
action: 'Run TypeScript validation to get detailed errors',
|
|
207
|
-
tool: 'validate_typescript',
|
|
208
|
-
parameters: {},
|
|
209
|
-
description: 'Get comprehensive TypeScript error details',
|
|
210
|
-
confidence: 0.9,
|
|
211
|
-
autoExecutable: true,
|
|
212
|
-
requiresConfirmation: false
|
|
213
|
-
};
|
|
214
|
-
case 'test':
|
|
215
|
-
return {
|
|
216
|
-
action: 'Run tests with detailed output',
|
|
217
|
-
tool: 'run_tests',
|
|
218
|
-
parameters: {},
|
|
219
|
-
description: 'Get detailed test failure information',
|
|
220
|
-
confidence: 0.8,
|
|
221
|
-
autoExecutable: true,
|
|
222
|
-
requiresConfirmation: false
|
|
223
|
-
};
|
|
224
|
-
case 'file':
|
|
225
|
-
return {
|
|
226
|
-
action: 'Search for similar files',
|
|
227
|
-
tool: 'search_files',
|
|
228
|
-
parameters: { pattern: '**/*' },
|
|
229
|
-
description: 'Find available files to understand project structure',
|
|
230
|
-
confidence: 0.7,
|
|
231
|
-
autoExecutable: true,
|
|
232
|
-
requiresConfirmation: false
|
|
233
|
-
};
|
|
234
|
-
case 'permission':
|
|
235
|
-
return {
|
|
236
|
-
action: 'Check file permissions',
|
|
237
|
-
tool: 'execute_bash',
|
|
238
|
-
parameters: { command: 'ls -la' },
|
|
239
|
-
description: 'Check file permissions and ownership',
|
|
240
|
-
confidence: 0.6,
|
|
241
|
-
autoExecutable: true,
|
|
242
|
-
requiresConfirmation: true
|
|
243
|
-
};
|
|
244
|
-
default:
|
|
245
|
-
return {
|
|
246
|
-
action: 'Analyze current state',
|
|
247
|
-
tool: 'execute_bash',
|
|
248
|
-
parameters: { command: 'git status && npm run type-check' },
|
|
249
|
-
description: 'Get comprehensive system state information',
|
|
250
|
-
confidence: 0.5,
|
|
251
|
-
autoExecutable: true,
|
|
252
|
-
requiresConfirmation: false
|
|
253
|
-
};
|
|
254
|
-
}
|
|
255
|
-
}
|
|
256
|
-
generateAlternativeActions(context, errorAnalysis) {
|
|
257
|
-
const alternatives = [];
|
|
258
|
-
// Add rollback alternative for destructive operations
|
|
259
|
-
if (context.currentState.filesModified.length > 0) {
|
|
260
|
-
alternatives.push({
|
|
261
|
-
action: 'Rollback all changes',
|
|
262
|
-
tool: 'execute_bash',
|
|
263
|
-
parameters: { command: 'git reset --hard HEAD' },
|
|
264
|
-
description: 'Revert all changes to last known good state',
|
|
265
|
-
confidence: 1.0,
|
|
266
|
-
autoExecutable: true,
|
|
267
|
-
requiresConfirmation: true
|
|
268
|
-
});
|
|
269
|
-
}
|
|
270
|
-
// Add validation alternative
|
|
271
|
-
alternatives.push({
|
|
272
|
-
action: 'Run comprehensive validation',
|
|
273
|
-
tool: 'validate_all_changes',
|
|
274
|
-
parameters: {},
|
|
275
|
-
description: 'Run full validation suite to identify all issues',
|
|
276
|
-
confidence: 0.8,
|
|
277
|
-
autoExecutable: true,
|
|
278
|
-
requiresConfirmation: false
|
|
279
|
-
});
|
|
280
|
-
return alternatives.slice(0, 3); // Return top 3 alternatives
|
|
281
|
-
}
|
|
282
|
-
estimateRecoveryTime(context, errorAnalysis) {
|
|
283
|
-
const baseTimes = {
|
|
284
|
-
compilation: 30,
|
|
285
|
-
test: 60,
|
|
286
|
-
file: 15,
|
|
287
|
-
permission: 45,
|
|
288
|
-
network: 120,
|
|
289
|
-
unknown: 30
|
|
290
|
-
};
|
|
291
|
-
return baseTimes[errorAnalysis.category];
|
|
292
|
-
}
|
|
293
|
-
calculateSuccessProbability(context, errorAnalysis) {
|
|
294
|
-
let probability = 0.5;
|
|
295
|
-
// Adjust based on error category
|
|
296
|
-
const categoryProbabilities = {
|
|
297
|
-
compilation: 0.8,
|
|
298
|
-
test: 0.6,
|
|
299
|
-
file: 0.9,
|
|
300
|
-
permission: 0.4,
|
|
301
|
-
network: 0.3,
|
|
302
|
-
unknown: 0.5
|
|
303
|
-
};
|
|
304
|
-
probability = categoryProbabilities[errorAnalysis.category];
|
|
305
|
-
// Adjust based on recovery history
|
|
306
|
-
const similarSuccesses = this.recoveryHistory.filter(r => r.error.includes(context.errorType) && r.success).length;
|
|
307
|
-
const similarFailures = this.recoveryHistory.filter(r => r.error.includes(context.errorType) && !r.success).length;
|
|
308
|
-
const totalSimilar = similarSuccesses + similarFailures;
|
|
309
|
-
if (totalSimilar > 0) {
|
|
310
|
-
const historicalProbability = similarSuccesses / totalSimilar;
|
|
311
|
-
probability = (probability + historicalProbability) / 2;
|
|
312
|
-
}
|
|
313
|
-
return probability;
|
|
314
|
-
}
|
|
315
|
-
generateRollbackPlan(context) {
|
|
316
|
-
const rollbackSteps = [];
|
|
317
|
-
if (context.currentState.filesModified.length > 0) {
|
|
318
|
-
rollbackSteps.push('git reset --hard HEAD');
|
|
319
|
-
rollbackSteps.push('Remove any untracked files if necessary');
|
|
320
|
-
}
|
|
321
|
-
return rollbackSteps;
|
|
322
|
-
}
|
|
323
|
-
generateValidationSteps(context) {
|
|
324
|
-
return [
|
|
325
|
-
'Verify error is resolved',
|
|
326
|
-
'Run TypeScript type checking',
|
|
327
|
-
'Run build process',
|
|
328
|
-
'Execute relevant tests',
|
|
329
|
-
'Confirm system is in stable state'
|
|
330
|
-
];
|
|
331
|
-
}
|
|
332
|
-
async executeRecoveryAction(action) {
|
|
333
|
-
// This would integrate with the actual tool execution system
|
|
334
|
-
// For now, return a mock implementation
|
|
335
|
-
return {
|
|
336
|
-
success: true,
|
|
337
|
-
output: `Executed: ${action.action}`
|
|
338
|
-
};
|
|
339
|
-
}
|
|
340
|
-
extractPatternFromSuccess(context, action) {
|
|
341
|
-
return `${context.errorType} -> ${action.action} (${action.tool})`;
|
|
342
|
-
}
|
|
343
|
-
parseLearnedPattern(pattern, context) { n; }
|
|
344
|
-
} // Simple pattern parsing - in practice this would be more sophisticated\n const parts = pattern.split(' -> ');\n if (parts.length === 2) {\n const [errorType, recovery] = parts;\n const [action, tool] = recovery.split(' (');\n \n return {\n action: action.trim(),\n tool: tool ? tool.replace(')', '') : undefined,\n parameters: {},\n description: `Learned recovery pattern for ${errorType}`,\n confidence: 0.9,\n autoExecutable: true,\n requiresConfirmation: false\n };\n }\n\n // Fallback to generic recovery\n return {\n action: 'Use learned recovery pattern',\n description: `Apply previously successful recovery for ${context.errorType}`,\n confidence: 0.8,\n autoExecutable: true,\n requiresConfirmation: false\n };\n }\n}
|
|
345
|
-
//# sourceMappingURL=enhancedErrorRecovery.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"enhancedErrorRecovery.js","sourceRoot":"","sources":["../../src/core/enhancedErrorRecovery.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,189 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Unified Error Handling
|
|
3
|
-
*
|
|
4
|
-
* Structured error system with severity levels, auto-fix capabilities,
|
|
5
|
-
* and recovery strategies.
|
|
6
|
-
*
|
|
7
|
-
* Principal Investigator: Bo Shang
|
|
8
|
-
* Framework: erosolar-cli
|
|
9
|
-
*/
|
|
10
|
-
import type { ErrorSeverity, ErrorCategory, ErrorSuggestion, StructuredErrorData } from './types.js';
|
|
11
|
-
/**
|
|
12
|
-
* Base class for all structured errors
|
|
13
|
-
*/
|
|
14
|
-
export declare abstract class StructuredError extends Error {
|
|
15
|
-
readonly code: string;
|
|
16
|
-
readonly severity: ErrorSeverity;
|
|
17
|
-
readonly category: ErrorCategory;
|
|
18
|
-
readonly suggestions: ErrorSuggestion[];
|
|
19
|
-
readonly recoverable: boolean;
|
|
20
|
-
readonly metadata: Record<string, unknown>;
|
|
21
|
-
readonly timestamp: number;
|
|
22
|
-
constructor(message: string, options?: {
|
|
23
|
-
code?: string;
|
|
24
|
-
severity?: ErrorSeverity;
|
|
25
|
-
category?: ErrorCategory;
|
|
26
|
-
suggestions?: ErrorSuggestion[];
|
|
27
|
-
recoverable?: boolean;
|
|
28
|
-
metadata?: Record<string, unknown>;
|
|
29
|
-
});
|
|
30
|
-
/**
|
|
31
|
-
* Infer error code from message
|
|
32
|
-
*/
|
|
33
|
-
protected inferCode(message: string): string;
|
|
34
|
-
/**
|
|
35
|
-
* Infer category from message
|
|
36
|
-
*/
|
|
37
|
-
protected inferCategory(message: string): ErrorCategory;
|
|
38
|
-
/**
|
|
39
|
-
* Infer if error is recoverable
|
|
40
|
-
*/
|
|
41
|
-
protected inferRecoverable(): boolean;
|
|
42
|
-
/**
|
|
43
|
-
* Try to auto-fix the error
|
|
44
|
-
*/
|
|
45
|
-
tryAutoFix(): Promise<{
|
|
46
|
-
fixed: boolean;
|
|
47
|
-
result?: unknown;
|
|
48
|
-
error?: string;
|
|
49
|
-
}>;
|
|
50
|
-
/**
|
|
51
|
-
* Convert to plain object
|
|
52
|
-
*/
|
|
53
|
-
toJSON(): StructuredErrorData;
|
|
54
|
-
/**
|
|
55
|
-
* Format for display
|
|
56
|
-
*/
|
|
57
|
-
toDisplayString(): string;
|
|
58
|
-
}
|
|
59
|
-
/**
|
|
60
|
-
* Error for dangerous operations that could cause harm
|
|
61
|
-
*/
|
|
62
|
-
export declare class DangerousOperationError extends StructuredError {
|
|
63
|
-
readonly operation: string;
|
|
64
|
-
readonly safeAlternatives: string[];
|
|
65
|
-
constructor(message: string, operation: string, safeAlternatives?: string[], metadata?: Record<string, unknown>);
|
|
66
|
-
}
|
|
67
|
-
/**
|
|
68
|
-
* Error for blocked operations due to policy
|
|
69
|
-
*/
|
|
70
|
-
export declare class BlockedOperationError extends StructuredError {
|
|
71
|
-
readonly operation: string;
|
|
72
|
-
readonly policy: string;
|
|
73
|
-
constructor(message: string, operation: string, policy: string, metadata?: Record<string, unknown>);
|
|
74
|
-
}
|
|
75
|
-
/**
|
|
76
|
-
* Error for validation failures
|
|
77
|
-
*/
|
|
78
|
-
export declare class ValidationError extends StructuredError {
|
|
79
|
-
readonly field: string;
|
|
80
|
-
readonly expectedType?: string;
|
|
81
|
-
readonly actualValue?: unknown;
|
|
82
|
-
constructor(message: string, field: string, options?: {
|
|
83
|
-
expectedType?: string;
|
|
84
|
-
actualValue?: unknown;
|
|
85
|
-
examples?: string[];
|
|
86
|
-
metadata?: Record<string, unknown>;
|
|
87
|
-
});
|
|
88
|
-
}
|
|
89
|
-
/**
|
|
90
|
-
* Error for resource limits
|
|
91
|
-
*/
|
|
92
|
-
export declare class ResourceLimitError extends StructuredError {
|
|
93
|
-
readonly resource: string;
|
|
94
|
-
readonly limit: number;
|
|
95
|
-
readonly current: number;
|
|
96
|
-
constructor(message: string, resource: string, limit: number, current: number, metadata?: Record<string, unknown>);
|
|
97
|
-
}
|
|
98
|
-
/**
|
|
99
|
-
* Error for context overflow
|
|
100
|
-
*/
|
|
101
|
-
export declare class ContextOverflowError extends StructuredError {
|
|
102
|
-
readonly maxTokens: number;
|
|
103
|
-
readonly currentTokens: number;
|
|
104
|
-
readonly truncatable: boolean;
|
|
105
|
-
constructor(message: string, maxTokens: number, currentTokens: number, truncatable?: boolean, metadata?: Record<string, unknown>);
|
|
106
|
-
}
|
|
107
|
-
/**
|
|
108
|
-
* Error for provider/API issues
|
|
109
|
-
*/
|
|
110
|
-
export declare class ProviderError extends StructuredError {
|
|
111
|
-
readonly providerId: string;
|
|
112
|
-
readonly statusCode?: number;
|
|
113
|
-
readonly retryable: boolean;
|
|
114
|
-
constructor(message: string, providerId: string, options?: {
|
|
115
|
-
statusCode?: number;
|
|
116
|
-
retryable?: boolean;
|
|
117
|
-
retryAfterMs?: number;
|
|
118
|
-
metadata?: Record<string, unknown>;
|
|
119
|
-
});
|
|
120
|
-
}
|
|
121
|
-
/**
|
|
122
|
-
* Error for tool execution failures
|
|
123
|
-
*/
|
|
124
|
-
export declare class ToolExecutionError extends StructuredError {
|
|
125
|
-
readonly toolName: string;
|
|
126
|
-
readonly phase: 'validation' | 'execution' | 'timeout';
|
|
127
|
-
constructor(message: string, toolName: string, phase: 'validation' | 'execution' | 'timeout', metadata?: Record<string, unknown>);
|
|
128
|
-
}
|
|
129
|
-
/**
|
|
130
|
-
* Error for network issues
|
|
131
|
-
*/
|
|
132
|
-
export declare class NetworkError extends StructuredError {
|
|
133
|
-
readonly url?: string;
|
|
134
|
-
readonly retryable: boolean;
|
|
135
|
-
constructor(message: string, options?: {
|
|
136
|
-
url?: string;
|
|
137
|
-
retryable?: boolean;
|
|
138
|
-
metadata?: Record<string, unknown>;
|
|
139
|
-
});
|
|
140
|
-
}
|
|
141
|
-
export type RecoveryStrategy = 'retry' | 'fallback' | 'skip' | 'abort' | 'prompt_user';
|
|
142
|
-
export interface RecoveryAttempt {
|
|
143
|
-
strategy: RecoveryStrategy;
|
|
144
|
-
success: boolean;
|
|
145
|
-
result?: unknown;
|
|
146
|
-
error?: string;
|
|
147
|
-
}
|
|
148
|
-
/**
|
|
149
|
-
* Error recovery manager
|
|
150
|
-
*/
|
|
151
|
-
export declare class ErrorRecoveryManager {
|
|
152
|
-
private maxRetries;
|
|
153
|
-
private retryDelayMs;
|
|
154
|
-
constructor(options?: {
|
|
155
|
-
maxRetries?: number;
|
|
156
|
-
retryDelayMs?: number;
|
|
157
|
-
});
|
|
158
|
-
/**
|
|
159
|
-
* Attempt recovery for an error
|
|
160
|
-
*/
|
|
161
|
-
attemptRecovery(error: StructuredError, strategies: RecoveryStrategy[], context?: {
|
|
162
|
-
retryFn?: () => Promise<unknown>;
|
|
163
|
-
fallbackFn?: () => Promise<unknown>;
|
|
164
|
-
}): Promise<RecoveryAttempt>;
|
|
165
|
-
/**
|
|
166
|
-
* Try a specific recovery strategy
|
|
167
|
-
*/
|
|
168
|
-
private tryStrategy;
|
|
169
|
-
/**
|
|
170
|
-
* Retry with exponential backoff
|
|
171
|
-
*/
|
|
172
|
-
private retryWithBackoff;
|
|
173
|
-
}
|
|
174
|
-
/**
|
|
175
|
-
* Check if an error is a structured error
|
|
176
|
-
*/
|
|
177
|
-
export declare function isStructuredError(error: unknown): error is StructuredError;
|
|
178
|
-
/**
|
|
179
|
-
* Wrap any error as a structured error
|
|
180
|
-
*/
|
|
181
|
-
export declare function wrapError(error: unknown, category?: ErrorCategory): StructuredError;
|
|
182
|
-
/**
|
|
183
|
-
* Create error recovery manager
|
|
184
|
-
*/
|
|
185
|
-
export declare function createErrorRecoveryManager(options?: {
|
|
186
|
-
maxRetries?: number;
|
|
187
|
-
retryDelayMs?: number;
|
|
188
|
-
}): ErrorRecoveryManager;
|
|
189
|
-
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/core/unified/errors.ts"],"names":[],"mappings":"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"}
|