@1mcp/agent 0.29.2 → 0.30.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 (125) hide show
  1. package/build/commands/serve/index.d.ts +58 -0
  2. package/build/commands/serve/index.d.ts.map +1 -1
  3. package/build/commands/serve/index.js +70 -0
  4. package/build/commands/serve/index.js.map +1 -1
  5. package/build/commands/serve/serve.d.ts +11 -0
  6. package/build/commands/serve/serve.d.ts.map +1 -1
  7. package/build/commands/serve/serve.js +73 -1
  8. package/build/commands/serve/serve.js.map +1 -1
  9. package/build/constants/mcp.d.ts +1 -1
  10. package/build/constants/mcp.js +1 -1
  11. package/build/core/capabilities/capabilityAggregator.d.ts.map +1 -1
  12. package/build/core/capabilities/capabilityAggregator.js +42 -18
  13. package/build/core/capabilities/capabilityAggregator.js.map +1 -1
  14. package/build/core/capabilities/capabilityManager.d.ts +3 -2
  15. package/build/core/capabilities/capabilityManager.d.ts.map +1 -1
  16. package/build/core/capabilities/capabilityManager.js +3 -3
  17. package/build/core/capabilities/capabilityManager.js.map +1 -1
  18. package/build/core/capabilities/internal/installationTools.d.ts.map +1 -1
  19. package/build/core/capabilities/internal/installationTools.js +4 -0
  20. package/build/core/capabilities/internal/installationTools.js.map +1 -1
  21. package/build/core/capabilities/internal/lazyTools.d.ts +11 -0
  22. package/build/core/capabilities/internal/lazyTools.d.ts.map +1 -0
  23. package/build/core/capabilities/internal/lazyTools.js +48 -0
  24. package/build/core/capabilities/internal/lazyTools.js.map +1 -0
  25. package/build/core/capabilities/internal/managementTools.d.ts.map +1 -1
  26. package/build/core/capabilities/internal/managementTools.js +9 -0
  27. package/build/core/capabilities/internal/managementTools.js.map +1 -1
  28. package/build/core/capabilities/internalCapabilitiesProvider.d.ts +7 -1
  29. package/build/core/capabilities/internalCapabilitiesProvider.d.ts.map +1 -1
  30. package/build/core/capabilities/internalCapabilitiesProvider.js +31 -2
  31. package/build/core/capabilities/internalCapabilitiesProvider.js.map +1 -1
  32. package/build/core/capabilities/lazyLoadingOrchestrator.d.ts +175 -0
  33. package/build/core/capabilities/lazyLoadingOrchestrator.d.ts.map +1 -0
  34. package/build/core/capabilities/lazyLoadingOrchestrator.js +515 -0
  35. package/build/core/capabilities/lazyLoadingOrchestrator.js.map +1 -0
  36. package/build/core/capabilities/metaToolProvider.d.ts +118 -0
  37. package/build/core/capabilities/metaToolProvider.d.ts.map +1 -0
  38. package/build/core/capabilities/metaToolProvider.js +374 -0
  39. package/build/core/capabilities/metaToolProvider.js.map +1 -0
  40. package/build/core/capabilities/schemaCache.d.ts +124 -0
  41. package/build/core/capabilities/schemaCache.d.ts.map +1 -0
  42. package/build/core/capabilities/schemaCache.js +248 -0
  43. package/build/core/capabilities/schemaCache.js.map +1 -0
  44. package/build/core/capabilities/schemas/metaToolSchemas.d.ts +92 -0
  45. package/build/core/capabilities/schemas/metaToolSchemas.d.ts.map +1 -0
  46. package/build/core/capabilities/schemas/metaToolSchemas.js +68 -0
  47. package/build/core/capabilities/schemas/metaToolSchemas.js.map +1 -0
  48. package/build/core/capabilities/toolRegistry.d.ts +140 -0
  49. package/build/core/capabilities/toolRegistry.d.ts.map +1 -0
  50. package/build/core/capabilities/toolRegistry.js +284 -0
  51. package/build/core/capabilities/toolRegistry.js.map +1 -0
  52. package/build/core/client/clientManager.d.ts.map +1 -1
  53. package/build/core/client/clientManager.js +11 -5
  54. package/build/core/client/clientManager.js.map +1 -1
  55. package/build/core/flags/flagManager.d.ts.map +1 -1
  56. package/build/core/flags/flagManager.js +14 -1
  57. package/build/core/flags/flagManager.js.map +1 -1
  58. package/build/core/instructions/instructionAggregator.d.ts +21 -0
  59. package/build/core/instructions/instructionAggregator.d.ts.map +1 -1
  60. package/build/core/instructions/instructionAggregator.js +78 -3
  61. package/build/core/instructions/instructionAggregator.js.map +1 -1
  62. package/build/core/instructions/templateTypes.d.ts +40 -1
  63. package/build/core/instructions/templateTypes.d.ts.map +1 -1
  64. package/build/core/instructions/templateTypes.js +70 -0
  65. package/build/core/instructions/templateTypes.js.map +1 -1
  66. package/build/core/protocol/requestHandlers.d.ts +2 -1
  67. package/build/core/protocol/requestHandlers.d.ts.map +1 -1
  68. package/build/core/protocol/requestHandlers.js +112 -84
  69. package/build/core/protocol/requestHandlers.js.map +1 -1
  70. package/build/core/server/adapters/ExternalServerAdapter.d.ts +38 -0
  71. package/build/core/server/adapters/ExternalServerAdapter.d.ts.map +1 -0
  72. package/build/core/server/adapters/ExternalServerAdapter.js +50 -0
  73. package/build/core/server/adapters/ExternalServerAdapter.js.map +1 -0
  74. package/build/core/server/adapters/ServerRegistry.d.ts +63 -0
  75. package/build/core/server/adapters/ServerRegistry.d.ts.map +1 -0
  76. package/build/core/server/adapters/ServerRegistry.js +92 -0
  77. package/build/core/server/adapters/ServerRegistry.js.map +1 -0
  78. package/build/core/server/adapters/TemplateServerAdapter.d.ts +47 -0
  79. package/build/core/server/adapters/TemplateServerAdapter.d.ts.map +1 -0
  80. package/build/core/server/adapters/TemplateServerAdapter.js +99 -0
  81. package/build/core/server/adapters/TemplateServerAdapter.js.map +1 -0
  82. package/build/core/server/adapters/index.d.ts +5 -0
  83. package/build/core/server/adapters/index.d.ts.map +1 -0
  84. package/build/core/server/adapters/index.js +6 -0
  85. package/build/core/server/adapters/index.js.map +1 -0
  86. package/build/core/server/adapters/types.d.ts +122 -0
  87. package/build/core/server/adapters/types.d.ts.map +1 -0
  88. package/build/core/server/adapters/types.js +48 -0
  89. package/build/core/server/adapters/types.js.map +1 -0
  90. package/build/core/server/agentConfig.d.ts +19 -0
  91. package/build/core/server/agentConfig.d.ts.map +1 -1
  92. package/build/core/server/agentConfig.js +19 -0
  93. package/build/core/server/agentConfig.js.map +1 -1
  94. package/build/core/server/connectionManager.d.ts +17 -1
  95. package/build/core/server/connectionManager.d.ts.map +1 -1
  96. package/build/core/server/connectionManager.js +65 -5
  97. package/build/core/server/connectionManager.js.map +1 -1
  98. package/build/core/server/connectionResolver.d.ts +81 -0
  99. package/build/core/server/connectionResolver.d.ts.map +1 -0
  100. package/build/core/server/connectionResolver.js +140 -0
  101. package/build/core/server/connectionResolver.js.map +1 -0
  102. package/build/core/server/serverManager.d.ts +13 -0
  103. package/build/core/server/serverManager.d.ts.map +1 -1
  104. package/build/core/server/serverManager.js +49 -2
  105. package/build/core/server/serverManager.js.map +1 -1
  106. package/build/core/server/templateServerManager.d.ts +16 -0
  107. package/build/core/server/templateServerManager.d.ts.map +1 -1
  108. package/build/core/server/templateServerManager.js +45 -0
  109. package/build/core/server/templateServerManager.js.map +1 -1
  110. package/build/domains/preset/manager/presetManager.d.ts +5 -0
  111. package/build/domains/preset/manager/presetManager.d.ts.map +1 -1
  112. package/build/domains/preset/manager/presetManager.js +7 -0
  113. package/build/domains/preset/manager/presetManager.js.map +1 -1
  114. package/build/logger/logger.d.ts +13 -0
  115. package/build/logger/logger.d.ts.map +1 -1
  116. package/build/logger/logger.js +41 -0
  117. package/build/logger/logger.js.map +1 -1
  118. package/build/server.d.ts +3 -0
  119. package/build/server.d.ts.map +1 -1
  120. package/build/server.js +32 -0
  121. package/build/server.js.map +1 -1
  122. package/build/transport/http/middlewares/tagsExtractor.d.ts.map +1 -1
  123. package/build/transport/http/middlewares/tagsExtractor.js +71 -1
  124. package/build/transport/http/middlewares/tagsExtractor.js.map +1 -1
  125. package/package.json +1 -1
