snow-flow 2.8.7 → 2.8.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cli.js CHANGED
@@ -2365,7 +2365,7 @@ program
2365
2365
  await manager.initialize();
2366
2366
  console.log('šŸ“” Starting all ServiceNow MCP servers...');
2367
2367
  await manager.startAllServers();
2368
- const status = manager.getServerStatus();
2368
+ const status = manager.getServerList();
2369
2369
  const running = status.filter((s) => s.status === 'running').length;
2370
2370
  const total = status.length;
2371
2371
  console.log(chalk_1.default.green(`āœ… Started ${running}/${total} MCP servers successfully!`));
@@ -4058,7 +4058,7 @@ async function handleMCPStart(manager, options) {
4058
4058
  else {
4059
4059
  console.log('šŸ“” Starting all configured MCP servers...');
4060
4060
  await manager.startAllServers();
4061
- const status = manager.getServerStatus();
4061
+ const status = manager.getServerList();
4062
4062
  const running = status.filter((s) => s.status === 'running').length;
4063
4063
  const total = status.length;
4064
4064
  console.log(`\nāœ… Started ${running}/${total} MCP servers`);
@@ -4110,12 +4110,12 @@ async function handleMCPRestart(manager, options) {
4110
4110
  await manager.stopAllServers();
4111
4111
  await manager.startAllServers();
4112
4112
  const running = manager.getRunningServersCount();
4113
- const total = manager.getServerStatus().length;
4113
+ const total = manager.getServerList().length;
4114
4114
  console.log(`āœ… Restarted ${running}/${total} MCP servers`);
4115
4115
  }
4116
4116
  }
4117
4117
  async function handleMCPStatus(manager, options) {
4118
- const servers = manager.getServerStatus();
4118
+ const servers = manager.getServerList();
4119
4119
  console.log('\nšŸ“Š MCP Server Status');
4120
4120
  console.log('═'.repeat(80));
4121
4121
  if (servers.length === 0) {
@@ -4184,7 +4184,7 @@ async function handleMCPLogs(manager, options) {
4184
4184
  }
4185
4185
  }
4186
4186
  async function handleMCPList(manager, options) {
4187
- const servers = manager.getServerStatus();
4187
+ const servers = manager.getServerList();
4188
4188
  console.log('\nšŸ“‹ Configured MCP Servers');
4189
4189
  console.log('═'.repeat(80));
4190
4190
  if (servers.length === 0) {
@@ -254,7 +254,7 @@ class SystemHealth extends events_1.EventEmitter {
254
254
  async checkMCP() {
255
255
  const startTime = Date.now();
256
256
  try {
257
- const serverStatuses = this.mcpManager.getServerStatus();
257
+ const serverStatuses = this.mcpManager.getServerList();
258
258
  const totalServers = serverStatuses.length;
259
259
  const healthyServers = serverStatuses.filter(s => s.status === 'running').length;
260
260
  const unhealthyServers = serverStatuses.filter(s => s.status === 'error').length;
@@ -1,6 +1,11 @@
1
1
  #!/usr/bin/env node
2
2
  /**
3
- * Start all ServiceNow MCP servers (WITH SINGLETON PROTECTION)
3
+ * āš ļø DEPRECATED: Legacy MCP Server Starter
4
+ *
5
+ * This script is DEPRECATED and will be removed in v3.0.0
6
+ * Use MCPServerManager instead for proper server management.
7
+ *
8
+ * Migration: Use scripts/start-mcp-proper.js or MCPServerManager directly
4
9
  */
5
10
  export {};
6
11
  //# sourceMappingURL=start-all-mcp-servers.d.ts.map
@@ -1,93 +1,74 @@
1
1
  #!/usr/bin/env node
2
2
  "use strict";
3
3
  /**
4
- * Start all ServiceNow MCP servers (WITH SINGLETON PROTECTION)
4
+ * āš ļø DEPRECATED: Legacy MCP Server Starter
5
+ *
6
+ * This script is DEPRECATED and will be removed in v3.0.0
7
+ * Use MCPServerManager instead for proper server management.
8
+ *
9
+ * Migration: Use scripts/start-mcp-proper.js or MCPServerManager directly
5
10
  */
11
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
12
+ if (k2 === undefined) k2 = k;
13
+ var desc = Object.getOwnPropertyDescriptor(m, k);
14
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
15
+ desc = { enumerable: true, get: function() { return m[k]; } };
16
+ }
17
+ Object.defineProperty(o, k2, desc);
18
+ }) : (function(o, m, k, k2) {
19
+ if (k2 === undefined) k2 = k;
20
+ o[k2] = m[k];
21
+ }));
22
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
23
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
24
+ }) : function(o, v) {
25
+ o["default"] = v;
26
+ });
27
+ var __importStar = (this && this.__importStar) || (function () {
28
+ var ownKeys = function(o) {
29
+ ownKeys = Object.getOwnPropertyNames || function (o) {
30
+ var ar = [];
31
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
32
+ return ar;
33
+ };
34
+ return ownKeys(o);
35
+ };
36
+ return function (mod) {
37
+ if (mod && mod.__esModule) return mod;
38
+ var result = {};
39
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
40
+ __setModuleDefault(result, mod);
41
+ return result;
42
+ };
43
+ })();
6
44
  Object.defineProperty(exports, "__esModule", { value: true });
