@juspay/neurolink 6.1.0 → 6.2.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 (283) hide show
  1. package/CHANGELOG.md +10 -6
  2. package/dist/cli/commands/config.d.ts +13 -13
  3. package/dist/cli/index.js +3 -9
  4. package/dist/core/analytics.d.ts +11 -1
  5. package/dist/core/analytics.js +2 -2
  6. package/dist/core/base-provider.js +4 -18
  7. package/dist/core/dynamic-models.d.ts +8 -8
  8. package/dist/core/factory.js +3 -11
  9. package/dist/index.d.ts +2 -4
  10. package/dist/index.js +2 -11
  11. package/dist/lib/core/analytics.d.ts +11 -1
  12. package/dist/lib/core/analytics.js +2 -2
  13. package/dist/lib/core/base-provider.js +4 -18
  14. package/dist/lib/core/dynamic-models.d.ts +8 -8
  15. package/dist/lib/core/factory.js +3 -11
  16. package/dist/lib/index.d.ts +2 -4
  17. package/dist/lib/index.js +2 -11
  18. package/dist/lib/mcp/factory.d.ts +1 -1
  19. package/dist/lib/mcp/index.d.ts +7 -19
  20. package/dist/lib/mcp/index.js +15 -56
  21. package/dist/lib/neurolink.d.ts +1 -9
  22. package/dist/lib/neurolink.js +21 -70
  23. package/dist/lib/providers/amazon-bedrock.js +5 -16
  24. package/dist/lib/providers/anthropic-baseprovider.js +3 -21
  25. package/dist/lib/providers/anthropic.js +4 -7
  26. package/dist/lib/providers/azure-openai.js +4 -2
  27. package/dist/lib/providers/google-vertex.js +5 -9
  28. package/dist/lib/providers/huggingFace.js +5 -10
  29. package/dist/lib/providers/mistral.js +5 -8
  30. package/dist/lib/providers/openAI.js +4 -7
  31. package/dist/lib/utils/providerConfig.d.ts +117 -0
  32. package/dist/lib/utils/providerConfig.js +353 -0
  33. package/dist/lib/utils/providerUtils.d.ts +2 -1
  34. package/dist/lib/utils/providerUtils.js +53 -36
  35. package/dist/lib/utils/timeout.d.ts +72 -1
  36. package/dist/lib/utils/timeout.js +203 -2
  37. package/dist/mcp/factory.d.ts +1 -1
  38. package/dist/mcp/index.d.ts +7 -19
  39. package/dist/mcp/index.js +15 -56
  40. package/dist/neurolink.d.ts +1 -9
  41. package/dist/neurolink.js +21 -70
  42. package/dist/providers/amazon-bedrock.js +5 -16
  43. package/dist/providers/anthropic-baseprovider.js +3 -21
  44. package/dist/providers/anthropic.js +4 -7
  45. package/dist/providers/azure-openai.js +4 -2
  46. package/dist/providers/google-vertex.js +5 -9
  47. package/dist/providers/huggingFace.js +5 -10
  48. package/dist/providers/mistral.js +5 -8
  49. package/dist/providers/openAI.js +4 -7
  50. package/dist/utils/providerConfig.d.ts +117 -0
  51. package/dist/utils/providerConfig.js +353 -0
  52. package/dist/utils/providerUtils.d.ts +2 -1
  53. package/dist/utils/providerUtils.js +53 -36
  54. package/dist/utils/timeout.d.ts +72 -1
  55. package/dist/utils/timeout.js +203 -2
  56. package/package.json +1 -1
  57. package/dist/chat/client-utils.d.ts +0 -95
  58. package/dist/chat/client-utils.js +0 -315
  59. package/dist/chat/index.d.ts +0 -24
  60. package/dist/chat/index.js +0 -33
  61. package/dist/chat/session-storage.d.ts +0 -77
  62. package/dist/chat/session-storage.js +0 -233
  63. package/dist/chat/session.d.ts +0 -96
  64. package/dist/chat/session.js +0 -257
  65. package/dist/chat/sse-handler.d.ts +0 -49
  66. package/dist/chat/sse-handler.js +0 -259
  67. package/dist/chat/types.d.ts +0 -74
  68. package/dist/chat/types.js +0 -5
  69. package/dist/chat/websocket-chat-handler.d.ts +0 -37
  70. package/dist/chat/websocket-chat-handler.js +0 -262
  71. package/dist/cli/commands/mcp.d.ts +0 -20
  72. package/dist/cli/commands/mcp.js +0 -1272
  73. package/dist/core/defaults.d.ts +0 -19
  74. package/dist/core/defaults.js +0 -29
  75. package/dist/core/evaluation-config.d.ts +0 -29
  76. package/dist/core/evaluation-config.js +0 -144
  77. package/dist/factories/compatibility-factory.d.ts +0 -35
  78. package/dist/factories/compatibility-factory.js +0 -71
  79. package/dist/factories/provider-generate-factory.d.ts +0 -20
  80. package/dist/factories/provider-generate-factory.js +0 -93
  81. package/dist/lib/chat/client-utils.d.ts +0 -95
  82. package/dist/lib/chat/client-utils.js +0 -315
  83. package/dist/lib/chat/index.d.ts +0 -24
  84. package/dist/lib/chat/index.js +0 -33
  85. package/dist/lib/chat/session-storage.d.ts +0 -77
  86. package/dist/lib/chat/session-storage.js +0 -233
  87. package/dist/lib/chat/session.d.ts +0 -96
  88. package/dist/lib/chat/session.js +0 -257
  89. package/dist/lib/chat/sse-handler.d.ts +0 -49
  90. package/dist/lib/chat/sse-handler.js +0 -259
  91. package/dist/lib/chat/types.d.ts +0 -74
  92. package/dist/lib/chat/types.js +0 -5
  93. package/dist/lib/chat/websocket-chat-handler.d.ts +0 -37
  94. package/dist/lib/chat/websocket-chat-handler.js +0 -262
  95. package/dist/lib/core/defaults.d.ts +0 -19
  96. package/dist/lib/core/defaults.js +0 -29
  97. package/dist/lib/core/evaluation-config.d.ts +0 -29
  98. package/dist/lib/core/evaluation-config.js +0 -144
  99. package/dist/lib/factories/compatibility-factory.d.ts +0 -35
  100. package/dist/lib/factories/compatibility-factory.js +0 -71
  101. package/dist/lib/factories/provider-generate-factory.d.ts +0 -20
  102. package/dist/lib/factories/provider-generate-factory.js +0 -93
  103. package/dist/lib/mcp/adapters/plugin-bridge.d.ts +0 -40
  104. package/dist/lib/mcp/adapters/plugin-bridge.js +0 -89
  105. package/dist/lib/mcp/auto-discovery.d.ts +0 -62
  106. package/dist/lib/mcp/auto-discovery.js +0 -149
  107. package/dist/lib/mcp/client.d.ts +0 -68
  108. package/dist/lib/mcp/client.js +0 -248
  109. package/dist/lib/mcp/config.d.ts +0 -31
  110. package/dist/lib/mcp/config.js +0 -99
  111. package/dist/lib/mcp/context-manager.d.ts +0 -171
  112. package/dist/lib/mcp/context-manager.js +0 -362
  113. package/dist/lib/mcp/contracts/mcp-contract.d.ts +0 -169
  114. package/dist/lib/mcp/contracts/mcp-contract.js +0 -58
  115. package/dist/lib/mcp/core/plugin-manager.d.ts +0 -46
  116. package/dist/lib/mcp/core/plugin-manager.js +0 -110
  117. package/dist/lib/mcp/demo/plugin-demo.d.ts +0 -20
  118. package/dist/lib/mcp/demo/plugin-demo.js +0 -118
  119. package/dist/lib/mcp/dynamic-chain-executor.d.ts +0 -225
  120. package/dist/lib/mcp/dynamic-chain-executor.js +0 -489
  121. package/dist/lib/mcp/dynamic-orchestrator.d.ts +0 -115
  122. package/dist/lib/mcp/dynamic-orchestrator.js +0 -351
  123. package/dist/lib/mcp/ecosystem.d.ts +0 -75
  124. package/dist/lib/mcp/ecosystem.js +0 -161
  125. package/dist/lib/mcp/error-manager.d.ts +0 -254
  126. package/dist/lib/mcp/error-manager.js +0 -501
  127. package/dist/lib/mcp/error-recovery.d.ts +0 -159
  128. package/dist/lib/mcp/error-recovery.js +0 -405
  129. package/dist/lib/mcp/external-client.d.ts +0 -88
  130. package/dist/lib/mcp/external-client.js +0 -331
  131. package/dist/lib/mcp/external-manager.d.ts +0 -112
  132. package/dist/lib/mcp/external-manager.js +0 -308
  133. package/dist/lib/mcp/function-calling.d.ts +0 -65
  134. package/dist/lib/mcp/function-calling.js +0 -642
  135. package/dist/lib/mcp/health-monitor.d.ts +0 -257
  136. package/dist/lib/mcp/health-monitor.js +0 -630
  137. package/dist/lib/mcp/initialize-tools.d.ts +0 -29
  138. package/dist/lib/mcp/initialize-tools.js +0 -261
  139. package/dist/lib/mcp/initialize.d.ts +0 -18
  140. package/dist/lib/mcp/initialize.js +0 -62
  141. package/dist/lib/mcp/manager.d.ts +0 -68
  142. package/dist/lib/mcp/manager.js +0 -176
  143. package/dist/lib/mcp/neurolink-mcp-client.d.ts +0 -97
  144. package/dist/lib/mcp/neurolink-mcp-client.js +0 -462
  145. package/dist/lib/mcp/orchestrator.d.ts +0 -302
  146. package/dist/lib/mcp/orchestrator.js +0 -703
  147. package/dist/lib/mcp/plugin-manager.d.ts +0 -98
  148. package/dist/lib/mcp/plugin-manager.js +0 -296
  149. package/dist/lib/mcp/plugins/core/filesystem-mcp.d.ts +0 -36
  150. package/dist/lib/mcp/plugins/core/filesystem-mcp.js +0 -142
  151. package/dist/lib/mcp/plugins/filesystem-mcp.d.ts +0 -37
  152. package/dist/lib/mcp/plugins/filesystem-mcp.js +0 -54
  153. package/dist/lib/mcp/security-manager.d.ts +0 -87
  154. package/dist/lib/mcp/security-manager.js +0 -344
  155. package/dist/lib/mcp/semaphore-manager.d.ts +0 -137
  156. package/dist/lib/mcp/semaphore-manager.js +0 -329
  157. package/dist/lib/mcp/session-manager.d.ts +0 -187
  158. package/dist/lib/mcp/session-manager.js +0 -400
  159. package/dist/lib/mcp/session-persistence.d.ts +0 -93
  160. package/dist/lib/mcp/session-persistence.js +0 -301
  161. package/dist/lib/mcp/tool-integration.d.ts +0 -58
  162. package/dist/lib/mcp/tool-integration.js +0 -203
  163. package/dist/lib/mcp/transport-manager.d.ts +0 -154
  164. package/dist/lib/mcp/transport-manager.js +0 -334
  165. package/dist/lib/mcp/unified-mcp.d.ts +0 -133
  166. package/dist/lib/mcp/unified-mcp.js +0 -251
  167. package/dist/lib/mcp/unified-registry.d.ts +0 -165
  168. package/dist/lib/mcp/unified-registry.js +0 -538
  169. package/dist/lib/providers/analytics-helper.d.ts +0 -38
  170. package/dist/lib/providers/analytics-helper.js +0 -216
  171. package/dist/lib/providers/function-calling-provider.d.ts +0 -142
  172. package/dist/lib/providers/function-calling-provider.js +0 -630
  173. package/dist/lib/providers/mcp-provider.d.ts +0 -75
  174. package/dist/lib/providers/mcp-provider.js +0 -283
  175. package/dist/lib/providers/timeout-wrapper.d.ts +0 -40
  176. package/dist/lib/providers/timeout-wrapper.js +0 -100
  177. package/dist/lib/sdk/tool-extension.d.ts +0 -181
  178. package/dist/lib/sdk/tool-extension.js +0 -284
  179. package/dist/lib/services/streaming/streaming-manager.d.ts +0 -29
  180. package/dist/lib/services/streaming/streaming-manager.js +0 -245
  181. package/dist/lib/services/types.d.ts +0 -156
  182. package/dist/lib/services/types.js +0 -2
  183. package/dist/lib/services/websocket/websocket-server.d.ts +0 -34
  184. package/dist/lib/services/websocket/websocket-server.js +0 -305
  185. package/dist/lib/utils/provider-validation.d.ts +0 -36
  186. package/dist/lib/utils/provider-validation.js +0 -625
  187. package/dist/lib/utils/providerUtils-fixed.d.ts +0 -8
  188. package/dist/lib/utils/providerUtils-fixed.js +0 -94
  189. package/dist/lib/utils/streaming-utils.d.ts +0 -79
  190. package/dist/lib/utils/streaming-utils.js +0 -198
  191. package/dist/lib/utils/timeout-manager.d.ts +0 -75
  192. package/dist/lib/utils/timeout-manager.js +0 -244
  193. package/dist/mcp/adapters/plugin-bridge.d.ts +0 -40
  194. package/dist/mcp/adapters/plugin-bridge.js +0 -89
  195. package/dist/mcp/auto-discovery.d.ts +0 -62
  196. package/dist/mcp/auto-discovery.js +0 -149
  197. package/dist/mcp/client.d.ts +0 -68
  198. package/dist/mcp/client.js +0 -248
  199. package/dist/mcp/config.d.ts +0 -31
  200. package/dist/mcp/config.js +0 -99
  201. package/dist/mcp/context-manager.d.ts +0 -171
  202. package/dist/mcp/context-manager.js +0 -362
  203. package/dist/mcp/contracts/mcp-contract.d.ts +0 -169
  204. package/dist/mcp/contracts/mcp-contract.js +0 -58
  205. package/dist/mcp/core/plugin-manager.d.ts +0 -46
  206. package/dist/mcp/core/plugin-manager.js +0 -110
  207. package/dist/mcp/demo/plugin-demo.d.ts +0 -20
  208. package/dist/mcp/demo/plugin-demo.js +0 -118
  209. package/dist/mcp/dynamic-chain-executor.d.ts +0 -225
  210. package/dist/mcp/dynamic-chain-executor.js +0 -489
  211. package/dist/mcp/dynamic-orchestrator.d.ts +0 -115
  212. package/dist/mcp/dynamic-orchestrator.js +0 -351
  213. package/dist/mcp/ecosystem.d.ts +0 -75
  214. package/dist/mcp/ecosystem.js +0 -162
  215. package/dist/mcp/error-manager.d.ts +0 -254
  216. package/dist/mcp/error-manager.js +0 -501
  217. package/dist/mcp/error-recovery.d.ts +0 -159
  218. package/dist/mcp/error-recovery.js +0 -405
  219. package/dist/mcp/external-client.d.ts +0 -88
  220. package/dist/mcp/external-client.js +0 -331
  221. package/dist/mcp/external-manager.d.ts +0 -112
  222. package/dist/mcp/external-manager.js +0 -308
  223. package/dist/mcp/function-calling.d.ts +0 -65
  224. package/dist/mcp/function-calling.js +0 -642
  225. package/dist/mcp/health-monitor.d.ts +0 -257
  226. package/dist/mcp/health-monitor.js +0 -630
  227. package/dist/mcp/initialize-tools.d.ts +0 -29
  228. package/dist/mcp/initialize-tools.js +0 -262
  229. package/dist/mcp/initialize.d.ts +0 -18
  230. package/dist/mcp/initialize.js +0 -62
  231. package/dist/mcp/manager.d.ts +0 -68
  232. package/dist/mcp/manager.js +0 -176
  233. package/dist/mcp/neurolink-mcp-client.d.ts +0 -97
  234. package/dist/mcp/neurolink-mcp-client.js +0 -462
  235. package/dist/mcp/orchestrator.d.ts +0 -302
  236. package/dist/mcp/orchestrator.js +0 -703
  237. package/dist/mcp/plugin-manager.d.ts +0 -98
  238. package/dist/mcp/plugin-manager.js +0 -297
  239. package/dist/mcp/plugins/core/filesystem-mcp.d.ts +0 -36
  240. package/dist/mcp/plugins/core/filesystem-mcp.js +0 -142
  241. package/dist/mcp/plugins/core/neurolink-mcp.json +0 -17
  242. package/dist/mcp/plugins/filesystem-mcp.d.ts +0 -37
  243. package/dist/mcp/plugins/filesystem-mcp.js +0 -54
  244. package/dist/mcp/security-manager.d.ts +0 -87
  245. package/dist/mcp/security-manager.js +0 -344
  246. package/dist/mcp/semaphore-manager.d.ts +0 -137
  247. package/dist/mcp/semaphore-manager.js +0 -329
  248. package/dist/mcp/session-manager.d.ts +0 -187
  249. package/dist/mcp/session-manager.js +0 -400
  250. package/dist/mcp/session-persistence.d.ts +0 -93
  251. package/dist/mcp/session-persistence.js +0 -302
  252. package/dist/mcp/tool-integration.d.ts +0 -58
  253. package/dist/mcp/tool-integration.js +0 -203
  254. package/dist/mcp/transport-manager.d.ts +0 -154
  255. package/dist/mcp/transport-manager.js +0 -335
  256. package/dist/mcp/unified-mcp.d.ts +0 -133
  257. package/dist/mcp/unified-mcp.js +0 -251
  258. package/dist/mcp/unified-registry.d.ts +0 -165
  259. package/dist/mcp/unified-registry.js +0 -539
  260. package/dist/providers/analytics-helper.d.ts +0 -38
  261. package/dist/providers/analytics-helper.js +0 -216
  262. package/dist/providers/function-calling-provider.d.ts +0 -142
  263. package/dist/providers/function-calling-provider.js +0 -630
  264. package/dist/providers/mcp-provider.d.ts +0 -75
  265. package/dist/providers/mcp-provider.js +0 -283
  266. package/dist/providers/timeout-wrapper.d.ts +0 -40
  267. package/dist/providers/timeout-wrapper.js +0 -100
  268. package/dist/sdk/tool-extension.d.ts +0 -181
  269. package/dist/sdk/tool-extension.js +0 -284
  270. package/dist/services/streaming/streaming-manager.d.ts +0 -29
  271. package/dist/services/streaming/streaming-manager.js +0 -245
  272. package/dist/services/types.d.ts +0 -156
  273. package/dist/services/types.js +0 -2
  274. package/dist/services/websocket/websocket-server.d.ts +0 -34
  275. package/dist/services/websocket/websocket-server.js +0 -306
  276. package/dist/utils/provider-validation.d.ts +0 -36
  277. package/dist/utils/provider-validation.js +0 -625
  278. package/dist/utils/providerUtils-fixed.d.ts +0 -8
  279. package/dist/utils/providerUtils-fixed.js +0 -94
  280. package/dist/utils/streaming-utils.d.ts +0 -79
  281. package/dist/utils/streaming-utils.js +0 -198
  282. package/dist/utils/timeout-manager.d.ts +0 -75
  283. package/dist/utils/timeout-manager.js +0 -244
