signalwire-agents 0.1.32__py3-none-any.whl → 0.1.34__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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: signalwire_agents
3
- Version: 0.1.32
3
+ Version: 0.1.34
4
4
  Summary: SignalWire AI Agents SDK
5
5
  Author-email: SignalWire Team <info@signalwire.com>
6
6
  License: MIT
@@ -98,12 +98,16 @@ Dynamic: license-file
98
98
  <img src="https://img.shields.io/github/stars/signalwire/signalwire-agents" alt="GitHub Stars" href="https://github.com/signalwire/docs"/>
99
99
  </div>
100
100
 
101
+ <br/>
102
+
103
+ <img src="https://github.com/user-attachments/assets/c2510c86-ae03-42a9-be06-ab9bcea948e1" alt="Sign Up" href="https://signalwire.com/signup" height="65"/>
104
+
101
105
  </div>
102
106
 
103
107
  ## Features
104
108
 
105
109
  | | |
106
- |-------------------------------|-----------------------------------------------------------------------------|
110
+ |-------------------------------|:-----------------------------------------------------------------------------:|
107
111
  | 🤖 **Self-Contained Agents** | Each agent is both a web app and an AI persona |
108
112
  | 📝 **Prompt Object Model** | Structured prompt composition using POM |
109
113
  | ⚙️ **SWAIG Integration** | Easily define and handle AI tools/functions |
@@ -117,24 +121,84 @@ Dynamic: license-file
117
121
  | � **Modular Skills System** | Add capabilities to agents with simple one-liner calls |
118
122
  | 🔍 **Local Search System** | Offline document search with vector similarity and keyword search |
119
123
 
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>
124
+ ## Installation
125
+
126
+ ### Basic Installation
127
+
128
+ ```bash
129
+ pip install signalwire-agents
130
+ ```
131
+
132
+ ### Optional Search Functionality
133
+
134
+ The SDK includes optional local search capabilities that can be installed separately to avoid adding large dependencies to the base installation:
135
+
136
+ #### Search Installation Options
137
+
138
+ ```bash
139
+ # Query existing .swsearch files only (smallest footprint)
140
+ pip install signalwire-agents[search-queryonly]
141
+
142
+ # Basic search (vector search + keyword search + building indexes)
143
+ pip install signalwire-agents[search]
144
+
145
+ # Full search with document processing (PDF, DOCX, etc.)
146
+ pip install signalwire-agents[search-full]
147
+
148
+ # Advanced NLP features (includes spaCy)
149
+ pip install signalwire-agents[search-nlp]
150
+
151
+ # All search features
152
+ pip install signalwire-agents[search-all]
153
+ ```
154
+
155
+ #### What Each Option Includes
156
+
157
+ | Option | Size | Features |
158
+ |--------|------|----------|
159
+ | `search-queryonly` | ~400MB | Query existing .swsearch files only (no building/processing) |
160
+ | `search` | ~500MB | Vector embeddings, keyword search, basic text processing |
161
+ | `search-full` | ~600MB | + PDF, DOCX, Excel, PowerPoint, HTML, Markdown processing |
162
+ | `search-nlp` | ~600MB | + Advanced spaCy NLP features |
163
+ | `search-all` | ~700MB | All search features combined |
164
+
165
+ **When to use `search-queryonly`:**
166
+ - Production containers with pre-built `.swsearch` files
167
+ - Lambda/serverless deployments
168
+ - Agents that only need to query knowledge bases (not build them)
169
+ - Smaller deployment footprint requirements
170
+
171
+ #### Search Features
172
+
173
+ - **Local/Offline Search**: No external API dependencies
174
+ - **Hybrid Search**: Vector similarity + keyword search
175
+ - **Smart Document Processing**: Markdown, Python, PDF, DOCX, etc.
176
+ - **Multiple Languages**: English, Spanish, with extensible framework
177
+ - **CLI Tools**: Build search indexes from document directories
178
+ - **HTTP API**: Standalone or embedded search service
179
+
180
+ #### Usage Example
181
+
182
+ ```python
183
+ # Only available with search extras installed
184
+ from signalwire_agents.search import IndexBuilder, SearchEngine
185
+
186
+ # Build search index
187
+ builder = IndexBuilder()
188
+ builder.build_index(
189
+ source_dir="./docs",
190
+ output_file="knowledge.swsearch",
191
+ file_types=['md', 'txt', 'pdf']
192
+ )
193
+
194
+ # Search documents
195
+ engine = SearchEngine("knowledge.swsearch")
196
+ results = engine.search(
197
+ query_vector=embeddings,
198
+ enhanced_text="search query",
199
+ count=5
200
+ )
201
+ ```
138
202
 
