import type { AIChatModelCard } from '../types/aiModel';

const ai302ChatModels: AIChatModelCard[] = [
  {
    contextWindowTokens: 32_000,
    displayName: 'deepseek-chat',
    enabled: true,
    family: 'deepseek',
    id: 'deepseek-chat',
    type: 'chat',
  },
  {
    contextWindowTokens: 128_000,
    displayName: 'chatgpt-4o-latest',
    enabled: true,
    family: 'gpt',
    generation: 'gpt-4o',
    id: 'chatgpt-4o-latest',
    knowledgeCutoff: '2023-10',
    type: 'chat',
  },
  {
    contextWindowTokens: 128_000,
    displayName: 'llama3.3-70b',
    enabled: true,
    family: 'llama',
    generation: 'llama-3.3',
    id: 'llama3.3-70b',
    knowledgeCutoff: '2023-12',
    type: 'chat',
  },
  {
    contextWindowTokens: 64_000,
    displayName: 'deepseek-reasoner',
    enabled: true,
    family: 'deepseek',
    id: 'deepseek-reasoner',
    type: 'chat',
  },
  {
    contextWindowTokens: 1_000_000,
    displayName: 'gemini-2.0-flash',
    enabled: true,
    family: 'gemini',
    generation: 'gemini-2.0',
    id: 'gemini-2.0-flash',
    knowledgeCutoff: '2024-08',
    type: 'chat',
  },
  {
    contextWindowTokens: 200_000,
    displayName: 'claude-3-7-sonnet-20250219',
    enabled: true,
    family: 'claude-sonnet',
    generation: 'claude-3.7',
    id: 'claude-3-7-sonnet-20250219',
    knowledgeCutoff: '2024-10',
    type: 'chat',
  },
  {
    contextWindowTokens: 200_000,
    displayName: 'claude-3-7-sonnet-latest',
    enabled: true,
    family: 'claude-sonnet',
    generation: 'claude-3.7',
    id: 'claude-3-7-sonnet-latest',
    knowledgeCutoff: '2024-10',
    type: 'chat',
  },
  {
    contextWindowTokens: 131_072,
    displayName: 'grok-3-beta',
    enabled: true,
    family: 'grok',
    generation: 'grok-3',
    id: 'grok-3-beta',
    knowledgeCutoff: '2024-11',
    type: 'chat',
  },
  {
    contextWindowTokens: 131_072,
    displayName: 'grok-3-mini-beta',
    enabled: true,
    family: 'grok',
    generation: 'grok-3',
    id: 'grok-3-mini-beta',
    knowledgeCutoff: '2024-11',
    type: 'chat',
  },
  {
    contextWindowTokens: 1_000_000,
    displayName: 'gpt-4.1',
    enabled: true,
    family: 'gpt',
    generation: 'gpt-4.1',
    id: 'gpt-4.1',
    knowledgeCutoff: '2024-06',
    type: 'chat',
  },
  {
    contextWindowTokens: 200_000,
    displayName: 'o3',
    enabled: true,
    family: 'o-series',
    generation: 'o3',
    id: 'o3',
    knowledgeCutoff: '2024-06',
    type: 'chat',
  },
  {
    contextWindowTokens: 200_000,
    displayName: 'o4-mini',
    enabled: true,
    family: 'o-series',
    generation: 'o4',
    id: 'o4-mini',
    knowledgeCutoff: '2024-06',
    type: 'chat',
  },
  {
    contextWindowTokens: 128_000,
    displayName: 'qwen3-235b-a22b',
    enabled: true,
    family: 'qwen',
    generation: 'qwen3',
    id: 'qwen3-235b-a22b',
    type: 'chat',
  },
  {
    contextWindowTokens: 128_000,
    displayName: 'qwen3-32b',
    enabled: true,
    family: 'qwen',
    generation: 'qwen3',
    id: 'qwen3-32b',
    type: 'chat',
  },
  {
    contextWindowTokens: 1_000_000,
    displayName: 'gemini-2.5-pro-preview-05-06',
    enabled: true,
    family: 'gemini',
    generation: 'gemini-2.5',
    id: 'gemini-2.5-pro-preview-05-06',
    knowledgeCutoff: '2025-01',
    type: 'chat',
  },
  {
    contextWindowTokens: 128_000,
    displayName: 'llama-4-maverick',
    enabled: true,
    family: 'llama',
    generation: 'llama-4',
    id: 'llama-4-maverick',
    knowledgeCutoff: '2024-08',
    type: 'chat',
  },
  {
    contextWindowTokens: 1_000_000,
    displayName: 'gemini-2.5-flash',
    enabled: true,
    family: 'gemini',
    generation: 'gemini-2.5',
    id: 'gemini-2.5-flash',
    knowledgeCutoff: '2025-01',
    type: 'chat',
  },
  {
    contextWindowTokens: 200_000,
    displayName: 'claude-sonnet-4-20250514',
    enabled: true,
    family: 'claude-sonnet',
    generation: 'claude-4',
    id: 'claude-sonnet-4-20250514',
    knowledgeCutoff: '2025-01',
    type: 'chat',
  },
  {
    contextWindowTokens: 200_000,
    displayName: 'claude-opus-4-20250514',
    enabled: true,
    family: 'claude-opus',
    generation: 'claude-4',
    id: 'claude-opus-4-20250514',
    knowledgeCutoff: '2025-01',
    type: 'chat',
  },
  {
    contextWindowTokens: 1_000_000,
    displayName: 'gemini-2.5-pro',
    enabled: true,
    family: 'gemini',
    generation: 'gemini-2.5',
    id: 'gemini-2.5-pro',
    knowledgeCutoff: '2025-01',
    type: 'chat',
  },
];

export const allModels = [...ai302ChatModels];

export default allModels;
