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

Uploaded Python 3Windows x86-64

oneagentgraph_cli-0.2.13-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.9 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

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

Uploaded Python 3macOS 11.0+ ARM64

oneagentgraph_cli-0.2.13-py3-none-macosx_10_12_x86_64.whl (2.8 MB view details)

Uploaded Python 3macOS 10.12+ x86-64

File details

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

File metadata

File hashes

Hashes for oneagentgraph_cli-0.2.13-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 d41733409871be0268d55f6b68f03e137acfa9901add3189ddf6df5a607e8855
MD5 ffc45df6028662dd52d433171cdac667
BLAKE2b-256 7ca0fbbcca914dc4d0cab99e086d1975d4580a95eae715173bac03a89809ef04

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for oneagentgraph_cli-0.2.13-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 38c2c7ed4876f4708dc33abb3482f2b6fe2d8d20811dd64428c55e7e5c9b4b30
MD5 3560b8377583b1ab40fc81967fb97066
BLAKE2b-256 a407229a7a58313923eeb6b8f2fcc15511642111ab3237ea44cbdb67166a5b4e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for oneagentgraph_cli-0.2.13-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 5bc2e28c24245027dbf33658f172e6b85582d188bf67b973b504deca06f7cfeb
MD5 89baba5b8f617189d946082781e30b7d
BLAKE2b-256 d378fa15c61b44b4d0770fca1e72cff01f367b4cdfa5716a93ec9e80ca54b3eb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for oneagentgraph_cli-0.2.13-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2b0e1d07f882d08d25b35dce68d54f95f10fad0d444411cbe435873c8aab81f0
MD5 25dd5e175725fa6d75a8b4f6747fa95d
BLAKE2b-256 31e123576c105c1848270d1e79c9f024aced51115fa717542fbe7097c84a141b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for oneagentgraph_cli-0.2.13-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 9e77ecd8b08033a2923ec80d7b96154d6bb762de6a611eb06ec32c22e74611c6
MD5 6810135060d9c91a2b49ed0549419261
BLAKE2b-256 f242b420c79c61100bd98a118c1abd6c00048ac163cf195d5e5beb6afbc26fc7

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