diff options
| author | Ty Dunn <ty@tydunn.com> | 2023-06-16 15:56:01 -0700 | 
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-06-16 15:56:01 -0700 | 
| commit | d9e576d0f81a22a0c6e7f0659e67f3fa38a0d1aa (patch) | |
| tree | 7d798f83ae62f4d28dfb5c2256b01d52e9a5c2d3 /continuedev/src/continuedev/server | |
| parent | c980e01d2f9328d5c37df14bea02f84a4890bc6a (diff) | |
| parent | 3aa4f014608c09b8da2f4ab95137a959487af245 (diff) | |
| download | sncontinue-d9e576d0f81a22a0c6e7f0659e67f3fa38a0d1aa.tar.gz sncontinue-d9e576d0f81a22a0c6e7f0659e67f3fa38a0d1aa.tar.bz2 sncontinue-d9e576d0f81a22a0c6e7f0659e67f3fa38a0d1aa.zip  | |
Merge branch 'main' into too-large
Diffstat (limited to 'continuedev/src/continuedev/server')
| -rw-r--r-- | continuedev/src/continuedev/server/ide.py | 22 | ||||
| -rw-r--r-- | continuedev/src/continuedev/server/ide_protocol.py | 4 | 
2 files changed, 14 insertions, 12 deletions
diff --git a/continuedev/src/continuedev/server/ide.py b/continuedev/src/continuedev/server/ide.py index c53149d8..c83fbc8a 100644 --- a/continuedev/src/continuedev/server/ide.py +++ b/continuedev/src/continuedev/server/ide.py @@ -1,5 +1,4 @@  # This is a separate server from server/main.py -import asyncio  from functools import cached_property  import json  import os @@ -10,11 +9,13 @@ from uvicorn.main import Server  from ..libs.util.queue import AsyncSubscriptionQueue  from ..models.filesystem import FileSystem, RangeInFile, EditDiff, RealFileSystem -from ..models.main import Traceback  from ..models.filesystem_edit import AddDirectory, AddFile, DeleteDirectory, DeleteFile, FileSystemEdit, FileEdit, FileEditWithFullContents, RenameDirectory, RenameFile, SequentialFileSystemEdit  from pydantic import BaseModel  from .gui import SessionManager, session_manager  from .ide_protocol import AbstractIdeProtocolServer +import asyncio +import nest_asyncio +nest_asyncio.apply()  router = APIRouter(prefix="/ide", tags=["ide"]) @@ -135,6 +136,9 @@ class IdeProtocolServer(AbstractIdeProtocolServer):              fileEdits = list(                  map(lambda d: FileEditWithFullContents.parse_obj(d), data["fileEdits"]))              self.onFileEdits(fileEdits) +        elif message_type == "commandOutput": +            output = data["output"] +            self.onCommandOutput(output)          elif message_type in ["highlightedCode", "openFiles", "readFile", "editFile", "workspaceDirectory", "getUserSecret", "runCommand", "uniqueId"]:              self.sub_queue.post(message_type, data)          else: @@ -189,11 +193,6 @@ class IdeProtocolServer(AbstractIdeProtocolServer):      def onAcceptRejectSuggestion(self, suggestionId: str, accepted: bool):          pass -    def onTraceback(self, traceback: Traceback): -        # Same as below, maybe not every autopilot? -        for _, session in self.session_manager.sessions.items(): -            session.autopilot.handle_traceback(traceback) -      def onFileSystemUpdate(self, update: FileSystemEdit):          # Access to Autopilot (so SessionManager)          pass @@ -211,6 +210,13 @@ class IdeProtocolServer(AbstractIdeProtocolServer):          for _, session in self.session_manager.sessions.items():              session.autopilot.handle_manual_edits(edits) +    def onCommandOutput(self, output: str): +        # Send the output to ALL autopilots. +        # Maybe not ideal behavior +        for _, session in self.session_manager.sessions.items(): +            asyncio.create_task( +                session.autopilot.handle_command_output(output)) +      # Request information. Session doesn't matter.      async def getOpenFiles(self) -> List[str]:          resp = await self._send_and_receive_json({}, OpenFilesResponse, "openFiles") @@ -224,7 +230,7 @@ class IdeProtocolServer(AbstractIdeProtocolServer):          resp = await self._send_and_receive_json({}, UniqueIdResponse, "uniqueId")          return resp.uniqueId -    @cached_property +    @property      def workspace_directory(self) -> str:          return asyncio.run(self.getWorkspaceDirectory()) diff --git a/continuedev/src/continuedev/server/ide_protocol.py b/continuedev/src/continuedev/server/ide_protocol.py index 1d98f4a1..2dcedc30 100644 --- a/continuedev/src/continuedev/server/ide_protocol.py +++ b/continuedev/src/continuedev/server/ide_protocol.py @@ -36,10 +36,6 @@ class AbstractIdeProtocolServer(ABC):          """Called when the user accepts or rejects a suggestion"""      @abstractmethod -    def onTraceback(self, traceback: Traceback): -        """Called when a traceback is received""" - -    @abstractmethod      def onFileSystemUpdate(self, update: FileSystemEdit):          """Called when a file system update is received"""  | 
