feat(maestro): embed and serve web bundle from registry

NAP-218. The registry's `GET /` now serves the built web bundle from
`web/dist/` (embedded into the binary at compile time via rust-embed)
instead of the NAP-215 placeholder, and `GET /assets/*` serves the
hashed JS/CSS chunks Vite produces.

When `web/dist` is empty (fresh checkout without `pnpm build`), a
small fallback page tells the operator to run the JS build. That
keeps `cargo run -p maestro-registry` usable without a node
toolchain installed.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-25 09:57:26 +00:00
co-authored by Claude Opus 4.7
parent e68c9b6d73
commit 077e9e958e
6 changed files with 220 additions and 7 deletions
+1
View File
@@ -21,6 +21,7 @@ maestro-protocol = { path = "crates/maestro-protocol" }
nix = { version = "0.29", default-features = false, features = ["term", "signal"] }
rand = "0.8"
reqwest = { version = "0.12", default-features = false, features = ["json", "rustls-tls", "cookies"] }
rust-embed = "8"
serde = { version = "1", features = ["derive"] }
serde_json = "1"
tempfile = "3"