summaryrefslogtreecommitdiff
path: root/continuedev
diff options
context:
space:
mode:
Diffstat (limited to 'continuedev')
-rw-r--r--continuedev/src/continuedev/core/autopilot.py25
-rw-r--r--continuedev/src/continuedev/server/gui.py7
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(