Skip to content

VoiceLive: 2026-06-01-preview API version patch#43472

Open
yulin-li wants to merge 2 commits into
Azure:mainfrom
yulin-li:voicelive/2026-06-01-preview-patch
Open

VoiceLive: 2026-06-01-preview API version patch#43472
yulin-li wants to merge 2 commits into
Azure:mainfrom
yulin-li:voicelive/2026-06-01-preview-patch

Conversation

@yulin-li
Copy link
Copy Markdown
Member

@yulin-li yulin-li commented May 24, 2026

Summary

Patch to the in-flight VoiceLive 2026-06-01-preview API version, plus a cross-version bug fix for the image content part field name.

Changes

  1. Bug fix — rename RequestImageContentPart.urlimage_url (all API versions)
    The original url field was never wired up server-side and never accepted by the service; the correct wire field name is image_url. Applied to all versions where RequestImageContentPart exists (2026-01-01-preview, 2026-04-10, 2026-06-01-preview). Type also tightened from string to url.

  2. input_text.delta / input_text.done client events (v2026-06-01-preview)
    New ClientEventInputTextDelta and ClientEventInputTextDone events for streaming text input into a conversation item.

  3. SmartEndOfTurnDetection audio-based EOU variant (v2026-06-01-preview)
    New EOU detection model with model: "smart_end_of_turn_detection" exposing threshold_level and timeout_ms. The new literal is added to the EouDetection discriminator inline union via @typeChangedFrom so older API versions are not affected.

  4. parallel_tool_calls session option (v2026-06-01-preview)
    New optional parallel_tool_calls boolean (default true) on SessionBase, controlling whether the model may issue tool calls in parallel. Applies to both request and response session payloads.

Validation

  • tsp compile passes cleanly.
  • git diff confirms older API versions only carry the urlimage_url bug fix; all other changes are scoped to 2026-06-01-preview.

@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 24, 2026

Next Steps to Merge

Next steps that must be taken to merge this PR:
  • ❌ This PR targets either the main branch of the public specs repo or the RPSaaSMaster branch of the private specs repo. These branches are not intended for iterative development. Therefore, you must acknowledge you understand that after this PR is merged, the APIs are considered shipped to Azure customers. Any further attempts at in-place modifications to the APIs will be subject to Azure's versioning and breaking change policies. Additionally, for control plane APIs, you must acknowledge that you are following all the best practices documented by ARM at aka.ms/armapibestpractices. If you do intend to release the APIs to your customers by merging this PR, add the PublishToCustomers label to your PR in acknowledgement of the above. Otherwise, retarget this PR onto a feature branch, i.e. with prefix release- (see aka.ms/azsdk/api-versions#release--branches).
  • ❌ This PR has at least one breaking change (label: BreakingChangeReviewRequired).
    To unblock this PR, follow the process at aka.ms/brch.
  • ❌ The required check named Swagger BreakingChange has failed. To unblock this PR, follow the process at aka.ms/brch.


Comment generated by summarize-checks workflow run.

- Bug fix: rename RequestImageContentPart.url -> image_url across all API
  versions. The original 'url' wire field was never wired up server-side and
  never worked; the correct field name on the wire is 'image_url'.
- Add client events input_text.delta and input_text.done (v2026-06-01-preview).
- Add SmartEndOfTurnDetection (model='smart_end_of_turn_detection') as a new
  audio-based EOU variant with threshold_level and timeout_ms
  (v2026-06-01-preview).
@yulin-li yulin-li force-pushed the voicelive/2026-06-01-preview-patch branch from 88f1a83 to a9ef02a Compare May 24, 2026 06:06
@github-actions github-actions Bot added data-plane TypeSpec Authored with TypeSpec labels May 24, 2026
@yulin-li yulin-li requested a review from Copilot May 24, 2026 06:07
@github-actions github-actions Bot added the BreakingChangeReviewRequired <valid label in PR review process>add this label when breaking change review is required label May 24, 2026
@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 24, 2026

API Change Check

APIView identified API level changes in this PR and created the following API reviews

Language API Review for Package
Swagger Azure.AI.Agents-VoiceLive
TypeSpec VoiceLive
Python azure-ai-voicelive
Java com.azure:azure-ai-voicelive
C# Azure.AI.VoiceLive
JavaScript @azure/ai-voicelive

