Files
netris-nestri/Cargo.toml
Wanjohi 938f5e6544 feat(nesprotocol): open the shared wire types
First component into this repo. Renamed from `nestri-protocol` — everything
else in the family carries the `nes` prefix and this was the odd one out.

**Imported as a tree, not as history.** The upstream repo is private, so its
commits and commit messages have never been reviewed for what may be published,
and squashing avoids the failure this project has already documented once: a
repo published wholesale carries private history with it, permanently. Origin is
`nestrilabs/nestri-protocol`, and this is its state today rather than its past.

The `control` module is deliberately left behind. It carries the host↔guest
control channel, and its types are shaped by a payload that has no business
being described in a public repo — a box is supposed to be able to run anything.
It was already an optional feature that nothing here enables, so leaving it out
costs nothing today and stops a boundary from being crossed by accident.

What lands is the media protocol: frames, audio, cursor, input and stats. One
definition shared by both ends, so no two can drift silently. 9 tests pass.

One pre-existing clippy warning (`input.rs`, too many arguments) is left alone
on purpose — an import commit should be a faithful copy, and mixing a cleanup
into one makes both harder to read.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-26 18:00:01 +03:00

36 lines
1.0 KiB
TOML

# The Rust half of this monorepo. The JS/TS half is `package.json`.
#
# Layout, per the same rule on both sides: split by *what a thing is*, not by
# what language it is written in.
#
# apps/ deployables — a binary someone runs
# crates/ shared Rust — a library another crate depends on
# packages/ shared JS/TS
#
# Members are added as components move in. An empty list is honest: nothing has
# landed yet.
[workspace]
resolver = "3"
members = [
"crates/nesprotocol",
]
# One pin per dependency, here. A member never writes a version — that is what
# stops two crates in one tree from disagreeing about tokio.
[workspace.dependencies]
anyhow = "1"
clap = { version = "4", features = ["derive", "env"] }
libc = "0.2"
serde = { version = "1", features = ["derive"] }
serde_json = "1"
thiserror = "2"
tokio = { version = "1", features = ["full"] }
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
[workspace.package]
edition = "2024"
license = "Apache-2.0"
repository = "https://github.com/nestrilabs/nestri"