Arrows point from a Rust crate to a direct dependency. The CLI and bindings use
microvms-core; it composes the client layers, while agentd uses the shared wire
crate (crates/microvms-core/Cargo.toml:17-26,
crates/microvms-cli/Cargo.toml:38, bindings/microvms-py/Cargo.toml:26-32,
bindings/microvms-js/Cargo.toml:20-24, crates/agentd/Cargo.toml:20).
The view covers normal dependencies of the workspace crates (Cargo.toml:2-14).
Build and development dependencies are excluded. The test-only
model-conformance crate has no normal dependencies (crates/model-conformance/Cargo.toml:18-46);
its library is intentionally empty (crates/model-conformance/src/lib.rs:2-7).
External nodes use dashed cylinders. Their selection follows the number of Rust
source paths that reference each declared dependency’s namespace; an external arrow
starts at the crate with the most such paths, with ties resolved by path order.
Other consumers may use the same dependency. Labels use dependency names,
without implying a resolved package version. The inventory and edge counts below
were measured on 2026-10-11 at commit 9729b82.
Legend (overflow)
Section titled “Legend (overflow)”The omitted normal dependencies follow. Edges count source paths with a dependency namespace reference, before
reducing external arrows to a representative consumer. Each declaration links to the manifest that admits the dependency.
The agentd-model node’s only normal dependency, stateright, appears here
(crates/model/Cargo.toml:13-14).
Internal edges
Section titled “Internal edges”The declarations and source references below establish the internal arrows. Core’s
re-exports preserve a common entry point for client consumers
(crates/microvms-core/src/lib.rs:87-95).
The dependency-direction tests compare workspace edges against explicit expected
sets (crates/microvms-cli/tests/dependency_direction.rs:386-397). This diagram does
not show transitive edges or treat a re-export as a separate dependency.
External nodes
Section titled “External nodes”The retained external nodes have these manifest declarations and representative source references. The overflow inventory carries the dependencies omitted for readability.
| Dependency | Representative consumer | Declaration | Source reference |
|---|---|---|---|
| tokio | microvms-cli | crates/microvms-cli/Cargo.toml:64 |
crates/microvms-cli/src/main.rs:149 |
| serde_json | microvms-cli | crates/microvms-cli/Cargo.toml:55 |
crates/microvms-cli/src/envelope.rs:58 |
| clap | microvms-cli | crates/microvms-cli/Cargo.toml:46 |
crates/microvms-cli/src/cli.rs:45 |
| pyo3 | microvms-py | bindings/microvms-py/Cargo.toml:45 |
bindings/microvms-py/src/errors.rs:29 |
| futures-util | microvms-app | crates/microvms-app/Cargo.toml:34 |
crates/microvms-app/src/control/services.rs:12 |
| serde | microvms-app | crates/microvms-app/Cargo.toml:26 |
crates/microvms-app/src/control/ops.rs:42 |
| napi-derive | microvms-js | bindings/microvms-js/Cargo.toml:44 |
bindings/microvms-js/src/hooks.rs:29 |
| base64 | microvms-app | crates/microvms-app/Cargo.toml:45 |
crates/microvms-app/src/session/sse.rs:24 |
| napi | microvms-js | bindings/microvms-js/Cargo.toml:39 |
bindings/microvms-js/src/errors.rs:71 |
| tracing | agentd | crates/agentd/Cargo.toml:69 |
crates/agentd/src/main.rs:58 |
napi with napi8 enables native type tags for class arguments, class-valued object
fields, and getter receivers. The supported Node versions provide this API level
(bindings/microvms-js/Cargo.toml:36-43).
See also
Section titled “See also”These pages cite many of the same source files as this one.