7
- const child_process_1 = require("child_process");
8
45
  const logger_js_1 = require("../utils/logger.js");
9
- const mcp_singleton_lock_js_1 = require("../utils/mcp-singleton-lock.js");
10
- const logger = new logger_js_1.Logger('MCPServerLauncher');
46
+ const logger = new logger_js_1.Logger('DeprecatedMCPLauncher');
11
47
  async function startAllServers() {
12
- // šŸ”’ SINGLETON CHECK - Prevent duplicate instances
13
- const singletonLock = (0, mcp_singleton_lock_js_1.getMCPSingletonLock)();
14
- if (!singletonLock.acquire()) {
15
- logger.error('āŒ MCP servers already running. Exiting.');
48
+ logger.warn('āš ļø DEPRECATED: This start-all-mcp-servers.ts script is deprecated!');
49
+ logger.warn(' Please use MCPServerManager or scripts/start-mcp-proper.js instead');
50
+ logger.warn(' This provides proper process management and singleton protection');
51
+ console.log('\nšŸ”„ Redirecting to proper MCPServerManager...\n');
52
+ try {
53
+ // Redirect to proper approach
54
+ const { MCPServerManager } = await Promise.resolve().then(() => __importStar(require('../utils/mcp-server-manager.js')));
55
+ const manager = new MCPServerManager();
56
+ await manager.initialize();
57
+ await manager.startAllServers();
58
+ logger.info('āœ… Servers started using proper MCPServerManager');
59
+ }
60
+ catch (error) {
61
+ logger.error('āŒ Failed to start servers:', error.message);
62
+ logger.info('šŸ’” Consider migrating to: scripts/start-mcp-proper.js');
16
63
  process.exit(1);
17
64
  }
18
- logger.info('āœ… Starting all ServiceNow MCP servers (singleton protected)...');
19
- const servers = [
20
- {
21
- name: 'ServiceNow MCP Server',
22
- script: 'dist/mcp/servicenow-mcp-server.js'
23
- },
24
- {
25
- name: 'ServiceNow Deployment MCP',
26
- script: 'dist/mcp/servicenow-deployment-mcp.js'
27
- },
28
- {
29
- name: 'ServiceNow Intelligent MCP',
30
- script: 'dist/mcp/servicenow-intelligent-mcp.js'
31
- },
32
- {
33
- name: 'ServiceNow Update Set MCP',
34
- script: 'dist/mcp/servicenow-update-set-mcp.js'
35
- },
36
- {
37
- name: 'ServiceNow Advanced Features MCP',
38
- script: 'dist/mcp/advanced/servicenow-advanced-features-mcp.js'
39
- },
40
- {
41
- name: 'ServiceNow Operations MCP',
42
- script: 'dist/mcp/servicenow-operations-mcp.js'
43
- },
44
- {
45
- name: 'ServiceNow Reporting Analytics MCP',
46
- script: 'dist/mcp/servicenow-reporting-analytics-mcp.js'
47
- },
48
- {
49
- name: 'ServiceNow Security Compliance MCP',
50
- script: 'dist/mcp/servicenow-security-compliance-mcp.js'
51
- },
52
- {
53
- name: 'ServiceNow Platform Development MCP',
54
- script: 'dist/mcp/servicenow-platform-development-mcp.js'
55
- },
56
- {
57
- name: 'ServiceNow Automation MCP',
58
- script: 'dist/mcp/servicenow-automation-mcp.js'
59
- },
60
- {
61
- name: 'ServiceNow Integration MCP',
62
- script: 'dist/mcp/servicenow-integration-mcp.js'
63
- },
64
- {
65
- name: 'Snow-Flow MCP',
66
- script: 'dist/mcp/snow-flow-mcp.js'
67
- }
68
- ];
69
- const processes = servers.map(server => {
70
- logger.info(`Starting ${server.name}...`);
71
- const proc = (0, child_process_1.spawn)('node', [server.script], {
72
- stdio: 'inherit',
73
- env: { ...process.env }
74
- });
75
- proc.on('error', (error) => {
76
- logger.error(`Failed to start ${server.name}:`, error);
77
- });
78
- proc.on('exit', (code) => {
79
- logger.info(`${server.name} exited with code ${code}`);
80
- });
81
- return proc;
82
- });
83
- // Handle graceful shutdown
65
+ // If we get here, MCPServerManager started successfully
66
+ logger.info('šŸŽ‰ Migration successful! Using proper MCPServerManager now.');
67
+ // Keep process alive to monitor servers (handled by MCPServerManager)
84
68
  process.on('SIGINT', () => {
85
- logger.info('Shutting down all MCP servers...');
86
- processes.forEach(proc => proc.kill());
69
+ logger.info('šŸ‘‹ Shutting down...');
87
70
  process.exit(0);
88
71
  });
89
- logger.info('All MCP servers started successfully!');
90
- logger.info('Press Ctrl+C to stop all servers');
91
72
  }
92
73
  startAllServers().catch(error => {
93
74
  logger.error('Failed to start MCP servers:', error);
@@ -59,10 +59,6 @@ export declare class MCPServerManager extends EventEmitter {
59
59
  * Stop all running MCP servers
60
60
  */
61
61
  stopAllServers(): Promise<void>;
62
- /**
63
- * Get status of all servers
64
- */
65
- getServerStatus(): MCPServer[];
66
62
  /**
67
63
  * Get status of a specific server
68
64
  */
@@ -83,6 +79,25 @@ export declare class MCPServerManager extends EventEmitter {
83
79
  * Remove a server configuration
84
80
  */
85
81
  removeServer(name: string): Promise<void>;
82
+ /**
83
+ * Get list of all servers (for monitoring/status display)
84
+ */
85
+ getServerList(): MCPServer[];
86
+ /**
87
+ * Get server status by name
88
+ */
89
+ getServerStatus(name: string): MCPServer | undefined;
90
+ /**
91
+ * Get overall system status
92
+ */
93
+ getSystemStatus(): {
94
+ total: number;
95
+ running: number;
96
+ stopped: number;
97
+ starting: number;
98
+ error: number;
99
+ health: string;
100
+ };
86
101
  /**
87
102
  * Cleanup - stop all servers and clean up resources
88
103
  */
@@ -304,12 +304,6 @@ class MCPServerManager extends events_1.EventEmitter {
304
304
  }));
305
305
  await Promise.all(promises);
306
306
  }
307
- /**
308
- * Get status of all servers
309
- */
310
- getServerStatus() {
311
- return Array.from(this.servers.values());
312
- }
313
307
  /**
314
308
  * Get status of a specific server
315
309
  */
@@ -367,6 +361,34 @@ class MCPServerManager extends events_1.EventEmitter {
367
361
  }));
