Skip to content

[VoiceLive] Initial Preview of the VoiceLive SDK#47115

Merged
xitzhang merged 23 commits intomainfrom
xitzhang/voiceliveinitial
Nov 3, 2025
Merged

[VoiceLive] Initial Preview of the VoiceLive SDK#47115
xitzhang merged 23 commits intomainfrom
xitzhang/voiceliveinitial

Conversation

@xitzhang
Copy link
Member

@xitzhang xitzhang commented Oct 28, 2025

Description

Please add an informative description that covers that changes made by the pull request and link all relevant issues.

If an SDK is being regenerated based on a new swagger spec, a link to the pull request containing these swagger spec changes has been included above.

All SDK Contribution checklist:

  • The pull request does not introduce [breaking changes]
  • CHANGELOG is updated for new features, bug fixes or other significant changes.
  • I have read the contribution guidelines.

General Guidelines and Best Practices

  • Title of the pull request is clear and informative.
  • There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For more information on cleaning up the commits in your PR, see this page.

Testing Guidelines

  • Pull request includes test coverage for the included changes.

Copilot AI review requested due to automatic review settings October 28, 2025 23:59
@xitzhang xitzhang requested review from a team and dargilco as code owners October 28, 2025 23:59
@github-actions github-actions bot added the AI label Oct 28, 2025
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR introduces the initial VoiceLive SDK for Java, implementing a WebSocket-based real-time voice interaction API with support for bidirectional audio streaming, function calling, and avatar integration.

Key Changes:

  • Generated TypeSpec-based model classes for session management, conversation handling, and response processing
  • Support for server VAD (Voice Activity Detection) and turn detection
  • JSON serialization/deserialization for all model types with discriminated polymorphic handling
  • Comprehensive event type system for server-client communication

Reviewed Changes

Copilot reviewed 130 out of 175 changed files in this pull request and generated 6 comments.

Show a summary per file
File Description
SessionUpdate.java Base class for polymorphic server events with custom discriminator handling using JsonReaderHelper
SessionResponse.java Response model containing output items, usage statistics, and configuration
SessionResponseItem.java Polymorphic base for conversation items (messages, function calls)
ResponseStatusDetails.java Polymorphic base for response status with discriminated subtypes (failed, incomplete, cancelled)
Various SessionUpdate* classes Concrete event types for audio, transcription, animation, and conversation updates
ServerEventType.java Enum defining all possible server event discriminator values
ServerVadTurnDetection.java VAD configuration for automatic turn detection
assets.json Asset repository configuration for test resources

@xitzhang xitzhang changed the title [draft] Initial VoiceLive SDK [Draft] Initial Preview of the VoiceLive SDK Oct 29, 2025
@xitzhang xitzhang changed the title [Draft] Initial Preview of the VoiceLive SDK [VoiceLive] Initial Preview of the VoiceLive SDK Oct 29, 2025
@xitzhang
Copy link
Member Author

xitzhang commented Nov 1, 2025

Copy link
Member

@JonathanGiles JonathanGiles left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approving for first preview release

@xitzhang xitzhang merged commit 15bfa1f into main Nov 3, 2025
12 checks passed
@xitzhang xitzhang deleted the xitzhang/voiceliveinitial branch November 3, 2025 20:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants