hermes-agent/plugins/platforms
baau b51c4e6a78 fix(feishu): defer the lark_oapi import off the startup path
Salvage of #57657, ported onto the plugin layout (the adapter moved
from gateway/platforms/feishu.py to plugins/platforms/feishu/adapter.py
since the PR's base). lark_oapi takes seconds to import and holds the
GIL doing it; the module-level import made every gateway boot pay that
cost even with Feishu unconfigured.

- _load_lark_oapi() with double-checked locking binds the SDK globals
  on first use; connect() and _standalone_send() call it via
  asyncio.to_thread so the loop never blocks on the import.
- probe_bot() also calls _load_lark_oapi() (sync context) so the SDK
  probe path is preserved rather than silently degrading to the HTTP
  fallback before a first connect.
- check_feishu_requirements() is install-only and no longer rebinds
  globals; test_feishu.py gets a setUpModule that binds them eagerly
  for tests that inject fake clients.

Includes the dedicated lazy-import test file (check-does-not-import,
connect-loads-on-worker-thread).
2026-08-03 17:24:11 +05:30
..
a2a docs(a2a): website docs page + canonical agent-card.json path in prose 2026-08-02 15:10:15 -07:00
buzz fix(secrets): Slack-pattern scoped credential reads — Feishu, WeCom, Photon, Buzz 2026-08-02 10:00:44 -07:00
dingtalk fix(secrets): Slack-pattern scoped credential reads — ntfy, Home Assistant, SMS, DingTalk 2026-08-02 10:00:44 -07:00
discord fix(discord): suppress link embeds in tool preview markdown links 2026-08-02 21:48:06 -07:00
email fix(email): Slack-pattern helper for unscoped default-profile adapter + scope ports/trust flag 2026-08-02 10:01:16 -07:00
feishu fix(feishu): defer the lark_oapi import off the startup path 2026-08-03 17:24:11 +05:30
google_chat fix(deps): repair Google transitive security floors (#72108) 2026-07-31 23:18:38 -07:00
homeassistant fix(secrets): Slack-pattern scoped credential reads — ntfy, Home Assistant, SMS, DingTalk 2026-08-02 10:00:44 -07:00
irc fix(secrets): Slack-pattern scoped credential reads — IRC, LINE, Teams, Mattermost 2026-08-02 10:00:44 -07:00
line fix(platforms/line): fix broken import of non-existent config functions 2026-08-03 16:54:02 +05:30
matrix fix(matrix): pickle key from resolved device ID, skip migration after reset, cache enc info 2026-08-03 10:03:35 +05:30
mattermost fix(secrets): Slack-pattern scoped credential reads — IRC, LINE, Teams, Mattermost 2026-08-02 10:00:44 -07:00
ntfy fix(secrets): Slack-pattern scoped credential reads — ntfy, Home Assistant, SMS, DingTalk 2026-08-02 10:00:44 -07:00
photon fix(secrets): Slack-pattern scoped credential reads — Feishu, WeCom, Photon, Buzz 2026-08-02 10:00:44 -07:00
raft fix(security): widen non-ASCII compare_digest crash fix to all sibling sites 2026-07-16 07:22:24 -07:00
simplex feat(gateway): simplex channel enumeration + show configured platforms in hermes send --list 2026-08-02 15:08:45 -07:00
slack fix(secrets): scope-aware standalone-send and startup credential reads in platform adapters 2026-08-02 10:02:33 -07:00
sms fix(secrets): Slack-pattern scoped credential reads — ntfy, Home Assistant, SMS, DingTalk 2026-08-02 10:00:44 -07:00
teams fix(secrets): Slack-pattern scoped credential reads — IRC, LINE, Teams, Mattermost 2026-08-02 10:00:44 -07:00
telegram fix(secrets): scope-aware standalone-send and startup credential reads in platform adapters 2026-08-02 10:02:33 -07:00
wecom fix(secrets): Slack-pattern scoped credential reads — Feishu, WeCom, Photon, Buzz 2026-08-02 10:00:44 -07:00
whatsapp fix(whatsapp): default-profile UnscopedSecretError fallback + full bridge env set 2026-08-02 00:11:50 -07:00