Same migration shape as Molecule-AI/hermes-channel-molecule@754d162.
NousResearch/hermes-agent#17751 (merged 2026-04-30) shipped a
comprehensive pluggable-platform system with:
- ctx.register_platform(name, label, adapter_factory, check_fn, ...)
- Open Platform enum (Platform('molecule-a2a') via _missing_())
Pre-#17751 forks (incl. the patched hermes-agent baked into
template-hermes' Dockerfile today) expose ctx.register_platform_adapter
+ closed Platform + PluginPlatformIdentifier instead. Detect at runtime
in both register() and the adapter's super().__init__ identity arg so
the same wheel installs cleanly on both shapes.
template-hermes can now drop its hermes-agent fork install and use
upstream main once the in-container tests pass on stock hermes-agent.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Hermes-agent platform adapter that delivers Molecule A2A peer-agent
messages to a running hermes daemon over HTTP, and POSTs agent replies
back to the molecule-runtime callback URL.
Closes the MCP-style push parity gap for hermes workspaces:
- Single long-lived adapter session (no subprocess per message)
- MessageEvent(internal=True) bypasses per-platform user allowlist
for trusted A2A peer messages
- Optional shared-secret HMAC enforcement
- Per-chat callback URL learned from inbound payload
Requires hermes-agent ≥ the upstream PR
NousResearch/hermes-agent#18775 (PluginContext.register_platform_adapter
+ GatewayConfig plugin_platforms wiring + PluginPlatformIdentifier
helper + resolve_platform_id deserialization).