Skip to main content

oneagentgraph

Compose agents into a graph over oneharness and onejudge, and merge their outputs into one NDJSON event stream.

One config file and one CLI call: the graph names an oneharness config per role and side, and oneagentgraph prepares each member's launch, supervises liveness, and emits every turn, tool call, fallback, and settle as an event you can pipe into anything.

Install

pip install oneagentgraph-cli      # prebuilt binary, no Rust toolchain
npm install -g oneagentgraph-cli   # the same binary, via npm
cargo install oneagentgraph        # from crates.io, compiled locally

To install a revision that has not been released yet, build it from the repository:

cargo install --git https://github.com/nickderobertis/oneagentgraph --locked

Prebuilt archives for Linux (x86-64, arm64), macOS (Intel, Apple silicon), and Windows (x86-64) are attached to every release, with sha256 checksums.

onejudge is a library dependency, linked into this binary — there is nothing to install for it. run, smoke, and interrupt drive the oneharness CLI, so that has to be on PATH; health, validate, history, persona, trigger, reset-timer, cancel, and sweep need nothing at all — health reads oneharness's own identity sweep through its library, in this process. ONEAGENTGRAPH_ONEHARNESS_BIN names a pinned install instead.

What it does

oneagentgraph run graph.yaml --task "add the retry" --output json

A graph is YAML — members, the oneharness config each side uses, personas, schedules, and dependencies:

version: 2
name: node-scope
members:
  worker:
    kind: onejudge
    base_config: ./onejudge.base.yaml
    agent: { oneharness_config: ./oneharness.toml }
    judge: { oneharness_config: ./oneharness.judge.toml }
    mode: bypass

run streams one envelope per line. Exit 0 means every member settled, 1 that one failed or died, 2 that the config is invalid.

When a member's turn goes the wrong way, oneagentgraph interrupt RUN MEMBER --input "do this instead" redirects it in place instead of discarding it the way cancel does. Exit 3 means there was no controllable turn in flight, and says which — a fact, not an error.

Under disk pressure, oneagentgraph sweep --dry-run says what scratch exists, what is reclaimable, and what it could not examine; without --dry-run it reclaims what it proves is dead. What counts as proof is the liveness rules in the contract, which is where they are stated.

oneagentgraph owns no harness, model, or fallback logic. oneharness keeps owning identity chains, fallback, model pins, and quota classification; onejudge keeps owning the two-party conversation. This composes them.

Develop

just bootstrap   # from a clean clone; installs the oneharness CLI
just check       # the deterministic gate: format, clippy, tests, coverage, docs
just gate        # check + the LLM-judge tier; the pre-push bar

Licence

MIT. See LICENSE.

Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

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

oneagentgraph_cli-0.2.8-py3-none-win_amd64.whl (2.9 MB view details)

Uploaded Python 3Windows x86-64

oneagentgraph_cli-0.2.8-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.8 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

oneagentgraph_cli-0.2.8-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.7 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

oneagentgraph_cli-0.2.8-py3-none-macosx_11_0_arm64.whl (2.6 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

oneagentgraph_cli-0.2.8-py3-none-macosx_10_12_x86_64.whl (2.7 MB view details)

Uploaded Python 3macOS 10.12+ x86-64

File details

Details for the file oneagentgraph_cli-0.2.8-py3-none-win_amd64.whl.

File metadata

File hashes

Hashes for oneagentgraph_cli-0.2.8-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 bbacd466ca053a5a8107137860a753bef10be522b521008925abd8895f9e88a3
MD5 92b40821c39ec0b2bb137011aa117f30
BLAKE2b-256 9f4a3894b32a374f1573f16209822ddd635133a5fcd98116f1053505e4606227

See more details on using hashes here.

File details

Details for the file oneagentgraph_cli-0.2.8-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for oneagentgraph_cli-0.2.8-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fb0efc300b810b04c84046c184aabe073a3f4782fa69335fd82ee26d795fe39c
MD5 2d1187663644f91b67d5f8faa403048b
BLAKE2b-256 ed50c7c34f9fff31814ef69f87c5a9dfb2e60c4642b850027d607f72b3eaca65

See more details on using hashes here.

File details

Details for the file oneagentgraph_cli-0.2.8-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for oneagentgraph_cli-0.2.8-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 674cc8d08313af450594ce3d34b55de32699f5ec720c7689f0c04e3921b48ddf
MD5 c8a1df0bcc48211b25474fbefe42849d
BLAKE2b-256 906ecacced72fe5895fc40327700234122c645a788a2e834152c794863be7684

See more details on using hashes here.

File details

Details for the file oneagentgraph_cli-0.2.8-py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for oneagentgraph_cli-0.2.8-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f3e57a42e9337c9b9faf264f2495f42f0f12c11f0f81b4e7f87168d3eafecb6d
MD5 023b52dd1b1fc075bfcfdb9e727fbc9c
BLAKE2b-256 be556e5bb78690ef7ce5e939670e8856275f4aa3254ff9306c5a4bd74050bcc1

See more details on using hashes here.

File details

Details for the file oneagentgraph_cli-0.2.8-py3-none-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for oneagentgraph_cli-0.2.8-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 2844440557825cfff8a6f04c6eb9cd9f36af5c9228ef7505e7a4934eb09c6d4a
MD5 4c5eef0858582086a2e1cfbaf976e807
BLAKE2b-256 bc1a5b7ba7c3c95626ec13b10136dc7a9a11423f274081ae1d6adcaf9498140e

See more details on using hashes here.

Supported by

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