use crate::run::pricing::{ModelPricing, ProviderPricing};

pub const ZAI: ProviderPricing = ProviderPricing {
	name: "zai",
	models: ZAI_MODELS,
};

const ZAI_MODELS: &[ModelPricing] = &[
	ModelPricing {
		name: "glm-5",
		input_cached: Some(0.2),
		input_normal: 1.0,
		output_normal: 3.2,
		output_reasoning: None,
	},
	ModelPricing {
		name: "glm-5-code",
		input_cached: Some(0.3),
		input_normal: 1.2,
		output_normal: 5.0,
		output_reasoning: None,
	},
	ModelPricing {
		name: "glm-4.7",
		input_cached: Some(0.11),
		input_normal: 0.6,
		output_normal: 2.2,
		output_reasoning: None,
	},
	ModelPricing {
		name: "glm-4.7-flashx",
		input_cached: Some(0.01),
		input_normal: 0.07,
		output_normal: 0.4,
		output_reasoning: None,
	},
	ModelPricing {
		name: "glm-4.6",
		input_cached: Some(0.11),
		input_normal: 0.6,
		output_normal: 2.2,
		output_reasoning: None,
	},
	ModelPricing {
		name: "glm-4.5",
		input_cached: Some(0.11),
		input_normal: 0.6,
		output_normal: 2.2,
		output_reasoning: None,
	},
	ModelPricing {
		name: "glm-4.5-x",
		input_cached: Some(0.45),
		input_normal: 2.2,
		output_normal: 8.9,
		output_reasoning: None,
	},
	ModelPricing {
		name: "glm-4.5-air",
		input_cached: Some(0.03),
		input_normal: 0.2,
		output_normal: 1.1,
		output_reasoning: None,
	},
	ModelPricing {
		name: "glm-4.5-airx",
		input_cached: Some(0.22),
		input_normal: 1.1,
		output_normal: 4.5,
		output_reasoning: None,
	},
	ModelPricing {
		name: "glm-4-32b-0414-128k",
		input_cached: None,
		input_normal: 0.1,
		output_normal: 0.1,
		output_reasoning: None,
	},
	ModelPricing {
		name: "glm-4.7-flash",
		input_cached: Some(0.0),
		input_normal: 0.0,
		output_normal: 0.0,
		output_reasoning: None,
	},
	ModelPricing {
		name: "glm-4.5-flash",
		input_cached: Some(0.0),
		input_normal: 0.0,
		output_normal: 0.0,
		output_reasoning: None,
	},
	ModelPricing {
		name: "glm-4.6v",
		input_cached: Some(0.05),
		input_normal: 0.3,
		output_normal: 0.9,
		output_reasoning: None,
	},
	ModelPricing {
		name: "glm-ocr",
		input_cached: None,
		input_normal: 0.03,
		output_normal: 0.03,
		output_reasoning: None,
	},
	ModelPricing {
		name: "glm-4.6v-flashx",
		input_cached: Some(0.004),
		input_normal: 0.04,
		output_normal: 0.4,
		output_reasoning: None,
	},
	ModelPricing {
		name: "glm-4.5v",
		input_cached: Some(0.11),
		input_normal: 0.6,
		output_normal: 1.8,
		output_reasoning: None,
	},
	ModelPricing {
		name: "glm-4.6v-flash",
		input_cached: Some(0.0),
		input_normal: 0.0,
		output_normal: 0.0,
		output_reasoning: None,
	},
	ModelPricing {
		name: "glm-asr-2512",
		input_cached: None,
		input_normal: 0.03,
		output_normal: 0.03,
		output_reasoning: None,
	},
	ModelPricing {
		name: "glm slide/poster agent(beta)",
		input_cached: None,
		input_normal: 0.7,
		output_normal: 0.7,
		output_reasoning: None,
	},
	ModelPricing {
		name: "general-purpose translation",
		input_cached: None,
		input_normal: 3.0,
		output_normal: 3.0,
		output_reasoning: None,
	},
];
