Commit graph

944 commits

Author SHA1 Message Date
mrT23
e56c443fd6
ask helper 2024-01-09 16:34:27 +02:00
mrT23
abc05e7711
ask helper 2024-01-09 16:25:23 +02:00
zmeir
19c14b940e Try fixing invalid inline comments 2024-01-09 09:54:29 +02:00
samanhappy
36f1cfb51f Enhancement: Update GitLab link generation to support self-managed GitLab server and different projects 2024-01-09 15:11:27 +08:00
samanhappy
0f2a4654a7 Fix link formatting for relevant_line 2024-01-09 14:56:18 +08:00
zmeir
28c5ad1d8b nit 2024-01-08 13:06:03 +02:00
zmeir
2bb5ae8c0d Remove redundant condition (status 422 already means the same) 2024-01-08 13:05:10 +02:00
zmeir
b0bffdec84 Refactor and add configuration toggle 2024-01-08 12:00:20 +02:00
mrT23
e0f4bc7ded
feat: Remove bot help text from github_polling.py 2024-01-08 11:45:01 +02:00
mrT23
e9a2a0a96f
s 2024-01-08 10:37:51 +02:00
mrT23
46a38473e4
Merge remote-tracking branch 'origin/main' into tr/unique_titles 2024-01-08 10:30:58 +02:00
mrT23
c9e55be275
s 2024-01-08 10:30:47 +02:00
mrT23
8bb2eb48af
s 2024-01-08 09:43:34 +02:00
mrT23
9cfb8ce475
s 2024-01-08 09:39:19 +02:00
mrT23
67cb133c52
s 2024-01-08 09:28:44 +02:00
mrT23
9c054bb80f
s 2024-01-08 09:18:46 +02:00
Sagi Medina
b776e5069c
feat: Refactor AzureDevopsProvider class in azuredevops_provider.py
- Reorder class methods and constructor for better readability
- Add error logging for failed operations
- Implement get_pr_description_full method
- Update get_pr_description method to always return full description
- Modify _parse_pr_url method to return workspace_slug, repo_slug, and pr_number
- Make _get_azure_devops_client a static method
- Add error handling in get_pr_id method
2024-01-08 09:15:34 +02:00
Sagi Medina
c8bca487e5
feat: Implement methods in AzureDevopsProvider for publishing code suggestions, labels, and removing comments 2024-01-08 08:59:12 +02:00
Tal
78fa61eac6
Merge branch 'main' into tr/user_description 2024-01-07 22:55:18 -08:00
mrT23
3ea08a6cf5
feat: Add debug logs to git_provider and pr_description modules 2024-01-07 19:57:49 +02:00
mrT23
3154ebbf9f
feat: Add debug logs to git_provider and pr_description modules 2024-01-07 19:56:05 +02:00
mrT23
a6bbd04efb
s 2024-01-07 17:02:18 +02:00
mrT23
578d15c6fc
usage guide 2024-01-07 16:38:08 +02:00
zmeir
22d17985a1 Less noisy fallback for publish_code_suggestions in case of invalid comments
As a first option, `publish_code_suggestions` will try to post all review comments in a single GitHub review. This is preferred because it will group all comments together in the GitHub UI under the same review, and will trigger just one notification for any viewers of the PR.

If just one of the comments is malformed, the entire API request will fail and none of the comments will be posted to the PR. In the current implementation, the fallback mechanism is to just post each comment separately with `try/except` and skip the invalid comments. This works, but potentially creates a lot of noise in the PR as each comment is posted as in a separate review, creating multiple notifications.

This suggested fallback is based on a similar idea, but without creating multiple review notifications. The it works is by iterating over the potential comments, and starting a PENDING review for the current comment. The review is not submitted and does not trigger a notification, but it is verified against the GitHub API, and so we can verify if the comment is valid. After checking all comments we then submit a single review with all the verified comments which is guaranteed to succeed.

