In your cli functionality you are calculating the min version to satisfy the provided range. It would be nice if you exposed this information to the API callback so I could create my own custom messages without installing another instance of semver. Also avoids any semver version mismatches. E.g. semver.minversion(info.wanted) fails if I use semver v7, as I assume the range object has changed since semver v6 that's used in your package.
Separately providing your package engine parsing function for creating options would also be useful. I've basically had to copy and paste that code as I want that functionality, but again want to provide my own error messages.