@@ -0,0 +1,81 @@
1
+ import type { OutboundConnection, OutboundConnections } from '../../core/types/client.js';
2
+ /**
3
+ * Interface for accessing template server hash mappings.
4
+ * This abstracts away the dependency on TemplateServerManager.
5
+ */
6
+ export interface TemplateHashProvider {
7
+ /**
8
+ * Get the rendered hash for a specific session and template
9
+ */
10
+ getRenderedHashForSession(sessionId: string, templateName: string): string | undefined;
11
+ /**
12
+ * Get all rendered hashes for a specific session
13
+ * Returns Map<templateName, renderedHash>
14
+ */
15
+ getAllRenderedHashesForSession(sessionId: string): Map<string, string> | undefined;
16
+ }
17
+ /**
18
+ * ConnectionResolver encapsulates the 3-tier connection resolution logic.
19
+ *
20
+ * Key format:
21
+ * - Static servers: name (no colon)
22
+ * - Shareable template servers: name:renderedHash
23
+ * - Per-client template servers: name:sessionId
24
+ *
25
+ * Resolution order:
26
+ * 1. Try session-scoped key (for per-client template servers: name:sessionId)
27
+ * 2. Try rendered hash-based key (for shareable template servers: name:renderedHash)
28
+ * 3. Fall back to direct name lookup (for static servers: name)
29
+ */
30
+ export declare class ConnectionResolver {
31
+ private readonly outboundConns;
32
+ private readonly templateHashProvider?;
33
+ constructor(outboundConns: OutboundConnections, templateHashProvider?: TemplateHashProvider | undefined);
34
+ /**
35
+ * Resolve outbound connection by client name and session ID.
36
+ *
37
+ * @param clientName The client/server name
38
+ * @param sessionId The session ID (optional)
39
+ * @returns The resolved outbound connection or undefined
40
+ */
41
+ resolve(clientName: string, sessionId?: string): OutboundConnection | undefined;
42
+ /**
43
+ * Filter outbound connections for a specific session.
44
+ *
45
+ * Key format:
46
+ * - Static servers: name (no colon) - always included
47
+ * - Shareable template servers: name:renderedHash - included if session uses this hash
48
+ * - Per-client template servers: name:sessionId - only included if session matches
49
+ *
50
+ * @param sessionId The session ID (optional)
51
+ * @returns A filtered map of outbound connections
52
+ */
53
+ filterForSession(sessionId?: string): OutboundConnections;
54
+ /**
55
+ * Get all rendered hashes for a specific session.
56
+ * @param sessionId The session ID (optional)
57
+ * @returns Map of templateName to renderedHash, or undefined if no session
58
+ */
59
+ private getSessionRenderedHashes;
60
+ /**
61
+ * Find any connection for a server by name, regardless of session.
62
+ * This is useful when session context is not available.
63
+ *
64
+ * Resolution order:
65
+ * 1. Try direct name lookup (for static servers)
66
+ * 2. Search for any connection where connection.name matches or key starts with serverName:
67
+ *
68
+ * @param serverName The server name to find
69
+ * @returns The connection key and connection, or undefined
70
+ */
71
+ findByServerName(serverName: string): {
72
+ key: string;
73
+ connection: OutboundConnection;
74
+ } | undefined;
75
+ }
76
+ /**
77
+ * Factory function to create a ConnectionResolver with optional template hash provider.
78
+ * This provides a simpler API for common use cases.
79
+ */
80
+ export declare function createConnectionResolver(outboundConns: OutboundConnections, templateHashProvider?: TemplateHashProvider): ConnectionResolver;
81
+ //# sourceMappingURL=connectionResolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connectionResolver.d.ts","sourceRoot":"","sources":["../../../src/core/server/connectionResolver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAGzF;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,yBAAyB,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IAEvF;;;OAGG;IACH,8BAA8B,CAAC,SAAS,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;CACpF;AAED;;;;;;;;;;;;GAYG;AACH,qBAAa,kBAAkB;IAE3B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC;gBADrB,aAAa,EAAE,mBAAmB,EAClC,oBAAoB,CAAC,EAAE,oBAAoB,YAAA;IAG9D;;;;;;OAMG;IACH,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,kBAAkB,GAAG,SAAS;IA0B/E;;;;;;;;;;OAUG;IACH,gBAAgB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,mBAAmB;IA0CzD;;;;OAIG;IACH,OAAO,CAAC,wBAAwB;IAOhC;;;;;;;;;;OAUG;IACH,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,kBAAkB,CAAA;KAAE,GAAG,SAAS;CAgBlG;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,aAAa,EAAE,mBAAmB,EAClC,oBAAoB,CAAC,EAAE,oBAAoB,GAC1C,kBAAkB,CAEpB"}
@@ -0,0 +1,140 @@
1
+ import { errorIf } from '../../logger/logger.js';
2
+ /**
3
+ * ConnectionResolver encapsulates the 3-tier connection resolution logic.
4
+ *
5
+ * Key format:
6
+ * - Static servers: name (no colon)
7
+ * - Shareable template servers: name:renderedHash
8
+ * - Per-client template servers: name:sessionId
9
+ *
10
+ * Resolution order:
11
+ * 1. Try session-scoped key (for per-client template servers: name:sessionId)
12
+ * 2. Try rendered hash-based key (for shareable template servers: name:renderedHash)
13
+ * 3. Fall back to direct name lookup (for static servers: name)
14
+ */
15
+ export class ConnectionResolver {
16
+ outboundConns;
17
+ templateHashProvider;
18
+ constructor(outboundConns, templateHashProvider) {
19
+ this.outboundConns = outboundConns;
20
+ this.templateHashProvider = templateHashProvider;
21
+ }
22
+ /**
23
+ * Resolve outbound connection by client name and session ID.
24
+ *
25
+ * @param clientName The client/server name
26
+ * @param sessionId The session ID (optional)
27
+ * @returns The resolved outbound connection or undefined
28
+ */
29
+ resolve(clientName, sessionId) {
30
+ // Tier 1: Try session-scoped key first (for per-client template servers: name:sessionId)
31
+ if (sessionId) {
32
+ const sessionKey = `${clientName}:${sessionId}`;
33
+ const conn = this.outboundConns.get(sessionKey);
34
+ if (conn) {
35
+ return conn;
36
+ }
37
+ }
38
+ // Tier 2: Try rendered hash-based key (for shareable template servers: name:renderedHash)
39
+ if (sessionId && this.templateHashProvider) {
40
+ const renderedHash = this.templateHashProvider.getRenderedHashForSession(sessionId, clientName);
41
+ if (renderedHash) {
42
+ const hashKey = `${clientName}:${renderedHash}`;
43
+ const conn = this.outboundConns.get(hashKey);
44
+ if (conn) {
45
+ return conn;
46
+ }
47
+ }
48
+ }
49
+ // Tier 3: Fall back to direct name lookup (for static servers)
50
+ return this.outboundConns.get(clientName);
51
+ }
52
+ /**
53
+ * Filter outbound connections for a specific session.
54
+ *
55
+ * Key format:
56
+ * - Static servers: name (no colon) - always included
57
+ * - Shareable template servers: name:renderedHash - included if session uses this hash
58
+ * - Per-client template servers: name:sessionId - only included if session matches
59
+ *
60
+ * @param sessionId The session ID (optional)
61
+ * @returns A filtered map of outbound connections
62
+ */
63
+ filterForSession(sessionId) {
64
+ const filtered = new Map();
65
+ // Get rendered hashes for this session
66
+ const sessionHashes = this.getSessionRenderedHashes(sessionId);
67
+ for (const [key, conn] of this.outboundConns.entries()) {
68
+ // Static servers (no : in key) - always include
69
+ if (!key.includes(':')) {
70
+ filtered.set(key, conn);
71
+ continue;
72
+ }
73
+ // Template servers (format: name:suffix)
74
+ const parts = key.split(':', 2);
75
+ // Validate split result - must have exactly 2 parts
76
+ if (parts.length !== 2) {
77
+ errorIf(() => ({
78
+ message: 'Invalid connection key format: expected exactly one colon delimiter',
79
+ meta: { key, parts: parts.length },
80
+ }));
81
+ continue; // Skip malformed keys
82
+ }
83
+ const [name, suffix] = parts;
84
+ // Per-client template servers (format: name:sessionId) - only include if session matches
85
+ if (suffix === sessionId) {
86
+ filtered.set(key, conn);
87
+ continue;
88
+ }
89
+ // Shareable template servers (format: name:renderedHash) - include if this session uses this hash
90
+ if (sessionHashes && sessionHashes.has(name) && sessionHashes.get(name) === suffix) {
91
+ filtered.set(key, conn);
92
+ }
93
+ }
94
+ return filtered;
95
+ }
96
+ /**
97
+ * Get all rendered hashes for a specific session.
98
+ * @param sessionId The session ID (optional)
99
+ * @returns Map of templateName to renderedHash, or undefined if no session
100
+ */
101
+ getSessionRenderedHashes(sessionId) {
102
+ if (!sessionId || !this.templateHashProvider) {
103
+ return undefined;
104
+ }
105
+ return this.templateHashProvider.getAllRenderedHashesForSession(sessionId);
106
+ }
107
+ /**
108
+ * Find any connection for a server by name, regardless of session.
109
+ * This is useful when session context is not available.
110
+ *
111
+ * Resolution order:
112
+ * 1. Try direct name lookup (for static servers)
113
+ * 2. Search for any connection where connection.name matches or key starts with serverName:
114
+ *
115
+ * @param serverName The server name to find
116
+ * @returns The connection key and connection, or undefined
117
+ */
118
+ findByServerName(serverName) {
119
+ // Direct lookup for static servers
120
+ const directConn = this.outboundConns.get(serverName);
121
+ if (directConn) {
122
+ return { key: serverName, connection: directConn };
123
+ }
124
+ // Search for template servers
125
+ for (const [key, connection] of this.outboundConns.entries()) {
126
+ if (connection.name === serverName || key.startsWith(`${serverName}:`)) {
127
+ return { key, connection };
128
+ }
129
+ }
130
+ return undefined;
131
+ }
132
+ }
133
+ /**
134
+ * Factory function to create a ConnectionResolver with optional template hash provider.
135
+ * This provides a simpler API for common use cases.
136
+ */
137
+ export function createConnectionResolver(outboundConns, templateHashProvider) {
138
+ return new ConnectionResolver(outboundConns, templateHashProvider);
139
+ }
140
+ //# sourceMappingURL=connectionResolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connectionResolver.js","sourceRoot":"","sources":["../../../src/core/server/connectionResolver.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,8 @@
1
1
  import { Transport } from '@modelcontextprotocol/sdk/shared/transport.js';
