mirror of
https://github.com/aljazceru/opencode.git
synced 2025-12-23 18:54:21 +01:00
zen: fix parsing cache write tokens
This commit is contained in:
@@ -161,7 +161,6 @@ export async function handler(
|
|||||||
logger.metric({ time_to_first_byte: Date.now() - startTimestamp })
|
logger.metric({ time_to_first_byte: Date.now() - startTimestamp })
|
||||||
}
|
}
|
||||||
responseLength += value.length
|
responseLength += value.length
|
||||||
console.log(decoder.decode(value, { stream: true }))
|
|
||||||
buffer += decoder.decode(value, { stream: true })
|
buffer += decoder.decode(value, { stream: true })
|
||||||
|
|
||||||
const parts = buffer.split("\n\n")
|
const parts = buffer.split("\n\n")
|
||||||
|
|||||||
@@ -30,22 +30,25 @@ export function POST(input: APIEvent) {
|
|||||||
|
|
||||||
let json
|
let json
|
||||||
try {
|
try {
|
||||||
json = JSON.parse(data.slice(6)) as { usage?: Usage }
|
json = JSON.parse(data.slice(6))
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!json.usage) return
|
// ie. { type: "message_start"; message: { usage: Usage } }
|
||||||
|
// ie. { type: "message_delta"; usage: Usage }
|
||||||
|
const usageUpdate = json.usage ?? json.message?.usage
|
||||||
|
if (!usageUpdate) return
|
||||||
usage = {
|
usage = {
|
||||||
...usage,
|
...usage,
|
||||||
...json.usage,
|
...usageUpdate,
|
||||||
cache_creation: {
|
cache_creation: {
|
||||||
...usage?.cache_creation,
|
...usage?.cache_creation,
|
||||||
...json.usage.cache_creation,
|
...usageUpdate.cache_creation,
|
||||||
},
|
},
|
||||||
server_tool_use: {
|
server_tool_use: {
|
||||||
...usage?.server_tool_use,
|
...usage?.server_tool_use,
|
||||||
...json.usage.server_tool_use,
|
...usageUpdate.server_tool_use,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user