mirror of
https://github.com/pacnpal/Roo-Code.git
synced 2025-12-20 12:21:13 -05:00
Merge pull request #629 from MuriloFP/fix/stable-context-counter
fix: prevent context token counter flickering during API requests
This commit is contained in:
@@ -49,6 +49,9 @@ export function getApiMetrics(messages: ClineMessage[]): ApiMetrics {
|
|||||||
return false
|
return false
|
||||||
})
|
})
|
||||||
|
|
||||||
|
// Keep track of the last valid context tokens
|
||||||
|
let lastValidContextTokens = 0
|
||||||
|
|
||||||
messages.forEach((message) => {
|
messages.forEach((message) => {
|
||||||
if (message.type === "say" && message.say === "api_req_started" && message.text) {
|
if (message.type === "say" && message.say === "api_req_started" && message.text) {
|
||||||
try {
|
try {
|
||||||
@@ -71,12 +74,15 @@ export function getApiMetrics(messages: ClineMessage[]): ApiMetrics {
|
|||||||
result.totalCost += cost
|
result.totalCost += cost
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Update last valid context tokens whenever we have valid input and output tokens
|
||||||
|
if (tokensIn > 0 && tokensOut > 0) {
|
||||||
|
lastValidContextTokens = tokensIn + tokensOut
|
||||||
|
}
|
||||||
|
|
||||||
// If this is the last api request, use its tokens for context size
|
// If this is the last api request, use its tokens for context size
|
||||||
if (message === lastApiReq) {
|
if (message === lastApiReq) {
|
||||||
// Only update context tokens if both input and output tokens are non-zero
|
// Use the last valid context tokens if the current request doesn't have valid tokens
|
||||||
if (tokensIn > 0 && tokensOut > 0) {
|
result.contextTokens = tokensIn > 0 && tokensOut > 0 ? tokensIn + tokensOut : lastValidContextTokens
|
||||||
result.contextTokens = tokensIn + tokensOut
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error("Error parsing JSON:", error)
|
console.error("Error parsing JSON:", error)
|
||||||
|
|||||||
Reference in New Issue
Block a user