@1mcp/agent 0.23.2 → 0.24.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/commands/mcp/tokens.d.ts.map +1 -1
- package/build/commands/mcp/tokens.js +4 -2
- package/build/commands/mcp/tokens.js.map +1 -1
- package/build/commands/mcp/utils/configUtils.d.ts.map +1 -1
- package/build/commands/mcp/utils/configUtils.js +12 -1
- package/build/commands/mcp/utils/configUtils.js.map +1 -1
- package/build/commands/proxy/index.d.ts +20 -0
- package/build/commands/proxy/index.d.ts.map +1 -0
- package/build/commands/proxy/index.js +87 -0
- package/build/commands/proxy/index.js.map +1 -0
- package/build/commands/proxy/proxy.d.ts +6 -0
- package/build/commands/proxy/proxy.d.ts.map +1 -0
- package/build/commands/proxy/proxy.js +84 -0
- package/build/commands/proxy/proxy.js.map +1 -0
- package/build/commands/serve/serve.d.ts.map +1 -1
- package/build/commands/serve/serve.js +33 -1
- package/build/commands/serve/serve.js.map +1 -1
- package/build/constants.d.ts +1 -1
- package/build/constants.js +1 -1
- package/build/core/client/clientManager.d.ts +17 -0
- package/build/core/client/clientManager.d.ts.map +1 -1
- package/build/core/client/clientManager.js +120 -3
- package/build/core/client/clientManager.js.map +1 -1
- package/build/core/instructions/templateTypes.d.ts +1 -1
- package/build/core/instructions/templateTypes.d.ts.map +1 -1
- package/build/core/instructions/templateTypes.js +4 -2
- package/build/core/instructions/templateTypes.js.map +1 -1
- package/build/core/loading/loadingStateTracker.d.ts +16 -8
- package/build/core/loading/loadingStateTracker.d.ts.map +1 -1
- package/build/core/loading/loadingStateTracker.js +20 -8
- package/build/core/loading/loadingStateTracker.js.map +1 -1
- package/build/core/loading/mcpLoadingManager.d.ts +19 -9
- package/build/core/loading/mcpLoadingManager.d.ts.map +1 -1
- package/build/core/loading/mcpLoadingManager.js +27 -13
- package/build/core/loading/mcpLoadingManager.js.map +1 -1
- package/build/core/types/transport.d.ts +32 -0
- package/build/core/types/transport.d.ts.map +1 -1
- package/build/core/types/transport.js +3 -1
- package/build/core/types/transport.js.map +1 -1
- package/build/handlers/requestHandlers.js +8 -8
- package/build/handlers/requestHandlers.js.map +1 -1
- package/build/index.js +16 -2
- package/build/index.js.map +1 -1
- package/build/transport/http/routes/oauthRoutes.d.ts.map +1 -1
- package/build/transport/http/routes/oauthRoutes.js +5 -21
- package/build/transport/http/routes/oauthRoutes.js.map +1 -1
- package/build/transport/stdioProxyTransport.d.ts +39 -0
- package/build/transport/stdioProxyTransport.d.ts.map +1 -0
- package/build/transport/stdioProxyTransport.js +138 -0
- package/build/transport/stdioProxyTransport.js.map +1 -0
- package/build/transport/transportFactory.d.ts.map +1 -1
- package/build/transport/transportFactory.js +15 -2
- package/build/transport/transportFactory.js.map +1 -1
- package/build/utils/appDiscovery.js +1 -1
- package/build/utils/appDiscovery.js.map +1 -1
- package/build/utils/pagination.d.ts.map +1 -1
- package/build/utils/pagination.js +6 -4
- package/build/utils/pagination.js.map +1 -1
- package/build/utils/pidFileManager.d.ts +45 -0
- package/build/utils/pidFileManager.d.ts.map +1 -0
- package/build/utils/pidFileManager.js +120 -0
- package/build/utils/pidFileManager.js.map +1 -0
- package/build/utils/projectConfigLoader.d.ts +25 -0
- package/build/utils/projectConfigLoader.d.ts.map +1 -0
- package/build/utils/projectConfigLoader.js +74 -0
- package/build/utils/projectConfigLoader.js.map +1 -0
- package/build/utils/projectConfigTypes.d.ts +28 -0
- package/build/utils/projectConfigTypes.d.ts.map +1 -0
- package/build/utils/projectConfigTypes.js +22 -0
- package/build/utils/projectConfigTypes.js.map +1 -0
- package/build/utils/urlDetection.d.ts +14 -2
- package/build/utils/urlDetection.d.ts.map +1 -1
- package/build/utils/urlDetection.js +51 -4
- package/build/utils/urlDetection.js.map +1 -1
- package/package.json +2 -1
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { Client } from '@modelcontextprotocol/sdk/client/index.js';
|
|
2
2
|
import { UnauthorizedError } from '@modelcontextprotocol/sdk/client/auth.js';
|
|
3
|
+
import { StreamableHTTPClientTransport } from '@modelcontextprotocol/sdk/client/streamableHttp.js';
|
|
4
|
+
import { SSEClientTransport } from '@modelcontextprotocol/sdk/client/sse.js';
|
|
3
5
|
import logger, { debugIf } from '../../logger/logger.js';
|
|
4
6
|
import { CONNECTION_RETRY, MCP_SERVER_NAME, MCP_SERVER_VERSION, MCP_CLIENT_CAPABILITIES } from '../../constants.js';
|
|
5
7
|
import { ClientConnectionError, ClientNotFoundError, CapabilityError } from '../../utils/errorTypes.js';
|
|
@@ -166,18 +168,24 @@ export class ClientManager {
|
|
|
166
168
|
* @param client The client to connect
|
|
167
169
|
* @param transport The transport to connect to
|
|
168
170
|
* @param name The name of the client for logging
|
|
171
|
+
* @param abortSignal Optional abort signal to cancel the operation
|
|
169
172
|
* @returns The connected client (may be a new instance after retries)
|
|
170
173
|
*/
|
|
171
174
|
async connectWithRetry(client, transport, name, abortSignal) {
|
|
172
175
|
let retryDelay = CONNECTION_RETRY.INITIAL_DELAY_MS;
|
|
173
176
|
let currentClient = client;
|
|
177
|
+
let currentTransport = transport;
|
|
174
178
|
for (let i = 0; i < CONNECTION_RETRY.MAX_ATTEMPTS; i++) {
|
|
175
179
|
try {
|
|
176
180
|
// Check if operation was aborted before each attempt
|
|
177
181
|
if (abortSignal?.aborted) {
|
|
178
182
|
throw new Error(`Connection aborted: ${abortSignal.reason || 'Request cancelled'}`);
|
|
179
183
|
}
|
|
180
|
-
|
|
184
|
+
// Connect with timeout from transport config
|
|
185
|
+
// Priority: connectionTimeout > timeout (deprecated fallback)
|
|
186
|
+
const authTransport = currentTransport;
|
|
187
|
+
const timeout = authTransport.connectionTimeout ?? authTransport.timeout;
|
|
188
|
+
await currentClient.connect(currentTransport, timeout ? { timeout } : undefined);
|
|
181
189
|
const sv = await currentClient.getServerVersion();
|
|
182
190
|
if (sv?.name === MCP_SERVER_NAME) {
|
|
183
191
|
throw new ClientConnectionError(name, new Error('Aborted to prevent circular dependency'));
|
|
@@ -199,6 +207,13 @@ export class ClientManager {
|
|
|
199
207
|
logger.error(`Failed to connect to ${name}: ${errorMessage}`);
|
|
200
208
|
if (i < CONNECTION_RETRY.MAX_ATTEMPTS - 1) {
|
|
201
209
|
logger.info(`Retrying in ${retryDelay}ms...`);
|
|
210
|
+
// Clean up failed transport
|
|
211
|
+
try {
|
|
212
|
+
await currentTransport.close();
|
|
213
|
+
}
|
|
214
|
+
catch (closeError) {
|
|
215
|
+
debugIf(() => ({ message: `Error closing transport during retry: ${closeError}` }));
|
|
216
|
+
}
|
|
202
217
|
// Implement cancellable delay
|
|
203
218
|
await new Promise((resolve, reject) => {
|
|
204
219
|
const timeoutId = setTimeout(resolve, retryDelay);
|
|
@@ -217,8 +232,17 @@ export class ClientManager {
|
|
|
217
232
|
}
|
|
218
233
|
});
|
|
219
234
|
retryDelay *= 2; // Exponential backoff
|
|
220
|
-
//
|
|
221
|
-
|
|
235
|
+
// For HTTP/SSE transports, we need to recreate both client and transport
|
|
236
|
+
// because these transports cannot be restarted once started
|
|
237
|
+
if (currentTransport instanceof StreamableHTTPClientTransport ||
|
|
238
|
+
currentTransport instanceof SSEClientTransport) {
|
|
239
|
+
currentTransport = this.recreateHttpTransport(currentTransport);
|
|
240
|
+
currentClient = this.createClient();
|
|
241
|
+
}
|
|
242
|
+
else {
|
|
243
|
+
// For STDIO transports, we can reuse the transport but need a new client
|
|
244
|
+
currentClient = this.createClient();
|
|
245
|
+
}
|
|
222
246
|
}
|
|
223
247
|
else {
|
|
224
248
|
throw new ClientConnectionError(name, error instanceof Error ? error : new Error(String(error)));
|
|
@@ -384,6 +408,99 @@ export class ClientManager {
|
|
|
384
408
|
getTransportNames() {
|
|
385
409
|
return Object.keys(this.transports);
|
|
386
410
|
}
|
|
411
|
+
/**
|
|
412
|
+
* Recreates an HTTP or SSE transport with the same configuration
|
|
413
|
+
* This is necessary because HTTP transports cannot be restarted once started
|
|
414
|
+
* @param transport The original transport to recreate
|
|
415
|
+
* @returns A new transport instance with the same configuration
|
|
416
|
+
*/
|
|
417
|
+
recreateHttpTransport(transport) {
|
|
418
|
+
// Type guard for HTTP-based transports
|
|
419
|
+
if (!(transport instanceof StreamableHTTPClientTransport) && !(transport instanceof SSEClientTransport)) {
|
|
420
|
+
throw new Error('Transport recreation only supported for HTTP and SSE transports');
|
|
421
|
+
}
|
|
422
|
+
const transportUrl = transport._url;
|
|
423
|
+
// Get OAuth provider from AuthProviderTransport
|
|
424
|
+
const authTransport = transport;
|
|
425
|
+
const oauthProvider = authTransport.oauthProvider;
|
|
426
|
+
// Create new transport based on original type
|
|
427
|
+
let newTransport;
|
|
428
|
+
if (transport instanceof StreamableHTTPClientTransport) {
|
|
429
|
+
const httpTransport = new StreamableHTTPClientTransport(transportUrl, {
|
|
430
|
+
authProvider: oauthProvider,
|
|
431
|
+
});
|
|
432
|
+
newTransport = httpTransport;
|
|
433
|
+
}
|
|
434
|
+
else {
|
|
435
|
+
const sseTransport = new SSEClientTransport(transportUrl, {
|
|
436
|
+
authProvider: oauthProvider,
|
|
437
|
+
});
|
|
438
|
+
newTransport = sseTransport;
|
|
439
|
+
}
|
|
440
|
+
// Copy transport properties from AuthProviderTransport
|
|
441
|
+
newTransport.oauthProvider = oauthProvider;
|
|
442
|
+
newTransport.connectionTimeout = authTransport.connectionTimeout;
|
|
443
|
+
newTransport.requestTimeout = authTransport.requestTimeout;
|
|
444
|
+
newTransport.timeout = authTransport.timeout; // Keep for backward compatibility
|
|
445
|
+
newTransport.tags = authTransport.tags;
|
|
446
|
+
return newTransport;
|
|
447
|
+
}
|
|
448
|
+
/**
|
|
449
|
+
* Complete OAuth flow and reconnect client with fresh transport
|
|
450
|
+
* This recreates both transport and client since HTTP transports cannot be restarted
|
|
451
|
+
* @param serverName The name of the server to reconnect
|
|
452
|
+
* @param authorizationCode The OAuth authorization code from the callback
|
|
453
|
+
* @throws ClientNotFoundError if the client is not found
|
|
454
|
+
* @throws Error if transport does not support OAuth or reconnection fails
|
|
455
|
+
*/
|
|
456
|
+
async completeOAuthAndReconnect(serverName, authorizationCode) {
|
|
457
|
+
const clientInfo = this.outboundConns.get(serverName);
|
|
458
|
+
if (!clientInfo) {
|
|
459
|
+
throw new ClientNotFoundError(serverName);
|
|
460
|
+
}
|
|
461
|
+
// Type guard for OAuth-capable transports
|
|
462
|
+
const transport = clientInfo.transport;
|
|
463
|
+
if (!(transport instanceof StreamableHTTPClientTransport) && !(transport instanceof SSEClientTransport)) {
|
|
464
|
+
throw new Error(`Transport for ${serverName} does not support OAuth (requires HTTP or SSE transport)`);
|
|
465
|
+
}
|
|
466
|
+
logger.info(`Completing OAuth and reconnecting ${serverName}...`);
|
|
467
|
+
try {
|
|
468
|
+
// 1. Complete OAuth flow
|
|
469
|
+
await transport.finishAuth(authorizationCode);
|
|
470
|
+
// 2. Close old transport
|
|
471
|
+
await transport.close();
|
|
472
|
+
// 3. Create new transport using helper
|
|
473
|
+
const newTransport = this.recreateHttpTransport(transport);
|
|
474
|
+
// 4. Create and connect new client with timeout
|
|
475
|
+
// Priority: connectionTimeout > timeout (deprecated fallback)
|
|
476
|
+
const newClient = this.createClient();
|
|
477
|
+
const timeout = newTransport.connectionTimeout ?? newTransport.timeout;
|
|
478
|
+
await newClient.connect(newTransport, timeout ? { timeout } : undefined);
|
|
479
|
+
// 5. Discover capabilities
|
|
480
|
+
const capabilities = newClient.getServerCapabilities();
|
|
481
|
+
// 6. Cache instructions
|
|
482
|
+
this.extractAndCacheInstructions(serverName, newClient);
|
|
483
|
+
// 7. Update connection info (create new object to handle readonly properties)
|
|
484
|
+
const updatedInfo = {
|
|
485
|
+
name: serverName,
|
|
486
|
+
transport: newTransport,
|
|
487
|
+
client: newClient,
|
|
488
|
+
status: ClientStatus.Connected,
|
|
489
|
+
lastConnected: new Date(),
|
|
490
|
+
capabilities,
|
|
491
|
+
instructions: clientInfo.instructions, // Preserve existing instructions if any
|
|
492
|
+
lastError: undefined,
|
|
493
|
+
};
|
|
494
|
+
this.outboundConns.set(serverName, updatedInfo);
|
|
495
|
+
// 8. Update transports map
|
|
496
|
+
this.transports[serverName] = newTransport;
|
|
497
|
+
logger.info(`OAuth reconnection completed successfully for ${serverName}`);
|
|
498
|
+
}
|
|
499
|
+
catch (error) {
|
|
500
|
+
logger.error(`OAuth reconnection failed for ${serverName}:`, error);
|
|
501
|
+
throw error;
|
|
502
|
+
}
|
|
503
|
+
}
|
|
387
504
|
/**
|
|
388
505
|
* Executes a client operation with error handling and retry logic
|
|
389
506
|
* @param clientName The name of the client to use
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clientManager.js","sourceRoot":"","sources":["../../../src/core/client/clientManager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"clientManager.js","sourceRoot":"","sources":["../../../src/core/client/clientManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -85,5 +85,5 @@ export declare const DEFAULT_TEMPLATE_CONFIG: Required<Omit<TemplateConfig, 'cus
|
|
|
85
85
|
* Default instruction template using Handlebars syntax
|
|
86
86
|
* This template is used when no custom template is provided
|
|
87
87
|
*/
|
|
88
|
-
export declare const DEFAULT_INSTRUCTION_TEMPLATE = "# {{title}}\n\n{{#if hasServers}}\nYou are interacting with 1MCP, a proxy server that aggregates capabilities from multiple MCP (Model Context Protocol) servers. 1MCP acts as a unified gateway, allowing you to access tools and resources from various specialized MCP servers through a single connection.\n\n## How 1MCP Works\n\n- **Unified Access**: Connect to multiple MCP servers through one proxy\n- **Tool Aggregation**: All tools are available with the naming pattern `{{toolPattern}}`\n- **Resource Sharing**: Access files, data, and capabilities across different servers\n- **Intelligent Routing**: Your requests are automatically routed to the appropriate servers\n\n## Currently Connected Servers\n\n{{
|
|
88
|
+
export declare const DEFAULT_INSTRUCTION_TEMPLATE = "# {{title}}\n\n{{#if hasServers}}\nYou are interacting with 1MCP, a proxy server that aggregates capabilities from multiple MCP (Model Context Protocol) servers. 1MCP acts as a unified gateway, allowing you to access tools and resources from various specialized MCP servers through a single connection.\n\n## How 1MCP Works\n\n- **Unified Access**: Connect to multiple MCP servers through one proxy\n- **Tool Aggregation**: All tools are available with the naming pattern `{{toolPattern}}`\n- **Resource Sharing**: Access files, data, and capabilities across different servers\n- **Intelligent Routing**: Your requests are automatically routed to the appropriate servers\n\n## Currently Connected Servers\n\n{{connectedServerCount}} MCP {{connectedPluralServers}} {{connectedIsAre}} currently available{{filterContext}}:\n\n{{#each servers}}\n{{name}}\n{{/each}}\n\n{{#if hasInstructionalServers}}\n## Available Capabilities\n\nAll tools from connected servers are accessible using the format: `{{toolPattern}}`\n\nExamples:\n{{#each examples}}\n- `{{name}}` - {{description}}\n{{/each}}\n\n## Server-Specific Instructions\n\nThe following sections contain instructions from each connected MCP server. Each server's instructions are wrapped in XML-like tags (e.g., `<server-name>instructions</server-name>`) to clearly identify their source and scope.\n\n{{#each servers}}\n{{#if hasInstructions}}\n<{{name}}>\n{{instructions}}\n</{{name}}>\n\n{{/if}}\n{{/each}}\n\n## Tips for Using 1MCP\n\n- Tools are namespaced by server to avoid conflicts\n\n{{else}}\n## Status\n\nConnected servers are available but have not provided instructions yet. Tools and capabilities will become available once servers provide their instructions.\n{{/if}}\n{{else}}\nYou are interacting with 1MCP, a proxy server that aggregates capabilities from multiple MCP (Model Context Protocol) servers.\n\n## Current Status\n\nNo MCP servers are currently connected. 1MCP is ready to connect to servers and provide unified access to their capabilities once they become available.\n\n## What 1MCP Provides\n\n- **Unified Access**: Connect to multiple MCP servers through one proxy\n- **Tool Aggregation**: Access tools using the pattern `{{toolPattern}}`\n- **Resource Sharing**: Share files, data, and capabilities across servers\n- **Intelligent Routing**: Automatic request routing to appropriate servers\n\n1MCP will automatically detect and connect to available MCP servers. Once connected, their tools and capabilities will become available through the unified interface.\n{{/if}}";
|
|
89
89
|
//# sourceMappingURL=templateTypes.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"templateTypes.d.ts","sourceRoot":"","sources":["../../../src/core/instructions/templateTypes.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAC;IAEb,kCAAkC;IAClC,YAAY,EAAE,MAAM,CAAC;IAErB,2CAA2C;IAC3C,eAAe,EAAE,OAAO,CAAC;CAC1B;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAEhC,wGAAwG;IACxG,WAAW,EAAE,MAAM,CAAC;IAEpB,wFAAwF;IACxF,wBAAwB,EAAE,MAAM,CAAC;IAEjC,+EAA+E;IAC/E,oBAAoB,EAAE,MAAM,CAAC;IAE7B,wEAAwE;IACxE,UAAU,EAAE,OAAO,CAAC;IAEpB,wEAAwE;IACxE,uBAAuB,EAAE,OAAO,CAAC;IAEjC,6CAA6C;IAC7C,UAAU,EAAE,MAAM,CAAC;IAEnB,yDAAyD;IACzD,WAAW,EAAE,MAAM,EAAE,CAAC;IAEtB,oEAAoE;IACpE,OAAO,EAAE,UAAU,EAAE,CAAC;IAEtB,2CAA2C;IAC3C,aAAa,EAAE,MAAM,CAAC;IAEtB,wDAAwD;IACxD,KAAK,EAAE,MAAM,CAAC;IAEd,4DAA4D;IAC5D,sBAAsB,EAAE,MAAM,CAAC;IAE/B,oDAAoD;IACpD,cAAc,EAAE,MAAM,CAAC;IAGvB,uDAAuD;IACvD,YAAY,EAAE,MAAM,CAAC;IAErB,gFAAgF;IAChF,aAAa,EAAE,MAAM,CAAC;IAGtB,4DAA4D;IAC5D,WAAW,EAAE,MAAM,CAAC;IAEpB,8EAA8E;IAC9E,KAAK,EAAE,MAAM,CAAC;IAEd,+CAA+C;IAC/C,QAAQ,EAAE,eAAe,EAAE,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,yEAAyE;IACzE,IAAI,EAAE,MAAM,CAAC;IAEb,wCAAwC;IACxC,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,wCAAwC;IACxC,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,6BAA6B;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,oCAAoC;IACpC,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,2BAA2B;IAC3B,QAAQ,CAAC,EAAE,eAAe,EAAE,CAAC;IAE7B,oDAAoD;IACpD,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;GAEG;AACH,eAAO,MAAM,yBAAyB,EAAE,eAAe,EAatD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,uBAAuB,EAAE,QAAQ,CAAC,IAAI,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAKpF,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,4BAA4B
|
|
1
|
+
{"version":3,"file":"templateTypes.d.ts","sourceRoot":"","sources":["../../../src/core/instructions/templateTypes.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAC;IAEb,kCAAkC;IAClC,YAAY,EAAE,MAAM,CAAC;IAErB,2CAA2C;IAC3C,eAAe,EAAE,OAAO,CAAC;CAC1B;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAEhC,wGAAwG;IACxG,WAAW,EAAE,MAAM,CAAC;IAEpB,wFAAwF;IACxF,wBAAwB,EAAE,MAAM,CAAC;IAEjC,+EAA+E;IAC/E,oBAAoB,EAAE,MAAM,CAAC;IAE7B,wEAAwE;IACxE,UAAU,EAAE,OAAO,CAAC;IAEpB,wEAAwE;IACxE,uBAAuB,EAAE,OAAO,CAAC;IAEjC,6CAA6C;IAC7C,UAAU,EAAE,MAAM,CAAC;IAEnB,yDAAyD;IACzD,WAAW,EAAE,MAAM,EAAE,CAAC;IAEtB,oEAAoE;IACpE,OAAO,EAAE,UAAU,EAAE,CAAC;IAEtB,2CAA2C;IAC3C,aAAa,EAAE,MAAM,CAAC;IAEtB,wDAAwD;IACxD,KAAK,EAAE,MAAM,CAAC;IAEd,4DAA4D;IAC5D,sBAAsB,EAAE,MAAM,CAAC;IAE/B,oDAAoD;IACpD,cAAc,EAAE,MAAM,CAAC;IAGvB,uDAAuD;IACvD,YAAY,EAAE,MAAM,CAAC;IAErB,gFAAgF;IAChF,aAAa,EAAE,MAAM,CAAC;IAGtB,4DAA4D;IAC5D,WAAW,EAAE,MAAM,CAAC;IAEpB,8EAA8E;IAC9E,KAAK,EAAE,MAAM,CAAC;IAEd,+CAA+C;IAC/C,QAAQ,EAAE,eAAe,EAAE,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,yEAAyE;IACzE,IAAI,EAAE,MAAM,CAAC;IAEb,wCAAwC;IACxC,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,wCAAwC;IACxC,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,6BAA6B;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,oCAAoC;IACpC,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,2BAA2B;IAC3B,QAAQ,CAAC,EAAE,eAAe,EAAE,CAAC;IAE7B,oDAAoD;IACpD,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;GAEG;AACH,eAAO,MAAM,yBAAyB,EAAE,eAAe,EAatD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,uBAAuB,EAAE,QAAQ,CAAC,IAAI,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAKpF,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,4BAA4B,kgFAmEjC,CAAC"}
|
|
@@ -42,9 +42,11 @@ You are interacting with 1MCP, a proxy server that aggregates capabilities from
|
|
|
42
42
|
|
|
43
43
|
## Currently Connected Servers
|
|
44
44
|
|
|
45
|
-
{{
|
|
45
|
+
{{connectedServerCount}} MCP {{connectedPluralServers}} {{connectedIsAre}} currently available{{filterContext}}:
|
|
46
46
|
|
|
47
|
-
{{
|
|
47
|
+
{{#each servers}}
|
|
48
|
+
{{name}}
|
|
49
|
+
{{/each}}
|
|
48
50
|
|
|
49
51
|
{{#if hasInstructionalServers}}
|
|
50
52
|
## Available Capabilities
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"templateTypes.js","sourceRoot":"","sources":["../../../src/core/instructions/templateTypes.ts"],"names":[],"mappings":"AAyGA;;GAEG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAsB;IAC1D;QACE,IAAI,EAAE,2BAA2B;QACjC,WAAW,EAAE,sCAAsC;KACpD;IACD;QACE,IAAI,EAAE,iBAAiB;QACvB,WAAW,EAAE,mCAAmC;KACjD;IACD;QACE,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EAAE,yCAAyC;KACvD;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAqD;IACvF,KAAK,EAAE,qCAAqC;IAC5C,WAAW,EAAE,sBAAsB;IACnC,QAAQ,EAAE,yBAAyB;IACnC,iBAAiB,EAAE,IAAI,GAAG,IAAI,EAAE,cAAc;CAC/C,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG
|
|
1
|
+
{"version":3,"file":"templateTypes.js","sourceRoot":"","sources":["../../../src/core/instructions/templateTypes.ts"],"names":[],"mappings":"AAyGA;;GAEG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAsB;IAC1D;QACE,IAAI,EAAE,2BAA2B;QACjC,WAAW,EAAE,sCAAsC;KACpD;IACD;QACE,IAAI,EAAE,iBAAiB;QACvB,WAAW,EAAE,mCAAmC;KACjD;IACD;QACE,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EAAE,yCAAyC;KACvD;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAqD;IACvF,KAAK,EAAE,qCAAqC;IAC5C,WAAW,EAAE,sBAAsB;IACnC,QAAQ,EAAE,yBAAyB;IACnC,iBAAiB,EAAE,IAAI,GAAG,IAAI,EAAE,cAAc;CAC/C,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAmEpC,CAAC"}
|
|
@@ -54,13 +54,21 @@ export interface LoadingSummary {
|
|
|
54
54
|
/**
|
|
55
55
|
* Events emitted by LoadingStateTracker
|
|
56
56
|
*/
|
|
57
|
+
export declare const enum LoadingStateEvent {
|
|
58
|
+
ServerStateChanged = "server-state-changed",
|
|
59
|
+
LoadingProgress = "loading-progress",
|
|
60
|
+
LoadingComplete = "loading-complete",
|
|
61
|
+
ServerReady = "server-ready",
|
|
62
|
+
ServerFailed = "server-failed",
|
|
63
|
+
OAuthRequired = "oauth-required"
|
|
64
|
+
}
|
|
57
65
|
export interface LoadingStateEvents {
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
66
|
+
[LoadingStateEvent.ServerStateChanged]: (name: string, info: ServerLoadingInfo) => void;
|
|
67
|
+
[LoadingStateEvent.LoadingProgress]: (summary: LoadingSummary) => void;
|
|
68
|
+
[LoadingStateEvent.LoadingComplete]: (summary: LoadingSummary) => void;
|
|
69
|
+
[LoadingStateEvent.ServerReady]: (name: string, info: ServerLoadingInfo) => void;
|
|
70
|
+
[LoadingStateEvent.ServerFailed]: (name: string, info: ServerLoadingInfo) => void;
|
|
71
|
+
[LoadingStateEvent.OAuthRequired]: (name: string, info: ServerLoadingInfo) => void;
|
|
64
72
|
}
|
|
65
73
|
/**
|
|
66
74
|
* Tracks the loading state of MCP servers during async initialization
|
|
@@ -71,8 +79,8 @@ export interface LoadingStateEvents {
|
|
|
71
79
|
* @example
|
|
72
80
|
* ```typescript
|
|
73
81
|
* const tracker = new LoadingStateTracker();
|
|
74
|
-
* tracker.on(
|
|
75
|
-
* tracker.on(
|
|
82
|
+
* tracker.on(LoadingStateEvent.ServerReady, (name) => console.log(`${name} is ready`));
|
|
83
|
+
* tracker.on(LoadingStateEvent.LoadingComplete, (summary) => console.log('All done!', summary));
|
|
76
84
|
*
|
|
77
85
|
* tracker.startLoading(['server1', 'server2']);
|
|
78
86
|
* tracker.updateServerState('server1', LoadingState.Loading, { phase: 'connecting' });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loadingStateTracker.d.ts","sourceRoot":"","sources":["../../../src/core/loading/loadingStateTracker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAItC;;GAEG;AACH,oBAAY,YAAY;IACtB,wCAAwC;IACxC,OAAO,YAAY;IACnB,uCAAuC;IACvC,OAAO,YAAY;IACnB,oDAAoD;IACpD,KAAK,UAAU;IACf,kCAAkC;IAClC,MAAM,WAAW;IACjB,0CAA0C;IAC1C,aAAa,mBAAmB;IAChC,0CAA0C;IAC1C,SAAS,cAAc;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC;IACvB,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,cAAc,CAAC,EAAE,IAAI,CAAC;IACtB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,aAAa,CAAC,EAAE,IAAI,CAAC;IAC9B,QAAQ,CAAC,QAAQ,CAAC,EAAE;QAClB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;KAC3B,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;IACzB,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,
|
|
1
|
+
{"version":3,"file":"loadingStateTracker.d.ts","sourceRoot":"","sources":["../../../src/core/loading/loadingStateTracker.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,6 +19,18 @@ export var LoadingState;
|
|
|
19
19
|
/** Server initialization was cancelled */
|
|
20
20
|
LoadingState["Cancelled"] = "cancelled";
|
|
21
21
|
})(LoadingState || (LoadingState = {}));
|
|
22
|
+
/**
|
|
23
|
+
* Events emitted by LoadingStateTracker
|
|
24
|
+
*/
|
|
25
|
+
export var LoadingStateEvent;
|
|
26
|
+
(function (LoadingStateEvent) {
|
|
27
|
+
LoadingStateEvent["ServerStateChanged"] = "server-state-changed";
|
|
28
|
+
LoadingStateEvent["LoadingProgress"] = "loading-progress";
|
|
29
|
+
LoadingStateEvent["LoadingComplete"] = "loading-complete";
|
|
30
|
+
LoadingStateEvent["ServerReady"] = "server-ready";
|
|
31
|
+
LoadingStateEvent["ServerFailed"] = "server-failed";
|
|
32
|
+
LoadingStateEvent["OAuthRequired"] = "oauth-required";
|
|
33
|
+
})(LoadingStateEvent || (LoadingStateEvent = {}));
|
|
22
34
|
/**
|
|
23
35
|
* Tracks the loading state of MCP servers during async initialization
|
|
24
36
|
*
|
|
@@ -28,8 +40,8 @@ export var LoadingState;
|
|
|
28
40
|
* @example
|
|
29
41
|
* ```typescript
|
|
30
42
|
* const tracker = new LoadingStateTracker();
|
|
31
|
-
* tracker.on(
|
|
32
|
-
* tracker.on(
|
|
43
|
+
* tracker.on(LoadingStateEvent.ServerReady, (name) => console.log(`${name} is ready`));
|
|
44
|
+
* tracker.on(LoadingStateEvent.LoadingComplete, (summary) => console.log('All done!', summary));
|
|
33
45
|
*
|
|
34
46
|
* tracker.startLoading(['server1', 'server2']);
|
|
35
47
|
* tracker.updateServerState('server1', LoadingState.Loading, { phase: 'connecting' });
|
|
@@ -100,16 +112,16 @@ export class LoadingStateTracker extends EventEmitter {
|
|
|
100
112
|
const stateDescription = state === LoadingState.AwaitingOAuth ? 'requiring authorization' : state;
|
|
101
113
|
secureLogger.debug(`Server ${name} state changed to ${stateDescription}${updates.progress ? ` (${updates.progress.phase})` : ''}`);
|
|
102
114
|
// Emit specific events
|
|
103
|
-
this.emit(
|
|
115
|
+
this.emit(LoadingStateEvent.ServerStateChanged, name, info);
|
|
104
116
|
switch (state) {
|
|
105
117
|
case LoadingState.Ready:
|
|
106
|
-
this.emit(
|
|
118
|
+
this.emit(LoadingStateEvent.ServerReady, name, info);
|
|
107
119
|
break;
|
|
108
120
|
case LoadingState.Failed:
|
|
109
|
-
this.emit(
|
|
121
|
+
this.emit(LoadingStateEvent.ServerFailed, name, info);
|
|
110
122
|
break;
|
|
111
123
|
case LoadingState.AwaitingOAuth:
|
|
112
|
-
this.emit(
|
|
124
|
+
this.emit(LoadingStateEvent.OAuthRequired, name, info);
|
|
113
125
|
break;
|
|
114
126
|
}
|
|
115
127
|
this.emitProgress();
|
|
@@ -201,10 +213,10 @@ export class LoadingStateTracker extends EventEmitter {
|
|
|
201
213
|
if (!this.loadingStarted)
|
|
202
214
|
return;
|
|
203
215
|
const summary = this.getSummary();
|
|
204
|
-
this.emit(
|
|
216
|
+
this.emit(LoadingStateEvent.LoadingProgress, summary);
|
|
205
217
|
if (summary.isComplete) {
|
|
206
218
|
logger.info(`Loading complete: ${summary.ready}/${summary.totalServers} servers ready (${summary.successRate.toFixed(1)}% success rate)`);
|
|
207
|
-
this.emit(
|
|
219
|
+
this.emit(LoadingStateEvent.LoadingComplete, summary);
|
|
208
220
|
}
|
|
209
221
|
}
|
|
210
222
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loadingStateTracker.js","sourceRoot":"","sources":["../../../src/core/loading/loadingStateTracker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAE5D;;GAEG;AACH,MAAM,CAAN,IAAY,YAaX;AAbD,WAAY,YAAY;IACtB,wCAAwC;IACxC,mCAAmB,CAAA;IACnB,uCAAuC;IACvC,mCAAmB,CAAA;IACnB,oDAAoD;IACpD,+BAAe,CAAA;IACf,kCAAkC;IAClC,iCAAiB,CAAA;IACjB,0CAA0C;IAC1C,gDAAgC,CAAA;IAChC,0CAA0C;IAC1C,uCAAuB,CAAA;AACzB,CAAC,EAbW,YAAY,KAAZ,YAAY,QAavB;
|
|
1
|
+
{"version":3,"file":"loadingStateTracker.js","sourceRoot":"","sources":["../../../src/core/loading/loadingStateTracker.ts"],"names":[],"mappings":"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"}
|
|
@@ -38,15 +38,25 @@ interface ServerLoadResult {
|
|
|
38
38
|
/**
|
|
39
39
|
* Events emitted by McpLoadingManager
|
|
40
40
|
*/
|
|
41
|
+
export declare const enum McpLoadingEvent {
|
|
42
|
+
LoadingStarted = "loading-started",
|
|
43
|
+
ServerLoading = "server-loading",
|
|
44
|
+
ServerLoaded = "server-loaded",
|
|
45
|
+
ServerFailed = "server-failed",
|
|
46
|
+
OAuthRequired = "oauth-required",
|
|
47
|
+
LoadingProgress = "loading-progress",
|
|
48
|
+
LoadingComplete = "loading-complete",
|
|
49
|
+
BackgroundRetry = "background-retry"
|
|
50
|
+
}
|
|
41
51
|
export interface McpLoadingEvents {
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
52
|
+
[McpLoadingEvent.LoadingStarted]: (serverNames: string[]) => void;
|
|
53
|
+
[McpLoadingEvent.ServerLoading]: (name: string) => void;
|
|
54
|
+
[McpLoadingEvent.ServerLoaded]: (name: string, result: ServerLoadResult) => void;
|
|
55
|
+
[McpLoadingEvent.ServerFailed]: (name: string, result: ServerLoadResult) => void;
|
|
56
|
+
[McpLoadingEvent.OAuthRequired]: (name: string, authUrl?: string) => void;
|
|
57
|
+
[McpLoadingEvent.LoadingProgress]: (summary: LoadingSummary) => void;
|
|
58
|
+
[McpLoadingEvent.LoadingComplete]: (summary: LoadingSummary) => void;
|
|
59
|
+
[McpLoadingEvent.BackgroundRetry]: (name: string, attempt: number) => void;
|
|
50
60
|
}
|
|
51
61
|
/**
|
|
52
62
|
* Manages asynchronous loading of MCP servers without blocking HTTP server startup
|
|
@@ -58,7 +68,7 @@ export interface McpLoadingEvents {
|
|
|
58
68
|
* @example
|
|
59
69
|
* ```typescript
|
|
60
70
|
* const manager = new McpLoadingManager(clientManager, config);
|
|
61
|
-
* manager.on(
|
|
71
|
+
* manager.on(McpLoadingEvent.LoadingComplete, (summary) => {
|
|
62
72
|
* console.log(`${summary.ready}/${summary.totalServers} servers ready`);
|
|
63
73
|
* });
|
|
64
74
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcpLoadingManager.d.ts","sourceRoot":"","sources":["../../../src/core/loading/mcpLoadingManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC/E,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAgB,cAAc,
|
|
1
|
+
{"version":3,"file":"mcpLoadingManager.d.ts","sourceRoot":"","sources":["../../../src/core/loading/mcpLoadingManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { EventEmitter } from 'events';
|
|
2
|
-
import { LoadingStateTracker, LoadingState } from './loadingStateTracker.js';
|
|
2
|
+
import { LoadingStateTracker, LoadingState, LoadingStateEvent } from './loadingStateTracker.js';
|
|
3
3
|
import logger, { debugIf } from '../../logger/logger.js';
|
|
4
4
|
/**
|
|
5
5
|
* Default configuration for MCP loading
|
|
@@ -13,6 +13,20 @@ export const DEFAULT_LOADING_CONFIG = {
|
|
|
13
13
|
enableBackgroundRetry: true,
|
|
14
14
|
backgroundRetryIntervalMs: 60000, // Retry every minute
|
|
15
15
|
};
|
|
16
|
+
/**
|
|
17
|
+
* Events emitted by McpLoadingManager
|
|
18
|
+
*/
|
|
19
|
+
export var McpLoadingEvent;
|
|
20
|
+
(function (McpLoadingEvent) {
|
|
21
|
+
McpLoadingEvent["LoadingStarted"] = "loading-started";
|
|
22
|
+
McpLoadingEvent["ServerLoading"] = "server-loading";
|
|
23
|
+
McpLoadingEvent["ServerLoaded"] = "server-loaded";
|
|
24
|
+
McpLoadingEvent["ServerFailed"] = "server-failed";
|
|
25
|
+
McpLoadingEvent["OAuthRequired"] = "oauth-required";
|
|
26
|
+
McpLoadingEvent["LoadingProgress"] = "loading-progress";
|
|
27
|
+
McpLoadingEvent["LoadingComplete"] = "loading-complete";
|
|
28
|
+
McpLoadingEvent["BackgroundRetry"] = "background-retry";
|
|
29
|
+
})(McpLoadingEvent || (McpLoadingEvent = {}));
|
|
16
30
|
/**
|
|
17
31
|
* Manages asynchronous loading of MCP servers without blocking HTTP server startup
|
|
18
32
|
*
|
|
@@ -23,7 +37,7 @@ export const DEFAULT_LOADING_CONFIG = {
|
|
|
23
37
|
* @example
|
|
24
38
|
* ```typescript
|
|
25
39
|
* const manager = new McpLoadingManager(clientManager, config);
|
|
26
|
-
* manager.on(
|
|
40
|
+
* manager.on(McpLoadingEvent.LoadingComplete, (summary) => {
|
|
27
41
|
* console.log(`${summary.ready}/${summary.totalServers} servers ready`);
|
|
28
42
|
* });
|
|
29
43
|
*
|
|
@@ -52,9 +66,9 @@ export class McpLoadingManager extends EventEmitter {
|
|
|
52
66
|
this.config = { ...DEFAULT_LOADING_CONFIG, ...config };
|
|
53
67
|
this.stateTracker = new LoadingStateTracker();
|
|
54
68
|
// Forward state tracker events
|
|
55
|
-
this.stateTracker.on(
|
|
69
|
+
this.stateTracker.on(LoadingStateEvent.ServerStateChanged, (name, info) => {
|
|
56
70
|
if (info.state === LoadingState.Ready) {
|
|
57
|
-
this.emit(
|
|
71
|
+
this.emit(McpLoadingEvent.ServerLoaded, name, {
|
|
58
72
|
name,
|
|
59
73
|
success: true,
|
|
60
74
|
duration: info.duration || 0,
|
|
@@ -62,7 +76,7 @@ export class McpLoadingManager extends EventEmitter {
|
|
|
62
76
|
});
|
|
63
77
|
}
|
|
64
78
|
else if (info.state === LoadingState.Failed) {
|
|
65
|
-
this.emit(
|
|
79
|
+
this.emit(McpLoadingEvent.ServerFailed, name, {
|
|
66
80
|
name,
|
|
67
81
|
success: false,
|
|
68
82
|
error: info.error,
|
|
@@ -71,14 +85,14 @@ export class McpLoadingManager extends EventEmitter {
|
|
|
71
85
|
});
|
|
72
86
|
}
|
|
73
87
|
else if (info.state === LoadingState.AwaitingOAuth) {
|
|
74
|
-
this.emit(
|
|
88
|
+
this.emit(McpLoadingEvent.OAuthRequired, name, info.authorizationUrl);
|
|
75
89
|
}
|
|
76
90
|
});
|
|
77
|
-
this.stateTracker.on(
|
|
78
|
-
this.emit(
|
|
91
|
+
this.stateTracker.on(LoadingStateEvent.LoadingProgress, (summary) => {
|
|
92
|
+
this.emit(McpLoadingEvent.LoadingProgress, summary);
|
|
79
93
|
});
|
|
80
|
-
this.stateTracker.on(
|
|
81
|
-
this.emit(
|
|
94
|
+
this.stateTracker.on(LoadingStateEvent.LoadingComplete, (summary) => {
|
|
95
|
+
this.emit(McpLoadingEvent.LoadingComplete, summary);
|
|
82
96
|
this.setupBackgroundRetry();
|
|
83
97
|
});
|
|
84
98
|
this.setMaxListeners(100); // Allow many listeners
|
|
@@ -95,7 +109,7 @@ export class McpLoadingManager extends EventEmitter {
|
|
|
95
109
|
}
|
|
96
110
|
logger.info(`Starting async loading of ${serverNames.length} MCP servers`);
|
|
97
111
|
this.stateTracker.startLoading(serverNames);
|
|
98
|
-
this.emit(
|
|
112
|
+
this.emit(McpLoadingEvent.LoadingStarted, serverNames);
|
|
99
113
|
// Start loading servers with concurrency control
|
|
100
114
|
this.loadServersWithConcurrency(transports);
|
|
101
115
|
// Return current connections (may be empty initially)
|
|
@@ -135,7 +149,7 @@ export class McpLoadingManager extends EventEmitter {
|
|
|
135
149
|
async loadSingleServer(name, transport) {
|
|
136
150
|
if (this.isShuttingDown)
|
|
137
151
|
return;
|
|
138
|
-
this.emit(
|
|
152
|
+
this.emit(McpLoadingEvent.ServerLoading, name);
|
|
139
153
|
this.stateTracker.updateServerState(name, LoadingState.Loading, {
|
|
140
154
|
progress: { phase: 'initializing', message: 'Starting server connection' },
|
|
141
155
|
});
|
|
@@ -246,7 +260,7 @@ export class McpLoadingManager extends EventEmitter {
|
|
|
246
260
|
break;
|
|
247
261
|
const transport = this.clientManager.getTransport(serverInfo.name);
|
|
248
262
|
if (transport) {
|
|
249
|
-
this.emit(
|
|
263
|
+
this.emit(McpLoadingEvent.BackgroundRetry, serverInfo.name, serverInfo.retryCount + 1);
|
|
250
264
|
// Don't wait for completion, let it run in background
|
|
251
265
|
this.loadSingleServer(serverInfo.name, transport).catch((error) => {
|
|
252
266
|
debugIf(() => ({ message: `Background retry failed for ${serverInfo.name}: ${error.message}` }));
|