mirror of
https://github.com/BerriAI/litellm.git
synced 2026-11-11 08:38:24 +00:00
Replace the hand-rolled combobox in the Cmd/Ctrl+K palette with shadcn's base-vega Command and CommandDialog (cmdk) and bind the shortcut with react-hotkeys-hook. cmdk now owns arrow keys, wraparound, Home/End and IME composition, Base UI keeps the dialog mounted for its closing animation and returns focus to the trigger, and mod+k is ignored while focus is inside another dialog Results keep their fixed Keys, Actions, Pages order with shouldFilter disabled. The highlight resets to the first row whenever debounced key results load, so Enter after typing still opens the top key cmdk 1.1.1 leaves aria-activedescendant empty or stale after it picks a row on its own (dip/cmdk#413), so a MutationObserver keeps it on the row that is actually aria-selected until upstream fixes it
133 lines
4 KiB
JSON
133 lines
4 KiB
JSON
{
|
|
"name": "litellm-dashboard",
|
|
"version": "0.1.0",
|
|
"private": true,
|
|
"scripts": {
|
|
"dev": "next dev",
|
|
"dev:webpack": "next dev --webpack",
|
|
"build": "next build",
|
|
"start": "next start",
|
|
"lint": "eslint .",
|
|
"test": "vitest",
|
|
"test:unit": "vitest run --project unit",
|
|
"test:component": "vitest run --project component",
|
|
"test:integration": "vitest run --project integration",
|
|
"test:dot": "vitest --reporter=dot",
|
|
"test:types": "vitest run --project types",
|
|
"typecheck": "tsc --project tsconfig.production.json",
|
|
"test:watch": "vitest -w",
|
|
"test:coverage": "vitest run --coverage",
|
|
"format": "prettier --write .",
|
|
"format:check": "prettier --check .",
|
|
"knip": "knip",
|
|
"knip:ci": "knip --exclude exports,nsExports,types,nsTypes,enumMembers,classMembers,duplicates",
|
|
"knip:fix": "knip --fix",
|
|
"gen:api": "node scripts/gen-api-types.mjs"
|
|
},
|
|
"dependencies": {
|
|
"@anthropic-ai/sdk": "0.92.0",
|
|
"@base-ui/react": "^1.6.0",
|
|
"@handlewithcare/react-prosemirror": "3.2.9",
|
|
"@headlessui/tailwindcss": "0.2.2",
|
|
"@heroicons/react": "1.0.6",
|
|
"@hookform/resolvers": "5.4.0",
|
|
"@litellm/lens-ui": "file:vendor/litellm-lens-ui-0.1.0-dev.0.tgz",
|
|
"@shadcn/react": "0.3.1",
|
|
"@tanstack/react-pacer": "0.22.1",
|
|
"@tanstack/react-query": "5.100.7",
|
|
"@tanstack/react-table": "8.21.3",
|
|
"@tanstack/react-virtual": "3.14.13",
|
|
"@types/papaparse": "5.5.2",
|
|
"class-variance-authority": "0.7.1",
|
|
"clsx": "^2.1.1",
|
|
"cmdk": "1.1.1",
|
|
"date-fns": "^4.4.0",
|
|
"dayjs": "1.11.19",
|
|
"i18next": "26.5.11",
|
|
"jwt-decode": "4.0.0",
|
|
"lucide-react": "0.513.0",
|
|
"moment": "2.31.0",
|
|
"next": "16.4.1",
|
|
"next-themes": "^0.4.6",
|
|
"nuqs": "^2.9.4",
|
|
"openai": "6.49.0",
|
|
"openapi-fetch": "^0.17.0",
|
|
"openapi-react-query": "^0.5.4",
|
|
"papaparse": "5.5.3",
|
|
"prosemirror-model": "1.25.12",
|
|
"prosemirror-state": "1.4.4",
|
|
"prosemirror-view": "1.42.3",
|
|
"react": "19.2.8",
|
|
"react-copy-to-clipboard": "5.1.1",
|
|
"react-dom": "19.2.8",
|
|
"react-hook-form": "7.82.0",
|
|
"react-hotkeys-hook": "5.3.3",
|
|
"react-i18next": "17.1.9",
|
|
"react-json-view-lite": "2.5.0",
|
|
"react-markdown": "9.1.0",
|
|
"react-reconciler": "0.33.0",
|
|
"react-resizable-panels": "4.14.1",
|
|
"react-syntax-highlighter": "15.6.6",
|
|
"recharts": "3.9.2",
|
|
"remark-gfm": "4.0.1",
|
|
"sonner": "2.0.8",
|
|
"tailwind-merge": "3.4.0",
|
|
"usehooks-ts": "3.1.1",
|
|
"uuid": "14.0.0",
|
|
"zod": "4.6.6"
|
|
},
|
|
"devDependencies": {
|
|
"@eslint/js": "9.39.2",
|
|
"@tailwindcss/forms": "0.5.11",
|
|
"@tailwindcss/postcss": "4.3.2",
|
|
"@testing-library/dom": "10.4.1",
|
|
"@testing-library/jest-dom": "6.9.1",
|
|
"@testing-library/react": "16.3.2",
|
|
"@testing-library/user-event": "14.6.1",
|
|
"@types/node": "20.19.37",
|
|
"@types/react": "19.2.18",
|
|
"@types/react-copy-to-clipboard": "5.0.7",
|
|
"@types/react-dom": "19.2.4",
|
|
"@types/react-syntax-highlighter": "15.5.13",
|
|
"@vitest/coverage-v8": "4.1.12",
|
|
"@vitest/ui": "4.1.12",
|
|
"eslint": "9.39.2",
|
|
"eslint-config-next": "16.3.3",
|
|
"eslint-config-prettier": "10.1.8",
|
|
"eslint-plugin-jest-dom": "5.10.1",
|
|
"eslint-plugin-testing-library": "7.16.2",
|
|
"eslint-plugin-unused-imports": "4.3.0",
|
|
"jsdom": "27.4.0",
|
|
"knip": "5.83.1",
|
|
"openapi-typescript": "7.13.0",
|
|
"postcss": "8.5.23",
|
|
"prettier": "3.2.5",
|
|
"tailwindcss": "4.3.2",
|
|
"tw-animate-css": "1.4.0",
|
|
"typescript": "5.9.3",
|
|
"typescript-eslint": "8.60.1",
|
|
"vite": "7.3.7",
|
|
"vitest": "4.1.12"
|
|
},
|
|
"overrides": {
|
|
"@litellm/lens-ui": {
|
|
"next": "$next"
|
|
},
|
|
"zod": "$zod",
|
|
"prismjs": "1.30.0",
|
|
"js-yaml": "4.3.2",
|
|
"brace-expansion": "5.0.12",
|
|
"glob": "13.0.0",
|
|
"minimatch": "11.0.2",
|
|
"ws": "8.21.0",
|
|
"braces": "3.0.3",
|
|
"axios": "1.13.6",
|
|
"postcss": "8.5.23",
|
|
"esbuild": "0.28.1",
|
|
"sharp": "^0.35.5"
|
|
},
|
|
"engines": {
|
|
"node": ">=24.14.1",
|
|
"npm": ">=11.10.0"
|
|
}
|
|
}
|