"""Meshtastic Platform Adapter plugin for Hermes Agent. The ``register(ctx)`` entry point resolves the adapter class lazily so the real Hermes gateway API (``gateway.platforms.base``) is imported only at registration time — never at plugin-discovery import time (see ``adapter.get_adapter_class``). """ from .formatting import MAX_LORA_MESSAGE_LENGTH def register(ctx): """Hermes plugin entrypoint.""" from .adapter import check_requirements, get_adapter_class adapter_cls = get_adapter_class() ctx.register_platform( name="meshtastic", label="Meshtastic LoRa", adapter_factory=lambda config: adapter_cls(config), check_fn=check_requirements, max_message_length=MAX_LORA_MESSAGE_LENGTH, emoji="📻", platform_hint=( "You are chatting over Meshtastic LoRa radio. LoRa bandwidth is very low. " "Respond in concise plain text without markdown, bold, tables, or lists. " "Keep answers strictly under 140 characters whenever possible." ), )