xai-review 0.23.0__py3-none-any.whl → 0.24.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.

ai_review/config.py CHANGED
@@ -13,11 +13,11 @@ from ai_review.libs.config.base import (
13
13
  get_json_config_file_or_default
14
14
  )
15
15
  from ai_review.libs.config.core import CoreConfig
16
- from ai_review.libs.config.llm import LLMConfig
16
+ from ai_review.libs.config.llm.base import LLMConfig
17
17
  from ai_review.libs.config.logger import LoggerConfig
18
18
  from ai_review.libs.config.prompt import PromptConfig
19
19
  from ai_review.libs.config.review import ReviewConfig
20
- from ai_review.libs.config.vcs import VCSConfig
20
+ from ai_review.libs.config.vcs.base import VCSConfig
21
21
 
22
22
 
23
23
  class Settings(BaseSettings):
File without changes
@@ -4,9 +4,9 @@ from typing import Annotated, Literal
4
4
  import yaml
5
5
  from pydantic import BaseModel, Field, FilePath
6
6
 
7
- from ai_review.libs.config.claude import ClaudeHTTPClientConfig, ClaudeMetaConfig
8
- from ai_review.libs.config.gemini import GeminiHTTPClientConfig, GeminiMetaConfig
9
- from ai_review.libs.config.openai import OpenAIHTTPClientConfig, OpenAIMetaConfig
7
+ from ai_review.libs.config.llm.claude import ClaudeHTTPClientConfig, ClaudeMetaConfig
8
+ from ai_review.libs.config.llm.gemini import GeminiHTTPClientConfig, GeminiMetaConfig
9
+ from ai_review.libs.config.llm.openai import OpenAIHTTPClientConfig, OpenAIMetaConfig
10
10
  from ai_review.libs.constants.llm_provider import LLMProvider
11
11
  from ai_review.libs.resources import load_resource
12
12
 
File without changes
@@ -2,8 +2,8 @@ from typing import Annotated, Literal
2
2
 
3
3
  from pydantic import BaseModel, Field
4
4
 
5
- from ai_review.libs.config.github import GitHubPipelineConfig, GitHubHTTPClientConfig
6
- from ai_review.libs.config.gitlab import GitLabPipelineConfig, GitLabHTTPClientConfig
5
+ from ai_review.libs.config.vcs.github import GitHubPipelineConfig, GitHubHTTPClientConfig
6
+ from ai_review.libs.config.vcs.gitlab import GitLabPipelineConfig, GitLabHTTPClientConfig
7
7
  from ai_review.libs.constants.vcs_provider import VCSProvider
8
8
 
9
9
 
@@ -36,7 +36,7 @@ class RetryTransport(AsyncBaseTransport):
36
36
  return last_response
37
37
 
38
38
  self.logger.warning(
39
- f"Attempt {attempt}/{self.max_retries} failed "
39
+ f"Attempt {attempt + 1}/{self.max_retries} failed "
40
40
  f"with status={last_response.status_code} for {request.method} {request.url}. "
41
41
  f"Retrying in {self.retry_delay:.1f}s..."
42
42
  )
@@ -2,8 +2,8 @@ import pytest
2
2
  from pydantic import HttpUrl, SecretStr
3
3
 
4
4
  from ai_review.config import settings
5
- from ai_review.libs.config.claude import ClaudeMetaConfig, ClaudeHTTPClientConfig
6
- from ai_review.libs.config.llm import ClaudeLLMConfig
5
+ from ai_review.libs.config.llm.base import ClaudeLLMConfig
6
+ from ai_review.libs.config.llm.claude import ClaudeMetaConfig, ClaudeHTTPClientConfig
7
7
  from ai_review.libs.constants.llm_provider import LLMProvider
8
8
 
9
9
 
@@ -2,8 +2,8 @@ import pytest
2
2
  from pydantic import HttpUrl, SecretStr
3
3
 
4
4
  from ai_review.config import settings
