Commit graph

36177 commits

Author SHA1 Message Date
Sameer Kankute
929331bf83
fix(bedrock): custom tool schemas and missing tool names for Converse
Normalize JSON Schema type custom to object for Bedrock invoke and
_bedrock_tools_pt, ensure stable names for tools without name, and
avoid KeyError in the Anthropic messages adapter when translating
tools to OpenAI format for bedrock/converse.

Made-with: Cursor
2026-04-09 10:40:09 +05:30
Sameer Kankute
64164af7aa
fix(bedrock): use iterative walk for custom→object schema normalization
Avoids nested recursive _fix_schema flagged by recursive_detector CI.

Made-with: Cursor
2026-04-09 10:09:27 +05:30
Sameer Kankute
f8a2c9b13a
feat(bedrock): normalize custom tool JSON schema for Invoke and Converse
Anthropic/Claude Code use input_schema.type "custom"; Bedrock rejects it.
- Add normalize_json_schema_custom_types_to_object and use it for Invoke,
  chat invoke, and _bedrock_tools_pt (Anthropic input_schema + OpenAI params).
- Coerce invalid root types to object for Converse toolSpec.
- Tests for invoke transform, converse _bedrock_tools_pt, and unit helper.

Made-with: Cursor
2026-04-09 10:09:18 +05:30
Yuneng Jiang
e3d7412e1f
chore: fixes
Some checks failed
Unit Tests: Caching (Redis) / caching-redis (push) Has been cancelled
Unit Tests: Proxy DB Operations / proxy-db (auth-checks, tests/proxy_unit_tests/test_auth_checks.py tests/proxy_unit_tests/test_user_api_key_auth.py, 20, 8) (push) Has been cancelled
Unit Tests: Proxy DB Operations / proxy-db (key-generation, tests/proxy_unit_tests/test_key_generate_prisma.py, 30, 0) (push) Has been cancelled
Unit Tests: Proxy DB Operations / proxy-db (remaining, tests/proxy_unit_tests --ignore=tests/proxy_unit_tests/test_key_generate_prisma.py --ignore=tests/proxy_unit_tests/test_auth_checks.py --ignore=tests/proxy_unit_tests/test_user_api_key_auth.py, 20, 8) (push) Has been cancelled
Unit Tests: Security / security (push) Has been cancelled
2026-04-05 01:39:42 -07:00
Yuneng Jiang
52f2176ba9
fix: add .npmrc files from main and sync Dockerfile.non_root with main
The cherry-picked node-gyp PR requires .npmrc to exist (mv .npmrc .npmrc.bak).
Also syncs the full Dockerfile.non_root with main to use npm ci instead of
npm install --legacy-peer-deps.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 10:25:48 -07:00
Yuneng Jiang
3652ef6d60
fix: sync circleci config with main
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 10:22:50 -07:00
Yuneng Jiang
e2175506c3
adding poetry lock 2026-04-03 10:22:38 -07:00
Yuneng Jiang
4821102f2b
[Fix] Dockerfile.non_root: install node-gyp for npm ci
The wolfi-base npm@11.12.1 package does not bundle node-gyp, causing
`npm ci` to fail with `Cannot find module 'node-gyp/bin/node-gyp.js'`
when building the Admin UI in the non-root Docker image.

