LICENSE
README.md
pyproject.toml
ai_review/__init__.py
ai_review/config.py
ai_review/cli/__init__.py
ai_review/cli/main.py
ai_review/cli/commands/__init__.py
ai_review/cli/commands/run_context_review.py
ai_review/cli/commands/run_inline_reply_review.py
ai_review/cli/commands/run_inline_review.py
ai_review/cli/commands/run_review.py
ai_review/cli/commands/run_summary_reply_review.py
ai_review/cli/commands/run_summary_review.py
ai_review/clients/__init__.py
ai_review/clients/bitbucket/__init__.py
ai_review/clients/bitbucket/client.py
ai_review/clients/bitbucket/tools.py
ai_review/clients/bitbucket/pr/__init__.py
ai_review/clients/bitbucket/pr/client.py
ai_review/clients/bitbucket/pr/types.py
ai_review/clients/bitbucket/pr/schema/__init__.py
ai_review/clients/bitbucket/pr/schema/comments.py
ai_review/clients/bitbucket/pr/schema/files.py
ai_review/clients/bitbucket/pr/schema/pull_request.py
ai_review/clients/bitbucket/pr/schema/user.py
ai_review/clients/claude/__init__.py
ai_review/clients/claude/client.py
ai_review/clients/claude/schema.py
ai_review/clients/claude/types.py
ai_review/clients/gemini/__init__.py
ai_review/clients/gemini/client.py
ai_review/clients/gemini/schema.py
ai_review/clients/gemini/types.py
ai_review/clients/gitea/__init__.py
ai_review/clients/gitea/client.py
ai_review/clients/gitea/tools.py
ai_review/clients/gitea/pr/__init__.py
ai_review/clients/gitea/pr/client.py
ai_review/clients/gitea/pr/types.py
ai_review/clients/gitea/pr/schema/__init__.py
ai_review/clients/gitea/pr/schema/comments.py
ai_review/clients/gitea/pr/schema/files.py
ai_review/clients/gitea/pr/schema/pull_request.py
ai_review/clients/gitea/pr/schema/user.py
ai_review/clients/github/__init__.py
ai_review/clients/github/client.py
ai_review/clients/github/tools.py
ai_review/clients/github/pr/__init__.py
ai_review/clients/github/pr/client.py
ai_review/clients/github/pr/types.py
ai_review/clients/github/pr/schema/__init__.py
ai_review/clients/github/pr/schema/comments.py
ai_review/clients/github/pr/schema/files.py
ai_review/clients/github/pr/schema/pull_request.py
ai_review/clients/github/pr/schema/reviews.py
ai_review/clients/github/pr/schema/user.py
ai_review/clients/gitlab/__init__.py
ai_review/clients/gitlab/client.py
ai_review/clients/gitlab/tools.py
ai_review/clients/gitlab/mr/__init__.py
ai_review/clients/gitlab/mr/client.py
ai_review/clients/gitlab/mr/types.py
ai_review/clients/gitlab/mr/schema/__init__.py
ai_review/clients/gitlab/mr/schema/changes.py
ai_review/clients/gitlab/mr/schema/discussions.py
ai_review/clients/gitlab/mr/schema/notes.py
ai_review/clients/gitlab/mr/schema/position.py
ai_review/clients/gitlab/mr/schema/user.py
ai_review/clients/ollama/__init__.py
ai_review/clients/ollama/client.py
ai_review/clients/ollama/schema.py
ai_review/clients/ollama/types.py
ai_review/clients/openai/__init__.py
ai_review/clients/openai/client.py
ai_review/clients/openai/schema.py
ai_review/clients/openai/types.py
ai_review/clients/openrouter/__init__.py
ai_review/clients/openrouter/client.py
ai_review/clients/openrouter/schema.py
ai_review/clients/openrouter/types.py
ai_review/libs/__init__.py
ai_review/libs/json.py
ai_review/libs/logger.py
ai_review/libs/resources.py
ai_review/libs/asynchronous/__init__.py
ai_review/libs/asynchronous/gather.py
ai_review/libs/config/__init__.py
ai_review/libs/config/artifacts.py
ai_review/libs/config/base.py
ai_review/libs/config/core.py
ai_review/libs/config/http.py
ai_review/libs/config/logger.py
ai_review/libs/config/prompt.py
ai_review/libs/config/review.py
ai_review/libs/config/llm/__init__.py
ai_review/libs/config/llm/base.py
ai_review/libs/config/llm/claude.py
ai_review/libs/config/llm/gemini.py
ai_review/libs/config/llm/meta.py
ai_review/libs/config/llm/ollama.py
ai_review/libs/config/llm/openai.py
ai_review/libs/config/llm/openrouter.py
ai_review/libs/config/vcs/__init__.py
ai_review/libs/config/vcs/base.py
ai_review/libs/config/vcs/bitbucket.py
ai_review/libs/config/vcs/gitea.py
ai_review/libs/config/vcs/github.py
ai_review/libs/config/vcs/gitlab.py
ai_review/libs/config/vcs/pagination.py
ai_review/libs/constants/__init__.py
ai_review/libs/constants/llm_provider.py
ai_review/libs/constants/vcs_provider.py
ai_review/libs/diff/__init__.py
ai_review/libs/diff/models.py
ai_review/libs/diff/parser.py
ai_review/libs/diff/tools.py
ai_review/libs/http/__init__.py
ai_review/libs/http/client.py
ai_review/libs/http/handlers.py
ai_review/libs/http/paginate.py
ai_review/libs/http/event_hooks/__init__.py
ai_review/libs/http/event_hooks/base.py
ai_review/libs/http/event_hooks/logger.py
ai_review/libs/http/transports/__init__.py
ai_review/libs/http/transports/retry.py
ai_review/libs/llm/__init__.py
ai_review/libs/llm/output_json_parser.py
ai_review/libs/template/__init__.py
ai_review/libs/template/render.py
ai_review/prompts/__init__.py
ai_review/prompts/default_context.md
ai_review/prompts/default_inline.md
ai_review/prompts/default_inline_reply.md
ai_review/prompts/default_summary.md
ai_review/prompts/default_summary_reply.md
ai_review/prompts/default_system_context.md
ai_review/prompts/default_system_inline.md
ai_review/prompts/default_system_inline_reply.md
ai_review/prompts/default_system_summary.md
ai_review/prompts/default_system_summary_reply.md
ai_review/resources/__init__.py
ai_review/resources/pricing.yaml
ai_review/services/__init__.py
ai_review/services/artifacts/__init__.py
ai_review/services/artifacts/schema.py
ai_review/services/artifacts/service.py
ai_review/services/artifacts/tools.py
ai_review/services/artifacts/types.py
ai_review/services/cost/__init__.py
ai_review/services/cost/schema.py
ai_review/services/cost/service.py
ai_review/services/cost/types.py
ai_review/services/diff/__init__.py
ai_review/services/diff/renderers.py
ai_review/services/diff/schema.py
ai_review/services/diff/service.py
ai_review/services/diff/tools.py
ai_review/services/diff/types.py
ai_review/services/git/__init__.py
ai_review/services/git/service.py
ai_review/services/git/types.py
ai_review/services/hook/__init__.py
ai_review/services/hook/constants.py
ai_review/services/hook/service.py
ai_review/services/hook/types.py
ai_review/services/llm/__init__.py
ai_review/services/llm/factory.py
ai_review/services/llm/types.py
ai_review/services/llm/claude/__init__.py
ai_review/services/llm/claude/client.py
ai_review/services/llm/gemini/__init__.py
ai_review/services/llm/gemini/client.py
ai_review/services/llm/ollama/__init__.py
ai_review/services/llm/ollama/client.py
ai_review/services/llm/openai/__init__.py
ai_review/services/llm/openai/client.py
ai_review/services/llm/openrouter/__init__.py
ai_review/services/llm/openrouter/client.py
ai_review/services/prompt/__init__.py
ai_review/services/prompt/adapter.py
ai_review/services/prompt/schema.py
ai_review/services/prompt/service.py
ai_review/services/prompt/tools.py
ai_review/services/prompt/types.py
ai_review/services/review/__init__.py
ai_review/services/review/service.py
ai_review/services/review/gateway/__init__.py
ai_review/services/review/gateway/review_comment_gateway.py
ai_review/services/review/gateway/review_dry_run_comment_gateway.py
ai_review/services/review/gateway/review_llm_gateway.py
ai_review/services/review/gateway/types.py
ai_review/services/review/internal/__init__.py
ai_review/services/review/internal/inline/__init__.py
ai_review/services/review/internal/inline/schema.py
ai_review/services/review/internal/inline/service.py
ai_review/services/review/internal/inline/types.py
ai_review/services/review/internal/inline_reply/__init__.py
ai_review/services/review/internal/inline_reply/schema.py
ai_review/services/review/internal/inline_reply/service.py
ai_review/services/review/internal/inline_reply/types.py
ai_review/services/review/internal/policy/__init__.py
ai_review/services/review/internal/policy/service.py
ai_review/services/review/internal/policy/types.py
ai_review/services/review/internal/summary/__init__.py
ai_review/services/review/internal/summary/schema.py
ai_review/services/review/internal/summary/service.py
ai_review/services/review/internal/summary/types.py
ai_review/services/review/internal/summary_reply/__init__.py
ai_review/services/review/internal/summary_reply/schema.py
ai_review/services/review/internal/summary_reply/service.py
ai_review/services/review/internal/summary_reply/types.py
ai_review/services/review/runner/__init__.py
ai_review/services/review/runner/context.py
ai_review/services/review/runner/inline.py
ai_review/services/review/runner/inline_reply.py
ai_review/services/review/runner/summary.py
ai_review/services/review/runner/summary_reply.py
ai_review/services/review/runner/types.py
ai_review/services/vcs/__init__.py
ai_review/services/vcs/factory.py
ai_review/services/vcs/types.py
ai_review/services/vcs/bitbucket/__init__.py
ai_review/services/vcs/bitbucket/adapter.py
ai_review/services/vcs/bitbucket/client.py
ai_review/services/vcs/gitea/__init__.py
ai_review/services/vcs/gitea/adapter.py
ai_review/services/vcs/gitea/client.py
ai_review/services/vcs/github/__init__.py
ai_review/services/vcs/github/adapter.py
ai_review/services/vcs/github/client.py
ai_review/services/vcs/gitlab/__init__.py
ai_review/services/vcs/gitlab/adapter.py
ai_review/services/vcs/gitlab/client.py
ai_review/tests/__init__.py
ai_review/tests/fixtures/__init__.py
ai_review/tests/fixtures/clients/__init__.py
ai_review/tests/fixtures/clients/bitbucket.py
ai_review/tests/fixtures/clients/claude.py
ai_review/tests/fixtures/clients/gemini.py
ai_review/tests/fixtures/clients/gitea.py
ai_review/tests/fixtures/clients/github.py
ai_review/tests/fixtures/clients/gitlab.py
ai_review/tests/fixtures/clients/ollama.py
ai_review/tests/fixtures/clients/openai.py
ai_review/tests/fixtures/clients/openrouter.py
ai_review/tests/fixtures/libs/__init__.py
ai_review/tests/fixtures/libs/llm/__init__.py
ai_review/tests/fixtures/libs/llm/output_json_parser.py
ai_review/tests/fixtures/services/__init__.py
ai_review/tests/fixtures/services/artifacts.py
ai_review/tests/fixtures/services/cost.py
ai_review/tests/fixtures/services/diff.py
ai_review/tests/fixtures/services/git.py
ai_review/tests/fixtures/services/hook.py
ai_review/tests/fixtures/services/llm.py
ai_review/tests/fixtures/services/prompt.py
ai_review/tests/fixtures/services/vcs.py
ai_review/tests/fixtures/services/review/__init__.py
ai_review/tests/fixtures/services/review/base.py
ai_review/tests/fixtures/services/review/gateway/__init__.py
ai_review/tests/fixtures/services/review/gateway/review_comment_gateway.py
ai_review/tests/fixtures/services/review/gateway/review_dry_run_comment_gateway.py
ai_review/tests/fixtures/services/review/gateway/review_llm_gateway.py
ai_review/tests/fixtures/services/review/internal/__init__.py
ai_review/tests/fixtures/services/review/internal/inline.py
ai_review/tests/fixtures/services/review/internal/inline_reply.py
ai_review/tests/fixtures/services/review/internal/policy.py
ai_review/tests/fixtures/services/review/internal/summary.py
ai_review/tests/fixtures/services/review/internal/summary_reply.py
ai_review/tests/fixtures/services/review/runner/__init__.py
ai_review/tests/fixtures/services/review/runner/context.py
ai_review/tests/fixtures/services/review/runner/inline.py
ai_review/tests/fixtures/services/review/runner/inline_reply.py
ai_review/tests/fixtures/services/review/runner/summary.py
ai_review/tests/fixtures/services/review/runner/summary_reply.py
ai_review/tests/suites/__init__.py
ai_review/tests/suites/cli/__init__.py
ai_review/tests/suites/cli/test_main.py
ai_review/tests/suites/clients/__init__.py
ai_review/tests/suites/clients/bitbucket/__init__.py
ai_review/tests/suites/clients/bitbucket/test_client.py
ai_review/tests/suites/clients/bitbucket/test_tools.py
ai_review/tests/suites/clients/claude/__init__.py
ai_review/tests/suites/clients/claude/test_client.py
ai_review/tests/suites/clients/claude/test_schema.py
ai_review/tests/suites/clients/gemini/__init__.py
ai_review/tests/suites/clients/gemini/test_client.py
ai_review/tests/suites/clients/gemini/test_schema.py
ai_review/tests/suites/clients/gitea/__init__.py
ai_review/tests/suites/clients/gitea/test_client.py
ai_review/tests/suites/clients/gitea/test_tools.py
ai_review/tests/suites/clients/github/__init__.py
ai_review/tests/suites/clients/github/test_client.py
ai_review/tests/suites/clients/github/test_tools.py
ai_review/tests/suites/clients/gitlab/__init__.py
ai_review/tests/suites/clients/gitlab/test_client.py
ai_review/tests/suites/clients/gitlab/test_tools.py
ai_review/tests/suites/clients/ollama/__init__.py
ai_review/tests/suites/clients/ollama/test_client.py
ai_review/tests/suites/clients/ollama/test_schema.py
ai_review/tests/suites/clients/openai/__init__.py
ai_review/tests/suites/clients/openai/test_client.py
ai_review/tests/suites/clients/openai/test_schema.py
ai_review/tests/suites/clients/openrouter/__init__.py
ai_review/tests/suites/clients/openrouter/test_client.py
ai_review/tests/suites/clients/openrouter/test_schema.py
ai_review/tests/suites/libs/__init__.py
ai_review/tests/suites/libs/test_json.py
ai_review/tests/suites/libs/asynchronous/__init__.py
ai_review/tests/suites/libs/asynchronous/test_gather.py
ai_review/tests/suites/libs/config/__init__.py
ai_review/tests/suites/libs/config/test_prompt.py
ai_review/tests/suites/libs/diff/__init__.py
ai_review/tests/suites/libs/diff/test_models.py
ai_review/tests/suites/libs/diff/test_parser.py
ai_review/tests/suites/libs/diff/test_tools.py
ai_review/tests/suites/libs/http/__init__.py
ai_review/tests/suites/libs/http/test_paginate.py
ai_review/tests/suites/libs/llm/__init__.py
ai_review/tests/suites/libs/llm/test_output_json_parser.py
ai_review/tests/suites/libs/template/__init__.py
ai_review/tests/suites/libs/template/test_render.py
ai_review/tests/suites/services/__init__.py
ai_review/tests/suites/services/artifacts/__init__.py
ai_review/tests/suites/services/artifacts/test_service.py
ai_review/tests/suites/services/artifacts/test_tools.py
ai_review/tests/suites/services/cost/__init__.py
ai_review/tests/suites/services/cost/test_schema.py
ai_review/tests/suites/services/cost/test_service.py
ai_review/tests/suites/services/diff/__init__.py
ai_review/tests/suites/services/diff/test_renderers.py
ai_review/tests/suites/services/diff/test_service.py
ai_review/tests/suites/services/diff/test_tools.py
ai_review/tests/suites/services/hook/__init__.py
ai_review/tests/suites/services/hook/test_service.py
ai_review/tests/suites/services/llm/__init__.py
ai_review/tests/suites/services/llm/test_factory.py
ai_review/tests/suites/services/llm/claude/__init__.py
ai_review/tests/suites/services/llm/claude/test_client.py
ai_review/tests/suites/services/llm/gemini/__init__.py
ai_review/tests/suites/services/llm/gemini/test_client.py
ai_review/tests/suites/services/llm/ollama/__init__.py
ai_review/tests/suites/services/llm/ollama/test_client.py
ai_review/tests/suites/services/llm/openai/__init__.py
ai_review/tests/suites/services/llm/openai/test_client.py
ai_review/tests/suites/services/llm/openrouter/__init__.py
ai_review/tests/suites/services/llm/openrouter/test_client.py
ai_review/tests/suites/services/prompt/__init__.py
ai_review/tests/suites/services/prompt/test_adapter.py
ai_review/tests/suites/services/prompt/test_schema.py
ai_review/tests/suites/services/prompt/test_service.py
ai_review/tests/suites/services/prompt/test_tools.py
ai_review/tests/suites/services/review/__init__.py
ai_review/tests/suites/services/review/test_service.py
ai_review/tests/suites/services/review/gateway/__init__.py
ai_review/tests/suites/services/review/gateway/test_review_comment_gateway.py
ai_review/tests/suites/services/review/gateway/test_review_dry_run_comment_gateway.py
ai_review/tests/suites/services/review/gateway/test_review_llm_gateway.py
ai_review/tests/suites/services/review/internal/__init__.py
ai_review/tests/suites/services/review/internal/inline/__init__.py
ai_review/tests/suites/services/review/internal/inline/test_schema.py
ai_review/tests/suites/services/review/internal/inline/test_service.py
ai_review/tests/suites/services/review/internal/inline_reply/__init__.py
ai_review/tests/suites/services/review/internal/inline_reply/test_schema.py
ai_review/tests/suites/services/review/internal/inline_reply/test_service.py
ai_review/tests/suites/services/review/internal/policy/__init__.py
ai_review/tests/suites/services/review/internal/policy/test_service.py
ai_review/tests/suites/services/review/internal/summary/__init__.py
ai_review/tests/suites/services/review/internal/summary/test_schema.py
ai_review/tests/suites/services/review/internal/summary/test_service.py
ai_review/tests/suites/services/review/internal/summary_reply/__init__.py
ai_review/tests/suites/services/review/internal/summary_reply/test_schema.py
ai_review/tests/suites/services/review/internal/summary_reply/test_service.py
ai_review/tests/suites/services/review/runner/__init__.py
ai_review/tests/suites/services/review/runner/test_context.py
ai_review/tests/suites/services/review/runner/test_inline.py
ai_review/tests/suites/services/review/runner/test_inline_reply.py
ai_review/tests/suites/services/review/runner/test_summary.py
ai_review/tests/suites/services/review/runner/test_summary_reply.py
ai_review/tests/suites/services/vcs/__init__.py
ai_review/tests/suites/services/vcs/test_factory.py
ai_review/tests/suites/services/vcs/bitbucket/__init__.py
ai_review/tests/suites/services/vcs/bitbucket/test_adapter.py
ai_review/tests/suites/services/vcs/bitbucket/test_client.py
ai_review/tests/suites/services/vcs/gitea/__init__.py
ai_review/tests/suites/services/vcs/gitea/test_adapter.py
ai_review/tests/suites/services/vcs/gitea/test_client.py
ai_review/tests/suites/services/vcs/github/__init__.py
ai_review/tests/suites/services/vcs/github/test_adapter.py
ai_review/tests/suites/services/vcs/github/test_client.py
ai_review/tests/suites/services/vcs/gitlab/__init__.py
ai_review/tests/suites/services/vcs/gitlab/test_adapter.py
ai_review/tests/suites/services/vcs/gitlab/test_client.py
xai_review.egg-info/PKG-INFO
xai_review.egg-info/SOURCES.txt
xai_review.egg-info/dependency_links.txt
xai_review.egg-info/entry_points.txt
xai_review.egg-info/requires.txt
xai_review.egg-info/top_level.txt