signalwire-agents 0.1.9__tar.gz → 0.1.10__tar.gz
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-0.1.9/signalwire_agents.egg-info → signalwire_agents-0.1.10}/PKG-INFO +9 -1
- {signalwire_agents-0.1.9 → signalwire_agents-0.1.10}/README.md +8 -0
- {signalwire_agents-0.1.9 → signalwire_agents-0.1.10}/pyproject.toml +1 -1
- {signalwire_agents-0.1.9 → signalwire_agents-0.1.10}/signalwire_agents/__init__.py +1 -1
- {signalwire_agents-0.1.9 → signalwire_agents-0.1.10}/signalwire_agents/core/skill_base.py +40 -0
- {signalwire_agents-0.1.9 → signalwire_agents-0.1.10}/signalwire_agents/skills/datetime/skill.py +2 -2
- {signalwire_agents-0.1.9 → signalwire_agents-0.1.10}/signalwire_agents/skills/math/skill.py +1 -1
- {signalwire_agents-0.1.9 → signalwire_agents-0.1.10}/signalwire_agents/skills/web_search/skill.py +3 -14
- {signalwire_agents-0.1.9 → signalwire_agents-0.1.10/signalwire_agents.egg-info}/PKG-INFO +9 -1
- {signalwire_agents-0.1.9 → signalwire_agents-0.1.10}/LICENSE +0 -0
- {signalwire_agents-0.1.9 → signalwire_agents-0.1.10}/schema.json +0 -0
- {signalwire_agents-0.1.9 → signalwire_agents-0.1.10}/setup.cfg +0 -0
- {signalwire_agents-0.1.9 → signalwire_agents-0.1.10}/setup.py +0 -0
- {signalwire_agents-0.1.9 → signalwire_agents-0.1.10}/signalwire_agents/agent_server.py +0 -0
- {signalwire_agents-0.1.9 → signalwire_agents-0.1.10}/signalwire_agents/core/__init__.py +0 -0
- {signalwire_agents-0.1.9 → signalwire_agents-0.1.10}/signalwire_agents/core/agent_base.py +0 -0
- {signalwire_agents-0.1.9 → signalwire_agents-0.1.10}/signalwire_agents/core/function_result.py +0 -0
- {signalwire_agents-0.1.9 → signalwire_agents-0.1.10}/signalwire_agents/core/pom_builder.py +0 -0
- {signalwire_agents-0.1.9 → signalwire_agents-0.1.10}/signalwire_agents/core/security/__init__.py +0 -0
- {signalwire_agents-0.1.9 → signalwire_agents-0.1.10}/signalwire_agents/core/security/session_manager.py +0 -0
- {signalwire_agents-0.1.9 → signalwire_agents-0.1.10}/signalwire_agents/core/skill_manager.py +0 -0
- {signalwire_agents-0.1.9 → signalwire_agents-0.1.10}/signalwire_agents/core/state/__init__.py +0 -0
- {signalwire_agents-0.1.9 → signalwire_agents-0.1.10}/signalwire_agents/core/state/file_state_manager.py +0 -0
- {signalwire_agents-0.1.9 → signalwire_agents-0.1.10}/signalwire_agents/core/state/state_manager.py +0 -0
- {signalwire_agents-0.1.9 → signalwire_agents-0.1.10}/signalwire_agents/core/swaig_function.py +0 -0
- {signalwire_agents-0.1.9 → signalwire_agents-0.1.10}/signalwire_agents/core/swml_builder.py +0 -0
- {signalwire_agents-0.1.9 → signalwire_agents-0.1.10}/signalwire_agents/core/swml_handler.py +0 -0
- {signalwire_agents-0.1.9 → signalwire_agents-0.1.10}/signalwire_agents/core/swml_renderer.py +0 -0
- {signalwire_agents-0.1.9 → signalwire_agents-0.1.10}/signalwire_agents/core/swml_service.py +0 -0
- {signalwire_agents-0.1.9 → signalwire_agents-0.1.10}/signalwire_agents/prefabs/__init__.py +0 -0
- {signalwire_agents-0.1.9 → signalwire_agents-0.1.10}/signalwire_agents/prefabs/concierge.py +0 -0
- {signalwire_agents-0.1.9 → signalwire_agents-0.1.10}/signalwire_agents/prefabs/faq_bot.py +0 -0
- {signalwire_agents-0.1.9 → signalwire_agents-0.1.10}/signalwire_agents/prefabs/info_gatherer.py +0 -0
- {signalwire_agents-0.1.9 → signalwire_agents-0.1.10}/signalwire_agents/prefabs/receptionist.py +0 -0
- {signalwire_agents-0.1.9 → signalwire_agents-0.1.10}/signalwire_agents/prefabs/survey.py +0 -0
- {signalwire_agents-0.1.9 → signalwire_agents-0.1.10}/signalwire_agents/schema.json +0 -0
- {signalwire_agents-0.1.9 → signalwire_agents-0.1.10}/signalwire_agents/skills/__init__.py +0 -0
- {signalwire_agents-0.1.9 → signalwire_agents-0.1.10}/signalwire_agents/skills/datetime/__init__.py +0 -0
- {signalwire_agents-0.1.9 → signalwire_agents-0.1.10}/signalwire_agents/skills/math/__init__.py +0 -0
- {signalwire_agents-0.1.9 → signalwire_agents-0.1.10}/signalwire_agents/skills/registry.py +0 -0
- {signalwire_agents-0.1.9 → signalwire_agents-0.1.10}/signalwire_agents/skills/web_search/__init__.py +0 -0
- {signalwire_agents-0.1.9 → signalwire_agents-0.1.10}/signalwire_agents/utils/__init__.py +0 -0
- {signalwire_agents-0.1.9 → signalwire_agents-0.1.10}/signalwire_agents/utils/pom_utils.py +0 -0
- {signalwire_agents-0.1.9 → signalwire_agents-0.1.10}/signalwire_agents/utils/schema_utils.py +0 -0
- {signalwire_agents-0.1.9 → signalwire_agents-0.1.10}/signalwire_agents/utils/token_generators.py +0 -0
- {signalwire_agents-0.1.9 → signalwire_agents-0.1.10}/signalwire_agents/utils/validators.py +0 -0
- {signalwire_agents-0.1.9 → signalwire_agents-0.1.10}/signalwire_agents.egg-info/SOURCES.txt +0 -0
- {signalwire_agents-0.1.9 → signalwire_agents-0.1.10}/signalwire_agents.egg-info/dependency_links.txt +0 -0
- {signalwire_agents-0.1.9 → signalwire_agents-0.1.10}/signalwire_agents.egg-info/requires.txt +0 -0
- {signalwire_agents-0.1.9 → signalwire_agents-0.1.10}/signalwire_agents.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: signalwire_agents
|
3
|
-
Version: 0.1.
|
3
|
+
Version: 0.1.10
|
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
|
@@ -67,6 +67,14 @@ agent.add_skill("web_search", {
|
|
67
67
|
"delay": 0.5 # Small delay between requests
|
68
68
|
})
|
69
69
|
|
70
|
+
# Advanced: Customize SWAIG function properties
|
71
|
+
agent.add_skill("math", {
|
72
|
+
"swaig_fields": {
|
73
|
+
"secure": False, # Override security settings
|
74
|
+
"fillers": {"en-US": ["Calculating..."]} # Custom filler phrases
|
75
|
+
}
|
76
|
+
})
|
77
|
+
|
70
78
|
agent.serve()
|
71
79
|
```
|
72
80
|
|
@@ -37,6 +37,14 @@ agent.add_skill("web_search", {
|
|
37
37
|
"delay": 0.5 # Small delay between requests
|
38
38
|
})
|
39
39
|
|
40
|
+
# Advanced: Customize SWAIG function properties
|
41
|
+
agent.add_skill("math", {
|
42
|
+
"swaig_fields": {
|
43
|
+
"secure": False, # Override security settings
|
44
|
+
"fillers": {"en-US": ["Calculating..."]} # Custom filler phrases
|
45
|
+
}
|
46
|
+
})
|
47
|
+
|
40
48
|
agent.serve()
|
41
49
|
```
|
42
50
|
|
@@ -14,7 +14,7 @@ SignalWire AI Agents SDK
|
|
14
14
|
A package for building AI agents using SignalWire's AI and SWML capabilities.
|
15
15
|
"""
|
16
16
|
|
17
|
-
__version__ = "0.1.
|
17
|
+
__version__ = "0.1.10"
|
18
18
|
|
19
19
|
# Import core classes for easier access
|
20
20
|
from signalwire_agents.core.agent_base import AgentBase
|
@@ -34,6 +34,9 @@ class SkillBase(ABC):
|
|
34
34
|
self.params = params or {}
|
35
35
|
self.logger = logging.getLogger(f"skill.{self.SKILL_NAME}")
|
36
36
|
|
37
|
+
# Extract swaig_fields from params for merging into tool definitions
|
38
|
+
self.swaig_fields = self.params.pop('swaig_fields', {})
|
39
|
+
|
37
40
|
@abstractmethod
|
38
41
|
def setup(self) -> bool:
|
39
42
|
"""
|
@@ -47,6 +50,43 @@ class SkillBase(ABC):
|
|
47
50
|
"""Register SWAIG tools with the agent"""
|
48
51
|
pass
|
49
52
|
|
53
|
+
def define_tool_with_swaig_fields(
|
54
|
+
self,
|
55
|
+
name: str,
|
56
|
+
description: str,
|
57
|
+
parameters: Dict[str, Any],
|
58
|
+
handler,
|
59
|
+
**additional_kwargs
|
60
|
+
):
|
61
|
+
"""
|
62
|
+
Helper method to define a tool with swaig_fields merged in
|
63
|
+
|
64
|
+
Args:
|
65
|
+
name: Function name
|
66
|
+
description: Function description
|
67
|
+
parameters: Function parameters schema
|
68
|
+
handler: Function handler
|
69
|
+
**additional_kwargs: Additional keyword arguments for define_tool
|
70
|
+
|
71
|
+
This method automatically merges the swaig_fields from skill params
|
72
|
+
into the tool definition, allowing the skill loader to customize
|
73
|
+
SWAIG function properties.
|
74
|
+
"""
|
75
|
+
# Start with the additional kwargs passed to this method
|
76
|
+
tool_kwargs = additional_kwargs.copy()
|
77
|
+
|
78
|
+
# Merge in the swaig_fields from params (swaig_fields take precedence)
|
79
|
+
tool_kwargs.update(self.swaig_fields)
|
80
|
+
|
81
|
+
# Call the agent's define_tool with all parameters
|
82
|
+
self.agent.define_tool(
|
83
|
+
name=name,
|
84
|
+
description=description,
|
85
|
+
parameters=parameters,
|
86
|
+
handler=handler,
|
87
|
+
**tool_kwargs
|
88
|
+
)
|
89
|
+
|
50
90
|
def get_hints(self) -> List[str]:
|
51
91
|
"""Return speech recognition hints for this skill"""
|
52
92
|
return []
|
{signalwire_agents-0.1.9 → signalwire_agents-0.1.10}/signalwire_agents/skills/datetime/skill.py
RENAMED
@@ -30,7 +30,7 @@ class DateTimeSkill(SkillBase):
|
|
30
30
|
def register_tools(self) -> None:
|
31
31
|
"""Register datetime tools with the agent"""
|
32
32
|
|
33
|
-
self.
|
33
|
+
self.define_tool_with_swaig_fields(
|
34
34
|
name="get_current_time",
|
35
35
|
description="Get the current time, optionally in a specific timezone",
|
36
36
|
parameters={
|
@@ -42,7 +42,7 @@ class DateTimeSkill(SkillBase):
|
|
42
42
|
handler=self._get_time_handler
|
43
43
|
)
|
44
44
|
|
45
|
-
self.
|
45
|
+
self.define_tool_with_swaig_fields(
|
46
46
|
name="get_current_date",
|
47
47
|
description="Get the current date",
|
48
48
|
parameters={
|
@@ -29,7 +29,7 @@ class MathSkill(SkillBase):
|
|
29
29
|
def register_tools(self) -> None:
|
30
30
|
"""Register math tools with the agent"""
|
31
31
|
|
32
|
-
self.
|
32
|
+
self.define_tool_with_swaig_fields(
|
33
33
|
name="calculate",
|
34
34
|
description="Perform a mathematical calculation with basic operations (+, -, *, /, %, **)",
|
35
35
|
parameters={
|
{signalwire_agents-0.1.9 → signalwire_agents-0.1.10}/signalwire_agents/skills/web_search/skill.py
RENAMED
@@ -149,19 +149,13 @@ class WebSearchSkill(SkillBase):
|
|
149
149
|
|
150
150
|
def register_tools(self) -> None:
|
151
151
|
"""Register web search tool with the agent"""
|
152
|
-
self.
|
152
|
+
self.define_tool_with_swaig_fields(
|
153
153
|
name="web_search",
|
154
154
|
description="Search the web for information on any topic and return detailed results with content from multiple sources",
|
155
155
|
parameters={
|
156
156
|
"query": {
|
157
157
|
"type": "string",
|
158
158
|
"description": "The search query - what you want to find information about"
|
159
|
-
},
|
160
|
-
"num_results": {
|
161
|
-
"type": "integer",
|
162
|
-
"description": f"Number of web pages to search and extract content from (1-10, default: {self.default_num_results})",
|
163
|
-
"minimum": 1,
|
164
|
-
"maximum": 10
|
165
159
|
}
|
166
160
|
},
|
167
161
|
handler=self._web_search_handler
|
@@ -170,19 +164,14 @@ class WebSearchSkill(SkillBase):
|
|
170
164
|
def _web_search_handler(self, args, raw_data):
|
171
165
|
"""Handler for web search tool"""
|
172
166
|
query = args.get("query", "").strip()
|
173
|
-
num_results = args.get("num_results", self.default_num_results)
|
174
167
|
|
175
168
|
if not query:
|
176
169
|
return SwaigFunctionResult(
|
177
170
|
"Please provide a search query. What would you like me to search for?"
|
178
171
|
)
|
179
172
|
|
180
|
-
#
|
181
|
-
|
182
|
-
num_results = int(num_results)
|
183
|
-
num_results = max(1, min(num_results, 10))
|
184
|
-
except (ValueError, TypeError):
|
185
|
-
num_results = self.default_num_results
|
173
|
+
# Use the configured number of results (no longer a parameter)
|
174
|
+
num_results = self.default_num_results
|
186
175
|
|
187
176
|
self.logger.info(f"Web search requested: '{query}' ({num_results} results)")
|
188
177
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: signalwire_agents
|
3
|
-
Version: 0.1.
|
3
|
+
Version: 0.1.10
|
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
|
@@ -67,6 +67,14 @@ agent.add_skill("web_search", {
|
|
67
67
|
"delay": 0.5 # Small delay between requests
|
68
68
|
})
|
69
69
|
|
70
|
+
# Advanced: Customize SWAIG function properties
|
71
|
+
agent.add_skill("math", {
|
72
|
+
"swaig_fields": {
|
73
|
+
"secure": False, # Override security settings
|
74
|
+
"fillers": {"en-US": ["Calculating..."]} # Custom filler phrases
|
75
|
+
}
|
76
|
+
})
|
77
|
+
|
70
78
|
agent.serve()
|
71
79
|
```
|
72
80
|
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{signalwire_agents-0.1.9 → signalwire_agents-0.1.10}/signalwire_agents/core/function_result.py
RENAMED
File without changes
|
File without changes
|
{signalwire_agents-0.1.9 → signalwire_agents-0.1.10}/signalwire_agents/core/security/__init__.py
RENAMED
File without changes
|
File without changes
|
{signalwire_agents-0.1.9 → signalwire_agents-0.1.10}/signalwire_agents/core/skill_manager.py
RENAMED
File without changes
|
{signalwire_agents-0.1.9 → signalwire_agents-0.1.10}/signalwire_agents/core/state/__init__.py
RENAMED
File without changes
|
File without changes
|
{signalwire_agents-0.1.9 → signalwire_agents-0.1.10}/signalwire_agents/core/state/state_manager.py
RENAMED
File without changes
|
{signalwire_agents-0.1.9 → signalwire_agents-0.1.10}/signalwire_agents/core/swaig_function.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{signalwire_agents-0.1.9 → signalwire_agents-0.1.10}/signalwire_agents/core/swml_renderer.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{signalwire_agents-0.1.9 → signalwire_agents-0.1.10}/signalwire_agents/prefabs/info_gatherer.py
RENAMED
File without changes
|
{signalwire_agents-0.1.9 → signalwire_agents-0.1.10}/signalwire_agents/prefabs/receptionist.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{signalwire_agents-0.1.9 → signalwire_agents-0.1.10}/signalwire_agents/skills/datetime/__init__.py
RENAMED
File without changes
|
{signalwire_agents-0.1.9 → signalwire_agents-0.1.10}/signalwire_agents/skills/math/__init__.py
RENAMED
File without changes
|
File without changes
|
{signalwire_agents-0.1.9 → signalwire_agents-0.1.10}/signalwire_agents/skills/web_search/__init__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{signalwire_agents-0.1.9 → signalwire_agents-0.1.10}/signalwire_agents/utils/schema_utils.py
RENAMED
File without changes
|
{signalwire_agents-0.1.9 → signalwire_agents-0.1.10}/signalwire_agents/utils/token_generators.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{signalwire_agents-0.1.9 → signalwire_agents-0.1.10}/signalwire_agents.egg-info/dependency_links.txt
RENAMED
File without changes
|
{signalwire_agents-0.1.9 → signalwire_agents-0.1.10}/signalwire_agents.egg-info/requires.txt
RENAMED
File without changes
|
{signalwire_agents-0.1.9 → signalwire_agents-0.1.10}/signalwire_agents.egg-info/top_level.txt
RENAMED
File without changes
|