onemessagebus-cli 0.4.0__py3-none-win_amd64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,102 @@
1
+ Metadata-Version: 2.4
2
+ Name: onemessagebus-cli
3
+ Version: 0.4.0
4
+ Classifier: Development Status :: 3 - Alpha
5
+ Classifier: Environment :: Console
6
+ Classifier: Intended Audience :: Developers
7
+ Classifier: License :: OSI Approved :: MIT License
8
+ Classifier: Operating System :: OS Independent
9
+ Classifier: Programming Language :: Rust
10
+ Classifier: Topic :: Software Development :: Libraries
11
+ License-File: LICENSE
12
+ Summary: A typed NDJSON message bus: schema registry verbs and stream verbs over the agent profile.
13
+ Keywords: ndjson,events,message-bus,schema,cli
14
+ Home-Page: https://github.com/nickderobertis/onemessagebus
15
+ Author: Nick DeRobertis
16
+ License: MIT
17
+ Requires-Python: >=3.9
18
+ Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
19
+ Project-URL: Homepage, https://github.com/nickderobertis/onemessagebus
20
+ Project-URL: Repository, https://github.com/nickderobertis/onemessagebus
21
+
22
+ # onemessagebus
23
+
24
+ A typed NDJSON message bus for agent communication — and for anything else
25
+ that speaks in events. One envelope, one filter grammar, payload bounds and
26
+ redaction, a schema registry with version read-sets, and an emitter and reader
27
+ over streams, generic over the **vocabulary** a consumer declares.
28
+
29
+ Three artifacts:
30
+
31
+ - **`onemessagebus`** — the core library. It knows the shape of an envelope and
32
+ none of the words: which sources exist, which label keys are reserved and
33
+ which top-level dimensions an envelope carries are a `Vocabulary`'s to
34
+ declare. `Open` reserves nothing; a vocabulary of your own is proven through
35
+ the same conformance table the agent one is.
36
+ - **`onemessagebus-agent`** — the agent profile: the sources `agentgraph`,
37
+ `vcs`, `pipeline`; the `phase` dimension; the reserved labels `run_id`,
38
+ `round`, `node`, `step`, `member`, `persona`; and the schema families the
39
+ stack registers (`agent.event-envelope` at `[2, 1]`, `agent.reply-envelope`
40
+ at `[3, 2]`). Its types serialize to the bytes `oneagentgraph`, `onevcs` and
41
+ `onepipeline` write today, which the recorded streams under
42
+ `crates/onemessagebus-agent/tests/recorded/` prove byte for byte.
43
+ - **`onemessagebus`**, the binary — `schema list|check|gen|register` over the
44
+ registry, `events merge|emit` over streams with `--profile agent` (the
45
+ default) or `--profile open`, `deliver` and `inbox carried` over the inbox —
46
+ a typed channel into a running process whose sender learns what the receiver
47
+ did with each message — and `send`, `next`, `reply`, `subscribe` and `status`
48
+ over durable queues kept on a transport a configuration names, with
49
+ `transports` listing the kinds a transport can be, `ask` raising a question and
50
+ waiting for the one reply that echoes its correlation, `validate` judging a
51
+ record by a queue's validators before anything is sent, and `serve` answering a
52
+ `onejudge` member's frames as its judge side. The local transport keeps
53
+ the planner channel's files byte-compatible with `onepipeline`, and a
54
+ distributed one is a plugin rather than a consumer change.
55
+
56
+ ## Install the command line
57
+
58
+ ```bash
59
+ pip install onemessagebus-cli # PyPI wheel, no toolchain needed
60
+ npm install -g onemessagebus-cli # npm launcher, no toolchain needed
61
+ cargo install --git https://github.com/nickderobertis/onemessagebus onemessagebus-cli --locked
62
+ ```
63
+
64
+ ```bash
65
+ $ echo '{"note":"hello"}' | onemessagebus events emit run.ndjson --kind note-left --stream s-1 --source vcs --label run_id=R
66
+ {"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":[]}
67
+ $ onemessagebus events merge run.ndjson other.ndjson --filter '{"include":[{"source":"vcs"}]}' --format text
68
+ $ onemessagebus schema check agent.event-envelope@2 --file envelope.json
69
+ ```
70
+
71
+ <!-- llmlint: ignore-block[no_redundant_instruction_pointers] this README is also the PyPI page of the `onemessagebus-cli` wheel (pyproject.toml's `readme`) and the repository's front page, read by someone who has installed or found the tool and never opens AGENTS.md; these links are how that reader reaches the command line, the wire and the contract. -->
72
+ [`docs/cli.md`](docs/cli.md) is the whole command line; [`docs/wire.md`](docs/wire.md)
73
+ is the wire; [`docs/contract.md`](docs/contract.md) is the approved contract the
74
+ consumers restate from.
75
+ <!-- llmlint: ignore-end[no_redundant_instruction_pointers] -->
76
+
77
+ ## Use the library
78
+
79
+ ```rust
80
+ use onemessagebus_agent::{Emitter, EventFilter, Labels, Source};
81
+ use serde_json::Map;
82
+
83
+ let emitter = Emitter::new("run-1", Source::Vcs, Box::new(std::io::stdout()))
84
+ .with_labels(Labels { run_id: Some("R".into()), ..Labels::default() })
85
+ .with_filter(EventFilter::parse(r#"{"exclude":[{"kind":"heartbeat"}]}"#)?);
86
+ let envelope = emitter.emit("push", Map::new());
87
+ assert_eq!(envelope.seq, 1);
88
+ ```
89
+
90
+ Every wire value is a Rust type with `serde` and `schemars` derivations, and
91
+ the public API is stated in [`docs/contract.md`](docs/contract.md).
92
+
93
+ ## Develop
94
+
95
+ ```bash
96
+ just bootstrap # from a clean clone
97
+ just check # the deterministic gate: format, lint, tests incl. the binary journeys, docs, coverage
98
+ just gate # check plus the diff-scoped LLM-judge tier; the bar before a push
99
+ ```
100
+
101
+ `AGENTS.md` is the instruction layer; `just --list` is the command surface.
102
+
@@ -0,0 +1,6 @@
1
+ onemessagebus_cli-0.4.0.data/scripts/onemessagebus.exe,sha256=kVKRnSS4CWCRfF6lyY9jTAUlYhY74cXRtmB5tMWdNQY,8127488
2
+ onemessagebus_cli-0.4.0.dist-info/METADATA,sha256=JOlt66uaGcsdLsx0rBF9Mrc85b4YvStrFv_suCj1Kfo,5289
3
+ onemessagebus_cli-0.4.0.dist-info/WHEEL,sha256=2zDlIYIdD4m4N3p5DVEG3iJhGLdhsBQgdH-FqVkAur8,94
4
+ onemessagebus_cli-0.4.0.dist-info/licenses/LICENSE,sha256=JeBGdcXIUkoTZEHhkKd-FmKgdgumkH509Ob1QWJomVE,1072
5
+ onemessagebus_cli-0.4.0.dist-info/sboms/onemessagebus-cli.cyclonedx.json,sha256=XykcA1oUFUYsL4nZZN_dxK3ewbkkEMOnDrGCYB_EfW0,122514
6
+ onemessagebus_cli-0.4.0.dist-info/RECORD,,
@@ -0,0 +1,4 @@
1
+ Wheel-Version: 1.0
2
+ Generator: maturin (1.14.1)
3
+ Root-Is-Purelib: false
4
+ Tag: py3-none-win_amd64
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Nick DeRobertis
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.