Skip to content

Commit d6087d2

Browse files
committed
fix(anthropic): initialize reasoning field at zero
The Anthropic API does not expose a reasoning-token count even when extended thinking is enabled — thinking cost is server-side folded into output_tokens. Initialize usage.reasoning to 0 so the field is present and add a regression guard so we do not later populate it from a hallucinated payload field.
1 parent 6d34ed7 commit d6087d2

2 files changed

Lines changed: 3 additions & 0 deletions

File tree

packages/anthropic/__tests__/anthropic.test.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,7 @@ describe('AnthropicAdapter', () => {
7474
expect(message.stopReason).toBe('toolUse');
7575
expect(message.usage.input).toBe(12);
7676
expect(message.usage.output).toBe(4);
77+
expect(message.usage.reasoning).toBe(0);
7778
expect(toolCall).toMatchObject({
7879
type: 'toolCall',
7980
id: 'tool_1',

packages/anthropic/src/index.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@ interface ToolCallContent {
6464
interface Usage {
6565
input: number;
6666
output: number;
67+
reasoning: number;
6768
cacheRead: number;
6869
cacheWrite: number;
6970
totalTokens: number;
@@ -762,6 +763,7 @@ function createAssistantMessage(model: ModelDescriptor): AssistantMessage {
762763
usage: {
763764
input: 0,
764765
output: 0,
766+
reasoning: 0,
765767
cacheRead: 0,
766768
cacheWrite: 0,
767769
totalTokens: 0,

0 commit comments

Comments
 (0)