@1mcp/agent 0.29.2 → 0.30.0-beta1

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 (127) 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.d.ts.map +1 -1
  11. package/build/constants/mcp.js +1 -1
  12. package/build/constants/mcp.js.map +1 -1
  13. package/build/core/capabilities/capabilityAggregator.d.ts.map +1 -1
  14. package/build/core/capabilities/capabilityAggregator.js +42 -18
  15. package/build/core/capabilities/capabilityAggregator.js.map +1 -1
  16. package/build/core/capabilities/capabilityManager.d.ts +3 -2
  17. package/build/core/capabilities/capabilityManager.d.ts.map +1 -1
  18. package/build/core/capabilities/capabilityManager.js +3 -3
  19. package/build/core/capabilities/capabilityManager.js.map +1 -1
  20. package/build/core/capabilities/internal/installationTools.d.ts.map +1 -1
  21. package/build/core/capabilities/internal/installationTools.js +4 -0
  22. package/build/core/capabilities/internal/installationTools.js.map +1 -1
  23. package/build/core/capabilities/internal/lazyTools.d.ts +11 -0
  24. package/build/core/capabilities/internal/lazyTools.d.ts.map +1 -0
  25. package/build/core/capabilities/internal/lazyTools.js +48 -0
  26. package/build/core/capabilities/internal/lazyTools.js.map +1 -0
  27. package/build/core/capabilities/internal/managementTools.d.ts.map +1 -1
  28. package/build/core/capabilities/internal/managementTools.js +9 -0
  29. package/build/core/capabilities/internal/managementTools.js.map +1 -1
  30. package/build/core/capabilities/internalCapabilitiesProvider.d.ts +7 -1
  31. package/build/core/capabilities/internalCapabilitiesProvider.d.ts.map +1 -1
  32. package/build/core/capabilities/internalCapabilitiesProvider.js +31 -2
  33. package/build/core/capabilities/internalCapabilitiesProvider.js.map +1 -1
  34. package/build/core/capabilities/lazyLoadingOrchestrator.d.ts +175 -0
  35. package/build/core/capabilities/lazyLoadingOrchestrator.d.ts.map +1 -0
  36. package/build/core/capabilities/lazyLoadingOrchestrator.js +515 -0
  37. package/build/core/capabilities/lazyLoadingOrchestrator.js.map +1 -0
  38. package/build/core/capabilities/metaToolProvider.d.ts +118 -0
  39. package/build/core/capabilities/metaToolProvider.d.ts.map +1 -0
  40. package/build/core/capabilities/metaToolProvider.js +374 -0
  41. package/build/core/capabilities/metaToolProvider.js.map +1 -0
  42. package/build/core/capabilities/schemaCache.d.ts +124 -0
  43. package/build/core/capabilities/schemaCache.d.ts.map +1 -0
  44. package/build/core/capabilities/schemaCache.js +248 -0
  45. package/build/core/capabilities/schemaCache.js.map +1 -0
  46. package/build/core/capabilities/schemas/metaToolSchemas.d.ts +92 -0
  47. package/build/core/capabilities/schemas/metaToolSchemas.d.ts.map +1 -0
  48. package/build/core/capabilities/schemas/metaToolSchemas.js +68 -0
  49. package/build/core/capabilities/schemas/metaToolSchemas.js.map +1 -0
  50. package/build/core/capabilities/toolRegistry.d.ts +140 -0
  51. package/build/core/capabilities/toolRegistry.d.ts.map +1 -0
  52. package/build/core/capabilities/toolRegistry.js +284 -0
  53. package/build/core/capabilities/toolRegistry.js.map +1 -0
  54. package/build/core/client/clientManager.d.ts.map +1 -1
  55. package/build/core/client/clientManager.js +11 -5
  56. package/build/core/client/clientManager.js.map +1 -1
  57. package/build/core/flags/flagManager.d.ts.map +1 -1
  58. package/build/core/flags/flagManager.js +14 -1
  59. package/build/core/flags/flagManager.js.map +1 -1
  60. package/build/core/instructions/instructionAggregator.d.ts +21 -0
  61. package/build/core/instructions/instructionAggregator.d.ts.map +1 -1
  62. package/build/core/instructions/instructionAggregator.js +78 -3
  63. package/build/core/instructions/instructionAggregator.js.map +1 -1
  64. package/build/core/instructions/templateTypes.d.ts +40 -1
  65. package/build/core/instructions/templateTypes.d.ts.map +1 -1
  66. package/build/core/instructions/templateTypes.js +70 -0
  67. package/build/core/instructions/templateTypes.js.map +1 -1
  68. package/build/core/protocol/requestHandlers.d.ts +2 -1
  69. package/build/core/protocol/requestHandlers.d.ts.map +1 -1
  70. package/build/core/protocol/requestHandlers.js +112 -84
  71. package/build/core/protocol/requestHandlers.js.map +1 -1
  72. package/build/core/server/adapters/ExternalServerAdapter.d.ts +38 -0
  73. package/build/core/server/adapters/ExternalServerAdapter.d.ts.map +1 -0
  74. package/build/core/server/adapters/ExternalServerAdapter.js +50 -0
  75. package/build/core/server/adapters/ExternalServerAdapter.js.map +1 -0
  76. package/build/core/server/adapters/ServerRegistry.d.ts +63 -0
  77. package/build/core/server/adapters/ServerRegistry.d.ts.map +1 -0
  78. package/build/core/server/adapters/ServerRegistry.js +92 -0
  79. package/build/core/server/adapters/ServerRegistry.js.map +1 -0
  80. package/build/core/server/adapters/TemplateServerAdapter.d.ts +47 -0
  81. package/build/core/server/adapters/TemplateServerAdapter.d.ts.map +1 -0
  82. package/build/core/server/adapters/TemplateServerAdapter.js +99 -0
  83. package/build/core/server/adapters/TemplateServerAdapter.js.map +1 -0
  84. package/build/core/server/adapters/index.d.ts +5 -0
  85. package/build/core/server/adapters/index.d.ts.map +1 -0
  86. package/build/core/server/adapters/index.js +6 -0
  87. package/build/core/server/adapters/index.js.map +1 -0
  88. package/build/core/server/adapters/types.d.ts +122 -0
  89. package/build/core/server/adapters/types.d.ts.map +1 -0
  90. package/build/core/server/adapters/types.js +48 -0
  91. package/build/core/server/adapters/types.js.map +1 -0
  92. package/build/core/server/agentConfig.d.ts +19 -0
  93. package/build/core/server/agentConfig.d.ts.map +1 -1
  94. package/build/core/server/agentConfig.js +19 -0
  95. package/build/core/server/agentConfig.js.map +1 -1
  96. package/build/core/server/connectionManager.d.ts +17 -1
  97. package/build/core/server/connectionManager.d.ts.map +1 -1
  98. package/build/core/server/connectionManager.js +65 -5
  99. package/build/core/server/connectionManager.js.map +1 -1
  100. package/build/core/server/connectionResolver.d.ts +81 -0
  101. package/build/core/server/connectionResolver.d.ts.map +1 -0
  102. package/build/core/server/connectionResolver.js +140 -0
  103. package/build/core/server/connectionResolver.js.map +1 -0
  104. package/build/core/server/serverManager.d.ts +13 -0
  105. package/build/core/server/serverManager.d.ts.map +1 -1
  106. package/build/core/server/serverManager.js +49 -2
  107. package/build/core/server/serverManager.js.map +1 -1
  108. package/build/core/server/templateServerManager.d.ts +16 -0
  109. package/build/core/server/templateServerManager.d.ts.map +1 -1
  110. package/build/core/server/templateServerManager.js +45 -0
  111. package/build/core/server/templateServerManager.js.map +1 -1
  112. package/build/domains/preset/manager/presetManager.d.ts +5 -0
  113. package/build/domains/preset/manager/presetManager.d.ts.map +1 -1
  114. package/build/domains/preset/manager/presetManager.js +7 -0
  115. package/build/domains/preset/manager/presetManager.js.map +1 -1
  116. package/build/logger/logger.d.ts +13 -0
  117. package/build/logger/logger.d.ts.map +1 -1
  118. package/build/logger/logger.js +41 -0
  119. package/build/logger/logger.js.map +1 -1
  120. package/build/server.d.ts +3 -0
  121. package/build/server.d.ts.map +1 -1
  122. package/build/server.js +32 -0
  123. package/build/server.js.map +1 -1
  124. package/build/transport/http/middlewares/tagsExtractor.d.ts.map +1 -1
  125. package/build/transport/http/middlewares/tagsExtractor.js +71 -1
  126. package/build/transport/http/middlewares/tagsExtractor.js.map +1 -1
  127. package/package.json +1 -1
