diff --git a/aider/coders/chat_chunks.py b/aider/coders/chat_chunks.py index 9d1360604..3c3673ee6 100644 --- a/aider/coders/chat_chunks.py +++ b/aider/coders/chat_chunks.py @@ -51,3 +51,10 @@ class ChatChunks: content["cache_control"] = {"type": "ephemeral"} messages[-1]["content"] = [content] + + def cacheable_messages(self): + chunks = self.system + self.examples + self.readonly_files + self.repo + self.done + self.chat_files + for i, message in enumerate(reversed(chunks)): + if isinstance(message.get('content'), list) and message['content'][0].get('cache_control'): + return chunks[:len(chunks)-i] + return chunks