chore: add_stream_external_toolcall_support #3700
Open
+560
−623
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.
Description
Problem
When using
ChatAgentwithstream=Trueand external tools (tools defined inexternal_toolsbut not executable by the agent), the Assistant's tool call request message was not being recorded in thechat_history.Solution
Modified
_execute_tool_from_stream_dataincamel/agents/chat_agent.pyto:chat_history.None.Effect
This ensures consistency between streaming and non-streaming modes, guaranteeing that the chat history correctly reflects the model's intent to call an external tool regardless of the streaming configuration.
Checklist
Go over all the following points, and put an
xin all the boxes that apply.Fixes #issue-numberin the PR description (required)pyproject.tomlanduv lockIf you are unsure about any of these, don't hesitate to ask. We are here to help!