[package] name = "mesh-core" version.workspace = true edition.workspace = true license.workspace = true repository.workspace = true rust-version.workspace = true description = "Mesh — the orchestration: verify the JCP grant a request rides on, route to the cheapest-sufficient backend, meter the served span, and seal a hash-chained JCR-1 receipt whose headline figure is microjoules per accepted token (SPEC §2)." [dependencies] mesh-schema = { workspace = true } mesh-meter = { workspace = true } mesh-receipt = { workspace = true } mesh-engine = { workspace = true } mesh-router = { workspace = true } jcp-schema = { workspace = true } jcp-grant = { workspace = true } jcp-runtime = { workspace = true } ed25519-dalek = { workspace = true } thiserror = { workspace = true } serde = { workspace = true } serde_json = { workspace = true } [dev-dependencies] hex = { workspace = true } # The GPU load for `ProcessMeter`'s liveness probe in tests/process_meter.rs. [target.'cfg(target_os = "macos")'.dev-dependencies] jouleclaw-backend-apple = { workspace = true } [features] default = [] # Forwarded to mesh-meter: use the family's hardware-backed meter. Each platform # feature implies `hw-meter`, which is what the demo checks: without it # `--features hw-meter-rapl` built the backend and then used the estimator. hw-meter = ["mesh-meter/hw-meter"] hw-meter-rapl = ["hw-meter", "mesh-meter/hw-meter-rapl"] hw-meter-nvml = ["hw-meter", "mesh-meter/hw-meter-nvml"] hw-meter-apple = ["hw-meter", "mesh-meter/hw-meter-apple"] [lints] workspace = true