@@ -3,6 +3,7 @@ import { MCP_URI_SEPARATOR } from '../../constants.js';
3
3
  import { InternalCapabilitiesProvider } from '../../core/capabilities/internalCapabilitiesProvider.js';
4
4
  import { byCapabilities } from '../../core/filtering/clientFiltering.js';
5
5
  import { FilteringService } from '../../core/filtering/filteringService.js';
6
+ import { createConnectionResolver } from '../../core/server/connectionResolver.js';
6
7
  import { ServerManager } from '../../core/server/serverManager.js';
7
8
  import { ClientStatus } from '../../core/types/index.js';
8
9
  import { setLogLevel } from '../../logger/logger.js';
@@ -37,31 +38,10 @@ function getRequestSession(inboundConn) {
37
38
  * @returns The resolved outbound connection or undefined
38
39
  */
39
40
  function resolveOutboundConnection(clientName, sessionId, outboundConns) {
40
- // Try session-scoped key first (for per-client template servers: name:sessionId)
41
- if (sessionId) {
42
- const sessionKey = `${clientName}:${sessionId}`;
43
- const conn = outboundConns.get(sessionKey);
44
- if (conn) {
45
- return conn;
46
- }
47
- }
48
- // Try rendered hash-based key (for shareable template servers: name:renderedHash)
49
- if (sessionId) {
50
- // Access the session-to-renderedHash mapping from TemplateServerManager
51
- const templateServerManager = ServerManager.current.getTemplateServerManager();
52
- if (templateServerManager) {
53
- const renderedHash = templateServerManager.getRenderedHashForSession(sessionId, clientName);
54
- if (renderedHash) {
55
- const hashKey = `${clientName}:${renderedHash}`;
56
- const conn = outboundConns.get(hashKey);
57
- if (conn) {
58
- return conn;
59
- }
60
- }
61
- }
62
- }
63
- // Fall back to direct name lookup (for static servers)
64
- return outboundConns.get(clientName);
41
+ // Delegate to ConnectionResolver for cleaner abstraction
42
+ const templateServerManager = ServerManager.current.getTemplateServerManager();
43
+ const resolver = createConnectionResolver(outboundConns, templateServerManager);
44
+ return resolver.resolve(clientName, sessionId);
65
45
  }
66
46
  /**
67
47
  * Filter outbound connections for a specific session.
@@ -75,43 +55,10 @@ function resolveOutboundConnection(clientName, sessionId, outboundConns) {
75
55
  * @returns A filtered map of outbound connections
76
56
  */
77
57
  function filterConnectionsForSession(outboundConns, sessionId) {
78
- const filtered = new Map();
79
- // Get rendered hashes for this session
80
- const sessionHashes = getSessionRenderedHashes(sessionId);
81
- for (const [key, conn] of outboundConns.entries()) {
82
- // Static servers (no : in key) - always include
83
- if (!key.includes(':')) {
84
- filtered.set(key, conn);
85
- continue;
86
- }
87
- // Template servers (format: name:xxx)
88
- const [name, suffix] = key.split(':');
89
- // Per-client template servers (format: name:sessionId) - only include if session matches
90
- if (suffix === sessionId) {
91
- filtered.set(key, conn);
92
- continue;
93
- }
94
- // Shareable template servers (format: name:renderedHash) - include if this session uses this hash
95
- if (sessionHashes && sessionHashes.has(name) && sessionHashes.get(name) === suffix) {
96
- filtered.set(key, conn);
97
- }
98
- }
99
- return filtered;
100
- }
101
- /**
102
- * Get all rendered hashes for a specific session.
103
- * Used by filterConnectionsForSession to determine which shareable connections to include.
104
- * @param sessionId The session ID (optional)
105
- * @returns Map of templateName to renderedHash, or undefined if no session
106
- */
107
- function getSessionRenderedHashes(sessionId) {
108
- if (!sessionId)
109
- return undefined;
58
+ // Delegate to ConnectionResolver for cleaner abstraction
110
59
  const templateServerManager = ServerManager.current.getTemplateServerManager();
111
- if (templateServerManager) {
112
- return templateServerManager.getAllRenderedHashesForSession(sessionId);
113
- }
114
- return undefined;
60
+ const resolver = createConnectionResolver(outboundConns, templateServerManager);
61
+ return resolver.filterForSession(sessionId);
115
62
  }
116
63
  /**
117
64
  * Registers server-specific request handlers
@@ -158,7 +105,7 @@ function registerServerRequestHandlers(outboundConns, inboundConn) {
158
105
  * @param capabilities The server capabilities
159
106
  * @param tags Array of tags to filter clients by
160
107
  */
161
- export function registerRequestHandlers(outboundConns, inboundConn) {
108
+ export function registerRequestHandlers(outboundConns, inboundConn, lazyLoadingOrchestrator) {
162
109
  // Register logging level handler
163
110
  inboundConn.server.setRequestHandler(SetLevelRequestSchema, async (request) => {
164
111
  setLogLevel(request.params.level);
@@ -186,7 +133,7 @@ export function registerRequestHandlers(outboundConns, inboundConn) {
186
133
  // Register resource-related handlers
187
134
  registerResourceHandlers(outboundConns, inboundConn);
188
135
  // Register tool-related handlers
189
- registerToolHandlers(outboundConns, inboundConn);
136
+ registerToolHandlers(outboundConns, inboundConn, lazyLoadingOrchestrator);
190
137
  // Register prompt-related handlers
191
138
  registerPromptHandlers(outboundConns, inboundConn);
192
139
  // Register completion-related handlers
@@ -218,22 +165,6 @@ function registerResourceHandlers(outboundConns, inboundConn) {
218
165
  };
219
166
  }, 'Error listing resources'));
220
167
  // List Resource Templates handler
221
- inboundConn.server.setRequestHandler(ListResourceTemplatesRequestSchema, withErrorHandling(async (request) => {
222
- // Filter connections for this session first
223
- const sessionFilteredConns = filterConnectionsForSession(outboundConns, sessionId);
224
- // Then filter by capabilities, then by tags
225
- const capabilityFilteredClients = byCapabilities({ resources: {} })(sessionFilteredConns);
226
- const filteredClients = FilteringService.getFilteredConnections(capabilityFilteredClients, inboundConn);
227
- const result = await handlePagination(filteredClients, request.params || {}, (client, params, opts) => client.listResourceTemplates(params, opts), (outboundConn, result) => result.resourceTemplates?.map((template) => ({
228
- ...template,
229
- uriTemplate: buildUri(outboundConn.name, template.uriTemplate, MCP_URI_SEPARATOR),
230
- })) ?? [], inboundConn.enablePagination ?? false);
231
- return {
232
- resources: result.items,
233
- nextCursor: result.nextCursor,
234
- };
235
- }, 'Error listing resources'));
236
- // List Resource Templates handler
237
168
  inboundConn.server.setRequestHandler(ListResourceTemplatesRequestSchema, withErrorHandling(async (request) => {
238
169
  // Filter connections for this session first
239
170
  const sessionFilteredConns = filterConnectionsForSession(outboundConns, sessionId);
@@ -297,10 +228,58 @@ function registerResourceHandlers(outboundConns, inboundConn) {
297
228
  * @param clients Record of client instances
298
229
  * @param serverInfo The MCP server instance
299
230
  */
300
- function registerToolHandlers(outboundConns, inboundConn) {
231
+ function registerToolHandlers(outboundConns, inboundConn, lazyLoadingOrchestrator) {
301
232
  const sessionId = getRequestSession(inboundConn);
233
+ const lazyLoadingEnabled = lazyLoadingOrchestrator?.isEnabled();
302
234
  // List Tools handler
303
235
  inboundConn.server.setRequestHandler(ListToolsRequestSchema, withErrorHandling(async (request) => {
236
+ // If lazy loading is enabled, use LazyLoadingOrchestrator for tool listing
237
+ if (lazyLoadingEnabled && lazyLoadingOrchestrator) {
238
+ // Apply the same filtering chain as normal mode
239
+ // Step 1: Filter by session (for template servers like serena)
240
+ const sessionFilteredConns = filterConnectionsForSession(outboundConns, sessionId);
241
+ // Step 2: Filter by capability (servers with tools)
242
+ const capabilityFilteredClients = byCapabilities({ tools: {} })(sessionFilteredConns);
243
+ // Step 3: Filter by preset/tag configuration
244
+ const filteredClients = FilteringService.getFilteredConnections(capabilityFilteredClients, inboundConn);
245
+ // Get the set of filtered server names
246
+ const filteredServerNames = new Set(Array.from(filteredClients.values()).map((conn) => conn.name));
247
+ // Debug logging
248
+ logger.info('Lazy loading: filtered servers', {
249
+ totalOutbound: outboundConns.size,
250
+ sessionFiltered: sessionFilteredConns.size,
251
+ capabilityFiltered: capabilityFilteredClients.size,
252
+ finalFiltered: filteredClients.size,
253
+ filteredServerNames: Array.from(filteredServerNames),
254
+ inboundConfig: {
255
+ tagFilterMode: inboundConn.tagFilterMode,
256
+ tags: inboundConn.tags,
257
+ tagExpression: inboundConn.tagExpression,
258
+ },
259
+ });
260
+ // Get capabilities from orchestrator with filtered servers
261
+ // Store the session filter so that subsequent tool_list meta-tool calls
262
+ // will return only tools from the filtered servers
263
+ const capabilities = await lazyLoadingOrchestrator.getCapabilitiesForFilteredServers(filteredServerNames, sessionId);
264
+ // Get internal tools (always fully loaded) - filter out lazy tools when lazy loading is enabled
265
+ const internalProvider = InternalCapabilitiesProvider.getInstance();
266
+ await internalProvider.initialize();
267
+ const internalTools = internalProvider.getAvailableTools();
268
+ // Filter out lazy tools since they're provided by the MetaToolProvider
269
+ const lazyToolNames = ['tool_list', 'tool_schema', 'tool_invoke'];
270
+ const nonLazyTools = internalTools.filter((tool) => !lazyToolNames.includes(tool.name));
271
+ // Add internal tools to the result (with 1mcp prefix)
272
+ const internalToolsWithPrefix = nonLazyTools.map((tool) => ({
273
+ ...tool,
274
+ name: buildUri('1mcp', tool.name, MCP_URI_SEPARATOR),
275
+ }));
276
+ // Combine lazy-loaded tools with internal tools
277
+ const allTools = [...capabilities.tools, ...internalToolsWithPrefix];
278
+ return {
279
+ tools: allTools,
280
+ };
281
+ }
282
+ // Normal mode: get tools from external MCP servers
304
283
  // Filter connections for this session first
305
284
  const sessionFilteredConns = filterConnectionsForSession(outboundConns, sessionId);
306
285
  // Then filter by capabilities, then by tags
@@ -329,12 +308,61 @@ function registerToolHandlers(outboundConns, inboundConn) {
329
308
  }, 'Error listing tools'));
330
309
  // Call Tool handler
331
310
  inboundConn.server.setRequestHandler(CallToolRequestSchema, withErrorHandling(async (request) => {
332
- const { clientName, resourceName: toolName } = parseUri(request.params.name, MCP_URI_SEPARATOR);
333
- // Handle 1mcp tools
311
+ const toolName = request.params.name;
312
+ // Check if this is an unprefixed meta-tool call (when lazy loading is enabled)
313
+ const isUnprefixedMetaTool = lazyLoadingEnabled && lazyLoadingOrchestrator && lazyLoadingOrchestrator.isMetaTool(toolName);
314
+ if (isUnprefixedMetaTool && lazyLoadingOrchestrator) {
315
+ let result;
316
+ try {
317
+ result = await lazyLoadingOrchestrator.callMetaTool(toolName, request.params.arguments, sessionId);
318
+ }
319
+ catch (metaToolError) {
320
+ logger.error(`Meta-tool ${toolName} execution failed: ${metaToolError}`);
321
+ throw new Error(`Meta-tool ${toolName} failed: ${metaToolError instanceof Error ? metaToolError.message : String(metaToolError)}`);
322
+ }
323
+ // CRITICAL: Do not throw errors for structured error responses
324
+ // Meta-tools return structured errors in the result itself (with error.type and error.message)
325
+ // These should be returned to the client as-is, not thrown as exceptions
326
+ // The client will parse the structured error from the content field
327
+ // Return both content and structuredContent (required by MCP protocol for tools with outputSchema)
328
+ return {
329
+ content: [
330
+ {
331
+ type: 'text',
332
+ text: JSON.stringify(result, null, 2),
333
+ },
334
+ ],
335
+ structuredContent: result,
336
+ };
337
+ }
338
+ // CRITICAL: Handle unprefixed tool names when lazy loading is enabled
339
+ // If lazy loading is on and the tool name doesn't have the URI separator format,
340
+ // return a proper error instead of throwing during URI parsing
341
+ const isUnprefixedTool = lazyLoadingEnabled && !toolName.includes(MCP_URI_SEPARATOR);
342
+ if (isUnprefixedTool) {
343
+ // Unknown unprefixed tool in lazy loading mode
344
+ const errorResult = {
345
+ error: {
346
+ type: 'not_found',
347
+ message: `Unknown tool: ${toolName}. In lazy loading mode, use meta-tools (tool_list, tool_schema, tool_invoke) to discover and call tools.`,
348
+ },
349
+ };
350
+ return {
351
+ content: [
352
+ {
353
+ type: 'text',
354
+ text: JSON.stringify(errorResult, null, 2),
355
+ },
356
+ ],
357
+ structuredContent: errorResult,
358
+ };
359
+ }
360
+ const { clientName, resourceName: extractedToolName } = parseUri(toolName, MCP_URI_SEPARATOR);
361
+ // Handle 1mcp tools (includes both internal tools and lazy tools)
334
362
  if (clientName === '1mcp') {
335
363
  const internalProvider = InternalCapabilitiesProvider.getInstance();
336
364
  await internalProvider.initialize();
337
- const result = await internalProvider.executeTool(toolName, request.params.arguments);
365
+ const result = await internalProvider.executeTool(extractedToolName, request.params.arguments, sessionId);
338
366
  // For tools with output schemas, return both content and structuredContent
339
367
  // This is required by the MCP protocol when outputSchema is defined
340
368
  return {
@@ -352,7 +380,7 @@ function registerToolHandlers(outboundConns, inboundConn) {
352
380
  if (!outboundConn) {
353
381
  throw new Error(`Unknown client: ${clientName}`);
354
382
  }
355
- return outboundConn.client.callTool({ ...request.params, name: toolName }, CallToolResultSchema, {
383
+ return outboundConn.client.callTool({ ...request.params, name: extractedToolName }, CallToolResultSchema, {
356
384
  timeout: getRequestTimeout(outboundConn.transport),
357
385
  });
358
386
  }, 'Error calling tool'));
@@ -1 +1 @@
1
- {"version":3,"file":"requestHandlers.js","sourceRoot":"","sources":["../../../src/core/protocol/requestHandlers.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EAEpB,qBAAqB,EAErB,0BAA0B,EAE1B,mBAAmB,EACnB,sBAAsB,EAEtB,wBAAwB,EAExB,0BAA0B,EAE1B,kCAAkC,EAElC,sBAAsB,EAEtB,sBAAsB,EACtB,iBAAiB,EACjB,yBAAyB,EACzB,qBAAqB,EACrB,sBAAsB,EACtB,wBAAwB,GACzB,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,4BAA4B,EAAE,MAAM,wDAAwD,CAAC;AACtG,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EAAE,YAAY,EAA8D,MAAM,0BAA0B,CAAC;AACpH,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,MAAM,MAAM,uBAAuB,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAE/D;;;;GAIG;AACH,SAAS,iBAAiB,CAAC,WAA8B;IACvD,OAAO,WAAW,CAAC,OAAO,EAAE,SAAS,CAAC;AACxC,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,SAAS,yBAAyB,CAChC,UAAkB,EAClB,SAA6B,EAC7B,aAAkC;IAElC,iFAAiF;IACjF,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,UAAU,GAAG,GAAG,UAAU,IAAI,SAAS,EAAE,CAAC;QAChD,MAAM,IAAI,GAAG,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC3C,IAAI,IAAI,EAAE,CAAC;YACT,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,kFAAkF;IAClF,IAAI,SAAS,EAAE,CAAC;QACd,wEAAwE;QACxE,MAAM,qBAAqB,GAAG,aAAa,CAAC,OAAO,CAAC,wBAAwB,EAAE,CAAC;QAC/E,IAAI,qBAAqB,EAAE,CAAC;YAC1B,MAAM,YAAY,GAAG,qBAAqB,CAAC,yBAAyB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;YAC5F,IAAI,YAAY,EAAE,CAAC;gBACjB,MAAM,OAAO,GAAG,GAAG,UAAU,IAAI,YAAY,EAAE,CAAC;gBAChD,MAAM,IAAI,GAAG,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBACxC,IAAI,IAAI,EAAE,CAAC;oBACT,OAAO,IAAI,CAAC;gBACd,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,uDAAuD;IACvD,OAAO,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;AACvC,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,2BAA2B,CAClC,aAAkC,EAClC,SAA6B;IAE7B,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA8B,CAAC;IAEvD,uCAAuC;IACvC,MAAM,aAAa,GAAG,wBAAwB,CAAC,SAAS,CAAC,CAAC;IAE1D,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,aAAa,CAAC,OAAO,EAAE,EAAE,CAAC;QAClD,gDAAgD;QAChD,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACvB,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YACxB,SAAS;QACX,CAAC;QAED,sCAAsC;QACtC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAEtC,yFAAyF;QACzF,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YACxB,SAAS;QACX,CAAC;QAED,kGAAkG;QAClG,IAAI,aAAa,IAAI,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,MAAM,EAAE,CAAC;YACnF,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;;GAKG;AACH,SAAS,wBAAwB,CAAC,SAA6B;IAC7D,IAAI,CAAC,SAAS;QAAE,OAAO,SAAS,CAAC;IAEjC,MAAM,qBAAqB,GAAG,aAAa,CAAC,OAAO,CAAC,wBAAwB,EAAE,CAAC;IAC/E,IAAI,qBAAqB,EAAE,CAAC;QAC1B,OAAO,qBAAqB,CAAC,8BAA8B,CAAC,SAAS,CAAC,CAAC;IACzE,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAOD;;;;GAIG;AACH,SAAS,6BAA6B,CAAC,aAAkC,EAAE,WAA8B;IACvG,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,EAAE,EAAE;QAChE,MAAM,YAAY,GAAG,YAAY,CAAC,YAAsD,CAAC;QAEzF,2BAA2B;QAC3B,YAAY,CAAC,MAAM,CAAC,iBAAiB,CACnC,iBAAiB,EACjB,iBAAiB,CAAC,KAAK,IAAI,EAAE;YAC3B,OAAO,aAAa,CAAC,OAAO,CAAC,sBAAsB,CAAC,WAAW,EAAE,CAAC,WAA8B,EAAE,EAAE,CAClG,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE,CAC1B,CAAC;QACJ,CAAC,EAAE,eAAe,CAAC,CACpB,CAAC;QAEF,6EAA6E;QAC7E,IAAI,YAAY,EAAE,QAAQ,EAAE,CAAC;YAC3B,YAAY,CAAC,MAAM,CAAC,iBAAiB,CACnC,0BAA0B,EAC1B,iBAAiB,CAAC,KAAK,EAAE,OAA6B,EAAE,EAAE;gBACxD,OAAO,aAAa,CAAC,OAAO,CAAC,sBAAsB,CAAC,WAAW,EAAE,CAAC,WAA8B,EAAE,EAAE,CAClG,WAAW,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE;oBAC/C,OAAO,EAAE,iBAAiB,CAAC,YAAY,CAAC,SAAS,CAAC;iBACnD,CAAC,CACH,CAAC;YACJ,CAAC,EAAE,wBAAwB,CAAC,CAC7B,CAAC;QACJ,CAAC;QAED,gFAAgF;QAChF,IAAI,YAAY,EAAE,WAAW,EAAE,CAAC;YAC9B,YAAY,CAAC,MAAM,CAAC,iBAAiB,CACnC,mBAAmB,EACnB,iBAAiB,CAAC,KAAK,EAAE,OAAsB,EAAE,EAAE;gBACjD,OAAO,aAAa,CAAC,OAAO,CAAC,sBAAsB,CAAC,WAAW,EAAE,CAAC,WAA8B,EAAE,EAAE,CAClG,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE;oBAC7C,OAAO,EAAE,iBAAiB,CAAC,YAAY,CAAC,SAAS,CAAC;iBACnD,CAAC,CACH,CAAC;YACJ,CAAC,EAAE,uBAAuB,CAAC,CAC5B,CAAC;QACJ,CAAC;QAED,sEAAsE;QACtE,IAAI,YAAY,EAAE,KAAK,EAAE,CAAC;YACxB,YAAY,CAAC,MAAM,CAAC,iBAAiB,CACnC,sBAAsB,EACtB,iBAAiB,CAAC,KAAK,EAAE,OAAyB,EAAE,EAAE;gBACpD,OAAO,aAAa,CAAC,OAAO,CAAC,sBAAsB,CAAC,WAAW,EAAE,CAAC,WAA8B,EAAE,EAAE,CAClG,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE;oBAC3C,OAAO,EAAE,iBAAiB,CAAC,YAAY,CAAC,SAAS,CAAC;iBACnD,CAAC,CACH,CAAC;YACJ,CAAC,EAAE,qBAAqB,CAAC,CAC1B,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;GAMG;AAEH,MAAM,UAAU,uBAAuB,CAAC,aAAkC,EAAE,WAA8B;IACxG,iCAAiC;IACjC,WAAW,CAAC,MAAM,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAC5E,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAClC,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC,CAAC;IAEH,wBAAwB;IACxB,WAAW,CAAC,MAAM,CAAC,iBAAiB,CAClC,iBAAiB,EACjB,iBAAiB,CAAC,KAAK,IAAI,EAAE;QAC3B,8CAA8C;QAC9C,MAAM,mBAAmB,GAAG,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,UAAU,EAAE,YAAY,CAAC,EAAE,EAAE;YACvG,IAAI,YAAY,CAAC,MAAM,KAAK,YAAY,CAAC,SAAS,IAAI,YAAY,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;gBACpF,IAAI,CAAC;oBACH,MAAM,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;oBACjC,MAAM,CAAC,IAAI,CAAC,uCAAuC,UAAU,EAAE,CAAC,CAAC;gBACnE,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,CAAC,IAAI,CAAC,kCAAkC,UAAU,KAAK,KAAK,EAAE,CAAC,CAAC;gBACxE,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,uEAAuE;QACvE,MAAM,OAAO,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC;QAE9C,yCAAyC;QACzC,OAAO,EAAE,CAAC;IACZ,CAAC,EAAE,qBAAqB,CAAC,CAC1B,CAAC;IAEF,qCAAqC;IACrC,wBAAwB,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;IAErD,iCAAiC;IACjC,oBAAoB,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;IAEjD,mCAAmC;IACnC,sBAAsB,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;IAEnD,uCAAuC;IACvC,0BAA0B,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;IAEvD,4CAA4C;IAC5C,6BAA6B,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;AAC5D,CAAC;AAED;;;;GAIG;AACH,SAAS,wBAAwB,CAAC,aAAkC,EAAE,WAA8B;IAClG,MAAM,SAAS,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAEjD,yBAAyB;IACzB,WAAW,CAAC,MAAM,CAAC,iBAAiB,CAClC,0BAA0B,EAC1B,iBAAiB,CAAC,KAAK,EAAE,OAA6B,EAAE,EAAE;QACxD,4CAA4C;QAC5C,MAAM,oBAAoB,GAAG,2BAA2B,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;QACnF,4CAA4C;QAC5C,MAAM,yBAAyB,GAAG,cAAc,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC,oBAAoB,CAAC,CAAC;QAC1F,MAAM,eAAe,GAAG,gBAAgB,CAAC,sBAAsB,CAAC,yBAAyB,EAAE,WAAW,CAAC,CAAC;QAExG,MAAM,MAAM,GAAG,MAAM,gBAAgB,CACnC,eAAe,EACf,OAAO,CAAC,MAAM,IAAI,EAAE,EACpB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,MAAwC,EAAE,IAAI,CAAC,EAC9F,CAAC,YAAY,EAAE,MAAM,EAAE,EAAE,CACvB,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YACnC,GAAG,QAAQ;YACX,GAAG,EAAE,QAAQ,CAAC,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG,EAAE,iBAAiB,CAAC;SAClE,CAAC,CAAC,IAAI,EAAE,EACX,WAAW,CAAC,gBAAgB,IAAI,KAAK,CACtC,CAAC;QAEF,OAAO;YACL,SAAS,EAAE,MAAM,CAAC,KAAK;YACvB,UAAU,EAAE,MAAM,CAAC,UAAU;SAC9B,CAAC;IACJ,CAAC,EAAE,yBAAyB,CAAC,CAC9B,CAAC;IAEF,kCAAkC;IAClC,WAAW,CAAC,MAAM,CAAC,iBAAiB,CAClC,kCAAkC,EAClC,iBAAiB,CAAC,KAAK,EAAE,OAAqC,EAAE,EAAE;QAChE,4CAA4C;QAC5C,MAAM,oBAAoB,GAAG,2BAA2B,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;QACnF,4CAA4C;QAC5C,MAAM,yBAAyB,GAAG,cAAc,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC,oBAAoB,CAAC,CAAC;QAC1F,MAAM,eAAe,GAAG,gBAAgB,CAAC,sBAAsB,CAAC,yBAAyB,EAAE,WAAW,CAAC,CAAC;QAExG,MAAM,MAAM,GAAG,MAAM,gBAAgB,CACnC,eAAe,EACf,OAAO,CAAC,MAAM,IAAI,EAAE,EACpB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,qBAAqB,CAAC,MAAgD,EAAE,IAAI,CAAC,EAC9G,CAAC,YAAY,EAAE,MAAM,EAAE,EAAE,CACvB,MAAM,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YAC3C,GAAG,QAAQ;YACX,WAAW,EAAE,QAAQ,CAAC,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,WAAW,EAAE,iBAAiB,CAAC;SAClF,CAAC,CAAC,IAAI,EAAE,EACX,WAAW,CAAC,gBAAgB,IAAI,KAAK,CACtC,CAAC;QAEF,OAAO;YACL,SAAS,EAAE,MAAM,CAAC,KAAK;YACvB,UAAU,EAAE,MAAM,CAAC,UAAU;SAC9B,CAAC;IACJ,CAAC,EAAE,yBAAyB,CAAC,CAC9B,CAAC;IAEF,kCAAkC;IAClC,WAAW,CAAC,MAAM,CAAC,iBAAiB,CAClC,kCAAkC,EAClC,iBAAiB,CAAC,KAAK,EAAE,OAAqC,EAAE,EAAE;QAChE,4CAA4C;QAC5C,MAAM,oBAAoB,GAAG,2BAA2B,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;QACnF,4CAA4C;QAC5C,MAAM,yBAAyB,GAAG,cAAc,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC,oBAAoB,CAAC,CAAC;QAC1F,MAAM,eAAe,GAAG,gBAAgB,CAAC,sBAAsB,CAAC,yBAAyB,EAAE,WAAW,CAAC,CAAC;QAExG,MAAM,MAAM,GAAG,MAAM,gBAAgB,CACnC,eAAe,EACf,OAAO,CAAC,MAAM,IAAI,EAAE,EACpB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,qBAAqB,CAAC,MAAgD,EAAE,IAAI,CAAC,EAC9G,CAAC,YAAY,EAAE,MAAM,EAAE,EAAE,CACvB,MAAM,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YAC3C,GAAG,QAAQ;YACX,WAAW,EAAE,QAAQ,CAAC,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,WAAW,EAAE,iBAAiB,CAAC;SAClF,CAAC,CAAC,IAAI,EAAE,EACX,WAAW,CAAC,gBAAgB,IAAI,KAAK,CACtC,CAAC;QAEF,OAAO;YACL,iBAAiB,EAAE,MAAM,CAAC,KAAK;YAC/B,UAAU,EAAE,MAAM,CAAC,UAAU;SAC9B,CAAC;IACJ,CAAC,EAAE,kCAAkC,CAAC,CACvC,CAAC;IAEF,6BAA6B;IAC7B,WAAW,CAAC,MAAM,CAAC,iBAAiB,CAClC,sBAAsB,EACtB,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QAClC,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC;QACrF,MAAM,YAAY,GAAG,yBAAyB,CAAC,UAAU,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;QACrF,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,mBAAmB,UAAU,EAAE,CAAC,CAAC;QACnD,CAAC;QACD,OAAO,YAAY,CAAC,MAAM,CAAC,iBAAiB,CAC1C,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE,YAAY,EAAE,EACxC;YACE,OAAO,EAAE,iBAAiB,CAAC,YAAY,CAAC,SAAS,CAAC;SACnD,CACF,CAAC;IACJ,CAAC,EAAE,+BAA+B,CAAC,CACpC,CAAC;IAEF,+BAA+B;IAC/B,WAAW,CAAC,MAAM,CAAC,iBAAiB,CAClC,wBAAwB,EACxB,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QAClC,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC;QACrF,MAAM,YAAY,GAAG,yBAAyB,CAAC,UAAU,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;QACrF,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,mBAAmB,UAAU,EAAE,CAAC,CAAC;QACnD,CAAC;QACD,OAAO,YAAY,CAAC,MAAM,CAAC,mBAAmB,CAC5C,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE,YAAY,EAAE,EACxC;YACE,OAAO,EAAE,iBAAiB,CAAC,YAAY,CAAC,SAAS,CAAC;SACnD,CACF,CAAC;IACJ,CAAC,EAAE,mCAAmC,CAAC,CACxC,CAAC;IAEF,wBAAwB;IACxB,WAAW,CAAC,MAAM,CAAC,iBAAiB,CAClC,yBAAyB,EACzB,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QAClC,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC;QACrF,MAAM,YAAY,GAAG,yBAAyB,CAAC,UAAU,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;QACrF,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,mBAAmB,UAAU,EAAE,CAAC,CAAC;QACnD,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,YAAY,CACrD,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE,YAAY,EAAE,EACxC;YACE,OAAO,EAAE,iBAAiB,CAAC,YAAY,CAAC,SAAS,CAAC;SACnD,CACF,CAAC;QAEF,gEAAgE;QAChE,MAAM,mBAAmB,GAAG;YAC1B,GAAG,QAAQ;YACX,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;gBAC5C,GAAG,OAAO;gBACV,GAAG,EAAE,QAAQ,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,EAAE,iBAAiB,CAAC;aACjE,CAAC,CAAC;SACJ,CAAC;QAEF,OAAO,mBAAmB,CAAC;IAC7B,CAAC,EAAE,wBAAwB,CAAC,CAC7B,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAS,oBAAoB,CAAC,aAAkC,EAAE,WAA8B;IAC9F,MAAM,SAAS,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAEjD,qBAAqB;IACrB,WAAW,CAAC,MAAM,CAAC,iBAAiB,CAClC,sBAAsB,EACtB,iBAAiB,CAAC,KAAK,EAAE,OAAyB,EAAE,EAAE;QACpD,4CAA4C;QAC5C,MAAM,oBAAoB,GAAG,2BAA2B,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;QACnF,4CAA4C;QAC5C,MAAM,yBAAyB,GAAG,cAAc,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,oBAAoB,CAAC,CAAC;QACtF,MAAM,eAAe,GAAG,gBAAgB,CAAC,sBAAsB,CAAC,yBAAyB,EAAE,WAAW,CAAC,CAAC;QAExG,sCAAsC;QACtC,MAAM,MAAM,GAAG,MAAM,gBAAgB,CACnC,eAAe,EACf,OAAO,CAAC,MAAM,IAAI,EAAE,EACpB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,MAAoC,EAAE,IAAI,CAAC,EACtF,CAAC,YAAY,EAAE,MAAM,EAAE,EAAE,CACvB,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC3B,GAAG,IAAI;YACP,IAAI,EAAE,QAAQ,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,iBAAiB,CAAC;SAChE,CAAC,CAAC,IAAI,EAAE,EACX,WAAW,CAAC,gBAAgB,IAAI,KAAK,CACtC,CAAC;QAEF,gCAAgC;QAChC,MAAM,gBAAgB,GAAG,4BAA4B,CAAC,WAAW,EAAE,CAAC;QACpE,MAAM,gBAAgB,CAAC,UAAU,EAAE,CAAC;QACpC,MAAM,aAAa,GAAG,gBAAgB,CAAC,iBAAiB,EAAE,CAAC;QAE3D,sDAAsD;QACtD,MAAM,uBAAuB,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC3D,GAAG,IAAI;YACP,IAAI,EAAE,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,iBAAiB,CAAC;SACrD,CAAC,CAAC,CAAC;QAEJ,sCAAsC;QACtC,MAAM,QAAQ,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,EAAE,GAAG,uBAAuB,CAAC,CAAC;QAE/D,OAAO;YACL,KAAK,EAAE,QAAQ;YACf,UAAU,EAAE,MAAM,CAAC,UAAU;SAC9B,CAAC;IACJ,CAAC,EAAE,qBAAqB,CAAC,CAC1B,CAAC;IAEF,oBAAoB;IACpB,WAAW,CAAC,MAAM,CAAC,iBAAiB,CAClC,qBAAqB,EACrB,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QAClC,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;QAEhG,oBAAoB;QACpB,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;YAC1B,MAAM,gBAAgB,GAAG,4BAA4B,CAAC,WAAW,EAAE,CAAC;YACpE,MAAM,gBAAgB,CAAC,UAAU,EAAE,CAAC;YACpC,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAEtF,2EAA2E;YAC3E,oEAAoE;YACpE,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;qBACtC;iBACF;gBACD,iBAAiB,EAAE,MAAM;aAC1B,CAAC;QACJ,CAAC;QAED,mCAAmC;QACnC,MAAM,YAAY,GAAG,yBAAyB,CAAC,UAAU,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;QACrF,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,mBAAmB,UAAU,EAAE,CAAC,CAAC;QACnD,CAAC;QACD,OAAO,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,oBAAoB,EAAE;YAC/F,OAAO,EAAE,iBAAiB,CAAC,YAAY,CAAC,SAAS,CAAC;SACnD,CAAC,CAAC;IACL,CAAC,EAAE,oBAAoB,CAAC,CACzB,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAS,sBAAsB,CAAC,aAAkC,EAAE,WAA8B;IAChG,MAAM,SAAS,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAEjD,uBAAuB;IACvB,WAAW,CAAC,MAAM,CAAC,iBAAiB,CAClC,wBAAwB,EACxB,iBAAiB,CAAC,KAAK,EAAE,OAA2B,EAAE,EAAE;QACtD,4CAA4C;QAC5C,MAAM,oBAAoB,GAAG,2BAA2B,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;QACnF,4CAA4C;QAC5C,MAAM,yBAAyB,GAAG,cAAc,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,oBAAoB,CAAC,CAAC;QACxF,MAAM,eAAe,GAAG,gBAAgB,CAAC,sBAAsB,CAAC,yBAAyB,EAAE,WAAW,CAAC,CAAC;QAExG,MAAM,MAAM,GAAG,MAAM,gBAAgB,CACnC,eAAe,EACf,OAAO,CAAC,MAAM,IAAI,EAAE,EACpB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,MAAsC,EAAE,IAAI,CAAC,EAC1F,CAAC,YAAY,EAAE,MAAM,EAAE,EAAE,CACvB,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YAC/B,GAAG,MAAM;YACT,IAAI,EAAE,QAAQ,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,iBAAiB,CAAC;SAClE,CAAC,CAAC,IAAI,EAAE,EACX,WAAW,CAAC,gBAAgB,IAAI,KAAK,CACtC,CAAC;QAEF,OAAO;YACL,OAAO,EAAE,MAAM,CAAC,KAAK;YACrB,UAAU,EAAE,MAAM,CAAC,UAAU;SAC9B,CAAC;IACJ,CAAC,EAAE,uBAAuB,CAAC,CAC5B,CAAC;IAEF,qBAAqB;IACrB,WAAW,CAAC,MAAM,CAAC,iBAAiB,CAClC,sBAAsB,EACtB,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QAClC,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;QAClG,MAAM,YAAY,GAAG,yBAAyB,CAAC,UAAU,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;QACrF,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,mBAAmB,UAAU,EAAE,CAAC,CAAC;QACnD,CAAC;QACD,OAAO,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;IAChF,CAAC,EAAE,sBAAsB,CAAC,CAC3B,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAS,0BAA0B,CAAC,aAAkC,EAAE,WAA8B;IACpG,MAAM,SAAS,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAEjD,WAAW,CAAC,MAAM,CAAC,iBAAiB,CAClC,qBAAqB,EACrB,iBAAiB,CAAC,KAAK,EAAE,OAAwB,EAAE,EAAE;QACnD,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;QAC/B,IAAI,UAAkB,CAAC;QACvB,IAAI,UAAsB,CAAC;QAE3B,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YAC9B,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE,YAAY,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;YAC/E,UAAU,GAAG,EAAE,CAAC;YAChB,UAAU,GAAG,EAAE,GAAG,GAAG,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;QAC9C,CAAC;aAAM,IAAI,GAAG,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YACvC,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE,YAAY,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC;YAC9E,UAAU,GAAG,EAAE,CAAC;YAChB,UAAU,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC;QAC7C,CAAC;aAAM,CAAC;YACN,sEAAsE;YACtE,MAAM,IAAI,KAAK,CAAC,0CAA2C,GAAwB,CAAC,IAAI,EAAE,CAAC,CAAC;QAC9F,CAAC;QAED,MAAM,MAAM,GAAG,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC;QAEtD,MAAM,YAAY,GAAG,yBAAyB,CAAC,UAAU,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;QACrF,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,mBAAmB,UAAU,EAAE,CAAC,CAAC;QACnD,CAAC;QACD,OAAO,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE;YAC1C,OAAO,EAAE,iBAAiB,CAAC,YAAY,CAAC,SAAS,CAAC;SACnD,CAAC,CAAC;IACL,CAAC,EAAE,2BAA2B,CAAC,CAChC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"requestHandlers.js","sourceRoot":"","sources":["../../../src/core/protocol/requestHandlers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ import type { OutboundConnection, OutboundConnections } from '../../../core/types/client.js';
2
+ import type { MCPServerParams } from '../../../core/types/index.js';
3
+ import { ServerAdapter, ServerContext, ServerStatus, ServerType } from './types.js';
4
+ /**
5
+ * ExternalServerAdapter handles external MCP servers with static connections.
6
+ *
7
+ * External servers are configured in mcp.json and have a single, persistent
8
+ * connection that doesn't vary by session. The adapter is a read-only wrapper
9
+ * that provides unified access to these connections.
10
+ *
11
+ * Key format: serverName (no colon)
12
+ */
13
+ export declare class ExternalServerAdapter implements ServerAdapter {
14
+ readonly name: string;
15
+ readonly config: MCPServerParams;
16
+ private readonly outboundConns;
17
+ readonly type = ServerType.External;
18
+ constructor(name: string, config: MCPServerParams, outboundConns: OutboundConnections);
19
+ /**
20
+ * Resolve the outbound connection for this external server.
21
+ * External servers use direct name lookup (no session dependency).
22
+ */
23
+ resolveConnection(_context?: ServerContext): OutboundConnection | undefined;
24
+ /**
25
+ * Get the current status of this external server.
26
+ */
27
+ getStatus(_context?: ServerContext): ServerStatus;
28
+ /**
29
+ * Check if this external server is available.
30
+ */
31
+ isAvailable(_context?: ServerContext): boolean;
32
+ /**
33
+ * Get the connection key for this external server.
34
+ * External servers use the server name directly.
35
+ */
36
+ getConnectionKey(_context?: ServerContext): string | undefined;
37
+ }
38
+ //# sourceMappingURL=ExternalServerAdapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExternalServerAdapter.d.ts","sourceRoot":"","sources":["../../../../src/core/server/adapters/ExternalServerAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACzF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAEhE,OAAO,EAAiC,aAAa,EAAE,aAAa,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAEnH;;;;;;;;GAQG;AACH,qBAAa,qBAAsB,YAAW,aAAa;IAIvD,QAAQ,CAAC,IAAI,EAAE,MAAM;IACrB,QAAQ,CAAC,MAAM,EAAE,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,aAAa;IALhC,QAAQ,CAAC,IAAI,uBAAuB;gBAGzB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,eAAe,EACf,aAAa,EAAE,mBAAmB;IAGrD;;;OAGG;IACH,iBAAiB,CAAC,QAAQ,CAAC,EAAE,aAAa,GAAG,kBAAkB,GAAG,SAAS;IAI3E;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,EAAE,aAAa,GAAG,YAAY;IAKjD;;OAEG;IACH,WAAW,CAAC,QAAQ,CAAC,EAAE,aAAa,GAAG,OAAO;IAK9C;;;OAGG;IACH,gBAAgB,CAAC,QAAQ,CAAC,EAAE,aAAa,GAAG,MAAM,GAAG,SAAS;CAG/D"}
@@ -0,0 +1,50 @@
1
+ import { mapClientStatusToServerStatus, ServerStatus, ServerType } from './types.js';
2
+ /**
3
+ * ExternalServerAdapter handles external MCP servers with static connections.
4
+ *
5
+ * External servers are configured in mcp.json and have a single, persistent
6
+ * connection that doesn't vary by session. The adapter is a read-only wrapper
7
+ * that provides unified access to these connections.
8
+ *
9
+ * Key format: serverName (no colon)
10
+ */
11
+ export class ExternalServerAdapter {
12
+ name;
13
+ config;
14
+ outboundConns;
15
+ type = ServerType.External;
16
+ constructor(name, config, outboundConns) {
17
+ this.name = name;
18
+ this.config = config;
19
+ this.outboundConns = outboundConns;
20
+ }
21
+ /**
22
+ * Resolve the outbound connection for this external server.
23
+ * External servers use direct name lookup (no session dependency).
24
+ */
25
+ resolveConnection(_context) {
26
+ return this.outboundConns.get(this.name);
27
+ }
28
+ /**
29
+ * Get the current status of this external server.
30
+ */
31
+ getStatus(_context) {
32
+ const conn = this.resolveConnection();
33
+ return conn ? mapClientStatusToServerStatus(conn.status) : ServerStatus.Disconnected;
34
+ }
35
+ /**
36
+ * Check if this external server is available.
37
+ */
38
+ isAvailable(_context) {
39
+ const status = this.getStatus();
40
+ return status === ServerStatus.Connected;
41
+ }
42
+ /**
43
+ * Get the connection key for this external server.
44
+ * External servers use the server name directly.
45
+ */
46
+ getConnectionKey(_context) {
47
+ return this.name;
48
+ }
49
+ }
50
+ //# sourceMappingURL=ExternalServerAdapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExternalServerAdapter.js","sourceRoot":"","sources":["../../../../src/core/server/adapters/ExternalServerAdapter.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,6BAA6B,EAAgC,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAEnH;;;;;;;;GAQG;AACH,MAAM,OAAO,qBAAqB;IAIrB;IACA;IACQ;IALV,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC;IAEpC,YACW,IAAY,EACZ,MAAuB,EACf,aAAkC;QAF1C,SAAI,GAAJ,IAAI,CAAQ;QACZ,WAAM,GAAN,MAAM,CAAiB;QACf,kBAAa,GAAb,aAAa,CAAqB;IAClD,CAAC;IAEJ;;;OAGG;IACH,iBAAiB,CAAC,QAAwB;QACxC,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,QAAwB;QAChC,MAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACtC,OAAO,IAAI,CAAC,CAAC,CAAC,6BAA6B,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,YAAY,CAAC;IACvF,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,QAAwB;QAClC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,OAAO,MAAM,KAAK,YAAY,CAAC,SAAS,CAAC;IAC3C,CAAC;IAED;;;OAGG;IACH,gBAAgB,CAAC,QAAwB;QACvC,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;CACF"}
@@ -0,0 +1,63 @@
1
+ import type { TemplateServerManager } from '../../../core/server/templateServerManager.js';
2
+ import type { OutboundConnection, OutboundConnections } from '../../../core/types/client.js';
3
+ import type { MCPServerParams } from '../../../core/types/index.js';
4
+ import { ServerAdapter, ServerContext, ServerType } from './types.js';
5
+ /**
6
+ * ServerRegistry manages server adapters and provides unified access to all server types.
7
+ *
8
+ * The registry acts as a centralized lookup for server adapters, providing:
9
+ * - Unified connection resolution across all server types
10
+ * - Type-safe server access
11
+ * - Centralized server lifecycle tracking
12
+ */
13
+ export declare class ServerRegistry {
14
+ private readonly outboundConns;
15
+ private readonly templateManager?;
16
+ private adapters;
17
+ constructor(outboundConns: OutboundConnections, templateManager?: TemplateServerManager | undefined);
18
+ /**
19
+ * Register an external server adapter
20
+ */
21
+ registerExternal(name: string, config: MCPServerParams): void;
22
+ /**
23
+ * Register a template server adapter
24
+ */
25
+ registerTemplate(name: string, config: MCPServerParams): void;
26
+ /**
27
+ * Register a server adapter directly
28
+ */
29
+ register(adapter: ServerAdapter): void;
30
+ /**
31
+ * Get a server adapter by name
32
+ */
33
+ get(name: string): ServerAdapter | undefined;
34
+ /**
35
+ * Check if a server is registered
36
+ */
37
+ has(name: string): boolean;
38
+ /**
39
+ * Resolve connection for a server
40
+ */
41
+ resolveConnection(name: string, context?: ServerContext): OutboundConnection | undefined;
42
+ /**
43
+ * Get all registered server names
44
+ */
45
+ getServerNames(): string[];
46
+ /**
47
+ * Get all adapters of a specific type
48
+ */
49
+ getAdaptersByType(type: ServerType): ServerAdapter[];
50
+ /**
51
+ * Remove a server adapter
52
+ */
53
+ unregister(name: string): boolean;
54
+ /**
55
+ * Clear all adapters
56
+ */
57
+ clear(): void;
58
+ /**
59
+ * Get the total number of registered servers
60
+ */
61
+ size(): number;
62
+ }
63
+ //# sourceMappingURL=ServerRegistry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ServerRegistry.d.ts","sourceRoot":"","sources":["../../../../src/core/server/adapters/ServerRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2CAA2C,CAAC;AACvF,OAAO,KAAK,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACzF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAIhE,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAEtE;;;;;;;GAOG;AACH,qBAAa,cAAc;IAIvB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC;IAJnC,OAAO,CAAC,QAAQ,CAAoC;gBAGjC,aAAa,EAAE,mBAAmB,EAClC,eAAe,CAAC,EAAE,qBAAqB,YAAA;IAG1D;;OAEG;IACH,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,GAAG,IAAI;IAK7D;;OAEG;IACH,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,GAAG,IAAI;IAQ7D;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IAItC;;OAEG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAI5C;;OAEG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI1B;;OAEG;IACH,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,kBAAkB,GAAG,SAAS;IAKxF;;OAEG;IACH,cAAc,IAAI,MAAM,EAAE;IAI1B;;OAEG;IACH,iBAAiB,CAAC,IAAI,EAAE,UAAU,GAAG,aAAa,EAAE;IAIpD;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIjC;;OAEG;IACH,KAAK,IAAI,IAAI;IAIb;;OAEG;IACH,IAAI,IAAI,MAAM;CAGf"}
@@ -0,0 +1,92 @@
1
+ import { ExternalServerAdapter } from './ExternalServerAdapter.js';
2
+ import { TemplateServerAdapter } from './TemplateServerAdapter.js';
3
+ /**
4
+ * ServerRegistry manages server adapters and provides unified access to all server types.
5
+ *
6
+ * The registry acts as a centralized lookup for server adapters, providing:
7
+ * - Unified connection resolution across all server types
8
+ * - Type-safe server access
9
+ * - Centralized server lifecycle tracking
10
+ */
11
+ export class ServerRegistry {
12
+ outboundConns;
13
+ templateManager;
14
+ adapters = new Map();
15
+ constructor(outboundConns, templateManager) {
16
+ this.outboundConns = outboundConns;
17
+ this.templateManager = templateManager;
18
+ }
19
+ /**
20
+ * Register an external server adapter
21
+ */
22
+ registerExternal(name, config) {
23
+ const adapter = new ExternalServerAdapter(name, config, this.outboundConns);
24
+ this.adapters.set(name, adapter);
25
+ }
26
+ /**
27
+ * Register a template server adapter
28
+ */
29
+ registerTemplate(name, config) {
30
+ if (!this.templateManager) {
31
+ throw new Error('TemplateServerManager is required for template server adapters');
32
+ }
33
+ const adapter = new TemplateServerAdapter(name, config, this.outboundConns, this.templateManager);
34
+ this.adapters.set(name, adapter);
35
+ }
36
+ /**
37
+ * Register a server adapter directly
38
+ */
39
+ register(adapter) {
40
+ this.adapters.set(adapter.name, adapter);
41
+ }
42
+ /**
43
+ * Get a server adapter by name
44
+ */
45
+ get(name) {
46
+ return this.adapters.get(name);
47
+ }
48
+ /**
49
+ * Check if a server is registered
50
+ */
51
+ has(name) {
52
+ return this.adapters.has(name);
53
+ }
54
+ /**
55
+ * Resolve connection for a server
56
+ */
57
+ resolveConnection(name, context) {
58
+ const adapter = this.adapters.get(name);
59
+ return adapter?.resolveConnection(context);
60
+ }
61
+ /**
62
+ * Get all registered server names
63
+ */
64
+ getServerNames() {
65
+ return Array.from(this.adapters.keys());
66
+ }
67
+ /**
68
+ * Get all adapters of a specific type
69
+ */
70
+ getAdaptersByType(type) {
71
+ return Array.from(this.adapters.values()).filter((adapter) => adapter.type === type);
72
+ }
73
+ /**
74
+ * Remove a server adapter
75
+ */
76
+ unregister(name) {
77
+ return this.adapters.delete(name);
78
+ }
79
+ /**
80
+ * Clear all adapters
81
+ */
82
+ clear() {
83
+ this.adapters.clear();
84
+ }
85
+ /**
86
+ * Get the total number of registered servers
87
+ */
88
+ size() {
89
+ return this.adapters.size;
90
+ }
91
+ }
92
+ //# sourceMappingURL=ServerRegistry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ServerRegistry.js","sourceRoot":"","sources":["../../../../src/core/server/adapters/ServerRegistry.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAGnE;;;;;;;GAOG;AACH,MAAM,OAAO,cAAc;IAIN;IACA;IAJX,QAAQ,GAAG,IAAI,GAAG,EAAyB,CAAC;IAEpD,YACmB,aAAkC,EAClC,eAAuC;QADvC,kBAAa,GAAb,aAAa,CAAqB;QAClC,oBAAe,GAAf,eAAe,CAAwB;IACvD,CAAC;IAEJ;;OAEG;IACH,gBAAgB,CAAC,IAAY,EAAE,MAAuB;QACpD,MAAM,OAAO,GAAG,IAAI,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QAC5E,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,gBAAgB,CAAC,IAAY,EAAE,MAAuB;QACpD,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;QACpF,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QAClG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,OAAsB;QAC7B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED;;OAEG;IACH,GAAG,CAAC,IAAY;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,GAAG,CAAC,IAAY;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,iBAAiB,CAAC,IAAY,EAAE,OAAuB;QACrD,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACxC,OAAO,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAC7C,CAAC;IAED;;OAEG;IACH,cAAc;QACZ,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,iBAAiB,CAAC,IAAgB;QAChC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IACvF,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,IAAY;QACrB,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,IAAI;QACF,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;IAC5B,CAAC;CACF"}
@@ -0,0 +1,47 @@
1
+ import type { TemplateServerManager } from '../../../core/server/templateServerManager.js';
2
+ import type { OutboundConnection, OutboundConnections } from '../../../core/types/client.js';
3
+ import type { MCPServerParams } from '../../../core/types/index.js';
4
+ import { ServerAdapter, ServerContext, ServerStatus, ServerType } from './types.js';
5
+ /**
6
+ * TemplateServerAdapter handles template-based MCP servers with dynamic connections.
7
+ *
8
+ * Template servers are instantiated per session with rendered configurations.
9
+ * They can be either:
10
+ * - Shareable: Multiple sessions share the same instance (key: name:renderedHash)
11
+ * - Per-client: Each session gets its own instance (key: name:sessionId)
12
+ *
13
+ * The adapter wraps TemplateServerManager for session-to-hash lookups and uses
14
+ * the existing OutboundConnections map for connection data.
15
+ */
16
+ export declare class TemplateServerAdapter implements ServerAdapter {
17
+ readonly name: string;
18
+ readonly config: MCPServerParams;
19
+ private readonly outboundConns;
20
+ private readonly templateManager;
21
+ readonly type = ServerType.Template;
22
+ constructor(name: string, config: MCPServerParams, outboundConns: OutboundConnections, templateManager: TemplateServerManager);
23
+ /**
24
+ * Build the possible connection keys for a session.
25
+ * Returns keys in priority order: session-scoped first, then hash-based.
26
+ */
27
+ private buildConnectionKeys;
28
+ /**
29
+ * Resolve the outbound connection for this template server.
30
+ * Uses session-based resolution with hash lookup for shareable servers.
31
+ */
32
+ resolveConnection(context?: ServerContext): OutboundConnection | undefined;
33
+ /**
34
+ * Get the current status of this template server.
35
+ */
36
+ getStatus(context?: ServerContext): ServerStatus;
37
+ /**
38
+ * Check if this template server is available for the given context.
39
+ */
40
+ isAvailable(context?: ServerContext): boolean;
41
+ /**
42
+ * Get the connection key for this template server.
43
+ * Returns the key used in the outbound connections map.
44
+ */
45
+ getConnectionKey(context?: ServerContext): string | undefined;
46
+ }
47
+ //# sourceMappingURL=TemplateServerAdapter.d.ts.map