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,396 @@
1
+ "use strict";
2
+ /**
3
+ * Snow-Flow Main Integration Layer
4
+ * Coordinates all subsystems: Agents, Memory, MCPs, and ServiceNow
5
+ */
6
+ var __importDefault = (this && this.__importDefault) || function (mod) {
7
+ return (mod && mod.__esModule) ? mod : { "default": mod };
8
+ };
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.snowFlowSystem = exports.SnowFlowSystem = void 0;
11
+ const events_1 = require("events");
12
+ const snow_flow_config_1 = require("./config/snow-flow-config");
13
+ const servicenow_queen_1 = require("./queen/servicenow-queen");
14
+ const memory_system_1 = require("./memory/memory-system");
15
+ const mcp_server_manager_1 = require("./utils/mcp-server-manager");
16
+ const performance_tracker_1 = require("./monitoring/performance-tracker");
17
+ const system_health_1 = require("./health/system-health");
18
+ const error_recovery_1 = require("./utils/error-recovery");
19
+ const logger_1 = require("./utils/logger");
20
+ const path_1 = __importDefault(require("path"));
21
+ const os_1 = __importDefault(require("os"));
22
+ class SnowFlowSystem extends events_1.EventEmitter {
23
+ constructor(config) {
24
+ super();
25
+ this.sessions = new Map();
26
+ this.initialized = false;
27
+ this.config = new snow_flow_config_1.SnowFlowConfig(config);
28
+ this.logger = new logger_1.Logger('SnowFlowSystem');
29
+ this.errorRecovery = new error_recovery_1.ErrorRecovery(this.logger);
30
+ }
31
+ /**
32
+ * Initialize the entire Snow-Flow system
33
+ */
34
+ async initialize() {
35
+ if (this.initialized) {
36
+ this.logger.info('System already initialized');
37
+ return;
38
+ }
39
+ try {
40
+ this.logger.info('Initializing Snow-Flow System...');
41
+ // 1. Initialize Memory System
42
+ await this.initializeMemory();
43
+ // 2. Initialize MCP Servers
44
+ await this.initializeMCPServers();
45
+ // 3. Initialize Queen Agent System
46
+ await this.initializeQueen();
47
+ // 4. Initialize Performance Tracking
48
+ await this.initializePerformanceTracking();
49
+ // 5. Initialize System Health Monitoring
50
+ await this.initializeHealthMonitoring();
51
+ this.initialized = true;
52
+ this.emit('system:initialized');
53
+ this.logger.info('Snow-Flow System initialized successfully');
54
+ }
55
+ catch (error) {
56
+ this.logger.error('System initialization failed:', error);
57
+ await this.errorRecovery.handleCriticalError(error, {
58
+ operation: 'system_initialization',
59
+ fallbackStrategies: ['retry_initialization', 'partial_initialization']
60
+ });
61
+ throw error;
62
+ }
63
+ }
64
+ /**
65
+ * Initialize Memory System with SQLite
66
+ */
67
+ async initializeMemory() {
68
+ this.logger.info('Initializing Memory System...');
69
+ const dbPath = path_1.default.join(os_1.default.homedir(), '.snow-flow', 'memory', 'snow-flow.db');
70
+ this.memory = new memory_system_1.MemorySystem({
71
+ dbPath,
72
+ schema: this.config.memory.schema,
73
+ ttl: this.config.memory.ttl
74
+ });
75
+ await this.memory.initialize();
76
+ this.emit('memory:initialized');
77
+ }
78
+ /**
79
+ * Initialize MCP Server Manager
80
+ */
81
+ async initializeMCPServers() {
82
+ this.logger.info('Initializing MCP Servers...');
83
+ this.mcpManager = new mcp_server_manager_1.MCPServerManager(this.config.mcp);
84
+ // Start all required MCP servers
85
+ const servers = [
86
+ 'servicenow-deployment',
87
+ 'servicenow-intelligent',
88
+ 'servicenow-operations',
89
+ 'servicenow-flow-composer',
90
+ 'servicenow-platform-development',
91
+ 'servicenow-integration',
92
+ 'servicenow-automation',
93
+ 'servicenow-security-compliance',
94
+ 'servicenow-reporting-analytics',
95
+ 'servicenow-graph-memory',
96
+ 'servicenow-update-set'
97
+ ];
98
+ for (const server of servers) {
99
+ try {
100
+ await this.mcpManager.startServer(server);
101
+ this.logger.info(`Started MCP server: ${server}`);
102
+ }
103
+ catch (error) {
104
+ this.logger.error(`Failed to start MCP server ${server}:`, error);
105
+ // Continue with other servers even if one fails
106
+ }
107
+ }
108
+ this.emit('mcp:initialized');
109
+ }
110
+ /**
111
+ * Initialize Queen Agent System
112
+ */
113
+ async initializeQueen() {
114
+ this.logger.info('Initializing Queen Agent System...');
115
+ if (!this.memory || !this.mcpManager) {
116
+ throw new Error('Memory and MCP must be initialized before Queen');
117
+ }
118
+ this.queen = new servicenow_queen_1.ServiceNowQueen({
119
+ memory: this.memory,
120
+ mcpManager: this.mcpManager,
121
+ config: this.config.agents.queen
122
+ });
123
+ await this.queen.initialize();
124
+ // Set up Queen event handlers
125
+ this.queen.on('agent:spawned', (agent) => {
126
+ this.emit('agent:spawned', agent);
127
+ });
128
+ this.queen.on('agent:completed', (agent) => {
129
+ this.emit('agent:completed', agent);
130
+ });
131
+ this.queen.on('swarm:progress', (progress) => {
132
+ this.emit('swarm:progress', progress);
133
+ });
134
+ this.emit('queen:initialized');
135
+ }
136
+ /**
137
+ * Initialize Performance Tracking
138
+ */
139
+ async initializePerformanceTracking() {
140
+ this.logger.info('Initializing Performance Tracking...');
141
+ if (!this.memory) {
142
+ throw new Error('Memory must be initialized before Performance Tracking');
143
+ }
144
+ this.performanceTracker = new performance_tracker_1.PerformanceTracker({
145
+ memory: this.memory,
146
+ config: this.config.monitoring.performance
147
+ });
148
+ await this.performanceTracker.initialize();
149
+ // Set up performance monitoring
150
+ this.performanceTracker.on('metric:recorded', (metric) => {
151
+ this.emit('performance:metric', metric);
152
+ });
153
+ this.emit('performance:initialized');
154
+ }
155
+ /**
156
+ * Initialize System Health Monitoring
157
+ */
158
+ async initializeHealthMonitoring() {
159
+ this.logger.info('Initializing System Health Monitoring...');
160
+ if (!this.memory || !this.mcpManager) {
161
+ throw new Error('Memory and MCP must be initialized before Health Monitoring');
162
+ }
163
+ this.systemHealth = new system_health_1.SystemHealth({
164
+ memory: this.memory,
165
+ mcpManager: this.mcpManager,
166
+ config: this.config.health
167
+ });
168
+ await this.systemHealth.initialize();
169
+ // Set up health monitoring
170
+ this.systemHealth.on('health:check', (status) => {
171
+ this.emit('health:status', status);
172
+ });
173
+ // Start periodic health checks
174
+ await this.systemHealth.startMonitoring();
175
+ this.emit('health:initialized');
176
+ }
177
+ /**
178
+ * Execute a swarm objective
179
+ */
180
+ async executeSwarm(objective, options = {}) {
181
+ if (!this.initialized) {
182
+ throw new Error('System not initialized. Call initialize() first.');
183
+ }
184
+ const sessionId = this.generateSessionId();
185
+ const session = {
186
+ id: sessionId,
187
+ objective,
188
+ startedAt: new Date(),
189
+ status: 'initializing',
190
+ queenAgentId: '',
191
+ activeAgents: new Map(),
192
+ completedTasks: 0,
193
+ totalTasks: 0,
194
+ errors: []
195
+ };
196
+ this.sessions.set(sessionId, session);
197
+ try {
198
+ // Track swarm execution
199
+ await this.performanceTracker?.startOperation('swarm_execution', {
200
+ sessionId,
201
+ objective
202
+ });
203
+ // Queen analyzes objective and spawns agents
204
+ const analysis = await this.queen.analyzeObjective(objective, {
205
+ sessionId,
206
+ ...options
207
+ });
208
+ session.queenAgentId = analysis.queenId;
209
+ session.totalTasks = analysis.estimatedTasks;
210
+ session.status = 'active';
211
+ // Execute swarm with Queen coordination
212
+ const result = await this.queen.executeSwarm(analysis, {
213
+ sessionId,
214
+ onProgress: (progress) => {
215
+ session.completedTasks = progress.completed;
216
+ session.status = progress.status;
217
+ this.emit('swarm:progress', { sessionId, progress });
218
+ },
219
+ onAgentUpdate: (agentUpdate) => {
220
+ this.updateAgentInfo(session, agentUpdate);
221
+ }
222
+ });
223
+ session.status = 'completed';
224
+ await this.performanceTracker?.endOperation('swarm_execution', {
225
+ sessionId,
226
+ success: true
227
+ });
228
+ return {
229
+ sessionId,
230
+ success: true,
231
+ artifacts: result.artifacts,
232
+ summary: result.summary,
233
+ metrics: await this.performanceTracker?.getSessionMetrics(sessionId) || {}
234
+ };
235
+ }
236
+ catch (error) {
237
+ session.status = 'failed';
238
+ session.errors.push(error);
239
+ await this.performanceTracker?.endOperation('swarm_execution', {
240
+ sessionId,
241
+ success: false,
242
+ error: error.message
243
+ });
244
+ // Attempt recovery
245
+ const recovery = await this.errorRecovery.attemptSwarmRecovery(sessionId, error);
246
+ if (recovery.success) {
247
+ return recovery.result;
248
+ }
249
+ throw error;
250
+ }
251
+ }
252
+ /**
253
+ * Get system status
254
+ */
255
+ async getStatus() {
256
+ if (!this.initialized) {
257
+ return {
258
+ initialized: false,
259
+ status: 'not_initialized',
260
+ components: {}
261
+ };
262
+ }
263
+ const healthStatus = await this.systemHealth.getFullStatus();
264
+ const activeSessions = Array.from(this.sessions.values())
265
+ .filter(s => s.status === 'active');
266
+ return {
267
+ initialized: true,
268
+ status: healthStatus.healthy ? 'healthy' : 'degraded',
269
+ components: {
270
+ memory: healthStatus.components.memory,
271
+ mcp: healthStatus.components.mcp,
272
+ queen: healthStatus.components.queen,
273
+ performance: healthStatus.components.performance
274
+ },
275
+ activeSessions: activeSessions.length,
276
+ metrics: {
277
+ totalSessions: this.sessions.size,
278
+ successRate: await this.calculateSuccessRate(),
279
+ averageExecutionTime: await this.calculateAverageExecutionTime()
280
+ }
281
+ };
282
+ }
283
+ /**
284
+ * Shutdown the system gracefully
285
+ */
286
+ async shutdown() {
287
+ this.logger.info('Shutting down Snow-Flow System...');
288
+ try {
289
+ // Complete active sessions
290
+ for (const session of this.sessions.values()) {
291
+ if (session.status === 'active') {
292
+ await this.gracefullyCompleteSession(session.id);
293
+ }
294
+ }
295
+ // Shutdown components in reverse order
296
+ await this.systemHealth?.stopMonitoring();
297
+ await this.performanceTracker?.shutdown();
298
+ await this.queen?.shutdown();
299
+ await this.mcpManager?.shutdownAll();
300
+ await this.memory?.close();
301
+ this.initialized = false;
302
+ this.emit('system:shutdown');
303
+ this.logger.info('Snow-Flow System shutdown complete');
304
+ }
305
+ catch (error) {
306
+ this.logger.error('Error during shutdown:', error);
307
+ throw error;
308
+ }
309
+ }
310
+ /**
311
+ * Get session information
312
+ */
313
+ getSession(sessionId) {
314
+ return this.sessions.get(sessionId);
315
+ }
316
+ /**
317
+ * List all sessions
318
+ */
319
+ listSessions(filter) {
320
+ const sessions = Array.from(this.sessions.values());
321
+ if (filter?.status) {
322
+ return sessions.filter(s => s.status === filter.status);
323
+ }
324
+ return sessions;
325
+ }
326
+ /**
327
+ * Get memory system instance
328
+ */
329
+ getMemory() {
330
+ return this.memory;
331
+ }
332
+ /**
333
+ * Get MCP manager instance
334
+ */
335
+ getMCPManager() {
336
+ return this.mcpManager;
337
+ }
338
+ /**
339
+ * Private helper methods
340
+ */
341
+ generateSessionId() {
342
+ return `swarm_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`;
343
+ }
344
+ updateAgentInfo(session, update) {
345
+ const agent = session.activeAgents.get(update.agentId) || {
346
+ id: update.agentId,
347
+ type: update.agentType,
348
+ status: 'spawned',
349
+ assignedTasks: [],
350
+ progress: 0,
351
+ lastActivity: new Date()
352
+ };
353
+ Object.assign(agent, update);
354
+ session.activeAgents.set(update.agentId, agent);
355
+ }
356
+ async gracefullyCompleteSession(sessionId) {
357
+ const session = this.sessions.get(sessionId);
358
+ if (!session)
359
+ return;
360
+ this.logger.info(`Gracefully completing session ${sessionId}`);
361
+ // Notify all active agents to wrap up
362
+ for (const agent of session.activeAgents.values()) {
363
+ if (agent.status === 'active') {
364
+ await this.queen?.requestAgentShutdown(agent.id, sessionId);
365
+ }
366
+ }
367
+ // Wait for agents to complete (max 30 seconds)
368
+ const timeout = setTimeout(() => {
369
+ session.status = 'completed';
370
+ }, 30000);
371
+ while (session.status === 'active') {
372
+ await new Promise(resolve => setTimeout(resolve, 1000));
373
+ const activeAgents = Array.from(session.activeAgents.values())
374
+ .filter(a => a.status === 'active');
375
+ if (activeAgents.length === 0) {
376
+ session.status = 'completed';
377
+ clearTimeout(timeout);
378
+ break;
379
+ }
380
+ }
381
+ }
382
+ async calculateSuccessRate() {
383
+ const sessions = Array.from(this.sessions.values());
384
+ const completed = sessions.filter(s => s.status === 'completed').length;
385
+ const total = sessions.filter(s => ['completed', 'failed'].includes(s.status)).length;
386
+ return total > 0 ? (completed / total) * 100 : 0;
387
+ }
388
+ async calculateAverageExecutionTime() {
389
+ const metrics = await this.performanceTracker?.getAggregateMetrics('swarm_execution');
390
+ return metrics?.averageDuration || 0;
391
+ }
392
+ }
393
+ exports.SnowFlowSystem = SnowFlowSystem;
394
+ // Export singleton instance
395
+ exports.snowFlowSystem = new SnowFlowSystem();
396
+ //# sourceMappingURL=snow-flow-system.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snow-flow-system.js","sourceRoot":"","sources":["../src/snow-flow-system.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * TodoWrite Integration Types
3
+ * Types for integrating with Claude Code's TodoWrite tool
4
+ */
5
+ export interface TodoItem {
6
+ id: string;
7
+ content: string;
8
+ status: TodoStatus;
9
+ priority: TodoPriority;
10
+ assignedAgent?: string;
11
+ dependencies?: string[];
12
+ metadata?: Record<string, any>;
13
+ createdAt?: Date;
14
+ updatedAt?: Date;
15
+ completedAt?: Date;
16
+ }
17
+ export type TodoStatus = 'pending' | 'in_progress' | 'completed' | 'cancelled';
18
+ export type TodoPriority = 'low' | 'medium' | 'high' | 'critical';
19
+ export interface TodoCoordination {
20
+ taskId: string;
21
+ todos: TodoItem[];
22
+ agentAssignments: Map<string, string>;
23
+ dependencies: Map<string, string[]>;
24
+ }
25
+ export interface TodoUpdate {
26
+ todoId: string;
27
+ updates: Partial<TodoItem>;
28
+ updatedBy: string;
29
+ timestamp: Date;
30
+ }
31
+ export interface TodoProgress {
32
+ total: number;
33
+ pending: number;
34
+ inProgress: number;
35
+ completed: number;
36
+ cancelled: number;
37
+ percentComplete: number;
38
+ }
39
+ export interface TodoAgentAssignment {
40
+ todoId: string;
41
+ agentId: string;
42
+ agentType: string;
43
+ assignedAt: Date;
44
+ estimatedDuration?: number;
45
+ }
46
+ export interface TodoDependencyGraph {
47
+ nodes: TodoNode[];
48
+ edges: TodoEdge[];
49
+ }
50
+ export interface TodoNode {
51
+ id: string;
52
+ todo: TodoItem;
53
+ level: number;
54
+ criticalPath: boolean;
55
+ }
56
+ export interface TodoEdge {
57
+ from: string;
58
+ to: string;
59
+ type: 'blocks' | 'requires' | 'optional';
60
+ }
61
+ //# sourceMappingURL=todo.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"todo.types.d.ts","sourceRoot":"","sources":["../../src/types/todo.types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,UAAU,CAAC;IACnB,QAAQ,EAAE,YAAY,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/B,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,WAAW,CAAC,EAAE,IAAI,CAAC;CACpB;AAED,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,aAAa,GAAG,WAAW,GAAG,WAAW,CAAC;AAE/E,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC;AAElE,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;CACrC;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,IAAI,CAAC;IACjB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,KAAK,EAAE,QAAQ,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,QAAQ,GAAG,UAAU,GAAG,UAAU,CAAC;CAC1C"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ /**
3
+ * TodoWrite Integration Types
4
+ * Types for integrating with Claude Code's TodoWrite tool
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ //# sourceMappingURL=todo.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"todo.types.js","sourceRoot":"","sources":["../../src/types/todo.types.ts"],"names":[],"mappings":";AAAA;;;GAGG"}
@@ -0,0 +1,101 @@
1
+ /**
2
+ * Snow-Flow Error Handling & Recovery System
3
+ * Implements comprehensive error recovery patterns from MCP Architecture
4
+ */
5
+ import { EventEmitter } from 'events';
6
+ import { Logger } from './logger';
7
+ import { MemorySystem } from '../memory/memory-system';
8
+ export interface ErrorContext {
9
+ operation: string;
10
+ sessionId?: string;
11
+ agentId?: string;
12
+ artifactId?: string;
13
+ attemptNumber?: number;
14
+ fallbackStrategies?: string[];
15
+ metadata?: Record<string, any>;
16
+ }
17
+ export interface RecoveryStrategy {
18
+ name: string;
19
+ condition: (error: Error, context: ErrorContext) => boolean;
20
+ execute: (error: Error, context: ErrorContext) => Promise<RecoveryResult>;
21
+ priority: number;
22
+ }
23
+ export interface RecoveryResult {
24
+ success: boolean;
25
+ strategyUsed?: string;
26
+ result?: any;
27
+ error?: Error;
28
+ nextStrategies?: string[];
29
+ }
30
+ export interface ErrorMetrics {
31
+ totalErrors: number;
32
+ recoveredErrors: number;
33
+ failedRecoveries: number;
34
+ errorsByType: Record<string, number>;
35
+ recoveryStrategiesUsed: Record<string, number>;
36
+ averageRecoveryTime: number;
37
+ }
38
+ export declare class ErrorRecovery extends EventEmitter {
39
+ private logger;
40
+ private strategies;
41
+ private errorHistory;
42
+ private memory?;
43
+ private maxRetries;
44
+ private retryDelay;
45
+ private exponentialBackoff;
46
+ constructor(logger: Logger, memory?: MemorySystem);
47
+ /**
48
+ * Initialize default recovery strategies
49
+ */
50
+ private initializeDefaultStrategies;
51
+ /**
52
+ * Register a custom recovery strategy
53
+ */
54
+ registerStrategy(strategy: RecoveryStrategy): void;
55
+ /**
56
+ * Handle an error with automatic recovery
57
+ */
58
+ handleError(error: Error, context: ErrorContext): Promise<RecoveryResult>;
59
+ /**
60
+ * Handle critical errors that affect the entire system
61
+ */
62
+ handleCriticalError(error: Error, context: ErrorContext): Promise<void>;
63
+ /**
64
+ * Attempt to recover a failed swarm session
65
+ */
66
+ attemptSwarmRecovery(sessionId: string, error: Error): Promise<RecoveryResult>;
67
+ /**
68
+ * Get error metrics
69
+ */
70
+ getMetrics(): ErrorMetrics;
71
+ /**
72
+ * Clear error history
73
+ */
74
+ clearHistory(): void;
75
+ /**
76
+ * Private helper methods
77
+ */
78
+ private getApplicableStrategies;
79
+ private isUnrecoverable;
80
+ private isPermissionError;
81
+ private isScopeError;
82
+ private isDataConsistencyError;
83
+ private canPartiallySucceed;
84
+ private calculateRetryDelay;
85
+ private requestPermissionEscalation;
86
+ private extractPartialSuccess;
87
+ private generateManualSteps;
88
+ private executeEmergencyStrategy;
89
+ private resumeFromCheckpoint;
90
+ private recordError;
91
+ private recordRecovery;
92
+ private recordFailedRecovery;
93
+ private delay;
94
+ }
95
+ export declare const FALLBACK_STRATEGIES: {
96
+ widget_deployment: string[];
97
+ flow_creation: string[];
98
+ script_execution: string[];
99
+ integration_failure: string[];
100
+ };
101
+ //# sourceMappingURL=error-recovery.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-recovery.d.ts","sourceRoot":"","sources":["../../src/utils/error-recovery.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,KAAK,OAAO,CAAC;IAC5D,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,KAAK,OAAO,CAAC,cAAc,CAAC,CAAC;IAC1E,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,YAAY;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/C,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAED,qBAAa,aAAc,SAAQ,YAAY;IAC7C,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,UAAU,CAA4C;IAC9D,OAAO,CAAC,YAAY,CAAqB;IACzC,OAAO,CAAC,MAAM,CAAC,CAAe;IAC9B,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,UAAU,CAAQ;IAC1B,OAAO,CAAC,kBAAkB,CAAQ;gBAEtB,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,YAAY;IAOjD;;OAEG;IACH,OAAO,CAAC,2BAA2B;IAkKnC;;OAEG;IACH,gBAAgB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,IAAI;IAKlD;;OAEG;IACG,WAAW,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,cAAc,CAAC;IAiE/E;;OAEG;IACG,mBAAmB,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAsB7E;;OAEG;IACG,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,cAAc,CAAC;IAgCpF;;OAEG;IACH,UAAU,IAAI,YAAY;IAyC1B;;OAEG;IACH,YAAY,IAAI,IAAI;IAIpB;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAiB/B,OAAO,CAAC,eAAe;IAavB,OAAO,CAAC,iBAAiB;IAgBzB,OAAO,CAAC,YAAY;IAcpB,OAAO,CAAC,sBAAsB;IAc9B,OAAO,CAAC,mBAAmB;IAM3B,OAAO,CAAC,mBAAmB;YAUb,2BAA2B;YAsB3B,qBAAqB;YAiBrB,mBAAmB;YA0BnB,wBAAwB;YAyBxB,oBAAoB;IAYlC,OAAO,CAAC,WAAW;IAcnB,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,oBAAoB;IAQ5B,OAAO,CAAC,KAAK;CAGd;AAaD,eAAO,MAAM,mBAAmB;;;;;CA0B/B,CAAC"}