diff options
author | Nate Sesti <sestinj@gmail.com> | 2023-06-12 22:14:46 -0700 |
---|---|---|
committer | Nate Sesti <sestinj@gmail.com> | 2023-06-12 22:14:46 -0700 |
commit | 0a7ca710ae4af16933ef128d13c050b99912e71a (patch) | |
tree | 2a467f6ec14d9961cb91583a92281fc197a5a13b /continuedev/src | |
parent | 297511b5e3ba67e3c37e5cb4c038186093da6a95 (diff) | |
download | sncontinue-0a7ca710ae4af16933ef128d13c050b99912e71a.tar.gz sncontinue-0a7ca710ae4af16933ef128d13c050b99912e71a.tar.bz2 sncontinue-0a7ca710ae4af16933ef128d13c050b99912e71a.zip |
added slash commands, patched
Diffstat (limited to 'continuedev/src')
5 files changed, 23 insertions, 13 deletions
diff --git a/continuedev/src/continuedev/core/config.py b/continuedev/src/continuedev/core/config.py index cf723984..ed056be9 100644 --- a/continuedev/src/continuedev/core/config.py +++ b/continuedev/src/continuedev/core/config.py @@ -43,6 +43,16 @@ class ContinueConfig(BaseModel): description="Deploy a dlt pipeline to Airflow", step_name="DeployPipelineAirflowRecipe", ), + SlashCommand( + name="comment", + description="Write comments for the current file or highlighted code", + step_name="CommentCodeStep", + ), + SlashCommand( + name="pytest", + description="Write pytest unit tests for the current file", + step_name="WritePytestsRecipe", + ) ] diff --git a/continuedev/src/continuedev/core/policy.py b/continuedev/src/continuedev/core/policy.py index 37a10e36..51135f70 100644 --- a/continuedev/src/continuedev/core/policy.py +++ b/continuedev/src/continuedev/core/policy.py @@ -41,15 +41,11 @@ class DemoPolicy(Policy): after_command = " ".join(user_input.split(" ")[1:]) for slash_command in config.slash_commands: if slash_command.name == command_name[1:]: - return get_step_from_name(slash_command.step_name, slash_command.params) + params = slash_command.params + params["user_input"] = after_command + return get_step_from_name(slash_command.step_name, params) - if "/pytest" in user_input.lower(): - return WritePytestsRecipe(instructions=user_input) - if "/pytest" in observation.user_input.lower(): - return WritePytestsRecipe(instructions=observation.user_input) - elif "/comment" in observation.user_input.lower(): - return CommentCodeStep() - elif "/ask" in user_input: + if "/ask" in user_input: return AnswerQuestionChroma(question=" ".join(user_input.split(" ")[1:])) elif "/edit" in user_input: return EditFileChroma(request=" ".join(user_input.split(" ")[1:])) diff --git a/continuedev/src/continuedev/libs/util/step_name_to_steps.py b/continuedev/src/continuedev/libs/util/step_name_to_steps.py index 4023b73b..fe784964 100644 --- a/continuedev/src/continuedev/libs/util/step_name_to_steps.py +++ b/continuedev/src/continuedev/libs/util/step_name_to_steps.py @@ -7,6 +7,8 @@ from ...recipes.DDtoBQRecipe.main import DDtoBQRecipe from ...recipes.DeployPipelineAirflowRecipe.main import DeployPipelineAirflowRecipe from ...recipes.DDtoBQRecipe.main import DDtoBQRecipe from ...recipes.AddTransformRecipe.main import AddTransformRecipe +from ...recipes.WritePytestsRecipe.main import WritePytestsRecipe +from ...steps.comment_code import CommentCodeStep step_name_to_step_class = { "UserInputStep": UserInputStep, @@ -14,7 +16,9 @@ step_name_to_step_class = { "DDtoBQRecipe": DDtoBQRecipe, "DeployPipelineAirflowRecipe": DeployPipelineAirflowRecipe, "AddTransformRecipe": AddTransformRecipe, - "DDtoBQRecipe": DDtoBQRecipe + "DDtoBQRecipe": DDtoBQRecipe, + "WritePytestsRecipe": WritePytestsRecipe, + "CommentCodeStep": CommentCodeStep, } diff --git a/continuedev/src/continuedev/recipes/WritePytestsRecipe/main.py b/continuedev/src/continuedev/recipes/WritePytestsRecipe/main.py index 5994aa89..a19caf8b 100644 --- a/continuedev/src/continuedev/recipes/WritePytestsRecipe/main.py +++ b/continuedev/src/continuedev/recipes/WritePytestsRecipe/main.py @@ -7,7 +7,7 @@ import os class WritePytestsRecipe(Step): for_filepath: Union[str, None] = None - instructions: str = "Write unit tests for this file." + user_input: str = "Write unit tests for this file." async def run(self, sdk: ContinueSDK): if self.for_filepath is None: @@ -35,7 +35,7 @@ class WritePytestsRecipe(Step): Here are additional instructions: - "{self.instructions}" + "{self.user_input}" Here is a complete set of pytest unit tests:""") tests = sdk.models.gpt35.complete(prompt) diff --git a/continuedev/src/continuedev/steps/comment_code.py b/continuedev/src/continuedev/steps/comment_code.py index c538347b..aa17e62c 100644 --- a/continuedev/src/continuedev/steps/comment_code.py +++ b/continuedev/src/continuedev/steps/comment_code.py @@ -1,5 +1,5 @@ from ..core.main import ContinueSDK, Models, Step -from .main import StarCoderEditHighlightedCodeStep +from .main import EditHighlightedCodeStep class CommentCodeStep(Step): @@ -9,4 +9,4 @@ class CommentCodeStep(Step): return "Writing comments" async def run(self, sdk: ContinueSDK): - await sdk.run_step(StarCoderEditHighlightedCodeStep(user_input="Wrote comprehensive comments in the canonical format for every class and function")) + await sdk.run_step(EditHighlightedCodeStep(user_input="Write comprehensive comments in the canonical format for every class and function")) |