139
203
  <details>
140
204
  <summary><h2>Documentation</h2></summary>
@@ -529,85 +593,6 @@ agent.serve()
529
593
 
530
594
  For detailed documentation and advanced examples, see [Contexts and Steps Guide](docs/contexts_guide.md).
531
595
 
532
- ### Installation
533
-
534
- #### Basic Installation
535
-
536
- ```bash
537
- pip install signalwire-agents
538
- ```
539
-
540
- #### Optional Search Functionality
541
-
542
- The SDK includes optional local search capabilities that can be installed separately to avoid adding large dependencies to the base installation:
543
-
544
- ##### Search Installation Options
545
-
546
- ```bash
547
- # Query existing .swsearch files only (smallest footprint)
548
- pip install signalwire-agents[search-queryonly]
549
-
550
- # Basic search (vector search + keyword search + building indexes)
551
- pip install signalwire-agents[search]
552
-
553
- # Full search with document processing (PDF, DOCX, etc.)
554
- pip install signalwire-agents[search-full]
555
-
556
- # Advanced NLP features (includes spaCy)
557
- pip install signalwire-agents[search-nlp]
558
-
559
- # All search features
560
- pip install signalwire-agents[search-all]
561
- ```
562
-
563
- ##### What Each Option Includes
564
-
565
- | Option | Size | Features |
566
- |--------|------|----------|
567
- | `search-queryonly` | ~400MB | Query existing .swsearch files only (no building/processing) |
568
- | `search` | ~500MB | Vector embeddings, keyword search, basic text processing |
569
- | `search-full` | ~600MB | + PDF, DOCX, Excel, PowerPoint, HTML, Markdown processing |
570
- | `search-nlp` | ~600MB | + Advanced spaCy NLP features |
571
- | `search-all` | ~700MB | All search features combined |
572
-
573
- **When to use `search-queryonly`:**
574
- - Production containers with pre-built `.swsearch` files
575
- - Lambda/serverless deployments
576
- - Agents that only need to query knowledge bases (not build them)
577
- - Smaller deployment footprint requirements
578
-
579
- ##### Search Features
580
-
581
- - **Local/Offline Search**: No external API dependencies
582
- - **Hybrid Search**: Vector similarity + keyword search
583
- - **Smart Document Processing**: Markdown, Python, PDF, DOCX, etc.
584
- - **Multiple Languages**: English, Spanish, with extensible framework
585
- - **CLI Tools**: Build search indexes from document directories
586
- - **HTTP API**: Standalone or embedded search service
587
-
588
- ##### Usage Example
589
-
590
- ```python
591
- # Only available with search extras installed
592
- from signalwire_agents.search import IndexBuilder, SearchEngine
593
-
594
- # Build search index
595
- builder = IndexBuilder()
596
- builder.build_index(
597
- source_dir="./docs",
598
- output_file="knowledge.swsearch",
599
- file_types=['md', 'txt', 'pdf']
600
- )
601
-
602
- # Search documents
603
- engine = SearchEngine("knowledge.swsearch")
604
- results = engine.search(
605
- query_vector=embeddings,
606
- enhanced_text="search query",
607
- count=5
608
- )
609
- ```
610
-
611
596
  ### Quick Start
612
597
 
613
598
  ```python
@@ -817,9 +802,13 @@ swaig-test examples/my_agent.py --list-tools
817
802
  # Test SWAIG functions with CLI syntax
818
803
  swaig-test examples/my_agent.py --exec get_weather --location "New York"
819
804
 
805
+ # Multi-agent support
806
+ swaig-test examples/multi_agent.py --route /agent-path --list-tools
807
+ swaig-test examples/multi_agent.py --agent-class AgentName --exec function_name
808
+
820
809
  # Generate and inspect SWML documents
821
810
  swaig-test examples/my_agent.py --dump-swml
822
- swaig-test examples/my_agent.py --dump-swml --format-json | jq '.'
811
+ swaig-test examples/my_agent.py --dump-swml --raw | jq '.'
823
812
  ```
