ba4dce1f769798cc46e7bc323753c6e11cdf48ad
estimateCost ignored the model name and billed every Gemini call at hardcoded flash-lite rates ($0.10 / $0.40 per 1M), under-counting Pro calls by ~12-25x. Switch to priceFor(model) and prefer resp.ModelVersion so aliases like gemini-pro-latest resolve to their concrete family. Capture ThoughtsTokenCount as a separate ThinkingTokens column on ai_usage (migration 000030) and bill it at the output rate. Add a global thinking on/off toggle that mirrors the grounding pattern: provider holds an in-memory cache (read at startup from settings.Store), handler keeps it in sync, Chat() applies ThinkingConfig.ThinkingBudget=0 only when disabled. Default true preserves SDK behavior. Grounding+ thinking get/set helpers folded into shared getBool/setBool to keep goconst happy. Web admin settings: new "Modell-Reasoning" toggle card; usage panel sums include thinking tokens. Types are optional with `?? 0` defaults so a brief web-before-backend rollout window cannot render NaN.
Description
No description provided
Languages
Go
60.3%
Svelte
20.3%
Dart
11.1%
TypeScript
5%
PLpgSQL
1.1%
Other
2.1%