You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Tracking feature parity between rs-sdk and the TS SDK implementation. Checked items are implemented and tested. Open items are planned for future releases. Reference: TS SDK v0.9.0.
SDK Compliance Tracker
Tracking feature parity between rs-sdk and the TS SDK implementation. Checked items are implemented and tested. Open items are planned for future releases. Reference: TS SDK v0.9.0.
CEP Support
CEP-4: Encryption Support
EncryptionModeenum (Optional / Required / Disabled)GiftWrapModeenum (Optional / Ephemeral / Persistent)support_encryptiontag emitted and parsedsupport_encryption_ephemeraltag emitted and parsedparse_discovered_peer_capabilities()CEP-6: Server Announcements (kinds 11316-11320)
set_announcement_extra_tags()/set_announcement_pricing_tags()AnnouncementManagerorchestrator (synthetic MCP requests, automated publish on start)InitializeResult(protocolVersion, capabilities, serverInfo) — currently onlyServerInfoCEP-8: Payments
captags for capability pricing (['cap', 'tool:name', '100', 'sats'])pmitags for payment method identifiersnotifications/payment_required/payment_accepted/payment_rejectedresolvePricecallback with waive/reject/quote)CEP-17: Relay List Metadata Discoverability
rtag constantrtagsdiscoveryRelayUrlsconfig optionfallbackOperationalRelayUrlsconfig optionCEP-19: Ephemeral Gift Wraps
GiftWrapModeenum (Optional / Ephemeral / Persistent)isGiftWrapKindAllowed()enforcementsupport_encryption_ephemeraltagCEP-22: Oversized Payload Transfer
support_oversized_transfertag constant definedoversized_enabledfrom config (currently hardcodedfalse)CEP-23: Server Identity Profile Metadata
PROFILE_METADATA_KIND = 0constantProfileMetadatatype (name, about, picture, banner, website, nip05, lud16)publishProfileMetadata()on server startprofileMetadataconfig optionCEP-35: Discovery Tags & Capability Learning
PeerCapabilities/DiscoveredPeerCapabilitiesstructshas_single_tag()/get_discovery_tags()/learn_peer_capabilities()has_sent_common_tags)has_sent_discovery_tags)SDK Behaviors Beyond CEPs
Server Transport
initialize/notifications/initializedalways allowedis_announced_serverbroadcast_notification()to all clientssweep_stale_routes)isPubkeyAllowed(pubkey)callbackisCapabilityExcluded(exclusion)callback(message, ctx, forward)injectClientPubkeyintorequest.params._metainjectRequestEventIdintorequest.params._metaClient Transport
etagetagserverPubkeyaccepts npub / nprofile (currently hex only)onEventCreatedpre-publish hook (register correlation before publish)withTimeout()on decrypt / sign / publish operationsgetServerInitializeName(),getServerToolsListEvent(), etc.)Gateway
start()/stop()lifecycleannounce()delegates to transportserve_handler()(rmcp integration)Relay Management
RelayPoolTrait)publishEventToRelayUrls()for bootstrap relay publicationEncryption & NIPs