From a4ab1408ebee6f4fc1e7d5439fd41e1719c33265 Mon Sep 17 00:00:00 2001 From: Frank Date: Wed, 6 May 2026 15:32:08 -0400 Subject: [PATCH] zen: update rate limiter --- packages/console/app/src/routes/zen/util/handler.ts | 2 +- .../console/app/src/routes/zen/util/keyRateLimiter.ts | 9 +++++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/packages/console/app/src/routes/zen/util/handler.ts b/packages/console/app/src/routes/zen/util/handler.ts index 7f36246ee5..16f9174325 100644 --- a/packages/console/app/src/routes/zen/util/handler.ts +++ b/packages/console/app/src/routes/zen/util/handler.ts @@ -116,7 +116,7 @@ export async function handler( const trialProviders = await trialLimiter?.check() const rateLimiter = modelInfo.allowAnonymous ? createIpRateLimiter(modelInfo.id, modelInfo.rateLimit, ip, input.request) - : createKeyRateLimiter(modelInfo.id, zenApiKey, input.request) + : createKeyRateLimiter(modelInfo.id, modelInfo.rateLimit, zenApiKey, input.request) await rateLimiter?.check() const stickyTracker = createStickyTracker(modelInfo.stickyProvider, sessionId) const stickyProvider = await stickyTracker?.get() diff --git a/packages/console/app/src/routes/zen/util/keyRateLimiter.ts b/packages/console/app/src/routes/zen/util/keyRateLimiter.ts index 2472776caa..0bf495f7db 100644 --- a/packages/console/app/src/routes/zen/util/keyRateLimiter.ts +++ b/packages/console/app/src/routes/zen/util/keyRateLimiter.ts @@ -4,11 +4,16 @@ import { RateLimitError } from "./error" import { i18n } from "~/i18n" import { localeFromRequest } from "~/lib/language" -export function createRateLimiter(modelId: string, zenApiKey: string | undefined, request: Request) { +export function createRateLimiter( + modelId: string, + rateLimit: number | undefined, + zenApiKey: string | undefined, + request: Request, +) { if (!zenApiKey) return const dict = i18n(localeFromRequest(request)) - const LIMIT = 300 + const LIMIT = rateLimit ?? 300 const yyyyMMddHHmm = new Date(Date.now()) .toISOString() .replace(/[^0-9]/g, "")