diff options
Diffstat (limited to 'continuedev')
-rw-r--r-- | continuedev/src/continuedev/core/autopilot.py | 25 | ||||
-rw-r--r-- | continuedev/src/continuedev/server/gui.py | 7 |
2 files changed, 27 insertions, 5 deletions
diff --git a/continuedev/src/continuedev/core/autopilot.py b/continuedev/src/continuedev/core/autopilot.py index 2e255198..05a8a8f2 100644 --- a/continuedev/src/continuedev/core/autopilot.py +++ b/continuedev/src/continuedev/core/autopilot.py @@ -544,11 +544,7 @@ class Autopilot(ContinueBaseModel): _saved_context_groups: Dict[str, List[ContextItem]] = {} - async def save_context_group(self, title: str, context_items: List[ContextItem]): - self._saved_context_groups[title] = context_items - await self.update_subscribers() - - # Update saved context groups + def _persist_context_groups(self): context_groups_file = getSavedContextGroupsPath() if os.path.exists(context_groups_file): with open(context_groups_file, "w") as f: @@ -558,6 +554,13 @@ class Autopilot(ContinueBaseModel): } json.dump(dict_to_save, f) + async def save_context_group(self, title: str, context_items: List[ContextItem]): + self._saved_context_groups[title] = context_items + await self.update_subscribers() + + # Update saved context groups + self._persist_context_groups() + posthog_logger.capture_event( "save_context_group", {"title": title, "length": len(context_items)} ) @@ -575,3 +578,15 @@ class Autopilot(ContinueBaseModel): posthog_logger.capture_event( "select_context_group", {"title": id, "length": len(context_group)} ) + + async def delete_context_group(self, id: str): + if id not in self._saved_context_groups: + logger.warning(f"Context group {id} not found") + return + del self._saved_context_groups[id] + await self.update_subscribers() + + # Update saved context groups + self._persist_context_groups() + + posthog_logger.capture_event("delete_context_group", {"title": id}) diff --git a/continuedev/src/continuedev/server/gui.py b/continuedev/src/continuedev/server/gui.py index a4c45a06..5589284a 100644 --- a/continuedev/src/continuedev/server/gui.py +++ b/continuedev/src/continuedev/server/gui.py @@ -111,6 +111,8 @@ class GUIProtocolServer(AbstractGUIProtocolServer): ) elif message_type == "select_context_group": self.select_context_group(data["id"]) + elif message_type == "delete_context_group": + self.delete_context_group(data["id"]) def on_main_input(self, input: str): # Do something with user input @@ -204,6 +206,11 @@ class GUIProtocolServer(AbstractGUIProtocolServer): self.session.autopilot.select_context_group(id), self.on_error ) + def delete_context_group(self, id: str): + create_async_task( + self.session.autopilot.delete_context_group(id), self.on_error + ) + @router.websocket("/ws") async def websocket_endpoint( |