Skip to content

Commit 59a3837

Browse files
committed
fix(session): clamp output token count to prevent negative values (#9168)
When reasoningTokens exceeds outputTokens (due to provider SDK inconsistencies), the subtraction produces a negative output token count. Wrap with Math.max(0, ...) to ensure non-negative values. Rebased onto refactored session module structure (session.ts extracted from index.ts).
1 parent 6804c71 commit 59a3837

1 file changed

Lines changed: 1 addition & 1 deletion

File tree

packages/opencode/src/session/session.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -318,7 +318,7 @@ export const getUsage = (input: {
318318
const tokens = {
319319
total,
320320
input: adjustedInputTokens,
321-
output: safe(outputTokens - reasoningTokens),
321+
output: Math.max(0, safe(outputTokens - reasoningTokens)),
322322
reasoning: reasoningTokens,
323323
cache: {
324324
write: cacheWriteInputTokens,

0 commit comments

Comments
 (0)