mirror of
https://github.com/Wei-Shaw/sub2api.git
synced 2026-10-14 20:12:39 +08:00
Composite public aliases (e.g. all/claude) reach the Anthropic/Gemini billing core via OriginalModel/ChannelMappedModel source overrides. Unknown aliases resolved to no pricing and silently recorded $0 cost, while family-word aliases were mispriced by the fallback family match (Opus traffic billed at the Sonnet fallback rate). The OpenAI path already guards this via usageBillingModelCandidates; the shared recordUsageCore had neither the guard nor a fallback. - composite groups: unless the admin explicitly configured channel pricing for the alias (OpenRouter-style custom pricing), bill by the concrete forwarded model - general safety net: when the selected billing model has no resolvable pricing at all, fall back to the concrete forwarded model instead of silently recording $0 - grok media usage records now attribute OriginalModel to the client requested public alias, consistent with every other endpoint (billing unaffected: empty BillingModelSource never triggers source overrides) Priced traffic and non-composite groups are unaffected.