Translator only unwrapped tool.function when both tool.type==="function"
and tool.function were truthy. Loose/legacy OpenAI clients emit the bare
{ function: { name, parameters } } shape (no parent type), which fell
through and forwarded name: undefined upstream, rejected by strict
Anthropic-compatible gateways (MiniMax M3) as (2013) invalid tool type.
Unwrap tool.function whenever present. Built-in tools stay pass-through.
Adds regression coverage for the 4 tool shapes. See #2435.
Co-authored-by: Cursor <cursoragent@cursor.com>
|
||
|---|---|---|
| .. | ||
| config | ||
| executors | ||
| handlers | ||
| providers | ||
| rtk | ||
| services | ||
| shared | ||
| transformer | ||
| translator | ||
| utils | ||
| .npmignore | ||
| AGENTS.md | ||
| index.js | ||