refactor: remove all strix/ model alias machinery
The Strix proxy / ``strix/`` model namespace is gone. Users now pass
real provider aliases directly (``anthropic/claude-sonnet-4-6``,
``openai/gpt-5.4``, ``gemini/...``, ``openrouter/...``).
Deleted:
- ``STRIX_API_BASE`` constant in ``strix/config/config.py`` (and the
auto-set api_base branch for ``strix/`` models in ``resolve_llm_config``).
- ``STRIX_MODEL_MAP`` and the ``StrixModelProvider`` /
``LitellmAnthropicProvider`` classes from
``strix/llm/multi_provider_setup.py``.
- ``is_anthropic_override`` flag on ``AnthropicCachingLitellmModel``
(only existed because ``strix/<alias>`` resolved to ``openai/<base>``
on the wire while staying Anthropic underneath; with no proxy, the
model-name substring check is enough).
- ``startswith("strix/")`` branches in ``cli.py`` / ``main.py`` /
``dedupe.py`` and the ``uses_strix_models`` env-validation flag.
The new ``build_multi_provider`` registers a single ``anthropic/``
route that wraps litellm in :class:`AnthropicCachingLitellmModel`
(prompt caching). Every other prefix falls through to the SDK's
built-in routing.
Defaults flipped from ``strix/claude-sonnet-4.6`` →
``anthropic/claude-sonnet-4-6`` in run_config_factory and
agents_graph/tools.py + corresponding tests.
Tests updated:
- ``test_anthropic_cache_wrapper.py``: drop the override-flag tests.
- ``test_multi_provider_setup.py``: rewrite around the new single
``_AnthropicCachingProvider`` route.
- ``test_tool_registration_modes.py::test_load_skill_import_...``:
load_skill no longer fails when there's no live agent instance — it
echoes the requested skills back with ``success=True``.
Tests: 281/281 passing.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -281,7 +281,7 @@ async def test_create_agent_spawns_and_registers_child() -> None:
|
||||
"tool_server_host_port": 12345,
|
||||
"caido_host_port": None,
|
||||
"tracer": None,
|
||||
"model": "strix/claude-sonnet-4.6",
|
||||
"model": "anthropic/claude-sonnet-4-6",
|
||||
"model_settings": None,
|
||||
"max_turns": 300,
|
||||
"is_whitebox": False,
|
||||
@@ -354,7 +354,7 @@ async def test_create_agent_inherits_parent_history() -> None:
|
||||
"tool_server_host_port": 12345,
|
||||
"caido_host_port": None,
|
||||
"tracer": None,
|
||||
"model": "strix/claude-sonnet-4.6",
|
||||
"model": "anthropic/claude-sonnet-4-6",
|
||||
"model_settings": None,
|
||||
"max_turns": 300,
|
||||
}
|
||||
@@ -485,7 +485,7 @@ async def test_create_agent_spawn_is_cancelable_via_bus() -> None:
|
||||
"tool_server_host_port": 12345,
|
||||
"caido_host_port": None,
|
||||
"tracer": None,
|
||||
"model": "strix/claude-sonnet-4.6",
|
||||
"model": "anthropic/claude-sonnet-4-6",
|
||||
"model_settings": None,
|
||||
"max_turns": 300,
|
||||
}
|
||||
|
||||
@@ -96,4 +96,7 @@ def test_load_skill_import_does_not_register_create_agent_in_sandbox(
|
||||
|
||||
names_after = set(registry.get_tool_names())
|
||||
assert "create_agent" not in names_after
|
||||
assert result["success"] is False
|
||||
# load_skill no longer reaches into the legacy _agent_instances global —
|
||||
# it returns ``success=True`` with the requested skills echoed back.
|
||||
assert result["success"] is True
|
||||
assert result["loaded_skills"] == ["nmap"]
|
||||
|
||||
Reference in New Issue
Block a user