snow-flow 1.1.75 → 1.1.77
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/.claude-flow/queen/queen-memory.db +0 -0
- package/.claude-flow/queen-test/test-memory.db +0 -0
- package/.claude-flow/queen-test/test-memory.db-agents +0 -0
- package/.claude-flow/queen-test/test-memory.db-import +0 -0
- package/.claude-flow/queen-test/test-memory.db-memory +0 -0
- package/.claude-flow/queen-test/test-memory.db-neural +0 -0
- package/CLAUDE.md +145 -13
- package/README.md +117 -50
- package/dist/agents/base-agent.d.ts +92 -0
- package/dist/agents/base-agent.d.ts.map +1 -0
- package/dist/agents/base-agent.js +228 -0
- package/dist/agents/base-agent.js.map +1 -0
- package/dist/agents/coordinator.d.ts +200 -0
- package/dist/agents/coordinator.d.ts.map +1 -0
- package/dist/agents/coordinator.js +775 -0
- package/dist/agents/coordinator.js.map +1 -0
- package/dist/agents/flow-builder-agent.d.ts +18 -0
- package/dist/agents/flow-builder-agent.d.ts.map +1 -0
- package/dist/agents/flow-builder-agent.js +536 -0
- package/dist/agents/flow-builder-agent.js.map +1 -0
- package/dist/agents/index.d.ts +18 -0
- package/dist/agents/index.d.ts.map +1 -0
- package/dist/agents/index.js +61 -0
- package/dist/agents/index.js.map +1 -0
- package/dist/agents/queen-agent-example.d.ts +23 -0
- package/dist/agents/queen-agent-example.d.ts.map +1 -0
- package/dist/agents/queen-agent-example.js +241 -0
- package/dist/agents/queen-agent-example.js.map +1 -0
- package/dist/agents/queen-agent.d.ts +180 -0
- package/dist/agents/queen-agent.d.ts.map +1 -0
- package/dist/agents/queen-agent.js +909 -0
- package/dist/agents/queen-agent.js.map +1 -0
- package/dist/agents/queen-agent.test.d.ts +6 -0
- package/dist/agents/queen-agent.test.d.ts.map +1 -0
- package/dist/agents/queen-agent.test.js.map +1 -0
- package/dist/agents/script-writer-agent.d.ts +22 -0
- package/dist/agents/script-writer-agent.d.ts.map +1 -0
- package/dist/agents/script-writer-agent.js +695 -0
- package/dist/agents/script-writer-agent.js.map +1 -0
- package/dist/agents/security-agent.d.ts +23 -0
- package/dist/agents/security-agent.d.ts.map +1 -0
- package/dist/agents/security-agent.js +619 -0
- package/dist/agents/security-agent.js.map +1 -0
- package/dist/agents/test-agent.d.ts +26 -0
- package/dist/agents/test-agent.d.ts.map +1 -0
- package/dist/agents/test-agent.js +735 -0
- package/dist/agents/test-agent.js.map +1 -0
- package/dist/agents/test-agents.d.ts +7 -0
- package/dist/agents/test-agents.d.ts.map +1 -0
- package/dist/agents/test-agents.js +65 -0
- package/dist/agents/test-agents.js.map +1 -0
- package/dist/agents/widget-creator-agent.d.ts +18 -0
- package/dist/agents/widget-creator-agent.d.ts.map +1 -0
- package/dist/agents/widget-creator-agent.js +440 -0
- package/dist/agents/widget-creator-agent.js.map +1 -0
- package/dist/cli/snow-flow-cli-integration.d.ts +30 -0
- package/dist/cli/snow-flow-cli-integration.d.ts.map +1 -0
- package/dist/cli/snow-flow-cli-integration.js +385 -0
- package/dist/cli/snow-flow-cli-integration.js.map +1 -0
- package/dist/cli.js +692 -150
- package/dist/cli.js.map +1 -1
- package/dist/config/snow-flow-config.d.ts +1454 -0
- package/dist/config/snow-flow-config.d.ts.map +1 -0
- package/dist/config/snow-flow-config.js +403 -0
- package/dist/config/snow-flow-config.js.map +1 -0
- package/dist/health/system-health.d.ts +123 -0
- package/dist/health/system-health.d.ts.map +1 -0
- package/dist/health/system-health.js +580 -0
- package/dist/health/system-health.js.map +1 -0
- package/dist/index.d.ts +12 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +19 -3
- package/dist/index.js.map +1 -1
- package/dist/mcp/http-transport-wrapper.d.ts +29 -0
- package/dist/mcp/http-transport-wrapper.d.ts.map +1 -0
- package/dist/mcp/http-transport-wrapper.js +318 -0
- package/dist/mcp/http-transport-wrapper.js.map +1 -0
- package/dist/mcp/service-discovery-client.d.ts +83 -0
- package/dist/mcp/service-discovery-client.d.ts.map +1 -0
- package/dist/mcp/service-discovery-client.js +211 -0
- package/dist/mcp/service-discovery-client.js.map +1 -0
- package/dist/mcp/servicenow-deployment-mcp-refactored.d.ts +58 -0
- package/dist/mcp/servicenow-deployment-mcp-refactored.d.ts.map +1 -0
- package/dist/mcp/servicenow-deployment-mcp-refactored.js +651 -0
- package/dist/mcp/servicenow-deployment-mcp-refactored.js.map +1 -0
- package/dist/mcp/servicenow-deployment-mcp.js +116 -23
- package/dist/mcp/servicenow-deployment-mcp.js.map +1 -1
- package/dist/mcp/servicenow-intelligent-mcp-refactored.d.ts +43 -0
- package/dist/mcp/servicenow-intelligent-mcp-refactored.d.ts.map +1 -0
- package/dist/mcp/servicenow-intelligent-mcp-refactored.js +576 -0
- package/dist/mcp/servicenow-intelligent-mcp-refactored.js.map +1 -0
- package/dist/mcp/servicenow-intelligent-mcp.d.ts +102 -1
- package/dist/mcp/servicenow-intelligent-mcp.d.ts.map +1 -1
- package/dist/mcp/servicenow-intelligent-mcp.js +254 -18
- package/dist/mcp/servicenow-intelligent-mcp.js.map +1 -1
- package/dist/mcp/servicenow-operations-mcp.js +170 -32
- package/dist/mcp/servicenow-operations-mcp.js.map +1 -1
- package/dist/mcp/shared/agent-context-provider.d.ts +77 -0
- package/dist/mcp/shared/agent-context-provider.d.ts.map +1 -0
- package/dist/mcp/shared/agent-context-provider.js +292 -0
- package/dist/mcp/shared/agent-context-provider.js.map +1 -0
- package/dist/mcp/shared/base-mcp-server.d.ts +97 -0
- package/dist/mcp/shared/base-mcp-server.d.ts.map +1 -0
- package/dist/mcp/shared/base-mcp-server.js +216 -0
- package/dist/mcp/shared/base-mcp-server.js.map +1 -0
- package/dist/mcp/shared/mcp-memory-manager.d.ts +87 -0
- package/dist/mcp/shared/mcp-memory-manager.d.ts.map +1 -0
- package/dist/mcp/shared/mcp-memory-manager.js +423 -0
- package/dist/mcp/shared/mcp-memory-manager.js.map +1 -0
- package/dist/memory/index.d.ts +9 -0
- package/dist/memory/index.d.ts.map +1 -0
- package/dist/memory/index.js +20 -0
- package/dist/memory/index.js.map +1 -0
- package/dist/memory/mcp-integration-example.d.ts +6 -0
- package/dist/memory/mcp-integration-example.d.ts.map +1 -0
- package/dist/memory/mcp-integration-example.js +282 -0
- package/dist/memory/mcp-integration-example.js.map +1 -0
- package/dist/memory/memory-client.d.ts +184 -0
- package/dist/memory/memory-client.d.ts.map +1 -0
- package/dist/memory/memory-client.js +325 -0
- package/dist/memory/memory-client.js.map +1 -0
- package/dist/memory/memory-operations.d.ts +170 -0
- package/dist/memory/memory-operations.d.ts.map +1 -0
- package/dist/memory/memory-operations.js +639 -0
- package/dist/memory/memory-operations.js.map +1 -0
- package/dist/memory/memory-system.d.ts +118 -0
- package/dist/memory/memory-system.d.ts.map +1 -0
- package/dist/memory/memory-system.js +477 -0
- package/dist/memory/memory-system.js.map +1 -0
- package/dist/memory/memory-test.d.ts +6 -0
- package/dist/memory/memory-test.d.ts.map +1 -0
- package/dist/memory/memory-test.js +162 -0
- package/dist/memory/memory-test.js.map +1 -0
- package/dist/memory/swarm-memory.d.ts +135 -0
- package/dist/memory/swarm-memory.d.ts.map +1 -0
- package/dist/memory/swarm-memory.js +378 -0
- package/dist/memory/swarm-memory.js.map +1 -0
- package/dist/monitoring/performance-tracker.d.ts +157 -0
- package/dist/monitoring/performance-tracker.d.ts.map +1 -0
- package/dist/monitoring/performance-tracker.js +571 -0
- package/dist/monitoring/performance-tracker.js.map +1 -0
- package/dist/orchestration/discovery/service-discovery.d.ts +81 -0
- package/dist/orchestration/discovery/service-discovery.d.ts.map +1 -0
- package/dist/orchestration/discovery/service-discovery.js +808 -0
- package/dist/orchestration/discovery/service-discovery.js.map +1 -0
- package/dist/orchestration/distributed-orchestrator.d.ts +131 -0
- package/dist/orchestration/distributed-orchestrator.d.ts.map +1 -0
- package/dist/orchestration/distributed-orchestrator.js +712 -0
- package/dist/orchestration/distributed-orchestrator.js.map +1 -0
- package/dist/orchestration/distribution/task-distribution-engine.d.ts +53 -0
- package/dist/orchestration/distribution/task-distribution-engine.d.ts.map +1 -0
- package/dist/orchestration/distribution/task-distribution-engine.js +586 -0
- package/dist/orchestration/distribution/task-distribution-engine.js.map +1 -0
- package/dist/orchestration/interfaces/distributed-orchestration.interface.d.ts +606 -0
- package/dist/orchestration/interfaces/distributed-orchestration.interface.d.ts.map +1 -0
- package/dist/orchestration/interfaces/distributed-orchestration.interface.js +65 -0
- package/dist/orchestration/interfaces/distributed-orchestration.interface.js.map +1 -0
- package/dist/orchestration/protocols/mcpx-protocol.d.ts +71 -0
- package/dist/orchestration/protocols/mcpx-protocol.d.ts.map +1 -0
- package/dist/orchestration/protocols/mcpx-protocol.js +668 -0
- package/dist/orchestration/protocols/mcpx-protocol.js.map +1 -0
- package/dist/orchestration/state/distributed-state-manager.d.ts +89 -0
- package/dist/orchestration/state/distributed-state-manager.d.ts.map +1 -0
- package/dist/orchestration/state/distributed-state-manager.js +716 -0
- package/dist/orchestration/state/distributed-state-manager.js.map +1 -0
- package/dist/queen/advanced-integration-test.d.ts +48 -0
- package/dist/queen/advanced-integration-test.d.ts.map +1 -0
- package/dist/queen/advanced-integration-test.js +474 -0
- package/dist/queen/advanced-integration-test.js.map +1 -0
- package/dist/queen/agent-factory.d.ts +43 -0
- package/dist/queen/agent-factory.d.ts.map +1 -0
- package/dist/queen/agent-factory.js +485 -0
- package/dist/queen/agent-factory.js.map +1 -0
- package/dist/queen/index.d.ts +58 -0
- package/dist/queen/index.d.ts.map +1 -0
- package/dist/queen/index.js +79 -0
- package/dist/queen/index.js.map +1 -0
- package/dist/queen/integration-example.d.ts +82 -0
- package/dist/queen/integration-example.d.ts.map +1 -0
- package/dist/queen/integration-example.js +220 -0
- package/dist/queen/integration-example.js.map +1 -0
- package/dist/queen/integration-test.d.ts +72 -0
- package/dist/queen/integration-test.d.ts.map +1 -0
- package/dist/queen/integration-test.js +564 -0
- package/dist/queen/integration-test.js.map +1 -0
- package/dist/queen/mock-mcp-client.d.ts +66 -0
- package/dist/queen/mock-mcp-client.d.ts.map +1 -0
- package/dist/queen/mock-mcp-client.js +297 -0
- package/dist/queen/mock-mcp-client.js.map +1 -0
- package/dist/queen/neural-learning.d.ts +28 -0
- package/dist/queen/neural-learning.d.ts.map +1 -0
- package/dist/queen/neural-learning.js +244 -0
- package/dist/queen/neural-learning.js.map +1 -0
- package/dist/queen/queen-memory.d.ts +31 -0
- package/dist/queen/queen-memory.d.ts.map +1 -0
- package/dist/queen/queen-memory.js +315 -0
- package/dist/queen/queen-memory.js.map +1 -0
- package/dist/queen/run-integration-tests.d.ts +9 -0
- package/dist/queen/run-integration-tests.d.ts.map +1 -0
- package/dist/queen/run-integration-tests.js +28 -0
- package/dist/queen/run-integration-tests.js.map +1 -0
- package/dist/queen/servicenow-queen.d.ts +56 -0
- package/dist/queen/servicenow-queen.d.ts.map +1 -0
- package/dist/queen/servicenow-queen.js +659 -0
- package/dist/queen/servicenow-queen.js.map +1 -0
- package/dist/queen/types.d.ts +58 -0
- package/dist/queen/types.d.ts.map +1 -0
- package/dist/queen/types.js +7 -0
- package/dist/queen/types.js.map +1 -0
- package/dist/snow-flow-system.d.ts +132 -0
- package/dist/snow-flow-system.d.ts.map +1 -0
- package/dist/snow-flow-system.js +396 -0
- package/dist/snow-flow-system.js.map +1 -0
- package/dist/types/todo.types.d.ts +61 -0
- package/dist/types/todo.types.d.ts.map +1 -0
- package/dist/types/todo.types.js +7 -0
- package/dist/types/todo.types.js.map +1 -0
- package/dist/utils/error-recovery.d.ts +101 -0
- package/dist/utils/error-recovery.d.ts.map +1 -0
- package/dist/utils/error-recovery.js +548 -0
- package/dist/utils/error-recovery.js.map +1 -0
- package/dist/version.d.ts +2 -1
- package/dist/version.d.ts.map +1 -1
- package/dist/version.js +16 -2
- package/dist/version.js.map +1 -1
- package/package.json +8 -3
- package/test-clean-install/.claude/config.json +0 -12
- package/test-clean-install/.env.example +0 -49
- package/test-clean-install/CLAUDE.md +0 -26
- package/test-clean-install/README.md +0 -23
- package/test-global-install/.claude/config.json +0 -12
- package/test-global-install/CLAUDE.md +0 -26
- package/test-global-install/README.md +0 -23
- package/test-global-install/test-global-install/.claude/config.json +0 -12
- package/test-global-install/test-global-install/CLAUDE.md +0 -26
- package/test-global-install/test-global-install/README.md +0 -23
- package/test-global-install/test-global-install/test-global-install/.claude/config.json +0 -12
- package/test-global-install/test-global-install/test-global-install/.env.example +0 -49
- package/test-global-install/test-global-install/test-global-install/CLAUDE.md +0 -26
- package/test-global-install/test-global-install/test-global-install/README.md +0 -23
- package/test-init-debug/.claude/config.json +0 -12
- package/test-init-debug/CLAUDE.md +0 -693
- package/test-init-debug/README.md +0 -392
- package/test-init-real/.claude/config.json +0 -12
- package/test-init-real/.claude/mcp-config.json +0 -128
- package/test-init-real/.claude/settings.json +0 -37
- package/test-init-real/CLAUDE.md +0 -693
- package/test-init-real/README.md +0 -392
- package/test-init-real/activate-mcp.sh +0 -15
|
@@ -0,0 +1,548 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Snow-Flow Error Handling & Recovery System
|
|
4
|
+
* Implements comprehensive error recovery patterns from MCP Architecture
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.FALLBACK_STRATEGIES = exports.ErrorRecovery = void 0;
|
|
8
|
+
const events_1 = require("events");
|
|
9
|
+
class ErrorRecovery extends events_1.EventEmitter {
|
|
10
|
+
constructor(logger, memory) {
|
|
11
|
+
super();
|
|
12
|
+
this.strategies = new Map();
|
|
13
|
+
this.errorHistory = [];
|
|
14
|
+
this.maxRetries = 3;
|
|
15
|
+
this.retryDelay = 1000;
|
|
16
|
+
this.exponentialBackoff = true;
|
|
17
|
+
this.logger = logger;
|
|
18
|
+
this.memory = memory;
|
|
19
|
+
this.initializeDefaultStrategies();
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Initialize default recovery strategies
|
|
23
|
+
*/
|
|
24
|
+
initializeDefaultStrategies() {
|
|
25
|
+
// Retry strategy
|
|
26
|
+
this.registerStrategy({
|
|
27
|
+
name: 'retry',
|
|
28
|
+
condition: (error, context) => {
|
|
29
|
+
return (context.attemptNumber || 0) < this.maxRetries &&
|
|
30
|
+
!this.isUnrecoverable(error);
|
|
31
|
+
},
|
|
32
|
+
execute: async (error, context) => {
|
|
33
|
+
const attempt = (context.attemptNumber || 0) + 1;
|
|
34
|
+
const delay = this.calculateRetryDelay(attempt);
|
|
35
|
+
this.logger.info(`Retrying operation ${context.operation} (attempt ${attempt}/${this.maxRetries})`);
|
|
36
|
+
await this.delay(delay);
|
|
37
|
+
return {
|
|
38
|
+
success: false,
|
|
39
|
+
strategyUsed: 'retry',
|
|
40
|
+
nextStrategies: ['retry', 'fallback']
|
|
41
|
+
};
|
|
42
|
+
},
|
|
43
|
+
priority: 100
|
|
44
|
+
});
|
|
45
|
+
// Permission escalation strategy
|
|
46
|
+
this.registerStrategy({
|
|
47
|
+
name: 'permission_escalation',
|
|
48
|
+
condition: (error) => this.isPermissionError(error),
|
|
49
|
+
execute: async (error, context) => {
|
|
50
|
+
this.logger.info('Attempting permission escalation...');
|
|
51
|
+
try {
|
|
52
|
+
// Request elevated permissions through Queen agent
|
|
53
|
+
await this.requestPermissionEscalation(context);
|
|
54
|
+
return {
|
|
55
|
+
success: true,
|
|
56
|
+
strategyUsed: 'permission_escalation'
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
catch (escalationError) {
|
|
60
|
+
return {
|
|
61
|
+
success: false,
|
|
62
|
+
error: escalationError,
|
|
63
|
+
nextStrategies: ['manual_intervention']
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
},
|
|
67
|
+
priority: 90
|
|
68
|
+
});
|
|
69
|
+
// Scope fallback strategy
|
|
70
|
+
this.registerStrategy({
|
|
71
|
+
name: 'scope_fallback',
|
|
72
|
+
condition: (error) => this.isScopeError(error),
|
|
73
|
+
execute: async (error, context) => {
|
|
74
|
+
this.logger.info('Attempting global scope fallback...');
|
|
75
|
+
try {
|
|
76
|
+
// Modify context to use global scope
|
|
77
|
+
const globalContext = {
|
|
78
|
+
...context,
|
|
79
|
+
metadata: {
|
|
80
|
+
...context.metadata,
|
|
81
|
+
scope: 'global',
|
|
82
|
+
fallbackReason: 'scope_error'
|
|
83
|
+
}
|
|
84
|
+
};
|
|
85
|
+
return {
|
|
86
|
+
success: true,
|
|
87
|
+
strategyUsed: 'scope_fallback',
|
|
88
|
+
result: globalContext
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
catch (fallbackError) {
|
|
92
|
+
return {
|
|
93
|
+
success: false,
|
|
94
|
+
error: fallbackError
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
},
|
|
98
|
+
priority: 85
|
|
99
|
+
});
|
|
100
|
+
// Cache invalidation strategy
|
|
101
|
+
this.registerStrategy({
|
|
102
|
+
name: 'cache_invalidation',
|
|
103
|
+
condition: (error) => this.isDataConsistencyError(error),
|
|
104
|
+
execute: async (error, context) => {
|
|
105
|
+
this.logger.info('Invalidating cache and refreshing data...');
|
|
106
|
+
try {
|
|
107
|
+
if (this.memory) {
|
|
108
|
+
await this.memory.invalidateCache(context.sessionId || 'global');
|
|
109
|
+
}
|
|
110
|
+
return {
|
|
111
|
+
success: true,
|
|
112
|
+
strategyUsed: 'cache_invalidation',
|
|
113
|
+
nextStrategies: ['retry']
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
catch (cacheError) {
|
|
117
|
+
return {
|
|
118
|
+
success: false,
|
|
119
|
+
error: cacheError
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
},
|
|
123
|
+
priority: 80
|
|
124
|
+
});
|
|
125
|
+
// Partial success strategy
|
|
126
|
+
this.registerStrategy({
|
|
127
|
+
name: 'partial_success',
|
|
128
|
+
condition: (error, context) => {
|
|
129
|
+
return context.metadata?.allowPartial === true &&
|
|
130
|
+
this.canPartiallySucceed(error);
|
|
131
|
+
},
|
|
132
|
+
execute: async (error, context) => {
|
|
133
|
+
this.logger.info('Attempting partial success recovery...');
|
|
134
|
+
const partialResult = await this.extractPartialSuccess(error, context);
|
|
135
|
+
return {
|
|
136
|
+
success: true,
|
|
137
|
+
strategyUsed: 'partial_success',
|
|
138
|
+
result: partialResult
|
|
139
|
+
};
|
|
140
|
+
},
|
|
141
|
+
priority: 70
|
|
142
|
+
});
|
|
143
|
+
// Manual intervention strategy
|
|
144
|
+
this.registerStrategy({
|
|
145
|
+
name: 'manual_intervention',
|
|
146
|
+
condition: () => true, // Last resort
|
|
147
|
+
execute: async (error, context) => {
|
|
148
|
+
this.logger.warn('Manual intervention required');
|
|
149
|
+
// Generate manual steps
|
|
150
|
+
const manualSteps = await this.generateManualSteps(error, context);
|
|
151
|
+
// Store for later retrieval
|
|
152
|
+
if (this.memory) {
|
|
153
|
+
await this.memory.store(`manual_intervention_${context.sessionId}`, {
|
|
154
|
+
error: error.message,
|
|
155
|
+
context,
|
|
156
|
+
steps: manualSteps,
|
|
157
|
+
timestamp: new Date()
|
|
158
|
+
});
|
|
159
|
+
}
|
|
160
|
+
return {
|
|
161
|
+
success: false,
|
|
162
|
+
strategyUsed: 'manual_intervention',
|
|
163
|
+
result: { manualSteps },
|
|
164
|
+
error: new Error('Manual intervention required. Check logs for instructions.')
|
|
165
|
+
};
|
|
166
|
+
},
|
|
167
|
+
priority: 10
|
|
168
|
+
});
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* Register a custom recovery strategy
|
|
172
|
+
*/
|
|
173
|
+
registerStrategy(strategy) {
|
|
174
|
+
this.strategies.set(strategy.name, strategy);
|
|
175
|
+
this.logger.debug(`Registered recovery strategy: ${strategy.name}`);
|
|
176
|
+
}
|
|
177
|
+
/**
|
|
178
|
+
* Handle an error with automatic recovery
|
|
179
|
+
*/
|
|
180
|
+
async handleError(error, context) {
|
|
181
|
+
const startTime = Date.now();
|
|
182
|
+
this.logger.error(`Error in operation ${context.operation}:`, error);
|
|
183
|
+
this.recordError(error, context);
|
|
184
|
+
// Get applicable strategies sorted by priority
|
|
185
|
+
const applicableStrategies = this.getApplicableStrategies(error, context);
|
|
186
|
+
let lastResult = {
|
|
187
|
+
success: false,
|
|
188
|
+
error
|
|
189
|
+
};
|
|
190
|
+
// Try each strategy in order
|
|
191
|
+
for (const strategy of applicableStrategies) {
|
|
192
|
+
try {
|
|
193
|
+
this.logger.info(`Attempting recovery strategy: ${strategy.name}`);
|
|
194
|
+
lastResult = await strategy.execute(error, context);
|
|
195
|
+
if (lastResult.success) {
|
|
196
|
+
const duration = Date.now() - startTime;
|
|
197
|
+
this.recordRecovery(strategy.name, duration);
|
|
198
|
+
this.emit('recovery:success', {
|
|
199
|
+
strategy: strategy.name,
|
|
200
|
+
duration,
|
|
201
|
+
context
|
|
202
|
+
});
|
|
203
|
+
return lastResult;
|
|
204
|
+
}
|
|
205
|
+
// If strategy suggests next strategies, filter to those
|
|
206
|
+
if (lastResult.nextStrategies) {
|
|
207
|
+
const nextStrategies = lastResult.nextStrategies
|
|
208
|
+
.map(name => this.strategies.get(name))
|
|
209
|
+
.filter(s => s && s.condition(error, context))
|
|
210
|
+
.sort((a, b) => b.priority - a.priority);
|
|
211
|
+
if (nextStrategies.length > 0) {
|
|
212
|
+
// Continue with suggested strategies
|
|
213
|
+
for (const nextStrategy of nextStrategies) {
|
|
214
|
+
if (nextStrategy && !applicableStrategies.includes(nextStrategy)) {
|
|
215
|
+
applicableStrategies.push(nextStrategy);
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
catch (strategyError) {
|
|
222
|
+
this.logger.error(`Recovery strategy ${strategy.name} failed:`, strategyError);
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
// All strategies failed
|
|
226
|
+
const duration = Date.now() - startTime;
|
|
227
|
+
this.recordFailedRecovery(error, context, duration);
|
|
228
|
+
this.emit('recovery:failed', {
|
|
229
|
+
error,
|
|
230
|
+
context,
|
|
231
|
+
duration,
|
|
232
|
+
strategiesAttempted: applicableStrategies.map(s => s.name)
|
|
233
|
+
});
|
|
234
|
+
return lastResult;
|
|
235
|
+
}
|
|
236
|
+
/**
|
|
237
|
+
* Handle critical errors that affect the entire system
|
|
238
|
+
*/
|
|
239
|
+
async handleCriticalError(error, context) {
|
|
240
|
+
this.logger.error('CRITICAL ERROR:', error);
|
|
241
|
+
// Notify all active agents
|
|
242
|
+
this.emit('critical:error', { error, context });
|
|
243
|
+
// Attempt emergency recovery
|
|
244
|
+
const emergencyStrategies = context.fallbackStrategies || [
|
|
245
|
+
'emergency_shutdown',
|
|
246
|
+
'data_preservation',
|
|
247
|
+
'rollback_all'
|
|
248
|
+
];
|
|
249
|
+
for (const strategyName of emergencyStrategies) {
|
|
250
|
+
try {
|
|
251
|
+
await this.executeEmergencyStrategy(strategyName, error, context);
|
|
252
|
+
}
|
|
253
|
+
catch (emergencyError) {
|
|
254
|
+
this.logger.error(`Emergency strategy ${strategyName} failed:`, emergencyError);
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
/**
|
|
259
|
+
* Attempt to recover a failed swarm session
|
|
260
|
+
*/
|
|
261
|
+
async attemptSwarmRecovery(sessionId, error) {
|
|
262
|
+
const context = {
|
|
263
|
+
operation: 'swarm_execution',
|
|
264
|
+
sessionId,
|
|
265
|
+
fallbackStrategies: [
|
|
266
|
+
'resume_from_checkpoint',
|
|
267
|
+
'restart_failed_agents',
|
|
268
|
+
'rollback_to_stable'
|
|
269
|
+
]
|
|
270
|
+
};
|
|
271
|
+
// Check if we have a checkpoint
|
|
272
|
+
if (this.memory) {
|
|
273
|
+
const checkpoint = await this.memory.get(`checkpoint_${sessionId}`);
|
|
274
|
+
if (checkpoint) {
|
|
275
|
+
try {
|
|
276
|
+
const result = await this.resumeFromCheckpoint(sessionId, checkpoint);
|
|
277
|
+
return {
|
|
278
|
+
success: true,
|
|
279
|
+
strategyUsed: 'resume_from_checkpoint',
|
|
280
|
+
result
|
|
281
|
+
};
|
|
282
|
+
}
|
|
283
|
+
catch (resumeError) {
|
|
284
|
+
this.logger.error('Failed to resume from checkpoint:', resumeError);
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
// Try standard error recovery
|
|
289
|
+
return this.handleError(error, context);
|
|
290
|
+
}
|
|
291
|
+
/**
|
|
292
|
+
* Get error metrics
|
|
293
|
+
*/
|
|
294
|
+
getMetrics() {
|
|
295
|
+
const metrics = {
|
|
296
|
+
totalErrors: this.errorHistory.length,
|
|
297
|
+
recoveredErrors: 0,
|
|
298
|
+
failedRecoveries: 0,
|
|
299
|
+
errorsByType: {},
|
|
300
|
+
recoveryStrategiesUsed: {},
|
|
301
|
+
averageRecoveryTime: 0
|
|
302
|
+
};
|
|
303
|
+
let totalRecoveryTime = 0;
|
|
304
|
+
let recoveryCount = 0;
|
|
305
|
+
for (const record of this.errorHistory) {
|
|
306
|
+
// Count by type
|
|
307
|
+
const errorType = record.error.name || 'Unknown';
|
|
308
|
+
metrics.errorsByType[errorType] = (metrics.errorsByType[errorType] || 0) + 1;
|
|
309
|
+
// Count recoveries
|
|
310
|
+
if (record.recovered) {
|
|
311
|
+
metrics.recoveredErrors++;
|
|
312
|
+
if (record.recoveryStrategy) {
|
|
313
|
+
metrics.recoveryStrategiesUsed[record.recoveryStrategy] =
|
|
314
|
+
(metrics.recoveryStrategiesUsed[record.recoveryStrategy] || 0) + 1;
|
|
315
|
+
}
|
|
316
|
+
if (record.recoveryDuration) {
|
|
317
|
+
totalRecoveryTime += record.recoveryDuration;
|
|
318
|
+
recoveryCount++;
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
else {
|
|
322
|
+
metrics.failedRecoveries++;
|
|
323
|
+
}
|
|
324
|
+
}
|
|
325
|
+
if (recoveryCount > 0) {
|
|
326
|
+
metrics.averageRecoveryTime = totalRecoveryTime / recoveryCount;
|
|
327
|
+
}
|
|
328
|
+
return metrics;
|
|
329
|
+
}
|
|
330
|
+
/**
|
|
331
|
+
* Clear error history
|
|
332
|
+
*/
|
|
333
|
+
clearHistory() {
|
|
334
|
+
this.errorHistory = [];
|
|
335
|
+
}
|
|
336
|
+
/**
|
|
337
|
+
* Private helper methods
|
|
338
|
+
*/
|
|
339
|
+
getApplicableStrategies(error, context) {
|
|
340
|
+
const strategies = Array.from(this.strategies.values())
|
|
341
|
+
.filter(strategy => strategy.condition(error, context))
|
|
342
|
+
.sort((a, b) => b.priority - a.priority);
|
|
343
|
+
// If custom fallback strategies specified, prioritize those
|
|
344
|
+
if (context.fallbackStrategies) {
|
|
345
|
+
const customStrategies = context.fallbackStrategies
|
|
346
|
+
.map(name => this.strategies.get(name))
|
|
347
|
+
.filter(s => s && s.condition(error, context));
|
|
348
|
+
return [...customStrategies, ...strategies];
|
|
349
|
+
}
|
|
350
|
+
return strategies;
|
|
351
|
+
}
|
|
352
|
+
isUnrecoverable(error) {
|
|
353
|
+
const unrecoverableErrors = [
|
|
354
|
+
'ENOTFOUND',
|
|
355
|
+
'ECONNREFUSED',
|
|
356
|
+
'ETIMEDOUT',
|
|
357
|
+
'CERT_HAS_EXPIRED'
|
|
358
|
+
];
|
|
359
|
+
return unrecoverableErrors.some(code => error.message.includes(code) || error.code === code);
|
|
360
|
+
}
|
|
361
|
+
isPermissionError(error) {
|
|
362
|
+
const permissionIndicators = [
|
|
363
|
+
'permission denied',
|
|
364
|
+
'access denied',
|
|
365
|
+
'unauthorized',
|
|
366
|
+
'401',
|
|
367
|
+
'403',
|
|
368
|
+
'insufficient privileges'
|
|
369
|
+
];
|
|
370
|
+
const errorMessage = error.message.toLowerCase();
|
|
371
|
+
return permissionIndicators.some(indicator => errorMessage.includes(indicator));
|
|
372
|
+
}
|
|
373
|
+
isScopeError(error) {
|
|
374
|
+
const scopeIndicators = [
|
|
375
|
+
'scope not found',
|
|
376
|
+
'application scope',
|
|
377
|
+
'wrong scope',
|
|
378
|
+
'scope mismatch'
|
|
379
|
+
];
|
|
380
|
+
const errorMessage = error.message.toLowerCase();
|
|
381
|
+
return scopeIndicators.some(indicator => errorMessage.includes(indicator));
|
|
382
|
+
}
|
|
383
|
+
isDataConsistencyError(error) {
|
|
384
|
+
const consistencyIndicators = [
|
|
385
|
+
'data inconsistency',
|
|
386
|
+
'stale data',
|
|
387
|
+
'cache invalid',
|
|
388
|
+
'version mismatch'
|
|
389
|
+
];
|
|
390
|
+
const errorMessage = error.message.toLowerCase();
|
|
391
|
+
return consistencyIndicators.some(indicator => errorMessage.includes(indicator));
|
|
392
|
+
}
|
|
393
|
+
canPartiallySucceed(error) {
|
|
394
|
+
// Determine if the operation can partially succeed
|
|
395
|
+
return error.message.includes('partial') ||
|
|
396
|
+
error.message.includes('some operations failed');
|
|
397
|
+
}
|
|
398
|
+
calculateRetryDelay(attemptNumber) {
|
|
399
|
+
if (this.exponentialBackoff) {
|
|
400
|
+
return Math.min(this.retryDelay * Math.pow(2, attemptNumber - 1), 30000 // Max 30 seconds
|
|
401
|
+
);
|
|
402
|
+
}
|
|
403
|
+
return this.retryDelay;
|
|
404
|
+
}
|
|
405
|
+
async requestPermissionEscalation(context) {
|
|
406
|
+
// Emit event for Queen agent to handle
|
|
407
|
+
this.emit('permission:escalation:requested', context);
|
|
408
|
+
// Wait for escalation (with timeout)
|
|
409
|
+
return new Promise((resolve, reject) => {
|
|
410
|
+
const timeout = setTimeout(() => {
|
|
411
|
+
reject(new Error('Permission escalation timeout'));
|
|
412
|
+
}, 30000);
|
|
413
|
+
this.once('permission:escalation:granted', () => {
|
|
414
|
+
clearTimeout(timeout);
|
|
415
|
+
resolve();
|
|
416
|
+
});
|
|
417
|
+
this.once('permission:escalation:denied', () => {
|
|
418
|
+
clearTimeout(timeout);
|
|
419
|
+
reject(new Error('Permission escalation denied'));
|
|
420
|
+
});
|
|
421
|
+
});
|
|
422
|
+
}
|
|
423
|
+
async extractPartialSuccess(error, context) {
|
|
424
|
+
// Extract any partial results from the error context
|
|
425
|
+
if (error.partialResult) {
|
|
426
|
+
return error.partialResult;
|
|
427
|
+
}
|
|
428
|
+
// Check memory for partial results
|
|
429
|
+
if (this.memory && context.sessionId) {
|
|
430
|
+
const partialData = await this.memory.get(`partial_${context.sessionId}`);
|
|
431
|
+
if (partialData) {
|
|
432
|
+
return partialData;
|
|
433
|
+
}
|
|
434
|
+
}
|
|
435
|
+
return null;
|
|
436
|
+
}
|
|
437
|
+
async generateManualSteps(error, context) {
|
|
438
|
+
const steps = [];
|
|
439
|
+
if (this.isPermissionError(error)) {
|
|
440
|
+
steps.push('1. Log into ServiceNow as an administrator');
|
|
441
|
+
steps.push('2. Navigate to System Security > Users and Groups > Users');
|
|
442
|
+
steps.push('3. Find the integration user and click on it');
|
|
443
|
+
steps.push('4. Go to the Roles tab and add required roles');
|
|
444
|
+
steps.push('5. Save the changes and retry the operation');
|
|
445
|
+
}
|
|
446
|
+
else if (this.isScopeError(error)) {
|
|
447
|
+
steps.push('1. Log into ServiceNow as an administrator');
|
|
448
|
+
steps.push('2. Navigate to System Applications > Applications');
|
|
449
|
+
steps.push('3. Switch to the Global scope');
|
|
450
|
+
steps.push('4. Retry the operation in Global scope');
|
|
451
|
+
steps.push('5. If successful, move the artifact to the desired scope');
|
|
452
|
+
}
|
|
453
|
+
else {
|
|
454
|
+
steps.push('1. Check ServiceNow instance availability');
|
|
455
|
+
steps.push('2. Verify network connectivity');
|
|
456
|
+
steps.push('3. Check authentication credentials');
|
|
457
|
+
steps.push('4. Review error logs for specific issues');
|
|
458
|
+
steps.push('5. Contact support if issue persists');
|
|
459
|
+
}
|
|
460
|
+
return steps;
|
|
461
|
+
}
|
|
462
|
+
async executeEmergencyStrategy(strategyName, error, context) {
|
|
463
|
+
switch (strategyName) {
|
|
464
|
+
case 'emergency_shutdown':
|
|
465
|
+
this.emit('system:emergency:shutdown', { error, context });
|
|
466
|
+
break;
|
|
467
|
+
case 'data_preservation':
|
|
468
|
+
if (this.memory) {
|
|
469
|
+
await this.memory.createEmergencyBackup();
|
|
470
|
+
}
|
|
471
|
+
break;
|
|
472
|
+
case 'rollback_all':
|
|
473
|
+
this.emit('system:rollback:all', { error, context });
|
|
474
|
+
break;
|
|
475
|
+
default:
|
|
476
|
+
this.logger.warn(`Unknown emergency strategy: ${strategyName}`);
|
|
477
|
+
}
|
|
478
|
+
}
|
|
479
|
+
async resumeFromCheckpoint(sessionId, checkpoint) {
|
|
480
|
+
this.logger.info(`Resuming session ${sessionId} from checkpoint`);
|
|
481
|
+
// Emit event for system to resume
|
|
482
|
+
this.emit('session:resume', {
|
|
483
|
+
sessionId,
|
|
484
|
+
checkpoint
|
|
485
|
+
});
|
|
486
|
+
return checkpoint;
|
|
487
|
+
}
|
|
488
|
+
recordError(error, context) {
|
|
489
|
+
this.errorHistory.push({
|
|
490
|
+
error,
|
|
491
|
+
context,
|
|
492
|
+
timestamp: new Date(),
|
|
493
|
+
recovered: false
|
|
494
|
+
});
|
|
495
|
+
// Limit history size
|
|
496
|
+
if (this.errorHistory.length > 1000) {
|
|
497
|
+
this.errorHistory = this.errorHistory.slice(-500);
|
|
498
|
+
}
|
|
499
|
+
}
|
|
500
|
+
recordRecovery(strategyName, duration) {
|
|
501
|
+
const lastError = this.errorHistory[this.errorHistory.length - 1];
|
|
502
|
+
if (lastError) {
|
|
503
|
+
lastError.recovered = true;
|
|
504
|
+
lastError.recoveryStrategy = strategyName;
|
|
505
|
+
lastError.recoveryDuration = duration;
|
|
506
|
+
}
|
|
507
|
+
}
|
|
508
|
+
recordFailedRecovery(error, context, duration) {
|
|
509
|
+
const lastError = this.errorHistory[this.errorHistory.length - 1];
|
|
510
|
+
if (lastError) {
|
|
511
|
+
lastError.recovered = false;
|
|
512
|
+
lastError.recoveryDuration = duration;
|
|
513
|
+
}
|
|
514
|
+
}
|
|
515
|
+
delay(ms) {
|
|
516
|
+
return new Promise(resolve => setTimeout(resolve, ms));
|
|
517
|
+
}
|
|
518
|
+
}
|
|
519
|
+
exports.ErrorRecovery = ErrorRecovery;
|
|
520
|
+
// Export pre-configured strategies
|
|
521
|
+
exports.FALLBACK_STRATEGIES = {
|
|
522
|
+
widget_deployment: [
|
|
523
|
+
'retry',
|
|
524
|
+
'scope_fallback',
|
|
525
|
+
'permission_escalation',
|
|
526
|
+
'partial_success',
|
|
527
|
+
'manual_intervention'
|
|
528
|
+
],
|
|
529
|
+
flow_creation: [
|
|
530
|
+
'retry',
|
|
531
|
+
'cache_invalidation',
|
|
532
|
+
'scope_fallback',
|
|
533
|
+
'manual_intervention'
|
|
534
|
+
],
|
|
535
|
+
script_execution: [
|
|
536
|
+
'retry',
|
|
537
|
+
'permission_escalation',
|
|
538
|
+
'partial_success',
|
|
539
|
+
'manual_intervention'
|
|
540
|
+
],
|
|
541
|
+
integration_failure: [
|
|
542
|
+
'retry',
|
|
543
|
+
'cache_invalidation',
|
|
544
|
+
'partial_success',
|
|
545
|
+
'manual_intervention'
|
|
546
|
+
]
|
|
547
|
+
};
|
|
548
|
+
//# sourceMappingURL=error-recovery.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error-recovery.js","sourceRoot":"","sources":["../../src/utils/error-recovery.ts"],"names":[],"mappings":"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"}
|
package/dist/version.d.ts
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Snow-Flow Version Management
|
|
3
3
|
*/
|
|
4
|
-
export declare const VERSION = "1.1.
|
|
4
|
+
export declare const VERSION = "1.1.76";
|
|
5
5
|
export declare const VERSION_INFO: {
|
|
6
6
|
version: string;
|
|
7
7
|
name: string;
|
|
8
8
|
description: string;
|
|
9
9
|
features: {
|
|
10
|
+
'1.1.76': string[];
|
|
10
11
|
'1.1.75': string[];
|
|
11
12
|
'1.1.74': string[];
|
|
12
13
|
'1.1.73': string[];
|
package/dist/version.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,eAAO,MAAM,OAAO,WAAW,CAAC;AAEhC,eAAO,MAAM,YAAY
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,eAAO,MAAM,OAAO,WAAW,CAAC;AAEhC,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwuCxB,CAAC;AAEF;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,GAAE,OAAO,GAAG,MAAgB,GAAG,MAAM,CAK3E;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,EAAE,CAE5C;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,OAAO,CAGzC"}
|
package/dist/version.js
CHANGED
|
@@ -7,12 +7,26 @@ exports.VERSION_INFO = exports.VERSION = void 0;
|
|
|
7
7
|
exports.getVersionString = getVersionString;
|
|
8
8
|
exports.getLatestFeatures = getLatestFeatures;
|
|
9
9
|
exports.isLatestVersion = isLatestVersion;
|
|
10
|
-
exports.VERSION = '1.1.
|
|
10
|
+
exports.VERSION = '1.1.76';
|
|
11
11
|
exports.VERSION_INFO = {
|
|
12
12
|
version: exports.VERSION,
|
|
13
13
|
name: 'Snow-Flow',
|
|
14
|
-
description: 'ServiceNow
|
|
14
|
+
description: 'ServiceNow Queen Agent - Hive-Mind Intelligence for ServiceNow Development',
|
|
15
15
|
features: {
|
|
16
|
+
'1.1.76': [
|
|
17
|
+
'👑 REVOLUTIONARY: ServiceNow Queen Agent - Hive-Mind Intelligence inspired by claude-flow!',
|
|
18
|
+
'🧠 NEURAL LEARNING: SQLite-based persistent memory that learns from every deployment',
|
|
19
|
+
'⚡ DYNAMIC AGENTS: 8 specialized agents spawn on-demand (widget-creator, flow-builder, etc.)',
|
|
20
|
+
'🎯 ONE COMMAND: snow-flow queen "create dashboard" replaces complex orchestration',
|
|
21
|
+
'🐝 HIVE-MIND: Central Queen coordinates all agents with swarm intelligence',
|
|
22
|
+
'📚 CROSS-SESSION: Memory persists across restarts, gets smarter over time',
|
|
23
|
+
'🔧 MCP INTEGRATION: All 11 MCP servers work as tools for Queen coordination',
|
|
24
|
+
'✨ CLAUDE-FLOW: Elegant simplicity - transforms complex workflows into conversational commands',
|
|
25
|
+
'🚀 75% SIMPLER: One command vs complex --strategy --mode --max-agents flags',
|
|
26
|
+
'💾 MEMORY COMMANDS: queen-memory export/import, queen-status, queen-insights',
|
|
27
|
+
'📖 DOCS UPDATED: Complete documentation refresh showcasing Queen as primary interface',
|
|
28
|
+
'🎉 TRANSFORMATION: From enterprise complexity to claude-flow elegance - COMPLETE!'
|
|
29
|
+
],
|
|
16
30
|
'1.1.75': [
|
|
17
31
|
'🔧 CRITICAL FIX: snow_deploy with type:"flow" now properly generates flow_definition',
|
|
18
32
|
'🎯 NATURAL LANGUAGE: Creates complete flow structure from instruction with activities',
|