@juspay/neurolink 6.1.0 → 6.2.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.
Files changed (303) hide show
  1. package/CHANGELOG.md +16 -6
  2. package/dist/agent/direct-tools.js +6 -5
  3. package/dist/cli/commands/config.d.ts +13 -13
  4. package/dist/cli/index.js +3 -9
  5. package/dist/config/configManager.js +11 -10
  6. package/dist/core/analytics.d.ts +11 -1
  7. package/dist/core/analytics.js +2 -2
  8. package/dist/core/base-provider.js +4 -18
  9. package/dist/core/dynamic-models.d.ts +8 -8
  10. package/dist/core/factory.js +3 -11
  11. package/dist/index.d.ts +2 -4
  12. package/dist/index.js +2 -11
  13. package/dist/lib/agent/direct-tools.js +6 -5
  14. package/dist/lib/config/configManager.js +11 -10
  15. package/dist/lib/core/analytics.d.ts +11 -1
  16. package/dist/lib/core/analytics.js +2 -2
  17. package/dist/lib/core/base-provider.js +4 -18
  18. package/dist/lib/core/dynamic-models.d.ts +8 -8
  19. package/dist/lib/core/factory.js +3 -11
  20. package/dist/lib/index.d.ts +2 -4
  21. package/dist/lib/index.js +2 -11
  22. package/dist/lib/mcp/factory.d.ts +1 -1
  23. package/dist/lib/mcp/index.d.ts +9 -21
  24. package/dist/lib/mcp/index.js +16 -57
  25. package/dist/lib/mcp/registry.js +1 -1
  26. package/dist/lib/mcp/servers/ai-providers/ai-analysis-tools.js +2 -1
  27. package/dist/lib/mcp/tool-registry.js +1 -1
  28. package/dist/lib/neurolink.d.ts +1 -9
  29. package/dist/lib/neurolink.js +22 -71
  30. package/dist/lib/providers/amazon-bedrock.js +5 -16
  31. package/dist/lib/providers/anthropic-baseprovider.js +3 -21
  32. package/dist/lib/providers/anthropic.js +4 -7
  33. package/dist/lib/providers/azure-openai.js +6 -3
  34. package/dist/lib/providers/google-vertex.js +5 -9
  35. package/dist/lib/providers/huggingFace.js +5 -10
  36. package/dist/lib/providers/mistral.js +5 -8
  37. package/dist/lib/providers/openAI.js +4 -7
  38. package/dist/lib/telemetry/index.js +2 -1
  39. package/dist/lib/utils/logger.d.ts +62 -2
  40. package/dist/lib/utils/logger.js +174 -9
  41. package/dist/lib/utils/providerConfig.d.ts +117 -0
  42. package/dist/lib/utils/providerConfig.js +353 -0
  43. package/dist/lib/utils/providerUtils.d.ts +2 -1
  44. package/dist/lib/utils/providerUtils.js +53 -36
  45. package/dist/lib/utils/timeout.d.ts +72 -1
  46. package/dist/lib/utils/timeout.js +203 -2
  47. package/dist/mcp/factory.d.ts +1 -1
  48. package/dist/mcp/index.d.ts +9 -21
  49. package/dist/mcp/index.js +16 -57
  50. package/dist/mcp/registry.js +1 -1
  51. package/dist/mcp/servers/ai-providers/ai-analysis-tools.js +2 -1
  52. package/dist/mcp/tool-registry.js +1 -1
  53. package/dist/neurolink.d.ts +1 -9
  54. package/dist/neurolink.js +22 -71
  55. package/dist/providers/amazon-bedrock.js +5 -16
  56. package/dist/providers/anthropic-baseprovider.js +3 -21
  57. package/dist/providers/anthropic.js +4 -7
  58. package/dist/providers/azure-openai.js +6 -3
  59. package/dist/providers/google-vertex.js +5 -9
  60. package/dist/providers/huggingFace.js +5 -10
  61. package/dist/providers/mistral.js +5 -8
  62. package/dist/providers/openAI.js +4 -7
  63. package/dist/telemetry/index.js +2 -1
  64. package/dist/utils/logger.d.ts +62 -2
  65. package/dist/utils/logger.js +174 -9
  66. package/dist/utils/providerConfig.d.ts +117 -0
  67. package/dist/utils/providerConfig.js +353 -0
  68. package/dist/utils/providerUtils.d.ts +2 -1
  69. package/dist/utils/providerUtils.js +53 -36
  70. package/dist/utils/timeout.d.ts +72 -1
  71. package/dist/utils/timeout.js +203 -2
  72. package/package.json +1 -1
  73. package/dist/chat/client-utils.d.ts +0 -95
  74. package/dist/chat/client-utils.js +0 -315
  75. package/dist/chat/index.d.ts +0 -24
  76. package/dist/chat/index.js +0 -33
  77. package/dist/chat/session-storage.d.ts +0 -77
  78. package/dist/chat/session-storage.js +0 -233
  79. package/dist/chat/session.d.ts +0 -96
  80. package/dist/chat/session.js +0 -257
  81. package/dist/chat/sse-handler.d.ts +0 -49
  82. package/dist/chat/sse-handler.js +0 -259
  83. package/dist/chat/types.d.ts +0 -74
  84. package/dist/chat/types.js +0 -5
  85. package/dist/chat/websocket-chat-handler.d.ts +0 -37
  86. package/dist/chat/websocket-chat-handler.js +0 -262
  87. package/dist/cli/commands/mcp.d.ts +0 -20
  88. package/dist/cli/commands/mcp.js +0 -1272
  89. package/dist/core/defaults.d.ts +0 -19
  90. package/dist/core/defaults.js +0 -29
  91. package/dist/core/evaluation-config.d.ts +0 -29
  92. package/dist/core/evaluation-config.js +0 -144
  93. package/dist/factories/compatibility-factory.d.ts +0 -35
  94. package/dist/factories/compatibility-factory.js +0 -71
  95. package/dist/factories/provider-generate-factory.d.ts +0 -20
  96. package/dist/factories/provider-generate-factory.js +0 -93
  97. package/dist/lib/chat/client-utils.d.ts +0 -95
  98. package/dist/lib/chat/client-utils.js +0 -315
  99. package/dist/lib/chat/index.d.ts +0 -24
  100. package/dist/lib/chat/index.js +0 -33
  101. package/dist/lib/chat/session-storage.d.ts +0 -77
  102. package/dist/lib/chat/session-storage.js +0 -233
  103. package/dist/lib/chat/session.d.ts +0 -96
  104. package/dist/lib/chat/session.js +0 -257
  105. package/dist/lib/chat/sse-handler.d.ts +0 -49
  106. package/dist/lib/chat/sse-handler.js +0 -259
  107. package/dist/lib/chat/types.d.ts +0 -74
  108. package/dist/lib/chat/types.js +0 -5
  109. package/dist/lib/chat/websocket-chat-handler.d.ts +0 -37
  110. package/dist/lib/chat/websocket-chat-handler.js +0 -262
  111. package/dist/lib/core/defaults.d.ts +0 -19
  112. package/dist/lib/core/defaults.js +0 -29
  113. package/dist/lib/core/evaluation-config.d.ts +0 -29
  114. package/dist/lib/core/evaluation-config.js +0 -144
  115. package/dist/lib/factories/compatibility-factory.d.ts +0 -35
  116. package/dist/lib/factories/compatibility-factory.js +0 -71
  117. package/dist/lib/factories/provider-generate-factory.d.ts +0 -20
  118. package/dist/lib/factories/provider-generate-factory.js +0 -93
  119. package/dist/lib/mcp/adapters/plugin-bridge.d.ts +0 -40
  120. package/dist/lib/mcp/adapters/plugin-bridge.js +0 -89
  121. package/dist/lib/mcp/auto-discovery.d.ts +0 -62
  122. package/dist/lib/mcp/auto-discovery.js +0 -149
  123. package/dist/lib/mcp/client.d.ts +0 -68
  124. package/dist/lib/mcp/client.js +0 -248
  125. package/dist/lib/mcp/config.d.ts +0 -31
  126. package/dist/lib/mcp/config.js +0 -99
  127. package/dist/lib/mcp/context-manager.d.ts +0 -171
  128. package/dist/lib/mcp/context-manager.js +0 -362
  129. package/dist/lib/mcp/contracts/mcp-contract.d.ts +0 -169
  130. package/dist/lib/mcp/contracts/mcp-contract.js +0 -58
  131. package/dist/lib/mcp/core/plugin-manager.d.ts +0 -46
  132. package/dist/lib/mcp/core/plugin-manager.js +0 -110
  133. package/dist/lib/mcp/demo/plugin-demo.d.ts +0 -20
  134. package/dist/lib/mcp/demo/plugin-demo.js +0 -118
  135. package/dist/lib/mcp/dynamic-chain-executor.d.ts +0 -225
  136. package/dist/lib/mcp/dynamic-chain-executor.js +0 -489
  137. package/dist/lib/mcp/dynamic-orchestrator.d.ts +0 -115
  138. package/dist/lib/mcp/dynamic-orchestrator.js +0 -351
  139. package/dist/lib/mcp/ecosystem.d.ts +0 -75
  140. package/dist/lib/mcp/ecosystem.js +0 -161
  141. package/dist/lib/mcp/error-manager.d.ts +0 -254
  142. package/dist/lib/mcp/error-manager.js +0 -501
  143. package/dist/lib/mcp/error-recovery.d.ts +0 -159
  144. package/dist/lib/mcp/error-recovery.js +0 -405
  145. package/dist/lib/mcp/external-client.d.ts +0 -88
  146. package/dist/lib/mcp/external-client.js +0 -331
  147. package/dist/lib/mcp/external-manager.d.ts +0 -112
  148. package/dist/lib/mcp/external-manager.js +0 -308
  149. package/dist/lib/mcp/function-calling.d.ts +0 -65
  150. package/dist/lib/mcp/function-calling.js +0 -642
  151. package/dist/lib/mcp/health-monitor.d.ts +0 -257
  152. package/dist/lib/mcp/health-monitor.js +0 -630
  153. package/dist/lib/mcp/initialize-tools.d.ts +0 -29
  154. package/dist/lib/mcp/initialize-tools.js +0 -261
  155. package/dist/lib/mcp/initialize.d.ts +0 -18
  156. package/dist/lib/mcp/initialize.js +0 -62
  157. package/dist/lib/mcp/logging.d.ts +0 -38
  158. package/dist/lib/mcp/logging.js +0 -100
  159. package/dist/lib/mcp/manager.d.ts +0 -68
  160. package/dist/lib/mcp/manager.js +0 -176
  161. package/dist/lib/mcp/neurolink-mcp-client.d.ts +0 -97
  162. package/dist/lib/mcp/neurolink-mcp-client.js +0 -462
  163. package/dist/lib/mcp/orchestrator.d.ts +0 -302
  164. package/dist/lib/mcp/orchestrator.js +0 -703
  165. package/dist/lib/mcp/plugin-manager.d.ts +0 -98
  166. package/dist/lib/mcp/plugin-manager.js +0 -296
  167. package/dist/lib/mcp/plugins/core/filesystem-mcp.d.ts +0 -36
  168. package/dist/lib/mcp/plugins/core/filesystem-mcp.js +0 -142
  169. package/dist/lib/mcp/plugins/filesystem-mcp.d.ts +0 -37
  170. package/dist/lib/mcp/plugins/filesystem-mcp.js +0 -54
  171. package/dist/lib/mcp/security-manager.d.ts +0 -87
  172. package/dist/lib/mcp/security-manager.js +0 -344
  173. package/dist/lib/mcp/semaphore-manager.d.ts +0 -137
  174. package/dist/lib/mcp/semaphore-manager.js +0 -329
  175. package/dist/lib/mcp/session-manager.d.ts +0 -187
  176. package/dist/lib/mcp/session-manager.js +0 -400
  177. package/dist/lib/mcp/session-persistence.d.ts +0 -93
  178. package/dist/lib/mcp/session-persistence.js +0 -301
  179. package/dist/lib/mcp/tool-integration.d.ts +0 -58
  180. package/dist/lib/mcp/tool-integration.js +0 -203
  181. package/dist/lib/mcp/transport-manager.d.ts +0 -154
  182. package/dist/lib/mcp/transport-manager.js +0 -334
  183. package/dist/lib/mcp/unified-mcp.d.ts +0 -133
  184. package/dist/lib/mcp/unified-mcp.js +0 -251
  185. package/dist/lib/mcp/unified-registry.d.ts +0 -165
  186. package/dist/lib/mcp/unified-registry.js +0 -538
  187. package/dist/lib/providers/analytics-helper.d.ts +0 -38
  188. package/dist/lib/providers/analytics-helper.js +0 -216
  189. package/dist/lib/providers/function-calling-provider.d.ts +0 -142
  190. package/dist/lib/providers/function-calling-provider.js +0 -630
  191. package/dist/lib/providers/mcp-provider.d.ts +0 -75
  192. package/dist/lib/providers/mcp-provider.js +0 -283
  193. package/dist/lib/providers/timeout-wrapper.d.ts +0 -40
  194. package/dist/lib/providers/timeout-wrapper.js +0 -100
  195. package/dist/lib/sdk/tool-extension.d.ts +0 -181
  196. package/dist/lib/sdk/tool-extension.js +0 -284
  197. package/dist/lib/services/streaming/streaming-manager.d.ts +0 -29
  198. package/dist/lib/services/streaming/streaming-manager.js +0 -245
  199. package/dist/lib/services/types.d.ts +0 -156
  200. package/dist/lib/services/types.js +0 -2
  201. package/dist/lib/services/websocket/websocket-server.d.ts +0 -34
  202. package/dist/lib/services/websocket/websocket-server.js +0 -305
  203. package/dist/lib/utils/provider-validation.d.ts +0 -36
  204. package/dist/lib/utils/provider-validation.js +0 -625
  205. package/dist/lib/utils/providerUtils-fixed.d.ts +0 -8
  206. package/dist/lib/utils/providerUtils-fixed.js +0 -94
  207. package/dist/lib/utils/streaming-utils.d.ts +0 -79
  208. package/dist/lib/utils/streaming-utils.js +0 -198
  209. package/dist/lib/utils/timeout-manager.d.ts +0 -75
  210. package/dist/lib/utils/timeout-manager.js +0 -244
  211. package/dist/mcp/adapters/plugin-bridge.d.ts +0 -40
  212. package/dist/mcp/adapters/plugin-bridge.js +0 -89
  213. package/dist/mcp/auto-discovery.d.ts +0 -62
  214. package/dist/mcp/auto-discovery.js +0 -149
  215. package/dist/mcp/client.d.ts +0 -68
  216. package/dist/mcp/client.js +0 -248
  217. package/dist/mcp/config.d.ts +0 -31
  218. package/dist/mcp/config.js +0 -99
  219. package/dist/mcp/context-manager.d.ts +0 -171
  220. package/dist/mcp/context-manager.js +0 -362
  221. package/dist/mcp/contracts/mcp-contract.d.ts +0 -169
  222. package/dist/mcp/contracts/mcp-contract.js +0 -58
  223. package/dist/mcp/core/plugin-manager.d.ts +0 -46
  224. package/dist/mcp/core/plugin-manager.js +0 -110
  225. package/dist/mcp/demo/plugin-demo.d.ts +0 -20
  226. package/dist/mcp/demo/plugin-demo.js +0 -118
  227. package/dist/mcp/dynamic-chain-executor.d.ts +0 -225
  228. package/dist/mcp/dynamic-chain-executor.js +0 -489
  229. package/dist/mcp/dynamic-orchestrator.d.ts +0 -115
  230. package/dist/mcp/dynamic-orchestrator.js +0 -351
  231. package/dist/mcp/ecosystem.d.ts +0 -75
  232. package/dist/mcp/ecosystem.js +0 -162
  233. package/dist/mcp/error-manager.d.ts +0 -254
  234. package/dist/mcp/error-manager.js +0 -501
  235. package/dist/mcp/error-recovery.d.ts +0 -159
  236. package/dist/mcp/error-recovery.js +0 -405
  237. package/dist/mcp/external-client.d.ts +0 -88
  238. package/dist/mcp/external-client.js +0 -331
  239. package/dist/mcp/external-manager.d.ts +0 -112
  240. package/dist/mcp/external-manager.js +0 -308
  241. package/dist/mcp/function-calling.d.ts +0 -65
  242. package/dist/mcp/function-calling.js +0 -642
  243. package/dist/mcp/health-monitor.d.ts +0 -257
  244. package/dist/mcp/health-monitor.js +0 -630
  245. package/dist/mcp/initialize-tools.d.ts +0 -29
  246. package/dist/mcp/initialize-tools.js +0 -262
  247. package/dist/mcp/initialize.d.ts +0 -18
  248. package/dist/mcp/initialize.js +0 -62
  249. package/dist/mcp/logging.d.ts +0 -38
  250. package/dist/mcp/logging.js +0 -100
  251. package/dist/mcp/manager.d.ts +0 -68
  252. package/dist/mcp/manager.js +0 -176
  253. package/dist/mcp/neurolink-mcp-client.d.ts +0 -97
  254. package/dist/mcp/neurolink-mcp-client.js +0 -462
  255. package/dist/mcp/orchestrator.d.ts +0 -302
  256. package/dist/mcp/orchestrator.js +0 -703
  257. package/dist/mcp/plugin-manager.d.ts +0 -98
  258. package/dist/mcp/plugin-manager.js +0 -297
  259. package/dist/mcp/plugins/core/filesystem-mcp.d.ts +0 -36
  260. package/dist/mcp/plugins/core/filesystem-mcp.js +0 -142
  261. package/dist/mcp/plugins/core/neurolink-mcp.json +0 -17
  262. package/dist/mcp/plugins/filesystem-mcp.d.ts +0 -37
  263. package/dist/mcp/plugins/filesystem-mcp.js +0 -54
  264. package/dist/mcp/security-manager.d.ts +0 -87
  265. package/dist/mcp/security-manager.js +0 -344
  266. package/dist/mcp/semaphore-manager.d.ts +0 -137
  267. package/dist/mcp/semaphore-manager.js +0 -329
  268. package/dist/mcp/session-manager.d.ts +0 -187
  269. package/dist/mcp/session-manager.js +0 -400
  270. package/dist/mcp/session-persistence.d.ts +0 -93
  271. package/dist/mcp/session-persistence.js +0 -302
  272. package/dist/mcp/tool-integration.d.ts +0 -58
  273. package/dist/mcp/tool-integration.js +0 -203
  274. package/dist/mcp/transport-manager.d.ts +0 -154
  275. package/dist/mcp/transport-manager.js +0 -335
  276. package/dist/mcp/unified-mcp.d.ts +0 -133
  277. package/dist/mcp/unified-mcp.js +0 -251
  278. package/dist/mcp/unified-registry.d.ts +0 -165
  279. package/dist/mcp/unified-registry.js +0 -539
  280. package/dist/providers/analytics-helper.d.ts +0 -38
  281. package/dist/providers/analytics-helper.js +0 -216
  282. package/dist/providers/function-calling-provider.d.ts +0 -142
  283. package/dist/providers/function-calling-provider.js +0 -630
  284. package/dist/providers/mcp-provider.d.ts +0 -75
  285. package/dist/providers/mcp-provider.js +0 -283
  286. package/dist/providers/timeout-wrapper.d.ts +0 -40
  287. package/dist/providers/timeout-wrapper.js +0 -100
  288. package/dist/sdk/tool-extension.d.ts +0 -181
  289. package/dist/sdk/tool-extension.js +0 -284
  290. package/dist/services/streaming/streaming-manager.d.ts +0 -29
  291. package/dist/services/streaming/streaming-manager.js +0 -245
  292. package/dist/services/types.d.ts +0 -156
  293. package/dist/services/types.js +0 -2
  294. package/dist/services/websocket/websocket-server.d.ts +0 -34
  295. package/dist/services/websocket/websocket-server.js +0 -306
  296. package/dist/utils/provider-validation.d.ts +0 -36
  297. package/dist/utils/provider-validation.js +0 -625
  298. package/dist/utils/providerUtils-fixed.d.ts +0 -8
  299. package/dist/utils/providerUtils-fixed.js +0 -94
  300. package/dist/utils/streaming-utils.d.ts +0 -79
  301. package/dist/utils/streaming-utils.js +0 -198
  302. package/dist/utils/timeout-manager.d.ts +0 -75
  303. 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 {};