detour-onboarding
Complete onboarding guide for developers who are new to Detour, the open-source deferred deep…
Node.js / TypeScript server SDK for Fishjam — backends that create rooms, mint peer tokens, listen to server notifications, and run agents. Use when writing a Node.js / Express / Fastify / Hono / NestJS backend that talks to Fishjam, sets up a webhook receiver, runs an AI agent,
$ npx -y skills add software-mansion-labs/skills --skill js-server-sdk --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/js-server-sdkContext preview
The summary Claude sees to decide when to auto-load this skill.
Node.js / TypeScript server SDK for Fishjam — backends that create rooms, mint peer tokens, listen to server notifications, and run agents. Use when writing a Node.js / Express / Fastify / Hono / NestJS backend that talks to Fishjam, sets up a webhook receiver, runs an AI agent,
name: fishjam-js-server-sdk description: "Node.js / TypeScript server SDK for Fishjam — backends that create rooms, mint peer tokens, listen to server notifications, and run agents. Use when writing a Node.js / Express / Fastify / Hono / NestJS backend that talks to Fishjam, sets up a webhook receiver, runs an AI agent, or generates livestream tokens. Trigger on: '@fishjam-cloud/js-server-sdk', 'FishjamClient', 'FishjamWSNotifier', 'FishjamAgent', 'createPeer', 'createRoom', 'createAgent', 'createVapiAgent', 'createLivestreamStreamerToken', 'createLivestreamViewerToken', 'refreshPeerToken', 'subscribeTracks', 'subscribePeer', 'createMoqToken', 'ServerMessage', 'roomCreated', 'peerAdded', 'trackAdded', 'fishjam backend Node', 'express fishjam', 'fastify fishjam', 'gemini agent fishjam', 'vapi fishjam'. Covers REST, WebSocket notifier, webhook protobuf decoding, FishjamAgent, and Gemini Live integration." license: MIT
`@fishjam-cloud/js-server-sdk` — server-side Node.js / TypeScript SDK for the Fishjam platform.
> **Read `../platform/SKILL.md` first.** It defines rooms, peers, tracks, management tokens, peer tokens, and the WS-vs-webhook tradeoff that this skill builds on.
| Component | What it does | Reference | |---|---|---| | `FishjamClient` | REST client — rooms, peers, agents, livestream/MoQ tokens, subscribe modes. | `client.md` | | `FishjamWSNotifier` | Subscribes to all 18 server events over a single WebSocket. Best for long-lived workers. | `ws-notifier.md` | | `FishjamAgent` | Programmatic peer — sends/receives audio frames over a server-side WS. Used for AI agents (Gemini, custom). | `agent.md` |
Webhook receivers are not a class — you decode `ServerMessage` protobuf yourself; covered in `webhooks.md`.
npm install @fishjam-cloud/js-server-sdk # or yarn add @fishjam-cloud/js-server-sdk
import { FishjamClient } from '@fishjam-cloud/js-server-sdk';
const fishjamClient = new FishjamClient({
fishjamId: process.env.FISHJAM_ID!,
managementToken: process.env.FISHJAM_MANAGEMENT_TOKEN!,
});
const room = await fishjamClient.createRoom();
const { peer, peerToken } = await fishjamClient.createPeer(room.id, {
metadata: { userId: 'user-123' },
});
// ship `peerToken` to your client| Task | Reference | |---|---| | Call any REST method (rooms, peers, subscribe, refresh) | `client.md` | | Subscribe to server events from a long-lived worker | `ws-notifier.md` | | Receive events from a serverless / scaled-out backend | `webhooks.md` | | Build an AI voice agent (audio in/out, image capture) | `agent.md` | | Wire a Gemini Live agent into a room | `gemini-integration.md` | | Wire all of this into Express or Fastify | `express-fastify.md` | | Issue livestream streamer/viewer tokens or MoQ tokens | `livestream-and-moq.md` | | Use manual subscribe mode (cost / privacy / staging) | `selective-subscriptions.md` |
| File | When to read | |---|---| | `client.md` | The REST surface — every method on `FishjamClient` with signatures and examples. | | `ws-notifier.md` | `FishjamWSNotifier` wiring, the 18 events, reconnection patterns. | | `webhooks.md` | Decoding `application/x-protobuf` webhook bodies with `ServerMessage.decode`. | | `agent.md` | `FishjamAgent` — opus/pcm16, `createTrack`, `sendData`, `captureImage`, `interruptTrack`. | | `gemini-integration.md` | `@fishjam-cloud/js-server-sdk/gemini` — `createClient`, audio settings, end-to-end demo. | | `express-fastify.md` | Production wiring — `/api/join-room`, error mapping, webhook routes, Fastify plugin. | | `livestream-and-moq.md` | `createLivestreamStreamerToken`, `createLivestreamViewerToken`, `createMoqToken`. | | `selective-subscriptions.md` | `subscribePeer` / `subscribeTracks` with peers created using `subscribeMode: 'manual'`. |
Software Mansion's set of skills for AI-assisted React Native development.
Repo: software-mansion-labs/skills
Complete onboarding guide for developers who are new to Detour, the open-source deferred deep…
Use when the user mentions migrating deep links, switching away from Branch or AppsFlyer,…
Software Mansion's guide for migrating Expo SDK apps to Meta Quest using expo-horizon…
Software Mansion's Fishjam — hosted WebRTC platform for video, audio, and one-to-many…
Fishjam platform fundamentals — domain model and auth shared by all SDKs. Covers glossary…
Python server SDK for Fishjam — backends that create rooms, mint peer tokens, receive server…