Files
steipete--codexbar/Sources/CodexBarCore/Providers/Codebuff/CodebuffUsageError.swift
T
2026-07-13 12:22:33 +08:00

41 lines
1.3 KiB
Swift

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