@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.
Files changed (182) hide show
  1. package/CHANGELOG.md +200 -7
  2. package/README.md +101 -18
  3. package/dist/agent/direct-tools.d.ts +1203 -0
  4. package/dist/agent/direct-tools.js +387 -0
  5. package/dist/cli/commands/agent-generate.d.ts +2 -0
  6. package/dist/cli/commands/agent-generate.js +70 -0
  7. package/dist/cli/commands/config.d.ts +6 -6
  8. package/dist/cli/commands/config.js +326 -273
  9. package/dist/cli/commands/mcp.d.ts +2 -1
  10. package/dist/cli/commands/mcp.js +874 -146
  11. package/dist/cli/commands/ollama.d.ts +1 -1
  12. package/dist/cli/commands/ollama.js +153 -143
  13. package/dist/cli/index.js +687 -325
  14. package/dist/cli/utils/complete-setup.d.ts +19 -0
  15. package/dist/cli/utils/complete-setup.js +81 -0
  16. package/dist/cli/utils/env-manager.d.ts +44 -0
  17. package/dist/cli/utils/env-manager.js +226 -0
  18. package/dist/cli/utils/interactive-setup.d.ts +48 -0
  19. package/dist/cli/utils/interactive-setup.js +302 -0
  20. package/dist/core/dynamic-models.d.ts +208 -0
  21. package/dist/core/dynamic-models.js +250 -0
  22. package/dist/core/factory.d.ts +13 -6
  23. package/dist/core/factory.js +177 -62
  24. package/dist/core/types.d.ts +4 -2
  25. package/dist/core/types.js +4 -4
  26. package/dist/index.d.ts +16 -16
  27. package/dist/index.js +16 -16
  28. package/dist/lib/agent/direct-tools.d.ts +1203 -0
  29. package/dist/lib/agent/direct-tools.js +387 -0
  30. package/dist/lib/core/dynamic-models.d.ts +208 -0
  31. package/dist/lib/core/dynamic-models.js +250 -0
  32. package/dist/lib/core/factory.d.ts +13 -6
  33. package/dist/lib/core/factory.js +177 -62
  34. package/dist/lib/core/types.d.ts +4 -2
  35. package/dist/lib/core/types.js +4 -4
  36. package/dist/lib/index.d.ts +16 -16
  37. package/dist/lib/index.js +16 -16
  38. package/dist/lib/mcp/auto-discovery.d.ts +120 -0
  39. package/dist/lib/mcp/auto-discovery.js +793 -0
  40. package/dist/lib/mcp/client.d.ts +66 -0
  41. package/dist/lib/mcp/client.js +245 -0
  42. package/dist/lib/mcp/config.d.ts +31 -0
  43. package/dist/lib/mcp/config.js +74 -0
  44. package/dist/lib/mcp/context-manager.d.ts +4 -4
  45. package/dist/lib/mcp/context-manager.js +24 -18
  46. package/dist/lib/mcp/factory.d.ts +28 -11
  47. package/dist/lib/mcp/factory.js +36 -29
  48. package/dist/lib/mcp/function-calling.d.ts +51 -0
  49. package/dist/lib/mcp/function-calling.js +510 -0
  50. package/dist/lib/mcp/index.d.ts +190 -0
  51. package/dist/lib/mcp/index.js +156 -0
  52. package/dist/lib/mcp/initialize-tools.d.ts +28 -0
  53. package/dist/lib/mcp/initialize-tools.js +209 -0
  54. package/dist/lib/mcp/initialize.d.ts +17 -0
  55. package/dist/lib/mcp/initialize.js +51 -0
  56. package/dist/lib/mcp/logging.d.ts +71 -0
  57. package/dist/lib/mcp/logging.js +183 -0
  58. package/dist/lib/mcp/manager.d.ts +67 -0
  59. package/dist/lib/mcp/manager.js +176 -0
  60. package/dist/lib/mcp/neurolink-mcp-client.d.ts +96 -0
  61. package/dist/lib/mcp/neurolink-mcp-client.js +417 -0
  62. package/dist/lib/mcp/orchestrator.d.ts +3 -3
  63. package/dist/lib/mcp/orchestrator.js +46 -43
  64. package/dist/lib/mcp/registry.d.ts +12 -4
  65. package/dist/lib/mcp/registry.js +64 -37
  66. package/dist/lib/mcp/servers/ai-providers/ai-analysis-tools.d.ts +1 -1
  67. package/dist/lib/mcp/servers/ai-providers/ai-analysis-tools.js +204 -65
  68. package/dist/lib/mcp/servers/ai-providers/ai-core-server.js +142 -102
  69. package/dist/lib/mcp/servers/ai-providers/ai-workflow-tools.d.ts +6 -6
  70. package/dist/lib/mcp/servers/ai-providers/ai-workflow-tools.js +197 -142
  71. package/dist/lib/mcp/servers/utilities/utility-server.d.ts +8 -0
  72. package/dist/lib/mcp/servers/utilities/utility-server.js +326 -0
  73. package/dist/lib/mcp/tool-integration.d.ts +67 -0
  74. package/dist/lib/mcp/tool-integration.js +179 -0
  75. package/dist/lib/mcp/unified-registry.d.ts +269 -0
  76. package/dist/lib/mcp/unified-registry.js +1411 -0
  77. package/dist/lib/neurolink.d.ts +68 -6
  78. package/dist/lib/neurolink.js +304 -42
  79. package/dist/lib/providers/agent-enhanced-provider.d.ts +59 -0
  80. package/dist/lib/providers/agent-enhanced-provider.js +242 -0
  81. package/dist/lib/providers/amazonBedrock.d.ts +3 -3
  82. package/dist/lib/providers/amazonBedrock.js +54 -50
  83. package/dist/lib/providers/anthropic.d.ts +2 -2
  84. package/dist/lib/providers/anthropic.js +92 -84
  85. package/dist/lib/providers/azureOpenAI.d.ts +2 -2
  86. package/dist/lib/providers/azureOpenAI.js +97 -86
  87. package/dist/lib/providers/function-calling-provider.d.ts +70 -0
  88. package/dist/lib/providers/function-calling-provider.js +359 -0
  89. package/dist/lib/providers/googleAIStudio.d.ts +10 -5
  90. package/dist/lib/providers/googleAIStudio.js +60 -38
  91. package/dist/lib/providers/googleVertexAI.d.ts +3 -3
  92. package/dist/lib/providers/googleVertexAI.js +96 -86
  93. package/dist/lib/providers/huggingFace.d.ts +3 -3
  94. package/dist/lib/providers/huggingFace.js +70 -63
  95. package/dist/lib/providers/index.d.ts +11 -11
  96. package/dist/lib/providers/index.js +18 -18
  97. package/dist/lib/providers/mcp-provider.d.ts +62 -0
  98. package/dist/lib/providers/mcp-provider.js +183 -0
  99. package/dist/lib/providers/mistralAI.d.ts +3 -3
  100. package/dist/lib/providers/mistralAI.js +42 -36
  101. package/dist/lib/providers/ollama.d.ts +4 -4
  102. package/dist/lib/providers/ollama.js +128 -98
  103. package/dist/lib/providers/openAI.d.ts +7 -3
  104. package/dist/lib/providers/openAI.js +45 -33
  105. package/dist/lib/utils/logger.js +2 -2
  106. package/dist/lib/utils/providerUtils-fixed.d.ts +8 -0
  107. package/dist/lib/utils/providerUtils-fixed.js +75 -0
  108. package/dist/lib/utils/providerUtils.d.ts +8 -1
  109. package/dist/lib/utils/providerUtils.js +63 -32
  110. package/dist/mcp/auto-discovery.d.ts +120 -0
  111. package/dist/mcp/auto-discovery.js +794 -0
  112. package/dist/mcp/client.d.ts +66 -0
  113. package/dist/mcp/client.js +245 -0
  114. package/dist/mcp/config.d.ts +31 -0
  115. package/dist/mcp/config.js +74 -0
  116. package/dist/mcp/context-manager.d.ts +4 -4
  117. package/dist/mcp/context-manager.js +24 -18
  118. package/dist/mcp/factory.d.ts +28 -11
  119. package/dist/mcp/factory.js +36 -29
  120. package/dist/mcp/function-calling.d.ts +51 -0
  121. package/dist/mcp/function-calling.js +510 -0
  122. package/dist/mcp/index.d.ts +190 -0
  123. package/dist/mcp/index.js +156 -0
  124. package/dist/mcp/initialize-tools.d.ts +28 -0
  125. package/dist/mcp/initialize-tools.js +210 -0
  126. package/dist/mcp/initialize.d.ts +17 -0
  127. package/dist/mcp/initialize.js +51 -0
  128. package/dist/mcp/logging.d.ts +71 -0
  129. package/dist/mcp/logging.js +183 -0
  130. package/dist/mcp/manager.d.ts +67 -0
  131. package/dist/mcp/manager.js +176 -0
  132. package/dist/mcp/neurolink-mcp-client.d.ts +96 -0
  133. package/dist/mcp/neurolink-mcp-client.js +417 -0
  134. package/dist/mcp/orchestrator.d.ts +3 -3
  135. package/dist/mcp/orchestrator.js +46 -43
  136. package/dist/mcp/registry.d.ts +12 -4
  137. package/dist/mcp/registry.js +64 -37
  138. package/dist/mcp/servers/ai-providers/ai-analysis-tools.d.ts +1 -1
  139. package/dist/mcp/servers/ai-providers/ai-analysis-tools.js +204 -65
  140. package/dist/mcp/servers/ai-providers/ai-core-server.js +142 -102
  141. package/dist/mcp/servers/ai-providers/ai-workflow-tools.d.ts +6 -6
  142. package/dist/mcp/servers/ai-providers/ai-workflow-tools.js +197 -142
  143. package/dist/mcp/servers/utilities/utility-server.d.ts +8 -0
  144. package/dist/mcp/servers/utilities/utility-server.js +326 -0
  145. package/dist/mcp/tool-integration.d.ts +67 -0
  146. package/dist/mcp/tool-integration.js +179 -0
  147. package/dist/mcp/unified-registry.d.ts +269 -0
  148. package/dist/mcp/unified-registry.js +1411 -0
  149. package/dist/neurolink.d.ts +68 -6
  150. package/dist/neurolink.js +304 -42
  151. package/dist/providers/agent-enhanced-provider.d.ts +59 -0
  152. package/dist/providers/agent-enhanced-provider.js +242 -0
  153. package/dist/providers/amazonBedrock.d.ts +3 -3
  154. package/dist/providers/amazonBedrock.js +54 -50
  155. package/dist/providers/anthropic.d.ts +2 -2
  156. package/dist/providers/anthropic.js +92 -84
  157. package/dist/providers/azureOpenAI.d.ts +2 -2
  158. package/dist/providers/azureOpenAI.js +97 -86
  159. package/dist/providers/function-calling-provider.d.ts +70 -0
  160. package/dist/providers/function-calling-provider.js +359 -0
  161. package/dist/providers/googleAIStudio.d.ts +10 -5
  162. package/dist/providers/googleAIStudio.js +60 -38
  163. package/dist/providers/googleVertexAI.d.ts +3 -3
  164. package/dist/providers/googleVertexAI.js +96 -86
  165. package/dist/providers/huggingFace.d.ts +3 -3
  166. package/dist/providers/huggingFace.js +70 -63
  167. package/dist/providers/index.d.ts +11 -11
  168. package/dist/providers/index.js +18 -18
  169. package/dist/providers/mcp-provider.d.ts +62 -0
  170. package/dist/providers/mcp-provider.js +183 -0
  171. package/dist/providers/mistralAI.d.ts +3 -3
  172. package/dist/providers/mistralAI.js +42 -36
  173. package/dist/providers/ollama.d.ts +4 -4
  174. package/dist/providers/ollama.js +128 -98
  175. package/dist/providers/openAI.d.ts +7 -3
  176. package/dist/providers/openAI.js +45 -33
  177. package/dist/utils/logger.js +2 -2
  178. package/dist/utils/providerUtils-fixed.d.ts +8 -0
  179. package/dist/utils/providerUtils-fixed.js +75 -0
  180. package/dist/utils/providerUtils.d.ts +8 -1
  181. package/dist/utils/providerUtils.js +63 -32
  182. 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;