pub fn evaluate_python_code( code: &str, custom_tools: Vec<Box<dyn AnyTool>>, state: &mut HashMap<String, Box<dyn Any>>, ) -> Result<String, InterpreterError>