better-code-review-graph 3.26.0__tar.gz → 3.26.2__tar.gz

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.
Files changed (257) hide show
  1. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/.claude-plugin/plugin.json +2 -2
  2. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/.github/workflows/cd.yml +21 -2
  3. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/CHANGELOG.md +27 -0
  4. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/PKG-INFO +22 -19
  5. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/README.md +21 -18
  6. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/pyproject.toml +1 -1
  7. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/server.json +3 -3
  8. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/uv.lock +36 -36
  9. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/.agents/skills/build-graph/SKILL.md +0 -0
  10. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/.agents/skills/review-delta/SKILL.md +0 -0
  11. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/.agents/skills/review-pr/SKILL.md +0 -0
  12. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/.coderabbit.yaml +0 -0
  13. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/.dockerignore +0 -0
  14. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/.github/CODEOWNERS +0 -0
  15. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  16. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  17. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  18. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/.github/review-learnings.md +0 -0
  19. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/.github/rulesets/main.json +0 -0
  20. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/.github/workflows/bot-governance.yml +0 -0
  21. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/.github/workflows/ci.yml +0 -0
  22. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/.github/workflows/opencode.yml +0 -0
  23. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/.gitignore +0 -0
  24. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/.infisical.json +0 -0
  25. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/.jules/bolt.md +0 -0
  26. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/.jules/sentinel.md +0 -0
  27. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/.pre-commit-config.yaml +0 -0
  28. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/AGENTS.md +0 -0
  29. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/BREAKING_CHANGES.md +0 -0
  30. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/CLAUDE.md +0 -0
  31. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/CODE_OF_CONDUCT.md +0 -0
  32. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/CONTRIBUTING.md +0 -0
  33. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/Dockerfile +0 -0
  34. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/LICENSE +0 -0
  35. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/LICENSE-MIT +0 -0
  36. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/NOTICE +0 -0
  37. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/SECURITY.md +0 -0
  38. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/alembic.ini +0 -0
  39. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/docs/HANDOVER.md +0 -0
  40. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/hooks/_graph_state.py +0 -0
  41. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/hooks/branch-sync-check.py +0 -0
  42. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/hooks/hooks.json +0 -0
  43. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/hooks/stale-graph-check.py +0 -0
  44. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/migrations/README +0 -0
  45. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/migrations/env.py +0 -0
  46. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/migrations/script.py.mako +0 -0
  47. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/migrations/versions/001_baseline.py +0 -0
  48. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/migrations/versions/002_summary_columns.py +0 -0
  49. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/migrations/versions/003_federation.py +0 -0
  50. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/migrations/versions/004_security_tags.py +0 -0
  51. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/migrations/versions/005_temporal_columns.py +0 -0
  52. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/migrations/versions/006_commits_table.py +0 -0
  53. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/renovate.json +0 -0
  54. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/rules/heuristic/cwe-22-path-traversal.yaml +0 -0
  55. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/rules/heuristic/cwe-78-shell-command-sink.yaml +0 -0
  56. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/rules/heuristic/cwe-89-sql-string-format.yaml +0 -0
  57. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/rules/heuristic/cwe-95-eval-on-input.yaml +0 -0
  58. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/rules/heuristic/hardcoded-secret.yaml +0 -0
  59. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/rules/semgrep/curated.yaml +0 -0
  60. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/scripts/benchmark_row_deserialization.py +0 -0
  61. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/scripts/enforce-commit.sh +0 -0
  62. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/scripts/preserve-diacritics.py +0 -0
  63. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/scripts/test_preserve_diacritics.py +0 -0
  64. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/semantic-release.toml +0 -0
  65. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/skills/impact-audit/SKILL.md +0 -0
  66. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/skills/onboard-repo/SKILL.md +0 -0
  67. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/skills/refactor-check/SKILL.md +0 -0
  68. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/skills/review-delta/SKILL.md +0 -0
  69. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/skills/review-pr/SKILL.md +0 -0
  70. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/skills/security-sweep/SKILL.md +0 -0
  71. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/smithery.yaml +0 -0
  72. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/src/better_code_review_graph/__init__.py +0 -0
  73. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/src/better_code_review_graph/__main__.py +0 -0
  74. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/src/better_code_review_graph/cli.py +0 -0
  75. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/src/better_code_review_graph/config.py +0 -0
  76. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/src/better_code_review_graph/credential_state.py +0 -0
  77. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/src/better_code_review_graph/docs/__init__.py +0 -0
  78. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/src/better_code_review_graph/docs/config.md +0 -0
  79. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/src/better_code_review_graph/docs/graph.md +0 -0
  80. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/src/better_code_review_graph/docs/query.md +0 -0
  81. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/src/better_code_review_graph/docs/recipes.md +0 -0
  82. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/src/better_code_review_graph/docs/review.md +0 -0
  83. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/src/better_code_review_graph/docs/security.md +0 -0
  84. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/src/better_code_review_graph/embeddings.py +0 -0
  85. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/src/better_code_review_graph/exporter.py +0 -0
  86. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/src/better_code_review_graph/federation.py +0 -0
  87. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/src/better_code_review_graph/graph.py +0 -0
  88. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/src/better_code_review_graph/importer.py +0 -0
  89. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/src/better_code_review_graph/incremental.py +0 -0
  90. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/src/better_code_review_graph/parser.py +0 -0
  91. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/src/better_code_review_graph/py.typed +0 -0
  92. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/src/better_code_review_graph/relay_schema.py +0 -0
  93. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/src/better_code_review_graph/relay_setup.py +0 -0
  94. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/src/better_code_review_graph/reranker.py +0 -0
  95. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/src/better_code_review_graph/resolver/__init__.py +0 -0
  96. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/src/better_code_review_graph/resolver/_types.py +0 -0
  97. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/src/better_code_review_graph/resolver/fallback.py +0 -0
  98. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/src/better_code_review_graph/resolver/go.py +0 -0
  99. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/src/better_code_review_graph/resolver/java.py +0 -0
  100. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/src/better_code_review_graph/resolver/python.py +0 -0
  101. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/src/better_code_review_graph/resolver/rust.py +0 -0
  102. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/src/better_code_review_graph/resolver/typescript.py +0 -0
  103. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/src/better_code_review_graph/security/__init__.py +0 -0
  104. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/src/better_code_review_graph/security/heuristic.py +0 -0
  105. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/src/better_code_review_graph/security/semgrep_engine.py +0 -0
  106. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/src/better_code_review_graph/server.py +0 -0
  107. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/src/better_code_review_graph/summarizer.py +0 -0
  108. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/src/better_code_review_graph/temporal.py +0 -0
  109. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/src/better_code_review_graph/tools.py +0 -0
  110. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/src/better_code_review_graph/xpia.py +0 -0
  111. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/__init__.py +0 -0
  112. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/conftest.py +0 -0
  113. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/conftest_e2e.py +0 -0
  114. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/e2e_mcp_protocol_test.py +0 -0
  115. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/fixtures/Sample.cs +0 -0
  116. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/fixtures/SampleJava.java +0 -0
  117. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/fixtures/callback_refs.js +0 -0
  118. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/fixtures/caller_example.py +0 -0
  119. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/fixtures/multi_call_example.py +0 -0
  120. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/fixtures/sample.c +0 -0
  121. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/fixtures/sample.cpp +0 -0
  122. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/fixtures/sample.kt +0 -0
  123. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/fixtures/sample.php +0 -0
  124. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/fixtures/sample.rb +0 -0
  125. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/fixtures/sample.sol +0 -0
  126. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/fixtures/sample.swift +0 -0
  127. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/fixtures/sample_go.go +0 -0
  128. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/fixtures/sample_python.py +0 -0
  129. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/fixtures/sample_rust.rs +0 -0
  130. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/fixtures/sample_typescript.ts +0 -0
  131. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/fixtures/test_sample.py +0 -0
  132. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/integration/__init__.py +0 -0
  133. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/integration/test_multi_user_remote.py +0 -0
  134. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_alembic_baseline.py +0 -0
  135. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_as_of_diff.py +0 -0
  136. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_auto_resolve_ambiguity.py +0 -0
  137. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_bare_suffix_correctness.py +0 -0
  138. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_callers_not_found_reason.py +0 -0
  139. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_callers_of_coverage.py +0 -0
  140. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_cli.py +0 -0
  141. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_cli_contracts.py +0 -0
  142. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_cohere_dimensions.py +0 -0
  143. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_commits_migration.py +0 -0
  144. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_config_open_relay_registered.py +0 -0
  145. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_coverage_gaps.py +0 -0
  146. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_credential_state.py +0 -0
  147. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_credential_state_stdio_no_fallback.py +0 -0
  148. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_credential_state_store_errors.py +0 -0
  149. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_crg_protocol_harness.py +0 -0
  150. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_custom_local_model.py +0 -0
  151. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_dynamic_dispatch_hints.py +0 -0
  152. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_e2e.py +0 -0
  153. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_embedder_retry_classification.py +0 -0
  154. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_embedding_migration.py +0 -0
  155. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_embeddings.py +0 -0
  156. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_embeddings_extra.py +0 -0
  157. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_export_graph_dispatch.py +0 -0
  158. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_export_graph_dispatch_path_traversal.py +0 -0
  159. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_exporter.py +0 -0
  160. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_federation.py +0 -0
  161. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_federation_migration.py +0 -0
  162. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_federation_smoke.py +0 -0
  163. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_full_live.py +0 -0
  164. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_g6_ux_status_accuracy.py +0 -0
  165. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_get_docs_section_error_path.py +0 -0
  166. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_get_review_context_no_diff.py +0 -0
  167. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_graph.py +0 -0
  168. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_graph_batch_fetch.py +0 -0
  169. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_graph_extra.py +0 -0
  170. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_graph_get_edges_by_targets_coverage.py +0 -0
  171. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_graph_stats_error_coverage.py +0 -0
  172. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_handle_not_found_coverage.py +0 -0
  173. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_help_recipes.py +0 -0
  174. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_heuristic.py +0 -0
  175. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_home_isolation.py +0 -0
  176. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_impact_payload_truncation.py +0 -0
  177. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_implements_edges.py +0 -0
  178. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_import_graph_dispatch.py +0 -0
  179. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_importer.py +0 -0
  180. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_incremental.py +0 -0
  181. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_incremental_extra.py +0 -0
  182. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_kind_filter_optimization.py +0 -0
  183. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_kinds_error_path.py +0 -0
  184. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_list_graph_stats_coverage.py +0 -0
  185. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_list_kinds_coverage.py +0 -0
  186. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_live_mcp.py +0 -0
  187. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_local_reranker.py +0 -0
  188. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_lookup_node_directly.py +0 -0
  189. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_multi_user.py +0 -0
  190. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_multi_user_dispatch.py +0 -0
  191. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_multilang.py +0 -0
  192. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_no_stale_package_name.py +0 -0
  193. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_oci_publication_sunset.py +0 -0
  194. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_oserror_coverage.py +0 -0
  195. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_parser.py +0 -0
  196. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_parser_extra.py +0 -0
  197. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_parser_grammar_failure.py +0 -0
  198. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_parser_source_text.py +0 -0
  199. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_path_resolution_fallback.py +0 -0
  200. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_payload_estimation.py +0 -0
  201. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_per_plugin_storage_migration.py +0 -0
  202. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_per_sub_graph_db.py +0 -0
  203. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_performance_n1.py +0 -0
  204. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_performance_n1_embeddings.py +0 -0
  205. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_phase_3_smoke.py +0 -0
  206. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_plugin_assets.py +0 -0
  207. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_pre_2_0_backup.py +0 -0
  208. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_relay_schema.py +0 -0
  209. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_relay_setup.py +0 -0
  210. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_renamed_in_diff.py +0 -0
  211. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_renamed_in_diff_exception.py +0 -0
  212. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_repo_filter.py +0 -0
  213. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_repo_filter_batching.py +0 -0
  214. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_repo_id_persistence.py +0 -0
  215. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_resolve_search_candidates.py +0 -0
  216. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_resolver_dispatcher.py +0 -0
  217. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_resolver_fallback.py +0 -0
  218. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_resolver_go.py +0 -0
  219. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_resolver_java.py +0 -0
  220. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_resolver_python.py +0 -0
  221. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_resolver_rust.py +0 -0
  222. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_resolver_typescript.py +0 -0
  223. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_response_header.py +0 -0
  224. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_response_payload_honesty.py +0 -0
  225. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_review_delta_line_shifts.py +0 -0
  226. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_review_languages_filter.py +0 -0
  227. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_reviewer_summary.py +0 -0
  228. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_search_edges_by_target_names.py +0 -0
  229. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_search_keyword_warning.py +0 -0
  230. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_security_injection.py +0 -0
  231. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_security_path_traversal.py +0 -0
  232. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_security_scan_batching.py +0 -0
  233. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_security_tags_migration.py +0 -0
  234. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_security_tool.py +0 -0
  235. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_semgrep_engine.py +0 -0
  236. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_server.py +0 -0
  237. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_server_help_coverage.py +0 -0
  238. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_serverinfo_version.py +0 -0
  239. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_setup_tool.py +0 -0
  240. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_shares_state_edges.py +0 -0
  241. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_spot_check.py +0 -0
  242. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_sql_security.py +0 -0
  243. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_stdio_direct.py +0 -0
  244. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_summarize_graph_dispatch.py +0 -0
  245. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_summarizer.py +0 -0
  246. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_summary_schema.py +0 -0
  247. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_temporal.py +0 -0
  248. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_temporal_migration.py +0 -0
  249. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_tested_by_edges.py +0 -0
  250. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_tools.py +0 -0
  251. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_tools_build_error_coverage.py +0 -0
  252. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_tools_full.py +0 -0
  253. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_tools_get_docs_section_coverage.py +0 -0
  254. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_typescript_coverage_gaps.py +0 -0
  255. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_v17_coverage_gaps.py +0 -0
  256. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_xpia.py +0 -0
  257. {better_code_review_graph-3.26.0 → better_code_review_graph-3.26.2}/tests/test_xpia_adversarial.py +0 -0
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "better-code-review-graph",
3
3
  "description": "Knowledge graph for token-efficient code reviews -- semantic search and call-graph resolution across your codebase.",
