chore: import upstream snapshot with attribution
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
import Foundation
|
||||
|
||||
public enum CodebuffUsageError: LocalizedError, Sendable, Equatable {
|
||||
case missingCredentials
|
||||
case unauthorized
|
||||
case endpointNotFound
|
||||
case serviceUnavailable(Int)
|
||||
case apiError(Int)
|
||||
case networkError(String)
|
||||
case parseFailed(String)
|
||||
|
||||
public static let missingToken: CodebuffUsageError = .missingCredentials
|
||||
|
||||
public var errorDescription: String? {
|
||||
switch self {
|
||||
case .missingCredentials:
|
||||
"Codebuff API token not configured. Set CODEBUFF_API_KEY or run `codebuff login` to " +
|
||||
"populate ~/.config/manicode/credentials.json."
|
||||
case .unauthorized:
|
||||
"Unauthorized. Please sign in to Codebuff again."
|
||||
case .endpointNotFound:
|
||||
"Codebuff usage endpoint not found."
|
||||
case let .serviceUnavailable(status):
|
||||
"Codebuff API is temporarily unavailable (status \(status))."
|
||||
case let .apiError(status):
|
||||
"Codebuff API returned an unexpected status (\(status))."
|
||||
case let .networkError(message):
|
||||
"Codebuff API error: \(message)"
|
||||
case let .parseFailed(message):
|
||||
"Could not parse Codebuff usage: \(message)"
|
||||
}
|
||||
}
|
||||
|
||||
public var isAuthRelated: Bool {
|
||||
switch self {
|
||||
case .unauthorized, .missingCredentials: true
|
||||
default: false
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user