xai-review 0.38.0__py3-none-any.whl → 0.39.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of xai-review might be problematic. Click here for more details.

@@ -78,7 +78,7 @@ class BitbucketCloudPullRequestsHTTPClient(HTTPClient, BitbucketCloudPullRequest
78
78
  ) -> Response:
79
79
  return await self.post(
80
80
  f"/repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}/comments",
81
- json=request.model_dump(by_alias=True),
81
+ json=request.model_dump(by_alias=True, exclude_none=True),
82
82
  )
83
83
 
84
84
  async def get_pull_request(
@@ -2,6 +2,6 @@ from pydantic import BaseModel
2
2
 
3
3
 
4
4
  class BitbucketCloudUserSchema(BaseModel):
5
- uuid: str
6
- nickname: str
7
- display_name: str
5
+ uuid: str | None = None
6
+ nickname: str | None = None
7
+ display_name: str | None = None
@@ -78,7 +78,7 @@ class BitbucketServerPullRequestsHTTPClient(HTTPClient, BitbucketServerPullReque
78
78
  ) -> Response:
79
79
  return await self.post(
80
80
  f"/projects/{project_key}/repos/{repo_slug}/pull-requests/{pull_request_id}/comments",
81
- json=request.model_dump(by_alias=True),
81
+ json=request.model_dump(by_alias=True, exclude_none=True),
82
82
  )
83
83
 
84
84
  async def get_pull_request(
@@ -5,9 +5,9 @@ class BitbucketServerUserSchema(BaseModel):
5
5
  model_config = ConfigDict(populate_by_name=True)
6
6
 
7
7
  id: int | None = None
8
- name: str
8
+ name: str | None = None
9
9
  slug: str | None = None
10
10
  type: str | None = None
11
11
  active: bool | None = None
12
- display_name: str = Field(alias="displayName")
12
+ display_name: str = Field(default=None, alias="displayName")
13
13
  email_address: str | None = Field(default=None, alias="emailAddress")
@@ -9,8 +9,8 @@ def get_review_comment_from_bitbucket_pr_comment(comment: BitbucketCloudPRCommen
9
9
  user = comment.user
10
10
  author = UserSchema(
11
11
  id=user.uuid if user else None,
12
- name=user.display_name if user else "",
13
- username=user.nickname if user else "",
12
+ name=(user.display_name or "") if user else "",
13
+ username=(user.nickname or "") if user else "",
14
14
  )
15
15
 
16
16
  file = comment.inline.path if comment.inline and comment.inline.path else None
@@ -62,8 +62,8 @@ class BitbucketCloudVCSClient(VCSClientProtocol):
62
62
  assignees=[
63
63
  UserSchema(
64
64
  id=user.uuid,
65
- name=user.display_name,
66
- username=user.nickname,
65
+ name=user.display_name or "",
66
+ username=user.nickname or "",
67
67
  )
68
68
  for user in pr.participants
69
69
  ],
@@ -52,17 +52,17 @@ class BitbucketServerVCSClient(VCSClientProtocol):
52
52
  description=pr.description or "",
53
53
  author=UserSchema(
54
54
  id=pr.author.user.id,
55
- name=pr.author.user.display_name,
55
+ name=pr.author.user.display_name or "",
56
56
  username=pr.author.user.slug or pr.author.user.name,
57
57
  ),
58
- labels=[], # Bitbucket Server не поддерживает labels напрямую
58
+ labels=[],
59
59
  base_sha=pr.to_ref.latest_commit,
60
60
  head_sha=pr.from_ref.latest_commit,
61
- assignees=[], # нет отдельного поля в Bitbucket Server API
61
+ assignees=[],
62
62
  reviewers=[
63
63
  UserSchema(
64
64
  id=user.user.id,
65
- name=user.user.display_name,
65
+ name=user.user.display_name or "",
66
66
  username=user.user.slug or user.user.name,
67
67
  )
68
68
  for user in pr.reviewers
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: xai-review
3
- Version: 0.38.0
3
+ Version: 0.39.0
4
4
  Summary: AI-powered code review tool for GitHub, GitLab, Bitbucket Cloud, Bitbucket Server and Gitea — built with LLMs like OpenAI, Claude, Gemini, Ollama, and OpenRouter
5
5
  Author-email: Nikita Filonov <nikita.filonov@gmail.com>
6
6
  Maintainer-email: Nikita Filonov <nikita.filonov@example.com>
@@ -423,7 +423,7 @@ jobs:
423
423
  with:
424
424
  fetch-depth: 0
425
425
 
426
- - uses: Nikita-Filonov/ai-review@v0.38.0
426
+ - uses: Nikita-Filonov/ai-review@v0.39.0
427
427
  with:
428
428
  review-command: ${{ inputs.review-command }}
429
429
  env:
@@ -14,24 +14,24 @@ ai_review/clients/bitbucket_cloud/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeR
14
14
  ai_review/clients/bitbucket_cloud/client.py,sha256=qEXsx65oomXjgNanxh-tQnLsKZ3fowSi7M8jiW8mqdA,1265
15
15
  ai_review/clients/bitbucket_cloud/tools.py,sha256=h4i6Ig-vpu10eUwegn6-VFUKWSwXnJTv5TXlvevRyBo,153
16
16
  ai_review/clients/bitbucket_cloud/pr/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
17
- ai_review/clients/bitbucket_cloud/pr/client.py,sha256=FPgvJmH6t7IxzU4BGXvFvmDzaZW6Sbv9eXIcJ8Sc0-w,6167
17
+ ai_review/clients/bitbucket_cloud/pr/client.py,sha256=CkBzC7WfIGTj4QfgTUXyR_mw9cqDbpHv4Yx7KpjYc9k,6186
18
18
  ai_review/clients/bitbucket_cloud/pr/types.py,sha256=gvsYADExSNum7-TCVJeGyoufxluBXmec8STFn2uJoF0,1369
19
19
  ai_review/clients/bitbucket_cloud/pr/schema/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
20
20
  ai_review/clients/bitbucket_cloud/pr/schema/comments.py,sha256=rcYtb-yo7QvUcwCUXdPbRjUXCMx2pvtW1SoyPY7rzV4,1789
21
21
  ai_review/clients/bitbucket_cloud/pr/schema/files.py,sha256=LH14nSHQJGy4PSBPlMGIxfOZcSHMQviMMGyJdZu0Edw,785
22
22
  ai_review/clients/bitbucket_cloud/pr/schema/pull_request.py,sha256=ZMsDlmVPub6C6wlXY4Za_9ZJi1RFxjGNSHXWOnEM4k0,921
23
- ai_review/clients/bitbucket_cloud/pr/schema/user.py,sha256=lR8YCdHtG3V3xi5K7FBXgicUFJ2LoCSFNqK_h9Jii4g,130
23
+ ai_review/clients/bitbucket_cloud/pr/schema/user.py,sha256=QNQAkD2o-tbSpJDQi-t2TLulbog6UnmySao5EUWUpF4,172
24
24
  ai_review/clients/bitbucket_server/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
25
25
  ai_review/clients/bitbucket_server/client.py,sha256=tPWpvQ7TcGW048kQjtnCIZdMqNJy5Y-QyifdQswVZKc,1273
26
26
  ai_review/clients/bitbucket_server/tools.py,sha256=zkYzMo1BRkiDWrAmFKcZn-FX31juL7UPyN6B6Pr1jQs,164
27
27
  ai_review/clients/bitbucket_server/pr/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
28
- ai_review/clients/bitbucket_server/pr/client.py,sha256=Ya1-Cw3KlI6_5y_ZTqcIcHDmct15AxLloylQFDIoxno,6573
28
+ ai_review/clients/bitbucket_server/pr/client.py,sha256=1hJzUehfGobA6KRqEbGUAku7QdumgfTH8tLJWED5alc,6592
29
29
  ai_review/clients/bitbucket_server/pr/types.py,sha256=SKOmYMW4PUjGC0-h6bxrfDnQO-ku7W7ggSaS9sXrxqQ,1401
30
30
  ai_review/clients/bitbucket_server/pr/schema/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
31
31
  ai_review/clients/bitbucket_server/pr/schema/changes.py,sha256=ewli3ghjX6rRFREELY6GtbjiyRorb0Bt6JC5utaPc-U,1102
32
32
  ai_review/clients/bitbucket_server/pr/schema/comments.py,sha256=eU102AFInDHJMts93bUqv07SZSnPh6U6sJim4_5FUS8,1631
33
33
  ai_review/clients/bitbucket_server/pr/schema/pull_request.py,sha256=XPmDrta_YaEfULdJVmKil859eHWsHa7eaS7KR_FKLGA,1382
34
- ai_review/clients/bitbucket_server/pr/schema/user.py,sha256=vjD-f31IefKCpOTwFMtU1VloXzeTuUd5Mu0NjKB1hMM,402
34
+ ai_review/clients/bitbucket_server/pr/schema/user.py,sha256=XwnblSax7xw0AGC7AhtrhZdAApFYJg3smDASmUp8Om4,430
35
35
  ai_review/clients/claude/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
36
36
  ai_review/clients/claude/client.py,sha256=FcSsY5awnEyih41p3mY-ysu8SoyHLMJdV3pG39PPEOA,1955
37
37
  ai_review/clients/claude/schema.py,sha256=FJy5Wh5A3IJWPNn4K6KIFn4OTC713pxO9KCqdfUKwNA,915
@@ -235,11 +235,11 @@ ai_review/services/vcs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3
235
235
  ai_review/services/vcs/factory.py,sha256=E0BuOh4ZqTF56HVfC9YuGMkZ41_5eYMv2Ypqo-n-wwE,1079
236
236
  ai_review/services/vcs/types.py,sha256=LemhQ4LAGlOdwMSF-HlYIo7taSRu4494YQ0Rp2PBgcg,3169
237
237
  ai_review/services/vcs/bitbucket_cloud/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
238
- ai_review/services/vcs/bitbucket_cloud/adapter.py,sha256=AhvcdqmwOVjhr327Sm_WxMakgjtmkk2DSpEIJwet4u4,944
239
- ai_review/services/vcs/bitbucket_cloud/client.py,sha256=ypQ6uQc6ZFQo5eibrvW4TqU37JtgIXzB4FgnUuN76ac,10875
238
+ ai_review/services/vcs/bitbucket_cloud/adapter.py,sha256=tTJDPP2ilQu80LzsGULQPxbc93Jz2xLEnTwoUB5t2kA,960
239
+ ai_review/services/vcs/bitbucket_cloud/client.py,sha256=0mUGM561L4leWZqvY-UOzTlOomsTDNRP3RXjYRHhTTo,10887
240
240
  ai_review/services/vcs/bitbucket_server/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
241
241
  ai_review/services/vcs/bitbucket_server/adapter.py,sha256=HNfy2g5zHH3YxsGsdvXkcW4_4u5C6XXoEpw_smWWJWc,885
242
- ai_review/services/vcs/bitbucket_server/client.py,sha256=GissxYMHiPvLBLiatXNwb0dSegiz_hSYwWbY-LnDD_k,10874
242
+ ai_review/services/vcs/bitbucket_server/client.py,sha256=mQrSPgzhyimdSDDalheTiZWJadY4DmR6EatwxB193fM,10748
243
243
  ai_review/services/vcs/gitea/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
244
244
  ai_review/services/vcs/gitea/adapter.py,sha256=DxzcXReKTGHkw4DCJa8X3Mnczcg9hqx6sIAQYY-8HAI,784
245
245
  ai_review/services/vcs/gitea/client.py,sha256=A2qpuk5kiPyeaPt-hYv0PcC_VlshMHhycED2nmB9bOE,5776
@@ -422,9 +422,9 @@ ai_review/tests/suites/services/vcs/github/test_client.py,sha256=mNt1bA6aVU3REsJ
422
422
  ai_review/tests/suites/services/vcs/gitlab/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
423
423
  ai_review/tests/suites/services/vcs/gitlab/test_adapter.py,sha256=BYBP2g1AKF_jCSJYJj16pW7M_6PprwD9reYEpdw3StU,4340
424
424
  ai_review/tests/suites/services/vcs/gitlab/test_client.py,sha256=dnI-YxYADmVF2GS9rp6-JPkcqsn4sN8Fjbe4MkeYMaE,8476
425
- xai_review-0.38.0.dist-info/licenses/LICENSE,sha256=p-v8m7Kmz4KKc7PcvsGiGEmCw9AiSXY4_ylOPy_u--Y,11343
426
- xai_review-0.38.0.dist-info/METADATA,sha256=uprb_gB3hKk09s_VwXhmIVRcC3N2nYsG74BSFxRn9Vk,25959
427
- xai_review-0.38.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
428
- xai_review-0.38.0.dist-info/entry_points.txt,sha256=JyC5URanMi5io5P_PXQf7H_I1OGIpk5cZQhaPQ0g4Zs,53
429
- xai_review-0.38.0.dist-info/top_level.txt,sha256=sTsZbfzLoqvRZKdKa-BcxWvjlHdrpbeJ6DrGY0EuR0E,10
430
- xai_review-0.38.0.dist-info/RECORD,,
425
+ xai_review-0.39.0.dist-info/licenses/LICENSE,sha256=p-v8m7Kmz4KKc7PcvsGiGEmCw9AiSXY4_ylOPy_u--Y,11343
426
+ xai_review-0.39.0.dist-info/METADATA,sha256=OGgfgAJPNHswG_uRKmjRiAqf16FG77ClihnEc9_FHTU,25959
427
+ xai_review-0.39.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
428
+ xai_review-0.39.0.dist-info/entry_points.txt,sha256=JyC5URanMi5io5P_PXQf7H_I1OGIpk5cZQhaPQ0g4Zs,53
429
+ xai_review-0.39.0.dist-info/top_level.txt,sha256=sTsZbfzLoqvRZKdKa-BcxWvjlHdrpbeJ6DrGY0EuR0E,10
430
+ xai_review-0.39.0.dist-info/RECORD,,