-
Notifications
You must be signed in to change notification settings - Fork 2.2k
[VoiceLive] Update for agent V2, remove foundry tools, rename filler response #47979
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
…emove FoundryAgentTool, add AgentSessionConfig sample
There was a problem hiding this 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 pull request updates the Azure VoiceLive SDK to support Agent V2, which introduces a new pattern for connecting directly to Azure AI Foundry agents. The changes replace the previous FoundryAgentTool pattern with a new AgentSessionConfig-based approach where agents are configured at connection time rather than as tools within a session.
Changes:
- Adds
AgentSessionConfigclass for configuring direct agent connections with required agent/project names and optional parameters - Introduces new
startSession(AgentSessionConfig)API methods inVoiceLiveAsyncClientfor agent-based sessions - Removes deprecated FoundryAgentTool pattern and related classes, server events, and enum values
- Adds avatar scene configuration (
Sceneclass) and warning event support (ServerEventWarning) - Updates authentication scope from Cognitive Services to Azure AI (
https://ai.azure.com/.default)
Reviewed changes
Copilot reviewed 31 out of 31 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| tsp-location.yaml | Updates TypeSpec commit reference to 9f102a526a6ede52ba997cc751d612c7fe4ff363 |
| AgentSessionConfig.java | New handwritten class for agent session configuration with validation and query parameter conversion |
| AgentSessionConfigTest.java | Comprehensive unit tests for AgentSessionConfig including validation and parameter mapping |
| VoiceLiveAsyncClient.java | Adds new startSession overloads for AgentSessionConfig and updates authentication scope |
| VoiceLiveSessionAsyncClient.java | Changes token scope from Cognitive Services to Azure AI |
| AgentV2Sample.java | New comprehensive sample demonstrating agent V2 pattern with real-time audio |
| VoiceLiveAsyncClientTest.java | Adds tests for new AgentSessionConfig-based startSession methods |
| Scene.java | New generated model for avatar scene configuration (zoom, position, rotation, amplitude) |
| ServerEventWarning.java | New generated model for non-interrupting warning events |
| ServerEventWarningDetails.java | New generated model for warning event details |
| AvatarConfiguration.java | Adds scene and outputAuditAudio properties |
| SessionUpdate.java | Updates discriminator to support warning events, removes foundry agent call events |
| SessionResponseItem.java | Removes foundry_agent_call discriminator |
| VoiceLiveToolDefinition.java | Removes foundry_agent tool type from discriminator logic |
| ItemType.java | Removes FOUNDRY_AGENT_CALL enum value |
| ToolType.java | Removes FOUNDRY_AGENT enum value |
| ServerEventType.java | Removes foundry agent call event types and MCP approval types, adds WARNING |
| FoundryAgentTool.java | Deleted - replaced by AgentSessionConfig pattern |
| FoundryAgentContextType.java | Deleted - no longer needed with new pattern |
| ResponseFoundryAgentCallItem.java | Deleted - foundry agent calls removed |
| ServerEventResponseFoundryAgentCall*.java | Deleted - 5 foundry agent call lifecycle event classes removed |
| CHANGELOG.md | Documents all features added, breaking changes, properly categorized |
| Metadata files | Updated to reflect removed and added types |
| Test files | Deleted tests for removed classes (3 files) |
API Change CheckAPIView identified API level changes in this PR and created the following API reviews |
- Regenerate TypeSpec files from commit 347ca2ab38cc4ac37b4733c519f67920ac6c272d - Rename FillerResponseConfigBase to InterimResponseConfigBase - Rename BasicFillerResponseConfig to StaticInterimResponseConfig - Rename LlmFillerResponseConfig to LlmInterimResponseConfig - Rename FillerResponseConfigType to InterimResponseConfigType - Rename FillerTrigger to InterimResponseTrigger - Update VoiceLiveSessionOptions/Response: fillerResponse -> interimResponse - Replace FillerResponseConfigTest with InterimResponseConfigTest - Update VoiceLiveSessionOptionsNewFeaturesTest for interim response API - Update CHANGELOG.md with breaking changes documentation
…emove FoundryAgentTool, add AgentSessionConfig sample
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:
General Guidelines and Best Practices
Testing Guidelines