snow-flow 1.1.76 → 1.1.78

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (234) hide show
  1. package/.claude-flow/queen/queen-memory.db +0 -0
  2. package/CLAUDE.md +34 -5
  3. package/README.md +256 -384
  4. package/dist/agents/base-agent.d.ts +92 -0
  5. package/dist/agents/base-agent.d.ts.map +1 -0
  6. package/dist/agents/base-agent.js +228 -0
  7. package/dist/agents/base-agent.js.map +1 -0
  8. package/dist/agents/coordinator.d.ts +200 -0
  9. package/dist/agents/coordinator.d.ts.map +1 -0
  10. package/dist/agents/coordinator.js +775 -0
  11. package/dist/agents/coordinator.js.map +1 -0
  12. package/dist/agents/flow-builder-agent.d.ts +18 -0
  13. package/dist/agents/flow-builder-agent.d.ts.map +1 -0
  14. package/dist/agents/flow-builder-agent.js +536 -0
  15. package/dist/agents/flow-builder-agent.js.map +1 -0
  16. package/dist/agents/index.d.ts +18 -0
  17. package/dist/agents/index.d.ts.map +1 -0
  18. package/dist/agents/index.js +61 -0
  19. package/dist/agents/index.js.map +1 -0
  20. package/dist/agents/queen-agent-example.d.ts +23 -0
  21. package/dist/agents/queen-agent-example.d.ts.map +1 -0
  22. package/dist/agents/queen-agent-example.js +241 -0
  23. package/dist/agents/queen-agent-example.js.map +1 -0
  24. package/dist/agents/queen-agent.d.ts +180 -0
  25. package/dist/agents/queen-agent.d.ts.map +1 -0
  26. package/dist/agents/queen-agent.js +909 -0
  27. package/dist/agents/queen-agent.js.map +1 -0
  28. package/dist/agents/queen-agent.test.d.ts +6 -0
  29. package/dist/agents/queen-agent.test.d.ts.map +1 -0
  30. package/dist/agents/queen-agent.test.js.map +1 -0
  31. package/dist/agents/script-writer-agent.d.ts +22 -0
  32. package/dist/agents/script-writer-agent.d.ts.map +1 -0
  33. package/dist/agents/script-writer-agent.js +695 -0
  34. package/dist/agents/script-writer-agent.js.map +1 -0
  35. package/dist/agents/security-agent.d.ts +23 -0
  36. package/dist/agents/security-agent.d.ts.map +1 -0
  37. package/dist/agents/security-agent.js +619 -0
  38. package/dist/agents/security-agent.js.map +1 -0
  39. package/dist/agents/test-agent.d.ts +26 -0
  40. package/dist/agents/test-agent.d.ts.map +1 -0
  41. package/dist/agents/test-agent.js +735 -0
  42. package/dist/agents/test-agent.js.map +1 -0
  43. package/dist/agents/test-agents.d.ts +7 -0
  44. package/dist/agents/test-agents.d.ts.map +1 -0
  45. package/dist/agents/test-agents.js +65 -0
  46. package/dist/agents/test-agents.js.map +1 -0
  47. package/dist/agents/widget-creator-agent.d.ts +18 -0
  48. package/dist/agents/widget-creator-agent.d.ts.map +1 -0
  49. package/dist/agents/widget-creator-agent.js +440 -0
  50. package/dist/agents/widget-creator-agent.js.map +1 -0
  51. package/dist/cli/snow-flow-cli-integration.d.ts +30 -0
  52. package/dist/cli/snow-flow-cli-integration.d.ts.map +1 -0
  53. package/dist/cli/snow-flow-cli-integration.js +385 -0
  54. package/dist/cli/snow-flow-cli-integration.js.map +1 -0
  55. package/dist/cli.js +466 -150
  56. package/dist/cli.js.map +1 -1
  57. package/dist/config/snow-flow-config.d.ts +1454 -0
  58. package/dist/config/snow-flow-config.d.ts.map +1 -0
  59. package/dist/config/snow-flow-config.js +403 -0
  60. package/dist/config/snow-flow-config.js.map +1 -0
  61. package/dist/health/system-health.d.ts +123 -0
  62. package/dist/health/system-health.d.ts.map +1 -0
  63. package/dist/health/system-health.js +580 -0
  64. package/dist/health/system-health.js.map +1 -0
  65. package/dist/index.d.ts +12 -1
  66. package/dist/index.d.ts.map +1 -1
  67. package/dist/index.js +19 -3
  68. package/dist/index.js.map +1 -1
  69. package/dist/mcp/servicenow-deployment-mcp-refactored.d.ts +58 -0
  70. package/dist/mcp/servicenow-deployment-mcp-refactored.d.ts.map +1 -0
  71. package/dist/mcp/servicenow-deployment-mcp-refactored.js +651 -0
  72. package/dist/mcp/servicenow-deployment-mcp-refactored.js.map +1 -0
  73. package/dist/mcp/servicenow-intelligent-mcp-refactored.d.ts +43 -0
  74. package/dist/mcp/servicenow-intelligent-mcp-refactored.d.ts.map +1 -0
  75. package/dist/mcp/servicenow-intelligent-mcp-refactored.js +576 -0
  76. package/dist/mcp/servicenow-intelligent-mcp-refactored.js.map +1 -0
  77. package/dist/mcp/servicenow-intelligent-mcp.d.ts +102 -1
  78. package/dist/mcp/servicenow-intelligent-mcp.d.ts.map +1 -1
  79. package/dist/mcp/servicenow-intelligent-mcp.js +2 -0
  80. package/dist/mcp/servicenow-intelligent-mcp.js.map +1 -1
  81. package/dist/mcp/shared/agent-context-provider.d.ts +77 -0
  82. package/dist/mcp/shared/agent-context-provider.d.ts.map +1 -0
  83. package/dist/mcp/shared/agent-context-provider.js +292 -0
  84. package/dist/mcp/shared/agent-context-provider.js.map +1 -0
  85. package/dist/mcp/shared/base-mcp-server.d.ts +97 -0
  86. package/dist/mcp/shared/base-mcp-server.d.ts.map +1 -0
  87. package/dist/mcp/shared/base-mcp-server.js +216 -0
  88. package/dist/mcp/shared/base-mcp-server.js.map +1 -0
  89. package/dist/mcp/shared/mcp-memory-manager.d.ts +87 -0
  90. package/dist/mcp/shared/mcp-memory-manager.d.ts.map +1 -0
  91. package/dist/mcp/shared/mcp-memory-manager.js +423 -0
  92. package/dist/mcp/shared/mcp-memory-manager.js.map +1 -0
  93. package/dist/memory/index.d.ts +9 -0
  94. package/dist/memory/index.d.ts.map +1 -0
  95. package/dist/memory/index.js +20 -0
  96. package/dist/memory/index.js.map +1 -0
  97. package/dist/memory/mcp-integration-example.d.ts +6 -0
  98. package/dist/memory/mcp-integration-example.d.ts.map +1 -0
  99. package/dist/memory/mcp-integration-example.js +282 -0
  100. package/dist/memory/mcp-integration-example.js.map +1 -0
  101. package/dist/memory/memory-client.d.ts +184 -0
  102. package/dist/memory/memory-client.d.ts.map +1 -0
  103. package/dist/memory/memory-client.js +325 -0
  104. package/dist/memory/memory-client.js.map +1 -0
  105. package/dist/memory/memory-operations.d.ts +170 -0
  106. package/dist/memory/memory-operations.d.ts.map +1 -0
  107. package/dist/memory/memory-operations.js +639 -0
  108. package/dist/memory/memory-operations.js.map +1 -0
  109. package/dist/memory/memory-system.d.ts +118 -0
  110. package/dist/memory/memory-system.d.ts.map +1 -0
  111. package/dist/memory/memory-system.js +477 -0
  112. package/dist/memory/memory-system.js.map +1 -0
  113. package/dist/memory/memory-test.d.ts +6 -0
  114. package/dist/memory/memory-test.d.ts.map +1 -0
  115. package/dist/memory/memory-test.js +162 -0
  116. package/dist/memory/memory-test.js.map +1 -0
  117. package/dist/memory/swarm-memory.d.ts +135 -0
  118. package/dist/memory/swarm-memory.d.ts.map +1 -0
  119. package/dist/memory/swarm-memory.js +378 -0
  120. package/dist/memory/swarm-memory.js.map +1 -0
  121. package/dist/monitoring/performance-tracker.d.ts +157 -0
  122. package/dist/monitoring/performance-tracker.d.ts.map +1 -0
  123. package/dist/monitoring/performance-tracker.js +571 -0
  124. package/dist/monitoring/performance-tracker.js.map +1 -0
  125. package/dist/queen/agent-factory.d.ts +3 -0
  126. package/dist/queen/agent-factory.d.ts.map +1 -1
  127. package/dist/queen/agent-factory.js +52 -0
  128. package/dist/queen/agent-factory.js.map +1 -1
  129. package/dist/queen/queen-memory.d.ts +8 -2
  130. package/dist/queen/queen-memory.d.ts.map +1 -1
  131. package/dist/queen/queen-memory.js +46 -4
  132. package/dist/queen/queen-memory.js.map +1 -1
  133. package/dist/snow-flow-system.d.ts +132 -0
  134. package/dist/snow-flow-system.d.ts.map +1 -0
  135. package/dist/snow-flow-system.js +396 -0
  136. package/dist/snow-flow-system.js.map +1 -0
  137. package/dist/types/todo.types.d.ts +61 -0
  138. package/dist/types/todo.types.d.ts.map +1 -0
  139. package/dist/types/todo.types.js +7 -0
  140. package/dist/types/todo.types.js.map +1 -0
  141. package/dist/utils/error-recovery.d.ts +101 -0
  142. package/dist/utils/error-recovery.d.ts.map +1 -0
  143. package/dist/utils/error-recovery.js +548 -0
  144. package/dist/utils/error-recovery.js.map +1 -0
  145. package/dist/version.d.ts +1 -1
  146. package/dist/version.js +1 -1
  147. package/package.json +7 -2
  148. package/deploy.sh +0 -366
  149. package/docker/base/Dockerfile.base +0 -45
  150. package/docker/generate-services.js +0 -244
  151. package/docker/nginx/Dockerfile +0 -71
  152. package/docker/nginx/consul-template.hcl +0 -64
  153. package/docker/nginx/healthcheck.sh +0 -178
  154. package/docker/nginx/nginx.conf +0 -210
  155. package/docker/nginx/supervisord.conf +0 -57
  156. package/docker/nginx/templates/upstreams.conf.tpl +0 -48
  157. package/docker/services/automation-mcp/Dockerfile +0 -32
  158. package/docker/services/automation-mcp/config/service.json +0 -28
  159. package/docker/services/automation-mcp/entrypoint.js +0 -51
  160. package/docker/services/deployment-mcp/Dockerfile +0 -32
  161. package/docker/services/deployment-mcp/entrypoint.js +0 -51
  162. package/docker/services/flow-composer-mcp/Dockerfile +0 -32
  163. package/docker/services/flow-composer-mcp/config/service.json +0 -28
  164. package/docker/services/flow-composer-mcp/entrypoint.js +0 -51
  165. package/docker/services/graph-memory-mcp/Dockerfile +0 -32
  166. package/docker/services/graph-memory-mcp/config/service.json +0 -28
  167. package/docker/services/graph-memory-mcp/entrypoint.js +0 -51
  168. package/docker/services/integration-mcp/Dockerfile +0 -32
  169. package/docker/services/integration-mcp/config/service.json +0 -28
  170. package/docker/services/integration-mcp/entrypoint.js +0 -51
  171. package/docker/services/intelligent-mcp/Dockerfile +0 -32
  172. package/docker/services/intelligent-mcp/config/service.json +0 -28
  173. package/docker/services/intelligent-mcp/entrypoint.js +0 -51
  174. package/docker/services/operations-mcp/Dockerfile +0 -32
  175. package/docker/services/operations-mcp/config/service.json +0 -28
  176. package/docker/services/operations-mcp/entrypoint.js +0 -51
  177. package/docker/services/platform-development-mcp/Dockerfile +0 -32
  178. package/docker/services/platform-development-mcp/config/service.json +0 -28
  179. package/docker/services/platform-development-mcp/entrypoint.js +0 -51
  180. package/docker/services/reporting-analytics-mcp/Dockerfile +0 -32
  181. package/docker/services/reporting-analytics-mcp/config/service.json +0 -28
  182. package/docker/services/reporting-analytics-mcp/entrypoint.js +0 -51
  183. package/docker/services/security-compliance-mcp/Dockerfile +0 -32
  184. package/docker/services/security-compliance-mcp/config/service.json +0 -28
  185. package/docker/services/security-compliance-mcp/entrypoint.js +0 -51
  186. package/docker/services/update-set-mcp/Dockerfile +0 -32
  187. package/docker/services/update-set-mcp/config/service.json +0 -28
  188. package/docker/services/update-set-mcp/entrypoint.js +0 -51
  189. package/docker-compose.override.yml +0 -132
  190. package/docker-compose.prod.yml +0 -340
  191. package/docker-compose.yml +0 -579
  192. package/k8s/automation-mcp.yaml +0 -232
  193. package/k8s/configmap.yaml +0 -237
  194. package/k8s/deployment-mcp.yaml +0 -232
  195. package/k8s/flow-composer-mcp.yaml +0 -232
  196. package/k8s/generate-k8s-manifests.js +0 -453
  197. package/k8s/graph-memory-mcp.yaml +0 -232
  198. package/k8s/infrastructure.yaml +0 -456
  199. package/k8s/ingress.yaml +0 -361
  200. package/k8s/integration-mcp.yaml +0 -232
  201. package/k8s/intelligent-mcp.yaml +0 -232
  202. package/k8s/kustomization.yaml +0 -111
  203. package/k8s/mcp-services.yaml +0 -2552
  204. package/k8s/monitoring.yaml +0 -515
  205. package/k8s/namespace.yaml +0 -80
  206. package/k8s/operations-mcp.yaml +0 -232
  207. package/k8s/platform-development-mcp.yaml +0 -232
  208. package/k8s/rbac.yaml +0 -140
  209. package/k8s/reporting-analytics-mcp.yaml +0 -232
  210. package/k8s/security-compliance-mcp.yaml +0 -232
  211. package/k8s/update-set-mcp.yaml +0 -232
  212. package/test-clean-install/.claude/config.json +0 -12
  213. package/test-clean-install/.env.example +0 -49
  214. package/test-clean-install/CLAUDE.md +0 -26
  215. package/test-clean-install/README.md +0 -23
  216. package/test-global-install/.claude/config.json +0 -12
  217. package/test-global-install/CLAUDE.md +0 -26
  218. package/test-global-install/README.md +0 -23
  219. package/test-global-install/test-global-install/.claude/config.json +0 -12
  220. package/test-global-install/test-global-install/CLAUDE.md +0 -26
  221. package/test-global-install/test-global-install/README.md +0 -23
  222. package/test-global-install/test-global-install/test-global-install/.claude/config.json +0 -12
  223. package/test-global-install/test-global-install/test-global-install/.env.example +0 -49
  224. package/test-global-install/test-global-install/test-global-install/CLAUDE.md +0 -26
  225. package/test-global-install/test-global-install/test-global-install/README.md +0 -23
  226. package/test-init-debug/.claude/config.json +0 -12
  227. package/test-init-debug/CLAUDE.md +0 -693
  228. package/test-init-debug/README.md +0 -392
  229. package/test-init-real/.claude/config.json +0 -12
  230. package/test-init-real/.claude/mcp-config.json +0 -128
  231. package/test-init-real/.claude/settings.json +0 -37
  232. package/test-init-real/CLAUDE.md +0 -693
  233. package/test-init-real/README.md +0 -392
  234. 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,7 +1,7 @@
