Commit graph

47362 commits

Author SHA1 Message Date
yujonglee
0f28962e00
Merge d9ad7ae2e6 into d2fc8b2438 2026-09-06 08:11:46 +00:00
Yujong Lee
d9ad7ae2e6 refactor(native): enforce admission-only declines 2026-09-06 01:11:41 -07:00
Yujong Lee
7ce0ea0d87 test(native): remove deleted preflight override 2026-09-06 01:05:15 -07:00
Yujong Lee
840495a2f1 test(native): align coverage with execution declines 2026-09-06 01:05:15 -07:00
Yujong Lee
2e9a24f67d refactor(native): replace preflight APIs with typed execution declines 2026-09-06 01:05:15 -07:00
yujonglee
d2fc8b2438
Merge 8e20a8644f into 6cba73a2c1 2026-09-06 08:05:11 +00:00
Yujong Lee
8e20a8644f fix(rust): complete installed callback parity
Some checks failed
LiteLLM Rust / rustfmt, clippy, test (push) Waiting to run
LiteLLM Rust / release wheel (push) Waiting to run
Terraform Modules / fmt, validate, test (aws) (push) Has been cancelled
Terraform Modules / fmt, validate, test (gcp) (push) Has been cancelled
2026-09-06 01:04:33 -07:00
Yujong Lee
7780d877bb fix(rust): initialize callback lifecycle runtime 2026-09-06 00:56:52 -07:00
Yujong Lee
e4f8aa57af fix(rust): preserve separated callback boundaries 2026-09-06 00:56:52 -07:00
Yujong Lee
f424891d76 fix(rust): restore callback handle typing 2026-09-06 00:56:51 -07:00
Yujong Lee
01fbd47f37 fix(rust): complete callback trace integration 2026-09-06 00:56:31 -07:00
Yujong Lee
304243f865 refactor(rust): establish callback contracts and readiness 2026-09-06 00:56:11 -07:00
yujonglee
6cba73a2c1
Merge 152d041736 into e2dd92d18e 2026-09-06 07:55:54 +00:00
Yujong Lee
152d041736 fix(native): make OCR admission provider aware 2026-09-06 00:55:45 -07:00
Yujong Lee
e386004302 fix(native): restack shared eligibility contracts 2026-09-06 00:52:53 -07:00
Yujong Lee
81f288ac81 test(bedrock): use separated native options 2026-09-06 00:52:53 -07:00
Yujong Lee
dedf746ac1 fix(native): preserve opaque metadata eligibility 2026-09-06 00:52:53 -07:00
Yujong Lee
2f91336b06 refactor(native): centralize typed route eligibility 2026-09-06 00:52:53 -07:00
Yujong Lee
39178c2a5e feat(rust): discover providers at shared SDK dispatch boundaries 2026-09-06 00:52:53 -07:00
Yujong Lee
e564709bb8 refactor(native): move chat eligibility checks into Rust 2026-09-06 00:52:36 -07:00
yujonglee
e2dd92d18e
Merge 81832eee48 into c20d575b3e 2026-09-06 07:52:31 +00:00
Yujong Lee
81832eee48 feat(native): preserve request identity and capabilities 2026-09-06 00:52:21 -07:00
yujonglee
c20d575b3e
Merge 44660f1b05 into 1e1bf2a60d 2026-09-06 06:35:46 +00:00
yujonglee
1e1bf2a60d
Merge 4585441db4 into 380c9b2d66 2026-09-06 06:35:42 +00:00
Yujong Lee
986296b3a1 fix(native): preserve typed capability context 2026-09-05 23:34:33 -07:00
Yujong Lee
c03d3f8ce0 refactor(native): separate request options and context 2026-09-05 23:34:33 -07:00
Yujong Lee
1298be5032 refactor(native): separate request data from execution context 2026-09-05 23:34:33 -07:00
Yujong Lee
44660f1b05 fix(native): remove broad Python error fallback 2026-09-05 23:34:28 -07:00
Yujong Lee
159d54e20e refactor(native): adapt error policy to execution wrappers 2026-09-05 23:34:28 -07:00
Yujong Lee
4585441db4 fix(native): preserve global OCR enablement contract 2026-09-05 23:34:21 -07:00
Yujong Lee
57c21b6898 refactor(native): wrap endpoint execution in a shared harness 2026-09-05 22:48:13 -07:00
Yujong Lee
3fe0d809d1 refactor(native): separate attempts from declarative dispatch 2026-09-05 22:48:08 -07:00
Yujong Lee
6e864a98b4 test(native): cover shared dispatch contracts 2026-09-05 22:48:08 -07:00
Yujong Lee
2659b3c104 test(ocr): keep bridge config double compatible 2026-09-05 22:48:08 -07:00
Yujong Lee
a7ef617fa5 refactor(native): run acceptance checks inside shared dispatch 2026-09-05 22:48:08 -07:00
Yujong Lee
fdc72b33c3 refactor(native): use endpoint binding for WebSocket dispatch 2026-09-05 22:48:08 -07:00
Yujong Lee
71ba828527 refactor(ocr): dispatch complete operations through shared runtime 2026-09-05 22:48:08 -07:00
Yujong Lee
7b3bdae7fc refactor(native): share dispatch lifecycle across existing bridges 2026-09-05 22:47:48 -07:00
yujonglee
380c9b2d66
Merge bd3d69f0ec into 2b3a82d223 2026-09-06 05:47:03 +00:00
Yujong Lee
bd3d69f0ec refactor(rust): remove OCR-specific bridge controls 2026-09-05 22:46:56 -07:00
Yujong Lee
7dc552383c fix(rust): remove ignored transcription enablement 2026-09-05 21:21:48 -07:00
yuneng-jiang
2b3a82d223
Merge pull request #39416 from BerriAI/litellm_/e2e-test-performance-7d53be
ci(e2e): run a PR's changed e2e tests three times behind a human-approved environment
2026-09-05 21:13:57 -07:00
Mateo Wang
54af2ec411
Merge pull request #39970 from BerriAI/litellm_fix_latency_routing_empty_latency_list
fix(router): treat a routing entry with no latency samples as zero latency
2026-09-05 21:07:36 -07:00
mateo-berri
116f88b023 fix(e2e-changed): keep the gate off suites the stack cannot run
The selector picked up two suites that can never pass in this stack, so
editing either one turned the check permanently red: the presidio masking
suite calls pytest.fail without an analyzer and anonymizer that up.sh
never starts, and the pipecat audio suite skips itself at import time
unless the NLTK punkt_tab data is present, which nothing installs.

