import os def get_setting(key: str, default: str = "false") -> str: """Get a setting from the credential service or fall back to environment variable.""" try: from ..credential_service import credential_service if hasattr(credential_service, "_cache") and credential_service._cache_initialized: cached_value = credential_service._cache.get(key) if isinstance(cached_value, dict) and cached_value.get("is_encrypted"): encrypted_value = cached_value.get("encrypted_value") if encrypted_value: try: from src.server.services.credentials.crypto_utils import CryptoUtils return CryptoUtils.decrypt_value(encrypted_value) except Exception: pass elif cached_value: return str(cached_value) # Fallback to environment variable return os.getenv(key, default) except Exception: return os.getenv(key, default) def get_bool_setting(key: str, default: bool = False) -> bool: """Get a boolean setting from credential service.""" value = get_setting(key, "false" if not default else "true") return value.lower() in ("true", "1", "yes", "on")