Skip to content

fix(providers): add codex_cli to the server provider catalog (#1530) - #1953

Open
sloemo01 wants to merge 1 commit into
repowise-dev:mainfrom
sloemo01:fix/providers-codex-cli-catalog
Open

fix(providers): add codex_cli to the server provider catalog (#1530)#1953
sloemo01 wants to merge 1 commit into
repowise-dev:mainfrom
sloemo01:fix/providers-codex-cli-catalog

Conversation

@sloemo01

Copy link
Copy Markdown
Contributor

What

Fixes #1530. The web dashboard's provider list disagreed with the CLI: codex_cli is a built-in provider in the registry (packages/core/.../llm/registry.py) but was missing from the server's PROVIDER_CATALOG, which is what the dashboard renders. The catalog had claude_cli and opencode but not codex_cli.

Root cause

The server catalog in packages/server/src/repowise/server/provider_config.py was maintained by hand, and the drift test guarding it only compared env_keys for providers that already existed in both places — it could not catch a missing entry.

Changes

  • Add a codex_cli entry to PROVIDER_CATALOG (keyless, requires_key: false, sentinel model codex_cli/default; the runtime model list comes from the authenticated codex catalog, and list_provider_status appends the resolved active model when it isn't cataloged).
  • Harden test_server_provider_catalog_agrees_with_the_registry to assert every built-in provider (except mock) is present in the server catalog, so a future provider addition can't silently skip the dashboard again.

Tests

uv run pytest tests/unit/test_providers/test_provider_env_registry.py -q → 26 passed. The hardened test fails on unpatched main.

@repowise-bot

repowise-bot Bot commented Aug 28, 2026

Copy link
Copy Markdown

✅ Health of changed files: 5.8 (unchanged)

📋 At a glance
2 hotspots touched · 2 files with recent fix history.

Files & modules (2)
  • packages (1 file)
    • .../server/provider_config.py
  • tests (1 file)
    • .../test_providers/test_provider_env_registry.py

✅ Health gate: passed

📌 Before you merge

  • Run .../server/test_provider_config.py, .../server/test_provider_key_endpoint.py: they import the changed files
🔎 More signals (2)

🗺️ Change map

flowchart LR
  subgraph PR ["Changed in this PR (1 with dependents)"]
    f_packages_server_src_repowise_server_provider_config_py[".../server/provider_config.py 🔥"]:::changed
  end
  f_packages_cli_src_repowise_cli_commands_init_cmd_command_py[".../init_cmd/command.py"]
  f_packages_server_src_repowise_server_provider_config_py --> f_packages_cli_src_repowise_cli_commands_init_cmd_command_py
  f_packages_cli_src_repowise_cli_helpers_py[".../cli/helpers.py"]
  f_packages_server_src_repowise_server_provider_config_py --> f_packages_cli_src_repowise_cli_helpers_py
  f_packages_cli_src_repowise_cli_ui_provider_selection_py[".../ui/provider_selection.py"]
  f_packages_server_src_repowise_server_provider_config_py --> f_packages_cli_src_repowise_cli_ui_provider_selection_py
  f_packages_core_src_repowise_core_generation_cost_tracker_py[".../generation/cost_tracker.py"]
  f_packages_server_src_repowise_server_provider_config_py --> f_packages_core_src_repowise_core_generation_cost_tracker_py
  more(["+6 more dependents"])
  PR --> more
  t_tests_unit_server_test_provider_config_py(["✅ .../server/test_provider_config.py"]):::guard
  t_tests_unit_server_test_provider_config_py -.-> f_packages_server_src_repowise_server_provider_config_py
  classDef changed fill:#dbeafe,stroke:#1d4ed8,color:#1e3a5f
  classDef warn fill:#fef3c7,stroke:#b45309,color:#78350f
  classDef guard fill:#dcfce7,stroke:#15803d,color:#14532d
Loading

Solid arrows: code that imports the changed files (10 direct dependents, from the last indexed snapshot). Dashed: history/tests.

🔥 Hotspots touched (2)

  • .../test_providers/test_provider_env_registry.py: 1 commits/90d, 0 dependents · primary owner: Raghav Chamadiya (100%)
  • .../server/provider_config.py: 9 commits/90d, 13 dependents · primary owner: Raghav Chamadiya (85%)

👀 Suggested reviewers @RaghavChamadiya


📊 See the full report for this PR
Your repo map with this PR's blast radius lit up, every caller of the contracts it changes, and health before and after. No sign-in. · ⭐ Star Repowise · 📥 Install bot · Silence on a single PR with [skip repowise] in the title · Per-repo toggle on repowise.dev/settings?tab=bot · Updated 2026-08-28 11:54 UTC

注册 for free to join this conversation on GitHub. Already have an account? 登录 to comment

标签

None yet

项目

None yet

Development

Successfully merging this pull request may close these issues.

[Bug] web dashboard's provider list disagrees with the CLI (codex_cli missing)

1 participant