From bb4bd03c1d050db0b0da5a41ea1603339dfa5de0 Mon Sep 17 00:00:00 2001 From: shijing xian Date: Wed, 17 Jun 2026 11:42:28 +0800 Subject: [PATCH] feat: add deployment field to agent dispatch Add `deployment` field to `RoomAgentDispatch` and `agentDeployment` to `TokenRequestOptions` for targeting specific agent deployments. Leave empty to target the production deployment. Co-Authored-By: Claude Opus 4.5 --- .../main/java/io/livekit/android/token/TokenSource.kt | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/livekit-android-sdk/src/main/java/io/livekit/android/token/TokenSource.kt b/livekit-android-sdk/src/main/java/io/livekit/android/token/TokenSource.kt index 783a4299d..866e48f15 100644 --- a/livekit-android-sdk/src/main/java/io/livekit/android/token/TokenSource.kt +++ b/livekit-android-sdk/src/main/java/io/livekit/android/token/TokenSource.kt @@ -35,17 +35,22 @@ data class TokenRequestOptions( val participantAttributes: Map? = null, val agentName: String? = null, val agentMetadata: String? = null, + /** + * Optional deployment to target. Leave empty to target the production deployment. + */ + val agentDeployment: String? = null, ) /** * Converts a [TokenRequestOptions] to [TokenSourceRequest], a JSON serializable request body. */ fun TokenRequestOptions.toRequest(): TokenSourceRequest { - val agents = if (agentName != null || agentMetadata != null) { + val agents = if (agentName != null || agentMetadata != null || agentDeployment != null) { listOf( RoomAgentDispatch( agentName = agentName, metadata = agentMetadata, + deployment = agentDeployment, ), ) } else { @@ -105,6 +110,10 @@ data class RoomConfiguration( data class RoomAgentDispatch( val agentName: String? = null, val metadata: String? = null, + /** + * Optional deployment to target. Leave empty to target the production deployment. + */ + val deployment: String? = null, ) @SuppressLint("UnsafeOptInUsageError")