mirror of
https://github.com/RooVetGit/Roo-Code.git
synced 2026-08-28 05:27:24 +00:00
* refactor: remove 9 low-usage providers (Phase 0)
Remove Cerebras, Chutes, DeepInfra, Doubao, Featherless, Groq,
Hugging Face, IO Intelligence, and Unbound providers from the codebase.
Each provider removal includes: handler, tests, model definitions,
type schemas, UI settings components, fetchers, i18n references,
and all wiring in shared registration/config files.
- Delete 42 provider-specific files (handlers, tests, fetchers, UI components)
- Remove @ai-sdk/cerebras and @ai-sdk/groq npm dependencies
- Clean provider references from 68 shared files across src/, packages/types/,
webview-ui/, and apps/cli/
- Remove ~490 dead i18n translation keys across 36 locale files
- Add docs/ai-sdk-migration-guide.md with updated migration status
- All TypeScript checks pass, 6505 tests pass with 0 failures
* feat: show retired-provider message for removed provider profiles
Preserve API profiles that reference removed providers instead of
silently stripping their apiProvider. When a user selects a profile
configured for a retired provider, the settings UI now shows an
empathetic message explaining the removal instead of the provider
configuration form.
- Add retiredProviderNames array and isRetiredProvider() helper to
packages/types/src/provider-settings.ts
- Update ProviderSettingsManager sanitization to preserve retired
providers (only strip truly unknown values)
- Update ContextProxy sanitization to preserve retired providers
- Render retired-provider message in ApiOptions.tsx when selected
provider is in the retired list
- Add tests for sanitization, ContextProxy, and UI behavior
* feat: add retired-provider warning banner in chat view
* Revert "feat: add retired-provider warning banner in chat view"
This reverts commit dd593e1056.
* feat: show retired-provider message as inline chat response
* fix: show retired provider warning on home screen
Move WarningRow outside {task && ...} conditional so it renders
regardless of task state. Preserve user input on retired provider
intercept so text isn't lost when switching providers.
- Move showRetiredProviderWarning WarningRow to unconditional render
area near ProfileViolationWarning
- Remove setInputValue/setSelectedImages clearing from retired
provider early return in handleSendMessage
- Delete unused RetiredProviderWarning.tsx (dead code)
* fix: address PR review — passthrough retired-provider fields and i18n strings
- Use passthrough() in saveConfig() and load() so legacy provider-specific
fields (e.g. groqApiKey, deepInfraModelId) are preserved instead of
silently stripped by strict Zod parse()
- Move hardcoded English strings in ApiOptions.tsx and ChatView.tsx to
i18n translation keys (settings:providers.retiredProviderMessage,
chat:retiredProvider.{title,message,openSettings})
- Update tests to assert legacy provider-specific fields survive
save and load round-trips
* i18n: add retired-provider translations for all 17 locales
Translate providers.retiredProviderMessage (settings) and
retiredProvider.{title,message,openSettings} (chat) into ca, de, es,
fr, hi, id, it, ja, ko, nl, pl, pt-BR, ru, tr, vi, zh-CN, zh-TW.
* test: update ApiOptions retired-provider test to expect i18n key
63 lines
1.8 KiB
JSON
63 lines
1.8 KiB
JSON
{
|
|
"name": "@roo-code/web-evals",
|
|
"version": "0.0.0",
|
|
"type": "module",
|
|
"scripts": {
|
|
"lint": "eslint src --ext=ts,tsx --max-warnings=0",
|
|
"check-types": "tsc -b",
|
|
"dev": "scripts/check-services.sh && next dev -p 3446",
|
|
"format": "prettier --write src",
|
|
"build": "next build",
|
|
"start": "next start -p 3446",
|
|
"clean": "rimraf tsconfig.tsbuildinfo .next .turbo"
|
|
},
|
|
"dependencies": {
|
|
"@hookform/resolvers": "^5.1.1",
|
|
"@radix-ui/react-alert-dialog": "^1.1.7",
|
|
"@radix-ui/react-checkbox": "^1.1.5",
|
|
"@radix-ui/react-dialog": "^1.1.6",
|
|
"@radix-ui/react-dropdown-menu": "^2.1.7",
|
|
"@radix-ui/react-label": "^2.1.2",
|
|
"@radix-ui/react-popover": "^1.1.6",
|
|
"@radix-ui/react-scroll-area": "^1.2.3",
|
|
"@radix-ui/react-select": "^2.1.6",
|
|
"@radix-ui/react-separator": "^1.1.2",
|
|
"@radix-ui/react-slider": "^1.2.4",
|
|
"@radix-ui/react-slot": "^1.1.2",
|
|
"@radix-ui/react-tabs": "^1.1.3",
|
|
"@radix-ui/react-tooltip": "^1.2.8",
|
|
"@roo-code/evals": "workspace:^",
|
|
"@roo-code/types": "workspace:^",
|
|
"@tanstack/react-query": "^5.69.0",
|
|
"archiver": "^7.0.1",
|
|
"class-variance-authority": "^0.7.1",
|
|
"clsx": "^2.1.1",
|
|
"cmdk": "^1.1.0",
|
|
"fuzzysort": "^3.1.0",
|
|
"lucide-react": "^0.518.0",
|
|
"next": "^16.1.6",
|
|
"next-themes": "^0.4.6",
|
|
"p-map": "^7.0.3",
|
|
"react": "^18.3.1",
|
|
"react-dom": "^18.3.1",
|
|
"react-hook-form": "^7.57.0",
|
|
"react-use": "^17.6.0",
|
|
"redis": "^5.5.5",
|
|
"sonner": "^2.0.5",
|
|
"tailwind-merge": "^3.3.0",
|
|
"tailwindcss-animate": "^1.0.7",
|
|
"vaul": "^1.1.2",
|
|
"zod": "^3.25.61"
|
|
},
|
|
"devDependencies": {
|
|
"@roo-code/config-eslint": "workspace:^",
|
|
"@roo-code/config-typescript": "workspace:^",
|
|
"@tailwindcss/postcss": "^4",
|
|
"@types/archiver": "^7.0.0",
|
|
"@types/ps-tree": "^1.1.6",
|
|
"@types/react": "^18.3.23",
|
|
"@types/react-dom": "^18.3.5",
|
|
"tailwindcss": "^4",
|
|
"vitest": "^3.2.3"
|
|
}
|
|
}
|