use super::policy_constants::{OPENROUTER_BUDGET_ALLOWLIST, SUBSCRIPTION_PROVIDERS};
pub(super) fn is_subscription_provider(provider: &str) -> bool {
SUBSCRIPTION_PROVIDERS.contains(&provider)
}
pub(super) fn is_free_model_id(id: &str) -> bool {
let lower = id.to_ascii_lowercase();
lower.contains(":free") || lower.ends_with("-free")
}
pub(super) fn is_budget_allowlisted_model(provider: &str, model_id: &str) -> bool {
provider.eq_ignore_ascii_case("openrouter")
&& OPENROUTER_BUDGET_ALLOWLIST
.iter()
.any(|allowed| allowed.eq_ignore_ascii_case(model_id.trim()))
}