5
- from ai_review.libs.config.gemini import GeminiMetaConfig, GeminiHTTPClientConfig
6
- from ai_review.libs.config.llm import GeminiLLMConfig
5
+ from ai_review.libs.config.llm.base import GeminiLLMConfig
6
+ from ai_review.libs.config.llm.gemini import GeminiMetaConfig, GeminiHTTPClientConfig
7
7
  from ai_review.libs.constants.llm_provider import LLMProvider
8
8
 
9
9
 
@@ -18,8 +18,8 @@ from ai_review.clients.github.pr.schema.pull_request import (
18
18
  from ai_review.clients.github.pr.schema.reviews import GitHubGetPRReviewsResponseSchema, GitHubPRReviewSchema
19
19
  from ai_review.clients.github.pr.types import GitHubPullRequestsHTTPClientProtocol
20
20
  from ai_review.config import settings
21
- from ai_review.libs.config.github import GitHubPipelineConfig, GitHubHTTPClientConfig
22
- from ai_review.libs.config.vcs import GitHubVCSConfig
21
+ from ai_review.libs.config.vcs.base import GitHubVCSConfig
22
+ from ai_review.libs.config.vcs.github import GitHubPipelineConfig, GitHubHTTPClientConfig
23
23
  from ai_review.libs.constants.vcs_provider import VCSProvider
24
24
  from ai_review.services.vcs.github.client import GitHubVCSClient
25
25
 
@@ -20,8 +20,8 @@ from ai_review.clients.gitlab.mr.schema.notes import (
20
20
  )
21
21
  from ai_review.clients.gitlab.mr.types import GitLabMergeRequestsHTTPClientProtocol
22
22
  from ai_review.config import settings
23
- from ai_review.libs.config.gitlab import GitLabPipelineConfig, GitLabHTTPClientConfig
24
- from ai_review.libs.config.vcs import GitLabVCSConfig
23
+ from ai_review.libs.config.vcs.base import GitLabVCSConfig
24
+ from ai_review.libs.config.vcs.gitlab import GitLabPipelineConfig, GitLabHTTPClientConfig
25
25
  from ai_review.libs.constants.vcs_provider import VCSProvider
26
26
  from ai_review.services.vcs.gitlab.client import GitLabVCSClient
27
27
 
@@ -2,8 +2,8 @@ import pytest
2
2
  from pydantic import HttpUrl, SecretStr
3
3
 
4
4
  from ai_review.config import settings
5
- from ai_review.libs.config.llm import OpenAILLMConfig
6
- from ai_review.libs.config.openai import OpenAIMetaConfig, OpenAIHTTPClientConfig
5
+ from ai_review.libs.config.llm.base import OpenAILLMConfig
6
+ from ai_review.libs.config.llm.openai import OpenAIMetaConfig, OpenAIHTTPClientConfig
7
7
  from ai_review.libs.constants.llm_provider import LLMProvider
8
8
 
9
9
 
@@ -1,6 +1,6 @@
1
1
  import pytest
2
2
 
3
- from ai_review.libs.config.llm import LLMPricingConfig, LLMConfigBase
3
+ from ai_review.libs.config.llm.base import LLMPricingConfig, LLMConfigBase
4
4
  from ai_review.services.cost.schema import CostReportSchema
5
5
  from ai_review.services.cost.service import CostService
6
6
  from ai_review.services.llm.types import ChatResultSchema
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: xai-review
3
- Version: 0.23.0
3
+ Version: 0.24.0
4
4
  Summary: AI-powered code review tool
5
5
  Author-email: Nikita Filonov <nikita.filonov@example.com>
6
6
  Maintainer-email: Nikita Filonov <nikita.filonov@example.com>
@@ -209,7 +209,7 @@ jobs:
209
209
  runs-on: ubuntu-latest
210
210
  steps:
211
211
  - uses: actions/checkout@v4
212
- - uses: Nikita-Filonov/ai-review@v0.23.0
212
+ - uses: Nikita-Filonov/ai-review@v0.24.0
213
213
  with:
214
214
  review-command: ${{ inputs.review-command }}
215
215
  env:
@@ -1,5 +1,5 @@
1
1
  ai_review/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
- ai_review/config.py,sha256=tPda0l_EX6MWHtKXE6HLFIkzYqLxA2yogSQDMeE5MAM,1954
2
+ ai_review/config.py,sha256=LmHYNW44hi9qUhGxUjwoZBNrfu49-TcZD7WyGpfbpPI,1964
3
3
  ai_review/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
4
  ai_review/cli/main.py,sha256=rZ0LYSAt3AFT-wOHdop8lq2GOVAK48kJYp7nf801Mjs,1854
5
5
  ai_review/cli/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -45,18 +45,20 @@ ai_review/libs/asynchronous/gather.py,sha256=wH65sqBfrnwA1A9Juc5MSyLCJrcxzRqk2m0
45
45
  ai_review/libs/config/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
46
46
  ai_review/libs/config/artifacts.py,sha256=8BzbQu5GxwV6i6qzrUKM1De1Ogb00Ph5WTqwZ3fVpGg,483
47
47
  ai_review/libs/config/base.py,sha256=sPf3OKeF1ID0ouOwiVaUtvpWuZXJXQvIw5kbnPUyN9o,686
48
- ai_review/libs/config/claude.py,sha256=E9AJmszfY4TH8PkJjnDDDJYNAU9bLGsUThM3kriVA58,302
49
48
  ai_review/libs/config/core.py,sha256=ZQ2QtYr7vAF0tXbVLvVwk9QFE5h6JjAKAUQWcb9gHws,87
50
- ai_review/libs/config/gemini.py,sha256=sXHud43LWb4xTvhdkGQeHSLC7qvWl5LfU41fgcIVE5E,274
51
- ai_review/libs/config/github.py,sha256=1yFfvkTOt5ernIrxjqmiUKDpbEEHpa6lTpDiFQ5gVn4,238
52
- ai_review/libs/config/gitlab.py,sha256=VFvoVtni86tWky6Y34XCYdNrBuAtbgFFYGK3idPSOS4,234
53
49
  ai_review/libs/config/http.py,sha256=QsIj0yH1IYELOFBQ5AoqPZT0kGIIrQ19cxk1ozPRhLE,345
54
- ai_review/libs/config/llm.py,sha256=cK-e4NCQxnnixLATCsO8-r5k3zUWz1N0BdPCoqerORM,1824
55
50
  ai_review/libs/config/logger.py,sha256=oPmjpjf6EZwW7CgOjT8mOQdGnT98CLwXepiGB_ajZvU,384
56
- ai_review/libs/config/openai.py,sha256=vOYqhUq0ceEuNdQrQaHq44lVS5M648mB61Zc4YlfJVw,271
57
51
  ai_review/libs/config/prompt.py,sha256=8aO5WNnhVhQcpWzWxqzb9lq6PzormaJazVwPHuf_ia8,4469
58
52
  ai_review/libs/config/review.py,sha256=LEZni68iH_0m4URPfN0d3F6yrrK7KSn-BwXf-7w2al8,1058
59
- ai_review/libs/config/vcs.py,sha256=ULuLicuulFgG-_sTuDWsldyVWIT2SkiS8brPUU1svgk,778
53
+ ai_review/libs/config/llm/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
54
+ ai_review/libs/config/llm/base.py,sha256=27dxUMo0yjY1vPTPtYKonIw0ijyL8d1rVdaHy-z4NNw,1836
55
+ ai_review/libs/config/llm/claude.py,sha256=E9AJmszfY4TH8PkJjnDDDJYNAU9bLGsUThM3kriVA58,302
56
+ ai_review/libs/config/llm/gemini.py,sha256=sXHud43LWb4xTvhdkGQeHSLC7qvWl5LfU41fgcIVE5E,274
57
+ ai_review/libs/config/llm/openai.py,sha256=vOYqhUq0ceEuNdQrQaHq44lVS5M648mB61Zc4YlfJVw,271
58
+ ai_review/libs/config/vcs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
59
+ ai_review/libs/config/vcs/base.py,sha256=zkfqBnI9kF_wbU9Nan19CKciKwOpWvdcZEt57jHujbE,786
60
+ ai_review/libs/config/vcs/github.py,sha256=1yFfvkTOt5ernIrxjqmiUKDpbEEHpa6lTpDiFQ5gVn4,238
61
+ ai_review/libs/config/vcs/gitlab.py,sha256=VFvoVtni86tWky6Y34XCYdNrBuAtbgFFYGK3idPSOS4,234
60
62
  ai_review/libs/constants/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
61
63
  ai_review/libs/constants/llm_provider.py,sha256=sKnDLylCIIosYjq0-0r91LMiYJ4DlHVH2jeRDv_DlsQ,121
62
64
  ai_review/libs/constants/vcs_provider.py,sha256=mZMC8DWIDWQ1YeUZh1a1jduX5enOAe1rWeza0RBmpTY,99
@@ -71,7 +73,7 @@ ai_review/libs/http/event_hooks/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm
71
73
  ai_review/libs/http/event_hooks/base.py,sha256=cnSOOButTJYKeyb_OnGms1vXRfwfExP81L3ZfYWLufk,279
72
74
  ai_review/libs/http/event_hooks/logger.py,sha256=8_omfl6q3JijaBBIgzvzb4SayjNEDW-oxyck_Ky8wnI,603
73
75
  ai_review/libs/http/transports/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
74
- ai_review/libs/http/transports/retry.py,sha256=OIhTplK22RigjF5A8M9FdMm01BLyWpvQnuK2__NC678,1768
76
+ ai_review/libs/http/transports/retry.py,sha256=S66-SKvJvIgqBknDgEnqciTB0g2-ZQ7JubQtkzv8P44,1772
75
77
  ai_review/libs/template/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
76
78
  ai_review/libs/template/render.py,sha256=PwLG46fXg8P3gZvmJB93P51G2IBdsEK2I8oDlLGmA-4,414
77
79
  ai_review/prompts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -146,11 +148,11 @@ ai_review/services/vcs/gitlab/client.py,sha256=LK95m-uFSxhDEVU-cBGct61NTKjul-ieL
146
148
  ai_review/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
147
149
  ai_review/tests/fixtures/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
148
150
  ai_review/tests/fixtures/clients/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
149
- ai_review/tests/fixtures/clients/claude.py,sha256=CpB65Twi2Q4kIOclflnyT--wGNrLPCEEgt9P_qyhu10,759
150
- ai_review/tests/fixtures/clients/gemini.py,sha256=UXlLEqyXlei3ojrVCYRX0ic3Lq7iBNrG6BFZ8Ec_K7c,737
151
- ai_review/tests/fixtures/clients/github.py,sha256=vZu_Tf8RlvYKDyMUnlP9Uc8fL95HRs1VTv7zWxIH_eQ,6856
152
- ai_review/tests/fixtures/clients/gitlab.py,sha256=qyzp6lYZ9EQz-ECujFa5WK_xSbE-hmy35cfnW11mS6g,5531
153
- ai_review/tests/fixtures/clients/openai.py,sha256=O30n-tCfpeCxeUQgrQPK5ll__buhbeShobK7LASFMls,721
151
+ ai_review/tests/fixtures/clients/claude.py,sha256=QZWks7NS6E9LZbW5ZdRQO8Kk9yuh8iX6h6oFeMZgXUc,768
152
+ ai_review/tests/fixtures/clients/gemini.py,sha256=K8xyaMQQjKOi5-zp4CyxTiPnsWrK3TWr-WGCcVl4Ho4,746
153
+ ai_review/tests/fixtures/clients/github.py,sha256=Mzr8LcvVlYLhimzDMG4tEOQwj_6E6kTvYvSrq04R3YI,6865
154
+ ai_review/tests/fixtures/clients/gitlab.py,sha256=_0JSN-ixA7nDOwY18BlL_L9fh_qmT1_6sxGx_CIRhmM,5540
155
+ ai_review/tests/fixtures/clients/openai.py,sha256=ph3IqMSeJauyNFXxEG5IWE-jKm4SnbPo7C6mZL5S3GE,730
154
156
  ai_review/tests/fixtures/services/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
155
157
  ai_review/tests/fixtures/services/artifacts.py,sha256=V5FvUnC9OAo0n-paxxJP5OxAgLz1Zz3OZ8zZvqu_01w,1462
156
158
  ai_review/tests/fixtures/services/cost.py,sha256=A6Ja0CtQ-k6pR2-B5LRE8EzkqPL34xHGXYtaILjhYvw,1612
@@ -192,7 +194,7 @@ ai_review/tests/suites/libs/template/test_render.py,sha256=n-ss5bd_hwc-RzYmqWmFM
192
194
  ai_review/tests/suites/services/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
193
195
  ai_review/tests/suites/services/cost/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
194
196
  ai_review/tests/suites/services/cost/test_schema.py,sha256=AI3Wg1sR6nzLpkEqJGDu6nDYwiwzbbghsxhRNwRsUFA,3044
195
- ai_review/tests/suites/services/cost/test_service.py,sha256=fMW4Tg6BRMXKcqOO7MmSqJc1mpuguvFSl0GjS93m7u8,3253
197
+ ai_review/tests/suites/services/cost/test_service.py,sha256=9_Mi5hu2cq3w2tIEPfhrn9x8SblCT5m1W-QUOc9BZds,3258
196
198
  ai_review/tests/suites/services/diff/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
197
199
  ai_review/tests/suites/services/diff/test_renderers.py,sha256=IKOpsGedONNW8ZfYTAk0Vq0hfFi7L6TpWs8vVVQroj0,6273
198
200
  ai_review/tests/suites/services/diff/test_service.py,sha256=evFe1I-ulOYdkhQS9NC8Bol4jXuhEnb2iArTAzckWrA,3195
@@ -222,9 +224,9 @@ ai_review/tests/suites/services/vcs/github/__init__.py,sha256=47DEQpj8HBSa-_TImW
222
224
  ai_review/tests/suites/services/vcs/github/test_service.py,sha256=c2sjecm4qzqYXuO9j6j35NQyJzqDpnXIJImRTcpkyHo,4378
223
225
  ai_review/tests/suites/services/vcs/gitlab/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
224
226
  ai_review/tests/suites/services/vcs/gitlab/test_service.py,sha256=0dqgL5whzjcP-AQ4adP_12QfkYm_ZtdtMotmYm8Se7Y,4449
225
- xai_review-0.23.0.dist-info/licenses/LICENSE,sha256=p-v8m7Kmz4KKc7PcvsGiGEmCw9AiSXY4_ylOPy_u--Y,11343
226
- xai_review-0.23.0.dist-info/METADATA,sha256=6GjvVteV4O_MPSSgTB4dNhlbS7iNKlGO5Uei0Y6JAuQ,10872
227
- xai_review-0.23.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
228
- xai_review-0.23.0.dist-info/entry_points.txt,sha256=JyC5URanMi5io5P_PXQf7H_I1OGIpk5cZQhaPQ0g4Zs,53
229
- xai_review-0.23.0.dist-info/top_level.txt,sha256=sTsZbfzLoqvRZKdKa-BcxWvjlHdrpbeJ6DrGY0EuR0E,10
230
- xai_review-0.23.0.dist-info/RECORD,,
227
+ xai_review-0.24.0.dist-info/licenses/LICENSE,sha256=p-v8m7Kmz4KKc7PcvsGiGEmCw9AiSXY4_ylOPy_u--Y,11343
228
+ xai_review-0.24.0.dist-info/METADATA,sha256=O3hiZ0IFH8Z8trLbeQyfOnn4r5e7W1-ALGoW3T20uzE,10872
229
+ xai_review-0.24.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
230
+ xai_review-0.24.0.dist-info/entry_points.txt,sha256=JyC5URanMi5io5P_PXQf7H_I1OGIpk5cZQhaPQ0g4Zs,53
231
+ xai_review-0.24.0.dist-info/top_level.txt,sha256=sTsZbfzLoqvRZKdKa-BcxWvjlHdrpbeJ6DrGY0EuR0E,10
232
+ xai_review-0.24.0.dist-info/RECORD,,
File without changes
File without changes
File without changes
File without changes
File without changes