summaryrefslogtreecommitdiff
path: root/continuedev/src/continuedev/server
diff options
context:
space:
mode:
authorNate Sesti <sestinj@gmail.com>2023-08-18 15:17:04 -0700
committerNate Sesti <sestinj@gmail.com>2023-08-18 15:17:04 -0700
commit70370bf0d033c2575c84ffe10c9e5c484bbad54f (patch)
treebe55005a3ef2867594a432ea12786098ae6a6c94 /continuedev/src/continuedev/server
parentab7a90a0972188dcc7b8c28b1263c918776ca19d (diff)
downloadsncontinue-70370bf0d033c2575c84ffe10c9e5c484bbad54f.tar.gz
sncontinue-70370bf0d033c2575c84ffe10c9e5c484bbad54f.tar.bz2
sncontinue-70370bf0d033c2575c84ffe10c9e5c484bbad54f.zip
style: :art: autoformat with black on all python files
Diffstat (limited to 'continuedev/src/continuedev/server')
-rw-r--r--continuedev/src/continuedev/server/gui_protocol.py4
-rw-r--r--continuedev/src/continuedev/server/ide_protocol.py6
-rw-r--r--continuedev/src/continuedev/server/main.py21
-rw-r--r--continuedev/src/continuedev/server/meilisearch_server.py20
-rw-r--r--continuedev/src/continuedev/server/session_manager.py57
5 files changed, 65 insertions, 43 deletions
diff --git a/continuedev/src/continuedev/server/gui_protocol.py b/continuedev/src/continuedev/server/gui_protocol.py
index 990833be..d079475c 100644
--- a/continuedev/src/continuedev/server/gui_protocol.py
+++ b/continuedev/src/continuedev/server/gui_protocol.py
@@ -1,7 +1,5 @@
-from typing import Any, Dict, List
from abc import ABC, abstractmethod
-
-from ..core.context import ContextItem
+from typing import Any
class AbstractGUIProtocolServer(ABC):
diff --git a/continuedev/src/continuedev/server/ide_protocol.py b/continuedev/src/continuedev/server/ide_protocol.py
index 72b410d4..f63fecf8 100644
--- a/continuedev/src/continuedev/server/ide_protocol.py
+++ b/continuedev/src/continuedev/server/ide_protocol.py
@@ -1,10 +1,10 @@
+from abc import ABC, abstractmethod
from typing import Any, List, Union
-from abc import ABC, abstractmethod, abstractproperty
+
from fastapi import WebSocket
-from ..models.main import Traceback
-from ..models.filesystem_edit import FileEdit, FileSystemEdit, EditDiff
from ..models.filesystem import RangeInFile, RangeInFileWithContents
+from ..models.filesystem_edit import EditDiff, FileEdit, FileSystemEdit
class AbstractIdeProtocolServer(ABC):
diff --git a/continuedev/src/continuedev/server/main.py b/continuedev/src/continuedev/server/main.py
index f0a3f094..00ded6f1 100644
--- a/continuedev/src/continuedev/server/main.py
+++ b/continuedev/src/continuedev/server/main.py
@@ -1,18 +1,16 @@
+import argparse
import asyncio
-import time
-import psutil
-import os
-from fastapi import FastAPI
-from fastapi.middleware.cors import CORSMiddleware
import atexit
-import uvicorn
-import argparse
+import uvicorn
+from fastapi import FastAPI
+from fastapi.middleware.cors import CORSMiddleware
-from .ide import router as ide_router
-from .gui import router as gui_router
-from .session_manager import session_manager, router as sessions_router
from ..libs.util.logging import logger
+from .gui import router as gui_router
+from .ide import router as ide_router
+from .session_manager import router as sessions_router
+from .session_manager import session_manager
app = FastAPI()
@@ -39,8 +37,7 @@ def health():
try:
# add cli arg for server port
parser = argparse.ArgumentParser()
- parser.add_argument("-p", "--port", help="server port",
- type=int, default=65432)
+ parser.add_argument("-p", "--port", help="server port", type=int, default=65432)
args = parser.parse_args()
except Exception as e:
logger.debug(f"Error parsing command line arguments: {e}")
diff --git a/continuedev/src/continuedev/server/meilisearch_server.py b/continuedev/src/continuedev/server/meilisearch_server.py
index f47c08ca..98b48685 100644
--- a/continuedev/src/continuedev/server/meilisearch_server.py
+++ b/continuedev/src/continuedev/server/meilisearch_server.py
@@ -5,8 +5,8 @@ import subprocess
from meilisearch_python_async import Client
-from ..libs.util.paths import getServerFolderPath
from ..libs.util.logging import logger
+from ..libs.util.paths import getServerFolderPath
def ensure_meilisearch_installed() -> bool:
@@ -43,7 +43,11 @@ def ensure_meilisearch_installed() -> bool:
# Download MeiliSearch
logger.debug("Downloading MeiliSearch...")
subprocess.run(
- f"curl -L https://install.meilisearch.com | sh", shell=True, check=True, cwd=serverPath)
+ "curl -L https://install.meilisearch.com | sh",
+ shell=True,
+ check=True,
+ cwd=serverPath,
+ )
return False
@@ -56,7 +60,7 @@ async def check_meilisearch_running() -> bool:
"""
try:
- async with Client('http://localhost:7700') as client:
+ async with Client("http://localhost:7700") as client:
try:
resp = await client.health()
if resp.status != "available":
@@ -96,5 +100,11 @@ async def start_meilisearch():
# Check if MeiliSearch is running
if not await check_meilisearch_running() or not was_already_installed:
logger.debug("Starting MeiliSearch...")
- subprocess.Popen(["./meilisearch", "--no-analytics"], cwd=serverPath, stdout=subprocess.DEVNULL,
- stderr=subprocess.STDOUT, close_fds=True, start_new_session=True)
+ subprocess.Popen(
+ ["./meilisearch", "--no-analytics"],
+ cwd=serverPath,
+ stdout=subprocess.DEVNULL,
+ stderr=subprocess.STDOUT,
+ close_fds=True,
+ start_new_session=True,
+ )
diff --git a/continuedev/src/continuedev/server/session_manager.py b/continuedev/src/continuedev/server/session_manager.py
index 88ac13f6..6f4e4a87 100644
--- a/continuedev/src/continuedev/server/session_manager.py
+++ b/continuedev/src/continuedev/server/session_manager.py
@@ -1,20 +1,23 @@
+import json
import os
import traceback
-from fastapi import WebSocket, APIRouter
from typing import Any, Coroutine, Dict, Optional, Union
from uuid import uuid4
-import json
+from fastapi import APIRouter, WebSocket
from fastapi.websockets import WebSocketState
-from ..plugins.steps.core.core import MessageStep
-from ..libs.util.paths import getSessionFilePath, getSessionsFolderPath, getSessionsListFilePath
-from ..core.main import FullState, HistoryNode, SessionInfo
from ..core.autopilot import Autopilot
-from .ide_protocol import AbstractIdeProtocolServer
+from ..core.main import FullState
from ..libs.util.create_async_task import create_async_task
from ..libs.util.errors import SessionNotFound
from ..libs.util.logging import logger
+from ..libs.util.paths import (
+ getSessionFilePath,
+ getSessionsFolderPath,
+ getSessionsListFilePath,
+)
+from .ide_protocol import AbstractIdeProtocolServer
router = APIRouter(prefix="/sessions", tags=["sessions"])
@@ -42,14 +45,21 @@ class SessionManager:
# And only if the IDE is still alive
sessions_folder = getSessionsFolderPath()
session_files = os.listdir(sessions_folder)
- if f"{session_id}.json" in session_files and session_id in self.registered_ides:
+ if (
+ f"{session_id}.json" in session_files
+ and session_id in self.registered_ides
+ ):
if self.registered_ides[session_id].session_id is not None:
- return await self.new_session(self.registered_ides[session_id], session_id=session_id)
+ return await self.new_session(
+ self.registered_ides[session_id], session_id=session_id
+ )
raise KeyError("Session ID not recognized", session_id)
return self.sessions[session_id]
- async def new_session(self, ide: AbstractIdeProtocolServer, session_id: Optional[str] = None) -> Session:
+ async def new_session(
+ self, ide: AbstractIdeProtocolServer, session_id: Optional[str] = None
+ ) -> Session:
logger.debug(f"New session: {session_id}")
# Load the persisted state (not being used right now)
@@ -68,9 +78,9 @@ class SessionManager:
# Set up the autopilot to update the GUI
async def on_update(state: FullState):
- await session_manager.send_ws_data(session_id, "state_update", {
- "state": state.dict()
- })
+ await session_manager.send_ws_data(
+ session_id, "state_update", {"state": state.dict()}
+ )
autopilot.on_update(on_update)
@@ -81,7 +91,7 @@ class SessionManager:
await ide.on_error(e)
def on_error(e: Exception) -> Coroutine:
- err_msg = '\n'.join(traceback.format_exception(e))
+ err_msg = "\n".join(traceback.format_exception(e))
return ide.showMessage(f"Error in Continue server: {err_msg}")
create_async_task(autopilot.run_policy(), on_error)
@@ -90,9 +100,15 @@ class SessionManager:
async def remove_session(self, session_id: str):
logger.debug(f"Removing session: {session_id}")
if session_id in self.sessions:
- if session_id in self.registered_ides and self.registered_ides[session_id] is not None:
+ if (
+ session_id in self.registered_ides
+ and self.registered_ides[session_id] is not None
+ ):
ws_to_close = self.registered_ides[session_id].websocket
- if ws_to_close is not None and ws_to_close.client_state != WebSocketState.DISCONNECTED:
+ if (
+ ws_to_close is not None
+ and ws_to_close.client_state != WebSocketState.DISCONNECTED
+ ):
await self.sessions[session_id].autopilot.ide.websocket.close()
del self.sessions[session_id]
@@ -117,7 +133,9 @@ class SessionManager:
with open(getSessionsListFilePath(), "w") as f:
json.dump(sessions_list, f)
- async def load_session(self, old_session_id: str, new_session_id: Optional[str] = None) -> str:
+ async def load_session(
+ self, old_session_id: str, new_session_id: Optional[str] = None
+ ) -> str:
"""Load the session's FullState from a json file"""
# First persist the current state
@@ -142,10 +160,9 @@ class SessionManager:
# logger.debug(f"Session {session_id} has no websocket")
return
- await self.sessions[session_id].ws.send_json({
- "messageType": message_type,
- "data": data
- })
+ await self.sessions[session_id].ws.send_json(
+ {"messageType": message_type, "data": data}
+ )
session_manager = SessionManager()