class AuthenticationFailedException implements Exception { final String message; final Exception? originalError; const AuthenticationFailedException(this.message, [this.originalError]); @override String toString() { return 'AuthenticationFailedException: $message${originalError != null ? ' (caused by: $originalError)' : ''}'; } } class CircuitBreakerOpenException implements Exception { final String message; const CircuitBreakerOpenException(this.message); @override String toString() { return 'CircuitBreakerOpenException: $message'; } }