package cmd
import "errors"
// Sentinel errors recognized by Execute → exit code mapping.
//
// exists → ErrNotFound → 1
// download without --url, key missing → ErrMissNoFallback → 3
// any other error → 2
var (
ErrNotFound = errors.New("cacher: key not found")
ErrMissNoFallback = errors.New("cacher: cache miss and no --url fallback")
)
func exitCodeFor(err error) int {
switch {
case err == nil:
return 0
case errors.Is(err, ErrNotFound):
return 1
case errors.Is(err, ErrMissNoFallback):
return 3
default:
return 2
}
}