From 2228691e14be2368394e38e600bfa2ce227487b1 Mon Sep 17 00:00:00 2001 From: Adam Malczewski Date: Sat, 30 May 2026 18:53:42 +0900 Subject: feat(cache): Anthropic prompt caching, usage telemetry, and Cache Rate view - send prompt-caching + oauth anthropic-beta headers on the Claude OAuth provider - restructure the OAuth request body (billing header, identity split, relocate third-party system prompt to the first user message) to match Claude Code - apply rolling cache_control breakpoints and group a turn's tool results into a single role:tool message for correct breakpoint placement - emit per-step usage events (cache read/write split) and add the Cache Rate sidebar panel - dedup byte-identical tool calls within a single batch --- packages/core/src/chunks/append.ts | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'packages/core/src/chunks') diff --git a/packages/core/src/chunks/append.ts b/packages/core/src/chunks/append.ts index fe384bd..baccd10 100644 --- a/packages/core/src/chunks/append.ts +++ b/packages/core/src/chunks/append.ts @@ -35,9 +35,9 @@ * (no unsealed thinking chunk) are dropped. * * Ignored events: - * - `status`, `done`, `task-list-update`, `tab-created`, `message-queued`, - * `message-consumed`, `message-cancelled` — these are control / lifecycle - * events, not message content. + * - `status`, `done`, `usage`, `task-list-update`, `tab-created`, + * `message-queued`, `message-consumed`, `message-cancelled` — these are + * control / lifecycle events, not message content. */ import type { @@ -201,6 +201,7 @@ export function appendEventToChunks(chunks: Chunk[], event: AgentEvent): void { // Lifecycle / control events — no chunk emitted. case "status": case "done": + case "usage": case "task-list-update": case "tab-created": case "message-queued": -- cgit v1.2.3