fix(cli): keep a tier's configured thinking setting when the main provider has none (#1440)

- the run config takes reasoning effort, thinking level and Claude effort from the selections only when one was chosen
This commit is contained in:
Yijia-Xiao
2026-10-16 21:12:39 +00:00
parent 36479ae1fa
commit 7142746bde
2 changed files with 17 additions and 4 deletions
+5 -4
View File
@@ -83,10 +83,11 @@ def _build_run_config(selections: dict, checkpoint: bool | None) -> dict:
config["deep_think_llm"] = selections["deep_think_llm"]
config["backend_url"] = selections["backend_url"]
config["llm_provider"] = selections["llm_provider"].lower()
# Provider-specific thinking configuration
config["google_thinking_level"] = selections.get("google_thinking_level")
config["openai_reasoning_effort"] = selections.get("openai_reasoning_effort")
config["anthropic_effort"] = selections.get("anthropic_effort")
# Provider-specific thinking configuration. Only the main provider's is
# asked; a tier on another provider keeps its configured value (#1440).
for key in ("google_thinking_level", "openai_reasoning_effort", "anthropic_effort"):
if selections.get(key) is not None:
config[key] = selections[key]
config["output_language"] = selections.get("output_language", "English")
# --checkpoint/--no-checkpoint overrides only when explicitly given; omitting
# the flag preserves TRADINGAGENTS_CHECKPOINT_ENABLED / the default (#976).