Release/v2.1.2#35
Closed
digitallysavvy wants to merge 8 commits into
Closed
Conversation
Optional longer body: Keep provider STT language settings inside asr.params, populate REST asr.language from turn_detection.language, and treat Ares as provider-only.
Generated by Fern CLI Version: unknown Generators: - fernapi/fern-python-sdk: 4.37.0
Patches applied (14):
- patch-7c2d9d99: feat(agentkit): align session options and token uid handling
- patch-7465fada: fix(agentkit): resolve Python session typing issues
- patch-fae1249a: Re-export agora-agents API from legacy PyPI compatibility package The compat distribution delegates to agora_agent via __getattr__ and documents both import paths in its README.
- patch-49af6f65: Align AgentKit TTS provider options with docs
- patch-bad47d96: Align AgentKit provider BYOK parameter requirements
- patch-434c8af1: Align AgentKit LLM and ASR vendor validation
- patch-968e1f03: Restrict managed OpenAI LLM models in AgentKit
- patch-676b93b3: Align managed vendor validation with generated core shapes
- patch-8d52340e: fix(agentkit): flatten Deepgram TTS passthrough params
- patch-cb9ab8b8: docs(agentkit): align OpenAI TTS instructions support
- patch-299e4bd9: fix(agentkit): resolve provider config type checks
- patch-583eccc0: Move AgentKit language to turn detection
- patch-bed29b6b: chore: bump Python packages to 2.1.0
- patch-776f7c4a: Fix vendor validation matrix for presets, pipeline_id, and deprecation path
Patches with unresolved conflicts (28):
- patch-6e30398b: chore(agentkit): bump to v1.5.0 and expose v2.7 type aliases
- patch-9df782b4: feat(agentkit): update MLLM and LLM vendor wrappers for v2.7
- patch-26706d73: feat(agentkit): add GenericAvatar and session-aware avatar validation
- patch-9f491c63: feat(agentkit): update Agent builder and session lifecycle for v2.7
- patch-64703bda: test(agentkit): add custom tests for v1.5.0 AgentKit behavior
- patch-6c20f076: docs(agentkit): update v1.5.0 guides, reference, and changelog
- patch-eaec58eb: refactor(agentkit): align deprecated vendor aliases with canonical names
- patch-20245632: feat(agentkit): export type aliases and avatar token helpers
- patch-972dd5bd: updated docs
- patch-4323b470: rename python package to agora-agents
- patch-d29165c4: make python compat package publishable
- patch-fc9d93c3: Document agora-agents PyPI install name and migration notes
- patch-44c21c14: Re-export AgentKit symbols from agora_agent package root Extend __getattr__ and __all__ so vendor classes, presets, and helpers are importable via `from agora_agent import ...`. Add tests and update class docstring examples to use the root import path.
- patch-87fc4488: Update docs to import from agora_agent package root
- patch-923cf954: Prioritize app credentials and builder in Python docs Rewrite getting-started auth and quick-start for app credentials with the builder API. De-emphasize presets and align index, BYOK, and README with the recommended onboarding path.
- patch-d475306b: Move package rename guidance to installation docs and protect manual paths in Fern ignore. Consolidate migration notes into the installation guide with next-step links, add a brief README pointer, and exclude README, compat, and workflow files from Fern generation.
- patch-c9355576: Streamline Python docs and README for app-credentials-first onboarding. Remove duplicated low-level client examples from the README, de-emphasize legacy auth modes, refocus the low-level API guide on AgentKit with telephony escape hatches, and update Agora-managed model terminology.
- patch-98ecb4d3: Add Groq, Vertex AI, Bedrock, Dify, and Custom LLM vendor helpers. Introduce named LLM vendor classes with correct request serialization, export them from the package root, and add tests covering each provider's config shape.
- patch-a5097b8d: Document new LLM vendors and tighten onboarding docs. Add Groq, Vertex AI, Bedrock, Dify, and Custom LLM to vendor references, simplify README and index navigation, and align quick-start and terminology with Agora-managed model language.
- patch-7d30c9dd: Add AgentKit ASR interaction language handling
- patch-a95214eb: Document AgentKit ASR language and STT params
- patch-eeac05d0: Move prompt and greeting docs to vendor config
- patch-a94bac6d: Align AgentKit provider wrappers with regenerated core schemas
- patch-198f367f: Update AgentKit TTS provider docs and examples
- patch-96afe786: align v2.1 provider docs with AgentKit validation
- patch-617ee134: feat(agentkit): support agent-level pipeline_id
- patch-8e22e6d0: udpated agent docs
- patch-b76a7006: Bump Python SDK version metadata and request headers to v2.1.1
Run `fern-replay resolve` to apply these customizations.
Patches absorbed by generator (5):
- patch-b7f0c36c: feat(agentkit): release v2.0.0 updates
- patch-4d32368c: Add compat-build CI job and harden dual-package PyPI publish Build and verify the compat wheel re-exports, gate publish on compat-build, simplify version checks with poetry version, wait for primary package on PyPI, and retry compat publish on failure.
- patch-20109390: Fix PyPI publish auth and explicitly protect release workflow in Fern ignore. Use PYPI_API_TOKEN for primary and compat Poetry publishes, matching the v1.4.1 release flow, and list release.yml explicitly in .fernignore.
- patch-0297a70e: Update AgentKit v2.1 provider docs and examples
- patch-c9022354: docs(agentkit): align TTS provider reference fields
The generator now produces these customizations natively.
…LM URL, LLM precedence, TurnDetection language cleanup
- OpenAISTT.to_config: change default model to gpt-4o-mini-transcribe; validate that model,
prompt, and language are present after applying input_audio_transcription overrides
- DeepgramSTTOptions: add keyterm field emitted as params.keyterm
- OpenAITTSOptions: strengthen empty check from to for base_url/model
- VertexAILLM.to_config: construct correct Vertex AI endpoint URL from location/project_id/model
- _resolve_llm_config: vendor-provided keys now win over agent-level convenience fields
- Remove bare en from TurnDetectionLanguage and TURN_DETECTION_LANGUAGE_VALUES
…fields, fix fern-replay artifacts - Add InteractionLanguage field to Deepgram, Speechmatics, and Sarvam STT options - Add XaiGrok MLLM vendor, GenericAvatar, AnamAvatar vendors - Add with_audio_scenario() builder method to Agent - Fix VertexAI MLLM: move project_id, location, adc_credentials_string into params (not top-level) - Fix agent_session LLM merge to use key-existence checks (Issue 9 parity with agent.py) - Remove duplicate imports, method declarations, and dead XaiRealtime test reference - Remove unused StartAgentsRequestPropertiesLlmGreetingConfigs import (type never generated) - Update tests for new OpenAISTT required-field validation, correct vendor-wins precedence behavior
…and preset resolution
- MiniMaxTTS.to_config: model, key, group_id, url now only emitted in params on the BYOK
path (key set); for managed preset path, model is stored as _minimax_preset_model at
the config top level as an inference hint
- presets.py infer_tts_preset: falls back to _minimax_preset_model when model is absent
from params (preset path)
- strip_inferred_preset_fields: pops _minimax_preset_model from the tts dict so the hint
never reaches the wire
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
XaiGrok(xAI MLLM),GenericAvatar,AnamAvatarAgent.with_audio_scenario()interaction_languageon Deepgram, Speechmatics, and Sarvam STT optionsAgentKit fixes
Breaking change — OpenAI STT (
OpenAISTT):to_config()now validates thatmodel,prompt, andlanguageare all present in the effectiveinput_audio_transcriptionobject. The default model changes fromwhisper-1togpt-4o-mini-transcribe. Callers who only setapi_keywill raiseValueErrorat config-build time; addpromptandlanguage(or supply them viainput_audio_transcription).TurnDetectionLanguage — removed bare
"en"from theTurnDetectionLanguageliteral andTURN_DETECTION_LANGUAGE_VALUEStuple; it is not a validAsrLanguageenum valueand would be rejected by the backend.
VertexAI LLM URL —
VertexAILLM.to_config()now constructs the correct Vertex AI endpoint URL fromlocation,project_id, andmodelinstead of falling back to theGemini URL.
VertexAI MLLM params —
VertexAI.to_config()now placesproject_id,location, andadc_credentials_stringinsideparams(where the backend expects them) rather thanat the top level of the config map.
LLM field precedence —
_resolve_llm_config(agent) and the session's LLM merge now usenot inkey-existence checks so vendor-configured fields win over the deprecatedagent-level convenience setters.
OpenAI TTS validator —
OpenAITTSOptions._validate_byok_paramsnow usesnot valueinstead ofvalue is Noneso empty-stringbase_urlandmodelare rejected the sameway Go rejects them.
Deepgram
keyterm—DeepgramSTTOptionsgains akeytermfield serialized asasr.params.keyterm.MiniMax preset model stripping (OV-1) —
MiniMaxTTS.to_config()no longer includesmodel,key,group_id, orurlinparamsfor the managed-preset path. A_minimax_preset_modeltop-level hint enables preset inference and is stripped bystrip_inferred_preset_fieldsbefore the POST body is finalized.Test plan
pytest tests/custom/passes (82 passed, 1 skipped)test_vendor_config_takes_priority_over_agent_level_convenience_fieldsconfirms vendor winstest_stt_vendor_params_match_documented_shapesconfirms OpenAISTT raises without prompt/languagetest_xai_grok_serializes_v27_shape_without_styleconfirms new XaiGrok vendortest_generic_avatar_omits_session_enriched_fields_when_unsetconfirms new GenericAvatar vendor