better-code-review-graph 3.29.0__tar.gz → 3.29.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 (249) hide show
  1. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/.claude-plugin/plugin.json +1 -1
  2. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/CHANGELOG.md +25 -0
  3. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/PKG-INFO +2 -1
  4. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/pyproject.toml +2 -1
  5. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/server.json +2 -2
  6. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/uv.lock +42 -223
  7. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/.agents/skills/build-graph/SKILL.md +0 -0
  8. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/.agents/skills/review-delta/SKILL.md +0 -0
  9. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/.agents/skills/review-pr/SKILL.md +0 -0
  10. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/.coderabbit.yaml +0 -0
  11. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/.dockerignore +0 -0
  12. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/.github/CODEOWNERS +0 -0
  13. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  14. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  15. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  16. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/.github/review-learnings.md +0 -0
  17. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/.github/rulesets/main.json +0 -0
  18. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/.github/workflows/cd.yml +0 -0
  19. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/.github/workflows/ci.yml +0 -0
  20. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/.gitignore +0 -0
  21. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/.infisical.json +0 -0
  22. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/.jules/bolt.md +0 -0
  23. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/.jules/sentinel.md +0 -0
  24. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/.pre-commit-config.yaml +0 -0
  25. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/AGENTS.md +0 -0
  26. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/BREAKING_CHANGES.md +0 -0
  27. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/CLAUDE.md +0 -0
  28. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/CODE_OF_CONDUCT.md +0 -0
  29. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/CONTRIBUTING.md +0 -0
  30. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/Dockerfile +0 -0
  31. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/LICENSE +0 -0
  32. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/LICENSE-MIT +0 -0
  33. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/NOTICE +0 -0
  34. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/README.md +0 -0
  35. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/SECURITY.md +0 -0
  36. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/alembic.ini +0 -0
  37. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/docs/HANDOVER.md +0 -0
  38. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/hooks/_graph_state.py +0 -0
  39. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/hooks/branch-sync-check.py +0 -0
  40. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/hooks/hooks.json +0 -0
  41. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/hooks/stale-graph-check.py +0 -0
  42. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/migrations/README +0 -0
  43. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/migrations/env.py +0 -0
  44. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/migrations/script.py.mako +0 -0
  45. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/migrations/versions/001_baseline.py +0 -0
  46. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/migrations/versions/002_summary_columns.py +0 -0
  47. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/migrations/versions/003_federation.py +0 -0
  48. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/migrations/versions/004_security_tags.py +0 -0
  49. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/migrations/versions/005_temporal_columns.py +0 -0
  50. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/migrations/versions/006_commits_table.py +0 -0
  51. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/renovate.json +0 -0
  52. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/rules/heuristic/cwe-22-path-traversal.yaml +0 -0
  53. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/rules/heuristic/cwe-78-shell-command-sink.yaml +0 -0
  54. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/rules/heuristic/cwe-89-sql-string-format.yaml +0 -0
  55. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/rules/heuristic/cwe-95-eval-on-input.yaml +0 -0
  56. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/rules/heuristic/hardcoded-secret.yaml +0 -0
  57. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/rules/semgrep/curated.yaml +0 -0
  58. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/scripts/benchmark_row_deserialization.py +0 -0
  59. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/scripts/enforce-commit.sh +0 -0
  60. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/scripts/preserve-diacritics.py +0 -0
  61. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/scripts/test_preserve_diacritics.py +0 -0
  62. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/semantic-release.toml +0 -0
  63. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/skills/impact-audit/SKILL.md +0 -0
  64. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/skills/onboard-repo/SKILL.md +0 -0
  65. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/skills/refactor-check/SKILL.md +0 -0
  66. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/skills/review-delta/SKILL.md +0 -0
  67. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/skills/review-pr/SKILL.md +0 -0
  68. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/skills/security-sweep/SKILL.md +0 -0
  69. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/smithery.yaml +0 -0
  70. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/src/better_code_review_graph/__init__.py +0 -0
  71. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/src/better_code_review_graph/__main__.py +0 -0
  72. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/src/better_code_review_graph/cli.py +0 -0
  73. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/src/better_code_review_graph/config.py +0 -0
  74. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/src/better_code_review_graph/credential_state.py +0 -0
  75. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/src/better_code_review_graph/docs/__init__.py +0 -0
  76. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/src/better_code_review_graph/docs/config.md +0 -0
  77. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/src/better_code_review_graph/docs/graph.md +0 -0
  78. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/src/better_code_review_graph/docs/query.md +0 -0
  79. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/src/better_code_review_graph/docs/recipes.md +0 -0
  80. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/src/better_code_review_graph/docs/review.md +0 -0
  81. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/src/better_code_review_graph/docs/security.md +0 -0
  82. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/src/better_code_review_graph/embeddings.py +0 -0
  83. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/src/better_code_review_graph/exporter.py +0 -0
  84. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/src/better_code_review_graph/federation.py +0 -0
  85. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/src/better_code_review_graph/graph.py +0 -0
  86. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/src/better_code_review_graph/importer.py +0 -0
  87. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/src/better_code_review_graph/incremental.py +0 -0
  88. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/src/better_code_review_graph/parser.py +0 -0
  89. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/src/better_code_review_graph/py.typed +0 -0
  90. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/src/better_code_review_graph/reranker.py +0 -0
  91. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/src/better_code_review_graph/resolver/__init__.py +0 -0
  92. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/src/better_code_review_graph/resolver/_types.py +0 -0
  93. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/src/better_code_review_graph/resolver/fallback.py +0 -0
  94. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/src/better_code_review_graph/resolver/go.py +0 -0
  95. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/src/better_code_review_graph/resolver/java.py +0 -0
  96. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/src/better_code_review_graph/resolver/python.py +0 -0
  97. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/src/better_code_review_graph/resolver/rust.py +0 -0
  98. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/src/better_code_review_graph/resolver/typescript.py +0 -0
  99. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/src/better_code_review_graph/security/__init__.py +0 -0
  100. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/src/better_code_review_graph/security/heuristic.py +0 -0
  101. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/src/better_code_review_graph/security/semgrep_engine.py +0 -0
  102. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/src/better_code_review_graph/server.py +0 -0
  103. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/src/better_code_review_graph/summarizer.py +0 -0
  104. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/src/better_code_review_graph/temporal.py +0 -0
  105. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/src/better_code_review_graph/tools.py +0 -0
  106. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/src/better_code_review_graph/xpia.py +0 -0
  107. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/__init__.py +0 -0
  108. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/conftest.py +0 -0
  109. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/conftest_e2e.py +0 -0
  110. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/fixtures/Sample.cs +0 -0
  111. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/fixtures/SampleJava.java +0 -0
  112. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/fixtures/callback_refs.js +0 -0
  113. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/fixtures/caller_example.py +0 -0
  114. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/fixtures/multi_call_example.py +0 -0
  115. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/fixtures/sample.c +0 -0
  116. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/fixtures/sample.cpp +0 -0
  117. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/fixtures/sample.kt +0 -0
  118. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/fixtures/sample.php +0 -0
  119. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/fixtures/sample.rb +0 -0
  120. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/fixtures/sample.sol +0 -0
  121. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/fixtures/sample.swift +0 -0
  122. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/fixtures/sample_go.go +0 -0
  123. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/fixtures/sample_python.py +0 -0
  124. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/fixtures/sample_rust.rs +0 -0
  125. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/fixtures/sample_typescript.ts +0 -0
  126. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/fixtures/test_sample.py +0 -0
  127. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/integration/__init__.py +0 -0
  128. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/integration/test_multi_user_remote.py +0 -0
  129. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_alembic_baseline.py +0 -0
  130. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_as_of_diff.py +0 -0
  131. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_auto_resolve_ambiguity.py +0 -0
  132. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_bare_suffix_correctness.py +0 -0
  133. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_callers_not_found_reason.py +0 -0
  134. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_callers_of_coverage.py +0 -0
  135. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_cli.py +0 -0
  136. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_cli_contracts.py +0 -0
  137. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_cli_control_plane.py +0 -0
  138. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_cohere_dimensions.py +0 -0
  139. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_commits_migration.py +0 -0
  140. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_coverage_gaps.py +0 -0
  141. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_credential_state.py +0 -0
  142. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_credential_state_dehosted.py +0 -0
  143. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_crg_protocol_harness.py +0 -0
  144. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_custom_local_model.py +0 -0
  145. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_dynamic_dispatch_hints.py +0 -0
  146. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_e2e.py +0 -0
  147. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_embedder_retry_classification.py +0 -0
  148. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_embedding_migration.py +0 -0
  149. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_embeddings.py +0 -0
  150. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_embeddings_extra.py +0 -0
  151. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_export_graph_dispatch.py +0 -0
  152. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_export_graph_dispatch_path_traversal.py +0 -0
  153. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_exporter.py +0 -0
  154. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_federation.py +0 -0
  155. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_federation_migration.py +0 -0
  156. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_federation_smoke.py +0 -0
  157. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_full_live.py +0 -0
  158. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_g6_ux_status_accuracy.py +0 -0
  159. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_get_docs_section_error_path.py +0 -0
  160. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_get_review_context_no_diff.py +0 -0
  161. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_graph.py +0 -0
  162. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_graph_batch_fetch.py +0 -0
  163. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_graph_extra.py +0 -0
  164. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_graph_get_edges_by_targets_coverage.py +0 -0
  165. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_graph_stats_error_coverage.py +0 -0
  166. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_handle_not_found_coverage.py +0 -0
  167. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_help_recipes.py +0 -0
  168. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_heuristic.py +0 -0
  169. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_home_isolation.py +0 -0
  170. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_http_mcp_e2e.py +0 -0
  171. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_hull_cells.py +0 -0
  172. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_impact_payload_truncation.py +0 -0
  173. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_implements_edges.py +0 -0
  174. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_import_graph_dispatch.py +0 -0
  175. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_importer.py +0 -0
  176. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_incremental.py +0 -0
  177. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_incremental_extra.py +0 -0
  178. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_kind_filter_optimization.py +0 -0
  179. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_kinds_error_path.py +0 -0
  180. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_list_graph_stats_coverage.py +0 -0
  181. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_list_kinds_coverage.py +0 -0
  182. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_live_mcp.py +0 -0
  183. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_local_reranker.py +0 -0
  184. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_lookup_node_directly.py +0 -0
  185. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_multi_user.py +0 -0
  186. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_multilang.py +0 -0
  187. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_no_stale_package_name.py +0 -0
  188. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_oci_publication_sunset.py +0 -0
  189. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_oserror_coverage.py +0 -0
  190. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_parser.py +0 -0
  191. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_parser_extra.py +0 -0
  192. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_parser_grammar_failure.py +0 -0
  193. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_parser_source_text.py +0 -0
  194. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_path_resolution_fallback.py +0 -0
  195. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_payload_estimation.py +0 -0
  196. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_per_sub_graph_db.py +0 -0
  197. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_performance_n1.py +0 -0
  198. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_performance_n1_embeddings.py +0 -0
  199. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_phase_3_smoke.py +0 -0
  200. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_plugin_assets.py +0 -0
  201. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_pre_2_0_backup.py +0 -0
  202. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_renamed_in_diff.py +0 -0
  203. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_renamed_in_diff_exception.py +0 -0
  204. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_repo_filter.py +0 -0
  205. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_repo_filter_batching.py +0 -0
  206. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_repo_id_persistence.py +0 -0
  207. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_resolve_search_candidates.py +0 -0
  208. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_resolver_dispatcher.py +0 -0
  209. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_resolver_fallback.py +0 -0
  210. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_resolver_go.py +0 -0
  211. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_resolver_java.py +0 -0
  212. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_resolver_python.py +0 -0
  213. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_resolver_rust.py +0 -0
  214. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_resolver_typescript.py +0 -0
  215. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_response_header.py +0 -0
  216. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_response_payload_honesty.py +0 -0
  217. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_review_delta_line_shifts.py +0 -0
  218. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_review_languages_filter.py +0 -0
  219. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_reviewer_summary.py +0 -0
  220. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_search_edges_by_target_names.py +0 -0
  221. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_search_keyword_warning.py +0 -0
  222. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_security_injection.py +0 -0
  223. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_security_path_traversal.py +0 -0
  224. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_security_scan_batching.py +0 -0
  225. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_security_tags_migration.py +0 -0
  226. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_security_tool.py +0 -0
  227. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_semgrep_engine.py +0 -0
  228. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_server.py +0 -0
  229. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_server_help_coverage.py +0 -0
  230. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_serverinfo_version.py +0 -0
  231. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_setup_tool.py +0 -0
  232. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_shares_state_edges.py +0 -0
  233. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_spot_check.py +0 -0
  234. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_sql_security.py +0 -0
  235. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_stdio_direct.py +0 -0
  236. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_summarize_graph_dispatch.py +0 -0
  237. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_summarizer.py +0 -0
  238. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_summary_schema.py +0 -0
  239. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_temporal.py +0 -0
  240. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_temporal_migration.py +0 -0
  241. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_tested_by_edges.py +0 -0
  242. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_tools.py +0 -0
  243. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_tools_build_error_coverage.py +0 -0
  244. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_tools_full.py +0 -0
  245. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_tools_get_docs_section_coverage.py +0 -0
  246. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_typescript_coverage_gaps.py +0 -0
  247. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_v17_coverage_gaps.py +0 -0
  248. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.2}/tests/test_xpia.py +0 -0
  249. {better_code_review_graph-3.29.0 → better_code_review_graph-3.29.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.29.0",
4
+ "version": "3.29.2",
5
5
  "userConfig": {
6
6
  "EMBEDDING_MODELS": {
7
7
  "type": "string",
@@ -2,6 +2,31 @@
2
2
 
3
3
  <!-- version list -->
4
4
 
5
+ ## v3.29.2 (2026-09-27)
6
+
7
+ ### Bug Fixes
8
+
9
+ - **deps**: Lock file maintenance ([#1107](https://github.com/n24q02m/crg/pull/1107),
10
+ [`58dc458`](https://github.com/n24q02m/crg/commit/58dc4586482485080ddd4d166b3de90eb46b8394))
11
+
12
+
13
+ ## v3.29.1 (2026-09-27)
14
+
15
+ ### Bug Fixes
16
+
17
+ - **deps**: Lock file maintenance ([#1105](https://github.com/n24q02m/crg/pull/1105),
18
+ [`484055e`](https://github.com/n24q02m/crg/commit/484055e7bd55df6eb314e1de5e0f1d6a80eef38e))
19
+
20
+ - **deps**: Update protobuf to >=7.36.2 ([#1104](https://github.com/n24q02m/crg/pull/1104),
21
+ [`99c8749`](https://github.com/n24q02m/crg/commit/99c8749868023b959d689c46f69aa696c1a2d2a2))
22
+
23
+ ### Chores
24
+
25
+ - **deps**: Floor protobuf >= 5.29.6 — fix dependabot alert #20 (JSON recursion bypass, high);
26
+ resolves to 7.36.2 via semgrep/otel re-resolve
27
+ ([`c2e0d75`](https://github.com/n24q02m/crg/commit/c2e0d75a89876111599e973fad41e11a96ee797b))
28
+
29
+
5
30
  ## v3.29.0 (2026-09-27)
6
31
 
7
32
  ### Features
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: better-code-review-graph
3
- Version: 3.29.0
3
+ Version: 3.29.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
@@ -21,6 +21,7 @@ Requires-Dist: httpx
21
21
  Requires-Dist: hull-core
22
22
  Requires-Dist: mcp<2,>=1.30.0
23
23
  Requires-Dist: networkx<4,>=3.7
24
+ Requires-Dist: protobuf>=7.36.2
24
25
  Requires-Dist: pydantic-settings
25
26
  Requires-Dist: pygments>=2.21.0
26
27
  Requires-Dist: tree-sitter-language-pack<2,>=1.20.0
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "better-code-review-graph"
7
- version = "3.29.0"
7
+ version = "3.29.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"
@@ -35,6 +35,7 @@ dependencies = [
35
35
  "Pygments>=2.21.0",
36
36
  "alembic>=1.20.0,<2",
37
37
  "defusedxml>=0.7.1",
38
+ "protobuf>=7.36.2",
38
39
  ]
39
40
 
40
41
  [tool.uv.sources]
@@ -6,12 +6,12 @@
6
6
  "url": "https://github.com/n24q02m/crg.git",
7
7
  "source": "github"
8
8
  },
9
- "version": "3.29.0",
9
+ "version": "3.29.2",
10
10
  "packages": [
11
11
  {
12
12
  "registryType": "pypi",
13
13
  "identifier": "better-code-review-graph",
14
- "version": "3.29.0",
14
+ "version": "3.29.2",
15
15
  "runtimeHint": "uvx",
16
16
  "runtimeArgs": [
17
17
  "--python",
@@ -98,7 +98,7 @@ wheels = [
98
98
 
99
99
  [[package]]
100
100
  name = "better-code-review-graph"
101
- version = "3.27.2"
101
+ version = "3.29.1"
102
102
  source = { editable = "." }
103
103
  dependencies = [
104
104
  { name = "alembic" },
@@ -109,6 +109,7 @@ dependencies = [
109
109
  { name = "hull-core" },
110
110
  { name = "mcp" },
111
111
  { name = "networkx" },
112
+ { name = "protobuf" },
112
113
  { name = "pydantic-settings" },
113
114
  { name = "pygments" },
114
115
  { name = "tree-sitter" },
@@ -143,6 +144,7 @@ requires-dist = [
143
144
  { name = "hull-core", git = "https://github.com/n24q02m/hull?subdirectory=packages%2Fcore-py&rev=14841d05488c801d303b0f3d3cd97426f94a6e1a" },
144
145
  { name = "mcp", specifier = ">=1.30.0,<2" },
145
146
  { name = "networkx", specifier = ">=3.7,<4" },
147
+ { name = "protobuf", specifier = ">=7.36.2" },
146
148
  { name = "pydantic-settings" },
147
149
  { name = "pygments", specifier = ">=2.21.0" },
148
150
  { name = "semgrep", marker = "extra == 'security'", specifier = ">=1.0,<1.162" },
@@ -318,26 +320,26 @@ wheels = [
318
320
 
319
321
  [[package]]
320
322
  name = "coverage"
321
- version = "7.16.1"
323
+ version = "7.16.2"
322
324
  source = { registry = "https://pypi.org/simple" }
323
- 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" }
325
+ sdist = { url = "https://files.pythonhosted.org/packages/2f/55/d1eaf3e73781174340a00dc1ba2aee8a65f82fadb18e2797b192b6b3925b/coverage-7.16.2.tar.gz", hash = "sha256:ca64d9f1f384f151b9511bec01126072acd2f313439f8ed015a22d8790aab6fa", size = 971999, upload-time = "2026-09-27T12:29:01.118Z" }
324
326
  wheels = [
325
- { 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" },
326
- { 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" },
327
- { 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" },
328
- { 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" },
329
- { 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" },
330
- { 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" },
331
- { 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" },
332
- { 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" },
333
- { 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" },
334
- { 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" },
335
- { 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" },
336
- { 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" },
337
- { 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" },
338
- { 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" },
339
- { 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" },
340
- { 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" },
327
+ { url = "https://files.pythonhosted.org/packages/f0/f6/8eb4f220ef24f84fb27d852d4f9bf83e0c73ec1a4a08dd9a87e3f4529739/coverage-7.16.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:1a37c6e478cf687e1aa30a593d19c92c02fad9d122b51ab73f51b8dc7a0c0fc9", size = 223993, upload-time = "2026-09-27T12:26:40.164Z" },
328
+ { url = "https://files.pythonhosted.org/packages/40/23/d4bbaf0c154e0b0c2b5264890dbf6ef098dcb50ec8f2469be9490d191660/coverage-7.16.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:0993d0e90858c03943d3cb152e068a20dd4707924deec84dd2230261baae3b1b", size = 224368, upload-time = "2026-09-27T12:26:41.762Z" },
329
+ { url = "https://files.pythonhosted.org/packages/7f/48/fc1e88fd571ec5cb38150b7f89f7696ca1bdf9920e01432febb69774cc85/coverage-7.16.2-cp313-cp313-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:bb2fc905bbf4e6b7f40806ea79e31515abf6349594cdf0adf27c4215f0463204", size = 255358, upload-time = "2026-09-27T12:26:43.442Z" },
330
+ { url = "https://files.pythonhosted.org/packages/1d/56/6785397d07c29c8e70fbb9a07e97d062b43c21ffc5f12385917847f09f63/coverage-7.16.2-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:4358b9c8c0125b460407f3017c6cce8156e904b32772c5630d27112f52bdbfe5", size = 257955, upload-time = "2026-09-27T12:26:45.725Z" },
331
+ { url = "https://files.pythonhosted.org/packages/27/3b/c8cdd07721e5f99abd81cea970d971997f99bf158c0b85f51bd284179c8b/coverage-7.16.2-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1f15254427c9b33eedac4f198eaf9e356eb4f6214551afb43da6194a2c088ad7", size = 259183, upload-time = "2026-09-27T12:26:47.208Z" },
332
+ { url = "https://files.pythonhosted.org/packages/9b/11/606b192fe43d32574ec6238549d48de588fdcc18485682a5ec0a8ac357f2/coverage-7.16.2-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:9a75a4704ff640e46170042eec1f984385a121227c505d5a16ad8e495f452541", size = 261325, upload-time = "2026-09-27T12:26:49.084Z" },
333
+ { url = "https://files.pythonhosted.org/packages/67/90/eea481f8b0305ceeb33f081a5f47e298391dbd1b589de0c4b3b3aa50d3f2/coverage-7.16.2-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:14253fc7bb15749b849795a06f5d3b6d8bc3fb8a4b5ddc341faf7a89dce205fc", size = 255531, upload-time = "2026-09-27T12:26:50.509Z" },
334
+ { url = "https://files.pythonhosted.org/packages/6b/be/dedbf9aea1457b120c27ac10b8fc2a357f37fa2b54c3e7286d42980a0a2a/coverage-7.16.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:921415102a90637fcc2e3f169f61dad7699ecf690e8639fc21b813acbedc0967", size = 257329, upload-time = "2026-09-27T12:26:52.005Z" },
335
+ { url = "https://files.pythonhosted.org/packages/fa/cb/b25c19d5bb2bd0f2e4e27fe8e2ffcae80c7a91ae181c0dc749ed60e9b1a4/coverage-7.16.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:cce2bc991293f15cc4084ca116827b5900c5f34e1a54dfe83f10ab5c43162eb7", size = 255294, upload-time = "2026-09-27T12:26:53.634Z" },
336
+ { url = "https://files.pythonhosted.org/packages/5f/a2/892c5c5f4ad44b7b2ca009aee705191f3f268f15052244f2f9e3539b2e35/coverage-7.16.2-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:e1fa594c887365b69745f25a416806e61085dd07b94c9eae68a6e20730629b23", size = 259444, upload-time = "2026-09-27T12:26:55.243Z" },
337
+ { url = "https://files.pythonhosted.org/packages/ed/99/a562537deba0a3e370182ae71c149be796c39d8087365f17a09188f27145/coverage-7.16.2-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:11e597173af1dc33d5f8a7332ada544199269a223af1ee1770ddd5e245ad0fe8", size = 255111, upload-time = "2026-09-27T12:26:56.851Z" },
338
+ { url = "https://files.pythonhosted.org/packages/2d/20/854ec68641a9b3362ff068a32dfa41637299761617ef253791dbade6fc76/coverage-7.16.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:3e7f99698ba3a7d13988bdd984b7ebf13af4dbe2166dc8502eef90d77603b0a4", size = 256882, upload-time = "2026-09-27T12:26:58.41Z" },
339
+ { url = "https://files.pythonhosted.org/packages/db/0d/748e4518b0ac0f9ff2687c248a6e5f8c0737306e709372632a2556f84443/coverage-7.16.2-cp313-cp313-win32.whl", hash = "sha256:f80bd9f9633eafc73d0a913ba2645c96ba58bba1befc30590f7c0fbfde59d865", size = 226045, upload-time = "2026-09-27T12:26:59.983Z" },
340
+ { url = "https://files.pythonhosted.org/packages/31/fa/6e46edba66a183fe4d99d4bb52c173287e9b8dddabe0888d24cb8210e580/coverage-7.16.2-cp313-cp313-win_amd64.whl", hash = "sha256:8be099e979fc42559328a21828281b4578304191ae46ed4e80a407048a82eee6", size = 226581, upload-time = "2026-09-27T12:27:01.494Z" },
341
+ { url = "https://files.pythonhosted.org/packages/1b/d9/9ef6845367600b336ff75d000444a0d32497d6972c833141bd39356abf68/coverage-7.16.2-cp313-cp313-win_arm64.whl", hash = "sha256:28ff850182a67d117990fa2ce5ea1032836d8c9630dae867e8bdd3bff4533b79", size = 226409, upload-time = "2026-09-27T12:27:03.116Z" },
342
+ { url = "https://files.pythonhosted.org/packages/3f/0c/7a64e1ac90541a8edf50daef0914848011fb057a5bf55284a4811e21939a/coverage-7.16.2-py3-none-any.whl", hash = "sha256:11d28e9123a9156cb405d8d27b44256c9a58fb5decc2073a8f17862057e3aa0f", size = 215754, upload-time = "2026-09-27T12:28:59.075Z" },
341
343
  ]
342
344
 
343
345
  [[package]]
@@ -401,18 +403,6 @@ wheels = [
401
403
  { url = "https://files.pythonhosted.org/packages/07/6c/aa3f2f849e01cb6a001cd8554a88d4c77c5c1a31c95bdf1cf9301e6d9ef4/defusedxml-0.7.1-py2.py3-none-any.whl", hash = "sha256:a352e7e428770286cc899e2542b6cdaedb2b4953ff269a210103ec58f6198a61", size = 25604, upload-time = "2021-03-08T10:59:24.45Z" },
402
404
  ]
403
405
 
404
- [[package]]
405
- name = "deprecated"
406
- version = "3.0.0"
407
- source = { registry = "https://pypi.org/simple" }
408
- dependencies = [
409
- { name = "wrapt" },
410
- ]
411
- sdist = { url = "https://files.pythonhosted.org/packages/f7/9c/16649913bf14c73e0a9453782e148362ff2657067deff6aa9c7ebcddcc31/deprecated-3.0.0.tar.gz", hash = "sha256:16850204d3a1e6bb0acd06bff48d96e8b0a0d25d1c52f71705405a0f4894192d", size = 166912, upload-time = "2026-09-26T13:58:10.675Z" }
412
- wheels = [
413
- { url = "https://files.pythonhosted.org/packages/83/ae/676feae8e4644a6d7169951a97f61c56f416c73f67bf1761f2461d75cc81/deprecated-3.0.0-py3-none-any.whl", hash = "sha256:58204cf4a7f6270d547af5c278ee7a6bb56045a4b3d8441a1cd11660f41b7939", size = 21912, upload-time = "2026-09-26T13:58:09.458Z" },
414
- ]
415
-
416
406
  [[package]]
417
407
  name = "dnspython"
418
408
  version = "2.8.0"
@@ -586,18 +576,6 @@ wheels = [
586
576
  { url = "https://files.pythonhosted.org/packages/27/e8/68e274b2a30e1fdfd25bdc27194382be3f233929c8f727c0440d58ac074f/glom-22.1.0-py2.py3-none-any.whl", hash = "sha256:5339da206bf3532e01a83a35aca202960ea885156986d190574b779598e9e772", size = 100687, upload-time = "2022-01-24T09:34:02.391Z" },
587
577
  ]
588
578
 
589
- [[package]]
590
- name = "googleapis-common-protos"
591
- version = "1.75.0"
592
- source = { registry = "https://pypi.org/simple" }
593
- dependencies = [
594
- { name = "protobuf" },
595
- ]
596
- sdist = { url = "https://files.pythonhosted.org/packages/b5/c8/f439cffde755cffa462bfbb156278fa6f9d09119719af9814b858fd4f81f/googleapis_common_protos-1.75.0.tar.gz", hash = "sha256:53a062ff3c32552fbd62c11fe23768b78e4ddf0494d5e5fd97d3f4689c75fbbd", size = 151035, upload-time = "2026-05-07T08:04:49.423Z" }
597
- wheels = [
598
- { url = "https://files.pythonhosted.org/packages/e7/c8/e2645aa8ed02fd4c7a2f59d68783b65b1f3cbdfe39a6308e156509d1fee8/googleapis_common_protos-1.75.0-py3-none-any.whl", hash = "sha256:961ed60399c457ceb0ee8f285a84c870aabc9c6a832b9d37bb281b5bebde43ed", size = 300631, upload-time = "2026-05-07T08:03:30.345Z" },
599
- ]
600
-
601
579
  [[package]]
602
580
  name = "griffelib"
603
581
  version = "2.3.0"
@@ -711,18 +689,6 @@ wheels = [
711
689
  { url = "https://files.pythonhosted.org/packages/58/a2/bb081bab032533a855d44de1d56f8e8426114ff1ba5d1f07a438a0a654f8/idna-3.20-py3-none-any.whl", hash = "sha256:ab7ae7122974553370f0bdb919e1a960b2cd1bc1ef0276416d896db81c14582c", size = 69583, upload-time = "2026-09-17T14:11:03.168Z" },
712
690
  ]
713
691
 
714
- [[package]]
715
- name = "importlib-metadata"
716
- version = "7.1.0"
717
- source = { registry = "https://pypi.org/simple" }
718
- dependencies = [
719
- { name = "zipp" },
720
- ]
721
- sdist = { url = "https://files.pythonhosted.org/packages/a0/fc/c4e6078d21fc4fa56300a241b87eae76766aa380a23fc450fc85bb7bf547/importlib_metadata-7.1.0.tar.gz", hash = "sha256:b78938b926ee8d5f020fc4772d487045805a55ddbad2ecf21c6d60938dc7fcd2", size = 52120, upload-time = "2024-03-20T19:51:32.429Z" }
722
- wheels = [
723
- { url = "https://files.pythonhosted.org/packages/2d/0a/679461c511447ffaf176567d5c496d1de27cbe34a87df6677d7171b2fbd4/importlib_metadata-7.1.0-py3-none-any.whl", hash = "sha256:30962b96c0c223483ed6cc7280e7f0199feb01a0e40cfae4d4450fc6fab1f570", size = 24409, upload-time = "2024-03-20T19:51:30.241Z" },
724
- ]
725
-
726
692
  [[package]]
727
693
  name = "iniconfig"
728
694
  version = "2.3.0"
@@ -1036,121 +1002,14 @@ wheels = [
1036
1002
 
1037
1003
  [[package]]
1038
1004
  name = "opentelemetry-api"
1039
- version = "1.25.0"
1005
+ version = "1.45.0"
1040
1006
  source = { registry = "https://pypi.org/simple" }
1041
1007
  dependencies = [
1042
- { name = "deprecated" },
1043
- { name = "importlib-metadata" },
1044
- ]
1045
- sdist = { url = "https://files.pythonhosted.org/packages/df/0d/10357006dc10fc65f7c7b46c18232e466e355f9e606ac461cfc7193b4cbe/opentelemetry_api-1.25.0.tar.gz", hash = "sha256:77c4985f62f2614e42ce77ee4c9da5fa5f0bc1e1821085e9a47533a9323ae869", size = 60383, upload-time = "2024-05-31T01:40:38.766Z" }
1046
- wheels = [
1047
- { url = "https://files.pythonhosted.org/packages/7e/b2/4bc5e52c9a23df0ac17dbb23923e609a8269cd67000a712b4f5bcfae1490/opentelemetry_api-1.25.0-py3-none-any.whl", hash = "sha256:757fa1aa020a0f8fa139f8959e53dec2051cc26b832e76fa839a6d76ecefd737", size = 59910, upload-time = "2024-05-31T01:40:00.911Z" },
1048
- ]
1049
-
1050
- [[package]]
1051
- name = "opentelemetry-exporter-otlp-proto-common"
1052
- version = "1.25.0"
1053
- source = { registry = "https://pypi.org/simple" }
1054
- dependencies = [
1055
- { name = "opentelemetry-proto" },
1056
- ]
1057
- sdist = { url = "https://files.pythonhosted.org/packages/37/a7/85ffaaacd712e4634fa1c56cbf79a02cf90b8a178fe1eee2cabfb0b7f44d/opentelemetry_exporter_otlp_proto_common-1.25.0.tar.gz", hash = "sha256:c93f4e30da4eee02bacd1e004eb82ce4da143a2f8e15b987a9f603e0a85407d3", size = 17152, upload-time = "2024-05-31T01:40:42.259Z" }
1058
- wheels = [
1059
- { url = "https://files.pythonhosted.org/packages/05/02/74ac6619eec78c82a923324f916d3eccd2f2254cf4270b669e96b76bf717/opentelemetry_exporter_otlp_proto_common-1.25.0-py3-none-any.whl", hash = "sha256:15637b7d580c2675f70246563363775b4e6de947871e01d0f4e3881d1848d693", size = 17762, upload-time = "2024-05-31T01:40:13.172Z" },
1060
- ]
1061
-
1062
- [[package]]
1063
- name = "opentelemetry-exporter-otlp-proto-http"
1064
- version = "1.25.0"
1065
- source = { registry = "https://pypi.org/simple" }
1066
- dependencies = [
1067
- { name = "deprecated" },
1068
- { name = "googleapis-common-protos" },
1069
- { name = "opentelemetry-api" },
1070
- { name = "opentelemetry-exporter-otlp-proto-common" },
1071
- { name = "opentelemetry-proto" },
1072
- { name = "opentelemetry-sdk" },
1073
- { name = "requests" },
1074
- ]
1075
- sdist = { url = "https://files.pythonhosted.org/packages/72/d9/1c3c518853c27d323a46813d3e99d601959ca2c6963d5217fe2110f0d579/opentelemetry_exporter_otlp_proto_http-1.25.0.tar.gz", hash = "sha256:9f8723859e37c75183ea7afa73a3542f01d0fd274a5b97487ea24cb683d7d684", size = 14048, upload-time = "2024-05-31T01:40:43.749Z" }
1076
- wheels = [
1077
- { url = "https://files.pythonhosted.org/packages/1d/b9/a47734f7c5a45619d8c64c227f119092b4679b2c49d37116fda7c0fc4573/opentelemetry_exporter_otlp_proto_http-1.25.0-py3-none-any.whl", hash = "sha256:2eca686ee11b27acd28198b3ea5e5863a53d1266b91cda47c839d95d5e0541a6", size = 16790, upload-time = "2024-05-31T01:40:16.649Z" },
1078
- ]
1079
-
1080
- [[package]]
1081
- name = "opentelemetry-instrumentation"
1082
- version = "0.46b0"
1083
- source = { registry = "https://pypi.org/simple" }
1084
- dependencies = [
1085
- { name = "opentelemetry-api" },
1086
- { name = "setuptools" },
1087
- { name = "wrapt" },
1088
- ]
1089
- sdist = { url = "https://files.pythonhosted.org/packages/0f/20/0a5d980843e048e9516443a91c63a559b40e5d50a730e73e72a5bde727fd/opentelemetry_instrumentation-0.46b0.tar.gz", hash = "sha256:974e0888fb2a1e01c38fbacc9483d024bb1132aad92d6d24e2e5543887a7adda", size = 24048, upload-time = "2024-05-31T16:17:29.807Z" }
1090
- wheels = [
1091
- { url = "https://files.pythonhosted.org/packages/10/e5/d6fff0a6f6fbddf03c7fb48ab47925581c4f1a8268f9ad98e5ea4a8b90a5/opentelemetry_instrumentation-0.46b0-py3-none-any.whl", hash = "sha256:89cd721b9c18c014ca848ccd11181e6b3fd3f6c7669e35d59c48dc527408c18b", size = 29108, upload-time = "2024-05-31T16:16:14.042Z" },
1092
- ]
1093
-
1094
- [[package]]
1095
- name = "opentelemetry-instrumentation-requests"
1096
- version = "0.46b0"
1097
- source = { registry = "https://pypi.org/simple" }
1098
- dependencies = [
1099
- { name = "opentelemetry-api" },
1100
- { name = "opentelemetry-instrumentation" },
1101
- { name = "opentelemetry-semantic-conventions" },
1102
- { name = "opentelemetry-util-http" },
1103
- ]
1104
- sdist = { url = "https://files.pythonhosted.org/packages/f6/28/5b5e9fb74639e47f026a3fd6550bba965ca18b316a8178907540e711855c/opentelemetry_instrumentation_requests-0.46b0.tar.gz", hash = "sha256:ef0ad63bfd0d52631daaf7d687e763dbd89b465f5cb052f12a4e67e5e3d181e4", size = 13709, upload-time = "2024-05-31T16:18:08.594Z" }
1105
- wheels = [
1106
- { url = "https://files.pythonhosted.org/packages/20/42/5eee8720eccd4b94dd3d4908364785db8b22c9ae512ee47caff29064ca4c/opentelemetry_instrumentation_requests-0.46b0-py3-none-any.whl", hash = "sha256:a8c2472800d8686f3f286cd524b8746b386154092e85a791ba14110d1acc9b81", size = 12170, upload-time = "2024-05-31T16:17:07.341Z" },
1107
- ]
1108
-
1109
- [[package]]
1110
- name = "opentelemetry-proto"
1111
- version = "1.25.0"
1112
- source = { registry = "https://pypi.org/simple" }
1113
- dependencies = [
1114
- { name = "protobuf" },
1115
- ]
1116
- sdist = { url = "https://files.pythonhosted.org/packages/c9/3c/28c9ce40eb8ab287471af81659089ca98ef4f7ce289669e23b19c29f24a8/opentelemetry_proto-1.25.0.tar.gz", hash = "sha256:35b6ef9dc4a9f7853ecc5006738ad40443701e52c26099e197895cbda8b815a3", size = 35062, upload-time = "2024-05-31T01:40:52.737Z" }
1117
- wheels = [
1118
- { url = "https://files.pythonhosted.org/packages/64/ae/d6b5f11ecbffafe8b6d54130fed0cc78aad3711e00074d63a7359d6dcf3b/opentelemetry_proto-1.25.0-py3-none-any.whl", hash = "sha256:f07e3341c78d835d9b86665903b199893befa5e98866f63d22b00d0b7ca4972f", size = 52450, upload-time = "2024-05-31T01:40:30.987Z" },
1119
- ]
1120
-
1121
- [[package]]
1122
- name = "opentelemetry-sdk"
1123
- version = "1.25.0"
1124
- source = { registry = "https://pypi.org/simple" }
1125
- dependencies = [
1126
- { name = "opentelemetry-api" },
1127
- { name = "opentelemetry-semantic-conventions" },
1128
1008
  { name = "typing-extensions" },
1129
1009
  ]
1130
- sdist = { url = "https://files.pythonhosted.org/packages/05/3c/77076b77f1d73141adc119f62370ec9456ef314ba0b4e7072e3775c36ef7/opentelemetry_sdk-1.25.0.tar.gz", hash = "sha256:ce7fc319c57707ef5bf8b74fb9f8ebdb8bfafbe11898410e0d2a761d08a98ec7", size = 141042, upload-time = "2024-05-31T01:40:53.73Z" }
1131
- wheels = [
1132
- { url = "https://files.pythonhosted.org/packages/ae/b2/729a959a8aa032bce246c791f977161099ab60fb0188408ccec1bf283b00/opentelemetry_sdk-1.25.0-py3-none-any.whl", hash = "sha256:d97ff7ec4b351692e9d5a15af570c693b8715ad78b8aafbec5c7100fe966b4c9", size = 107028, upload-time = "2024-05-31T01:40:33.281Z" },
1133
- ]
1134
-
1135
- [[package]]
1136
- name = "opentelemetry-semantic-conventions"
1137
- version = "0.46b0"
1138
- source = { registry = "https://pypi.org/simple" }
1139
- dependencies = [
1140
- { name = "opentelemetry-api" },
1141
- ]
1142
- sdist = { url = "https://files.pythonhosted.org/packages/4e/ea/a4a5277247b3d2ed2e23a58b0d509c2eafa4ebb56038ba5b23c0f9ea6242/opentelemetry_semantic_conventions-0.46b0.tar.gz", hash = "sha256:fbc982ecbb6a6e90869b15c1673be90bd18c8a56ff1cffc0864e38e2edffaefa", size = 80198, upload-time = "2024-05-31T01:40:54.722Z" }
1010
+ sdist = { url = "https://files.pythonhosted.org/packages/1f/dc/e12c1fe1ed8a7b7149777127b1a0e12ce5bd5a81d97408bedc2128c260f5/opentelemetry_api-1.45.0.tar.gz", hash = "sha256:711ede81773c8025c2c03dac0450bc89f3d30aea6eabcc815c570d4e35a963f7", size = 72115, upload-time = "2026-09-25T12:32:28.399Z" }
1143
1011
  wheels = [
1144
- { url = "https://files.pythonhosted.org/packages/fd/41/28dae1ec1fe0151373f06bd06d9170ca14b52d5b3a6c2dc55f85bc219619/opentelemetry_semantic_conventions-0.46b0-py3-none-any.whl", hash = "sha256:6daef4ef9fa51d51855d9f8e0ccd3a1bd59e0e545abe99ac6203804e36ab3e07", size = 130549, upload-time = "2024-05-31T01:40:35.348Z" },
1145
- ]
1146
-
1147
- [[package]]
1148
- name = "opentelemetry-util-http"
1149
- version = "0.46b0"
1150
- source = { registry = "https://pypi.org/simple" }
1151
- sdist = { url = "https://files.pythonhosted.org/packages/f0/91/45bf243850463b2c83000ca129442255eaef7c446bd0f59a2ab54b15abff/opentelemetry_util_http-0.46b0.tar.gz", hash = "sha256:03b6e222642f9c7eae58d9132343e045b50aca9761fcb53709bd2b663571fdf6", size = 7387, upload-time = "2024-05-31T16:18:21.321Z" }
1152
- wheels = [
1153
- { url = "https://files.pythonhosted.org/packages/a2/7f/26d3d8880ea79adde8bb7bc306b25ca5134d6f6c3006ba464716405b4729/opentelemetry_util_http-0.46b0-py3-none-any.whl", hash = "sha256:8dc1949ce63caef08db84ae977fdc1848fe6dc38e6bbaad0ae3e6ecd0d451629", size = 6920, upload-time = "2024-05-31T16:17:25.344Z" },
1012
+ { url = "https://files.pythonhosted.org/packages/44/b9/040d1a1c7836922828e6480cd2366bb8fe0ebf75b413d2bb51a9b0e7f78f/opentelemetry_api-1.45.0-py3-none-any.whl", hash = "sha256:80e068aba7cd56c8b58512d6a36f8d25cb1dfaa0c0a4cc1c938ccf9f362d9cb3", size = 60020, upload-time = "2026-09-25T12:32:03.192Z" },
1154
1013
  ]
1155
1014
 
1156
1015
  [[package]]
@@ -1200,16 +1059,17 @@ wheels = [
1200
1059
 
1201
1060
  [[package]]
1202
1061
  name = "protobuf"
1203
- version = "4.25.9"
1062
+ version = "7.36.2"
1204
1063
  source = { registry = "https://pypi.org/simple" }
1205
- sdist = { url = "https://files.pythonhosted.org/packages/d9/8e/d08c41a8c004e1d437ef467e7c4f9c3295cd784eba48ed5d1d01f94b1dad/protobuf-4.25.9.tar.gz", hash = "sha256:b0dc7e7c68de8b1ce831dacb12fb407e838edbb8b6cc0dc3a2a6b4cbf6de9cff", size = 381040, upload-time = "2026-03-25T23:09:36.423Z" }
1064
+ sdist = { url = "https://files.pythonhosted.org/packages/d9/89/5b8517baa72f84a67b8a307ba953c91057af618bf40bf676f3c03551f8f0/protobuf-7.36.2.tar.gz", hash = "sha256:497d0463ff3316681da6c0b9e8d06cb465d61abce00b613ab42226175644d1bb", size = 512737, upload-time = "2026-09-17T20:07:59.326Z" }
1206
1065
  wheels = [
1207
- { url = "https://files.pythonhosted.org/packages/a8/e9/59435bd04bdd46cb38c42a336b22f9843e8e586ff83c35a5423f8b14704e/protobuf-4.25.9-cp310-abi3-win32.whl", hash = "sha256:bde396f568b0b46fc8fbfe9f02facf25b6755b2578a3b8ac61e74b9d69499e03", size = 392879, upload-time = "2026-03-25T23:09:21.32Z" },
1208
- { url = "https://files.pythonhosted.org/packages/f3/16/42a5c7f1001783d2b5bfcecde10127f09010f78982c86ae409122ce3ece6/protobuf-4.25.9-cp310-abi3-win_amd64.whl", hash = "sha256:3683c05154252206f7cb2d371626514b3708199d9bcf683b503dabf3a2e38e06", size = 413900, upload-time = "2026-03-25T23:09:23.589Z" },
1209
- { url = "https://files.pythonhosted.org/packages/56/5b/0074a0a9eb01f3d1c4648ca5e81b22090c811b210b61df9018ac6d6c5cda/protobuf-4.25.9-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:9560813560e6ee72c11ca8873878bdb7ee003c96a57ebb013245fe84e2540904", size = 394826, upload-time = "2026-03-25T23:09:25.194Z" },
1210
- { url = "https://files.pythonhosted.org/packages/54/aa/b2dba856f64c36b2a06c67be1472de98cca07a2322d0f0cbf03279a40e5b/protobuf-4.25.9-cp37-abi3-manylinux2014_aarch64.whl", hash = "sha256:999146ef02e7fa6a692477badd1528bcd7268df211852a3df2d834ba2b480791", size = 294191, upload-time = "2026-03-25T23:09:26.613Z" },
1211
- { url = "https://files.pythonhosted.org/packages/a8/5c/53f18822017b8bda6bd8bb4e02048e911fdc79a3dafdc83ab994fe922a84/protobuf-4.25.9-cp37-abi3-manylinux2014_x86_64.whl", hash = "sha256:438c636de8fb706a0de94a12a268ef1ae8f5ba5ae655a7671fcda5968ba3c9be", size = 295178, upload-time = "2026-03-25T23:09:27.839Z" },
1212
- { url = "https://files.pythonhosted.org/packages/16/28/d5065b212685875d3924bcdb3201cbf467cb4d58a18aa19a8dfd99ea80a9/protobuf-4.25.9-py3-none-any.whl", hash = "sha256:d49b615e7c935194ac161f0965699ac84df6112c378e05ec53da65d2e4cbb6d4", size = 156822, upload-time = "2026-03-25T23:09:34.957Z" },
1066
+ { url = "https://files.pythonhosted.org/packages/32/72/98342feb672507c8f3a69e34b4fa8961f608edba5c1a48a6f47156d92cb5/protobuf-7.36.2-cp310-abi3-macosx_10_9_universal2.whl", hash = "sha256:cbc70b17ee27e28894c7fee8bb04be1abead49e936bc70eb60052531eee2079e", size = 456039, upload-time = "2026-09-17T20:07:51.542Z" },
1067
+ { url = "https://files.pythonhosted.org/packages/b6/ea/91fdf7c2b8bbd49cde056f00a9df6773532987e1c00fe2830b895af95c7e/protobuf-7.36.2-cp310-abi3-manylinux2014_aarch64.whl", hash = "sha256:e11e1f0180583a2af89db6a2ecd9e8dc40aa6d2988ca175bfd0e6d12ea72d74e", size = 344219, upload-time = "2026-09-17T20:07:52.914Z" },
1068
+ { url = "https://files.pythonhosted.org/packages/17/ab/5fd5f8ece73fad885c5a09aa849b32d70472f954ba3a92d3bb5974ea953b/protobuf-7.36.2-cp310-abi3-manylinux2014_s390x.whl", hash = "sha256:f4fee11ec330d238b34a05c9b675f693c20415d1c5bd7d5320cc2f8a798eb9cf", size = 357223, upload-time = "2026-09-17T20:07:53.985Z" },
1069
+ { url = "https://files.pythonhosted.org/packages/db/f3/3996583dd2906297a637af12114deddf7658af6e683fedb83be061983fb5/protobuf-7.36.2-cp310-abi3-manylinux2014_x86_64.whl", hash = "sha256:89f23aa53c24553a2416fd4fd1ec06f74fa42b14b546d8883128813f775bbfd2", size = 343223, upload-time = "2026-09-17T20:07:54.931Z" },
1070
+ { url = "https://files.pythonhosted.org/packages/fc/1b/dcc64f358fcb51811b58ae40b3d28f820725f116d86487cc20bd4b130701/protobuf-7.36.2-cp310-abi3-win32.whl", hash = "sha256:912c1221170e16c08d1f086762f563dd61ff83c18b5fa6652952dfaded66f728", size = 442998, upload-time = "2026-09-17T20:07:55.826Z" },
1071
+ { url = "https://files.pythonhosted.org/packages/8a/55/b77bda4e5e5f5971fb51b07663694690e9afdb9402136c16a522bd621cad/protobuf-7.36.2-cp310-abi3-win_amd64.whl", hash = "sha256:a300819d441e078a5608c0d3c709796bb548136058fda017ae51d425b44fd353", size = 456514, upload-time = "2026-09-17T20:07:57.188Z" },
1072
+ { url = "https://files.pythonhosted.org/packages/e4/04/d52c7016b04b6c5108f26691f9d33ec82a9b65d041f1a9c771137693d618/protobuf-7.36.2-py3-none-any.whl", hash = "sha256:bdb3a345d48db958e6ce1f18e508beb0cc981d64f24088427549c866cd039f1e", size = 179806, upload-time = "2026-09-17T20:07:58.211Z" },
1213
1073
  ]
1214
1074
 
1215
1075
  [[package]]
@@ -1490,15 +1350,15 @@ wheels = [
1490
1350
 
1491
1351
  [[package]]
1492
1352
  name = "rich-rst"
1493
- version = "2.1.0"
1353
+ version = "2.2.0"
1494
1354
  source = { registry = "https://pypi.org/simple" }
1495
1355
  dependencies = [
1496
1356
  { name = "pygments" },
1497
1357
  { name = "rich" },
1498
1358
  ]
1499
- sdist = { url = "https://files.pythonhosted.org/packages/e2/d6/d0b9fafc73b65767200da027acab1db1bdb1048f4fea5ebf659df01c700e/rich_rst-2.1.0.tar.gz", hash = "sha256:f4d117b49697f338769759fa5cacf5197da4888b347b9fda2e50aef5cd8d93bd", size = 302732, upload-time = "2026-07-05T02:59:44.308Z" }
1359
+ sdist = { url = "https://files.pythonhosted.org/packages/cf/0e/faf7c7e36630561e3e9611730c47510cd972dd5fde8f95941ff78f76accd/rich_rst-2.2.0.tar.gz", hash = "sha256:b1e6a67f8f694a6f36035624bf73e2b1a0a4be13edaf3ba5e654d9758b61073a", size = 326270, upload-time = "2026-09-27T19:12:42.163Z" }
1500
1360
  wheels = [
1501
- { url = "https://files.pythonhosted.org/packages/2a/68/1fc93dd759605b5d00fc98b50200739e41ed32bd22d6ba35ca6c3932371b/rich_rst-2.1.0-py3-none-any.whl", hash = "sha256:7ecd1343ee12c879d0e7ae74c3eb6d263b023d2929c6d114212eb1fd91057255", size = 272987, upload-time = "2026-07-05T02:59:42.792Z" },
1361
+ { url = "https://files.pythonhosted.org/packages/d1/4e/716b42bf066e180c1235783b46f095a5d871d05dca7006d2295aac29c491/rich_rst-2.2.0-py3-none-any.whl", hash = "sha256:1ea1c43813dc4a8d86475fce27ffb74e0ada3d4656c9f8130ba2a59868055fe9", size = 279274, upload-time = "2026-09-27T19:12:40.548Z" },
1502
1362
  ]
1503
1363
 
1504
1364
  [[package]]
@@ -1573,7 +1433,7 @@ wheels = [
1573
1433
 
1574
1434
  [[package]]
1575
1435
  name = "semgrep"
1576
- version = "1.85.0"
1436
+ version = "1.79.0"
1577
1437
  source = { registry = "https://pypi.org/simple" }
1578
1438
  dependencies = [
1579
1439
  { name = "attrs" },
@@ -1585,10 +1445,6 @@ dependencies = [
1585
1445
  { name = "exceptiongroup" },
1586
1446
  { name = "glom" },
1587
1447
  { name = "jsonschema" },
1588
- { name = "opentelemetry-api" },
1589
- { name = "opentelemetry-exporter-otlp-proto-http" },
1590
- { name = "opentelemetry-instrumentation-requests" },
1591
- { name = "opentelemetry-sdk" },
1592
1448
  { name = "packaging" },
1593
1449
  { name = "peewee" },
1594
1450
  { name = "requests" },
@@ -1599,21 +1455,12 @@ dependencies = [
1599
1455
  { name = "urllib3" },
1600
1456
  { name = "wcmatch" },
1601
1457
  ]
1602
- sdist = { url = "https://files.pythonhosted.org/packages/80/41/3e42c952458400baf0cf3f89e79dfc1d93ea636eedeb6ebaae33280e4383/semgrep-1.85.0.tar.gz", hash = "sha256:1a321cca4c5da84eb466ca1a4ceda10223e806225e371c4fef710cfe4b4b1df7", size = 27204522, upload-time = "2024-08-15T17:56:40.809Z" }
1458
+ sdist = { url = "https://files.pythonhosted.org/packages/45/61/9ee9e601ddc9f9073708d4e6886d0c7021b59b3180b6cb53c0bd01b393d9/semgrep-1.79.0.tar.gz", hash = "sha256:fde15d090b4beb865e12c2c727404c8dee2f41b9d793a7f972b278cdefb22bea", size = 27421587, upload-time = "2024-07-10T10:06:05.122Z" }
1603
1459
  wheels = [
1604
- { url = "https://files.pythonhosted.org/packages/c3/04/53e7df61e90f66f45e0f7d60b52d3787bdaae550c5c5a0940c40dce28036/semgrep-1.85.0-cp38.cp39.cp310.cp311.py37.py38.py39.py310.py311-none-any.whl", hash = "sha256:91fab3a0aa7f987a6605e01617179a363338350cca51174905d6ad0080a8d08e", size = 27619862, upload-time = "2024-08-15T17:56:24.981Z" },
1605
- { url = "https://files.pythonhosted.org/packages/e0/6a/0762eded629759b3b876dcd81a33a736a3ecae08a4896f21abcc4c800b3d/semgrep-1.85.0-cp38.cp39.cp310.cp311.py37.py38.py39.py310.py311-none-macosx_10_14_x86_64.whl", hash = "sha256:a63055b392da70c46947780f43fecf54064fb60d8de11a16902e0cc149350a3e", size = 27833827, upload-time = "2024-08-15T17:56:29.344Z" },
1606
- { url = "https://files.pythonhosted.org/packages/97/fc/d34edce42fc2785645f64345d91b3ebd7d705c129306e0b420bd4ae0d31a/semgrep-1.85.0-cp38.cp39.cp310.cp311.py37.py38.py39.py310.py311-none-macosx_11_0_arm64.whl", hash = "sha256:157b7724c35a8bda972921abfaaf252bdb754bbda004b2a82aaa38ac8099e176", size = 33557689, upload-time = "2024-08-15T17:56:32.99Z" },
1607
- { url = "https://files.pythonhosted.org/packages/23/0e/679e6fe0b6f3e1496f01ad28a79829b832df69f19815a3891f0e9a144b35/semgrep-1.85.0-cp38.cp39.cp310.cp311.py37.py38.py39.py310.py311-none-musllinux_1_0_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0a6b5d509576bbe0d68245d9ee2973ccecb485ca5907e85a7a8793552bf622cb", size = 32246576, upload-time = "2024-08-15T17:56:36.849Z" },
1608
- ]
1609
-
1610
- [[package]]
1611
- name = "setuptools"
1612
- version = "84.0.0"
1613
- source = { registry = "https://pypi.org/simple" }
1614
- sdist = { url = "https://files.pythonhosted.org/packages/6d/44/f5da03a8ef95d369145c5bb53050e7877c9f3d312e128605fd9504829143/setuptools-84.0.0.tar.gz", hash = "sha256:f4695c21257f0d9b537ec2692c941d02ee143b7cc1276941349a546573b2ef73", size = 1168449, upload-time = "2026-08-08T18:27:58.365Z" }
1615
- wheels = [
1616
- { url = "https://files.pythonhosted.org/packages/95/9c/c510029fc6ef33a6275cd2c5d3cecd6613dfd6aa401d57c54f1c18852ccf/setuptools-84.0.0-py3-none-any.whl", hash = "sha256:51a52592b3b99e102b609654876bd65f19f999935166d1352678931132b0c670", size = 818216, upload-time = "2026-08-08T18:27:56.719Z" },
1460
+ { url = "https://files.pythonhosted.org/packages/56/4a/469abc30b134354632d8b8e83249121447fca74a615509a09bed90340813/semgrep-1.79.0-cp38.cp39.cp310.cp311.py37.py38.py39.py310.py311-none-any.whl", hash = "sha256:5a28858c1f5249bf4fed3f180f2db2589ce1832c1058eb6d18a0f086c91dadc1", size = 27832465, upload-time = "2024-07-10T10:05:45.254Z" },
1461
+ { url = "https://files.pythonhosted.org/packages/e9/23/eff37582f900cf742b5fc7709dfd0e63cc2bc0faefe6ec200f150666fa7a/semgrep-1.79.0-cp38.cp39.cp310.cp311.py37.py38.py39.py310.py311-none-macosx_10_14_x86_64.whl", hash = "sha256:4b22b5f4db17204648baf8bc58fcd74c09eb5f41bd407422193253b4de9af18e", size = 28050871, upload-time = "2024-07-10T10:05:52.086Z" },
1462
+ { url = "https://files.pythonhosted.org/packages/d6/88/35615a4e1142755cb3d2c86d63160f63ab770c111c82de9318bba27fb888/semgrep-1.79.0-cp38.cp39.cp310.cp311.py37.py38.py39.py310.py311-none-macosx_11_0_arm64.whl", hash = "sha256:fe5cf0ac8afdb786cbd4e6c97c418ca7adc8f4c42584a69dc7c10e15db5f7d9b", size = 33805877, upload-time = "2024-07-10T10:05:56.42Z" },
1463
+ { url = "https://files.pythonhosted.org/packages/fd/84/3b6afc829f54b331f47d55c565096ef74a98d96d794612d2e5330062d373/semgrep-1.79.0-cp38.cp39.cp310.cp311.py37.py38.py39.py310.py311-none-musllinux_1_0_aarch64.manylinux2014_aarch64.whl", hash = "sha256:41797931371d05c41a6e09861b3d631136b4fe644d80802b2fd48af650e5fa5a", size = 32479030, upload-time = "2024-07-10T10:06:00.777Z" },
1617
1464
  ]
1618
1465
 
1619
1466
  [[package]]
@@ -1937,31 +1784,3 @@ sdist = { url = "https://files.pythonhosted.org/packages/b3/8f/705086c9d734d3b66
1937
1784
  wheels = [
1938
1785
  { url = "https://files.pythonhosted.org/packages/e1/07/c6fe3ad3e685340704d314d765b7912993bcb8dc198f0e7a89382d37974b/win32_setctime-1.2.0-py3-none-any.whl", hash = "sha256:95d644c4e708aba81dc3704a116d8cbc974d70b3bdb8be1d150e36be6e9d1390", size = 4083, upload-time = "2024-12-07T15:28:26.465Z" },
1939
1786
  ]
1940
-
1941
- [[package]]
1942
- name = "wrapt"
1943
- version = "1.17.3"
1944
- source = { registry = "https://pypi.org/simple" }
1945
- sdist = { url = "https://files.pythonhosted.org/packages/95/8f/aeb76c5b46e273670962298c23e7ddde79916cb74db802131d49a85e4b7d/wrapt-1.17.3.tar.gz", hash = "sha256:f66eb08feaa410fe4eebd17f2a2c8e2e46d3476e9f8c783daa8e09e0faa666d0", size = 55547, upload-time = "2025-08-12T05:53:21.714Z" }
1946
- wheels = [
1947
- { url = "https://files.pythonhosted.org/packages/fc/f6/759ece88472157acb55fc195e5b116e06730f1b651b5b314c66291729193/wrapt-1.17.3-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:a47681378a0439215912ef542c45a783484d4dd82bac412b71e59cf9c0e1cea0", size = 54003, upload-time = "2025-08-12T05:51:48.627Z" },
1948
- { url = "https://files.pythonhosted.org/packages/4f/a9/49940b9dc6d47027dc850c116d79b4155f15c08547d04db0f07121499347/wrapt-1.17.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:54a30837587c6ee3cd1a4d1c2ec5d24e77984d44e2f34547e2323ddb4e22eb77", size = 39025, upload-time = "2025-08-12T05:51:37.156Z" },
1949
- { url = "https://files.pythonhosted.org/packages/45/35/6a08de0f2c96dcdd7fe464d7420ddb9a7655a6561150e5fc4da9356aeaab/wrapt-1.17.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:16ecf15d6af39246fe33e507105d67e4b81d8f8d2c6598ff7e3ca1b8a37213f7", size = 39108, upload-time = "2025-08-12T05:51:58.425Z" },
1950
- { url = "https://files.pythonhosted.org/packages/0c/37/6faf15cfa41bf1f3dba80cd3f5ccc6622dfccb660ab26ed79f0178c7497f/wrapt-1.17.3-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:6fd1ad24dc235e4ab88cda009e19bf347aabb975e44fd5c2fb22a3f6e4141277", size = 88072, upload-time = "2025-08-12T05:52:37.53Z" },
1951
- { url = "https://files.pythonhosted.org/packages/78/f2/efe19ada4a38e4e15b6dff39c3e3f3f73f5decf901f66e6f72fe79623a06/wrapt-1.17.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0ed61b7c2d49cee3c027372df5809a59d60cf1b6c2f81ee980a091f3afed6a2d", size = 88214, upload-time = "2025-08-12T05:52:15.886Z" },
1952
- { url = "https://files.pythonhosted.org/packages/40/90/ca86701e9de1622b16e09689fc24b76f69b06bb0150990f6f4e8b0eeb576/wrapt-1.17.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:423ed5420ad5f5529db9ce89eac09c8a2f97da18eb1c870237e84c5a5c2d60aa", size = 87105, upload-time = "2025-08-12T05:52:17.914Z" },
1953
- { url = "https://files.pythonhosted.org/packages/fd/e0/d10bd257c9a3e15cbf5523025252cc14d77468e8ed644aafb2d6f54cb95d/wrapt-1.17.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:e01375f275f010fcbf7f643b4279896d04e571889b8a5b3f848423d91bf07050", size = 87766, upload-time = "2025-08-12T05:52:39.243Z" },
1954
- { url = "https://files.pythonhosted.org/packages/e8/cf/7d848740203c7b4b27eb55dbfede11aca974a51c3d894f6cc4b865f42f58/wrapt-1.17.3-cp313-cp313-win32.whl", hash = "sha256:53e5e39ff71b3fc484df8a522c933ea2b7cdd0d5d15ae82e5b23fde87d44cbd8", size = 36711, upload-time = "2025-08-12T05:53:10.074Z" },
1955
- { url = "https://files.pythonhosted.org/packages/57/54/35a84d0a4d23ea675994104e667ceff49227ce473ba6a59ba2c84f250b74/wrapt-1.17.3-cp313-cp313-win_amd64.whl", hash = "sha256:1f0b2f40cf341ee8cc1a97d51ff50dddb9fcc73241b9143ec74b30fc4f44f6cb", size = 38885, upload-time = "2025-08-12T05:53:08.695Z" },
1956
- { url = "https://files.pythonhosted.org/packages/01/77/66e54407c59d7b02a3c4e0af3783168fff8e5d61def52cda8728439d86bc/wrapt-1.17.3-cp313-cp313-win_arm64.whl", hash = "sha256:7425ac3c54430f5fc5e7b6f41d41e704db073309acfc09305816bc6a0b26bb16", size = 36896, upload-time = "2025-08-12T05:52:55.34Z" },
1957
- { url = "https://files.pythonhosted.org/packages/1f/f6/a933bd70f98e9cf3e08167fc5cd7aaaca49147e48411c0bd5ae701bb2194/wrapt-1.17.3-py3-none-any.whl", hash = "sha256:7171ae35d2c33d326ac19dd8facb1e82e5fd04ef8c6c0e394d7af55a55051c22", size = 23591, upload-time = "2025-08-12T05:53:20.674Z" },
1958
- ]
1959
-
1960
- [[package]]
1961
- name = "zipp"
1962
- version = "4.1.0"
1963
- source = { registry = "https://pypi.org/simple" }
1964
- sdist = { url = "https://files.pythonhosted.org/packages/b9/d8/eab98a517c14134c0b2eb4e2387bc5f457334293ec5d2dd3857ec2966802/zipp-4.1.0.tar.gz", hash = "sha256:4cb57381f544315db7688e976e922a2b18cdb513d21cc194eb42232ba2a3e602", size = 26214, upload-time = "2026-05-18T20:08:57.967Z" }
1965
- wheels = [
1966
- { url = "https://files.pythonhosted.org/packages/3a/13/547360d81e6d88d58492968ffda9f9542854f11310ee556fef14260cc886/zipp-4.1.0-py3-none-any.whl", hash = "sha256:25ad4e16390cd314347dd8f1de67a2ac538ae658ed4ab9db16029c07c188e97f", size = 10238, upload-time = "2026-05-18T20:08:57.045Z" },
1967
- ]