signalwire-agents 0.1.29__py3-none-any.whl → 0.1.31__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/cli/__init__.py +9 -0
- signalwire_agents/cli/config.py +9 -0
- signalwire_agents/cli/core/__init__.py +9 -0
- signalwire_agents/cli/core/agent_loader.py +9 -0
- signalwire_agents/cli/core/argparse_helpers.py +9 -0
- signalwire_agents/cli/core/dynamic_config.py +9 -0
- signalwire_agents/cli/execution/__init__.py +9 -0
- signalwire_agents/cli/execution/datamap_exec.py +9 -0
- signalwire_agents/cli/execution/webhook_exec.py +9 -0
- signalwire_agents/cli/output/__init__.py +9 -0
- signalwire_agents/cli/output/output_formatter.py +9 -0
- signalwire_agents/cli/output/swml_dump.py +9 -0
- signalwire_agents/cli/simulation/__init__.py +9 -0
- signalwire_agents/cli/simulation/data_generation.py +9 -0
- signalwire_agents/cli/simulation/data_overrides.py +9 -0
- signalwire_agents/cli/simulation/mock_env.py +9 -0
- signalwire_agents/cli/test_swaig.py +9 -0
- signalwire_agents/cli/types.py +9 -0
- signalwire_agents/core/agent/deployment/__init__.py +9 -0
- signalwire_agents/core/agent/deployment/handlers/__init__.py +9 -0
- signalwire_agents/core/agent/routing/__init__.py +9 -0
- signalwire_agents/core/agent/security/__init__.py +9 -0
- signalwire_agents/core/agent/swml/__init__.py +9 -0
- signalwire_agents/core/contexts.py +9 -0
- signalwire_agents/skills/__init__.py +9 -0
- signalwire_agents/skills/api_ninjas_trivia/__init__.py +9 -0
- signalwire_agents/skills/api_ninjas_trivia/skill.py +9 -0
- signalwire_agents/skills/datasphere_serverless/__init__.py +9 -0
- signalwire_agents/skills/datetime/__init__.py +9 -0
- signalwire_agents/skills/joke/__init__.py +9 -0
- signalwire_agents/skills/math/__init__.py +9 -0
- signalwire_agents/skills/mcp_gateway/__init__.py +9 -0
- signalwire_agents/skills/native_vector_search/__init__.py +9 -0
- signalwire_agents/skills/play_background_file/__init__.py +9 -0
- signalwire_agents/skills/play_background_file/skill.py +9 -0
- signalwire_agents/skills/spider/__init__.py +9 -0
- signalwire_agents/skills/spider/skill.py +9 -0
- signalwire_agents/skills/swml_transfer/__init__.py +9 -0
- signalwire_agents/skills/weather_api/__init__.py +9 -0
- signalwire_agents/skills/weather_api/skill.py +9 -0
- signalwire_agents/skills/web_search/__init__.py +9 -0
- signalwire_agents/skills/wikipedia_search/__init__.py +9 -0
- signalwire_agents/skills/wikipedia_search/skill.py +9 -0
- {signalwire_agents-0.1.29.dist-info → signalwire_agents-0.1.31.dist-info}/METADATA +112 -58
- {signalwire_agents-0.1.29.dist-info → signalwire_agents-0.1.31.dist-info}/RECORD +50 -50
- {signalwire_agents-0.1.29.dist-info → signalwire_agents-0.1.31.dist-info}/WHEEL +0 -0
- {signalwire_agents-0.1.29.dist-info → signalwire_agents-0.1.31.dist-info}/entry_points.txt +0 -0
- {signalwire_agents-0.1.29.dist-info → signalwire_agents-0.1.31.dist-info}/licenses/LICENSE +0 -0
- {signalwire_agents-0.1.29.dist-info → signalwire_agents-0.1.31.dist-info}/top_level.txt +0 -0
signalwire_agents/__init__.py
CHANGED
@@ -18,7 +18,7 @@ A package for building AI agents using SignalWire's AI and SWML capabilities.
|
|
18
18
|
from .core.logging_config import configure_logging
|
19
19
|
configure_logging()
|
20
20
|
|
21
|
-
__version__ = "0.1.
|
21
|
+
__version__ = "0.1.31"
|
22
22
|
|
23
23
|
# Import core classes for easier access
|
24
24
|
from .core.agent_base import AgentBase
|
signalwire_agents/cli/config.py
CHANGED
@@ -1,4 +1,13 @@
|
|
1
1
|
#!/usr/bin/env python3
|
2
|
+
"""
|
3
|
+
Copyright (c) 2025 SignalWire
|
4
|
+
|
5
|
+
This file is part of the SignalWire AI Agents SDK.
|
6
|
+
|
7
|
+
Licensed under the MIT License.
|
8
|
+
See LICENSE file in the project root for full license information.
|
9
|
+
"""
|
10
|
+
|
2
11
|
"""
|
3
12
|
Configuration constants for the CLI tools
|
4
13
|
"""
|
@@ -1,4 +1,13 @@
|
|
1
1
|
#!/usr/bin/env python3
|
2
|
+
"""
|
3
|
+
Copyright (c) 2025 SignalWire
|
4
|
+
|
5
|
+
This file is part of the SignalWire AI Agents SDK.
|
6
|
+
|
7
|
+
Licensed under the MIT License.
|
8
|
+
See LICENSE file in the project root for full license information.
|
9
|
+
"""
|
10
|
+
|
2
11
|
"""
|
3
12
|
Agent discovery and loading functionality
|
4
13
|
"""
|
@@ -1,4 +1,13 @@
|
|
1
1
|
#!/usr/bin/env python3
|
2
|
+
"""
|
3
|
+
Copyright (c) 2025 SignalWire
|
4
|
+
|
5
|
+
This file is part of the SignalWire AI Agents SDK.
|
6
|
+
|
7
|
+
Licensed under the MIT License.
|
8
|
+
See LICENSE file in the project root for full license information.
|
9
|
+
"""
|
10
|
+
|
2
11
|
"""
|
3
12
|
Custom argument parsing and function argument parsing
|
4
13
|
"""
|
@@ -1,4 +1,13 @@
|
|
1
1
|
#!/usr/bin/env python3
|
2
|
+
"""
|
3
|
+
Copyright (c) 2025 SignalWire
|
4
|
+
|
5
|
+
This file is part of the SignalWire AI Agents SDK.
|
6
|
+
|
7
|
+
Licensed under the MIT License.
|
8
|
+
See LICENSE file in the project root for full license information.
|
9
|
+
"""
|
10
|
+
|
2
11
|
"""
|
3
12
|
Apply dynamic configuration to agents
|
4
13
|
"""
|
@@ -1,4 +1,13 @@
|
|
1
1
|
#!/usr/bin/env python3
|
2
|
+
"""
|
3
|
+
Copyright (c) 2025 SignalWire
|
4
|
+
|
5
|
+
This file is part of the SignalWire AI Agents SDK.
|
6
|
+
|
7
|
+
Licensed under the MIT License.
|
8
|
+
See LICENSE file in the project root for full license information.
|
9
|
+
"""
|
10
|
+
|
2
11
|
"""
|
3
12
|
DataMap function execution and template expansion
|
4
13
|
"""
|
@@ -1,4 +1,13 @@
|
|
1
1
|
#!/usr/bin/env python3
|
2
|
+
"""
|
3
|
+
Copyright (c) 2025 SignalWire
|
4
|
+
|
5
|
+
This file is part of the SignalWire AI Agents SDK.
|
6
|
+
|
7
|
+
Licensed under the MIT License.
|
8
|
+
See LICENSE file in the project root for full license information.
|
9
|
+
"""
|
10
|
+
|
2
11
|
"""
|
3
12
|
Webhook function execution (including external)
|
4
13
|
"""
|
@@ -1,4 +1,13 @@
|
|
1
1
|
#!/usr/bin/env python3
|
2
|
+
"""
|
3
|
+
Copyright (c) 2025 SignalWire
|
4
|
+
|
5
|
+
This file is part of the SignalWire AI Agents SDK.
|
6
|
+
|
7
|
+
Licensed under the MIT License.
|
8
|
+
See LICENSE file in the project root for full license information.
|
9
|
+
"""
|
10
|
+
|
2
11
|
"""
|
3
12
|
Display agent/tools and format results
|
4
13
|
"""
|
@@ -1,4 +1,13 @@
|
|
1
1
|
#!/usr/bin/env python3
|
2
|
+
"""
|
3
|
+
Copyright (c) 2025 SignalWire
|
4
|
+
|
5
|
+
This file is part of the SignalWire AI Agents SDK.
|
6
|
+
|
7
|
+
Licensed under the MIT License.
|
8
|
+
See LICENSE file in the project root for full license information.
|
9
|
+
"""
|
10
|
+
|
2
11
|
"""
|
3
12
|
Handle SWML document dumping
|
4
13
|
"""
|
@@ -1,4 +1,13 @@
|
|
1
1
|
#!/usr/bin/env python3
|
2
|
+
"""
|
3
|
+
Copyright (c) 2025 SignalWire
|
4
|
+
|
5
|
+
This file is part of the SignalWire AI Agents SDK.
|
6
|
+
|
7
|
+
Licensed under the MIT License.
|
8
|
+
See LICENSE file in the project root for full license information.
|
9
|
+
"""
|
10
|
+
|
2
11
|
"""
|
3
12
|
Generate fake SWML post_data and related helpers
|
4
13
|
"""
|
@@ -1,4 +1,13 @@
|
|
1
1
|
#!/usr/bin/env python3
|
2
|
+
"""
|
3
|
+
Copyright (c) 2025 SignalWire
|
4
|
+
|
5
|
+
This file is part of the SignalWire AI Agents SDK.
|
6
|
+
|
7
|
+
Licensed under the MIT License.
|
8
|
+
See LICENSE file in the project root for full license information.
|
9
|
+
"""
|
10
|
+
|
2
11
|
"""
|
3
12
|
Handle CLI overrides and mapping to nested data
|
4
13
|
"""
|
@@ -1,4 +1,13 @@
|
|
1
1
|
#!/usr/bin/env python3
|
2
|
+
"""
|
3
|
+
Copyright (c) 2025 SignalWire
|
4
|
+
|
5
|
+
This file is part of the SignalWire AI Agents SDK.
|
6
|
+
|
7
|
+
Licensed under the MIT License.
|
8
|
+
See LICENSE file in the project root for full license information.
|
9
|
+
"""
|
10
|
+
|
2
11
|
"""
|
3
12
|
Mock environment and serverless simulation functionality
|
4
13
|
"""
|
@@ -1,4 +1,13 @@
|
|
1
1
|
#!/usr/bin/env python3
|
2
|
+
"""
|
3
|
+
Copyright (c) 2025 SignalWire
|
4
|
+
|
5
|
+
This file is part of the SignalWire AI Agents SDK.
|
6
|
+
|
7
|
+
Licensed under the MIT License.
|
8
|
+
See LICENSE file in the project root for full license information.
|
9
|
+
"""
|
10
|
+
|
2
11
|
"""
|
3
12
|
SWAIG Function CLI Testing Tool
|
4
13
|
|
signalwire_agents/cli/types.py
CHANGED
@@ -1,4 +1,13 @@
|
|
1
1
|
#!/usr/bin/env python3
|
2
|
+
"""
|
3
|
+
Copyright (c) 2025 SignalWire
|
4
|
+
|
5
|
+
This file is part of the SignalWire AI Agents SDK.
|
6
|
+
|
7
|
+
Licensed under the MIT License.
|
8
|
+
See LICENSE file in the project root for full license information.
|
9
|
+
"""
|
10
|
+
|
2
11
|
"""
|
3
12
|
Type definitions for the CLI tools
|
4
13
|
"""
|
@@ -1,3 +1,12 @@
|
|
1
|
+
"""
|
2
|
+
Copyright (c) 2025 SignalWire
|
3
|
+
|
4
|
+
This file is part of the SignalWire AI Agents SDK.
|
5
|
+
|
6
|
+
Licensed under the MIT License.
|
7
|
+
See LICENSE file in the project root for full license information.
|
8
|
+
"""
|
9
|
+
|
1
10
|
"""
|
2
11
|
Contexts and Steps System for SignalWire Agents
|
3
12
|
|
@@ -1,3 +1,12 @@
|
|
1
|
+
"""
|
2
|
+
Copyright (c) 2025 SignalWire
|
3
|
+
|
4
|
+
This file is part of the SignalWire AI Agents SDK.
|
5
|
+
|
6
|
+
Licensed under the MIT License.
|
7
|
+
See LICENSE file in the project root for full license information.
|
8
|
+
"""
|
9
|
+
|
1
10
|
from .skill import ApiNinjasTriviaSkill
|
2
11
|
|
3
12
|
__all__ = ['ApiNinjasTriviaSkill']
|
@@ -1 +1,10 @@
|
|
1
|
+
"""
|
2
|
+
Copyright (c) 2025 SignalWire
|
3
|
+
|
4
|
+
This file is part of the SignalWire AI Agents SDK.
|
5
|
+
|
6
|
+
Licensed under the MIT License.
|
7
|
+
See LICENSE file in the project root for full license information.
|
8
|
+
"""
|
9
|
+
|
1
10
|
"""DataSphere Serverless Skill for SignalWire Agents using DataMap"""
|
@@ -1,3 +1,12 @@
|
|
1
|
+
"""
|
2
|
+
Copyright (c) 2025 SignalWire
|
3
|
+
|
4
|
+
This file is part of the SignalWire AI Agents SDK.
|
5
|
+
|
6
|
+
Licensed under the MIT License.
|
7
|
+
See LICENSE file in the project root for full license information.
|
8
|
+
"""
|
9
|
+
|
1
10
|
from .skill import PlayBackgroundFileSkill
|
2
11
|
|
3
12
|
__all__ = ['PlayBackgroundFileSkill']
|
@@ -1,3 +1,12 @@
|
|
1
|
+
"""
|
2
|
+
Copyright (c) 2025 SignalWire
|
3
|
+
|
4
|
+
This file is part of the SignalWire AI Agents SDK.
|
5
|
+
|
6
|
+
Licensed under the MIT License.
|
7
|
+
See LICENSE file in the project root for full license information.
|
8
|
+
"""
|
9
|
+
|
1
10
|
"""Spider skill for web scraping."""
|
2
11
|
from .skill import SpiderSkill
|
3
12
|
|
@@ -1,3 +1,12 @@
|
|
1
|
+
"""
|
2
|
+
Copyright (c) 2025 SignalWire
|
3
|
+
|
4
|
+
This file is part of the SignalWire AI Agents SDK.
|
5
|
+
|
6
|
+
Licensed under the MIT License.
|
7
|
+
See LICENSE file in the project root for full license information.
|
8
|
+
"""
|
9
|
+
|
1
10
|
"""Spider skill for fast web scraping with SignalWire AI Agents."""
|
2
11
|
import re
|
3
12
|
import logging
|
@@ -1,3 +1,12 @@
|
|
1
|
+
"""
|
2
|
+
Copyright (c) 2025 SignalWire
|
3
|
+
|
4
|
+
This file is part of the SignalWire AI Agents SDK.
|
5
|
+
|
6
|
+
Licensed under the MIT License.
|
7
|
+
See LICENSE file in the project root for full license information.
|
8
|
+
"""
|
9
|
+
|
1
10
|
from .skill import WeatherApiSkill
|
2
11
|
|
3
12
|
__all__ = ['WeatherApiSkill']
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: signalwire_agents
|
3
|
-
Version: 0.1.
|
3
|
+
Version: 0.1.31
|
4
4
|
Summary: SignalWire AI Agents SDK
|
5
5
|
Author-email: SignalWire Team <info@signalwire.com>
|
6
6
|
License: MIT
|
@@ -72,26 +72,74 @@ Requires-Dist: python-pptx>=0.6.21; extra == "search-all"
|
|
72
72
|
Requires-Dist: python-magic>=0.4.27; extra == "search-all"
|
73
73
|
Dynamic: license-file
|
74
74
|
|
75
|
-
|
75
|
+
<!-- Header -->
|
76
|
+
<div align="center">
|
77
|
+
<img src="https://github.com/user-attachments/assets/0c8ed3b9-8c50-4dc6-9cc4-cc6cd137fd50" width="500" href="https://signalwire.com" />
|
76
78
|
|
77
|
-
|
79
|
+
# Agents SDK
|
80
|
+
|
81
|
+
#### _A Python SDK for creating, hosting, and securing SignalWire AI agents as microservices with minimal boilerplate._
|
82
|
+
|
83
|
+
<br/>
|
84
|
+
|
85
|
+
<p align="center">
|
86
|
+
<a href="https://developer.signalwire.com/sdks/agents-sdk" target="_blank">📖 Documentation</a> <code>#</code>
|
87
|
+
<a href="https://github.com/signalwire/signalwire-docs/issues/new/choose" target="_blank">🐛 Report an issue</a> <code>#</code>
|
88
|
+
<a href="https://pypi.org/project/signalwire-agents/" target="_blank">🐍 PyPI</a>
|
89
|
+
</p>
|
90
|
+
|
91
|
+
<br/>
|
92
|
+
|
93
|
+
<!-- Badges -->
|
94
|
+
<div align="center">
|
95
|
+
<img src="https://img.shields.io/badge/Discord%20Community-5865F2" alt="Discord" href="https://discord.com/invite/F2WNYTNjuF"/>
|
96
|
+
<img src="https://img.shields.io/badge/MIT-License-blue" alt="MIT License" href="LICENSE" />
|
97
|
+
<img src="https://img.shields.io/badge/GitHub-%23121011.svg?logo=github&logoColor=white&" alt="GitHub" href="https://github.com/signalwire"/>
|
98
|
+
<img src="https://img.shields.io/github/stars/signalwire/signalwire-agents" alt="GitHub Stars" href="https://github.com/signalwire/docs"/>
|
99
|
+
</div>
|
100
|
+
|
101
|
+
</div>
|
78
102
|
|
79
103
|
## Features
|
80
104
|
|
81
|
-
|
82
|
-
|
83
|
-
- **
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
- **
|
93
|
-
|
94
|
-
|
105
|
+
| | |
|
106
|
+
|-------------------------------|-----------------------------------------------------------------------------|
|
107
|
+
| 🤖 **Self-Contained Agents** | Each agent is both a web app and an AI persona |
|
108
|
+
| 📝 **Prompt Object Model** | Structured prompt composition using POM |
|
109
|
+
| ⚙️ **SWAIG Integration** | Easily define and handle AI tools/functions |
|
110
|
+
| 🔧 **Dynamic Configuration** | Configure agents per-request for multi-tenant apps and personalization |
|
111
|
+
| 🗺️ **Custom Routing** | Dynamic request handling for different paths and content |
|
112
|
+
| 📞 **SIP Integration** | Route SIP calls to agents based on SIP usernames |
|
113
|
+
| 🔒 **Security Built-In** | Session management, function-specific security tokens, and basic auth |
|
114
|
+
| 💾 **State Management** | Persistent conversation state with automatic tracking |
|
115
|
+
| 🏗️ **Prefab Archetypes** | Ready-to-use agent types for common scenarios |
|
116
|
+
| 🏢 **Multi-Agent Support** | Host multiple agents on a single server |
|
117
|
+
| � **Modular Skills System** | Add capabilities to agents with simple one-liner calls |
|
118
|
+
| 🔍 **Local Search System** | Offline document search with vector similarity and keyword search |
|
119
|
+
|
120
|
+
<picture>
|
121
|
+
<source
|
122
|
+
media="(prefers-color-scheme: dark)"
|
123
|
+
srcset="
|
124
|
+
https://api.star-history.com/svg?repos=signalwire/signalwire-agents&type=Date&theme=dark
|
125
|
+
"
|
126
|
+
/>
|
127
|
+
<source
|
128
|
+
media="(prefers-color-scheme: light)"
|
129
|
+
srcset="
|
130
|
+
https://api.star-history.com/svg?repos=signalwire/signalwire-agents&type=Date
|
131
|
+
"
|
132
|
+
/>
|
133
|
+
<img
|
134
|
+
alt="Star History Chart"
|
135
|
+
src="https://api.star-history.com/svg?repos=signalwire/signalwire-agents&type=Date"
|
136
|
+
/>
|
137
|
+
</picture>
|
138
|
+
|
139
|
+
<details>
|
140
|
+
<summary><h2>Documentation</h2></summary>
|
141
|
+
|
142
|
+
### Skills System
|
95
143
|
|
96
144
|
The SignalWire Agents SDK includes a powerful modular skills system that allows you to add complex capabilities to your agents with simple one-liner calls:
|
97
145
|
|
@@ -163,7 +211,7 @@ agent.add_skill("datasphere", {
|
|
163
211
|
agent.serve()
|
164
212
|
```
|
165
213
|
|
166
|
-
|
214
|
+
#### Available Built-in Skills
|
167
215
|
|
168
216
|
- **web_search**: Google Custom Search API integration with web scraping (supports multiple instances)
|
169
217
|
- **datetime**: Current date and time with timezone support
|
@@ -171,7 +219,7 @@ agent.serve()
|
|
171
219
|
- **datasphere**: SignalWire DataSphere knowledge search (supports multiple instances)
|
172
220
|
- **native_vector_search**: Offline document search with vector similarity and keyword search
|
173
221
|
|
174
|
-
|
222
|
+
#### Benefits
|
175
223
|
|
176
224
|
- **One-liner integration**: `agent.add_skill("skill_name")`
|
177
225
|
- **Configurable parameters**: `agent.add_skill("skill_name", {"param": "value"})`
|
@@ -181,11 +229,11 @@ agent.serve()
|
|
181
229
|
|
182
230
|
For detailed documentation, see [Skills System README](docs/skills_system.md).
|
183
231
|
|
184
|
-
|
232
|
+
### DataMap Tools
|
185
233
|
|
186
234
|
The SDK provides a DataMap system for creating SWAIG tools that integrate directly with REST APIs without requiring custom webhook endpoints. DataMap tools execute on the SignalWire server, making them simpler to deploy than traditional webhook-based tools.
|
187
235
|
|
188
|
-
|
236
|
+
#### Basic DataMap Usage
|
189
237
|
|
190
238
|
```python
|
191
239
|
from signalwire_agents import AgentBase
|
@@ -211,7 +259,7 @@ agent = APIAgent()
|
|
211
259
|
agent.serve()
|
212
260
|
```
|
213
261
|
|
214
|
-
|
262
|
+
#### Advanced DataMap Examples
|
215
263
|
|
216
264
|
```python
|
217
265
|
# POST API with authentication
|
@@ -242,7 +290,7 @@ docs_tool = (DataMap('get_latest_docs')
|
|
242
290
|
)
|
243
291
|
```
|
244
292
|
|
245
|
-
|
293
|
+
#### Helper Functions
|
246
294
|
|
247
295
|
For simpler use cases, use the convenience functions:
|
248
296
|
|
@@ -272,7 +320,7 @@ self.register_swaig_function(weather.to_swaig_function())
|
|
272
320
|
self.register_swaig_function(file_control.to_swaig_function())
|
273
321
|
```
|
274
322
|
|
275
|
-
|
323
|
+
#### Variable Expansion
|
276
324
|
|
277
325
|
DataMap tools support powerful variable expansion using `${variable}` syntax:
|
278
326
|
|
@@ -282,7 +330,7 @@ DataMap tools support powerful variable expansion using `${variable}` syntax:
|
|
282
330
|
- **Global data**: `${global_data.key}`
|
283
331
|
- **Metadata**: `${meta_data.call_id}`
|
284
332
|
|
285
|
-
|
333
|
+
#### Benefits of DataMap Tools
|
286
334
|
|
287
335
|
- **No webhook infrastructure**: Tools run on SignalWire servers
|
288
336
|
- **Simplified deployment**: No need to expose endpoints
|
@@ -293,11 +341,11 @@ DataMap tools support powerful variable expansion using `${variable}` syntax:
|
|
293
341
|
|
294
342
|
For detailed documentation, see [DataMap Guide](docs/datamap_guide.md).
|
295
343
|
|
296
|
-
|
344
|
+
### Contexts and Steps
|
297
345
|
|
298
346
|
The SignalWire Agents SDK provides a powerful enhancement to traditional prompts through the **Contexts and Steps** system. This feature allows you to add structured, workflow-driven AI interactions on top of your base prompt, with explicit navigation control and step-by-step guidance.
|
299
347
|
|
300
|
-
|
348
|
+
#### Why Use Contexts and Steps?
|
301
349
|
|
302
350
|
- **Structured Workflows**: Define clear, step-by-step processes for complex interactions
|
303
351
|
- **Navigation Control**: Explicitly control which steps or contexts users can access
|
@@ -306,7 +354,7 @@ The SignalWire Agents SDK provides a powerful enhancement to traditional prompts
|
|
306
354
|
- **Workflow Isolation**: Create separate contexts for different conversation flows
|
307
355
|
- **Enhanced Base Prompts**: Adds structured workflows on top of your existing prompt foundation
|
308
356
|
|
309
|
-
|
357
|
+
#### Basic Usage
|
310
358
|
|
311
359
|
```python
|
312
360
|
from signalwire_agents import AgentBase
|
@@ -351,7 +399,7 @@ agent = WorkflowAgent()
|
|
351
399
|
agent.serve()
|
352
400
|
```
|
353
401
|
|
354
|
-
|
402
|
+
#### Advanced Features
|
355
403
|
|
356
404
|
```python
|
357
405
|
class MultiContextAgent(AgentBase):
|
@@ -394,13 +442,13 @@ class MultiContextAgent(AgentBase):
|
|
394
442
|
.set_valid_contexts(["main"]) # Can return to main
|
395
443
|
```
|
396
444
|
|
397
|
-
|
445
|
+
#### Context and Step Methods
|
398
446
|
|
399
|
-
|
447
|
+
##### Context Methods
|
400
448
|
- `add_step(name)`: Create a new step in this context
|
401
449
|
- `set_valid_contexts(contexts)`: Control which contexts can be accessed from this context
|
402
450
|
|
403
|
-
|
451
|
+
##### Step Methods
|
404
452
|
- `set_text(text)`: Set direct text prompt for the step
|
405
453
|
- `add_section(title, body)`: Add POM-style section (alternative to set_text)
|
406
454
|
- `add_bullets(bullets)`: Add bullet points to the current or last section
|
@@ -409,14 +457,14 @@ class MultiContextAgent(AgentBase):
|
|
409
457
|
- `set_valid_steps(steps)`: Control navigation to other steps in same context
|
410
458
|
- `set_valid_contexts(contexts)`: Control navigation to other contexts
|
411
459
|
|
412
|
-
|
460
|
+
#### Navigation Rules
|
413
461
|
|
414
462
|
- **Valid Steps**: If omitted, only "next" step is implied. If specified, only those steps are allowed.
|
415
463
|
- **Valid Contexts**: If omitted, user is trapped in current context. If specified, can navigate to those contexts.
|
416
464
|
- **Single Context**: Must be named "default" for single-context workflows.
|
417
465
|
- **Function Restrictions**: Use `set_functions(["function_name"])` or `set_functions("none")` to control AI tool access.
|
418
466
|
|
419
|
-
|
467
|
+
#### Complete Example: Customer Support Workflow
|
420
468
|
|
421
469
|
```python
|
422
470
|
class SupportAgent(AgentBase):
|
@@ -471,7 +519,7 @@ agent = SupportAgent()
|
|
471
519
|
agent.serve()
|
472
520
|
```
|
473
521
|
|
474
|
-
|
522
|
+
#### Benefits
|
475
523
|
|
476
524
|
- **Clear Structure**: Explicit workflow definition makes agent behavior predictable
|
477
525
|
- **Enhanced Control**: Fine-grained control over function access and navigation
|
@@ -481,19 +529,19 @@ agent.serve()
|
|
481
529
|
|
482
530
|
For detailed documentation and advanced examples, see [Contexts and Steps Guide](docs/contexts_guide.md).
|
483
531
|
|
484
|
-
|
532
|
+
### Installation
|
485
533
|
|
486
|
-
|
534
|
+
#### Basic Installation
|
487
535
|
|
488
536
|
```bash
|
489
537
|
pip install signalwire-agents
|
490
538
|
```
|
491
539
|
|
492
|
-
|
540
|
+
#### Optional Search Functionality
|
493
541
|
|
494
542
|
The SDK includes optional local search capabilities that can be installed separately to avoid adding large dependencies to the base installation:
|
495
543
|
|
496
|
-
|
544
|
+
##### Search Installation Options
|
497
545
|
|
498
546
|
```bash
|
499
547
|
# Query existing .swsearch files only (smallest footprint)
|
@@ -512,7 +560,7 @@ pip install signalwire-agents[search-nlp]
|
|
512
560
|
pip install signalwire-agents[search-all]
|
513
561
|
```
|
514
562
|
|
515
|
-
|
563
|
+
##### What Each Option Includes
|
516
564
|
|
517
565
|
| Option | Size | Features |
|
518
566
|
|--------|------|----------|
|
@@ -528,7 +576,7 @@ pip install signalwire-agents[search-all]
|
|
528
576
|
- Agents that only need to query knowledge bases (not build them)
|
529
577
|
- Smaller deployment footprint requirements
|
530
578
|
|
531
|
-
|
579
|
+
##### Search Features
|
532
580
|
|
533
581
|
- **Local/Offline Search**: No external API dependencies
|
534
582
|
- **Hybrid Search**: Vector similarity + keyword search
|
@@ -537,7 +585,7 @@ pip install signalwire-agents[search-all]
|
|
537
585
|
- **CLI Tools**: Build search indexes from document directories
|
538
586
|
- **HTTP API**: Standalone or embedded search service
|
539
587
|
|
540
|
-
|
588
|
+
##### Usage Example
|
541
589
|
|
542
590
|
```python
|
543
591
|
# Only available with search extras installed
|
@@ -560,7 +608,7 @@ results = engine.search(
|
|
560
608
|
)
|
561
609
|
```
|
562
610
|
|
563
|
-
|
611
|
+
### Quick Start
|
564
612
|
|
565
613
|
```python
|
566
614
|
from signalwire_agents import AgentBase
|
@@ -593,7 +641,7 @@ if __name__ == "__main__":
|
|
593
641
|
agent.serve(host="0.0.0.0", port=8000)
|
594
642
|
```
|
595
643
|
|
596
|
-
|
644
|
+
### Using Prefab Agents
|
597
645
|
|
598
646
|
```python
|
599
647
|
from signalwire_agents.prefabs import InfoGathererAgent
|
@@ -618,16 +666,16 @@ Available prefabs include:
|
|
618
666
|
- `SurveyAgent`: Conducts structured surveys with questions and rating scales
|
619
667
|
- `ReceptionistAgent`: Greets callers and transfers them to appropriate departments
|
620
668
|
|
621
|
-
|
669
|
+
### Dynamic Agent Configuration
|
622
670
|
|
623
671
|
Configure agents dynamically based on request parameters for multi-tenant applications, A/B testing, and personalization.
|
624
672
|
|
625
|
-
|
673
|
+
#### Static vs Dynamic Configuration
|
626
674
|
|
627
675
|
- **Static**: Agent configured once at startup (traditional approach)
|
628
676
|
- **Dynamic**: Agent configured fresh for each request based on parameters
|
629
677
|
|
630
|
-
|
678
|
+
#### Basic Example
|
631
679
|
|
632
680
|
```python
|
633
681
|
from signalwire_agents import AgentBase
|
@@ -672,7 +720,7 @@ class DynamicAgent(AgentBase):
|
|
672
720
|
# curl "http://localhost:3000/dynamic?tier=standard&language=en"
|
673
721
|
```
|
674
722
|
|
675
|
-
|
723
|
+
#### Use Cases
|
676
724
|
|
677
725
|
- **Multi-tenant SaaS**: Different configurations per customer/organization
|
678
726
|
- **A/B Testing**: Test different agent behaviors with different user groups
|
@@ -680,7 +728,7 @@ class DynamicAgent(AgentBase):
|
|
680
728
|
- **Localization**: Language and cultural adaptation based on user location
|
681
729
|
- **Dynamic Pricing**: Adjust features and capabilities based on subscription tiers
|
682
730
|
|
683
|
-
|
731
|
+
#### Preserving Dynamic State in SWAIG Callbacks
|
684
732
|
|
685
733
|
When using dynamic configuration to add skills or tools based on request parameters, there's a challenge: SWAIG webhook callbacks are separate HTTP requests that won't have the original query parameters. The SDK provides `add_swaig_query_params()` to solve this:
|
686
734
|
|
@@ -726,9 +774,9 @@ This ensures that any dynamic configuration based on request parameters is consi
|
|
726
774
|
|
727
775
|
For detailed documentation and advanced examples, see the [Agent Guide](docs/agent_guide.md#dynamic-agent-configuration).
|
728
776
|
|
729
|
-
|
777
|
+
### Configuration
|
730
778
|
|
731
|
-
|
779
|
+
#### Environment Variables
|
732
780
|
|
733
781
|
The SDK supports the following environment variables:
|
734
782
|
|
@@ -745,14 +793,14 @@ When the auth environment variables are set, they will be used for all agents in
|
|
745
793
|
|
746
794
|
To enable HTTPS directly (without a reverse proxy), set `SWML_SSL_ENABLED` to "true", provide valid paths to your certificate and key files, and specify your domain name.
|
747
795
|
|
748
|
-
|
796
|
+
### Testing
|
749
797
|
|
750
798
|
The SDK includes powerful CLI tools for development and testing:
|
751
799
|
|
752
800
|
- **`swaig-test`**: Comprehensive local testing and serverless environment simulation
|
753
801
|
- **`sw-search`**: Build local search indexes from document directories and search within them
|
754
802
|
|
755
|
-
|
803
|
+
#### Local Testing with swaig-test
|
756
804
|
|
757
805
|
Test your agents locally without deployment:
|
758
806
|
|
@@ -774,7 +822,7 @@ swaig-test examples/my_agent.py --dump-swml
|
|
774
822
|
swaig-test examples/my_agent.py --dump-swml --format-json | jq '.'
|
775
823
|
```
|
776
824
|
|
777
|
-
|
825
|
+
#### Serverless Environment Simulation
|
778
826
|
|
779
827
|
Test your agents in simulated serverless environments without deployment:
|
780
828
|
|
@@ -807,7 +855,7 @@ swaig-test examples/my_agent.py --simulate-serverless azure_function \
|
|
807
855
|
--exec my_function
|
808
856
|
```
|
809
857
|
|
810
|
-
|
858
|
+
#### Environment Management
|
811
859
|
|
812
860
|
Use environment files for consistent testing across platforms:
|
813
861
|
|
@@ -829,7 +877,7 @@ swaig-test examples/my_agent.py --simulate-serverless lambda \
|
|
829
877
|
--env-file production.env --env DEBUG=true --dump-swml
|
830
878
|
```
|
831
879
|
|
832
|
-
|
880
|
+
#### Cross-Platform Testing
|
833
881
|
|
834
882
|
Test the same agent across multiple serverless platforms:
|
835
883
|
|
@@ -846,7 +894,7 @@ swaig-test examples/my_agent.py --simulate-serverless lambda --dump-swml | grep
|
|
846
894
|
swaig-test examples/my_agent.py --simulate-serverless cgi --cgi-host example.com --dump-swml | grep web_hook_url
|
847
895
|
```
|
848
896
|
|
849
|
-
|
897
|
+
#### Key Benefits
|
850
898
|
|
851
899
|
- **No Deployment Required**: Test serverless behavior locally
|
852
900
|
- **Environment Simulation**: Complete platform-specific environment variable setup
|
@@ -857,7 +905,7 @@ swaig-test examples/my_agent.py --simulate-serverless cgi --cgi-host example.com
|
|
857
905
|
|
858
906
|
For detailed testing documentation, see the [CLI Testing Guide](docs/cli_testing_guide.md).
|
859
907
|
|
860
|
-
|
908
|
+
### Documentation
|
861
909
|
|
862
910
|
The package includes comprehensive documentation in the `docs/` directory:
|
863
911
|
|
@@ -870,6 +918,12 @@ The package includes comprehensive documentation in the `docs/` directory:
|
|
870
918
|
|
871
919
|
These documents provide in-depth explanations of the features, APIs, and usage patterns.
|
872
920
|
|
921
|
+
</details
|
922
|
+
|
923
|
+
### ***[Read the official docs.](https://developer.signalwire.com/sdks/agents-sdk)***
|
924
|
+
|
925
|
+
---
|
926
|
+
|
873
927
|
## License
|
874
928
|
|
875
929
|
MIT
|
@@ -1,30 +1,30 @@
|
|
1
|
-
signalwire_agents/__init__.py,sha256=
|
1
|
+
signalwire_agents/__init__.py,sha256=OfRcxW5VgG-wMju-6f3Fzu_8jqQdW6ACkpkqEwGhFfo,2608
|
2
2
|
signalwire_agents/agent_server.py,sha256=x9HyWia8D3r6KMqY-Q4DtNVivfJWLTx8B-KzUI8okuA,26880
|
3
3
|
signalwire_agents/schema.json,sha256=AWhh6MoMU95roA_6RSdVdvbHDWPYqMavRoSnsVeMiw8,240965
|
4
|
-
signalwire_agents/cli/__init__.py,sha256=
|
4
|
+
signalwire_agents/cli/__init__.py,sha256=XbxAQFaCIdGXIXJiriVBWoFPOJsC401u21588nO4TG8,388
|
5
5
|
signalwire_agents/cli/build_search.py,sha256=KLQJBqVSADFyGcKAi0KLwU_UoUd5rtRoKAdfcH91u70,28652
|
6
|
-
signalwire_agents/cli/config.py,sha256=
|
7
|
-
signalwire_agents/cli/test_swaig.py,sha256=
|
8
|
-
signalwire_agents/cli/types.py,sha256=
|
9
|
-
signalwire_agents/cli/core/__init__.py,sha256=
|
10
|
-
signalwire_agents/cli/core/agent_loader.py,sha256=
|
11
|
-
signalwire_agents/cli/core/argparse_helpers.py,sha256=
|
12
|
-
signalwire_agents/cli/core/dynamic_config.py,sha256=
|
13
|
-
signalwire_agents/cli/execution/__init__.py,sha256=
|
14
|
-
signalwire_agents/cli/execution/datamap_exec.py,sha256=
|
15
|
-
signalwire_agents/cli/execution/webhook_exec.py,sha256=
|
16
|
-
signalwire_agents/cli/output/__init__.py,sha256=
|
17
|
-
signalwire_agents/cli/output/output_formatter.py,sha256=
|
18
|
-
signalwire_agents/cli/output/swml_dump.py,sha256=
|
19
|
-
signalwire_agents/cli/simulation/__init__.py,sha256=
|
20
|
-
signalwire_agents/cli/simulation/data_generation.py,sha256=
|
21
|
-
signalwire_agents/cli/simulation/data_overrides.py,sha256=
|
22
|
-
signalwire_agents/cli/simulation/mock_env.py,sha256=
|
6
|
+
signalwire_agents/cli/config.py,sha256=2i4e0BArdKsaXxjeueYYRNke7GWicHPYC2wuitVrP7A,2541
|
7
|
+
signalwire_agents/cli/test_swaig.py,sha256=3uB_a56N82TpN-Sxhj-NcuFEGFOFotPmyKI5qQuQGXc,30762
|
8
|
+
signalwire_agents/cli/types.py,sha256=U8Abc4Atb5-wMbhM3MjcuIXsbONLOu1ucePWOCgqdco,1810
|
9
|
+
signalwire_agents/cli/core/__init__.py,sha256=YX37KLHd3LEjeiv4aVXeWnjFWxbW3Z4mJ0Yw7bdVv0A,229
|
10
|
+
signalwire_agents/cli/core/agent_loader.py,sha256=hzvJ6GV_X1dwyC3UHtdsxSCd6PV55Wf-1vj1AQfSw34,10585
|
11
|
+
signalwire_agents/cli/core/argparse_helpers.py,sha256=PdjC94shTnQrcWmQOiJOzypvpiAVQ8aLHFeOVU-aGMg,6475
|
12
|
+
signalwire_agents/cli/core/dynamic_config.py,sha256=FuB0slymgoDfzcKWXPy_Dy9qprSTn0e1ou7A0Vgwie8,2686
|
13
|
+
signalwire_agents/cli/execution/__init__.py,sha256=GS9EkXJhhFQjn7NSmxM5JX1Iy7pm6U6rW2BZCk3bxas,223
|
14
|
+
signalwire_agents/cli/execution/datamap_exec.py,sha256=UNQ8gn1KW72YDjegY8SzeZWebZiD-DO6dRLkxia438k,20389
|
15
|
+
signalwire_agents/cli/execution/webhook_exec.py,sha256=m4gIX-MaTG8JngI57qyeWGYDQJwkbJANpvkBwJeJ_7o,4710
|
16
|
+
signalwire_agents/cli/output/__init__.py,sha256=aGBWE-xXbqsFi-cyD5MCs8v3chxirSxdDyDZTUWYJO4,234
|
17
|
+
signalwire_agents/cli/output/output_formatter.py,sha256=yXGXVG1LeymSB2mpNNo5C4mVgH7qsy707-eOVq8XLBw,5768
|
18
|
+
signalwire_agents/cli/output/swml_dump.py,sha256=PiUwPvwiaPENw4oylavxMNE9d2C7e7AfkwZNZSbDpds,6640
|
19
|
+
signalwire_agents/cli/simulation/__init__.py,sha256=YtfbBKujx8SjZqaOtMdgle8FvxzKeD8_pRzeD25ylsU,236
|
20
|
+
signalwire_agents/cli/simulation/data_generation.py,sha256=pxa9aJ6XkI0O8yAIGvBTUU3eBVkJizNx9xW8mHEosTI,11918
|
21
|
+
signalwire_agents/cli/simulation/data_overrides.py,sha256=3_3pT6j-q2gRufPX2bZ1BrmY7u1IdloLooKAJil33vI,6319
|
22
|
+
signalwire_agents/cli/simulation/mock_env.py,sha256=KA08sRqLDfESn_e1o7S6E4nvzFtvBpvs7f8A12Zf2wc,10141
|
23
23
|
signalwire_agents/core/__init__.py,sha256=xjPq8DmUnWYUG28sd17n430VWPmMH9oZ9W14gYwG96g,806
|
24
24
|
signalwire_agents/core/agent_base.py,sha256=F0dL5bdWY_n3zIz9qVC8jWu3xxNXS6cO3dFW_RCyuro,43951
|
25
25
|
signalwire_agents/core/auth_handler.py,sha256=jXrof9WZ1W9qqlQT9WElcmSRafL2kG7207x5SqWN9MU,8481
|
26
26
|
signalwire_agents/core/config_loader.py,sha256=rStVRRUaeMGrMc44ocr0diMQQARZhbKqwMqQ6kqUNos,8722
|
27
|
-
signalwire_agents/core/contexts.py,sha256=
|
27
|
+
signalwire_agents/core/contexts.py,sha256=g9FgOGMfGCUWlm57YZcv7CvOf-Ub9FdKZIOMu14ADfE,24428
|
28
28
|
signalwire_agents/core/data_map.py,sha256=0qp3VcrRS0RtZPApoAaGgM-udLBb1ysnyMJuWd6sSew,17134
|
29
29
|
signalwire_agents/core/function_result.py,sha256=MZZUoAHN8AXry-OBNA6Od5l-bKvMM2ruvnqHLbNhSiQ,44959
|
30
30
|
signalwire_agents/core/logging_config.py,sha256=x4d_RAjBjVpJOFA2vXnPP2dNr13BZHz091J5rGpC77Y,13142
|
@@ -39,13 +39,13 @@ signalwire_agents/core/swml_renderer.py,sha256=-WAB_5ss836a8nBo5zlb6SaQKFNF4XIo1
|
|
39
39
|
signalwire_agents/core/swml_service.py,sha256=vgK_OScBlXdsr3dMe7pLUnm_cQVWtmNl_lu5guAKDlg,49851
|
40
40
|
signalwire_agents/core/agent/__init__.py,sha256=qccTmLD9b24tZDAoIPEY6vJ2p1R_ArZ_ZCKbBlKvPQ8,239
|
41
41
|
signalwire_agents/core/agent/config/__init__.py,sha256=5XvTfnYeeGdoLr4tJjbe1OhF26nOcR5VTDIhtMGCu3I,244
|
42
|
-
signalwire_agents/core/agent/deployment/__init__.py,sha256=
|
43
|
-
signalwire_agents/core/agent/deployment/handlers/__init__.py,sha256=
|
42
|
+
signalwire_agents/core/agent/deployment/__init__.py,sha256=4Mr7baQ_xR_hfJ72YxQRAT_GFa663YjFX_PumJ35Xds,191
|
43
|
+
signalwire_agents/core/agent/deployment/handlers/__init__.py,sha256=4Mr7baQ_xR_hfJ72YxQRAT_GFa663YjFX_PumJ35Xds,191
|
44
44
|
signalwire_agents/core/agent/prompt/__init__.py,sha256=4pKL3P7q9uAEtbwOKSJ_supaDn8LZl2uKXuWM72f_Pg,288
|
45
45
|
signalwire_agents/core/agent/prompt/manager.py,sha256=0jNTufykxuz8O2w-gsHeTxWH-f36suawWjNF5JYZ_X0,10074
|
46
|
-
signalwire_agents/core/agent/routing/__init__.py,sha256=
|
47
|
-
signalwire_agents/core/agent/security/__init__.py,sha256=
|
48
|
-
signalwire_agents/core/agent/swml/__init__.py,sha256=
|
46
|
+
signalwire_agents/core/agent/routing/__init__.py,sha256=4Mr7baQ_xR_hfJ72YxQRAT_GFa663YjFX_PumJ35Xds,191
|
47
|
+
signalwire_agents/core/agent/security/__init__.py,sha256=4Mr7baQ_xR_hfJ72YxQRAT_GFa663YjFX_PumJ35Xds,191
|
48
|
+
signalwire_agents/core/agent/swml/__init__.py,sha256=4Mr7baQ_xR_hfJ72YxQRAT_GFa663YjFX_PumJ35Xds,191
|
49
49
|
signalwire_agents/core/agent/tools/__init__.py,sha256=eOcmyeGm6qogT3wsBx7QvdjmTbc1p5hnPR6uIlvTLxI,339
|
50
50
|
signalwire_agents/core/agent/tools/decorator.py,sha256=pC6j1114GwVBd2U3h23I9gKLtu8AgeiuWV0lUzz682U,2961
|
51
51
|
signalwire_agents/core/agent/tools/registry.py,sha256=CgsCUMWBV4Use1baNl2KLYS2ewKjjOwm28kC_T7R6mU,7459
|
@@ -73,57 +73,57 @@ signalwire_agents/search/query_processor.py,sha256=WMm_jjArQ6-Jpy0Cc0sUI4saidOtD
|
|
73
73
|
signalwire_agents/search/search_engine.py,sha256=KFF33aPsBdwb2N1aTJmAA0xo3KPANoXjwV53uSxih9o,14798
|
74
74
|
signalwire_agents/search/search_service.py,sha256=zidaQb2aRusAODU8C6Nw65ZlTy3DjJ2-bMJavhMl7vk,15608
|
75
75
|
signalwire_agents/skills/README.md,sha256=sM1_08IsKdRDCzYHPLzppJbaK5MvRelsVL6Kd9A9Ubo,12193
|
76
|
-
signalwire_agents/skills/__init__.py,sha256=
|
76
|
+
signalwire_agents/skills/__init__.py,sha256=9AMEcyk2tDaGiUjwVIson_tVWxV4oU_2NnGGNTbHuyQ,533
|
77
77
|
signalwire_agents/skills/registry.py,sha256=lnr0XFOQ5YC_WgsAT6Id3RMAJ2-nf2ZCdqB7z_huLQI,4889
|
78
78
|
signalwire_agents/skills/api_ninjas_trivia/README.md,sha256=SoyS7VFh3eVIiVnQ5gfTfs0a_gAlLwnmT2W2FrbNU0A,6762
|
79
|
-
signalwire_agents/skills/api_ninjas_trivia/__init__.py,sha256=
|
80
|
-
signalwire_agents/skills/api_ninjas_trivia/skill.py,sha256=
|
79
|
+
signalwire_agents/skills/api_ninjas_trivia/__init__.py,sha256=zN305bBQkzlJyUNsPUMPt3gDJbvc-Iigkdh0rBou_RE,267
|
80
|
+
signalwire_agents/skills/api_ninjas_trivia/skill.py,sha256=phioqvXivdoklg7tHE998Ac5S6-0Q90X8OmEjSIGprM,7397
|
81
81
|
signalwire_agents/skills/datasphere/README.md,sha256=7G5t0V04SlnJ39U-3zOoIOfkNFrVEo-s45lCUlYmJGo,7351
|
82
82
|
signalwire_agents/skills/datasphere/__init__.py,sha256=SJJlmeMSeezjINPgkuWN1XzDPN_Z3GzZ_StzO1BtxQs,257
|
83
83
|
signalwire_agents/skills/datasphere/skill.py,sha256=L6GrGwej3sKPcHljKBNf4it5g4DaGzR18KlQx65_XKg,9598
|
84
84
|
signalwire_agents/skills/datasphere_serverless/README.md,sha256=FErV97NEdYD_N1wZxkLqy6DSml5B9mCJmEgCUdGxh6A,9299
|
85
|
-
signalwire_agents/skills/datasphere_serverless/__init__.py,sha256=
|
85
|
+
signalwire_agents/skills/datasphere_serverless/__init__.py,sha256=jpMNDcGiXsVbSCVUrc_AwLARqEtVu4dPYZPJSJ-K3rc,261
|
86
86
|
signalwire_agents/skills/datasphere_serverless/skill.py,sha256=zgEoTY8Jm6YKJBzM1kn3j7tf492K-NiKG7DbE3GReeE,6787
|
87
87
|
signalwire_agents/skills/datetime/README.md,sha256=95SzVz-Pcm9MPqZ4D3sSYKMwdpsDNwwCpWFRK027-Pc,4534
|
88
|
-
signalwire_agents/skills/datetime/__init__.py,sha256=
|
88
|
+
signalwire_agents/skills/datetime/__init__.py,sha256=Irajm2sUhmQVFgais-J-q-3d58tNnJ4nbLmnphr90nI,234
|
89
89
|
signalwire_agents/skills/datetime/skill.py,sha256=aBBdcPV5xWX6uWi9W0VqZ0kKOqC3JHrAhG1bZn58ro8,3900
|
90
90
|
signalwire_agents/skills/joke/README.md,sha256=xUa2_0Pk9neli-UJxI4BPt3Fb1_5Xa3m8RuDlrkfBao,3594
|
91
|
-
signalwire_agents/skills/joke/__init__.py,sha256=
|
91
|
+
signalwire_agents/skills/joke/__init__.py,sha256=8Rc5_nj30bdga2n9H9JSI2WzMn40pjApd-y-tk5WIkI,244
|
92
92
|
signalwire_agents/skills/joke/skill.py,sha256=AFaf6fMy0sxUPJHvcnf3CWMuPqpJP4ODscUexMadEcU,3381
|
93
93
|
signalwire_agents/skills/math/README.md,sha256=Nrv7PxkFPSxdnAN6856Fp1CfvsUwdncpRFFDERxmMe0,5335
|
94
|
-
signalwire_agents/skills/math/__init__.py,sha256=
|
94
|
+
signalwire_agents/skills/math/__init__.py,sha256=F7emZqBpAAkqJZxA3RNTzRSAXE5e2xu8PtFOPHebfKo,230
|
95
95
|
signalwire_agents/skills/math/skill.py,sha256=5sErd5x1rFHJg2GlmdJB3LvrmvTNOrZsA2jRnG67Zw8,3342
|
96
96
|
signalwire_agents/skills/mcp_gateway/README.md,sha256=t-71TTWlEvjgWLTcT3v4kMw9zlrKXTAC_sCjb1haNew,5826
|
97
|
-
signalwire_agents/skills/mcp_gateway/__init__.py,sha256=
|
97
|
+
signalwire_agents/skills/mcp_gateway/__init__.py,sha256=zLgOa7s0sIQphTNJjvasIAW7llxAApez7moC_e1tzP0,236
|
98
98
|
signalwire_agents/skills/mcp_gateway/skill.py,sha256=iS5ET9jYKnwuYsuFd-aqUJfLUhvX--RG2FfCq8BZ340,14050
|
99
|
-
signalwire_agents/skills/native_vector_search/__init__.py,sha256=
|
99
|
+
signalwire_agents/skills/native_vector_search/__init__.py,sha256=RofpN3Sd-vyWeUCTYH2dRVrl7h6YuyG5OK772UQ-KFk,220
|
100
100
|
signalwire_agents/skills/native_vector_search/skill.py,sha256=Ck74rnlZ1HtnmEWRhZW1bSF_-PzpV3q-sNOu_LmeDQ0,18934
|
101
101
|
signalwire_agents/skills/play_background_file/README.md,sha256=omJ_jY5Co6Mk-gJt_hoSl40wemmTbzae3DBll6HL0B4,7026
|
102
|
-
signalwire_agents/skills/play_background_file/__init__.py,sha256=
|
103
|
-
signalwire_agents/skills/play_background_file/skill.py,sha256=
|
102
|
+
signalwire_agents/skills/play_background_file/__init__.py,sha256=iETc6e-0Cai3RUTQWhg9BieWi3NF3_DWWBKdYXcd4ok,273
|
103
|
+
signalwire_agents/skills/play_background_file/skill.py,sha256=w_FrhFIigOMW8HJgRNABl0uE-xJ__LTLxZdZaSWryhk,7355
|
104
104
|
signalwire_agents/skills/spider/README.md,sha256=yBa09JzgLikG3STbDNbRCKUM3l3XU5-D923I2g8CTVc,6909
|
105
|
-
signalwire_agents/skills/spider/__init__.py,sha256=
|
106
|
-
signalwire_agents/skills/spider/skill.py,sha256=
|
105
|
+
signalwire_agents/skills/spider/__init__.py,sha256=bZcCGLX5Cz18qY8rOvAAync6BRtketxaU19l6YcA_iI,285
|
106
|
+
signalwire_agents/skills/spider/skill.py,sha256=nF4QmUzuS_6WABxPzEkg1CVv9ylEIL-Ptc7BYt-EFB8,19167
|
107
107
|
signalwire_agents/skills/swml_transfer/README.md,sha256=2Y6CH5Bm9kI5IYCLczIQIYlaYUq6VX_S4Irct2CQMmQ,14681
|
108
|
-
signalwire_agents/skills/swml_transfer/__init__.py,sha256=
|
108
|
+
signalwire_agents/skills/swml_transfer/__init__.py,sha256=YyfxRpbgT4ZpEjGolwffKqjUzX4VqDNLdqfSoA0D0IY,238
|
109
109
|
signalwire_agents/skills/swml_transfer/skill.py,sha256=Me_m0Edn76_KA1bAiJLDNPqv-hXR-6MTNeVKok8eVUk,10834
|
110
110
|
signalwire_agents/skills/weather_api/README.md,sha256=buzCtrhxXAxZ8k7Qt_lR62E_tqnpXmXRsTarb_F43zg,6439
|
111
|
-
signalwire_agents/skills/weather_api/__init__.py,sha256=
|
112
|
-
signalwire_agents/skills/weather_api/skill.py,sha256
|
111
|
+
signalwire_agents/skills/weather_api/__init__.py,sha256=WCS--GFBX8straIZPuGAmTDZ7t-y7VI6ioB1Kf8eeP4,257
|
112
|
+
signalwire_agents/skills/weather_api/skill.py,sha256=-0gFgTVau2Pxljq9_fmNDnzgUI0JBXtdOCIAdHc8fLs,6217
|
113
113
|
signalwire_agents/skills/web_search/README.md,sha256=Y95cxEScMzhmslUJF8u_Nh15FbEBuus4P-E8_kk2an0,5438
|
114
|
-
signalwire_agents/skills/web_search/__init__.py,sha256=
|
114
|
+
signalwire_agents/skills/web_search/__init__.py,sha256=kv4CzmF1lldRZcL_HivieslP7gtTFvxcfprKG4n6b-Q,236
|
115
115
|
signalwire_agents/skills/web_search/skill.py,sha256=6EwoNABxEH5UkEdXsPT72PQzoVlFUbWsFJR6NuyhglI,10363
|
116
116
|
signalwire_agents/skills/wikipedia_search/README.md,sha256=KFIQ8XhqrTG8NRs72dIbjJacy2DlYEXLtxgy23gyRi4,7585
|
117
|
-
signalwire_agents/skills/wikipedia_search/__init__.py,sha256=
|
118
|
-
signalwire_agents/skills/wikipedia_search/skill.py,sha256=
|
117
|
+
signalwire_agents/skills/wikipedia_search/__init__.py,sha256=yJ6iYTSyJC96mwwUsI_FneFhDBcLYD4xEerBKlWLTb8,375
|
118
|
+
signalwire_agents/skills/wikipedia_search/skill.py,sha256=8HhV8E4yDMe-p3qCxgEYFrL5hNvnJ6KbQzYumpgI7-k,7068
|
119
119
|
signalwire_agents/utils/__init__.py,sha256=1KVsHzwgfktSXHe3vqSRGImjtIE58szwD2FHHoFBtvY,601
|
120
120
|
signalwire_agents/utils/pom_utils.py,sha256=4Mr7baQ_xR_hfJ72YxQRAT_GFa663YjFX_PumJ35Xds,191
|
121
121
|
signalwire_agents/utils/schema_utils.py,sha256=i4okv_O9bUApwT_jJf4Yoij3bLCrGrW3DC-vzSy2RuY,16392
|
122
122
|
signalwire_agents/utils/token_generators.py,sha256=4Mr7baQ_xR_hfJ72YxQRAT_GFa663YjFX_PumJ35Xds,191
|
123
123
|
signalwire_agents/utils/validators.py,sha256=4Mr7baQ_xR_hfJ72YxQRAT_GFa663YjFX_PumJ35Xds,191
|
124
|
-
signalwire_agents-0.1.
|
125
|
-
signalwire_agents-0.1.
|
126
|
-
signalwire_agents-0.1.
|
127
|
-
signalwire_agents-0.1.
|
128
|
-
signalwire_agents-0.1.
|
129
|
-
signalwire_agents-0.1.
|
124
|
+
signalwire_agents-0.1.31.dist-info/licenses/LICENSE,sha256=NYvAsB-rTcSvG9cqHt9EUHAWLiA9YzM4Qfz-mPdvDR0,1067
|
125
|
+
signalwire_agents-0.1.31.dist-info/METADATA,sha256=IprLCUUzD9QW2U9rEf4AgYyuvT3o62tunuLARxRFTuY,38391
|
126
|
+
signalwire_agents-0.1.31.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
127
|
+
signalwire_agents-0.1.31.dist-info/entry_points.txt,sha256=sfdeRaTSs9J56pqFdcZGRTxQcTuecb8IMx8gqleJ6s0,136
|
128
|
+
signalwire_agents-0.1.31.dist-info/top_level.txt,sha256=kDGS6ZYv84K9P5Kyg9_S8P_pbUXoHkso0On_DB5bbWc,18
|
129
|
+
signalwire_agents-0.1.31.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|