mirror of
https://github.com/qodo-ai/pr-agent.git
synced 2025-07-15 18:20:37 +08:00
Automatically enable improve extended mode for large PRs
This commit is contained in:
@ -71,6 +71,10 @@ include_improved_code = true
|
||||
extra_instructions = ""
|
||||
rank_suggestions = false
|
||||
# params for '/improve --extended' mode
|
||||
auto_extended_mode=true
|
||||
auto_extended_mode_min_files=1
|
||||
auto_extended_mode_min_additions=500
|
||||
auto_extended_mode_min_deletions=0
|
||||
num_code_suggestions_per_chunk=8
|
||||
rank_extended_suggestions = true
|
||||
max_number_of_calls = 5
|
||||
|
@ -26,7 +26,7 @@ class PRCodeSuggestions:
|
||||
|
||||
# extended mode
|
||||
try:
|
||||
self.is_extended = any(["extended" in arg for arg in args])
|
||||
self.is_extended = self._get_is_extended(args or [])
|
||||
except:
|
||||
self.is_extended = False
|
||||
if self.is_extended:
|
||||
@ -206,6 +206,21 @@ class PRCodeSuggestions:
|
||||
|
||||
return new_code_snippet
|
||||
|
||||
def _get_is_extended(self, args: list[str]) -> bool:
|
||||
"""Check if extended mode should be enabled by the `--extended` flag or automatically according to the PR"""
|
||||
if any(["extended" in arg for arg in args]):
|
||||
get_logger().info("Extended mode is enabled by the `--extended` flag")
|
||||
return True
|
||||
if (
|
||||
get_settings().pr_code_suggestions.auto_extended_mode
|
||||
and self.git_provider.pr.changed_files >= get_settings().pr_code_suggestions.auto_extended_mode_min_files
|
||||
and self.git_provider.pr.additions >= get_settings().pr_code_suggestions.auto_extended_mode_min_additions
|
||||
and self.git_provider.pr.deletions >= get_settings().pr_code_suggestions.auto_extended_mode_min_deletions
|
||||
):
|
||||
get_logger().info("Extended mode is enabled automatically based on the PR size")
|
||||
return True
|
||||
return False
|
||||
|
||||
async def _prepare_prediction_extended(self, model: str) -> dict:
|
||||
get_logger().info('Getting PR diff...')
|
||||
patches_diff_list = get_pr_multi_diffs(self.git_provider, self.token_handler, model,
|
||||
|
Reference in New Issue
Block a user