Skip to content

Commit 6927a08

Browse files
authored
Merge pull request #3 from fern-demo/devin/1771540725-add-wrapper-layer
feat: add wrapper layer with Agent, AgentSession, and token support
2 parents 3ba60cd + c91df1e commit 6927a08

7 files changed

Lines changed: 1296 additions & 2 deletions

File tree

.fernignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,6 @@ src/agoraio/pool_client.py
33
src/agoraio/__init__.py
44
src/agoraio/core/domain.py
55
changelog.md
6+
7+
# Wrapper layer - custom code that should not be overwritten
8+
src/agoraio/wrapper/

src/agoraio/__init__.py

Lines changed: 50 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,21 +6,46 @@
66
from importlib import import_module
77

88
if typing.TYPE_CHECKING:
9-
from . import agents, core, phone_numbers, telephony
9+
from . import agents, core, phone_numbers, telephony, wrapper
1010
from .core.domain import Area, Pool, create_pool
1111
from .pool_client import Agora, AsyncAgora
1212
from .version import __version__
13+
from .wrapper import (
14+
Agent,
15+
AgentOptions,
16+
AgentSession,
17+
AgentSessionOptions,
18+
generate_rtc_token,
19+
GenerateTokenOptions,
20+
is_heygen_avatar,
21+
is_akool_avatar,
22+
validate_avatar_config,
23+
validate_tts_sample_rate,
24+
)
25+
from .wrapper.agent_session import AsyncAgentSession
1326
_dynamic_imports: typing.Dict[str, str] = {
1427
"Agora": ".pool_client",
28+
"Agent": ".wrapper",
29+
"AgentOptions": ".wrapper",
30+
"AgentSession": ".wrapper",
31+
"AgentSessionOptions": ".wrapper",
1532
"Area": ".core.domain",
33+
"AsyncAgentSession": ".wrapper.agent_session",
1634
"AsyncAgora": ".pool_client",
35+
"GenerateTokenOptions": ".wrapper",
1736
"Pool": ".core.domain",
1837
"__version__": ".version",
1938
"agents": ".agents",
2039
"core": ".core",
2140
"create_pool": ".core.domain",
41+
"generate_rtc_token": ".wrapper",
42+
"is_akool_avatar": ".wrapper",
43+
"is_heygen_avatar": ".wrapper",
2244
"phone_numbers": ".phone_numbers",
2345
"telephony": ".telephony",
46+
"validate_avatar_config": ".wrapper",
47+
"validate_tts_sample_rate": ".wrapper",
48+
"wrapper": ".wrapper",
2449
}
2550

2651

@@ -45,4 +70,27 @@ def __dir__():
4570
return sorted(lazy_attrs)
4671

4772

48-
__all__ = ["Agora", "Area", "AsyncAgora", "Pool", "__version__", "agents", "core", "create_pool", "phone_numbers", "telephony"]
73+
__all__ = [
74+
"Agora",
75+
"Agent",
76+
"AgentOptions",
77+
"AgentSession",
78+
"AgentSessionOptions",
79+
"Area",
80+
"AsyncAgentSession",
81+
"AsyncAgora",
82+
"GenerateTokenOptions",
83+
"Pool",
84+
"__version__",
85+
"agents",
86+
"core",
87+
"create_pool",
88+
"generate_rtc_token",
89+
"is_akool_avatar",
90+
"is_heygen_avatar",
91+
"phone_numbers",
92+
"telephony",
93+
"validate_avatar_config",
94+
"validate_tts_sample_rate",
95+
"wrapper",
96+
]

src/agoraio/wrapper/__init__.py

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
from .agent import Agent, AgentOptions
2+
from .agent_session import AgentSession, AgentSessionOptions
3+
from .avatar_types import (
4+
is_akool_avatar,
5+
is_heygen_avatar,
6+
validate_avatar_config,
7+
validate_tts_sample_rate,
8+
)
9+
from .token import GenerateTokenOptions, generate_rtc_token
10+
11+
__all__ = [
12+
"Agent",
13+
"AgentOptions",
14+
"AgentSession",
15+
"AgentSessionOptions",
16+
"generate_rtc_token",
17+
"GenerateTokenOptions",
18+
"is_heygen_avatar",
19+
"is_akool_avatar",
20+
"validate_avatar_config",
21+
"validate_tts_sample_rate",
22+
]

0 commit comments

Comments
 (0)