// Canonical Anthropic model IDs — single source of truth.
// Templates, docs, and skills reference these values as strings;
// all TypeScript consumers import from here.

export const OPUS_MODEL = "claude-opus-4-7";
export const SONNET_MODEL = "claude-sonnet-4-6";
export const HAIKU_MODEL = "claude-haiku-4-5";

export const MODEL_CONTEXT_WINDOW: Record<string, number> = {
  [OPUS_MODEL]: 200_000,
  [SONNET_MODEL]: 200_000,
  [HAIKU_MODEL]: 200_000,
};

/** Look up context window size; defaults to 200k for unknown models. */
export function contextWindow(model: string): number {
  return MODEL_CONTEXT_WINDOW[model] ?? 200_000;
}
