signalwire-agents 0.1.6__py3-none-any.whl → 1.0.7__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- signalwire_agents/__init__.py +130 -4
- signalwire_agents/agent_server.py +438 -32
- signalwire_agents/agents/bedrock.py +296 -0
- signalwire_agents/cli/__init__.py +18 -0
- signalwire_agents/cli/build_search.py +1367 -0
- signalwire_agents/cli/config.py +80 -0
- signalwire_agents/cli/core/__init__.py +10 -0
- signalwire_agents/cli/core/agent_loader.py +470 -0
- signalwire_agents/cli/core/argparse_helpers.py +179 -0
- signalwire_agents/cli/core/dynamic_config.py +71 -0
- signalwire_agents/cli/core/service_loader.py +303 -0
- signalwire_agents/cli/execution/__init__.py +10 -0
- signalwire_agents/cli/execution/datamap_exec.py +446 -0
- signalwire_agents/cli/execution/webhook_exec.py +134 -0
- signalwire_agents/cli/init_project.py +1225 -0
- signalwire_agents/cli/output/__init__.py +10 -0
- signalwire_agents/cli/output/output_formatter.py +255 -0
- signalwire_agents/cli/output/swml_dump.py +186 -0
- signalwire_agents/cli/simulation/__init__.py +10 -0
- signalwire_agents/cli/simulation/data_generation.py +374 -0
- signalwire_agents/cli/simulation/data_overrides.py +200 -0
- signalwire_agents/cli/simulation/mock_env.py +282 -0
- signalwire_agents/cli/swaig_test_wrapper.py +52 -0
- signalwire_agents/cli/test_swaig.py +809 -0
- signalwire_agents/cli/types.py +81 -0
- signalwire_agents/core/__init__.py +2 -2
- signalwire_agents/core/agent/__init__.py +12 -0
- signalwire_agents/core/agent/config/__init__.py +12 -0
- signalwire_agents/core/agent/deployment/__init__.py +9 -0
- signalwire_agents/core/agent/deployment/handlers/__init__.py +9 -0
- signalwire_agents/core/agent/prompt/__init__.py +14 -0
- signalwire_agents/core/agent/prompt/manager.py +306 -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/agent/tools/__init__.py +15 -0
- signalwire_agents/core/agent/tools/decorator.py +97 -0
- signalwire_agents/core/agent/tools/registry.py +210 -0
- signalwire_agents/core/agent_base.py +959 -2166
- signalwire_agents/core/auth_handler.py +233 -0
- signalwire_agents/core/config_loader.py +259 -0
- signalwire_agents/core/contexts.py +707 -0
- signalwire_agents/core/data_map.py +487 -0
- signalwire_agents/core/function_result.py +1150 -1
- signalwire_agents/core/logging_config.py +376 -0
- signalwire_agents/core/mixins/__init__.py +28 -0
- signalwire_agents/core/mixins/ai_config_mixin.py +442 -0
- signalwire_agents/core/mixins/auth_mixin.py +287 -0
- signalwire_agents/core/mixins/prompt_mixin.py +358 -0
- signalwire_agents/core/mixins/serverless_mixin.py +368 -0
- signalwire_agents/core/mixins/skill_mixin.py +55 -0
- signalwire_agents/core/mixins/state_mixin.py +153 -0
- signalwire_agents/core/mixins/tool_mixin.py +230 -0
- signalwire_agents/core/mixins/web_mixin.py +1134 -0
- signalwire_agents/core/security/session_manager.py +174 -86
- signalwire_agents/core/security_config.py +333 -0
- signalwire_agents/core/skill_base.py +200 -0
- signalwire_agents/core/skill_manager.py +244 -0
- signalwire_agents/core/swaig_function.py +33 -9
- signalwire_agents/core/swml_builder.py +212 -12
- signalwire_agents/core/swml_handler.py +43 -13
- signalwire_agents/core/swml_renderer.py +123 -297
- signalwire_agents/core/swml_service.py +277 -260
- signalwire_agents/prefabs/concierge.py +6 -2
- signalwire_agents/prefabs/info_gatherer.py +149 -33
- signalwire_agents/prefabs/receptionist.py +14 -22
- signalwire_agents/prefabs/survey.py +6 -2
- signalwire_agents/schema.json +9218 -5489
- signalwire_agents/search/__init__.py +137 -0
- signalwire_agents/search/document_processor.py +1223 -0
- signalwire_agents/search/index_builder.py +804 -0
- signalwire_agents/search/migration.py +418 -0
- signalwire_agents/search/models.py +30 -0
- signalwire_agents/search/pgvector_backend.py +752 -0
- signalwire_agents/search/query_processor.py +502 -0
- signalwire_agents/search/search_engine.py +1264 -0
- signalwire_agents/search/search_service.py +574 -0
- signalwire_agents/skills/README.md +452 -0
- signalwire_agents/skills/__init__.py +23 -0
- signalwire_agents/skills/api_ninjas_trivia/README.md +215 -0
- signalwire_agents/skills/api_ninjas_trivia/__init__.py +12 -0
- signalwire_agents/skills/api_ninjas_trivia/skill.py +237 -0
- signalwire_agents/skills/datasphere/README.md +210 -0
- signalwire_agents/skills/datasphere/__init__.py +12 -0
- signalwire_agents/skills/datasphere/skill.py +310 -0
- signalwire_agents/skills/datasphere_serverless/README.md +258 -0
- signalwire_agents/skills/datasphere_serverless/__init__.py +10 -0
- signalwire_agents/skills/datasphere_serverless/skill.py +237 -0
- signalwire_agents/skills/datetime/README.md +132 -0
- signalwire_agents/skills/datetime/__init__.py +10 -0
- signalwire_agents/skills/datetime/skill.py +126 -0
- signalwire_agents/skills/joke/README.md +149 -0
- signalwire_agents/skills/joke/__init__.py +10 -0
- signalwire_agents/skills/joke/skill.py +109 -0
- signalwire_agents/skills/math/README.md +161 -0
- signalwire_agents/skills/math/__init__.py +10 -0
- signalwire_agents/skills/math/skill.py +105 -0
- signalwire_agents/skills/mcp_gateway/README.md +230 -0
- signalwire_agents/skills/mcp_gateway/__init__.py +10 -0
- signalwire_agents/skills/mcp_gateway/skill.py +421 -0
- signalwire_agents/skills/native_vector_search/README.md +210 -0
- signalwire_agents/skills/native_vector_search/__init__.py +10 -0
- signalwire_agents/skills/native_vector_search/skill.py +820 -0
- signalwire_agents/skills/play_background_file/README.md +218 -0
- signalwire_agents/skills/play_background_file/__init__.py +12 -0
- signalwire_agents/skills/play_background_file/skill.py +242 -0
- signalwire_agents/skills/registry.py +459 -0
- signalwire_agents/skills/spider/README.md +236 -0
- signalwire_agents/skills/spider/__init__.py +13 -0
- signalwire_agents/skills/spider/skill.py +598 -0
- signalwire_agents/skills/swml_transfer/README.md +395 -0
- signalwire_agents/skills/swml_transfer/__init__.py +10 -0
- signalwire_agents/skills/swml_transfer/skill.py +359 -0
- signalwire_agents/skills/weather_api/README.md +178 -0
- signalwire_agents/skills/weather_api/__init__.py +12 -0
- signalwire_agents/skills/weather_api/skill.py +191 -0
- signalwire_agents/skills/web_search/README.md +163 -0
- signalwire_agents/skills/web_search/__init__.py +10 -0
- signalwire_agents/skills/web_search/skill.py +739 -0
- signalwire_agents/skills/wikipedia_search/README.md +228 -0
- signalwire_agents/{core/state → skills/wikipedia_search}/__init__.py +5 -4
- signalwire_agents/skills/wikipedia_search/skill.py +210 -0
- signalwire_agents/utils/__init__.py +14 -0
- signalwire_agents/utils/schema_utils.py +111 -44
- signalwire_agents/web/__init__.py +17 -0
- signalwire_agents/web/web_service.py +559 -0
- signalwire_agents-1.0.7.data/data/share/man/man1/sw-agent-init.1 +307 -0
- signalwire_agents-1.0.7.data/data/share/man/man1/sw-search.1 +483 -0
- signalwire_agents-1.0.7.data/data/share/man/man1/swaig-test.1 +308 -0
- signalwire_agents-1.0.7.dist-info/METADATA +992 -0
- signalwire_agents-1.0.7.dist-info/RECORD +142 -0
- {signalwire_agents-0.1.6.dist-info → signalwire_agents-1.0.7.dist-info}/WHEEL +1 -1
- signalwire_agents-1.0.7.dist-info/entry_points.txt +4 -0
- signalwire_agents/core/state/file_state_manager.py +0 -219
- signalwire_agents/core/state/state_manager.py +0 -101
- signalwire_agents-0.1.6.data/data/schema.json +0 -5611
- signalwire_agents-0.1.6.dist-info/METADATA +0 -199
- signalwire_agents-0.1.6.dist-info/RECORD +0 -34
- {signalwire_agents-0.1.6.dist-info → signalwire_agents-1.0.7.dist-info}/licenses/LICENSE +0 -0
- {signalwire_agents-0.1.6.dist-info → signalwire_agents-1.0.7.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,137 @@
|
|
|
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
|
+
|
|
10
|
+
"""SignalWire Agents Local Search Module
|
|
11
|
+
|
|
12
|
+
This module provides local search capabilities for the SignalWire Agents SDK.
|
|
13
|
+
It requires additional dependencies that can be installed with:
|
|
14
|
+
|
|
15
|
+
pip install signalwire-agents[search] # Basic search
|
|
16
|
+
pip install signalwire-agents[search-full] # + Document processing
|
|
17
|
+
pip install signalwire-agents[search-nlp] # + Advanced NLP
|
|
18
|
+
pip install signalwire-agents[search-all] # All features
|
|
19
|
+
"""
|
|
20
|
+
|
|
21
|
+
import warnings
|
|
22
|
+
|
|
23
|
+
# Check for core search dependencies
|
|
24
|
+
_SEARCH_AVAILABLE = True
|
|
25
|
+
_MISSING_DEPS = []
|
|
26
|
+
|
|
27
|
+
try:
|
|
28
|
+
import numpy
|
|
29
|
+
except ImportError:
|
|
30
|
+
_SEARCH_AVAILABLE = False
|
|
31
|
+
_MISSING_DEPS.append('numpy')
|
|
32
|
+
|
|
33
|
+
try:
|
|
34
|
+
import sklearn
|
|
35
|
+
except ImportError:
|
|
36
|
+
_SEARCH_AVAILABLE = False
|
|
37
|
+
_MISSING_DEPS.append('scikit-learn')
|
|
38
|
+
|
|
39
|
+
try:
|
|
40
|
+
import sentence_transformers
|
|
41
|
+
except ImportError:
|
|
42
|
+
_SEARCH_AVAILABLE = False
|
|
43
|
+
_MISSING_DEPS.append('sentence-transformers')
|
|
44
|
+
|
|
45
|
+
try:
|
|
46
|
+
import nltk
|
|
47
|
+
except ImportError:
|
|
48
|
+
_SEARCH_AVAILABLE = False
|
|
49
|
+
_MISSING_DEPS.append('nltk')
|
|
50
|
+
|
|
51
|
+
def _check_search_dependencies():
|
|
52
|
+
"""Check if search dependencies are available and provide helpful error message"""
|
|
53
|
+
if not _SEARCH_AVAILABLE:
|
|
54
|
+
missing = ', '.join(_MISSING_DEPS)
|
|
55
|
+
raise ImportError(
|
|
56
|
+
f"Search functionality requires additional dependencies: {missing}\n"
|
|
57
|
+
f"Install with: pip install signalwire-agents[search]\n"
|
|
58
|
+
f"For full features: pip install signalwire-agents[search-all]"
|
|
59
|
+
)
|
|
60
|
+
|
|
61
|
+
# Conditional imports based on available dependencies
|
|
62
|
+
__all__ = []
|
|
63
|
+
|
|
64
|
+
if _SEARCH_AVAILABLE:
|
|
65
|
+
try:
|
|
66
|
+
from .query_processor import preprocess_query, preprocess_document_content
|
|
67
|
+
from .document_processor import DocumentProcessor
|
|
68
|
+
from .index_builder import IndexBuilder
|
|
69
|
+
from .search_engine import SearchEngine
|
|
70
|
+
from .search_service import SearchService
|
|
71
|
+
from .models import MODEL_ALIASES, DEFAULT_MODEL, resolve_model_alias
|
|
72
|
+
from .migration import SearchIndexMigrator
|
|
73
|
+
|
|
74
|
+
__all__ = [
|
|
75
|
+
'preprocess_query',
|
|
76
|
+
'preprocess_document_content',
|
|
77
|
+
'DocumentProcessor',
|
|
78
|
+
'IndexBuilder',
|
|
79
|
+
'SearchEngine',
|
|
80
|
+
'SearchService',
|
|
81
|
+
'MODEL_ALIASES',
|
|
82
|
+
'DEFAULT_MODEL',
|
|
83
|
+
'resolve_model_alias',
|
|
84
|
+
'SearchIndexMigrator'
|
|
85
|
+
]
|
|
86
|
+
except ImportError as e:
|
|
87
|
+
# Some search components failed to import
|
|
88
|
+
warnings.warn(
|
|
89
|
+
f"Some search components failed to import: {e}\n"
|
|
90
|
+
f"For full search functionality, install: pip install signalwire-agents[search-all]",
|
|
91
|
+
ImportWarning
|
|
92
|
+
)
|
|
93
|
+
|
|
94
|
+
# Try to import what we can
|
|
95
|
+
try:
|
|
96
|
+
from .query_processor import preprocess_query, preprocess_document_content
|
|
97
|
+
__all__.extend(['preprocess_query', 'preprocess_document_content'])
|
|
98
|
+
except ImportError:
|
|
99
|
+
pass
|
|
100
|
+
|
|
101
|
+
try:
|
|
102
|
+
from .document_processor import DocumentProcessor
|
|
103
|
+
__all__.append('DocumentProcessor')
|
|
104
|
+
except ImportError:
|
|
105
|
+
pass
|
|
106
|
+
else:
|
|
107
|
+
# Provide stub functions that give helpful error messages
|
|
108
|
+
def preprocess_query(*args, **kwargs):
|
|
109
|
+
_check_search_dependencies()
|
|
110
|
+
|
|
111
|
+
def preprocess_document_content(*args, **kwargs):
|
|
112
|
+
_check_search_dependencies()
|
|
113
|
+
|
|
114
|
+
class DocumentProcessor:
|
|
115
|
+
def __init__(self, *args, **kwargs):
|
|
116
|
+
_check_search_dependencies()
|
|
117
|
+
|
|
118
|
+
class IndexBuilder:
|
|
119
|
+
def __init__(self, *args, **kwargs):
|
|
120
|
+
_check_search_dependencies()
|
|
121
|
+
|
|
122
|
+
class SearchEngine:
|
|
123
|
+
def __init__(self, *args, **kwargs):
|
|
124
|
+
_check_search_dependencies()
|
|
125
|
+
|
|
126
|
+
class SearchService:
|
|
127
|
+
def __init__(self, *args, **kwargs):
|
|
128
|
+
_check_search_dependencies()
|
|
129
|
+
|
|
130
|
+
__all__ = [
|
|
131
|
+
'preprocess_query',
|
|
132
|
+
'preprocess_document_content',
|
|
133
|
+
'DocumentProcessor',
|
|
134
|
+
'IndexBuilder',
|
|
135
|
+
'SearchEngine',
|
|
136
|
+
'SearchService'
|
|
137
|
+
]
|