diff --git a/dist/acp-agent.js b/dist/acp-agent.js --- a/dist/acp-agent.js +++ b/dist/acp-agent.js @@ -2681,10 +2681,20 @@ cost: { amount: message.total_cost_usd, currency: "USD", }, - ...(message.origin && { - _meta: { "_claude/origin": message.origin }, - }), + _meta: { + ...(message.origin && { "_claude/origin": message.origin }), + // ACP's core Usage shape exposes context occupancy and + // cost, but not the billable input/output split. Keep the + // SDK's bounded aggregate in extension metadata so ACPX can + // normalize it without persisting a raw provider message. + usage: { + input_tokens: message.usage.input_tokens, + output_tokens: message.usage.output_tokens, + cache_read_input_tokens: message.usage.cache_read_input_tokens, + cache_creation_input_tokens: message.usage.cache_creation_input_tokens, + }, + }, }, }); }