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: 6
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.18-py3-none-win_amd64.whl (5.3 MB view details)

Uploaded Python 3Windows x86-64

oneagentgraph_cli-0.2.18-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.2 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

oneagentgraph_cli-0.2.18-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (4.9 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

oneagentgraph_cli-0.2.18-py3-none-macosx_11_0_arm64.whl (4.7 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

oneagentgraph_cli-0.2.18-py3-none-macosx_10_12_x86_64.whl (5.0 MB view details)

Uploaded Python 3macOS 10.12+ x86-64

File details

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

File metadata

File hashes

Hashes for oneagentgraph_cli-0.2.18-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 566cfdde916ebbf3132c8eac05c2effcccfa38cb5fcecd56ce1f715c6d9dda98
MD5 9a66589d17bb22b009c59457e86c9ca4
BLAKE2b-256 9e22b9f548012d577db6d10fa42fa42dbf56077c1fc69b3eaa2de0acf4f72ae2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for oneagentgraph_cli-0.2.18-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3f318f7c2fe6a1ec1a9d744dcfc9b70c126049b0e4cda3e6c03fe97bb7ee3cb1
MD5 ff678fd721b7e2c02221bde3a36b98b0
BLAKE2b-256 88da4b56c52c1ace04d548fa4b3441e42edf425e5961a3689f8220982e9b6495

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for oneagentgraph_cli-0.2.18-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 89dfd19651e6c5311858f05aec37037fb789efce575a9cf1127aa42263f59625
MD5 9899143e1802cd438598a73f8f118c3b
BLAKE2b-256 2381125dcafd783325d05e50ec9bbb41032838e15ab21977858f27bf41ad592d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for oneagentgraph_cli-0.2.18-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4d65a4920353eb2c1a461bc67859c74ea20426232e8b70b93e2b55b6f722837b
MD5 2fd1fa7ddcdf2a9d2d925c7628104425
BLAKE2b-256 597b7a1680c244ca217d88a1e5e059d955af76e4249fcd9b5d194f124166f62e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for oneagentgraph_cli-0.2.18-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 80fb301e52b58e087c52b16e7956dfbb1b1307ba577e265016de3a4a6986e639
MD5 7dee4552a56c4ab6926ffaf8dfd96e77
BLAKE2b-256 0d10bd12a9e15c2dfdcce6a377191bdd27efde4cbca6963308759d1399cba499

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