The end result is having the exact same comments posted to the PR as with the current fallback method, but the downside is having twice as many API calls (for each comment we have 1 extra API call to delete the pending review).
2024-01-07 16:00:44 +02:00
mrT23
edcb666fbc
docs: Reorganize and enhance documentation for review and describe tools 2024-01-07 09:28:06 +02:00
mrT23
355ef8c476
feat: Update adaptive collapsible file list logic in pr_description.py 2024-01-06 10:36:36 +02:00
mrT23
22b7dd9f2d
s 2024-01-06 10:15:04 +02:00
mrT23
ac74fa8431
docs 2024-01-05 21:28:54 +02:00
mrT23
42704d5781
Merge remote-tracking branch 'origin/main' into tr/user_description 2024-01-05 17:03:30 +02:00
mrT23
3628786a61
feat: Clarify PRType label member usage in pr_description_prompts.toml 2024-01-05 17:03:14 +02:00
Tal
fe6b2065fb
Merge pull request #569 from zmeir/zmeir/enhance/auto_improve_extended_simple
Add toggle to automatically enable `/improve --extended`
2024-01-04 09:06:08 -08:00
Zohar Meir
c2b0891c0b
Simpler auto-extended toggle and keep the default as false 2024-01-04 18:53:45 +02:00
Tal
782f1ca1bd
Merge pull request #568 from Codium-ai/tr/user_description
Enhancement: Improved Extraction and Placement of User Descriptions in PRs
2024-01-04 08:35:34 -08:00
mrT23
6d18a0c843
feat: Improve user description extraction in git_provider.py 2024-01-04 18:34:00 +02:00
Tal
e6093cd768
Merge pull request #567 from zmeir/zmeir/enhance/support_azure_in_langchain_ai_handler
Add support for Azure OpenAI in LangChainOpenAIHandler
2024-01-04 08:22:01 -08:00
mrT23
1c2bb2ef3d
feat: Update user description extraction and placement in PR description 2024-01-04 18:05:28 +02:00
mrT23
7762bf59bf
feat: Update user description extraction and placement in PR description 2024-01-04 18:01:55 +02:00
mrT23
3e29848cd0
Merge remote-tracking branch 'origin/main' into tr/user_description
# Conflicts:
#	pr_agent/git_providers/git_provider.py
2024-01-04 17:49:10 +02:00
mrT23
c3b5aaf8cc
feat: Update user description extraction and placement in PR description 2024-01-04 17:46:24 +02:00
zmeir
ba3f22d81e Move logging to a central location for all AI Handlers 2024-01-04 16:22:22 +02:00
zmeir
ac7aaa0cd3 Add support for Azure OpenAI in LangChainOpenAIHandler 2024-01-04 16:22:22 +02:00
zmeir
1ade09eaa3 Fix failing /config command
All commands need the `ai_handler` argument. The PRConfig class was missing it in the `__init__` method and so it failed with this error:

