summaryrefslogtreecommitdiff
path: root/continuedev/src
diff options
context:
space:
mode:
authorNate Sesti <sestinj@gmail.com>2023-06-16 11:55:15 -0700
committerNate Sesti <sestinj@gmail.com>2023-06-16 11:55:15 -0700
commitf6d940dead08bc065de7717d440bd98d8fc60c79 (patch)
treeb244918482b88a8b6cb01e7fd36efb10bb1e9c6c /continuedev/src
parent149db209603c5de16d4135f1fdc4f19104974861 (diff)
downloadsncontinue-f6d940dead08bc065de7717d440bd98d8fc60c79.tar.gz
sncontinue-f6d940dead08bc065de7717d440bd98d8fc60c79.tar.bz2
sncontinue-f6d940dead08bc065de7717d440bd98d8fc60c79.zip
patch and get file content in DefaultOnTracebackStep
Diffstat (limited to 'continuedev/src')
-rw-r--r--continuedev/src/continuedev/core/abstract_sdk.py2
-rw-r--r--continuedev/src/continuedev/core/sdk.py2
-rw-r--r--continuedev/src/continuedev/steps/on_traceback.py9
3 files changed, 11 insertions, 2 deletions
diff --git a/continuedev/src/continuedev/core/abstract_sdk.py b/continuedev/src/continuedev/core/abstract_sdk.py
index 0658f1b8..017e75ef 100644
--- a/continuedev/src/continuedev/core/abstract_sdk.py
+++ b/continuedev/src/continuedev/core/abstract_sdk.py
@@ -85,7 +85,7 @@ class AbstractContinueSDK(ABC):
pass
@abstractmethod
- def add_chat_context(self, content: str, role: ChatMessageRole = "assistent"):
+ def add_chat_context(self, content: str, role: ChatMessageRole = "assistant"):
pass
@abstractmethod
diff --git a/continuedev/src/continuedev/core/sdk.py b/continuedev/src/continuedev/core/sdk.py
index 8aea6b7f..7639d010 100644
--- a/continuedev/src/continuedev/core/sdk.py
+++ b/continuedev/src/continuedev/core/sdk.py
@@ -165,7 +165,7 @@ class ContinueSDK(AbstractContinueSDK):
def raise_exception(self, message: str, title: str, with_step: Union[Step, None] = None):
raise ContinueCustomException(message, title, with_step)
- def add_chat_context(self, content: str, summary: Union[str, None] = None, role: ChatMessageRole = "assistent"):
+ def add_chat_context(self, content: str, summary: Union[str, None] = None, role: ChatMessageRole = "assistant"):
self.history.timeline[self.history.current_index].step.chat_context.append(
ChatMessage(content=content, role=role, summary=summary))
diff --git a/continuedev/src/continuedev/steps/on_traceback.py b/continuedev/src/continuedev/steps/on_traceback.py
index a0c4d07b..053b4ef4 100644
--- a/continuedev/src/continuedev/steps/on_traceback.py
+++ b/continuedev/src/continuedev/steps/on_traceback.py
@@ -1,3 +1,4 @@
+import os
from ..core.main import Step
from ..core.sdk import ContinueSDK
from .chat import SimpleChatStep
@@ -9,6 +10,14 @@ class DefaultOnTracebackStep(Step):
hide: bool = True
async def run(self, sdk: ContinueSDK):
+ # Add context for any files in the traceback that are in the workspace
+ for line in self.output.split("\n"):
+ segs = line.split(" ")
+ for seg in segs:
+ if seg.startswith(os.path.sep) and os.path.exists(seg) and os.path.commonprefix([seg, sdk.ide.workspace_directory]) == sdk.ide.workspace_directory:
+ file_contents = await sdk.ide.readFile(seg)
+ await sdk.add_chat_context(f"The contents of {seg}:\n```\n{file_contents}\n```", "", "user")
+
await sdk.run_step(SimpleChatStep(
name="Help With Traceback",
user_input=f"""I got the following error, can you please help explain how to fix it?\n\n{self.output}"""))