Files
2026-07-13 12:22:33 +08:00

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."
}
}
}