#34797 [SAP provider] cache_control is stripped from messages — Anthropic prompt caching unusable
When routing Anthropic models through the `sap/` provider (SAP AI Core Orchestration), `cache_control` markers placed on message content blocks are silently dropped during request transformation. As a result, Anthropic prompt caching never activates — responses come back with `cache_read` / `cache_creation` at 0.
### Why
The SAP chat message models (`SAPMessage`, `SAPUserMessage`, `TextContent`) do not define a `cache_control` field, and content is flattened to a plain string during validation, so the marker is discarded before the request is built. By contrast, litellm's native `anthropic` provider supports `cache_control` on messages and tools.
### Minimal repro
```python from litellm.llms.sap.chat.models import SAPMessage m = SAPMessage(role="system", content=[ {"type": "text", "text": "…large static prompt…", "cache_control": {"type": "ephemeral"}} ]) print(m.model_dump(by_alias=True)) # -> {"role": "system", "content": "…"} # cache_control gone ```
### Expected
`cache_control` on content blocks is preserved through `transform_request` so it can reach the model, consistent with Anthropic's prompt-caching API (https://docs.anthropic.com/en/docs/build-with-claude…