fix: add reasoning_echo_flag to init snapshot and switch rollback
Address review feedback on PR #76503: 1. Init-time primary snapshot (agent_init.py:2756) was missing reasoning_echo_flag — after fallback recovery the flag was restored as False even when model.reasoning_echo: true was set. 2. Switch transaction snapshot (agent_runtime_helpers.py:2284) was missing _reasoning_echo_flag — a failed client rebuild during switch_model would leave the old provider with the new provider echo policy. Both omissions now fixed. No test regressions (56 passed). Signed-off-by: Yingliang Zhang <zhangyingliang@outlook.com>
This commit is contained in:
@@ -2961,6 +2961,7 @@ def init_agent(
|
||||
"client_kwargs": dict(agent._client_kwargs),
|
||||
"use_prompt_caching": agent._use_prompt_caching,
|
||||
"use_native_cache_layout": agent._use_native_cache_layout,
|
||||
"reasoning_echo_flag": getattr(agent, "_reasoning_echo_flag", False),
|
||||
# Context engine state that _try_activate_fallback() overwrites.
|
||||
# Use getattr for model/base_url/api_key/provider since plugin
|
||||
# engines may not have these (they're ContextCompressor-specific).
|
||||
|
||||
@@ -2654,6 +2654,7 @@ def switch_model(agent, new_model, new_provider, api_key='', base_url='', api_mo
|
||||
"_anthropic_base_url",
|
||||
"_is_anthropic_oauth",
|
||||
"_config_context_length",
|
||||
"_reasoning_echo_flag",
|
||||
)
|
||||
}
|
||||
# _client_kwargs is a dict — snapshot a shallow copy so mutating the
|
||||
|
||||
Reference in New Issue
Block a user