signalwire-agents 0.1.31__tar.gz → 0.1.33__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.
Files changed (143) hide show
  1. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/CHANGELOG.md +8 -0
  2. {signalwire_agents-0.1.31/signalwire_agents.egg-info → signalwire_agents-0.1.33}/PKG-INFO +84 -99
  3. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/README.md +83 -98
  4. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/pyproject.toml +2 -2
  5. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/schema.json +148 -241
  6. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/__init__.py +1 -1
  7. signalwire_agents-0.1.33/signalwire_agents/cli/core/agent_loader.py +470 -0
  8. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/cli/core/argparse_helpers.py +7 -1
  9. signalwire_agents-0.1.33/signalwire_agents/cli/core/service_loader.py +303 -0
  10. signalwire_agents-0.1.33/signalwire_agents/cli/output/output_formatter.py +243 -0
  11. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/cli/output/swml_dump.py +13 -13
  12. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/cli/simulation/mock_env.py +2 -0
  13. signalwire_agents-0.1.33/signalwire_agents/cli/swaig_test_wrapper.py +52 -0
  14. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/cli/test_swaig.py +20 -6
  15. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/schema.json +148 -241
  16. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33/signalwire_agents.egg-info}/PKG-INFO +84 -99
  17. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents.egg-info/SOURCES.txt +2 -0
  18. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents.egg-info/entry_points.txt +1 -1
  19. signalwire_agents-0.1.31/signalwire_agents/cli/core/agent_loader.py +0 -263
  20. signalwire_agents-0.1.31/signalwire_agents/cli/output/output_formatter.py +0 -141
  21. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/LICENSE +0 -0
  22. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/requirements-dev.txt +0 -0
  23. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/requirements.txt +0 -0
  24. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/setup.cfg +0 -0
  25. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/setup.py +0 -0
  26. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/agent_server.py +0 -0
  27. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/cli/__init__.py +0 -0
  28. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/cli/build_search.py +0 -0
  29. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/cli/config.py +0 -0
  30. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/cli/core/__init__.py +0 -0
  31. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/cli/core/dynamic_config.py +0 -0
  32. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/cli/execution/__init__.py +0 -0
  33. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/cli/execution/datamap_exec.py +0 -0
  34. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/cli/execution/webhook_exec.py +0 -0
  35. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/cli/output/__init__.py +0 -0
  36. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/cli/simulation/__init__.py +0 -0
  37. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/cli/simulation/data_generation.py +0 -0
  38. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/cli/simulation/data_overrides.py +0 -0
  39. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/cli/types.py +0 -0
  40. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/core/__init__.py +0 -0
  41. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/core/agent/__init__.py +0 -0
  42. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/core/agent/config/__init__.py +0 -0
  43. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/core/agent/deployment/__init__.py +0 -0
  44. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/core/agent/deployment/handlers/__init__.py +0 -0
  45. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/core/agent/prompt/__init__.py +0 -0
  46. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/core/agent/prompt/manager.py +0 -0
  47. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/core/agent/routing/__init__.py +0 -0
  48. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/core/agent/security/__init__.py +0 -0
  49. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/core/agent/swml/__init__.py +0 -0
  50. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/core/agent/tools/__init__.py +0 -0
  51. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/core/agent/tools/decorator.py +0 -0
  52. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/core/agent/tools/registry.py +0 -0
  53. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/core/agent_base.py +0 -0
  54. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/core/auth_handler.py +0 -0
  55. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/core/config_loader.py +0 -0
  56. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/core/contexts.py +0 -0
  57. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/core/data_map.py +0 -0
  58. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/core/function_result.py +0 -0
  59. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/core/logging_config.py +0 -0
  60. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/core/mixins/__init__.py +0 -0
  61. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/core/mixins/ai_config_mixin.py +0 -0
  62. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/core/mixins/auth_mixin.py +0 -0
  63. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/core/mixins/prompt_mixin.py +0 -0
  64. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/core/mixins/serverless_mixin.py +0 -0
  65. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/core/mixins/skill_mixin.py +0 -0
  66. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/core/mixins/state_mixin.py +0 -0
  67. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/core/mixins/tool_mixin.py +0 -0
  68. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/core/mixins/web_mixin.py +0 -0
  69. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/core/pom_builder.py +0 -0
  70. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/core/security/__init__.py +0 -0
  71. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/core/security/session_manager.py +0 -0
  72. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/core/security_config.py +0 -0
  73. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/core/skill_base.py +0 -0
  74. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/core/skill_manager.py +0 -0
  75. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/core/swaig_function.py +0 -0
  76. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/core/swml_builder.py +0 -0
  77. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/core/swml_handler.py +0 -0
  78. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/core/swml_renderer.py +0 -0
  79. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/core/swml_service.py +0 -0
  80. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/prefabs/__init__.py +0 -0
  81. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/prefabs/concierge.py +0 -0
  82. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/prefabs/faq_bot.py +0 -0
  83. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/prefabs/info_gatherer.py +0 -0
  84. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/prefabs/receptionist.py +0 -0
  85. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/prefabs/survey.py +0 -0
  86. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/search/__init__.py +0 -0
  87. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/search/document_processor.py +0 -0
  88. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/search/index_builder.py +0 -0
  89. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/search/query_processor.py +0 -0
  90. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/search/search_engine.py +0 -0
  91. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/search/search_service.py +0 -0
  92. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/skills/README.md +0 -0
  93. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/skills/__init__.py +0 -0
  94. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/skills/api_ninjas_trivia/README.md +0 -0
  95. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/skills/api_ninjas_trivia/__init__.py +0 -0
  96. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/skills/api_ninjas_trivia/skill.py +0 -0
  97. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/skills/datasphere/README.md +0 -0
  98. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/skills/datasphere/__init__.py +0 -0
  99. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/skills/datasphere/skill.py +0 -0
  100. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/skills/datasphere_serverless/README.md +0 -0
  101. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/skills/datasphere_serverless/__init__.py +0 -0
  102. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/skills/datasphere_serverless/skill.py +0 -0
  103. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/skills/datetime/README.md +0 -0
  104. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/skills/datetime/__init__.py +0 -0
  105. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/skills/datetime/skill.py +0 -0
  106. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/skills/joke/README.md +0 -0
  107. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/skills/joke/__init__.py +0 -0
  108. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/skills/joke/skill.py +0 -0
  109. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/skills/math/README.md +0 -0
  110. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/skills/math/__init__.py +0 -0
  111. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/skills/math/skill.py +0 -0
  112. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/skills/mcp_gateway/README.md +0 -0
  113. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/skills/mcp_gateway/__init__.py +0 -0
  114. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/skills/mcp_gateway/skill.py +0 -0
  115. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/skills/native_vector_search/__init__.py +0 -0
  116. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/skills/native_vector_search/skill.py +0 -0
  117. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/skills/play_background_file/README.md +0 -0
  118. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/skills/play_background_file/__init__.py +0 -0
  119. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/skills/play_background_file/skill.py +0 -0
  120. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/skills/registry.py +0 -0
  121. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/skills/spider/README.md +0 -0
  122. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/skills/spider/__init__.py +0 -0
  123. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/skills/spider/skill.py +0 -0
  124. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/skills/swml_transfer/README.md +0 -0
  125. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/skills/swml_transfer/__init__.py +0 -0
  126. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/skills/swml_transfer/skill.py +0 -0
  127. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/skills/weather_api/README.md +0 -0
  128. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/skills/weather_api/__init__.py +0 -0
  129. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/skills/weather_api/skill.py +0 -0
  130. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/skills/web_search/README.md +0 -0
  131. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/skills/web_search/__init__.py +0 -0
  132. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/skills/web_search/skill.py +0 -0
  133. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/skills/wikipedia_search/README.md +0 -0
  134. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/skills/wikipedia_search/__init__.py +0 -0
  135. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/skills/wikipedia_search/skill.py +0 -0
  136. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/utils/__init__.py +0 -0
  137. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/utils/pom_utils.py +0 -0
  138. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/utils/schema_utils.py +0 -0
  139. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/utils/token_generators.py +0 -0
  140. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents/utils/validators.py +0 -0
  141. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents.egg-info/dependency_links.txt +0 -0
  142. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents.egg-info/requires.txt +0 -0
  143. {signalwire_agents-0.1.31 → signalwire_agents-0.1.33}/signalwire_agents.egg-info/top_level.txt +0 -0
@@ -1,5 +1,13 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.1.33] - 2025-06-24
4
+
5
+ - Version bump
6
+
7
+ ## [0.1.32] - 2025-06-24
8
+
9
+ - Version bump
10
+
3
11
  ## [0.1.31] - 2025-06-24
4
12
 
5
13
  - Version bump
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: signalwire_agents
3
- Version: 0.1.31
3
+ Version: 0.1.33
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
@@ -24,12 +24,16 @@
24
24
  <img src="https://img.shields.io/github/stars/signalwire/signalwire-agents" alt="GitHub Stars" href="https://github.com/signalwire/docs"/>
25
25
  </div>
26
26
 
27
+ <br/>
28
+
29
+ <img src="https://github.com/user-attachments/assets/c2510c86-ae03-42a9-be06-ab9bcea948e1" alt="Sign Up" href="https://signalwire.com/signup" height="65"/>
30
+
27
31
  </div>
28
32
 
29
33
  ## Features
30
34
 
31
35
  | | |
32
- |-------------------------------|-----------------------------------------------------------------------------|
36
+ |-------------------------------|:-----------------------------------------------------------------------------:|
33
37
  | 🤖 **Self-Contained Agents** | Each agent is both a web app and an AI persona |
34
38
  | 📝 **Prompt Object Model** | Structured prompt composition using POM |