4
- "version": "3.26.0",
4
+ "version": "3.26.2",
5
5
  "userConfig": {
6
6
  "EMBEDDING_MODELS": {
7
7
  "type": "string",
@@ -103,7 +103,7 @@
103
103
  "name": "n24q02m",
104
104
  "url": "https://github.com/n24q02m"
105
105
  },
106
- "homepage": "https://github.com/n24q02m/better-code-review-graph",
106
+ "homepage": "https://github.com/n24q02m/crg",
107
107
  "mcpServers": {
108
108
  "better-code-review-graph": {
109
109
  "command": "uvx",
@@ -13,6 +13,11 @@ on:
13
13
  options:
14
14
  - beta
15
15
  - stable
16
+ publish_existing_tag:
17
+ description: "Recovery only: publish an already-created tag (e.g. v3.1.0), skipping semantic-release. Use when the auto-computed version's tag name is permanently reserved by a GitHub immutable release."
18
+ required: false
19
+ type: string
20
+ default: ""
16
21
 
17
22
  env:
18
23
  # Release lane: merge to main auto-publishes stable; beta only via manual dispatch (release_type=beta).
@@ -61,6 +66,7 @@ jobs:
61
66
  # same prerelease inputs as the real step, run against the same untouched checkout.
62
67
  - uses: n24q02m/better-semantic-release@6e6884898bfe1ac34a0bc64ed62f54a21562df23 # v1.6.1
63
68
  id: dryrun
69
+ if: inputs.publish_existing_tag == ''
64
70
  with:
65
71
  github_token: ${{ steps.app-token.outputs.token }}
66
72
  prerelease: ${{ env.RELEASE_TYPE == 'beta' }}
@@ -74,7 +80,7 @@ jobs:
74
80
  # repo predating that check). released=false alone is not an error (it is
75
81
  # the normal outcome of a docs-only/chore-only window), so this only warns.
76
82
  - name: Warn if commits exist since last tag but PSR computed no release
77
- if: steps.dryrun.outputs.released != 'true'
83
+ if: inputs.publish_existing_tag == '' && steps.dryrun.outputs.released != 'true'
78
84
  run: |
79
85
  set -uo pipefail
80
86
  highest_tag="$(git tag -l 'v*' | sort -V | tail -1)"
@@ -127,16 +133,29 @@ jobs:
127
133
 
128
134
  - uses: n24q02m/better-semantic-release@6e6884898bfe1ac34a0bc64ed62f54a21562df23 # v1.6.1
129
135
  id: release
136
+ if: inputs.publish_existing_tag == ''
130
137
  with:
131
138
  github_token: ${{ steps.app-token.outputs.token }}
132
139
  prerelease: ${{ env.RELEASE_TYPE == 'beta' }}
133
140
  prerelease_token: beta
134
141
 
135
142
  - uses: python-semantic-release/publish-action@6d89e2de8d40ecb3717316ecbbf15a6fa8ea9039 # v10.6.2
136
- if: steps.release.outputs.released == 'true'
143
+ if: inputs.publish_existing_tag == '' && steps.release.outputs.released == 'true'
137
144
  with:
138
145
  github_token: ${{ steps.app-token.outputs.token }}
139
146
  tag: ${{ steps.release.outputs.tag }}
147
+ - name: Use existing tag (immutable-release recovery)
148
+ id: forced
149
+ if: inputs.publish_existing_tag != ''
150
+ run: |
151
+ TAG="${{ inputs.publish_existing_tag }}"
152
+ VERSION="${TAG#v}"
153
+ {
154
+ echo "released=true"
155
+ echo "tag=$TAG"
156
+ echo "version=$VERSION"
157
+ echo "is_prerelease=false"
158
+ } >> "$GITHUB_OUTPUT"
140
159
 
141
160
  # =================== Publish to PyPI ===================
142
161
  publish-pypi:
@@ -2,6 +2,33 @@
2
2
 
3
3
  <!-- version list -->
4
4
 
5
+ ## v3.26.2 (2026-09-13)
6
+
7
+ ### Bug Fixes
8
+
9
+ - **deps**: Lock file maintenance ([#1041](https://github.com/n24q02m/crg/pull/1041),
10
+ [`b4bc8be`](https://github.com/n24q02m/crg/commit/b4bc8be2fb5be1370010f69e9e35cb4d273cd0c3))
11
+
12
+ ### Documentation
13
+
14
+ - **readme**: Lead install/CLI with crg script, document uvx --from form and legacy name
15
+ ([`6c91fea`](https://github.com/n24q02m/crg/commit/6c91fea3a25580123837d5b9ef3eae4837953093))
16
+
17
+
18
+ ## v3.26.1 (2026-09-13)
19
+
20
+ ### Bug Fixes
21
+
22
+ - Point server.json + plugin metadata at renamed repo crg
23
+ ([`c7b7603`](https://github.com/n24q02m/crg/commit/c7b7603b9da078dbea44132174cfb1581fdcb6c7))
24
+
25
+ ### Continuous Integration
26
+
27
+ - **cd**: Add publish_existing_tag recovery dispatch (port from wet) so a rename-blocked PyPI
28
+ publish can be replayed without a new release
29
+ ([`3ee17ca`](https://github.com/n24q02m/crg/commit/3ee17ca1928e18ba1eff7165f00973ed75cbcd65))
30
+
31
+
5
32
  ## v3.26.0 (2026-09-13)
6
33
 
7
34
  ### Documentation
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: better-code-review-graph
3
- Version: 3.26.0
3
+ Version: 3.26.2
4
4
  Summary: Token-efficient code review knowledge graph: semantic search and call-graph resolution.
5
5
  Author: n24q02m
6
6
  License-Expression: Apache-2.0
@@ -116,15 +116,16 @@ plus the bundled `skills/` workflows. The skills invoke the CLI directly and do
116
116
  not require an MCP server mapping.
117
117
 
118
118
  ```bash
119
- # Run without a persistent install
120
- uvx --python 3.13 better-code-review-graph graph build --full-rebuild \
119
+ # Run without a persistent install (short `crg` script; PyPI package name stays
120
+ # better-code-review-graph, so `uvx` needs the explicit --from form)
121
+ uvx --python 3.13 --from better-code-review-graph crg graph build --full-rebuild \
121
122
  --repo-root /path/to/repo
122
- uvx --python 3.13 better-code-review-graph graph stats \
123
+ uvx --python 3.13 --from better-code-review-graph crg graph stats \
123
124
  --repo-root /path/to/repo
124
125
 
125
- # Or install the console script
126
+ # Or install the console scripts (installs both `crg` and the legacy long name)
126
127
  pip install better-code-review-graph
127
- better-code-review-graph query search --search-query "authentication" \
128
+ crg query search --search-query "authentication" \
128
129
  --repo-root /path/to/repo
129
130
  ```
130
131
 
@@ -414,29 +415,31 @@ browser setup form (e.g. after credential expiry); in stdio mode it returns
414
415
 
415
416
  ## CLI
416
417
 
417
- Running `better-code-review-graph` with **no arguments** starts the MCP server
418
- over stdio. A leading positional argument routes to a local CLI subcommand
419
- that calls the same domain services used by the MCP adapter. Run these with
420
- `uvx` (or `uv run` from a source checkout):
418
+ The package installs two console scripts: **`crg`** (primary) and
419
+ `better-code-review-graph` (legacy long name). Running either with **no
420
+ arguments** starts the MCP server over stdio; a leading positional argument
421
+ routes to a local CLI subcommand that calls the same domain services used by
422
+ the MCP adapter. Run them directly after `pip install`, or without a
423
+ persistent install via `uvx --python 3.13 --from better-code-review-graph crg ...`.
421
424
 
422
425
  ```bash
423
426
  # Start the MCP server over stdio (default -- no subcommand)
424
- uvx better-code-review-graph
427
+ crg
425
428
 
426
429
  # Build, inspect, and embed the local graph
427
- uvx better-code-review-graph graph build
428
- uvx better-code-review-graph graph stats
429
- uvx better-code-review-graph graph embed
430
+ crg graph build
431
+ crg graph stats
432
+ crg graph embed
430
433
 
431
434
  # Query relationships and impact
432
- uvx better-code-review-graph query query \
435
+ crg query query \
433
436
  --pattern callers_of --target "path/to/module.py::function"
434
- uvx better-code-review-graph query search --search-query "authentication"
435
- uvx better-code-review-graph query impact --changed-files src/app.py
437
+ crg query search --search-query "authentication"
438
+ crg query impact --changed-files src/app.py
436
439
 
437
440
  # Produce review context and run a local security scan
438
- uvx better-code-review-graph review context --base HEAD~1
439
- uvx better-code-review-graph security scan --engine heuristic
441
+ crg review context --base HEAD~1
442
+ crg security scan --engine heuristic
440
443
  ```
441
444
 
442
445
  | Command | Description |
@@ -83,15 +83,16 @@ plus the bundled `skills/` workflows. The skills invoke the CLI directly and do
83
83
  not require an MCP server mapping.
84
84
 
85
85
  ```bash
86
- # Run without a persistent install
87
- uvx --python 3.13 better-code-review-graph graph build --full-rebuild \
86
+ # Run without a persistent install (short `crg` script; PyPI package name stays
87
+ # better-code-review-graph, so `uvx` needs the explicit --from form)
88
+ uvx --python 3.13 --from better-code-review-graph crg graph build --full-rebuild \
88
89
  --repo-root /path/to/repo
89
- uvx --python 3.13 better-code-review-graph graph stats \
90
+ uvx --python 3.13 --from better-code-review-graph crg graph stats \
90
91
  --repo-root /path/to/repo
91
92
 
92
- # Or install the console script
93
+ # Or install the console scripts (installs both `crg` and the legacy long name)
93
94
  pip install better-code-review-graph
94
- better-code-review-graph query search --search-query "authentication" \
95
+ crg query search --search-query "authentication" \
95
96
  --repo-root /path/to/repo
96
97
  ```
97
98
 
@@ -381,29 +382,31 @@ browser setup form (e.g. after credential expiry); in stdio mode it returns
381
382
 
382
383
  ## CLI
383
384
 
384
- Running `better-code-review-graph` with **no arguments** starts the MCP server
385
- over stdio. A leading positional argument routes to a local CLI subcommand
386
- that calls the same domain services used by the MCP adapter. Run these with
387
- `uvx` (or `uv run` from a source checkout):
385
+ The package installs two console scripts: **`crg`** (primary) and
386
+ `better-code-review-graph` (legacy long name). Running either with **no
387
+ arguments** starts the MCP server over stdio; a leading positional argument
388
+ routes to a local CLI subcommand that calls the same domain services used by
389
+ the MCP adapter. Run them directly after `pip install`, or without a
390
+ persistent install via `uvx --python 3.13 --from better-code-review-graph crg ...`.
388
391
 
389
392
  ```bash
390
393
  # Start the MCP server over stdio (default -- no subcommand)
391
- uvx better-code-review-graph
394
+ crg
392
395
 
393
396
  # Build, inspect, and embed the local graph
394
- uvx better-code-review-graph graph build
395
- uvx better-code-review-graph graph stats
396
- uvx better-code-review-graph graph embed
397
+ crg graph build
398
+ crg graph stats
399
+ crg graph embed
397
400
 
398
401
  # Query relationships and impact
399
- uvx better-code-review-graph query query \
402
+ crg query query \
400
403
  --pattern callers_of --target "path/to/module.py::function"
401
- uvx better-code-review-graph query search --search-query "authentication"
402
- uvx better-code-review-graph query impact --changed-files src/app.py
404
+ crg query search --search-query "authentication"
405
+ crg query impact --changed-files src/app.py
403
406
 
404
407
  # Produce review context and run a local security scan
405
- uvx better-code-review-graph review context --base HEAD~1
406
- uvx better-code-review-graph security scan --engine heuristic
408
+ crg review context --base HEAD~1
409
+ crg security scan --engine heuristic
407
410
  ```
408
411
 
409
412
  | Command | Description |
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "better-code-review-graph"
7
- version = "3.26.0"
7
+ version = "3.26.2"
8
8
  description = "Token-efficient code review knowledge graph: semantic search and call-graph resolution."
9
9
  readme = { file = "README.md", content-type = "text/markdown" }
10
10
  license = "Apache-2.0"
@@ -3,15 +3,15 @@
3
3
  "name": "io.github.n24q02m/better-code-review-graph",
4
4
  "description": "Token-efficient code review knowledge graph: semantic search and call-graph resolution.",
5
5
  "repository": {
6
- "url": "https://github.com/n24q02m/better-code-review-graph.git",
6
+ "url": "https://github.com/n24q02m/crg.git",
7
7
  "source": "github"
8
8
  },
9
- "version": "3.26.0",
9
+ "version": "3.26.2",
10
10
  "packages": [
11
11
  {
12
12
  "registryType": "pypi",
13
13
  "identifier": "better-code-review-graph",
14
- "version": "3.26.0",
14
+ "version": "3.26.2",
15
15
  "runtimeHint": "uvx",
16
16
  "runtimeArgs": [
17
17
  "--python",
@@ -159,7 +159,7 @@ wheels = [
159
159
 
160
160
  [[package]]
161
161
  name = "better-code-review-graph"
162
- version = "3.25.10"
162
+ version = "3.26.1"
163
163
  source = { editable = "." }
164
164
  dependencies = [
165
165
  { name = "alembic" },
@@ -409,26 +409,26 @@ wheels = [
409
409
 
410
410
  [[package]]
411
411
  name = "coverage"
412
- version = "7.16.0"
412
+ version = "7.16.1"
413
413
  source = { registry = "https://pypi.org/simple" }
414
- sdist = { url = "https://files.pythonhosted.org/packages/d1/f5/deb1a27aa20746c0278ac998c4179e272004699b2d33959ce020c5ac1615/coverage-7.16.0.tar.gz", hash = "sha256:077f0964087883176ff6ab9b074694cae29f8c708273b13ca62c183c6ed716cd", size = 945620, upload-time = "2026-08-28T21:54:37.74Z" }
414
+ sdist = { url = "https://files.pythonhosted.org/packages/65/2d/c738872f477f5687152acae68635790387425d407ae37dd3d3a8a6692307/coverage-7.16.1.tar.gz", hash = "sha256:f83981779bcf9dfa06fa0a8d4cb43e0faec1706328ce07aa3e7b665b4ac0f210", size = 969651, upload-time = "2026-09-13T19:12:21.422Z" }
415
415
  wheels = [
416
- { url = "https://files.pythonhosted.org/packages/54/c5/e62c87f4799d1e3647d5b2ae16ea1d12205d72fde1ea8529e13fe050f678/coverage-7.16.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:1545c52ce756b8a97007f439a220297f1cd72a2cbbcdffccdf1c1f70e74f9a42", size = 223215, upload-time = "2026-08-28T21:51:55.628Z" },
417
- { url = "https://files.pythonhosted.org/packages/89/e9/5e62fda9397175fb206f75368b6e85da06d831c181b6d0f67ca073cd2f89/coverage-7.16.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:0598aadae641f30a0796b75b45c0b9c5de8619bd5cfb251bb0cc254e86e6dd13", size = 223585, upload-time = "2026-08-28T21:51:57.355Z" },
418
- { url = "https://files.pythonhosted.org/packages/b9/40/bede08621b1ba67e88c4d3336c22b52cb7911ff1fa4ef055344b6670e58a/coverage-7.16.0-cp313-cp313-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:4080ad6bad9f14690e6b2104f5e8d137ccc65a4b5427a36662090637d4bd16d5", size = 254575, upload-time = "2026-08-28T21:51:59.233Z" },
419
- { url = "https://files.pythonhosted.org/packages/12/d8/ab0bdaa45dfd6b8cbf1a3ec548fdf827684b1997f9724375c5b3e89144fb/coverage-7.16.0-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:e9883a2f8206ce3af59117dc278e5d043fea06912bca3f199816129e5e2de354", size = 257172, upload-time = "2026-08-28T21:52:01.015Z" },
420
- { url = "https://files.pythonhosted.org/packages/1d/bb/135de81784bbd7dfedcab2b92b03d71d75b09b0815b42d6dabb052def5a6/coverage-7.16.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:984e5430fc6f858385009e92549955157d79335b1f3e13e1031e0f89d1284261", size = 258410, upload-time = "2026-08-28T21:52:02.76Z" },
421
- { url = "https://files.pythonhosted.org/packages/ad/72/ce44ecc062fb2e43d9447bb76154d091c2139232f20c125297c4b58f4c6a/coverage-7.16.0-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:b1374099dd1ad0d31fbb6c95d00a56a3c5e85fb3343dca14fc12f78323a2b42a", size = 260539, upload-time = "2026-08-28T21:52:04.821Z" },
422
- { url = "https://files.pythonhosted.org/packages/e7/c4/9389c36a41e59406ca2bba493807c2294d2e5186a7e9ebcc2e63a0f2a711/coverage-7.16.0-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:34d8686bce035c8465b318a8c2890e69ba14a00801a27f4eb6bdc97c23944d87", size = 254756, upload-time = "2026-08-28T21:52:06.68Z" },
423
- { url = "https://files.pythonhosted.org/packages/ad/0f/7762447b15e01fb84263608540123c4d9941f06303265ee74d801ccbec0e/coverage-7.16.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:857fceba6ff4b507ee0ad98798a33d544a8473df0c542bf04251ee4ed5ee6292", size = 256540, upload-time = "2026-08-28T21:52:08.529Z" },
424
- { url = "https://files.pythonhosted.org/packages/e6/fa/c60dc75a8346c1dbebebc7279b19971c88f70dd575f0bc10bc0cb16f92d5/coverage-7.16.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:bbf08d951abaa1ce89e28c998361d56b952413846b459cd017f116ad4c9adbfa", size = 254508, upload-time = "2026-08-28T21:52:10.323Z" },
425
- { url = "https://files.pythonhosted.org/packages/c3/f0/4e0834f3a1fccaa8bf625a2a1d73bde0fa32577dc3249853c0dd0e7f2b20/coverage-7.16.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:1a03e78f53e4d2ab13adac19958a89322d1829913e5623d642627bf60b35da21", size = 258659, upload-time = "2026-08-28T21:52:12.124Z" },
426
- { url = "https://files.pythonhosted.org/packages/b4/ec/fe712d3a11fd6e874565a5fa5497c48b8ece561d9611da040b44cdcf8386/coverage-7.16.0-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:dcd3dafcdd78305d27c59a1006b53a4990acb89e68d8fbe0992f4f83503c827f", size = 254326, upload-time = "2026-08-28T21:52:14.181Z" },
427
- { url = "https://files.pythonhosted.org/packages/e7/78/093e12072e01034c65ff380f76c74b79dd83e44fa92b689a2154389be734/coverage-7.16.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:c1bcfe470a796fbea6234accd81d258a31574dc0b7bf569e16be757572c4de17", size = 256102, upload-time = "2026-08-28T21:52:16.003Z" },
428
- { url = "https://files.pythonhosted.org/packages/9b/c0/265176117ca5d06e3f65575842884cdda96cf213350a31e9d41c80d65854/coverage-7.16.0-cp313-cp313-win32.whl", hash = "sha256:1420370276f1694b663207b8245c3628aafb9624fe3cebf313a13d860e55ee67", size = 225250, upload-time = "2026-08-28T21:52:17.82Z" },
429
- { url = "https://files.pythonhosted.org/packages/1f/01/8a87f2c04fde322430b45d16d8f543693e9894c5b2d2ca238a287c00beca/coverage-7.16.0-cp313-cp313-win_amd64.whl", hash = "sha256:496277c8d7beed695e02c7be53516a0152e4caef8738a0feab6a638546cce449", size = 225790, upload-time = "2026-08-28T21:52:19.641Z" },
430
- { url = "https://files.pythonhosted.org/packages/23/40/c21feacd9edfe7063195bf9cc84d650e9938fc6a23063e4f027199b160e1/coverage-7.16.0-cp313-cp313-win_arm64.whl", hash = "sha256:181c2906b9b3759955c1c33c51fbb91c754fbd0b82ea49e2c81061f5a052082c", size = 225180, upload-time = "2026-08-28T21:52:21.613Z" },
431
- { url = "https://files.pythonhosted.org/packages/b1/5a/234e8fadf85c3cc48cb31c247b9e8e0c7f06ece80f5b29f9b8c241f9da4c/coverage-7.16.0-py3-none-any.whl", hash = "sha256:245f7de6d023a5bba375dbec9f2e0869bfa26ac0cc639bbb7b4c814884000b73", size = 214977, upload-time = "2026-08-28T21:54:35.189Z" },
416
+ { url = "https://files.pythonhosted.org/packages/aa/74/c08c0c4dc9fa6bcd1d90728a63660aa1b17b488a806948598456c48f75d1/coverage-7.16.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:ee5465db6e9152a7d09f3215309326878c6aa3ac509195a369f9d264ff4bfbd9", size = 223501, upload-time = "2026-09-13T19:09:37.276Z" },
417
+ { url = "https://files.pythonhosted.org/packages/5b/c8/784986d326663285258a8e39835c46fb730cc85284f0dbcd82078586dd22/coverage-7.16.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:2b8256f8b525ba233d2e4cdcdce0d6673c66fc9bf70df1fd5e67c54a74e2d245", size = 223876, upload-time = "2026-09-13T19:09:39.385Z" },
418
+ { url = "https://files.pythonhosted.org/packages/15/76/73fb792928872bbb07e553f920ff55c65ee962c469265feb5d1d4ae5f97a/coverage-7.16.1-cp313-cp313-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:d57cc400275b9a2892e905fc893f732b21ddb95271bf96406c88e2f6367848b5", size = 254863, upload-time = "2026-09-13T19:09:41.326Z" },
419
+ { url = "https://files.pythonhosted.org/packages/ca/8d/1fd78899513244b065ccecdd1cfc6aa8b8f1bdee796d8c4f2aa8e8e5397d/coverage-7.16.1-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:6b3fd0f3435ebb7a7183b32a6062a8b755f08242ced1f3f22761d30b56b3c2a5", size = 257460, upload-time = "2026-09-13T19:09:43.086Z" },
420
+ { url = "https://files.pythonhosted.org/packages/47/1c/b23ddfcb7ef9bd7b3fdb7be9a5dccf9925ae88e556df7aa5b655283c78f2/coverage-7.16.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e5eb1762e7eb5fad34ef913e8107c7788a66f19d328e598ce95bf7217f9e5c8f", size = 258697, upload-time = "2026-09-13T19:09:45.161Z" },
421
+ { url = "https://files.pythonhosted.org/packages/1c/c9/19d0c6ca35778a7e9415c30c46a0c64c9d4374219d004a35563132296896/coverage-7.16.1-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:46cd3a73e9140410de62cceb66214bce0e08fb3922b9176fbfc1522fec151b41", size = 260827, upload-time = "2026-09-13T19:09:47.061Z" },
422
+ { url = "https://files.pythonhosted.org/packages/97/fc/5862f7344382c62b85df43d483e579168cc062e007f54d895dfa51fe3e7d/coverage-7.16.1-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:d1ba5142d68dd2cb775cbd0ac8601819298152047803c8efe4eec6d7d7aa7878", size = 255038, upload-time = "2026-09-13T19:09:48.945Z" },
423
+ { url = "https://files.pythonhosted.org/packages/2e/9f/5c26583199a68df8d15124b4590520903f8eb7cef17db293fea712bb0783/coverage-7.16.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:c389c6f9d1d518e1249ddcb8a7f158135644ce2c508fa6cc17b680777dad5bf2", size = 256827, upload-time = "2026-09-13T19:09:50.738Z" },
424
+ { url = "https://files.pythonhosted.org/packages/95/13/605198bff079b107336710f28a797312ab132587168600d70a290e7ecd2e/coverage-7.16.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:cdc57746c7ac0ea063351b4d651c3bb4dd4fd35e64dbb8e90c10e14eb03c4080", size = 254794, upload-time = "2026-09-13T19:09:52.577Z" },
425
+ { url = "https://files.pythonhosted.org/packages/43/b7/0bbb32dc5ccdac766a13763fdfbffd7d73fc80349a69230c46c6b71e7508/coverage-7.16.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:5597180ed7670cc94c04c65347418a467d3a43d5f0cf52fcac647f5425f42037", size = 258947, upload-time = "2026-09-13T19:09:54.372Z" },
426
+ { url = "https://files.pythonhosted.org/packages/13/bd/65c31ddd43ff4e61b63721b3dad17cca412dba6e2ce89f92abdf75734339/coverage-7.16.1-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:a9647a0ac46255b8fef59a433a2161f03e5483f3a35e1cbd9dfe4600baff0c6b", size = 254613, upload-time = "2026-09-13T19:09:56.198Z" },
427
+ { url = "https://files.pythonhosted.org/packages/25/20/d278115f2ba522b3e3128c6852be265f4e0df7202b2effca4db96cf0217d/coverage-7.16.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:e306e98186b9cd109121f3583aeb7978797ad21d948f22944c5c08845cd554d0", size = 256388, upload-time = "2026-09-13T19:09:58.095Z" },
428
+ { url = "https://files.pythonhosted.org/packages/e1/ca/d43aa396fb3a2f71c9411b99d926475f5acaf5c124f605c592865c80c8d5/coverage-7.16.1-cp313-cp313-win32.whl", hash = "sha256:48a78a66fcce49d7f6156524bf979c0ac633d584199717c68c6ffa949fc14e6a", size = 225550, upload-time = "2026-09-13T19:09:59.998Z" },
429
+ { url = "https://files.pythonhosted.org/packages/0e/30/df2f6114f6a17cffe94721bd1d298f77f86aad493717fa5bc03cb291a1a6/coverage-7.16.1-cp313-cp313-win_amd64.whl", hash = "sha256:7af03247d598a353bbbbe1b925deb735276e4d845e7197c4073dc89352b236fa", size = 226091, upload-time = "2026-09-13T19:10:02.331Z" },
430
+ { url = "https://files.pythonhosted.org/packages/ee/31/6f90d8aab72a112492bd50e3b5485b53b772b1f5fa70da0a620e723caae6/coverage-7.16.1-cp313-cp313-win_arm64.whl", hash = "sha256:166adae25b05b04c9a84135912066d9c97482115af38df1a419a38aacc6b6f5d", size = 225481, upload-time = "2026-09-13T19:10:04.151Z" },
431
+ { url = "https://files.pythonhosted.org/packages/96/1a/d6d16babd0a5fe4c3fae40702158c570351694e74516d8d81b86c5637448/coverage-7.16.1-py3-none-any.whl", hash = "sha256:3d8bd4e58b6a5c2018d808f297905393c6c61da466a48c3f0596a76a4900ebe4", size = 215264, upload-time = "2026-09-13T19:12:18.895Z" },
432
432
  ]
433
433
 
434
434
  [[package]]
@@ -618,7 +618,7 @@ server = [
618
618
 
619
619
  [[package]]
620
620
  name = "fastretrieval"
621
- version = "1.4.0"
621
+ version = "1.5.0"
622
622
  source = { registry = "https://pypi.org/simple" }
623
623
  dependencies = [
624
624
  { name = "huggingface-hub" },
@@ -629,9 +629,9 @@ dependencies = [
629
629
  { name = "tokenizers" },
630
630
  { name = "tqdm" },
631
631
  ]
632
- sdist = { url = "https://files.pythonhosted.org/packages/1b/35/1b0208b062ff19f762c1a94e2eb6fa1ff24dc1320f13063135e53c3d2f12/fastretrieval-1.4.0.tar.gz", hash = "sha256:f3584b20a64fe2a84e2496371ae6a5b19fe46f6811c8b8a89f7922c4b82cbbf8", size = 327929, upload-time = "2026-09-12T07:53:34.732Z" }
632
+ sdist = { url = "https://files.pythonhosted.org/packages/65/18/6c106f146d8531fa65986bfbb27d337dd287474ab2ae549348a47a00d6fe/fastretrieval-1.5.0.tar.gz", hash = "sha256:475474695009d1f2fc169534af9b33df61fee4136ba7ccdebd4f8b2d6088f616", size = 328906, upload-time = "2026-09-13T08:36:37.806Z" }
633
633
  wheels = [
634
- { url = "https://files.pythonhosted.org/packages/82/36/ab774756b864b2c4f629609dea1861650fbb53716ffcea2e22743cb2ba5a/fastretrieval-1.4.0-py3-none-any.whl", hash = "sha256:eb03702698de91207acd492d037cd9e582cab11a84a5f17e3b784729b4e3ea86", size = 145564, upload-time = "2026-09-12T07:53:33.064Z" },
634
+ { url = "https://files.pythonhosted.org/packages/7b/35/807b4c0d5335c881cdd1a8d719d0a271c5eecb792ccf2f38ce4aa062d9a7/fastretrieval-1.5.0-py3-none-any.whl", hash = "sha256:49c7c3d9ac3271757ae813d1adc22feca3b05171522c3c78f931bda9e790001c", size = 145975, upload-time = "2026-09-13T08:36:36.528Z" },
635
635
  ]
636
636
 
637
637
  [[package]]
@@ -1524,16 +1524,16 @@ wheels = [
1524
1524
 
1525
1525
  [[package]]
1526
1526
  name = "pydantic-settings"
1527
- version = "2.14.2"
1527
+ version = "2.15.0"
1528
1528
  source = { registry = "https://pypi.org/simple" }
1529
1529
  dependencies = [
1530
1530
  { name = "pydantic" },
1531
1531
  { name = "python-dotenv" },
1532
1532
  { name = "typing-inspection" },
1533
1533
  ]
1534
- sdist = { url = "https://files.pythonhosted.org/packages/5c/b5/8f48e906c3e0205276e8bd8cb7512217a87b2685304d64be27cad5b3019f/pydantic_settings-2.14.2.tar.gz", hash = "sha256:c19dd64b19097f1de80184f0cc7b0272a13ae6e170cbf240a3e27e381ed14a5f", size = 237700, upload-time = "2026-06-19T13:44:56.324Z" }
1534
+ sdist = { url = "https://files.pythonhosted.org/packages/68/ca/31c57507b13119d7d3cfa1576dad2911a4861e3be07b579395f4e9d393f9/pydantic_settings-2.15.0.tar.gz", hash = "sha256:694b793e84f766ba76a90ebdefc01d0a9a045dab0382bee70393da93712ad117", size = 261253, upload-time = "2026-08-07T09:24:57.419Z" }
1535
1535
  wheels = [
1536
- { url = "https://files.pythonhosted.org/packages/77/c1/6e422f34e569cf8e18df68d1939c81c099d2b61e4f7d9621c8a77560799c/pydantic_settings-2.14.2-py3-none-any.whl", hash = "sha256:a20c97b37910b6550d5ea50fbcc2d4187defe58cd57070b73863d069419c9440", size = 61715, upload-time = "2026-06-19T13:44:55.02Z" },
1536
+ { url = "https://files.pythonhosted.org/packages/30/a4/2bffa9f8e804325a09867f0e9d30795c80ea9f8d62560bd1b6ad6220eb2f/pydantic_settings-2.15.0-py3-none-any.whl", hash = "sha256:0ba092c291c94baceb5eff768aa0d56400a457585bc0175925a5a5510303da42", size = 69413, upload-time = "2026-08-07T09:24:55.839Z" },
1537
1537
  ]
1538
1538
 
1539
1539
  [[package]]
@@ -1955,14 +1955,14 @@ wheels = [
1955
1955
 
1956
1956
  [[package]]
1957
1957
  name = "syrupy"
1958
- version = "6.0.0"
1958
+ version = "6.1.1"
1959
1959
  source = { registry = "https://pypi.org/simple" }
1960
1960
  dependencies = [
1961
1961
  { name = "pytest" },
1962
1962
  ]
1963
- sdist = { url = "https://files.pythonhosted.org/packages/d2/a7/3c797c76994dc817582abdda90ee31867a9883567b0add47dbc0ccb12ce4/syrupy-6.0.0.tar.gz", hash = "sha256:bf4f5f662a7b23a9e5711bd5597e301cd09c00f31be5fa4095f79da7b0585f3d", size = 99435, upload-time = "2026-08-22T20:48:39.493Z" }
1963
+ sdist = { url = "https://files.pythonhosted.org/packages/74/2c/8ffc1414d1951895d0d5b7dc83c0b079ebc48c3bf27ffbb0064646367500/syrupy-6.1.1.tar.gz", hash = "sha256:7e584a8df4ede6dd3c1c44a77f9edc46186b6767a73dea6f0083044946839a59", size = 109705, upload-time = "2026-09-13T20:25:21.599Z" }
1964
1964
  wheels = [
1965
- { url = "https://files.pythonhosted.org/packages/7c/ff/4d8ae6d6070ea73ee9d466701584a75db9586ce09de98f8f1b3276efad5f/syrupy-6.0.0-py3-none-any.whl", hash = "sha256:3efa16d767bd8614413cc20057552e4aec14428c6e5ea788c1f7e03047e8a5e4", size = 58047, upload-time = "2026-08-22T20:48:38.213Z" },
1965
+ { url = "https://files.pythonhosted.org/packages/2c/b5/bf2a8a335a6a813869dd482cedbcde252f582b5afbfe50eb78ec09962800/syrupy-6.1.1-py3-none-any.whl", hash = "sha256:6ac9ac6a42d70ae44156f5f157a9563b9bb8cc96dcf9364327f330463bff889a", size = 63436, upload-time = "2026-09-13T20:25:20.294Z" },
1966
1966
  ]
1967
1967
 
1968
1968
  [[package]]
@@ -2059,19 +2059,19 @@ wheels = [
2059
2059
 
2060
2060
  [[package]]
2061
2061
  name = "tree-sitter-language-pack"
2062
- version = "1.19.0"
2062
+ version = "1.19.1"
2063
2063
  source = { registry = "https://pypi.org/simple" }
2064
2064
  dependencies = [
2065
2065
  { name = "tree-sitter" },
2066
2066
  ]
2067
- sdist = { url = "https://files.pythonhosted.org/packages/a9/36/d719e91a1a3af88b2502726dae21bf0c427c60154a5d65a78c1863aad3ca/tree_sitter_language_pack-1.19.0.tar.gz", hash = "sha256:ffe2085a86ca8c604ce804bd78a5be5b03e430b3ce20b4391b7d729f0b67b00d", size = 88626, upload-time = "2026-09-12T14:36:38.657Z" }
2067
+ sdist = { url = "https://files.pythonhosted.org/packages/6a/e0/8a9ca62d2397d78853a61a09852d6403e662a241b15222e2a8d56f3ddd04/tree_sitter_language_pack-1.19.1.tar.gz", hash = "sha256:38364e9883febbf868b3737654bc93a813e44433a973f08be049930ce1b19b5f", size = 88624, upload-time = "2026-09-13T15:03:34.16Z" }
2068
2068
  wheels = [
2069
- { url = "https://files.pythonhosted.org/packages/97/ae/ea67dae6e3be001f6ceb63e988a64346f4f00f869ce1fe38b3470189196c/tree_sitter_language_pack-1.19.0-cp310-abi3-macosx_10_12_x86_64.whl", hash = "sha256:23571543f34b6fb50376fd3d9da5bd172651b6cb3a08f2f0f7b1ac9093e3a6f6", size = 2294589, upload-time = "2026-09-12T14:36:30.858Z" },
2070
- { url = "https://files.pythonhosted.org/packages/ac/ef/af26b30048359b811a9e0a189e690c4782eb162b0063bcbeae45217c7071/tree_sitter_language_pack-1.19.0-cp310-abi3-macosx_11_0_arm64.whl", hash = "sha256:a15a6aae2d19b3e0b249bf6cdf24e5ae4c1b0b91f4a0d4e08b1428680b1a40c4", size = 2182869, upload-time = "2026-09-12T14:36:32.331Z" },
2071
- { url = "https://files.pythonhosted.org/packages/c6/4a/fa4a092cc21c4d3891de98534d648280b788aeebf0addaf5b62a389f5153/tree_sitter_language_pack-1.19.0-cp310-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:ca81a3e2ef17854e3379f0af3a53b46a4074dbd7e056aa29f62bd6ea04656039", size = 2341606, upload-time = "2026-09-12T14:36:33.482Z" },
2072
- { url = "https://files.pythonhosted.org/packages/08/4c/47c779f8ab4727d3bd1a45e8bdd68a9de10f24b2961154b6feb3eddf7d03/tree_sitter_language_pack-1.19.0-cp310-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:22dfe6caff6dbc32d9d35940beba8e670d2c05986cc1494ea1395f6cd60d6d0e", size = 2459474, upload-time = "2026-09-12T14:36:34.677Z" },
2073
- { url = "https://files.pythonhosted.org/packages/ed/8c/7512ddadf79fc698e7307ea6834330931e577d231830223dab9201bf0237/tree_sitter_language_pack-1.19.0-cp310-abi3-win_amd64.whl", hash = "sha256:6f8593f2a4cb864c1f52c8b297013c184a5898b2ca5f732f6163720c2aa8dfb7", size = 2241129, upload-time = "2026-09-12T14:36:35.958Z" },
2074
- { url = "https://files.pythonhosted.org/packages/7c/6f/2cdbc6651915fa0ec4e461172c7e68363183345ccb4687646831d287729c/tree_sitter_language_pack-1.19.0-cp310-abi3-win_arm64.whl", hash = "sha256:6bee977b050888ffe4e8fb18c6c78ba8b88090a6e1b4a9923745394732f243b5", size = 2140328, upload-time = "2026-09-12T14:36:37.468Z" },
2069
+ { url = "https://files.pythonhosted.org/packages/0e/01/c1e6f361b3d11b4729bd4dcead96a1dc12d6fe4ea9aedf94a5b3c641bb82/tree_sitter_language_pack-1.19.1-cp310-abi3-macosx_10_12_x86_64.whl", hash = "sha256:eccaac3f56840d10c14036bb053baeb83bb44f4fc65b6203105eee0637a5483f", size = 2295247, upload-time = "2026-09-13T15:03:27.437Z" },
2070
+ { url = "https://files.pythonhosted.org/packages/32/71/d93b31b3a637da1cd3b2477a194194d9aacc5e831dfc1adc2ca5ddeeffaf/tree_sitter_language_pack-1.19.1-cp310-abi3-macosx_11_0_arm64.whl", hash = "sha256:12afde06b32de7aa61922fb6c06344651bb94c9635c8f5f6c719b5e533f59b49", size = 2183284, upload-time = "2026-09-13T15:03:28.719Z" },
2071
+ { url = "https://files.pythonhosted.org/packages/69/14/5a606413b67ac1d4fb50368dce106e14b0d3132ed6013ba1f4831dab83bc/tree_sitter_language_pack-1.19.1-cp310-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:6d5187ee6b783614874d3fd7990edb51aa67703fa6ae2c05a2fd3a6cab08ddc1", size = 2341866, upload-time = "2026-09-13T15:03:29.797Z" },
2072
+ { url = "https://files.pythonhosted.org/packages/5e/b0/e0b0276b210e80c51ba77a2fcf9123bc76fd7e6868bf1c4114a81a1b894e/tree_sitter_language_pack-1.19.1-cp310-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:86889d8409bea81276590f9f05d289c08e9921e041d9ea6c240786d4798b76ee", size = 2459200, upload-time = "2026-09-13T15:03:30.882Z" },
2073
+ { url = "https://files.pythonhosted.org/packages/6c/e8/0edf02a82644fa03eb95a6b84ac7649c585692b3ee9fbf9e96df7e64fcca/tree_sitter_language_pack-1.19.1-cp310-abi3-win_amd64.whl", hash = "sha256:a2c57801f2d4d87899d59a91fb381a855329bacfe56c8289c8f376211aafeea1", size = 2241888, upload-time = "2026-09-13T15:03:32.051Z" },
2074
+ { url = "https://files.pythonhosted.org/packages/ec/5f/e19dca1fcafe4c50f931c3b1934dfea98fcf65d435c86c48ceaf12f33e2f/tree_sitter_language_pack-1.19.1-cp310-abi3-win_arm64.whl", hash = "sha256:9afd39e3698a0a487236774df2a09441c48610013d76abc6da9c014d900e223d", size = 2140521, upload-time = "2026-09-13T15:03:33.146Z" },
2075
2075
  ]
2076
2076
 
2077
2077
  [[package]]