diff options
author | Nate Sesti <sestinj@gmail.com> | 2023-05-28 00:03:48 -0400 |
---|---|---|
committer | Nate Sesti <sestinj@gmail.com> | 2023-05-28 00:03:48 -0400 |
commit | 33027dab0031b4f499dd200737f314dac143ef4f (patch) | |
tree | 68184ff619ee41f4f082b54d458aac9d77171f32 | |
parent | 73b249132d551737e9e1dfa1b11dc40628c1cf07 (diff) | |
download | sncontinue-33027dab0031b4f499dd200737f314dac143ef4f.tar.gz sncontinue-33027dab0031b4f499dd200737f314dac143ef4f.tar.bz2 sncontinue-33027dab0031b4f499dd200737f314dac143ef4f.zip |
ContinueStepStep
-rw-r--r-- | continuedev/src/continuedev/core/policy.py | 4 | ||||
-rw-r--r-- | continuedev/src/continuedev/libs/steps/continue_step.py | 37 | ||||
-rw-r--r-- | continuedev/src/continuedev/libs/steps/react_posthog.py | 0 |
3 files changed, 41 insertions, 0 deletions
diff --git a/continuedev/src/continuedev/core/policy.py b/continuedev/src/continuedev/core/policy.py index 9e6abf14..5a6652f4 100644 --- a/continuedev/src/continuedev/core/policy.py +++ b/continuedev/src/continuedev/core/policy.py @@ -1,5 +1,6 @@ from typing import List, Tuple, Type + from ..models.main import ContinueBaseModel from ..libs.steps.ty import CreatePipelineStep @@ -8,6 +9,7 @@ from .observation import Observation, TracebackObservation, UserInputObservation from ..libs.steps.main import EditHighlightedCodeStep, SolveTracebackStep, RunCodeStep from ..libs.steps.nate import WritePytestsStep, CreateTableStep from ..libs.steps.chroma import AnswerQuestionChroma, EditFileChroma +from ..libs.steps.continue_step import ContinueStepStep class DemoPolicy(Policy): @@ -28,6 +30,8 @@ class DemoPolicy(Policy): return AnswerQuestionChroma(question=" ".join(observation.user_input.split(" ")[1:])) elif "/edit" in observation.user_input: return EditFileChroma(request=" ".join(observation.user_input.split(" ")[1:])) + elif "/step" in observation.user_input: + return ContinueStepStep(prompt=" ".join(observation.user_input.split(" ")[1:])) return EditHighlightedCodeStep(user_input=observation.user_input) state = history.get_current() diff --git a/continuedev/src/continuedev/libs/steps/continue_step.py b/continuedev/src/continuedev/libs/steps/continue_step.py new file mode 100644 index 00000000..253bb490 --- /dev/null +++ b/continuedev/src/continuedev/libs/steps/continue_step.py @@ -0,0 +1,37 @@ +from textwrap import dedent +from ...models.filesystem import RangeInFile +from .main import EditHighlightedCodeStep +from ...core.main import Step +from ...core.sdk import ContinueSDK + + +class ContinueStepStep(Step): + name: str = "Write your own Continue Step." + prompt: str + + async def run(self, sdk: ContinueSDK): + await sdk.run_step(EditHighlightedCodeStep(user_input=dedent(f"""\ + Here is an example of a Step that runs a command and then edits a file. + + ```python + from ...core.main import Step + from ...core.sdk import ContinueSDK + + class RunCommandAndEditFileStep(Step): + name: str = "Run a command and then edit a file." + command: str + file_path: str + prompt: str + + async def run(self, sdk: ContinueSDK): + await sdk.run([command]) + await sdk.edit_file(filename=self.file_path, prompt=self.prompt) + ``` + + Please edit the code to write your own Step that does the following: + + {self.prommpt} + + It should be a subclass of Step as above, implementing the `run` method, and using pydantic attributes to define the parameters. + + """))) diff --git a/continuedev/src/continuedev/libs/steps/react_posthog.py b/continuedev/src/continuedev/libs/steps/react_posthog.py new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/continuedev/src/continuedev/libs/steps/react_posthog.py |