fix: declare undeclared soft deps in extras and remove silent import guards

Previously mutagen, aiohttp-socks, tiktoken, Pillow, psutil, datasets,
neutts, and soundfile were used behind try/except ImportError with silent
fallbacks, masking broken functionality at runtime.  Declare each in its
natural extra (messaging, cli, mcp, rl, new tts-local) so they get
installed, and remove the guards so missing deps crash loudly.
This commit is contained in:
alt-glitch 2026-04-21 16:20:45 +05:30
parent f8d2365795
commit 72e7c0ce34
10 changed files with 31 additions and 72 deletions

View file

@ -183,18 +183,10 @@ def proxy_kwargs_for_bot(proxy_url: str | None) -> dict:
if not proxy_url:
return {}
if proxy_url.lower().startswith("socks"):
try:
from aiohttp_socks import ProxyConnector
from aiohttp_socks import ProxyConnector
connector = ProxyConnector.from_url(proxy_url, rdns=True)
return {"connector": connector}
except ImportError:
logger.warning(
"aiohttp_socks not installed — SOCKS proxy %s ignored. "
"Run: pip install aiohttp-socks",
proxy_url,
)
return {}
connector = ProxyConnector.from_url(proxy_url, rdns=True)
return {"connector": connector}
return {"proxy": proxy_url}
@ -216,18 +208,10 @@ def proxy_kwargs_for_aiohttp(proxy_url: str | None) -> tuple[dict, dict]:
if not proxy_url:
return {}, {}
if proxy_url.lower().startswith("socks"):
try:
from aiohttp_socks import ProxyConnector
from aiohttp_socks import ProxyConnector
connector = ProxyConnector.from_url(proxy_url, rdns=True)
return {"connector": connector}, {}
except ImportError:
logger.warning(
"aiohttp_socks not installed — SOCKS proxy %s ignored. "
"Run: pip install aiohttp-socks",
proxy_url,
)
return {}, {}
connector = ProxyConnector.from_url(proxy_url, rdns=True)
return {"connector": connector}, {}
return {}, {"proxy": proxy_url}

View file

@ -1194,9 +1194,10 @@ class DiscordAdapter(BasePlatformAdapter):
try:
import base64
from mutagen.oggopus import OggOpus
duration_secs = 5.0
try:
from mutagen.oggopus import OggOpus
info = OggOpus(audio_path)
duration_secs = info.info.length
except Exception: