Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .fern/metadata.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,5 +13,5 @@
},
"exclude_types_from_init_exports": true
},
"originGitCommit": "7edea35eef2583c1cb4860d7941275b0cd7ce900"
"originGitCommit": "8994613e045586856dab7b5eab43920dce0154c4"
}
10 changes: 8 additions & 2 deletions .fern/replay.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions src/agora_agent/core/client_wrapper.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,10 +26,10 @@ def __init__(

def get_headers(self) -> typing.Dict[str, str]:
headers: typing.Dict[str, str] = {
"User-Agent": "agora-agents/v2.5.0",
"User-Agent": "agora-agents/v2.6.0",
"X-Fern-Language": "Python",
"X-Fern-SDK-Name": "agora-agents",
"X-Fern-SDK-Version": "v2.5.0",
"X-Fern-SDK-Version": "v2.6.0",
**(self.get_custom_headers() or {}),
}
headers["Authorization"] = httpx.BasicAuth(self._get_username(), self._get_password())._auth_header
Expand Down
24 changes: 23 additions & 1 deletion src/agora_agent/types/ares_asr_params.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,26 @@

import typing

AresAsrParams = typing.Dict[str, typing.Any]
import pydantic
from ..core.pydantic_utilities import IS_PYDANTIC_V2
from ..core.unchecked_base_model import UncheckedBaseModel


class AresAsrParams(UncheckedBaseModel):
"""
ARES ASR configuration parameters.
"""

keywords: typing.Optional[typing.List[str]] = pydantic.Field(default=None)
"""
A list of hotwords to improve ASR accuracy.
"""

if IS_PYDANTIC_V2:
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
else:

class Config:
frozen = True
smart_union = True
extra = pydantic.Extra.allow
3 changes: 2 additions & 1 deletion src/agora_agent/types/asr.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
from .asr_language import AsrLanguage
from .assembly_ai_asr_params import AssemblyAiAsrParams
from .deepgram_asr_params import DeepgramAsrParams
from .fengming_asr_params import FengmingAsrParams
from .google_asr_params import GoogleAsrParams
from .microsoft_asr_params import MicrosoftAsrParams
from .open_ai_asr_params import OpenAiAsrParams
Expand Down Expand Up @@ -43,7 +44,7 @@ class Config:
class Asr_Fengming(UncheckedBaseModel):
vendor: typing.Literal["fengming"] = "fengming"
language: typing.Optional[AsrLanguage] = None
params: typing.Optional[typing.Dict[str, typing.Any]] = None
params: typing.Optional[FengmingAsrParams] = None

if IS_PYDANTIC_V2:
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
Expand Down
6 changes: 2 additions & 4 deletions src/agora_agent/types/fengming_asr.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
from ..core.pydantic_utilities import IS_PYDANTIC_V2
from ..core.unchecked_base_model import UncheckedBaseModel
from .asr_language import AsrLanguage
from .fengming_asr_params import FengmingAsrParams


class FengmingAsr(UncheckedBaseModel):
Expand All @@ -14,10 +15,7 @@ class FengmingAsr(UncheckedBaseModel):
"""

language: typing.Optional[AsrLanguage] = None
params: typing.Optional[typing.Dict[str, typing.Any]] = pydantic.Field(default=None)
"""
Agora Fengming ASR configuration parameters.
"""
params: typing.Optional[FengmingAsrParams] = None

if IS_PYDANTIC_V2:
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
Expand Down
27 changes: 27 additions & 0 deletions src/agora_agent/types/fengming_asr_params.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# This file was auto-generated by Fern from our API Definition.

import typing

import pydantic
from ..core.pydantic_utilities import IS_PYDANTIC_V2
from ..core.unchecked_base_model import UncheckedBaseModel


class FengmingAsrParams(UncheckedBaseModel):
"""
Agora Fengming ASR configuration parameters.
"""

keywords: typing.Optional[typing.List[str]] = pydantic.Field(default=None)
"""
A list of hotwords to improve ASR accuracy.
"""

if IS_PYDANTIC_V2:
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
else:

class Config:
frozen = True
smart_union = True
extra = pydantic.Extra.allow
5 changes: 5 additions & 0 deletions src/agora_agent/types/mllm.py
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,11 @@ class Mllm(UncheckedBaseModel):
"""

params: typing.Optional[MllmParams] = None
max_history: typing.Optional[int] = pydantic.Field(default=None)
"""
The number of conversation history messages cached in the MLLM. Applicable to Azure OpenAI Realtime API only.
"""

input_modalities: typing.Optional[typing.List[str]] = pydantic.Field(default=None)
"""
MLLM input modalities.
Expand Down
2 changes: 1 addition & 1 deletion src/agora_agent/types/mllm_vendor.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@

import typing

MllmVendor = typing.Union[typing.Literal["openai", "gemini", "vertexai", "xai"], typing.Any]
MllmVendor = typing.Union[typing.Literal["openai", "azure", "gemini", "vertexai", "xai", "qwen_omni"], typing.Any]
17 changes: 17 additions & 0 deletions src/agora_agent/types/tts.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@
from .sarvam_tts_params import SarvamTtsParams
from .stepfun_tts_params import StepfunTtsParams
from .tencent_tts_params import TencentTtsParams
from .typecast_tts_params import TypecastTtsParams
from .x_ai_tts_params import XAiTtsParams


Expand Down Expand Up @@ -366,6 +367,21 @@ class Config:
extra = pydantic.Extra.allow


class Tts_Typecast(UncheckedBaseModel):
vendor: typing.Literal["typecast"] = "typecast"
params: TypecastTtsParams
skip_patterns: typing.Optional[typing.List[int]] = None

if IS_PYDANTIC_V2:
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
else:

class Config:
frozen = True
smart_union = True
extra = pydantic.Extra.allow


Tts = typing_extensions.Annotated[
typing.Union[
Tts_Tencent,
Expand All @@ -390,6 +406,7 @@ class Config:
Tts_Stepfun,
Tts_Gradium,
Tts_Mistral,
Tts_Typecast,
],
UnionMetadata(discriminant="vendor"),
]
29 changes: 29 additions & 0 deletions src/agora_agent/types/typecast_tts.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# This file was auto-generated by Fern from our API Definition.

import typing

import pydantic
from ..core.pydantic_utilities import IS_PYDANTIC_V2
from ..core.unchecked_base_model import UncheckedBaseModel
from .typecast_tts_params import TypecastTtsParams


class TypecastTts(UncheckedBaseModel):
"""
Typecast Text-to-Speech configuration.
"""

params: TypecastTtsParams
skip_patterns: typing.Optional[typing.List[int]] = pydantic.Field(default=None)
"""
Controls whether the TTS module skips bracketed content when reading LLM response text.
"""

if IS_PYDANTIC_V2:
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
else:

class Config:
frozen = True
smart_union = True
extra = pydantic.Extra.allow
37 changes: 37 additions & 0 deletions src/agora_agent/types/typecast_tts_params.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# This file was auto-generated by Fern from our API Definition.

import typing

import pydantic
from ..core.pydantic_utilities import IS_PYDANTIC_V2
from ..core.unchecked_base_model import UncheckedBaseModel


class TypecastTtsParams(UncheckedBaseModel):
"""
Typecast TTS configuration parameters.
"""

api_key: str = pydantic.Field()
"""
Typecast API key.
"""

voice_id: str = pydantic.Field()
"""
Typecast voice identifier (for example, "tc_60e5426de8b95f1d3000d7b5").
"""

model: str = pydantic.Field()
"""
Typecast TTS model name (for example, "ssfm-v30").
"""

if IS_PYDANTIC_V2:
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
else:

class Config:
frozen = True
smart_union = True
extra = pydantic.Extra.allow
Loading