diff options
Diffstat (limited to 'continuedev')
| -rw-r--r-- | continuedev/src/continuedev/server/ide.py | 26 | ||||
| -rw-r--r-- | continuedev/src/continuedev/steps/core/core.py | 8 | 
2 files changed, 24 insertions, 10 deletions
| diff --git a/continuedev/src/continuedev/server/ide.py b/continuedev/src/continuedev/server/ide.py index a8868a9a..a91708ec 100644 --- a/continuedev/src/continuedev/server/ide.py +++ b/continuedev/src/continuedev/server/ide.py @@ -287,25 +287,31 @@ class IdeProtocolServer(AbstractIdeProtocolServer):      def onOpenGUIRequest(self):          pass +    def __get_autopilot(self): +        return self.session_manager.sessions[self.session_id].autopilot +      def onFileEdits(self, edits: List[FileEditWithFullContents]): -        session_manager.sessions[self.session_id].autopilot.handle_manual_edits( -            edits) +        if autopilot := self.__get_autopilot(): +            autopilot.handle_manual_edits(edits)      def onDeleteAtIndex(self, index: int): -        create_async_task( -            session_manager.sessions[self.session_id].autopilot.delete_at_index(index), self.unique_id) +        if autopilot := self.__get_autopilot(): +            create_async_task(autopilot.delete_at_index(index), self.unique_id)      def onCommandOutput(self, output: str): -        create_async_task( -            self.session_manager.sessions[self.session_id].autopilot.handle_command_output(output), self.unique_id) +        if autopilot := self.__get_autopilot(): +            create_async_task( +                autopilot.handle_command_output(output), self.unique_id)      def onHighlightedCodeUpdate(self, range_in_files: List[RangeInFileWithContents]): -        create_async_task( -            self.session_manager.sessions[self.session_id].autopilot.handle_highlighted_code(range_in_files), self.unique_id) +        if autopilot := self.__get_autopilot(): +            create_async_task(autopilot.handle_highlighted_code( +                range_in_files), self.unique_id)      def onMainUserInput(self, input: str): -        create_async_task( -            self.session_manager.sessions[self.session_id].autopilot.accept_user_input(input), self.unique_id) +        if autopilot := self.__get_autopilot(): +            create_async_task( +                autopilot.accept_user_input(input), self.unique_id)      # Request information. Session doesn't matter.      async def getOpenFiles(self) -> List[str]: diff --git a/continuedev/src/continuedev/steps/core/core.py b/continuedev/src/continuedev/steps/core/core.py index 75f8e460..90d64287 100644 --- a/continuedev/src/continuedev/steps/core/core.py +++ b/continuedev/src/continuedev/steps/core/core.py @@ -474,6 +474,14 @@ Please output the code to be inserted at the cursor in order to fulfill the user              current_block_lines.append(line)          messages = await sdk.get_chat_context() +        # Delete the last user and assistant messages +        i = len(messages) - 1 +        deleted = 0 +        while i >= 0 and deleted < 2: +            if messages[i].role == "user" or messages[i].role == "assistant": +                messages.pop(i) +                deleted += 1 +            i -= 1          messages.append(ChatMessage(              role="user",              content=prompt, | 
