Skip to content

Commit 359665e

Browse files
authored
fix: token parsing for ai sdk claude 4 models (#4023)
1 parent 5bca276 commit 359665e

File tree

2 files changed

+7
-3
lines changed

2 files changed

+7
-3
lines changed

valhalla/jawn/src/lib/shared/bodyProcessors/anthropicBodyProcessor.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,9 @@ export class AnthropicBodyProcessor implements IBodyProcessor {
1717
if (
1818
model?.includes("claude-3") ||
1919
model?.includes("claude-sonnet-4") ||
20-
model?.includes("claude-opus-4")
20+
model?.includes("claude-opus-4") ||
21+
// for AI SDK
22+
model?.includes("claude-4")
2123
) {
2224
if (
2325
!parsedResponseBody?.usage?.output_tokens ||

valhalla/jawn/src/lib/shared/bodyProcessors/anthropicStreamBodyProcessor.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,9 @@ export class AnthropicStreamBodyProcessor implements IBodyProcessor {
9292
if (
9393
model?.includes("claude-3") ||
9494
model?.includes("claude-sonnet-4") ||
95-
model?.includes("claude-opus-4")
95+
model?.includes("claude-opus-4") ||
96+
// for AI SDK
97+
model?.includes("claude-4")
9698
) {
9799
const processedBody = {
98100
...processConsolidatedJsonForClaude3(processedLines),
@@ -185,7 +187,7 @@ function processConsolidatedJsonForClaude3(events: any[]): any {
185187
if (item.usage) {
186188
acc.usage = {
187189
...acc.usage,
188-
output_tokens: (item.usage as any).output_tokens
190+
output_tokens: (item.usage as any).output_tokens,
189191
};
190192
}
191193
} else if (item.type === "content_block_start" && item.content_block) {

0 commit comments

Comments
 (0)