)]}'
{
  "commit": "40c9da832c33b2d807c06f54eeccabb38fbe01d1",
  "tree": "8ecfb88d6504bc1accaf9c65fca7ae995411fb07",
  "parents": [
    "ab3702caa60dbf7845b0b9f928b9741e34d84d04"
  ],
  "author": {
    "name": "Josh Bleecher Snyder",
    "email": "josharian@gmail.com",
    "time": "Thu Jul 24 21:08:20 2025 +0000"
  },
  "committer": {
    "name": "Josh Bleecher Snyder",
    "email": "josharian@gmail.com",
    "time": "Fri Jul 25 12:08:45 2025 -0700"
  },
  "message": "llm/oai: fix tool error handling in openai translation layer\n\nTool errors were being swallowed because the OAI provider always set\nToolError\u003dfalse when converting tool results back to llm.Content. This\ncaused failed tool calls to appear as successful to the LLM.\n\nFix by modifying fromLLMMessage to prefix error content with \u0027Error: \u0027\nwhen ToolError\u003dtrue, since OpenAI doesn\u0027t have an explicit error field\nfor tool results. This ensures tool failures are properly communicated\nto the LLM so it can respond appropriately.\n\nThe fix resolves tool call error swallowing and makes JSON decode errors\nvisible to the LLM for proper error handling.\n\nCo-Authored-By: sketch \u003chello@sketch.dev\u003e\nChange-ID: s6bc264a7abf25c7bk\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "a27630acd793aacfaab6a2b63ae08aa51cbe61be",
      "old_mode": 33188,
      "old_path": "llm/oai/oai.go",
      "new_id": "2b8b3a15d7c567167936263ba080a71f869d4d54",
      "new_mode": 33188,
      "new_path": "llm/oai/oai.go"
    }
  ]
}