tests/e2e/coverage_registry/test_collector.py had the same problem for a
different reason. Its nested pytest.main autoloads pytest-retry from the
ci group the workflow installs and dies with "INTERNALERROR: no option
named 'filtered_exceptions'", so the collect-only pass now disables that
plugin. The plugin's entry point is pytest-retry, not retry, so the same
one-word fix lands on mutmut's pytest_add_cli_args, where "-p no:retry"
was disabling nothing.

Two smaller holes in the harness: a canary argument the shell never
expanded used to select nothing and let the gate pass green, and a secret
that cannot be represented in both bash and dotenv was rejected without
naming the key.
2026-09-05 21:03:50 -07:00
yuneng-jiang
11a0c0abf0
Merge pull request #39995 from BerriAI/litellm_mongodb_extra_docker_images
fix(docker): ship pymongo in the proxy images for the MongoDB vector store
2026-09-05 20:08:01 -07:00
tin-berri
9fd60e4f95
feat(router): gate heuristic v1 tuning (#39952) 2026-09-05 19:24:00 -07:00
mateo-berri
b2e93ba99f ci(e2e): declare the embedding model the access_control canary calls
The first canary run failed pass 1 because the stage-mirror config had no
openai-text-embedding-3-small while test_llm_api_routes_group_grants_every_llm_endpoint
calls /embeddings with it; the public log named the test, which is the
behavior the previous commit added
2026-09-05 18:58:07 -07:00
mateo-berri
a9e918577b ci(e2e): run the access_control canary on harness changes and name failed tests
A harness-only change (proxy_client.py, conftest.py, pytest.ini, the gateway
config, .github/e2e-stack, or the workflow) selected nothing, so the stack was
never exercised by the change that touched it. select_tests.py keeps the
changed-file rule and adds the access_control suite whenever a harness file
changes. The run step now reports the pytest exit code before the evidence
check, prints pytest's summary line per pass so the rerun count is visible,
and assert_tests_ran.py names each failed or errored test as classname::name
2026-09-05 18:46:51 -07:00
Yujong Lee
5c3d3c2d74 refactor(rust): remove per-request enablement arguments 2026-09-05 18:36:55 -07:00
Yuneng Jiang
37e8b99a9f
fix(docker): ship pymongo in the proxy images for the MongoDB vector store
The MongoDB Atlas vector store provider imports pymongo lazily from the
opt-in `mongodb` extra, but none of the shipped images installed that
extra. Any image-based deployment that configured a MongoDB vector store
failed at search time with "requires the 'pymongo' package", which the
user cannot fix without extending the image

Adds `--extra mongodb` to every uv sync in the root Dockerfile,
Dockerfile.database, Dockerfile.non_root, and the gateway component
image. The backend component does not serve /vector_stores so it is left
as is. The extra resolves from the existing uv.lock to pymongo 4.17.0
plus dnspython 2.8.0, no lock change needed

(cherry picked from commit 16fd14f537)
2026-09-05 18:14:58 -07:00