Sfoglia il codice sorgente

Merge pull request #473 from ding113/fix/issue-471-tool-result-tool-use-id

Fix #471: Add error rule for tool_use_id in tool_result blocks
Ding 1 mese fa
parent
commit
37f5deea43
1 ha cambiato i file con 18 aggiunte e 0 eliminazioni
  1. 18 0
      src/repository/error-rules.ts

+ 18 - 0
src/repository/error-rules.ts

@@ -489,6 +489,24 @@ const DEFAULT_ERROR_RULES = [
       },
     },
   },
+  // Issue #471: tool_use_id found in tool_result blocks (non-retryable client error)
+  {
+    pattern:
+      "unexpected.*['\"]tool_use_id['\"].*found in.*['\"]tool_result['\"]|messages\\..*\\.content\\..*: unexpected ['\"]tool_use_id['\"].*['\"]tool_result['\"]",
+    category: "validation_error",
+    description: "tool_use_id field incorrectly placed in tool_result blocks (client error)",
+    matchType: "regex" as const,
+    isDefault: true,
+    isEnabled: true,
+    priority: 89,
+    overrideResponse: {
+      type: "error",
+      error: {
+        type: "validation_error",
+        message: "tool_result 块中不应包含 tool_use_id 字段,请检查消息格式",
+      },
+    },
+  },
   // Tool result validation errors (non-retryable)
   {
     pattern: "unexpected.*tool_use_id.*tool_result|tool_result.*must have.*corresponding.*tool_use",