@juspay/neurolink 1.10.0 → 1.11.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.
Files changed (144) hide show
  1. package/CHANGELOG.md +36 -33
  2. package/README.md +16 -0
  3. package/dist/agent/direct-tools.d.ts +9 -9
  4. package/dist/cli/commands/agent-generate.d.ts +1 -2
  5. package/dist/cli/commands/agent-generate.js +5 -8
  6. package/dist/cli/commands/config.d.ts +2 -2
  7. package/dist/cli/commands/config.js +1 -1
  8. package/dist/cli/commands/mcp.js +91 -100
  9. package/dist/cli/commands/ollama.d.ts +2 -7
  10. package/dist/cli/commands/ollama.js +5 -8
  11. package/dist/cli/index.js +185 -276
  12. package/dist/core/factory.js +9 -10
  13. package/dist/index.d.ts +23 -0
  14. package/dist/index.js +35 -0
  15. package/dist/lib/agent/direct-tools.d.ts +9 -9
  16. package/dist/lib/core/factory.js +9 -10
  17. package/dist/lib/index.d.ts +23 -0
  18. package/dist/lib/index.js +35 -0
  19. package/dist/lib/mcp/adapters/plugin-bridge.d.ts +39 -0
  20. package/dist/lib/mcp/adapters/plugin-bridge.js +82 -0
  21. package/dist/lib/mcp/auto-discovery.d.ts +38 -96
  22. package/dist/lib/mcp/auto-discovery.js +100 -744
  23. package/dist/lib/mcp/client.js +4 -4
  24. package/dist/lib/mcp/context-manager.js +72 -1
  25. package/dist/lib/mcp/contracts/mcp-contract.d.ts +162 -0
  26. package/dist/lib/mcp/contracts/mcp-contract.js +58 -0
  27. package/dist/lib/mcp/core/plugin-manager.d.ts +45 -0
  28. package/dist/lib/mcp/core/plugin-manager.js +110 -0
  29. package/dist/lib/mcp/demo/plugin-demo.d.ts +20 -0
  30. package/dist/lib/mcp/demo/plugin-demo.js +116 -0
  31. package/dist/lib/mcp/ecosystem.d.ts +75 -0
  32. package/dist/lib/mcp/ecosystem.js +161 -0
  33. package/dist/lib/mcp/external-client.d.ts +88 -0
  34. package/dist/lib/mcp/external-client.js +323 -0
  35. package/dist/lib/mcp/external-manager.d.ts +112 -0
  36. package/dist/lib/mcp/external-manager.js +302 -0
  37. package/dist/lib/mcp/factory.d.ts +4 -4
  38. package/dist/lib/mcp/function-calling.js +59 -34
  39. package/dist/lib/mcp/index.d.ts +39 -184
  40. package/dist/lib/mcp/index.js +72 -150
  41. package/dist/lib/mcp/initialize.js +5 -5
  42. package/dist/lib/mcp/logging.d.ts +27 -60
  43. package/dist/lib/mcp/logging.js +77 -165
  44. package/dist/lib/mcp/neurolink-mcp-client.js +31 -3
  45. package/dist/lib/mcp/orchestrator.d.ts +1 -1
  46. package/dist/lib/mcp/orchestrator.js +13 -12
  47. package/dist/lib/mcp/plugin-manager.d.ts +98 -0
  48. package/dist/lib/mcp/plugin-manager.js +294 -0
  49. package/dist/lib/mcp/plugins/core/filesystem-mcp.d.ts +35 -0
  50. package/dist/lib/mcp/plugins/core/filesystem-mcp.js +139 -0
  51. package/dist/lib/mcp/plugins/filesystem-mcp.d.ts +36 -0
  52. package/dist/lib/mcp/plugins/filesystem-mcp.js +54 -0
  53. package/dist/lib/mcp/registry.d.ts +27 -176
  54. package/dist/lib/mcp/registry.js +31 -372
  55. package/dist/lib/mcp/security-manager.d.ts +85 -0
  56. package/dist/lib/mcp/security-manager.js +344 -0
  57. package/dist/lib/mcp/servers/ai-providers/ai-workflow-tools.d.ts +2 -2
  58. package/dist/lib/mcp/tool-integration.d.ts +4 -14
  59. package/dist/lib/mcp/tool-integration.js +43 -21
  60. package/dist/lib/mcp/tool-registry.d.ts +66 -0
  61. package/dist/lib/mcp/tool-registry.js +160 -0
  62. package/dist/lib/mcp/unified-mcp.d.ts +123 -0
  63. package/dist/lib/mcp/unified-mcp.js +246 -0
  64. package/dist/lib/mcp/unified-registry.d.ts +42 -229
  65. package/dist/lib/mcp/unified-registry.js +96 -1346
  66. package/dist/lib/neurolink.d.ts +3 -4
  67. package/dist/lib/neurolink.js +17 -18
  68. package/dist/lib/providers/agent-enhanced-provider.js +2 -2
  69. package/dist/lib/providers/amazonBedrock.js +2 -2
  70. package/dist/lib/providers/anthropic.js +3 -3
  71. package/dist/lib/providers/azureOpenAI.js +3 -3
  72. package/dist/lib/providers/function-calling-provider.js +34 -25
  73. package/dist/lib/providers/googleAIStudio.js +3 -3
  74. package/dist/lib/providers/googleVertexAI.js +2 -2
  75. package/dist/lib/providers/huggingFace.js +2 -2
  76. package/dist/lib/providers/mcp-provider.js +33 -5
  77. package/dist/lib/providers/mistralAI.js +2 -2
  78. package/dist/lib/providers/ollama.js +2 -2
  79. package/dist/lib/providers/openAI.js +2 -2
  80. package/dist/lib/utils/providerUtils-fixed.js +9 -9
  81. package/dist/mcp/adapters/plugin-bridge.d.ts +39 -0
  82. package/dist/mcp/adapters/plugin-bridge.js +82 -0
  83. package/dist/mcp/auto-discovery.d.ts +38 -96
  84. package/dist/mcp/auto-discovery.js +100 -745
  85. package/dist/mcp/client.js +4 -4
  86. package/dist/mcp/context-manager.js +72 -1
  87. package/dist/mcp/contracts/mcp-contract.d.ts +162 -0
  88. package/dist/mcp/contracts/mcp-contract.js +58 -0
  89. package/dist/mcp/core/plugin-manager.d.ts +45 -0
  90. package/dist/mcp/core/plugin-manager.js +110 -0
  91. package/dist/mcp/demo/plugin-demo.d.ts +20 -0
  92. package/dist/mcp/demo/plugin-demo.js +116 -0
  93. package/dist/mcp/ecosystem.d.ts +75 -0
  94. package/dist/mcp/ecosystem.js +162 -0
  95. package/dist/mcp/external-client.d.ts +88 -0
  96. package/dist/mcp/external-client.js +323 -0
  97. package/dist/mcp/external-manager.d.ts +112 -0
  98. package/dist/mcp/external-manager.js +302 -0
  99. package/dist/mcp/factory.d.ts +4 -4
  100. package/dist/mcp/function-calling.js +59 -34
  101. package/dist/mcp/index.d.ts +39 -184
  102. package/dist/mcp/index.js +72 -150
  103. package/dist/mcp/initialize.js +5 -5
  104. package/dist/mcp/logging.d.ts +27 -60
  105. package/dist/mcp/logging.js +77 -165
  106. package/dist/mcp/neurolink-mcp-client.js +31 -3
  107. package/dist/mcp/orchestrator.d.ts +1 -1
  108. package/dist/mcp/orchestrator.js +13 -12
  109. package/dist/mcp/plugin-manager.d.ts +98 -0
  110. package/dist/mcp/plugin-manager.js +295 -0
  111. package/dist/mcp/plugins/core/filesystem-mcp.d.ts +35 -0
  112. package/dist/mcp/plugins/core/filesystem-mcp.js +139 -0
  113. package/dist/mcp/plugins/core/neurolink-mcp.json +17 -0
  114. package/dist/mcp/plugins/filesystem-mcp.d.ts +36 -0
  115. package/dist/mcp/plugins/filesystem-mcp.js +54 -0
  116. package/dist/mcp/registry.d.ts +27 -176
  117. package/dist/mcp/registry.js +31 -372
  118. package/dist/mcp/security-manager.d.ts +85 -0
  119. package/dist/mcp/security-manager.js +344 -0
  120. package/dist/mcp/servers/ai-providers/ai-workflow-tools.d.ts +2 -2
  121. package/dist/mcp/tool-integration.d.ts +4 -14
  122. package/dist/mcp/tool-integration.js +43 -21
  123. package/dist/mcp/tool-registry.d.ts +66 -0
  124. package/dist/mcp/tool-registry.js +160 -0
  125. package/dist/mcp/unified-mcp.d.ts +123 -0
  126. package/dist/mcp/unified-mcp.js +246 -0
  127. package/dist/mcp/unified-registry.d.ts +42 -229
  128. package/dist/mcp/unified-registry.js +96 -1345
  129. package/dist/neurolink.d.ts +3 -4
  130. package/dist/neurolink.js +17 -18
  131. package/dist/providers/agent-enhanced-provider.js +2 -2
  132. package/dist/providers/amazonBedrock.js +2 -2
  133. package/dist/providers/anthropic.js +3 -3
  134. package/dist/providers/azureOpenAI.js +3 -3
  135. package/dist/providers/function-calling-provider.js +34 -25
  136. package/dist/providers/googleAIStudio.js +3 -3
  137. package/dist/providers/googleVertexAI.js +2 -2
  138. package/dist/providers/huggingFace.js +2 -2
  139. package/dist/providers/mcp-provider.js +33 -5
  140. package/dist/providers/mistralAI.js +2 -2
  141. package/dist/providers/ollama.js +2 -2
  142. package/dist/providers/openAI.js +2 -2
  143. package/dist/utils/providerUtils-fixed.js +9 -9
  144. package/package.json +1 -1
