• erio's avatar
    feat(channels): add custom account stats pricing rules · 7535e312
    erio authored
    Allow channels to configure independent model pricing for account
    statistics cost calculation, decoupled from user billing.
    
    Backend:
    - Migration 101: channels.apply_pricing_to_account_stats toggle,
      channel_account_stats_pricing_rules/model_pricing tables,
      usage_logs.account_stats_cost column
    - resolveAccountStatsCost: match rules by group/account, then channel
      pricing, fallback to original formula when unconfigured
    - Integrate into both GatewayService.recordUsageCore and
      OpenAIGatewayService.RecordUsage
    - Update 8 account stats SQL queries to use
      COALESCE(account_stats_cost, total_cost) * account_rate_multiplier
    - 23 unit tests for matching, pricing lookup, and cost calculation
    
    Frontend:
    - Channel edit dialog: toggle + custom rules UI with group/account
      multi-select and pricing entry cards
    - API types and i18n (zh/en)
    7535e312
en.ts 253 KB