|
|
|
|
@ -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)
|
|
|
|
|
|