35
39
  | ⚙️ **SWAIG Integration** | Easily define and handle AI tools/functions |
@@ -43,24 +47,84 @@
43
47
  | � **Modular Skills System** | Add capabilities to agents with simple one-liner calls |
44
48
  | 🔍 **Local Search System** | Offline document search with vector similarity and keyword search |
45
49
 
46
- <picture>
47
- <source
48
- media="(prefers-color-scheme: dark)"
49
- srcset="
50
- https://api.star-history.com/svg?repos=signalwire/signalwire-agents&type=Date&theme=dark
51
- "
52
- />
53
- <source
54
- media="(prefers-color-scheme: light)"
55
- srcset="
56
- https://api.star-history.com/svg?repos=signalwire/signalwire-agents&type=Date
57
- "
58
- />
59
- <img
60
- alt="Star History Chart"
61
- src="https://api.star-history.com/svg?repos=signalwire/signalwire-agents&type=Date"
62
- />
63
- </picture>
50
+ ## Installation
51
+
52
+ ### Basic Installation
53
+
54
+ ```bash
55
+ pip install signalwire-agents
56
+ ```
57
+
58
+ ### Optional Search Functionality
59
+
60
+ The SDK includes optional local search capabilities that can be installed separately to avoid adding large dependencies to the base installation:
61
+
62
+ #### Search Installation Options
63
+
64
+ ```bash
65
+ # Query existing .swsearch files only (smallest footprint)
66
+ pip install signalwire-agents[search-queryonly]
67
+
68
+ # Basic search (vector search + keyword search + building indexes)
69
+ pip install signalwire-agents[search]
70
+
71
+ # Full search with document processing (PDF, DOCX, etc.)
72
+ pip install signalwire-agents[search-full]
73
+
74
+ # Advanced NLP features (includes spaCy)
75
+ pip install signalwire-agents[search-nlp]
76
+
77
+ # All search features
78
+ pip install signalwire-agents[search-all]
79
+ ```
80
+
81
+ #### What Each Option Includes
82
+
83
+ | Option | Size | Features |
84
+ |--------|------|----------|
85
+ | `search-queryonly` | ~400MB | Query existing .swsearch files only (no building/processing) |
86
+ | `search` | ~500MB | Vector embeddings, keyword search, basic text processing |
87
+ | `search-full` | ~600MB | + PDF, DOCX, Excel, PowerPoint, HTML, Markdown processing |
88
+ | `search-nlp` | ~600MB | + Advanced spaCy NLP features |
89
+ | `search-all` | ~700MB | All search features combined |
90
+
91
+ **When to use `search-queryonly`:**
92
+ - Production containers with pre-built `.swsearch` files
93
+ - Lambda/serverless deployments
94
+ - Agents that only need to query knowledge bases (not build them)
95
+ - Smaller deployment footprint requirements
96
+
97
+ #### Search Features
98
+
99
+ - **Local/Offline Search**: No external API dependencies
100
+ - **Hybrid Search**: Vector similarity + keyword search
101
+ - **Smart Document Processing**: Markdown, Python, PDF, DOCX, etc.
102
+ - **Multiple Languages**: English, Spanish, with extensible framework
103
+ - **CLI Tools**: Build search indexes from document directories
104
+ - **HTTP API**: Standalone or embedded search service
105
+
106
+ #### Usage Example
107
+
108
+ ```python
109
+ # Only available with search extras installed
110
+ from signalwire_agents.search import IndexBuilder, SearchEngine
111
+
112
+ # Build search index
113
+ builder = IndexBuilder()
114
+ builder.build_index(
115
+ source_dir="./docs",
116
+ output_file="knowledge.swsearch",
117
+ file_types=['md', 'txt', 'pdf']
118
+ )
119
+
120
+ # Search documents
121
+ engine = SearchEngine("knowledge.swsearch")
122
+ results = engine.search(
123
+ query_vector=embeddings,
124
+ enhanced_text="search query",
125
+ count=5
126
+ )
127
+ ```
64
128
 
