diff --git a/.fern/metadata.json b/.fern/metadata.json index 7881670..62289a3 100644 --- a/.fern/metadata.json +++ b/.fern/metadata.json @@ -14,5 +14,5 @@ }, "exclude_types_from_init_exports": true }, - "originGitCommit": "ca763cb23651d522cb380db79b5d16547e7bd8ff" + "originGitCommit": "26314a9d3199f5e135302c3c3645b6bbb8f556d4" } \ No newline at end of file diff --git a/.fern/replay.lock b/.fern/replay.lock index 147c6a2..699a092 100644 --- a/.fern/replay.lock +++ b/.fern/replay.lock @@ -66,20 +66,20 @@ generations: cli_version: unknown generator_versions: fernapi/fern-python-sdk: 4.37.0 - - commit_sha: c59b52fe317aeebe3651db3f63e7cf9f04454958 - tree_hash: 554422ea37528b3ec6d22e02052a9b1d96d107c7 - timestamp: 2026-09-16T08:58:10.673Z + - commit_sha: f7e9b5d993665a16b43eb1d7d442b118fbeffa4b + tree_hash: 68519b3d82b64ac128a76d6f5a86b1d4e5661410 + timestamp: 2026-09-16T11:18:46.374Z cli_version: unknown generator_versions: fernapi/fern-python-sdk: 4.37.0 -current_generation: c59b52fe317aeebe3651db3f63e7cf9f04454958 +current_generation: f7e9b5d993665a16b43eb1d7d442b118fbeffa4b patches: - id: patch-13d8e068 content_hash: sha256:97d879ab169016b9abaf1866427a8ebc45af608f69e063a07e5126c9613c329b original_commit: 13d8e0683ffa08bcfc9a381eb9604adf5abdbe0b original_message: "chore: ignore local venv and planning docs" original_author: plutoless - base_generation: c59b52fe317aeebe3651db3f63e7cf9f04454958 + base_generation: f7e9b5d993665a16b43eb1d7d442b118fbeffa4b files: - .gitignore patch_content: | @@ -108,7 +108,7 @@ patches: original_commit: a065088b4c45e2ca7e1bb91b1a899b8444800121 original_message: "fix(vendors): send Speechmatics STT key instead of api_key" original_author: digitallysavvy - base_generation: c59b52fe317aeebe3651db3f63e7cf9f04454958 + base_generation: f7e9b5d993665a16b43eb1d7d442b118fbeffa4b files: - src/agora_agent/types/speechmatics_asr_params.py patch_content: | @@ -251,7 +251,7 @@ patches: original_commit: 33a436b3bdb6f2a6fe4d8987b6536c2f0ac2862e original_message: "fix: address v2.8.0 release review findings" original_author: digitallysavvy - base_generation: c59b52fe317aeebe3651db3f63e7cf9f04454958 + base_generation: f7e9b5d993665a16b43eb1d7d442b118fbeffa4b files: - src/agora_agent/agents/types/start_agents_request_properties_advanced_features.py patch_content: | diff --git a/src/agora_agent/types/anam_avatar_params.py b/src/agora_agent/types/anam_avatar_params.py new file mode 100644 index 0000000..8da3d0b --- /dev/null +++ b/src/agora_agent/types/anam_avatar_params.py @@ -0,0 +1,74 @@ +# 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 .anam_avatar_params_quality import AnamAvatarParamsQuality +from .anam_avatar_params_video_encoding import AnamAvatarParamsVideoEncoding + + +class AnamAvatarParams(UncheckedBaseModel): + """ + Anam Avatar configuration parameters. + """ + + api_key: str = pydantic.Field() + """ + Anam API key. + """ + + avatar_id: str = pydantic.Field() + """ + The unique identifier for the Anam avatar you want to use. + """ + + agora_uid: str = pydantic.Field() + """ + The unique identifier for the avatar's RTC connection. This must be different from other participants in the channel. + """ + + agora_token: str = pydantic.Field() + """ + The RTC token that authorizes the avatar to join the video channel. + """ + + sample_rate: typing.Optional[int] = pydantic.Field(default=None) + """ + The audio sample rate in Hz. + """ + + quality: typing.Optional[AnamAvatarParamsQuality] = pydantic.Field(default=None) + """ + The video quality level. + """ + + video_encoding: typing.Optional[AnamAvatarParamsVideoEncoding] = pydantic.Field(default=None) + """ + The video encoding format. + """ + + avatar_model: typing.Optional[str] = pydantic.Field(default=None) + """ + Anam avatar model, such as `cara_mk4` for Cara 4 portrait mode. + """ + + video_width: typing.Optional[int] = pydantic.Field(default=None) + """ + Anam output video width in pixels. Set together with `video_height`; omit both to use the model default resolution. + """ + + video_height: typing.Optional[int] = pydantic.Field(default=None) + """ + Anam output video height in pixels. Set together with `video_width`; omit both to use the model default resolution. + """ + + 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 diff --git a/src/agora_agent/types/anam_avatar_params_quality.py b/src/agora_agent/types/anam_avatar_params_quality.py new file mode 100644 index 0000000..167f503 --- /dev/null +++ b/src/agora_agent/types/anam_avatar_params_quality.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +AnamAvatarParamsQuality = typing.Union[typing.Literal["high", "medium", "low"], typing.Any] diff --git a/src/agora_agent/types/anam_avatar_params_video_encoding.py b/src/agora_agent/types/anam_avatar_params_video_encoding.py new file mode 100644 index 0000000..11c0b12 --- /dev/null +++ b/src/agora_agent/types/anam_avatar_params_video_encoding.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +AnamAvatarParamsVideoEncoding = typing.Union[typing.Literal["H264", "AV1"], typing.Any]