From 345e3d7dc58d10a7910c95e53c58d6fc47bf47e4 Mon Sep 17 00:00:00 2001 From: Teknium <127238744+teknium1@users.noreply.github.com> Date: Thu, 3 Sep 2026 00:01:01 -0700 Subject: [PATCH] refactor(tools): flatten xai TTL coercion and extract-provider fallback text --- tools/web_tools_extract.py | 6 ++---- tools/xai_http.py | 13 ++++++------- 2 files changed, 8 insertions(+), 11 deletions(-) diff --git a/tools/web_tools_extract.py b/tools/web_tools_extract.py index d9aa7051e7..57642c48c5 100644 --- a/tools/web_tools_extract.py +++ b/tools/web_tools_extract.py @@ -135,10 +135,8 @@ def _resolve_extract_provider(backend: str): return None, _extract_error_json(_strict_selection_error("extract", backend)) provider = get_active_extract_provider() if provider is None: - return None, _extract_error_json(_no_provider_error( - "extract", - "No web extract provider configured. Set web.extract_backend to " + _EXTRACT_BACKENDS_HINT, - )) + fallback = "No web extract provider configured. Set web.extract_backend to " + _EXTRACT_BACKENDS_HINT + return None, _extract_error_json(_no_provider_error("extract", fallback)) return provider, None diff --git a/tools/xai_http.py b/tools/xai_http.py index d51d94f4ab..1c6a5de0b6 100644 --- a/tools/xai_http.py +++ b/tools/xai_http.py @@ -93,17 +93,16 @@ def _coerce_expires_after(value: Any) -> Optional[int]: if value is None: return None if isinstance(value, str): - normalized = value.strip().lower() - if normalized in {"", "default", "none", "null", "never", "permanent", "forever", "0"}: + value = value.strip().lower() + if value in {"", "default", "none", "null", "never", "permanent", "forever", "0"}: return None try: - value = int(normalized) + value = int(value) except ValueError: return SAFE_XAI_STORAGE_EXPIRES_AFTER_SECONDS - if isinstance(value, (int, float)): - seconds = int(value) - return None if seconds <= 0 else min(seconds, MAX_XAI_STORAGE_EXPIRES_AFTER_SECONDS) - return SAFE_XAI_STORAGE_EXPIRES_AFTER_SECONDS + if not isinstance(value, (int, float)): + return SAFE_XAI_STORAGE_EXPIRES_AFTER_SECONDS + return None if int(value) <= 0 else min(int(value), MAX_XAI_STORAGE_EXPIRES_AFTER_SECONDS) def read_xai_imagine_storage_config(section_name: str) -> Dict[str, Any]: