@elizaos/plugin-mcp 2.0.0-alpha.6 → 2.0.0-alpha.7

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.
@@ -1385,12 +1385,33 @@ var callToolAction = {
1385
1385
  "INVOKE_MCP_TOOL"
1386
1386
  ],
1387
1387
  description: "Calls a tool from an MCP server to perform a specific task",
1388
- validate: async (runtime, _message, _state) => {
1389
- const mcpService = runtime.getService(MCP_SERVICE_NAME);
1390
- if (!mcpService)
1388
+ validate: async (runtime, message, state, options) => {
1389
+ const __avTextRaw = typeof message?.content?.text === "string" ? message.content.text : "";
1390
+ const __avText = __avTextRaw.toLowerCase();
1391
+ const __avKeywords = ["call", "mcp", "tool"];
1392
+ const __avKeywordOk = __avKeywords.length > 0 && __avKeywords.some((kw) => kw.length > 0 && __avText.includes(kw));
1393
+ const __avRegex = /\b(?:call|mcp|tool)\b/i;
1394
+ const __avRegexOk = __avRegex.test(__avText);
1395
+ const __avSource = String(message?.content?.source ?? message?.source ?? "");
1396
+ const __avExpectedSource = "";
1397
+ const __avSourceOk = __avExpectedSource ? __avSource === __avExpectedSource : Boolean(__avSource || state || runtime?.agentId || runtime?.getService);
1398
+ const __avOptions = options && typeof options === "object" ? options : {};
1399
+ const __avInputOk = __avText.trim().length > 0 || Object.keys(__avOptions).length > 0 || Boolean(message?.content && typeof message.content === "object");
1400
+ if (!(__avKeywordOk && __avRegexOk && __avSourceOk && __avInputOk)) {
1401
+ return false;
1402
+ }
1403
+ const __avLegacyValidate = async (runtime2, _message, _state) => {
1404
+ const mcpService = runtime2.getService(MCP_SERVICE_NAME);
1405
+ if (!mcpService)
1406
+ return false;
1407
+ const servers = mcpService.getServers();
1408
+ return servers.length > 0 && servers.some((server) => server.status === "connected" && server.tools && server.tools.length > 0);
1409
+ };
1410
+ try {
1411
+ return Boolean(await __avLegacyValidate(runtime, message, state, options));
1412
+ } catch {
1391
1413
  return false;
1392
- const servers = mcpService.getServers();
1393
- return servers.length > 0 && servers.some((server) => server.status === "connected" && server.tools && server.tools.length > 0);
1414
+ }
1394
1415
  },
1395
1416
  handler: async (runtime, message, _state, _options, callback) => {
1396
1417
  const composedState = await runtime.composeState(message, ["RECENT_MESSAGES", "MCP"]);
@@ -1528,12 +1549,33 @@ var readResourceAction = {
1528
1549
  "ACCESS_MCP_RESOURCE"
1529
1550
  ],
1530
1551
  description: "Reads a resource from an MCP server",
1531
- validate: async (runtime, _message, _state) => {
1532
- const mcpService = runtime.getService(MCP_SERVICE_NAME);
1533
- if (!mcpService)
1552
+ validate: async (runtime, message, state, options) => {
1553
+ const __avTextRaw = typeof message?.content?.text === "string" ? message.content.text : "";
1554
+ const __avText = __avTextRaw.toLowerCase();
1555
+ const __avKeywords = ["read", "mcp", "resource"];
1556
+ const __avKeywordOk = __avKeywords.length > 0 && __avKeywords.some((kw) => kw.length > 0 && __avText.includes(kw));
1557
+ const __avRegex = /\b(?:read|mcp|resource)\b/i;
1558
+ const __avRegexOk = __avRegex.test(__avText);
1559
+ const __avSource = String(message?.content?.source ?? message?.source ?? "");
1560
+ const __avExpectedSource = "";
1561
+ const __avSourceOk = __avExpectedSource ? __avSource === __avExpectedSource : Boolean(__avSource || state || runtime?.agentId || runtime?.getService);
1562
+ const __avOptions = options && typeof options === "object" ? options : {};
1563
+ const __avInputOk = __avText.trim().length > 0 || Object.keys(__avOptions).length > 0 || Boolean(message?.content && typeof message.content === "object");
1564
+ if (!(__avKeywordOk && __avRegexOk && __avSourceOk && __avInputOk)) {
1565
+ return false;
1566
+ }
1567
+ const __avLegacyValidate = async (runtime2, _message, _state) => {
1568
+ const mcpService = runtime2.getService(MCP_SERVICE_NAME);
1569
+ if (!mcpService)
1570
+ return false;
1571
+ const servers = mcpService.getServers();
1572
+ return servers.length > 0 && servers.some((server) => server.status === "connected" && server.resources && server.resources.length > 0);
1573
+ };
1574
+ try {
1575
+ return Boolean(await __avLegacyValidate(runtime, message, state, options));
1576
+ } catch {
1534
1577
  return false;
1535
- const servers = mcpService.getServers();
1536
- return servers.length > 0 && servers.some((server) => server.status === "connected" && server.resources && server.resources.length > 0);
1578
+ }
1537
1579
  },
1538
1580
  handler: async (runtime, message, _state, _options, callback) => {
1539
1581
  const composedState = await runtime.composeState(message, ["RECENT_MESSAGES", "MCP"]);
@@ -1638,6 +1680,7 @@ var readResourceAction = {
1638
1680
  var provider = {
1639
1681
  name: "MCP",
1640
1682
  description: "Information about connected MCP servers, tools, and resources",
1683
+ dynamic: true,
1641
1684
  get: async (runtime, _message, _state) => {
1642
1685
  const mcpService = runtime.getService(MCP_SERVICE_NAME);
1643
1686
  if (!mcpService) {
@@ -2067,4 +2110,4 @@ var mcpPlugin = {
2067
2110
  };
2068
2111
  var src_default = mcpPlugin;
2069
2112
 
2070
- //# debugId=421C8829AD67B35564756E2164756E21
2113
+ //# debugId=1F147A30DFB3603364756E2164756E21
@@ -19,13 +19,13 @@
19
19
  "export const toolSelectionNameSchema = {\n type: \"object\",\n required: [\"serverName\", \"toolName\"],\n properties: {\n serverName: {\n type: \"string\",\n minLength: 1,\n errorMessage: \"serverName must not be empty\",\n },\n toolName: {\n type: \"string\",\n minLength: 1,\n errorMessage: \"toolName must not be empty\",\n },\n reasoning: {\n type: \"string\",\n },\n noToolAvailable: {\n type: \"boolean\",\n },\n },\n} as const;\n\nexport interface ToolSelectionName {\n readonly serverName: string;\n readonly toolName: string;\n readonly reasoning?: string;\n readonly noToolAvailable?: boolean;\n}\n\nexport const toolSelectionArgumentSchema = {\n type: \"object\",\n required: [\"toolArguments\"],\n properties: {\n toolArguments: {\n type: \"object\",\n },\n },\n} as const;\n\nexport interface ToolSelectionArgument {\n readonly toolArguments: Readonly<Record<string, unknown>>;\n}\n\nexport const ResourceSelectionSchema = {\n type: \"object\",\n required: [\"serverName\", \"uri\"],\n properties: {\n serverName: {\n type: \"string\",\n minLength: 1,\n errorMessage: \"serverName must not be empty\",\n },\n uri: {\n type: \"string\",\n minLength: 1,\n errorMessage: \"uri must not be empty\",\n },\n reasoning: {\n type: \"string\",\n },\n noResourceAvailable: {\n type: \"boolean\",\n },\n },\n} as const;\n\nexport interface ResourceSelection {\n readonly serverName: string;\n readonly uri: string;\n readonly reasoning?: string;\n readonly noResourceAvailable?: boolean;\n}\n\nexport function isToolSelectionName(value: unknown): value is ToolSelectionName {\n if (typeof value !== \"object\" || value === null) {\n return false;\n }\n const obj = value as Record<string, unknown>;\n return (\n typeof obj.serverName === \"string\" &&\n obj.serverName.length > 0 &&\n typeof obj.toolName === \"string\" &&\n obj.toolName.length > 0\n );\n}\n\nexport function isToolSelectionArgument(value: unknown): value is ToolSelectionArgument {\n if (typeof value !== \"object\" || value === null) {\n return false;\n }\n const obj = value as Record<string, unknown>;\n return typeof obj.toolArguments === \"object\" && obj.toolArguments !== null;\n}\n\nexport function isResourceSelection(value: unknown): value is ResourceSelection {\n if (typeof value !== \"object\" || value === null) {\n return false;\n }\n const obj = value as Record<string, unknown>;\n return (\n typeof obj.serverName === \"string\" &&\n obj.serverName.length > 0 &&\n typeof obj.uri === \"string\" &&\n obj.uri.length > 0\n );\n}\n",
20
20
  "import type { State } from \"@elizaos/core\";\nimport {\n type McpProviderData,\n type McpServerInfo,\n ResourceSelectionSchema,\n type ValidationResult,\n} from \"../types\";\nimport { validateJsonSchema } from \"./json\";\nimport {\n type ResourceSelection,\n type ToolSelectionArgument,\n type ToolSelectionName,\n toolSelectionArgumentSchema,\n toolSelectionNameSchema,\n} from \"./schemas\";\n\nexport type { ResourceSelection } from \"./schemas\";\n\nexport interface ToolSelection {\n readonly serverName: string;\n readonly toolName: string;\n readonly arguments: Readonly<Record<string, unknown>>;\n readonly reasoning?: string;\n readonly noToolAvailable?: boolean;\n}\n\nexport function validateToolSelectionName(\n parsed: unknown,\n state: State\n): ValidationResult<ToolSelectionName> {\n const basicResult = validateJsonSchema<ToolSelectionName>(parsed, toolSelectionNameSchema);\n if (basicResult.success === false) {\n return { success: false, error: basicResult.error };\n }\n\n const data = basicResult.data;\n const mcpData = (state.values.mcp ?? {}) as Record<string, McpServerInfo>;\n const server = mcpData[data.serverName];\n\n if (!server || server.status !== \"connected\") {\n return {\n success: false,\n error: `Server \"${data.serverName}\" not found or not connected`,\n };\n }\n\n const toolInfo = server.tools?.[data.toolName];\n if (!toolInfo) {\n return {\n success: false,\n error: `Tool \"${data.toolName}\" not found on server \"${data.serverName}\"`,\n };\n }\n\n return { success: true, data };\n}\n\nexport function validateToolSelectionArgument(\n parsed: unknown,\n toolInputSchema: Readonly<Record<string, unknown>>\n): ValidationResult<ToolSelectionArgument> {\n const basicResult = validateJsonSchema<ToolSelectionArgument>(\n parsed,\n toolSelectionArgumentSchema\n );\n if (basicResult.success === false) {\n return { success: false, error: basicResult.error };\n }\n\n const data = basicResult.data;\n const validationResult = validateJsonSchema(data.toolArguments, toolInputSchema);\n\n if (validationResult.success === false) {\n return {\n success: false,\n error: `Invalid arguments: ${validationResult.error}`,\n };\n }\n\n return { success: true, data };\n}\n\nexport function validateResourceSelection(selection: unknown): ValidationResult<ResourceSelection> {\n return validateJsonSchema<ResourceSelection>(selection, ResourceSelectionSchema);\n}\n\ninterface ToolDescription {\n readonly description?: string;\n}\n\nexport function createToolSelectionFeedbackPrompt(\n originalResponse: string,\n errorMessage: string,\n composedState: State,\n userMessage: string\n): string {\n let toolsDescription = \"\";\n const mcpData = composedState.values.mcp as Record<string, McpProviderData[string]> | undefined;\n\n if (mcpData) {\n for (const [serverName, server] of Object.entries(mcpData)) {\n if (server.status !== \"connected\") continue;\n\n const tools = server.tools as Record<string, ToolDescription> | undefined;\n if (tools) {\n for (const [toolName, tool] of Object.entries(tools)) {\n toolsDescription += `Tool: ${toolName} (Server: ${serverName})\\n`;\n toolsDescription += `Description: ${tool.description ?? \"No description available\"}\\n\\n`;\n }\n }\n }\n }\n\n return createFeedbackPrompt(\n originalResponse,\n errorMessage,\n \"tool\",\n toolsDescription,\n userMessage\n );\n}\n\ninterface ResourceDescription {\n readonly description?: string;\n readonly name?: string;\n}\n\nexport function createResourceSelectionFeedbackPrompt(\n originalResponse: string,\n errorMessage: string,\n composedState: State,\n userMessage: string\n): string {\n let resourcesDescription = \"\";\n const mcpData = composedState.values.mcp as Record<string, McpProviderData[string]> | undefined;\n\n if (mcpData) {\n for (const [serverName, server] of Object.entries(mcpData)) {\n if (server.status !== \"connected\") continue;\n\n const resources = server.resources as Record<string, ResourceDescription> | undefined;\n if (resources) {\n for (const [uri, resource] of Object.entries(resources)) {\n resourcesDescription += `Resource: ${uri} (Server: ${serverName})\\n`;\n resourcesDescription += `Name: ${resource.name ?? \"No name available\"}\\n`;\n resourcesDescription += `Description: ${\n resource.description ?? \"No description available\"\n }\\n\\n`;\n }\n }\n }\n }\n\n return createFeedbackPrompt(\n originalResponse,\n errorMessage,\n \"resource\",\n resourcesDescription,\n userMessage\n );\n}\n\nfunction createFeedbackPrompt(\n originalResponse: string,\n errorMessage: string,\n itemType: string,\n itemsDescription: string,\n userMessage: string\n): string {\n return `Error parsing JSON: ${errorMessage}\n\nYour original response:\n${originalResponse}\n\nPlease try again with valid JSON for ${itemType} selection.\nAvailable ${itemType}s:\n${itemsDescription}\n\nUser request: ${userMessage}`;\n}\n",
21
21
  "import {\n type HandlerCallback,\n type IAgentRuntime,\n type Memory,\n ModelType,\n type State,\n} from \"@elizaos/core\";\nimport { DEFAULT_MAX_RETRIES, type McpSettings, type ValidationResult } from \"../types\";\nimport { parseJSON } from \"./json\";\n\nexport type Input = string | Record<string, unknown>;\n\ntype CreateFeedbackPromptFn = (\n originalResponse: Input,\n errorMessage: string,\n composedState: State,\n userMessage: string\n) => string;\n\nexport interface WithModelRetryOptions<T> {\n readonly runtime: IAgentRuntime;\n readonly message: Memory;\n readonly state: State;\n readonly input: Input;\n readonly validationFn: (data: Input) => ValidationResult<T>;\n readonly createFeedbackPromptFn: CreateFeedbackPromptFn;\n readonly callback?: HandlerCallback;\n readonly failureMsg?: string;\n readonly retryCount?: number;\n}\n\nexport async function withModelRetry<T>({\n runtime,\n message,\n state,\n callback,\n input,\n validationFn,\n createFeedbackPromptFn,\n failureMsg,\n retryCount = 0,\n}: WithModelRetryOptions<T>): Promise<T | null> {\n const maxRetries = getMaxRetries(runtime);\n\n const parsedJson = typeof input === \"string\" ? parseJSON<Record<string, unknown>>(input) : input;\n\n const validationResult = validationFn(parsedJson);\n\n if (validationResult.success) {\n return validationResult.data;\n }\n\n const errorMessage = (validationResult as { success: false; error: string }).error;\n\n if (retryCount < maxRetries) {\n const feedbackPrompt: string = createFeedbackPromptFn(\n input,\n errorMessage,\n state,\n message.content.text ?? \"\"\n );\n\n const retrySelection = (await runtime.useModel(ModelType.OBJECT_LARGE, {\n prompt: feedbackPrompt,\n })) as Record<string, unknown>;\n\n return withModelRetry({\n runtime,\n input: retrySelection,\n validationFn,\n message,\n state,\n createFeedbackPromptFn,\n callback,\n failureMsg,\n retryCount: retryCount + 1,\n });\n }\n\n if (callback && failureMsg) {\n await callback({\n text: failureMsg,\n actions: [\"REPLY\"],\n });\n }\n\n return null;\n}\n\nfunction getMaxRetries(runtime: IAgentRuntime): number {\n const rawSettings = runtime.getSetting(\"mcp\");\n\n if (rawSettings && typeof rawSettings === \"object\") {\n const settings = rawSettings as McpSettings;\n if (typeof settings.maxRetries === \"number\" && settings.maxRetries >= 0) {\n return settings.maxRetries;\n }\n }\n\n return DEFAULT_MAX_RETRIES;\n}\n",
22
- "import type {\n Action,\n ActionResult,\n HandlerCallback,\n IAgentRuntime,\n Memory,\n State,\n} from \"@elizaos/core\";\nimport type { McpService } from \"../service\";\nimport { MCP_SERVICE_NAME, type McpServer } from \"../types\";\nimport { handleMcpError } from \"../utils/error\";\nimport { handleNoToolAvailable } from \"../utils/handler\";\nimport { handleToolResponse, processToolResult } from \"../utils/processing\";\nimport { createToolSelectionArgument, createToolSelectionName } from \"../utils/selection\";\n\nexport const callToolAction: Action = {\n name: \"CALL_MCP_TOOL\",\n similes: [\n \"CALL_TOOL\",\n \"CALL_MCP_TOOL\",\n \"USE_TOOL\",\n \"USE_MCP_TOOL\",\n \"EXECUTE_TOOL\",\n \"EXECUTE_MCP_TOOL\",\n \"RUN_TOOL\",\n \"RUN_MCP_TOOL\",\n \"INVOKE_TOOL\",\n \"INVOKE_MCP_TOOL\",\n ],\n description: \"Calls a tool from an MCP server to perform a specific task\",\n\n validate: async (runtime: IAgentRuntime, _message: Memory, _state?: State): Promise<boolean> => {\n const mcpService = runtime.getService<McpService>(MCP_SERVICE_NAME);\n if (!mcpService) return false;\n\n const servers = mcpService.getServers();\n return (\n servers.length > 0 &&\n servers.some(\n (server: McpServer) =>\n server.status === \"connected\" && server.tools && server.tools.length > 0\n )\n );\n },\n\n handler: async (\n runtime: IAgentRuntime,\n message: Memory,\n _state?: State,\n _options?: Record<string, unknown>,\n callback?: HandlerCallback\n ): Promise<ActionResult> => {\n const composedState = await runtime.composeState(message, [\"RECENT_MESSAGES\", \"MCP\"]);\n const mcpService = runtime.getService<McpService>(MCP_SERVICE_NAME);\n if (!mcpService) {\n throw new Error(\"MCP service not available\");\n }\n const mcpProvider = mcpService.getProviderData();\n\n try {\n const toolSelectionName = await createToolSelectionName({\n runtime,\n state: composedState,\n message,\n callback,\n mcpProvider,\n });\n if (!toolSelectionName || toolSelectionName.noToolAvailable) {\n return await handleNoToolAvailable(callback, toolSelectionName);\n }\n const { serverName, toolName } = toolSelectionName;\n\n const toolSelectionArgument = await createToolSelectionArgument({\n runtime,\n state: composedState,\n message,\n callback,\n mcpProvider,\n toolSelectionName,\n });\n if (!toolSelectionArgument) {\n return await handleNoToolAvailable(callback, toolSelectionName);\n }\n\n const result = await mcpService.callTool(\n serverName,\n toolName,\n toolSelectionArgument.toolArguments\n );\n\n const { toolOutput, hasAttachments, attachments } = processToolResult(\n result,\n serverName,\n toolName,\n runtime,\n message.entityId\n );\n\n const replyMemory = await handleToolResponse(\n runtime,\n message,\n serverName,\n toolName,\n toolSelectionArgument.toolArguments,\n toolOutput,\n hasAttachments,\n attachments,\n composedState,\n mcpProvider,\n callback\n );\n\n return {\n text: `Successfully called tool: ${serverName}/${toolName}. Reasoned response: ${replyMemory.content.text}`,\n values: {\n success: true,\n toolExecuted: true,\n serverName,\n toolName,\n hasAttachments,\n output: toolOutput,\n },\n data: {\n actionName: \"CALL_MCP_TOOL\",\n serverName,\n toolName,\n toolArgumentsJson: JSON.stringify(toolSelectionArgument.toolArguments),\n reasoning: toolSelectionName.reasoning,\n output: toolOutput,\n attachmentCount: attachments?.length ?? 0,\n },\n success: true,\n };\n } catch (error) {\n return await handleMcpError(\n composedState,\n mcpProvider,\n error,\n runtime,\n message,\n \"tool\",\n callback\n );\n }\n },\n\n examples: [\n [\n {\n name: \"{{user}}\",\n content: {\n text: \"Can you search for information about climate change?\",\n },\n },\n {\n name: \"{{assistant}}\",\n content: {\n text: \"I'll help you with that request. Let me access the right tool...\",\n actions: [\"CALL_MCP_TOOL\"],\n },\n },\n {\n name: \"{{assistant}}\",\n content: {\n text: \"I found the following information about climate change:\\n\\nClimate change refers to long-term shifts in temperatures and weather patterns. These shifts may be natural, but since the 1800s, human activities have been the main driver of climate change, primarily due to the burning of fossil fuels like coal, oil, and gas, which produces heat-trapping gases.\",\n actions: [\"CALL_MCP_TOOL\"],\n },\n },\n ],\n ],\n};\n",
23
- "import {\n type Action,\n type ActionResult,\n composePromptFromState,\n type HandlerCallback,\n type IAgentRuntime,\n type Memory,\n ModelType,\n type State,\n} from \"@elizaos/core\";\nimport type { McpService } from \"../service\";\nimport { resourceSelectionTemplate } from \"../templates/resourceSelectionTemplate\";\nimport { MCP_SERVICE_NAME, type McpServer, type McpServerInfo } from \"../types\";\nimport { handleMcpError } from \"../utils/error\";\nimport {\n handleResourceAnalysis,\n processResourceResult,\n sendInitialResponse,\n} from \"../utils/processing\";\nimport type { ResourceSelection } from \"../utils/schemas\";\nimport {\n createResourceSelectionFeedbackPrompt,\n validateResourceSelection,\n} from \"../utils/validation\";\nimport { withModelRetry } from \"../utils/wrapper\";\n\nfunction createResourceSelectionPrompt(composedState: State, userMessage: string): string {\n const mcpData = (composedState.values.mcp ?? {}) as Record<string, McpServerInfo>;\n const serverNames = Object.keys(mcpData);\n\n let resourcesDescription = \"\";\n for (const serverName of serverNames) {\n const server = mcpData[serverName];\n if (server.status !== \"connected\") continue;\n\n const resourceUris = Object.keys(server.resources ?? {});\n for (const uri of resourceUris) {\n const resource = server.resources[uri];\n resourcesDescription += `Resource: ${uri} (Server: ${serverName})\\n`;\n resourcesDescription += `Name: ${resource.name ?? \"No name available\"}\\n`;\n resourcesDescription += `Description: ${\n resource.description ?? \"No description available\"\n }\\n`;\n resourcesDescription += `MIME Type: ${resource.mimeType ?? \"Not specified\"}\\n\\n`;\n }\n }\n\n const enhancedState: State = {\n ...composedState,\n values: {\n ...composedState.values,\n resourcesDescription,\n userMessage,\n },\n };\n\n return composePromptFromState({\n state: enhancedState,\n template: resourceSelectionTemplate,\n });\n}\n\nexport const readResourceAction: Action = {\n name: \"READ_MCP_RESOURCE\",\n similes: [\n \"READ_RESOURCE\",\n \"READ_MCP_RESOURCE\",\n \"GET_RESOURCE\",\n \"GET_MCP_RESOURCE\",\n \"FETCH_RESOURCE\",\n \"FETCH_MCP_RESOURCE\",\n \"ACCESS_RESOURCE\",\n \"ACCESS_MCP_RESOURCE\",\n ],\n description: \"Reads a resource from an MCP server\",\n\n validate: async (runtime: IAgentRuntime, _message: Memory, _state?: State): Promise<boolean> => {\n const mcpService = runtime.getService<McpService>(MCP_SERVICE_NAME);\n if (!mcpService) return false;\n\n const servers = mcpService.getServers();\n return (\n servers.length > 0 &&\n servers.some(\n (server: McpServer) =>\n server.status === \"connected\" && server.resources && server.resources.length > 0\n )\n );\n },\n\n handler: async (\n runtime: IAgentRuntime,\n message: Memory,\n _state?: State,\n _options?: Record<string, unknown>,\n callback?: HandlerCallback\n ): Promise<ActionResult> => {\n const composedState = await runtime.composeState(message, [\"RECENT_MESSAGES\", \"MCP\"]);\n\n const mcpService = runtime.getService<McpService>(MCP_SERVICE_NAME);\n if (!mcpService) {\n throw new Error(\"MCP service not available\");\n }\n\n const mcpProvider = mcpService.getProviderData();\n\n try {\n await sendInitialResponse(callback);\n\n const resourceSelectionPrompt = createResourceSelectionPrompt(\n composedState,\n message.content.text ?? \"\"\n );\n\n const resourceSelection = (await runtime.useModel(ModelType.TEXT_SMALL, {\n prompt: resourceSelectionPrompt,\n })) as string;\n\n const parsedSelection = await withModelRetry<ResourceSelection>({\n runtime,\n state: composedState,\n message,\n callback,\n input: resourceSelection,\n validationFn: (data) => validateResourceSelection(data),\n createFeedbackPromptFn: (originalResponse, errorMessage, state, userMessage) =>\n createResourceSelectionFeedbackPrompt(\n typeof originalResponse === \"string\"\n ? originalResponse\n : JSON.stringify(originalResponse),\n errorMessage,\n state,\n userMessage\n ),\n failureMsg: `I'm having trouble finding the resource you're looking for. Could you provide more details about what you need?`,\n retryCount: 0,\n });\n\n if (!parsedSelection || parsedSelection.noResourceAvailable) {\n const responseText =\n \"I don't have a specific resource that contains the information you're looking for. Let me try to assist you directly instead.\";\n\n if (callback && parsedSelection?.noResourceAvailable) {\n await callback({\n text: responseText,\n actions: [\"REPLY\"],\n });\n }\n return {\n text: responseText,\n values: {\n success: true,\n noResourceAvailable: true,\n fallbackToDirectAssistance: true,\n },\n data: {\n actionName: \"READ_MCP_RESOURCE\",\n noResourceAvailable: true,\n reason: parsedSelection?.reasoning ?? \"No appropriate resource available\",\n },\n success: true,\n };\n }\n\n const { serverName, uri } = parsedSelection;\n\n const result = await mcpService.readResource(serverName, uri);\n\n const { resourceContent, resourceMeta } = processResourceResult(result, uri);\n\n await handleResourceAnalysis(\n runtime,\n message,\n uri,\n serverName,\n resourceContent,\n resourceMeta,\n callback\n );\n\n return {\n text: `Successfully read resource: ${uri}`,\n values: {\n success: true,\n resourceRead: true,\n serverName,\n uri,\n },\n data: {\n actionName: \"READ_MCP_RESOURCE\",\n serverName,\n uri,\n reasoning: parsedSelection?.reasoning,\n resourceMeta,\n contentLength: resourceContent?.length ?? 0,\n },\n success: true,\n };\n } catch (error) {\n return await handleMcpError(\n composedState,\n mcpProvider,\n error,\n runtime,\n message,\n \"resource\",\n callback\n );\n }\n },\n\n examples: [\n [\n {\n name: \"{{user}}\",\n content: {\n text: \"Can you get the documentation about installing elizaOS?\",\n },\n },\n {\n name: \"{{assistant}}\",\n content: {\n text: `I'll retrieve that information for you. Let me access the resource...`,\n actions: [\"READ_MCP_RESOURCE\"],\n },\n },\n {\n name: \"{{assistant}}\",\n content: {\n text: `elizaOS installation is straightforward. You'll need Node.js 23+ and Git installed. For Windows users, WSL 2 is required. The quickest way to get started is by cloning the elizaOS starter repository with \\`git clone https://github.com/elizaos/eliza-starter.git\\`, then run \\`cd eliza-starter && cp .env.example .env && bun i && bun run build && bun start\\`. This will set up a development environment with the core features enabled. After starting, you can access the web interface at http://localhost:3000 to interact with your agent.`,\n actions: [\"READ_MCP_RESOURCE\"],\n },\n },\n ],\n ],\n};\n",
24
- "import type { IAgentRuntime, Memory, Provider, ProviderResult, State } from \"@elizaos/core\";\nimport type { McpService } from \"./service\";\nimport { MCP_SERVICE_NAME } from \"./types\";\n\nexport const provider: Provider = {\n name: \"MCP\",\n description: \"Information about connected MCP servers, tools, and resources\",\n\n get: async (runtime: IAgentRuntime, _message: Memory, _state: State): Promise<ProviderResult> => {\n const mcpService = runtime.getService<McpService>(MCP_SERVICE_NAME);\n if (!mcpService) {\n return {\n values: {},\n data: {},\n text: \"No MCP servers are available.\",\n };\n }\n\n const providerData = mcpService.getProviderData();\n return {\n values: { mcpServers: JSON.stringify(providerData.values.mcp) },\n data: { mcpServerCount: Object.keys(providerData.data.mcp).length },\n text: providerData.text,\n };\n },\n};\n",
22
+ "import type {\n Action,\n ActionResult,\n HandlerCallback,\n IAgentRuntime,\n Memory,\n State,\n} from \"@elizaos/core\";\nimport type { McpService } from \"../service\";\nimport { MCP_SERVICE_NAME, type McpServer } from \"../types\";\nimport { handleMcpError } from \"../utils/error\";\nimport { handleNoToolAvailable } from \"../utils/handler\";\nimport { handleToolResponse, processToolResult } from \"../utils/processing\";\nimport { createToolSelectionArgument, createToolSelectionName } from \"../utils/selection\";\n\nexport const callToolAction: Action = {\n name: \"CALL_MCP_TOOL\",\n similes: [\n \"CALL_TOOL\",\n \"CALL_MCP_TOOL\",\n \"USE_TOOL\",\n \"USE_MCP_TOOL\",\n \"EXECUTE_TOOL\",\n \"EXECUTE_MCP_TOOL\",\n \"RUN_TOOL\",\n \"RUN_MCP_TOOL\",\n \"INVOKE_TOOL\",\n \"INVOKE_MCP_TOOL\",\n ],\n description: \"Calls a tool from an MCP server to perform a specific task\",\n\n validate: async (runtime: any, message: any, state?: any, options?: any): Promise<boolean> => {\n const __avTextRaw = typeof message?.content?.text === \"string\" ? message.content.text : \"\";\n const __avText = __avTextRaw.toLowerCase();\n const __avKeywords = [\"call\", \"mcp\", \"tool\"];\n const __avKeywordOk =\n __avKeywords.length > 0 && __avKeywords.some((kw) => kw.length > 0 && __avText.includes(kw));\n const __avRegex = /\\b(?:call|mcp|tool)\\b/i;\n const __avRegexOk = __avRegex.test(__avText);\n const __avSource = String(message?.content?.source ?? message?.source ?? \"\");\n const __avExpectedSource = \"\";\n const __avSourceOk = __avExpectedSource\n ? __avSource === __avExpectedSource\n : Boolean(__avSource || state || runtime?.agentId || runtime?.getService);\n const __avOptions = options && typeof options === \"object\" ? options : {};\n const __avInputOk =\n __avText.trim().length > 0 ||\n Object.keys(__avOptions as Record<string, unknown>).length > 0 ||\n Boolean(message?.content && typeof message.content === \"object\");\n\n if (!(__avKeywordOk && __avRegexOk && __avSourceOk && __avInputOk)) {\n return false;\n }\n\n const __avLegacyValidate = async (\n runtime: IAgentRuntime,\n _message: Memory,\n _state?: State\n ): Promise<boolean> => {\n const mcpService = runtime.getService<McpService>(MCP_SERVICE_NAME);\n if (!mcpService) return false;\n\n const servers = mcpService.getServers();\n return (\n servers.length > 0 &&\n servers.some(\n (server: McpServer) =>\n server.status === \"connected\" && server.tools && server.tools.length > 0\n )\n );\n };\n try {\n return Boolean(await (__avLegacyValidate as any)(runtime, message, state, options));\n } catch {\n return false;\n }\n },\n\n handler: async (\n runtime: IAgentRuntime,\n message: Memory,\n _state?: State,\n _options?: Record<string, unknown>,\n callback?: HandlerCallback\n ): Promise<ActionResult> => {\n const composedState = await runtime.composeState(message, [\"RECENT_MESSAGES\", \"MCP\"]);\n const mcpService = runtime.getService<McpService>(MCP_SERVICE_NAME);\n if (!mcpService) {\n throw new Error(\"MCP service not available\");\n }\n const mcpProvider = mcpService.getProviderData();\n\n try {\n const toolSelectionName = await createToolSelectionName({\n runtime,\n state: composedState,\n message,\n callback,\n mcpProvider,\n });\n if (!toolSelectionName || toolSelectionName.noToolAvailable) {\n return await handleNoToolAvailable(callback, toolSelectionName);\n }\n const { serverName, toolName } = toolSelectionName;\n\n const toolSelectionArgument = await createToolSelectionArgument({\n runtime,\n state: composedState,\n message,\n callback,\n mcpProvider,\n toolSelectionName,\n });\n if (!toolSelectionArgument) {\n return await handleNoToolAvailable(callback, toolSelectionName);\n }\n\n const result = await mcpService.callTool(\n serverName,\n toolName,\n toolSelectionArgument.toolArguments\n );\n\n const { toolOutput, hasAttachments, attachments } = processToolResult(\n result,\n serverName,\n toolName,\n runtime,\n message.entityId\n );\n\n const replyMemory = await handleToolResponse(\n runtime,\n message,\n serverName,\n toolName,\n toolSelectionArgument.toolArguments,\n toolOutput,\n hasAttachments,\n attachments,\n composedState,\n mcpProvider,\n callback\n );\n\n return {\n text: `Successfully called tool: ${serverName}/${toolName}. Reasoned response: ${replyMemory.content.text}`,\n values: {\n success: true,\n toolExecuted: true,\n serverName,\n toolName,\n hasAttachments,\n output: toolOutput,\n },\n data: {\n actionName: \"CALL_MCP_TOOL\",\n serverName,\n toolName,\n toolArgumentsJson: JSON.stringify(toolSelectionArgument.toolArguments),\n reasoning: toolSelectionName.reasoning,\n output: toolOutput,\n attachmentCount: attachments?.length ?? 0,\n },\n success: true,\n };\n } catch (error) {\n return await handleMcpError(\n composedState,\n mcpProvider,\n error,\n runtime,\n message,\n \"tool\",\n callback\n );\n }\n },\n\n examples: [\n [\n {\n name: \"{{user}}\",\n content: {\n text: \"Can you search for information about climate change?\",\n },\n },\n {\n name: \"{{assistant}}\",\n content: {\n text: \"I'll help you with that request. Let me access the right tool...\",\n actions: [\"CALL_MCP_TOOL\"],\n },\n },\n {\n name: \"{{assistant}}\",\n content: {\n text: \"I found the following information about climate change:\\n\\nClimate change refers to long-term shifts in temperatures and weather patterns. These shifts may be natural, but since the 1800s, human activities have been the main driver of climate change, primarily due to the burning of fossil fuels like coal, oil, and gas, which produces heat-trapping gases.\",\n actions: [\"CALL_MCP_TOOL\"],\n },\n },\n ],\n ],\n};\n",
23
+ "import {\n type Action,\n type ActionResult,\n composePromptFromState,\n type HandlerCallback,\n type IAgentRuntime,\n type Memory,\n ModelType,\n type State,\n} from \"@elizaos/core\";\nimport type { McpService } from \"../service\";\nimport { resourceSelectionTemplate } from \"../templates/resourceSelectionTemplate\";\nimport { MCP_SERVICE_NAME, type McpServer, type McpServerInfo } from \"../types\";\nimport { handleMcpError } from \"../utils/error\";\nimport {\n handleResourceAnalysis,\n processResourceResult,\n sendInitialResponse,\n} from \"../utils/processing\";\nimport type { ResourceSelection } from \"../utils/schemas\";\nimport {\n createResourceSelectionFeedbackPrompt,\n validateResourceSelection,\n} from \"../utils/validation\";\nimport { withModelRetry } from \"../utils/wrapper\";\n\nfunction createResourceSelectionPrompt(composedState: State, userMessage: string): string {\n const mcpData = (composedState.values.mcp ?? {}) as Record<string, McpServerInfo>;\n const serverNames = Object.keys(mcpData);\n\n let resourcesDescription = \"\";\n for (const serverName of serverNames) {\n const server = mcpData[serverName];\n if (server.status !== \"connected\") continue;\n\n const resourceUris = Object.keys(server.resources ?? {});\n for (const uri of resourceUris) {\n const resource = server.resources[uri];\n resourcesDescription += `Resource: ${uri} (Server: ${serverName})\\n`;\n resourcesDescription += `Name: ${resource.name ?? \"No name available\"}\\n`;\n resourcesDescription += `Description: ${\n resource.description ?? \"No description available\"\n }\\n`;\n resourcesDescription += `MIME Type: ${resource.mimeType ?? \"Not specified\"}\\n\\n`;\n }\n }\n\n const enhancedState: State = {\n ...composedState,\n values: {\n ...composedState.values,\n resourcesDescription,\n userMessage,\n },\n };\n\n return composePromptFromState({\n state: enhancedState,\n template: resourceSelectionTemplate,\n });\n}\n\nexport const readResourceAction: Action = {\n name: \"READ_MCP_RESOURCE\",\n similes: [\n \"READ_RESOURCE\",\n \"READ_MCP_RESOURCE\",\n \"GET_RESOURCE\",\n \"GET_MCP_RESOURCE\",\n \"FETCH_RESOURCE\",\n \"FETCH_MCP_RESOURCE\",\n \"ACCESS_RESOURCE\",\n \"ACCESS_MCP_RESOURCE\",\n ],\n description: \"Reads a resource from an MCP server\",\n\n validate: async (runtime: any, message: any, state?: any, options?: any): Promise<boolean> => {\n const __avTextRaw = typeof message?.content?.text === \"string\" ? message.content.text : \"\";\n const __avText = __avTextRaw.toLowerCase();\n const __avKeywords = [\"read\", \"mcp\", \"resource\"];\n const __avKeywordOk =\n __avKeywords.length > 0 && __avKeywords.some((kw) => kw.length > 0 && __avText.includes(kw));\n const __avRegex = /\\b(?:read|mcp|resource)\\b/i;\n const __avRegexOk = __avRegex.test(__avText);\n const __avSource = String(message?.content?.source ?? message?.source ?? \"\");\n const __avExpectedSource = \"\";\n const __avSourceOk = __avExpectedSource\n ? __avSource === __avExpectedSource\n : Boolean(__avSource || state || runtime?.agentId || runtime?.getService);\n const __avOptions = options && typeof options === \"object\" ? options : {};\n const __avInputOk =\n __avText.trim().length > 0 ||\n Object.keys(__avOptions as Record<string, unknown>).length > 0 ||\n Boolean(message?.content && typeof message.content === \"object\");\n\n if (!(__avKeywordOk && __avRegexOk && __avSourceOk && __avInputOk)) {\n return false;\n }\n\n const __avLegacyValidate = async (\n runtime: IAgentRuntime,\n _message: Memory,\n _state?: State\n ): Promise<boolean> => {\n const mcpService = runtime.getService<McpService>(MCP_SERVICE_NAME);\n if (!mcpService) return false;\n\n const servers = mcpService.getServers();\n return (\n servers.length > 0 &&\n servers.some(\n (server: McpServer) =>\n server.status === \"connected\" && server.resources && server.resources.length > 0\n )\n );\n };\n try {\n return Boolean(await (__avLegacyValidate as any)(runtime, message, state, options));\n } catch {\n return false;\n }\n },\n\n handler: async (\n runtime: IAgentRuntime,\n message: Memory,\n _state?: State,\n _options?: Record<string, unknown>,\n callback?: HandlerCallback\n ): Promise<ActionResult> => {\n const composedState = await runtime.composeState(message, [\"RECENT_MESSAGES\", \"MCP\"]);\n\n const mcpService = runtime.getService<McpService>(MCP_SERVICE_NAME);\n if (!mcpService) {\n throw new Error(\"MCP service not available\");\n }\n\n const mcpProvider = mcpService.getProviderData();\n\n try {\n await sendInitialResponse(callback);\n\n const resourceSelectionPrompt = createResourceSelectionPrompt(\n composedState,\n message.content.text ?? \"\"\n );\n\n const resourceSelection = (await runtime.useModel(ModelType.TEXT_SMALL, {\n prompt: resourceSelectionPrompt,\n })) as string;\n\n const parsedSelection = await withModelRetry<ResourceSelection>({\n runtime,\n state: composedState,\n message,\n callback,\n input: resourceSelection,\n validationFn: (data) => validateResourceSelection(data),\n createFeedbackPromptFn: (originalResponse, errorMessage, state, userMessage) =>\n createResourceSelectionFeedbackPrompt(\n typeof originalResponse === \"string\"\n ? originalResponse\n : JSON.stringify(originalResponse),\n errorMessage,\n state,\n userMessage\n ),\n failureMsg: `I'm having trouble finding the resource you're looking for. Could you provide more details about what you need?`,\n retryCount: 0,\n });\n\n if (!parsedSelection || parsedSelection.noResourceAvailable) {\n const responseText =\n \"I don't have a specific resource that contains the information you're looking for. Let me try to assist you directly instead.\";\n\n if (callback && parsedSelection?.noResourceAvailable) {\n await callback({\n text: responseText,\n actions: [\"REPLY\"],\n });\n }\n return {\n text: responseText,\n values: {\n success: true,\n noResourceAvailable: true,\n fallbackToDirectAssistance: true,\n },\n data: {\n actionName: \"READ_MCP_RESOURCE\",\n noResourceAvailable: true,\n reason: parsedSelection?.reasoning ?? \"No appropriate resource available\",\n },\n success: true,\n };\n }\n\n const { serverName, uri } = parsedSelection;\n\n const result = await mcpService.readResource(serverName, uri);\n\n const { resourceContent, resourceMeta } = processResourceResult(result, uri);\n\n await handleResourceAnalysis(\n runtime,\n message,\n uri,\n serverName,\n resourceContent,\n resourceMeta,\n callback\n );\n\n return {\n text: `Successfully read resource: ${uri}`,\n values: {\n success: true,\n resourceRead: true,\n serverName,\n uri,\n },\n data: {\n actionName: \"READ_MCP_RESOURCE\",\n serverName,\n uri,\n reasoning: parsedSelection?.reasoning,\n resourceMeta,\n contentLength: resourceContent?.length ?? 0,\n },\n success: true,\n };\n } catch (error) {\n return await handleMcpError(\n composedState,\n mcpProvider,\n error,\n runtime,\n message,\n \"resource\",\n callback\n );\n }\n },\n\n examples: [\n [\n {\n name: \"{{user}}\",\n content: {\n text: \"Can you get the documentation about installing elizaOS?\",\n },\n },\n {\n name: \"{{assistant}}\",\n content: {\n text: `I'll retrieve that information for you. Let me access the resource...`,\n actions: [\"READ_MCP_RESOURCE\"],\n },\n },\n {\n name: \"{{assistant}}\",\n content: {\n text: `elizaOS installation is straightforward. You'll need Node.js 23+ and Git installed. For Windows users, WSL 2 is required. The quickest way to get started is by cloning the elizaOS starter repository with \\`git clone https://github.com/elizaos/eliza-starter.git\\`, then run \\`cd eliza-starter && cp .env.example .env && bun i && bun run build && bun start\\`. This will set up a development environment with the core features enabled. After starting, you can access the web interface at http://localhost:3000 to interact with your agent.`,\n actions: [\"READ_MCP_RESOURCE\"],\n },\n },\n ],\n ],\n};\n",
24
+ "import type { IAgentRuntime, Memory, Provider, ProviderResult, State } from \"@elizaos/core\";\nimport type { McpService } from \"./service\";\nimport { MCP_SERVICE_NAME } from \"./types\";\n\nexport const provider: Provider = {\n name: \"MCP\",\n description: \"Information about connected MCP servers, tools, and resources\",\n\n dynamic: true,\n get: async (runtime: IAgentRuntime, _message: Memory, _state: State): Promise<ProviderResult> => {\n const mcpService = runtime.getService<McpService>(MCP_SERVICE_NAME);\n if (!mcpService) {\n return {\n values: {},\n data: {},\n text: \"No MCP servers are available.\",\n };\n }\n\n const providerData = mcpService.getProviderData();\n return {\n values: { mcpServers: JSON.stringify(providerData.values.mcp) },\n data: { mcpServerCount: Object.keys(providerData.data.mcp).length },\n text: providerData.text,\n };\n },\n};\n",
25
25
  "import { type IAgentRuntime, logger, Service } from \"@elizaos/core\";\nimport { Client } from \"@modelcontextprotocol/sdk/client/index.js\";\nimport { SSEClientTransport } from \"@modelcontextprotocol/sdk/client/sse.js\";\nimport { StdioClientTransport } from \"@modelcontextprotocol/sdk/client/stdio.js\";\nimport type {\n CallToolResult,\n Resource,\n ResourceTemplate,\n Tool,\n} from \"@modelcontextprotocol/sdk/types.js\";\nimport type { JSONSchema7 } from \"json-schema\";\nimport {\n createMcpToolCompatibilitySync as createMcpToolCompatibility,\n type McpToolCompatibility,\n} from \"./tool-compatibility\";\nimport {\n BACKOFF_MULTIPLIER,\n type ConnectionState,\n DEFAULT_MCP_TIMEOUT_SECONDS,\n DEFAULT_PING_CONFIG,\n type HttpMcpServerConfig,\n INITIAL_RETRY_DELAY,\n MAX_RECONNECT_ATTEMPTS,\n MCP_SERVICE_NAME,\n type McpConnection,\n type McpProvider,\n type McpResourceResponse,\n type McpServer,\n type McpServerConfig,\n type McpSettings,\n type PingConfig,\n type StdioMcpServerConfig,\n} from \"./types\";\nimport { buildMcpProviderData } from \"./utils/mcp\";\n\nexport class McpService extends Service {\n static serviceType: string = MCP_SERVICE_NAME;\n capabilityDescription = \"Enables the agent to interact with MCP (Model Context Protocol) servers\";\n\n private connections: Map<string, McpConnection> = new Map();\n private connectionStates: Map<string, ConnectionState> = new Map();\n private mcpProvider: McpProvider = {\n values: { mcp: {}, mcpText: \"\" },\n data: { mcp: {} },\n text: \"\",\n };\n private pingConfig: PingConfig = DEFAULT_PING_CONFIG;\n private toolCompatibility: McpToolCompatibility | null = null;\n private compatibilityInitialized = false;\n\n private initializationPromise: Promise<void> | null = null;\n\n constructor(runtime: IAgentRuntime) {\n super(runtime);\n this.initializationPromise = this.initializeMcpServers();\n }\n\n static async start(runtime: IAgentRuntime): Promise<McpService> {\n const service = new McpService(runtime);\n if (service.initializationPromise) {\n await service.initializationPromise;\n }\n return service;\n }\n\n async waitForInitialization(): Promise<void> {\n if (this.initializationPromise) {\n await this.initializationPromise;\n }\n }\n\n async stop(): Promise<void> {\n for (const [name] of this.connections) {\n await this.deleteConnection(name);\n }\n this.connections.clear();\n for (const state of this.connectionStates.values()) {\n if (state.pingInterval) clearInterval(state.pingInterval);\n if (state.reconnectTimeout) clearTimeout(state.reconnectTimeout);\n }\n this.connectionStates.clear();\n }\n\n private async initializeMcpServers(): Promise<void> {\n const mcpSettings = this.getMcpSettings();\n\n if (!mcpSettings || !mcpSettings.servers || Object.keys(mcpSettings.servers).length === 0) {\n this.mcpProvider = buildMcpProviderData([]);\n return;\n }\n\n await this.updateServerConnections(mcpSettings.servers);\n const servers = this.getServers();\n this.mcpProvider = buildMcpProviderData(servers);\n }\n\n private getMcpSettings(): McpSettings | undefined {\n const rawSettings = this.runtime.getSetting(\"mcp\");\n let settings: McpSettings | null | undefined = null;\n\n if (rawSettings && typeof rawSettings === \"object\" && !Array.isArray(rawSettings)) {\n const parsed = rawSettings as Record<string, unknown>;\n if (\"servers\" in parsed && typeof parsed.servers === \"object\" && parsed.servers !== null) {\n settings = parsed as unknown as McpSettings;\n }\n }\n\n if (!settings || !settings.servers) {\n const characterSettings = this.runtime.character.settings;\n if (\n characterSettings &&\n typeof characterSettings === \"object\" &&\n \"mcp\" in characterSettings\n ) {\n const characterMcpSettings = characterSettings.mcp;\n if (\n characterMcpSettings &&\n typeof characterMcpSettings === \"object\" &&\n \"servers\" in characterMcpSettings\n ) {\n settings = characterMcpSettings as unknown as McpSettings;\n }\n }\n }\n\n if (settings && typeof settings === \"object\" && settings.servers) {\n return settings;\n }\n\n return undefined;\n }\n\n private async updateServerConnections(\n serverConfigs: Readonly<Record<string, McpServerConfig>>\n ): Promise<void> {\n const currentNames = new Set(this.connections.keys());\n const newNames = new Set(Object.keys(serverConfigs));\n\n for (const name of currentNames) {\n if (!newNames.has(name)) {\n await this.deleteConnection(name);\n }\n }\n\n const connectionPromises = Object.entries(serverConfigs).map(async ([name, config]) => {\n const currentConnection = this.connections.get(name);\n if (!currentConnection) {\n await this.initializeConnection(name, config);\n } else if (JSON.stringify(config) !== currentConnection.server.config) {\n await this.deleteConnection(name);\n await this.initializeConnection(name, config);\n }\n });\n\n await Promise.allSettled(connectionPromises);\n }\n\n private async initializeConnection(name: string, config: McpServerConfig): Promise<void> {\n await this.deleteConnection(name);\n const state: ConnectionState = {\n status: \"connecting\",\n reconnectAttempts: 0,\n consecutivePingFailures: 0,\n };\n this.connectionStates.set(name, state);\n\n const client = new Client({ name: \"elizaOS\", version: \"1.0.0\" }, { capabilities: {} });\n const transport: StdioClientTransport | SSEClientTransport =\n config.type === \"stdio\"\n ? await this.buildStdioClientTransport(name, config)\n : await this.buildHttpClientTransport(name, config);\n\n const connection: McpConnection = {\n server: {\n name,\n config: JSON.stringify(config),\n status: \"connecting\",\n },\n client,\n transport,\n };\n this.connections.set(name, connection);\n this.setupTransportHandlers(name, connection, state);\n await client.connect(transport);\n\n const capabilities = client.getServerCapabilities();\n const tools = await this.fetchToolsList(name);\n const resources = capabilities?.resources ? await this.fetchResourcesList(name) : [];\n const resourceTemplates = capabilities?.resources\n ? await this.fetchResourceTemplatesList(name)\n : [];\n\n connection.server = {\n status: \"connected\",\n name,\n config: JSON.stringify(config),\n error: \"\",\n tools,\n resources,\n resourceTemplates,\n };\n state.status = \"connected\";\n state.lastConnected = new Date();\n state.reconnectAttempts = 0;\n state.consecutivePingFailures = 0;\n this.startPingMonitoring(name);\n }\n\n private setupTransportHandlers(\n name: string,\n connection: McpConnection,\n _state: ConnectionState\n ): void {\n const config = JSON.parse(connection.server.config) as McpServerConfig;\n const isHttpTransport = config.type !== \"stdio\";\n\n connection.transport.onerror = async (error): Promise<void> => {\n const errorMessage = error?.message ?? String(error);\n const isExpectedTimeout =\n isHttpTransport &&\n (errorMessage === \"undefined\" ||\n errorMessage === \"\" ||\n errorMessage.includes(\"SSE error\") ||\n errorMessage.includes(\"timeout\"));\n\n if (!isExpectedTimeout) {\n logger.error({ error, serverName: name }, `Transport error for \"${name}\"`);\n connection.server.status = \"disconnected\";\n this.appendErrorMessage(connection, error.message);\n }\n\n if (!isHttpTransport) {\n this.handleDisconnection(name, error);\n }\n };\n\n connection.transport.onclose = async (): Promise<void> => {\n if (!isHttpTransport) {\n connection.server.status = \"disconnected\";\n this.handleDisconnection(name, new Error(\"Transport closed\"));\n }\n };\n }\n\n private startPingMonitoring(name: string): void {\n const connection = this.connections.get(name);\n if (!connection) return;\n\n const config = JSON.parse(connection.server.config) as McpServerConfig;\n const isHttpTransport = config.type !== \"stdio\";\n\n if (isHttpTransport) {\n return;\n }\n\n const state = this.connectionStates.get(name);\n if (!state || !this.pingConfig.enabled) return;\n if (state.pingInterval) clearInterval(state.pingInterval);\n state.pingInterval = setInterval(() => {\n this.sendPing(name).catch((err: Error) => {\n logger.warn({ error: err.message, serverName: name }, `Ping failed for ${name}`);\n this.handlePingFailure(name, err);\n });\n }, this.pingConfig.intervalMs);\n }\n\n private async sendPing(name: string): Promise<void> {\n const connection = this.connections.get(name);\n if (!connection) throw new Error(`No connection for ping: ${name}`);\n\n await Promise.race([\n connection.client.listTools(),\n new Promise<never>((_, reject) =>\n setTimeout(() => reject(new Error(\"Ping timeout\")), this.pingConfig.timeoutMs)\n ),\n ]);\n\n const state = this.connectionStates.get(name);\n if (state) state.consecutivePingFailures = 0;\n }\n\n private handlePingFailure(name: string, error: Error): void {\n const state = this.connectionStates.get(name);\n if (!state) return;\n state.consecutivePingFailures++;\n if (state.consecutivePingFailures >= this.pingConfig.failuresBeforeDisconnect) {\n this.handleDisconnection(name, error);\n }\n }\n\n private handleDisconnection(name: string, error: Error | unknown): void {\n const state = this.connectionStates.get(name);\n if (!state) return;\n state.status = \"disconnected\";\n state.lastError = error instanceof Error ? error : new Error(String(error));\n if (state.pingInterval) clearInterval(state.pingInterval);\n if (state.reconnectTimeout) clearTimeout(state.reconnectTimeout);\n if (state.reconnectAttempts >= MAX_RECONNECT_ATTEMPTS) {\n return;\n }\n const delay = INITIAL_RETRY_DELAY * BACKOFF_MULTIPLIER ** state.reconnectAttempts;\n state.reconnectTimeout = setTimeout(async () => {\n state.reconnectAttempts++;\n const connection = this.connections.get(name);\n const config = connection?.server?.config;\n if (config) {\n try {\n await this.initializeConnection(name, JSON.parse(config));\n } catch (err) {\n this.handleDisconnection(name, err);\n }\n }\n }, delay);\n }\n\n async deleteConnection(name: string): Promise<void> {\n const connection = this.connections.get(name);\n if (connection) {\n await connection.transport.close();\n await connection.client.close();\n this.connections.delete(name);\n }\n const state = this.connectionStates.get(name);\n if (state) {\n if (state.pingInterval) clearInterval(state.pingInterval);\n if (state.reconnectTimeout) clearTimeout(state.reconnectTimeout);\n this.connectionStates.delete(name);\n }\n }\n\n private getServerConnection(serverName: string): McpConnection | undefined {\n return this.connections.get(serverName);\n }\n\n private async buildStdioClientTransport(\n name: string,\n config: StdioMcpServerConfig\n ): Promise<StdioClientTransport> {\n if (!config.command) {\n throw new Error(`Missing command for stdio MCP server ${name}`);\n }\n\n return new StdioClientTransport({\n command: config.command,\n args: config.args ? [...config.args] : undefined,\n env: {\n ...config.env,\n ...(process.env.PATH ? { PATH: process.env.PATH } : {}),\n },\n stderr: \"pipe\",\n cwd: config.cwd,\n });\n }\n\n private async buildHttpClientTransport(\n name: string,\n config: HttpMcpServerConfig\n ): Promise<SSEClientTransport> {\n if (!config.url) {\n throw new Error(`Missing URL for HTTP MCP server ${name}`);\n }\n\n return new SSEClientTransport(new URL(config.url));\n }\n\n private appendErrorMessage(connection: McpConnection, error: string): void {\n const newError = connection.server.error ? `${connection.server.error}\\n${error}` : error;\n connection.server.error = newError;\n }\n\n private async fetchToolsList(serverName: string): Promise<Tool[]> {\n const connection = this.getServerConnection(serverName);\n if (!connection) {\n return [];\n }\n\n const response = await connection.client.listTools();\n\n const tools = (response?.tools ?? []).map((tool) => {\n const processedTool = { ...tool };\n\n if (tool.inputSchema) {\n if (!this.compatibilityInitialized) {\n this.initializeToolCompatibility();\n }\n\n processedTool.inputSchema = this.applyToolCompatibility(\n tool.inputSchema as JSONSchema7\n ) as typeof tool.inputSchema;\n }\n\n return processedTool;\n });\n\n return tools;\n }\n\n private async fetchResourcesList(serverName: string): Promise<Resource[]> {\n const connection = this.getServerConnection(serverName);\n if (!connection) {\n return [];\n }\n\n const response = await connection.client.listResources();\n return response?.resources ?? [];\n }\n\n private async fetchResourceTemplatesList(serverName: string): Promise<ResourceTemplate[]> {\n const connection = this.getServerConnection(serverName);\n if (!connection) {\n return [];\n }\n\n const response = await connection.client.listResourceTemplates();\n return response?.resourceTemplates ?? [];\n }\n\n public getServers(): McpServer[] {\n return Array.from(this.connections.values())\n .filter((conn) => !conn.server.disabled)\n .map((conn) => conn.server);\n }\n\n public getProviderData(): McpProvider {\n return this.mcpProvider;\n }\n\n public async callTool(\n serverName: string,\n toolName: string,\n toolArguments?: Readonly<Record<string, unknown>>\n ): Promise<CallToolResult> {\n const connection = this.connections.get(serverName);\n if (!connection) {\n throw new Error(`No connection found for server: ${serverName}`);\n }\n if (connection.server.disabled) {\n throw new Error(`Server \"${serverName}\" is disabled`);\n }\n\n let timeout = DEFAULT_MCP_TIMEOUT_SECONDS;\n const config = JSON.parse(connection.server.config) as McpServerConfig;\n if (config.type === \"stdio\" && config.timeoutInMillis) {\n timeout = config.timeoutInMillis;\n }\n\n const result = await connection.client.callTool(\n {\n name: toolName,\n arguments: toolArguments ? { ...toolArguments } : undefined,\n },\n undefined,\n { timeout }\n );\n if (!result.content) {\n throw new Error(\"Invalid tool result: missing content array\");\n }\n return result as CallToolResult;\n }\n\n public async readResource(serverName: string, uri: string): Promise<McpResourceResponse> {\n const connection = this.connections.get(serverName);\n if (!connection) {\n throw new Error(`No connection found for server: ${serverName}`);\n }\n if (connection.server.disabled) {\n throw new Error(`Server \"${serverName}\" is disabled`);\n }\n return await connection.client.readResource({ uri });\n }\n\n public async restartConnection(serverName: string): Promise<void> {\n const connection = this.connections.get(serverName);\n const config = connection?.server?.config;\n if (config) {\n connection.server.status = \"connecting\";\n connection.server.error = \"\";\n await this.deleteConnection(serverName);\n await this.initializeConnection(serverName, JSON.parse(config));\n }\n }\n\n private initializeToolCompatibility(): void {\n if (this.compatibilityInitialized) return;\n\n this.toolCompatibility = createMcpToolCompatibility(this.runtime);\n this.compatibilityInitialized = true;\n }\n\n public applyToolCompatibility(toolSchema: JSONSchema7): JSONSchema7 {\n if (!this.compatibilityInitialized) {\n this.initializeToolCompatibility();\n }\n\n if (!this.toolCompatibility || !toolSchema) {\n return toolSchema;\n }\n\n return this.toolCompatibility.transformToolSchema(toolSchema);\n }\n}\n",
26
26
  "import type { IAgentRuntime } from \"@elizaos/core\";\nimport { detectModelProvider, type McpToolCompatibility } from \"./base\";\n\nexport {\n type ArrayConstraints,\n McpToolCompatibility,\n type ModelInfo,\n type ModelProvider,\n type NumberConstraints,\n type ObjectConstraints,\n type SchemaConstraints,\n type StringConstraints,\n} from \"./base\";\n\nexport { detectModelProvider };\n\nexport async function createMcpToolCompatibility(\n runtime: IAgentRuntime\n): Promise<McpToolCompatibility | null> {\n const modelInfo = detectModelProvider(runtime);\n\n switch (modelInfo.provider) {\n case \"openai\": {\n const { OpenAIMcpCompatibility } = await import(\"./providers/openai.js\");\n return new OpenAIMcpCompatibility(modelInfo);\n }\n case \"anthropic\": {\n const { AnthropicMcpCompatibility } = await import(\"./providers/anthropic.js\");\n return new AnthropicMcpCompatibility(modelInfo);\n }\n case \"google\": {\n const { GoogleMcpCompatibility } = await import(\"./providers/google.js\");\n return new GoogleMcpCompatibility(modelInfo);\n }\n default:\n return null;\n }\n}\n\nexport function createMcpToolCompatibilitySync(\n runtime: IAgentRuntime\n): McpToolCompatibility | null {\n const modelInfo = detectModelProvider(runtime);\n\n switch (modelInfo.provider) {\n case \"openai\": {\n const { OpenAIMcpCompatibility } = require(\"./providers/openai\");\n return new OpenAIMcpCompatibility(modelInfo);\n }\n case \"anthropic\": {\n const { AnthropicMcpCompatibility } = require(\"./providers/anthropic\");\n return new AnthropicMcpCompatibility(modelInfo);\n }\n case \"google\": {\n const { GoogleMcpCompatibility } = require(\"./providers/google\");\n return new GoogleMcpCompatibility(modelInfo);\n }\n default:\n return null;\n }\n}\n"
27
27
  ],
28
- "mappings": "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",
29
- "debugId": "421C8829AD67B35564756E2164756E21",
28
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+CO,MAAe,qBAAqB;AAAA,EACtB;AAAA,EAEnB,WAAW,CAAC,WAAsB;AAAA,IAChC,KAAK,YAAY;AAAA;AAAA,EAKZ,mBAAmB,CAAC,YAAsC;AAAA,IAC/D,IAAI,CAAC,KAAK,YAAY,GAAG;AAAA,MACvB,OAAO;AAAA,IACT;AAAA,IAEA,OAAO,KAAK,cAAc,UAAU;AAAA;AAAA,EAG5B,aAAa,CAAC,QAAkC;AAAA,IACxD,MAAM,YAAY,KAAK,OAAO;AAAA,IAE9B,QAAQ,UAAU;AAAA,WACX;AAAA,QACH,OAAO,KAAK,oBAAoB,SAAS;AAAA,WACtC;AAAA,WACA;AAAA,QACH,OAAO,KAAK,oBAAoB,SAAS;AAAA,WACtC;AAAA,QACH,OAAO,KAAK,mBAAmB,SAAS;AAAA,WACrC;AAAA,QACH,OAAO,KAAK,oBAAoB,SAAS;AAAA;AAAA,QAEzC,OAAO,KAAK,qBAAqB,SAAS;AAAA;AAAA;AAAA,EAItC,mBAAmB,CAAC,QAAkC;AAAA,IAC9D,MAAM,cAAiC,CAAC;AAAA,IACxC,MAAM,YAAqC,KAAK,OAAO;AAAA,IAEvD,IAAI,OAAO,OAAO,cAAc,UAAU;AAAA,MACxC,YAAY,YAAY,OAAO;AAAA,IACjC;AAAA,IACA,IAAI,OAAO,OAAO,cAAc,UAAU;AAAA,MACxC,YAAY,YAAY,OAAO;AAAA,IACjC;AAAA,IACA,IAAI,OAAO,OAAO,YAAY,UAAU;AAAA,MACtC,YAAY,UAAU,OAAO;AAAA,IAC/B;AAAA,IACA,IAAI,OAAO,OAAO,WAAW,UAAU;AAAA,MACrC,YAAY,SAAS,OAAO;AAAA,IAC9B;AAAA,IACA,IAAI,MAAM,QAAQ,OAAO,IAAI,GAAG;AAAA,MAC9B,YAAY,OAAO,OAAO;AAAA,IAC5B;AAAA,IAEA,MAAM,mBAAmB,KAAK,+BAA+B;AAAA,IAC7D,WAAW,QAAQ,kBAAkB;AAAA,MACnC,IAAI,QAAQ,WAAW;AAAA,QACrB,OAAO,UAAU;AAAA,MACnB;AAAA,IACF;AAAA,IAEA,IAAI,OAAO,KAAK,WAAW,EAAE,SAAS,GAAG;AAAA,MACvC,UAAU,cAAc,KAAK,iBAAiB,OAAO,aAAa,WAAW;AAAA,IAC/E;AAAA,IAEA,OAAO;AAAA;AAAA,EAGC,mBAAmB,CAAC,QAAkC;AAAA,IAC9D,MAAM,cAAiC,CAAC;AAAA,IACxC,MAAM,YAAqC,KAAK,OAAO;AAAA,IAEvD,IAAI,OAAO,OAAO,YAAY,UAAU;AAAA,MACtC,YAAY,UAAU,OAAO;AAAA,IAC/B;AAAA,IACA,IAAI,OAAO,OAAO,YAAY,UAAU;AAAA,MACtC,YAAY,UAAU,OAAO;AAAA,IAC/B;AAAA,IACA,IAAI,OAAO,OAAO,qBAAqB,UAAU;AAAA,MAC/C,YAAY,mBAAmB,OAAO;AAAA,IACxC;AAAA,IACA,IAAI,OAAO,OAAO,qBAAqB,UAAU;AAAA,MAC/C,YAAY,mBAAmB,OAAO;AAAA,IACxC;AAAA,IACA,IAAI,OAAO,OAAO,eAAe,UAAU;AAAA,MACzC,YAAY,aAAa,OAAO;AAAA,IAClC;AAAA,IAEA,MAAM,mBAAmB,KAAK,+BAA+B;AAAA,IAC7D,WAAW,QAAQ,kBAAkB;AAAA,MACnC,IAAI,QAAQ,WAAW;AAAA,QACrB,OAAO,UAAU;AAAA,MACnB;AAAA,IACF;AAAA,IAEA,IAAI,OAAO,KAAK,WAAW,EAAE,SAAS,GAAG;AAAA,MACvC,UAAU,cAAc,KAAK,iBAAiB,OAAO,aAAa,WAAW;AAAA,IAC/E;AAAA,IAEA,OAAO;AAAA;AAAA,EAGC,kBAAkB,CAAC,QAAkC;AAAA,IAC7D,MAAM,cAAgC,CAAC;AAAA,IACvC,MAAM,YAAqC,KAAK,OAAO;AAAA,IAEvD,IAAI,OAAO,OAAO,aAAa,UAAU;AAAA,MACvC,YAAY,WAAW,OAAO;AAAA,IAChC;AAAA,IACA,IAAI,OAAO,OAAO,aAAa,UAAU;AAAA,MACvC,YAAY,WAAW,OAAO;AAAA,IAChC;AAAA,IACA,IAAI,OAAO,OAAO,gBAAgB,WAAW;AAAA,MAC3C,YAAY,cAAc,OAAO;AAAA,IACnC;AAAA,IAEA,IAAI,OAAO,SAAS,OAAO,OAAO,UAAU,YAAY,CAAC,MAAM,QAAQ,OAAO,KAAK,GAAG;AAAA,MACpF,UAAU,QAAQ,KAAK,cAAc,OAAO,KAAoB;AAAA,IAClE;AAAA,IAEA,MAAM,mBAAmB,KAAK,8BAA8B;AAAA,IAC5D,WAAW,QAAQ,kBAAkB;AAAA,MACnC,IAAI,QAAQ,WAAW;AAAA,QACrB,OAAO,UAAU;AAAA,MACnB;AAAA,IACF;AAAA,IAEA,IAAI,OAAO,KAAK,WAAW,EAAE,SAAS,GAAG;AAAA,MACvC,UAAU,cAAc,KAAK,iBAAiB,OAAO,aAAa,WAAW;AAAA,IAC/E;AAAA,IAEA,OAAO;AAAA;AAAA,EAGC,mBAAmB,CAAC,QAAkC;AAAA,IAC9D,MAAM,cAAiC,CAAC;AAAA,IACxC,MAAM,YAAqC,KAAK,OAAO;AAAA,IAEvD,IAAI,OAAO,OAAO,kBAAkB,UAAU;AAAA,MAC5C,YAAY,gBAAgB,OAAO;AAAA,IACrC;AAAA,IACA,IAAI,OAAO,OAAO,kBAAkB,UAAU;AAAA,MAC5C,YAAY,gBAAgB,OAAO;AAAA,IACrC;AAAA,IACA,IAAI,OAAO,OAAO,yBAAyB,WAAW;AAAA,MACpD,YAAY,uBAAuB,OAAO;AAAA,IAC5C;AAAA,IAEA,IAAI,OAAO,cAAc,OAAO,OAAO,eAAe,UAAU;AAAA,MAC9D,MAAM,gBAA6C,CAAC;AAAA,MACpD,YAAY,KAAK,SAAS,OAAO,QAAQ,OAAO,UAAU,GAAG;AAAA,QAC3D,IAAI,OAAO,SAAS,YAAY,CAAC,MAAM,QAAQ,IAAI,GAAG;AAAA,UACpD,cAAc,OAAO,KAAK,cAAc,IAAmB;AAAA,QAC7D,EAAO;AAAA,UACL,cAAc,OAAO;AAAA;AAAA,MAEzB;AAAA,MACA,UAAU,aAAa;AAAA,IACzB;AAAA,IAEA,MAAM,mBAAmB,KAAK,+BAA+B;AAAA,IAC7D,WAAW,QAAQ,kBAAkB;AAAA,MACnC,IAAI,QAAQ,WAAW;AAAA,QACrB,OAAO,UAAU;AAAA,MACnB;AAAA,IACF;AAAA,IAEA,IAAI,OAAO,KAAK,WAAW,EAAE,SAAS,GAAG;AAAA,MACvC,UAAU,cAAc,KAAK,iBAAiB,OAAO,aAAa,WAAW;AAAA,IAC/E;AAAA,IAEA,OAAO;AAAA;AAAA,EAGC,oBAAoB,CAAC,QAAkC;AAAA,IAC/D,MAAM,YAAqC,KAAK,OAAO;AAAA,IAEvD,IAAI,MAAM,QAAQ,OAAO,KAAK,GAAG;AAAA,MAC/B,UAAU,QAAQ,OAAO,MAAM,IAAI,CAAC,MAClC,OAAO,MAAM,WAAW,KAAK,cAAc,CAAgB,IAAI,CACjE;AAAA,IACF;AAAA,IACA,IAAI,MAAM,QAAQ,OAAO,KAAK,GAAG;AAAA,MAC/B,UAAU,QAAQ,OAAO,MAAM,IAAI,CAAC,MAClC,OAAO,MAAM,WAAW,KAAK,cAAc,CAAgB,IAAI,CACjE;AAAA,IACF;AAAA,IACA,IAAI,MAAM,QAAQ,OAAO,KAAK,GAAG;AAAA,MAC/B,UAAU,QAAQ,OAAO,MAAM,IAAI,CAAC,MAClC,OAAO,MAAM,WAAW,KAAK,cAAc,CAAgB,IAAI,CACjE;AAAA,IACF;AAAA,IAEA,OAAO;AAAA;AAAA,EAGC,gBAAgB,CACxB,qBACA,aACQ;AAAA,IACR,MAAM,iBAAiB,KAAK,UAAU,WAAW;AAAA,IACjD,IAAI,qBAAqB;AAAA,MACvB,OAAO,GAAG;AAAA,EAAwB;AAAA,IACpC;AAAA,IACA,OAAO;AAAA;AAOX;AAOA,SAAS,YAAY,CAAC,SAAqD;AAAA,EACzE,OACE,OAAO,YAAY,YACnB,YAAY,UACX,mBAAmB,aAAW,WAAW;AAAA;AAI9C,SAAS,cAAc,CAAC,SAAgC;AAAA,EACtD,IAAI,aAAa,OAAO,GAAG;AAAA,IACzB,OAAO,QAAQ,iBAAiB,QAAQ,SAAS;AAAA,EACnD;AAAA,EACA,IACE,QAAQ,aACR,OAAO,QAAQ,cAAc,YAC7B,cAAc,QAAQ,aACtB,QAAQ,UAAU,YAClB,OAAO,QAAQ,UAAU,aAAa,UACtC;AAAA,IACA,MAAM,WAAW,QAAQ,UAAU;AAAA,IACnC,MAAM,gBAAgB,SAAS,kBAAkB,SAAS;AAAA,IAC1D,MAAM,QAAQ,SAAS,SAAS,SAAS;AAAA,IACzC,OAAO,OAAO,iBAAiB,SAAS,EAAE;AAAA,EAC5C;AAAA,EACA,OAAO;AAAA;AAGF,SAAS,mBAAmB,CAAC,SAAmC;AAAA,EACrE,MAAM,cAAc,eAAe,OAAO;AAAA,EAC1C,MAAM,UAAU,OAAO,WAAW,EAAE,YAAY;AAAA,EAEhD,IAAI,YAA0B;AAAA,EAC9B,IAAI,4BAA4B;AAAA,EAChC,IAAI,mBAAmB;AAAA,EAEvB,IACE,QAAQ,SAAS,QAAQ,KACzB,QAAQ,SAAS,MAAM,KACvB,QAAQ,SAAS,KAAK,KACtB,QAAQ,SAAS,KAAK,GACtB;AAAA,IACA,YAAW;AAAA,IACX,4BACE,QAAQ,SAAS,OAAO,KAAK,QAAQ,SAAS,IAAI,KAAK,QAAQ,SAAS,IAAI;AAAA,IAC9E,mBAAmB,QAAQ,SAAS,IAAI,KAAK,QAAQ,SAAS,IAAI;AAAA,EACpE,EAAO,SAAI,QAAQ,SAAS,WAAW,KAAK,QAAQ,SAAS,QAAQ,GAAG;AAAA,IACtE,YAAW;AAAA,IACX,4BAA4B;AAAA,EAC9B,EAAO,SAAI,QAAQ,SAAS,QAAQ,KAAK,QAAQ,SAAS,QAAQ,GAAG;AAAA,IACnE,YAAW;AAAA,IACX,4BAA4B;AAAA,EAC9B,EAAO,SAAI,QAAQ,SAAS,YAAY,GAAG;AAAA,IACzC,YAAW;AAAA,IACX,4BAA4B;AAAA,EAC9B;AAAA,EAEA,OAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA;;;;;;;;ICzTW,wBAyCA;AAAA;AAAA,EAzCA,yBAAN,MAAM,+BAA+B,qBAAqB;AAAA,IAC/D,WAAW,GAAY;AAAA,MACrB,OACE,KAAK,UAAU,aAAa,aAC3B,CAAC,KAAK,UAAU,6BAA6B,KAAK,UAAU,qBAAqB;AAAA;AAAA,IAI5E,8BAA8B,GAAsB;AAAA,MAC5D,MAAM,kBAAkB,CAAC,QAAQ;AAAA,MAEjC,IAAI,KAAK,UAAU,qBAAqB,MAAM;AAAA,QAC5C,OAAO,CAAC,GAAG,iBAAiB,SAAS;AAAA,MACvC;AAAA,MAEA,IAAI,KAAK,UAAU,QAAQ,SAAS,SAAS,KAAK,KAAK,UAAU,QAAQ,SAAS,SAAS,GAAG;AAAA,QAC5F,OAAO,CAAC,GAAG,iBAAiB,SAAS;AAAA,MACvC;AAAA,MAEA,OAAO;AAAA;AAAA,IAGC,8BAA8B,GAAsB;AAAA,MAC5D,IAAI,KAAK,UAAU,qBAAqB,MAAM;AAAA,QAC5C,OAAO,CAAC,oBAAoB,oBAAoB,YAAY;AAAA,MAC9D;AAAA,MACA,OAAO,CAAC;AAAA;AAAA,IAGA,6BAA6B,GAAsB;AAAA,MAC3D,IAAI,KAAK,UAAU,qBAAqB,MAAM;AAAA,QAC5C,OAAO,CAAC,aAAa;AAAA,MACvB;AAAA,MACA,OAAO,CAAC;AAAA;AAAA,IAGA,8BAA8B,GAAsB;AAAA,MAC5D,OAAO,CAAC,iBAAiB,eAAe;AAAA;AAAA,EAE5C;AAAA,EAEa,kCAAN,MAAM,wCAAwC,qBAAqB;AAAA,IACxE,WAAW,GAAY;AAAA,MACrB,OAAO,KAAK,UAAU,aAAa,YAAY,KAAK,UAAU,qBAAqB;AAAA;AAAA,IAG3E,8BAA8B,GAAsB;AAAA,MAC5D,OAAO,CAAC,UAAU,WAAW,aAAa,WAAW;AAAA;AAAA,IAG7C,8BAA8B,GAAsB;AAAA,MAC5D,OAAO,CAAC,oBAAoB,oBAAoB,YAAY;AAAA;AAAA,IAGpD,6BAA6B,GAAsB;AAAA,MAC3D,OAAO,CAAC,eAAe,YAAY,UAAU;AAAA;AAAA,IAGrC,8BAA8B,GAAsB;AAAA,MAC5D,OAAO,CAAC,iBAAiB,iBAAiB,sBAAsB;AAAA;AAAA,IAGxD,gBAAgB,CACxB,qBACA,aACQ;AAAA,MACR,MAAM,iBAAiB,KAAK,mCAC1B,WACF;AAAA,MACA,IAAI,qBAAqB;AAAA,QACvB,OAAO,GAAG;AAAA;AAAA,aAAqC;AAAA,MACjD;AAAA,MACA,OAAO,cAAc;AAAA;AAAA,IAGf,kCAAkC,CAAC,aAAwC;AAAA,MACjF,MAAM,QAAkB,CAAC;AAAA,MAEzB,IAAI,YAAY,WAAW;AAAA,QACzB,MAAM,KAAK,WAAW,YAAY,sBAAsB;AAAA,MAC1D;AAAA,MACA,IAAI,YAAY,WAAW;AAAA,QACzB,MAAM,KAAK,WAAW,YAAY,sBAAsB;AAAA,MAC1D;AAAA,MACA,IAAI,YAAY,YAAY,WAAW;AAAA,QACrC,MAAM,KAAK,cAAc,YAAY,SAAS;AAAA,MAChD;AAAA,MACA,IAAI,YAAY,YAAY,WAAW;AAAA,QACrC,MAAM,KAAK,cAAc,YAAY,SAAS;AAAA,MAChD;AAAA,MACA,IAAI,YAAY,WAAW,SAAS;AAAA,QAClC,MAAM,KAAK,+BAA+B;AAAA,MAC5C;AAAA,MACA,IAAI,YAAY,WAAW,SAAS,YAAY,WAAW,OAAO;AAAA,QAChE,MAAM,KAAK,qBAAqB;AAAA,MAClC;AAAA,MACA,IAAI,YAAY,WAAW,QAAQ;AAAA,QACjC,MAAM,KAAK,sBAAsB;AAAA,MACnC;AAAA,MACA,IAAI,YAAY,SAAS;AAAA,QACvB,MAAM,KAAK,uBAAuB,YAAY,SAAS;AAAA,MACzD;AAAA,MACA,IAAI,YAAY,MAAM;AAAA,QACpB,MAAM,KAAK,mBAAmB,YAAY,KAAK,KAAK,IAAI,GAAG;AAAA,MAC7D;AAAA,MACA,IAAI,YAAY,UAAU;AAAA,QACxB,MAAM,KAAK,4BAA4B,YAAY,gBAAgB;AAAA,MACrE;AAAA,MACA,IAAI,YAAY,UAAU;AAAA,QACxB,MAAM,KAAK,2BAA2B,YAAY,gBAAgB;AAAA,MACpE;AAAA,MAEA,OAAO,MAAM,SAAS,IAAI,MAAM,KAAK,IAAI,IAAI,KAAK,UAAU,WAAW;AAAA;AAAA,EAE3E;AAAA;;;;;;;ICxHa;AAAA;AAAA,8BAAN,MAAM,kCAAkC,qBAAqB;AAAA,IAClE,WAAW,GAAY;AAAA,MACrB,OAAO,KAAK,UAAU,aAAa;AAAA;AAAA,IAG3B,8BAA8B,GAAsB;AAAA,MAC5D,OAAO,CAAC;AAAA;AAAA,IAGA,8BAA8B,GAAsB;AAAA,MAC5D,OAAO,CAAC;AAAA;AAAA,IAGA,6BAA6B,GAAsB;AAAA,MAC3D,OAAO,CAAC;AAAA;AAAA,IAGA,8BAA8B,GAAsB;AAAA,MAC5D,OAAO,CAAC,sBAAsB;AAAA;AAAA,IAGtB,gBAAgB,CACxB,qBACA,aACQ;AAAA,MACR,MAAM,kBAAkB,KAAK,8BAA8B,WAAmC;AAAA,MAC9F,IAAI,uBAAuB,iBAAiB;AAAA,QAC1C,OAAO,GAAG,wBAAwB;AAAA,MACpC,EAAO,SAAI,iBAAiB;AAAA,QAC1B,OAAO;AAAA,MACT;AAAA,MACA,OAAO,uBAAuB;AAAA;AAAA,IAGxB,6BAA6B,CAAC,aAA2C;AAAA,MAC/E,MAAM,QAAkB,CAAC;AAAA,MAEzB,IAAI,YAAY,yBAAyB,OAAO;AAAA,QAC9C,MAAM,KAAK,mCAAmC;AAAA,MAChD;AAAA,MACA,IAAI,YAAY,WAAW,aAAa;AAAA,QACtC,MAAM,KAAK,+BAA+B;AAAA,MAC5C;AAAA,MACA,IAAI,YAAY,SAAS;AAAA,QACvB,MAAM,KAAK,2BAA2B,YAAY,SAAS;AAAA,MAC7D;AAAA,MAEA,OAAO,MAAM,KAAK,IAAI;AAAA;AAAA,EAE1B;AAAA;;;;;;;ICpCa;AAAA;AAAA,2BAAN,MAAM,+BAA+B,qBAAqB;AAAA,IAC/D,WAAW,GAAY;AAAA,MACrB,OAAO,KAAK,UAAU,aAAa;AAAA;AAAA,IAG3B,8BAA8B,GAAsB;AAAA,MAC5D,OAAO,CAAC,aAAa,aAAa,WAAW,QAAQ;AAAA;AAAA,IAG7C,8BAA8B,GAAsB;AAAA,MAC5D,OAAO,CAAC,WAAW,WAAW,oBAAoB,oBAAoB,YAAY;AAAA;AAAA,IAG1E,6BAA6B,GAAsB;AAAA,MAC3D,OAAO,CAAC,YAAY,YAAY,aAAa;AAAA;AAAA,IAGrC,8BAA8B,GAAsB;AAAA,MAC5D,OAAO,CAAC,iBAAiB,iBAAiB,sBAAsB;AAAA;AAAA,IAGxD,gBAAgB,CACxB,qBACA,aACQ;AAAA,MACR,MAAM,iBAAiB,KAAK,2BAA2B,WAAgC;AAAA,MACvF,IAAI,uBAAuB,gBAAgB;AAAA,QACzC,OAAO,GAAG;AAAA;AAAA,eAAuC;AAAA,MACnD,EAAO,SAAI,gBAAgB;AAAA,QACzB,OAAO,gBAAgB;AAAA,MACzB;AAAA,MACA,OAAO,uBAAuB;AAAA;AAAA,IAGxB,0BAA0B,CAAC,aAAwC;AAAA,MACzE,MAAM,QAAkB,CAAC;AAAA,MAEzB,IAAI,YAAY,WAAW;AAAA,QACzB,MAAM,KAAK,yBAAyB,YAAY,2BAA2B;AAAA,MAC7E;AAAA,MACA,IAAI,YAAY,WAAW;AAAA,QACzB,MAAM,KAAK,6BAA6B,YAAY,2BAA2B;AAAA,MACjF;AAAA,MACA,IAAI,YAAY,YAAY,WAAW;AAAA,QACrC,MAAM,KAAK,2BAA2B,YAAY,SAAS;AAAA,MAC7D;AAAA,MACA,IAAI,YAAY,YAAY,WAAW;AAAA,QACrC,MAAM,KAAK,+BAA+B,YAAY,SAAS;AAAA,MACjE;AAAA,MACA,IAAI,YAAY,qBAAqB,WAAW;AAAA,QAC9C,MAAM,KAAK,+BAA+B,YAAY,kBAAkB;AAAA,MAC1E;AAAA,MACA,IAAI,YAAY,qBAAqB,WAAW;AAAA,QAC9C,MAAM,KAAK,4BAA4B,YAAY,kBAAkB;AAAA,MACvE;AAAA,MACA,IAAI,YAAY,YAAY;AAAA,QAC1B,MAAM,KAAK,gCAAgC,YAAY,YAAY;AAAA,MACrE;AAAA,MACA,IAAI,YAAY,WAAW,SAAS;AAAA,QAClC,MAAM,KAAK,+BAA+B;AAAA,MAC5C;AAAA,MACA,IAAI,YAAY,WAAW,SAAS,YAAY,WAAW,OAAO;AAAA,QAChE,MAAM,KAAK,uDAAuD;AAAA,MACpE;AAAA,MACA,IAAI,YAAY,WAAW,QAAQ;AAAA,QACjC,MAAM,KAAK,yEAAyE;AAAA,MACtF;AAAA,MACA,IAAI,YAAY,WAAW,aAAa;AAAA,QACtC,MAAM,KAAK,iEAAiE;AAAA,MAC9E;AAAA,MACA,IAAI,YAAY,SAAS;AAAA,QACvB,MAAM,KAAK,8CAA8C,YAAY,SAAS;AAAA,MAChF;AAAA,MACA,IAAI,YAAY,QAAQ,MAAM,QAAQ,YAAY,IAAI,GAAG;AAAA,QACvD,MAAM,KAAK,wCAAwC,YAAY,KAAK,KAAK,IAAI,GAAG;AAAA,MAClF;AAAA,MACA,IAAI,YAAY,UAAU;AAAA,QACxB,MAAM,KAAK,+BAA+B,YAAY,gBAAgB;AAAA,MACxE;AAAA,MACA,IAAI,YAAY,UAAU;AAAA,QACxB,MAAM,KAAK,mCAAmC,YAAY,gBAAgB;AAAA,MAC5E;AAAA,MACA,IAAI,YAAY,gBAAgB,MAAM;AAAA,QACpC,MAAM,KAAK,gDAAgD;AAAA,MAC7D;AAAA,MACA,IAAI,YAAY,eAAe;AAAA,QAC7B,MAAM,KAAK,6BAA6B,YAAY,0BAA0B;AAAA,MAChF;AAAA,MACA,IAAI,YAAY,eAAe;AAAA,QAC7B,MAAM,KAAK,iCAAiC,YAAY,0BAA0B;AAAA,MACpF;AAAA,MACA,IAAI,YAAY,yBAAyB,OAAO;AAAA,QAC9C,MAAM,KACJ,qFACF;AAAA,MACF;AAAA,MAEA,OAAO,MAAM,KAAK,IAAI;AAAA;AAAA,EAE1B;AAAA;;;;;;;;ACxHwD,IAAxD;;;ACYO,IAAM,mBAAmB;AACzB,IAAM,8BAA8B;AAEpC,IAAM,sBAAsB;AA8K5B,IAAM,0BAA0B;AAAA,EACrC,MAAM;AAAA,EACN,UAAU,CAAC,cAAc,KAAK;AAAA,EAC9B,YAAY;AAAA,IACV,YAAY;AAAA,MACV,MAAM;AAAA,MACN,WAAW;AAAA,MACX,cAAc;AAAA,IAChB;AAAA,IACA,KAAK;AAAA,MACH,MAAM;AAAA,MACN,WAAW;AAAA,MACX,cAAc;AAAA,IAChB;AAAA,IACA,WAAW;AAAA,MACT,MAAM;AAAA,IACR;AAAA,IACA,qBAAqB;AAAA,MACnB,MAAM;AAAA,IACR;AAAA,EACF;AACF;AAEO,IAAM,sBAA4C;AAAA,EACvD,SAAS;AAAA,EACT,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,0BAA0B;AAC5B;AAEO,IAAM,yBAAyB;AAC/B,IAAM,qBAAqB;AAC3B,IAAM,sBAAsB;;;ACpN5B,IARP;;;ACSO,IAAM,wBAAwB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAmD9B,IAAM,2BAA2B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA4BjC,IAAM,4BAA4B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAyClC,IAAM,wBAAwB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA6B9B,IAAM,gCAAgC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA8CtC,IAAM,4BAA4B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACtMlC,IAAM,sBAAsB;;;AFMnC,eAAsB,cAAc,CAClC,OACA,aACA,OACA,SACA,SACA,MACA,UACuB;AAAA,EACvB,MAAM,eAAe,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK;AAAA,EAE1E,mBAAO,MAAM,EAAE,OAAO,SAAS,KAAK,GAAG,uBAAuB,SAAS,cAAc;AAAA,EAErF,IAAI,eAAe,sGAAsG;AAAA,EAEzH,IAAI,UAAU;AAAA,IACZ,MAAM,gBAAuB;AAAA,SACxB;AAAA,MACH,QAAQ;AAAA,WACH,MAAM;AAAA,QACT;AAAA,QACA,aAAa,QAAQ,QAAQ,QAAQ;AAAA,QACrC,OAAO;AAAA,MACT;AAAA,IACF;AAAA,IAEA,MAAM,SAAS,mCAAuB;AAAA,MACpC,OAAO;AAAA,MACP,UAAU;AAAA,IACZ,CAAC;AAAA,IAED,MAAM,gBAAiB,MAAM,QAAQ,SAAS,sBAAU,YAAY;AAAA,MAClE;AAAA,IACF,CAAC;AAAA,IAED,eAAe;AAAA,IAEf,MAAM,SAAS;AAAA,MACb,MAAM;AAAA,MACN,SAAS,CAAC,OAAO;AAAA,IACnB,CAAC;AAAA,EACH;AAAA,EAEA,OAAO;AAAA,IACL,MAAM,yBAAyB;AAAA,IAC/B,QAAQ;AAAA,MACN,SAAS;AAAA,MACT,OAAO;AAAA,MACP,WAAW;AAAA,IACb;AAAA,IACA,MAAM;AAAA,MACJ,YAAY,SAAS,SAAS,kBAAkB;AAAA,MAChD,OAAO;AAAA,MACP,SAAS;AAAA,IACX;AAAA,IACA,SAAS;AAAA,IACT,OAAO,iBAAiB,QAAQ,QAAQ,IAAI,MAAM,YAAY;AAAA,EAChE;AAAA;;;AG/DF,eAAsB,qBAAqB,CACzC,UACA,eACuB;AAAA,EACvB,MAAM,eACJ;AAAA,EAEF,IAAI,YAAY,eAAe,iBAAiB;AAAA,IAC9C,MAAM,SAAS;AAAA,MACb,MAAM;AAAA,MACN,SAAS,CAAC,OAAO;AAAA,IACnB,CAAC;AAAA,EACH;AAAA,EAEA,OAAO;AAAA,IACL,MAAM;AAAA,IACN,QAAQ;AAAA,MACN,SAAS;AAAA,MACT,iBAAiB;AAAA,MACjB,4BAA4B;AAAA,IAC9B;AAAA,IACA,MAAM;AAAA,MACJ,YAAY;AAAA,MACZ,iBAAiB;AAAA,MACjB,QAAQ,eAAe,aAAa;AAAA,IACtC;AAAA,IACA,SAAS;AAAA,EACX;AAAA;;;ACvBK,IAXP;;;ACUA,eAAsB,eAAe,CACnC,SACA,SACA,MACA,YACA,SACA,UACe;AAAA,EACf,MAAM,SAAS,MAAM,QAAQ,qBAAqB;AAAA,IAChD,UAAU,QAAQ;AAAA,IAClB,SAAS,QAAQ;AAAA,IACjB,QAAQ,QAAQ;AAAA,IAChB,SAAS;AAAA,MACP,MAAM,aAAa,eAAe;AAAA,mBACrB;AAAA,MACb,UAAU;AAAA,WACL;AAAA,QACH;AAAA,MACF;AAAA,IACF;AAAA,EACF,CAAC;AAAA,EAED,MAAM,QAAQ,aAAa,QAAQ,SAAS,aAAa,cAAc,SAAS,IAAI;AAAA;AAG/E,SAAS,oBAAoB,CAAC,SAA4C;AAAA,EAC/E,MAAM,UAAmD,CAAC;AAAA,EAC1D,IAAI,cAAc;AAAA,EAElB,IAAI,QAAQ,WAAW,GAAG;AAAA,IACxB,OAAO;AAAA,MACL,QAAQ,EAAE,KAAK,CAAC,EAAE;AAAA,MAClB,MAAM,EAAE,KAAK,CAAC,EAAE;AAAA,MAChB,MAAM;AAAA,IACR;AAAA,EACF;AAAA,EAEA,WAAW,UAAU,SAAS;AAAA,IAC5B,MAAM,QAAqC,CAAC;AAAA,IAC5C,MAAM,YAA6C,CAAC;AAAA,IAEpD,QAAQ,OAAO,QAAQ;AAAA,MACrB,QAAQ,OAAO;AAAA,MACf;AAAA,MACA;AAAA,IACF;AAAA,IAEA,eAAe,cAAc,OAAO,SAAS,OAAO;AAAA;AAAA;AAAA,IAEpD,IAAI,OAAO,SAAS,OAAO,MAAM,SAAS,GAAG;AAAA,MAC3C,eAAe;AAAA;AAAA;AAAA,MAEf,WAAW,QAAQ,OAAO,OAAO;AAAA,QAC/B,MAAM,KAAK,QAAQ;AAAA,UACjB,aAAa,KAAK,eAAe;AAAA,UACjC,aAAa,KAAK;AAAA,QACpB;AAAA,QAEA,eAAe,OAAO,KAAK,WAAW,KAAK,eAAe;AAAA;AAAA,MAC5D;AAAA,MACA,eAAe;AAAA;AAAA,IACjB;AAAA,IAEA,IAAI,OAAO,aAAa,OAAO,UAAU,SAAS,GAAG;AAAA,MACnD,eAAe;AAAA;AAAA;AAAA,MAEf,WAAW,YAAY,OAAO,WAAW;AAAA,QACvC,UAAU,SAAS,OAAO;AAAA,UACxB,MAAM,SAAS;AAAA,UACf,aAAa,SAAS,eAAe;AAAA,UACrC,UAAU,SAAS;AAAA,QACrB;AAAA,QAEA,eAAe,OAAO,SAAS,WAAW,SAAS,SACjD,SAAS,eAAe;AAAA;AAAA,MAE5B;AAAA,MACA,eAAe;AAAA;AAAA,IACjB;AAAA,EACF;AAAA,EAEA,OAAO;AAAA,IACL,QAAQ,EAAE,KAAK,SAAS,SAAS;AAAA;AAAA,EAA0B,cAAc;AAAA,IACzE,MAAM,EAAE,KAAK,QAAQ;AAAA,IACrB,MAAM;AAAA;AAAA,EAA0B;AAAA,EAClC;AAAA;;;AD9EF,SAAS,wBAAwB,CAAC,UAAuD;AAAA,EACvF,IAAI,CAAC;AAAA,IAAU;AAAA,EAEf,IAAI,SAAS,WAAW,QAAQ;AAAA,IAAG,OAAO,yBAAY;AAAA,EACtD,IAAI,SAAS,WAAW,QAAQ;AAAA,IAAG,OAAO,yBAAY;AAAA,EACtD,IAAI,SAAS,WAAW,QAAQ;AAAA,IAAG,OAAO,yBAAY;AAAA,EACtD,IAAI,SAAS,SAAS,KAAK,KAAK,SAAS,SAAS,UAAU;AAAA,IAAG,OAAO,yBAAY;AAAA,EAElF;AAAA;AAOK,SAAS,qBAAqB,CACnC,QACA,KACmD;AAAA,EACnD,IAAI,kBAAkB;AAAA,EACtB,IAAI,eAAe;AAAA,EAEnB,WAAW,WAAW,OAAO,UAAU;AAAA,IACrC,IAAI,QAAQ,MAAM;AAAA,MAChB,mBAAmB,QAAQ;AAAA,IAC7B,EAAO,SAAI,QAAQ,MAAM;AAAA,MACvB,mBAAmB,eAAe,QAAQ,WAAW,MAAM,QAAQ,aAAa;AAAA,IAClF;AAAA,IAEA,gBAAgB,aAAa,QAAQ,OAAO;AAAA;AAAA,IAC5C,IAAI,QAAQ,UAAU;AAAA,MACpB,gBAAgB,SAAS,QAAQ;AAAA;AAAA,IACnC;AAAA,EACF;AAAA,EAEA,OAAO,EAAE,iBAAiB,aAAa;AAAA;AAoBlC,SAAS,iBAAiB,CAC/B,QACA,YACA,UACA,SACA,iBACuE;AAAA,EACvE,IAAI,aAAa;AAAA,EACjB,IAAI,iBAAiB;AAAA,EACrB,MAAM,cAAuB,CAAC;AAAA,EAE9B,WAAW,WAAW,OAAO,SAAS;AAAA,IACpC,IAAI,QAAQ,SAAS,UAAU,QAAQ,MAAM;AAAA,MAC3C,cAAc,QAAQ;AAAA,IACxB,EAAO,SAAI,QAAQ,SAAS,WAAW,QAAQ,QAAQ,QAAQ,UAAU;AAAA,MACvE,iBAAiB;AAAA,MACjB,YAAY,KAAK;AAAA,QACf,aAAa,yBAAyB,QAAQ,QAAQ;AAAA,QACtD,KAAK,QAAQ,QAAQ,mBAAmB,QAAQ;AAAA,QAChD,IAAI,8BAAiB,SAAS,eAAe;AAAA,QAC7C,OAAO;AAAA,QACP,QAAQ,GAAG,cAAc;AAAA,QACzB,aAAa;AAAA,QACb,MAAM;AAAA,MACR,CAAC;AAAA,IACH,EAAO,SAAI,QAAQ,SAAS,cAAc,QAAQ,UAAU;AAAA,MAC1D,MAAM,WAAW,QAAQ;AAAA,MACzB,IAAI,UAAU,YAAY,SAAS,MAAM;AAAA,QACvC,cAAc;AAAA;AAAA,YAAiB,SAAS;AAAA,EAAU,SAAS;AAAA,MAC7D,EAAO,SAAI,UAAU,UAAU;AAAA,QAC7B,cAAc;AAAA;AAAA,YAAiB,SAAS;AAAA,MAC1C;AAAA,IACF;AAAA,EACF;AAAA,EAEA,OAAO,EAAE,YAAY,gBAAgB,YAAY;AAAA;AAGnD,eAAsB,sBAAsB,CAC1C,SACA,SACA,KACA,YACA,iBACA,cACA,UACe;AAAA,EACf,MAAM,gBAAgB,SAAS,SAAS,YAAY,YAAY,iBAAiB;AAAA,IAC/E;AAAA,IACA,kBAAkB;AAAA,EACpB,CAAC;AAAA,EAED,MAAM,iBAAiB,qBACrB,KACA,QAAQ,QAAQ,QAAQ,IACxB,iBACA,YACF;AAAA,EAEA,MAAM,mBAAoB,MAAM,QAAQ,SAAS,uBAAU,YAAY;AAAA,IACrE,QAAQ;AAAA,EACV,CAAC;AAAA,EAED,IAAI,UAAU;AAAA,IACZ,MAAM,SAAS;AAAA,MACb,MAAM;AAAA,MACN,SAAS,CAAC,mBAAmB;AAAA,IAC/B,CAAC;AAAA,EACH;AAAA;AASF,eAAsB,kBAAkB,CACtC,SACA,SACA,YACA,UACA,UACA,YACA,gBACA,aACA,OACA,aACA,UACiB;AAAA,EACjB,MAAM,gBAAgB,SAAS,SAAS,QAAQ,YAAY,YAAY;AAAA,IACtE;AAAA,IACA,WAAW;AAAA,IACX,YAAY;AAAA,EACd,CAAC;AAAA,EAED,MAAM,kBAAkB,sBACtB,OACA,aACA,UACA,YACA,QAAQ,QAAQ,QAAQ,IACxB,YACA,cACF;AAAA,EAEA,MAAM,mBAAoB,MAAM,QAAQ,SAAS,uBAAU,YAAY;AAAA,IACrE,QAAQ;AAAA,EACV,CAAC;AAAA,EAED,MAAM,UAAU,QAAQ,WAAW,QAAQ;AAAA,EAC3C,MAAM,cAAsB;AAAA,IAC1B,UAAU;AAAA,IACV,QAAQ,QAAQ;AAAA,IAChB,SAAS,QAAQ;AAAA,IACjB,SAAS;AAAA,MACP,MAAM;AAAA,MACN,SAAS,CAAC,eAAe;AAAA,MACzB,aAAa,kBAAkB,YAAY,SAAS,IAAI,CAAC,GAAG,WAAW,IAAI;AAAA,IAC7E;AAAA,EACF;AAAA,EAEA,MAAM,QAAQ,aAAa,aAAa,UAAU;AAAA,EAElD,IAAI,UAAU;AAAA,IACZ,MAAM,SAAS;AAAA,MACb,MAAM;AAAA,MACN,SAAS,CAAC,eAAe;AAAA,MACzB,aAAa,kBAAkB,YAAY,SAAS,IAAI,CAAC,GAAG,WAAW,IAAI;AAAA,IAC7E,CAAC;AAAA,EACH;AAAA,EAEA,OAAO;AAAA;AAGT,eAAsB,mBAAmB,CAAC,UAA2C;AAAA,EACnF,IAAI,UAAU;AAAA,IACZ,MAAM,kBAA2B;AAAA,MAC/B,MAAM;AAAA,MACN,SAAS,CAAC,mBAAmB;AAAA,IAC/B;AAAA,IACA,MAAM,SAAS,eAAe;AAAA,EAChC;AAAA;AAGF,SAAS,oBAAoB,CAC3B,KACA,aACA,iBACA,cACQ;AAAA,EACR,MAAM,gBAAuB;AAAA,IAC3B,MAAM,CAAC;AAAA,IACP,MAAM;AAAA,IACN,QAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAAA,EAEA,OAAO,oCAAuB;AAAA,IAC5B,OAAO;AAAA,IACP,UAAU;AAAA,EACZ,CAAC;AAAA;AAGH,SAAS,qBAAqB,CAC5B,OACA,aACA,UACA,YACA,aACA,YACA,gBACQ;AAAA,EACR,MAAM,gBAAuB;AAAA,OACxB;AAAA,IACH,QAAQ;AAAA,SACH,MAAM;AAAA,MACT;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAAA,EAEA,OAAO,oCAAuB;AAAA,IAC5B,OAAO;AAAA,IACP,UAAU;AAAA,EACZ,CAAC;AAAA;;;AElQI,IAPP;;;ACAgB,IAAhB;AACkB,IAAlB;AAEO,SAAS,SAAY,CAAC,OAAkB;AAAA,EAC7C,IAAI,eAAe,MAAM,QAAQ,6BAA6B,EAAE,EAAE,KAAK;AAAA,EAEvE,MAAM,aAAa,aAAa,QAAQ,GAAG;AAAA,EAC3C,MAAM,YAAY,aAAa,YAAY,GAAG;AAAA,EAE9C,IAAI,eAAe,MAAM,cAAc,MAAM,aAAa,YAAY;AAAA,IACpE,MAAM,IAAI,MAAM,qCAAqC;AAAA,EACvD;AAAA,EAEA,eAAe,aAAa,UAAU,YAAY,YAAY,CAAC;AAAA,EAE/D,OAAO,qBAAM,MAAM,YAAY;AAAA;AAGjC,IAAM,MAAM,IAAI,mBAAI;AAAA,EAClB,WAAW;AAAA,EACX,QAAQ;AACV,CAAC;AAOD,SAAS,eAAe,CAAC,QAAqC;AAAA,EAC5D,OAAO,OACJ,IAAI,CAAC,QAAQ;AAAA,IACZ,MAAM,OAAO,IAAI,eAAe,GAAG,IAAI,aAAa,QAAQ,OAAO,EAAE,MAAM;AAAA,IAC3E,OAAO,GAAG,SAAS,IAAI,WAAW;AAAA,GACnC,EACA,KAAK,IAAI;AAAA;AAGP,SAAS,kBAAqB,CACnC,MACA,QACgE;AAAA,EAChE,MAAM,WAAW,IAAI,QAAQ,MAAM;AAAA,EACnC,MAAM,QAAQ,SAAS,IAAI;AAAA,EAE3B,IAAI,CAAC,OAAO;AAAA,IACV,MAAM,SAAS,SAAS,UAAU,CAAC;AAAA,IACnC,MAAM,eAAe,gBAAgB,MAA6B;AAAA,IAClE,OAAO,EAAE,SAAS,OAAO,OAAO,aAAa;AAAA,EAC/C;AAAA,EAEA,OAAO,EAAE,SAAS,MAAM,KAAgB;AAAA;;;AClDnC,IAAM,0BAA0B;AAAA,EACrC,MAAM;AAAA,EACN,UAAU,CAAC,cAAc,UAAU;AAAA,EACnC,YAAY;AAAA,IACV,YAAY;AAAA,MACV,MAAM;AAAA,MACN,WAAW;AAAA,MACX,cAAc;AAAA,IAChB;AAAA,IACA,UAAU;AAAA,MACR,MAAM;AAAA,MACN,WAAW;AAAA,MACX,cAAc;AAAA,IAChB;AAAA,IACA,WAAW;AAAA,MACT,MAAM;AAAA,IACR;AAAA,IACA,iBAAiB;AAAA,MACf,MAAM;AAAA,IACR;AAAA,EACF;AACF;AASO,IAAM,8BAA8B;AAAA,EACzC,MAAM;AAAA,EACN,UAAU,CAAC,eAAe;AAAA,EAC1B,YAAY;AAAA,IACV,eAAe;AAAA,MACb,MAAM;AAAA,IACR;AAAA,EACF;AACF;;;ACZO,SAAS,yBAAyB,CACvC,QACA,OACqC;AAAA,EACrC,MAAM,cAAc,mBAAsC,QAAQ,uBAAuB;AAAA,EACzF,IAAI,YAAY,YAAY,OAAO;AAAA,IACjC,OAAO,EAAE,SAAS,OAAO,OAAO,YAAY,MAAM;AAAA,EACpD;AAAA,EAEA,MAAM,OAAO,YAAY;AAAA,EACzB,MAAM,UAAW,MAAM,OAAO,OAAO,CAAC;AAAA,EACtC,MAAM,SAAS,QAAQ,KAAK;AAAA,EAE5B,IAAI,CAAC,UAAU,OAAO,WAAW,aAAa;AAAA,IAC5C,OAAO;AAAA,MACL,SAAS;AAAA,MACT,OAAO,WAAW,KAAK;AAAA,IACzB;AAAA,EACF;AAAA,EAEA,MAAM,WAAW,OAAO,QAAQ,KAAK;AAAA,EACrC,IAAI,CAAC,UAAU;AAAA,IACb,OAAO;AAAA,MACL,SAAS;AAAA,MACT,OAAO,SAAS,KAAK,kCAAkC,KAAK;AAAA,IAC9D;AAAA,EACF;AAAA,EAEA,OAAO,EAAE,SAAS,MAAM,KAAK;AAAA;AAGxB,SAAS,6BAA6B,CAC3C,QACA,iBACyC;AAAA,EACzC,MAAM,cAAc,mBAClB,QACA,2BACF;AAAA,EACA,IAAI,YAAY,YAAY,OAAO;AAAA,IACjC,OAAO,EAAE,SAAS,OAAO,OAAO,YAAY,MAAM;AAAA,EACpD;AAAA,EAEA,MAAM,OAAO,YAAY;AAAA,EACzB,MAAM,mBAAmB,mBAAmB,KAAK,eAAe,eAAe;AAAA,EAE/E,IAAI,iBAAiB,YAAY,OAAO;AAAA,IACtC,OAAO;AAAA,MACL,SAAS;AAAA,MACT,OAAO,sBAAsB,iBAAiB;AAAA,IAChD;AAAA,EACF;AAAA,EAEA,OAAO,EAAE,SAAS,MAAM,KAAK;AAAA;AAGxB,SAAS,yBAAyB,CAAC,WAAyD;AAAA,EACjG,OAAO,mBAAsC,WAAW,uBAAuB;AAAA;AAO1E,SAAS,iCAAiC,CAC/C,kBACA,cACA,eACA,aACQ;AAAA,EACR,IAAI,mBAAmB;AAAA,EACvB,MAAM,UAAU,cAAc,OAAO;AAAA,EAErC,IAAI,SAAS;AAAA,IACX,YAAY,YAAY,WAAW,OAAO,QAAQ,OAAO,GAAG;AAAA,MAC1D,IAAI,OAAO,WAAW;AAAA,QAAa;AAAA,MAEnC,MAAM,QAAQ,OAAO;AAAA,MACrB,IAAI,OAAO;AAAA,QACT,YAAY,UAAU,SAAS,OAAO,QAAQ,KAAK,GAAG;AAAA,UACpD,oBAAoB,SAAS,qBAAqB;AAAA;AAAA,UAClD,oBAAoB,gBAAgB,KAAK,eAAe;AAAA;AAAA;AAAA,QAC1D;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA,EAEA,OAAO,qBACL,kBACA,cACA,QACA,kBACA,WACF;AAAA;AAQK,SAAS,qCAAqC,CACnD,kBACA,cACA,eACA,aACQ;AAAA,EACR,IAAI,uBAAuB;AAAA,EAC3B,MAAM,UAAU,cAAc,OAAO;AAAA,EAErC,IAAI,SAAS;AAAA,IACX,YAAY,YAAY,WAAW,OAAO,QAAQ,OAAO,GAAG;AAAA,MAC1D,IAAI,OAAO,WAAW;AAAA,QAAa;AAAA,MAEnC,MAAM,YAAY,OAAO;AAAA,MACzB,IAAI,WAAW;AAAA,QACb,YAAY,KAAK,aAAa,OAAO,QAAQ,SAAS,GAAG;AAAA,UACvD,wBAAwB,aAAa,gBAAgB;AAAA;AAAA,UACrD,wBAAwB,SAAS,SAAS,QAAQ;AAAA;AAAA,UAClD,wBAAwB,gBACtB,SAAS,eAAe;AAAA;AAAA;AAAA,QAE5B;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA,EAEA,OAAO,qBACL,kBACA,cACA,YACA,sBACA,WACF;AAAA;AAGF,SAAS,oBAAoB,CAC3B,kBACA,cACA,UACA,kBACA,aACQ;AAAA,EACR,OAAO,uBAAuB;AAAA;AAAA;AAAA,EAG9B;AAAA;AAAA,uCAEqC;AAAA,YAC3B;AAAA,EACV;AAAA;AAAA,gBAEc;AAAA;;;AC5KT,IANP;AA+BA,eAAsB,cAAiB;AAAA,EACrC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,aAAa;AAAA,GACiC;AAAA,EAC9C,MAAM,aAAa,cAAc,OAAO;AAAA,EAExC,MAAM,aAAa,OAAO,UAAU,WAAW,UAAmC,KAAK,IAAI;AAAA,EAE3F,MAAM,mBAAmB,aAAa,UAAU;AAAA,EAEhD,IAAI,iBAAiB,SAAS;AAAA,IAC5B,OAAO,iBAAiB;AAAA,EAC1B;AAAA,EAEA,MAAM,eAAgB,iBAAuD;AAAA,EAE7E,IAAI,aAAa,YAAY;AAAA,IAC3B,MAAM,iBAAyB,uBAC7B,OACA,cACA,OACA,QAAQ,QAAQ,QAAQ,EAC1B;AAAA,IAEA,MAAM,iBAAkB,MAAM,QAAQ,SAAS,uBAAU,cAAc;AAAA,MACrE,QAAQ;AAAA,IACV,CAAC;AAAA,IAED,OAAO,eAAe;AAAA,MACpB;AAAA,MACA,OAAO;AAAA,MACP;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,YAAY,aAAa;AAAA,IAC3B,CAAC;AAAA,EACH;AAAA,EAEA,IAAI,YAAY,YAAY;AAAA,IAC1B,MAAM,SAAS;AAAA,MACb,MAAM;AAAA,MACN,SAAS,CAAC,OAAO;AAAA,IACnB,CAAC;AAAA,EACH;AAAA,EAEA,OAAO;AAAA;AAGT,SAAS,aAAa,CAAC,SAAgC;AAAA,EACrD,MAAM,cAAc,QAAQ,WAAW,KAAK;AAAA,EAE5C,IAAI,eAAe,OAAO,gBAAgB,UAAU;AAAA,IAClD,MAAM,WAAW;AAAA,IACjB,IAAI,OAAO,SAAS,eAAe,YAAY,SAAS,cAAc,GAAG;AAAA,MACvE,OAAO,SAAS;AAAA,IAClB;AAAA,EACF;AAAA,EAEA,OAAO;AAAA;;;AJrET,eAAsB,uBAAuB;AAAA,EAC3C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,GACgE;AAAA,EAChE,MAAM,sBAA8B,oCAAuB;AAAA,IACzD,OAAO,KAAK,OAAO,QAAQ,KAAK,MAAM,QAAQ,YAAY,EAAE;AAAA,IAC5D,UAAU;AAAA,EACZ,CAAC;AAAA,EAED,MAAM,oBAAqB,MAAM,QAAQ,SAAS,uBAAU,YAAY;AAAA,IACtE,QAAQ;AAAA,EACV,CAAC;AAAA,EAED,OAAO,MAAM,eAAkC;AAAA,IAC7C;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,OAAO;AAAA,IACP,cAAc,CAAC,WAAW,0BAA0B,QAAQ,KAAK;AAAA,IACjE,wBAAwB,CAAC,kBAAkB,cAAc,eAAe,gBACtE,kCACE,OAAO,qBAAqB,WAAW,mBAAmB,KAAK,UAAU,gBAAgB,GACzF,cACA,eACA,WACF;AAAA,IACF,YAAY;AAAA,EACd,CAAC;AAAA;AAGH,eAAsB,2BAA2B;AAAA,EAC/C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,GACoE;AAAA,EACpE,IAAI,CAAC,mBAAmB;AAAA,IACtB,MAAM,IAAI,MAAM,mEAAmE;AAAA,EACrF;AAAA,EAEA,QAAQ,YAAY,aAAa;AAAA,EACjC,MAAM,aAAa,YAAY,KAAK,IAAI;AAAA,EAExC,IAAI,CAAC,YAAY;AAAA,IACf,MAAM,IAAI,MAAM,WAAW,4CAA4C;AAAA,EACzE;AAAA,EAEA,MAAM,WAAW,WAAW,MAAM;AAAA,EAClC,IAAI,CAAC,UAAU;AAAA,IACb,MAAM,IAAI,MAAM,SAAS,kCAAkC,aAAa;AAAA,EAC1E;AAAA,EAEA,MAAM,kBAAkB,SAAS,eAAe,CAAC;AAAA,EAEjD,MAAM,8BAAsC,oCAAuB;AAAA,IACjE,OAAO;AAAA,SACF;AAAA,MACH,QAAQ;AAAA,WACH,MAAM;AAAA,QACT;AAAA,QACA,iBAAiB,KAAK,UAAU,eAAe;AAAA,MACjD;AAAA,IACF;AAAA,IACA,UAAU;AAAA,EACZ,CAAC;AAAA,EAED,MAAM,wBAAyB,MAAM,QAAQ,SAAS,uBAAU,YAAY;AAAA,IAC1E,QAAQ;AAAA,EACV,CAAC;AAAA,EAED,OAAO,MAAM,eAAsC;AAAA,IACjD;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,OAAO;AAAA,IACP,cAAc,CAAC,WAAW,8BAA8B,QAAQ,eAAe;AAAA,IAC/E,wBAAwB,CAAC,kBAAkB,cAAc,eAAe,gBACtE,kCACE,OAAO,qBAAqB,WAAW,mBAAmB,KAAK,UAAU,gBAAgB,GACzF,cACA,eACA,WACF;AAAA,IACF,YAAY;AAAA,EACd,CAAC;AAAA;;;AK1GI,IAAM,iBAAyB;AAAA,EACpC,MAAM;AAAA,EACN,SAAS;AAAA,IACP;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EACA,aAAa;AAAA,EAEb,UAAU,OAAO,SAAc,SAAc,OAAa,YAAoC;AAAA,IAC5F,MAAM,cAAc,OAAO,SAAS,SAAS,SAAS,WAAW,QAAQ,QAAQ,OAAO;AAAA,IACxF,MAAM,WAAW,YAAY,YAAY;AAAA,IACzC,MAAM,eAAe,CAAC,QAAQ,OAAO,MAAM;AAAA,IAC3C,MAAM,gBACJ,aAAa,SAAS,KAAK,aAAa,KAAK,CAAC,OAAO,GAAG,SAAS,KAAK,SAAS,SAAS,EAAE,CAAC;AAAA,IAC7F,MAAM,YAAY;AAAA,IAClB,MAAM,cAAc,UAAU,KAAK,QAAQ;AAAA,IAC3C,MAAM,aAAa,OAAO,SAAS,SAAS,UAAU,SAAS,UAAU,EAAE;AAAA,IAC3E,MAAM,qBAAqB;AAAA,IAC3B,MAAM,eAAe,qBACjB,eAAe,qBACf,QAAQ,cAAc,SAAS,SAAS,WAAW,SAAS,UAAU;AAAA,IAC1E,MAAM,cAAc,WAAW,OAAO,YAAY,WAAW,UAAU,CAAC;AAAA,IACxE,MAAM,cACJ,SAAS,KAAK,EAAE,SAAS,KACzB,OAAO,KAAK,WAAsC,EAAE,SAAS,KAC7D,QAAQ,SAAS,WAAW,OAAO,QAAQ,YAAY,QAAQ;AAAA,IAEjE,IAAI,EAAE,iBAAiB,eAAe,gBAAgB,cAAc;AAAA,MAClE,OAAO;AAAA,IACT;AAAA,IAEA,MAAM,qBAAqB,OACzB,UACA,UACA,WACqB;AAAA,MACrB,MAAM,aAAa,SAAQ,WAAuB,gBAAgB;AAAA,MAClE,IAAI,CAAC;AAAA,QAAY,OAAO;AAAA,MAExB,MAAM,UAAU,WAAW,WAAW;AAAA,MACtC,OACE,QAAQ,SAAS,KACjB,QAAQ,KACN,CAAC,WACC,OAAO,WAAW,eAAe,OAAO,SAAS,OAAO,MAAM,SAAS,CAC3E;AAAA;AAAA,IAGJ,IAAI;AAAA,MACF,OAAO,QAAQ,MAAO,mBAA2B,SAAS,SAAS,OAAO,OAAO,CAAC;AAAA,MAClF,MAAM;AAAA,MACN,OAAO;AAAA;AAAA;AAAA,EAIX,SAAS,OACP,SACA,SACA,QACA,UACA,aAC0B;AAAA,IAC1B,MAAM,gBAAgB,MAAM,QAAQ,aAAa,SAAS,CAAC,mBAAmB,KAAK,CAAC;AAAA,IACpF,MAAM,aAAa,QAAQ,WAAuB,gBAAgB;AAAA,IAClE,IAAI,CAAC,YAAY;AAAA,MACf,MAAM,IAAI,MAAM,2BAA2B;AAAA,IAC7C;AAAA,IACA,MAAM,cAAc,WAAW,gBAAgB;AAAA,IAE/C,IAAI;AAAA,MACF,MAAM,oBAAoB,MAAM,wBAAwB;AAAA,QACtD;AAAA,QACA,OAAO;AAAA,QACP;AAAA,QACA;AAAA,QACA;AAAA,MACF,CAAC;AAAA,MACD,IAAI,CAAC,qBAAqB,kBAAkB,iBAAiB;AAAA,QAC3D,OAAO,MAAM,sBAAsB,UAAU,iBAAiB;AAAA,MAChE;AAAA,MACA,QAAQ,YAAY,aAAa;AAAA,MAEjC,MAAM,wBAAwB,MAAM,4BAA4B;AAAA,QAC9D;AAAA,QACA,OAAO;AAAA,QACP;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF,CAAC;AAAA,MACD,IAAI,CAAC,uBAAuB;AAAA,QAC1B,OAAO,MAAM,sBAAsB,UAAU,iBAAiB;AAAA,MAChE;AAAA,MAEA,MAAM,SAAS,MAAM,WAAW,SAC9B,YACA,UACA,sBAAsB,aACxB;AAAA,MAEA,QAAQ,YAAY,gBAAgB,gBAAgB,kBAClD,QACA,YACA,UACA,SACA,QAAQ,QACV;AAAA,MAEA,MAAM,cAAc,MAAM,mBACxB,SACA,SACA,YACA,UACA,sBAAsB,eACtB,YACA,gBACA,aACA,eACA,aACA,QACF;AAAA,MAEA,OAAO;AAAA,QACL,MAAM,6BAA6B,cAAc,gCAAgC,YAAY,QAAQ;AAAA,QACrG,QAAQ;AAAA,UACN,SAAS;AAAA,UACT,cAAc;AAAA,UACd;AAAA,UACA;AAAA,UACA;AAAA,UACA,QAAQ;AAAA,QACV;AAAA,QACA,MAAM;AAAA,UACJ,YAAY;AAAA,UACZ;AAAA,UACA;AAAA,UACA,mBAAmB,KAAK,UAAU,sBAAsB,aAAa;AAAA,UACrE,WAAW,kBAAkB;AAAA,UAC7B,QAAQ;AAAA,UACR,iBAAiB,aAAa,UAAU;AAAA,QAC1C;AAAA,QACA,SAAS;AAAA,MACX;AAAA,MACA,OAAO,OAAO;AAAA,MACd,OAAO,MAAM,eACX,eACA,aACA,OACA,SACA,SACA,QACA,QACF;AAAA;AAAA;AAAA,EAIJ,UAAU;AAAA,IACR;AAAA,MACE;AAAA,QACE,MAAM;AAAA,QACN,SAAS;AAAA,UACP,MAAM;AAAA,QACR;AAAA,MACF;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,SAAS;AAAA,UACP,MAAM;AAAA,UACN,SAAS,CAAC,eAAe;AAAA,QAC3B;AAAA,MACF;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,SAAS;AAAA,UACP,MAAM;AAAA;AAAA;AAAA,UACN,SAAS,CAAC,eAAe;AAAA,QAC3B;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;;;AClMO,IATP;AA0BA,SAAS,6BAA6B,CAAC,eAAsB,aAA6B;AAAA,EACxF,MAAM,UAAW,cAAc,OAAO,OAAO,CAAC;AAAA,EAC9C,MAAM,cAAc,OAAO,KAAK,OAAO;AAAA,EAEvC,IAAI,uBAAuB;AAAA,EAC3B,WAAW,cAAc,aAAa;AAAA,IACpC,MAAM,SAAS,QAAQ;AAAA,IACvB,IAAI,OAAO,WAAW;AAAA,MAAa;AAAA,IAEnC,MAAM,eAAe,OAAO,KAAK,OAAO,aAAa,CAAC,CAAC;AAAA,IACvD,WAAW,OAAO,cAAc;AAAA,MAC9B,MAAM,WAAW,OAAO,UAAU;AAAA,MAClC,wBAAwB,aAAa,gBAAgB;AAAA;AAAA,MACrD,wBAAwB,SAAS,SAAS,QAAQ;AAAA;AAAA,MAClD,wBAAwB,gBACtB,SAAS,eAAe;AAAA;AAAA,MAE1B,wBAAwB,cAAc,SAAS,YAAY;AAAA;AAAA;AAAA,IAC7D;AAAA,EACF;AAAA,EAEA,MAAM,gBAAuB;AAAA,OACxB;AAAA,IACH,QAAQ;AAAA,SACH,cAAc;AAAA,MACjB;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAAA,EAEA,OAAO,oCAAuB;AAAA,IAC5B,OAAO;AAAA,IACP,UAAU;AAAA,EACZ,CAAC;AAAA;AAGI,IAAM,qBAA6B;AAAA,EACxC,MAAM;AAAA,EACN,SAAS;AAAA,IACP;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EACA,aAAa;AAAA,EAEb,UAAU,OAAO,SAAc,SAAc,OAAa,YAAoC;AAAA,IAC5F,MAAM,cAAc,OAAO,SAAS,SAAS,SAAS,WAAW,QAAQ,QAAQ,OAAO;AAAA,IACxF,MAAM,WAAW,YAAY,YAAY;AAAA,IACzC,MAAM,eAAe,CAAC,QAAQ,OAAO,UAAU;AAAA,IAC/C,MAAM,gBACJ,aAAa,SAAS,KAAK,aAAa,KAAK,CAAC,OAAO,GAAG,SAAS,KAAK,SAAS,SAAS,EAAE,CAAC;AAAA,IAC7F,MAAM,YAAY;AAAA,IAClB,MAAM,cAAc,UAAU,KAAK,QAAQ;AAAA,IAC3C,MAAM,aAAa,OAAO,SAAS,SAAS,UAAU,SAAS,UAAU,EAAE;AAAA,IAC3E,MAAM,qBAAqB;AAAA,IAC3B,MAAM,eAAe,qBACjB,eAAe,qBACf,QAAQ,cAAc,SAAS,SAAS,WAAW,SAAS,UAAU;AAAA,IAC1E,MAAM,cAAc,WAAW,OAAO,YAAY,WAAW,UAAU,CAAC;AAAA,IACxE,MAAM,cACJ,SAAS,KAAK,EAAE,SAAS,KACzB,OAAO,KAAK,WAAsC,EAAE,SAAS,KAC7D,QAAQ,SAAS,WAAW,OAAO,QAAQ,YAAY,QAAQ;AAAA,IAEjE,IAAI,EAAE,iBAAiB,eAAe,gBAAgB,cAAc;AAAA,MAClE,OAAO;AAAA,IACT;AAAA,IAEA,MAAM,qBAAqB,OACzB,UACA,UACA,WACqB;AAAA,MACrB,MAAM,aAAa,SAAQ,WAAuB,gBAAgB;AAAA,MAClE,IAAI,CAAC;AAAA,QAAY,OAAO;AAAA,MAExB,MAAM,UAAU,WAAW,WAAW;AAAA,MACtC,OACE,QAAQ,SAAS,KACjB,QAAQ,KACN,CAAC,WACC,OAAO,WAAW,eAAe,OAAO,aAAa,OAAO,UAAU,SAAS,CACnF;AAAA;AAAA,IAGJ,IAAI;AAAA,MACF,OAAO,QAAQ,MAAO,mBAA2B,SAAS,SAAS,OAAO,OAAO,CAAC;AAAA,MAClF,MAAM;AAAA,MACN,OAAO;AAAA;AAAA;AAAA,EAIX,SAAS,OACP,SACA,SACA,QACA,UACA,aAC0B;AAAA,IAC1B,MAAM,gBAAgB,MAAM,QAAQ,aAAa,SAAS,CAAC,mBAAmB,KAAK,CAAC;AAAA,IAEpF,MAAM,aAAa,QAAQ,WAAuB,gBAAgB;AAAA,IAClE,IAAI,CAAC,YAAY;AAAA,MACf,MAAM,IAAI,MAAM,2BAA2B;AAAA,IAC7C;AAAA,IAEA,MAAM,cAAc,WAAW,gBAAgB;AAAA,IAE/C,IAAI;AAAA,MACF,MAAM,oBAAoB,QAAQ;AAAA,MAElC,MAAM,0BAA0B,8BAC9B,eACA,QAAQ,QAAQ,QAAQ,EAC1B;AAAA,MAEA,MAAM,oBAAqB,MAAM,QAAQ,SAAS,uBAAU,YAAY;AAAA,QACtE,QAAQ;AAAA,MACV,CAAC;AAAA,MAED,MAAM,kBAAkB,MAAM,eAAkC;AAAA,QAC9D;AAAA,QACA,OAAO;AAAA,QACP;AAAA,QACA;AAAA,QACA,OAAO;AAAA,QACP,cAAc,CAAC,SAAS,0BAA0B,IAAI;AAAA,QACtD,wBAAwB,CAAC,kBAAkB,cAAc,OAAO,gBAC9D,sCACE,OAAO,qBAAqB,WACxB,mBACA,KAAK,UAAU,gBAAgB,GACnC,cACA,OACA,WACF;AAAA,QACF,YAAY;AAAA,QACZ,YAAY;AAAA,MACd,CAAC;AAAA,MAED,IAAI,CAAC,mBAAmB,gBAAgB,qBAAqB;AAAA,QAC3D,MAAM,eACJ;AAAA,QAEF,IAAI,YAAY,iBAAiB,qBAAqB;AAAA,UACpD,MAAM,SAAS;AAAA,YACb,MAAM;AAAA,YACN,SAAS,CAAC,OAAO;AAAA,UACnB,CAAC;AAAA,QACH;AAAA,QACA,OAAO;AAAA,UACL,MAAM;AAAA,UACN,QAAQ;AAAA,YACN,SAAS;AAAA,YACT,qBAAqB;AAAA,YACrB,4BAA4B;AAAA,UAC9B;AAAA,UACA,MAAM;AAAA,YACJ,YAAY;AAAA,YACZ,qBAAqB;AAAA,YACrB,QAAQ,iBAAiB,aAAa;AAAA,UACxC;AAAA,UACA,SAAS;AAAA,QACX;AAAA,MACF;AAAA,MAEA,QAAQ,YAAY,QAAQ;AAAA,MAE5B,MAAM,SAAS,MAAM,WAAW,aAAa,YAAY,GAAG;AAAA,MAE5D,QAAQ,iBAAiB,iBAAiB,sBAAsB,QAAQ,GAAG;AAAA,MAE3E,MAAM,uBACJ,SACA,SACA,KACA,YACA,iBACA,cACA,QACF;AAAA,MAEA,OAAO;AAAA,QACL,MAAM,+BAA+B;AAAA,QACrC,QAAQ;AAAA,UACN,SAAS;AAAA,UACT,cAAc;AAAA,UACd;AAAA,UACA;AAAA,QACF;AAAA,QACA,MAAM;AAAA,UACJ,YAAY;AAAA,UACZ;AAAA,UACA;AAAA,UACA,WAAW,iBAAiB;AAAA,UAC5B;AAAA,UACA,eAAe,iBAAiB,UAAU;AAAA,QAC5C;AAAA,QACA,SAAS;AAAA,MACX;AAAA,MACA,OAAO,OAAO;AAAA,MACd,OAAO,MAAM,eACX,eACA,aACA,OACA,SACA,SACA,YACA,QACF;AAAA;AAAA;AAAA,EAIJ,UAAU;AAAA,IACR;AAAA,MACE;AAAA,QACE,MAAM;AAAA,QACN,SAAS;AAAA,UACP,MAAM;AAAA,QACR;AAAA,MACF;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,SAAS;AAAA,UACP,MAAM;AAAA,UACN,SAAS,CAAC,mBAAmB;AAAA,QAC/B;AAAA,MACF;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,SAAS;AAAA,UACP,MAAM;AAAA,UACN,SAAS,CAAC,mBAAmB;AAAA,QAC/B;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;;;ACxQO,IAAM,WAAqB;AAAA,EAChC,MAAM;AAAA,EACN,aAAa;AAAA,EAEb,SAAS;AAAA,EACT,KAAK,OAAO,SAAwB,UAAkB,WAA2C;AAAA,IAC/F,MAAM,aAAa,QAAQ,WAAuB,gBAAgB;AAAA,IAClE,IAAI,CAAC,YAAY;AAAA,MACf,OAAO;AAAA,QACL,QAAQ,CAAC;AAAA,QACT,MAAM,CAAC;AAAA,QACP,MAAM;AAAA,MACR;AAAA,IACF;AAAA,IAEA,MAAM,eAAe,WAAW,gBAAgB;AAAA,IAChD,OAAO;AAAA,MACL,QAAQ,EAAE,YAAY,KAAK,UAAU,aAAa,OAAO,GAAG,EAAE;AAAA,MAC9D,MAAM,EAAE,gBAAgB,OAAO,KAAK,aAAa,KAAK,GAAG,EAAE,OAAO;AAAA,MAClE,MAAM,aAAa;AAAA,IACrB;AAAA;AAEJ;;;AC1BoD,IAApD;AACuB,IAAvB;AACmC,IAAnC;AACqC,IAArC;;ACoCO,SAAS,8BAA8B,CAC5C,SAC6B;AAAA,EAC7B,MAAM,YAAY,oBAAoB,OAAO;AAAA,EAE7C,QAAQ,UAAU;AAAA,SACX,UAAU;AAAA,MACb,QAAQ;AAAA,MACR,OAAO,IAAI,wBAAuB,SAAS;AAAA,IAC7C;AAAA,SACK,aAAa;AAAA,MAChB,QAAQ;AAAA,MACR,OAAO,IAAI,2BAA0B,SAAS;AAAA,IAChD;AAAA,SACK,UAAU;AAAA,MACb,QAAQ;AAAA,MACR,OAAO,IAAI,wBAAuB,SAAS;AAAA,IAC7C;AAAA;AAAA,MAEE,OAAO;AAAA;AAAA;;;ADvBN,MAAM,mBAAmB,qBAAQ;AAAA,SAC/B,cAAsB;AAAA,EAC7B,wBAAwB;AAAA,EAEhB,cAA0C,IAAI;AAAA,EAC9C,mBAAiD,IAAI;AAAA,EACrD,cAA2B;AAAA,IACjC,QAAQ,EAAE,KAAK,CAAC,GAAG,SAAS,GAAG;AAAA,IAC/B,MAAM,EAAE,KAAK,CAAC,EAAE;AAAA,IAChB,MAAM;AAAA,EACR;AAAA,EACQ,aAAyB;AAAA,EACzB,oBAAiD;AAAA,EACjD,2BAA2B;AAAA,EAE3B,wBAA8C;AAAA,EAEtD,WAAW,CAAC,SAAwB;AAAA,IAClC,MAAM,OAAO;AAAA,IACb,KAAK,wBAAwB,KAAK,qBAAqB;AAAA;AAAA,cAG5C,MAAK,CAAC,SAA6C;AAAA,IAC9D,MAAM,UAAU,IAAI,WAAW,OAAO;AAAA,IACtC,IAAI,QAAQ,uBAAuB;AAAA,MACjC,MAAM,QAAQ;AAAA,IAChB;AAAA,IACA,OAAO;AAAA;AAAA,OAGH,sBAAqB,GAAkB;AAAA,IAC3C,IAAI,KAAK,uBAAuB;AAAA,MAC9B,MAAM,KAAK;AAAA,IACb;AAAA;AAAA,OAGI,KAAI,GAAkB;AAAA,IAC1B,YAAY,SAAS,KAAK,aAAa;AAAA,MACrC,MAAM,KAAK,iBAAiB,IAAI;AAAA,IAClC;AAAA,IACA,KAAK,YAAY,MAAM;AAAA,IACvB,WAAW,SAAS,KAAK,iBAAiB,OAAO,GAAG;AAAA,MAClD,IAAI,MAAM;AAAA,QAAc,cAAc,MAAM,YAAY;AAAA,MACxD,IAAI,MAAM;AAAA,QAAkB,aAAa,MAAM,gBAAgB;AAAA,IACjE;AAAA,IACA,KAAK,iBAAiB,MAAM;AAAA;AAAA,OAGhB,qBAAoB,GAAkB;AAAA,IAClD,MAAM,cAAc,KAAK,eAAe;AAAA,IAExC,IAAI,CAAC,eAAe,CAAC,YAAY,WAAW,OAAO,KAAK,YAAY,OAAO,EAAE,WAAW,GAAG;AAAA,MACzF,KAAK,cAAc,qBAAqB,CAAC,CAAC;AAAA,MAC1C;AAAA,IACF;AAAA,IAEA,MAAM,KAAK,wBAAwB,YAAY,OAAO;AAAA,IACtD,MAAM,UAAU,KAAK,WAAW;AAAA,IAChC,KAAK,cAAc,qBAAqB,OAAO;AAAA;AAAA,EAGzC,cAAc,GAA4B;AAAA,IAChD,MAAM,cAAc,KAAK,QAAQ,WAAW,KAAK;AAAA,IACjD,IAAI,WAA2C;AAAA,IAE/C,IAAI,eAAe,OAAO,gBAAgB,YAAY,CAAC,MAAM,QAAQ,WAAW,GAAG;AAAA,MACjF,MAAM,SAAS;AAAA,MACf,IAAI,aAAa,UAAU,OAAO,OAAO,YAAY,YAAY,OAAO,YAAY,MAAM;AAAA,QACxF,WAAW;AAAA,MACb;AAAA,IACF;AAAA,IAEA,IAAI,CAAC,YAAY,CAAC,SAAS,SAAS;AAAA,MAClC,MAAM,oBAAoB,KAAK,QAAQ,UAAU;AAAA,MACjD,IACE,qBACA,OAAO,sBAAsB,YAC7B,SAAS,mBACT;AAAA,QACA,MAAM,uBAAuB,kBAAkB;AAAA,QAC/C,IACE,wBACA,OAAO,yBAAyB,YAChC,aAAa,sBACb;AAAA,UACA,WAAW;AAAA,QACb;AAAA,MACF;AAAA,IACF;AAAA,IAEA,IAAI,YAAY,OAAO,aAAa,YAAY,SAAS,SAAS;AAAA,MAChE,OAAO;AAAA,IACT;AAAA,IAEA;AAAA;AAAA,OAGY,wBAAuB,CACnC,eACe;AAAA,IACf,MAAM,eAAe,IAAI,IAAI,KAAK,YAAY,KAAK,CAAC;AAAA,IACpD,MAAM,WAAW,IAAI,IAAI,OAAO,KAAK,aAAa,CAAC;AAAA,IAEnD,WAAW,QAAQ,cAAc;AAAA,MAC/B,IAAI,CAAC,SAAS,IAAI,IAAI,GAAG;AAAA,QACvB,MAAM,KAAK,iBAAiB,IAAI;AAAA,MAClC;AAAA,IACF;AAAA,IAEA,MAAM,qBAAqB,OAAO,QAAQ,aAAa,EAAE,IAAI,QAAQ,MAAM,YAAY;AAAA,MACrF,MAAM,oBAAoB,KAAK,YAAY,IAAI,IAAI;AAAA,MACnD,IAAI,CAAC,mBAAmB;AAAA,QACtB,MAAM,KAAK,qBAAqB,MAAM,MAAM;AAAA,MAC9C,EAAO,SAAI,KAAK,UAAU,MAAM,MAAM,kBAAkB,OAAO,QAAQ;AAAA,QACrE,MAAM,KAAK,iBAAiB,IAAI;AAAA,QAChC,MAAM,KAAK,qBAAqB,MAAM,MAAM;AAAA,MAC9C;AAAA,KACD;AAAA,IAED,MAAM,QAAQ,WAAW,kBAAkB;AAAA;AAAA,OAG/B,qBAAoB,CAAC,MAAc,QAAwC;AAAA,IACvF,MAAM,KAAK,iBAAiB,IAAI;AAAA,IAChC,MAAM,QAAyB;AAAA,MAC7B,QAAQ;AAAA,MACR,mBAAmB;AAAA,MACnB,yBAAyB;AAAA,IAC3B;AAAA,IACA,KAAK,iBAAiB,IAAI,MAAM,KAAK;AAAA,IAErC,MAAM,SAAS,IAAI,qBAAO,EAAE,MAAM,WAAW,SAAS,QAAQ,GAAG,EAAE,cAAc,CAAC,EAAE,CAAC;AAAA,IACrF,MAAM,YACJ,OAAO,SAAS,UACZ,MAAM,KAAK,0BAA0B,MAAM,MAAM,IACjD,MAAM,KAAK,yBAAyB,MAAM,MAAM;AAAA,IAEtD,MAAM,aAA4B;AAAA,MAChC,QAAQ;AAAA,QACN;AAAA,QACA,QAAQ,KAAK,UAAU,MAAM;AAAA,QAC7B,QAAQ;AAAA,MACV;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA,KAAK,YAAY,IAAI,MAAM,UAAU;AAAA,IACrC,KAAK,uBAAuB,MAAM,YAAY,KAAK;AAAA,IACnD,MAAM,OAAO,QAAQ,SAAS;AAAA,IAE9B,MAAM,eAAe,OAAO,sBAAsB;AAAA,IAClD,MAAM,QAAQ,MAAM,KAAK,eAAe,IAAI;AAAA,IAC5C,MAAM,YAAY,cAAc,YAAY,MAAM,KAAK,mBAAmB,IAAI,IAAI,CAAC;AAAA,IACnF,MAAM,oBAAoB,cAAc,YACpC,MAAM,KAAK,2BAA2B,IAAI,IAC1C,CAAC;AAAA,IAEL,WAAW,SAAS;AAAA,MAClB,QAAQ;AAAA,MACR;AAAA,MACA,QAAQ,KAAK,UAAU,MAAM;AAAA,MAC7B,OAAO;AAAA,MACP;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA,MAAM,SAAS;AAAA,IACf,MAAM,gBAAgB,IAAI;AAAA,IAC1B,MAAM,oBAAoB;AAAA,IAC1B,MAAM,0BAA0B;AAAA,IAChC,KAAK,oBAAoB,IAAI;AAAA;AAAA,EAGvB,sBAAsB,CAC5B,MACA,YACA,QACM;AAAA,IACN,MAAM,SAAS,KAAK,MAAM,WAAW,OAAO,MAAM;AAAA,IAClD,MAAM,kBAAkB,OAAO,SAAS;AAAA,IAExC,WAAW,UAAU,UAAU,OAAO,UAAyB;AAAA,MAC7D,MAAM,eAAe,OAAO,WAAW,OAAO,KAAK;AAAA,MACnD,MAAM,oBACJ,oBACC,iBAAiB,eAChB,iBAAiB,MACjB,aAAa,SAAS,WAAW,KACjC,aAAa,SAAS,SAAS;AAAA,MAEnC,IAAI,CAAC,mBAAmB;AAAA,QACtB,oBAAO,MAAM,EAAE,OAAO,YAAY,KAAK,GAAG,wBAAwB,OAAO;AAAA,QACzE,WAAW,OAAO,SAAS;AAAA,QAC3B,KAAK,mBAAmB,YAAY,MAAM,OAAO;AAAA,MACnD;AAAA,MAEA,IAAI,CAAC,iBAAiB;AAAA,QACpB,KAAK,oBAAoB,MAAM,KAAK;AAAA,MACtC;AAAA;AAAA,IAGF,WAAW,UAAU,UAAU,YAA2B;AAAA,MACxD,IAAI,CAAC,iBAAiB;AAAA,QACpB,WAAW,OAAO,SAAS;AAAA,QAC3B,KAAK,oBAAoB,MAAM,IAAI,MAAM,kBAAkB,CAAC;AAAA,MAC9D;AAAA;AAAA;AAAA,EAII,mBAAmB,CAAC,MAAoB;AAAA,IAC9C,MAAM,aAAa,KAAK,YAAY,IAAI,IAAI;AAAA,IAC5C,IAAI,CAAC;AAAA,MAAY;AAAA,IAEjB,MAAM,SAAS,KAAK,MAAM,WAAW,OAAO,MAAM;AAAA,IAClD,MAAM,kBAAkB,OAAO,SAAS;AAAA,IAExC,IAAI,iBAAiB;AAAA,MACnB;AAAA,IACF;AAAA,IAEA,MAAM,QAAQ,KAAK,iBAAiB,IAAI,IAAI;AAAA,IAC5C,IAAI,CAAC,SAAS,CAAC,KAAK,WAAW;AAAA,MAAS;AAAA,IACxC,IAAI,MAAM;AAAA,MAAc,cAAc,MAAM,YAAY;AAAA,IACxD,MAAM,eAAe,YAAY,MAAM;AAAA,MACrC,KAAK,SAAS,IAAI,EAAE,MAAM,CAAC,QAAe;AAAA,QACxC,oBAAO,KAAK,EAAE,OAAO,IAAI,SAAS,YAAY,KAAK,GAAG,mBAAmB,MAAM;AAAA,QAC/E,KAAK,kBAAkB,MAAM,GAAG;AAAA,OACjC;AAAA,OACA,KAAK,WAAW,UAAU;AAAA;AAAA,OAGjB,SAAQ,CAAC,MAA6B;AAAA,IAClD,MAAM,aAAa,KAAK,YAAY,IAAI,IAAI;AAAA,IAC5C,IAAI,CAAC;AAAA,MAAY,MAAM,IAAI,MAAM,2BAA2B,MAAM;AAAA,IAElE,MAAM,QAAQ,KAAK;AAAA,MACjB,WAAW,OAAO,UAAU;AAAA,MAC5B,IAAI,QAAe,CAAC,GAAG,WACrB,WAAW,MAAM,OAAO,IAAI,MAAM,cAAc,CAAC,GAAG,KAAK,WAAW,SAAS,CAC/E;AAAA,IACF,CAAC;AAAA,IAED,MAAM,QAAQ,KAAK,iBAAiB,IAAI,IAAI;AAAA,IAC5C,IAAI;AAAA,MAAO,MAAM,0BAA0B;AAAA;AAAA,EAGrC,iBAAiB,CAAC,MAAc,OAAoB;AAAA,IAC1D,MAAM,QAAQ,KAAK,iBAAiB,IAAI,IAAI;AAAA,IAC5C,IAAI,CAAC;AAAA,MAAO;AAAA,IACZ,MAAM;AAAA,IACN,IAAI,MAAM,2BAA2B,KAAK,WAAW,0BAA0B;AAAA,MAC7E,KAAK,oBAAoB,MAAM,KAAK;AAAA,IACtC;AAAA;AAAA,EAGM,mBAAmB,CAAC,MAAc,OAA8B;AAAA,IACtE,MAAM,QAAQ,KAAK,iBAAiB,IAAI,IAAI;AAAA,IAC5C,IAAI,CAAC;AAAA,MAAO;AAAA,IACZ,MAAM,SAAS;AAAA,IACf,MAAM,YAAY,iBAAiB,QAAQ,QAAQ,IAAI,MAAM,OAAO,KAAK,CAAC;AAAA,IAC1E,IAAI,MAAM;AAAA,MAAc,cAAc,MAAM,YAAY;AAAA,IACxD,IAAI,MAAM;AAAA,MAAkB,aAAa,MAAM,gBAAgB;AAAA,IAC/D,IAAI,MAAM,qBAAqB,wBAAwB;AAAA,MACrD;AAAA,IACF;AAAA,IACA,MAAM,QAAQ,sBAAsB,sBAAsB,MAAM;AAAA,IAChE,MAAM,mBAAmB,WAAW,YAAY;AAAA,MAC9C,MAAM;AAAA,MACN,MAAM,aAAa,KAAK,YAAY,IAAI,IAAI;AAAA,MAC5C,MAAM,SAAS,YAAY,QAAQ;AAAA,MACnC,IAAI,QAAQ;AAAA,QACV,IAAI;AAAA,UACF,MAAM,KAAK,qBAAqB,MAAM,KAAK,MAAM,MAAM,CAAC;AAAA,UACxD,OAAO,KAAK;AAAA,UACZ,KAAK,oBAAoB,MAAM,GAAG;AAAA;AAAA,MAEtC;AAAA,OACC,KAAK;AAAA;AAAA,OAGJ,iBAAgB,CAAC,MAA6B;AAAA,IAClD,MAAM,aAAa,KAAK,YAAY,IAAI,IAAI;AAAA,IAC5C,IAAI,YAAY;AAAA,MACd,MAAM,WAAW,UAAU,MAAM;AAAA,MACjC,MAAM,WAAW,OAAO,MAAM;AAAA,MAC9B,KAAK,YAAY,OAAO,IAAI;AAAA,IAC9B;AAAA,IACA,MAAM,QAAQ,KAAK,iBAAiB,IAAI,IAAI;AAAA,IAC5C,IAAI,OAAO;AAAA,MACT,IAAI,MAAM;AAAA,QAAc,cAAc,MAAM,YAAY;AAAA,MACxD,IAAI,MAAM;AAAA,QAAkB,aAAa,MAAM,gBAAgB;AAAA,MAC/D,KAAK,iBAAiB,OAAO,IAAI;AAAA,IACnC;AAAA;AAAA,EAGM,mBAAmB,CAAC,YAA+C;AAAA,IACzE,OAAO,KAAK,YAAY,IAAI,UAAU;AAAA;AAAA,OAG1B,0BAAyB,CACrC,MACA,QAC+B;AAAA,IAC/B,IAAI,CAAC,OAAO,SAAS;AAAA,MACnB,MAAM,IAAI,MAAM,wCAAwC,MAAM;AAAA,IAChE;AAAA,IAEA,OAAO,IAAI,kCAAqB;AAAA,MAC9B,SAAS,OAAO;AAAA,MAChB,MAAM,OAAO,OAAO,CAAC,GAAG,OAAO,IAAI,IAAI;AAAA,MACvC,KAAK;AAAA,WACA,OAAO;AAAA,WACN,QAAQ,IAAI,OAAO,EAAE,MAAM,QAAQ,IAAI,KAAK,IAAI,CAAC;AAAA,MACvD;AAAA,MACA,QAAQ;AAAA,MACR,KAAK,OAAO;AAAA,IACd,CAAC;AAAA;AAAA,OAGW,yBAAwB,CACpC,MACA,QAC6B;AAAA,IAC7B,IAAI,CAAC,OAAO,KAAK;AAAA,MACf,MAAM,IAAI,MAAM,mCAAmC,MAAM;AAAA,IAC3D;AAAA,IAEA,OAAO,IAAI,8BAAmB,IAAI,IAAI,OAAO,GAAG,CAAC;AAAA;AAAA,EAG3C,kBAAkB,CAAC,YAA2B,OAAqB;AAAA,IACzE,MAAM,WAAW,WAAW,OAAO,QAAQ,GAAG,WAAW,OAAO;AAAA,EAAU,UAAU;AAAA,IACpF,WAAW,OAAO,QAAQ;AAAA;AAAA,OAGd,eAAc,CAAC,YAAqC;AAAA,IAChE,MAAM,aAAa,KAAK,oBAAoB,UAAU;AAAA,IACtD,IAAI,CAAC,YAAY;AAAA,MACf,OAAO,CAAC;AAAA,IACV;AAAA,IAEA,MAAM,WAAW,MAAM,WAAW,OAAO,UAAU;AAAA,IAEnD,MAAM,SAAS,UAAU,SAAS,CAAC,GAAG,IAAI,CAAC,SAAS;AAAA,MAClD,MAAM,gBAAgB,KAAK,KAAK;AAAA,MAEhC,IAAI,KAAK,aAAa;AAAA,QACpB,IAAI,CAAC,KAAK,0BAA0B;AAAA,UAClC,KAAK,4BAA4B;AAAA,QACnC;AAAA,QAEA,cAAc,cAAc,KAAK,uBAC/B,KAAK,WACP;AAAA,MACF;AAAA,MAEA,OAAO;AAAA,KACR;AAAA,IAED,OAAO;AAAA;AAAA,OAGK,mBAAkB,CAAC,YAAyC;AAAA,IACxE,MAAM,aAAa,KAAK,oBAAoB,UAAU;AAAA,IACtD,IAAI,CAAC,YAAY;AAAA,MACf,OAAO,CAAC;AAAA,IACV;AAAA,IAEA,MAAM,WAAW,MAAM,WAAW,OAAO,cAAc;AAAA,IACvD,OAAO,UAAU,aAAa,CAAC;AAAA;AAAA,OAGnB,2BAA0B,CAAC,YAAiD;AAAA,IACxF,MAAM,aAAa,KAAK,oBAAoB,UAAU;AAAA,IACtD,IAAI,CAAC,YAAY;AAAA,MACf,OAAO,CAAC;AAAA,IACV;AAAA,IAEA,MAAM,WAAW,MAAM,WAAW,OAAO,sBAAsB;AAAA,IAC/D,OAAO,UAAU,qBAAqB,CAAC;AAAA;AAAA,EAGlC,UAAU,GAAgB;AAAA,IAC/B,OAAO,MAAM,KAAK,KAAK,YAAY,OAAO,CAAC,EACxC,OAAO,CAAC,SAAS,CAAC,KAAK,OAAO,QAAQ,EACtC,IAAI,CAAC,SAAS,KAAK,MAAM;AAAA;AAAA,EAGvB,eAAe,GAAgB;AAAA,IACpC,OAAO,KAAK;AAAA;AAAA,OAGD,SAAQ,CACnB,YACA,UACA,eACyB;AAAA,IACzB,MAAM,aAAa,KAAK,YAAY,IAAI,UAAU;AAAA,IAClD,IAAI,CAAC,YAAY;AAAA,MACf,MAAM,IAAI,MAAM,mCAAmC,YAAY;AAAA,IACjE;AAAA,IACA,IAAI,WAAW,OAAO,UAAU;AAAA,MAC9B,MAAM,IAAI,MAAM,WAAW,yBAAyB;AAAA,IACtD;AAAA,IAEA,IAAI,UAAU;AAAA,IACd,MAAM,SAAS,KAAK,MAAM,WAAW,OAAO,MAAM;AAAA,IAClD,IAAI,OAAO,SAAS,WAAW,OAAO,iBAAiB;AAAA,MACrD,UAAU,OAAO;AAAA,IACnB;AAAA,IAEA,MAAM,SAAS,MAAM,WAAW,OAAO,SACrC;AAAA,MACE,MAAM;AAAA,MACN,WAAW,gBAAgB,KAAK,cAAc,IAAI;AAAA,IACpD,GACA,WACA,EAAE,QAAQ,CACZ;AAAA,IACA,IAAI,CAAC,OAAO,SAAS;AAAA,MACnB,MAAM,IAAI,MAAM,4CAA4C;AAAA,IAC9D;AAAA,IACA,OAAO;AAAA;AAAA,OAGI,aAAY,CAAC,YAAoB,KAA2C;AAAA,IACvF,MAAM,aAAa,KAAK,YAAY,IAAI,UAAU;AAAA,IAClD,IAAI,CAAC,YAAY;AAAA,MACf,MAAM,IAAI,MAAM,mCAAmC,YAAY;AAAA,IACjE;AAAA,IACA,IAAI,WAAW,OAAO,UAAU;AAAA,MAC9B,MAAM,IAAI,MAAM,WAAW,yBAAyB;AAAA,IACtD;AAAA,IACA,OAAO,MAAM,WAAW,OAAO,aAAa,EAAE,IAAI,CAAC;AAAA;AAAA,OAGxC,kBAAiB,CAAC,YAAmC;AAAA,IAChE,MAAM,aAAa,KAAK,YAAY,IAAI,UAAU;AAAA,IAClD,MAAM,SAAS,YAAY,QAAQ;AAAA,IACnC,IAAI,QAAQ;AAAA,MACV,WAAW,OAAO,SAAS;AAAA,MAC3B,WAAW,OAAO,QAAQ;AAAA,MAC1B,MAAM,KAAK,iBAAiB,UAAU;AAAA,MACtC,MAAM,KAAK,qBAAqB,YAAY,KAAK,MAAM,MAAM,CAAC;AAAA,IAChE;AAAA;AAAA,EAGM,2BAA2B,GAAS;AAAA,IAC1C,IAAI,KAAK;AAAA,MAA0B;AAAA,IAEnC,KAAK,oBAAoB,+BAA2B,KAAK,OAAO;AAAA,IAChE,KAAK,2BAA2B;AAAA;AAAA,EAG3B,sBAAsB,CAAC,YAAsC;AAAA,IAClE,IAAI,CAAC,KAAK,0BAA0B;AAAA,MAClC,KAAK,4BAA4B;AAAA,IACnC;AAAA,IAEA,IAAI,CAAC,KAAK,qBAAqB,CAAC,YAAY;AAAA,MAC1C,OAAO;AAAA,IACT;AAAA,IAEA,OAAO,KAAK,kBAAkB,oBAAoB,UAAU;AAAA;AAEhE;;;AhB9eA,IAAM,YAAoB;AAAA,EACxB,MAAM;AAAA,EACN,aAAa;AAAA,EAEb,MAAM,OAAO,SAAiC,aAA2C;AAAA,IACvF,oBAAO,KAAK,4BAA4B;AAAA;AAAA,EAG1C,UAAU,CAAC,UAAU;AAAA,EACrB,SAAS,CAAC,gBAAgB,kBAAkB;AAAA,EAC5C,WAAW,CAAC,QAAQ;AACtB;AAEA,IAAe;",
29
+ "debugId": "1F147A30DFB3603364756E2164756E21",
30
30
  "names": []
31
31
  }
@@ -1 +1 @@
1
- {"version":3,"file":"callToolAction.d.ts","sourceRoot":"","sources":["../../../src/actions/callToolAction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EAMP,MAAM,eAAe,CAAC;AAQvB,eAAO,MAAM,cAAc,EAAE,MA2J5B,CAAC"}
1
+ {"version":3,"file":"callToolAction.d.ts","sourceRoot":"","sources":["../../../src/actions/callToolAction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EAMP,MAAM,eAAe,CAAC;AAQvB,eAAO,MAAM,cAAc,EAAE,MA4L5B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"readResourceAction.d.ts","sourceRoot":"","sources":["../../../src/actions/readResourceAction.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,MAAM,EAQZ,MAAM,eAAe,CAAC;AAqDvB,eAAO,MAAM,kBAAkB,EAAE,MA6KhC,CAAC"}
1
+ {"version":3,"file":"readResourceAction.d.ts","sourceRoot":"","sources":["../../../src/actions/readResourceAction.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,MAAM,EAQZ,MAAM,eAAe,CAAC;AAqDvB,eAAO,MAAM,kBAAkB,EAAE,MA8MhC,CAAC"}
@@ -1381,12 +1381,33 @@ var callToolAction = {
1381
1381
  "INVOKE_MCP_TOOL"
1382
1382
  ],
1383
1383
  description: "Calls a tool from an MCP server to perform a specific task",
1384
- validate: async (runtime, _message, _state) => {
1385
- const mcpService = runtime.getService(MCP_SERVICE_NAME);
1386
- if (!mcpService)
1384
+ validate: async (runtime, message, state, options) => {
1385
+ const __avTextRaw = typeof message?.content?.text === "string" ? message.content.text : "";
1386
+ const __avText = __avTextRaw.toLowerCase();
1387
+ const __avKeywords = ["call", "mcp", "tool"];
1388
+ const __avKeywordOk = __avKeywords.length > 0 && __avKeywords.some((kw) => kw.length > 0 && __avText.includes(kw));
1389
+ const __avRegex = /\b(?:call|mcp|tool)\b/i;
1390
+ const __avRegexOk = __avRegex.test(__avText);
1391
+ const __avSource = String(message?.content?.source ?? message?.source ?? "");
1392
+ const __avExpectedSource = "";
1393
+ const __avSourceOk = __avExpectedSource ? __avSource === __avExpectedSource : Boolean(__avSource || state || runtime?.agentId || runtime?.getService);
1394
+ const __avOptions = options && typeof options === "object" ? options : {};
1395
+ const __avInputOk = __avText.trim().length > 0 || Object.keys(__avOptions).length > 0 || Boolean(message?.content && typeof message.content === "object");
1396
+ if (!(__avKeywordOk && __avRegexOk && __avSourceOk && __avInputOk)) {
1397
+ return false;
1398
+ }
1399
+ const __avLegacyValidate = async (runtime2, _message, _state) => {
1400
+ const mcpService = runtime2.getService(MCP_SERVICE_NAME);
1401
+ if (!mcpService)
1402
+ return false;
1403
+ const servers = mcpService.getServers();
1404
+ return servers.length > 0 && servers.some((server) => server.status === "connected" && server.tools && server.tools.length > 0);
1405
+ };
1406
+ try {
1407
+ return Boolean(await __avLegacyValidate(runtime, message, state, options));
1408
+ } catch {
1387
1409
  return false;
1388
- const servers = mcpService.getServers();
1389
- return servers.length > 0 && servers.some((server) => server.status === "connected" && server.tools && server.tools.length > 0);
1410
+ }
1390
1411
  },
1391
1412
  handler: async (runtime, message, _state, _options, callback) => {
1392
1413
  const composedState = await runtime.composeState(message, ["RECENT_MESSAGES", "MCP"]);
@@ -1527,12 +1548,33 @@ var readResourceAction = {
1527
1548
  "ACCESS_MCP_RESOURCE"
1528
1549
  ],
1529
1550
  description: "Reads a resource from an MCP server",
1530
- validate: async (runtime, _message, _state) => {
1531
- const mcpService = runtime.getService(MCP_SERVICE_NAME);
1532
- if (!mcpService)
1551
+ validate: async (runtime, message, state, options) => {
1552
+ const __avTextRaw = typeof message?.content?.text === "string" ? message.content.text : "";
1553
+ const __avText = __avTextRaw.toLowerCase();
1554
+ const __avKeywords = ["read", "mcp", "resource"];
1555
+ const __avKeywordOk = __avKeywords.length > 0 && __avKeywords.some((kw) => kw.length > 0 && __avText.includes(kw));
1556
+ const __avRegex = /\b(?:read|mcp|resource)\b/i;
1557
+ const __avRegexOk = __avRegex.test(__avText);
1558
+ const __avSource = String(message?.content?.source ?? message?.source ?? "");
1559
+ const __avExpectedSource = "";
1560
+ const __avSourceOk = __avExpectedSource ? __avSource === __avExpectedSource : Boolean(__avSource || state || runtime?.agentId || runtime?.getService);
1561
+ const __avOptions = options && typeof options === "object" ? options : {};
1562
+ const __avInputOk = __avText.trim().length > 0 || Object.keys(__avOptions).length > 0 || Boolean(message?.content && typeof message.content === "object");
1563
+ if (!(__avKeywordOk && __avRegexOk && __avSourceOk && __avInputOk)) {
1564
+ return false;
1565
+ }
1566
+ const __avLegacyValidate = async (runtime2, _message, _state) => {
1567
+ const mcpService = runtime2.getService(MCP_SERVICE_NAME);
1568
+ if (!mcpService)
1569
+ return false;
1570
+ const servers = mcpService.getServers();
1571
+ return servers.length > 0 && servers.some((server) => server.status === "connected" && server.resources && server.resources.length > 0);
1572
+ };
1573
+ try {
1574
+ return Boolean(await __avLegacyValidate(runtime, message, state, options));
1575
+ } catch {
1533
1576
  return false;
1534
- const servers = mcpService.getServers();
1535
- return servers.length > 0 && servers.some((server) => server.status === "connected" && server.resources && server.resources.length > 0);
1577
+ }
1536
1578
  },
1537
1579
  handler: async (runtime, message, _state, _options, callback) => {
1538
1580
  const composedState = await runtime.composeState(message, ["RECENT_MESSAGES", "MCP"]);
@@ -1637,6 +1679,7 @@ var readResourceAction = {
1637
1679
  var provider = {
1638
1680
  name: "MCP",
1639
1681
  description: "Information about connected MCP servers, tools, and resources",
1682
+ dynamic: true,
1640
1683
  get: async (runtime, _message, _state) => {
1641
1684
  const mcpService = runtime.getService(MCP_SERVICE_NAME);
1642
1685
  if (!mcpService) {
@@ -2069,4 +2112,4 @@ export {
2069
2112
  src_default as default
2070
2113
  };
2071
2114
 
2072
- //# debugId=A44D04A3F130891B64756E2164756E21
2115
+ //# debugId=3F220FC71C03FFDC64756E2164756E21
@@ -19,13 +19,13 @@
19
19
  "export const toolSelectionNameSchema = {\n type: \"object\",\n required: [\"serverName\", \"toolName\"],\n properties: {\n serverName: {\n type: \"string\",\n minLength: 1,\n errorMessage: \"serverName must not be empty\",\n },\n toolName: {\n type: \"string\",\n minLength: 1,\n errorMessage: \"toolName must not be empty\",\n },\n reasoning: {\n type: \"string\",\n },\n noToolAvailable: {\n type: \"boolean\",\n },\n },\n} as const;\n\nexport interface ToolSelectionName {\n readonly serverName: string;\n readonly toolName: string;\n readonly reasoning?: string;\n readonly noToolAvailable?: boolean;\n}\n\nexport const toolSelectionArgumentSchema = {\n type: \"object\",\n required: [\"toolArguments\"],\n properties: {\n toolArguments: {\n type: \"object\",\n },\n },\n} as const;\n\nexport interface ToolSelectionArgument {\n readonly toolArguments: Readonly<Record<string, unknown>>;\n}\n\nexport const ResourceSelectionSchema = {\n type: \"object\",\n required: [\"serverName\", \"uri\"],\n properties: {\n serverName: {\n type: \"string\",\n minLength: 1,\n errorMessage: \"serverName must not be empty\",\n },\n uri: {\n type: \"string\",\n minLength: 1,\n errorMessage: \"uri must not be empty\",\n },\n reasoning: {\n type: \"string\",\n },\n noResourceAvailable: {\n type: \"boolean\",\n },\n },\n} as const;\n\nexport interface ResourceSelection {\n readonly serverName: string;\n readonly uri: string;\n readonly reasoning?: string;\n readonly noResourceAvailable?: boolean;\n}\n\nexport function isToolSelectionName(value: unknown): value is ToolSelectionName {\n if (typeof value !== \"object\" || value === null) {\n return false;\n }\n const obj = value as Record<string, unknown>;\n return (\n typeof obj.serverName === \"string\" &&\n obj.serverName.length > 0 &&\n typeof obj.toolName === \"string\" &&\n obj.toolName.length > 0\n );\n}\n\nexport function isToolSelectionArgument(value: unknown): value is ToolSelectionArgument {\n if (typeof value !== \"object\" || value === null) {\n return false;\n }\n const obj = value as Record<string, unknown>;\n return typeof obj.toolArguments === \"object\" && obj.toolArguments !== null;\n}\n\nexport function isResourceSelection(value: unknown): value is ResourceSelection {\n if (typeof value !== \"object\" || value === null) {\n return false;\n }\n const obj = value as Record<string, unknown>;\n return (\n typeof obj.serverName === \"string\" &&\n obj.serverName.length > 0 &&\n typeof obj.uri === \"string\" &&\n obj.uri.length > 0\n );\n}\n",
20
20
  "import type { State } from \"@elizaos/core\";\nimport {\n type McpProviderData,\n type McpServerInfo,\n ResourceSelectionSchema,\n type ValidationResult,\n} from \"../types\";\nimport { validateJsonSchema } from \"./json\";\nimport {\n type ResourceSelection,\n type ToolSelectionArgument,\n type ToolSelectionName,\n toolSelectionArgumentSchema,\n toolSelectionNameSchema,\n} from \"./schemas\";\n\nexport type { ResourceSelection } from \"./schemas\";\n\nexport interface ToolSelection {\n readonly serverName: string;\n readonly toolName: string;\n readonly arguments: Readonly<Record<string, unknown>>;\n readonly reasoning?: string;\n readonly noToolAvailable?: boolean;\n}\n\nexport function validateToolSelectionName(\n parsed: unknown,\n state: State\n): ValidationResult<ToolSelectionName> {\n const basicResult = validateJsonSchema<ToolSelectionName>(parsed, toolSelectionNameSchema);\n if (basicResult.success === false) {\n return { success: false, error: basicResult.error };\n }\n\n const data = basicResult.data;\n const mcpData = (state.values.mcp ?? {}) as Record<string, McpServerInfo>;\n const server = mcpData[data.serverName];\n\n if (!server || server.status !== \"connected\") {\n return {\n success: false,\n error: `Server \"${data.serverName}\" not found or not connected`,\n };\n }\n\n const toolInfo = server.tools?.[data.toolName];\n if (!toolInfo) {\n return {\n success: false,\n error: `Tool \"${data.toolName}\" not found on server \"${data.serverName}\"`,\n };\n }\n\n return { success: true, data };\n}\n\nexport function validateToolSelectionArgument(\n parsed: unknown,\n toolInputSchema: Readonly<Record<string, unknown>>\n): ValidationResult<ToolSelectionArgument> {\n const basicResult = validateJsonSchema<ToolSelectionArgument>(\n parsed,\n toolSelectionArgumentSchema\n );\n if (basicResult.success === false) {\n return { success: false, error: basicResult.error };\n }\n\n const data = basicResult.data;\n const validationResult = validateJsonSchema(data.toolArguments, toolInputSchema);\n\n if (validationResult.success === false) {\n return {\n success: false,\n error: `Invalid arguments: ${validationResult.error}`,\n };\n }\n\n return { success: true, data };\n}\n\nexport function validateResourceSelection(selection: unknown): ValidationResult<ResourceSelection> {\n return validateJsonSchema<ResourceSelection>(selection, ResourceSelectionSchema);\n}\n\ninterface ToolDescription {\n readonly description?: string;\n}\n\nexport function createToolSelectionFeedbackPrompt(\n originalResponse: string,\n errorMessage: string,\n composedState: State,\n userMessage: string\n): string {\n let toolsDescription = \"\";\n const mcpData = composedState.values.mcp as Record<string, McpProviderData[string]> | undefined;\n\n if (mcpData) {\n for (const [serverName, server] of Object.entries(mcpData)) {\n if (server.status !== \"connected\") continue;\n\n const tools = server.tools as Record<string, ToolDescription> | undefined;\n if (tools) {\n for (const [toolName, tool] of Object.entries(tools)) {\n toolsDescription += `Tool: ${toolName} (Server: ${serverName})\\n`;\n toolsDescription += `Description: ${tool.description ?? \"No description available\"}\\n\\n`;\n }\n }\n }\n }\n\n return createFeedbackPrompt(\n originalResponse,\n errorMessage,\n \"tool\",\n toolsDescription,\n userMessage\n );\n}\n\ninterface ResourceDescription {\n readonly description?: string;\n readonly name?: string;\n}\n\nexport function createResourceSelectionFeedbackPrompt(\n originalResponse: string,\n errorMessage: string,\n composedState: State,\n userMessage: string\n): string {\n let resourcesDescription = \"\";\n const mcpData = composedState.values.mcp as Record<string, McpProviderData[string]> | undefined;\n\n if (mcpData) {\n for (const [serverName, server] of Object.entries(mcpData)) {\n if (server.status !== \"connected\") continue;\n\n const resources = server.resources as Record<string, ResourceDescription> | undefined;\n if (resources) {\n for (const [uri, resource] of Object.entries(resources)) {\n resourcesDescription += `Resource: ${uri} (Server: ${serverName})\\n`;\n resourcesDescription += `Name: ${resource.name ?? \"No name available\"}\\n`;\n resourcesDescription += `Description: ${\n resource.description ?? \"No description available\"\n }\\n\\n`;\n }\n }\n }\n }\n\n return createFeedbackPrompt(\n originalResponse,\n errorMessage,\n \"resource\",\n resourcesDescription,\n userMessage\n );\n}\n\nfunction createFeedbackPrompt(\n originalResponse: string,\n errorMessage: string,\n itemType: string,\n itemsDescription: string,\n userMessage: string\n): string {\n return `Error parsing JSON: ${errorMessage}\n\nYour original response:\n${originalResponse}\n\nPlease try again with valid JSON for ${itemType} selection.\nAvailable ${itemType}s:\n${itemsDescription}\n\nUser request: ${userMessage}`;\n}\n",
21
21
  "import {\n type HandlerCallback,\n type IAgentRuntime,\n type Memory,\n ModelType,\n type State,\n} from \"@elizaos/core\";\nimport { DEFAULT_MAX_RETRIES, type McpSettings, type ValidationResult } from \"../types\";\nimport { parseJSON } from \"./json\";\n\nexport type Input = string | Record<string, unknown>;\n\ntype CreateFeedbackPromptFn = (\n originalResponse: Input,\n errorMessage: string,\n composedState: State,\n userMessage: string\n) => string;\n\nexport interface WithModelRetryOptions<T> {\n readonly runtime: IAgentRuntime;\n readonly message: Memory;\n readonly state: State;\n readonly input: Input;\n readonly validationFn: (data: Input) => ValidationResult<T>;\n readonly createFeedbackPromptFn: CreateFeedbackPromptFn;\n readonly callback?: HandlerCallback;\n readonly failureMsg?: string;\n readonly retryCount?: number;\n}\n\nexport async function withModelRetry<T>({\n runtime,\n message,\n state,\n callback,\n input,\n validationFn,\n createFeedbackPromptFn,\n failureMsg,\n retryCount = 0,\n}: WithModelRetryOptions<T>): Promise<T | null> {\n const maxRetries = getMaxRetries(runtime);\n\n const parsedJson = typeof input === \"string\" ? parseJSON<Record<string, unknown>>(input) : input;\n\n const validationResult = validationFn(parsedJson);\n\n if (validationResult.success) {\n return validationResult.data;\n }\n\n const errorMessage = (validationResult as { success: false; error: string }).error;\n\n if (retryCount < maxRetries) {\n const feedbackPrompt: string = createFeedbackPromptFn(\n input,\n errorMessage,\n state,\n message.content.text ?? \"\"\n );\n\n const retrySelection = (await runtime.useModel(ModelType.OBJECT_LARGE, {\n prompt: feedbackPrompt,\n })) as Record<string, unknown>;\n\n return withModelRetry({\n runtime,\n input: retrySelection,\n validationFn,\n message,\n state,\n createFeedbackPromptFn,\n callback,\n failureMsg,\n retryCount: retryCount + 1,\n });\n }\n\n if (callback && failureMsg) {\n await callback({\n text: failureMsg,\n actions: [\"REPLY\"],\n });\n }\n\n return null;\n}\n\nfunction getMaxRetries(runtime: IAgentRuntime): number {\n const rawSettings = runtime.getSetting(\"mcp\");\n\n if (rawSettings && typeof rawSettings === \"object\") {\n const settings = rawSettings as McpSettings;\n if (typeof settings.maxRetries === \"number\" && settings.maxRetries >= 0) {\n return settings.maxRetries;\n }\n }\n\n return DEFAULT_MAX_RETRIES;\n}\n",
22
- "import type {\n Action,\n ActionResult,\n HandlerCallback,\n IAgentRuntime,\n Memory,\n State,\n} from \"@elizaos/core\";\nimport type { McpService } from \"../service\";\nimport { MCP_SERVICE_NAME, type McpServer } from \"../types\";\nimport { handleMcpError } from \"../utils/error\";\nimport { handleNoToolAvailable } from \"../utils/handler\";\nimport { handleToolResponse, processToolResult } from \"../utils/processing\";\nimport { createToolSelectionArgument, createToolSelectionName } from \"../utils/selection\";\n\nexport const callToolAction: Action = {\n name: \"CALL_MCP_TOOL\",\n similes: [\n \"CALL_TOOL\",\n \"CALL_MCP_TOOL\",\n \"USE_TOOL\",\n \"USE_MCP_TOOL\",\n \"EXECUTE_TOOL\",\n \"EXECUTE_MCP_TOOL\",\n \"RUN_TOOL\",\n \"RUN_MCP_TOOL\",\n \"INVOKE_TOOL\",\n \"INVOKE_MCP_TOOL\",\n ],\n description: \"Calls a tool from an MCP server to perform a specific task\",\n\n validate: async (runtime: IAgentRuntime, _message: Memory, _state?: State): Promise<boolean> => {\n const mcpService = runtime.getService<McpService>(MCP_SERVICE_NAME);\n if (!mcpService) return false;\n\n const servers = mcpService.getServers();\n return (\n servers.length > 0 &&\n servers.some(\n (server: McpServer) =>\n server.status === \"connected\" && server.tools && server.tools.length > 0\n )\n );\n },\n\n handler: async (\n runtime: IAgentRuntime,\n message: Memory,\n _state?: State,\n _options?: Record<string, unknown>,\n callback?: HandlerCallback\n ): Promise<ActionResult> => {\n const composedState = await runtime.composeState(message, [\"RECENT_MESSAGES\", \"MCP\"]);\n const mcpService = runtime.getService<McpService>(MCP_SERVICE_NAME);\n if (!mcpService) {\n throw new Error(\"MCP service not available\");\n }\n const mcpProvider = mcpService.getProviderData();\n\n try {\n const toolSelectionName = await createToolSelectionName({\n runtime,\n state: composedState,\n message,\n callback,\n mcpProvider,\n });\n if (!toolSelectionName || toolSelectionName.noToolAvailable) {\n return await handleNoToolAvailable(callback, toolSelectionName);\n }\n const { serverName, toolName } = toolSelectionName;\n\n const toolSelectionArgument = await createToolSelectionArgument({\n runtime,\n state: composedState,\n message,\n callback,\n mcpProvider,\n toolSelectionName,\n });\n if (!toolSelectionArgument) {\n return await handleNoToolAvailable(callback, toolSelectionName);\n }\n\n const result = await mcpService.callTool(\n serverName,\n toolName,\n toolSelectionArgument.toolArguments\n );\n\n const { toolOutput, hasAttachments, attachments } = processToolResult(\n result,\n serverName,\n toolName,\n runtime,\n message.entityId\n );\n\n const replyMemory = await handleToolResponse(\n runtime,\n message,\n serverName,\n toolName,\n toolSelectionArgument.toolArguments,\n toolOutput,\n hasAttachments,\n attachments,\n composedState,\n mcpProvider,\n callback\n );\n\n return {\n text: `Successfully called tool: ${serverName}/${toolName}. Reasoned response: ${replyMemory.content.text}`,\n values: {\n success: true,\n toolExecuted: true,\n serverName,\n toolName,\n hasAttachments,\n output: toolOutput,\n },\n data: {\n actionName: \"CALL_MCP_TOOL\",\n serverName,\n toolName,\n toolArgumentsJson: JSON.stringify(toolSelectionArgument.toolArguments),\n reasoning: toolSelectionName.reasoning,\n output: toolOutput,\n attachmentCount: attachments?.length ?? 0,\n },\n success: true,\n };\n } catch (error) {\n return await handleMcpError(\n composedState,\n mcpProvider,\n error,\n runtime,\n message,\n \"tool\",\n callback\n );\n }\n },\n\n examples: [\n [\n {\n name: \"{{user}}\",\n content: {\n text: \"Can you search for information about climate change?\",\n },\n },\n {\n name: \"{{assistant}}\",\n content: {\n text: \"I'll help you with that request. Let me access the right tool...\",\n actions: [\"CALL_MCP_TOOL\"],\n },\n },\n {\n name: \"{{assistant}}\",\n content: {\n text: \"I found the following information about climate change:\\n\\nClimate change refers to long-term shifts in temperatures and weather patterns. These shifts may be natural, but since the 1800s, human activities have been the main driver of climate change, primarily due to the burning of fossil fuels like coal, oil, and gas, which produces heat-trapping gases.\",\n actions: [\"CALL_MCP_TOOL\"],\n },\n },\n ],\n ],\n};\n",
23
- "import {\n type Action,\n type ActionResult,\n composePromptFromState,\n type HandlerCallback,\n type IAgentRuntime,\n type Memory,\n ModelType,\n type State,\n} from \"@elizaos/core\";\nimport type { McpService } from \"../service\";\nimport { resourceSelectionTemplate } from \"../templates/resourceSelectionTemplate\";\nimport { MCP_SERVICE_NAME, type McpServer, type McpServerInfo } from \"../types\";\nimport { handleMcpError } from \"../utils/error\";\nimport {\n handleResourceAnalysis,\n processResourceResult,\n sendInitialResponse,\n} from \"../utils/processing\";\nimport type { ResourceSelection } from \"../utils/schemas\";\nimport {\n createResourceSelectionFeedbackPrompt,\n validateResourceSelection,\n} from \"../utils/validation\";\nimport { withModelRetry } from \"../utils/wrapper\";\n\nfunction createResourceSelectionPrompt(composedState: State, userMessage: string): string {\n const mcpData = (composedState.values.mcp ?? {}) as Record<string, McpServerInfo>;\n const serverNames = Object.keys(mcpData);\n\n let resourcesDescription = \"\";\n for (const serverName of serverNames) {\n const server = mcpData[serverName];\n if (server.status !== \"connected\") continue;\n\n const resourceUris = Object.keys(server.resources ?? {});\n for (const uri of resourceUris) {\n const resource = server.resources[uri];\n resourcesDescription += `Resource: ${uri} (Server: ${serverName})\\n`;\n resourcesDescription += `Name: ${resource.name ?? \"No name available\"}\\n`;\n resourcesDescription += `Description: ${\n resource.description ?? \"No description available\"\n }\\n`;\n resourcesDescription += `MIME Type: ${resource.mimeType ?? \"Not specified\"}\\n\\n`;\n }\n }\n\n const enhancedState: State = {\n ...composedState,\n values: {\n ...composedState.values,\n resourcesDescription,\n userMessage,\n },\n };\n\n return composePromptFromState({\n state: enhancedState,\n template: resourceSelectionTemplate,\n });\n}\n\nexport const readResourceAction: Action = {\n name: \"READ_MCP_RESOURCE\",\n similes: [\n \"READ_RESOURCE\",\n \"READ_MCP_RESOURCE\",\n \"GET_RESOURCE\",\n \"GET_MCP_RESOURCE\",\n \"FETCH_RESOURCE\",\n \"FETCH_MCP_RESOURCE\",\n \"ACCESS_RESOURCE\",\n \"ACCESS_MCP_RESOURCE\",\n ],\n description: \"Reads a resource from an MCP server\",\n\n validate: async (runtime: IAgentRuntime, _message: Memory, _state?: State): Promise<boolean> => {\n const mcpService = runtime.getService<McpService>(MCP_SERVICE_NAME);\n if (!mcpService) return false;\n\n const servers = mcpService.getServers();\n return (\n servers.length > 0 &&\n servers.some(\n (server: McpServer) =>\n server.status === \"connected\" && server.resources && server.resources.length > 0\n )\n );\n },\n\n handler: async (\n runtime: IAgentRuntime,\n message: Memory,\n _state?: State,\n _options?: Record<string, unknown>,\n callback?: HandlerCallback\n ): Promise<ActionResult> => {\n const composedState = await runtime.composeState(message, [\"RECENT_MESSAGES\", \"MCP\"]);\n\n const mcpService = runtime.getService<McpService>(MCP_SERVICE_NAME);\n if (!mcpService) {\n throw new Error(\"MCP service not available\");\n }\n\n const mcpProvider = mcpService.getProviderData();\n\n try {\n await sendInitialResponse(callback);\n\n const resourceSelectionPrompt = createResourceSelectionPrompt(\n composedState,\n message.content.text ?? \"\"\n );\n\n const resourceSelection = (await runtime.useModel(ModelType.TEXT_SMALL, {\n prompt: resourceSelectionPrompt,\n })) as string;\n\n const parsedSelection = await withModelRetry<ResourceSelection>({\n runtime,\n state: composedState,\n message,\n callback,\n input: resourceSelection,\n validationFn: (data) => validateResourceSelection(data),\n createFeedbackPromptFn: (originalResponse, errorMessage, state, userMessage) =>\n createResourceSelectionFeedbackPrompt(\n typeof originalResponse === \"string\"\n ? originalResponse\n : JSON.stringify(originalResponse),\n errorMessage,\n state,\n userMessage\n ),\n failureMsg: `I'm having trouble finding the resource you're looking for. Could you provide more details about what you need?`,\n retryCount: 0,\n });\n\n if (!parsedSelection || parsedSelection.noResourceAvailable) {\n const responseText =\n \"I don't have a specific resource that contains the information you're looking for. Let me try to assist you directly instead.\";\n\n if (callback && parsedSelection?.noResourceAvailable) {\n await callback({\n text: responseText,\n actions: [\"REPLY\"],\n });\n }\n return {\n text: responseText,\n values: {\n success: true,\n noResourceAvailable: true,\n fallbackToDirectAssistance: true,\n },\n data: {\n actionName: \"READ_MCP_RESOURCE\",\n noResourceAvailable: true,\n reason: parsedSelection?.reasoning ?? \"No appropriate resource available\",\n },\n success: true,\n };\n }\n\n const { serverName, uri } = parsedSelection;\n\n const result = await mcpService.readResource(serverName, uri);\n\n const { resourceContent, resourceMeta } = processResourceResult(result, uri);\n\n await handleResourceAnalysis(\n runtime,\n message,\n uri,\n serverName,\n resourceContent,\n resourceMeta,\n callback\n );\n\n return {\n text: `Successfully read resource: ${uri}`,\n values: {\n success: true,\n resourceRead: true,\n serverName,\n uri,\n },\n data: {\n actionName: \"READ_MCP_RESOURCE\",\n serverName,\n uri,\n reasoning: parsedSelection?.reasoning,\n resourceMeta,\n contentLength: resourceContent?.length ?? 0,\n },\n success: true,\n };\n } catch (error) {\n return await handleMcpError(\n composedState,\n mcpProvider,\n error,\n runtime,\n message,\n \"resource\",\n callback\n );\n }\n },\n\n examples: [\n [\n {\n name: \"{{user}}\",\n content: {\n text: \"Can you get the documentation about installing elizaOS?\",\n },\n },\n {\n name: \"{{assistant}}\",\n content: {\n text: `I'll retrieve that information for you. Let me access the resource...`,\n actions: [\"READ_MCP_RESOURCE\"],\n },\n },\n {\n name: \"{{assistant}}\",\n content: {\n text: `elizaOS installation is straightforward. You'll need Node.js 23+ and Git installed. For Windows users, WSL 2 is required. The quickest way to get started is by cloning the elizaOS starter repository with \\`git clone https://github.com/elizaos/eliza-starter.git\\`, then run \\`cd eliza-starter && cp .env.example .env && bun i && bun run build && bun start\\`. This will set up a development environment with the core features enabled. After starting, you can access the web interface at http://localhost:3000 to interact with your agent.`,\n actions: [\"READ_MCP_RESOURCE\"],\n },\n },\n ],\n ],\n};\n",
24
- "import type { IAgentRuntime, Memory, Provider, ProviderResult, State } from \"@elizaos/core\";\nimport type { McpService } from \"./service\";\nimport { MCP_SERVICE_NAME } from \"./types\";\n\nexport const provider: Provider = {\n name: \"MCP\",\n description: \"Information about connected MCP servers, tools, and resources\",\n\n get: async (runtime: IAgentRuntime, _message: Memory, _state: State): Promise<ProviderResult> => {\n const mcpService = runtime.getService<McpService>(MCP_SERVICE_NAME);\n if (!mcpService) {\n return {\n values: {},\n data: {},\n text: \"No MCP servers are available.\",\n };\n }\n\n const providerData = mcpService.getProviderData();\n return {\n values: { mcpServers: JSON.stringify(providerData.values.mcp) },\n data: { mcpServerCount: Object.keys(providerData.data.mcp).length },\n text: providerData.text,\n };\n },\n};\n",
22
+ "import type {\n Action,\n ActionResult,\n HandlerCallback,\n IAgentRuntime,\n Memory,\n State,\n} from \"@elizaos/core\";\nimport type { McpService } from \"../service\";\nimport { MCP_SERVICE_NAME, type McpServer } from \"../types\";\nimport { handleMcpError } from \"../utils/error\";\nimport { handleNoToolAvailable } from \"../utils/handler\";\nimport { handleToolResponse, processToolResult } from \"../utils/processing\";\nimport { createToolSelectionArgument, createToolSelectionName } from \"../utils/selection\";\n\nexport const callToolAction: Action = {\n name: \"CALL_MCP_TOOL\",\n similes: [\n \"CALL_TOOL\",\n \"CALL_MCP_TOOL\",\n \"USE_TOOL\",\n \"USE_MCP_TOOL\",\n \"EXECUTE_TOOL\",\n \"EXECUTE_MCP_TOOL\",\n \"RUN_TOOL\",\n \"RUN_MCP_TOOL\",\n \"INVOKE_TOOL\",\n \"INVOKE_MCP_TOOL\",\n ],\n description: \"Calls a tool from an MCP server to perform a specific task\",\n\n validate: async (runtime: any, message: any, state?: any, options?: any): Promise<boolean> => {\n const __avTextRaw = typeof message?.content?.text === \"string\" ? message.content.text : \"\";\n const __avText = __avTextRaw.toLowerCase();\n const __avKeywords = [\"call\", \"mcp\", \"tool\"];\n const __avKeywordOk =\n __avKeywords.length > 0 && __avKeywords.some((kw) => kw.length > 0 && __avText.includes(kw));\n const __avRegex = /\\b(?:call|mcp|tool)\\b/i;\n const __avRegexOk = __avRegex.test(__avText);\n const __avSource = String(message?.content?.source ?? message?.source ?? \"\");\n const __avExpectedSource = \"\";\n const __avSourceOk = __avExpectedSource\n ? __avSource === __avExpectedSource\n : Boolean(__avSource || state || runtime?.agentId || runtime?.getService);\n const __avOptions = options && typeof options === \"object\" ? options : {};\n const __avInputOk =\n __avText.trim().length > 0 ||\n Object.keys(__avOptions as Record<string, unknown>).length > 0 ||\n Boolean(message?.content && typeof message.content === \"object\");\n\n if (!(__avKeywordOk && __avRegexOk && __avSourceOk && __avInputOk)) {\n return false;\n }\n\n const __avLegacyValidate = async (\n runtime: IAgentRuntime,\n _message: Memory,\n _state?: State\n ): Promise<boolean> => {\n const mcpService = runtime.getService<McpService>(MCP_SERVICE_NAME);\n if (!mcpService) return false;\n\n const servers = mcpService.getServers();\n return (\n servers.length > 0 &&\n servers.some(\n (server: McpServer) =>\n server.status === \"connected\" && server.tools && server.tools.length > 0\n )\n );\n };\n try {\n return Boolean(await (__avLegacyValidate as any)(runtime, message, state, options));\n } catch {\n return false;\n }\n },\n\n handler: async (\n runtime: IAgentRuntime,\n message: Memory,\n _state?: State,\n _options?: Record<string, unknown>,\n callback?: HandlerCallback\n ): Promise<ActionResult> => {\n const composedState = await runtime.composeState(message, [\"RECENT_MESSAGES\", \"MCP\"]);\n const mcpService = runtime.getService<McpService>(MCP_SERVICE_NAME);\n if (!mcpService) {\n throw new Error(\"MCP service not available\");\n }\n const mcpProvider = mcpService.getProviderData();\n\n try {\n const toolSelectionName = await createToolSelectionName({\n runtime,\n state: composedState,\n message,\n callback,\n mcpProvider,\n });\n if (!toolSelectionName || toolSelectionName.noToolAvailable) {\n return await handleNoToolAvailable(callback, toolSelectionName);\n }\n const { serverName, toolName } = toolSelectionName;\n\n const toolSelectionArgument = await createToolSelectionArgument({\n runtime,\n state: composedState,\n message,\n callback,\n mcpProvider,\n toolSelectionName,\n });\n if (!toolSelectionArgument) {\n return await handleNoToolAvailable(callback, toolSelectionName);\n }\n\n const result = await mcpService.callTool(\n serverName,\n toolName,\n toolSelectionArgument.toolArguments\n );\n\n const { toolOutput, hasAttachments, attachments } = processToolResult(\n result,\n serverName,\n toolName,\n runtime,\n message.entityId\n );\n\n const replyMemory = await handleToolResponse(\n runtime,\n message,\n serverName,\n toolName,\n toolSelectionArgument.toolArguments,\n toolOutput,\n hasAttachments,\n attachments,\n composedState,\n mcpProvider,\n callback\n );\n\n return {\n text: `Successfully called tool: ${serverName}/${toolName}. Reasoned response: ${replyMemory.content.text}`,\n values: {\n success: true,\n toolExecuted: true,\n serverName,\n toolName,\n hasAttachments,\n output: toolOutput,\n },\n data: {\n actionName: \"CALL_MCP_TOOL\",\n serverName,\n toolName,\n toolArgumentsJson: JSON.stringify(toolSelectionArgument.toolArguments),\n reasoning: toolSelectionName.reasoning,\n output: toolOutput,\n attachmentCount: attachments?.length ?? 0,\n },\n success: true,\n };\n } catch (error) {\n return await handleMcpError(\n composedState,\n mcpProvider,\n error,\n runtime,\n message,\n \"tool\",\n callback\n );\n }\n },\n\n examples: [\n [\n {\n name: \"{{user}}\",\n content: {\n text: \"Can you search for information about climate change?\",\n },\n },\n {\n name: \"{{assistant}}\",\n content: {\n text: \"I'll help you with that request. Let me access the right tool...\",\n actions: [\"CALL_MCP_TOOL\"],\n },\n },\n {\n name: \"{{assistant}}\",\n content: {\n text: \"I found the following information about climate change:\\n\\nClimate change refers to long-term shifts in temperatures and weather patterns. These shifts may be natural, but since the 1800s, human activities have been the main driver of climate change, primarily due to the burning of fossil fuels like coal, oil, and gas, which produces heat-trapping gases.\",\n actions: [\"CALL_MCP_TOOL\"],\n },\n },\n ],\n ],\n};\n",
23
+ "import {\n type Action,\n type ActionResult,\n composePromptFromState,\n type HandlerCallback,\n type IAgentRuntime,\n type Memory,\n ModelType,\n type State,\n} from \"@elizaos/core\";\nimport type { McpService } from \"../service\";\nimport { resourceSelectionTemplate } from \"../templates/resourceSelectionTemplate\";\nimport { MCP_SERVICE_NAME, type McpServer, type McpServerInfo } from \"../types\";\nimport { handleMcpError } from \"../utils/error\";\nimport {\n handleResourceAnalysis,\n processResourceResult,\n sendInitialResponse,\n} from \"../utils/processing\";\nimport type { ResourceSelection } from \"../utils/schemas\";\nimport {\n createResourceSelectionFeedbackPrompt,\n validateResourceSelection,\n} from \"../utils/validation\";\nimport { withModelRetry } from \"../utils/wrapper\";\n\nfunction createResourceSelectionPrompt(composedState: State, userMessage: string): string {\n const mcpData = (composedState.values.mcp ?? {}) as Record<string, McpServerInfo>;\n const serverNames = Object.keys(mcpData);\n\n let resourcesDescription = \"\";\n for (const serverName of serverNames) {\n const server = mcpData[serverName];\n if (server.status !== \"connected\") continue;\n\n const resourceUris = Object.keys(server.resources ?? {});\n for (const uri of resourceUris) {\n const resource = server.resources[uri];\n resourcesDescription += `Resource: ${uri} (Server: ${serverName})\\n`;\n resourcesDescription += `Name: ${resource.name ?? \"No name available\"}\\n`;\n resourcesDescription += `Description: ${\n resource.description ?? \"No description available\"\n }\\n`;\n resourcesDescription += `MIME Type: ${resource.mimeType ?? \"Not specified\"}\\n\\n`;\n }\n }\n\n const enhancedState: State = {\n ...composedState,\n values: {\n ...composedState.values,\n resourcesDescription,\n userMessage,\n },\n };\n\n return composePromptFromState({\n state: enhancedState,\n template: resourceSelectionTemplate,\n });\n}\n\nexport const readResourceAction: Action = {\n name: \"READ_MCP_RESOURCE\",\n similes: [\n \"READ_RESOURCE\",\n \"READ_MCP_RESOURCE\",\n \"GET_RESOURCE\",\n \"GET_MCP_RESOURCE\",\n \"FETCH_RESOURCE\",\n \"FETCH_MCP_RESOURCE\",\n \"ACCESS_RESOURCE\",\n \"ACCESS_MCP_RESOURCE\",\n ],\n description: \"Reads a resource from an MCP server\",\n\n validate: async (runtime: any, message: any, state?: any, options?: any): Promise<boolean> => {\n const __avTextRaw = typeof message?.content?.text === \"string\" ? message.content.text : \"\";\n const __avText = __avTextRaw.toLowerCase();\n const __avKeywords = [\"read\", \"mcp\", \"resource\"];\n const __avKeywordOk =\n __avKeywords.length > 0 && __avKeywords.some((kw) => kw.length > 0 && __avText.includes(kw));\n const __avRegex = /\\b(?:read|mcp|resource)\\b/i;\n const __avRegexOk = __avRegex.test(__avText);\n const __avSource = String(message?.content?.source ?? message?.source ?? \"\");\n const __avExpectedSource = \"\";\n const __avSourceOk = __avExpectedSource\n ? __avSource === __avExpectedSource\n : Boolean(__avSource || state || runtime?.agentId || runtime?.getService);\n const __avOptions = options && typeof options === \"object\" ? options : {};\n const __avInputOk =\n __avText.trim().length > 0 ||\n Object.keys(__avOptions as Record<string, unknown>).length > 0 ||\n Boolean(message?.content && typeof message.content === \"object\");\n\n if (!(__avKeywordOk && __avRegexOk && __avSourceOk && __avInputOk)) {\n return false;\n }\n\n const __avLegacyValidate = async (\n runtime: IAgentRuntime,\n _message: Memory,\n _state?: State\n ): Promise<boolean> => {\n const mcpService = runtime.getService<McpService>(MCP_SERVICE_NAME);\n if (!mcpService) return false;\n\n const servers = mcpService.getServers();\n return (\n servers.length > 0 &&\n servers.some(\n (server: McpServer) =>\n server.status === \"connected\" && server.resources && server.resources.length > 0\n )\n );\n };\n try {\n return Boolean(await (__avLegacyValidate as any)(runtime, message, state, options));\n } catch {\n return false;\n }\n },\n\n handler: async (\n runtime: IAgentRuntime,\n message: Memory,\n _state?: State,\n _options?: Record<string, unknown>,\n callback?: HandlerCallback\n ): Promise<ActionResult> => {\n const composedState = await runtime.composeState(message, [\"RECENT_MESSAGES\", \"MCP\"]);\n\n const mcpService = runtime.getService<McpService>(MCP_SERVICE_NAME);\n if (!mcpService) {\n throw new Error(\"MCP service not available\");\n }\n\n const mcpProvider = mcpService.getProviderData();\n\n try {\n await sendInitialResponse(callback);\n\n const resourceSelectionPrompt = createResourceSelectionPrompt(\n composedState,\n message.content.text ?? \"\"\n );\n\n const resourceSelection = (await runtime.useModel(ModelType.TEXT_SMALL, {\n prompt: resourceSelectionPrompt,\n })) as string;\n\n const parsedSelection = await withModelRetry<ResourceSelection>({\n runtime,\n state: composedState,\n message,\n callback,\n input: resourceSelection,\n validationFn: (data) => validateResourceSelection(data),\n createFeedbackPromptFn: (originalResponse, errorMessage, state, userMessage) =>\n createResourceSelectionFeedbackPrompt(\n typeof originalResponse === \"string\"\n ? originalResponse\n : JSON.stringify(originalResponse),\n errorMessage,\n state,\n userMessage\n ),\n failureMsg: `I'm having trouble finding the resource you're looking for. Could you provide more details about what you need?`,\n retryCount: 0,\n });\n\n if (!parsedSelection || parsedSelection.noResourceAvailable) {\n const responseText =\n \"I don't have a specific resource that contains the information you're looking for. Let me try to assist you directly instead.\";\n\n if (callback && parsedSelection?.noResourceAvailable) {\n await callback({\n text: responseText,\n actions: [\"REPLY\"],\n });\n }\n return {\n text: responseText,\n values: {\n success: true,\n noResourceAvailable: true,\n fallbackToDirectAssistance: true,\n },\n data: {\n actionName: \"READ_MCP_RESOURCE\",\n noResourceAvailable: true,\n reason: parsedSelection?.reasoning ?? \"No appropriate resource available\",\n },\n success: true,\n };\n }\n\n const { serverName, uri } = parsedSelection;\n\n const result = await mcpService.readResource(serverName, uri);\n\n const { resourceContent, resourceMeta } = processResourceResult(result, uri);\n\n await handleResourceAnalysis(\n runtime,\n message,\n uri,\n serverName,\n resourceContent,\n resourceMeta,\n callback\n );\n\n return {\n text: `Successfully read resource: ${uri}`,\n values: {\n success: true,\n resourceRead: true,\n serverName,\n uri,\n },\n data: {\n actionName: \"READ_MCP_RESOURCE\",\n serverName,\n uri,\n reasoning: parsedSelection?.reasoning,\n resourceMeta,\n contentLength: resourceContent?.length ?? 0,\n },\n success: true,\n };\n } catch (error) {\n return await handleMcpError(\n composedState,\n mcpProvider,\n error,\n runtime,\n message,\n \"resource\",\n callback\n );\n }\n },\n\n examples: [\n [\n {\n name: \"{{user}}\",\n content: {\n text: \"Can you get the documentation about installing elizaOS?\",\n },\n },\n {\n name: \"{{assistant}}\",\n content: {\n text: `I'll retrieve that information for you. Let me access the resource...`,\n actions: [\"READ_MCP_RESOURCE\"],\n },\n },\n {\n name: \"{{assistant}}\",\n content: {\n text: `elizaOS installation is straightforward. You'll need Node.js 23+ and Git installed. For Windows users, WSL 2 is required. The quickest way to get started is by cloning the elizaOS starter repository with \\`git clone https://github.com/elizaos/eliza-starter.git\\`, then run \\`cd eliza-starter && cp .env.example .env && bun i && bun run build && bun start\\`. This will set up a development environment with the core features enabled. After starting, you can access the web interface at http://localhost:3000 to interact with your agent.`,\n actions: [\"READ_MCP_RESOURCE\"],\n },\n },\n ],\n ],\n};\n",
24
+ "import type { IAgentRuntime, Memory, Provider, ProviderResult, State } from \"@elizaos/core\";\nimport type { McpService } from \"./service\";\nimport { MCP_SERVICE_NAME } from \"./types\";\n\nexport const provider: Provider = {\n name: \"MCP\",\n description: \"Information about connected MCP servers, tools, and resources\",\n\n dynamic: true,\n get: async (runtime: IAgentRuntime, _message: Memory, _state: State): Promise<ProviderResult> => {\n const mcpService = runtime.getService<McpService>(MCP_SERVICE_NAME);\n if (!mcpService) {\n return {\n values: {},\n data: {},\n text: \"No MCP servers are available.\",\n };\n }\n\n const providerData = mcpService.getProviderData();\n return {\n values: { mcpServers: JSON.stringify(providerData.values.mcp) },\n data: { mcpServerCount: Object.keys(providerData.data.mcp).length },\n text: providerData.text,\n };\n },\n};\n",
25
25
  "import { type IAgentRuntime, logger, Service } from \"@elizaos/core\";\nimport { Client } from \"@modelcontextprotocol/sdk/client/index.js\";\nimport { SSEClientTransport } from \"@modelcontextprotocol/sdk/client/sse.js\";\nimport { StdioClientTransport } from \"@modelcontextprotocol/sdk/client/stdio.js\";\nimport type {\n CallToolResult,\n Resource,\n ResourceTemplate,\n Tool,\n} from \"@modelcontextprotocol/sdk/types.js\";\nimport type { JSONSchema7 } from \"json-schema\";\nimport {\n createMcpToolCompatibilitySync as createMcpToolCompatibility,\n type McpToolCompatibility,\n} from \"./tool-compatibility\";\nimport {\n BACKOFF_MULTIPLIER,\n type ConnectionState,\n DEFAULT_MCP_TIMEOUT_SECONDS,\n DEFAULT_PING_CONFIG,\n type HttpMcpServerConfig,\n INITIAL_RETRY_DELAY,\n MAX_RECONNECT_ATTEMPTS,\n MCP_SERVICE_NAME,\n type McpConnection,\n type McpProvider,\n type McpResourceResponse,\n type McpServer,\n type McpServerConfig,\n type McpSettings,\n type PingConfig,\n type StdioMcpServerConfig,\n} from \"./types\";\nimport { buildMcpProviderData } from \"./utils/mcp\";\n\nexport class McpService extends Service {\n static serviceType: string = MCP_SERVICE_NAME;\n capabilityDescription = \"Enables the agent to interact with MCP (Model Context Protocol) servers\";\n\n private connections: Map<string, McpConnection> = new Map();\n private connectionStates: Map<string, ConnectionState> = new Map();\n private mcpProvider: McpProvider = {\n values: { mcp: {}, mcpText: \"\" },\n data: { mcp: {} },\n text: \"\",\n };\n private pingConfig: PingConfig = DEFAULT_PING_CONFIG;\n private toolCompatibility: McpToolCompatibility | null = null;\n private compatibilityInitialized = false;\n\n private initializationPromise: Promise<void> | null = null;\n\n constructor(runtime: IAgentRuntime) {\n super(runtime);\n this.initializationPromise = this.initializeMcpServers();\n }\n\n static async start(runtime: IAgentRuntime): Promise<McpService> {\n const service = new McpService(runtime);\n if (service.initializationPromise) {\n await service.initializationPromise;\n }\n return service;\n }\n\n async waitForInitialization(): Promise<void> {\n if (this.initializationPromise) {\n await this.initializationPromise;\n }\n }\n\n async stop(): Promise<void> {\n for (const [name] of this.connections) {\n await this.deleteConnection(name);\n }\n this.connections.clear();\n for (const state of this.connectionStates.values()) {\n if (state.pingInterval) clearInterval(state.pingInterval);\n if (state.reconnectTimeout) clearTimeout(state.reconnectTimeout);\n }\n this.connectionStates.clear();\n }\n\n private async initializeMcpServers(): Promise<void> {\n const mcpSettings = this.getMcpSettings();\n\n if (!mcpSettings || !mcpSettings.servers || Object.keys(mcpSettings.servers).length === 0) {\n this.mcpProvider = buildMcpProviderData([]);\n return;\n }\n\n await this.updateServerConnections(mcpSettings.servers);\n const servers = this.getServers();\n this.mcpProvider = buildMcpProviderData(servers);\n }\n\n private getMcpSettings(): McpSettings | undefined {\n const rawSettings = this.runtime.getSetting(\"mcp\");\n let settings: McpSettings | null | undefined = null;\n\n if (rawSettings && typeof rawSettings === \"object\" && !Array.isArray(rawSettings)) {\n const parsed = rawSettings as Record<string, unknown>;\n if (\"servers\" in parsed && typeof parsed.servers === \"object\" && parsed.servers !== null) {\n settings = parsed as unknown as McpSettings;\n }\n }\n\n if (!settings || !settings.servers) {\n const characterSettings = this.runtime.character.settings;\n if (\n characterSettings &&\n typeof characterSettings === \"object\" &&\n \"mcp\" in characterSettings\n ) {\n const characterMcpSettings = characterSettings.mcp;\n if (\n characterMcpSettings &&\n typeof characterMcpSettings === \"object\" &&\n \"servers\" in characterMcpSettings\n ) {\n settings = characterMcpSettings as unknown as McpSettings;\n }\n }\n }\n\n if (settings && typeof settings === \"object\" && settings.servers) {\n return settings;\n }\n\n return undefined;\n }\n\n private async updateServerConnections(\n serverConfigs: Readonly<Record<string, McpServerConfig>>\n ): Promise<void> {\n const currentNames = new Set(this.connections.keys());\n const newNames = new Set(Object.keys(serverConfigs));\n\n for (const name of currentNames) {\n if (!newNames.has(name)) {\n await this.deleteConnection(name);\n }\n }\n\n const connectionPromises = Object.entries(serverConfigs).map(async ([name, config]) => {\n const currentConnection = this.connections.get(name);\n if (!currentConnection) {\n await this.initializeConnection(name, config);\n } else if (JSON.stringify(config) !== currentConnection.server.config) {\n await this.deleteConnection(name);\n await this.initializeConnection(name, config);\n }\n });\n\n await Promise.allSettled(connectionPromises);\n }\n\n private async initializeConnection(name: string, config: McpServerConfig): Promise<void> {\n await this.deleteConnection(name);\n const state: ConnectionState = {\n status: \"connecting\",\n reconnectAttempts: 0,\n consecutivePingFailures: 0,\n };\n this.connectionStates.set(name, state);\n\n const client = new Client({ name: \"elizaOS\", version: \"1.0.0\" }, { capabilities: {} });\n const transport: StdioClientTransport | SSEClientTransport =\n config.type === \"stdio\"\n ? await this.buildStdioClientTransport(name, config)\n : await this.buildHttpClientTransport(name, config);\n\n const connection: McpConnection = {\n server: {\n name,\n config: JSON.stringify(config),\n status: \"connecting\",\n },\n client,\n transport,\n };\n this.connections.set(name, connection);\n this.setupTransportHandlers(name, connection, state);\n await client.connect(transport);\n\n const capabilities = client.getServerCapabilities();\n const tools = await this.fetchToolsList(name);\n const resources = capabilities?.resources ? await this.fetchResourcesList(name) : [];\n const resourceTemplates = capabilities?.resources\n ? await this.fetchResourceTemplatesList(name)\n : [];\n\n connection.server = {\n status: \"connected\",\n name,\n config: JSON.stringify(config),\n error: \"\",\n tools,\n resources,\n resourceTemplates,\n };\n state.status = \"connected\";\n state.lastConnected = new Date();\n state.reconnectAttempts = 0;\n state.consecutivePingFailures = 0;\n this.startPingMonitoring(name);\n }\n\n private setupTransportHandlers(\n name: string,\n connection: McpConnection,\n _state: ConnectionState\n ): void {\n const config = JSON.parse(connection.server.config) as McpServerConfig;\n const isHttpTransport = config.type !== \"stdio\";\n\n connection.transport.onerror = async (error): Promise<void> => {\n const errorMessage = error?.message ?? String(error);\n const isExpectedTimeout =\n isHttpTransport &&\n (errorMessage === \"undefined\" ||\n errorMessage === \"\" ||\n errorMessage.includes(\"SSE error\") ||\n errorMessage.includes(\"timeout\"));\n\n if (!isExpectedTimeout) {\n logger.error({ error, serverName: name }, `Transport error for \"${name}\"`);\n connection.server.status = \"disconnected\";\n this.appendErrorMessage(connection, error.message);\n }\n\n if (!isHttpTransport) {\n this.handleDisconnection(name, error);\n }\n };\n\n connection.transport.onclose = async (): Promise<void> => {\n if (!isHttpTransport) {\n connection.server.status = \"disconnected\";\n this.handleDisconnection(name, new Error(\"Transport closed\"));\n }\n };\n }\n\n private startPingMonitoring(name: string): void {\n const connection = this.connections.get(name);\n if (!connection) return;\n\n const config = JSON.parse(connection.server.config) as McpServerConfig;\n const isHttpTransport = config.type !== \"stdio\";\n\n if (isHttpTransport) {\n return;\n }\n\n const state = this.connectionStates.get(name);\n if (!state || !this.pingConfig.enabled) return;\n if (state.pingInterval) clearInterval(state.pingInterval);\n state.pingInterval = setInterval(() => {\n this.sendPing(name).catch((err: Error) => {\n logger.warn({ error: err.message, serverName: name }, `Ping failed for ${name}`);\n this.handlePingFailure(name, err);\n });\n }, this.pingConfig.intervalMs);\n }\n\n private async sendPing(name: string): Promise<void> {\n const connection = this.connections.get(name);\n if (!connection) throw new Error(`No connection for ping: ${name}`);\n\n await Promise.race([\n connection.client.listTools(),\n new Promise<never>((_, reject) =>\n setTimeout(() => reject(new Error(\"Ping timeout\")), this.pingConfig.timeoutMs)\n ),\n ]);\n\n const state = this.connectionStates.get(name);\n if (state) state.consecutivePingFailures = 0;\n }\n\n private handlePingFailure(name: string, error: Error): void {\n const state = this.connectionStates.get(name);\n if (!state) return;\n state.consecutivePingFailures++;\n if (state.consecutivePingFailures >= this.pingConfig.failuresBeforeDisconnect) {\n this.handleDisconnection(name, error);\n }\n }\n\n private handleDisconnection(name: string, error: Error | unknown): void {\n const state = this.connectionStates.get(name);\n if (!state) return;\n state.status = \"disconnected\";\n state.lastError = error instanceof Error ? error : new Error(String(error));\n if (state.pingInterval) clearInterval(state.pingInterval);\n if (state.reconnectTimeout) clearTimeout(state.reconnectTimeout);\n if (state.reconnectAttempts >= MAX_RECONNECT_ATTEMPTS) {\n return;\n }\n const delay = INITIAL_RETRY_DELAY * BACKOFF_MULTIPLIER ** state.reconnectAttempts;\n state.reconnectTimeout = setTimeout(async () => {\n state.reconnectAttempts++;\n const connection = this.connections.get(name);\n const config = connection?.server?.config;\n if (config) {\n try {\n await this.initializeConnection(name, JSON.parse(config));\n } catch (err) {\n this.handleDisconnection(name, err);\n }\n }\n }, delay);\n }\n\n async deleteConnection(name: string): Promise<void> {\n const connection = this.connections.get(name);\n if (connection) {\n await connection.transport.close();\n await connection.client.close();\n this.connections.delete(name);\n }\n const state = this.connectionStates.get(name);\n if (state) {\n if (state.pingInterval) clearInterval(state.pingInterval);\n if (state.reconnectTimeout) clearTimeout(state.reconnectTimeout);\n this.connectionStates.delete(name);\n }\n }\n\n private getServerConnection(serverName: string): McpConnection | undefined {\n return this.connections.get(serverName);\n }\n\n private async buildStdioClientTransport(\n name: string,\n config: StdioMcpServerConfig\n ): Promise<StdioClientTransport> {\n if (!config.command) {\n throw new Error(`Missing command for stdio MCP server ${name}`);\n }\n\n return new StdioClientTransport({\n command: config.command,\n args: config.args ? [...config.args] : undefined,\n env: {\n ...config.env,\n ...(process.env.PATH ? { PATH: process.env.PATH } : {}),\n },\n stderr: \"pipe\",\n cwd: config.cwd,\n });\n }\n\n private async buildHttpClientTransport(\n name: string,\n config: HttpMcpServerConfig\n ): Promise<SSEClientTransport> {\n if (!config.url) {\n throw new Error(`Missing URL for HTTP MCP server ${name}`);\n }\n\n return new SSEClientTransport(new URL(config.url));\n }\n\n private appendErrorMessage(connection: McpConnection, error: string): void {\n const newError = connection.server.error ? `${connection.server.error}\\n${error}` : error;\n connection.server.error = newError;\n }\n\n private async fetchToolsList(serverName: string): Promise<Tool[]> {\n const connection = this.getServerConnection(serverName);\n if (!connection) {\n return [];\n }\n\n const response = await connection.client.listTools();\n\n const tools = (response?.tools ?? []).map((tool) => {\n const processedTool = { ...tool };\n\n if (tool.inputSchema) {\n if (!this.compatibilityInitialized) {\n this.initializeToolCompatibility();\n }\n\n processedTool.inputSchema = this.applyToolCompatibility(\n tool.inputSchema as JSONSchema7\n ) as typeof tool.inputSchema;\n }\n\n return processedTool;\n });\n\n return tools;\n }\n\n private async fetchResourcesList(serverName: string): Promise<Resource[]> {\n const connection = this.getServerConnection(serverName);\n if (!connection) {\n return [];\n }\n\n const response = await connection.client.listResources();\n return response?.resources ?? [];\n }\n\n private async fetchResourceTemplatesList(serverName: string): Promise<ResourceTemplate[]> {\n const connection = this.getServerConnection(serverName);\n if (!connection) {\n return [];\n }\n\n const response = await connection.client.listResourceTemplates();\n return response?.resourceTemplates ?? [];\n }\n\n public getServers(): McpServer[] {\n return Array.from(this.connections.values())\n .filter((conn) => !conn.server.disabled)\n .map((conn) => conn.server);\n }\n\n public getProviderData(): McpProvider {\n return this.mcpProvider;\n }\n\n public async callTool(\n serverName: string,\n toolName: string,\n toolArguments?: Readonly<Record<string, unknown>>\n ): Promise<CallToolResult> {\n const connection = this.connections.get(serverName);\n if (!connection) {\n throw new Error(`No connection found for server: ${serverName}`);\n }\n if (connection.server.disabled) {\n throw new Error(`Server \"${serverName}\" is disabled`);\n }\n\n let timeout = DEFAULT_MCP_TIMEOUT_SECONDS;\n const config = JSON.parse(connection.server.config) as McpServerConfig;\n if (config.type === \"stdio\" && config.timeoutInMillis) {\n timeout = config.timeoutInMillis;\n }\n\n const result = await connection.client.callTool(\n {\n name: toolName,\n arguments: toolArguments ? { ...toolArguments } : undefined,\n },\n undefined,\n { timeout }\n );\n if (!result.content) {\n throw new Error(\"Invalid tool result: missing content array\");\n }\n return result as CallToolResult;\n }\n\n public async readResource(serverName: string, uri: string): Promise<McpResourceResponse> {\n const connection = this.connections.get(serverName);\n if (!connection) {\n throw new Error(`No connection found for server: ${serverName}`);\n }\n if (connection.server.disabled) {\n throw new Error(`Server \"${serverName}\" is disabled`);\n }\n return await connection.client.readResource({ uri });\n }\n\n public async restartConnection(serverName: string): Promise<void> {\n const connection = this.connections.get(serverName);\n const config = connection?.server?.config;\n if (config) {\n connection.server.status = \"connecting\";\n connection.server.error = \"\";\n await this.deleteConnection(serverName);\n await this.initializeConnection(serverName, JSON.parse(config));\n }\n }\n\n private initializeToolCompatibility(): void {\n if (this.compatibilityInitialized) return;\n\n this.toolCompatibility = createMcpToolCompatibility(this.runtime);\n this.compatibilityInitialized = true;\n }\n\n public applyToolCompatibility(toolSchema: JSONSchema7): JSONSchema7 {\n if (!this.compatibilityInitialized) {\n this.initializeToolCompatibility();\n }\n\n if (!this.toolCompatibility || !toolSchema) {\n return toolSchema;\n }\n\n return this.toolCompatibility.transformToolSchema(toolSchema);\n }\n}\n",
26
26
  "import type { IAgentRuntime } from \"@elizaos/core\";\nimport { detectModelProvider, type McpToolCompatibility } from \"./base\";\n\nexport {\n type ArrayConstraints,\n McpToolCompatibility,\n type ModelInfo,\n type ModelProvider,\n type NumberConstraints,\n type ObjectConstraints,\n type SchemaConstraints,\n type StringConstraints,\n} from \"./base\";\n\nexport { detectModelProvider };\n\nexport async function createMcpToolCompatibility(\n runtime: IAgentRuntime\n): Promise<McpToolCompatibility | null> {\n const modelInfo = detectModelProvider(runtime);\n\n switch (modelInfo.provider) {\n case \"openai\": {\n const { OpenAIMcpCompatibility } = await import(\"./providers/openai.js\");\n return new OpenAIMcpCompatibility(modelInfo);\n }\n case \"anthropic\": {\n const { AnthropicMcpCompatibility } = await import(\"./providers/anthropic.js\");\n return new AnthropicMcpCompatibility(modelInfo);\n }\n case \"google\": {\n const { GoogleMcpCompatibility } = await import(\"./providers/google.js\");\n return new GoogleMcpCompatibility(modelInfo);\n }\n default:\n return null;\n }\n}\n\nexport function createMcpToolCompatibilitySync(\n runtime: IAgentRuntime\n): McpToolCompatibility | null {\n const modelInfo = detectModelProvider(runtime);\n\n switch (modelInfo.provider) {\n case \"openai\": {\n const { OpenAIMcpCompatibility } = require(\"./providers/openai\");\n return new OpenAIMcpCompatibility(modelInfo);\n }\n case \"anthropic\": {\n const { AnthropicMcpCompatibility } = require(\"./providers/anthropic\");\n return new AnthropicMcpCompatibility(modelInfo);\n }\n case \"google\": {\n const { GoogleMcpCompatibility } = require(\"./providers/google\");\n return new GoogleMcpCompatibility(modelInfo);\n }\n default:\n return null;\n }\n}\n"
27
27
  ],
28
- "mappings": "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",
29
- "debugId": "A44D04A3F130891B64756E2164756E21",
28
+ "mappings": "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",
29
+ "debugId": "3F220FC71C03FFDC64756E2164756E21",
30
30
  "names": []
31
31
  }
@@ -1 +1 @@
1
- {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAyB,QAAQ,EAAyB,MAAM,eAAe,CAAC;AAI5F,eAAO,MAAM,QAAQ,EAAE,QAqBtB,CAAC"}
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAyB,QAAQ,EAAyB,MAAM,eAAe,CAAC;AAI5F,eAAO,MAAM,QAAQ,EAAE,QAsBtB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elizaos/plugin-mcp",
3
- "version": "2.0.0-alpha.6",
3
+ "version": "2.0.0-alpha.7",
4
4
  "description": "elizaOS plugin to integrate with MCP (Model Context Protocol) servers",
5
5
  "type": "module",
6
6
  "main": "dist/node/index.js",
@@ -37,7 +37,7 @@
37
37
  "build:ts": "bun run build.ts",
38
38
  "dev": "bun --hot build.ts",
39
39
  "clean": "rm -rf dist .turbo node_modules",
40
- "test": "vitest run",
40
+ "test": "vitest run --config vitest.config.ts --passWithNoTests",
41
41
  "typecheck": "tsc --noEmit",
42
42
  "lint": "bunx @biomejs/biome check --write --unsafe .",
43
43
  "lint:check": "bunx @biomejs/biome check .",
@@ -78,7 +78,7 @@
78
78
  }
79
79
  }
80
80
  },
81
- "milaidy": {
81
+ "milady": {
82
82
  "platforms": [
83
83
  "node"
84
84
  ],