Просмотр исходного кода

add catch for mcp tool execution

Aiden Cline 3 месяцев назад
Родитель
Сommit
74acd08ead
1 измененных файлов с 11 добавлено и 1 удалено
  1. 11 1
      packages/opencode/src/session/prompt.ts

+ 11 - 1
packages/opencode/src/session/prompt.ts

@@ -582,7 +582,17 @@ export namespace SessionPrompt {
             args,
           },
         )
-        const result = await execute(args, opts)
+        const result = await execute(args, opts).catch((err) => {
+          log.error("Error executing tool", { error: err, tool: key })
+          return {
+            content: [
+              {
+                type: "text",
+                text: `Failed to execute tool: ${err instanceof Error ? err.message : String(err)}`,
+              },
+            ],
+          }
+        })
 
         await Plugin.trigger(
           "tool.execute.after",