diff options
author | Nate Sesti <sestinj@gmail.com> | 2023-08-20 20:02:07 -0700 |
---|---|---|
committer | Nate Sesti <sestinj@gmail.com> | 2023-08-20 20:02:07 -0700 |
commit | c98f860460767fe14f8fbf139150b1bd1ee2ff12 (patch) | |
tree | 6a88fb4aaa733892d9409324f66505c4263c7c19 /continuedev/src/continuedev/server | |
parent | 84ec574e182ec441e95d13c3543a934e0a036228 (diff) | |
download | sncontinue-c98f860460767fe14f8fbf139150b1bd1ee2ff12.tar.gz sncontinue-c98f860460767fe14f8fbf139150b1bd1ee2ff12.tar.bz2 sncontinue-c98f860460767fe14f8fbf139150b1bd1ee2ff12.zip |
feat: :sparkles: saved context groups
Diffstat (limited to 'continuedev/src/continuedev/server')
-rw-r--r-- | continuedev/src/continuedev/server/gui.py | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/continuedev/src/continuedev/server/gui.py b/continuedev/src/continuedev/server/gui.py index 7497e777..a4c45a06 100644 --- a/continuedev/src/continuedev/server/gui.py +++ b/continuedev/src/continuedev/server/gui.py @@ -8,6 +8,7 @@ from pydantic import BaseModel from starlette.websockets import WebSocketDisconnect, WebSocketState from uvicorn.main import Server +from ..core.main import ContextItem from ..libs.util.create_async_task import create_async_task from ..libs.util.logging import logger from ..libs.util.queue import AsyncSubscriptionQueue @@ -104,6 +105,12 @@ class GUIProtocolServer(AbstractGUIProtocolServer): self.load_session(data.get("session_id", None)) elif message_type == "edit_step_at_index": self.edit_step_at_index(data.get("user_input", ""), data["index"]) + elif message_type == "save_context_group": + self.save_context_group( + data["title"], [ContextItem(**item) for item in data["context_items"]] + ) + elif message_type == "select_context_group": + self.select_context_group(data["id"]) def on_main_input(self, input: str): # Do something with user input @@ -186,6 +193,17 @@ class GUIProtocolServer(AbstractGUIProtocolServer): posthog_logger.capture_event("load_session", {"session_id": session_id}) + def save_context_group(self, title: str, context_items: List[ContextItem]): + create_async_task( + self.session.autopilot.save_context_group(title, context_items), + self.on_error, + ) + + def select_context_group(self, id: str): + create_async_task( + self.session.autopilot.select_context_group(id), self.on_error + ) + @router.websocket("/ws") async def websocket_endpoint( |