mirror of
https://github.com/Aider-AI/aider.git
synced 2025-05-29 16:54:59 +00:00
47 lines
1.5 KiB
Python
47 lines
1.5 KiB
Python
from .architect_prompts import ArchitectPrompts
|
|
from .ask_coder import AskCoder
|
|
from .base_coder import Coder
|
|
|
|
|
|
class ArchitectCoder(AskCoder):
|
|
edit_format = "architect"
|
|
gpt_prompts = ArchitectPrompts()
|
|
|
|
def reply_completed(self):
|
|
content = self.partial_response_content
|
|
|
|
if not content.strip():
|
|
return
|
|
|
|
if not self.io.confirm_ask("Edit the files?"):
|
|
return
|
|
|
|
kwargs = dict()
|
|
|
|
# Use the editor_model from the main_model if it exists, otherwise use the main_model itself
|
|
editor_model = self.main_model.editor_model or self.main_model
|
|
|
|
kwargs["main_model"] = editor_model
|
|
kwargs["edit_format"] = self.main_model.editor_edit_format
|
|
kwargs["suggest_shell_commands"] = False
|
|
kwargs["map_tokens"] = 0
|
|
kwargs["total_cost"] = self.total_cost
|
|
kwargs["cache_prompts"] = False
|
|
kwargs["num_cache_warming_pings"] = 0
|
|
kwargs["summarize_from_coder"] = False
|
|
|
|
new_kwargs = dict(io=self.io, from_coder=self)
|
|
new_kwargs.update(kwargs)
|
|
|
|
editor_coder = Coder.create(**new_kwargs)
|
|
editor_coder.cur_messages = []
|
|
editor_coder.done_messages = []
|
|
|
|
if self.verbose:
|
|
editor_coder.show_announcements()
|
|
|
|
editor_coder.run(with_message=content, preproc=False)
|
|
|
|
self.move_back_cur_messages("I made those changes to the files.")
|
|
self.total_cost = editor_coder.total_cost
|
|
self.aider_commit_hashes = editor_coder.aider_commit_hashes
|