You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
No shipped camelCase public Python constructor kwargs were found in source or docs examples. No deprecated alias helper is required for this pass.
14
+
15
+
| File | Class / symbol | Public arg or example | Current spelling | Desired Python spelling |`to_config()` key | Wire key | Action | Compatibility needed | Test coverage |
16
+
|---|---|---|---|---|---|---|---|---|---|
17
+
|`src/agora_agent/agentkit/vendors/tts.py`|`GoogleTTS`| constructor arg |`voice_name`|`voice_name`|`params.VoiceSelectionParams`|`params.VoiceSelectionParams`| keep | no |`tests/custom/test_tts_vendors.py`|
18
+
|`src/agora_agent/agentkit/vendors/tts.py`|`RimeTTS`| constructor arg |`model_id`|`model_id`|`params.modelId`|`params.modelId`| keep | no |`tests/custom/test_tts_vendors.py`|
19
+
|`src/agora_agent/agentkit/vendors/tts.py`|`MurfTTS`| constructor arg |`voice_id`|`voice_id`|`params.voiceId`|`params.voiceId`| keep | no |`tests/custom/test_tts_vendors.py`, `tests/custom/test_request_body.py`|
20
+
|`src/agora_agent/types/rime_tts_params.py`| generated model | generated alias |`modelId`| n/a |`model_id`|`modelId`| keep | no |`tests/custom/test_tts_vendors.py`|
21
+
|`src/agora_agent/types/murf_tts_params.py`| generated model | generated alias |`voiceId`| n/a |`voice_id`|`voiceId`| keep | no |`tests/custom/test_tts_vendors.py`|
22
+
|`tests/custom/test_request_body.py`| wire assertion | payload key |`voiceId`| n/a |`params.voiceId`|`params.voiceId`| keep | no | request-body test |
23
+
|`tests/custom/test_tts_vendors.py`| wire assertion | payload key |`modelId`, `voiceId`, `VoiceSelectionParams`| n/a | generated model fields | wire aliases | keep | no | wire serialization test |
24
+
25
+
## Guardrail Added
26
+
27
+
`tests/custom/test_docs_snake_case.py` scans Python markdown code fences and fails on common camelCase kwargs such as `apiKey`, `baseUrl`, `modelId`, `voiceId`, `projectId`, and `greetingMessage`. JSON, TypeScript, Go, shell, and YAML examples are skipped so wire payload examples can retain required non-Python keys.
Copy file name to clipboardExpand all lines: README.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -20,7 +20,7 @@ pip install agora-agents
20
20
## Quick Start
21
21
22
22
Start with the `Agent` builder: create a client with app credentials, choose your ASR, LLM, and TTS providers, then start a session. Omit vendor API keys for supported Agora-managed models, or provide keys when you want BYOK.
23
-
Set Agora interaction language with `turn_detection.language`; provider-specific STT language values remain under `asr.params`.
23
+
Set Agora interaction language with `turn_detection.language`; provider-specific STT language values remain under `asr.params`. Ares uses only the REST `asr.language` value sourced from `turn_detection.language`.
Copy file name to clipboardExpand all lines: changelog.md
+22-2Lines changed: 22 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,6 +4,26 @@ All notable changes to this project will be documented in this file.
4
4
5
5
The format is based on [Keep a Changelog](https://keepachangelog.com/).
6
6
7
+
## [v2.2.0] — 2026-06-05
8
+
9
+
### Added
10
+
11
+
-**Expanded provider surface** — Added generated API support for the latest Conversational AI vendors and configuration types, including Dify LLM and Generic Avatar.
12
+
-**Interaction language handling** — AgentKit now consistently derives REST `asr.language` from `turn_detection.language` while keeping provider-specific STT language values under `asr.params`.
13
+
-**Deepgram keyterm** — Added `keyterm` support on `DeepgramSTT`, serialized as `asr.params.keyterm`.
14
+
15
+
### Changed
16
+
17
+
-**MiniMax managed presets** — MiniMax preset-backed TTS now keeps the preset model as an internal hint while sending only supported partial TTS settings such as `voice_setting.voice_id`.
18
+
-**Vertex AI LLM routing** — `VertexAILLM` now keeps project and location in the generated endpoint URL instead of duplicating them in `llm.params`.
19
+
20
+
### Fixed
21
+
22
+
-**Provider wire keys** — Corrected alias-sensitive TTS payloads so Google TTS emits `VoiceSelectionParams` and `AudioConfig`, Rime TTS emits `modelId`, and Murf TTS preserves `voiceId`.
23
+
-**AgentKit request validation** — Start request validation now de-aliases REST-shaped provider dictionaries before constructing generated request models, while still allowing preset and pipeline-backed partial configs.
24
+
-**Request body coverage** — Added regression tests for BYOK, preset-backed, mixed preset/BYOK, and pipeline override request shapes across provider configurations.
25
+
-**Python docs examples** — Added a docs guard to keep Python examples on snake_case kwargs while allowing documented JSON wire keys.
26
+
7
27
## [v2.1.0] — 2026-06-02
8
28
9
29
### Added
@@ -21,7 +41,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/).
21
41
### Fixed
22
42
23
43
-**Managed-provider validation** — AgentKit validation now distinguishes preset-backed providers from BYOK providers so required provider fields are only required when credentials are caller-supplied.
24
-
-**Language placement** — Provider-specific STT language values remain under `asr.params`, while Agora interaction languageis emitted separately as`turn_detection.language`.
44
+
-**Language placement** — Provider-specific STT language values remain under `asr.params`; the REST `asr.language` field is populated from`turn_detection.language`.
25
45
26
46
## [v2.0.0] — 2026-05-21
27
47
@@ -114,7 +134,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/).
114
134
115
135
### Fixed
116
136
117
-
-**`AresSTT`** — Removed redundant `language` key from the `params` dict. Language is now emitted only at the top level. `params` is only included when `additional_params` is provided.
137
+
-**`AresSTT`** — Removed redundant `language` key from the `params` dict. Ares only selects the provider; AgentKit populates REST `asr.language` from `turn_detection.language`. `params` is only included when `additional_params` is provided.
118
138
-**`OpenAIRealtime` / `VertexAI` (MLLM)** — Agent-level `greeting` and `failure_message` defaults are now correctly applied when missing in MLLM mode. Previously these values were silently dropped.
119
139
-**`VertexAI` (MLLM)** — `messages` is emitted at the MLLM top level, matching the generated core SDK contract.
Copy file name to clipboardExpand all lines: docs/concepts/vendors.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -75,12 +75,12 @@ tts = ElevenLabsTTS(
75
75
76
76
Used with `agent.with_stt()`.
77
77
78
-
Use `turn_detection.language` for Agora interaction language; it defaults to `en-US`. STT vendor `language` options are serialized under `asr.params` using each provider's own format.
78
+
Use `turn_detection.language` for Agora interaction language; it defaults to `en-US`. STT vendor `language` options are serialized under `asr.params` using each provider's own format. Ares does not take a provider language option; AgentKit uses `turn_detection.language` for REST `asr.language`.
Copy file name to clipboardExpand all lines: docs/reference/vendors.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -318,7 +318,7 @@ The SDK also includes named helpers for the remaining Agora-supported LLM provid
318
318
319
319
## STT Vendors
320
320
321
-
Use `turn_detection.language` for Agora interaction language; it defaults to `en-US`. Provider-specific language values remain under `asr.params` and may use a different format.
321
+
Use `turn_detection.language` for Agora interaction language; it defaults to `en-US`. Provider-specific language values remain under `asr.params` and may use a different format. AgentKit populates REST `asr.language` from `turn_detection.language`.
322
322
323
323
### `SpeechmaticsSTT`
324
324
@@ -336,6 +336,7 @@ Use `turn_detection.language` for Agora interaction language; it defaults to `en
336
336
|`api_key`|`str`| BYOK only |`None`| Deepgram API key. Optional only for Agora-managed `nova-2` and `nova-3`. |
337
337
|`model`|`str`| No |`None`| Model (e.g., `nova-2`) |
338
338
|`language`|`str`| No |`None`| Language code (e.g., `en-US`) |
339
+
|`keyterm`|`str`| No |`None`| Boost specialized terms and brands; serialized as `asr.params.keyterm`|
339
340
|`smart_format`|`bool`| No |`None`| Enable smart formatting |
340
341
|`punctuation`|`bool`| No |`None`| Enable punctuation |
341
342
|`additional_params`|`Dict[str, Any]`| No |`None`| Additional parameters |
@@ -396,7 +397,6 @@ For `nova-2` and `nova-3`, omit `api_key` to use Agora-managed credentials. For
0 commit comments