summaryrefslogtreecommitdiff
path: root/continuedev/src/continuedev/server
diff options
context:
space:
mode:
authorNate Sesti <sestinj@gmail.com>2023-08-20 20:02:07 -0700
committerNate Sesti <sestinj@gmail.com>2023-08-20 20:02:07 -0700
commitc98f860460767fe14f8fbf139150b1bd1ee2ff12 (patch)
tree6a88fb4aaa733892d9409324f66505c4263c7c19 /continuedev/src/continuedev/server
parent84ec574e182ec441e95d13c3543a934e0a036228 (diff)
downloadsncontinue-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.py18
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(