import CodexBarCoreimport Foundation extension UsageStore { func tokenSnapshot(for provider: UsageProvider) -> CostUsageTokenSnapshot? { self.tokenSnapshots[provider] } func tokenError(for provider: UsageProvider) -> String? { self.tokenErrors[provider] } func tokenLastAttemptAt(for provider: UsageProvider) -> Date? { self.lastTokenFetchAt[provider] } func isTokenRefreshInFlight(for provider: UsageProvider) -> Bool { self.tokenRefreshInFlight.contains(provider) } nonisolated static func costUsageCacheDirectory( fileManager: FileManager = .default) -> URL { let root = fileManager.urls(for: .cachesDirectory, in: .userDomainMask).first! return root .appendingPathComponent("CodexBar", isDirectory: true) .appendingPathComponent("cost-usage", isDirectory: true) } nonisolated static func tokenCostNoDataMessage(for provider: UsageProvider) -> String { ProviderDescriptorRegistry.descriptor(for: provider).tokenCost.noDataMessage() }}
import CodexBarCore
import Foundation
extension UsageStore {
func tokenSnapshot(for provider: UsageProvider) -> CostUsageTokenSnapshot? {
self.tokenSnapshots[provider]
}
func tokenError(for provider: UsageProvider) -> String? {
self.tokenErrors[provider]
}
func tokenLastAttemptAt(for provider: UsageProvider) -> Date? {
self.lastTokenFetchAt[provider]
}
func isTokenRefreshInFlight(for provider: UsageProvider) -> Bool {
self.tokenRefreshInFlight.contains(provider)
}
nonisolated static func costUsageCacheDirectory(
fileManager: FileManager = .default) -> URL
{
let root = fileManager.urls(for: .cachesDirectory, in: .userDomainMask).first!
return root
.appendingPathComponent("CodexBar", isDirectory: true)
.appendingPathComponent("cost-usage", isDirectory: true)
}
nonisolated static func tokenCostNoDataMessage(for provider: UsageProvider) -> String {
ProviderDescriptorRegistry.descriptor(for: provider).tokenCost.noDataMessage()
}
}