Skip to content

Latest commit

 

History

History
96 lines (72 loc) · 2.23 KB

File metadata and controls

96 lines (72 loc) · 2.23 KB

Pipecat's Real-Time Voice Inference - Daily Transport

Docs NPM Version Demo

Daily transport package for use with @pipecat-ai/client-js.

Installation

npm install \
@pipecat-ai/client-js \
@pipecat-ai/daily-transport

Overview

The DailyTransport class provides a WebRTC transport layer using Daily.co's infrastructure. It handles audio/video device management, WebRTC connections, and real-time communication between clients and bots.

Features

  • 🎥 Complete camera device management
  • 🎤 Microphone input handling
  • 🔊 Speaker output control
  • 📡 WebRTC connection management
  • 🤖 Bot participant tracking
  • 📊 Audio level monitoring
  • 💬 Real-time messaging

Usage

Basic Setup

import { RTVIClient } from "@pipecat-ai/client-js";
import { DailyTransport } from "@pipecat-ai/daily-transport";

const transport = new DailyTransport({
  dailyFactoryOptions: {
    // Daily.co specific configuration
  }
});

const rtviClient = new RTVIClient({
    transport,
    enableCam: false,  // Default camera off
    enableMic: true,   // Default microphone on
    callbacks: {
      // Event handlers
    },
    params: {
      baseUrl,
      endpoints
    }
    // ...
});

await rtviClient.connect();

API Reference

Constructor Options

interface DailyTransportConstructorOptions {
  dailyFactoryOptions?: DailyFactoryOptions;  // Daily.co specific configuration
}

States

The transport can be in one of these states:

  • "initializing"
  • "initialized"
  • "connecting"
  • "connected"
  • "ready"
  • "disconnecting"
  • "error"

Events

The transport implements the various RTVI event handlers. Check out the docs or samples for more info.

Error Handling

The transport includes error handling for:

  • Connection failures
  • Device errors
  • Authentication issues
  • Message transmission problems

License

BSD-2 Clause