DailyTransport
server-side implementation.
Usage
Basic Setup
API Reference
Constructor Options
If set to
true
, the transport will buffer local audio until the bot is ready. This is useful for ensuring that bot gets any audio from the user that started before the bot is ready to process it.DailyFactoryOptions
The
DailyTransportConstructorOptions
extends the DailyFactoryOptions
type that is accepted by the underlying Daily instance. These options are passed directly through to the Daily constructor. See the Daily API Reference for a complete list of options.While you can provide the room url and optional token as part of your
constructor options, the typical pattern is to provide them via a connection
endpoint with
startBot()
or directly as part of connect()
. See below.TransportConnectionParams
Onconnect()
, the DailyTransport
optionally takes a set of DailyCallOptions
to connect to a Daily room. This can be provided directly to the PipecatClient
’s connect()
method or via a starting endpoint passed to the PipecatClient
’s startBotAndConnect()
method. If using an endpoint, your endpoint should return a JSON object matching the DailyCallOptions
type. See the client connect() documentation for more information.
Methods
For most operations, you will not interact with the transport directly. Most methods have an equivalent in thePipecatClient
and should be called from the PipecatClient
. However, there are a few transport-specific methods that you may need to call directly. When doing so, be sure to access your transport via the transport
property of the PipecatClient
instance.
-
preAuth()
This is the one method meant to be called directly, which is used to allow you to gather information about the Daily room prior to connecting. As a Daily-specific action, it is not exposed through thePipecatClient
. This method must be called prior toconnect()
and use the sameroom_url
andtoken
(optional) as what will be used onconnect()
.
Events
The transport implements the variousPipecatClient
event handlers. For Daily-specific events, you can attach listeners to the underlying Daily call client. For a list of available events, see the Daily API Reference.
Advanced
Accessing the Daily Call
For advanced use cases, where you may need to work with the Daily call client directly, you can access it via thedailyCallClient
property.
The Daily call client returned is safe-guarded to not allow you to call
functions which affect the call’s lifecycle and will redirect you to use
either a Transport method or the
PipecatClient
to perform the equivalent
action.More Information
Package
@pipecat-ai/daily-transport