| AgentInputTypeError, | AgentInputTypeError, | ||||
| AgentInvocationError, | AgentInvocationError, | ||||
| AgentMessageTransformError, | AgentMessageTransformError, | ||||
| AgentNodeError, | |||||
| AgentVariableNotFoundError, | AgentVariableNotFoundError, | ||||
| AgentVariableTypeError, | AgentVariableTypeError, | ||||
| ToolFileNotFoundError, | ToolFileNotFoundError, | ||||
| variables[variable_name] = variable_value | variables[variable_name] = variable_value | ||||
| elif message.type == ToolInvokeMessage.MessageType.FILE: | elif message.type == ToolInvokeMessage.MessageType.FILE: | ||||
| assert message.meta is not None | assert message.meta is not None | ||||
| assert isinstance(message.meta, File) | |||||
| assert isinstance(message.meta, dict) | |||||
| # Validate that meta contains a 'file' key | |||||
| if "file" not in message.meta: | |||||
| raise AgentNodeError("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 AgentNodeError(f"Expected File object but got {type(message.meta['file']).__name__}") | |||||
| files.append(message.meta["file"]) | files.append(message.meta["file"]) | ||||
| elif message.type == ToolInvokeMessage.MessageType.LOG: | elif message.type == ToolInvokeMessage.MessageType.LOG: | ||||
| assert isinstance(message.message, ToolInvokeMessage.LogMessage) | assert isinstance(message.message, ToolInvokeMessage.LogMessage) |