Added a check to ensure the input text is a string before proceeding with parsing (#22809)

Co-authored-by: -LAN- <laipz8200@outlook.com>
This commit is contained in:
crazywoola
2025-07-23 13:53:27 +08:00
committed by GitHub
parent 82cc37bf51
commit 60c37fe492
4 changed files with 26 additions and 3 deletions

View File

@@ -317,7 +317,13 @@ class ToolNode(BaseNode):
elif message.type == ToolInvokeMessage.MessageType.FILE:
assert message.meta is not None
assert isinstance(message.meta, dict)
assert "file" in message.meta and isinstance(message.meta["file"], File)
# Validate that meta contains a 'file' key
if "file" not in message.meta:
raise ToolNodeError("File message is missing 'file' key in meta")
# Validate that the file is an instance of File
if not isinstance(message.meta["file"], File):
raise ToolNodeError(f"Expected File object but got {type(message.meta['file']).__name__}")
files.append(message.meta["file"])
elif message.type == ToolInvokeMessage.MessageType.LOG:
assert isinstance(message.message, ToolInvokeMessage.LogMessage)