From 3fd77ae980c9e68eccd10f1c396f32c6e3965046 Mon Sep 17 00:00:00 2001 From: Frank Date: Sun, 16 Aug 2026 05:20:04 -0400 Subject: [PATCH] zen: peak pricing --- packages/console/app/src/routes/zen/util/handler.ts | 11 +++++++---- packages/console/core/src/model.ts | 1 + 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/packages/console/app/src/routes/zen/util/handler.ts b/packages/console/app/src/routes/zen/util/handler.ts index 951228c9e..bde104dd3 100644 --- a/packages/console/app/src/routes/zen/util/handler.ts +++ b/packages/console/app/src/routes/zen/util/handler.ts @@ -1032,11 +1032,14 @@ export async function handler( const { inputTokens, outputTokens, reasoningTokens, cacheReadTokens, cacheWrite5mTokens, cacheWrite1hTokens } = usageInfo + const hour = new Date().getUTCHours() const modelCost = - modelInfo.cost200K && - inputTokens + (cacheReadTokens ?? 0) + (cacheWrite5mTokens ?? 0) + (cacheWrite1hTokens ?? 0) > 200_000 - ? modelInfo.cost200K - : modelInfo.cost + modelInfo.costPeak && ((hour >= 1 && hour < 4) || (hour >= 6 && hour < 10)) + ? modelInfo.costPeak + : modelInfo.cost200K && + inputTokens + (cacheReadTokens ?? 0) + (cacheWrite5mTokens ?? 0) + (cacheWrite1hTokens ?? 0) > 200_000 + ? modelInfo.cost200K + : modelInfo.cost const inputCost = modelCost.input * inputTokens * 100 const outputCost = modelCost.output * outputTokens * 100 diff --git a/packages/console/core/src/model.ts b/packages/console/core/src/model.ts index f4ac40183..ffba49003 100644 --- a/packages/console/core/src/model.ts +++ b/packages/console/core/src/model.ts @@ -24,6 +24,7 @@ export namespace ZenData { cost: ModelCostSchema, costMultiplier: z.number().default(1), cost200K: ModelCostSchema.optional(), + costPeak: ModelCostSchema.optional(), allowAnonymous: z.boolean().optional(), byokProvider: z.enum(["openai", "anthropic", "google"]).optional(), stickyProvider: z.enum(["strict", "prefer"]).optional(),