From 83dea1f728a58a61efd5c5696d39208f9974510a Mon Sep 17 00:00:00 2001 From: "azykov@mail.ru" Date: Wed, 1 Jul 2026 12:25:11 +0300 Subject: [PATCH] TS2589 fixes TS2589 fixes TS2589 --- src/mcpConnection.ts | 14 +++++++++----- src/mcpTools/listTools.ts | 18 ++++++++++++------ 2 files changed, 21 insertions(+), 11 deletions(-) diff --git a/src/mcpConnection.ts b/src/mcpConnection.ts index bf9625f..ecdfbb9 100644 --- a/src/mcpConnection.ts +++ b/src/mcpConnection.ts @@ -51,11 +51,15 @@ export default class McpSession { this.registeredTools.push( ...toolsToRegister - .map((tool) => this.mcp.registerTool( - tool.title, - tool.config, - tool.handler, - )) + .map( + (tool) => this.mcp.registerTool( + tool.title, + // ugly workaround for TS2589 error + // eslint-disable-next-line @typescript-eslint/no-explicit-any + tool.config as any, + tool.handler, + ) + ) ); } diff --git a/src/mcpTools/listTools.ts b/src/mcpTools/listTools.ts index 067e94e..40a10ab 100644 --- a/src/mcpTools/listTools.ts +++ b/src/mcpTools/listTools.ts @@ -15,13 +15,19 @@ export const listToolsTool: ToolDef = { type: "text", text: JSON.stringify( Object.values(server.tools) - .map((tool) => ({ - ...tool, - config: { - ...tool.config, - inputSchema: zodToJsonSchema(z.object(tool.config.inputSchema), { target: "jsonSchema7" }), + .map((tool) => { + // ugly workaround for TS2589 error + // eslint-disable-next-line @typescript-eslint/no-explicit-any + const zodObject = (z.object as any)(tool.config.inputSchema); + const inputSchema = zodToJsonSchema(zodObject, { target: "jsonSchema7" }); + return { + ...tool, + config: { + ...tool.config, + inputSchema, + } } - })), + }), null, 2, )