Skip to content

Commit 9925cc4

Browse files
author
Xiting Zhang
committed
Merge remote-tracking branch 'upstream/main'
2 parents 9d93301 + c0d0a7c commit 9925cc4

File tree

141 files changed

+3405
-745
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

141 files changed

+3405
-745
lines changed

.vscode/cspell.json

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1173,7 +1173,12 @@
11731173
"nbconvert",
11741174
"rollupby",
11751175
"milli",
1176-
"resourceid"
1176+
"resourceid",
1177+
"Exceps",
1178+
"processiorate",
1179+
"processiobytessec",
1180+
"iowait",
1181+
"softirq"
11771182
]
11781183
},
11791184
{
@@ -1193,7 +1198,8 @@
11931198
"psutil",
11941199
"psycopg",
11951200
"uninstrument",
1196-
"uninstrumented"
1201+
"uninstrumented",
1202+
"scputimes"
11971203
]
11981204
},
11991205
{
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
1.0.0-dev.20250922.2
1+
1.0.0-dev.20250930.1

sdk/ai/azure-ai-voicelive/CHANGELOG.md

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,51 @@
11
# Release History
22

3+
## 1.0.0 (2025-10-01)
4+
5+
### Features Added
6+
7+
- **Enhanced WebSocket Connection Options**: Significantly improved WebSocket connection configuration with transport-agnostic design:
8+
- Added new timeout configuration options: `receive_timeout`, `close_timeout`, and `handshake_timeout` for fine-grained control
9+
- Enhanced `compression` parameter to support both boolean and integer types for advanced zlib window configuration
10+
- Added `vendor_options` parameter for implementation-specific options passthrough (escape hatch for advanced users)
11+
- Improved documentation with clearer descriptions for all connection parameters
12+
- Better support for common aliases from other WebSocket ecosystems (`max_size`, `ping_interval`, etc.)
13+
- More robust option mapping with proper type conversion and safety checks
14+
- **Enhanced Type Safety**: Improved type safety for content parts with proper enum usage:
15+
- `InputAudioContentPart`, `InputTextContentPart`, and `OutputTextContentPart` now use `ContentPartType` enum values instead of string literals
16+
- Better IntelliSense support and compile-time type checking for content part discriminators
17+
18+
### Breaking Changes
19+
20+
- **Improved Naming Conventions**: Updated model and enum names for better clarity and consistency:
21+
- `OAIVoice` enum renamed to `OpenAIVoiceName` for more descriptive naming
22+
- `ToolChoiceObject` model renamed to `ToolChoiceSelection` for better semantic meaning
23+
- `ToolChoiceFunctionObject` model renamed to `ToolChoiceFunctionSelection` for consistency
24+
- Updated type unions and imports to reflect the new naming conventions
25+
- Cross-language package mappings updated to maintain compatibility across SDKs
26+
- **Session Model Architecture**: Separated `ResponseSession` and `RequestSession` models for better design clarity:
27+
- `ResponseSession` no longer inherits from `RequestSession` and now inherits directly from `_Model`
28+
- All session configuration fields are now explicitly defined in `ResponseSession` instead of being inherited
29+
- This provides clearer separation of concerns between request and response session configurations
30+
- May affect type checking and code that relied on the previous inheritance relationship
31+
- **Model Cleanup**: Removed unused `AgentConfig` model and related fields from the public API:
32+
- `AgentConfig` class has been completely removed from imports and exports
33+
- `agent` field removed from `ResponseSession` model (including constructor parameter)
34+
- Updated cross-language package mappings to reflect the removal
35+
- **Model Naming Convention Update**: Renamed `EOUDetection` to `EouDetection` for better naming consistency:
36+
- Class name changed from `EOUDetection` to `EouDetection`
37+
- All inheritance relationships updated: `AzureSemanticDetection`, `AzureSemanticDetectionEn`, and `AzureSemanticDetectionMultilingual` now inherit from `EouDetection`
38+
- Type annotations updated in `AzureSemanticVad`, `AzureSemanticVadEn`, `AzureSemanticVadMultilingual`, and `ServerVad` classes
39+
- Import statements and exports updated to reflect the new naming
40+
- **Enhanced Content Part Type Safety**: Content part discriminators now use enum values instead of string literals:
41+
- `InputAudioContentPart.type` now uses `ContentPartType.INPUT_AUDIO` instead of `"input_audio"`
42+
- `InputTextContentPart.type` now uses `ContentPartType.INPUT_TEXT` instead of `"input_text"`
43+
- `OutputTextContentPart.type` now uses `ContentPartType.TEXT` instead of `"text"`
44+
45+
### Other Changes
46+
47+
- Initial GA release
48+
349
## 1.0.0b5 (2025-09-26)
450

551
### Features Added

sdk/ai/azure-ai-voicelive/README.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@ This package provides a **real-time, speech-to-speech** client for Azure AI Voic
55
It opens a WebSocket session to stream microphone audio to the service and receive
66
typed server events (including audio) for responsive, interruptible conversations.
77

8-
> **Status:** Preview. APIs are subject to change.
8+
> **Status:** General Availability (GA). This is a stable release suitable for production use.
99
10-
> **Important:** As of version 1.0.0b5, this SDK is **async-only**. The synchronous API has been removed to focus exclusively on async patterns. All examples and samples use `async`/`await` syntax.
10+
> **Important:** As of version 1.0.0, this SDK is **async-only**. The synchronous API has been removed to focus exclusively on async patterns. All examples and samples use `async`/`await` syntax.
1111
1212
---
1313

@@ -23,6 +23,8 @@ Getting started
2323

2424
### Install
2525

26+
Install the stable GA version:
27+
2628
```bash
2729
# Base install (core client only)
2830
python -m pip install azure-ai-voicelive
@@ -34,7 +36,7 @@ python -m pip install "azure-ai-voicelive[aiohttp]"
3436
python -m pip install azure-ai-voicelive[aiohttp] pyaudio python-dotenv
3537
```
3638

37-
The SDK now exclusively provides async-only WebSocket connections using `aiohttp`.
39+
The SDK provides async-only WebSocket connections using `aiohttp` for optimal performance and reliability.
3840

3941
### Authenticate
4042

sdk/ai/azure-ai-voicelive/apiview-properties.json

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
{
2-
"CrossLanguagePackageId": "VoiceLive.WebSocket",
2+
"CrossLanguagePackageId": "VoiceLive",
33
"CrossLanguageDefinitionId": {
4-
"azure.ai.voicelive.models.AgentConfig": "VoiceLive.AgentConfig",
54
"azure.ai.voicelive.models.Animation": "VoiceLive.Animation",
65
"azure.ai.voicelive.models.ConversationRequestItem": "VoiceLive.ConversationRequestItem",
76
"azure.ai.voicelive.models.MessageItem": "VoiceLive.MessageItem",
@@ -13,7 +12,7 @@
1312
"azure.ai.voicelive.models.AzureVoice": "VoiceLive.AzureVoice",
1413
"azure.ai.voicelive.models.AzureCustomVoice": "VoiceLive.AzureCustomVoice",
1514
"azure.ai.voicelive.models.AzurePersonalVoice": "VoiceLive.AzurePersonalVoice",
16-
"azure.ai.voicelive.models.EOUDetection": "VoiceLive.EOUDetection",
15+
"azure.ai.voicelive.models.EouDetection": "VoiceLive.EouDetection",
1716
"azure.ai.voicelive.models.AzureSemanticDetection": "VoiceLive.AzureSemanticDetection",
1817
"azure.ai.voicelive.models.AzureSemanticDetectionEn": "VoiceLive.AzureSemanticDetectionEn",
1918
"azure.ai.voicelive.models.AzureSemanticDetectionMultilingual": "VoiceLive.AzureSemanticDetectionMultilingual",
@@ -114,8 +113,8 @@
114113
"azure.ai.voicelive.models.SessionBase": "VoiceLive.SessionBase",
115114
"azure.ai.voicelive.models.SystemMessageItem": "VoiceLive.SystemMessageItem",
116115
"azure.ai.voicelive.models.TokenUsage": "VoiceLive.TokenUsage",
117-
"azure.ai.voicelive.models.ToolChoiceObject": "VoiceLive.ToolChoiceObject",
118-
"azure.ai.voicelive.models.ToolChoiceFunctionObject": "VoiceLive.ToolChoiceFunctionObject",
116+
"azure.ai.voicelive.models.ToolChoiceSelection": "VoiceLive.ToolChoiceObject",
117+
"azure.ai.voicelive.models.ToolChoiceFunctionSelection": "VoiceLive.ToolChoiceFunctionObject",
119118
"azure.ai.voicelive.models.UserMessageItem": "VoiceLive.UserMessageItem",
120119
"azure.ai.voicelive.models.VideoCrop": "VoiceLive.VideoCrop",
121120
"azure.ai.voicelive.models.VideoParams": "VoiceLive.VideoParams",
@@ -125,8 +124,9 @@
125124
"azure.ai.voicelive.models.ItemType": "VoiceLive.ItemType",
126125
"azure.ai.voicelive.models.ItemParamStatus": "VoiceLive.ItemParamStatus",
127126
"azure.ai.voicelive.models.MessageRole": "VoiceLive.MessageRole",
127+
"azure.ai.voicelive.models.ContentPartType": "VoiceLive.ContentPartType",
128128
"azure.ai.voicelive.models.Modality": "VoiceLive.Modality",
129-
"azure.ai.voicelive.models.OAIVoice": "VoiceLive.OAIVoice",
129+
"azure.ai.voicelive.models.OpenAIVoiceName": "VoiceLive.OAIVoice",
130130
"azure.ai.voicelive.models.AzureVoiceType": "VoiceLive.AzureVoiceType",
131131
"azure.ai.voicelive.models.PersonalVoiceModels": "VoiceLive.PersonalVoiceModels",
132132
"azure.ai.voicelive.models.OutputAudioFormat": "VoiceLive.OutputAudioFormat",
@@ -139,7 +139,6 @@
139139
"azure.ai.voicelive.models.ToolChoiceLiteral": "VoiceLive.ToolChoiceLiteral",
140140
"azure.ai.voicelive.models.ResponseStatus": "VoiceLive.ResponseStatus",
141141
"azure.ai.voicelive.models.ResponseItemStatus": "VoiceLive.ResponseItemStatus",
142-
"azure.ai.voicelive.models.ContentPartType": "VoiceLive.ContentPartType",
143142
"azure.ai.voicelive.models.ServerEventType": "VoiceLive.ServerEventType"
144143
}
145144
}

sdk/ai/azure-ai-voicelive/azure/ai/voicelive/_types.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,5 +10,5 @@
1010

1111
if TYPE_CHECKING:
1212
from . import models as _models
13-
Voice = Union[str, "_models.OAIVoice", "_models.OpenAIVoice", "_models.AzureVoice"]
14-
ToolChoice = Union[str, "_models.ToolChoiceLiteral", "_models.ToolChoiceObject"]
13+
Voice = Union[str, "_models.OpenAIVoiceName", "_models.OpenAIVoice", "_models.AzureVoice"]
14+
ToolChoice = Union[str, "_models.ToolChoiceLiteral", "_models.ToolChoiceSelection"]

sdk/ai/azure-ai-voicelive/azure/ai/voicelive/_version.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,4 @@
66
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
77
# --------------------------------------------------------------------------
88

9-
VERSION = "1.0.0b5"
9+
VERSION = "1.0.0"

0 commit comments

Comments
 (0)