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).
38 lines
1.0 KiB
TOML
38 lines
1.0 KiB
TOML
[build-system]
|
|
requires = ["setuptools>=68", "wheel"]
|
|
build-backend = "setuptools.build_meta"
|
|
|
|
[project]
|
|
name = "hermes-platform-molecule-a2a"
|
|
version = "0.1.0"
|
|
description = "Hermes platform adapter for Molecule A2A peer-agent messaging"
|
|
readme = "README.md"
|
|
requires-python = ">=3.10"
|
|
license = { text = "MIT" }
|
|
authors = [{ name = "Molecule AI" }]
|
|
dependencies = [
|
|
"aiohttp>=3.9",
|
|
]
|
|
|
|
[project.optional-dependencies]
|
|
test = [
|
|
"pytest>=8",
|
|
"pytest-asyncio>=0.23",
|
|
"aiohttp>=3.9",
|
|
]
|
|
|
|
# Hermes plugin discovery loads this entry point at startup.
|
|
# Hermes resolves the value as a module and then calls its top-level
|
|
# ``register(ctx)`` function. Pointing at the package (no colon) makes
|
|
# ep.load() return the module so getattr(module, "register") succeeds.
|
|
[project.entry-points."hermes_agent.plugins"]
|
|
molecule_a2a = "hermes_platform_molecule_a2a"
|
|
|
|
[tool.setuptools.packages.find]
|
|
include = ["hermes_platform_molecule_a2a*"]
|
|
exclude = ["tests*"]
|
|
|
|
[tool.pytest.ini_options]
|
|
asyncio_mode = "auto"
|
|
testpaths = ["tests"]
|