node-app-build 7.1.10

Mini app developer CLI: scaffold, validate, package node-app-* Debian packages
[package]
name = "node-app-build"
version = "7.1.10"
edition = "2021"
description = "Mini app developer CLI: scaffold, validate, package node-app-* Debian packages"
license = "MIT OR Apache-2.0"
include = [
    "assets/**",
    "profiles/**",
    "src/**",
    "tests/**",
]

[[bin]]
name = "node-app"
path = "src/main.rs"

[dependencies]
anyhow = { workspace = true }
toml = { version = "0.8", default-features = false, features = ["parse"] }
clap = { version = "4", features = ["derive", "env"] }
clap_complete = "4"
serde = { workspace = true, features = ["derive"] }
serde_json = { workspace = true }
jsonschema = { version = "0.18", default-features = false }
regex = "1"
walkdir = "2"
once_cell = { workspace = true }
dialoguer = "0.11"
notify = "6"
ratatui = { version = "0.29", features = ["crossterm"] }
crossterm = "0.28"
cliclack = "0.5.4"
ureq = { version = "2", default-features = false, features = ["json", "tls"] }
# Agent-mode auth handshake (matches tests/e2e/src/harness/auth.ts byte-for-byte).
bip39 = { version = "2.0", features = ["rand"] }
secp256k1 = { version = "0.29", features = ["rand"] }
sha2 = { workspace = true }
hex = { workspace = true }
# Fresh per-worktree JWT/refresh-token secrets + libp2p identity seed when
# generating system/server/{alice,bob}.env from their .example templates
# (gap 0c/0e, docs/superpowers/plans/2026-08-10-harness-browser-pairing.md).
rand = { workspace = true }
chrono = { workspace = true, default-features = false, features = ["clock", "serde"] }
# Embed profile fixture trees (system/node-app-build/profiles/<profile>/) into
# the binary at compile time. Read out by `commands::new_profile` for
# placeholder substitution + write-to-disk scaffolding (phase 2 of #868).
include_dir = "0.7"
node-app-manifest = { version = "7.1.10", path = "../../sdk/app-manifest" }
# Dev material the minimal-core node-server (#2939) needs and never mints
# itself (commands::dev::host::minimal_core): the development-mode
# `server_seed.enc` (AES-256-GCM under an HKDF-SHA256 key) and a local CA whose
# key is sealed under `signer_seed.hex`, so the server's own boot-time reissue
# mints the TLS leaf node-provisioning serves. Same pins as node-server's.
aes-gcm = "0.10"
hkdf = "0.12"
base64 = { workspace = true }
rcgen = { version = "0.13", default-features = false, features = ["ring", "pem", "x509-parser"] }
time = "0.3"
# Re-issue an expired dev owner token from the instance's own JWT_SECRET: the
# minimal core serves no /api/auth/refresh (commands::dev::agent::client).
# Same pin as node-adapters-auth, which verifies it.
jsonwebtoken = "9.1"

[target.'cfg(unix)'.dependencies]
libc = "0.2"

[dev-dependencies]
tempfile = "3"
assert_cmd = "2"
predicates = "3"