From a1909611d912f14cd920e10945126d6181d8bace Mon Sep 17 00:00:00 2001 From: Paul Gauthier Date: Sat, 24 Jun 2023 08:32:12 -0700 Subject: [PATCH] Raise ValueError if gpt makes an unknown function_call --- aider/coders/base_coder.py | 7 ++++++- aider/coders/wholefile_func_coder.py | 5 ++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/aider/coders/base_coder.py b/aider/coders/base_coder.py index b5ec3423c..3a8767794 100755 --- a/aider/coders/base_coder.py +++ b/aider/coders/base_coder.py @@ -392,7 +392,10 @@ class Coder: if self.partial_response_function_call: args = self.parse_partial_args() - content = args["explanation"] + if args: + content = args["explanation"] + else: + content = "" elif self.partial_response_content: content = self.partial_response_content else: @@ -535,6 +538,8 @@ class Coder: return interrupted def show_send_output(self, completion, silent): + # dump(completion) + show_func_err = None show_content_err = None try: diff --git a/aider/coders/wholefile_func_coder.py b/aider/coders/wholefile_func_coder.py index d7596a638..c344aca04 100644 --- a/aider/coders/wholefile_func_coder.py +++ b/aider/coders/wholefile_func_coder.py @@ -105,8 +105,11 @@ class WholeFileFunctionCoder(Coder): return "\n".join(show_diff) def update_files(self): - args = self.parse_partial_args() + name = self.partial_response_function_call.get("name") + if name and name != "write_file": + raise ValueError(f'Unknown function_call name="{name}", use name="write_file"') + args = self.parse_partial_args() if not args: return