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

Uploaded Python 3Windows x86-64

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

Uploaded Python 3macOS 11.0+ ARM64

oneagentgraph_cli-0.2.9-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.9-py3-none-win_amd64.whl.

File metadata

File hashes

Hashes for oneagentgraph_cli-0.2.9-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 733e43101b65d8e123c5eae164c655d34d968883559c53c1a0b67570fffe4148
MD5 65458d2647252c57477c21bd9297532b
BLAKE2b-256 bfe4d1f62ffc260cd38426a3dc112da7afe982a892eea988bc6dee9f87bd9d34

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for oneagentgraph_cli-0.2.9-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9ffb374a40221e11b4e4065e33f3b5e2fdcf5d22797ea5d75f6a140555727313
MD5 7de62db6ca51b1f1c23a4cca12f89c25
BLAKE2b-256 f6c3a30751a7a3de870759a5e9e37986feafd92d2ffac17767474614f5afc9e5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for oneagentgraph_cli-0.2.9-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 9608ff9effa24aa9b078f79583b651be6b2c8e562f039807a33961d3bd161690
MD5 982242253347e82f6357162580942371
BLAKE2b-256 2ab6ca6deda4702a8ea12c806dd102173c30710fc0c8942ed88bf56e3bc9192c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for oneagentgraph_cli-0.2.9-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 da1db49cfe2246d7743f79253f1ad7b83213c4ff35fe56ef93ee266de4cc6e6f
MD5 40ec5c5bfb4a53de8320e9bb47cba35c
BLAKE2b-256 cd5c771596f9e4e322e7fef6d4f81573b22e38018303fc14a23856cd0b7e91ab

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for oneagentgraph_cli-0.2.9-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 16b3ac85d4a72fefb1bcc57e1da6b2272a10b0ffcb50cb3309a5dc8956960d86
MD5 6369873b6b4bde445d8e153fc61fead0
BLAKE2b-256 4d6372e6f3d5c174d3f13fe36be700e6f80a9a00732e37f88175460b277fd99e

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