( accessTier: FreebuffAccessTier, )
| 86 | } |
| 87 | |
| 88 | function quotaConfigForAccessTier( |
| 89 | accessTier: FreebuffAccessTier, |
| 90 | ): SessionQuotaConfig { |
| 91 | if (accessTier === 'limited') { |
| 92 | return { |
| 93 | models: [FREEBUFF_DEEPSEEK_V4_FLASH_MODEL_ID], |
| 94 | limit: FREEBUFF_LIMITED_SESSION_LIMIT, |
| 95 | period: FREEBUFF_LIMITED_SESSION_PERIOD, |
| 96 | resetTimeZone: FREEBUFF_LIMITED_SESSION_RESET_TIMEZONE, |
| 97 | windowHours: FREEBUFF_LIMITED_SESSION_WINDOW_HOURS, |
| 98 | accessTier, |
| 99 | } |
| 100 | } |
| 101 | return { |
| 102 | models: FREEBUFF_PREMIUM_MODEL_IDS, |
| 103 | limit: FREEBUFF_PREMIUM_SESSION_LIMIT, |
| 104 | period: FREEBUFF_PREMIUM_SESSION_PERIOD, |
| 105 | resetTimeZone: FREEBUFF_PREMIUM_SESSION_RESET_TIMEZONE, |
| 106 | windowHours: FREEBUFF_PREMIUM_SESSION_WINDOW_HOURS, |
| 107 | accessTier, |
| 108 | } |
| 109 | } |
| 110 | |
| 111 | async function fetchSessionQuotaSnapshot( |
| 112 | userId: string, |
no outgoing calls
no test coverage detected