Skip to main content

hermes-atm installation

hermes-atm is the package-owned Hermes gateway hook for ATM graft nudges. It installs one receiver for one Hermes profile and injects delivered nudges through the public GatewayRunner.inject_internal_message(..., mode="queue") API. It does not open an ATM database, select a Hermes adapter, or require any post-install source edits.

Required settings

Collect these values before installation. Keep the chat identifier in local profile configuration or the launch agent; do not put it in source, commits, or shared install notes.

Setting Purpose Must match
profile Hermes profile to receive nudges Gateway launch profile
profile_home Directory containing that profile's hooks/ directory ATM roster home_dir
identity ATM agent/member name ATM roster member name
team ATM team containing the member ATM roster team
chat_id Hermes session chat binding Gateway's configured session
atm_home ATM durable home ATM_HOME for the profile
workspace_root Canonical graft endpoint root ATM roster workspace_root exactly
launch_agent_plist Gateway LaunchAgent plist Its first ProgramArguments entry must be the Python running this installer

The workspace_root equality is mandatory. ATM post-send delivery resolves a recipient endpoint from roster metadata. If the receiver is installed beneath one root while the roster names another, atm send can persist a message but the nudge will fail closed because it cannot find or contact the receiver.

Clean installation sequence

  1. Install a Hermes Agent version that exposes the public GatewayRunner.inject_internal_message and gateway.config.Platform.TELEGRAM host seams.

  2. Configure the profile's launch agent with ATM_HOME, ATM_IDENTITY, ATM_TEAM, ATM_CHAT_ID, and ATM_WORKSPACE_ROOT.

  3. Install the immutable wheels into that launch agent's Python environment:

    python -m pip install --upgrade atm-graft hermes-atm
    
  4. Publish the same profile and graft root to ATM's roster. Run this using the profile's ATM identity and team:

    atm teams update-member <team> <identity> \
      --home-dir <profile-home> \
      --workspace-root <workspace-root> \
      --harness hermes
    
  5. Run the package installer with the launch agent's Python. The command validates the public Hermes capability and interpreter match before it writes the standard generated hook and the package-owned native-tools plugin. It also declaratively enables hermes-atm-native-tools and its atm toolset for every configured Hermes platform in config.yaml; do not make those configuration edits by hand:

    python -m hermes_atm install \
      --profile <profile> \
      --profile-home <profile-home> \
      --identity <identity> \
      --team <team> \
      --chat-id "$ATM_CHAT_ID" \
      --atm-home "$ATM_HOME" \
      --workspace-root "$ATM_WORKSPACE_ROOT" \
      --launch-agent-plist <gateway-launch-agent.plist>
    
  6. Reset the profile gateway. The restart loads the generated hook and publishes the receiver record under <workspace-root>/.atm/graft/<team>/<identity>.json.

  7. From the same profile identity, send a localhost message to the profile and require an autonomous reply. Only that reply proves the full path: ATM send, receiver, Hermes queue injection, and agent context processing.

Native ATM tools

The same installer registers exactly three native Hermes tools through the public plugin API: atm_send, atm_read, and atm_list. They use the typed atm-graft client and the installed profile's identity, team, and workspace; tool arguments cannot override those profile settings. atm_read is read-only and atm_list returns bounded metadata. Administrative and advanced CLI operations remain atm CLI operations.

For the reproducible native-tool proof, see NATIVE_TOOLS_PROOF.md. The implementation checklist and validation record are in TASKLIST.md.

Do not edit hooks/hermes-atm/handler.py, HOOK.yaml, or config.json after installation. To change package behavior, publish a new wheel, reinstall it, rerun python -m hermes_atm install, reset the gateway, and repeat the proof.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hermes_atm-1.4.4.tar.gz (19.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

hermes_atm-1.4.4-py3-none-any.whl (13.9 kB view details)

Uploaded Python 3

File details

Details for the file hermes_atm-1.4.4.tar.gz.

File metadata

  • Download URL: hermes_atm-1.4.4.tar.gz
  • Upload date:
  • Size: 19.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.9.4

File hashes

Hashes for hermes_atm-1.4.4.tar.gz
Algorithm Hash digest
SHA256 ed1cc21ffb505a69046d231b1d57f94ad0a5871bcf2f943e76d9c877730779e3
MD5 f430611a82daaffdcd6910c783c4d60f
BLAKE2b-256 5d0caaa071208dafa30b22b7a30e7a4aad1cb2b9ba4c6953ca3327fc2ffbd160

See more details on using hashes here.

File details

Details for the file hermes_atm-1.4.4-py3-none-any.whl.

File metadata

  • Download URL: hermes_atm-1.4.4-py3-none-any.whl
  • Upload date:
  • Size: 13.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.9.4

File hashes

Hashes for hermes_atm-1.4.4-py3-none-any.whl
Algorithm Hash digest
SHA256 dfd92d829f716228b50e81e6899909af6e27c8d15dc776b6bae0236d2dd3e583
MD5 225504803c34c3dc353a637ddfe28e49
BLAKE2b-256 b03b8221850660fc1764bfe444816c12385f06f35471acf6e02d0394dc83e2a8

See more details on using hashes here.

Release history Release notifications | RSS feed

1.5.0

2 files

This release

1.4.4 This release

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page