ryan-crabbe-berri
a9ee15372f
Merge pull request #39308 from BerriAI/litellm_ui_per_second_video_pricing
...
fix(ui): show per-second pricing for video models instead of $0.00 token costs
2026-09-18 10:05:26 -07:00
ryan-crabbe-berri
4e2117832a
Merge pull request #40700 from BerriAI/litellm_ui_editable_model_team_id
...
fix(ui): let admins change a model's team from the model edit page
2026-09-18 09:53:34 -07:00
yuneng-jiang
c4ab1d98e9
Merge pull request #41779 from BerriAI/litellm_settings_store_precedence
...
refactor(proxy): make the config file win over the database
2026-09-18 09:52:09 -07:00
ryan
4f86035a79
style(ui): format pricing test fixtures with prettier
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-18 16:16:28 +00:00
ryan
d197ca20fa
fix(ui): type transformModelData output as ModelData so the dashboard build typechecks
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-18 16:13:28 +00:00
ryan
b5070408e7
refactor(ui): move per-second cost formatter to dataUtils and type transformModelData input
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-18 15:48:56 +00:00
Mateo Wang
861f79797f
Merge pull request #41663 from BerriAI/litellm_remove_legacy_interactions_schema_flag
...
refactor(interactions): remove expired use_legacy_interactions_schema shim
2026-09-18 08:48:30 -07:00
Mateo Wang
48c4204b43
Merge pull request #41658 from BerriAI/litellm_remove_orphaned_use_delete_project_hook
...
chore(ui): remove orphaned useDeleteProject hook and its test
2026-09-18 08:48:05 -07:00
Mateo Wang
444d345d69
Merge pull request #41657 from BerriAI/litellm_remove_dead_use_key_list_hook
...
refactor(ui): remove dead useKeyList hook from key_list.tsx
2026-09-18 08:47:56 -07:00
Mateo Wang
8ff4991583
Merge pull request #41656 from BerriAI/litellm_remove_dead_networking_and_marketplace_helpers
...
refactor(ui): remove dead networking exports and orphaned Claude Code marketplace helpers
2026-09-18 08:47:46 -07:00
Mateo Wang
e9823c6063
Merge pull request #41655 from BerriAI/litellm_remove_unused_access_group_types
...
chore(ui): remove unused access-groups type interfaces
2026-09-18 08:47:34 -07:00
Mateo Wang
c51bd68ef4
Merge pull request #41653 from BerriAI/litellm_remove_dead_role_exports
...
refactor(ui): drop unused rolesAllowedToSeeUsage, viewOnlyRoles and isViewOnlyRole exports
2026-09-18 08:47:25 -07:00
Mateo Wang
57a273b087
Merge pull request #41651 from BerriAI/litellm_cost_tracking_dead_barrel_exports
...
refactor(ui): drop unused cost-tracking barrel re-exports and response types
2026-09-18 08:47:16 -07:00
Mateo Wang
1f0554c80d
Merge pull request #41650 from BerriAI/litellm_remove_dead_create_credential_from_model
...
refactor(ui): remove unused createCredentialFromModel helper and CredentialValues interface
2026-09-18 08:47:08 -07:00
Mateo Wang
1f50923211
Merge pull request #41649 from BerriAI/litellm_remove_dead_compareui_modelselector
...
chore(ui): remove dead compareUI ModelSelector and its test
2026-09-18 08:46:57 -07:00
Mateo Wang
aa9a08959a
Merge pull request #41647 from BerriAI/litellm_remove_unused_newbadge
...
chore(ui): remove unused NewBadge component and its test
2026-09-18 08:46:45 -07:00
Mateo Wang
8183199992
Merge pull request #41646 from BerriAI/litellm_remove_dead_guardrail_config
...
chore(ui): remove never-rendered GuardrailConfig mock component and its test
2026-09-18 08:46:25 -07:00
Mateo Wang
cbfabbd8ab
Merge pull request #41645 from BerriAI/litellm_remove_orphaned_role_styles
...
chore(ui): remove orphaned ROLE_STYLES and RoleStyle from pretty messages view
2026-09-18 08:46:16 -07:00
Mateo Wang
57a59889ac
Merge pull request #41644 from BerriAI/litellm_remove_dead_helplink_helpicon
...
refactor(ui): remove unused HelpLink and HelpIcon components
2026-09-18 08:46:08 -07:00
ryan
0beb2ffb81
Merge remote-tracking branch 'origin/main' into litellm_ui_per_second_video_pricing
2026-09-18 15:45:18 +00:00
Yuneng Jiang
8e67a33fc3
fix(proxy): refuse config-owned writes at one choke point and refresh the store
...
Both write paths now go through the same refusal, so /config/field/update and
/config/update answer identically instead of each phrasing its own rule.
A successful write now applies to the SettingsStore, so the next read sees it.
Without this, /config/field/info reported a key the dashboard had just stored
as "not set" until the process reloaded from the database.
resolve() no longer takes a KeyRule it never reads; the store picks the row.
The matrix tests resolve through SettingsStore instead of calling resolve
directly, so the section and key in each case actually route a lookup.
ConfigFieldInfo and ConfigList type `source` as the FieldSource literal, and
the dashboard API types are regenerated for the two new fields.
2026-09-18 01:49:30 -07:00
Yuneng Jiang
b9e468100b
chore(proxy): regenerate the OpenAPI snapshot with the CI Python version
...
The previous regeneration ran on Python 3.13, which strips docstring
indentation at compile time, so one description and one query field came out
different from what the Python 3.12 sync check produces. Regenerated on 3.12
so only the typesafe route entries differ from main
2026-09-17 18:15:55 -07:00
Yuneng Jiang
685ac115ca
chore(proxy): regenerate the OpenAPI snapshot and dashboard types for the typesafe methods
2026-09-17 18:09:50 -07:00
ryan-crabbe-berri
03ba5634a2
Merge pull request #40632 from BerriAI/litellm_fix_ui_disable_cache_control_injection_points
...
fix(ui): persist disabling cache control injection points on model update
2026-09-17 17:35:07 -07:00
Mateo Wang
cf42b607c3
Merge pull request #41615 from BerriAI/litellm_jev_complexity_classifier
...
feat(router): add TypeSafe Jev as a complexity router classifier
2026-09-17 17:31:08 -07:00
yucheng-berri
a9bea4f64d
Merge pull request #41571 from BerriAI/litellm_policy_attachment_priority
...
feat(policy_engine): explicit priority for policy attachment execution order
2026-09-17 17:27:55 -07:00
ryan
696587c4ab
fix(ui): persist disabling cache control injection points on model update
...
Turning Cache Control off on the model edit screen omitted the field from the
PATCH body, which the backend reads as leave unchanged, so the stored
cache_control_injection_points list survived the save. The dashboard now sends
an explicit null when a stored list is being disabled, and update_db_model
clears that field on null the same way it already clears the mirrored pricing
fields. Omitted keys keep the stored value
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-18 00:20:22 +00:00
mateo
b989e3bd0a
test(ui): stub fetch without a type suppression in interactions playground test
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-18 00:10:03 +00:00
ryan-crabbe-berri
5156dbc67f
fix(ui): show the saved team in read mode before the model query refetches
...
Read mode built the Team display from the react-query snapshot while save only wrote localModelData, so the old team flashed until the parent's invalidation refetched. Read the team from localModelData like the neighbouring fields and look up its alias from the local team id. The regression test also waits for the Select trigger to report expanded before clicking an option, because Base UI opens the popup asynchronously and keeps the closed popup mounted, which made back-to-back option clicks flaky.
2026-09-17 17:04:14 -07:00
mateo
d09ccc4b0e
fix(ui): parse current interaction stream events in playground
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-17 23:45:04 +00:00
mateo-berri
42f2978061
Merge remote-tracking branch 'origin/main' into HEAD
2026-09-17 16:38:54 -07:00
Mateo Wang
deb9d8aedd
Merge pull request #41607 from BerriAI/litellm_typesafe_passthrough
...
LiteLLM Rust / rust-test (push) Waiting to run
Unit Tests: Documentation Validation / documentation (push) Waiting to run
Unit Tests: Proxy DB Operations / assert-shard-coverage (push) Waiting to run
Unit Tests: Proxy DB Operations / endpoints-and-responses (push) Blocked by required conditions
Unit Tests / caching-local (push) Waiting to run
Unit Tests / core-utils (push) Waiting to run
Unit Tests / enterprise-package (push) Waiting to run
Unit Tests / enterprise-routing (push) Waiting to run
Unit Tests / integrations (push) Waiting to run
Unit Tests: Proxy DB Operations / auth-checks (push) Blocked by required conditions
Unit Tests: Proxy DB Operations / budgets (push) Blocked by required conditions
Unit Tests: Proxy DB Operations / custom-logging (push) Blocked by required conditions
Unit Tests: Proxy DB Operations / db-and-spend (push) Blocked by required conditions
Unit Tests: Proxy DB Operations / guardrails-hooks (push) Blocked by required conditions
Unit Tests: Proxy DB Operations / jwt-and-keys (push) Blocked by required conditions
Unit Tests: Proxy DB Operations / key-generation (push) Blocked by required conditions
Unit Tests: Proxy DB Operations / logging-misc (push) Blocked by required conditions
Unit Tests: Proxy DB Operations / proxy-runtime (push) Blocked by required conditions
Unit Tests: Proxy DB Operations / proxy-server-core (push) Blocked by required conditions
Unit Tests: Proxy DB Operations / proxy-utils (push) Blocked by required conditions
Unit Tests / Vertex AI (push) Waiting to run
Unit Tests / All Other Providers (push) Waiting to run
Unit Tests / misc (push) Waiting to run
Unit Tests / proxy-auth (push) Waiting to run
Unit Tests / proxy-endpoints (push) Waiting to run
Unit Tests / proxy-extras (push) Waiting to run
Unit Tests / proxy-infra (push) Waiting to run
Unit Tests / proxy-server (push) Waiting to run
Unit Tests / responses-caching-types (push) Waiting to run
GitHub Actions Security Analysis / zizmor (push) Waiting to run
feat(proxy): add TypeSafe AI Jev evaluate passthrough with registry-priced spend tracking
2026-09-17 16:37:33 -07:00
ryan-crabbe-berri
e5aa10a1ea
Merge pull request #41686 from BerriAI/litellm_member_budget_clone_reset_and_audit
...
fix(team): keep a forked member budget's reset window and audit bulk member budget writes
2026-09-17 16:32:31 -07:00
ryan-crabbe-berri
790c3ab71b
refactor(ui): move the model team selector into ModelTeamSelect to keep ModelInfoEditForm under the eslint line cap
LiteLLM Rust / rust-lint (push) Has been cancelled
LiteLLM Rust / rust-test (push) Has been cancelled
LiteLLM Rust / rust-wheel (push) Has been cancelled
Terraform Provider / gofmt, vet, build, test (push) Has been cancelled
Terraform Provider / Provider endpoints vs proxy OpenAPI schema (push) Has been cancelled
2026-09-17 16:32:17 -07:00
Devin AI
6db76b5f39
fix(ui): match the Team ID selector to the backend's proxy-admin-only bypass and show its placeholder
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-17 16:25:37 -07:00
Devin AI
500790a93a
fix(ui): keep every team selectable for org admins in the Team ID selector
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-17 16:25:37 -07:00
Devin AI
59693d5019
fix(ui): only offer team admins the teams they administer in the Team ID selector
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-17 16:25:37 -07:00
Devin AI
a7daa21df7
fix(ui): let admins change a model's team from the model edit page
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-17 16:25:17 -07:00
ryan-crabbe-berri
a282e3c78c
refactor(ui): build transformed model rows without in-place mutation
...
Greptile flagged the per-second fields for extending the transformer's
mutate-in-a-loop pattern. Map each raw model to a new object instead so no
field is assigned onto a shared reference, and drop the now unused
prefer-const suppression for the file
2026-09-17 16:24:55 -07:00
ryan-crabbe-berri
10616d7407
Merge pull request #40875 from BerriAI/litellm_cache_leakage_all_models
...
fix(ui): list every provider in the cache leakage by-model table
2026-09-17 16:18:16 -07:00
ryan-crabbe-berri
29a959b3e8
Merge pull request #41632 from BerriAI/litellm_bulk_team_member_budget_update
...
feat(management_v1): bulk update team member budgets
2026-09-17 15:58:32 -07:00
ryan-crabbe-berri
909a30d6a1
fix(team): keep a forked member budget's reset window and audit bulk member budget writes
...
Forking a shared budget row rebuilt budget_reset_at from the duration, so editing
an unrelated limit restarted the member's window while their spend carried over:
a tpm bump quietly handed them a fresh period. The fork now inherits the source
row's deadline, and only recomputes when the patch actually sets budget_duration.
The bulk member budget route now writes one audit entry per call, a team-scoped
'updated' row carrying every written member's limits before and after, matching
what /team/member_add already records for membership changes. It honors the
litellm-changed-by header like the other audited team routes.
2026-09-17 15:17:00 -07:00
yuneng-jiang
1dd4c13815
Merge pull request #41374 from BerriAI/litellm_fix_guardrail_lifecycle_untimed_entries
...
fix(ui): keep untimed guardrail entries on the request lifecycle
2026-09-17 13:44:18 -07:00
mateo
8d760679f6
refactor(ui): drop JSDoc example from DocsMenu
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-17 20:35:05 +00:00
Yuneng Jiang
6544671a31
fix(ui): order each lifecycle phase on its own clock
2026-09-17 13:29:45 -07:00
mateo
ce1a8340c7
refactor(ui): rename HelpLink module to DocsMenu
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-17 20:23:11 +00:00
mateo
5f3fd28f40
chore(ui): remove orphaned useDeleteProject hook and its test
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-17 20:08:08 +00:00
mateo
9767063f3d
chore(ui): prune stale eslint suppression for key_list.tsx
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-17 20:07:50 +00:00
mateo
67b2bdb735
chore(ui): format helpers.ts and prune stale eslint suppressions
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-17 20:07:19 +00:00
mateo
b6c97230cc
chore(ui): remove unused access-groups type interfaces
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-17 20:06:41 +00:00