import type { ModelPrice } from "../stats/pricing.ts";

const MODEL_PRICES_BY_KEY: Record<string, ModelPrice> = {
  "anthropic:claude-opus-4-7":           { model: "claude-opus-4-7",           inputPerKTok: 0.015,  outputPerKTok: 0.075,  cachedInputPerKTok: 0.0015,   cacheCreatePerKTok: 0.01875,  bytesPerToken: 3.5 },
  "anthropic:claude-sonnet-4-6":         { model: "claude-sonnet-4-6",         inputPerKTok: 0.003,  outputPerKTok: 0.015,  cachedInputPerKTok: 0.0003,   cacheCreatePerKTok: 0.00375,  bytesPerToken: 3.5 },
  "anthropic:claude-haiku-4-5-20251001": { model: "claude-haiku-4-5-20251001", inputPerKTok: 0.0008, outputPerKTok: 0.004,  cachedInputPerKTok: 0.00008,  cacheCreatePerKTok: 0.001,    bytesPerToken: 3.5 },
};

export function priceFor(provider: string, model: string): ModelPrice | null {
  return MODEL_PRICES_BY_KEY[`${provider}:${model}`] ?? null;
}

export const MODEL_PRICES: Record<string, ModelPrice> = Object.fromEntries(
  Object.entries(MODEL_PRICES_BY_KEY).map(([k, v]) => [k.split(":")[1]!, v]),
);
