autonomy-labs / app /settings.py
ArunKr's picture
Upload folder using huggingface_hub
6a02a15 verified
from __future__ import annotations
import os
from app.feature_overrides import load_feature_overrides
def env_truthy(name: str, default: bool = False) -> bool:
raw = os.environ.get(name)
if raw is None:
return default
return raw.strip().lower() in {"1", "true", "yes", "on"}
def feature_enabled(feature: str) -> bool:
"""
Safety: when Supabase isn't configured, disable dangerous features by default.
"""
has_supabase = bool(
os.environ.get("SUPABASE_URL")
and (os.environ.get("SUPABASE_KEY") or os.environ.get("SUPABASE_ANON_KEY"))
)
if not has_supabase:
return False
defaults = {
"terminal": True,
"codex": True,
"mcp": True,
"indexing": False,
"rooms": True,
"vault": False,
}
env_map = {
"terminal": "ENABLE_TERMINAL",
"codex": "ENABLE_CODEX",
"mcp": "ENABLE_MCP",
"indexing": "ENABLE_INDEXING",
"rooms": "ENABLE_ROOMS",
"vault": "ENABLE_VAULT",
}
if feature not in env_map:
return False
env_enabled = env_truthy(env_map[feature], default=defaults[feature])
overrides = load_feature_overrides()
if feature in overrides:
return bool(overrides[feature])
return env_enabled