42 lines
1.7 KiB
Swift
42 lines
1.7 KiB
Swift
import Foundation
|
|
|
|
public enum KimiAPIError: LocalizedError, Sendable, Equatable {
|
|
case missingToken
|
|
case invalidToken
|
|
case missingAPIKey
|
|
case invalidAPIKey
|
|
case invalidRequest(String)
|
|
case networkError(String)
|
|
case apiError(String)
|
|
case parseFailed(String)
|
|
case expiredCodeCredential
|
|
case invalidCodeCredential
|
|
|
|
public var errorDescription: String? {
|
|
switch self {
|
|
case .missingToken:
|
|
"Kimi auth token is missing. Please add your JWT token from the Kimi console."
|
|
case .invalidToken:
|
|
"Kimi auth token is invalid or expired. Please refresh your token."
|
|
case .missingAPIKey:
|
|
"Kimi Code API key is missing. Add it in Settings > Providers > Kimi or set KIMI_CODE_API_KEY."
|
|
case .invalidAPIKey:
|
|
"Kimi Code API key is invalid or expired. Please refresh your API key."
|
|
case let .invalidRequest(message):
|
|
"Invalid request: \(message)"
|
|
case let .networkError(message):
|
|
"Kimi network error: \(message)"
|
|
case let .apiError(message):
|
|
"Kimi API error: \(message)"
|
|
case let .parseFailed(message):
|
|
"Failed to parse Kimi usage data: \(message)"
|
|
case .expiredCodeCredential:
|
|
"Kimi Code CLI credential is expired. Sign in again with Kimi Code CLI or set KIMI_CODE_API_KEY; " +
|
|
"CodexBar does not refresh CLI-owned credentials."
|
|
case .invalidCodeCredential:
|
|
"Kimi Code CLI credential is invalid or expired. Sign in again with Kimi Code CLI or set " +
|
|
"KIMI_CODE_API_KEY; CodexBar does not refresh CLI-owned credentials."
|
|
}
|
|
}
|
|
}
|