summaryrefslogtreecommitdiff
path: root/continuedev/src
diff options
context:
space:
mode:
authorNate Sesti <sestinj@gmail.com>2023-07-04 13:43:09 -0700
committerNate Sesti <sestinj@gmail.com>2023-07-04 13:43:09 -0700
commit4b1d10f3bae1f1c80ecf74993f18f318c7b22b7f (patch)
tree14fea811fe4778e38aadacb6289a7b33a10e0829 /continuedev/src
parent7336c1cec7475f3b17d1860f11461e2f23a24049 (diff)
downloadsncontinue-4b1d10f3bae1f1c80ecf74993f18f318c7b22b7f.tar.gz
sncontinue-4b1d10f3bae1f1c80ecf74993f18f318c7b22b7f.tar.bz2
sncontinue-4b1d10f3bae1f1c80ecf74993f18f318c7b22b7f.zip
many fixes
Diffstat (limited to 'continuedev/src')
-rw-r--r--continuedev/src/continuedev/core/autopilot.py11
-rw-r--r--continuedev/src/continuedev/core/main.py7
-rw-r--r--continuedev/src/continuedev/core/sdk.py13
-rw-r--r--continuedev/src/continuedev/steps/chat.py1
4 files changed, 24 insertions, 8 deletions
diff --git a/continuedev/src/continuedev/core/autopilot.py b/continuedev/src/continuedev/core/autopilot.py
index 05e48f40..313ceded 100644
--- a/continuedev/src/continuedev/core/autopilot.py
+++ b/continuedev/src/continuedev/core/autopilot.py
@@ -144,9 +144,7 @@ class Autopilot(ContinueBaseModel):
async def handle_highlighted_code(self, range_in_files: List[RangeInFileWithContents]):
workspace_path = self.continue_sdk.ide.workspace_directory
for rif in range_in_files:
- rif.filepath = os.path.relpath(rif.filepath, workspace_path)
- if rif.filepath.startswith(".."):
- rif.filepath = os.path.basename(rif.filepath)
+ rif.filepath = os.path.basename(rif.filepath)
# If current range overlaps with any others, delete them and only keep the new range
new_ranges = []
@@ -156,6 +154,13 @@ class Autopilot(ContinueBaseModel):
if rif.filepath == new_rif.filepath and rif.range.overlaps_with(new_rif.range):
found_overlap = True
break
+
+ # Also don't allow multiple ranges in same file with same content. This is useless to the model, and avoids
+ # the bug where cmd+f causes repeated highlights
+ if rif.filepath == new_rif.filepath and rif.contents == new_rif.contents:
+ found_overlap = True
+ break
+
if not found_overlap:
new_ranges.append(rif)
diff --git a/continuedev/src/continuedev/core/main.py b/continuedev/src/continuedev/core/main.py
index 9a6617f4..8bad09d1 100644
--- a/continuedev/src/continuedev/core/main.py
+++ b/continuedev/src/continuedev/core/main.py
@@ -107,11 +107,9 @@ class HistoryNode(ContinueBaseModel):
return self.step.chat_context
return self.step.chat_context + [
ChatMessage(
- role="function",
+ role="assistant",
name=self.step.__class__.__name__,
- content=json.dumps({
- "description": self.step.description or "Function complete",
- }),
+ content=self.step.description or f"Ran function {self.step.name}",
summary=f"Called function {self.step.name}"
)]
@@ -200,6 +198,7 @@ class SlashCommandDescription(ContinueBaseModel):
name: str
description: str
+
class FullState(ContinueBaseModel):
"""A full state of the program, including the history"""
history: History
diff --git a/continuedev/src/continuedev/core/sdk.py b/continuedev/src/continuedev/core/sdk.py
index 988ac6b0..fe975b99 100644
--- a/continuedev/src/continuedev/core/sdk.py
+++ b/continuedev/src/continuedev/core/sdk.py
@@ -97,7 +97,18 @@ class ContinueSDK(AbstractContinueSDK):
async def _ensure_absolute_path(self, path: str) -> str:
if os.path.isabs(path):
return path
- return os.path.join(self.ide.workspace_directory, path)
+
+ # Else if in workspace
+ workspace_path = os.path.join(self.ide.workspace_directory, path)
+ if os.path.exists(workspace_path):
+ return workspace_path
+ else:
+ # Check if it matches any of the open files, then use that absolute path
+ open_files = await self.ide.getOpenFiles()
+ for open_file in open_files:
+ if os.path.basename(open_file) == os.path.basename(path):
+ return open_file
+ raise Exception(f"Path {path} does not exist")
async def run_step(self, step: Step) -> Coroutine[Observation, None, None]:
return await self.__autopilot._run_singular_step(step)
diff --git a/continuedev/src/continuedev/steps/chat.py b/continuedev/src/continuedev/steps/chat.py
index 49dd98e4..db3f9d7f 100644
--- a/continuedev/src/continuedev/steps/chat.py
+++ b/continuedev/src/continuedev/steps/chat.py
@@ -149,6 +149,7 @@ class ChatWithFunctions(Step):
name: str = "Input"
manage_own_chat_context: bool = True
description: str = ""
+ hide: bool = True
async def run(self, sdk: ContinueSDK):
await sdk.update_ui()