368
362
  await this.saveConfiguration(configs);
369
363
  }
364
+ /**
365
+ * Get list of all servers (for monitoring/status display)
366
+ */
367
+ getServerList() {
368
+ return Array.from(this.servers.values());
369
+ }
370
+ /**
371
+ * Get server status by name
372
+ */
373
+ getServerStatus(name) {
374
+ return this.servers.get(name);
375
+ }
376
+ /**
377
+ * Get overall system status
378
+ */
379
+ getSystemStatus() {
380
+ const servers = this.getServerList();
381
+ const running = servers.filter(s => s.status === 'running').length;
382
+ const total = servers.length;
383
+ return {
384
+ total,
385
+ running,
386
+ stopped: servers.filter(s => s.status === 'stopped').length,
387
+ starting: servers.filter(s => s.status === 'starting').length,
388
+ error: servers.filter(s => s.status === 'error').length,
389
+ health: running === total ? 'healthy' : running > 0 ? 'partial' : 'down'
390
+ };
391
+ }
370
392
  /**
371
393
  * Cleanup - stop all servers and clean up resources
372
394
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "snow-flow",
3
- "version": "2.8.7",
3
+ "version": "2.8.8",
4
4
  "description": "Snow-Flow: ServiceNow Advanced Intelligence Platform - 100+ real MCP tools with AI-powered swarm orchestration and neural networks. Dynamic task categorization using AI. Machine learning for incident classification, change risk prediction, and anomaly detection. Zero Mock Data, 100% Real API Integration.",
5
5
  "main": "dist/index.js",
6
6
  "type": "commonjs",
@@ -23,6 +23,8 @@
23
23
  "reset-mcp:restart": "node scripts/reset-mcp-servers.js --restart",
24
24
  "cleanup-mcp": "node scripts/cleanup-mcp-servers.js",
25
25
  "mcp:clean": "node scripts/cleanup-mcp-servers.js && npm run build",
26
+ "mcp:start": "node scripts/start-mcp-proper.js",
27
+ "mcp:start-proper": "node scripts/start-mcp-proper.js",
26
28
  "postbuild-disabled": "npm run setup-mcp",
27
29
  "postinstall": "node scripts/postinstall.js",
28
30
  "version": "node scripts/update-version.js && npm run build && git add src/version.ts",