9router/open-sse/translator
decolua 7e5f5a8813 fix(claude): re-anchor passthrough cache breakpoints with 1h TTL
Passthrough kept the client's own cache_control markers, which point at
pre-normalization offsets. Once normalize/dedupe reshaped system and tools,
the breakpoints landed mid-array and the tail was re-cached every request.

- Pin the last system block and last tool at ttl 1h (was the client's 5m)
- Anchor the last assistant turn at 5m, falling back to the final message
  so a first turn still gets a breakpoint
- Fold mid-conversation system messages into the neighbouring user turn
  instead of hoisting them into body.system, where the volatile token
  counters invalidated the prefix on every request
- Run the anchoring after every token saver, at the final body

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-14 16:08:30 +07:00
..
concerns fix(combo): detect images from Hermes and attachment payloads for Vision Adapter 2026-08-13 18:30:44 +07:00
formats fix(claude): re-anchor passthrough cache breakpoints with 1h TTL 2026-08-14 16:08:30 +07:00
request fix(translator): preserve prompt_cache_key when converting chat to responses 2026-08-13 11:46:49 +07:00
response fix(responses): don't close message on empty tool_calls array 2026-08-13 11:40:45 +07:00
schema fix(translator): preserve Responses Lite tools across Chat providers 2026-08-05 13:27:25 +07:00
formats.js feat: add CommandCode provider support 2026-05-07 23:01:33 +07:00
index.js fix(translator): preserve Responses Lite tools across Chat providers 2026-08-05 13:27:25 +07:00