```
File "/home/vcap/app/pr_agent/agent/pr_agent.py", line 76, in handle_request
    await command2class[action](pr_url, ai_handler=self.ai_handler, args=args).run()
TypeError: PRConfig.__init__() got an unexpected keyword argument 'ai_handler'
```
2024-01-04 14:49:34 +02:00
Tal
b7af45166a
Merge pull request #561 from zmeir/zmeir/fix/get_user_description
Fix `get_user_description`
2024-01-04 00:40:08 -08:00
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
Zohar Meir
8d2da74380
Find user description in a case-insensitive way 2024-01-04 09:41:55 +02:00
Zohar Meir
39c1866121
Revert title() to capitalize() 2024-01-04 09:41:24 +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
zmeir
967494ce17 Refine the prompt for add_docs command
I found that without it, python docstrings are sometimes suggested above the function signature, instead of below.
2024-01-03 12:27:23 +02:00
zmeir
560d30dbb1 Fix get_user_description
The headers changed from "PR Type"/"PR Description"/etc to "Type"/"Description"/etc
2024-01-03 12:20:51 +02:00
Phill Zarfos
0bd2f045a3 feat: Fix typo 2024-01-02 08:11:31 -05:00
mrT23
7dfc306e7c
feat: Add SOC2 compliance review feature to PR agent 2024-01-01 20:15:36 +02:00
KennyDizi
fce52a66ff feat: Update enable_help_text flag explaination 2023-12-27 10:22:43 +07:00
KennyDizi
dff31ff8f5 feat: Fix typo 2023-12-27 10:17:56 +07: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
815862e428
markdown 2023-12-26 17:06:29 +02:00
mrT23
b1ce29e27a
global configuration 2023-12-26 16:45:39 +02: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
26cb85c4f5 default pinecone 2023-12-25 14:50:15 +05:30
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
08e9a91021
Merge pull request #547 from Codium-ai/tr/readme_update
Readme for PR-Agent-Pro
2023-12-24 06:30:04 -08:00
mrT23
0c4d451d9a
readme 2023-12-24 16:18:20 +02:00
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
663632e2d9
fixed bug 2023-12-24 10:27:48 +02:00
mrT23
5fd3fdfae1
feat: Add loop to populate suggestion_list in pr_code_suggestions.py 2023-12-24 10:08:36 +02:00
mrT23
47b267a73d
prompt 2023-12-24 09:52:59 +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
664b1c9d17
Merge pull request #545 from Codium-ai/tr/backticks_review
feat: Improve suggestion formatting in markdown text generation
2023-12-23 10:41:17 -08:00
mrT23
ba7781ba00
feat: Update instruction formatting in pr_code_suggestions_prompts.toml and pr_reviewer_prompts.toml 2023-12-23 20:40:30 +02:00
mrT23
42be96a99b
feat: Improve suggestion formatting in markdown text generation 2023-12-23 20:32:03 +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
9995ccd4c7
feat: Update PR description prompts in toml file to include semantic file types and custom labels options 2023-12-21 08:31:54 +02:00
mrT23
2b23700aec
feat: Enhance YAML parsing with additional fallbacks and key customization in load_yaml and try_fix_yaml functions 2023-12-21 08:24:07 +02:00
mrT23
553dad0bee
feat: Enhance YAML parsing with additional fallbacks and key customization in load_yaml and try_fix_yaml functions 2023-12-21 08:21:34 +02:00
mrT23
37259e550f
Merge pull request #540 from Codium-ai/tr/backticks
Enhancement of PR Description Formatting and Instructions Update
2023-12-20 22:16:53 -08:00
mrT23
66cbd6ef8f
Merge pull request #537 from koid/feature/ignore-header-description-in-ai-response
Enhancement of AI Response Parsing Mechanism
2023-12-20 22:15:43 -08:00
koid
a9d789978b fix: remove last line 2023-12-21 11:11:46 +09:00
koid
e2797ad09a re-implemented YAML extraction as a fallback 2023-12-21 11:06:41 +09:00
Ori Kotek
ccb116922f
Merge pull request #529 from lukefx/bitbucket_webhook_improvements
feat: Improved server, security and commands
2023-12-20 17:27:06 +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
koid
16b61eb4e8 ignore header description in ai response 2023-12-20 11:50:27 +09:00
Hussam.lawen
6e63cf4014
Add log 2023-12-18 17:35:04 +02:00
Hussam.lawen
c59e9f77a6
fix 2023-12-18 17:06:02 +02:00
Luca Simone
e25980f141 fix: using the same get_settings convention 2023-12-18 14:58:25 +01: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
Luca Simone
7a5acb29ac feat: Improved server, security and commands
Signed-off-by: Luca Simone <info@lucasimone.info>
2023-12-17 17:38:27 +01:00
mrT23
5fb373b212
Refactor AI handler instantiation to use lazy initialization in PR tools 2023-12-17 16:52:03 +02:00
mrT23
54891ad1d2
Merge pull request #514 from brianpham93/abstract-BaseAiHandler
Abstract AiHandler to BaseAiHandler
2023-12-14 07:54:13 -08:00
mrT23
02871b1e3d
Remove logging from pr_agent.py and add line breaks in cli.py and github_action_runner.py 2023-12-14 09:08:47 +02:00
mrT23
38ea9143f3
Make LangChain dependency optional in pr-agent and update requirements.txt 2023-12-14 09:05:53 +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