signalwire-agents 0.1.5__py3-none-any.whl → 0.1.7__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- signalwire_agents/__init__.py +1 -1
- signalwire_agents/core/agent_base.py +1267 -1238
- signalwire_agents/core/security/session_manager.py +174 -86
- signalwire_agents/core/swml_service.py +195 -50
- signalwire_agents/prefabs/concierge.py +9 -2
- signalwire_agents/prefabs/faq_bot.py +3 -0
- signalwire_agents/prefabs/info_gatherer.py +3 -0
- signalwire_agents/prefabs/receptionist.py +3 -0
- signalwire_agents/prefabs/survey.py +9 -2
- {signalwire_agents-0.1.5.dist-info → signalwire_agents-0.1.7.dist-info}/METADATA +2 -1
- {signalwire_agents-0.1.5.dist-info → signalwire_agents-0.1.7.dist-info}/RECORD +15 -15
- {signalwire_agents-0.1.5.data → signalwire_agents-0.1.7.data}/data/schema.json +0 -0
- {signalwire_agents-0.1.5.dist-info → signalwire_agents-0.1.7.dist-info}/WHEEL +0 -0
- {signalwire_agents-0.1.5.dist-info → signalwire_agents-0.1.7.dist-info}/licenses/LICENSE +0 -0
- {signalwire_agents-0.1.5.dist-info → signalwire_agents-0.1.7.dist-info}/top_level.txt +0 -0
@@ -50,6 +50,9 @@ class ConciergeAgent(AgentBase):
|
|
50
50
|
hours_of_operation: Optional[Dict[str, str]] = None,
|
51
51
|
special_instructions: Optional[List[str]] = None,
|
52
52
|
welcome_message: Optional[str] = None,
|
53
|
+
name: str = "concierge",
|
54
|
+
route: str = "/concierge",
|
55
|
+
enable_state_tracking: bool = True,
|
53
56
|
**kwargs
|
54
57
|
):
|
55
58
|
"""
|
@@ -62,13 +65,17 @@ class ConciergeAgent(AgentBase):
|
|
62
65
|
hours_of_operation: Optional dictionary of operating hours
|
63
66
|
special_instructions: Optional list of special instructions
|
64
67
|
welcome_message: Optional custom welcome message
|
68
|
+
name: Agent name for the route
|
69
|
+
route: HTTP route for this agent
|
70
|
+
enable_state_tracking: Whether to enable state tracking (default: True)
|
65
71
|
**kwargs: Additional arguments for AgentBase
|
66
72
|
"""
|
67
73
|
# Initialize the base agent
|
68
74
|
super().__init__(
|
69
|
-
name=
|
70
|
-
route=
|
75
|
+
name=name,
|
76
|
+
route=route,
|
71
77
|
use_pom=True,
|
78
|
+
enable_state_tracking=enable_state_tracking,
|
72
79
|
**kwargs
|
73
80
|
)
|
74
81
|
|
@@ -51,6 +51,7 @@ class FAQBotAgent(AgentBase):
|
|
51
51
|
persona: Optional[str] = None,
|
52
52
|
name: str = "faq_bot",
|
53
53
|
route: str = "/faq",
|
54
|
+
enable_state_tracking: bool = True, # Enable state tracking by default
|
54
55
|
**kwargs
|
55
56
|
):
|
56
57
|
"""
|
@@ -65,6 +66,7 @@ class FAQBotAgent(AgentBase):
|
|
65
66
|
persona: Optional custom personality description
|
66
67
|
name: Agent name for the route
|
67
68
|
route: HTTP route for this agent
|
69
|
+
enable_state_tracking: Whether to enable state tracking (default: True)
|
68
70
|
**kwargs: Additional arguments for AgentBase
|
69
71
|
"""
|
70
72
|
# Initialize the base agent
|
@@ -72,6 +74,7 @@ class FAQBotAgent(AgentBase):
|
|
72
74
|
name=name,
|
73
75
|
route=route,
|
74
76
|
use_pom=True,
|
77
|
+
enable_state_tracking=enable_state_tracking, # Pass state tracking parameter to base
|
75
78
|
**kwargs
|
76
79
|
)
|
77
80
|
|
@@ -42,6 +42,7 @@ class InfoGathererAgent(AgentBase):
|
|
42
42
|
questions: List[Dict[str, str]],
|
43
43
|
name: str = "info_gatherer",
|
44
44
|
route: str = "/info_gatherer",
|
45
|
+
enable_state_tracking: bool = True, # Enable state tracking by default for InfoGatherer
|
45
46
|
**kwargs
|
46
47
|
):
|
47
48
|
"""
|
@@ -54,6 +55,7 @@ class InfoGathererAgent(AgentBase):
|
|
54
55
|
- confirm: (Optional) If set to True, the agent will confirm the answer before submitting
|
55
56
|
name: Agent name for the route
|
56
57
|
route: HTTP route for this agent
|
58
|
+
enable_state_tracking: Whether to enable state tracking (default: True)
|
57
59
|
**kwargs: Additional arguments for AgentBase
|
58
60
|
"""
|
59
61
|
# Initialize the base agent
|
@@ -61,6 +63,7 @@ class InfoGathererAgent(AgentBase):
|
|
61
63
|
name=name,
|
62
64
|
route=route,
|
63
65
|
use_pom=True,
|
66
|
+
enable_state_tracking=enable_state_tracking, # Pass state tracking parameter to base
|
64
67
|
**kwargs
|
65
68
|
)
|
66
69
|
|
@@ -41,6 +41,7 @@ class ReceptionistAgent(AgentBase):
|
|
41
41
|
route: str = "/receptionist",
|
42
42
|
greeting: str = "Thank you for calling. How can I help you today?",
|
43
43
|
voice: str = "elevenlabs.josh",
|
44
|
+
enable_state_tracking: bool = True, # Enable state tracking by default
|
44
45
|
**kwargs
|
45
46
|
):
|
46
47
|
"""
|
@@ -55,6 +56,7 @@ class ReceptionistAgent(AgentBase):
|
|
55
56
|
route: HTTP route for this agent
|
56
57
|
greeting: Initial greeting message
|
57
58
|
voice: Voice ID to use
|
59
|
+
enable_state_tracking: Whether to enable state tracking (default: True)
|
58
60
|
**kwargs: Additional arguments for AgentBase
|
59
61
|
"""
|
60
62
|
# Initialize the base agent
|
@@ -62,6 +64,7 @@ class ReceptionistAgent(AgentBase):
|
|
62
64
|
name=name,
|
63
65
|
route=route,
|
64
66
|
use_pom=True,
|
67
|
+
enable_state_tracking=enable_state_tracking, # Pass state tracking parameter to base
|
65
68
|
**kwargs
|
66
69
|
)
|
67
70
|
|
@@ -60,6 +60,9 @@ class SurveyAgent(AgentBase):
|
|
60
60
|
conclusion: Optional[str] = None,
|
61
61
|
brand_name: Optional[str] = None,
|
62
62
|
max_retries: int = 2,
|
63
|
+
name: str = "survey",
|
64
|
+
route: str = "/survey",
|
65
|
+
enable_state_tracking: bool = True, # Enable state tracking by default
|
63
66
|
**kwargs
|
64
67
|
):
|
65
68
|
"""
|
@@ -78,13 +81,17 @@ class SurveyAgent(AgentBase):
|
|
78
81
|
conclusion: Optional custom conclusion message
|
79
82
|
brand_name: Optional brand or company name
|
80
83
|
max_retries: Maximum number of times to retry invalid answers
|
84
|
+
name: Name for the agent (default: "survey")
|
85
|
+
route: HTTP route for the agent (default: "/survey")
|
86
|
+
enable_state_tracking: Whether to enable state tracking (default: True)
|
81
87
|
**kwargs: Additional arguments for AgentBase
|
82
88
|
"""
|
83
89
|
# Initialize the base agent
|
84
90
|
super().__init__(
|
85
|
-
name=
|
86
|
-
route=
|
91
|
+
name=name,
|
92
|
+
route=route,
|
87
93
|
use_pom=True,
|
94
|
+
enable_state_tracking=enable_state_tracking, # Pass state tracking parameter to base
|
88
95
|
**kwargs
|
89
96
|
)
|
90
97
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: signalwire_agents
|
3
|
-
Version: 0.1.
|
3
|
+
Version: 0.1.7
|
4
4
|
Summary: SignalWire AI Agents SDK
|
5
5
|
Author-email: SignalWire Team <info@signalwire.com>
|
6
6
|
Project-URL: Homepage, https://github.com/signalwire/signalwire-ai-agents
|
@@ -36,6 +36,7 @@ A Python SDK for creating, hosting, and securing SignalWire AI agents as microse
|
|
36
36
|
- **Prompt Object Model**: Structured prompt composition using POM
|
37
37
|
- **SWAIG Integration**: Easily define and handle AI tools/functions
|
38
38
|
- **Custom Routing**: Dynamic request handling for different paths and content
|
39
|
+
- **SIP Integration**: Route SIP calls to agents based on SIP usernames
|
39
40
|
- **Security Built-In**: Session management, function-specific security tokens, and basic auth
|
40
41
|
- **State Management**: Persistent conversation state with automatic tracking
|
41
42
|
- **Prefab Archetypes**: Ready-to-use agent types for common scenarios
|
@@ -1,34 +1,34 @@
|
|
1
|
-
signalwire_agents/__init__.py,sha256=
|
1
|
+
signalwire_agents/__init__.py,sha256=WMXWZxEE3QuDgEKy6MBcL6hxdSDA3_gFd2XAQYmEwMg,800
|
2
2
|
signalwire_agents/agent_server.py,sha256=se_YzOQE5UUoRUKCbTnOg9qr4G3qN7iVuQLutwXEwFU,12850
|
3
3
|
signalwire_agents/schema.json,sha256=M8Mn6pQda2P9jhbmkALrLr1wt-fRuhYRqdmEi9Rbhqk,178075
|
4
4
|
signalwire_agents/core/__init__.py,sha256=mVDLbpq1pg_WwiqsQR28NNZwJ6-VUXFIfg-vN7pk0ew,806
|
5
|
-
signalwire_agents/core/agent_base.py,sha256=
|
5
|
+
signalwire_agents/core/agent_base.py,sha256=D8ZiRRYDxF24cOjXoT253SWODEvmDZ-l8kwWMnr18Bw,103118
|
6
6
|
signalwire_agents/core/function_result.py,sha256=vD8eBDJBQNNnss1jShadfogCZw_prODB6eBkTuVgZKA,3538
|
7
7
|
signalwire_agents/core/pom_builder.py,sha256=ywuiIfP8BeLBPo_G4X1teZlG6zTCMkW71CZnmyoDTAQ,6636
|
8
8
|
signalwire_agents/core/swaig_function.py,sha256=WoHGQuCmU9L9k39pttRunmfRtIa_PnNRn9W0Xq3MfIk,6316
|
9
9
|
signalwire_agents/core/swml_builder.py,sha256=Y_eHThVVso-_Hz4f73eEuu3HJstsM9PtBl-36GvAXhI,6594
|
10
10
|
signalwire_agents/core/swml_handler.py,sha256=KvphI_YY47VWGVXaix_N3SuQSyygHEUr9We6xESQK44,7002
|
11
11
|
signalwire_agents/core/swml_renderer.py,sha256=iobMWWoBR7dkHndI3Qlwf4C0fg2p7DmAU2Rb7ZmmLhA,13891
|
12
|
-
signalwire_agents/core/swml_service.py,sha256=
|
12
|
+
signalwire_agents/core/swml_service.py,sha256=4zTtpIKDtL59MzKgkBdpPmBCT6s1wVIikWEzZ1hqnyc,49309
|
13
13
|
signalwire_agents/core/security/__init__.py,sha256=4Mr7baQ_xR_hfJ72YxQRAT_GFa663YjFX_PumJ35Xds,191
|
14
|
-
signalwire_agents/core/security/session_manager.py,sha256=
|
14
|
+
signalwire_agents/core/security/session_manager.py,sha256=s5hXYcFnrsYFoyo-zcN7EJy-wInZQI_cWTBHX9MxHR4,9164
|
15
15
|
signalwire_agents/core/state/__init__.py,sha256=qpYIfQBApet6VQsy6diS3yu0lMxCBC6REOUk5l1McUw,379
|
16
16
|
signalwire_agents/core/state/file_state_manager.py,sha256=52I_KVlmhHCbKIaHj74Q-ksP_-AF6ewYmOXCf4n5DTQ,7307
|
17
17
|
signalwire_agents/core/state/state_manager.py,sha256=76B4mDutMb826dK4c_IJhOXH09BW1bJu6EZa6Mh_LB4,2511
|
18
18
|
signalwire_agents/prefabs/__init__.py,sha256=MW11J63XH7KxF2MWguRsMFM9iqMWexaEO9ynDPL_PDM,715
|
19
|
-
signalwire_agents/prefabs/concierge.py,sha256
|
20
|
-
signalwire_agents/prefabs/faq_bot.py,sha256=
|
21
|
-
signalwire_agents/prefabs/info_gatherer.py,sha256=
|
22
|
-
signalwire_agents/prefabs/receptionist.py,sha256=
|
23
|
-
signalwire_agents/prefabs/survey.py,sha256=
|
19
|
+
signalwire_agents/prefabs/concierge.py,sha256=FQxSUBAVH2ECtNs4GGa3f0EPiOrAKaz14h7byNFy5K8,10106
|
20
|
+
signalwire_agents/prefabs/faq_bot.py,sha256=NrUn5AGmtdzYTyxTHPt8BZ14ZN1sh4xKA2SVQUlfPPQ,10834
|
21
|
+
signalwire_agents/prefabs/info_gatherer.py,sha256=NkRc6FSaslDMhvF3a2rAvTqD9V8t17OV6_awwtQPPRM,10219
|
22
|
+
signalwire_agents/prefabs/receptionist.py,sha256=Bpb_okc5MnxEdrrO-PkXXo5Zp9awgyt4bvYJOahSbYE,10555
|
23
|
+
signalwire_agents/prefabs/survey.py,sha256=IIIQfgvMlfVNjEEEdWUn4lAJqVsCDlBsIAkOJ1ckyAE,14796
|
24
24
|
signalwire_agents/utils/__init__.py,sha256=4Mr7baQ_xR_hfJ72YxQRAT_GFa663YjFX_PumJ35Xds,191
|
25
25
|
signalwire_agents/utils/pom_utils.py,sha256=4Mr7baQ_xR_hfJ72YxQRAT_GFa663YjFX_PumJ35Xds,191
|
26
26
|
signalwire_agents/utils/schema_utils.py,sha256=LvFCFvJTQk_xYK0B-NXbkXKEF7Zmv-LqpV_vfpPnOb4,13473
|
27
27
|
signalwire_agents/utils/token_generators.py,sha256=4Mr7baQ_xR_hfJ72YxQRAT_GFa663YjFX_PumJ35Xds,191
|
28
28
|
signalwire_agents/utils/validators.py,sha256=4Mr7baQ_xR_hfJ72YxQRAT_GFa663YjFX_PumJ35Xds,191
|
29
|
-
signalwire_agents-0.1.
|
30
|
-
signalwire_agents-0.1.
|
31
|
-
signalwire_agents-0.1.
|
32
|
-
signalwire_agents-0.1.
|
33
|
-
signalwire_agents-0.1.
|
34
|
-
signalwire_agents-0.1.
|
29
|
+
signalwire_agents-0.1.7.data/data/schema.json,sha256=M8Mn6pQda2P9jhbmkALrLr1wt-fRuhYRqdmEi9Rbhqk,178075
|
30
|
+
signalwire_agents-0.1.7.dist-info/licenses/LICENSE,sha256=NYvAsB-rTcSvG9cqHt9EUHAWLiA9YzM4Qfz-mPdvDR0,1067
|
31
|
+
signalwire_agents-0.1.7.dist-info/METADATA,sha256=rlAExY7ealJ5HzZIx-IOHnH9MZn3zfXcuISBgnIRJbw,7486
|
32
|
+
signalwire_agents-0.1.7.dist-info/WHEEL,sha256=Nw36Djuh_5VDukK0H78QzOX-_FQEo6V37m3nkm96gtU,91
|
33
|
+
signalwire_agents-0.1.7.dist-info/top_level.txt,sha256=kDGS6ZYv84K9P5Kyg9_S8P_pbUXoHkso0On_DB5bbWc,18
|
34
|
+
signalwire_agents-0.1.7.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|