Public beta — this package is versioned at
0.x; its API may change between minor versions.
The engine-agnostic wire layer spoken by every client of the Rush daemon (rushd):
- Frame taxonomy — five frame types:
0x01control-json,0x02log-stdout,0x03log-stderr,0x04stdin,0x05event. - Length-prefixed binary codec — a streaming serializer/deserializer that is lossless for arbitrary (including non-UTF-8) payloads and tolerant of arbitrarily split or coalesced chunks.
DAEMON_PROTOCOL_VERSION— the negotiated protocol version constant.- Version negotiation — a
hello/helloAckhandshake with a typedProtocolVersionMismatchErroron major-version mismatch. - Event contract — the
0x05frame payload envelope (currently a placeholder mirroring@rushstack/reporter'sIReporterEventEnvelope; to be replaced by a direct reference when the reporter package lands) plus namespacedrushd.*extension events. - Per-subscription verbosity — a pure filter applied at event serialization so each client receives its own verbosity subset without mutating shared engine state.
- Resolved phased-request contracts — engine-agnostic request, enabled-state selection, parsed built-in/custom command origin, and client-scoped result types for integrations that have already parsed a command and resolved it against a real warm operation graph.
- Final command result contract — one typed success, warning, failure, or abort outcome with the authoritative Rush-compatible exit code, delivered after request output drains.
- Interactive request contracts — request-tagged stdin frames preserve arbitrary bytes, while acknowledged raw-mode controls and typed terminal-policy results remain scoped to one request.
- Request admission contracts — resolved no-wait and bounded-timeout options, typed admission failure codes, and capability-gated one-based queue-position control messages.
- Request lifecycle contracts — a validated presentation-free command envelope, cancellation, typed routing rejection/fallback, and one authoritative terminal result control. Command parsing and Rush action construction remain outside the protocol.
Part of the Rush 6 / rushd re-architecture: microsoft/rushstack#5894.
- CHANGELOG.md - Find out what's new in the latest version
- API Reference
@rushstack/rush-daemon-protocol is part of the Rush Stack family of projects.