Skip to content

refactor(webui): derive provider model catalog kind - #4613

Merged
Re-bin merged 1 commit into
mainfrom
codex/provider-catalog-spec
Jul 1, 2026
Merged

Re-bin merged 1 commit into
mainfrom
codex/provider-catalog-spec

Conversation

@chengyongru

Copy link
Copy Markdown
Collaborator

Summary

  • Move WebUI provider model catalog classification onto ProviderSpec metadata with an auto default.
  • Keep only the real explicit catalog override in the provider registry: skywork remains official even though it is a gateway.
  • Derive unsupported OAuth, transcription-only, and non-OpenAI-compatible provider model lists from existing provider flags/backend.
  • Remove duplicated WebUI provider classification sets.

Impact

This reduces the number of places touched when adding providers. Existing OAuth providers still remain selectable/login-capable, but their model list loading remains unsupported, matching prior behavior.

Validation

  • uv run --extra dev pytest tests/webui/test_settings_api.py -q
  • ruff check nanobot/providers/registry.py nanobot/webui/settings_api.py tests/webui/test_settings_api.py

@chengyongru chengyongru added refactor webui provider valid priority: p2 Normal backlog: minor bug, enhancement, docs, cleanup, edge case, or unvalidated proposal. labels Jul 1, 2026
@chengyongru
chengyongru marked this pull request as ready for review July 1, 2026 02:51

@Re-bin Re-bin left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. This is a clean WebUI settings refactor: model catalog behavior now derives from provider metadata and generic provider traits instead of a duplicated hard-coded list in the settings API. I checked the full provider classification shape, including the Skywork gateway exception, local providers, OAuth providers, transcription-only providers, and native backends.

Validated locally:

  • python -m pytest tests/webui/test_settings_api.py -q
  • python -m ruff check nanobot/providers/registry.py nanobot/webui/settings_api.py tests/webui/test_settings_api.py

@Re-bin
Re-bin merged commit 8d2c31e into main Jul 1, 2026
5 checks passed
@Re-bin
Re-bin deleted the codex/provider-catalog-spec branch July 1, 2026 04:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

priority: p2 Normal backlog: minor bug, enhancement, docs, cleanup, edge case, or unvalidated proposal. provider refactor valid webui

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants