fix(cache_control) treat empty text like None to avoid anthropic api cache_control error

This commit is contained in:
brandtcormorant 2026-03-13 17:48:27 -07:00
parent 6733a9a538
commit 76efb0153a
2 changed files with 12 additions and 2 deletions

View file

@ -23,6 +23,14 @@ class TestApplyCacheMarker:
_apply_cache_marker(msg, MARKER)
assert msg["cache_control"] == MARKER
def test_empty_string_content_gets_top_level_marker(self):
"""Empty text blocks cannot have cache_control (Anthropic rejects them)."""
msg = {"role": "assistant", "content": ""}
_apply_cache_marker(msg, MARKER)
assert msg["cache_control"] == MARKER
# Must NOT wrap into [{"type": "text", "text": "", "cache_control": ...}]
assert msg["content"] == ""
def test_string_content_wrapped_in_list(self):
msg = {"role": "user", "content": "Hello"}
_apply_cache_marker(msg, MARKER)