hermes-channel-molecule/hermes_channel_molecule
Hongming Wang 754d162d99
Some checks failed
CI / test (3.11) (push) Failing after 13m37s
CI / test (3.12) (push) Failing after 13m37s
feat: dual-mode for upstream register_platform (post-#17751) + legacy register_platform_adapter
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') creates a pseudo-member
  via _missing_() when the platform_registry knows about it)

That supersedes my upstream PR #18775 (which used a narrower
register_platform_adapter shape with a closed enum + custom
PluginPlatformIdentifier). Closing #18775 as redundant.

This plugin previously coupled to my fork's API. Migration:

- __init__.py register() now prefers ctx.register_platform when
  available; falls back to ctx.register_platform_adapter on legacy
  forks (template-hermes' baked-in fork until it migrates).
- adapter.py constructs Platform(name) when the enum accepts
  'molecule', else falls back to PluginPlatformIdentifier(name).

Same wheel installs cleanly on stock hermes-agent (post-#17751)
AND on the legacy template-hermes fork build. Removed the test
stub of PluginPlatformIdentifier; tests now stub the open-enum
Platform shape with the same _missing_() behavior the upstream
ships.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-03 07:47:51 -07:00
..
__init__.py feat: dual-mode for upstream register_platform (post-#17751) + legacy register_platform_adapter 2026-05-03 07:47:51 -07:00
adapter.py feat: dual-mode for upstream register_platform (post-#17751) + legacy register_platform_adapter 2026-05-03 07:47:51 -07:00
plugin.yaml Initial commit — hermes platform plugin for the Molecule channel 2026-05-03 03:26:06 -07:00