feat: moving writefull endpoint configs to settings and splitting the… (#32065)

* feat: moving writefull endpoint configs to settings and splitting them by quota tier

* feat: updating getAllowance to account for WF premium

GitOrigin-RevId: a4f8b50065206f4e841e2488a8bc37a4a3e44574
This commit is contained in:
Jimmy Domagala-Tang
2026-03-25 21:03:03 +09:00
committed by Copybot
parent 1c9a0273e6
commit 942d0e7081

View File

@@ -4,6 +4,7 @@ import UserGetter from '../../Features/User/UserGetter.mjs'
import FeatureUsageRateLimiter from './FeatureUsageRateLimiter.mjs'
import Settings from '@overleaf/settings'
import SplitTestHandler from '../../Features/SplitTests/SplitTestHandler.mjs'
import FeaturesHelper from '../../Features/Subscription/FeaturesHelper.mjs'
class AiFeatureUsageRateLimiter extends FeatureUsageRateLimiter {
constructor() {
@@ -27,9 +28,13 @@ class AiFeatureUsageRateLimiter extends FeatureUsageRateLimiter {
)
if (inQuotaSplitTest) {
const quotaTier = user?.writefull?.isPremium
const wfQuota = user.writefull?.isPremium
? Settings.writefull.quotaTierGranted
: user.features.aiUsageQuota
: Settings.aiFeatures.freeTrialQuota
const mergedFeatures = FeaturesHelper.mergeFeatures(user.features, {
aiUsageQuota: wfQuota,
})
const quotaTier = mergedFeatures.aiUsageQuota
return _quotaTierToAllowance(quotaTier)
} else {
const DEFAULT_ALLOWANCE = 1