diff options
author | Nate Sesti <sestinj@gmail.com> | 2023-06-16 11:55:15 -0700 |
---|---|---|
committer | Nate Sesti <sestinj@gmail.com> | 2023-06-16 11:55:15 -0700 |
commit | f6d940dead08bc065de7717d440bd98d8fc60c79 (patch) | |
tree | b244918482b88a8b6cb01e7fd36efb10bb1e9c6c /continuedev/src | |
parent | 149db209603c5de16d4135f1fdc4f19104974861 (diff) | |
download | sncontinue-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.py | 2 | ||||
-rw-r--r-- | continuedev/src/continuedev/core/sdk.py | 2 | ||||
-rw-r--r-- | continuedev/src/continuedev/steps/on_traceback.py | 9 |
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}""")) |