Comment generated by After APIView workflow run.

Copy link
Copy Markdown
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 updates the VoiceLive TypeSpec source and generated OpenAPI with the intent of patching the in-flight 2026-06-01-preview API surface by (1) renaming the request image URL field, (2) adding new streaming client events for input text, and (3) adding a new audio-based end-of-turn detection variant.

Changes:

  • Adds new client events input_text.delta and input_text.done (TypeSpec + generated OpenAPI for 2026-06-01-preview).
  • Adds SmartEndOfTurnDetection (model: "smart_end_of_turn_detection") to EOU detection (TypeSpec + generated OpenAPI for 2026-06-01-preview).
  • Renames RequestImageContentPart.urlimage_url and narrows the type to URI; however, the current change leaks into 2026-01-01-preview and 2026-04-10 outputs (breaking older versions).

Reviewed changes

Copilot reviewed 7 out of 7 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
specification/ai/data-plane/VoiceLive/stable/2026-04-10/VoiceLive.json Renames RequestImageContentPart field to image_url (currently a breaking change in a stable version).
specification/ai/data-plane/VoiceLive/preview/2026-06-01-preview/VoiceLive.json Adds new client event schemas/enum values and SmartEndOfTurnDetection; also includes a $ref+sibling keyword issue.
specification/ai/data-plane/VoiceLive/preview/2026-01-01-preview/VoiceLive.json Renames RequestImageContentPart field to image_url (unexpectedly changes an older preview version).
specification/ai/data-plane/VoiceLive/models.tsp Adds TypeSpec models for ClientEventInputTextDelta and ClientEventInputTextDone.
specification/ai/data-plane/VoiceLive/items.tsp Renames RequestImageContentPart property to image_url and changes type to url (currently not properly version-gated).
specification/ai/data-plane/VoiceLive/events.tsp Adds new ClientEventType union members for the input-text streaming events.
specification/ai/data-plane/VoiceLive/custom.tsp Adds SmartEndOfTurnDetection and updates the EouDetection discriminator union to include the new model value.

Comment on lines +2621 to 2624
"image_url": {
"type": "string",
"format": "uri"
},
Comment on lines +2367 to 2370
"image_url": {
"type": "string",
"format": "uri"
},
Comment on lines +6327 to +6330
"threshold_level": {
"$ref": "#/definitions/EouThresholdLevel",
"description": "Threshold level setting. One of `low`, `medium`, `high`, or `default`."
},
Comment on lines 61 to 68
/** Input image content part. */
#suppress "@azure-tools/typespec-azure-core/casing-style" // Service message format is snake_case to remain close to OpenAI style.
@added(Versions.v2026_01_01_preview)
@usage(RequestUsage)
model RequestImageContentPart extends ContentPart {
type: ContentPartType.input_image;
url?: string;
image_url?: url;
detail?: RequestImageContentPartDetail;
Copy link
Copy Markdown
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

Copilot reviewed 7 out of 7 changed files in this pull request and generated 4 comments.

Comments suppressed due to low confidence (1)

specification/ai/data-plane/VoiceLive/preview/2026-06-01-preview/VoiceLive.json:1838

  • The discriminator enum for EouDetection.model has x-ms-enum but is missing a name (and a values list), which can lead to anonymous/unstable enum types in generated SDKs. Update JSON path $.definitions.EouDetection.properties.model.x-ms-enum to include a stable name and explicit values, or (preferably, since this file is TypeSpec-generated) model this as a named TypeSpec union so the emitter can generate a proper x-ms-enum block.
            "smart_end_of_turn_detection"
          ],
          "x-ms-enum": {
            "modelAsString": true
          }

Comment on lines 65 to 68
model RequestImageContentPart extends ContentPart {
type: ContentPartType.input_image;
url?: string;
image_url?: url;
detail?: RequestImageContentPartDetail;
Comment on lines +2621 to 2624
"image_url": {
"type": "string",
"format": "uri"
},
Comment on lines +2367 to 2370
"image_url": {
"type": "string",
"format": "uri"
},
Comment on lines +2883 to 2886
"image_url": {
"type": "string",
"format": "uri"
},
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

BreakingChangeReviewRequired <valid label in PR review process>add this label when breaking change review is required data-plane TypeSpec Authored with TypeSpec

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants