diff options
| author | Nate Sesti <sestinj@gmail.com> | 2023-06-03 11:33:05 -0400 | 
|---|---|---|
| committer | Nate Sesti <sestinj@gmail.com> | 2023-06-03 11:33:05 -0400 | 
| commit | b2fbe075b5ba91636d643f88be1c04ea576e2622 (patch) | |
| tree | 000a5262118f2479f5ee41b7bae37e8133d11dbd /continuedev | |
| parent | 917ba983d604bf9f590265b38e65be5c75643828 (diff) | |
| download | sncontinue-b2fbe075b5ba91636d643f88be1c04ea576e2622.tar.gz sncontinue-b2fbe075b5ba91636d643f88be1c04ea576e2622.tar.bz2 sncontinue-b2fbe075b5ba91636d643f88be1c04ea576e2622.zip | |
API tokens set through global Vsc settings
Diffstat (limited to 'continuedev')
| -rw-r--r-- | continuedev/src/continuedev/core/sdk.py | 20 | ||||
| -rw-r--r-- | continuedev/src/continuedev/server/ide.py | 35 | ||||
| -rw-r--r-- | continuedev/src/continuedev/server/ide_protocol.py | 4 | ||||
| -rw-r--r-- | continuedev/src/continuedev/steps/core/core.py | 1 | ||||
| -rw-r--r-- | continuedev/src/continuedev/steps/main.py | 2 | 
5 files changed, 22 insertions, 40 deletions
| diff --git a/continuedev/src/continuedev/core/sdk.py b/continuedev/src/continuedev/core/sdk.py index 5d0f03fe..5ae471c4 100644 --- a/continuedev/src/continuedev/core/sdk.py +++ b/continuedev/src/continuedev/core/sdk.py @@ -11,7 +11,6 @@ from .observation import Observation  from ..server.ide_protocol import AbstractIdeProtocolServer  from .main import History, Step  from ..steps.core.core import * -from .env import get_env_var, make_sure_env_exists  class Autopilot: @@ -105,24 +104,7 @@ class ContinueSDK:          return await self.run_step(FileSystemEditStep(edit=DeleteDirectory(path=path)))      async def get_user_secret(self, env_var: str, prompt: str) -> str: -        make_sure_env_exists() - -        val = None -        while val is None: -            try: -                val = get_env_var(env_var) -                if val is not None: -                    return val -            except: -                pass -            server_dir = os.getcwd() -            env_path = os.path.join(server_dir, ".env") -            await self.ide.setFileOpen(env_path) -            await self.append_to_file(env_path, f'\n{env_var}="<ENTER SECRET HERE>"') -            await self.run_step(WaitForUserConfirmationStep(prompt=prompt)) -            val = get_env_var(env_var) - -        return val +        return await self.ide.getUserSecret(env_var)      async def get_config(self) -> ContinueConfig:          dir = await self.ide.getWorkspaceDirectory() diff --git a/continuedev/src/continuedev/server/ide.py b/continuedev/src/continuedev/server/ide.py index 71017ce0..eec5b607 100644 --- a/continuedev/src/continuedev/server/ide.py +++ b/continuedev/src/continuedev/server/ide.py @@ -40,46 +40,42 @@ Server.handle_exit = AppStatus.handle_exit  class FileEditsUpdate(BaseModel): -    messageType: str = "fileEdits"      fileEdits: List[FileEditWithFullContents]  class OpenFilesResponse(BaseModel): -    messageType: str = "openFiles"      openFiles: List[str]  class HighlightedCodeResponse(BaseModel): -    messageType: str = "highlightedCode"      highlightedCode: List[RangeInFile]  class ShowSuggestionRequest(BaseModel): -    messageType: str = "showSuggestion"      suggestion: FileEdit  class ShowSuggestionResponse(BaseModel): -    messageType: str = "showSuggestion"      suggestion: FileEdit      accepted: bool  class ReadFileResponse(BaseModel): -    messageType: str = "readFile"      contents: str  class EditFileResponse(BaseModel): -    messageType: str = "editFile"      fileEdit: FileEditWithFullContents  class WorkspaceDirectoryResponse(BaseModel): -    messageType: str = "workspaceDirectory"      workspaceDirectory: str +class GetUserSecretResponse(BaseModel): +    value: str + +  T = TypeVar("T", bound=BaseModel) @@ -114,7 +110,7 @@ class IdeProtocolServer(AbstractIdeProtocolServer):              fileEdits = list(                  map(lambda d: FileEditWithFullContents.parse_obj(d), data["fileEdits"]))              self.onFileEdits(fileEdits) -        elif message_type in ["highlightedCode", "openFiles", "readFile", "editFile", "workspaceDirectory"]: +        elif message_type in ["highlightedCode", "openFiles", "readFile", "editFile", "workspaceDirectory", "getUserSecret"]:              self.sub_queue.post(message_type, data)          else:              raise ValueError("Unknown message type", message_type) @@ -183,31 +179,31 @@ class IdeProtocolServer(AbstractIdeProtocolServer):      # Request information. Session doesn't matter.      async def getOpenFiles(self) -> List[str]: -        resp = await self._send_and_receive_json({ -            "messageType": "openFiles" -        }, OpenFilesResponse, "openFiles") +        resp = await self._send_and_receive_json({}, OpenFilesResponse, "openFiles")          return resp.openFiles      async def getWorkspaceDirectory(self) -> str: -        resp = await self._send_and_receive_json({ -            "messageType": "workspaceDirectory" -        }, WorkspaceDirectoryResponse, "workspaceDirectory") +        resp = await self._send_and_receive_json({}, WorkspaceDirectoryResponse, "workspaceDirectory")          return resp.workspaceDirectory      async def getHighlightedCode(self) -> List[RangeInFile]: -        resp = await self._send_and_receive_json({ -            "messageType": "highlightedCode" -        }, HighlightedCodeResponse, "highlightedCode") +        resp = await self._send_and_receive_json({}, HighlightedCodeResponse, "highlightedCode")          return resp.highlightedCode      async def readFile(self, filepath: str) -> str:          """Read a file"""          resp = await self._send_and_receive_json({ -            "messageType": "readFile",              "filepath": filepath          }, ReadFileResponse, "readFile")          return resp.contents +    async def getUserSecret(self, key: str) -> str: +        """Get a user secret""" +        resp = await self._send_and_receive_json({ +            "key": key +        }, GetUserSecretResponse, "getUserSecret") +        return resp.value +      async def saveFile(self, filepath: str):          """Save a file"""          await self._send_json("saveFile", { @@ -222,7 +218,6 @@ class IdeProtocolServer(AbstractIdeProtocolServer):      async def editFile(self, edit: FileEdit) -> FileEditWithFullContents:          """Edit a file"""          resp = await self._send_and_receive_json({ -            "messageType": "editFile",              "edit": edit.dict()          }, EditFileResponse, "editFile")          return resp.fileEdit diff --git a/continuedev/src/continuedev/server/ide_protocol.py b/continuedev/src/continuedev/server/ide_protocol.py index 4f505e80..8f155415 100644 --- a/continuedev/src/continuedev/server/ide_protocol.py +++ b/continuedev/src/continuedev/server/ide_protocol.py @@ -78,3 +78,7 @@ class AbstractIdeProtocolServer(ABC):      @abstractmethod      async def saveFile(self, filepath: str):          """Save a file""" + +    @abstractmethod +    async def getUserSecret(self, key: str): +        """Get a user secret""" diff --git a/continuedev/src/continuedev/steps/core/core.py b/continuedev/src/continuedev/steps/core/core.py index e54a9a21..0f513f3e 100644 --- a/continuedev/src/continuedev/steps/core/core.py +++ b/continuedev/src/continuedev/steps/core/core.py @@ -205,4 +205,5 @@ class WaitForUserConfirmationStep(Step):      async def run(self, sdk: ContinueSDK) -> Coroutine[Observation, None, None]:          self._description = self.prompt          resp = await sdk.wait_for_user_input() +        self.hide = True          return TextObservation(text=resp) diff --git a/continuedev/src/continuedev/steps/main.py b/continuedev/src/continuedev/steps/main.py index bb720b20..dfb4f3be 100644 --- a/continuedev/src/continuedev/steps/main.py +++ b/continuedev/src/continuedev/steps/main.py @@ -190,7 +190,7 @@ class FasterEditHighlightedCodeStep(Step):  class StarCoderEditHighlightedCodeStep(Step):      user_input: str -    name: str = "Editing code" +    name: str = "Editing Code"      hide = False      _prompt: str = "<commit_before>{code}<commit_msg>{user_request}<commit_after>" | 
