mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-11-06 13:26:40 +00:00
The Channels page catalog (_PLATFORM_OVERRIDES) and the PUT env-value validators (_ENV_VALUE_RULES) duplicated per-platform data the bundled platform plugins can declare. Each plugin now declares its card on its PlatformEntry (new dashboard block: dashboard_label, dashboard_description, docs_url, dashboard_env_vars, dashboard_required_env, env_value_rules); core keeps static rows only for the core-only platforms (api_server, webhook, msgraph_webhook, relay). Telegram/Slack validators move into their plugins. The PUT route resolves the rules right after _require_platform (catalog build already materialized every entry, so nothing extra is imported) and before entering _profile_scope, where the registry's profile overlay may not hold the entry. Adapters over their size cap (discord, feishu, matrix, slack, telegram) keep the card in a sibling dashboard_card.py, imported relatively so no second canonical copy of the adapter module loads; surplus blank lines offset the two added lines. Behaviour identity: differential oracle over the real route handlers (GET /api/messaging/platforms root + profile, PUT valid/invalid per rule root + profile) is byte-identical to base.