310c0244df
- Resolve the Hermes gateway API lazily via get_adapter_class() so the adapter
always inherits the real gateway.platforms.base.BasePlatformAdapter instead
of the ImportError fallback stub (root cause of the AttributeError:
'set_message_handler' crash at gateway startup).
- Pass Platform('meshtastic') enum to super().__init__ and align
connect(*, is_reconnect=False) -> bool with the gateway contract.
- Split pure formatting utils into formatting.py; remove the stub fallback.
- Add tests/contract (L0-L3): real-base binding, ABC instantiation, gateway
run.py wiring replay, signature and event-shape conformance, run against
hermes-agent pinned to the deployed image source (v2026.8.31).
- Add scripts/contract-test.sh and a contract-test CI job; release publish
now requires contract tests to pass.
- Untrack stray __pycache__ artifacts.
33 lines
690 B
TOML
33 lines
690 B
TOML
[build-system]
|
|
requires = ["hatchling"]
|
|
build-backend = "hatchling.build"
|
|
|
|
[project]
|
|
name = "hermes-meshtastic"
|
|
version = "0.1.2"
|
|
description = "Meshtastic LoRa mesh gateway adapter plugin for Hermes Agent"
|
|
readme = "README.md"
|
|
requires-python = ">=3.10"
|
|
license = "MIT"
|
|
authors = [
|
|
{ name = "Eric Liu", email = "eric@ericxliu.me" },
|
|
]
|
|
dependencies = [
|
|
"meshtastic>=2.7.11",
|
|
"pypubsub>=4.0.7",
|
|
"protobuf>=4.21.0",
|
|
]
|
|
|
|
[project.entry-points."hermes_agent.plugins"]
|
|
meshtastic-platform = "hermes_meshtastic"
|
|
|
|
[tool.hatch.build.targets.wheel]
|
|
packages = ["hermes_meshtastic"]
|
|
|
|
[tool.hatch.build.targets.sdist]
|
|
exclude = [
|
|
".venv-contract",
|
|
".hermes-src",
|
|
"tests",
|
|
]
|