lib

Core libraries for Radroots
git clone https://radroots.dev/git/lib.git
Log | Files | Refs | README

commit 69ffeecec1a44a4a2c08bed407fa36c9a9bfc516
parent 5f47c85ca3f1ee7b9583b08cfe48454c6dc78797
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:
Mcrates/sdk/Cargo.toml | 10++++++++++
Mcrates/sdk/README | 8++++++++
2 files changed, 18 insertions(+), 0 deletions(-)

diff --git a/crates/sdk/Cargo.toml b/crates/sdk/Cargo.toml @@ -66,6 +66,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://`