65
129
  <details>
66
130
  <summary><h2>Documentation</h2></summary>
@@ -455,85 +519,6 @@ agent.serve()
455
519
 
456
520
  For detailed documentation and advanced examples, see [Contexts and Steps Guide](docs/contexts_guide.md).
457
521
 
458
- ### Installation
459
-
460
- #### Basic Installation
461
-
462
- ```bash
463
- pip install signalwire-agents
464
- ```
465
-
466
- #### Optional Search Functionality
467
-
468
- The SDK includes optional local search capabilities that can be installed separately to avoid adding large dependencies to the base installation:
469
-
470
- ##### Search Installation Options
471
-
472
- ```bash
473
- # Query existing .swsearch files only (smallest footprint)
474
- pip install signalwire-agents[search-queryonly]
475
-
476
- # Basic search (vector search + keyword search + building indexes)
477
- pip install signalwire-agents[search]
478
-
479
- # Full search with document processing (PDF, DOCX, etc.)
480
- pip install signalwire-agents[search-full]
481
-
482
- # Advanced NLP features (includes spaCy)
483
- pip install signalwire-agents[search-nlp]
484
-
485
- # All search features
486
- pip install signalwire-agents[search-all]
487
- ```
488
-
489
- ##### What Each Option Includes
490
-
491
- | Option | Size | Features |
492
- |--------|------|----------|
493
- | `search-queryonly` | ~400MB | Query existing .swsearch files only (no building/processing) |
494
- | `search` | ~500MB | Vector embeddings, keyword search, basic text processing |
495
- | `search-full` | ~600MB | + PDF, DOCX, Excel, PowerPoint, HTML, Markdown processing |
496
- | `search-nlp` | ~600MB | + Advanced spaCy NLP features |
497
- | `search-all` | ~700MB | All search features combined |
498
-
499
- **When to use `search-queryonly`:**
500
- - Production containers with pre-built `.swsearch` files
501
- - Lambda/serverless deployments
502
- - Agents that only need to query knowledge bases (not build them)
503
- - Smaller deployment footprint requirements
504
-
505
- ##### Search Features
506
-
507
- - **Local/Offline Search**: No external API dependencies
508
- - **Hybrid Search**: Vector similarity + keyword search
509
- - **Smart Document Processing**: Markdown, Python, PDF, DOCX, etc.
510
- - **Multiple Languages**: English, Spanish, with extensible framework
511
- - **CLI Tools**: Build search indexes from document directories
512
- - **HTTP API**: Standalone or embedded search service
513
-
514
- ##### Usage Example
515
-
516
- ```python
517
- # Only available with search extras installed
518
- from signalwire_agents.search import IndexBuilder, SearchEngine
519
-
520
- # Build search index
521
- builder = IndexBuilder()
522
- builder.build_index(
523
- source_dir="./docs",
524
- output_file="knowledge.swsearch",
525
- file_types=['md', 'txt', 'pdf']
526
- )
527
-
528
- # Search documents
529
- engine = SearchEngine("knowledge.swsearch")
530
- results = engine.search(
531
- query_vector=embeddings,
532
- enhanced_text="search query",
533
- count=5
534
- )
535
- ```
536
-
537
522
  ### Quick Start
538
523
 
539
524
  ```python
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "signalwire_agents"
7
- version = "0.1.31"
7
+ version = "0.1.33"
8
8
  description = "SignalWire AI Agents SDK"
9
9
  authors = [
10
10
  {name = "SignalWire Team", email = "info@signalwire.com"}
@@ -101,7 +101,7 @@ search-all = [
101
101
  Homepage = "https://github.com/signalwire/signalwire-agents"
102
102
 
103
103
  [project.scripts]
104
- swaig-test = "signalwire_agents.cli.test_swaig:main"
104
+ swaig-test = "signalwire_agents.cli.swaig_test_wrapper:main"
105
105
  sw-search = "signalwire_agents.cli.build_search:console_entry_point"
106
106
 
107
107
  [tool.setuptools]