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

Uploaded Python 3Windows x86-64

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

Uploaded Python 3macOS 11.0+ ARM64

oneagentgraph_cli-0.2.16-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.16-py3-none-win_amd64.whl.

File metadata

File hashes

Hashes for oneagentgraph_cli-0.2.16-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 f83e10d90cd3c09ac10841440d87ba556862f1bba6a2f139dd6a29dbd7b27895
MD5 9926fd5cfdf46d48e300b73b0019e298
BLAKE2b-256 6955d25a9e47585db0a889512145f38bbc68e5f2285b148e362e8886e47adbc8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for oneagentgraph_cli-0.2.16-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 982c053a99f1d97be658ac970bfa1482da1c103912aa4df12b1e1554805b6c6f
MD5 a9fca704917b389091178a8554ccd031
BLAKE2b-256 614b71f7615166e785c0c41790f48dd9406dfbc06d319b0d82c3154d5eb859cf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for oneagentgraph_cli-0.2.16-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 f528446df83aa951b1568099df909b86d512596a34be77b9920f82ffc324790a
MD5 49c230a6b3be580bf1724e57e2eb1385
BLAKE2b-256 5dec74728c4824e18b50ac3f453c1b836f34ffb04cb22bfaa0b2fe750c8b6203

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for oneagentgraph_cli-0.2.16-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1476b1ad7c5ef2f1048e8f5a4ece3e7e6e49f5dbf67c0c64a5586efc321cb357
MD5 565ff2c4dcc1511dc9371535dd6b7177
BLAKE2b-256 d72b4a13fc2b45bf6d6213e35d46cf8b6b5708367577d64ce4cb86b0ab8345c9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for oneagentgraph_cli-0.2.16-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 e161f22e93fc886658be75c7ade9babb956c9881ffe2f6500ad7fcbca8c35008
MD5 a3236d237d050e0276928d3647579798
BLAKE2b-256 c64a46ab52c0cd6b6a90e6529220f31b3da9077f4d151c4ec602b23a80cfc20c

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