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

Uploaded Python 3Windows x86-64

oneagentgraph_cli-0.2.19-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.19-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.19-py3-none-macosx_11_0_arm64.whl (4.7 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

oneagentgraph_cli-0.2.19-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.19-py3-none-win_amd64.whl.

File metadata

File hashes

Hashes for oneagentgraph_cli-0.2.19-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 cffcecf6b7ca7bc5ae9b2eeeb4d596214e7a6970a5e935b019de4ad14e9781d1
MD5 da20c64c2ac5f4a261c85432944238b5
BLAKE2b-256 ca86c74ef84afcc153b3acc2d77f7ead598daf89d91615d2aae019429c5cbfa2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for oneagentgraph_cli-0.2.19-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4171912872c1c7da95c0ac280d8703027e0ab79a98864d9f3ccdbe24f694c6a9
MD5 ed489020b1ba65985ffe8a5636ce8352
BLAKE2b-256 92b743f2806a5b1aa66d9b78130de9ce3a3d0bb5293e804926c10e6a4e1b8cc6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for oneagentgraph_cli-0.2.19-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 044061cbbb06745e3af0c527386792ad3d27b36735b8704b5d7c2184a05757f3
MD5 5425ddbcee123de6234d77b4faa0184e
BLAKE2b-256 b5e395ee5584d2204bbc80c7efbb6ebe78dabb7ec0fa1c7a1aafeb4636d406fa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for oneagentgraph_cli-0.2.19-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9f0c65c01bb51340ac151d37ec8f07115e6bd3e09f6dc3785952cf19a2e8f847
MD5 f608886ebf018ec2853a4e09524f1909
BLAKE2b-256 91a8635355b57e4bf0c7ed01a86d0365b06f4e216141bb80577532faac23b715

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for oneagentgraph_cli-0.2.19-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 3240508f4648321c69aa848c2ac8b6ad50d13dd9a2825d6f8dce70c7f98cc250
MD5 c4e810115495d0d7f92b130dd70f31ac
BLAKE2b-256 55f41b07154abda38fb3625d473c6fda9147467e175b236a90541313ffca6257

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