sdk

Radroots SDK and bindings
git clone https://radroots.dev/git/sdk.git
Log | Files | Refs | README

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:
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 @@ -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://`