Commit graph

411 commits

Author SHA1 Message Date
mrT23
ed78bfd946
use_collapsible_file_list 2024-01-04 10:27:07 +02:00
mrT23
4204d78d7e
feat: Remove file walkthrough feature from PR agent 2024-01-04 09:59:44 +02:00
mrT23
3c2ed8bbf1
feat: Remove file walkthrough feature from PR agent 2024-01-04 09:42:15 +02:00
zmeir
2f9fbbf0ac Prevent reducing the number of suggestions if already low enough 2024-01-03 16:43:39 +02:00
zmeir
0189e12fb1 Automatically enable improve extended mode for large PRs 2024-01-03 16:43:38 +02:00
KennyDizi
37b040b50a Use 'and' in lieu of '&' operator 2023-12-27 10:17:08 +07:00
KennyDizi
31168cd7de Get PR review enable help text from setting 2023-12-27 10:12:41 +07:00
mrT23
a6764c9058
feat: Update help text addition condition in pr_reviewer.py 2023-12-26 09:25:15 +02:00
mrT23
a854e1a408
feat: Refactor help text addition in pr_reviewer.py and update tool names in README.md 2023-12-26 09:18:38 +02:00
PrashantDixit-dev
1d435ef3fa removed comments 2023-12-25 00:45:24 +05:30
PrashantDixit-dev
1632696c2f Merge branch 'main' of github.com:PrashantDixit0/pr-agent 2023-12-25 00:41:28 +05:30
PrashantDixit-dev
d8d954bb0f lancedb integration 2023-12-25 00:38:24 +05:30
mrT23
e698c7e2f3
Merge pull request #546 from Codium-ai/tr/backticks_review
Single-label for suggestions
2023-12-24 03:35:49 -08:00
mrT23
5fd3fdfae1
feat: Add loop to populate suggestion_list in pr_code_suggestions.py 2023-12-24 10:08:36 +02:00
mrT23
5c49ff216a
feat: Update inline comment creation in git providers and improve code suggestion handling
- Update `create_inline_comment` method in various git providers to include `absolute_position` parameter
- Remove `create_inline_comment` method from providers that do not support inline comments
- Enhance `find_line_number_of_relevant_line_in_file` function to handle absolute position
- Modify `pr_code_suggestions.py` to handle improved code inclusion in suggestions
- Add `include_improved_code` configuration option in `configuration.toml` and update documentation accordingly
2023-12-24 09:44:08 +02:00
mrT23
5dc2595dcf
feat: Refactor code suggestion handling and update YAML schema in pr_code_suggestions.py and pr_code_suggestions_prompts.toml
- Update key names in pr_code_suggestions.py to use snake_case for consistency
- Implement removal of invalid suggestions where existing code is equal to improved code
- Update YAML parsing in _prepare_pr_code_suggestions method to include keys_fix_yaml parameter
- Refactor push_inline_code_suggestions method to use updated key names
- Update _prepare_prediction_extended method to use new key names
- Refactor _prepare_markdown method to include suggestion label and use updated key names
- Update instructions and YAML schema in pr_code_suggestions_prompts.toml to reflect changes in pr_code_suggestions.py
- Remove redundant removal of invalid suggestions in rank_suggestions method
2023-12-24 08:30:35 +02:00
mrT23
eca8078071
feat: Reorder keys in PR description data and update PRDescription model in toml file 2023-12-21 08:51:57 +02:00
mrT23
c079deba21
feat: Enhance PR description formatting and update instructions in pr_description_prompts.toml 2023-12-20 16:45:21 +02:00
Hussam.lawen
6e63cf4014
Add log 2023-12-18 17:35:04 +02:00
mrT23
d2aef95847
Merge pull request #530 from Codium-ai/tr/labels
Enhancement: Implement label case conversion and update label descriptions in settings files
2023-12-18 03:21:48 -08:00
mrT23
1c4e64333c
feat: Implement label case conversion and update label descriptions in settings files 2023-12-18 12:29:06 +02:00
mrT23
5fb373b212
Refactor AI handler instantiation to use lazy initialization in PR tools 2023-12-17 16:52:03 +02:00
mrT23
246be6147f
Set LiteLLMAIHandler as default AI handler in all PR tools and simplify AI handler injection in PRAgent 2023-12-14 09:00:14 +02:00
mrT23
3531016a2c
Refactor AI handler instantiation in PRAgent and related classes 2023-12-14 08:53:22 +02:00
Brian Pham
e37598fdca Merge remote-tracking branch 'upstream/main' into abstract-BaseAiHandler 2023-12-14 07:45:43 +08:00
Brian Pham
557b39ec87 Merge branch 'base-ai-handler' into abstract-BaseAiHandler 2023-12-14 07:44:13 +08:00
Brian Pham
8fb4a42ef1 Update AI handler instantiation in server files 2023-12-13 08:16:02 +08:00
Brian Pham
7eb2e769cf Move ai handlers to specific folder 2023-12-12 23:03:38 +08:00
Brian Pham
5239e1c3e9 Load default AI Handler from util function 2023-12-12 21:51:05 +08:00
mrT23
1853b4ef47
Merge pull request #520 from Codium-ai/tr/bitbucket_app
Refactor auto tool execution order and enhance logging and documentation
2023-12-12 00:02:02 -08:00
mrT23
2f10b4f3c5
feat: Refactor auto tool execution order in bitbucket_app.py, add logging in pr_description.py, and update tool configuration instructions in Usage.md 2023-12-12 09:59:26 +02:00
Hussam Lawen
729f5e9c8e
Merge pull request #518 from Codium-ai/hl/github_native_labels
Refactoring Label Handling Across Git Providers
2023-12-11 16:50:19 +02:00
Hussam.lawen
fdc776887d
Refactor labels 2023-12-11 16:47:38 +02:00
mrT23
480e2ee678
feat: Improve PR description formatting in pr_description.py 2023-12-11 15:55:04 +02:00
mrT23
9b97073174
s 2023-12-11 12:00:44 +02:00
Brian Pham
b8021d7ca3 rename file 2023-12-11 16:57:23 +08:00
Brian Pham
523a896465 Rename AiHandler to LiteLLMAiHandler 2023-12-11 16:56:49 +08:00
Brian Pham
c0303ff9ec Merge remote-tracking branch 'upstream/main' into abstract-BaseAiHandler 2023-12-09 16:47:13 +00:00
Brian Pham
f2abe5c73e Abstract AiHandler to BaseAiHandler 2023-12-09 16:39:25 +00:00
Brian Pham
7e47baa9db Refactor AI handler classes 2023-12-10 00:25:25 +08:00
mrT23
f908d02ab4
readme 2023-12-07 15:26:36 +02:00
mrT23
7d2a35e32c
final commit 2023-12-07 10:27:19 +02:00
mrT23
e351428848
s 2023-12-07 10:24:36 +02:00
mrT23
4cd6649a44
feat: Enhance PR description formatting in pr_description.py
Improve the table structure for relevant files in PR description by adjusting the header and filename display. Add padding for filename and change summary, and move diff_plus_minus to a separate column. Refactor _insert_br_after_x_chars function to accept a variable length parameter.
2023-12-07 10:14:18 +02:00
mrT23
e62acef6d2
s1 2023-12-07 09:50:36 +02:00
mrT23
a61e492fe1
feat: Refactor PR files processing into separate function in pr_description.py 2023-12-06 17:01:21 +02:00
mrT23
429aed04b1
s 2023-12-06 16:32:53 +02:00
mrT23
eeb20b055a
feat: Add line count to file patch info and enhance PR description formatting 2023-12-06 15:29:45 +02:00
mrT23
4b073b32a5
feat: Enhance PR description with file label dictionary and update prompts in pr_description_prompts.toml 2023-12-06 12:30:51 +02:00
mrT23
862c236076
s 2023-12-05 18:10:13 +02:00
mrT23
863eb0105d
feat: Refactor semantic labels in PR description and improve clarity in pr_description.py and pr_description_prompts.toml 2023-12-04 21:23:59 +02:00
mrT23
21a7a0f136
feat: Enhance link generation for relevant lines and refactor code in git providers and PR description tools 2023-12-04 21:06:56 +02:00
Hussam.lawen
d2a129fe30
Add labeling files 2023-12-04 18:22:35 +02:00
mrT23
586785ffde
feat: Add pr_url attribute to git providers and final update message in PR description 2023-12-03 10:46:02 +02:00
mrT23
3af9c3bfb9
feat: Enhance code suggestion publishing with language-specific formatting in pr_code_suggestions.py 2023-12-01 12:12:49 +02:00
mrT23
ea56910a2f
Merge pull request #485 from Codium-ai/tr/bitbucket
Enhancement of Inline Comment Publishing in Bitbucket Provider and Logging Addition
2023-11-28 08:35:40 -08:00
mrT23
51e1278cd7
feat: Enhance inline comment publishing in Bitbucket provider and add logging for no suggestions in pr_code_suggestions.py 2023-11-28 18:29:35 +02:00
mrT23
7e029ead45
refactor: Improve label handling in pr_reviewer.py 2023-11-28 17:03:55 +02:00
mrT23
b1c374808d
feat: Add line link generation in Bitbucket provider and improve markdown formatting in pr_code_suggestions.py and IMRPOVE.md 2023-11-26 17:12:02 +02:00
mrT23
20978402ea
s 2023-11-26 16:56:06 +02:00
mrT23
8f615e17a3
s 2023-11-26 16:42:41 +02:00
mrT23
5cbbaf44c9
feat: Add line link generation for GitLab and improve markdown formatting in pr_code_suggestions.py 2023-11-26 13:42:57 +02:00
mrT23
f96d4924e7
feat: Add line link generation in git providers and refactor code suggestions generation 2023-11-26 11:57:45 +02:00
mrT23
f36b672eaa
feat: Add option to summarize code suggestions in pr_code_suggestions.py 2023-11-26 11:22:14 +02:00
mrT23
8db2e3b2a0
feat: Enhance readability in toml files and add verbosity level logging in pr_generate_labels.py 2023-11-26 08:42:04 +02:00
mrT23
fdfd6247fb
Merge branch 'main' into tr/pydantic 2023-11-25 21:36:16 -08:00
mrT23
26cc26129c
Merge pull request #463 from Codium-ai/tr/more_protections
minor fix
2023-11-19 07:45:39 -08:00
mrT23
d1d7903e39
minor fix 2023-11-19 17:44:11 +02:00
mrT23
dff4d1befc
Merge pull request #462 from Codium-ai/tr/more_protections
Enhancements in YAML Parsing and Error Handling
2023-11-19 07:40:06 -08:00
mrT23
83247cadec
protections 2023-11-19 17:30:57 +02:00
mrT23
eb977b4c24
gfm instructions 2023-11-19 11:02:11 +02:00
mrT23
762a6981e1
extra_labels 2023-11-15 14:12:59 +02:00
mrT23
b362c406bc
Merge remote-tracking branch 'origin/main' into tr/review_extra_labels 2023-11-15 14:07:44 +02:00
mrT23
7a342d3312
extra_labels 2023-11-15 14:07:32 +02:00
mrT23
2e95988741
extra_labels 2023-11-15 14:04:17 +02:00
mrT23
9478447141
extra_labels 2023-11-15 14:02:13 +02:00
mrT23
94cb6b9795
more feedback 2023-11-15 09:06:26 +02:00
mrT23
e9891fc530
s1 2023-11-12 16:37:53 +02:00
mrT23
727eea2b62
s1 2023-11-12 15:00:06 +02:00
mrT23
737792d83c
publish_persistent_comment 2023-11-09 15:24:55 +02:00
mrT23
7e5889061c
publish_persistent_comment 2023-11-09 15:20:31 +02:00
mrT23
14610d5375
persistent
s
2023-11-08 20:16:08 +02:00
mrT23
a35a75eb34
get_max_tokens + added 'gpt-4-1106-preview' 2023-11-07 14:28:41 +02:00
Hussam.lawen
ff79776410
Keep user labels 2023-11-06 15:14:08 +02:00
Hussam.lawen
ec3f2fb485
Revert "generate labels keep user labels only"
This reverts commit 94a2a5e527.
2023-11-06 15:08:29 +02:00
Hussam.lawen
94a2a5e527
generate labels keep user labels only 2023-11-06 15:07:06 +02:00
Hussam.lawen
1eefd3365b
Merge commit 'e352c98ce83bfbd99078f62d8705eb938a6ba5b5' into hl/type_vs_labels 2023-11-06 14:24:33 +02:00
Hussam.lawen
db37ee819a
support git providers with no label support 2023-11-06 14:11:49 +02:00
mrT23
e352c98ce8
Merge pull request #431 from Codium-ai/hl/type_vs_labels
Refactoring PR Labels Handling and Display
2023-11-06 02:10:38 -08:00
Hussam.lawen
e96b03da57
add configuration enable_pr_type 2023-11-06 11:58:26 +02:00
Hussam.lawen
1d2aedf169
Don't Display pr labels in the text 2023-11-06 11:35:22 +02:00
mrT23
4c484f8e86
Merge pull request #423 from zmeir/zmeir-external-incremental_review_thresholds
Implementing Thresholds for Incremental PR Reviews
2023-11-06 01:07:01 -08:00
zmeir
8e3fa3926a Extract incremental review checks to separate method 2023-11-06 09:21:22 +02:00
mrT23
fed1c160eb
files walkthrough bullets 2023-11-06 08:43:15 +02:00
mrT23
e37daf6987
link to change 2023-11-06 08:27:34 +02:00
Hussam.lawen
3548b88463
type and labels 2023-11-05 15:48:39 +02:00
zmeir
c623c3baf4 Added new configurations to prevent too frequent incremental commits on push trigger 2023-11-02 12:24:54 +02:00
KennyDizi
9fbf89670d Improve expression portion of f-strings 2023-11-01 19:11:52 +07:00
KennyDizi
ad1c51c536 Fix SyntaxError: f-string expression part cannot include a backslash 2023-11-01 19:06:29 +07:00
Zohar Meir
7b6a6c7164
Fix formatting when last commit message contains _ 2023-10-31 10:05:13 +02:00
Zohar Meir
816ddeeb9e
Fix call to _get_previous_review_comment
Hey @mrT23, I thinks there's a problem with moving this line to after `self.git_provider.publish_comment(pr_comment)`.

