feat: add format_chat_markdown method to EditorEditBlockCoder

This commit is contained in:
Paul Gauthier (aider) 2024-12-05 18:55:50 -08:00
parent 6163713e34
commit f8277c55a8

View file

@ -5,3 +5,27 @@ from .editor_editblock_prompts import EditorEditBlockPrompts
class EditorEditBlockCoder(EditBlockCoder):
edit_format = "editor-diff"
gpt_prompts = EditorEditBlockPrompts()
def format_chat_markdown(self):
chunks = self.format_chat_chunks()
markdown = ""
# Only include specified chunks in order
for messages in [chunks.repo, chunks.readonly_files, chunks.chat_files, chunks.cur]:
for msg in messages:
# Only include user messages
if msg["role"] != "user":
continue
content = msg["content"]
# Handle image/multipart content
if isinstance(content, list):
for part in content:
if part.get("type") == "text":
markdown += part["text"] + "\n\n"
else:
markdown += content + "\n\n"
return markdown.strip()