fix(opencode): include cache writes in ACP usage (#40450)

Co-authored-by: Aiden Cline <rekram1-node@users.noreply.github.com>
This commit is contained in:
opencode-agent[bot]
2026-08-04 21:27:01 -05:00
committed by GitHub
parent 5b4fb1f770
commit 9f38562237
3 changed files with 9 additions and 5 deletions
+1 -1
View File
@@ -656,7 +656,7 @@ function makeUsageService(sdk: OpencodeClient) {
sessionId: params.sessionID,
update: {
sessionUpdate: "usage_update",
used: message.tokens.input + message.tokens.cache.read,
used: UsageService.contextTokens(message),
size,
cost: { amount: UsageService.totalSessionCost(messages), currency: "USD" },
},
+5 -1
View File
@@ -83,6 +83,10 @@ export function messageLoaderFromSDK(sdk: SDK): MessageLoaderInterface {
export const messageLoaderLayer = (sdk: SDK) => Layer.succeed(MessageLoader, messageLoaderFromSDK(sdk))
export function contextTokens(message: AssistantTokenCost): number {
return message.tokens.input + message.tokens.cache.read + message.tokens.cache.write
}
export function buildUsage(message: AssistantTokenCost): Usage {
const cachedReadTokens = message.tokens.cache.read
const cachedWriteTokens = message.tokens.cache.write
@@ -207,7 +211,7 @@ const layer = Layer.effect(
sessionId: input.sessionID,
update: {
sessionUpdate: "usage_update",
used: message.tokens.input + message.tokens.cache.read,
used: contextTokens(message),
size,
cost: { amount: totalSessionCost(messages), currency: "USD" },
},