@juspay/neurolink 7.13.0 → 7.14.1
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/CHANGELOG.md +12 -0
- package/README.md +89 -25
- package/dist/agent/directTools.d.ts +3 -3
- package/dist/agent/directTools.js +1 -1
- package/dist/cli/commands/mcp.js +67 -207
- package/dist/cli/factories/commandFactory.js +7 -1
- package/dist/cli/utils/interactiveSetup.js +1 -1
- package/dist/config/conversationMemoryConfig.js +2 -1
- package/dist/context/ContextManager.js +15 -4
- package/dist/context/config.js +5 -1
- package/dist/context/utils.js +1 -1
- package/dist/core/baseProvider.d.ts +11 -30
- package/dist/core/baseProvider.js +268 -42
- package/dist/core/conversationMemoryManager.js +3 -2
- package/dist/core/dynamicModels.d.ts +14 -14
- package/dist/core/dynamicModels.js +1 -1
- package/dist/core/evaluation.js +1 -1
- package/dist/core/factory.js +1 -1
- package/dist/factories/providerFactory.js +5 -11
- package/dist/factories/providerRegistry.js +2 -2
- package/dist/index.d.ts +5 -4
- package/dist/index.js +1 -1
- package/dist/lib/agent/directTools.js +1 -1
- package/dist/lib/config/conversationMemoryConfig.js +2 -1
- package/dist/lib/context/ContextManager.js +15 -4
- package/dist/lib/context/config.js +5 -1
- package/dist/lib/context/utils.js +1 -1
- package/dist/lib/core/baseProvider.d.ts +11 -30
- package/dist/lib/core/baseProvider.js +268 -42
- package/dist/lib/core/conversationMemoryManager.js +3 -2
- package/dist/lib/core/dynamicModels.js +1 -1
- package/dist/lib/core/evaluation.js +1 -1
- package/dist/lib/core/factory.js +1 -1
- package/dist/lib/factories/providerFactory.js +5 -11
- package/dist/lib/factories/providerRegistry.js +2 -2
- package/dist/lib/index.d.ts +5 -4
- package/dist/lib/index.js +1 -1
- package/dist/lib/mcp/externalServerManager.d.ts +148 -0
- package/dist/lib/mcp/externalServerManager.js +1038 -0
- package/dist/lib/mcp/mcpCircuitBreaker.d.ts +184 -0
- package/dist/lib/mcp/mcpCircuitBreaker.js +338 -0
- package/dist/lib/mcp/mcpClientFactory.d.ts +105 -0
- package/dist/lib/mcp/mcpClientFactory.js +421 -0
- package/dist/lib/mcp/toolDiscoveryService.d.ts +193 -0
- package/dist/lib/mcp/toolDiscoveryService.js +646 -0
- package/dist/lib/mcp/toolRegistry.d.ts +15 -11
- package/dist/lib/mcp/toolRegistry.js +118 -55
- package/dist/lib/models/modelResolver.js +1 -1
- package/dist/lib/neurolink.d.ts +139 -43
- package/dist/lib/neurolink.js +604 -174
- package/dist/lib/providers/googleVertex.d.ts +7 -1
- package/dist/lib/providers/googleVertex.js +34 -7
- package/dist/lib/providers/huggingFace.js +1 -1
- package/dist/lib/providers/mistral.js +3 -3
- package/dist/lib/providers/ollama.js +1 -1
- package/dist/lib/providers/openAI.d.ts +3 -2
- package/dist/lib/providers/openAI.js +2 -2
- package/dist/lib/providers/openaiCompatible.d.ts +1 -1
- package/dist/lib/providers/openaiCompatible.js +2 -2
- package/dist/lib/providers/sagemaker/config.js +1 -1
- package/dist/lib/sdk/toolRegistration.d.ts +4 -13
- package/dist/lib/sdk/toolRegistration.js +19 -66
- package/dist/lib/types/cli.d.ts +0 -1
- package/dist/lib/types/cli.js +0 -1
- package/dist/lib/types/common.d.ts +1 -2
- package/dist/lib/types/common.js +0 -1
- package/dist/lib/types/contextTypes.d.ts +1 -1
- package/dist/lib/types/contextTypes.js +3 -3
- package/dist/lib/types/externalMcp.d.ts +288 -0
- package/dist/lib/types/externalMcp.js +7 -0
- package/dist/lib/types/generateTypes.d.ts +0 -1
- package/dist/lib/types/index.d.ts +2 -2
- package/dist/lib/types/index.js +0 -1
- package/dist/lib/types/mcpTypes.d.ts +53 -99
- package/dist/lib/types/providers.d.ts +0 -1
- package/dist/lib/types/providers.js +0 -1
- package/dist/lib/types/tools.d.ts +2 -2
- package/dist/lib/types/tools.js +2 -2
- package/dist/lib/utils/factoryProcessing.js +1 -1
- package/dist/lib/utils/mcpDefaults.d.ts +54 -0
- package/dist/lib/utils/mcpDefaults.js +125 -0
- package/dist/lib/utils/providerConfig.d.ts +1 -1
- package/dist/lib/utils/providerConfig.js +2 -2
- package/dist/lib/utils/providerHealth.js +6 -6
- package/dist/mcp/externalServerManager.d.ts +148 -0
- package/dist/mcp/externalServerManager.js +1038 -0
- package/dist/mcp/mcpCircuitBreaker.d.ts +184 -0
- package/dist/mcp/mcpCircuitBreaker.js +338 -0
- package/dist/mcp/mcpClientFactory.d.ts +105 -0
- package/dist/mcp/mcpClientFactory.js +421 -0
- package/dist/mcp/toolDiscoveryService.d.ts +193 -0
- package/dist/mcp/toolDiscoveryService.js +646 -0
- package/dist/mcp/toolRegistry.d.ts +15 -11
- package/dist/mcp/toolRegistry.js +118 -55
- package/dist/models/modelResolver.js +1 -1
- package/dist/neurolink.d.ts +139 -43
- package/dist/neurolink.js +604 -174
- package/dist/providers/googleVertex.d.ts +7 -1
- package/dist/providers/googleVertex.js +34 -7
- package/dist/providers/huggingFace.js +1 -1
- package/dist/providers/mistral.js +3 -3
- package/dist/providers/ollama.js +1 -1
- package/dist/providers/openAI.d.ts +3 -2
- package/dist/providers/openAI.js +2 -2
- package/dist/providers/openaiCompatible.d.ts +1 -1
- package/dist/providers/openaiCompatible.js +2 -2
- package/dist/providers/sagemaker/config.js +1 -1
- package/dist/sdk/toolRegistration.d.ts +4 -13
- package/dist/sdk/toolRegistration.js +19 -66
- package/dist/types/cli.d.ts +0 -1
- package/dist/types/cli.js +0 -1
- package/dist/types/common.d.ts +1 -2
- package/dist/types/common.js +0 -1
- package/dist/types/contextTypes.d.ts +1 -1
- package/dist/types/contextTypes.js +3 -3
- package/dist/types/externalMcp.d.ts +288 -0
- package/dist/types/externalMcp.js +7 -0
- package/dist/types/generateTypes.d.ts +0 -1
- package/dist/types/index.d.ts +2 -2
- package/dist/types/index.js +0 -1
- package/dist/types/mcpTypes.d.ts +53 -99
- package/dist/types/providers.d.ts +0 -1
- package/dist/types/providers.js +0 -1
- package/dist/types/tools.d.ts +2 -2
- package/dist/types/tools.js +2 -2
- package/dist/utils/factoryProcessing.js +1 -1
- package/dist/utils/mcpDefaults.d.ts +54 -0
- package/dist/utils/mcpDefaults.js +125 -0
- package/dist/utils/providerConfig.d.ts +1 -1
- package/dist/utils/providerConfig.js +2 -2
- package/dist/utils/providerHealth.js +6 -6
- package/package.json +1 -1
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* External MCP Server Manager
|
|
3
|
+
* Handles lifecycle management of external MCP servers including:
|
|
4
|
+
* - Process spawning and management
|
|
5
|
+
* - Health monitoring and automatic restart
|
|
6
|
+
* - Connection management and cleanup
|
|
7
|
+
* - Tool discovery and registration
|
|
8
|
+
*/
|
|
9
|
+
import { EventEmitter } from "events";
|
|
10
|
+
import { ToolDiscoveryService } from "./toolDiscoveryService.js";
|
|
11
|
+
import type { ExternalMCPServerInstance, ExternalMCPServerHealth, ExternalMCPConfigValidation, ExternalMCPOperationResult, ExternalMCPManagerConfig, ExternalMCPToolInfo } from "../types/externalMcp.js";
|
|
12
|
+
import type { MCPServerInfo } from "../types/mcpTypes.js";
|
|
13
|
+
import type { JsonObject } from "../types/common.js";
|
|
14
|
+
export declare class ExternalServerManager extends EventEmitter {
|
|
15
|
+
private servers;
|
|
16
|
+
private config;
|
|
17
|
+
private isShuttingDown;
|
|
18
|
+
private toolDiscovery;
|
|
19
|
+
private enableMainRegistryIntegration;
|
|
20
|
+
constructor(config?: ExternalMCPManagerConfig, options?: {
|
|
21
|
+
enableMainRegistryIntegration?: boolean;
|
|
22
|
+
});
|
|
23
|
+
/**
|
|
24
|
+
* Load MCP server configurations from .mcp-config.json file
|
|
25
|
+
* Automatically registers servers found in the configuration
|
|
26
|
+
* @param configPath Optional path to config file (defaults to .mcp-config.json in cwd)
|
|
27
|
+
* @returns Promise resolving to number of servers loaded
|
|
28
|
+
*/
|
|
29
|
+
loadMCPConfiguration(configPath?: string): Promise<{
|
|
30
|
+
serversLoaded: number;
|
|
31
|
+
errors: string[];
|
|
32
|
+
}>;
|
|
33
|
+
/**
|
|
34
|
+
* Validate external MCP server configuration
|
|
35
|
+
*/
|
|
36
|
+
validateConfig(config: MCPServerInfo): ExternalMCPConfigValidation;
|
|
37
|
+
/**
|
|
38
|
+
* Convert MCPServerInfo format (keeping for backward compatibility)
|
|
39
|
+
* Helper function for transitioning to zero-conversion architecture
|
|
40
|
+
*/
|
|
41
|
+
private convertConfigToMCPServerInfo;
|
|
42
|
+
/**
|
|
43
|
+
* Add a new external MCP server - Backward compatibility overload
|
|
44
|
+
*/
|
|
45
|
+
addServer(serverId: string, config: MCPServerInfo): Promise<ExternalMCPOperationResult<ExternalMCPServerInstance>>;
|
|
46
|
+
/**
|
|
47
|
+
* Add a new external MCP server - Updated to accept MCPServerInfo
|
|
48
|
+
*/
|
|
49
|
+
addServer(serverId: string, serverInfo: MCPServerInfo): Promise<ExternalMCPOperationResult<ExternalMCPServerInstance>>;
|
|
50
|
+
/**
|
|
51
|
+
* Remove an external MCP server
|
|
52
|
+
*/
|
|
53
|
+
removeServer(serverId: string): Promise<ExternalMCPOperationResult<void>>;
|
|
54
|
+
/**
|
|
55
|
+
* Start an external MCP server
|
|
56
|
+
*/
|
|
57
|
+
private startServer;
|
|
58
|
+
/**
|
|
59
|
+
* Stop an external MCP server
|
|
60
|
+
*/
|
|
61
|
+
private stopServer;
|
|
62
|
+
/**
|
|
63
|
+
* Update server status and emit events
|
|
64
|
+
*/
|
|
65
|
+
private updateServerStatus;
|
|
66
|
+
/**
|
|
67
|
+
* Handle server errors
|
|
68
|
+
*/
|
|
69
|
+
private handleServerError;
|
|
70
|
+
/**
|
|
71
|
+
* Handle server disconnection
|
|
72
|
+
*/
|
|
73
|
+
private handleServerDisconnection;
|
|
74
|
+
/**
|
|
75
|
+
* Schedule server restart with exponential backoff
|
|
76
|
+
*/
|
|
77
|
+
private scheduleRestart;
|
|
78
|
+
/**
|
|
79
|
+
* Start health monitoring for a server
|
|
80
|
+
*/
|
|
81
|
+
private startHealthMonitoring;
|
|
82
|
+
/**
|
|
83
|
+
* Perform health check on a server
|
|
84
|
+
*/
|
|
85
|
+
private performHealthCheck;
|
|
86
|
+
/**
|
|
87
|
+
* Get server instance - converted to ExternalMCPServerInstance for compatibility
|
|
88
|
+
*/
|
|
89
|
+
getServer(serverId: string): ExternalMCPServerInstance | undefined;
|
|
90
|
+
/**
|
|
91
|
+
* Get all servers - converted to ExternalMCPServerInstance for compatibility
|
|
92
|
+
*/
|
|
93
|
+
getAllServers(): Map<string, ExternalMCPServerInstance>;
|
|
94
|
+
/**
|
|
95
|
+
* List servers as MCPServerInfo - ZERO conversion needed
|
|
96
|
+
*/
|
|
97
|
+
listServers(): MCPServerInfo[];
|
|
98
|
+
/**
|
|
99
|
+
* Get server statuses
|
|
100
|
+
*/
|
|
101
|
+
getServerStatuses(): ExternalMCPServerHealth[];
|
|
102
|
+
/**
|
|
103
|
+
* Shutdown all servers
|
|
104
|
+
*/
|
|
105
|
+
shutdown(): Promise<void>;
|
|
106
|
+
/**
|
|
107
|
+
* Get manager statistics
|
|
108
|
+
*/
|
|
109
|
+
getStatistics(): {
|
|
110
|
+
totalServers: number;
|
|
111
|
+
connectedServers: number;
|
|
112
|
+
failedServers: number;
|
|
113
|
+
totalTools: number;
|
|
114
|
+
totalConnections: number;
|
|
115
|
+
totalErrors: number;
|
|
116
|
+
};
|
|
117
|
+
/**
|
|
118
|
+
* Discover tools from a server
|
|
119
|
+
*/
|
|
120
|
+
private discoverServerTools;
|
|
121
|
+
/**
|
|
122
|
+
* Register server tools with main tool registry for unified access
|
|
123
|
+
* This enables external MCP tools to be accessed via the main toolRegistry.executeTool()
|
|
124
|
+
*/
|
|
125
|
+
private registerServerToolsWithMainRegistry;
|
|
126
|
+
/**
|
|
127
|
+
* Unregister server tools from main tool registry
|
|
128
|
+
*/
|
|
129
|
+
private unregisterServerToolsFromMainRegistry;
|
|
130
|
+
/**
|
|
131
|
+
* Execute a tool on a specific server
|
|
132
|
+
*/
|
|
133
|
+
executeTool(serverId: string, toolName: string, parameters: JsonObject, options?: {
|
|
134
|
+
timeout?: number;
|
|
135
|
+
}): Promise<unknown>;
|
|
136
|
+
/**
|
|
137
|
+
* Get all tools from all servers
|
|
138
|
+
*/
|
|
139
|
+
getAllTools(): ExternalMCPToolInfo[];
|
|
140
|
+
/**
|
|
141
|
+
* Get tools for a specific server
|
|
142
|
+
*/
|
|
143
|
+
getServerTools(serverId: string): ExternalMCPToolInfo[];
|
|
144
|
+
/**
|
|
145
|
+
* Get tool discovery service
|
|
146
|
+
*/
|
|
147
|
+
getToolDiscovery(): ToolDiscoveryService;
|
|
148
|
+
}
|