fn tool_error(message: impl Into<String>) -> AppError
Constructs a 500 error for tool execution failures.