The reason I originally placed it here is because otherwise, if you run `/review --pr_reviewer.remove_previous_review_comment=true` it will publish your review and then immediately after delete it, because it will look for the previous review comment only after you published your new review - so it will take your new review as the previous one. In order to get the real "previous" review you must collect the comments list before publishing a review, so placing this method call first ensures that.

The method `self._get_previous_review_comment()` is a no-op if `pr_reviewer.remove_previous_review_comment=false` so I see no downside in keeping it before `self.git_provider.publish_comment(pr_comment)`

Additionally, the check for `if previous_review_comment:` is redundant because it's done internally in `self._remove_previous_review_comment`. I thought it looked cleaner without this extra nesting here, but if you think more verbosity is better I'll keep it.
2023-10-30 09:06:51 +02:00
mrT23
c895657310
fixed review 2023-10-29 17:59:46 +02:00
Ori Kotek
61d3e1ebf4
Merge pull request #394 from zmeir/zmeir-external-push_trigger
Added support for automatic review on push event
2023-10-29 13:04:33 +02:00
mrT23
7374243d0b
enable_custom_labels 2023-10-29 11:40:36 +02:00
mrT23
d772213cfc
fix labels 2023-10-29 08:58:12 +02:00
Hussam.lawen
f53ec1d0cc
move enable custom labels to custom labels function 2023-10-27 21:12:58 +03:00
Hussam.lawen
f3bdbfc103
Add /generate_labels function + fix issues 2023-10-26 23:28:33 +03:00
Zohar Meir
e6bea76eee
Typo 2023-10-26 17:07:16 +03:00
zmeir
02570ea797 Remove previous review comment on push event 2023-10-26 16:46:54 +03:00
zmeir
65bb70a1dd Added support for automatic review on push event
The new feature can be enabled via the new configuration `github_app.handle_push_event`. To avoid any unwanted side-effects, the current default of this configuration is set to `false`.

