The TypeScript SDK runs in three environments off the same package:
  • Browsers — uses native WebTransport
  • Node 20+ — uses a WebTransport polyfill
  • Bun — native (Bun ships WebTransport)
All load the same Emscripten WASM build of the C++ core for serialization and audio framing.

Install

npm install @telequick/sdk
pnpm add @telequick/sdk
bun add @telequick/sdk

Subpath imports

Each of the five modalities is its own subpath import:
import { Voice }      from "@telequick/sdk/voice";
import { Streams }    from "@telequick/sdk/streams";
import { Robotics }   from "@telequick/sdk/robotics";
import { Games }      from "@telequick/sdk/games";
import { Data }       from "@telequick/sdk/data";
import { MoqtClient } from "@telequick/sdk/moqt";
The root import (import … from "@telequick/sdk") is the legacy TeleQuickClient voice-RPC surface — kept for backwards compat.

Verify

import { MoqtClient } from "@telequick/sdk/moqt";

const moqt = await MoqtClient.connect("https://relay.telequick.dev/moq");
console.log("connected, rtt:", moqt.connectionRttUs(), "µs");
moqt.close();

Next

Quickstart

Walk through the streams modality end to end.

Reference

Every modality, every method.

Examples

Runnable per-modality examples.

Modalities

The 5-modality model and when to pick each.