fix: coalesce None thinking_style to empty string in provider creation

ProviderConfig.thinking_style defaults to None (Optional field), but
create_dynamic_spec expects a string. Coalesce None to "" at all call
sites (factory.py, settings_api.py) and fix the test assertion to
expect None from the config default.
This commit is contained in:
axelray-dev
2026-06-25 22:53:15 +08:00
committed by Xubin Ren
parent 0e19ea3062
commit c661012754
3 changed files with 4 additions and 4 deletions
+2 -2
View File
@@ -359,7 +359,7 @@ def _resolve_settings_provider(
normalized = provider_name.replace("-", "_")
for extra_name, provider_config in _dynamic_provider_items(config):
if provider_name == extra_name or normalized == extra_name.replace("-", "_"):
return create_dynamic_spec(extra_name, thinking_style=provider_config.thinking_style), extra_name, provider_config
return create_dynamic_spec(extra_name, thinking_style=(provider_config.thinking_style or "")), extra_name, provider_config
return None
@@ -739,7 +739,7 @@ def settings_payload(
providers.append(
_provider_settings_row(
provider_key,
create_dynamic_spec(provider_key, thinking_style=provider_config.thinking_style),
create_dynamic_spec(provider_key, thinking_style=(provider_config.thinking_style or "")),
provider_config,
)
)