Commit graph

2106 commits

Author SHA1 Message Date
ofir-frd
9254225949
fix: add error handling for missing review data in PR reviewer 2025-04-03 13:23:41 +03:00
sharoneyal
14971c4f5f
Add support for documentation content exceeding token limits (#1670)
* - Add support for documentation content exceeding token limits via two phase operation:
1. Ask LLM to rank headings which are most likely to contain an answer to a user question
2. Provide the corresponding files for the LLM to search for an answer.

- Refactor of help_docs to make the code more readable
- For the purpose of getting canonical path: git providers to use default branch and not the PR's source branch.
- Refactor of token counting and making it clear on when an estimate factor will be used.

* Code review changes:
1. Correctly handle exception during retry_with_fallback_models (to allow fallback model to run in case of failure)
2. Better naming for default_branch in bitbucket cloud provider
2025-04-03 11:51:26 +03:00
mrT23
3b0225544a
Fix code example in PR reviewer prompts to correctly show added line 2025-04-02 08:23:01 +03:00
Jose Martinez
dbfc07ccc1 Update logging configuration to use dynamic log level from settings 2025-04-01 15:54:51 -05:00
Tal
e692735b7b
Merge pull request #1662 from qodo-ai/tr/more_protections
Tr/more protections gitlab
2025-03-31 14:02:33 +03:00
mrT23
20cb139161
Improve code suggestion prompt to clarify handling of partial code segments in PR reviews 2025-03-31 08:39:40 +03:00
mrT23
afa4adcb23
Improve code analysis instructions for handling partial code blocks in PR reviews 2025-03-30 09:00:45 +03:00
mrT23
7bd0fefee4
Fix GitLab protections function and return value in PR questions 2025-03-29 19:53:46 +03:00
mrT23
02d9aed7fe
Fix GitLab provider to use default branch instead of target branch for repo settings 2025-03-29 19:39:56 +03:00
mrT23
7d47bd5f5e
Add GitLab protections to prevent quick actions in PR questions 2025-03-29 19:35:39 +03:00
mrT23
ddf94c14a3
Add configuration option for PR Code Suggestions to control publishing when no suggestions found 2025-03-29 09:33:31 +03:00
Eyal Sharon
e422f50cfe Fix for bug in get_canonical_url_parts when a new issue created, without git url provided. 2025-03-27 17:29:02 +02:00
Eyal Sharon
991a866368 documents' link generation: Make sure prefix ends with '/' 2025-03-26 21:58:15 +02:00
Eyal Sharon
255e1d0fc1 Missing class member 2025-03-26 14:29:50 +02:00
Eyal Sharon
7117e9fe0e Github Provider: Support publishing a comment on a non pr issue 2025-03-26 13:36:37 +02:00
Tal
6f6595c343
Merge pull request #1634 from ishaansehgal99/main
fix: Logging and Commenting
2025-03-26 07:51:24 +02:00
Ishaan Sehgal
b300cfa84d
Improve error logging with artifacts 2025-03-25 22:49:24 -07:00
Eyal Sharon
605eef64e7 Generate git url correctly in case invoked from both user and GitHub app contexts 2025-03-25 12:08:00 +02:00
Eyal Sharon
b161672218 Remove redundant abstractmethod for _prepare_clone_url_with_token 2025-03-24 15:56:45 +02:00
Eyal Sharon
5bc253e1d9 Add token count estimation factor to config 2025-03-24 15:53:22 +02:00
Eyal Sharon
8495e4d549 More comprehensive handling in count_tokens(force_accurate==True): In case model is neither OpenAI nor Anthropic Claude, simply use an elbow room factor in order to force a more conservative estimate. 2025-03-24 15:47:35 +02:00
Eyal Sharon
fb324d106c Remove non implemented method _prepare_clone_url_with_token from providers which don't support it and instead, issue a warning in base class. 2025-03-24 14:06:06 +02:00
Eyal Sharon
a4387b5829 Fix more /improve suggestions 2025-03-24 11:19:23 +02:00
Eyal Sharon
477ebf4926 Code recommendations from /improve 2025-03-24 10:54:50 +02:00
Eyal Sharon
e14fc7e02d Fix missing self.bearer_token for bitbucket related providers 2025-03-24 10:21:23 +02:00
Eyal Sharon
1bd65934df Merge origin/main into es/help_docs 2025-03-23 20:04:58 +02:00
Eyal Sharon
88a17848eb - Documentation
- Better error handling in case could not deduce repo url
2025-03-23 20:04:33 +02:00
Eyal Sharon
dd80276f3f Support cloning repo
Support forcing accurate token calculation (claude)
Help docs: Add desired branch in case of user supplied git repo, with default set to "main"
Better documentation for getting canonical url parts
2025-03-23 09:55:58 +02:00
cdornano
e925f31ac0
Update azuredevops_provider.py
Will make qodo agent comments "Active" by default, and not "ByDesign" which is renders to "unknown" on Azure DevOps PRs. With this, PR authors are obliged to treat the PR comment of the qodo agent before Merging. This will help companies in analysing the impact of qodo agent on their PR, as every comment needs to be treated as either "Resolved" "Won't fix" "Close"
2025-03-21 12:57:03 +00:00
Eyal Sharon
5e7e353670 Added help_docs feature. 2025-03-20 23:48:01 +02:00
ishaansehgal99
52d4312c9a fix: Logging and Commenting 2025-03-20 13:59:43 -07:00
Ishaan Sehgal
8ec6067b26
Merge branch 'qodo-ai:main' into main 2025-03-20 13:57:46 -07:00
ishaansehgal99
bc575e5a67 fix: Logging and Commenting 2025-03-20 13:55:07 -07:00
mrT23
b087458e33
Merge remote-tracking branch 'origin/main' 2025-03-20 21:49:27 +02:00
mrT23
6610921bba
cleanup 2025-03-20 21:49:19 +02:00
Ikko Eltociear Ashimine
fa77828db2
chore: update pr_reviewer_prompts.toml
minor fix
2025-03-18 03:52:36 +09:00
mrT23
1724a65ab2
docs: remove similar issues tool from documentation 2025-03-16 08:58:02 +02:00
mrT23
29e28056db
refactor: move response_language config to group with other language settings 2025-03-15 09:58:20 +02:00
mrT23
507cd6e675
skip in PR config 2025-03-15 09:56:57 +02:00
mrT23
f5e381e1b2
Add fallback for YAML parsing using original response text 2025-03-11 17:11:10 +02:00
mrT23
2cacaf56b0
Reduce collapsible_file_list_threshold from 8 to 6 2025-03-11 17:08:26 +02:00
mrT23
9a574e0caa
Add filter for files with bad extensions in language handler 2025-03-11 17:03:05 +02:00
mrT23
0f33750035
Remove unused filter_bad_extensions function and rename diff_files_original to diff_files 2025-03-11 16:56:41 +02:00
mrT23
4713175fcf
Update code suggestion evaluation criteria and line number descriptions 2025-03-11 16:50:42 +02:00
mrT23
d16012a568
Add decoupled and non-decoupled modes for code suggestions 2025-03-11 16:46:53 +02:00
mrT23
f5bd98a3b9
Add check for auto-generated files in language handler 2025-03-11 14:37:45 +02:00
Kenny Dizi
ffefcb8a04 Fix default value for extended_thinking_max_output_tokens 2025-03-11 17:48:12 +07:00
mrT23
35bb2b31e3
feat: add enable_comment_approval to encoded forbidden args 2025-03-10 12:10:19 +02:00
Tal
20d709075c
Merge pull request #1613 from qodo-ai/hl/update_auto_approve_docs
docs: update auto-approval documentation with clearer configuration
2025-03-10 11:56:48 +02:00
Tal
52c99e3f7b
Merge pull request #1605 from KennyDizi/main
Support extended thinking for model `claude-3-7-sonnet-20250219`
2025-03-09 17:03:37 +02:00
Hussam.lawen
884b49dd84
Add encoded: enable_manual_approval 2025-03-09 17:01:04 +02:00
Kenny Dizi
222155e4f2 Optimize logging 2025-03-08 08:53:29 +07:00
Kenny Dizi
f9d5e72058 Move logic to _configure_claude_extended_thinking 2025-03-08 08:35:34 +07:00
Tal
2619ff3eb3
Merge pull request #1612 from congziqi77/main
fix: repeat processing files to ignore
2025-03-07 21:08:46 +02:00
Tal
15e8167115
Update configuration.toml 2025-03-07 18:22:26 +02:00
Kenny Dizi
a8935dece3 Using 2048 for extended_thinking_budget_tokens as well as extended_thinking_max_output_tokens 2025-03-07 17:27:56 +07:00
congziqi
fd12191fcf fix: repeat processing files to ignore 2025-03-07 09:11:43 +08:00
muhammad-asn
4f2551e0a6 feat: add DeepInfra support 2025-03-06 15:49:07 +07:00
mrT23
4c0e371238
fix: validate one-liner suggestions to prevent repeating existing code 2025-03-06 08:18:52 +02:00
Kenny Dizi
30bf7572b0 Validate extended thinking parameters 2025-03-03 18:44:26 +07:00
Kenny Dizi
440d2368a4 Set temperature to 1 when using extended thinking 2025-03-03 18:30:52 +07:00
Kenny Dizi
215c10cc8c Add thinking block to request parameters 2025-03-03 18:29:33 +07:00
Kenny Dizi
7623e1a419 Removed trailing spaces 2025-03-03 18:23:45 +07:00
Kenny Dizi
5e30e190b8 Define models that support extended thinking feature 2025-03-03 18:22:31 +07:00
Kenny Dizi
5447dd2ac6 Add support claude extended thinking configurations 2025-03-03 18:21:57 +07:00
atsushi-ishibashi
8e6267b0e6 chore: bedrock/us.anthropic.claude-3-7-sonnet-20250219-v1:0 2025-03-02 08:44:23 +09:00
mrT23
7cf521c001
fix: improve null safety in GitLab webhook handler 2025-02-27 11:53:11 +02:00
mrT23
8182a4afc0
docs: update default model to o3-mini and improve language configuration instructions 2025-02-27 11:06:31 +02:00
mrT23
3817aa2868
fix: remove redundant temperature logging in litellm handler 2025-02-27 10:55:01 +02:00
mrT23
94a8606d24
fix: update default configuration values for publishing and verbosity 2025-02-27 10:52:20 +02:00
mrT23
af635650f1
fix: improve response language handling and configuration documentation 2025-02-27 10:50:28 +02:00
Tal
9a32e94b3e
Merge pull request #1579 from qodo-ai/response-language-configuration
Add a language configuration to translate language generated by QodoM…
2025-02-27 08:01:13 +02:00
Tal
48b3c69c10
Merge pull request #1575 from GOOD21/feature/draft-ready-trigger
gitlab webhook automatically trigger pr_command when MR changes from Draft to Ready
2025-02-27 07:57:12 +02:00
mrT23
64e5a87530
fix: improve error handling and null safety in PR description tool 2025-02-26 21:33:40 +02:00
mrT23
9a9acef0e8
fix: handle empty commits and errors in GitLab provider's get_latest_commit_url 2025-02-26 21:24:53 +02:00
Hussam Lawen
c7f4b87d6f
Merge pull request #1583 from qodo-ai/hl/enhance_azure_devops
feat: enhance Azure DevOps integration with improved error handling a…
2025-02-26 17:17:31 +02:00
Hussam Lawen
9db44b5f5f
Update pr_agent/servers/azuredevops_server_webhook.py
Co-authored-by: qodo-merge-pro-for-open-source[bot] <189517486+qodo-merge-pro-for-open-source[bot]@users.noreply.github.com>
2025-02-26 17:16:07 +02:00
Hussam.lawen
70a2377ac9
fix: make Azure DevOps webhook handler asynchronous 2025-02-26 17:13:38 +02:00
Hussam.lawen
52a68bcd44
fix: adjust newline formatting in issue details summary 2025-02-26 16:49:44 +02:00
Hussam.lawen
0a4c02c8b3
feat: enhance Azure DevOps integration with improved error handling and PR commands 2025-02-26 16:40:46 +02:00
AdamWalker-112358
e253f18e7f Remove default configuration 2025-02-26 14:43:56 +02:00
AdamWalker-112358
d6b6191f90 Remove uneccessary hardcoded configurations list 2025-02-26 14:42:32 +02:00
AdamWalker-112358
de80901284 Add a language configuration to translate language generated by QodoMerge, such as suggestions and desciption text 2025-02-26 14:37:15 +02:00
GOOD21
dfbd8dad5d Automatically trigger pr_command when MR changes from Draft to Ready 2025-02-26 18:12:48 +08:00
Tal
d6f405dd0d
Merge pull request #1564 from chandan84/fix/support_litellm_extra_headers
Fix/support litellm extra headers
2025-02-26 10:15:22 +02:00
Tal
25ba9414fe
Merge pull request #1561 from KennyDizi/main
Support reasoning effort via configuration
2025-02-26 10:13:05 +02:00
chandan84
93e34703ab
Update litellm_ai_handler.py
updates made based on review on https://github.com/qodo-ai/pr-agent/pull/1564
2025-02-25 14:44:03 -05:00
Tal
c6a6a2f352
Merge pull request #1570 from hirobf10/support-claude-3-7
feat: support Claude 3.7 Sonnet
2025-02-25 10:49:42 +02:00
Hiroyuki Otomo
1dc3db7322
Update pr_agent/algo/__init__.py
Co-authored-by: qodo-merge-pro-for-open-source[bot] <189517486+qodo-merge-pro-for-open-source[bot]@users.noreply.github.com>
2025-02-25 16:51:55 +09:00
Hiroyuki Otomo
049fc558a8
Update pr_agent/algo/__init__.py
Co-authored-by: qodo-merge-pro-for-open-source[bot] <189517486+qodo-merge-pro-for-open-source[bot]@users.noreply.github.com>
2025-02-25 16:51:50 +09:00
Hiroyuki Otomo
2dc89d0998
Update pr_agent/algo/__init__.py
Co-authored-by: qodo-merge-pro-for-open-source[bot] <189517486+qodo-merge-pro-for-open-source[bot]@users.noreply.github.com>
2025-02-25 16:51:39 +09:00
Tal
444910868e
Merge pull request #1555 from GOOD21/fix/push-events
Enhanced gitlab webhook handling for push events without object_attributes
2025-02-25 07:56:03 +02:00
Hiroyuki Otomo
a24b06b253 feat: support Claude 3.7 Sonnet 2025-02-25 12:58:20 +09:00
Tal
393516f746
Merge pull request #1556 from benedict-lee/main
Fix prompt to not output diff prefixes in existing_code,improved_code pydantic definitions
2025-02-24 22:10:30 +02:00
mrT23
56250f5ea8
feat: improve patch extension with new file content comparison 2025-02-24 11:46:12 +02:00
Benedict Lee
7b1df82c05
rollback : pr_code_suggestions_prompts.toml 2025-02-24 09:30:00 +09:00
Benedict Lee
05960f2c3f
rollback : pr_code_suggestions_prompts.toml 2025-02-24 09:15:51 +09:00
Benedict Lee
feb306727e
fix : refine handling of leading '+' in response text 2025-02-24 09:15:00 +09:00
Kenny Dizi
ebdbde1bca
Merge branch 'main' into main 2025-02-23 21:26:44 +07:00
mrT23
f0b52870a2
docs: update auto-approval feature documentation and configuration 2025-02-23 08:34:16 +02:00
mrT23
a0dc9deb30
docs: add auto-approval configuration documentation 2025-02-23 08:15:14 +02:00
chandan84
84983f3e9d line 253-261, pass extra_headers fields from settings to litellm, exception handling to check if extra_headers is in dict format 2025-02-22 14:56:17 -05:00
chandan84
71451de156
Update litellm_ai_handler.py
line 253-258, pass extra_headers fields from settings to litellm, exception handling to check if extra_headers is in dict format
2025-02-22 14:43:03 -05:00
chandan84
0e4a1d9ab8 line 253-258, pass extra_headers fields from settings to litellm, exception handling to check if extra_headers is in dict format 2025-02-22 14:38:38 -05:00
chandan84
e7b05732f8 line 253-255, pass extra_headers fields from settings to litellm 2025-02-22 14:12:39 -05:00
Trung Dinh
37083ae354 Improve logging for adding parameters: temperature and reasoning_effort 2025-02-22 22:19:58 +07:00
Trung Dinh
9abb212e83 Add reasoning_effort argument to chat completion request 2025-02-21 22:16:18 +07:00
Trung Dinh
e81b0dca30 Support reasoning_effort via configuration file 2025-02-21 22:14:58 +07:00
Trung Dinh
d37732c25d Define ReasoningEffort enum 2025-02-21 22:10:49 +07:00
Trung Dinh
e6b6e28d6b Define SUPPORT_REASONING_EFFORT_MODELS list 2025-02-21 22:10:33 +07:00
Tal
ac3dbdf5fc
Merge pull request #1529 from WonOfAKind/feature/sub-issues-ticket-1499
Added sub-issue fetching to enhance PR analysis
2025-02-21 09:42:18 +02:00
GOOD21
f143a24879 remove unnecessary code 2025-02-21 13:35:48 +08:00
GOOD21
347af1dd99 use merge_request with oldrev instead of push 2025-02-21 13:24:20 +08:00
Hussam Lawen
d91245a9d3
Update pr_agent/git_providers/github_provider.py
Co-authored-by: qodo-merge-pro-for-open-source[bot] <189517486+qodo-merge-pro-for-open-source[bot]@users.noreply.github.com>
2025-02-20 20:12:49 +02:00
Hussam Lawen
bfdaac0a05
Update pr_agent/git_providers/github_provider.py
Co-authored-by: qodo-merge-pro-for-open-source[bot] <189517486+qodo-merge-pro-for-open-source[bot]@users.noreply.github.com>
2025-02-20 20:11:25 +02:00
Wonchae Lee
183d2965d0
Update pr_agent/tools/ticket_pr_compliance_check.py
Co-authored-by: qodo-merge-pro-for-open-source[bot] <189517486+qodo-merge-pro-for-open-source[bot]@users.noreply.github.com>
2025-02-20 12:53:26 -05:00
Wonchae Lee
86647810e0
Update pr_agent/tools/ticket_pr_compliance_check.py
Co-authored-by: qodo-merge-pro-for-open-source[bot] <189517486+qodo-merge-pro-for-open-source[bot]@users.noreply.github.com>
2025-02-20 12:53:17 -05:00
Wonchae Lee
56978d9793
Update pr_agent/git_providers/github_provider.py
Co-authored-by: qodo-merge-pro-for-open-source[bot] <189517486+qodo-merge-pro-for-open-source[bot]@users.noreply.github.com>
2025-02-20 12:32:29 -05:00
Wonchae Lee
6433e827f4
Update pr_agent/git_providers/github_provider.py
Co-authored-by: qodo-merge-pro-for-open-source[bot] <189517486+qodo-merge-pro-for-open-source[bot]@users.noreply.github.com>
2025-02-20 12:32:22 -05:00
Wonchae Lee
c0e78ba522
Update pr_agent/git_providers/github_provider.py
Co-authored-by: qodo-merge-pro-for-open-source[bot] <189517486+qodo-merge-pro-for-open-source[bot]@users.noreply.github.com>
2025-02-20 12:32:14 -05:00
Wonchae Lee
45d776a1f7
Update pr_agent/git_providers/github_provider.py
Co-authored-by: qodo-merge-pro-for-open-source[bot] <189517486+qodo-merge-pro-for-open-source[bot]@users.noreply.github.com>
2025-02-20 12:32:06 -05:00
Wonchae Lee
6e19e77e5e
Update pr_agent/git_providers/github_provider.py
Co-authored-by: qodo-merge-pro-for-open-source[bot] <189517486+qodo-merge-pro-for-open-source[bot]@users.noreply.github.com>
2025-02-20 12:31:25 -05:00
mrT23
2887d0a7ed
refactor: move CLI argument validation to dedicated class 2025-02-20 17:51:16 +02:00
mrT23
a07f6855cb
feat: add current date to PR review metadata 2025-02-20 16:44:45 +02:00
Benedict Lee
237a6ffb5f
fix : existing and improved code fields to clarify formatting requirements 2025-02-20 11:52:53 +09:00
GOOD21
5e1cc12df4 Enhanced webhook handling for push events without object_attributes 2025-02-20 10:47:21 +08:00
Tal
35059cadf7
Update pr_agent/algo/ai_handlers/litellm_ai_handler.py
Co-authored-by: qodo-merge-pro-for-open-source[bot] <189517486+qodo-merge-pro-for-open-source[bot]@users.noreply.github.com>
2025-02-18 11:50:48 +02:00
Tal
0317951e32
Update pr_agent/settings/configuration.toml
Co-authored-by: qodo-merge-pro-for-open-source[bot] <189517486+qodo-merge-pro-for-open-source[bot]@users.noreply.github.com>
2025-02-18 11:48:25 +02:00
mrT23
4edb8b89d1
feat: add support for custom reasoning models 2025-02-18 11:46:22 +02:00
Yu Ishikawa
22f02ac08c Support generally available gemini-2.0-flash
Signed-off-by: Yu Ishikawa <yu-iskw@users.noreply.github.com>
2025-02-17 08:40:05 +09:00
Trung Dinh
adfc2a6b69 Add temperature only if model supports it 2025-02-16 15:43:40 +07:00
Trung Dinh
c4aa13e798 Add o1-preview model to USER_MESSAGE_ONLY_MODELS and NO_SUPPORT_TEMPERATURE_MODELS 2025-02-16 15:18:52 +07:00
Trung Dinh
90575e3f0d Add NO_SUPPORT_TEMPERATURE_MODELS list 2025-02-16 15:17:59 +07:00
Trung Dinh
fcbe986ec7 Removed o3 model from USER_MESSAGE_ONLY_MODELS 2025-02-16 15:17:12 +07:00
Trung Dinh
061fec0d36 Removed o1 model from USER_MESSAGE_ONLY_MODELS 2025-02-16 15:15:50 +07:00
Tal
359c963ad1
Merge pull request #1531 from hi120ki/add-pull-request-target-event
Add : pull_request_target event on GitHub Actions integration
2025-02-15 08:08:20 +02:00
mrT23
b989f41b96
fix: correct typo in help tool message ("be" -> "can be") 2025-02-13 11:48:07 +02:00
mrT23
26168a605b
fix: correct typo in help tool message ("be" -> "can be") 2025-02-13 11:47:21 +02:00
mrT23
2c37b02aa0
feat: improve help tool with markdown header formatting and error handling 2025-02-13 11:44:50 +02:00
mrT23
279c6ead8f
fix: update review effort label format to use X/5 notation 2025-02-13 08:41:25 +02:00
Hi120ki
c9500cf796
Add : pull_request_target event on GitHub Actions integration
Signed-off-by: Hi120ki <12624257+hi120ki@users.noreply.github.com>
2025-02-13 12:03:30 +09:00
WonOfAKind
0f63d8685f Added sub-issue fetching to enhance PR analysis 2025-02-12 19:40:36 -05:00
mrT23
69f19f1abd
feat: improve code suggestions impact levels with configurable thresholds 2025-02-05 09:41:01 +02:00
mrT23
400146985a
feat: improve code suggestions table with impact levels and styling 2025-02-05 09:31:32 +02:00
mrT23
24bf875db6
fix: handle GitHub permission errors when editing comments 2025-02-03 07:51:44 +02:00
Tal
d8fba02b48
Merge pull request #1509 from KennyDizi/main
Define user_message_only_models list for using user prompt only model
2025-02-02 16:14:05 +02:00
Trung Dinh
a6482c37ce Add o3-mini to user message only model list 2025-02-02 18:03:38 +07:00
Trung Dinh
83582bc935 Add support o3-mini model 2025-02-02 18:02:53 +07:00
Trung Dinh
4ac1e15bae Refactoring user messages only flow 2025-02-02 18:01:44 +07:00
Trung Dinh
a48686bde9 Define USER_MESSAGE_ONLY_MODELS in the algo init file 2025-02-02 18:01:16 +07:00