butler/gateway/vision_fallback_ops.py
Rama main · réplica de lectura del repositorio original.
"""Vision fallback provider best-effort helpers (P0-A)."""
from __future__ import annotations
import logging
from collections.abc import Callable
logger = logging.getLogger(__name__)
def try_vision_fallback_provider_safe(
name: str,
run: Callable[[], str],
) -> tuple[str | None, str | None]:
try:
return run(), None
except Exception as exc:
logger.warning("Vision fallback %s failed: %s", name, exc)
return None, str(exc)