litellm/ui/litellm-dashboard
ryan-crabbe-berri 14a5c15224 fix(ui): let team admins grant a team all proxy models
The team edit form only offered "All Proxy Models" when the dashboard could
read the parent organization, and /organization/info 403s for anyone who is
not a proxy admin or an admin of that org. A team admin with the internal_user
proxy role therefore saw only "No Default Models", which is the opposite of
what they wanted, and had no way to grant their team everything on the proxy.

/team/info now reports the parent org's model ceiling as organization_models,
which the same authorization already admits, and ModelSelect reads the ceiling
from the team it is editing before falling back to the organization. That also
makes the individual model list respect the org's allow-list instead of
listing every proxy model to a caller whose save would be rejected.

useTeam was typed as Team while returning the /team/info envelope, so its one
other caller unwrapped it behind a cast. It now returns the team itself.

Claude-Session: https://claude.ai/code/session_011Tn3657NkV6ojLqewL64Kb
2026-09-07 19:21:31 -07:00
..
public feat(ui): add MongoDB Atlas to the vector store provider dropdown 2026-09-02 10:22:01 -07:00
scripts fix(ui): lint z-index utilities behind arbitrary Tailwind variants 2026-08-25 17:34:45 -07:00
src fix(ui): let team admins grant a team all proxy models 2026-09-07 19:21:31 -07:00
tests test(ui): stub the Virtual Keys dashboard in the expired-token page test 2026-09-05 17:57:38 -07:00
.env.development
.env.production
.npmrc chore(build): move the Admin UI toolchain to Node 24 (#35801) 2026-08-04 12:36:07 -07:00
.nvmrc chore(build): move the Admin UI toolchain to Node 24 (#35801) 2026-08-04 12:36:07 -07:00
.prettierignore
.prettierrc
build_release_ui.sh
build_ui.sh chore(build): move the Admin UI toolchain to Node 24 (#35801) 2026-08-04 12:36:07 -07:00
build_ui_custom_path.sh chore(build): move the Admin UI toolchain to Node 24 (#35801) 2026-08-04 12:36:07 -07:00
CLAUDE.md refactor(ui): type search tool params from the generated schema (#38633) 2026-08-28 10:03:35 -07:00
components.json
eslint-budgets.json refactor(ui): render the Virtual Keys page without the legacy user dashboard 2026-09-05 17:49:29 -07:00
eslint-suppressions.json refactor(ui): render the Virtual Keys page without the legacy user dashboard 2026-09-05 17:49:29 -07:00
eslint.config.mjs test(ui): budget DOM-structure assertions in dashboard tests 2026-09-01 00:13:05 -07:00
knip.json fix(ui): register type-test files as knip entry points 2026-08-10 15:42:09 -07:00
next.config.mjs
package-lock.json build(deps): bump browserslist to 4.28.8 to clear osv-scan 2026-09-01 18:09:48 +00:00
package.json refactor(ui): move the dashboard onto class-variance-authority (#38125) 2026-08-24 14:10:31 -07:00
postcss.config.js
README.md
tsconfig.json test(e2e): move Admin UI Playwright suite to tests/e2e/ui (#34196) 2026-07-22 19:43:10 +00:00
tsconfig.tsbuildinfo fix(ui): reason-gate the remaining server-searched comboboxes 2026-08-27 14:22:10 -07:00
vitest.config.ts test(ui): split the vitest suite into unit, component, integration and type projects (#37488) 2026-08-19 20:40:14 +00:00

This is a Next.js project bootstrapped with create-next-app.

Getting Started

First, run the development server:

npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun dev

Open http://localhost:3000 with your browser to see the result.

You can start editing the page by modifying app/page.tsx. The page auto-updates as you edit the file.

This project uses next/font to automatically optimize and load Inter, a custom Google Font.

Learn More

To learn more about Next.js, take a look at the following resources:

You can check out the Next.js GitHub repository - your feedback and contributions are welcome!

Deploy on Vercel

The easiest way to deploy your Next.js app is to use the Vercel Platform from the creators of Next.js.

Check out our Next.js deployment documentation for more details.