import { IChatModel } from '../types';

export const MISTRAL_MODELS: IChatModel[] = [
    {
        id: 'mistral-medium-2508',
        name: 'mistral-medium-2508',
        aliases: [
            'mistral-medium-latest',
            'mistral-medium',
        ],
        max_tokens: 131072,
        description: 'Update on Mistral Medium 3 with improved capabilities.',
        provider: 'mistral',
        costs_currency: 'usd-cents',
        input_cost_key: 'prompt_tokens',
        output_cost_key: 'completion_tokens',
        costs: {
            tokens: 1000000,
            prompt_tokens: 40,
            completion_tokens: 200,
        },
    },
    {
        id: 'open-mistral-7b',
        name: 'open-mistral-7b',
        aliases: [
            'mistral-tiny',
            'mistral-tiny-2312',
        ],
        max_tokens: 32768,
        description: 'Our first dense model released September 2023.',
        provider: 'mistral',
        costs_currency: 'usd-cents',
        input_cost_key: 'prompt_tokens',
        output_cost_key: 'completion_tokens',
        costs: {
            tokens: 1000000,
            prompt_tokens: 25,
            completion_tokens: 25,
        },
    },
    {
        id: 'open-mistral-nemo',
        name: 'open-mistral-nemo',
        aliases: [
            'open-mistral-nemo-2407',
            'mistral-tiny-2407',
            'mistral-tiny-latest',
        ],
        max_tokens: 131072,
        description: 'Our best multilingual open source model released July 2024.',
        provider: 'mistral',
        costs_currency: 'usd-cents',
        input_cost_key: 'prompt_tokens',
        output_cost_key: 'completion_tokens',
        costs: {
            tokens: 1000000,
            prompt_tokens: 15,
            completion_tokens: 15,
        },
    },
    {
        id: 'pixtral-large-2411',
        name: 'pixtral-large-2411',
        aliases: [
            'pixtral-large-latest',
            'mistral-large-pixtral-2411',
        ],
        max_tokens: 131072,
        description: 'Official pixtral-large-2411 Mistral AI model',
        provider: 'mistral',
        costs_currency: 'usd-cents',
        input_cost_key: 'prompt_tokens',
        output_cost_key: 'completion_tokens',
        costs: {
            tokens: 1000000,
            prompt_tokens: 200,
            completion_tokens: 600,
        },
    },
    {
        id: 'codestral-2508',
        name: 'codestral-2508',
        aliases: [
            'codestral-latest',
        ],
        max_tokens: 256000,
        description: 'Our cutting-edge language model for coding released August 2025.',
        provider: 'mistral',
        costs_currency: 'usd-cents',
        input_cost_key: 'prompt_tokens',
        output_cost_key: 'completion_tokens',
        costs: {
            tokens: 1000000,
            prompt_tokens: 30,
            completion_tokens: 90,
        },
    },
    {
        id: 'devstral-small-2507',
        name: 'devstral-small-2507',
        aliases: [
            'devstral-small-latest',
        ],
        max_tokens: 131072,
        description: 'Our small open-source code-agentic model.',
        provider: 'mistral',
        costs_currency: 'usd-cents',
        input_cost_key: 'prompt_tokens',
        output_cost_key: 'completion_tokens',
        costs: {
            tokens: 1000000,
            prompt_tokens: 10,
            completion_tokens: 30,
            cached_tokens: 0,
        },
    },
    {
        id: 'devstral-medium-2507',
        name: 'devstral-medium-2507',
        aliases: [
            'devstral-medium-latest',
        ],
        max_tokens: 131072,
        description: 'Our medium code-agentic model.',
        provider: 'mistral',
        costs_currency: 'usd-cents',
        input_cost_key: 'prompt_tokens',
        output_cost_key: 'completion_tokens',
        costs: {
            tokens: 1000000,
            prompt_tokens: 40,
            completion_tokens: 200,
            cached_tokens: 0,
        },
    },
    {
        id: 'mistral-small-2506',
        name: 'mistral-small-2506',
        aliases: [
            'mistral-small-latest',
        ],
        max_tokens: 131072,
        description: 'Our latest enterprise-grade small model with the latest version released June 2025.',
        provider: 'mistral',
        costs_currency: 'usd-cents',
        input_cost_key: 'prompt_tokens',
        output_cost_key: 'completion_tokens',
        costs: {
            tokens: 1000000,
            prompt_tokens: 10,
            completion_tokens: 30,
        },
    },
    {
        id: 'magistral-medium-2509',
        name: 'magistral-medium-2509',
        aliases: [
            'magistral-medium-latest',
        ],
        max_tokens: 131072,
        description: 'Our frontier-class reasoning model release candidate September 2025.',
        provider: 'mistral',
        costs_currency: 'usd-cents',
        input_cost_key: 'prompt_tokens',
        output_cost_key: 'completion_tokens',
        costs: {
            tokens: 1000000,
            prompt_tokens: 200,
            completion_tokens: 500,
        },
    },
    {
        id: 'magistral-small-2509',
        name: 'magistral-small-2509',
        aliases: [
            'magistral-small-latest',
        ],
        max_tokens: 131072,
        description: 'Our efficient reasoning model released September 2025.',
        provider: 'mistral',
        costs_currency: 'usd-cents',
        input_cost_key: 'prompt_tokens',
        output_cost_key: 'completion_tokens',
        costs: {
            tokens: 1000000,
            prompt_tokens: 50,
            completion_tokens: 150,
        },
    },
    {
        id: 'voxtral-mini-2507',
        name: 'voxtral-mini-2507',
        aliases: [
            'voxtral-mini-latest',
        ],
        max_tokens: 32768,
        description: 'A mini audio understanding model released in July 2025',
        provider: 'mistral',
        costs_currency: 'usd-cents',
        input_cost_key: 'prompt_tokens',
        output_cost_key: 'completion_tokens',
        costs: {
            tokens: 1000000,
            prompt_tokens: 4,
            completion_tokens: 4,
        },
    },
    {
        id: 'voxtral-small-2507',
        name: 'voxtral-small-2507',
        aliases: [
            'voxtral-small-latest',
        ],
        max_tokens: 32768,
        description: 'A small audio understanding model released in July 2025',
        provider: 'mistral',
        costs_currency: 'usd-cents',
        input_cost_key: 'prompt_tokens',
        output_cost_key: 'completion_tokens',
        costs: {
            tokens: 1000000,
            prompt_tokens: 10,
            completion_tokens: 30,
        },
    },
    {
        id: 'mistral-large-latest',
        name: 'mistral-large-2512',
        aliases: [
            'mistral-large-2512',
        ],
        max_tokens: 262144,
        description: 'Official mistral-large-2512 Mistral AI model',
        provider: 'mistral',
        costs_currency: 'usd-cents',
        input_cost_key: 'prompt_tokens',
        output_cost_key: 'completion_tokens',
        costs: {
            tokens: 1000000,
            prompt_tokens: 50,
            completion_tokens: 150,
        },
    },
    {
        id: 'ministral-3b-2512',
        name: 'ministral-3b-2512',
        aliases: [
            'ministral-3b-latest',
        ],
        max_tokens: 131072,
        description: 'Ministral 3 (a.k.a. Tinystral) 3B Instruct.',
        provider: 'mistral',
        costs_currency: 'usd-cents',
        input_cost_key: 'prompt_tokens',
        output_cost_key: 'completion_tokens',
        costs: {
            tokens: 1000000,
            prompt_tokens: 10,
            completion_tokens: 10,
        },
    },
    {
        id: 'ministral-8b-2512',
        name: 'ministral-8b-2512',
        aliases: [
            'ministral-8b-latest',
        ],
        max_tokens: 262144,
        description: 'Ministral 3 (a.k.a. Tinystral) 8B Instruct.',
        provider: 'mistral',
        costs_currency: 'usd-cents',
        input_cost_key: 'prompt_tokens',
        output_cost_key: 'completion_tokens',
        costs: {
            tokens: 1000000,
            prompt_tokens: 15,
            completion_tokens: 15,
        },
    },
    {
        id: 'ministral-14b-2512',
        name: 'ministral-14b-2512',
        aliases: [
            'ministral-14b-latest',
        ],
        max_tokens: 262144,
        description: 'Ministral 3 (a.k.a. Tinystral) 14B Instruct.',
        provider: 'mistral',
        costs_currency: 'usd-cents',
        input_cost_key: 'prompt_tokens',
        output_cost_key: 'completion_tokens',
        costs: {
            tokens: 1000000,
            prompt_tokens: 20,
            completion_tokens: 20,
        },
    },
];