Install node-gyp@12.2.0 globally and symlink it into npm's internal
node_modules where @npmcli/run-script expects to find it.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 10:22:35 -07:00
Yuneng Jiang
c8785682f9
ci: revert to scanning only Dockerfile.custom_ui and Dockerfile.health_check
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 11:31:56 -07:00
Yuneng Jiang
99932dfcbd
ci: expand Trivy scan to cover all Dockerfiles
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 00:32:36 -07:00
Yuneng Jiang
6f59f15cb5
fix(docker): add non-root USER and HEALTHCHECK to Dockerfile.custom_ui
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 00:26:31 -07:00
Yuneng Jiang
6d2935b02b
ci: remove version override, trivy-action v0.35.0 bundles CLI v0.69.3
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 00:21:32 -07:00
Yuneng Jiang
47141f1f14
ci: temporarily add branch to push trigger to test Trivy workflow
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 00:18:28 -07:00
Yuneng Jiang
1acdc76a91
chore: update Next.js build artifacts (2026-04-02 06:59 UTC, node v22.16.0) 2026-04-01 23:59:39 -07:00
Yuneng Jiang
4e10344bf7
fix(ui): resolve CodeQL security-extended alerts and Trivy Dockerfile findings
Address 14 CodeQL js security alerts in ui/litellm-dashboard by applying
real code fixes instead of suppression comments. Also fix 3 Trivy
Dockerfile misconfigurations and add a SHA-pinned Trivy CI workflow.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 23:56:11 -07:00
Sameer Kankute
b41627aa60 Fix greptile reviews and mock test 2026-03-23 22:49:57 +05:30
Sameer Kankute
9262c0d7c2 Fix greptile reviews and mock test 2026-03-23 22:38:54 +05:30
Sameer Kankute
0450194474 Fix greptile reviews and mock test 2026-03-23 22:26:08 +05:30
Sameer Kankute
5b60a3b7d2 Fix code qa issues 2026-03-23 22:02:50 +05:30
Sameer Kankute
27eff7a9f8 Fix greptile comments 2026-03-23 20:12:06 +05:30
Sameer Kankute
dff6d4f4e8 Fix greptile comments 2026-03-23 19:50:33 +05:30
Sameer Kankute
92b8139f8b Fix greptile comments 2026-03-23 19:37:05 +05:30
Sameer Kankute
c5bcb1a897 Fix greptile comments 2026-03-23 19:16:38 +05:30
Sameer Kankute
d3a8ebe930 Fix greptile comments 2026-03-23 18:26:43 +05:30
Sameer Kankute
5915d88d3b fix(routing): address state consistency and type safety issues
- Check alias target pattern to detect stale team aliases
- Fix PrismaClient type annotation to Optional
- Eliminate in-place mutation in index update logic

Made-with: Cursor
2026-03-23 18:13:35 +05:30
Sameer Kankute
a080352976 perf(routing): optimize team model checks and improve test coverage
- Use O(1) team index lookup instead of map_team_model in alias guard
- Fix MockPrismaClient to validate where clause filters
- Add comment explaining DB query trade-off for team deployments

Made-with: Cursor
2026-03-23 17:56:03 +05:30
Sameer Kankute
a1aa1176fa fix(routing): prevent stale model_aliases from interfering with team routing
- Skip model_aliases rewrite if model resolves to team deployments
- Add test coverage for sibling-preservation branch
- Update MockPrismaClient to support sibling deployment scenarios

Made-with: Cursor
2026-03-23 17:33:07 +05:30
Sameer Kankute
ae2c59b796 fix(router): guard None model_info and deduplicate team index logic
- Guard against None model_info in sibling deployment check
- Extract _update_team_model_index helper to eliminate duplication

Made-with: Cursor
2026-03-23 17:19:11 +05:30
Sameer Kankute
9465f0b642 fix(management): query DB directly for sibling deployments on rename
- Add clarifying comments to test assertions
- Query prisma DB instead of in-memory router to avoid stale state
- Prevents incorrect deletion of old public name when siblings exist

Made-with: Cursor
2026-03-23 17:10:11 +05:30
Sameer Kankute
28caffa179 fix(router): prevent cross-team deployment leakage in fallback path
Guard should_include_deployment fallback to only return deployments
matching the requested team_id, preventing public-name collisions
from leaking deployments across teams

Made-with: Cursor
2026-03-23 17:00:30 +05:30
Sameer Kankute
8eada48242 fix(router): address Greptile P1/P2 performance issues
- Guard against llm_router=None to prevent silent deletion
- Add O(1) team_model index to avoid O(n) scan on every team request

Made-with: Cursor
2026-03-23 16:44:30 +05:30
Sameer Kankute
b109d154b3 fix(router): address remaining Greptile P0/P1 issues
- Update map_team_model test to expect public name return
- Only remove old public name if no sibling deployments use it

