diff --git a/docsgpt/core/models/anthropic.yaml b/docsgpt/core/models/anthropic.yaml index 5ac74cc4..673394b1 100644 --- a/docsgpt/core/models/anthropic.yaml +++ b/docsgpt/core/models/anthropic.yaml @@ -39,3 +39,7 @@ models: description: Anthropic's frontier tier above Opus for the most demanding reasoning and long-horizon agentic work context_window: 1000000 supports_structured_output: true + input_cost_per_million: 10.0 + output_cost_per_million: 50.0 + cached_input_cost_per_million: 1.0 + cache_write_cost_per_million: 12.5 diff --git a/docsgpt/core/models/openai.yaml b/docsgpt/core/models/openai.yaml index bfbda9c9..de6ddd38 100644 --- a/docsgpt/core/models/openai.yaml +++ b/docsgpt/core/models/openai.yaml @@ -34,3 +34,6 @@ models: context_window: 1050000 api_flavor: responses reasoning_effort: medium + input_cost_per_million: 5.0 + output_cost_per_million: 30.0 + cached_input_cost_per_million: 0.5 diff --git a/tests/core/test_model_registry_yaml.py b/tests/core/test_model_registry_yaml.py index 1015f964..982455bf 100644 --- a/tests/core/test_model_registry_yaml.py +++ b/tests/core/test_model_registry_yaml.py @@ -30,11 +30,12 @@ from docsgpt.core.model_yaml import ( # in an upstream model id) that would silently break every agent that # references the old id. EXPECTED_IDS = { - "openai": {"gpt-5.5", "gpt-5.4-mini", "gpt-5.4-nano"}, + "openai": {"gpt-5.5", "gpt-5.4-mini", "gpt-5.4-nano", "gpt-5.6-sol"}, "anthropic": { "claude-opus-4-7", "claude-sonnet-4-6", "claude-haiku-4-5", + "claude-fable-5", }, "google": { "gemini-3.1-pro-preview", @@ -59,6 +60,8 @@ EXPECTED_IDS = { "openai_compatible": { "deepseek-v4-flash", "deepseek-v4-pro", + "qwen3.8-max", + "glm-5.3", }, "docsgpt": {"docsgpt-local"}, "huggingface": {"huggingface-local"}, @@ -250,7 +253,11 @@ class TestRegistryPermutations: assert ids == EXPECTED_IDS["docsgpt"] def test_everything_set(self, monkeypatch): + # Every openai_compatible catalog reads its own key from the + # environment, so each needs one here for "everything" to mean it. monkeypatch.setenv("DEEPSEEK_API_KEY", "x") + monkeypatch.setenv("DASHSCOPE_API_KEY", "x") + monkeypatch.setenv("ZAI_API_KEY", "x") s = _make_settings( OPENAI_API_KEY="x", ANTHROPIC_API_KEY="x",