summaryrefslogtreecommitdiff
path: root/continuedev
diff options
context:
space:
mode:
Diffstat (limited to 'continuedev')
-rw-r--r--continuedev/src/continuedev/core/autopilot.py2
-rw-r--r--continuedev/src/continuedev/core/sdk.py3
-rw-r--r--continuedev/src/continuedev/steps/core/core.py4
3 files changed, 7 insertions, 2 deletions
diff --git a/continuedev/src/continuedev/core/autopilot.py b/continuedev/src/continuedev/core/autopilot.py
index a6e688ae..17eb70b3 100644
--- a/continuedev/src/continuedev/core/autopilot.py
+++ b/continuedev/src/continuedev/core/autopilot.py
@@ -121,7 +121,7 @@ class Autopilot(ContinueBaseModel):
# If a parent step is deleted/cancelled, don't run this step
last_depth = self._step_depth
i = self.history.current_index
- while i >= 0 and self.history.timeline[i].depth == last_depth + 1:
+ while i >= 0 and self.history.timeline[i].depth == last_depth - 1:
if self.history.timeline[i].deleted:
return None
last_depth = self.history.timeline[i].depth
diff --git a/continuedev/src/continuedev/core/sdk.py b/continuedev/src/continuedev/core/sdk.py
index d6acc404..8b82aee0 100644
--- a/continuedev/src/continuedev/core/sdk.py
+++ b/continuedev/src/continuedev/core/sdk.py
@@ -207,3 +207,6 @@ class ContinueSDK(AbstractContinueSDK):
async def clear_history(self):
await self.__autopilot.clear_history()
+
+ def current_step_was_deleted(self):
+ return self.history.timeline[self.history.current_index].deleted
diff --git a/continuedev/src/continuedev/steps/core/core.py b/continuedev/src/continuedev/steps/core/core.py
index ae58cc99..4ec8fe9e 100644
--- a/continuedev/src/continuedev/steps/core/core.py
+++ b/continuedev/src/continuedev/steps/core/core.py
@@ -323,9 +323,11 @@ class DefaultModelEditCodeStep(Step):
current_block_lines.append(line)
async for chunk in model_to_use.stream_chat(prompt, with_history=await sdk.get_chat_context(), temperature=0):
- # Stop early if it is repeating the file_suffix
+ # Stop early if it is repeating the file_suffix or the step was deleted
if repeating_file_suffix:
break
+ if sdk.current_step_was_deleted():
+ return
# Accumulate lines
chunk_lines = chunk.split("\n")