File tree Expand file tree Collapse file tree 1 file changed +5
-4
lines changed
apps/sim/providers/google Expand file tree Collapse file tree 1 file changed +5
-4
lines changed Original file line number Diff line number Diff line change @@ -124,19 +124,20 @@ export function extractFunctionCallPart(candidate: Candidate | undefined): Part
124124
125125/**
126126 * Converts usage metadata from SDK response to our format.
127- * Includes thinking tokens in candidatesTokenCount for correct billing.
127+ * Per Gemini docs, total = promptTokenCount + candidatesTokenCount + toolUsePromptTokenCount + thoughtsTokenCount
128+ * We include toolUsePromptTokenCount in input and thoughtsTokenCount in output for correct billing.
128129 */
129130export function convertUsageMetadata (
130131 usageMetadata : GenerateContentResponseUsageMetadata | undefined
131132) : GeminiUsage {
132- const promptTokenCount = usageMetadata ?. promptTokenCount ?? 0
133133 const thoughtsTokenCount = usageMetadata ?. thoughtsTokenCount ?? 0
134- // Include thinking tokens in output count for correct billing
134+ const toolUsePromptTokenCount = usageMetadata ?. toolUsePromptTokenCount ?? 0
135+ const promptTokenCount = ( usageMetadata ?. promptTokenCount ?? 0 ) + toolUsePromptTokenCount
135136 const candidatesTokenCount = ( usageMetadata ?. candidatesTokenCount ?? 0 ) + thoughtsTokenCount
136137 return {
137138 promptTokenCount,
138139 candidatesTokenCount,
139- totalTokenCount : usageMetadata ?. totalTokenCount ?? promptTokenCount + candidatesTokenCount ,
140+ totalTokenCount : usageMetadata ?. totalTokenCount ?? 0 ,
140141 }
141142}
142143
You can’t perform that action at this time.
0 commit comments