Improve model picker UX (#1180)

1. Show less common AI providers (secondary) in submenu
2. Show $ signs for rough cost guide
3. Show "Pro" for supported AI providers with Pro is enabled

    
<!-- This is an auto-generated description by cubic. -->
---

## Summary by cubic
Improves the Model Picker UX by grouping less-used providers under an
“Other AI providers” submenu and adding clear cost and Pro indicators.
This makes picking models faster and more informative.

- **New Features**
- Grouped secondary providers under “Other AI providers” using a new
provider.secondary flag (Azure marked secondary).
- Added rough cost hints: models can set dollarSigns and the UI shows a
“$” badge accordingly.
- Shows a “Pro” badge on supported cloud providers when Pro is enabled;
added a “Custom” badge for custom providers.
- Extended types: LanguageModelProvider.secondary and
LanguageModel.dollarSigns; populated values across OpenAI, Anthropic,
Google, and OpenRouter.

<!-- End of auto-generated description by cubic. -->
This commit is contained in:
Will Chen
2025-09-03 15:36:54 -07:00
committed by GitHub
parent b5b637f73b
commit 2842c61f7c
6 changed files with 153 additions and 43 deletions

View File

@@ -26,11 +26,11 @@ testSkipIfWindows(
},
);
testSkipIfWindows("send message to engine - openai gpt-4.1", async ({ po }) => {
testSkipIfWindows("send message to engine - openai gpt-5", async ({ po }) => {
await po.setUpDyadPro();
// By default, it's using auto which points to Flash 2.5 and doesn't
// use engine.
await po.selectModel({ provider: "OpenAI", model: "GPT 4.1" });
await po.selectModel({ provider: "OpenAI", model: "GPT 5" });
await po.sendPrompt("[dump] tc=turbo-edits");
await po.snapshotServerDump("request");