diff --git a/pr_agent/algo/utils.py b/pr_agent/algo/utils.py index 595ac6a92..725d75ec5 100644 --- a/pr_agent/algo/utils.py +++ b/pr_agent/algo/utils.py @@ -261,7 +261,7 @@ def update_settings_from_args(args: List[str]) -> List[str]: def load_yaml(review_text: str) -> dict: - review_text = review_text.lstrip('```yaml').rstrip('`') + review_text = review_text.removeprefix('```yaml').rstrip('`') try: data = yaml.load(review_text, Loader=yaml.SafeLoader) except Exception as e: diff --git a/pr_agent/servers/help.py b/pr_agent/servers/help.py index 838645f5b..1c8e1c3f9 100644 --- a/pr_agent/servers/help.py +++ b/pr_agent/servers/help.py @@ -3,7 +3,8 @@ "> **/describe**: Modify the PR title and description based on the contents of the PR.\n" \ "> **/improve**: Suggest improvements to the code in the PR. \n" \ "> **/ask \\**: Pose a question about the PR.\n\n" \ - ">To edit any configuration parameter from 'configuration.toml', add --config_path=new_value\n" \ + "> **/update_changelog**: Update the changelog based on the PR's contents.\n\n" \ + ">To edit any configuration parameter from **configuration.toml**, add --config_path=new_value\n" \ ">For example: /review --pr_reviewer.extra_instructions=\"focus on the file: ...\" \n" \ ">To list the possible configuration parameters, use the **/config** command.\n" \ diff --git a/pr_agent/settings/pr_description_prompts.toml b/pr_agent/settings/pr_description_prompts.toml index 1fab0bdc6..43dd8e3b6 100644 --- a/pr_agent/settings/pr_description_prompts.toml +++ b/pr_agent/settings/pr_description_prompts.toml @@ -3,7 +3,7 @@ system="""You are CodiumAI-PR-Reviewer, a language model designed to review git Your task is to provide full description of the PR content. - Make sure not to focus the new PR code (the '+' lines). - Notice that the 'Previous title', 'Previous description' and 'Commit messages' sections may be partial, simplistic, non-informative or not up-to-date. Hence, compare them to the PR diff code, and use them only as a reference. - +- If needed, each YAML output should be in block scalar format ('|-') {%- if extra_instructions %} Extra instructions from the user: @@ -33,7 +33,7 @@ PR Description: PR Main Files Walkthrough: type: array maxItems: 10 - description: >- + description: |- a walkthrough of the PR changes. Review main files, and shortly describe the changes in each file (up to 10 most important files). items: filename: @@ -46,10 +46,12 @@ PR Main Files Walkthrough: Example output: ```yaml -PR Title: ... +PR Title: |- + ... PR Type: - Bug fix -PR Description: ... +PR Description: |- + ... PR Main Files Walkthrough: - ... - ... diff --git a/pr_agent/settings/pr_reviewer_prompts.toml b/pr_agent/settings/pr_reviewer_prompts.toml index e649bf2db..cdf7f731e 100644 --- a/pr_agent/settings/pr_reviewer_prompts.toml +++ b/pr_agent/settings/pr_reviewer_prompts.toml @@ -7,6 +7,7 @@ Your task is to provide constructive and concise feedback for the PR, and also p - Suggestions should focus on improving the new added code lines. - Make sure not to provide suggestions repeating modifications already implemented in the new PR code (the '+' lines). {%- endif %} +- If needed, each YAML output should be in block scalar format ('|-') {%- if extra_instructions %} @@ -78,7 +79,7 @@ PR Feedback: description: the relevant file full path suggestion: type: string - description: >- + description: | a concrete suggestion for meaningfully improving the new PR code. Also describe how, specifically, the suggestion can be applied to new PR code. Add tags with importance measure that matches each suggestion @@ -86,10 +87,10 @@ PR Feedback: adding docstrings, renaming PR title and description, or linter like. relevant line: type: string - description: >- - a single code line taken from the relevant file, to which the - suggestion applies. The line should be a '+' line. Make sure to output - the line exactly as it appears in the relevant file + description: | + a single code line taken from the relevant file, to which the suggestion applies. + The line should be a '+' line. + Make sure to output the line exactly as it appears in the relevant file {%- endif %} {%- if require_security %} Security concerns: diff --git a/pr_agent/tools/pr_reviewer.py b/pr_agent/tools/pr_reviewer.py index 8986fc0cb..fd6479aef 100644 --- a/pr_agent/tools/pr_reviewer.py +++ b/pr_agent/tools/pr_reviewer.py @@ -237,7 +237,7 @@ def _publish_inline_code_comments(self) -> None: return review_text = self.prediction.strip() - review_text = review_text.lstrip('```yaml').rstrip('`') + review_text = review_text.removeprefix('```yaml').rstrip('`') try: data = yaml.load(review_text, Loader=SafeLoader) except Exception as e: