* feat(user_info_view.tsx): be able to click in and see all teams user is part of
makes it easy to see which teams a user belongs to
* test(ui/): add unit testing for user info view
* fix(user_info_view.tsx): fix linting errors
* fix(login.ts): fix login
* fix: fix linting error
* fix(view_users.tsx): add time tracking logic to debounce search - prevent new queries from being overwritten by previous ones
* fix(internal_user_endpoints.py): add sort functionality to user list endpoint
* feat(internal_user_endpoints.py): support sort by on `/user/list`
* fix(view_users.tsx): enable global sorting
allows finding user with highest spend
* feat(view_users.tsx): support filtering by sso user id
* test(search_users.spec.ts): add tests to ensure filtering works
* test: add more unit testing
* style(internal_user_endpoints.py): add response model to `/user/list` endpoint
make sure we maintain consistent response spec
* fix(key_management_endpoints.py): return 'created_at' and 'updated_at' on `/key/generate`
Show 'created_at' on UI when key created
* test(test_keys.py): add e2e test to ensure created at is always returned
* fix(view_users.tsx): support global search by user email
allows easier search
* test(search_users.spec.ts): add e2e test ensure user search works on admin ui
* fix(view_users.tsx): support filtering user by role and user id
More powerful filtering on internal users table
* fix(view_users.tsx): allow filtering users by team
* style(view_users.tsx): cleanup ui to show filters in consistent style
* refactor(view_users.tsx): cleanup to just use 1 variable for the data
* fix(view_users.tsx): cleanup use effect hooks
* fix(internal_user_endpoints.py): fix check to pass testing
* test: update tests
* test: update tests
* Revert "test: update tests"
This reverts commit 6553eeb232.
* fix(view_userts.tsx): add back in 'previous' and 'next' tabs for pagination
* fix(user_dashboard.tsx): initial commit using user id from jwt instead of url
* fix(proxy_server.py): remove user id from url
fixes security issue around sharing url's
* fix(user_dashboard.tsx): handle user id being null
* fix(proxy/_types.py): allow internal user to call api playground
* fix(new_usage.tsx): cleanup tag based usage - only show for proxy admin
not clear what tags internal user should be allowed to see
* fix(team_endpoints.py): allow internal user view spend for teams they belong to
* fix(team_endpoints.py): return team alias on `/team/daily/activity` API
allows displaying team alias on ui
* fix: fix linting error
* fix(entity_usage.tsx): allow viewing top keys by team
* fix(entity_usage.tsx): show alias, if available in breakdown
allows entity alias to be easily displayed
* Show usage by key (on all up, team, and tag usage dashboards) (#10152)
* fix(entity_usage.tsx): allow user to select team in team usage tab
* fix(new_usage.tsx): load all tags for filtering
* fix(tag_management_endpoints.py): return dynamic tags from db on `/tag/list`
* fix(litellm_pre_call_utils.py): support x-litellm-tags even if tag based routing not enabled
* fix(new_usage.tsx): show breakdown of usage by api key on dashboard
helpful when looking at spend by team
* fix(networking.tsx): exclude litellm-dashboard team id's from calls
adds noisy ui tokens to key activity
* fix(new_usage.tsx): allow user to see activity by key on main tab
* feat(internal_user_endpoints.py): refactor to use common_daily_activity function
reuses same logic across teams/keys/tags
Allows returning team_alias in api_keys consistently
* fix(leftnav.tsx): swap old usage with new usage tab
* fix(entity_usage.tsx): show breakdown of teams in daily spend chart
* style(new_usage.tsx): show global usage tab if user is admin / has admin view
* fix(new_usage.tsx): add disclaimer for new usage dashboard
* fix(new_usage.tsx): fix linting error
* Allow filtering usage dashboard by team + tag (#10150)
* fix(entity_usage.tsx): allow user to select team in team usage tab
* fix(new_usage.tsx): load all tags for filtering
* fix(tag_management_endpoints.py): return dynamic tags from db on `/tag/list`
* fix(litellm_pre_call_utils.py): support x-litellm-tags even if tag based routing not enabled
* fix: fix linting error
* Make columns resizable in Models table
* Make edit and delete buttons sticky on right side
* Add Columns dropdown to control which columns are shown
* Remove unnecessary dependencies
* Fix title of visibility checkboxes for Input Cost and Output Cost
* Make the Columns dropdown close if the user clicks anywhere outside of it
* feat(ui/): add team based usage to dashboard
allows admin to see spend across teams + within teams at 1m+ spend logs
* fix(entity_usage.tsx): add activity page to entity usage
* style(entity_usage.tsx): place filter above tab switcher
* feat: initial commit adding daily tag spend table to db
* feat(db_spend_update_writer.py): correctly log tag spend transactions
* build(schema.prisma): add new tag table to root
* build: add new migration file
* feat(common_daily_activity.py): add `/tag/daily/activity` API endpoint
allows viewing daily spend by tag
* feat(tag_management_endpoints.py): support comma separated list of tags + tag breakdown metric
allows querying multiple tags + knowing what tags are driving spend
* feat(entity_usage.tsx): initial commit adding tag based usage to litellm dashboard
brings back tag based usage tracking to UI at 1m+ spend logs
* feat(entity_usage.tsx): add top api key view to ui
* feat(entity_usage.tsx): add tag table to ui
* feat(entity_usage.tsx): allow filtering by tag
* refactor(entity_usage.tsx): reorder components
* build(ui/): fix linting error
* fix: fix ruff checks
* fix(schema.prisma): drop uniqueness requirement on tag
allows dailytagspend to have multiple rows with the same tag
* build(schema.prisma): drop uniqueness requirement on tag in dailytagspend
allows tag agg. view to work on multiple rows with same tag
* build(schema.prisma): drop tag uniqueness requirement
* fix typo on UI
* fix for edit user tab
* fix for user spend
* add /team/permissions_list to management routes
* fix auth check for team member permissions
* fix team endpoints test
* fix(model_info_view.tsx): cleanup text
* fix(key_management_endpoints.py): fix filtering litellm-dashboard keys for internal users
* fix(proxy_track_cost_callback.py): prevent flooding spend logs with admin endpoint errors
* test: add unit testing for logic
* test(test_auth_exception_handler.py): add more unit testing
* fix(router.py): correctly handle retrieving model info on get_model_group_info
fixes issue where model hub was showing None prices
* fix: fix linting errors
* only load member permissions for non-admins
* run member permission checks on update + regenerate endpoints
* run check for /key/generate
* working test_default_member_permissions
* passing test with permissions on update delete endpoints
* test_create_permissions
* _team_key_generation_check
* fix TeamBase
* fix team endpoints
* fix api docs check
* endpoint for updating default team settings on ui
* add GET default team settings endpoint
* ui expose default team settings on UI
* update to use DefaultTeamSSOParams
* DefaultTeamSSOParams
* fix DefaultTeamSSOParams
* docs team management
* test_update_default_team_settings
* rendering tags on UI
* use /models for building tags
* CRUD endpoints for Tag management
* fix tag management
* working api for LIST tags
* working tag management
* refactor UI components
* fixes ui tag management
* clean up ui tag management
* fix tag management ui
* fix show allowed llms
* e2e tag controls
* stash change for rendering tags on UI
* ui working tag selector on Test Key page
* fixes for tag management
* clean up tag info
* fix code quality
* test for tag management
* ui clarify what tag routing is
* fix(proxy_server.py): allow team member to see team models
* fix(model_dashboard.tsx): show edit + delete icons to be disabled if user is not admin and did not create models
* fix(proxy_server.py): fix ruff function size error
* fix(proxy_server.py): fix user model filter check