Repository navigation
fix(deps): allow litellm releases past GHSA-7hp6-4w63-5g45 - #472
Draft
kaihackney-scale wants to merge 1 commit into
Draft
kaihackney-scale wants to merge 1 commit into
kaihackney-scale wants to merge 1 commit into
Conversation
litellm>=1.96.0,<1.97 left no release outside the advisory installable. The range is now >=1.104.0,<1.107 (locked 1.106.6); the floor moves too, so a resolver can't pick an affected release. The advisory targets the proxy server, which this package never imports. Newer litellm fails `import litellm` when its cost-map fetch hits a non-httpx error such as pytest-socket's block, so the unit suite reads the bundled map (LITELLM_LOCAL_MODEL_COST_MAP). litellm now requires boto3, so a distribution an extra names directly stays that extra's when the optional-extras tests work out what core installs. A contract test runs the rubrics judge against the real acompletion via mock_response. Closes #470. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What and why
Closes #470.
litellm>=1.96.0,<1.97left no way to install a release outside GHSA-7hp6-4w63-5g45. That advisory is about the LiteLLM proxy server; this package only uses the client, in_prompt_llm_judge, and never importslitellm.proxy. The range is now>=1.104.0,<1.107. The floor moves as well as the cap, so a resolver can't pick an affected release.uv.lockmoves to 1.106.6.Moving up exposed two changes in litellm. Each one was failing a unit test (the same tests that fail on #467):
import litellmfetches its model cost map from GitHub. 1.96 swallowed any error there; newer releases only catch httpx errors, so pytest-socket'sSocketBlockedErrornow fails the import.tst/unit/conftest.pysetsLITELLM_LOCAL_MODEL_COST_MAP=True, so the suite reads litellm's bundled copy.awsextra names, and_only_in("aws")came back empty, failing 13 tests intest_optional_extras_stay_optional.py. A distribution an extra names directly now stays that extra's when computing core. The tests still prove core code imports without boto3, which the code still does. No other extra's block list changes.Nothing called the real litellm before: the one judge test replaces
acompletion.test_rubrics_verifier_litellm_contract.pyruns_prompt_llm_judgeagainst the installedlitellm.acompletionwith onlymock_responseadded. It covers the strict json_schema call, text-plus-image content, and the retry without response_format.For review:
LITELLM_LOCAL_MODEL_COST_MAPat runtime would avoid that but would freeze pricing to the bundled table, so it's left out here.awsextra stays, since it states what the AWS backends need.How it was tested
uv pip install --dry-run agentenv-framework==0.9.1428 'litellm>=1.100.4': unsatisfiable.test_prompt_llm_judge_base_url_precedencefailed withSocketBlockedError, and 13test_optional_extras_stay_optional.pytests failed. Afterwards all pass.uv sync --locked --extra dev, py3.12,pytest tst/unit packages/agentenv-protocol/tests -n auto) on 1.106.6: 12,766 passed, 66 skipped, 8 failed. None of the 8 involve litellm. Rerun alone, the Ctrl-C teardown and gateway-trigger tests pass. The other 4 fail only on my Mac: generated MCP CLI scripts run a systempython3withoutclick, and the Docker clone tests time out. CI decides those.uv run --with litellm==1.104.0:tst/unit/task_step/verifiers/plustest_optional_extras_stay_optional.py, 500 passed.uv lock --checkandruff check: clean.Requires-Dist: litellm<1.107,>=1.104.0, and it installs into clean py3.12 and py3.14 venvs, resolving litellm 1.106.6 and importing the rubrics verifier.LITELLM_LOCAL_MODEL_COST_MAP=True.Not checked: lockfiles in downstream repos that pin agentenv-framework.
🤖 Generated with Claude Code