Repository navigation
Releases: AgoraIO/agora-agents-ts
Releases · AgoraIO/agora-agents-ts
Release list
v2.12.0
Added
- Tavus, Protoface, and LemonSlice avatars — Added AgentKit
Tavus,Protoface, andLemonSlicealiases ofGenericAvatar, withTavusOptions,ProtofaceOptions, andLemonSliceOptionsavailable from AgentKit and the package root. All share the generic constructor, validation, session field and token auto-fill behavior, and serialize withvendor: "generic". - Avatar guide examples — Documented all three branded aliases, including the Tavus Agora conversation endpoint.
v2.11.0
Added
-
Gemini TTS preview — Added the Agent Kit Gemini TTS provider with the
gemini-3.8-flash-ttsmodel, defaultPuckvoice, and optional natural-languagestyle. Credentials serialize insidetts.params. -
Session-scoped TTS routing — Gemini TTS selects the preview endpoint with
agora-feature: gemini-livefor the full session lifecycle, including raw TTS configs, without changing the shared client's production route. Gemini ASR, Gemini Live, and OpenAI GPT Live retain their production routing. -
Preview config types — Exported
GeminiTTSConfig, model constants, and constructor options from Agent Kit. Generated production TTS schemas remain unchanged.
v2.10.0
Added
- Smallest AI streaming vendors — Added global
SmallestAISTTandSmallestAITTSAgentKit vendors with typed provider options, generated parameter types, and passthrough support. - LLM tools and MCP servers — Global and Chinese mainland LLM/MLLM helpers now accept typed inline REST
toolsandmcpServers, serialize them at the top level of the request, and default an omitted MCP transport tostreamable_http.
Changed
- OpenAI GPT Live production routing — Existing
OpenAIGPTLiveintegrations now use the configured regional production endpoint without the previewagora-feature: live-modelsgate. The implementation now lives with the production MLLM vendors, while constructor options, request serialization, and legacy preview aliases remain compatible. - Gemini 3.8 Live production routing —
models/gemini-3.8-liveandmodels/gemini-3.8-live-extended-thinkingnow use the configured regional production endpoint without the previewagora-feature: gemini-livegate. Gemini model constants, types, and serialization now live with the production MLLM vendors; historical preview imports and preview-shaped greetings remain compatible. - Production and preview compatibility — Historical preview imports and routing helpers remain available as compatibility aliases, while GPT Live and Gemini 3.8 sessions no longer require preview feature headers.
v2.9.0
Added
- Gemini 3.8 Live MLLM —
GeminiLivenow supportsmodels/gemini-3.8-liveandmodels/gemini-3.8-live-extended-thinking. The standard Live model is the default; Extended Thinking acceptslow,medium, orhighthroughthinkingLevel.
Changed
- Gemini Live routing and credentials — Gemini 3.8 sessions use the preview gateway with
agora-feature: gemini-live, send the Google credential as top-levelmllm.api_key, and keep older Gemini Live model IDs on the production route. - Gemini Live documentation — The vendor reference and MLLM guide document the existing
GeminiLiveAPI for both 3.8 models and the Extended Thinking level.
v2.8.1
Changed
- OpenAI GPT Live defaults —
OpenAIGPTLivenow defaults to the shortenedgpt-live-1model name and omits the alpha selector. ExplicitmodelandalphaSelectoroptions remain available for future preview contracts.
v2.8.0
Added
- Inline REST tools for text LLMs — All global and Chinese mainland LLM vendor helpers now accept typed
tools: LlmTool[]definitions and serialize them tollm.tools. AgentKit exportsLlmTool,LlmToolFunction,LlmToolServer, andLlmToolExecution; callAgent.withTools(true)to enable invocation for inline REST tools or MCP servers. - Generated filler words —
FillerWordsConfignow supportscontent.mode: "generated"with an optional OpenAI-compatiblellm_provider(url,api_key, and requestparams), customprompt, andfallback_strategy. AgentKit also exportsFillerWordsContentGeneratedConfigandFillerWordsGeneratedLlmProvideraliases. - Gemini ASR —
GeminiSTTis now a global production vendor backed by the Fern-generated schema while retaining the preview API'slanguageCodes,customVocabulary,sampleRate, default model, and validation behavior. The production API's optionallanguageparameter is also available. - OpenAI GPT Live v3 — Added the preview
OpenAIGPTLiveMLLM vendor with typed session, audio, tool-delegation, endpoint, MCP, and passthrough options. It defaults to thegpt-live-1-diamond-alphamodel and requiredquicksilver=v3contract selector.
Changed
- Gemini ASR routing — Gemini ASR now uses the production endpoint without requiring callers to migrate preview-era constructor options.
- Gemini ASR language mapping —
languageCodesnow serializes asparams.language_hints, which the Gemini ASR extension converts to the Google API'slanguage_codesfield. - ASR hotwords —
keywordsonAresSTTandFengmingSTTnow serialize as top-levelasr.keywords, matching the current OpenAPI schema. Vendor-specificadditionalParamsremain underasr.params; nestedadditionalParams.keywordsis rejected to prevent ambiguous requests.
Removed
- Gemini preview routing — Removed automatic preview endpoint and
agora-featuregate routing. Deprecated preview routing exports remain available for source compatibility, while Gemini STT options are also available from AgentKit's standard vendor exports. Genericdebug: truerequest logging and credential redaction remain available.
Fixed
- GPT Live v3 contract selection —
OpenAIGPTLivenow serializesparams.alpha_selector: "quicksilver=v3"by default so preview workers consistently send the required OpenAI alpha header. Callers can still override the selector explicitly.
v2.7.0
Added
- Preview endpoint support —
AgoraClientdetects preview vendors from the resolved session body and routes only that session to the preview gateway with a pinnedagora-featureheader. - Gemini preview ASR —
GeminiSTT(gemini-3.5-transcribe-live), a cascading ASR stage served only by the preview gateway. - Gemini ASR language selection —
languageCodesserializes toparams.language_codes, replacing the singularparams.languagethis vendor previously sent. Omitted from the request when unset, which is how the provider spells auto-detect.GeminiSTThas nolanguageoption: the top-levelasr.languagecomes fromturnDetection.language, as it does for every STT vendor. - Gemini ASR custom vocabulary —
customVocabularybiases recognition toward supplied words and phrases viaparams.custom_vocabulary. Omitted from the request when unset. - Session-scoped routing — GA sessions and direct client calls, including
stopAgent(), remain on regional production endpoints. - Debug redaction —
redactSecretsandredactHeadersForDebugreplace vendor API keys, RTC tokens, and the App ID with[REDACTED]indebug: trueoutput. Empty strings stay visible so an unset environment variable remains diagnosable. Neither mutates its input. - Gemini ASR typing —
SttConfigacceptsvendor: "gemini"; the generatedAsrunion models production vendors only.
Fixed
- Gemini ASR parameter compatibility —
wordTimestampis now omitted unless explicitly set. Enabling it together withcustomVocabularyfails locally instead of sending a combination Gemini does not support. - Malformed credentials no longer produce an empty token —
agora-tokenreturns""rather than throwing whenappIdorappCertificateis not exactly 32 characters, so a value with a trailing newline or a truncated paste was sent astoken: ""and failed at the gateway with an error naming neither field. The token builders now throw locally and say which field is the wrong length. Credential values are never included in the message.
Documentation
- Added Preview Endpoint, covering the gate header, intake-node failure signatures, and how to add a future preview family.
- Documented every field
Agent.toPropertiesinjects into a vendor config, and why a preview provider must be verified against the resolved request body rather than the vendor class output — a value written under a spelling the route ignores fails silently.
v2.6.1
Fixed
- Speechmatics credential field —
SpeechmaticsSTTnow emits the REST-compatibleasr.params.key. Thekeyoption is preferred; deprecatedapiKeyremains supported and is normalized tokey.
v2.6.0
Added
- Azure OpenAI Realtime MLLM —
AzureOpenAIRealtimeemitsmllm.vendor: "azure"and supportsmaxHistory, serialized as the newmax_historyfield on the MLLM config. - Qwen Omni Realtime MLLM (Chinese mainland) —
QwenOmniemitsmllm.vendor: "qwen_omni", alongside the newBaseCNMLLMbase class andGlobalMllmVendor/CNMllmVendorregion types.Agent.withMllm()now acceptsGlobalMllmVendor | CNMllmVendorinstead ofBaseMLLM, so region mismatches are caught at compile time. - Typecast TTS —
TypecastTTSvendor takingapiKey,voiceId, andmodel, with generatedTypecastTts/TypecastTtsParamscore types. - ASR hotwords —
keywordsonAresSTTand onFengmingSTTvia the newFengmingSTTOptions, serialized asasr.params.keywords. - Configurable API base URL — setting
AGORA_AGENTS_API_BASE_URLpinsAgoraClientto that host (with the area-appropriate API path appended) and opts the client out of regional failover.
Changed
- AssemblyAI STT WebSocket URL —
AssemblyAISTTOptions.uriis renamed tows_urland now serializes asasr.params.ws_url. This is a breaking rename; callers passingurimust update the option name. - Qwen Omni options —
urlis required andturnDetectionis optional onQwenOmniOptions. - Generated core refresh — regenerated from the latest API schema (
fern-typescript-node-sdk3.31.1), typingFengmingAsr.paramsandAresAsrParamsinstead of leaving them as open records.