diff --git a/crates/collab/src/api/billing.rs b/crates/collab/src/api/billing.rs index 0a0bebbc56317e0f08cf49ca1a93c403f6acd78a..d2e43714a811e7466b45f62a17fae253631eddea 100644 --- a/crates/collab/src/api/billing.rs +++ b/crates/collab/src/api/billing.rs @@ -29,7 +29,7 @@ use crate::db::{ UpdateBillingSubscriptionParams, }; use crate::llm::db::LlmDatabase; -use crate::llm::MONTHLY_SPENDING_LIMIT; +use crate::llm::FREE_TIER_MONTHLY_SPENDING_LIMIT; use crate::rpc::ResultExt as _; use crate::{AppState, Error, Result}; @@ -703,7 +703,8 @@ async fn update_stripe_subscription( let subscription_id = SubscriptionId::from_str(&subscription.stripe_subscription_id) .context("failed to parse subscription ID")?; - let monthly_spending_over_free_tier = monthly_spending.saturating_sub(MONTHLY_SPENDING_LIMIT); + let monthly_spending_over_free_tier = + monthly_spending.saturating_sub(FREE_TIER_MONTHLY_SPENDING_LIMIT); let new_quantity = (monthly_spending_over_free_tier.0 as f32 / 100.).ceil(); Subscription::update( diff --git a/crates/collab/src/llm.rs b/crates/collab/src/llm.rs index c475de35874c8d0156ff6eb44511d76b14a16cf3..c733beb596d9126f556e5cc5e9b46e49a5aef32b 100644 --- a/crates/collab/src/llm.rs +++ b/crates/collab/src/llm.rs @@ -438,8 +438,9 @@ fn normalize_model_name(known_models: Vec, name: String) -> String { } } -/// The maximum monthly spending an individual user can reach before they have to pay. -pub const MONTHLY_SPENDING_LIMIT: Cents = Cents::from_dollars(5); +/// The maximum monthly spending an individual user can reach on the free tier +/// before they have to pay. +pub const FREE_TIER_MONTHLY_SPENDING_LIMIT: Cents = Cents::from_dollars(5); /// The maximum lifetime spending an individual user can reach before being cut off. const LIFETIME_SPENDING_LIMIT: Cents = Cents::from_dollars(1_000); @@ -462,7 +463,7 @@ async fn check_usage_limit( .await?; if state.config.is_llm_billing_enabled() { - if usage.spending_this_month >= MONTHLY_SPENDING_LIMIT { + if usage.spending_this_month >= FREE_TIER_MONTHLY_SPENDING_LIMIT { if !claims.has_llm_subscription.unwrap_or(false) { return Err(Error::http( StatusCode::PAYMENT_REQUIRED,