Skip to content

[Feat] Add provider model mapping presets#427

Merged
brunobergher merged 5 commits into
developfrom
feature/provider-model-presets-2kcvfvr8hl0er
Jul 17, 2026
Merged

[Feat] Add provider model mapping presets#427
brunobergher merged 5 commits into
developfrom
feature/provider-model-presets-2kcvfvr8hl0er

Conversation

@roomote-roomote

@roomote-roomote roomote-roomote Bot commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

Opened on behalf of Bruno Bergher. Follow up by mentioning @roomote-roomote, in the web UI, or in Slack.

What changed

Adds provider-local model mapping presets with arbitrary identifiers and labels. Settings now groups presets by connected provider, marks the provider default, confirms the selected mapping before it applies, and adds or enables referenced models on demand.

The catalog includes OpenRouter Balanced and Quick turnaround presets. Existing providers that still use recommendedRoleModels receive a synthesized Recommended default preset for backward compatibility. Preset models now retain their explicit or display-name-derived family instead of treating the provider segment as a family.

Why this change was made

Operators need provider-defined mappings that can express role-specific model and reasoning choices without forcing every referenced model into the normal suggested catalog.

Impact

Connecting a provider seeds only its default preset models; non-default-only models are added only when that preset is selected. Environment-managed model and reasoning fields remain independently protected from preset updates, and inherited-role previews follow the effective env-managed coding model.

Screenshots

Mapping preset with env-managed inherited roles

@roomote-roomote

roomote-roomote Bot commented Jul 16, 2026

Copy link
Copy Markdown
Contributor Author

No new code issues found. See task

  • apps/web/src/trpc/commands/task-models/auto-add-models.ts:191-195 Preserve an absent family so buildTaskModelOption infers it from the display name instead of using the provider ID.
  • apps/web/src/components/settings/ModelSettingsSection.tsx:1635-1639 Preview inherited roles with the effective env-managed coding model, while non-env previews use the selected preset coding model.
  • apps/web/src/components/settings/ModelSettingsSection.tsx:1637-1643 Match preset display metadata to the resolved model ID. An env-managed model outside the catalog can currently be labeled with a different preset model's display name, while inherited roles omit the coding preset's display name and show its raw slug.

Reviewed 258bf5b

@roomote-roomote

roomote-roomote Bot commented Jul 16, 2026

Copy link
Copy Markdown
Contributor Author

Fixed both review findings in f1d5c7a: preset model families now fall back from display names instead of provider IDs, and inherited-role previews use the effective coding model only when R_MODEL manages coding. Focused tests, typechecking, and refreshed visual proof passed.

@brunobergher
brunobergher force-pushed the feature/provider-model-presets-2kcvfvr8hl0er branch from f1d5c7a to 7baa36e Compare July 17, 2026 10:21
@brunobergher
brunobergher marked this pull request as ready for review July 17, 2026 10:29
@brunobergher
brunobergher merged commit 85ab75f into develop Jul 17, 2026
17 checks passed
@brunobergher
brunobergher deleted the feature/provider-model-presets-2kcvfvr8hl0er branch July 17, 2026 10:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants