Skip to content

Releases: AgoraIO/agora-agents-ts

v2.12.0

Choose a tag to compare

@github-actions github-actions released this 08 Oct 22:31
eec40af

Added

  • Tavus, Protoface, and LemonSlice avatars — Added AgentKit Tavus, Protoface, and LemonSlice aliases of GenericAvatar, with TavusOptions, ProtofaceOptions, and LemonSliceOptions available from AgentKit and the package root. All share the generic constructor, validation, session field and token auto-fill behavior, and serialize with vendor: "generic".
  • Avatar guide examples — Documented all three branded aliases, including the Tavus Agora conversation endpoint.

v2.11.0

Choose a tag to compare

@github-actions github-actions released this 23 Sep 16:13
f64d24f

Added

  • Gemini TTS preview — Added the Agent Kit Gemini TTS provider with the gemini-3.8-flash-tts model, default Puck voice, and optional natural-language style. Credentials serialize inside tts.params.

  • Session-scoped TTS routing — Gemini TTS selects the preview endpoint with agora-feature: gemini-live for 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

Choose a tag to compare

@github-actions github-actions released this 18 Sep 08:12
bf2c875

Added

  • Smallest AI streaming vendors — Added global SmallestAISTT and SmallestAITTS AgentKit 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 tools and mcpServers, serialize them at the top level of the request, and default an omitted MCP transport to streamable_http.

Changed

  • OpenAI GPT Live production routing — Existing OpenAIGPTLive integrations now use the configured regional production endpoint without the preview agora-feature: live-models gate. 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-live and models/gemini-3.8-live-extended-thinking now use the configured regional production endpoint without the preview agora-feature: gemini-live gate. 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

Choose a tag to compare

@github-actions github-actions released this 15 Sep 21:46
4097f1d

Added

  • Gemini 3.8 Live MLLM — GeminiLive now supports models/gemini-3.8-live and models/gemini-3.8-live-extended-thinking. The standard Live model is the default; Extended Thinking accepts low, medium, or high through thinkingLevel.

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-level mllm.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 GeminiLive API for both 3.8 models and the Extended Thinking level.

v2.8.1

Choose a tag to compare

@github-actions github-actions released this 11 Sep 21:34
v2.8.1
27ea60b

Changed

  • OpenAI GPT Live defaults — OpenAIGPTLive now defaults to the shortened gpt-live-1 model name and omits the alpha selector. Explicit model and alphaSelector options remain available for future preview contracts.

v2.8.0

Choose a tag to compare

@github-actions github-actions released this 10 Sep 19:30
v2.8.0
23f5212

Added

  • Inline REST tools for text LLMs — All global and Chinese mainland LLM vendor helpers now accept typed tools: LlmTool[] definitions and serialize them to llm.tools. AgentKit exports LlmTool, LlmToolFunction, LlmToolServer, and LlmToolExecution; call Agent.withTools(true) to enable invocation for inline REST tools or MCP servers.
  • Generated filler words — FillerWordsConfig now supports content.mode: "generated" with an optional OpenAI-compatible llm_provider (url, api_key, and request params), custom prompt, and fallback_strategy. AgentKit also exports FillerWordsContentGeneratedConfig and FillerWordsGeneratedLlmProvider aliases.
  • Gemini ASR — GeminiSTT is now a global production vendor backed by the Fern-generated schema while retaining the preview API's languageCodes, customVocabulary, sampleRate, default model, and validation behavior. The production API's optional language parameter is also available.
  • OpenAI GPT Live v3 — Added the preview OpenAIGPTLive MLLM vendor with typed session, audio, tool-delegation, endpoint, MCP, and passthrough options. It defaults to the gpt-live-1-diamond-alpha model and required quicksilver=v3 contract 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 — languageCodes now serializes as params.language_hints, which the Gemini ASR extension converts to the Google API's language_codes field.
  • ASR hotwords — keywords on AresSTT and FengmingSTT now serialize as top-level asr.keywords, matching the current OpenAPI schema. Vendor-specific additionalParams remain under asr.params; nested additionalParams.keywords is rejected to prevent ambiguous requests.

Removed

  • Gemini preview routing — Removed automatic preview endpoint and agora-feature gate routing. Deprecated preview routing exports remain available for source compatibility, while Gemini STT options are also available from AgentKit's standard vendor exports. Generic debug: true request logging and credential redaction remain available.

Fixed

  • GPT Live v3 contract selection — OpenAIGPTLive now serializes params.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

Choose a tag to compare

@github-actions github-actions released this 26 Aug 20:37
v2.7.0
5602d5c

Added

  • Preview endpoint support — AgoraClient detects preview vendors from the resolved session body and routes only that session to the preview gateway with a pinned agora-feature header.
  • Gemini preview ASR — GeminiSTT (gemini-3.5-transcribe-live), a cascading ASR stage served only by the preview gateway.
  • Gemini ASR language selection — languageCodes serializes to params.language_codes, replacing the singular params.language this vendor previously sent. Omitted from the request when unset, which is how the provider spells auto-detect. GeminiSTT has no language option: the top-level asr.language comes from turnDetection.language, as it does for every STT vendor.
  • Gemini ASR custom vocabulary — customVocabulary biases recognition toward supplied words and phrases via params.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 — redactSecrets and redactHeadersForDebug replace vendor API keys, RTC tokens, and the App ID with [REDACTED] in debug: true output. Empty strings stay visible so an unset environment variable remains diagnosable. Neither mutates its input.
  • Gemini ASR typing — SttConfig accepts vendor: "gemini"; the generated Asr union models production vendors only.

Fixed

  • Gemini ASR parameter compatibility — wordTimestamp is now omitted unless explicitly set. Enabling it together with customVocabulary fails locally instead of sending a combination Gemini does not support.
  • Malformed credentials no longer produce an empty token — agora-token returns "" rather than throwing when appId or appCertificate is not exactly 32 characters, so a value with a trailing newline or a truncated paste was sent as token: "" 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.toProperties injects 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

Choose a tag to compare

@github-actions github-actions released this 21 Aug 14:12
v2.6.1
244e9c7

Fixed

  • Speechmatics credential field — SpeechmaticsSTT now emits the REST-compatible asr.params.key. The key option is preferred; deprecated apiKey remains supported and is normalized to key.

v2.6.0

Choose a tag to compare

@github-actions github-actions released this 11 Aug 02:28
ba47ce7

Added

  • Azure OpenAI Realtime MLLM — AzureOpenAIRealtime emits mllm.vendor: "azure" and supports maxHistory, serialized as the new max_history field on the MLLM config.
  • Qwen Omni Realtime MLLM (Chinese mainland) — QwenOmni emits mllm.vendor: "qwen_omni", alongside the new BaseCNMLLM base class and GlobalMllmVendor / CNMllmVendor region types. Agent.withMllm() now accepts GlobalMllmVendor | CNMllmVendor instead of BaseMLLM, so region mismatches are caught at compile time.
  • Typecast TTS — TypecastTTS vendor taking apiKey, voiceId, and model, with generated TypecastTts / TypecastTtsParams core types.
  • ASR hotwords — keywords on AresSTT and on FengmingSTT via the new FengmingSTTOptions, serialized as asr.params.keywords.
  • Configurable API base URL — setting AGORA_AGENTS_API_BASE_URL pins AgoraClient to that host (with the area-appropriate API path appended) and opts the client out of regional failover.

Changed

  • AssemblyAI STT WebSocket URL — AssemblyAISTTOptions.uri is renamed to ws_url and now serializes as asr.params.ws_url. This is a breaking rename; callers passing uri must update the option name.
  • Qwen Omni options — url is required and turnDetection is optional on QwenOmniOptions.
  • Generated core refresh — regenerated from the latest API schema (fern-typescript-node-sdk 3.31.1), typing FengmingAsr.params and AresAsrParams instead of leaving them as open records.

v2.5.0

Choose a tag to compare

@plutoless plutoless released this 30 Jul 16:42
0984443

Release v2.5.0