@@ -1,251 +0,0 @@
1
- /**
2
- * NeuroLink Unified MCP System
3
- * Combines internal MCP servers with external MCP server integration
4
- * Single initialization point for the complete MCP ecosystem
5
- */
6
- import { MCPToolRegistry } from "./tool-registry.js";
7
- import { ExternalMCPManager } from "./external-manager.js";
8
- import { aiCoreServer } from "./servers/ai-providers/ai-core-server.js";
9
- import { mcpLogger as logger } from "./logging.js";
10
- /**
11
- * Unified MCP System
12
- * Central hub for managing both internal and external MCP servers
13
- */
14
- export class UnifiedMCPSystem {
15
- registry;
16
- externalManager;
17
- internalServers = [];
18
- isInitialized = false;
19
- options;
20
- constructor(options = {}) {
21
- this.options = {
22
- configPath: ".mcp-config.json",
23
- enableExternalServers: true,
24
- enableInternalServers: true,
25
- autoInitialize: false,
26
- registry: new MCPToolRegistry(),
27
- ...options,
28
- };
29
- this.registry = this.options.registry;
30
- this.externalManager = new ExternalMCPManager(this.options.configPath, this.registry);
31
- }
32
- /**
33
- * Initialize the unified MCP system
34
- */
35
- async initialize() {
36
- if (this.isInitialized) {
37
- logger.debug("[Unified MCP] Already initialized");
38
- return;
39
- }
40
- try {
41
- logger.info("[Unified MCP] Initializing unified MCP system...");
42
- const startTime = Date.now();
43
- // Initialize internal servers first
44
- if (this.options.enableInternalServers) {
45
- await this.initializeInternalServers();
46
- }
47
- // Initialize external servers
48
- if (this.options.enableExternalServers) {
49
- await this.initializeExternalServers();
50
- }
51
- this.isInitialized = true;
52
- const initTime = Date.now() - startTime;
53
- const status = this.getStatus();
54
- const currentStatus = await this.getStatus();
55
- logger.info(`[Unified MCP] Initialization complete in ${initTime}ms`, {
56
- totalTools: currentStatus.totalTools,
57
- internalServers: currentStatus.internalServers.count,
58
- externalServers: currentStatus.externalServers.connected,
59
- });
60
- }
61
- catch (error) {
62
- logger.error("[Unified MCP] Initialization failed:", error);
63
- throw error;
64
- }
65
- }
66
- /**
67
- * Initialize internal MCP servers
68
- */
69
- async initializeInternalServers() {
70
- try {
71
- logger.info("[Unified MCP] Initializing internal servers...");
72
- // Register AI Core Server (with 10 tools)
73
- await this.registry.registerServer("ai-core", aiCoreServer);
74
- this.internalServers.push(aiCoreServer);
75
- // TODO: Add other internal servers here as they are created
76
- // await this.registry.registerServer(utilityServer);
77
- // this.internalServers.push(utilityServer);
78
- const totalInternalTools = this.internalServers.reduce((sum, server) => sum + Object.keys(server.tools).length, 0);
79
- logger.info(`[Unified MCP] Registered ${this.internalServers.length} internal servers with ${totalInternalTools} tools`);
80
- }
81
- catch (error) {
82
- logger.error("[Unified MCP] Failed to initialize internal servers:", error);
83
- throw error;
84
- }
85
- }
86
- /**
87
- * Initialize external MCP servers
88
- */
89
- async initializeExternalServers() {
90
- try {
91
- logger.info("[Unified MCP] Initializing external servers...");
92
- await this.externalManager.initialize();
93
- const connectedServers = this.externalManager.getConnectedServers();
94
- const totalExternalTools = connectedServers.reduce((sum, server) => sum + server.toolCount, 0);
95
- logger.info(`[Unified MCP] Connected to ${connectedServers.length} external servers with ${totalExternalTools} tools`);
96
- }
97
- catch (error) {
98
- logger.warn("[Unified MCP] External server initialization failed (continuing without external servers):", error);
99
- // Don't throw here - external servers are optional
100
- }
101
- }
102
- /**
103
- * Execute a tool from any registered server
104
- */
105
- async executeTool(toolName, params, context) {
106
- if (!this.isInitialized) {
107
- throw new Error("Unified MCP system not initialized. Call initialize() first.");
108
- }
109
- return this.registry.executeTool(toolName, params, context);
110
- }
111
- /**
112
- * List all available tools
113
- */
114
- listTools(criteria) {
115
- return this.registry.listTools();
116
- }
117
- /**
118
- * Get tool information
119
- */
120
- getToolInfo(toolName) {
121
- return this.registry.getToolInfo(toolName);
122
- }
123
- /**
124
- * Get registry instance
125
- */
126
- getRegistry() {
127
- return this.registry;
128
- }
129
- /**
130
- * Get external manager instance
131
- */
132
- getExternalManager() {
133
- return this.externalManager;
134
- }
135
- /**
136
- * Get comprehensive status
137
- */
138
- async getStatus() {
139
- const registryStats = await this.registry.getStats();
140
- const externalStatus = this.externalManager.getStatus();
141
- const internalToolCount = this.internalServers.reduce((sum, server) => sum + Object.keys(server.tools).length, 0);
142
- // Calculate total tools from registry
143
- const registryToolCount = this.registry.getToolCount
144
- ? this.registry.getToolCount()
145
- : 0;
146
- const totalTools = internalToolCount + externalStatus.totalTools + registryToolCount;
147
- return {
148
- isInitialized: this.isInitialized,
149
- internalServers: {
150
- count: this.internalServers.length,
151
- tools: internalToolCount,
152
- },
153
- externalServers: {
154
- configured: externalStatus.totalServers,
155
- connected: externalStatus.connected,
156
- tools: externalStatus.totalTools,
157
- },
158
- totalTools,
159
- registryStats,
160
- };
161
- }
162
- /**
163
- * Refresh external connections
164
- */
165
- async refreshExternalServers() {
166
- if (!this.options.enableExternalServers) {
167
- return;
168
- }
169
- logger.info("[Unified MCP] Refreshing external servers...");
170
- await this.externalManager.refresh();
171
- }
172
- /**
173
- * Shutdown the unified MCP system
174
- */
175
- async shutdown() {
176
- if (!this.isInitialized) {
177
- return;
178
- }
179
- logger.info("[Unified MCP] Shutting down unified MCP system...");
180
- try {
181
- // Disconnect external servers
182
- await this.externalManager.disconnectAll();
183
- // Clear registry
184
- this.registry.clear();
185
- // Clear internal servers
186
- this.internalServers = [];
187
- this.isInitialized = false;
188
- logger.info("[Unified MCP] Shutdown complete");
189
- }
190
- catch (error) {
191
- logger.error("[Unified MCP] Shutdown failed:", error);
192
- throw error;
193
- }
194
- }
195
- /**
196
- * Check if system is initialized
197
- */
198
- isSystemInitialized() {
199
- return this.isInitialized;
200
- }
201
- }
202
- /**
203
- * Default unified MCP system instance
204
- */
205
- export const defaultUnifiedMCP = new UnifiedMCPSystem({
206
- autoInitialize: false,
207
- });
208
- /**
209
- * Initialize the default unified MCP system
210
- */
211
- export async function initializeMCP(options) {
212
- if (options) {
213
- const customSystem = new UnifiedMCPSystem(options);
214
- await customSystem.initialize();
215
- return customSystem;
216
- }
217
- if (!defaultUnifiedMCP.isSystemInitialized()) {
218
- await defaultUnifiedMCP.initialize();
219
- }
220
- return defaultUnifiedMCP;
221
- }
222
- /**
223
- * Get the default unified MCP system
224
- */
225
- export function getMCPSystem() {
226
- return defaultUnifiedMCP;
227
- }
228
- /**
229
- * Execute a tool using the default system
230
- */
231
- export async function executeMCPTool(toolName, params, context) {
232
- return defaultUnifiedMCP.executeTool(toolName, params, context);
233
- }
234
- /**
235
- * List all available MCP tools
236
- */
237
- export function listMCPTools(criteria) {
238
- return defaultUnifiedMCP.listTools(criteria);
239
- }
240
- /**
241
- * Get MCP tool information
242
- */
243
- export function getMCPToolInfo(toolName) {
244
- return defaultUnifiedMCP.getToolInfo(toolName);
245
- }
246
- /**
247
- * Get unified MCP system status
248
- */
249
- export async function getMCPStatus() {
250
- return await defaultUnifiedMCP.getStatus();
251
- }
@@ -1,165 +0,0 @@
1
- /**
2
- * Unified MCP Registry - Combines Multiple Registration Sources
3
- */
4
- import type { DiscoveredMCP, ExecutionContext } from "./contracts/mcp-contract.js";
5
- import type { JsonValue } from "../types/common.js";
6
- import type { DiscoveryOptions } from "./auto-discovery.js";
7
- interface MCPServerConfig {
8
- name: string;
9
- id?: string;
10
- command: string;
11
- args?: string[];
12
- env?: Record<string, string>;
13
- transport?: string;
14
- [key: string]: JsonValue | undefined;
15
- }
16
- import { MCPToolRegistry, type ToolInfo } from "./tool-registry.js";
17
- import { Client } from "@modelcontextprotocol/sdk/client/index.js";
18
- import { ErrorManager } from "./error-manager.js";
19
- /**
20
- * Unified registry combining multiple sources
21
- */
22
- export declare class UnifiedMCPRegistry extends MCPToolRegistry {
23
- private errorManager;
24
- private autoDiscoveryEnabled;
25
- private autoDiscoveredServers;
26
- private manualServers;
27
- private availableServers;
28
- private transportManager;
29
- private activeConnections;
30
- constructor(errorManager?: ErrorManager);
31
- /**
32
- * Initialize with auto-discovery and manual config
33
- */
34
- initialize(options?: DiscoveryOptions): Promise<void>;
35
- /**
36
- * Load servers from .mcp-config.json
37
- */
38
- private loadManualConfig;
39
- /**
40
- * Connect to manually configured servers
41
- */
42
- private connectManualServers;
43
- /**
44
- * Enable or disable auto-discovery
45
- */
46
- setAutoDiscovery(enabled: boolean): void;
47
- /**
48
- * Refresh discovery
49
- */
50
- refresh(options?: DiscoveryOptions): Promise<void>;
51
- /**
52
- * Get total server count
53
- */
54
- getTotalServerCount(): number;
55
- /**
56
- * Get available server count
57
- */
58
- getAvailableServerCount(): number;
59
- /**
60
- * Get auto-discovered servers
61
- */
62
- getAutoDiscoveredServers(): DiscoveredMCP[];
63
- /**
64
- * Get manual servers
65
- */
66
- getManualServers(): Map<string, MCPServerConfig>;
67
- /**
68
- * List all tools from all registered plugins
69
- */
70
- listAllTools(): Promise<ToolInfo[]>;
71
- /**
72
- * Execute a tool through the registry with fallback to direct MCP execution
73
- */
74
- executeTool<T = unknown>(toolName: string, args?: unknown, context?: ExecutionContext): Promise<T>;
75
- /**
76
- * Execute tool via direct MCP server connection (fallback)
77
- */
78
- private executeToolViaMCPServer;
79
- /**
80
- * Lazily activate a server by ID
81
- */
82
- lazyActivateServer(serverId: string): Promise<boolean>;
83
- /**
84
- * Register a manual server
85
- */
86
- registerManualServer(id: string, server: MCPServerConfig): void;
87
- /**
88
- * Get registry statistics (override parent method)
89
- */
90
- getStats(): {
91
- totalServers: number;
92
- totalTools: number;
93
- serversByCategory: Record<string, number>;
94
- toolsByCategory: Record<string, number>;
95
- executionStats: Record<string, {
96
- count: number;
97
- averageTime: number;
98
- totalTime: number;
99
- }>;
100
- };
101
- /**
102
- * Get detailed registry statistics
103
- */
104
- getDetailedStats(): Promise<{
105
- total: number;
106
- bySource: Record<string, number>;
107
- byType: Record<string, number>;
108
- manual?: {
109
- servers: number;
110
- };
111
- auto?: {
112
- servers: number;
113
- };
114
- tools?: number;
115
- }>;
116
- /**
117
- * Add external MCP server programmatically
118
- *
119
- * @param serverId - Unique server identifier
120
- * @param config - Server configuration (stdio, sse, or http)
121
- */
122
- addExternalServer(serverId: string, config: {
123
- type: "stdio" | "sse" | "http";
124
- command?: string;
125
- args?: string[];
126
- env?: Record<string, string>;
127
- cwd?: string;
128
- url?: string;
129
- headers?: Record<string, string>;
130
- timeout?: number;
131
- }): Promise<void>;
132
- /**
133
- * Get active connection for a server
134
- */
135
- getConnection(serverId: string): Client | undefined;
136
- /**
137
- * Check if server is actively connected
138
- */
139
- isConnected(serverId: string): boolean;
140
- /**
141
- * Clear all registries and active connections (synchronous, preserves base API contract)
142
- */
143
- /**
144
- * Clear registries without closing connections (internal use)
145
- */
146
- private clearRegistriesOnly;
147
- /**
148
- * Clear all registries and initiate async connection cleanup
149
- */
150
- clear(): void;
151
- /**
152
- * Clear all registries and close active connections asynchronously
153
- */
154
- clearAsync(): Promise<void>;
155
- /**
156
- * Convert unknown arguments to JsonValue for CLI compatibility
157
- * Attempts to serialize complex types to JSON-safe format
158
- */
159
- private toJsonValue;
160
- }
161
- /**
162
- * Default unified registry instance
163
- */
164
- export declare const unifiedRegistry: UnifiedMCPRegistry;
165
- export {};