Skip to main content

onemessagebus

A typed NDJSON message bus for agent communication — and for anything else that speaks in events. One envelope, one filter grammar, payload bounds and redaction, a schema registry with version read-sets, and an emitter and reader over streams, generic over the vocabulary a consumer declares.

Three artifacts:

  • onemessagebus — the core library. It knows the shape of an envelope and none of the words: which sources exist, which label keys are reserved and which top-level dimensions an envelope carries are a Vocabulary's to declare. Open reserves nothing; a vocabulary of your own is proven through the same conformance table the agent one is.
  • onemessagebus-agent — the agent profile: the sources agentgraph, vcs, pipeline; the phase dimension; the reserved labels run_id, round, node, step, member, persona; and the schema families the stack registers (agent.event-envelope at [2, 1], agent.reply-envelope at [3, 2]). Its types serialize to the bytes oneagentgraph, onevcs and onepipeline write today, which the recorded streams under crates/onemessagebus-agent/tests/recorded/ prove byte for byte.
  • onemessagebus, the binary — schema list|check|gen|register over the registry, events merge|emit over streams with --profile agent (the default) or --profile open, deliver and inbox carried over the inbox — a typed channel into a running process whose sender learns what the receiver did with each message — and send, next, reply, subscribe and status over durable queues kept on a transport a configuration names, with transports listing the kinds a transport can be, ask raising a question and waiting for the one reply that echoes its correlation, validate judging a record by a queue's validators before anything is sent, and serve answering a onejudge member's frames as its judge side. The local transport keeps the planner channel's files byte-compatible with onepipeline, and a distributed one is a plugin rather than a consumer change.

Install the command line

pip install onemessagebus-cli          # PyPI wheel, no toolchain needed
npm install -g onemessagebus-cli       # npm launcher, no toolchain needed
cargo install --git https://github.com/nickderobertis/onemessagebus onemessagebus-cli --locked
$ echo '{"note":"hello"}' | onemessagebus events emit run.ndjson --kind note-left --stream s-1 --source vcs --label run_id=R
{"v":1,"ts":"2026-09-13T06:16:27.838Z","stream":"s-1","seq":1,"source":"vcs","kind":"note-left","labels":{"run_id":"R"},"payload":{"note":"hello"},"artifacts":[]}
$ onemessagebus events merge run.ndjson other.ndjson --filter '{"include":[{"source":"vcs"}]}' --format text
$ onemessagebus schema check agent.event-envelope@2 --file envelope.json

docs/cli.md is the whole command line; docs/wire.md is the wire; docs/contract.md is the approved contract the consumers restate from.

Use the library

use onemessagebus_agent::{Emitter, EventFilter, Labels, Source};
use serde_json::Map;

let emitter = Emitter::new("run-1", Source::Vcs, Box::new(std::io::stdout()))
    .with_labels(Labels { run_id: Some("R".into()), ..Labels::default() })
    .with_filter(EventFilter::parse(r#"{"exclude":[{"kind":"heartbeat"}]}"#)?);
let envelope = emitter.emit("push", Map::new());
assert_eq!(envelope.seq, 1);

Every wire value is a Rust type with serde and schemars derivations, and the public API is stated in docs/contract.md.

Develop

just bootstrap   # from a clean clone
just check       # the deterministic gate: format, lint, tests incl. the binary journeys, docs, coverage
just gate        # check plus the diff-scoped LLM-judge tier; the bar before a push

AGENTS.md is the instruction layer; just --list is the command surface.

Metadata

Release files for onemessagebus-cli 0.4.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for onemessagebus-cli 0.4.0
File
onemessagebus_cli-0.4.0-py3-none-win_amd64.whl Python 3 none Windows x86-64 Details
onemessagebus_cli-0.4.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl Python 3 none Linux glibc 2.17+ x86-64 Details
onemessagebus_cli-0.4.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl Python 3 none Linux glibc 2.17+ ARM64 Details
onemessagebus_cli-0.4.0-py3-none-macosx_11_0_arm64.whl Python 3 none macOS 11.0+ ARM64 Details
onemessagebus_cli-0.4.0-py3-none-macosx_10_12_x86_64.whl Python 3 none macOS 10.12+ x86-64 Details

Total release size: 14.6 MB

Release files / onemessagebus_cli-0.4.0-py3-none-win_amd64.whl

Download URL onemessagebus_cli-0.4.0-py3-none-win_amd64.whl
Size 3.1 MB
Tags Python 3 Windows x86-64
SHA-256 checksum
How to use checksums
0b03d498805ce47338522a856a811a10ec6ab9df8e443bd3c2521404a69fa8e2
BLAKE2b-256 checksum
How to use checksums
0844f382ba3d65bdd3186d622f6d619a50364cc3a9b842cb0dd987a8273c01fe
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / onemessagebus_cli-0.4.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL onemessagebus_cli-0.4.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 3.0 MB
Tags Linux glibc 2.17+ x86-64 Python 3
SHA-256 checksum
How to use checksums
610ff57c18d9c93b59392d089a0a01214b86d5b6a70f8fae9bb712731bf0b567
BLAKE2b-256 checksum
How to use checksums
230cbfa3172ca8d0be7f9433268f69ef3e06868205066d47b78eb6af2d5281e9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / onemessagebus_cli-0.4.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL onemessagebus_cli-0.4.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 2.8 MB
Tags Linux glibc 2.17+ ARM64 Python 3
SHA-256 checksum
How to use checksums
8ee30e39955921dde359dead197da890c3dd4fd4aa12a81105c51f92d49b4407
BLAKE2b-256 checksum
How to use checksums
e5dd5ff6b92455d61ba3371675f18f30ee1b08856b165e9a0d3b53253feb8ffe
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / onemessagebus_cli-0.4.0-py3-none-macosx_11_0_arm64.whl

Download URL onemessagebus_cli-0.4.0-py3-none-macosx_11_0_arm64.whl
Size 2.7 MB
Tags Python 3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
b93c9e95e7179b6b8a56f2160780a9b855d18bf37ac3e27c1a8ddeb4a8a6a7eb
BLAKE2b-256 checksum
How to use checksums
da1f539bf7e0c2126536f69438b9ab49f5dda4451974486989404fe40a270e6e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / onemessagebus_cli-0.4.0-py3-none-macosx_10_12_x86_64.whl

Download URL onemessagebus_cli-0.4.0-py3-none-macosx_10_12_x86_64.whl
Size 2.9 MB
Tags Python 3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
d09c4d7e95480c3ad948307ebb50db3dee9f0edde72bbf770e9076bcd9c47d38
BLAKE2b-256 checksum
How to use checksums
e67d6b346ab6f584fa9cd3bf349b9eab0c74ea9a5622745bc64df416d04f96fe
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release history Release notifications | RSS feed

0.9.0

5 release files

0.8.0

5 release files

0.7.0

5 release files

0.6.0

5 release files

0.5.0

5 release files

This release

0.4.0 This release

5 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page