fix(kimi): surface K2.7 Code in native picker (#46309)
This commit is contained in:
@@ -22,6 +22,7 @@ from unittest.mock import patch
|
||||
|
||||
from hermes_cli.models import (
|
||||
_MODELS_DEV_PREFERRED,
|
||||
_PROVIDER_MODELS,
|
||||
_merge_with_models_dev,
|
||||
provider_model_ids,
|
||||
)
|
||||
@@ -96,6 +97,46 @@ class TestProviderModelIdsPreferred:
|
||||
assert "claude-opus-4-7" in out
|
||||
assert "kimi-k2.6" in out
|
||||
|
||||
def test_kimi_coding_offline_catalog_includes_k2_7_code(self):
|
||||
"""Native Kimi users must see the newest Code model without live catalog help."""
|
||||
assert "kimi-coding" not in _MODELS_DEV_PREFERRED
|
||||
with patch("agent.models_dev.list_agentic_models", return_value=[]):
|
||||
out = provider_model_ids("kimi-coding")
|
||||
assert "kimi-k2.7-code" in out
|
||||
|
||||
def test_kimi_coding_live_catalog_does_not_hide_curated_k2_7_code(self):
|
||||
"""Kimi /models can lag inference; live results must not replace curated."""
|
||||
with (
|
||||
patch(
|
||||
"hermes_cli.auth.resolve_api_key_provider_credentials",
|
||||
return_value={"api_key": "sk-test", "base_url": "https://api.moonshot.ai/v1"},
|
||||
),
|
||||
patch("providers.base.ProviderProfile.fetch_models", return_value=["kimi-k2.6"]),
|
||||
):
|
||||
out = provider_model_ids("kimi-coding")
|
||||
assert out[:2] == ["kimi-k2.7-code", "kimi-k2.6"]
|
||||
|
||||
def test_kimi_setup_flow_uses_same_coding_plan_catalog(self):
|
||||
"""The setup wizard must not carry a stale duplicate Kimi model list."""
|
||||
from hermes_cli.model_setup_flows import _model_flow_kimi
|
||||
|
||||
captured = {}
|
||||
|
||||
def fake_select(model_list, **_kwargs):
|
||||
captured["models"] = model_list
|
||||
return None
|
||||
|
||||
with (
|
||||
patch("hermes_cli.main._prompt_api_key", return_value=("sk-kimi-test", False)),
|
||||
patch("hermes_cli.auth._prompt_model_selection", side_effect=fake_select),
|
||||
patch("hermes_cli.config.get_env_value", return_value=""),
|
||||
patch("hermes_cli.config.save_env_value"),
|
||||
):
|
||||
_model_flow_kimi({}, current_model="")
|
||||
|
||||
assert captured["models"] == _PROVIDER_MODELS["kimi-coding"]
|
||||
assert captured["models"][0] == "kimi-k2.7-code"
|
||||
|
||||
|
||||
class TestOpenRouterAndNousUnchanged:
|
||||
"""Per Teknium: openrouter and nous are NEVER merged with models.dev."""
|
||||
|
||||
Reference in New Issue
Block a user