[openai] Remove incorrect tool call id from tool call delta #2210
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
For OpenAI responses API, the
response.function_call_arguments.deltareturns anitem_id(docs) . This item_id is actually theidof the tool_call, rather than thetool_call_id.The problem is that when using agent_stream or more generally the parts_manager, these deltas are accumulated and the
tool_call_idfor the ToolCallNode ends up being set to the incorrectid. This is particularly problematic because theidis a longer string than is supported by some gpt models (for example, an id isfc_6876aca7db8c8192af95414c6cf92796035a7a219e794395, whereas the tool call id for the same request iscall_YHzL9zYTlauY9bw9dEoE4uA4.gpt-4o-minionly allows tool call ids that are 40 characters or less, so using the longer id breaks things (and is incorrect from a tool call id perspective).