Made-with: Cursor
2026-03-23 16:33:26 +05:30
Sameer Kankute
686a22fbf0 fix(router): address Greptile review comments
- Add None guard for original_model_name in _add_team_model_to_db
- Remove stale old public name when renaming team model
- Add comment clarifying team deployment early-return priority

Made-with: Cursor
2026-03-23 16:25:26 +05:30
Sameer Kankute
68ae73dc90 chore(team-routing): remove temporary candidate pool logs
Remove temporary fire-emoji router logs used for local verification while keeping team sibling deployment routing behavior unchanged.

Made-with: Cursor
2026-03-23 16:14:30 +05:30
Sameer Kankute
53d3d6c146 fix(team-routing): keep team model routing on public names
Remove team model_alias rewrites and resolve team deployments by team_public_model_name with team_id so sibling deployments stay in the routing candidate pool, with explicit logs showing candidate selection before load balancing.

Made-with: Cursor
2026-03-23 16:12:27 +05:30
Sameer Kankute
b6555b99c1 fix(team-routing): use deterministic team model group names
Use a deterministic internal model_name for team-scoped deployments so sibling deployments with the same public model share a routing group. This makes team alias writes idempotent and preserves multi-deployment failover/load balancing behavior.

Made-with: Cursor
2026-03-23 15:31:43 +05:30
yuneng-jiang
c89496f378
Merge pull request #24342 from BerriAI/litellm_yj_march_21_2026
[Fix] UI - Teams: Table refresh, infinite dropdown, leftnav migration
2026-03-21 23:36:21 -07:00
yuneng-jiang
38d477507d remove outdated e2e test 2026-03-21 23:14:53 -07:00
yuneng-jiang
6bb08883af adding poetry lock 2026-03-21 23:01:28 -07:00
yuneng-jiang
fa65433c8c bump: version 1.82.5 → 1.82.6 2026-03-21 22:56:09 -07:00
yuneng-jiang
d91980dc45 adding build 2026-03-21 22:55:04 -07:00
yuneng-jiang
071c8641de bump: version 0.4.59 → 0.4.60 2026-03-21 22:54:41 -07:00
yuneng-jiang
88a4c7aeaf bump: version 0.4.58 → 0.4.59 2026-03-21 22:54:38 -07:00
yuneng-jiang
34d079910b chore: update Next.js build artifacts (2026-03-22 05:53 UTC, node v22.16.0) 2026-03-21 22:53:50 -07:00
yuneng-jiang
9073daeebc [Fix] UI - TeamDropdown: Match org dropdown styling and fix test mock
- Use Select.Option with font-medium alias + Text secondary ID to match OrganizationDropdown
- Default page size to 20
- Add useInfiniteTeams mock to AddModelForm tests

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-21 22:52:16 -07:00
yuneng-jiang
aea8e32048 [Fix] UI: Team table refresh, infinite team dropdown, leftnav for dashboard routes
- OldTeams: refresh table via fetchTeamsV2 after team create instead of appending
- TeamDropdown: rewrite with useInfiniteTeams for paginated fetch, scroll-to-load, and debounced search
- Update all TeamDropdown consumers to use the new self-fetching API
- Dashboard layout: switch from Sidebar2 to SidebarProvider (leftnav)
- Leftnav: add MIGRATED_PAGES routing for path-based navigation (api-reference)
- Navbar: remove chat button

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-21 22:05:26 -07:00
yuneng-jiang
9963b31e07 Revert "fix(proxy): restore per-entity breakdown in aggregated daily activity endpoint"
This reverts commit 9c3fab24ad.
2026-03-21 21:37:29 -07:00
yuneng-jiang
f5194b5ce3
Merge pull request #24334 from BerriAI/litellm_yj_march_21_2026
[Infra] Build UI for release
2026-03-21 18:03:38 -07:00
yuneng-jiang
d217e49193 chore: update Next.js build artifacts (2026-03-22 01:02 UTC, node v22.16.0) 2026-03-21 18:02:32 -07:00
yuneng-jiang
e3d4c29d37
Merge pull request #24323 from BerriAI/litellm_ryan_march_20
litellm ryan march 20
2026-03-21 15:57:28 -07:00