mirror of
https://github.com/pacnpal/Roo-Code.git
synced 2025-12-20 12:21:13 -05:00
@@ -110,26 +110,38 @@ export class GlamaHandler implements ApiHandler, SingleCompletionHandler {
|
|||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const response = await axios.get(
|
let attempt = 0
|
||||||
`https://glama.ai/api/gateway/v1/completion-requests/${completionRequestId}`,
|
|
||||||
{
|
const delay = (ms: number) => new Promise((resolve) => setTimeout(resolve, ms))
|
||||||
headers: {
|
|
||||||
Authorization: `Bearer ${this.options.glamaApiKey}`,
|
while (attempt++ < 10) {
|
||||||
|
// In case of an interrupted request, we need to wait for the upstream API to finish processing the request
|
||||||
|
// before we can fetch information about the token usage and cost.
|
||||||
|
const response = await axios.get(
|
||||||
|
`https://glama.ai/api/gateway/v1/completion-requests/${completionRequestId}`,
|
||||||
|
{
|
||||||
|
headers: {
|
||||||
|
Authorization: `Bearer ${this.options.glamaApiKey}`,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
},
|
)
|
||||||
)
|
|
||||||
|
|
||||||
const completionRequest = response.data
|
const completionRequest = response.data
|
||||||
|
|
||||||
if (completionRequest.tokenUsage) {
|
if (completionRequest.tokenUsage && completionRequest.totalCostUsd) {
|
||||||
yield {
|
yield {
|
||||||
type: "usage",
|
type: "usage",
|
||||||
cacheWriteTokens: completionRequest.tokenUsage.cacheCreationInputTokens,
|
cacheWriteTokens: completionRequest.tokenUsage.cacheCreationInputTokens,
|
||||||
cacheReadTokens: completionRequest.tokenUsage.cacheReadInputTokens,
|
cacheReadTokens: completionRequest.tokenUsage.cacheReadInputTokens,
|
||||||
inputTokens: completionRequest.tokenUsage.promptTokens,
|
inputTokens: completionRequest.tokenUsage.promptTokens,
|
||||||
outputTokens: completionRequest.tokenUsage.completionTokens,
|
outputTokens: completionRequest.tokenUsage.completionTokens,
|
||||||
totalCost: parseFloat(completionRequest.totalCostUsd),
|
totalCost: parseFloat(completionRequest.totalCostUsd),
|
||||||
|
}
|
||||||
|
|
||||||
|
break
|
||||||
}
|
}
|
||||||
|
|
||||||
|
await delay(200)
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error("Error fetching Glama completion details", error)
|
console.error("Error fetching Glama completion details", error)
|
||||||
|
|||||||
Reference in New Issue
Block a user