@@ -1,269 +1,82 @@
1
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
2
+ * Unified MCP Registry - Combines Multiple Registration Sources
5
3
  */
6
- import { type ToolSearchCriteria } from "./registry.js";
7
- import type { NeuroLinkMCPServer, NeuroLinkExecutionContext, ToolResult } from "./factory.js";
4
+ import type { DiscoveredMCP, ExecutionContext } from "./contracts/mcp-contract.js";
5
+ import type { DiscoveryOptions } from "./auto-discovery.js";
6
+ import { MCPToolRegistry, type ToolInfo, type ToolExecutionResult } from "./tool-registry.js";
8
7
  /**
9
- * MCP Server Configuration from manual .mcp-config.json
8
+ * Unified registry combining multiple sources
10
9
  */
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;
10
+ export declare class UnifiedMCPRegistry extends MCPToolRegistry {
11
+ private autoDiscoveryEnabled;
12
+ private autoDiscoveredServers;
70
13
  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;
14
+ private availableServers;
130
15
  /**
131
- * Execute tool from default registry
16
+ * Initialize with auto-discovery
132
17
  */
133
- private executeFromDefaultRegistry;
18
+ initialize(options?: DiscoveryOptions): Promise<void>;
134
19
  /**
135
- * Get execution order based on preferences and tool type
20
+ * Enable or disable auto-discovery
136
21
  */
137
- private getExecutionOrder;
22
+ setAutoDiscovery(enabled: boolean): void;
138
23
  /**
139
- * List all available tools from all sources
24
+ * Refresh discovery
140
25
  */
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
- }>>;
26
+ refresh(options?: DiscoveryOptions): Promise<void>;
151
27
  /**
152
- * List all servers from all sources
153
- */
154
- listAllServers(): UnifiedServerEntry[];
155
- /**
156
- * Get total server count across all sources
28
+ * Get total server count
157
29
  */