824
813
 
825
814
  #### Serverless Environment Simulation
@@ -1,25 +1,27 @@
1
- signalwire_agents/__init__.py,sha256=LAnGf-IAb3LdYxNKag2n8bhaqiDytjiKShisdVKXZ8U,2608
1
+ signalwire_agents/__init__.py,sha256=D70YfJXy_6OosQydML25eomVs8P3yiXm2p0_76CzSlM,2608
2
2
  signalwire_agents/agent_server.py,sha256=x9HyWia8D3r6KMqY-Q4DtNVivfJWLTx8B-KzUI8okuA,26880
3
3
  signalwire_agents/schema.json,sha256=6-7ccbt39iM1CO36dOfvupRPfd0gnQ0XoAdyo-EFyjo,238042
4
4
  signalwire_agents/cli/__init__.py,sha256=XbxAQFaCIdGXIXJiriVBWoFPOJsC401u21588nO4TG8,388
5
5
  signalwire_agents/cli/build_search.py,sha256=KLQJBqVSADFyGcKAi0KLwU_UoUd5rtRoKAdfcH91u70,28652
6
6
  signalwire_agents/cli/config.py,sha256=2i4e0BArdKsaXxjeueYYRNke7GWicHPYC2wuitVrP7A,2541
7
- signalwire_agents/cli/test_swaig.py,sha256=3uB_a56N82TpN-Sxhj-NcuFEGFOFotPmyKI5qQuQGXc,30762
7
+ signalwire_agents/cli/swaig_test_wrapper.py,sha256=t63HQpEc1Up5AcysEHP1OsEQcgSMKH-9H1L2IhFso18,1533
8
+ signalwire_agents/cli/test_swaig.py,sha256=-v-XjTUWZNxmMJuOF5_cB1Jz8x8emJoqgqS_8jLeT4Y,31487
8
9
  signalwire_agents/cli/types.py,sha256=U8Abc4Atb5-wMbhM3MjcuIXsbONLOu1ucePWOCgqdco,1810
9
10
  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
11
+ signalwire_agents/cli/core/agent_loader.py,sha256=foX4sYv-ULpxTAJ1n4lRLtsey_UShYy4L3gHfcy5RDs,20051
12
+ signalwire_agents/cli/core/argparse_helpers.py,sha256=5Zr8s_NH-HZ3ecN_lZUHcuEjgh1sBstmo9HVje1Q0E4,7017
12
13
  signalwire_agents/cli/core/dynamic_config.py,sha256=FuB0slymgoDfzcKWXPy_Dy9qprSTn0e1ou7A0Vgwie8,2686
14
+ signalwire_agents/cli/core/service_loader.py,sha256=dwZ8IjCeaXw_sqaAO6rdEWpVZ90_Cs5dRnM04VqIqXo,9984
13
15
  signalwire_agents/cli/execution/__init__.py,sha256=GS9EkXJhhFQjn7NSmxM5JX1Iy7pm6U6rW2BZCk3bxas,223
14
16
  signalwire_agents/cli/execution/datamap_exec.py,sha256=UNQ8gn1KW72YDjegY8SzeZWebZiD-DO6dRLkxia438k,20389
15
17
  signalwire_agents/cli/execution/webhook_exec.py,sha256=m4gIX-MaTG8JngI57qyeWGYDQJwkbJANpvkBwJeJ_7o,4710
16
18
  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/output/output_formatter.py,sha256=tqblCJq29a7AwxrdwvpUuqIyNIiqi5uf0dvjwG57ta4,12210
20
+ signalwire_agents/cli/output/swml_dump.py,sha256=NP9MCFjZr4BOt3xUNlW8N9Bw8ZGAGAudYlaiUIrwRso,6606
19
21
  signalwire_agents/cli/simulation/__init__.py,sha256=YtfbBKujx8SjZqaOtMdgle8FvxzKeD8_pRzeD25ylsU,236
