mirror of
https://github.com/BerriAI/litellm.git
synced 2026-10-28 06:23:07 +00:00
JsonPathExtractor.evaluate normalized an expression by replacing [*]
with .[*]. and splitting on dots, then recursed into wildcard items
passing the ALREADY-normalized remaining path. Re-running the replace on
that path injected an empty segment (content..[*].text), so every
expression with two array wildcards - e.g. messages[*].content[*].text,
the natural request_fields for chat-shaped pass-through payloads -
evaluated to nothing. extract_fields returned an empty string and the
pass-through handler skipped the guardrail entirely ('No text to check'),
sending the request upstream unchecked while still recording the
guardrail as applied.
The normalization now splits each dot segment by peeling trailing
wildcards one at a time, which is idempotent for the paths recursion
feeds back through, and adjacent wildcards keep working.
Fixes #46302
|
||
|---|---|---|
| .. | ||
| _support | ||
| base_sdk_tests | ||
| benchmarks | ||
| code_coverage_tests | ||
| documentation_tests | ||
| e2e | ||
| e2e_harness | ||
| fixtures | ||
| harness_e2e | ||
| integration | ||
| rust-python-harness | ||
| test_litellm_rust | ||
| typing | ||
| unit | ||
| windows_tests | ||
| __init__.py | ||
| _fake_openai_endpoint_server.py | ||
| _flush_vcr_cache.py | ||
| _live_test_helpers.py | ||
| _master_key.py | ||
| _openai_record_replay_proxy.py | ||
| _process_helpers.py | ||
| _vcr_conftest_common.py | ||
| _vcr_redis_persister.py | ||
| _wait_helpers.py | ||
| _ws_vcr.py | ||
| AGENTS.md | ||
| capturing_transport.py | ||
| eval_swe_bench.py | ||
| fake_openai_endpoint.py | ||
| gettysburg.wav | ||
| large_text.py | ||
| openai_batch_completions.jsonl | ||
| pyrightconfig.json | ||
| README.MD | ||
| test_logging.conf | ||
| test_rust_python_harness.py | ||
| VCR_TESTING.md | ||
| white_100x100.png | ||
In total litellm runs 1000+ tests
[02/20/2025] Update:
To make it easier to contribute and map what behavior is tested,
we've started mapping the litellm directory in tests/unit
This folder can only run mock tests.