package pricing

// ModelCost defines pricing for a group of models in USD per million tokens.
type ModelCost struct {
	Models         []string `yaml:"models" json:"models"`
	InputPrice     float64  `yaml:"input_price" json:"input_price"`
	OutputPrice    float64  `yaml:"output_price" json:"output_price"`
	CacheReadPrice float64  `yaml:"cache_read_price" json:"cache_read_price"`
}

// DefaultCosts returns the default model pricing table used by AgentTeam's org LLM stats/quota logic.
func DefaultCosts() []ModelCost {
	return []ModelCost{
		{
			Models:         []string{"*/gpt-5.4"},
			InputPrice:     2.5,
			OutputPrice:    15,
			CacheReadPrice: 0.25,
		},
		{
			Models:         []string{"*/claude-sonnet-4.6"},
			InputPrice:     3,
			OutputPrice:    15,
			CacheReadPrice: 0.3,
		},
		{
			Models:         []string{"*/claude-haiku-4.5"},
			InputPrice:     1,
			OutputPrice:    5,
			CacheReadPrice: 0.1,
		},
	}
}
