Skip to content

Commit f3679e7

Browse files
authored
Merge pull request #46 from mahdiwafy/fix/usage-tracking-dashboard
fix: usage tracking for Antigravity/Gemini streaming responses
2 parents 457543d + 9a0c441 commit f3679e7

3 files changed

Lines changed: 11 additions & 6 deletions

File tree

open-sse/handlers/chatCore/nonStreamingHandler.js

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -127,10 +127,15 @@ export function translateNonStreamingResponse(responseBody, targetFormat, source
127127

128128
if (responseBody.usage) {
129129
result.usage = {
130-
prompt_tokens: responseBody.usage.input_tokens || 0,
131-
completion_tokens: responseBody.usage.output_tokens || 0,
132-
total_tokens: (responseBody.usage.input_tokens || 0) + (responseBody.usage.output_tokens || 0)
130+
prompt_tokens: responseBody.usage.prompt_tokens || responseBody.usage.input_tokens || 0,
131+
completion_tokens: responseBody.usage.completion_tokens || responseBody.usage.output_tokens || 0,
132+
total_tokens: responseBody.usage.total_tokens ||
133+
((responseBody.usage.prompt_tokens || responseBody.usage.input_tokens || 0) +
134+
(responseBody.usage.completion_tokens || responseBody.usage.output_tokens || 0))
133135
};
136+
if (responseBody.usage.completion_tokens_details) {
137+
result.usage.completion_tokens_details = responseBody.usage.completion_tokens_details;
138+
}
134139
}
135140
return result;
136141
}

open-sse/utils/usageTracking.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -246,11 +246,11 @@ export function extractUsage(chunk) {
246246
});
247247
}
248248

249-
// Claude format (message_delta event)
249+
// Claude format (message_delta event) - also handles OpenAI format in final chunk
250250
if (chunk.type === "message_delta" && chunk.usage && typeof chunk.usage === "object") {
251251
return normalizeUsage({
252-
prompt_tokens: chunk.usage.input_tokens || 0,
253-
completion_tokens: chunk.usage.output_tokens || 0,
252+
prompt_tokens: chunk.usage.prompt_tokens || chunk.usage.input_tokens || 0,
253+
completion_tokens: chunk.usage.completion_tokens || chunk.usage.output_tokens || 0,
254254
cache_read_input_tokens: chunk.usage.cache_read_input_tokens,
255255
cache_creation_input_tokens: chunk.usage.cache_creation_input_tokens
256256
});

server

15.6 MB
Binary file not shown.

0 commit comments

Comments
 (0)