commit 84e4f67d326c8c5d1153f1c709fa52d2cf6dfaa5
parent ee5b0e361da1c8bd09900c2cd53d66271e59921a
Author: triesap <tyson@radroots.org>
Date: Wed, 17 Jun 2026 13:31:14 -0700
sdk: add CLI runtime feature
- add the curated cli-runtime feature bundle for command-line runtime consumers
- include runtime, signer, relay runtime, signing, serde, and temporary relay-client support
- document that cli-runtime intentionally excludes radrootsd-client
- keep the relay-client inclusion scoped to unmigrated direct publish callers
Diffstat:
2 files changed, 18 insertions(+), 0 deletions(-)
diff --git a/crates/sdk/Cargo.toml b/crates/sdk/Cargo.toml
@@ -67,6 +67,16 @@ relay-runtime = [
"radroots_nostr/client",
"radroots_relay_transport/client",
]
+cli-runtime = [
+ "std",
+ "serde",
+ "serde_json",
+ "runtime",
+ "local-signer",
+ "relay-runtime",
+ "signing",
+ "relay-client",
+]
[dependencies]
radroots_authority = { workspace = true, optional = true, default-features = false }
diff --git a/crates/sdk/README b/crates/sdk/README
@@ -31,6 +31,14 @@ targets already stored on each queued outbox event, so already queued work does
not require configured builder relays. `push_outbox_with_adapter(...)` remains
available for tests and controlled adapter-level substrate checks.
+The `cli-runtime` feature is the curated feature bundle for command-line product
+runtime consumers. It enables `std`, `serde`, `serde_json`, `runtime`,
+`local-signer`, `relay-runtime`, `signing`, and `relay-client`. `relay-client`
+is retained in this bundle only for current direct relay publish callers that
+have not migrated to the product runtime yet; it is classified for removal once
+those callers are SDK-runtime backed. `cli-runtime` does not enable
+`radrootsd-client`.
+
Relay URL policy is explicit. Public relay URLs must use `wss://`. Local
development `ws://` relay URLs are accepted only under `SdkRelayUrlPolicy::Localhost`
and only for `localhost`, `127.0.0.1`, or `[::1]`. Non-local insecure `ws://`