diff options
Diffstat (limited to 'continuedev')
-rw-r--r-- | continuedev/src/continuedev/core/autopilot.py | 7 | ||||
-rw-r--r-- | continuedev/src/continuedev/server/gui.py | 8 | ||||
-rw-r--r-- | continuedev/src/continuedev/server/ide.py | 4 | ||||
-rw-r--r-- | continuedev/src/continuedev/server/main.py | 45 |
4 files changed, 12 insertions, 52 deletions
diff --git a/continuedev/src/continuedev/core/autopilot.py b/continuedev/src/continuedev/core/autopilot.py index 99b9185f..0b296432 100644 --- a/continuedev/src/continuedev/core/autopilot.py +++ b/continuedev/src/continuedev/core/autopilot.py @@ -1,7 +1,7 @@ from functools import cached_property import traceback import time -from typing import Any, Callable, Coroutine, Dict, List, Union +from typing import Callable, Coroutine, Dict, List, Union from aiohttp import ClientPayloadError from pydantic import root_validator @@ -66,6 +66,8 @@ class Autopilot(ContinueBaseModel): _user_input_queue = AsyncSubscriptionQueue() _retry_queue = AsyncSubscriptionQueue() + started: bool = False + async def start(self): self.continue_sdk = await ContinueSDK.create(self) if override_policy := self.continue_sdk.config.policy_override: @@ -79,6 +81,7 @@ class Autopilot(ContinueBaseModel): ]) await self.context_manager.load_index(self.ide.workspace_directory) + self.started = True class Config: arbitrary_types_allowed = True @@ -201,7 +204,7 @@ class Autopilot(ContinueBaseModel): await self.update_subscribers() async def set_editing_at_ids(self, ids: List[str]): - self.context_manager.context_providers["code"].set_editing_at_ids(ids) + await self.context_manager.context_providers["code"].set_editing_at_ids(ids) await self.update_subscribers() async def _run_singular_step(self, step: "Step", is_future_step: bool = False) -> Coroutine[Observation, None, None]: diff --git a/continuedev/src/continuedev/server/gui.py b/continuedev/src/continuedev/server/gui.py index 57ecceb2..7c89c5c2 100644 --- a/continuedev/src/continuedev/server/gui.py +++ b/continuedev/src/continuedev/server/gui.py @@ -93,8 +93,8 @@ class GUIProtocolServer(AbstractGUIProtocolServer): self.on_delete_context_with_ids(data["ids"]) elif message_type == "toggle_adding_highlighted_code": self.on_toggle_adding_highlighted_code() - elif message_type == "set_editing_at_indices": - self.on_set_editing_at_indices(data["indices"]) + elif message_type == "set_editing_at_ids": + self.on_set_editing_at_ids(data["ids"]) elif message_type == "show_logs_at_index": self.on_show_logs_at_index(data["index"]) elif message_type == "select_context_item": @@ -138,9 +138,9 @@ class GUIProtocolServer(AbstractGUIProtocolServer): create_async_task( self.session.autopilot.toggle_adding_highlighted_code(), self.on_error) - def on_set_editing_at_indices(self, indices: List[int]): + def on_set_editing_at_ids(self, ids: List[str]): create_async_task( - self.session.autopilot.set_editing_at_indices(indices), self.on_error) + self.session.autopilot.set_editing_at_ids(ids), self.on_error) def on_show_logs_at_index(self, index: int): name = f"continue_logs.txt" diff --git a/continuedev/src/continuedev/server/ide.py b/continuedev/src/continuedev/server/ide.py index b026f4f2..9797a8b7 100644 --- a/continuedev/src/continuedev/server/ide.py +++ b/continuedev/src/continuedev/server/ide.py @@ -309,7 +309,9 @@ class IdeProtocolServer(AbstractIdeProtocolServer): def __get_autopilot(self): if self.session_id not in self.session_manager.sessions: return None - return self.session_manager.sessions[self.session_id].autopilot + + autopilot = self.session_manager.sessions[self.session_id].autopilot + return autopilot if autopilot.started else None def onFileEdits(self, edits: List[FileEditWithFullContents]): if autopilot := self.__get_autopilot(): diff --git a/continuedev/src/continuedev/server/main.py b/continuedev/src/continuedev/server/main.py index 468bc855..f8dfb009 100644 --- a/continuedev/src/continuedev/server/main.py +++ b/continuedev/src/continuedev/server/main.py @@ -1,5 +1,4 @@ import asyncio -import sys import time import psutil import os @@ -8,13 +7,11 @@ from fastapi.middleware.cors import CORSMiddleware import atexit import uvicorn import argparse -import logging.config from .ide import router as ide_router from .gui import router as gui_router from .session_manager import session_manager -from ..libs.util.paths import getLogFilePath from ..libs.util.logging import logger app = FastAPI() @@ -38,25 +35,6 @@ def health(): return {"status": "ok"} -class Logger(object): - def __init__(self, log_file: str): - self.terminal = sys.stdout - self.log = open(log_file, "a") - - def write(self, message): - self.terminal.write(message) - self.log.write(message) - - def flush(self): - # this flush method is needed for python 3 compatibility. - # this handles the flush command by doing nothing. - # you might want to specify some extra behavior here. - pass - - def isatty(self): - return False - - try: # add cli arg for server port parser = argparse.ArgumentParser() @@ -71,7 +49,6 @@ except Exception as e: def run_server(): config = uvicorn.Config(app, host="127.0.0.1", port=args.port) server = uvicorn.Server(config) - server.run() @@ -87,32 +64,10 @@ def cleanup(): loop.close() -def cpu_usage_report(): - process = psutil.Process(os.getpid()) - # Call cpu_percent once to start measurement, but ignore the result - process.cpu_percent(interval=None) - # Wait for a short period of time - time.sleep(1) - # Call cpu_percent again to get the CPU usage over the interval - cpu_usage = process.cpu_percent(interval=None) - logger.debug(f"CPU usage: {cpu_usage}%") - - atexit.register(cleanup) if __name__ == "__main__": try: - # Uncomment to get CPU usage reports - # import threading - - # def cpu_usage_loop(): - # while True: - # cpu_usage_report() - # time.sleep(2) - - # cpu_thread = threading.Thread(target=cpu_usage_loop) - # cpu_thread.start() - run_server() except Exception as e: logger.debug(f"Error starting Continue server: {e}") |