summaryrefslogtreecommitdiff
path: root/continuedev/src/continuedev/server
diff options
context:
space:
mode:
authorNate Sesti <sestinj@gmail.com>2023-06-03 11:33:05 -0400
committerNate Sesti <sestinj@gmail.com>2023-06-03 11:33:05 -0400
commitb2fbe075b5ba91636d643f88be1c04ea576e2622 (patch)
tree000a5262118f2479f5ee41b7bae37e8133d11dbd /continuedev/src/continuedev/server
parent917ba983d604bf9f590265b38e65be5c75643828 (diff)
downloadsncontinue-b2fbe075b5ba91636d643f88be1c04ea576e2622.tar.gz
sncontinue-b2fbe075b5ba91636d643f88be1c04ea576e2622.tar.bz2
sncontinue-b2fbe075b5ba91636d643f88be1c04ea576e2622.zip
API tokens set through global Vsc settings
Diffstat (limited to 'continuedev/src/continuedev/server')
-rw-r--r--continuedev/src/continuedev/server/ide.py35
-rw-r--r--continuedev/src/continuedev/server/ide_protocol.py4
2 files changed, 19 insertions, 20 deletions
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"""