@juspay/neurolink 1.6.0 → 1.10.0
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 +200 -7
- package/README.md +101 -18
- package/dist/agent/direct-tools.d.ts +1203 -0
- package/dist/agent/direct-tools.js +387 -0
- package/dist/cli/commands/agent-generate.d.ts +2 -0
- package/dist/cli/commands/agent-generate.js +70 -0
- package/dist/cli/commands/config.d.ts +6 -6
- package/dist/cli/commands/config.js +326 -273
- package/dist/cli/commands/mcp.d.ts +2 -1
- package/dist/cli/commands/mcp.js +874 -146
- package/dist/cli/commands/ollama.d.ts +1 -1
- package/dist/cli/commands/ollama.js +153 -143
- package/dist/cli/index.js +687 -325
- package/dist/cli/utils/complete-setup.d.ts +19 -0
- package/dist/cli/utils/complete-setup.js +81 -0
- package/dist/cli/utils/env-manager.d.ts +44 -0
- package/dist/cli/utils/env-manager.js +226 -0
- package/dist/cli/utils/interactive-setup.d.ts +48 -0
- package/dist/cli/utils/interactive-setup.js +302 -0
- package/dist/core/dynamic-models.d.ts +208 -0
- package/dist/core/dynamic-models.js +250 -0
- package/dist/core/factory.d.ts +13 -6
- package/dist/core/factory.js +177 -62
- package/dist/core/types.d.ts +4 -2
- package/dist/core/types.js +4 -4
- package/dist/index.d.ts +16 -16
- package/dist/index.js +16 -16
- package/dist/lib/agent/direct-tools.d.ts +1203 -0
- package/dist/lib/agent/direct-tools.js +387 -0
- package/dist/lib/core/dynamic-models.d.ts +208 -0
- package/dist/lib/core/dynamic-models.js +250 -0
- package/dist/lib/core/factory.d.ts +13 -6
- package/dist/lib/core/factory.js +177 -62
- package/dist/lib/core/types.d.ts +4 -2
- package/dist/lib/core/types.js +4 -4
- package/dist/lib/index.d.ts +16 -16
- package/dist/lib/index.js +16 -16
- package/dist/lib/mcp/auto-discovery.d.ts +120 -0
- package/dist/lib/mcp/auto-discovery.js +793 -0
- package/dist/lib/mcp/client.d.ts +66 -0
- package/dist/lib/mcp/client.js +245 -0
- package/dist/lib/mcp/config.d.ts +31 -0
- package/dist/lib/mcp/config.js +74 -0
- package/dist/lib/mcp/context-manager.d.ts +4 -4
- package/dist/lib/mcp/context-manager.js +24 -18
- package/dist/lib/mcp/factory.d.ts +28 -11
- package/dist/lib/mcp/factory.js +36 -29
- package/dist/lib/mcp/function-calling.d.ts +51 -0
- package/dist/lib/mcp/function-calling.js +510 -0
- package/dist/lib/mcp/index.d.ts +190 -0
- package/dist/lib/mcp/index.js +156 -0
- package/dist/lib/mcp/initialize-tools.d.ts +28 -0
- package/dist/lib/mcp/initialize-tools.js +209 -0
- package/dist/lib/mcp/initialize.d.ts +17 -0
- package/dist/lib/mcp/initialize.js +51 -0
- package/dist/lib/mcp/logging.d.ts +71 -0
- package/dist/lib/mcp/logging.js +183 -0
- package/dist/lib/mcp/manager.d.ts +67 -0
- package/dist/lib/mcp/manager.js +176 -0
- package/dist/lib/mcp/neurolink-mcp-client.d.ts +96 -0
- package/dist/lib/mcp/neurolink-mcp-client.js +417 -0
- package/dist/lib/mcp/orchestrator.d.ts +3 -3
- package/dist/lib/mcp/orchestrator.js +46 -43
- package/dist/lib/mcp/registry.d.ts +12 -4
- package/dist/lib/mcp/registry.js +64 -37
- package/dist/lib/mcp/servers/ai-providers/ai-analysis-tools.d.ts +1 -1
- package/dist/lib/mcp/servers/ai-providers/ai-analysis-tools.js +204 -65
- package/dist/lib/mcp/servers/ai-providers/ai-core-server.js +142 -102
- package/dist/lib/mcp/servers/ai-providers/ai-workflow-tools.d.ts +6 -6
- package/dist/lib/mcp/servers/ai-providers/ai-workflow-tools.js +197 -142
- package/dist/lib/mcp/servers/utilities/utility-server.d.ts +8 -0
- package/dist/lib/mcp/servers/utilities/utility-server.js +326 -0
- package/dist/lib/mcp/tool-integration.d.ts +67 -0
- package/dist/lib/mcp/tool-integration.js +179 -0
- package/dist/lib/mcp/unified-registry.d.ts +269 -0
- package/dist/lib/mcp/unified-registry.js +1411 -0
- package/dist/lib/neurolink.d.ts +68 -6
- package/dist/lib/neurolink.js +304 -42
- package/dist/lib/providers/agent-enhanced-provider.d.ts +59 -0
- package/dist/lib/providers/agent-enhanced-provider.js +242 -0
- package/dist/lib/providers/amazonBedrock.d.ts +3 -3
- package/dist/lib/providers/amazonBedrock.js +54 -50
- package/dist/lib/providers/anthropic.d.ts +2 -2
- package/dist/lib/providers/anthropic.js +92 -84
- package/dist/lib/providers/azureOpenAI.d.ts +2 -2
- package/dist/lib/providers/azureOpenAI.js +97 -86
- package/dist/lib/providers/function-calling-provider.d.ts +70 -0
- package/dist/lib/providers/function-calling-provider.js +359 -0
- package/dist/lib/providers/googleAIStudio.d.ts +10 -5
- package/dist/lib/providers/googleAIStudio.js +60 -38
- package/dist/lib/providers/googleVertexAI.d.ts +3 -3
- package/dist/lib/providers/googleVertexAI.js +96 -86
- package/dist/lib/providers/huggingFace.d.ts +3 -3
- package/dist/lib/providers/huggingFace.js +70 -63
- package/dist/lib/providers/index.d.ts +11 -11
- package/dist/lib/providers/index.js +18 -18
- package/dist/lib/providers/mcp-provider.d.ts +62 -0
- package/dist/lib/providers/mcp-provider.js +183 -0
- package/dist/lib/providers/mistralAI.d.ts +3 -3
- package/dist/lib/providers/mistralAI.js +42 -36
- package/dist/lib/providers/ollama.d.ts +4 -4
- package/dist/lib/providers/ollama.js +128 -98
- package/dist/lib/providers/openAI.d.ts +7 -3
- package/dist/lib/providers/openAI.js +45 -33
- package/dist/lib/utils/logger.js +2 -2
- package/dist/lib/utils/providerUtils-fixed.d.ts +8 -0
- package/dist/lib/utils/providerUtils-fixed.js +75 -0
- package/dist/lib/utils/providerUtils.d.ts +8 -1
- package/dist/lib/utils/providerUtils.js +63 -32
- package/dist/mcp/auto-discovery.d.ts +120 -0
- package/dist/mcp/auto-discovery.js +794 -0
- package/dist/mcp/client.d.ts +66 -0
- package/dist/mcp/client.js +245 -0
- package/dist/mcp/config.d.ts +31 -0
- package/dist/mcp/config.js +74 -0
- package/dist/mcp/context-manager.d.ts +4 -4
- package/dist/mcp/context-manager.js +24 -18
- package/dist/mcp/factory.d.ts +28 -11
- package/dist/mcp/factory.js +36 -29
- package/dist/mcp/function-calling.d.ts +51 -0
- package/dist/mcp/function-calling.js +510 -0
- package/dist/mcp/index.d.ts +190 -0
- package/dist/mcp/index.js +156 -0
- package/dist/mcp/initialize-tools.d.ts +28 -0
- package/dist/mcp/initialize-tools.js +210 -0
- package/dist/mcp/initialize.d.ts +17 -0
- package/dist/mcp/initialize.js +51 -0
- package/dist/mcp/logging.d.ts +71 -0
- package/dist/mcp/logging.js +183 -0
- package/dist/mcp/manager.d.ts +67 -0
- package/dist/mcp/manager.js +176 -0
- package/dist/mcp/neurolink-mcp-client.d.ts +96 -0
- package/dist/mcp/neurolink-mcp-client.js +417 -0
- package/dist/mcp/orchestrator.d.ts +3 -3
- package/dist/mcp/orchestrator.js +46 -43
- package/dist/mcp/registry.d.ts +12 -4
- package/dist/mcp/registry.js +64 -37
- package/dist/mcp/servers/ai-providers/ai-analysis-tools.d.ts +1 -1
- package/dist/mcp/servers/ai-providers/ai-analysis-tools.js +204 -65
- package/dist/mcp/servers/ai-providers/ai-core-server.js +142 -102
- package/dist/mcp/servers/ai-providers/ai-workflow-tools.d.ts +6 -6
- package/dist/mcp/servers/ai-providers/ai-workflow-tools.js +197 -142
- package/dist/mcp/servers/utilities/utility-server.d.ts +8 -0
- package/dist/mcp/servers/utilities/utility-server.js +326 -0
- package/dist/mcp/tool-integration.d.ts +67 -0
- package/dist/mcp/tool-integration.js +179 -0
- package/dist/mcp/unified-registry.d.ts +269 -0
- package/dist/mcp/unified-registry.js +1411 -0
- package/dist/neurolink.d.ts +68 -6
- package/dist/neurolink.js +304 -42
- package/dist/providers/agent-enhanced-provider.d.ts +59 -0
- package/dist/providers/agent-enhanced-provider.js +242 -0
- package/dist/providers/amazonBedrock.d.ts +3 -3
- package/dist/providers/amazonBedrock.js +54 -50
- package/dist/providers/anthropic.d.ts +2 -2
- package/dist/providers/anthropic.js +92 -84
- package/dist/providers/azureOpenAI.d.ts +2 -2
- package/dist/providers/azureOpenAI.js +97 -86
- package/dist/providers/function-calling-provider.d.ts +70 -0
- package/dist/providers/function-calling-provider.js +359 -0
- package/dist/providers/googleAIStudio.d.ts +10 -5
- package/dist/providers/googleAIStudio.js +60 -38
- package/dist/providers/googleVertexAI.d.ts +3 -3
- package/dist/providers/googleVertexAI.js +96 -86
- package/dist/providers/huggingFace.d.ts +3 -3
- package/dist/providers/huggingFace.js +70 -63
- package/dist/providers/index.d.ts +11 -11
- package/dist/providers/index.js +18 -18
- package/dist/providers/mcp-provider.d.ts +62 -0
- package/dist/providers/mcp-provider.js +183 -0
- package/dist/providers/mistralAI.d.ts +3 -3
- package/dist/providers/mistralAI.js +42 -36
- package/dist/providers/ollama.d.ts +4 -4
- package/dist/providers/ollama.js +128 -98
- package/dist/providers/openAI.d.ts +7 -3
- package/dist/providers/openAI.js +45 -33
- package/dist/utils/logger.js +2 -2
- package/dist/utils/providerUtils-fixed.d.ts +8 -0
- package/dist/utils/providerUtils-fixed.js +75 -0
- package/dist/utils/providerUtils.d.ts +8 -1
- package/dist/utils/providerUtils.js +63 -32
- package/package.json +182 -160
|
@@ -0,0 +1,269 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* NeuroLink Unified MCP Registry System
|
|
3
|
+
* Combines manual configuration, auto-discovery, and default tool registry
|
|
4
|
+
* Provides intelligent server selection with configurable priorities
|
|
5
|
+
*/
|
|
6
|
+
import { type ToolSearchCriteria } from "./registry.js";
|
|
7
|
+
import type { NeuroLinkMCPServer, NeuroLinkExecutionContext, ToolResult } from "./factory.js";
|
|
8
|
+
/**
|
|
9
|
+
* MCP Server Configuration from manual .mcp-config.json
|
|
10
|
+
*/
|
|
11
|
+
export interface MCPServerConfig {
|
|
12
|
+
name: string;
|
|
13
|
+
command: string;
|
|
14
|
+
args?: string[];
|
|
15
|
+
env?: Record<string, string>;
|
|
16
|
+
cwd?: string;
|
|
17
|
+
transport: "stdio" | "sse";
|
|
18
|
+
url?: string;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Enhanced MCP configuration with auto-discovery settings
|
|
22
|
+
*/
|
|
23
|
+
export interface EnhancedMCPConfig {
|
|
24
|
+
mcpServers: Record<string, MCPServerConfig>;
|
|
25
|
+
autoDiscovery?: {
|
|
26
|
+
enabled?: boolean;
|
|
27
|
+
sources?: string[];
|
|
28
|
+
autoRegister?: boolean;
|
|
29
|
+
excludeServers?: string[];
|
|
30
|
+
preferManualConfig?: boolean;
|
|
31
|
+
};
|
|
32
|
+
defaultRegistry?: {
|
|
33
|
+
enabled?: boolean;
|
|
34
|
+
includeBuiltInTools?: boolean;
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Server source information
|
|
39
|
+
*/
|
|
40
|
+
export interface ServerSource {
|
|
41
|
+
type: "manual" | "auto" | "default";
|
|
42
|
+
priority: number;
|
|
43
|
+
metadata?: Record<string, unknown>;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Unified server entry
|
|
47
|
+
*/
|
|
48
|
+
export interface UnifiedServerEntry {
|
|
49
|
+
id: string;
|
|
50
|
+
config?: MCPServerConfig;
|
|
51
|
+
server?: NeuroLinkMCPServer;
|
|
52
|
+
source: ServerSource;
|
|
53
|
+
status: "available" | "unavailable" | "unknown" | "activated";
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Unified execution options
|
|
57
|
+
*/
|
|
58
|
+
export interface UnifiedExecutionOptions {
|
|
59
|
+
preferredSource?: "manual" | "auto" | "default";
|
|
60
|
+
fallbackEnabled?: boolean;
|
|
61
|
+
validateBeforeExecution?: boolean;
|
|
62
|
+
timeoutMs?: number;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Unified MCP Registry that combines all sources
|
|
66
|
+
*/
|
|
67
|
+
export declare class UnifiedMCPRegistry {
|
|
68
|
+
private configPath;
|
|
69
|
+
private config;
|
|
70
|
+
private manualServers;
|
|
71
|
+
private autoServers;
|
|
72
|
+
private defaultServers;
|
|
73
|
+
private autoRegistryInstance;
|
|
74
|
+
private lastAutoDiscovery;
|
|
75
|
+
private autoDiscoveryCacheMs;
|
|
76
|
+
private _isInitialized;
|
|
77
|
+
constructor(configPath?: string);
|
|
78
|
+
/**
|
|
79
|
+
* Check if the registry has been initialized
|
|
80
|
+
*/
|
|
81
|
+
get isInitialized(): boolean;
|
|
82
|
+
/**
|
|
83
|
+
* Load MCP configuration with defaults
|
|
84
|
+
*/
|
|
85
|
+
private loadConfig;
|
|
86
|
+
/**
|
|
87
|
+
* Save configuration to file
|
|
88
|
+
*/
|
|
89
|
+
private saveConfig;
|
|
90
|
+
/**
|
|
91
|
+
* Initialize the unified registry by loading all server sources
|
|
92
|
+
*/
|
|
93
|
+
initialize(): Promise<void>;
|
|
94
|
+
/**
|
|
95
|
+
* Mark all discovered servers as available for lazy activation
|
|
96
|
+
*/
|
|
97
|
+
private markServersAsAvailable;
|
|
98
|
+
/**
|
|
99
|
+
* Load manual servers from configuration
|
|
100
|
+
*/
|
|
101
|
+
private loadManualServers;
|
|
102
|
+
/**
|
|
103
|
+
* Load auto-discovered servers
|
|
104
|
+
*/
|
|
105
|
+
private loadAutoDiscoveredServers;
|
|
106
|
+
/**
|
|
107
|
+
* Load default registry tools
|
|
108
|
+
*/
|
|
109
|
+
private loadDefaultRegistryTools;
|
|
110
|
+
/**
|
|
111
|
+
* Execute a tool using unified registry with fallback
|
|
112
|
+
*/
|
|
113
|
+
executeTool(toolName: string, params: unknown, context: NeuroLinkExecutionContext, options?: UnifiedExecutionOptions): Promise<ToolResult>;
|
|
114
|
+
/**
|
|
115
|
+
* Execute tool from specific source
|
|
116
|
+
*/
|
|
117
|
+
private executeFromSource;
|
|
118
|
+
/**
|
|
119
|
+
* Execute tool from manual configuration
|
|
120
|
+
*/
|
|
121
|
+
private executeFromManualConfig;
|
|
122
|
+
/**
|
|
123
|
+
* Execute MCP tool using manual server configuration
|
|
124
|
+
*/
|
|
125
|
+
private executeMCPTool;
|
|
126
|
+
/**
|
|
127
|
+
* Execute tool from auto-registered servers
|
|
128
|
+
*/
|
|
129
|
+
private executeFromAutoRegistry;
|
|
130
|
+
/**
|
|
131
|
+
* Execute tool from default registry
|
|
132
|
+
*/
|
|
133
|
+
private executeFromDefaultRegistry;
|
|
134
|
+
/**
|
|
135
|
+
* Get execution order based on preferences and tool type
|
|
136
|
+
*/
|
|
137
|
+
private getExecutionOrder;
|
|
138
|
+
/**
|
|
139
|
+
* List all available tools from all sources
|
|
140
|
+
*/
|
|
141
|
+
listAllTools(criteria?: ToolSearchCriteria & {
|
|
142
|
+
source?: "manual" | "auto" | "default";
|
|
143
|
+
}): Promise<Array<{
|
|
144
|
+
name: string;
|
|
145
|
+
server: string;
|
|
146
|
+
source: "manual" | "auto" | "default";
|
|
147
|
+
description?: string;
|
|
148
|
+
category?: string;
|
|
149
|
+
isImplemented?: boolean;
|
|
150
|
+
}>>;
|
|
151
|
+
/**
|
|
152
|
+
* List all servers from all sources
|
|
153
|
+
*/
|
|
154
|
+
listAllServers(): UnifiedServerEntry[];
|
|
155
|
+
/**
|
|
156
|
+
* Get total server count across all sources
|
|
157
|
+
*/
|
|
158
|
+
getTotalServerCount(): number;
|
|
159
|
+
/**
|
|
160
|
+
* Add a manual server configuration
|
|
161
|
+
*/
|
|
162
|
+
addManualServer(serverId: string, config: MCPServerConfig): void;
|
|
163
|
+
/**
|
|
164
|
+
* Remove a manual server configuration
|
|
165
|
+
*/
|
|
166
|
+
removeManualServer(serverId: string): boolean;
|
|
167
|
+
/**
|
|
168
|
+
* Update auto-discovery configuration
|
|
169
|
+
*/
|
|
170
|
+
updateAutoDiscoveryConfig(config: Partial<EnhancedMCPConfig["autoDiscovery"]>): void;
|
|
171
|
+
/**
|
|
172
|
+
* Force refresh of auto-discovered servers
|
|
173
|
+
*/
|
|
174
|
+
refreshAutoDiscovery(): Promise<void>;
|
|
175
|
+
/**
|
|
176
|
+
* Get current configuration
|
|
177
|
+
*/
|
|
178
|
+
getConfig(): EnhancedMCPConfig;
|
|
179
|
+
/**
|
|
180
|
+
* Get registry statistics
|
|
181
|
+
*/
|
|
182
|
+
getStats(): {
|
|
183
|
+
manual: {
|
|
184
|
+
servers: number;
|
|
185
|
+
tools: number;
|
|
186
|
+
};
|
|
187
|
+
auto: {
|
|
188
|
+
servers: number;
|
|
189
|
+
tools: number;
|
|
190
|
+
};
|
|
191
|
+
default: {
|
|
192
|
+
servers: number;
|
|
193
|
+
tools: number;
|
|
194
|
+
};
|
|
195
|
+
total: {
|
|
196
|
+
servers: number;
|
|
197
|
+
tools: number;
|
|
198
|
+
};
|
|
199
|
+
};
|
|
200
|
+
/**
|
|
201
|
+
* Get auto-discovered servers
|
|
202
|
+
*/
|
|
203
|
+
getAutoDiscoveredServers(): Map<string, UnifiedServerEntry>;
|
|
204
|
+
/**
|
|
205
|
+
* Get manual servers
|
|
206
|
+
*/
|
|
207
|
+
getManualServers(): Map<string, UnifiedServerEntry>;
|
|
208
|
+
/**
|
|
209
|
+
* Get server summary with counts and status
|
|
210
|
+
*/
|
|
211
|
+
getServerSummary(): {
|
|
212
|
+
manual: {
|
|
213
|
+
servers: number;
|
|
214
|
+
tools: number;
|
|
215
|
+
};
|
|
216
|
+
auto: {
|
|
217
|
+
servers: number;
|
|
218
|
+
tools: number;
|
|
219
|
+
};
|
|
220
|
+
default: {
|
|
221
|
+
servers: number;
|
|
222
|
+
tools: number;
|
|
223
|
+
};
|
|
224
|
+
total: {
|
|
225
|
+
servers: number;
|
|
226
|
+
tools: number;
|
|
227
|
+
};
|
|
228
|
+
};
|
|
229
|
+
/**
|
|
230
|
+
* Activate discovered servers by testing connectivity and loading available tools
|
|
231
|
+
*/
|
|
232
|
+
private activateDiscoveredServers;
|
|
233
|
+
/**
|
|
234
|
+
* Activate a single server by testing connectivity and loading tools
|
|
235
|
+
*/
|
|
236
|
+
private activateServer;
|
|
237
|
+
/**
|
|
238
|
+
* Test server connectivity
|
|
239
|
+
*/
|
|
240
|
+
private testServerConnectivity;
|
|
241
|
+
/**
|
|
242
|
+
* Load tools from a server
|
|
243
|
+
*/
|
|
244
|
+
private loadServerTools;
|
|
245
|
+
/**
|
|
246
|
+
* Properly cleanup child process and its streams to prevent hanging
|
|
247
|
+
*/
|
|
248
|
+
private cleanupChildProcess;
|
|
249
|
+
/**
|
|
250
|
+
* Create a server instance from config and tools
|
|
251
|
+
*/
|
|
252
|
+
private createServerInstance;
|
|
253
|
+
/**
|
|
254
|
+
* Get count of activated servers
|
|
255
|
+
*/
|
|
256
|
+
getAvailableServerCount(): number;
|
|
257
|
+
/**
|
|
258
|
+
* Get count of tools from activated servers
|
|
259
|
+
*/
|
|
260
|
+
private getActivatedToolCount;
|
|
261
|
+
/**
|
|
262
|
+
* Activate a server on-demand when its tools are first requested
|
|
263
|
+
*/
|
|
264
|
+
lazyActivateServer(serverId: string, entry: UnifiedServerEntry): Promise<boolean>;
|
|
265
|
+
}
|
|
266
|
+
/**
|
|
267
|
+
* Default unified registry instance
|
|
268
|
+
*/
|
|
269
|
+
export declare const defaultUnifiedRegistry: UnifiedMCPRegistry;
|