fix(core): ensure InjectedToolCallId always overrides LLM-generated values (#32766)

This commit is contained in:
Zhou Jing
2025-09-10 00:25:52 +09:00
committed by GitHub
parent c124e67325
commit dcc517b187
2 changed files with 24 additions and 8 deletions

View File

@@ -659,10 +659,7 @@ class ChildTool(BaseTool):
return tool_input
if issubclass(input_args, BaseModel):
for k, v in get_all_basemodel_annotations(input_args).items():
if (
_is_injected_arg_type(v, injected_type=InjectedToolCallId)
and k not in tool_input
):
if _is_injected_arg_type(v, injected_type=InjectedToolCallId):
if tool_call_id is None:
msg = (
"When tool includes an InjectedToolCallId "
@@ -677,10 +674,7 @@ class ChildTool(BaseTool):
result_dict = result.model_dump()
elif issubclass(input_args, BaseModelV1):
for k, v in get_all_basemodel_annotations(input_args).items():
if (
_is_injected_arg_type(v, injected_type=InjectedToolCallId)
and k not in tool_input
):
if _is_injected_arg_type(v, injected_type=InjectedToolCallId):
if tool_call_id is None:
msg = (
"When tool includes an InjectedToolCallId "