@@ -1495,6 +1495,20 @@ extension UsageStore {
14951495 return
14961496 }
14971497
1498+ if Self . tokenCostRequiresProviderSnapshot ( provider) {
1499+ if let snapshot = self . tokenSnapshot ( fromProviderSnapshot: self . snapshots [ provider] , provider: provider) {
1500+ self . tokenSnapshots [ provider] = snapshot
1501+ self . tokenErrors [ provider] = nil
1502+ self . tokenFailureGates [ provider] ? . recordSuccess ( )
1503+ self . persistWidgetSnapshot ( reason: " token-usage " )
1504+ } else {
1505+ self . tokenSnapshots. removeValue ( forKey: provider)
1506+ self . tokenErrors [ provider] = nil
1507+ self . tokenFailureGates [ provider] ? . reset ( )
1508+ }
1509+ return
1510+ }
1511+
14981512 guard self . settings. costUsageEnabled else {
14991513 self . tokenSnapshots. removeValue ( forKey: provider)
15001514 self . tokenErrors [ provider] = nil
@@ -1531,21 +1545,6 @@ extension UsageStore {
15311545 self . tokenRefreshInFlight. insert ( provider)
15321546 defer { self . tokenRefreshInFlight. remove ( provider) }
15331547
1534- if let snapshot = self . tokenSnapshot ( fromProviderSnapshot: self . snapshots [ provider] , provider: provider) {
1535- self . tokenSnapshots [ provider] = snapshot
1536- self . tokenErrors [ provider] = nil
1537- self . tokenFailureGates [ provider] ? . recordSuccess ( )
1538- self . persistWidgetSnapshot ( reason: " token-usage " )
1539- return
1540- }
1541-
1542- if Self . tokenCostRequiresProviderSnapshot ( provider) {
1543- self . tokenSnapshots. removeValue ( forKey: provider)
1544- self . tokenErrors [ provider] = Self . tokenCostNoDataMessage ( for: provider)
1545- self . tokenFailureGates [ provider] ? . recordSuccess ( )
1546- return
1547- }
1548-
15491548 let startedAt = Date ( )
15501549 let providerText = provider. rawValue
15511550 self . tokenCostLogger
0 commit comments