Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -463,7 +463,7 @@ final class AntigravityProvider: ProviderProtocol {
index += 1

result |= UInt64(byte & 0x7F) << shift
if (byte & 0x80) == 0 {
if byte & 0x80 == 0 {
return result
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -101,9 +101,10 @@ final class BraveSearchProvider: ProviderProtocol {
}

func fetch() async throws -> ProviderResult {
guard let apiKey = tokenManager.getBraveSearchAPIKey() else {
guard let apiKeyInfo = tokenManager.getBraveSearchAPIKeyWithSource() else {
throw ProviderError.authenticationFailed("Brave Search API key not available")
}
let apiKey = apiKeyInfo.key

let mode = currentRefreshMode()
var state = stateQueue.sync { loadState() }
Expand Down Expand Up @@ -142,15 +143,14 @@ final class BraveSearchProvider: ProviderProtocol {
let usage = ProviderUsage.quotaBased(remaining: remaining, entitlement: limit, overagePermitted: false)
let mcpUsagePercent = normalizedBraveQuotaUsagePercent(used: used, limit: limit)
let resetText = formatResetText(seconds: state.lastResetSeconds)
let authSource = tokenManager.lastFoundOpenCodeConfigPath?.path ?? "~/.config/opencode/opencode.json"
let sourceSummary = mode == .eventOnly ? "Estimated (event-based)" : "Mode: \(mode.title)"

let details = DetailedUsage(
monthlyUsage: Double(used),
limit: Double(limit),
limitRemaining: Double(remaining),
resetPeriod: resetText,
authSource: authSource,
authSource: apiKeyInfo.source,
authUsageSummary: sourceSummary,
mcpUsagePercent: mcpUsagePercent
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,10 +48,11 @@ final class TavilySearchProvider: ProviderProtocol {
}

func fetch() async throws -> ProviderResult {
guard let apiKey = tokenManager.getTavilyAPIKey() else {
guard let apiKeyInfo = tokenManager.getTavilyAPIKeyWithSource() else {
tavilyLogger.error("Tavily API key not found")
throw ProviderError.authenticationFailed("Tavily API key not available")
}
let apiKey = apiKeyInfo.key

guard let url = URL(string: "https://api.tavily.com/usage") else {
throw ProviderError.networkError("Invalid Tavily usage endpoint")
Expand Down Expand Up @@ -94,14 +95,13 @@ final class TavilySearchProvider: ProviderProtocol {
let usage = ProviderUsage.quotaBased(remaining: remaining, entitlement: resolvedLimit, overagePermitted: false)
let mcpUsagePercent = normalizedTavilyQuotaUsagePercent(used: resolvedUsed, limit: resolvedLimit)

let authSource = tokenManager.lastFoundOpenCodeConfigPath?.path ?? "~/.config/opencode/opencode.json"
let resetText = formatEstimatedMonthlyResetText()
let details = DetailedUsage(
monthlyUsage: Double(resolvedUsed),
limit: Double(resolvedLimit),
limitRemaining: Double(remaining),
resetPeriod: resetText,
authSource: authSource,
authSource: apiKeyInfo.source,
authUsageSummary: decoded.account?.currentPlan ?? "Auto refresh",
mcpUsagePercent: mcpUsagePercent
)
Expand Down
Loading