zen: fix parsing cache write tokens

This commit is contained in:
Frank
2025-09-25 17:02:21 -04:00
parent b207ed2b7b
commit 6e712f9faf
2 changed files with 8 additions and 6 deletions

View File

@@ -161,7 +161,6 @@ export async function handler(
logger.metric({ time_to_first_byte: Date.now() - startTimestamp })
}
responseLength += value.length
console.log(decoder.decode(value, { stream: true }))
buffer += decoder.decode(value, { stream: true })
const parts = buffer.split("\n\n")

View File

@@ -30,22 +30,25 @@ export function POST(input: APIEvent) {
let json
try {
json = JSON.parse(data.slice(6)) as { usage?: Usage }
json = JSON.parse(data.slice(6))
} catch (e) {
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,
...json.usage,
...usageUpdate,
cache_creation: {
...usage?.cache_creation,
...json.usage.cache_creation,
...usageUpdate.cache_creation,
},
server_tool_use: {
...usage?.server_tool_use,
...json.usage.server_tool_use,
...usageUpdate.server_tool_use,
},
}
},