[]
# `protocol` is taken on crates.io (an unrelated crate, at 3.x), so the package
# carries the prefix and every dependent renames it back with
# `package = "microvms-protocol"`. That keeps `use protocol::` compiling in all 17
# source files that name it: the rename is a manifest concern and does not reach
# the code.
= "microvms-protocol"
= "0.2.0"
= true
= true
= true
= true
= "Wire types shared by the microvms-agentd daemon and its clients"
= "README.md"
= ["microvms", "lambda", "aws", "protocol", "serde"]
= ["encoding", "virtualization"]
[]
= { = "1", = ["derive"] }
# Same pin and the same two features as the daemon carries, and for the same
# reason: `preserve_order` must stay off or the committed `docs/schema.json` stops
# being a function of the types. One version of schemars in the tree is what makes
# the generated artifact reproducible across the two crates that feed it.
= { = "1.2.2", = false, = ["derive", "std"] }
# Not a new edge in the tree — schemars already pulls `serde_json` in — but it is now
# a *runtime* one rather than only a dev one, and the reason is `RunHook::parse`.
# That function walks the payload as a `Value` instead of deriving the read, because
# the payload carries the agent token and serde's own error messages quote the value
# they rejected. Quoting a value there would put secret material into a log line and
# a response body, which is the one thing docs/TRUST.md promises never happens, so
# every refusal names a key or a shape and the walk is what makes that possible.
= "1"