The high level flow (assuming the configuration is enabled):
1. receive push event from GitHub
2. extract branch and commits from event
3. find PR url for branch (currently does not support PRs from forks)
4. perform configured commands (e.g. `/describe`, `/review -i`)

The push event flow is guarded by a backlog queue so that multiple push events on the same branch won't trigger multiple duplicate runs of the PR-Agent commands.
Example timeline:
1. push 1 - start handling event
2. push 2 - waiting to be handled while push 1 event is still running
3. push 3 - event is dropped since handling it and handling push 2 is the same, so it is redundant
4. push 1 finished being handled
5. push 2 awakens from wait and continues handling (potentially reviewing the commits of both push 2 and push 3)

All of these options are configurable and can be enabled/disabled as per the user's desire.

Additional minor changes in this PR:
1. Created `DefaultDictWithTimeout` utility class to avoid too much boilerplate code in managing caches for outdated triggers.
2. Guard against running increment review when there are no new commits.
3. Minor styling changes for incremented review text.
2023-10-25 11:15:23 +03:00
Hussam.lawen
1a89c7eadf
refactor + add description options 2023-10-24 22:28:57 +03:00
Hussam.lawen
07617eab5a
add custom labels 2023-10-24 22:06:27 +03:00
Hussam.lawen
fa24413201
Custom Labels 2023-10-23 16:29:33 +03:00
mrT23
b6cabda586
quick fix 2023-10-19 17:24:37 +03:00
mrT23
abbce60f18
Merge remote-tracking branch 'origin/main' 2023-10-19 17:10:30 +03:00
mrT23
5daaaf2c1d
quick fix 2023-10-19 17:10:21 +03:00
mrT23
e8f207691e
Merge pull request #391 from Codium-ai/tr/readme
Update and Enhance DESCRIBE.md Documentation
2023-10-19 02:03:50 -07:00
mrT23
b0dce4ceae
describe 2023-10-19 12:02:12 +03:00
Hussam Lawen
1b6fb3ea53
Merge pull request #385 from Codium-ai/hl/fix_add_docs_in_scripts
Add Blacklist for Non-Editable File Extensions in Documentation
2023-10-19 11:21:36 +03:00
mrT23
a2c3db463a
use_bullet_points 2023-10-19 10:45:42 +03:00
mrT23
d41fe0cf79
comment 2023-10-17 19:45:04 +03:00
Hussam.lawen
3673924fe9
Add docs editable blacklist of file extensions like sql, yaml... 2023-10-17 18:50:39 +03:00
mrT23
d5c098de73
another protection 2023-10-17 10:21:05 +03:00
mrT23
9f5c0daa8e
protection 2023-10-17 09:43:48 +03:00
Ori Kotek
c324d88be3
Refactor logging system to use custom logger across the codebase 2023-10-16 14:56:00 +03:00
mrT23
e2417ebe88
Merge pull request #363 from Codium-ai/tr/pr_suggestions
publish each suggestion seperatly only on gitlab
2023-10-08 17:01:44 +03:00
mrT23
e6548f4fe1
simpler solution 2023-10-08 16:57:22 +03:00
mrT23
1b3fb49f9c
publish each suggestion seperatly only on gitlab 2023-10-08 16:50:25 +03:00
Zohar Meir
8f9f09ecbf
Fixed help message for bot user
This changes the help message to display properly when running a custom deployment of the PR-Agent app (i.e. not via GitHub Actions, and with the setting `github_app.override_deployment_type=false`)
2023-10-08 16:19:11 +03:00
mrT23
72eecbbf61
add line number 2023-10-05 17:59:08 +03:00
mrT23
989c56220b
add line number 2023-10-05 17:48:36 +03:00
mrT23
088f256415
stable 2023-10-05 17:03:10 +03:00
mrT23
44239f1a79
Patch Extra Lines 2023-10-05 08:38:43 +03:00
Hussam.lawen
e941fa9ec0
Add to user tools guide 2023-10-01 19:51:15 +03:00
Hussam.lawen
ab5ac8ffa8
rename vars + Add to README.md 2023-10-01 13:52:00 +03:00
Hussam.lawen
ccc7f1e10a
rename vars 2023-10-01 13:07:08 +03:00
Hussam.lawen
7fbdc3aead
rstrip 2023-09-28 22:47:26 +03:00
Hussam.lawen
0551922839
Merge commit '663ae92bdf3bb3a22b8b7ab437385c882f96e475' into hl/add_docs
# Conflicts:
#	pr_agent/tools/pr_add_docs.py
2023-09-28 22:46:07 +03:00
Hussam.lawen
043d453cab
add doc placement before after 2023-09-28 22:44:15 +03:00
Hussam Lawen
663ae92bdf
Add Docs 2023-09-28 22:42:03 +03:00
Hussam.lawen
96824aa9e2
Revert "Add Docs"
This reverts commit 5cca299b16.
2023-09-28 21:16:14 +03:00
Hussam Lawen
5cca299b16
Add Docs 2023-09-28 21:13:48 +03:00
Hussam.lawen
cd3527f7d4
add configurable docstring style 2023-09-28 20:58:37 +03:00
Hussam.lawen
bb12c75431
reformat 2023-09-28 20:15:18 +03:00
Hussam.lawen
bb8a0f10f4
refine /add_docs 2023-09-28 20:11:18 +03:00
Hussam.lawen
c3cbaaf09e
Initial add docs 2023-09-27 16:48:17 +03:00
mrT23
4c72cfbff4
auto tools in github action 2023-09-25 18:56:10 +03:00
Phill Zarfos
a7fb5d98b1 add get_pr_id() to CodeCommitProvider 2023-09-23 08:08:46 -04:00
mrT23
be54fb5bf8
pr_id 2023-09-21 21:29:41 +03:00
mrT23
632de3f186
protections 2023-09-20 07:39:56 +03:00