snow-flow 3.0.9 → 3.0.13
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.bat +0 -0
- package/claude-flow.ps1 +0 -0
- package/dist/mcp/intelligent-reporting-mcp.d.ts +7 -0
- package/dist/mcp/intelligent-reporting-mcp.js +379 -0
- package/dist/mcp/servicenow-automation-mcp.js +0 -0
- package/dist/mcp/servicenow-deployment-mcp.js +0 -0
- package/dist/mcp/servicenow-integration-mcp.js +0 -0
- package/dist/mcp/servicenow-mcp-server.js +0 -0
- package/dist/mcp/servicenow-operations-mcp.js +0 -0
- package/dist/mcp/servicenow-platform-development-mcp.js +0 -0
- package/dist/mcp/servicenow-progressive-indexer.js +0 -0
- package/dist/mcp/servicenow-reporting-analytics-mcp.js +280 -29
- package/dist/mcp/servicenow-security-compliance-mcp.js +0 -0
- package/dist/mcp/servicenow-update-set-mcp.js +0 -0
- package/dist/mcp/start-all-mcp-servers.js +0 -0
- package/dist/mcp/start-servicenow-mcp.js +0 -0
- package/dist/services/widget-deployment-service.d.ts +2 -1
- package/dist/services/widget-deployment-service.js +17 -16
- package/dist/utils/anti-mock-data-validator.d.ts +66 -0
- package/dist/utils/anti-mock-data-validator.js +316 -0
- package/dist/utils/servicenow-eventual-consistency.d.ts +120 -0
- package/dist/utils/servicenow-eventual-consistency.js +220 -0
- package/memory/agents/README.md +1 -1
- package/memory/claude-flow-data.json +1 -1
- package/memory/sessions/README.md +1 -1
- package/package.json +4 -3
- package/.mcp.json +0 -22
- package/claude-flow.config.json +0 -20
- package/dist/agents/app-creator.agent.d.ts +0 -55
- package/dist/agents/app-creator.agent.js +0 -1292
- package/dist/agents/base/base-snow-agent.d.ts +0 -75
- package/dist/agents/base/base-snow-agent.js +0 -169
- package/dist/agents/base-snow-agent.d.ts +0 -63
- package/dist/agents/base-snow-agent.js +0 -296
- package/dist/agents/coordinator.d.ts +0 -200
- package/dist/agents/coordinator.js +0 -777
- package/dist/agents/flow-builder-agent.d.ts +0 -18
- package/dist/agents/flow-builder-agent.js +0 -197
- package/dist/agents/queen-403-handler.d.ts +0 -47
- package/dist/agents/queen-403-handler.js +0 -175
- package/dist/agents/queen-agent-example.d.ts +0 -23
- package/dist/agents/queen-agent-example.js +0 -240
- package/dist/agents/queen-agent.test.d.ts +0 -6
- package/dist/agents/script-generator.agent.d.ts +0 -32
- package/dist/agents/script-generator.agent.js +0 -772
- package/dist/agents/script-writer-agent.d.ts +0 -22
- package/dist/agents/script-writer-agent.js +0 -695
- package/dist/agents/security-agent.d.ts +0 -23
- package/dist/agents/security-agent.js +0 -619
- package/dist/agents/specialists/automation-specialist.agent.d.ts +0 -44
- package/dist/agents/specialists/automation-specialist.agent.js +0 -204
- package/dist/agents/specialists/data-specialist.agent.d.ts +0 -165
- package/dist/agents/specialists/data-specialist.agent.js +0 -484
- package/dist/agents/specialists/integration-specialist.agent.d.ts +0 -227
- package/dist/agents/specialists/integration-specialist.agent.js +0 -725
- package/dist/agents/specialists/reporting-specialist.agent.d.ts +0 -54
- package/dist/agents/specialists/reporting-specialist.agent.js +0 -193
- package/dist/agents/specialists/security-specialist.agent.d.ts +0 -85
- package/dist/agents/specialists/security-specialist.agent.js +0 -309
- package/dist/agents/teams/adaptive/adaptive-coordinator.agent.d.ts +0 -111
- package/dist/agents/teams/adaptive/adaptive-coordinator.agent.js +0 -383
- package/dist/agents/teams/base-team.d.ts +0 -72
- package/dist/agents/teams/base-team.js +0 -253
- package/dist/agents/teams/team-types.d.ts +0 -265
- package/dist/agents/teams/team-types.js +0 -3
- package/dist/agents/teams/widget/widget-architect.agent.d.ts +0 -61
- package/dist/agents/teams/widget/widget-architect.agent.js +0 -436
- package/dist/agents/teams/widget/widget-backend.agent.d.ts +0 -74
- package/dist/agents/teams/widget/widget-backend.agent.js +0 -1531
- package/dist/agents/teams/widget/widget-frontend.agent.d.ts +0 -67
- package/dist/agents/teams/widget/widget-frontend.agent.js +0 -1014
- package/dist/agents/teams/widget/widget-platform.agent.d.ts +0 -90
- package/dist/agents/teams/widget/widget-platform.agent.js +0 -1190
- package/dist/agents/teams/widget/widget-uiux.agent.d.ts +0 -107
- package/dist/agents/teams/widget/widget-uiux.agent.js +0 -1033
- package/dist/agents/test-agent.d.ts +0 -26
- package/dist/agents/test-agent.js +0 -734
- package/dist/agents/test-agents.d.ts +0 -7
- package/dist/agents/test-agents.js +0 -64
- package/dist/agents/ui-builder.agent.d.ts +0 -50
- package/dist/agents/ui-builder.agent.js +0 -1539
- package/dist/agents/widget-builder.agent.d.ts +0 -32
- package/dist/agents/widget-builder.agent.js +0 -439
- package/dist/agents/widget-creator-agent.d.ts +0 -18
- package/dist/agents/widget-creator-agent.js +0 -498
- package/dist/agents/workflow-designer.agent.d.ts +0 -31
- package/dist/agents/workflow-designer.agent.js +0 -583
- package/dist/api/error-handling.d.ts +0 -325
- package/dist/api/error-handling.js +0 -1488
- package/dist/api/flow-designer-api.d.ts +0 -167
- package/dist/api/flow-designer-api.js +0 -554
- package/dist/api/natural-language-mapper.d.ts +0 -124
- package/dist/api/natural-language-mapper.js +0 -501
- package/dist/api/performance-optimizer.d.ts +0 -240
- package/dist/api/performance-optimizer.js +0 -706
- package/dist/api/transaction-manager.d.ts +0 -189
- package/dist/api/transaction-manager.js +0 -576
- package/dist/assembly/team-assembler.d.ts +0 -140
- package/dist/assembly/team-assembler.js +0 -502
- package/dist/benchmark-performance.d.ts +0 -41
- package/dist/benchmark-performance.js +0 -230
- package/dist/cli/snow-flow-cli-integration.d.ts +0 -30
- package/dist/cli/snow-flow-cli-integration.js +0 -396
- package/dist/coordination/coordination-engine.d.ts +0 -41
- package/dist/coordination/coordination-engine.js +0 -324
- package/dist/coordination/coordination.test.d.ts +0 -6
- package/dist/coordination/example.d.ts +0 -31
- package/dist/coordination/example.js +0 -394
- package/dist/coordination/execution-patterns.d.ts +0 -43
- package/dist/coordination/execution-patterns.js +0 -507
- package/dist/coordination/factory.d.ts +0 -94
- package/dist/coordination/factory.js +0 -433
- package/dist/coordination/index.d.ts +0 -71
- package/dist/coordination/index.js +0 -135
- package/dist/coordination/progress-monitor.d.ts +0 -71
- package/dist/coordination/progress-monitor.js +0 -505
- package/dist/coordination/quality-gates.d.ts +0 -124
- package/dist/coordination/quality-gates.js +0 -577
- package/dist/coordination/shared-memory.d.ts +0 -39
- package/dist/coordination/shared-memory.js +0 -289
- package/dist/coordination/task-dependencies.d.ts +0 -50
- package/dist/coordination/task-dependencies.js +0 -407
- package/dist/coordination/team-coordinator.d.ts +0 -59
- package/dist/coordination/team-coordinator.js +0 -550
- package/dist/coordination/types.d.ts +0 -152
- package/dist/coordination/types.js +0 -3
- package/dist/mcp/mcp-wrapper.d.ts +0 -8
- package/dist/mcp/mcp-wrapper.js +0 -77
- package/dist/mcp/servicenow-flow-composer-enhanced.js +0 -396
- package/dist/mcp/servicenow-flow-composer-mcp.d.ts +0 -7
- package/dist/mcp/servicenow-flow-composer-mcp.js +0 -3103
- package/dist/mcp/servicenow-graph-memory-mcp.d.ts +0 -7
- package/dist/mcp/servicenow-intelligent-mcp.d.ts +0 -143
- package/dist/mcp/servicenow-intelligent-mcp.js +0 -4156
- package/dist/mcp/servicenow-xml-flow-mcp.d.ts +0 -53
- package/dist/mcp/servicenow-xml-flow-mcp.js +0 -1704
- package/dist/mcp/singleton-check.js +0 -31
- package/dist/mcp/test-simple-mcp.d.ts +0 -6
- package/dist/mcp/test-simple-mcp.js +0 -63
- package/dist/memory/hierarchical-memory-system.d.ts +0 -90
- package/dist/memory/hierarchical-memory-system.js +0 -400
- package/dist/memory/index.d.ts +0 -9
- package/dist/memory/index.js +0 -20
- package/dist/memory/mcp-integration-example.d.ts +0 -6
- package/dist/memory/mcp-integration-example.js +0 -281
- package/dist/memory/memory-client.d.ts +0 -199
- package/dist/memory/memory-client.js +0 -364
- package/dist/memory/memory-manager.d.ts +0 -29
- package/dist/memory/memory-manager.js +0 -280
- package/dist/memory/memory-operations.d.ts +0 -179
- package/dist/memory/memory-operations.js +0 -691
- package/dist/memory/memory-system.d.ts +0 -153
- package/dist/memory/memory-system.js +0 -651
- package/dist/memory/memory-test.d.ts +0 -6
- package/dist/memory/memory-test.js +0 -161
- package/dist/memory/snow-flow-memory-patterns.d.ts +0 -213
- package/dist/memory/snow-flow-memory-patterns.js +0 -200
- package/dist/memory/snow-memory.d.ts +0 -54
- package/dist/memory/snow-memory.js +0 -301
- package/dist/memory/swarm-memory.d.ts +0 -135
- package/dist/memory/swarm-memory.js +0 -378
- package/dist/optimization/flow-performance-optimizer.js +0 -723
- package/dist/orchestration/discovery/service-discovery.d.ts +0 -81
- package/dist/orchestration/discovery/service-discovery.js +0 -808
- package/dist/orchestration/distributed-orchestrator.d.ts +0 -131
- package/dist/orchestration/distributed-orchestrator.js +0 -712
- package/dist/orchestration/distribution/task-distribution-engine.d.ts +0 -53
- package/dist/orchestration/distribution/task-distribution-engine.js +0 -586
- package/dist/orchestration/flow-update-orchestrator.js +0 -648
- package/dist/orchestration/interfaces/distributed-orchestration.interface.d.ts +0 -606
- package/dist/orchestration/interfaces/distributed-orchestration.interface.js +0 -65
- package/dist/orchestration/protocols/mcpx-protocol.d.ts +0 -71
- package/dist/orchestration/protocols/mcpx-protocol.js +0 -668
- package/dist/orchestration/state/distributed-state-manager.d.ts +0 -89
- package/dist/orchestration/state/distributed-state-manager.js +0 -716
- package/dist/orchestrator/flow-composer.d.ts +0 -105
- package/dist/orchestrator/flow-composer.js +0 -404
- package/dist/orchestrator/flow-pattern-templates.d.ts +0 -260
- package/dist/orchestrator/flow-pattern-templates.js +0 -908
- package/dist/orchestrator/flow-subflow-decision-engine.d.ts +0 -202
- package/dist/orchestrator/flow-subflow-decision-engine.js +0 -769
- package/dist/orchestrator/flow-validation-engine.d.ts +0 -169
- package/dist/orchestrator/flow-validation-engine.js +0 -913
- package/dist/orchestrator/snow-orchestrator.d.ts +0 -49
- package/dist/orchestrator/snow-orchestrator.js +0 -235
- package/dist/orchestrator/subflow-creation-handler.d.ts +0 -230
- package/dist/orchestrator/subflow-creation-handler.js +0 -791
- package/dist/patterns/adaptive-patterns.d.ts +0 -140
- package/dist/patterns/adaptive-patterns.js +0 -549
- package/dist/queen/advanced-integration-test.d.ts +0 -48
- package/dist/queen/advanced-integration-test.js +0 -473
- package/dist/queen/integration-example.d.ts +0 -82
- package/dist/queen/integration-example.js +0 -219
- package/dist/queen/integration-test.d.ts +0 -72
- package/dist/queen/integration-test.js +0 -563
- package/dist/queen/mock-mcp-client.d.ts +0 -71
- package/dist/queen/mock-mcp-client.js +0 -317
- package/dist/queen/run-integration-tests.d.ts +0 -9
- package/dist/queen/run-integration-tests.js +0 -27
- package/dist/sparc/coordinators/adaptive-coordinator.d.ts +0 -54
- package/dist/sparc/coordinators/adaptive-coordinator.js +0 -367
- package/dist/sparc/coordinators/team-coordinator.d.ts +0 -66
- package/dist/sparc/coordinators/team-coordinator.js +0 -402
- package/dist/sparc/modes/team-modes.d.ts +0 -33
- package/dist/sparc/modes/team-modes.js +0 -399
- package/dist/sparc/teams/application-team.d.ts +0 -73
- package/dist/sparc/teams/application-team.js +0 -463
- package/dist/sparc/teams/flow-team.d.ts +0 -67
- package/dist/sparc/teams/flow-team.js +0 -373
- package/dist/sparc/teams/widget-team.d.ts +0 -61
- package/dist/sparc/teams/widget-team.js +0 -280
- package/dist/specialists/app-specialists.d.ts +0 -93
- package/dist/specialists/app-specialists.js +0 -1639
- package/dist/specialists/base-specialist.d.ts +0 -19
- package/dist/specialists/base-specialist.js +0 -54
- package/dist/specialists/flow-specialists.d.ts +0 -113
- package/dist/specialists/flow-specialists.js +0 -1787
- package/dist/specialists/individual-specialists.d.ts +0 -67
- package/dist/specialists/individual-specialists.js +0 -632
- package/dist/specialists/widget-specialists.d.ts +0 -70
- package/dist/specialists/widget-specialists.js +0 -1264
- package/dist/src/utils/agent-detector.js +0 -655
- package/dist/teams/adaptive-team.d.ts +0 -81
- package/dist/teams/adaptive-team.js +0 -1153
- package/dist/teams/application-team.d.ts +0 -30
- package/dist/teams/application-team.js +0 -547
- package/dist/teams/base-team.d.ts +0 -55
- package/dist/teams/base-team.js +0 -243
- package/dist/teams/flow-team.d.ts +0 -28
- package/dist/teams/flow-team.js +0 -525
- package/dist/teams/widget-team.d.ts +0 -26
- package/dist/teams/widget-team.js +0 -459
- package/dist/templates/flow-template-system.js +0 -625
- package/dist/test-fetch-incidents.d.ts +0 -2
- package/dist/test-fetch-incidents.js +0 -84
- package/dist/test-incident-access.d.ts +0 -2
- package/dist/test-incident-access.js +0 -72
- package/dist/test-iphone-flow.js +0 -189
- package/dist/test-limit-problem.d.ts +0 -2
- package/dist/test-limit-problem.js +0 -60
- package/dist/test-ml-batch-fix.d.ts +0 -2
- package/dist/test-ml-batch-fix.js +0 -104
- package/dist/test-ml-batch.d.ts +0 -2
- package/dist/test-ml-batch.js +0 -87
- package/dist/test-ml-query.d.ts +0 -2
- package/dist/test-ml-query.js +0 -100
- package/dist/test-ml-training-fix.d.ts +0 -12
- package/dist/test-ml-training-fix.js +0 -113
- package/dist/test-ml-training.d.ts +0 -2
- package/dist/test-ml-training.js +0 -32
- package/dist/test-operations-query.d.ts +0 -2
- package/dist/test-operations-query.js +0 -84
- package/dist/test-performance-query.d.ts +0 -2
- package/dist/test-performance-query.js +0 -52
- package/dist/test-singleton-protection.d.ts +0 -8
- package/dist/test-singleton-protection.js +0 -110
- package/dist/test-smart-limits.d.ts +0 -13
- package/dist/test-smart-limits.js +0 -100
- package/dist/test-snow-query-incidents.d.ts +0 -2
- package/dist/test-snow-query-incidents.js +0 -66
- package/dist/test-universal-query.d.ts +0 -2
- package/dist/test-universal-query.js +0 -106
- package/dist/testing/flow-testing-automation.js +0 -641
- package/dist/utils/complete-flow-xml-generator.js +0 -1285
- package/dist/utils/file-storage-fallback.d.ts +0 -62
- package/dist/utils/file-storage-fallback.js +0 -289
- package/dist/utils/flow-api-discovery.d.ts +0 -151
- package/dist/utils/flow-api-discovery.js +0 -439
- package/dist/utils/flow-examples.js +0 -720
- package/dist/utils/flow-structure-builder.js +0 -677
- package/dist/utils/flow-xml-generator.d.ts +0 -41
- package/dist/utils/flow-xml-generator.js +0 -258
- package/dist/utils/improved-flow-xml-generator.js +0 -820
- package/dist/utils/mcp-process-manager.backup.d.ts +0 -58
- package/dist/utils/mcp-process-manager.backup.js +0 -220
- package/dist/utils/mcp-singleton-enforcer.d.ts +0 -36
- package/dist/utils/mcp-singleton-enforcer.js +0 -201
- package/dist/utils/mcp-timeout-fix.d.ts +0 -53
- package/dist/utils/mcp-timeout-fix.js +0 -221
- package/dist/utils/migrate-claude-flow.d.ts +0 -22
- package/dist/utils/migrate-claude-flow.js +0 -120
- package/dist/utils/scope-utils.d.ts +0 -72
- package/dist/utils/scope-utils.js +0 -386
- package/dist/utils/snow-oauth-old.d.ts +0 -65
- package/dist/utils/snow-oauth-old.js +0 -345
- package/dist/utils/xml-first-flow-generator.js +0 -513
- package/memory/servicenow_artifacts/000d9224c895221055906c7518aa2d3d.json +0 -30
- package/memory/servicenow_artifacts/0196b66173303010e46b4a2214f6a7a2.json +0 -36
- package/memory/servicenow_artifacts/125e5d1d837e2a102a7ea130ceaad397.json +0 -30
- package/memory/servicenow_artifacts/7637c1f2b7112210a5e5911cde11a972.json +0 -30
- package/memory/servicenow_artifacts/default_documentation_tables_1754056582292.json +0 -55
- package/memory/servicenow_artifacts/default_documentation_tables_1754057477189.json +0 -55
- package/memory/update-set-sessions/01f82af583faea102a7ea130ceaad3d4.json +0 -9
- package/memory/update-set-sessions/27718fb983faea102a7ea130ceaad34b.json +0 -9
- package/memory/update-set-sessions/412e9bf6833e22502a7ea130ceaad30a.json +0 -8
- package/memory/update-set-sessions/66fc5a79837aea102a7ea130ceaad3ab.json +0 -9
- package/memory/update-set-sessions/71a30ff5837eea102a7ea130ceaad37f.json +0 -9
- package/memory/update-set-sessions/74fba27983faea102a7ea130ceaad3bd.json +0 -9
- package/memory/update-set-sessions/a0b147b5837eea102a7ea130ceaad344.json +0 -58
- package/memory/update-set-sessions/b13f5eb983baea102a7ea130ceaad33e.json +0 -9
- package/reports/swarm-auto-centralized-1752649029776.json +0 -13
- package/src/memory/README.md +0 -240
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* MCP Process Manager
|
|
3
|
-
* Prevents excessive MCP server spawning and manages resource limits
|
|
4
|
-
*/
|
|
5
|
-
export declare class MCPProcessManager {
|
|
6
|
-
private static instance;
|
|
7
|
-
private readonly MAX_MCP_SERVERS;
|
|
8
|
-
private readonly MAX_MEMORY_MB;
|
|
9
|
-
private readonly CLEANUP_INTERVAL;
|
|
10
|
-
private cleanupTimer?;
|
|
11
|
-
private constructor();
|
|
12
|
-
static getInstance(): MCPProcessManager;
|
|
13
|
-
/**
|
|
14
|
-
* Check if we can spawn a new MCP server
|
|
15
|
-
*/
|
|
16
|
-
canSpawnServer(): boolean;
|
|
17
|
-
/**
|
|
18
|
-
* Get current MCP system status
|
|
19
|
-
*/
|
|
20
|
-
getSystemStatus(): {
|
|
21
|
-
processCount: number;
|
|
22
|
-
memoryUsageMB: number;
|
|
23
|
-
processes: Array<{
|
|
24
|
-
pid: number;
|
|
25
|
-
memory: number;
|
|
26
|
-
name: string;
|
|
27
|
-
}>;
|
|
28
|
-
};
|
|
29
|
-
/**
|
|
30
|
-
* Kill duplicate MCP servers (keep only the newest)
|
|
31
|
-
*/
|
|
32
|
-
killDuplicates(): void;
|
|
33
|
-
/**
|
|
34
|
-
* Kill all MCP servers
|
|
35
|
-
*/
|
|
36
|
-
killAll(): void;
|
|
37
|
-
/**
|
|
38
|
-
* Clean up excessive resources
|
|
39
|
-
*/
|
|
40
|
-
cleanup(): void;
|
|
41
|
-
/**
|
|
42
|
-
* Start periodic cleanup
|
|
43
|
-
*/
|
|
44
|
-
private startPeriodicCleanup;
|
|
45
|
-
/**
|
|
46
|
-
* Stop periodic cleanup
|
|
47
|
-
*/
|
|
48
|
-
stopPeriodicCleanup(): void;
|
|
49
|
-
/**
|
|
50
|
-
* Get resource usage summary
|
|
51
|
-
*/
|
|
52
|
-
getResourceSummary(): string;
|
|
53
|
-
/**
|
|
54
|
-
* Get health status
|
|
55
|
-
*/
|
|
56
|
-
getHealthStatus(): 'healthy' | 'warning' | 'critical';
|
|
57
|
-
}
|
|
58
|
-
//# sourceMappingURL=mcp-process-manager.backup.d.ts.map
|
|
@@ -1,220 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* MCP Process Manager
|
|
4
|
-
* Prevents excessive MCP server spawning and manages resource limits
|
|
5
|
-
*/
|
|
6
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.MCPProcessManager = void 0;
|
|
8
|
-
const child_process_1 = require("child_process");
|
|
9
|
-
const logger_js_1 = require("./logger.js");
|
|
10
|
-
const logger = new logger_js_1.Logger('MCPProcessManager');
|
|
11
|
-
class MCPProcessManager {
|
|
12
|
-
constructor() {
|
|
13
|
-
this.MAX_MCP_SERVERS = parseInt(process.env.SNOW_MAX_MCP_SERVERS || '10');
|
|
14
|
-
this.MAX_MEMORY_MB = parseInt(process.env.SNOW_MCP_MEMORY_LIMIT || '1500');
|
|
15
|
-
this.CLEANUP_INTERVAL = 60000; // 1 minute
|
|
16
|
-
// Start periodic cleanup
|
|
17
|
-
this.startPeriodicCleanup();
|
|
18
|
-
}
|
|
19
|
-
static getInstance() {
|
|
20
|
-
if (!MCPProcessManager.instance) {
|
|
21
|
-
MCPProcessManager.instance = new MCPProcessManager();
|
|
22
|
-
}
|
|
23
|
-
return MCPProcessManager.instance;
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* Check if we can spawn a new MCP server
|
|
27
|
-
*/
|
|
28
|
-
canSpawnServer() {
|
|
29
|
-
const status = this.getSystemStatus();
|
|
30
|
-
if (status.processCount >= this.MAX_MCP_SERVERS) {
|
|
31
|
-
logger.warn(`❌ Cannot spawn: Already at max servers (${status.processCount}/${this.MAX_MCP_SERVERS})`);
|
|
32
|
-
return false;
|
|
33
|
-
}
|
|
34
|
-
if (status.memoryUsageMB > this.MAX_MEMORY_MB) {
|
|
35
|
-
logger.warn(`❌ Cannot spawn: Memory limit exceeded (${status.memoryUsageMB}MB > ${this.MAX_MEMORY_MB}MB)`);
|
|
36
|
-
return false;
|
|
37
|
-
}
|
|
38
|
-
return true;
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
* Get current MCP system status
|
|
42
|
-
*/
|
|
43
|
-
getSystemStatus() {
|
|
44
|
-
try {
|
|
45
|
-
// Count MCP processes
|
|
46
|
-
const psOutput = (0, child_process_1.execSync)('ps aux | grep -E "mcp|servicenow.*mcp" | grep -v grep', {
|
|
47
|
-
encoding: 'utf8'
|
|
48
|
-
}).trim();
|
|
49
|
-
if (!psOutput) {
|
|
50
|
-
return {
|
|
51
|
-
processCount: 0,
|
|
52
|
-
memoryUsageMB: 0,
|
|
53
|
-
processes: []
|
|
54
|
-
};
|
|
55
|
-
}
|
|
56
|
-
const lines = psOutput.split('\n');
|
|
57
|
-
const processes = [];
|
|
58
|
-
let totalMemory = 0;
|
|
59
|
-
for (const line of lines) {
|
|
60
|
-
const parts = line.split(/\s+/);
|
|
61
|
-
if (parts.length > 10) {
|
|
62
|
-
const pid = parseInt(parts[1]);
|
|
63
|
-
const memory = Math.round(parseInt(parts[5]) / 1024); // Convert KB to MB
|
|
64
|
-
const name = parts.slice(10).join(' ');
|
|
65
|
-
processes.push({ pid, memory, name });
|
|
66
|
-
totalMemory += memory;
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
return {
|
|
70
|
-
processCount: processes.length,
|
|
71
|
-
memoryUsageMB: totalMemory,
|
|
72
|
-
processes
|
|
73
|
-
};
|
|
74
|
-
}
|
|
75
|
-
catch (error) {
|
|
76
|
-
// No MCP processes found
|
|
77
|
-
return {
|
|
78
|
-
processCount: 0,
|
|
79
|
-
memoryUsageMB: 0,
|
|
80
|
-
processes: []
|
|
81
|
-
};
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
/**
|
|
85
|
-
* Kill duplicate MCP servers (keep only the newest)
|
|
86
|
-
*/
|
|
87
|
-
killDuplicates() {
|
|
88
|
-
const status = this.getSystemStatus();
|
|
89
|
-
// Group processes by server type
|
|
90
|
-
const serverGroups = new Map();
|
|
91
|
-
for (const proc of status.processes) {
|
|
92
|
-
// Extract server type from process name
|
|
93
|
-
const match = proc.name.match(/servicenow-([^-]+)-mcp\.js/);
|
|
94
|
-
if (match) {
|
|
95
|
-
const serverType = match[1];
|
|
96
|
-
if (!serverGroups.has(serverType)) {
|
|
97
|
-
serverGroups.set(serverType, []);
|
|
98
|
-
}
|
|
99
|
-
serverGroups.get(serverType).push({
|
|
100
|
-
pid: proc.pid,
|
|
101
|
-
memory: proc.memory
|
|
102
|
-
});
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
// Kill duplicates (keep the first one)
|
|
106
|
-
for (const [serverType, procs] of serverGroups) {
|
|
107
|
-
if (procs.length > 1) {
|
|
108
|
-
logger.warn(`Found ${procs.length} instances of ${serverType}-mcp, killing duplicates...`);
|
|
109
|
-
// Sort by PID (older PIDs first) and keep the first one
|
|
110
|
-
procs.sort((a, b) => a.pid - b.pid);
|
|
111
|
-
for (let i = 1; i < procs.length; i++) {
|
|
112
|
-
try {
|
|
113
|
-
process.kill(procs[i].pid, 'SIGTERM');
|
|
114
|
-
logger.info(`Killed duplicate ${serverType}-mcp (PID: ${procs[i].pid})`);
|
|
115
|
-
}
|
|
116
|
-
catch (error) {
|
|
117
|
-
// Process might already be dead
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
/**
|
|
124
|
-
* Kill all MCP servers
|
|
125
|
-
*/
|
|
126
|
-
killAll() {
|
|
127
|
-
try {
|
|
128
|
-
(0, child_process_1.execSync)('pkill -f mcp', { encoding: 'utf8' });
|
|
129
|
-
logger.info('✅ Killed all MCP processes');
|
|
130
|
-
}
|
|
131
|
-
catch (error) {
|
|
132
|
-
// pkill returns non-zero if no processes found
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
/**
|
|
136
|
-
* Clean up excessive resources
|
|
137
|
-
*/
|
|
138
|
-
cleanup() {
|
|
139
|
-
const status = this.getSystemStatus();
|
|
140
|
-
if (status.processCount > this.MAX_MCP_SERVERS) {
|
|
141
|
-
logger.warn(`🧹 Cleaning up excessive MCP servers (${status.processCount} > ${this.MAX_MCP_SERVERS})`);
|
|
142
|
-
this.killDuplicates();
|
|
143
|
-
}
|
|
144
|
-
if (status.memoryUsageMB > this.MAX_MEMORY_MB) {
|
|
145
|
-
logger.warn(`🧹 Memory usage too high (${status.memoryUsageMB}MB), killing oldest processes...`);
|
|
146
|
-
// Sort by memory usage and kill the highest consumers
|
|
147
|
-
const sorted = status.processes.sort((a, b) => b.memory - a.memory);
|
|
148
|
-
let memoryFreed = 0;
|
|
149
|
-
for (const proc of sorted) {
|
|
150
|
-
if (status.memoryUsageMB - memoryFreed <= this.MAX_MEMORY_MB * 0.8) {
|
|
151
|
-
break; // Stop when we're at 80% of limit
|
|
152
|
-
}
|
|
153
|
-
try {
|
|
154
|
-
process.kill(proc.pid, 'SIGTERM');
|
|
155
|
-
memoryFreed += proc.memory;
|
|
156
|
-
logger.info(`Killed high-memory process (PID: ${proc.pid}, ${proc.memory}MB)`);
|
|
157
|
-
}
|
|
158
|
-
catch (error) {
|
|
159
|
-
// Process might already be dead
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
/**
|
|
165
|
-
* Start periodic cleanup
|
|
166
|
-
*/
|
|
167
|
-
startPeriodicCleanup() {
|
|
168
|
-
// Clear existing timer
|
|
169
|
-
if (this.cleanupTimer) {
|
|
170
|
-
clearInterval(this.cleanupTimer);
|
|
171
|
-
}
|
|
172
|
-
// Run cleanup periodically
|
|
173
|
-
this.cleanupTimer = setInterval(() => {
|
|
174
|
-
const status = this.getSystemStatus();
|
|
175
|
-
if (status.processCount > this.MAX_MCP_SERVERS * 0.8 ||
|
|
176
|
-
status.memoryUsageMB > this.MAX_MEMORY_MB * 0.8) {
|
|
177
|
-
logger.info('🔄 Running periodic MCP cleanup...');
|
|
178
|
-
this.cleanup();
|
|
179
|
-
}
|
|
180
|
-
}, this.CLEANUP_INTERVAL);
|
|
181
|
-
// Don't block process exit
|
|
182
|
-
this.cleanupTimer.unref();
|
|
183
|
-
}
|
|
184
|
-
/**
|
|
185
|
-
* Stop periodic cleanup
|
|
186
|
-
*/
|
|
187
|
-
stopPeriodicCleanup() {
|
|
188
|
-
if (this.cleanupTimer) {
|
|
189
|
-
clearInterval(this.cleanupTimer);
|
|
190
|
-
this.cleanupTimer = undefined;
|
|
191
|
-
}
|
|
192
|
-
}
|
|
193
|
-
/**
|
|
194
|
-
* Get resource usage summary
|
|
195
|
-
*/
|
|
196
|
-
getResourceSummary() {
|
|
197
|
-
const status = this.getSystemStatus();
|
|
198
|
-
return `MCP Resources:
|
|
199
|
-
Processes: ${status.processCount}/${this.MAX_MCP_SERVERS} (${Math.round(status.processCount / this.MAX_MCP_SERVERS * 100)}%)
|
|
200
|
-
Memory: ${status.memoryUsageMB}MB/${this.MAX_MEMORY_MB}MB (${Math.round(status.memoryUsageMB / this.MAX_MEMORY_MB * 100)}%)
|
|
201
|
-
Status: ${this.getHealthStatus()}`;
|
|
202
|
-
}
|
|
203
|
-
/**
|
|
204
|
-
* Get health status
|
|
205
|
-
*/
|
|
206
|
-
getHealthStatus() {
|
|
207
|
-
const status = this.getSystemStatus();
|
|
208
|
-
const processPercent = status.processCount / this.MAX_MCP_SERVERS;
|
|
209
|
-
const memoryPercent = status.memoryUsageMB / this.MAX_MEMORY_MB;
|
|
210
|
-
if (processPercent > 0.9 || memoryPercent > 0.9) {
|
|
211
|
-
return 'critical';
|
|
212
|
-
}
|
|
213
|
-
if (processPercent > 0.7 || memoryPercent > 0.7) {
|
|
214
|
-
return 'warning';
|
|
215
|
-
}
|
|
216
|
-
return 'healthy';
|
|
217
|
-
}
|
|
218
|
-
}
|
|
219
|
-
exports.MCPProcessManager = MCPProcessManager;
|
|
220
|
-
//# sourceMappingURL=mcp-process-manager.backup.js.map
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* MCP Singleton Enforcer
|
|
3
|
-
* Ensures only ONE set of MCP servers can run at a time
|
|
4
|
-
* v2.10.0 - Critical fix for duplicate MCP servers causing timeouts
|
|
5
|
-
*/
|
|
6
|
-
export declare class MCPSingletonEnforcer {
|
|
7
|
-
private static enforced;
|
|
8
|
-
private static killTimer;
|
|
9
|
-
private static readonly MAX_PROCESSES;
|
|
10
|
-
/**
|
|
11
|
-
* Emergency cleanup - use when system is completely stuck
|
|
12
|
-
*/
|
|
13
|
-
static emergencyCleanup(): void;
|
|
14
|
-
/**
|
|
15
|
-
* Kill ALL existing MCP processes FORCEFULLY
|
|
16
|
-
* This is a nuclear option but necessary to prevent timeouts
|
|
17
|
-
*/
|
|
18
|
-
static killAllMCPProcesses(): number;
|
|
19
|
-
/**
|
|
20
|
-
* Enforce singleton before any MCP operation
|
|
21
|
-
* This should be called before starting ANY MCP server
|
|
22
|
-
*/
|
|
23
|
-
static enforce(): boolean;
|
|
24
|
-
/**
|
|
25
|
-
* Setup cleanup handlers
|
|
26
|
-
*/
|
|
27
|
-
private static setupCleanup;
|
|
28
|
-
/**
|
|
29
|
-
* Check if MCP servers are healthy
|
|
30
|
-
*/
|
|
31
|
-
static checkHealth(): Promise<{
|
|
32
|
-
healthy: boolean;
|
|
33
|
-
issues: string[];
|
|
34
|
-
}>;
|
|
35
|
-
}
|
|
36
|
-
//# sourceMappingURL=mcp-singleton-enforcer.d.ts.map
|
|
@@ -1,201 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* MCP Singleton Enforcer
|
|
4
|
-
* Ensures only ONE set of MCP servers can run at a time
|
|
5
|
-
* v2.10.0 - Critical fix for duplicate MCP servers causing timeouts
|
|
6
|
-
*/
|
|
7
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
-
exports.MCPSingletonEnforcer = void 0;
|
|
9
|
-
const logger_js_1 = require("./logger.js");
|
|
10
|
-
const child_process_1 = require("child_process");
|
|
11
|
-
const mcp_singleton_lock_js_1 = require("./mcp-singleton-lock.js");
|
|
12
|
-
const logger = new logger_js_1.Logger('MCPSingletonEnforcer');
|
|
13
|
-
class MCPSingletonEnforcer {
|
|
14
|
-
/**
|
|
15
|
-
* Emergency cleanup - use when system is completely stuck
|
|
16
|
-
*/
|
|
17
|
-
static emergencyCleanup() {
|
|
18
|
-
logger.warn('🚨 EMERGENCY MCP CLEANUP INITIATED');
|
|
19
|
-
this.killAllMCPProcesses();
|
|
20
|
-
// Force release any locks
|
|
21
|
-
try {
|
|
22
|
-
const lock = (0, mcp_singleton_lock_js_1.getMCPSingletonLock)();
|
|
23
|
-
if (lock.isAcquired()) {
|
|
24
|
-
lock.release();
|
|
25
|
-
}
|
|
26
|
-
mcp_singleton_lock_js_2.MCPSingletonLock.forceRelease();
|
|
27
|
-
}
|
|
28
|
-
catch (e) {
|
|
29
|
-
// Ignore lock errors during emergency cleanup
|
|
30
|
-
}
|
|
31
|
-
this.enforced = false;
|
|
32
|
-
// Re-enforce with strict mode
|
|
33
|
-
process.env.SNOW_MCP_SINGLETON_STRICT = 'true';
|
|
34
|
-
this.enforce();
|
|
35
|
-
}
|
|
36
|
-
/**
|
|
37
|
-
* Kill ALL existing MCP processes FORCEFULLY
|
|
38
|
-
* This is a nuclear option but necessary to prevent timeouts
|
|
39
|
-
*/
|
|
40
|
-
static killAllMCPProcesses() {
|
|
41
|
-
try {
|
|
42
|
-
// Count existing processes
|
|
43
|
-
const countCmd = "ps aux | grep -E 'mcp.*\\.js' | grep -v grep | wc -l";
|
|
44
|
-
const count = parseInt((0, child_process_1.execSync)(countCmd, { encoding: 'utf8' }).trim());
|
|
45
|
-
if (count > 0) {
|
|
46
|
-
logger.warn(`🔪 Found ${count} existing MCP processes, killing them all...`);
|
|
47
|
-
// Kill all MCP processes AGGRESSIVELY with -9
|
|
48
|
-
try {
|
|
49
|
-
(0, child_process_1.execSync)("pkill -9 -f 'mcp.*\\.js'", { encoding: 'utf8' });
|
|
50
|
-
logger.info('✅ Force killed all existing MCP processes');
|
|
51
|
-
}
|
|
52
|
-
catch (e) {
|
|
53
|
-
// pkill returns non-zero if no processes found, which is fine
|
|
54
|
-
}
|
|
55
|
-
// Also kill by specific patterns
|
|
56
|
-
const patterns = [
|
|
57
|
-
'snow-flow-mcp',
|
|
58
|
-
'servicenow-.*-mcp',
|
|
59
|
-
'mcp/.*\\.js'
|
|
60
|
-
];
|
|
61
|
-
for (const pattern of patterns) {
|
|
62
|
-
try {
|
|
63
|
-
(0, child_process_1.execSync)(`pkill -f '${pattern}'`, { encoding: 'utf8' });
|
|
64
|
-
}
|
|
65
|
-
catch (e) {
|
|
66
|
-
// Ignore errors, process might not exist
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
// Wait a moment for processes to die
|
|
70
|
-
(0, child_process_1.execSync)('sleep 1', { encoding: 'utf8' });
|
|
71
|
-
// Verify they're gone
|
|
72
|
-
const remaining = parseInt((0, child_process_1.execSync)(countCmd, { encoding: 'utf8' }).trim());
|
|
73
|
-
if (remaining > 0) {
|
|
74
|
-
logger.warn(`⚠️ ${remaining} MCP processes still running after kill`);
|
|
75
|
-
// Force kill with -9
|
|
76
|
-
try {
|
|
77
|
-
(0, child_process_1.execSync)("pkill -9 -f 'mcp.*\\.js'", { encoding: 'utf8' });
|
|
78
|
-
logger.info('✅ Force killed remaining MCP processes');
|
|
79
|
-
}
|
|
80
|
-
catch (e) {
|
|
81
|
-
// Ignore
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
return count;
|
|
85
|
-
}
|
|
86
|
-
return 0;
|
|
87
|
-
}
|
|
88
|
-
catch (error) {
|
|
89
|
-
logger.error('Error checking/killing MCP processes:', error.message);
|
|
90
|
-
return 0;
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
/**
|
|
94
|
-
* Enforce singleton before any MCP operation
|
|
95
|
-
* This should be called before starting ANY MCP server
|
|
96
|
-
*/
|
|
97
|
-
static enforce() {
|
|
98
|
-
if (this.enforced) {
|
|
99
|
-
logger.debug('Singleton already enforced in this session');
|
|
100
|
-
return true;
|
|
101
|
-
}
|
|
102
|
-
// Check if strict mode is enabled
|
|
103
|
-
const strictMode = process.env.SNOW_MCP_SINGLETON_STRICT === 'true';
|
|
104
|
-
if (strictMode) {
|
|
105
|
-
logger.info('🔒 Strict singleton mode enabled');
|
|
106
|
-
// Kill any existing processes first
|
|
107
|
-
const killed = this.killAllMCPProcesses();
|
|
108
|
-
if (killed > 0) {
|
|
109
|
-
logger.info(`🧹 Cleaned up ${killed} stale MCP processes`);
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
// Try to acquire singleton lock
|
|
113
|
-
const lock = (0, mcp_singleton_lock_js_1.getMCPSingletonLock)();
|
|
114
|
-
if (!lock.acquire()) {
|
|
115
|
-
if (strictMode) {
|
|
116
|
-
// In strict mode, force release and try again
|
|
117
|
-
logger.warn('⚠️ Lock exists, forcing release in strict mode...');
|
|
118
|
-
mcp_singleton_lock_js_2.MCPSingletonLock.forceRelease();
|
|
119
|
-
// Try once more
|
|
120
|
-
if (!lock.acquire()) {
|
|
121
|
-
throw new Error('Cannot acquire MCP singleton lock even after force release');
|
|
122
|
-
}
|
|
123
|
-
logger.info('✅ Acquired lock after force release');
|
|
124
|
-
}
|
|
125
|
-
else {
|
|
126
|
-
throw new Error('MCP servers already running. Use SNOW_MCP_SINGLETON_STRICT=true to force');
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
this.enforced = true;
|
|
130
|
-
logger.info('✅ MCP singleton enforced successfully');
|
|
131
|
-
// Set up cleanup on exit
|
|
132
|
-
this.setupCleanup(lock);
|
|
133
|
-
return true;
|
|
134
|
-
}
|
|
135
|
-
/**
|
|
136
|
-
* Setup cleanup handlers
|
|
137
|
-
*/
|
|
138
|
-
static setupCleanup(lock) {
|
|
139
|
-
const cleanup = () => {
|
|
140
|
-
if (this.enforced) {
|
|
141
|
-
logger.info('🧹 Cleaning up MCP singleton...');
|
|
142
|
-
lock.release();
|
|
143
|
-
this.enforced = false;
|
|
144
|
-
// Kill all MCP processes on exit
|
|
145
|
-
this.killAllMCPProcesses();
|
|
146
|
-
}
|
|
147
|
-
};
|
|
148
|
-
process.once('exit', cleanup);
|
|
149
|
-
process.once('SIGINT', () => {
|
|
150
|
-
cleanup();
|
|
151
|
-
process.exit(0);
|
|
152
|
-
});
|
|
153
|
-
process.once('SIGTERM', () => {
|
|
154
|
-
cleanup();
|
|
155
|
-
process.exit(0);
|
|
156
|
-
});
|
|
157
|
-
}
|
|
158
|
-
/**
|
|
159
|
-
* Check if MCP servers are healthy
|
|
160
|
-
*/
|
|
161
|
-
static async checkHealth() {
|
|
162
|
-
const issues = [];
|
|
163
|
-
try {
|
|
164
|
-
// Check process count
|
|
165
|
-
const countCmd = "ps aux | grep -E 'mcp.*\\.js' | grep -v grep | wc -l";
|
|
166
|
-
const count = parseInt((0, child_process_1.execSync)(countCmd, { encoding: 'utf8' }).trim());
|
|
167
|
-
if (count === 0) {
|
|
168
|
-
issues.push('No MCP servers running');
|
|
169
|
-
}
|
|
170
|
-
else if (count > 15) {
|
|
171
|
-
issues.push(`Too many MCP servers running: ${count}`);
|
|
172
|
-
}
|
|
173
|
-
// Check memory usage
|
|
174
|
-
const memCmd = "ps aux | grep -E 'mcp.*\\.js' | grep -v grep | awk '{sum+=$6} END {print sum/1024}'";
|
|
175
|
-
const memMB = parseFloat((0, child_process_1.execSync)(memCmd, { encoding: 'utf8' }).trim() || '0');
|
|
176
|
-
if (memMB > 3000) {
|
|
177
|
-
issues.push(`High memory usage: ${memMB.toFixed(0)}MB`);
|
|
178
|
-
}
|
|
179
|
-
// Check for zombie processes
|
|
180
|
-
const zombieCmd = "ps aux | grep -E 'mcp.*\\.js.*<defunct>' | grep -v grep | wc -l";
|
|
181
|
-
const zombies = parseInt((0, child_process_1.execSync)(zombieCmd, { encoding: 'utf8' }).trim());
|
|
182
|
-
if (zombies > 0) {
|
|
183
|
-
issues.push(`Found ${zombies} zombie MCP processes`);
|
|
184
|
-
}
|
|
185
|
-
}
|
|
186
|
-
catch (error) {
|
|
187
|
-
issues.push(`Health check error: ${error.message}`);
|
|
188
|
-
}
|
|
189
|
-
return {
|
|
190
|
-
healthy: issues.length === 0,
|
|
191
|
-
issues
|
|
192
|
-
};
|
|
193
|
-
}
|
|
194
|
-
}
|
|
195
|
-
exports.MCPSingletonEnforcer = MCPSingletonEnforcer;
|
|
196
|
-
MCPSingletonEnforcer.enforced = false;
|
|
197
|
-
MCPSingletonEnforcer.killTimer = null;
|
|
198
|
-
MCPSingletonEnforcer.MAX_PROCESSES = 5;
|
|
199
|
-
// Import the singleton lock class
|
|
200
|
-
const mcp_singleton_lock_js_2 = require("./mcp-singleton-lock.js");
|
|
201
|
-
//# sourceMappingURL=mcp-singleton-enforcer.js.map
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* MCP Timeout Fix
|
|
3
|
-
* Addresses timeout issues with MCP operations, especially memory_usage
|
|
4
|
-
* v2.10.0 - Critical fix for hanging MCP operations
|
|
5
|
-
*/
|
|
6
|
-
export interface TimeoutConfig {
|
|
7
|
-
startup: number;
|
|
8
|
-
operation: number;
|
|
9
|
-
deployment: number;
|
|
10
|
-
memory: number;
|
|
11
|
-
global: number;
|
|
12
|
-
}
|
|
13
|
-
export declare class MCPTimeoutManager {
|
|
14
|
-
private static instance;
|
|
15
|
-
private config;
|
|
16
|
-
private constructor();
|
|
17
|
-
static getInstance(): MCPTimeoutManager;
|
|
18
|
-
/**
|
|
19
|
-
* Get timeout for specific operation type
|
|
20
|
-
*/
|
|
21
|
-
getTimeout(operationType: 'startup' | 'operation' | 'deployment' | 'memory' | 'global'): number;
|
|
22
|
-
/**
|
|
23
|
-
* Execute an operation with timeout protection
|
|
24
|
-
*/
|
|
25
|
-
executeWithTimeout<T>(operation: Promise<T>, timeoutMs: number, operationName: string): Promise<T>;
|
|
26
|
-
/**
|
|
27
|
-
* Create a timeout-protected wrapper for MCP operations
|
|
28
|
-
*/
|
|
29
|
-
wrapMCPOperation<T>(operation: () => Promise<T>, operationType?: 'startup' | 'operation' | 'deployment' | 'memory' | 'global', customTimeout?: number): Promise<T>;
|
|
30
|
-
/**
|
|
31
|
-
* Special handling for memory operations which tend to hang
|
|
32
|
-
* WORKAROUND: Use file-based fallback when MCP memory operations fail
|
|
33
|
-
*/
|
|
34
|
-
executeMemoryOperation<T>(operation: () => Promise<T>, fallbackToFile?: boolean): Promise<T>;
|
|
35
|
-
/**
|
|
36
|
-
* WORKAROUND: Kill hanging MCP operations
|
|
37
|
-
*/
|
|
38
|
-
killHangingOperation(operationId: string): Promise<void>;
|
|
39
|
-
/**
|
|
40
|
-
* Get recommended timeout settings for slow instances
|
|
41
|
-
*/
|
|
42
|
-
getSlowInstanceRecommendations(): Record<string, string>;
|
|
43
|
-
/**
|
|
44
|
-
* WORKAROUND: Emergency timeout reduction for stuck systems
|
|
45
|
-
*/
|
|
46
|
-
applyEmergencyTimeouts(): void;
|
|
47
|
-
/**
|
|
48
|
-
* Apply timeout override if configured
|
|
49
|
-
*/
|
|
50
|
-
applyOverride(): void;
|
|
51
|
-
}
|
|
52
|
-
export declare const mcpTimeoutManager: MCPTimeoutManager;
|
|
53
|
-
//# sourceMappingURL=mcp-timeout-fix.d.ts.map
|