1
1
  /**
2
2
  * Snow-Flow Version Management
3
3
  */
4
- export declare const VERSION = "1.1.76";
4
+ export declare const VERSION = "1.1.78";
5
5
  export declare const VERSION_INFO: {
6
6
  version: string;
7
7
  name: string;
package/dist/version.js CHANGED
@@ -7,7 +7,7 @@ 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.76';
10
+ exports.VERSION = '1.1.78';
11
11
  exports.VERSION_INFO = {
12
12
  version: exports.VERSION,
13
13
  name: 'Snow-Flow',
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "snow-flow",
3
- "version": "1.1.76",
3
+ "version": "1.1.78",
4
4
  "description": "ServiceNow Queen Agent - Hive-Mind Intelligence for ServiceNow Development inspired by claude-flow. Transform complex workflows into elegant one-command orchestration.",
5
5
  "main": "dist/index.js",
6
6
  "type": "commonjs",
@@ -12,6 +12,8 @@
12
12
  "dev": "tsc --watch",
13
13
  "start": "node dist/index.js",
14
14
  "test": "jest",
15
+ "test:memory": "node dist/memory/memory-test.js",
16
+ "test:mcp-integration": "node dist/memory/mcp-integration-example.js",
15
17
  "lint": "eslint src/**/*.ts",
16
18
  "typecheck": "tsc --noEmit",
17
19
  "setup-mcp": "node scripts/setup-mcp.js",
@@ -49,6 +51,7 @@
49
51
  "@types/node-fetch": "^2.6.12",
50
52
  "@types/uuid": "^10.0.0",
51
53
  "axios": "^1.10.0",
54
+ "better-sqlite3": "^9.6.0",
52
55
  "boxen": "^8.0.1",
53
56
  "chalk": "^4.1.2",
54
57
  "chalk-animation": "^2.0.3",
@@ -63,9 +66,11 @@
63
66
  "ora": "^8.2.0",
64
67
  "sqlite3": "^5.1.7",
65
68
  "uuid": "^11.1.0",
66
- "winston": "^3.17.0"
69
+ "winston": "^3.17.0",
70
+ "zod": "^3.23.0"
67
71
  },
68
72
  "devDependencies": {
73
+ "@types/better-sqlite3": "^7.6.9",
69
74
  "@types/node": "^20.11.0",
70
75
  "@typescript-eslint/eslint-plugin": "^7.18.0",
71
76
  "@typescript-eslint/parser": "^7.18.0",