Roo-Code/webview-ui/src/utils
Hannes Rudolph ef2fec9a23
refactor: remove 9 low-usage providers and add retired-provider UX (#11297)
* 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
2026-02-09 09:40:59 -07:00
..
__tests__ refactor: remove 9 low-usage providers and add retired-provider UX (#11297) 2026-02-09 09:40:59 -07:00
batchConsecutive.ts feat: batch consecutive tool calls in chat UI with shared utility (#11245) 2026-02-09 11:28:04 -05:00
clipboard.ts fix(clipboard): Clear setTimeout in useCopyToClipboard to resolve memory leak (#4228) 2025-06-04 16:45:51 -04:00
command-parser.ts feat: Add terminal command permissions UI to chat interface (#5480) (#5798) 2025-07-25 16:49:51 -04:00
context-mentions.ts Move more types to @roo-code/types (for the cli) (#10583) 2026-01-09 11:59:06 -08:00
costFormatting.ts Feat/issue 5376 aggregate subtask costs (#10757) 2026-01-15 16:44:55 -05:00
docLinks.ts feat: add buildDocLink utility and 21 Internal Links to Docs (#3418) 2025-05-14 13:15:05 -04:00
format.ts Revert "feat: Experiment: Show a bit of stats in Cloud tab to help users discover there's more in Cloud" (#8559) 2025-10-07 21:37:10 -04:00
formatPathTooltip.ts refactor(read_file): Codex-inspired read_file refactor EXT-617 (#10981) 2026-01-29 15:16:32 -07:00
formatPrice.ts Better model picker 2025-02-07 12:25:52 -08:00
getLanguageFromPath.ts Refactor utilities to utils for consistency 2024-08-03 15:47:41 -04:00
highlight.ts fix: TaskItem display and copy issues with HTML tags in task messages. (#4444) 2025-06-11 23:50:56 -04:00
highlightDiff.ts feat(chat): Improve diff appearance in main chat view (#8932) 2025-11-06 16:18:01 -05:00
highlighter.ts Fix linter errors (#3821) 2025-05-21 23:16:43 -07:00
imageUtils.ts Message edit/delete overhaul (#5538) 2025-07-17 10:16:57 -04:00
markdown.ts feat: add button to open markdown in VSCode preview (#10773) 2026-01-16 10:56:19 -05:00
mcp.ts Move more types to @roo-code/types (for the cli) (#10583) 2026-01-09 11:59:06 -08:00
model-utils.ts Update the max-token calculation in model-params to use the shared logic (#5720) 2025-07-15 02:20:22 -04:00
parseUnifiedDiff.ts feat(chat): Improve diff appearance in main chat view (#8932) 2025-11-06 16:18:01 -05:00
path-mentions.ts Support mentioning filenames with spaces (#3044) 2025-04-29 22:27:16 -04:00
removeLeadingNonAlphanumeric.ts Show LLM streaming file write content (#3241) 2025-05-13 09:47:33 -07:00
sourceMapInitializer.ts debug: Add ErrorBoundary component for better error handling (#5085) 2025-07-23 08:45:35 -04:00
sourceMapUtils.ts debug: Add ErrorBoundary component for better error handling (#5085) 2025-07-23 08:45:35 -04:00
TelemetryClient.ts feat: migrate PostHog client to ph.roocode.com (#9402) 2025-11-19 14:44:22 -05:00
test-utils.tsx feat: Add provider routing selection for OpenRouter embeddings (#9144) (#9693) 2025-12-02 22:59:55 -05:00
textMateToHljs.ts Chore: Prettier for consistant formatting (#794) 2024-11-21 13:13:54 -08:00
url.ts Marketplace (#4538) 2025-06-11 17:28:12 -04:00
useDebounceEffect.ts Add support for Mermaid diagrams 2025-03-01 18:03:28 -05:00
validate.ts refactor: remove 9 low-usage providers and add retired-provider UX (#11297) 2026-02-09 09:40:59 -07:00
vscode.ts chore: fix typos in comment & document (#5569) 2025-07-10 11:33:26 -04:00