From 56d818fc348f677c1f371f22a4354e815a4de866 Mon Sep 17 00:00:00 2001 From: Frank Date: Sun, 10 May 2026 13:35:59 -0400 Subject: [PATCH] zen: fix reasoning token for openai compatible endpoint --- .../workspace/[id]/usage/usage-section.tsx | 2 +- .../console/app/src/routes/zen/util/handler.ts | 17 ++--------------- .../app/src/routes/zen/util/provider/openai.ts | 2 +- 3 files changed, 4 insertions(+), 17 deletions(-) diff --git a/packages/console/app/src/routes/workspace/[id]/usage/usage-section.tsx b/packages/console/app/src/routes/workspace/[id]/usage/usage-section.tsx index 2cf8ef850a..2075052c7d 100644 --- a/packages/console/app/src/routes/workspace/[id]/usage/usage-section.tsx +++ b/packages/console/app/src/routes/workspace/[id]/usage/usage-section.tsx @@ -53,7 +53,7 @@ export function UsageSection() { } const calculateTotalOutputTokens = (u: Awaited>[0]) => { - return u.outputTokens + (u.reasoningTokens ?? 0) + return u.outputTokens } const goPrev = async () => { diff --git a/packages/console/app/src/routes/zen/util/handler.ts b/packages/console/app/src/routes/zen/util/handler.ts index 278a541610..dad65807d3 100644 --- a/packages/console/app/src/routes/zen/util/handler.ts +++ b/packages/console/app/src/routes/zen/util/handler.ts @@ -889,10 +889,6 @@ export async function handler( const inputCost = modelCost.input * inputTokens * 100 const outputCost = modelCost.output * outputTokens * 100 - const reasoningCost = (() => { - if (!reasoningTokens) return undefined - return modelCost.output * reasoningTokens * 100 - })() const cacheReadCost = (() => { if (!cacheReadTokens) return undefined if (!modelCost.cacheRead) return undefined @@ -909,17 +905,11 @@ export async function handler( return modelCost.cacheWrite1h * cacheWrite1hTokens * 100 })() const totalCostInCent = - inputCost + - outputCost + - (reasoningCost ?? 0) + - (cacheReadCost ?? 0) + - (cacheWrite5mCost ?? 0) + - (cacheWrite1hCost ?? 0) + inputCost + outputCost + (cacheReadCost ?? 0) + (cacheWrite5mCost ?? 0) + (cacheWrite1hCost ?? 0) return { totalCostInCent, inputCost, outputCost, - reasoningCost, cacheReadCost, cacheWrite5mCost, cacheWrite1hCost, @@ -941,8 +931,7 @@ export async function handler( ) { const { inputTokens, outputTokens, reasoningTokens, cacheReadTokens, cacheWrite5mTokens, cacheWrite1hTokens } = usageInfo - const { totalCostInCent, inputCost, outputCost, reasoningCost, cacheReadCost, cacheWrite5mCost, cacheWrite1hCost } = - costInfo + const { totalCostInCent, inputCost, outputCost, cacheReadCost, cacheWrite5mCost, cacheWrite1hCost } = costInfo logger.metric({ "tokens.input": inputTokens, @@ -953,14 +942,12 @@ export async function handler( "tokens.cache_write_1h": cacheWrite1hTokens, "cost.input.microcents": centsToMicroCents(inputCost), "cost.output.microcents": centsToMicroCents(outputCost), - "cost.reasoning.microcents": reasoningCost ? centsToMicroCents(reasoningCost) : undefined, "cost.cache_read.microcents": cacheReadCost ? centsToMicroCents(cacheReadCost) : undefined, "cost.cache_write.microcents": cacheWrite5mCost ? centsToMicroCents(cacheWrite5mCost) : undefined, "cost.total.microcents": centsToMicroCents(totalCostInCent), // deprecated - remove after May 20, 2026 "cost.input": Math.round(inputCost), "cost.output": Math.round(outputCost), - "cost.reasoning": reasoningCost ? Math.round(reasoningCost) : undefined, "cost.cache_read": cacheReadCost ? Math.round(cacheReadCost) : undefined, "cost.cache_write_5m": cacheWrite5mCost ? Math.round(cacheWrite5mCost) : undefined, "cost.cache_write_1h": cacheWrite1hCost ? Math.round(cacheWrite1hCost) : undefined, diff --git a/packages/console/app/src/routes/zen/util/provider/openai.ts b/packages/console/app/src/routes/zen/util/provider/openai.ts index 5d61a903ef..1c5cbdb3c9 100644 --- a/packages/console/app/src/routes/zen/util/provider/openai.ts +++ b/packages/console/app/src/routes/zen/util/provider/openai.ts @@ -50,7 +50,7 @@ export const openaiHelper: ProviderHelper = ({ workspaceID }) => ({ const cacheReadTokens = usage.input_tokens_details?.cached_tokens ?? undefined return { inputTokens: inputTokens - (cacheReadTokens ?? 0), - outputTokens: outputTokens - (reasoningTokens ?? 0), + outputTokens, reasoningTokens, cacheReadTokens, cacheWrite5mTokens: undefined,