2
+ import { LazyLoadingOrchestrator } from '../../core/capabilities/lazyLoadingOrchestrator.js';
2
3
  import { ClientTemplateTracker, FilterCache, TemplateIndex } from '../../core/filtering/index.js';
3
4
  import { InstructionAggregator } from '../../core/instructions/instructionAggregator.js';
5
+ import { ServerRegistry } from '../../core/server/adapters/ServerRegistry.js';
4
6
  import { TemplateServerManager } from '../../core/server/templateServerManager.js';
5
7
  import type { InboundConnection, InboundConnectionConfig, MCPServerParams, OperationOptions, OutboundConnection, OutboundConnections } from '../../core/types/index.js';
6
8
  import type { ContextData } from '../../types/context.js';
@@ -28,10 +30,12 @@ export declare class ServerManager {
28
30
  private transports;
29
31
  private serverConfigData;
30
32
  private instructionAggregator?;
33
+ private lazyLoadingOrchestrator?;
31
34
  private connectionManager;
32
35
  private templateServerManager;
33
36
  private mcpServerLifecycleManager;
34
37
  private templateConfigurationManager;
38
+ private serverRegistry;
35
39
  private filterCache;
36
40
  private constructor();
37
41
  static getOrCreateInstance(config: {
@@ -46,6 +50,14 @@ export declare class ServerManager {
46
50
  * Set the instruction aggregator instance
47
51
  */
48
52
  setInstructionAggregator(aggregator: InstructionAggregator): void;
53
+ /**
54
+ * Set the lazy loading orchestrator instance
55
+ */
56
+ setLazyLoadingOrchestrator(orchestrator: LazyLoadingOrchestrator): void;
57
+ /**
58
+ * Get the lazy loading orchestrator instance
59
+ */
60
+ getLazyLoadingOrchestrator(): LazyLoadingOrchestrator | undefined;
49
61
  /**
50
62
  * Set up context change listener for dynamic template processing
51
63
  */
@@ -69,6 +81,7 @@ export declare class ServerManager {
69
81
  getServer(sessionId: string): InboundConnection | undefined;
70
82
  getInboundConnections(): Map<string, InboundConnection>;
71
83
  getTemplateServerManager(): TemplateServerManager;
84
+ getServerRegistry(): ServerRegistry;
72
85
  updateClientsAndTransports(newClients: OutboundConnections, newTransports: Record<string, Transport>): void;
73
86
  executeServerOperation<T>(inboundConn: InboundConnection, operation: (inboundConn: InboundConnection) => Promise<T>, options?: OperationOptions): Promise<T>;
74
87
  startServer(serverName: string, config: MCPServerParams): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"serverManager.d.ts","sourceRoot":"","sources":["../../../src/core/server/serverManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,+CAA+C,CAAC;AAI1E,OAAO,EAAE,qBAAqB,EAAE,WAAW,EAAkB,aAAa,EAAE,MAAM,8BAA8B,CAAC;AACjH,OAAO,EAAE,qBAAqB,EAAE,MAAM,iDAAiD,CAAC;AAIxF,OAAO,EAAE,qBAAqB,EAAE,MAAM,2CAA2C,CAAC;AAClF,OAAO,KAAK,EACV,iBAAiB,EACjB,uBAAuB,EACvB,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEzD;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,UAAU,EAAE,WAAW,CAAC;IACxB,gBAAgB,EAAE,OAAO,CAAC;CAC3B;AAED;;;;;;;;GAQG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAA4B;IACnD,OAAO,CAAC,YAAY,CAAoC;IACxD,OAAO,CAAC,kBAAkB,CAA4C;IACtE,OAAO,CAAC,aAAa,CAAsB;IAC3C,OAAO,CAAC,UAAU,CAA4B;IAC9C,OAAO,CAAC,gBAAgB,CAAuC;IAC/D,OAAO,CAAC,qBAAqB,CAAC,CAAwB;IAGtD,OAAO,CAAC,iBAAiB,CAAoB;IAC7C,OAAO,CAAC,qBAAqB,CAAwB;IACrD,OAAO,CAAC,yBAAyB,CAA4B;IAC7D,OAAO,CAAC,4BAA4B,CAA+B;IAGnE,OAAO,CAAC,WAAW,CAAoB;IAEvC,OAAO;WAkBO,mBAAmB,CAC/B,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EACzC,YAAY,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,EACvD,aAAa,EAAE,mBAAmB,EAClC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GACpC,aAAa;IAOhB,WAAkB,OAAO,IAAI,aAAa,CAKzC;WAGmB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAOlD;;OAEG;IACI,wBAAwB,CAAC,UAAU,EAAE,qBAAqB,GAAG,IAAI;IAcxE;;OAEG;IACH,OAAO,CAAC,0BAA0B;IAkClC;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAW/B;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAgBnB,gBAAgB,CAC3B,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,uBAAuB,EAC7B,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,IAAI,CAAC;IAwCH,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,GAAE,OAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAQxF,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;IAItD,aAAa,IAAI,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC;IAIvC,mBAAmB,IAAI,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC;IAIhD,UAAU,IAAI,mBAAmB;IAIjC,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,kBAAkB,GAAG,SAAS;IAI7D,wBAAwB,IAAI,MAAM;IAIlC,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS;IAI3D,qBAAqB,IAAI,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC;IAIvD,wBAAwB,IAAI,qBAAqB;IAIjD,0BAA0B,CAAC,UAAU,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,IAAI;IAKrG,sBAAsB,CAAC,CAAC,EACnC,WAAW,EAAE,iBAAiB,EAC9B,SAAS,EAAE,CAAC,WAAW,EAAE,iBAAiB,KAAK,OAAO,CAAC,CAAC,CAAC,EACzD,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,CAAC,CAAC;IAIA,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvE,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7C,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/E,kBAAkB,IAAI,GAAG,CAAC,MAAM,EAAE;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,eAAe,CAAA;KAAE,CAAC;IAIhF,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAIzC,oBAAoB,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzF,iBAAiB,IAAI;QAC1B,OAAO,EAAE,UAAU,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC,GAAG,IAAI,CAAC;QAC9D,KAAK,EAAE,UAAU,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,GAAG,IAAI,CAAC;QAClD,KAAK,EAAE,UAAU,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,GAAG,IAAI,CAAC;QACpD,OAAO,EAAE,OAAO,CAAC;KAClB;IAUM,qBAAqB,IAAI,UAAU,CAAC,qBAAqB,CAAC,iBAAiB,CAAC,CAAC;IAI7E,oBAAoB,IAAI,IAAI;IAI5B,gBAAgB,IAAI,IAAI;IAKxB,wBAAwB,CAAC,aAAa,GAAE,MAAuB,GAAG,KAAK,CAAC;QAC7E,YAAY,EAAE,MAAM,CAAC;QACrB,UAAU,EAAE,MAAM,CAAC;QACnB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IAIW,oBAAoB,IAAI,OAAO,CAAC,MAAM,CAAC;IAIpD;;OAEG;IACU,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAetC"}
1
+ {"version":3,"file":"serverManager.d.ts","sourceRoot":"","sources":["../../../src/core/server/serverManager.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { ConfigManager } from '../../config/configManager.js';
2
2
  import { getGlobalContextManager } from '../../core/context/globalContextManager.js';
3
3
  import { getFilterCache } from '../../core/filtering/index.js';
4
+ import { ServerRegistry } from '../../core/server/adapters/ServerRegistry.js';
4
5
  import { ConnectionManager } from '../../core/server/connectionManager.js';
5
6
  import { MCPServerLifecycleManager } from '../../core/server/mcpServerLifecycleManager.js';
6
7
  import { TemplateConfigurationManager } from '../../core/server/templateConfigurationManager.js';
@@ -23,11 +24,13 @@ export class ServerManager {
23
24
  transports;
24
25
  serverConfigData = null; // Cache the config data
25
26
  instructionAggregator;
27
+ lazyLoadingOrchestrator;
26
28
  // Component managers
27
29
  connectionManager;
28
30
  templateServerManager;
29
31
  mcpServerLifecycleManager;
30
32
  templateConfigurationManager;
33
+ serverRegistry;
31
34
  // Filtering cache (kept separate as it's a shared resource)
32
35
  filterCache = getFilterCache();
33
36
  constructor(config, capabilities, outboundConns, transports) {
@@ -40,6 +43,7 @@ export class ServerManager {
40
43
  this.templateServerManager = new TemplateServerManager();
41
44
  this.mcpServerLifecycleManager = new MCPServerLifecycleManager();
42
45
  this.templateConfigurationManager = new TemplateConfigurationManager();
46
+ this.serverRegistry = new ServerRegistry(outboundConns, this.templateServerManager);
43
47
  }
44
48
  static getOrCreateInstance(config, capabilities, outboundConns, transports) {
45
49
  if (!ServerManager.instance) {
@@ -65,6 +69,9 @@ export class ServerManager {
65
69
  */
66
70
  setInstructionAggregator(aggregator) {
67
71
  this.instructionAggregator = aggregator;
72
+ // Set instruction aggregator on template server manager
73
+ // This ensures template servers can extract and cache their instructions
74
+ this.templateServerManager.setInstructionAggregator(aggregator);
68
75
  // Listen for instruction changes and update existing server instances
69
76
  aggregator.on('instructions-changed', () => {
70
77
  this.updateServerInstructions();
@@ -73,6 +80,23 @@ export class ServerManager {
73
80
  this.setupContextChangeListener();
74
81
  debugIf('Instruction aggregator set for ServerManager');
75
82
  }
83
+ /**
84
+ * Set the lazy loading orchestrator instance
85
+ */
86
+ setLazyLoadingOrchestrator(orchestrator) {
87
+ this.lazyLoadingOrchestrator = orchestrator;
88
+ this.connectionManager.setLazyLoadingOrchestrator(orchestrator);
89
+ if (this.instructionAggregator) {
90
+ this.instructionAggregator.setLazyLoadingOrchestrator(orchestrator);
91
+ }
92
+ debugIf('Lazy loading orchestrator set for ServerManager');
93
+ }
94
+ /**
95
+ * Get the lazy loading orchestrator instance
96
+ */
97
+ getLazyLoadingOrchestrator() {
98
+ return this.lazyLoadingOrchestrator;
99
+ }
76
100
  /**
77
101
  * Set up context change listener for dynamic template processing
78
102
  */
@@ -132,8 +156,6 @@ export class ServerManager {
132
156
  }
133
157
  }
134
158
  async connectTransport(transport, sessionId, opts, context) {
135
- // Get filtered instructions based on client's filter criteria using InstructionAggregator
136
- const filteredInstructions = this.instructionAggregator?.getFilteredInstructions(opts, this.outboundConns) || '';
137
159
  // Load configuration data
138
160
  // Always process templates when context is available to ensure context-specific rendering
139
161
  const configManager = ConfigManager.getInstance();
@@ -152,10 +174,32 @@ export class ServerManager {
152
174
  // Note: ConfigManager.loadConfigWithTemplates already handles conflict detection
153
175
  // by filtering out static servers that conflict with template servers
154
176
  }
177
+ // Populate server registry with external servers
178
+ if (this.serverConfigData.mcpServers) {
179
+ for (const [name, config] of Object.entries(this.serverConfigData.mcpServers)) {
180
+ if (!this.serverRegistry.has(name)) {
181
+ this.serverRegistry.registerExternal(name, config);
182
+ }
183
+ }
184
+ }
155
185
  // If we have context, create template-based servers
156
186
  if (context && this.serverConfigData.mcpTemplates) {
157
187
  await this.templateServerManager.createTemplateBasedServers(sessionId, context, opts, this.serverConfigData, this.outboundConns, this.transports);
188
+ // Populate server registry with template servers
189
+ for (const [name, config] of Object.entries(this.serverConfigData.mcpTemplates)) {
190
+ if (!this.serverRegistry.has(name)) {
191
+ this.serverRegistry.registerTemplate(name, config);
192
+ }
193
+ }
194
+ // CRITICAL: Refresh tool registry after template servers are added
195
+ // This ensures template server tools are included in lazy loading mode
196
+ if (this.lazyLoadingOrchestrator) {
197
+ await this.lazyLoadingOrchestrator.refreshCapabilities();
198
+ }
158
199
  }
200
+ // IMPORTANT: Get filtered instructions AFTER template servers are created
201
+ // This ensures template server instructions are included in the initialize response
202
+ const filteredInstructions = this.instructionAggregator?.getFilteredInstructions(opts, this.outboundConns) || '';
159
203
  // Connect the transport
160
204
  await this.connectionManager.connectTransport(transport, sessionId, opts, context, filteredInstructions);
161
205
  }
@@ -192,6 +236,9 @@ export class ServerManager {
192
236
  getTemplateServerManager() {
193
237
  return this.templateServerManager;
194
238
  }
239
+ getServerRegistry() {
240
+ return this.serverRegistry;
241
+ }
195
242
  updateClientsAndTransports(newClients, newTransports) {
196
243
  this.outboundConns = newClients;
197
244
  this.transports = newTransports;
@@ -1 +1 @@
1
- {"version":3,"file":"serverManager.js","sourceRoot":"","sources":["../../../src/core/server/serverManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"serverManager.js","sourceRoot":"","sources":["../../../src/core/server/serverManager.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { Transport } from '@modelcontextprotocol/sdk/shared/transport.js';
2
2
  import { ClientTemplateTracker, TemplateIndex } from '../../core/filtering/index.js';
3
+ import { InstructionAggregator } from '../../core/instructions/instructionAggregator.js';
3
4
  import { ClientInstancePool } from '../../core/server/clientInstancePool.js';
4
5
  import type { OutboundConnections } from '../../core/types/client.js';
5
6
  import { MCPServerParams } from '../../core/types/index.js';
@@ -18,10 +19,16 @@ export declare class TemplateServerManager {
18
19
  private clientInstancePool;
19
20
  private templateSessionMap?;
20
21
  private cleanupTimer?;
22
+ private instructionAggregator?;
21
23
  private sessionToRenderedHash;
22
24
  private clientTemplateTracker;
23
25
  private templateIndex;
26
+ private failedTemplates;
24
27
  constructor();
28
+ /**
29
+ * Set the instruction aggregator for extracting and caching server instructions
30
+ */
31
+ setInstructionAggregator(aggregator: InstructionAggregator): void;
25
32
  /**
26
33
  * Starts the periodic cleanup timer for idle template instances
27
34
  */
@@ -73,6 +80,15 @@ export declare class TemplateServerManager {
73
80
  * Get the client instance pool
74
81
  */
75
82
  getClientInstancePool(): ClientInstancePool;
83
+ /**
84
+ * Get failed template server creation attempts
85
+ */
86
+ getFailedTemplates(): Array<{
87
+ templateName: string;
88
+ sessionId: string;
89
+ error: string;
90
+ timestamp: Date;
91
+ }>;
76
92
  /**
77
93
  * Get the rendered hash for a specific session and template
78
94
  * Used by resolveOutboundConnection to determine the correct outbound key
@@ -1 +1 @@
1
- {"version":3,"file":"templateServerManager.d.ts","sourceRoot":"","sources":["../../../src/core/server/templateServerManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,+CAA+C,CAAC;AAE1E,OAAO,EAAE,qBAAqB,EAA4B,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC9G,OAAO,EAAE,kBAAkB,EAA6B,MAAM,wCAAwC,CAAC;AAEvG,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAErE,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEzD;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;CAChD;AAED;;GAEG;AAEH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,kBAAkB,CAAqB;IAC/C,OAAO,CAAC,kBAAkB,CAAC,CAAsB;IACjD,OAAO,CAAC,YAAY,CAAC,CAAiC;IAGtD,OAAO,CAAC,qBAAqB,CAA0C;IAGvE,OAAO,CAAC,qBAAqB,CAA+B;IAC5D,OAAO,CAAC,aAAa,CAAuB;;IAc5C;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAqBzB;;OAEG;IACU,0BAA0B,CACrC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,WAAW,EACpB,IAAI,EAAE,uBAAuB,EAC7B,gBAAgB,EAAE;QAAE,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;KAAE,EAAE,wCAAwC;IAC9G,aAAa,EAAE,mBAAmB,EAClC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GACpC,OAAO,CAAC,IAAI,CAAC;IAmFhB;;OAEG;IACU,sBAAsB,CACjC,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,mBAAmB,EAClC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GACpC,OAAO,CAAC,IAAI,CAAC;IAgIhB;;OAEG;IACH,OAAO,CAAC,0BAA0B;IA0BlC;;OAEG;IACI,wBAAwB,CAAC,aAAa,GAAE,MAAuB,GAAG,KAAK,CAAC;QAC7E,YAAY,EAAE,MAAM,CAAC;QACrB,UAAU,EAAE,MAAM,CAAC;QACnB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IAIF;;OAEG;IACU,oBAAoB,IAAI,OAAO,CAAC,MAAM,CAAC;IAuCpD;;OAEG;IACI,oBAAoB,CAAC,gBAAgB,CAAC,EAAE,sBAAsB,GAAG,IAAI;IAO5E;;OAEG;IACI,iBAAiB,IAAI;QAC1B,OAAO,EAAE,UAAU,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC,GAAG,IAAI,CAAC;QAC9D,KAAK,EAAE,UAAU,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,GAAG,IAAI,CAAC;QACpD,OAAO,EAAE,OAAO,CAAC;KAClB;IAWD;;OAEG;IACI,qBAAqB,IAAI,UAAU,CAAC,qBAAqB,CAAC,iBAAiB,CAAC,CAAC;IAIpF;;OAEG;IACI,qBAAqB,IAAI,kBAAkB;IAIlD;;;OAGG;IACI,yBAAyB,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAI7F;;;;OAIG;IACI,8BAA8B,CAAC,SAAS,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS;IAIzF;;OAEG;IACI,OAAO,IAAI,IAAI;CAUvB"}
1
+ {"version":3,"file":"templateServerManager.d.ts","sourceRoot":"","sources":["../../../src/core/server/templateServerManager.ts"],"names":[],"mappings":"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"}
@@ -9,11 +9,14 @@ export class TemplateServerManager {
9
9
  clientInstancePool;
10
10
  templateSessionMap; // Maps template name to session ID for tracking
11
11
  cleanupTimer; // Timer for idle instance cleanup
12
+ instructionAggregator;
12
13
  // Maps sessionId -> (templateName -> renderedHash) for routing shareable servers
13
14
  sessionToRenderedHash = new Map();
14
15
  // Enhanced filtering components
15
16
  clientTemplateTracker = new ClientTemplateTracker();
16
17
  templateIndex = new TemplateIndex();
18
+ // Track failed template server creation attempts
19
+ failedTemplates = [];
17
20
  constructor() {
18
21
  // Initialize the client instance pool
19
22
  this.clientInstancePool = new ClientInstancePool({
@@ -24,6 +27,12 @@ export class TemplateServerManager {
24
27
  // Start cleanup timer for idle template instances
25
28
  this.startCleanupTimer();
26
29
  }
30
+ /**
31
+ * Set the instruction aggregator for extracting and caching server instructions
32
+ */
33
+ setInstructionAggregator(aggregator) {
34
+ this.instructionAggregator = aggregator;
35
+ }
27
36
  /**
28
37
  * Starts the periodic cleanup timer for idle template instances
29
38
  */
@@ -74,6 +83,24 @@ export class TemplateServerManager {
74
83
  status: ClientStatus.Connected, // Template servers should be connected
75
84
  capabilities: undefined, // Will be populated by setupCapabilities
76
85
  });
86
+ // Extract and cache instructions for template servers
87
+ // This ensures instructions are available on first connection
88
+ if (this.instructionAggregator) {
89
+ try {
90
+ const instructions = instance.client.getInstructions();
91
+ if (instructions?.trim()) {
92
+ // Use clean template name (not the hash-suffixed outboundKey)
93
+ this.instructionAggregator.setInstructions(templateName, instructions);
94
+ debugIf(() => ({
95
+ message: `Cached instructions for template server: ${templateName}`,
96
+ meta: { templateName, instructionLength: instructions.length },
97
+ }));
98
+ }
99
+ }
100
+ catch (error) {
101
+ logger.warn(`Failed to extract instructions from template server ${templateName}: ${error}`);
102
+ }
103
+ }
77
104
  // Track session -> rendered hash mapping for routing
78
105
  if (!this.sessionToRenderedHash.has(sessionId)) {
79
106
  this.sessionToRenderedHash.set(sessionId, new Map());
@@ -112,7 +139,19 @@ export class TemplateServerManager {
112
139
  });
113
140
  }
114
141
  catch (error) {
142
+ const errorMessage = error instanceof Error ? error.message : String(error);
115
143
  logger.error(`Failed to create client instance from template ${templateName}:`, error);
144
+ // Track the failure
145
+ this.failedTemplates.push({
146
+ templateName,
147
+ sessionId,
148
+ error: errorMessage,
149
+ timestamp: new Date(),
150
+ });
151
+ // Keep only last 100 failures to prevent memory growth
152
+ if (this.failedTemplates.length > 100) {
153
+ this.failedTemplates.shift();
154
+ }
116
155
  }
117
156
  }
118
157
  }
@@ -336,6 +375,12 @@ export class TemplateServerManager {
336
375
  getClientInstancePool() {
337
376
  return this.clientInstancePool;
338
377
  }
378
+ /**
379
+ * Get failed template server creation attempts
380
+ */
381
+ getFailedTemplates() {
382
+ return [...this.failedTemplates];
383
+ }
339
384
  /**
340
385
  * Get the rendered hash for a specific session and template
341
386
  * Used by resolveOutboundConnection to determine the correct outbound key
@@ -1 +1 @@
1
- {"version":3,"file":"templateServerManager.js","sourceRoot":"","sources":["../../../src/core/server/templateServerManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"templateServerManager.js","sourceRoot":"","sources":["../../../src/core/server/templateServerManager.ts"],"names":[],"mappings":"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"}