Commit ef2fec9
authored
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 dd593e1.
* 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 key1 parent 7afa436 commit ef2fec9
138 files changed
Lines changed: 869 additions & 9949 deletions
File tree
- apps
- cli/src/lib/utils
- web-evals
- packages/types/src
- providers
- src
- api
- providers
- __tests__
- fetchers
- __tests__
- transform/__tests__
- core
- config
- __tests__
- context/context-management
- __tests__
- task
- webview
- __tests__
- i18n/locales
- ca
- de
- en
- es
- fr
- hi
- id
- it
- ja
- ko
- nl
- pl
- pt-BR
- ru
- tr
- vi
- zh-CN
- zh-TW
- webview-ui/src
- components
- chat
- settings
- __tests__
- providers
- __tests__
- utils
- ui/hooks
- __tests__
- i18n/locales
- ca
- de
- en
- es
- fr
- hi
- id
- it
- ja
- ko
- nl
- pl
- pt-BR
- ru
- tr
- vi
- zh-CN
- zh-TW
- utils
- __tests__
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
48 | 48 | | |
49 | 49 | | |
50 | 50 | | |
51 | | - | |
52 | | - | |
53 | | - | |
54 | | - | |
55 | | - | |
56 | | - | |
57 | 51 | | |
58 | 52 | | |
59 | | - | |
60 | | - | |
61 | 53 | | |
62 | | - | |
| 54 | + | |
63 | 55 | | |
64 | 56 | | |
65 | 57 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
27 | 27 | | |
28 | 28 | | |
29 | 29 | | |
30 | | - | |
| 30 | + | |
31 | 31 | | |
32 | 32 | | |
33 | 33 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
268 | 268 | | |
269 | 269 | | |
270 | 270 | | |
271 | | - | |
272 | 271 | | |
273 | | - | |
274 | 272 | | |
275 | 273 | | |
276 | 274 | | |
277 | | - | |
278 | 275 | | |
279 | 276 | | |
280 | | - | |
281 | | - | |
282 | 277 | | |
283 | | - | |
284 | 278 | | |
285 | 279 | | |
286 | 280 | | |
287 | 281 | | |
288 | 282 | | |
289 | 283 | | |
290 | 284 | | |
291 | | - | |
292 | 285 | | |
293 | 286 | | |
294 | 287 | | |
295 | | - | |
296 | | - | |
297 | 288 | | |
298 | 289 | | |
299 | 290 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
9 | | - | |
10 | 9 | | |
11 | | - | |
12 | | - | |
13 | 10 | | |
14 | 11 | | |
15 | | - | |
16 | | - | |
17 | 12 | | |
18 | 13 | | |
19 | 14 | | |
| |||
39 | 34 | | |
40 | 35 | | |
41 | 36 | | |
42 | | - | |
43 | | - | |
44 | | - | |
45 | | - | |
46 | | - | |
47 | | - | |
48 | | - | |
49 | | - | |
50 | | - | |
51 | | - | |
52 | | - | |
53 | | - | |
| 37 | + | |
54 | 38 | | |
55 | 39 | | |
56 | 40 | | |
| |||
121 | 105 | | |
122 | 106 | | |
123 | 107 | | |
124 | | - | |
125 | | - | |
126 | 108 | | |
127 | | - | |
128 | 109 | | |
129 | 110 | | |
130 | 111 | | |
131 | | - | |
132 | 112 | | |
133 | 113 | | |
134 | 114 | | |
| |||
149 | 129 | | |
150 | 130 | | |
151 | 131 | | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
152 | 159 | | |
153 | 160 | | |
154 | 161 | | |
155 | 162 | | |
156 | 163 | | |
157 | 164 | | |
158 | 165 | | |
159 | | - | |
| 166 | + | |
160 | 167 | | |
161 | 168 | | |
162 | 169 | | |
| |||
300 | 307 | | |
301 | 308 | | |
302 | 309 | | |
303 | | - | |
304 | | - | |
305 | | - | |
306 | | - | |
307 | | - | |
308 | | - | |
309 | | - | |
310 | | - | |
311 | | - | |
312 | | - | |
313 | | - | |
314 | 310 | | |
315 | 311 | | |
316 | 312 | | |
| |||
325 | 321 | | |
326 | 322 | | |
327 | 323 | | |
328 | | - | |
329 | | - | |
330 | | - | |
331 | | - | |
332 | | - | |
333 | 324 | | |
334 | 325 | | |
335 | 326 | | |
| |||
344 | 335 | | |
345 | 336 | | |
346 | 337 | | |
347 | | - | |
348 | | - | |
349 | | - | |
350 | | - | |
351 | | - | |
352 | | - | |
353 | | - | |
354 | | - | |
355 | | - | |
356 | | - | |
357 | | - | |
358 | | - | |
359 | | - | |
360 | | - | |
361 | 338 | | |
362 | 339 | | |
363 | 340 | | |
364 | 341 | | |
365 | 342 | | |
366 | 343 | | |
367 | 344 | | |
368 | | - | |
369 | | - | |
370 | | - | |
371 | | - | |
372 | 345 | | |
373 | 346 | | |
374 | 347 | | |
| |||
386 | 359 | | |
387 | 360 | | |
388 | 361 | | |
389 | | - | |
390 | | - | |
391 | | - | |
392 | | - | |
393 | | - | |
394 | | - | |
395 | | - | |
396 | | - | |
397 | | - | |
398 | 362 | | |
399 | 363 | | |
400 | 364 | | |
| |||
432 | 396 | | |
433 | 397 | | |
434 | 398 | | |
435 | | - | |
436 | | - | |
437 | 399 | | |
438 | 400 | | |
439 | | - | |
440 | 401 | | |
441 | 402 | | |
442 | 403 | | |
443 | | - | |
444 | 404 | | |
445 | | - | |
446 | | - | |
447 | 405 | | |
448 | | - | |
449 | 406 | | |
450 | 407 | | |
451 | 408 | | |
452 | | - | |
453 | | - | |
454 | 409 | | |
455 | 410 | | |
456 | 411 | | |
457 | 412 | | |
458 | 413 | | |
459 | 414 | | |
460 | 415 | | |
461 | | - | |
| 416 | + | |
462 | 417 | | |
463 | 418 | | |
464 | 419 | | |
| |||
473 | 428 | | |
474 | 429 | | |
475 | 430 | | |
476 | | - | |
477 | | - | |
478 | 431 | | |
479 | 432 | | |
480 | | - | |
481 | 433 | | |
482 | 434 | | |
483 | 435 | | |
484 | | - | |
485 | 436 | | |
486 | | - | |
487 | | - | |
488 | 437 | | |
489 | | - | |
490 | 438 | | |
491 | 439 | | |
492 | 440 | | |
493 | | - | |
494 | | - | |
495 | 441 | | |
496 | 442 | | |
497 | 443 | | |
| |||
521 | 467 | | |
522 | 468 | | |
523 | 469 | | |
524 | | - | |
525 | 470 | | |
526 | 471 | | |
527 | | - | |
528 | | - | |
529 | 472 | | |
530 | | - | |
531 | 473 | | |
532 | 474 | | |
533 | 475 | | |
| |||
561 | 503 | | |
562 | 504 | | |
563 | 505 | | |
564 | | - | |
565 | | - | |
566 | 506 | | |
567 | | - | |
568 | 507 | | |
569 | 508 | | |
570 | | - | |
571 | 509 | | |
572 | | - | |
573 | 510 | | |
574 | | - | |
575 | | - | |
576 | 511 | | |
577 | 512 | | |
578 | 513 | | |
579 | | - | |
580 | | - | |
581 | 514 | | |
582 | 515 | | |
583 | 516 | | |
| |||
629 | 562 | | |
630 | 563 | | |
631 | 564 | | |
632 | | - | |
633 | | - | |
634 | | - | |
635 | | - | |
636 | | - | |
637 | 565 | | |
638 | 566 | | |
639 | 567 | | |
640 | 568 | | |
641 | 569 | | |
642 | | - | |
643 | | - | |
644 | | - | |
645 | | - | |
646 | | - | |
647 | | - | |
648 | 570 | | |
649 | 571 | | |
650 | 572 | | |
| |||
655 | 577 | | |
656 | 578 | | |
657 | 579 | | |
658 | | - | |
659 | | - | |
660 | | - | |
661 | | - | |
662 | | - | |
663 | | - | |
664 | 580 | | |
665 | 581 | | |
666 | 582 | | |
| |||
708 | 624 | | |
709 | 625 | | |
710 | 626 | | |
711 | | - | |
712 | 627 | | |
713 | 628 | | |
714 | 629 | | |
715 | | - | |
716 | | - | |
717 | 630 | | |
718 | | - | |
719 | 631 | | |
720 | 632 | | |
721 | 633 | | |
| |||
0 commit comments