Skip to content

JavaScript/TypeScript API

Start from the API role first. Runtime differences are called out inside each role page.

RolePackagesFirst API
Client@nnrp/native-client, @nnrp/browser-clientopenNativeClient or openBrowserRuntime
Server@nnrp/native-serveropenBackendRuntime
Carrier providers@nnrp/transport-tcp, @nnrp/transport-quic, @nnrp/transport-ipc, @nnrp/transport-websocketcreateTcpTransportProvider, createQuicTransportProvider, createIpcTransportProvider, createWebSocketTransportProvider
Shared validation/helpers@nnrp/corecreateCapabilityManifest, normalizeSubmitRequest, selectTransport

Package Boundary Rules

PackageMay ownMust not hide
@nnrp/coreRuntime-neutral TypeScript contracts.Native loaders, WASM loaders, Node built-ins, or DOM globals.
@nnrp/native-clientClient role surface and native client lifecycle.Transport artifacts or server-only entrypoints.
@nnrp/native-serverServer role surface and native server lifecycle.Transport artifacts or browser code.
@nnrp/browser-clientBrowser client surface and browser WASM primitives.Native .dll / .so / .dylib payloads or server APIs.
@nnrp/transport-tcpTCP provider behavior and native artifacts.QUIC, WebSocket, browser, or server role behavior.
@nnrp/transport-quicQUIC provider behavior and native artifacts.TCP, WebSocket, browser, or server role behavior.
@nnrp/transport-ipcIPC provider behavior and native artifacts.Browser or non-IPC transport behavior.
@nnrp/transport-websocketNative Rust WebSocket provider plus browser host-WebSocket provider behavior.Browser WASM artifact or role lifecycle.

API Reference

NNRP Documentation