Commit Graph
1691 Commits
Author SHA1 Message Date
tanjiroandGitHub 4fdc866fcb Display Error from Backend on the UI - Notification (#13427)
* fix sso logout

- add a new login page with sso button

* lint fix

* lint fix

* lint fix

* fix tests

* fix test

* Revert "fix test"

This reverts commit 74eb7345710892d5a9d02baec0ef389b98d0dde3.

* Reapply "fix test"

This reverts commit 72d0b2d4c62f6bb9351a7656ff88efc2ba91aef7.

* add host to add modal

* close modal after save is clicked. and auto-refresh

* show old values in edit modal

* send the whole payload on edit

* Update settings.tsx

* resolve conflict

* fix conflict

* merge main

* first draft of notifications added to settings

* add error compatibility by taking errors from the backend

- db errors
- auth errors

* add support for different types of errors

* minor

* name change

* email alerts page notifications modified

* remove unused code
2025-08-08 12:34:16 -07:00
Ishaan Jaff 6b2ad4dc0f ui new build 2025-08-07 21:20:19 -07:00
Ishaan Jaff 9bfc4f89c9 fix ui 2025-08-07 21:13:46 -07:00
a5cf880acc feat(usage): aggregated user daily activity endpoint and UI integration (#13395) (#13400)
* feat(usage): add aggregated user daily activity endpoint and UI integration; fallback to paginated flow if unavailable

* refactor(usage): deduplicate daily activity logic; add wrapper to user paginated endpoint; share date formatting in UI

* chore(lint): remove unused imports from internal_user_endpoints

Co-authored-by: Cole McIntosh <82463175+colesmcintosh@users.noreply.github.com>
2025-08-07 21:10:40 -07:00
tanjiroandGitHub 43af255b45 Add Custom Tooltips to Model Mapping Table (#13294)
* descriptive tooltips

* atomic folder structure

* undo changes

* import fix

* reorder
2025-08-07 20:19:30 -07:00
tanjiroandGitHub 7d978f0ffc provider logos on usage page (#13372) 2025-08-07 07:41:30 -07:00
Jugal D. BhattandGitHub 043c12b11e added token breakdown in ui (#13357) 2025-08-06 19:03:58 -07:00
Jugal D. BhattandGitHub b1a8968895 [MCP Gateway] fix auth on ui for bearer servers (#13312)
* fix auth on ui for bearer servers

* add tests and fixes

* fix tests
2025-08-06 09:46:10 -07:00
Cole McIntoshandGitHub 596592599a feat: Add logo customization for LiteLLM admin UI (#12958)
* feat: Add logo customization for LiteLLM admin UI

- Add simple logo customization page under Settings > UI Theme
- Support custom logo URL with instant preview
- Clean reset to default functionality
- Wrap app with ThemeProvider for proper context
- Backend properly handles null/empty logo URLs

* style: Update save button to use indigo color and 'Save Changes' text for consistency

* fix: Restore CloudZero background job initialization

Address PR review feedback by restoring the _initialize_spend_tracking_background_jobs method
that handles both CloudZero and Prometheus background job initialization. This ensures
critical spend tracking functionality is not lost while preserving the logo customization feature.

Changes:
- Restore _initialize_spend_tracking_background_jobs method
- Replace inline Prometheus initialization with proper method call
- Maintain CloudZero background job setup for cost tracking
2025-08-06 08:10:08 -07:00
tanjiroandGitHub fd92f3eaf1 team req for service acc (#13302) 2025-08-05 13:01:54 -07:00
Ishaan JaffandGitHub ec205fec35 [UI] - Add ability to set model alias per key/team (#13276)
* update model alias on keys

* team model aliases

* fix model aliases

* fixes for teams
2025-08-04 21:47:39 -07:00
Jugal D. BhattandGitHub b318f55faa [UI] Add team deletion check for teams with keys (#12953)
* added check option

* Add underline

* make less verbosE
2025-08-04 08:42:06 -07:00
Krish DholakiaandGitHub 3119064e94 Prompt Management - add prompts on UI (#13240)
* fix(create_key_button.tsx): add prompts on UI

* feat(key_management_endpoints.py): support adding prompt to key via `/key/update`

* fix(key_info_view.tsx): show existing prompts on key in key_info_view.tsx

* fix(key_edit_view.tsx): UX - disable premium feature for non-premium users

prevent accidental clicking

* fix(create_key_button.tsx): disable premium features behind flag, prevent errors

* feat(prompts.tsx): add new ui component to view created prompts

enables viewing prompts created on config

* feat(prompt_info.tsx): add component for viewing the prompt information

* feat(prompt_endpoints.py): support converting dotprompt to json structure + accept json structure in promptmanager

allows prompt manager to work with api endpoints

* test(test_prompt_manager.py): add unit tests for json data input

* feat(dotprompt/__init__.py): add prompt data to dotpromptmanager

* fix(prompt_endpoints.py): working crud endpoints for prompt management

* feat(prompts/): support `prompt_file` for dotprompt

allows to precisely point to the prompt file a prompt should use

* feat(proxy/utils.py): resolve prompt id correctly

resolves user sent prompt id with internal prompt id

* feat(schema.prisma): initial pr with db schema for prompt management table

allows post endpoints to work with backend

* feat(prompt_endpoints.py): use db in patch_prompt endpoint

* feat(prompt_endpoints.py): use db for update_prompt endpoint

* feat(prompt_endpoints.py): use db on prompt delete endpoint

* build(schema.prisma): add prompt tale to schema.prisma in litellm-proxy-extras

* build(migration.sql): add new sql migration file

* fix(init_prompts.py): fix init

* feat(prompt_info_view.tsx): show the raw prompt template on ui

allows developer to know the prompt template they'll be calling

* feat(add_prompt_form.tsx): working ui add prompt flow

allows user to add prompts to litellm via ui

* build(ui/): styling fixes

* build(ui/): prompts.tsx

styling improvements

* fix(add_prompt_form.tsx): styling improvements

* build(prompts.tsx): styling improvements

* build(ui/): styling improvements

* build(ui/): fix ui error

* fix: fix ruff check

* docs: document new api params

* test: update tests
2025-08-02 22:33:37 -07:00
Krish DholakiaandGitHub e47b30a76d Prompt Management - Add table + prompt info page to UI (#13232)
* fix(create_key_button.tsx): add prompts on UI

* feat(key_management_endpoints.py): support adding prompt to key via `/key/update`

* fix(key_info_view.tsx): show existing prompts on key in key_info_view.tsx

* fix(key_edit_view.tsx): UX - disable premium feature for non-premium users

prevent accidental clicking

* fix(create_key_button.tsx): disable premium features behind flag, prevent errors

* feat(prompts.tsx): add new ui component to view created prompts

enables viewing prompts created on config

* feat(prompt_info.tsx): add component for viewing the prompt information
2025-08-02 19:34:18 -07:00
Krish DholakiaandGitHub b79f55eec0 UI - Add giving keys prompt access (#13233)
* fix(create_key_button.tsx): add prompts on UI

* feat(key_management_endpoints.py): support adding prompt to key via `/key/update`

* fix(key_info_view.tsx): show existing prompts on key in key_info_view.tsx

* fix(key_edit_view.tsx): UX - disable premium feature for non-premium users

prevent accidental clicking

* fix(create_key_button.tsx): disable premium features behind flag, prevent errors

* fix(key_management_endpoints.py): fix key update logic \

* fix: fix check

* docs: document new params
2025-08-02 19:33:17 -07:00
Ishaan Jaff c663befc27 ui new build 2025-08-02 12:37:45 -07:00
Ishaan JaffandGitHub b297dffba5 [UI QA Fixes] Stable release (#13231)
* qa - user agent view

* fixes for usage time selector
2025-08-02 12:22:23 -07:00
Ishaan Jaff cd9c388a3f truncateUserAgent 2025-08-02 11:54:54 -07:00
tanjiroandGitHub eb173f9155 Add advanced date picker to all the tabs on the usage page (#13221)
* advancedatepicker for tag usage and team usage

* reduce white space in date picker

* selected time range option is visible

* dont wait for apply button to select relative time options
2025-08-02 07:54:49 -07:00
Jugal D. BhattandGitHub 900c7f45c0 [MCP Gateway] Litellm mcp pre and during guardrails (#13188)
* add guardrail support

* add guardrail support

* guardrails for MCP

* added changes

* add mcp guardrails

* added test

* add ui

* fix guardrail form

* working with cursor

* remvoe print

* fix mcp servertests

* fix mypy and remove console logs

* fix mypy and remove console logs

* fix mypy tests
2025-08-01 20:02:25 -07:00
Ishaan Jaff b36df94481 ui new build 2025-08-01 15:42:19 -07:00
Ishaan JaffandGitHub 4a85a91f20 [QA] Viewing Agent Activity Headers on UI Usage Page (#13212)
* qa - agents

* refactored WAU, MAU and DAU endpoints

* fixes for dau, wau, mau

* use stack=true

* fixes for DAU calc

* fixes for rendering WAU, MAU

* use 1 section for topline

* Fixes for endpoint

* remove filter

* fix spacing

* fix activity

* working UI rendering

* fixes for chart data

* allow selecting specific tags

* add DistinctTagResponse endpoints

* use wide selector

* add types

* fixes for UI rendering

* get_per_user_analytics
2025-08-01 15:29:13 -07:00
Krrish Dholakia 917233fd52 fix(model_group_alias_settings.tsx): fix check 2025-08-01 09:26:49 -07:00
Krrish Dholakia 278dd52e71 build(ui/): fix linting errors 2025-08-01 09:23:18 -07:00
Ishaan JaffandGitHub 74e29ae153 [UI QA] QA - Agent Activity Tab (#13203)
* backend fixes

* fixes for User-Agent ui

* UI fixes chart loader

* fixes chart loader

* fixes ChartLoader

* fix ChartLoader

* fixes for analytics
2025-07-31 21:35:25 -07:00
Krish DholakiaandGitHub c7e4435bdc Fix - using managed files w/ OTEL + UI - add model group alias on UI (#13171)
* fix(router.py): safe deep copy kwargs

OTEL adds a parent_otel_span which cannot be deepcopied

* fix: use safe deep copy in other places as well

* test: add script to check and ban copy.deepcopy of kwargs

enforce safe_deep_copy usage

* build(ui/): new component for adding model group alias on UI

* fix(proxy_server.py): support updating model_group_alias via /config/update

allows ui component to work

* fix(router.py): update model_group_alias in router settings based on db value

* fix: fix code qa error
2025-07-31 21:22:04 -07:00
Ishaan Jaff cc4881eedd ui new build 2025-07-31 17:11:49 -07:00
Ishaan Jaff 56fc0cf374 ui polish 2025-07-31 17:08:47 -07:00
Ishaan JaffandGitHub 3acb78d450 Litellm fix fallbacks UI (#13191)
* UI - fix setting fallbacks on UI

* fix add fallbacks
2025-07-31 17:07:15 -07:00
Ishaan Jaff edd3c3bc40 UI - new build 2025-07-31 14:16:16 -07:00
92cdac2e87 [Feat] v2 updates - tracking DAU, WAU, MAU for coding tool usage + show Daily Usage per User (#13147)
* Add user agent analytics endpoints and UI for tracking client metrics

Co-authored-by: ishaan <ishaan@berri.ai>

* fix user agent analytics

* fix getting DAU

* fixes for user agent

* showing top user agents

* on this page remove Success Rate by User Agent

* fix linting

* add agent activity

* cleanup interface

* fix ruff

* round cost

* fix charts

* fixes - show DAU, MAU, WAU

* move to a diff file

* fix

* fixes for user agent analytics

* fix user_agent_analytics_endpoints

* fix mypy linting

* fix linting

---------

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: ishaan <ishaan@berri.ai>
2025-07-30 14:42:30 -07:00
0201c51b50 [Feat] UI + Backend add a tab for use agent activity (#13146)
* Add user agent analytics endpoints and UI for tracking client metrics

Co-authored-by: ishaan <ishaan@berri.ai>

* fix user agent analytics

* fix getting DAU

* fixes for user agent

* showing top user agents

* on this page remove Success Rate by User Agent

* fix linting

* add agent activity

* cleanup interface

* fix ruff

---------

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: ishaan <ishaan@berri.ai>
2025-07-30 12:11:07 -07:00
tanjiroandGitHub 1f0e5ef340 New Advanced Date Range Picker Component (#13141)
* new date-range picker added

* remove unused utils
2025-07-30 11:56:24 -07:00
tanjiroandGitHub 0af45206a3 Added Voyage, Jinai, Deepinfra and VolcEngine providers on the UI (#13131)
* added voyage and jinai and volcengine

* deepinfra added and alphabetically ordered
2025-07-30 10:01:07 -07:00
Krish DholakiaandGitHub ea6b4b08d3 move to use_prisma_migrate by default + resolve team-only models on auth checks + UI - add sagemaker on UI (#13117)
* fix(proxy_cli.py): make use_prisma_migrate proxy default

Fixes https://github.com/BerriAI/litellm/issues/13046

 Prisma migrate deploy prevents resetting db

* fix(auth_checks.py): resolve team only models while doing auth checks on model access groups

Fixes issue where key had access via an access group, but team only model could not be called

* test(test_router.py): add unit testing

* feat(provider_specific_fields.tsx): add aws sagemaker on UI
2025-07-29 21:56:18 -07:00
Ishaan Jaff 1af0743e58 Revert "Revert "[MCP Gateway] Add protocol headers (#13062)""
This reverts commit acd915f2db.
2025-07-29 18:14:31 -07:00
tanjiroandGitHub c4088841d9 After selecting date range show loader on usage cost charts (#13113)
* prettier

* added loader in bar chart

* prettier

* added existing loader style

* make datepicker responsive
2025-07-29 17:55:39 -07:00
Ishaan Jaff acd915f2db Revert "[MCP Gateway] Add protocol headers (#13062)"
This reverts commit 8de24bab7c.
2025-07-29 17:26:00 -07:00
Jugal D. BhattandGitHub 8de24bab7c [MCP Gateway] Add protocol headers (#13062)
* Add protocol headers

* fix mypy

* fix tests

* fix tests
2025-07-29 16:03:23 -07:00
Cole McIntoshandGitHub 8a4a40844e fix: improve MCP server URL validation to support internal/Kubernetes URLs (#13099)
* fix: improve MCP server URL validation to support internal/Kubernetes URLs

- Replace strict Ant Design URL validator with flexible custom validator
- Allow URLs like http://service-name.domain.svc.cluster.:1234/mcp
- Update both create and edit MCP server forms for consistency

* refactor: extract MCP server validation into reusable utilities

- Move URL validation logic to utils.tsx to follow DRY principles
- Add validateMCPServerUrl function for flexible URL validation
- Add validateMCPServerName function for hyphen validation
- Update both create and edit components to use shared utilities
- Reduces code duplication and improves maintainability
2025-07-29 13:36:19 -07:00
tanjiroandGitHub ec2c5b3d07 default to 7 days (#12917) 2025-07-28 21:27:43 -07:00
Jugal D. BhattandGitHub 33c012a49d fix scrolling issue (#13015) 2025-07-28 17:28:10 -07:00
stellasecandGitHub 47f6984dce Properly parse json options for key generation in the UI (#12989) 2025-07-28 16:43:51 -07:00
Krrish Dholakia 8d49dd66cb build: update ui build 2025-07-27 11:50:56 -07:00
Krrish Dholakia 39b7ce5388 refactor(create_key_button.tsx): cleanup read only option (confusing) 2025-07-27 11:49:56 -07:00
Krrish Dholakia 1b7f7ba643 build: build new ui 2025-07-27 11:08:27 -07:00
Krish DholakiaandGitHub 94aa6b0b5d Bulk User Edit - additional improvements - edit all users + set 'no-default-models' on all users (#12925)
* feat(bulk_user_update/): support updating all users on proxy

* fix(bulk_edit_user.tsx): persist user settings when 'add to team' clicked

* fix(team_endpoints.py): bulk add all proxy users to team

supports flow from UI to add all existing users to a team

* fix: minor fixes

* feat(user_edit_view.tsx): support setting no default model on user edit

allows preventing users from calling models outside team scope

* fix(user_edit_view.tsx): prevent triggering submit when 'cancel' is clicked

* refactor(internal_user_endpoints.py): refactor to reduce function size
2025-07-27 10:12:30 -07:00
Jugal D. BhattandGitHub b921e22594 [MCP Gateway] Litellm mcp multi header propagation (#13003)
* change alias-> server_name

* add server alias uses

* add tests

* schema

* ruff fix

* fix alias for config

* fix tests

* add alias

* fix tests

* add multi server header support

* add and fix tests

* fix tests

* fix tests

* add a common util

* ruff fix

* fix ruff

* fix tests

* fix migration

* mypy fix

* change server py
2025-07-26 11:45:14 -07:00
Krish DholakiaandGitHub 4b50566d6d [FEAT] Model-Guardrails: Add on UI (#13006)
* feat(proxy_server.py): working guardrails on streaming output

ensures guardrail actually raises an error if flagged during streaming output

* test: add unit tests

* feat(advanced_settings.tsx): add guardrails option as ui component on model add

enables setting guardrails on model add

* feat(add_model_tab.tsx): fix add model form

* feat(model_info_view.tsx): support adding guardrails on model update

* fix(add_model_tab.tsx/): working health check when guardrails selected

* fix(proxy_server.py): fix yield
2025-07-26 11:42:03 -07:00
Jugal D. BhattandGitHub 586b1ec8b4 [Vector Store] make vector store permission management OSS (#12990)
* add vector store on ui behind enterprise in vector store

* remove enterprise
2025-07-26 11:13:49 -07:00