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.17-py3-none-win_amd64.whl (4.8 MB view details)

Uploaded Python 3Windows x86-64

oneagentgraph_cli-0.2.17-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.7 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

oneagentgraph_cli-0.2.17-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (4.4 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

oneagentgraph_cli-0.2.17-py3-none-macosx_11_0_arm64.whl (4.3 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

oneagentgraph_cli-0.2.17-py3-none-macosx_10_12_x86_64.whl (4.6 MB view details)

Uploaded Python 3macOS 10.12+ x86-64

File details

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

File metadata

File hashes

Hashes for oneagentgraph_cli-0.2.17-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 4b225c310abc1effd2a64ab0da3c1a17ce76d208728845418924b4ceea70e777
MD5 664246196d9c899e02c72de0f7bf64a2
BLAKE2b-256 bc5f22cc35368ed4ff222867a1484e6e254a2cfc66e256f7276d91c8edc26813

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for oneagentgraph_cli-0.2.17-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f7dc9b9e17f291159b94d6a30b02bc1429a1abd62a3f4694bca33fce25ba53f0
MD5 c7c6b0fc43694231de656809f6e0d9d4
BLAKE2b-256 5f06607125752e20be443c33bfc900a619aa9cba5e28c1ad4487e5ee37cb6f7f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for oneagentgraph_cli-0.2.17-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 0daa3f8db316470c679a2a0231ddc659b377aef5afa185be9410300a873b70aa
MD5 3588a00854e09e22540967b1c8308a58
BLAKE2b-256 375c5dfd808d3a2d97d45574e98dbb68ce850a90637004dd39fbb4196ea160cc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for oneagentgraph_cli-0.2.17-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1ecd57512d8040358c04001870e0319fbb7a8708acb726949bf0ea7883dc4049
MD5 cfc2583fe65faf5785647b871b98a5ae
BLAKE2b-256 59fef5817604ee6d135df2f2b3e2f7d1787c3c619d69407a869a780b8610f964

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for oneagentgraph_cli-0.2.17-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 017283a977d06213e02b267e901b6c3dd6398cc5d83d4dd45027e2d2ae469d61
MD5 8fd542fbf1cd6e0ecff997b4e8f895cb
BLAKE2b-256 1b625c874b1ce9e3667bc560334239320b022433b0f6214435407f545b4144e7

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