Skip to content

Add provider list to the Configure LLM Providers modal#14879

Closed
bricestacey wants to merge 6 commits into
14814/feature-switch-new-configure-llm-modalfrom
issue/14817-add-list-of-providers-to-the-configure-l
Closed

Add provider list to the Configure LLM Providers modal#14879
bricestacey wants to merge 6 commits into
14814/feature-switch-new-configure-llm-modalfrom
issue/14817-add-list-of-providers-to-the-configure-l

Conversation

@bricestacey

@bricestacey bricestacey commented Jul 15, 2026

Copy link
Copy Markdown
Contributor

Fixes #14817

Summary

Renders the grouped provider list that is the main content of the new "Configure LLM Providers" modal (epic #14815), following the provider-configuration design spec (IMPLEMENTATION_SPEC.md / the assistant-providers prototype). The list is driven off the IPositronLanguageModelSource[] the modal already receives.

Sections (alphabetical within each, empty built-in sections hidden):

  • Connected Providers - signed in and healthy; shows an auth badge (Environment / OAuth) and an "Edit" action.
  • Needs Attention - signed in but reporting an error; shows an "Error" badge, the error message, and a "Fix Connection" action.
  • Model Providers - not yet connected; shows a one-line description and a "+ Connect" action.
  • Custom Provider - always present (Experimental badge + "+ Add custom provider" button) for OpenAI-compatible endpoints.

Each row shows a rounded-square provider avatar (36x36, 6px radius), the provider name, and a maturity badge (Preview / Experimental; none for GA). The per-section action button is the only interactive element - the row itself is not selectable - and the buttons are no-ops for now so the connect flow (#14818) and connected-provider details (#14819) can hang off them later.

Notes on data:

  • Positron provider metadata has no description field yet, so the "Model Providers" descriptions come from a small hardcoded id->string map mirroring the prototype copy (missing ids render no description).
  • Auth badges are derived from defaults.autoconfigure (Environment) and supportedOptions (OAuth).
  • Admin-managed mode (banner, Managed badge, visibleProviders) is deferred - Positron has no admin-managed data source wired yet.
  • Per-provider avatar background colors from the design are not applied yet; the avatar uses a neutral themed square (open question - see the issue).

Behind the hidden assistant.newProviderModal feature switch (default off), so no user-visible impact until enabled.

Stacked on #14856 (adds the modal shell + feature switch). Based on that branch; retargets to main once #14856 merges.

Release Notes

New Features

  • N/A (in-progress feature behind the hidden assistant.newProviderModal switch)

Bug Fixes

  • N/A

Validation Steps

@:assistant

Covered by unit tests:

npx vitest run \
  src/vs/workbench/contrib/positronAssistant/test/common/providerGrouping.vitest.ts \
  src/vs/workbench/contrib/positronAssistant/test/browser/providerListItem.vitest.tsx \
  src/vs/workbench/contrib/positronAssistant/test/browser/providerList.vitest.tsx

Manual:

  1. Set "assistant.newProviderModal": true in settings.json.
  2. Open the language model provider configuration (same entry point as the legacy dialog).
  3. Verify providers appear grouped under Connected Providers / Needs Attention / Model Providers with the right badges, descriptions, rounded-square avatars, and action buttons (Connect/Add custom provider show a plus icon); the Custom Provider section is always present; empty built-in sections are absent.

@github-actions

Copy link
Copy Markdown

E2E Tests 🚀
This PR will run tests tagged with: @:critical @:assistant

Why these tags?
Tag Source
@:critical Always runs (required)
@:assistant PR description

More on automatic tags from changed files.

readme  valid tags

Rework the list to match IMPLEMENTATION_SPEC.md / the assistant-providers
prototype: Connected -> Needs Attention -> Model Providers sections
(alphabetical), badge-based rows (maturity / Environment / OAuth / Error) with
per-section action buttons, a hardcoded provider description map, and an
always-present Custom Provider section. Admin-managed mode is deferred.

See #14817
- Remove row selection; the per-section action button is the only interactive
  element (connect/manage flows hang off it, see #14818/#14819).
- Wrap each provider icon in a 36x36 rounded square (6px radius, subtle border)
  per the design.
- Add an inline plus icon to the Connect and Add custom provider buttons.

See #14817
@bricestacey

Copy link
Copy Markdown
Contributor Author

:smh: Claude Code is opening PRs willy nilly

@github-actions github-actions Bot locked and limited conversation to collaborators Jul 15, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant