Skip to main content

Route Hermes delegate_task(background=True) to named, persistent AgentMint subagents.

Project description

agentmint-hermes-runner

Route Hermes delegate_task(background=True) to named, persistent AgentMint subagents.

Positioning + full quickstart in agentmint-hermes/SKILL.md.

Status

v0.4.0 — alpha. Auth backends: BearerAuth (Stripe-Link), TempoAuth (Tempo USDC.e). Polling-only delivery. Hermes feature coverage matrix in agentmint-hermes/SKILL.md.

Install in Hermes

hermes skills install mesutcelik/agentmint-hermes/agentmint-hermes

(The third segment is the skill subfolder inside the repo, per Hermes' GitHubSource convention.)

Three-line Hermes wiring (Strategy B)

import os
from agentmint_hermes_runner import (
    AgentMintDispatcher, BearerAuth, install_delegate_task_wrapper,
)

dispatcher = AgentMintDispatcher(auth=BearerAuth(jwt=os.environ["AGENTMINT_JWT"]))
install_delegate_task_wrapper(dispatcher, default_agent_name="default-worker")

Every delegate_task(background=True) inside Hermes now routes to AgentMint's default-worker subagent. Its /workspace/MEMORY.md accumulates across every delegation. No HTTPS, no ngrok, no webhook secret — a daemon thread polls agent.run.status (free, Bearer-only) every 5 s and pushes completions onto Hermes' completion_queue directly. Server-side requires AgentMint API ≥ 0.7.0 for the polling endpoint.

Install

pip install agentmint-hermes-runner

Surface

from agentmint_hermes_runner import (
    AgentMintDispatcher,
    AgentMintWebhookReceiver,
    BearerAuth, TempoAuth,
    Task,
)

dispatcher = AgentMintDispatcher(
    auth=BearerAuth(jwt=os.environ["AGENTMINT_JWT"]),
    webhook_url="https://my-gateway.example.com/agentmint-webhook",  # optional
)

# Single dispatch (Hermes delegate_task analog):
result = dispatcher.dispatch(
    agent_name="reviewer-myrepo",
    goal="Review the diff in /workspace/pr-42 and flag risks.",
    context="Project at /workspace, Python 3.11, uses Flask + PyJWT.",
    toolsets=["terminal", "file"],   # "web" raises UnsupportedToolset in v0.2
    role="leaf",                      # or "orchestrator"
    max_iterations=50,
    child_timeout_seconds=600,        # floor 30s; fires agent.cancel on expiry
)

# Batch dispatch (Hermes tasks=[…] analog):
results = dispatcher.dispatch_batch(
    tasks=[
        Task(agent_name="researcher-wasm", goal="WASM 2026 survey", context="…"),
        Task(agent_name="researcher-riscv", goal="RISC-V 2026 survey", context="…"),
    ],
    max_concurrent_children=3,
    child_timeout_seconds=900,
)
# results in input order; failed/timeout/interrupted statuses returned in-band

Test

pip install -e ".[dev]"
pytest
ruff check .

Known unsupported (v0.2)

  • toolsets=["web"] — no canonical AgentMint web-fetch skill yet. The supported harnesses (claude-code / codex / opencode) all have built-in web access via the harness itself, but we don't expose a Hermes-symmetric toolset for it. Raises UnsupportedToolset at compose time so the gap is loud, not silent.
  • max_spawn_depth — AgentMint sandboxes aren't structurally bounded by depth.

License

MIT

Project details


Download files

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

Source Distribution

agentmint_hermes_runner-0.4.0.tar.gz (22.2 kB view details)

Uploaded Source

Built Distribution

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

agentmint_hermes_runner-0.4.0-py3-none-any.whl (16.1 kB view details)

Uploaded Python 3

File details

Details for the file agentmint_hermes_runner-0.4.0.tar.gz.

File metadata

  • Download URL: agentmint_hermes_runner-0.4.0.tar.gz
  • Upload date:
  • Size: 22.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for agentmint_hermes_runner-0.4.0.tar.gz
Algorithm Hash digest
SHA256 624e18ba7a88ed2666abe323a8d65df2ec01ddce86d451107732b586f133cdd1
MD5 d684a39f375ffe5b086fa2402ce2d7eb
BLAKE2b-256 3198c17dd7fb1e83b03dcae1d139a3bab7702aac8517f076d0a3a3504261242c

See more details on using hashes here.

Provenance

The following attestation bundles were made for agentmint_hermes_runner-0.4.0.tar.gz:

Publisher: release.yml on mesutcelik/agentmint-hermes

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file agentmint_hermes_runner-0.4.0-py3-none-any.whl.

File metadata

File hashes

Hashes for agentmint_hermes_runner-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 66ce5b7ea06c71e819405bed225bd1eccb8267c6f7099c17a65d5d1e9dbdadb3
MD5 6c607da3ce1cd39957a9e49e0af68e04
BLAKE2b-256 db8f5a493be01e1fbf82e51ad8e769911b6b4a2225b8d1620de0bf284bda362b

See more details on using hashes here.

Provenance

The following attestation bundles were made for agentmint_hermes_runner-0.4.0-py3-none-any.whl:

Publisher: release.yml on mesutcelik/agentmint-hermes

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page