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
37 changes: 37 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,40 @@
# 1.0.0

- Added:
- Methods:
- `startBot()`
- `startBotAndConnect()`
- `appendToContext()`
- `sendClientMessage()`
- `sendClientRequest()`
- `registerFunctionCallHandler()`
- `unregisterFunctionCallHandler()`
- `unregisterAllFunctionCallHandlers()`
- `disconnectBot()`
- Callbacks:
- `onBotLlmSearchResponse()`
- `onLLMFunctionCall()`
- Removed:
- Helper classes (`LLMHelper`, `RTVIClientHelper`) and associated methods (`registerHelper`, `unregisterHelper`)
- Server configuration, including `getConfig()`, `updateConfig()`, `describeConfig()` and associated types
- Actions, including `action()`, `describeActions()` and associated types
- `expiry` field on client and transports
- `onStorageItemStored()` callback
- `RTVIClientParams`
- `sendWithResponse()`
- `sendMessage()`
- Changed:
- `connect()` is modified to no longer make a POST request to the backend, but rather pass the
specified `Value` straight to the `Transport`. See `startBotAndConnect()` for a helper method
which also includes the POST request.
- `Transport` now passed directly into `PipecatClientOptions` rather than using factory
- `onBotReady()` now receives a `BotReadyData` parameter
- Renamed:
- `RTVIClient` -> `PipecatClient`
- `RTVIEventCallbacks` -> `PipecatEventCallbacks`
- `RTVIClientOptions` -> `PipecatClientOptions`
- `onPipecatMetrics()` -> `onMetrics()`

# 0.3.4

- Added `onServerMessage` callback
Expand Down
16 changes: 8 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,20 +10,20 @@ This Android library contains the core components and types needed to set up an

When building an RTVI application, you should use the transport-specific client library (see
[here](https://rtvi.mintlify.app/api-reference/transports/introduction) for available first-party
packages.) The base `RTVIClient` has no transport included.
packages.) The base `PipecatClient` has no transport included.

## Usage

Add the following dependency to your `build.gradle` file:

```
implementation "ai.pipecat:client:0.3.4"
implementation "ai.pipecat:client:1.0.0"
```

Then instantiate the `RTVIClient` from your code, specifying the backend `baseUrl` and transport.
Then instantiate the `PipecatClient` from your code:

```kotlin
val callbacks = object : RTVIEventCallbacks() {
val callbacks = object : PipecatEventCallbacks() {

override fun onBackendError(message: String) {
Log.e(TAG, "Error from backend: $message")
Expand All @@ -32,12 +32,12 @@ val callbacks = object : RTVIEventCallbacks() {
// ...
}

val client = RTVIClient(transport, callbacks, options)
val client = PipecatClient(transport, options)

client.start().withCallback {
client.startBotAndConnect(startBotParams).withCallback {
// ...
}
```

`client.start()` (and other APIs) return a `Future`, which can give callbacks, or be awaited
using Kotlin Coroutines (`client.start().await()`).
Many `PipecatClient` APIs return a `Future`, which can give callbacks, or be awaited
using Kotlin Coroutines (`client.startBotAndConnect().await()`).
2 changes: 1 addition & 1 deletion pipecat-client-android/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ publishing {
register<MavenPublication>("release") {
groupId = "ai.pipecat"
artifactId = "client"
version = "0.3.4"
version = "1.0.0"

pom {
name.set("Pipecat Client")
Expand Down
Loading