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: 3
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.10-py3-none-win_amd64.whl (2.9 MB view details)

Uploaded Python 3Windows x86-64

oneagentgraph_cli-0.2.10-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.10-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.10-py3-none-macosx_11_0_arm64.whl (2.6 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

oneagentgraph_cli-0.2.10-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.10-py3-none-win_amd64.whl.

File metadata

File hashes

Hashes for oneagentgraph_cli-0.2.10-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 932733b073de8c20a08af2b7d06038869c4647485c1c13f419d9733e78b64e26
MD5 346525ce567832104e413f1306a3cc99
BLAKE2b-256 89c7e833a8111322e078afed1b46e9860f2e6a55734cf0754fc828bdbb783d2a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for oneagentgraph_cli-0.2.10-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 52bd0ac0a3568673c590b9832472a85780992d995ebc28a9345f0b79d3353001
MD5 5ac4f6ebd02d1d30b33777cd60cb2e4f
BLAKE2b-256 d7324530c98dcacb8efae0c2e08f4d2dc24f340639bfa93988ad183991fdea10

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for oneagentgraph_cli-0.2.10-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 82226286d332db2b054815275934a72388540b88c0d00b7fe98c31ede901a1fc
MD5 cf51087d1119ec2069be8edb3047e3c4
BLAKE2b-256 6e1cb8f07cbe430b3ade59aba83dfb47813c37854685dcb0d5f1ed7c7b4eec5b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for oneagentgraph_cli-0.2.10-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 24e1280554a5d9557baa95fa220a5e35e242c77046a639aae4ba8b348b781287
MD5 e4c128ddef8865ca4c20214ba8ebfb89
BLAKE2b-256 ebe4d0e6a42683a53dc779993ccc5daf1bac87c96e50bc9ecaa946f900bf5fdb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for oneagentgraph_cli-0.2.10-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 611f9ba0894f3dcc3d28a4b2a9c3b287203f198db83a7c48e827b874a477fbec
MD5 ac8159a00e312d8e47d3872b6aadf8a4
BLAKE2b-256 b9549887a648d3350f76919a5e8b16020f74c03a0402ff1d6ae9199433dbdf14

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