/**
 * Gets pricing for a model by name.
 * Pricing data for common models (as of 2024-2025)
 * Prices are per million tokens in USD
 */
export function getModelPricing(modelName) {
    if (!modelName) {
        return null;
    }
    // Normalize model name for comparison (remove provider prefix for OpenRouter models)
    const normalizedName = modelName.toLowerCase();
    const modelKey = normalizedName.includes("/")
        ? normalizedName.substring(normalizedName.lastIndexOf("/") + 1)
        : normalizedName;
    switch (modelKey) {
        // OpenAI models
        case "gpt-4o":
            return {
                inputCostPerMillionTokens: 2.5,
                outputCostPerMillionTokens: 10.0,
                cachedInputCostPerMillionTokens: 0.25,
                cacheWriteCostPerMillionTokens: 2.5,
            };
        case "gpt-4o-mini":
            return {
                inputCostPerMillionTokens: 0.15,
                outputCostPerMillionTokens: 0.6,
                cachedInputCostPerMillionTokens: 0.075,
                cacheWriteCostPerMillionTokens: 0.15,
            };
        case "gpt-4-turbo":
            return {
                inputCostPerMillionTokens: 10.0,
                outputCostPerMillionTokens: 30.0,
                cachedInputCostPerMillionTokens: 1.0,
                cacheWriteCostPerMillionTokens: 10.0,
            };
        case "gpt-4":
            return {
                inputCostPerMillionTokens: 30.0,
                outputCostPerMillionTokens: 60.0,
            };
        case "gpt-3.5-turbo":
            return {
                inputCostPerMillionTokens: 0.5,
                outputCostPerMillionTokens: 1.5,
            };
        case "o1-preview":
            return {
                inputCostPerMillionTokens: 15.0,
                outputCostPerMillionTokens: 60.0,
            };
        case "o1-mini":
            return {
                inputCostPerMillionTokens: 3.0,
                outputCostPerMillionTokens: 12.0,
            };
        // Anthropic Claude models (OpenRouter pricing approximation)
        case "claude-3-5-sonnet":
        case "claude-3.5-sonnet":
            return {
                inputCostPerMillionTokens: 3.0,
                outputCostPerMillionTokens: 15.0,
            };
        case "claude-3-opus":
            return {
                inputCostPerMillionTokens: 15.0,
                outputCostPerMillionTokens: 75.0,
            };
        case "claude-3-sonnet":
            return {
                inputCostPerMillionTokens: 3.0,
                outputCostPerMillionTokens: 15.0,
            };
        case "claude-3-haiku":
            return {
                inputCostPerMillionTokens: 0.25,
                outputCostPerMillionTokens: 1.25,
            };
        // Google Gemini
        case "gemini-pro-1.5":
            return {
                inputCostPerMillionTokens: 1.25,
                outputCostPerMillionTokens: 5.0,
            };
        // Meta Llama models
        case "llama-3.1-405b-instruct":
            return {
                inputCostPerMillionTokens: 2.7,
                outputCostPerMillionTokens: 2.7,
            };
        case "llama-3.1-70b-instruct":
            return {
                inputCostPerMillionTokens: 0.59,
                outputCostPerMillionTokens: 0.79,
            };
        case "llama-3.1-8b-instruct":
            return {
                inputCostPerMillionTokens: 0.05,
                outputCostPerMillionTokens: 0.05,
            };
        default:
            return null;
    }
}
//# sourceMappingURL=modelPricing.js.map