package sync import ( "github.com/openmeterio/openmeter/openmeter/llmcost" ) // ModelIDNormalizer maps model identifiers to a canonical form. // Source-specific normalization should be done by each Fetcher before // returning prices; the normalizer only applies generic transforms. type ModelIDNormalizer interface { Normalize(modelID string, provider string) (canonicalProvider string, canonicalModelID string) } type defaultNormalizer struct{} func NewDefaultNormalizer() ModelIDNormalizer { return &defaultNormalizer{} } func (n *defaultNormalizer) Normalize(modelID string, provider string) (string, string) { return llmcost.NormalizeModelID(provider, modelID) }