Build on the supported package contract
Use meeting-adapters through its supported public entry points.
meeting-adaptersworkspacealphaVoice & MediaPlatform source adapters for @absolutejs/meeting. Each is its own published package under this directory (mirrors voice-adapters/). An adapter implements the MeetingSource contract — join a call and stream its audio (and, when available, the participant roster) into the meeting core, which runs the @absolutejs/voice scribe for live diarized transcription.
git clone https://github.com/absolutejs/meeting-adapters.git2 public packages and 0 private workspace projects are versioned and developed together.
Platform source adapters for @absolutejs/meeting. Each is its own published package under this directory (mirrors voice-adapters/). An adapter implements the MeetingSource contract — join a call and stream its audio (and, when available, the participant roster) into the meeting core, which runs the @absolutejs/voice scribe for live diarized transcription.
A MeetingSource is intentionally small:
See @absolutejs/meeting's createBufferMeetingSource for the reference implementation.
recall — built. One integration covers Google Meet / Zoom / Teams. Recall
joins as a bot and streams per-participant raw PCM (mono 16-bit LE @ 16 kHz) to a websocket you host; the adapter decodes it into diarized audio + participant events. Verified live against a Recall workspace (bot create / list / join lifecycle). See recall/README.md.
discord — built + published. Native @discordjs/voice receive (per-user
Opus → mono PCM), so speakers are known without diarization. The bot joins a voice channel and streams each participant in. See discord/README.md.
Outcomes
Use meeting-adapters through its supported public entry points.
Hardening checklist
Follow in order
# @absolutejs/meeting adapters
meeting-adapters/
recall/ -> @absolutejs/meeting-recall (Recall.ai: Meet / Zoom / Teams) [published, needs RECALL_API_KEY]
discord/ -> @absolutejs/meeting-discord (@discordjs/voice receive) [published, needs a bot token]# @absolutejs/meeting adapters
type MeetingSource = {
readonly format: AudioFormat; // audio it emits (fed to the scribe's STT)
on(event, handler): () => void; // "audio" | "participant" | "end" | "error"
start(): Promise<void>; // join the call
stop(reason?): Promise<void>; // leave
};2 public packages and 0 private workspace projects are maintained in this repository.
Public package — Discord voice source adapter for @absolutejs/meeting — a bot joins a Discord voice channel and streams per-participant audio (speakers known, no diarization needed) into the meeting core for live transcription + analysis
Public package — Recall.ai source adapter for @absolutejs/meeting — Recall joins a Google Meet / Zoom / Teams call as a bot and streams per-participant audio into the meeting core for live transcription + analysis