summaryrefslogtreecommitdiff
path: root/continuedev/src/continuedev/libs/steps/continue_step.py
blob: 253bb49002d8ee96050db4564d9e36a6a29c9988 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
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.

        """)))