Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
---
title: "SDK Introduction"
title: "Android SDK Overview"
sidebarTitle: "Overview"
description: "Build Android applications with Pipecat's Kotlin client library"
---

Expand Down Expand Up @@ -48,13 +49,13 @@ client.startBotAndConnect(startBotParams).withCallback {
## Documentation

<CardGroup cols={2}>
<Card title="API Reference" icon="book" href="/client/android/api-reference">
<Card title="API Reference" icon="book" href="/api-reference/client/android/api-reference">
SDK API documentation
</Card>
<Card
title="Transport Packages"
icon="network-wired"
href="/client/android/transports/daily"
href="/api-reference/client/android/transports/daily"
>
Daily, Gemini, OpenAI WebRTC, and SmallWebRTC transports
</Card>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
---
title: "SDK Introduction"
title: "C++ SDK Overview"
sidebarTitle: "Overview"
description: "Build native applications with Pipecat’s C++ client library"
---

Expand Down Expand Up @@ -99,7 +100,7 @@ ninja -C build
Complete SDK API documentation
</Card>

<Card title="Daily Transport" icon="network-wired" href="./transport">
<Card title="Daily Transport" icon="network-wired" href="/api-reference/client/cpp/transport">
WebRTC implementation using Daily
</Card>
</CardGroup>
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
---
title: "SDK Introduction"
title: "iOS SDK Overview"
sidebarTitle: "Overview"
description: "Build iOS applications with Pipecat’s Swift client library"
---

Expand Down Expand Up @@ -62,13 +63,13 @@ self.pipecatClientIOS?.startBotAndConnect(startBotParams: startBotParams) { (res
## Documentation

<CardGroup cols={2}>
<Card title="API Reference" icon="book" href="/client/ios/api-reference">
<Card title="API Reference" icon="book" href="/api-reference/client/ios/api-reference">
SDK API documentation
</Card>
<Card
title="Transport Packages"
icon="network-wired"
href="/client/ios/transports/daily"
href="/api-reference/client/ios/transports/daily"
>
Daily, Gemini, OpenAI WebRTC, and SmallWebRTC transports
</Card>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ pcClient.on(RTVIEvent.BotReady, () => console.log("Bot ready via event"));

<ParamField path="onTransportStateChanged" type="state:TransportState">
Provides a `TransportState` string representing the connectivity state of the
local client. See [transports](../transports/transport) for state explanation.
local client. See [transports](./transports/transport) for state explanation.
</ParamField>

<ParamField path="onBotStarted" type="botResponse: unknown">
Expand All @@ -77,15 +77,20 @@ pcClient.on(RTVIEvent.BotReady, () => console.log("Bot ready via event"));

<ParamField path="onBotDisconnected" type="participant: Participant">
Bot disconnected from the transport. This may occur due to session expiry, a
pipeline error or for any reason the server deems the session over.
pipeline error or for any reason the server deems the session over. By
default, the client will also disconnect when this fires. Set
`disconnectOnBotDisconnect: false` in the constructor to keep the client
connected.
</ParamField>

<ParamField path="onParticipantJoined" type="participant: Participant">
A non-bot participant joined the session.
A participant joined the session. Fires for all participants, including the
bot and the local user.
</ParamField>

<ParamField path="onParticipantLeft" type="participant: Participant">
A non-bot participant left the session. Note: excluded local participant.
A participant left the session. Fires for all participants, including the bot
and the local user.
</ParamField>

### Messages and errors
Expand Down Expand Up @@ -288,10 +293,10 @@ Callback receives a `TranscriptData` object:
<Warning>
Search capabilities are currently only supported by Google Gemini. To take
advantage of this event, your pipeline must include a
[`GoogleLLMService`](/api-reference/server/services/llm/google) and your pipeline task
should include the
[`GoogleRTVIObserver`](/api-reference/server/rtvi/google-rtvi-observer) in lieu
of the typical `RTVIObserver`.
[`GoogleLLMService`](/api-reference/server/services/llm/google) and your
pipeline task should include the
[`GoogleRTVIObserver`](/api-reference/server/rtvi/google-rtvi-observer) in
lieu of the typical `RTVIObserver`.
</Warning>
<Expandable title="BotLLMSearchResponseData">
<ParamField path="search_result" type="string">
Expand Down Expand Up @@ -370,7 +375,7 @@ Callback receives a `TranscriptData` object:
<ParamField path="onLLMFunctionCallInProgress" type="LLMFunctionCallInProgressData">
A function call is in progress. This replaces the deprecated `onLLMFunctionCall`
callback and is the event that triggers registered
[`FunctionCallHandler`s](/client/js/api-reference/client-methods#registerfunctioncallhandler)
[`FunctionCallHandler`s](/api-reference/client/js/client-methods#registerfunctioncallhandler)
when a `function_name` is present.

<Expandable title="LLMFunctionCallInProgressData">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,9 @@ import { PipecatClient } from "@pipecat-ai/client-js";
<Note>
When initializing the `PipecatClient`, you must provide a transport instance
to the constructor for your chosen protocol or provider. See
[Transport](/client/js/transports) for more information. For the purpose of
[Transport](./transports/transport) for more information. For the purpose of
this guide, we'll demonstrate using the [Daily WebRTC
transport](/client/js/transports/daily).
transport](/api-reference/client/js/transports/daily).
</Note>

## Example
Expand Down Expand Up @@ -101,3 +101,12 @@ const pcClient = new PipecatClient({
Enable user's local screen share. Note: Not all transports support screen
sharing. Setting this value in that case will have no effect.
</ParamField>

### Session behavior

<ParamField path="disconnectOnBotDisconnect" type="boolean" default="true">
When `true` (default), the client will automatically disconnect when the bot
disconnects. Set to `false` to keep the client transport connected after the
bot leaves — useful if you want to handle reconnection or show a waiting state
without tearing down the transport. Introduced in client-js 1.7.0.
</ParamField>
Original file line number Diff line number Diff line change
Expand Up @@ -84,9 +84,9 @@ During the connection process, the transport state will transition through the f

<Note>
Calling `connect()` asynchronously will resolve when the bot and client signal
that they are ready. See [messages and events](./messages). If you want to
call `connect()` without `await`, you can use the `onBotReady` callback or
`BotReady` event to know when you can interact with the bot.
that they are ready. If you want to call `connect()` without `await`, you can use the
`onBotReady` callback or `BotReady` event to know when you can interact with
the bot.
</Note>

<Warning>
Expand Down Expand Up @@ -143,7 +143,7 @@ await pcClient.disconnectBot();

Custom messaging between the client and the bot. This is useful for sending data to the bot, triggering specific actions, reacting to server events, or querying the server.

For more, see: [messages and events](./messages).
For more, see the [Custom Messaging](/client/guides/custom-messaging) guide.

### sendClientMessage()

Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
---
title: "SDK Introduction"
title: "JavaScript SDK Overview"
sidebarTitle: "Overview"
description: "Build web applications with Pipecat’s JavaScript client library"
---

Expand Down Expand Up @@ -59,28 +60,28 @@ pcClient.connect({
<Card
title="Client Constructor"
icon="cube"
href="/client/js/api-reference/client-constructor"
href="/api-reference/client/js/client-constructor"
>
Configure your client instance with transport and callbacks
</Card>
<Card
title="Client Methods"
icon="code"
href="/client/js/api-reference/client-methods"
href="/api-reference/client/js/client-methods"
>
Core methods for interacting with your bot
</Card>
<Card
title="Callbacks & Events"
icon="bell"
href="/client/js/api-reference/callbacks"
href="/api-reference/client/js/callbacks"
>
Handle bot events, messages, and state changes
</Card>
<Card
title="Transport Packages"
icon="network-wired"
href="/client/js/transports/transport"
href="/api-reference/client/js/transports/transport"
>
Daily, SmallWebRTC, WebSocket, and other transports
</Card>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ The `DailyTransportConstructorOptions` extends the `DailyFactoryOptions` type th

### TransportConnectionParams

On `connect()`, the `DailyTransport` optionally takes a set of [`DailyCallOptions`](https://docs.daily.co/reference/daily-js/daily-call-client/methods#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()](/client/js/api-reference/client-methods#connect) documentation for more information.
On `connect()`, the `DailyTransport` optionally takes a set of [`DailyCallOptions`](https://docs.daily.co/reference/daily-js/daily-call-client/methods#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()](/api-reference/client/js/client-methods#connect) documentation for more information.

<CodeGroup>
```typescript client
Expand Down Expand Up @@ -119,7 +119,7 @@ For most operations, you will not interact with the transport directly. Most met

## Events

The transport implements the various [`PipecatClient` event handlers](/client/js/api-reference/callbacks). 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](https://docs.daily.co/reference/daily-js/events).
The transport implements the various [`PipecatClient` event handlers](/api-reference/client/js/callbacks). 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](https://docs.daily.co/reference/daily-js/events).

```typescript
pcClient.transport.dailyCallClient.on('recording-started', (ev) => {...});
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ The `GeminiLiveWebsocketTransport` does not take connection parameters. It conne

### Events

The GeminiLiveWebSocketTransport implements the various [PipecatClient event handlers](/client/js/api-reference/callbacks). Check out the docs or samples for more info.
The GeminiLiveWebSocketTransport implements the various [PipecatClient event handlers](/api-reference/client/js/callbacks). Check out the docs or samples for more info.

## More Information

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ title: "OpenAIRealTimeWebRTCTransport"

## Overview

The `OpenAIRealTimeWebRTCTransport` is a fully functional [Pipecat `Transport`](/client/js/transports/transport). It provides a framework for implementing real-time communication directly with the [OpenAI Realtime API using WebRTC](https://platform.openai.com/docs/guides/realtime-webrtc) voice-to-voice service. It handles media device management, audio/video streams, and state management for the connection.
The `OpenAIRealTimeWebRTCTransport` is a fully functional [Pipecat `Transport`](/api-reference/client/js/transports/transport). It provides a framework for implementing real-time communication directly with the [OpenAI Realtime API using WebRTC](https://platform.openai.com/docs/guides/realtime-webrtc) voice-to-voice service. It handles media device management, audio/video streams, and state management for the connection.

<Note>
Transports of this type are designed primarily for development and testing
Expand Down Expand Up @@ -106,7 +106,7 @@ The `OpenAIRealTimeWebRTCTransport` does not take connection parameters. It conn

### Events

The transport implements the various [`PipecatClient` event handlers](/client/js/api-reference/callbacks). Check out the docs or samples for more info.
The transport implements the various [`PipecatClient` event handlers](/api-reference/client/js/callbacks). Check out the docs or samples for more info.

## More Information

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -162,7 +162,7 @@ transport.setVideoCodec("VP8");

## Events

The transport implements the various [`PipecatClient` event handlers](/client/js/api-reference/callbacks).
The transport implements the various [`PipecatClient` event handlers](/api-reference/client/js/callbacks).

## Connection Process

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -200,7 +200,7 @@ transport.handleUserAudioStream(chunk.data);
</ResponseField>
## Events

The transport implements the various [`PipecatClient` event handlers](/client/js/api-reference/callbacks).
The transport implements the various [`PipecatClient` event handlers](/api-reference/client/js/callbacks).

## Reconnection Handling

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ description: "API reference for the Pipecat React Native SDK"

<Note>
The Pipecat React Native SDK leverages the Pipecat JavaScript SDK for seamless integration with React Native applications.
For detailed information, please reference to the [Javascript SDK docs](/client/js/api-reference/client-constructor).
For detailed information, please reference to the [Javascript SDK docs](/api-reference/client/js/client-constructor).

**Just ensure you use the appropriate transport layer for React Native.**

Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
---
title: "SDK Introduction"
title: "React Native SDK Overview"
sidebarTitle: "Overview"
description: "Build React Native applications with Pipecat's React Native client library"
---

The Pipecat React Native SDK leverages the [Pipecat JavaScript SDK](/client/js/introduction) and its `PipecatClient` to provide seamless integration for React Native applications.
The Pipecat React Native SDK leverages the [Pipecat JavaScript SDK](/api-reference/client/js/overview) and its `PipecatClient` to provide seamless integration for React Native applications.
Since the JavaScript SDK is designed to work across both web and React Native platforms, the core functionalities remain the same:

- Device and media stream management
Expand Down Expand Up @@ -94,28 +95,28 @@ The Pipecat React Native SDK leverages the Pipecat JavaScript SDK for seamless i
<Card
title="React Native API Reference"
icon="book"
href="/client/react-native/api-reference"
href="/api-reference/client/react-native/api-reference"
>
React Native-specific API documentation
</Card>
<Card
title="Transport Packages"
icon="network-wired"
href="/client/react-native/transports/daily"
href="/api-reference/client/react-native/transports/daily"
>
Daily and SmallWebRTC transports for React Native
</Card>
<Card
title="JS Client Constructor"
icon="cube"
href="/client/js/api-reference/client-constructor"
href="/api-reference/client/js/client-constructor"
>
Configure your client instance with transport and callbacks
</Card>
<Card
title="JS Client Methods"
icon="code"
href="/client/js/api-reference/client-methods"
href="/api-reference/client/js/client-methods"
>
Core methods for interacting with your bot
</Card>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ The `DailyTransportConstructorOptions` extends the `DailyFactoryOptions` type th

<Note>
The Pipecat React Native SDK leverages the Pipecat JavaScript SDK for seamless integration with React Native applications.
For detailed information, please reference to the [Javascript SDK docs](/client/js/transports/daily).
For detailed information, please reference to the [Javascript SDK docs](/api-reference/client/js/transports/daily).

**Just ensure you use the appropriate transport layer for React Native.**

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ await client?.startBotAndConnect(connectParams);

<Note>
The Pipecat React Native SDK leverages the Pipecat JavaScript SDK for seamless integration with React Native applications.
For detailed information, please reference to the [Javascript SDK docs](/client/js/transports/small-webrtc).
For detailed information, please reference to the [Javascript SDK docs](/api-reference/client/js/transports/small-webrtc).

**Just ensure you use the appropriate transport layer for React Native.**

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ The Pipecat React SDK provides several components for handling audio, video, and

## PipecatClientProvider

The root component for providing Pipecat client context to your application. It also includes built-in conversation state management, so any descendant component can use the [`usePipecatConversation`](/client/react/hooks#usepipecatconversation) hook to access messages without adding a separate provider.
The root component for providing Pipecat client context to your application. It also includes built-in conversation state management, so any descendant component can use the [`usePipecatConversation`](/api-reference/client/react/hooks#usepipecatconversation) hook to access messages without adding a separate provider.

```jsx
<PipecatClientProvider client={pcClient}>
Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
---
title: "SDK Introduction"
title: "React SDK Overview"
sidebarTitle: "Overview"
description: "Build React applications with Pipecat's React client library"
---

Expand Down Expand Up @@ -88,12 +89,12 @@ function VoiceBot() {
## Explore the SDK

<CardGroup cols={2}>
<Card title="Components" icon="puzzle-piece" href="/client/react/components">
<Card title="Components" icon="puzzle-piece" href="/api-reference/client/react/components">
Ready-to-use components for audio, video, and visualization
</Card>
<Card title="Hooks" icon="code" href="/client/react/hooks">
<Card title="Hooks" icon="code" href="/api-reference/client/react/hooks">
React hooks for accessing client functionality
</Card>
</CardGroup>

The Pipecat React SDK builds on top of the [JavaScript SDK](/client/js/introduction) to provide an idiomatic React interface while maintaining compatibility with the RTVI standard.
The Pipecat React SDK builds on top of the [JavaScript SDK](/api-reference/client/js/overview) to provide an idiomatic React interface while maintaining compatibility with the RTVI standard.
4 changes: 2 additions & 2 deletions api-reference/server/rtvi/rtvi-processor.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -213,7 +213,7 @@ await processor.interrupt_bot()

## Custom Messaging

Server messages let you push unsolicited data from the server to the client at any time — notifications, status updates, real-time results, etc. They are distinct from **server responses**, which reply to a specific client request (see [Requesting Information from the Server](/client/js/api-reference/messages#requesting-information-from-the-server)).
Server messages let you push unsolicited data from the server to the client at any time — notifications, status updates, real-time results, etc. They are distinct from **server responses**, which reply to a specific client request (see [Requesting Information from the Server](/client/guides/custom-messaging#requesting-information-from-the-server)).

### Sending server messages

Expand Down Expand Up @@ -250,4 +250,4 @@ pcClient.onServerMessage((message) => {
});
```

See [Handling Custom Messages from the Server](/client/js/api-reference/messages#handling-custom-messages-from-the-server) for more details and examples.
See [Handling Custom Messages from the Server](/client/guides/custom-messaging#handling-custom-messages-from-the-server) for more details and examples.
2 changes: 1 addition & 1 deletion api-reference/server/services/transport/daily.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -663,4 +663,4 @@ async def on_dtmf_event(transport, data):
- [Events Overview](/api-reference/server/events/overview) - Overview of all events in Pipecat
- [Daily REST Helper Utility](/api-reference/server/utilities/daily/rest-helper)
- [Pipecat Development Runner's Transport Utilities](/api-reference/server/utilities/runner/transport-utils)
- [Client SDK Integration](/client/js/transports/daily)
- [Client SDK Integration](/api-reference/client/js/transports/daily)
Loading
Loading