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": "49d478a59be2201df42d81f839acd1ff3fa3aa59"
"originGitCommit": "7edea35eef2583c1cb4860d7941275b0cd7ce900"
}
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.

29 changes: 29 additions & 0 deletions src/agora_agent/types/gradium_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 .gradium_tts_params import GradiumTtsParams


class GradiumTts(UncheckedBaseModel):
"""
Gradium Text-to-Speech configuration.
"""

params: GradiumTtsParams
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
47 changes: 47 additions & 0 deletions src/agora_agent/types/gradium_tts_params.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
# 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 GradiumTtsParams(UncheckedBaseModel):
"""
Gradium TTS configuration parameters.
"""

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

url: typing.Optional[str] = pydantic.Field(default=None)
"""
WebSocket endpoint for streaming TTS output (for example, "wss://api.gradium.ai/api/speech/tts").
"""

model_name: typing.Optional[str] = pydantic.Field(default=None)
"""
Gradium TTS model name (for example, "default").
"""

voice_id: typing.Optional[str] = pydantic.Field(default=None)
"""
Gradium voice identifier.
"""

sample_rate: typing.Optional[int] = pydantic.Field(default=None)
"""
Audio sample rate in Hz (for example, 16000).
"""

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
29 changes: 29 additions & 0 deletions src/agora_agent/types/mistral_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 .mistral_tts_params import MistralTtsParams


class MistralTts(UncheckedBaseModel):
"""
Mistral Text-to-Speech configuration.
"""

params: MistralTtsParams
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/mistral_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 MistralTtsParams(UncheckedBaseModel):
"""
Mistral TTS configuration parameters.
"""

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

model: typing.Optional[str] = pydantic.Field(default=None)
"""
Mistral TTS model name (for example, "voxtral-mini-tts-2603").
"""

voice: typing.Optional[str] = pydantic.Field(default=None)
"""
Mistral voice identifier.
"""

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
34 changes: 34 additions & 0 deletions src/agora_agent/types/tts.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,11 @@
from .fish_audio_tts_params import FishAudioTtsParams
from .generic_http_tts_params import GenericHttpTtsParams
from .google_tts_params import GoogleTtsParams
from .gradium_tts_params import GradiumTtsParams
from .hume_ai_tts_params import HumeAiTtsParams
from .microsoft_tts_params import MicrosoftTtsParams
from .minimax_tts_params import MinimaxTtsParams
from .mistral_tts_params import MistralTtsParams
from .murf_tts_params import MurfTtsParams
from .open_ai_tts_params import OpenAiTtsParams
from .rime_tts_credential_mode import RimeTtsCredentialMode
Expand Down Expand Up @@ -334,6 +336,36 @@ class Config:
extra = pydantic.Extra.allow


class Tts_Gradium(UncheckedBaseModel):
vendor: typing.Literal["gradium"] = "gradium"
params: GradiumTtsParams
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


class Tts_Mistral(UncheckedBaseModel):
vendor: typing.Literal["mistral"] = "mistral"
params: MistralTtsParams
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 @@ -356,6 +388,8 @@ class Config:
Tts_Cosyvoice,
Tts_BytedanceDuplex,
Tts_Stepfun,
Tts_Gradium,
Tts_Mistral,
],
UnionMetadata(discriminant="vendor"),
]
Loading