no turn errors, with upd_cur_msgs fix and summarizer disabled

This commit is contained in:
Paul Gauthier 2025-01-20 11:10:43 -08:00
parent 2968087d37
commit 5650697475
4 changed files with 14 additions and 12 deletions

View file

@ -459,6 +459,7 @@ class Coder:
self.summarizer_thread = None
self.summarized_done_messages = []
self.summarizing_messages = None
if not self.done_messages and restore_chat_history:
history_md = self.io.read_text(self.io.chat_history_file)
@ -930,6 +931,7 @@ class Coder:
self.last_keyboard_interrupt = now
def summarize_start(self):
return
if not self.summarizer.too_big(self.done_messages):
return
@ -942,8 +944,9 @@ class Coder:
self.summarizer_thread.start()
def summarize_worker(self):
self.summarizing_messages = list(self.done_messages)
try:
self.summarized_done_messages = self.summarizer.summarize(self.done_messages)
self.summarized_done_messages = self.summarizer.summarize(self.summarizing_messages)
except ValueError as err:
self.io.tool_warning(err.args[0])
@ -957,7 +960,9 @@ class Coder:
self.summarizer_thread.join()
self.summarizer_thread = None
self.done_messages = self.summarized_done_messages
if self.summarizing_messages == self.done_messages:
self.done_messages = self.summarized_done_messages
self.summarizing_messages = None
self.summarized_done_messages = []
def move_back_cur_messages(self, message):
@ -1327,6 +1332,8 @@ class Coder:
self.num_exhausted_context_windows += 1
return
self.add_assistant_reply_to_cur_messages()
if self.partial_response_function_call:
args = self.parse_partial_args()
if args:
@ -1359,8 +1366,6 @@ class Coder:
edited = self.apply_updates()
self.update_cur_messages()
if edited:
self.aider_edited_files.update(edited)
saved_message = self.auto_commit(edited)
@ -1381,7 +1386,6 @@ class Coder:
ok = self.io.confirm_ask("Attempt to fix lint errors?")
if ok:
self.reflected_message = lint_errors
self.update_cur_messages()
return
shared_output = self.run_shell_commands()
@ -1398,7 +1402,6 @@ class Coder:
ok = self.io.confirm_ask("Attempt to fix test errors?")
if ok:
self.reflected_message = test_errors
self.update_cur_messages()
return
def reply_completed(self):
@ -1474,7 +1477,7 @@ class Coder:
return res
def update_cur_messages(self):
def add_assistant_reply_to_cur_messages(self):
if self.partial_response_content:
self.cur_messages += [dict(role="assistant", content=self.partial_response_content)]
if self.partial_response_function_call:

View file

@ -38,7 +38,7 @@ class SingleWholeFileFunctionCoder(Coder):
self.gpt_prompts = SingleWholeFileFunctionPrompts()
super().__init__(*args, **kwargs)
def update_cur_messages(self, edited):
def add_assistant_reply_to_cur_messages(self, edited):
if edited:
self.cur_messages += [
dict(role="assistant", content=self.gpt_prompts.redacted_edit_message)

View file

@ -49,7 +49,7 @@ class WholeFileFunctionCoder(Coder):
self.gpt_prompts = WholeFileFunctionPrompts()
super().__init__(*args, **kwargs)
def update_cur_messages(self, edited):
def add_assistant_reply_to_cur_messages(self, edited):
if edited:
self.cur_messages += [
dict(role="assistant", content=self.gpt_prompts.redacted_edit_message)

View file

@ -31,9 +31,8 @@ def sanity_check_messages(messages):
continue
if last_role and role == last_role:
print(format_messages(messages))
# import sys ; sys.exit()
raise ValueError("Messages don't properly alternate user/assistant")
turns = format_messages(messages)
raise ValueError("Messages don't properly alternate user/assistant:\n\n" + turns)
last_role = role
last_non_system_role = role