foundation_ai 0.0.1

AI foundation crate for the eweplatform
// Auto-generated by `cargo run --bin ewe_platform gen_model_descriptors`.
// Do not edit manually.

use crate::types::base_types::{
    MessageType, ModelAPI, ModelProviderDescriptor, ModelProviders, ModelUsageCosting,
};

/// Model descriptors for the `openai-codex` provider.
pub static MODELS: &[ModelProviderDescriptor] = &[
    ModelProviderDescriptor {
        id: "gpt-5.1",
        name: "GPT-5.1",
        reasoning: true,
        api: ModelAPI::OpenaiCodexResponses,
        provider: ModelProviders::OPENAICODEX,
        base_url: Some("https://chatgpt.com/backend-api"),
        inputs: MessageType::TextAndImages,
        cost: ModelUsageCosting {
            input: 1.25,
            output: 10.0,
            cache_read: 0.125,
            cache_write: 0.0,
        },
        context_window: 272_000,
        max_tokens: 128_000,
    },
    ModelProviderDescriptor {
        id: "gpt-5.1-codex-max",
        name: "GPT-5.1 Codex Max",
        reasoning: true,
        api: ModelAPI::OpenaiCodexResponses,
        provider: ModelProviders::OPENAICODEX,
        base_url: Some("https://chatgpt.com/backend-api"),
        inputs: MessageType::TextAndImages,
        cost: ModelUsageCosting {
            input: 1.25,
            output: 10.0,
            cache_read: 0.125,
            cache_write: 0.0,
        },
        context_window: 272_000,
        max_tokens: 128_000,
    },
    ModelProviderDescriptor {
        id: "gpt-5.1-codex-mini",
        name: "GPT-5.1 Codex Mini",
        reasoning: true,
        api: ModelAPI::OpenaiCodexResponses,
        provider: ModelProviders::OPENAICODEX,
        base_url: Some("https://chatgpt.com/backend-api"),
        inputs: MessageType::TextAndImages,
        cost: ModelUsageCosting {
            input: 0.25,
            output: 2.0,
            cache_read: 0.025,
            cache_write: 0.0,
        },
        context_window: 272_000,
        max_tokens: 128_000,
    },
    ModelProviderDescriptor {
        id: "gpt-5.2",
        name: "GPT-5.2",
        reasoning: true,
        api: ModelAPI::OpenaiCodexResponses,
        provider: ModelProviders::OPENAICODEX,
        base_url: Some("https://chatgpt.com/backend-api"),
        inputs: MessageType::TextAndImages,
        cost: ModelUsageCosting {
            input: 1.75,
            output: 14.0,
            cache_read: 0.175,
            cache_write: 0.0,
        },
        context_window: 272_000,
        max_tokens: 128_000,
    },
    ModelProviderDescriptor {
        id: "gpt-5.2-codex",
        name: "GPT-5.2 Codex",
        reasoning: true,
        api: ModelAPI::OpenaiCodexResponses,
        provider: ModelProviders::OPENAICODEX,
        base_url: Some("https://chatgpt.com/backend-api"),
        inputs: MessageType::TextAndImages,
        cost: ModelUsageCosting {
            input: 1.75,
            output: 14.0,
            cache_read: 0.175,
            cache_write: 0.0,
        },
        context_window: 272_000,
        max_tokens: 128_000,
    },
    ModelProviderDescriptor {
        id: "gpt-5.3-codex",
        name: "GPT-5.3 Codex",
        reasoning: true,
        api: ModelAPI::OpenaiCodexResponses,
        provider: ModelProviders::OPENAICODEX,
        base_url: Some("https://chatgpt.com/backend-api"),
        inputs: MessageType::TextAndImages,
        cost: ModelUsageCosting {
            input: 1.75,
            output: 14.0,
            cache_read: 0.175,
            cache_write: 0.0,
        },
        context_window: 272_000,
        max_tokens: 128_000,
    },
    ModelProviderDescriptor {
        id: "gpt-5.3-codex-spark",
        name: "GPT-5.3 Codex Spark",
        reasoning: true,
        api: ModelAPI::OpenaiCodexResponses,
        provider: ModelProviders::OPENAICODEX,
        base_url: Some("https://chatgpt.com/backend-api"),
        inputs: MessageType::Text,
        cost: ModelUsageCosting {
            input: 0.0,
            output: 0.0,
            cache_read: 0.0,
            cache_write: 0.0,
        },
        context_window: 128_000,
        max_tokens: 128_000,
    },
];