Skip to content

JavaScript/TypeScript SDK Overview

nnrp-js provides ESM npm packages with .d.ts declarations for Node.js, Deno, browser, and edge applications. Start with a role package, then install only the carrier providers the application is allowed to use.

Package Shape

PackageRuntimePurpose
@nnrp/coreRuntime-neutralShared protocol types, control/object codecs, diagnostics, endpoint resolution, capability manifests, and provider selection.
@nnrp/native-clientNode.js/DenoNative client/session role; no transport artifacts.
@nnrp/native-serverNode.js/DenoNative server/listen/session role; no transport artifacts.
@nnrp/browser-clientBrowser/edgeBrowser client/session role plus the nnrp-wasm-browser runtime artifact.
@nnrp/transport-tcpNode.js/DenoTCP provider behavior and platform native artifacts.
@nnrp/transport-quicNode.js/DenoQUIC provider behavior and platform native artifacts.
@nnrp/transport-ipcNode.js/DenoIPC provider behavior and platform native artifacts.
@nnrp/transport-websocketNode.js/Deno, browser/edgeNative Rust WebSocket provider on backend hosts; host-WebSocket provider in browsers.

Runtime Modes

ModeRole packageCarrier packages
Backend native client@nnrp/native-clientAny installed subset of TCP, QUIC, IPC, WebSocket
Backend native server@nnrp/native-serverAny installed subset of TCP, QUIC, IPC, WebSocket
Browser client@nnrp/browser-client@nnrp/transport-websocket
Shared validation/helpers@nnrp/coreNone

Application endpoints stay nnrp:// or nnrps://. Provider-local forms such as unix://, npipe://, ws://, and wss:// are for explicit provider overrides, diagnostics, and conformance fixtures.

Contents

NNRP Documentation