• shaw's avatar
    fix(billing): prevent channel_mapped override from reverting BillingModel when channel did not map · f585a15e
    shaw authored
    When a channel has no model mapping for the requested model, ChannelMappedModel
    equals OriginalModel (the user's arbitrary input). Combined with the default
    BillingModelSource="channel_mapped", this incorrectly overrides the BillingModel
    set by the OpenAI format conversion layer (e.g., gpt-5.4 from DefaultMappedModel)
    back to the unmapped original model (e.g., glm) which has no pricing — resulting
    in zero-cost billing.
    
    Add guard condition so the channel_mapped override only fires when the channel
    actually changed the model (ChannelMappedModel != OriginalModel).
    f585a15e
openai_gateway_service.go 156 KB