summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNate Sesti <sestinj@gmail.com>2023-05-28 00:03:48 -0400
committerNate Sesti <sestinj@gmail.com>2023-05-28 00:03:48 -0400
commit33027dab0031b4f499dd200737f314dac143ef4f (patch)
tree68184ff619ee41f4f082b54d458aac9d77171f32
parent73b249132d551737e9e1dfa1b11dc40628c1cf07 (diff)
downloadsncontinue-33027dab0031b4f499dd200737f314dac143ef4f.tar.gz
sncontinue-33027dab0031b4f499dd200737f314dac143ef4f.tar.bz2
sncontinue-33027dab0031b4f499dd200737f314dac143ef4f.zip
ContinueStepStep
-rw-r--r--continuedev/src/continuedev/core/policy.py4
-rw-r--r--continuedev/src/continuedev/libs/steps/continue_step.py37
-rw-r--r--continuedev/src/continuedev/libs/steps/react_posthog.py0
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