hermes-agent/gateway/platforms
teknium1 736ffb3bc1
refactor(gateway): migrate telegram adapter (+ telegram_network) to bundled plugin
WIP toward #41112 — the last and largest gateway channel. Telegram adapter +
telegram_network satellite relocated to plugins/platforms/telegram/ with the
network import rewritten to the new package path. register() exposes the
platform with standalone_sender_fn (delegates to the retained _send_telegram
REST sender), apply_yaml_config_fn (full telegram: YAML→env + extra bridge),
setup_fn (delegates to the managed-bot QR wizard via lazy import), and a
_build_adapter that applies the notification-mode resolution that used to live
in gateway/run.py's factory branch. Core touchpoints stripped: run.py factory
branch (was the leading if), config.py 90-line telegram_cfg bridge, gateway.py
static dict + setup-map entry. send_message_tool keeps _send_telegram (the
plugin delegates to it) with its TelegramAdapter imports repointed to the
plugin path. Generic Platform.TELEGRAM references in core (auth maps, bridged
config-loop special-cases, source-platform behavior checks) intentionally
remain — same 'left generic in core' policy as the merged migrations.
2026-06-07 06:23:08 -07:00
..
qqbot fix(qqbot): stop 100% CPU spin when WebSocket is closed but not None (#31193, #31771) (#40574) 2026-06-06 18:44:44 -07:00
__init__.py perf(gateway): defer QQAdapter and YuanbaoAdapter imports via PEP 562 (#22790) 2026-05-09 13:17:48 -07:00
_http_client_limits.py fix(gateway): tighten httpx keepalive and close whatsapp typing-response leak (#18451) 2026-05-02 02:23:37 -07:00
ADDING_A_PLATFORM.md refactor(plugins): add apply_yaml_config_fn registry hook 2026-05-13 22:20:30 -07:00
api_server.py fix(api-server): guard json.loads against corrupted SQLite data in response cache 2026-06-04 06:15:29 -07:00
base.py fix(gateway): plain text while busy interrupts by default again (#40590) 2026-06-06 09:00:10 -07:00
bluebubbles.py refactor(bluebubbles): simplify mention-gating helpers 2026-06-01 18:52:05 -07:00
email.py chore: ruff auto-fix PLR6201 — tuple → set in membership tests (#23937) 2026-05-11 11:13:25 -07:00
helpers.py fix(gateway): preserve underscores in plain-text identifiers 2026-05-16 23:11:43 -07:00
msgraph_webhook.py fix(security): require source CIDR allowlisting for public msgraph webhook binds 2026-05-28 01:26:18 -07:00
signal.py Add Hermes desktop app (#20059) 2026-05-31 17:46:56 -05:00
signal_rate_limit.py feat(gateway/signal): add support for multiple images sending 2026-04-30 04:28:08 -07:00
slack.py fix(slack): re-check gateway auth on approval and slash-confirm buttons 2026-06-07 06:21:37 -07:00
sms.py fix(gateway): add trust_env=True to aiohttp sessions in SMS, Slack, Teams, Google Chat adapters 2026-05-16 23:11:43 -07:00
webhook.py feat(dashboard): complete admin panel — MCP catalog, enable/disable toggles, hook creation, system stats (#36736) 2026-06-02 00:16:11 -04:00
wecom.py fix(gateway): honor WECOM_ALLOWED_USERS in env-only WeCom DM allowlist 2026-06-01 19:20:36 -07:00
wecom_callback.py chore(wecom): make defusedxml dep acquireable and tolerant of absence 2026-05-25 23:30:43 -07:00
wecom_crypto.py feat(gateway): add WeCom callback-mode adapter for self-built apps 2026-04-11 15:22:49 -07:00
weixin.py fix(weixin): replace aiohttp ClientTimeout with asyncio.wait_for in _api_post/_api_get 2026-06-01 17:31:40 -07:00
yuanbao.py fix(gateway): trust adapter-owned access policy over env default-deny (#34515) 2026-05-29 04:22:41 -07:00
yuanbao_media.py chore: ruff auto-fix PLR6201 — tuple → set in membership tests (#23937) 2026-05-11 11:13:25 -07:00
yuanbao_proto.py chore: ruff auto-fix PLR6201 — tuple → set in membership tests (#23937) 2026-05-11 11:13:25 -07:00
yuanbao_sticker.py yuanbao platform (#16298) 2026-04-26 18:50:49 -07:00