I got the same problem. And I fix this by changing direction='minimize' . Because the function LightGBMPruningCallback is use AUC for optimize mean, u want to find the highest AUC. So the direction is true maximize
direction='minimize'
LightGBMPruningCallback
maximize