浏览代码

repair tool calls when casing is wrong

Dax Raad 1 年之前
父节点
当前提交
e69d10b6c9
共有 1 个文件被更改,包括 11 次插入0 次删除
  1. 11 0
      packages/opencode/src/session/index.ts

+ 11 - 0
packages/opencode/src/session/index.ts

@@ -1007,6 +1007,17 @@ export namespace Session {
         }
       },
       async experimental_repairToolCall(input) {
+        const lower = input.toolCall.toolName.toLowerCase()
+        if (lower !== input.toolCall.toolName && tools[lower]) {
+          log.info("repairing tool call", {
+            tool: input.toolCall.toolName,
+            repaired: lower,
+          })
+          return {
+            ...input.toolCall,
+            toolName: lower,
+          }
+        }
         return {
           ...input.toolCall,
           input: JSON.stringify({