فهرست منبع

fix(opencode): pass abort signal to MCP tool calls (#31455)

Aiden Cline 2 ماه پیش
والد
کامیت
79cff288a6
1فایلهای تغییر یافته به همراه2 افزوده شده و 1 حذف شده
  1. 2 1
      packages/opencode/src/mcp/index.ts

+ 2 - 1
packages/opencode/src/mcp/index.ts

@@ -178,7 +178,7 @@ function convertMcpTool(mcpTool: MCPToolDef, client: MCPClient, timeout?: number
   return dynamicTool({
   return dynamicTool({
     description: mcpTool.description ?? "",
     description: mcpTool.description ?? "",
     inputSchema: jsonSchema(schema),
     inputSchema: jsonSchema(schema),
-    execute: async (args: unknown) => {
+    execute: async (args: unknown, options) => {
       return client.callTool(
       return client.callTool(
         {
         {
           name: mcpTool.name,
           name: mcpTool.name,
@@ -187,6 +187,7 @@ function convertMcpTool(mcpTool: MCPToolDef, client: MCPClient, timeout?: number
         CallToolResultSchema,
         CallToolResultSchema,
         {
         {
           resetTimeoutOnProgress: true,
           resetTimeoutOnProgress: true,
+          signal: options.abortSignal,
           timeout,
           timeout,
         },
         },
       )
       )