aicost 0.2.4

Compute LLM usage costs based on the genai::Usage type.
Documentation
use crate::{ModelPricing, ProviderPricing};

pub const ANTHROPIC: ProviderPricing = ProviderPricing {
	name: "anthropic",
	models: ANTHROPIC_MODELS,
};

pub const ANTHROPIC_MODELS: &[ModelPricing] = &[
	ModelPricing {
		name: "claude-fable-5",
		input_cached: Some(1.0),
		input_normal: 10.0,
		output_normal: 50.0,
		output_reasoning: None,
	},
	ModelPricing {
		name: "claude-mythos-5",
		input_cached: Some(1.0),
		input_normal: 10.0,
		output_normal: 50.0,
		output_reasoning: None,
	},
	ModelPricing {
		name: "claude-opus-5",
		input_cached: Some(0.5),
		input_normal: 5.0,
		output_normal: 25.0,
		output_reasoning: None,
	},
	ModelPricing {
		name: "claude-opus-4-8",
		input_cached: Some(0.5),
		input_normal: 5.0,
		output_normal: 25.0,
		output_reasoning: None,
	},
	ModelPricing {
		name: "claude-opus-4-7",
		input_cached: Some(0.5),
		input_normal: 5.0,
		output_normal: 25.0,
		output_reasoning: None,
	},
	ModelPricing {
		name: "claude-opus-4-6",
		input_cached: Some(0.5),
		input_normal: 5.0,
		output_normal: 25.0,
		output_reasoning: None,
	},
	ModelPricing {
		name: "claude-opus-4-5",
		input_cached: Some(0.5),
		input_normal: 5.0,
		output_normal: 25.0,
		output_reasoning: None,
	},
	ModelPricing {
		name: "claude-sonnet-5",
		input_cached: Some(0.2),
		input_normal: 2.0,
		output_normal: 10.0,
		output_reasoning: None,
	},
	ModelPricing {
		name: "claude-sonnet-4-6",
		input_cached: Some(0.3),
		input_normal: 3.0,
		output_normal: 15.0,
		output_reasoning: None,
	},
	ModelPricing {
		name: "claude-sonnet-4-5",
		input_cached: Some(0.3),
		input_normal: 3.0,
		output_normal: 15.0,
		output_reasoning: None,
	},
	ModelPricing {
		name: "claude-haiku-4-5",
		input_cached: Some(0.1),
		input_normal: 1.0,
		output_normal: 5.0,
		output_reasoning: None,
	},
];