Skip to main content

manabrew_protocol/
lib.rs

1//! Engine-free DTOs shared by the game clients: decks, the game-domain types,
2//! prompts, display events and the agent transport envelopes. The relay wire
3//! protocol lives in `manabrew-relay-protocol`, which depends on this crate.
4/// This crate's version, which is also the version `@manabrew/protocol`
5/// publishes at: `publish-protocol.yml` reads it out of this crate's
6/// `Cargo.toml` and passes it to `npm version`. The generated `VERSION`
7/// constant in the npm package is this string, so a consumer comparing
8/// `VERSION` against the version they installed gets a match.
9///
10/// Distinct from `manabrew_relay_protocol::PROTOCOL_VERSION`, the integer
11/// handshake number, which is that crate's major.
12pub const VERSION: &str = env!("CARGO_PKG_VERSION");
13
14pub mod deck_dto;
15pub mod display;
16pub mod game;
17pub mod prompts;
18pub mod telemetry;
19pub mod token;
20pub mod transport;
21
22pub use token::TokenScript;