158
30
  getTotalServerCount(): number;
159
31
  /**
160
- * Add a manual server configuration
32
+ * Get available server count
161
33
  */
162
- addManualServer(serverId: string, config: MCPServerConfig): void;
163
- /**
164
- * Remove a manual server configuration
165
- */
166
- removeManualServer(serverId: string): boolean;
34
+ getAvailableServerCount(): number;
167
35
  /**
168
- * Update auto-discovery configuration
36
+ * Get auto-discovered servers
169
37
  */
170
- updateAutoDiscoveryConfig(config: Partial<EnhancedMCPConfig["autoDiscovery"]>): void;
38
+ getAutoDiscoveredServers(): DiscoveredMCP[];
171
39
  /**
172
- * Force refresh of auto-discovered servers
40
+ * Get manual servers
173
41
  */
174
- refreshAutoDiscovery(): Promise<void>;
42
+ getManualServers(): Map<string, any>;
175
43
  /**
176
- * Get current configuration
44
+ * List all tools from all registered plugins
177
45
  */
178
- getConfig(): EnhancedMCPConfig;
46
+ listAllTools(): Promise<ToolInfo[]>;
179
47
  /**
180
- * Get registry statistics
48
+ * Execute a tool through the registry
181
49
  */
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
- };
50
+ executeTool(toolName: string, args: any, context: ExecutionContext): Promise<ToolExecutionResult>;
200
51
  /**
201
- * Get auto-discovered servers
52
+ * Lazily activate a server by ID
202
53
  */
203
- getAutoDiscoveredServers(): Map<string, UnifiedServerEntry>;
54
+ lazyActivateServer(serverId: string): Promise<boolean>;
204
55
  /**
205
- * Get manual servers
56
+ * Register a manual server
206
57
  */
207
- getManualServers(): Map<string, UnifiedServerEntry>;
58
+ registerManualServer(id: string, server: any): void;
208
59
  /**
209
- * Get server summary with counts and status
60
+ * Get registry statistics
210
61
  */
211
- getServerSummary(): {
212
- manual: {
213
- servers: number;
214
- tools: number;
215
- };
216
- auto: {
217
- servers: number;
218
- tools: number;
219
- };
220
- default: {
62
+ getStats(): Promise<{
63
+ total: number;
64
+ bySource: Record<string, number>;
65
+ byType: Record<string, number>;
66
+ manual?: {
221
67
  servers: number;
222
- tools: number;
223
68
  };
224
- total: {
69
+ auto?: {
225
70
  servers: number;
226
- tools: number;
227
71
  };
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;
72
+ tools?: number;
73
+ }>;
261
74
  /**
262
- * Activate a server on-demand when its tools are first requested
75
+ * Clear all registries
263
76
  */
264
- lazyActivateServer(serverId: string, entry: UnifiedServerEntry): Promise<boolean>;
77
+ clear(): void;
265
78
  }
266
79
  /**
267
80
  * Default unified registry instance
268
81
  */
269
- export declare const defaultUnifiedRegistry: UnifiedMCPRegistry;
82
+ export declare const unifiedRegistry: UnifiedMCPRegistry;