20
22
  signalwire_agents/cli/simulation/data_generation.py,sha256=pxa9aJ6XkI0O8yAIGvBTUU3eBVkJizNx9xW8mHEosTI,11918
21
23
  signalwire_agents/cli/simulation/data_overrides.py,sha256=3_3pT6j-q2gRufPX2bZ1BrmY7u1IdloLooKAJil33vI,6319
22
- signalwire_agents/cli/simulation/mock_env.py,sha256=KA08sRqLDfESn_e1o7S6E4nvzFtvBpvs7f8A12Zf2wc,10141
24
+ signalwire_agents/cli/simulation/mock_env.py,sha256=fvaR_xdLMm8AbpNUbTJOFG9THcti3Zds-0QNDbKMaYk,10249
23
25
  signalwire_agents/core/__init__.py,sha256=xjPq8DmUnWYUG28sd17n430VWPmMH9oZ9W14gYwG96g,806
24
26
  signalwire_agents/core/agent_base.py,sha256=F0dL5bdWY_n3zIz9qVC8jWu3xxNXS6cO3dFW_RCyuro,43951
25
27
  signalwire_agents/core/auth_handler.py,sha256=jXrof9WZ1W9qqlQT9WElcmSRafL2kG7207x5SqWN9MU,8481
@@ -121,9 +123,9 @@ signalwire_agents/utils/pom_utils.py,sha256=4Mr7baQ_xR_hfJ72YxQRAT_GFa663YjFX_Pu
121
123
  signalwire_agents/utils/schema_utils.py,sha256=i4okv_O9bUApwT_jJf4Yoij3bLCrGrW3DC-vzSy2RuY,16392
122
124
  signalwire_agents/utils/token_generators.py,sha256=4Mr7baQ_xR_hfJ72YxQRAT_GFa663YjFX_PumJ35Xds,191
123
125
  signalwire_agents/utils/validators.py,sha256=4Mr7baQ_xR_hfJ72YxQRAT_GFa663YjFX_PumJ35Xds,191
124
- signalwire_agents-0.1.32.dist-info/licenses/LICENSE,sha256=NYvAsB-rTcSvG9cqHt9EUHAWLiA9YzM4Qfz-mPdvDR0,1067
125
- signalwire_agents-0.1.32.dist-info/METADATA,sha256=weKRqyFq6N4mYkFJOr0v5TgGEN-nBjqsxA4cVmnmMn0,38391
126
- signalwire_agents-0.1.32.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
127
- signalwire_agents-0.1.32.dist-info/entry_points.txt,sha256=sfdeRaTSs9J56pqFdcZGRTxQcTuecb8IMx8gqleJ6s0,136
128
- signalwire_agents-0.1.32.dist-info/top_level.txt,sha256=kDGS6ZYv84K9P5Kyg9_S8P_pbUXoHkso0On_DB5bbWc,18
129
- signalwire_agents-0.1.32.dist-info/RECORD,,
126
+ signalwire_agents-0.1.34.dist-info/licenses/LICENSE,sha256=NYvAsB-rTcSvG9cqHt9EUHAWLiA9YzM4Qfz-mPdvDR0,1067
127
+ signalwire_agents-0.1.34.dist-info/METADATA,sha256=XN1XMpvyThK5jcYE09yzjYrsRRLncRhveQybJfGEGJE,38232
128
+ signalwire_agents-0.1.34.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
129
+ signalwire_agents-0.1.34.dist-info/entry_points.txt,sha256=ZDT65zfTO_YyDzi_hwQbCxIhrUfu_t8RpNXMMXlUPWI,144
130
+ signalwire_agents-0.1.34.dist-info/top_level.txt,sha256=kDGS6ZYv84K9P5Kyg9_S8P_pbUXoHkso0On_DB5bbWc,18
131
+ signalwire_agents-0.1.34.dist-info/RECORD,,
@@ -1,3 +1,3 @@
1
1
  [console_scripts]
2
2
  sw-search = signalwire_agents.cli.build_search:console_entry_point
3
- swaig-test = signalwire_agents.cli.test_swaig:main
3
+ swaig-test = signalwire_agents.cli.swaig_test_wrapper:main