signalwire-sdk 3.0.2.dev60__tar.gz → 3.0.2.dev62__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {signalwire_sdk-3.0.2.dev60/signalwire/signalwire_sdk.egg-info → signalwire_sdk-3.0.2.dev62}/PKG-INFO +1 -1
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/pyproject.toml +6 -2
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/__init__.py +57 -25
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/agent_server.py +274 -198
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/agents/bedrock.py +87 -79
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/cli/__init__.py +1 -3
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/cli/build_search.py +595 -424
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/cli/config.py +1 -1
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/cli/core/__init__.py +1 -1
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/cli/core/agent_loader.py +208 -148
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/cli/core/argparse_helpers.py +72 -52
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/cli/core/dynamic_config.py +18 -14
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/cli/core/service_loader.py +95 -78
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/cli/dokku.py +187 -163
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/cli/execution/__init__.py +1 -1
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/cli/execution/datamap_exec.py +166 -110
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/cli/execution/webhook_exec.py +31 -28
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/cli/init_project.py +367 -298
- signalwire_sdk-3.0.2.dev62/signalwire/signalwire/cli/output/__init__.py +10 -0
- signalwire_sdk-3.0.2.dev62/signalwire/signalwire/cli/output/output_formatter.py +318 -0
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/cli/output/swml_dump.py +46 -37
- signalwire_sdk-3.0.2.dev62/signalwire/signalwire/cli/simulation/__init__.py +10 -0
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/cli/simulation/data_generation.py +76 -98
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/cli/simulation/data_overrides.py +61 -58
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/cli/simulation/mock_env.py +113 -92
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/cli/swaig_test_wrapper.py +19 -15
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/cli/test_swaig.py +251 -219
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/cli/types.py +8 -4
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/core/__init__.py +7 -9
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/core/agent/__init__.py +1 -1
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/core/agent/config/__init__.py +1 -1
- {signalwire_sdk-3.0.2.dev60/signalwire/signalwire/core/agent/security → signalwire_sdk-3.0.2.dev62/signalwire/signalwire/core/agent/deployment/handlers}/__init__.py +0 -1
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/core/agent/prompt/__init__.py +3 -3
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/core/agent/prompt/manager.py +75 -77
- {signalwire_sdk-3.0.2.dev60/signalwire/signalwire/core/agent/deployment/handlers → signalwire_sdk-3.0.2.dev62/signalwire/signalwire/core/agent/routing}/__init__.py +0 -1
- {signalwire_sdk-3.0.2.dev60/signalwire/signalwire/core/agent/routing → signalwire_sdk-3.0.2.dev62/signalwire/signalwire/core/agent/security}/__init__.py +0 -1
- signalwire_sdk-3.0.2.dev62/signalwire/signalwire/core/agent/swml/__init__.py +8 -0
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/core/agent/tools/__init__.py +8 -3
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/core/agent/tools/decorator.py +24 -12
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/core/agent/tools/registry.py +47 -34
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/core/agent/tools/type_inference.py +33 -10
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/core/agent_base.py +562 -394
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/core/auth_handler.py +113 -103
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/core/config_loader.py +72 -70
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/core/contexts.py +254 -204
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/core/data_map.py +142 -126
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/core/function_result.py +390 -367
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/core/logging_config.py +54 -37
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/core/mixins/__init__.py +9 -9
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/core/mixins/ai_config_mixin.py +138 -120
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/core/mixins/auth_mixin.py +91 -77
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/core/mixins/mcp_server_mixin.py +22 -34
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/core/mixins/prompt_mixin.py +108 -105
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/core/mixins/serverless_mixin.py +168 -98
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/core/mixins/skill_mixin.py +26 -15
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/core/mixins/state_mixin.py +65 -50
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/core/mixins/tool_mixin.py +73 -53
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/core/mixins/web_mixin.py +368 -269
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/core/pom_builder.py +69 -58
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/core/security/__init__.py +10 -0
- signalwire_sdk-3.0.2.dev62/signalwire/signalwire/core/security/security_utils.py +89 -0
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/core/security/session_manager.py +72 -60
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/core/security/webhook_validator.py +8 -7
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/core/security_config.py +162 -140
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/core/skill_base.py +47 -44
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/core/skill_manager.py +83 -53
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/core/swaig_function.py +41 -36
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/core/swml_builder.py +119 -97
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/core/swml_handler.py +63 -59
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/core/swml_renderer.py +47 -53
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/core/swml_service.py +479 -325
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/livewire/__init__.py +24 -19
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/livewire/plugins.py +4 -2
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/mcp_gateway/__init__.py +7 -9
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/mcp_gateway/gateway_service.py +245 -204
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/mcp_gateway/mcp_manager.py +181 -142
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/mcp_gateway/session_manager.py +101 -65
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/pom/__init__.py +0 -2
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/pom/pom.py +203 -148
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/pom/pom_tool.py +30 -23
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/prefabs/__init__.py +1 -3
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/prefabs/concierge.py +80 -82
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/prefabs/faq_bot.py +82 -96
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/prefabs/info_gatherer.py +108 -107
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/prefabs/receptionist.py +80 -105
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/prefabs/survey.py +119 -127
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/relay/call.py +152 -69
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/relay/client.py +79 -39
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/relay/message.py +9 -3
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/rest/__init__.py +0 -2
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/rest/_base.py +10 -8
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/rest/_pagination.py +1 -0
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/rest/call_handler.py +0 -2
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/rest/client.py +0 -2
- signalwire_sdk-3.0.2.dev62/signalwire/signalwire/rest/namespaces/__init__.py +8 -0
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/rest/namespaces/addresses.py +0 -2
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/rest/namespaces/calling.py +0 -2
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/rest/namespaces/chat.py +0 -2
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/rest/namespaces/compat.py +15 -7
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/rest/namespaces/datasphere.py +0 -2
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/rest/namespaces/fabric.py +17 -7
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/rest/namespaces/imported_numbers.py +0 -2
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/rest/namespaces/logs.py +0 -2
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/rest/namespaces/lookup.py +0 -2
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/rest/namespaces/mfa.py +0 -2
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/rest/namespaces/number_groups.py +6 -4
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/rest/namespaces/phone_numbers.py +3 -3
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/rest/namespaces/project.py +0 -2
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/rest/namespaces/pubsub.py +0 -2
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/rest/namespaces/queues.py +0 -2
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/rest/namespaces/recordings.py +0 -2
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/rest/namespaces/registry.py +0 -2
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/rest/namespaces/short_codes.py +0 -2
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/rest/namespaces/sip_profile.py +0 -2
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/rest/namespaces/verified_callers.py +0 -2
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/rest/namespaces/video.py +9 -5
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/search/__init__.py +45 -40
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/search/document_processor.py +818 -535
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/search/index_builder.py +352 -258
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/search/migration.py +217 -167
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/search/models.py +8 -7
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/search/pgvector_backend.py +411 -285
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/search/query_processor.py +352 -140
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/search/search_engine.py +714 -492
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/search/search_service.py +230 -178
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/skills/__init__.py +1 -3
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/skills/api_ninjas_trivia/__init__.py +1 -1
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/skills/api_ninjas_trivia/skill.py +74 -67
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/skills/claude_skills/skill.py +151 -120
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/skills/datasphere/__init__.py +1 -1
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/skills/datasphere/skill.py +169 -150
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/skills/datasphere_serverless/__init__.py +1 -1
- signalwire_sdk-3.0.2.dev62/signalwire/signalwire/skills/datasphere_serverless/skill.py +264 -0
- {signalwire_sdk-3.0.2.dev60/signalwire/signalwire/cli/output → signalwire_sdk-3.0.2.dev62/signalwire/signalwire/skills/datetime}/__init__.py +1 -1
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/skills/datetime/skill.py +31 -30
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/skills/google_maps/skill.py +177 -116
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/skills/info_gatherer/skill.py +52 -48
- signalwire_sdk-3.0.2.dev62/signalwire/signalwire/skills/joke/__init__.py +10 -0
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/skills/joke/skill.py +62 -47
- signalwire_sdk-3.0.2.dev62/signalwire/signalwire/skills/math/__init__.py +10 -0
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/skills/math/skill.py +29 -25
- signalwire_sdk-3.0.2.dev62/signalwire/signalwire/skills/mcp_gateway/__init__.py +10 -0
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/skills/mcp_gateway/skill.py +242 -209
- {signalwire_sdk-3.0.2.dev60/signalwire/signalwire/core/agent/deployment → signalwire_sdk-3.0.2.dev62/signalwire/signalwire/skills/native_vector_search}/__init__.py +1 -0
- signalwire_sdk-3.0.2.dev62/signalwire/signalwire/skills/native_vector_search/skill.py +901 -0
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/skills/play_background_file/__init__.py +1 -1
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/skills/play_background_file/skill.py +97 -91
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/skills/registry.py +172 -114
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/skills/spider/__init__.py +3 -2
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/skills/spider/skill.py +324 -283
- signalwire_sdk-3.0.2.dev62/signalwire/signalwire/skills/swml_transfer/__init__.py +10 -0
- signalwire_sdk-3.0.2.dev62/signalwire/signalwire/skills/swml_transfer/skill.py +376 -0
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/skills/weather_api/__init__.py +1 -1
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/skills/weather_api/skill.py +67 -63
- {signalwire_sdk-3.0.2.dev60/signalwire/signalwire/cli/simulation → signalwire_sdk-3.0.2.dev62/signalwire/signalwire/skills/web_search}/__init__.py +1 -1
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/skills/web_search/skill.py +469 -295
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/skills/web_search/skill_improved.py +271 -172
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/skills/web_search/skill_original.py +149 -133
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/skills/wikipedia_search/__init__.py +1 -3
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/skills/wikipedia_search/skill.py +80 -70
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/utils/__init__.py +3 -2
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/utils/pom_utils.py +0 -1
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/utils/schema_utils.py +133 -98
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/utils/token_generators.py +0 -1
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/utils/url_validator.py +20 -14
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/utils/validators.py +0 -1
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/web/__init__.py +2 -3
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/web/web_service.py +205 -168
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62/signalwire/signalwire_sdk.egg-info}/PKG-INFO +1 -1
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire_sdk.egg-info/SOURCES.txt +1 -0
- signalwire_sdk-3.0.2.dev60/signalwire/signalwire/cli/output/output_formatter.py +0 -255
- signalwire_sdk-3.0.2.dev60/signalwire/signalwire/core/agent/swml/__init__.py +0 -9
- signalwire_sdk-3.0.2.dev60/signalwire/signalwire/skills/datasphere_serverless/skill.py +0 -238
- signalwire_sdk-3.0.2.dev60/signalwire/signalwire/skills/datetime/__init__.py +0 -10
- signalwire_sdk-3.0.2.dev60/signalwire/signalwire/skills/joke/__init__.py +0 -10
- signalwire_sdk-3.0.2.dev60/signalwire/signalwire/skills/math/__init__.py +0 -10
- signalwire_sdk-3.0.2.dev60/signalwire/signalwire/skills/mcp_gateway/__init__.py +0 -10
- signalwire_sdk-3.0.2.dev60/signalwire/signalwire/skills/native_vector_search/__init__.py +0 -10
- signalwire_sdk-3.0.2.dev60/signalwire/signalwire/skills/native_vector_search/skill.py +0 -826
- signalwire_sdk-3.0.2.dev60/signalwire/signalwire/skills/swml_transfer/__init__.py +0 -10
- signalwire_sdk-3.0.2.dev60/signalwire/signalwire/skills/swml_transfer/skill.py +0 -359
- signalwire_sdk-3.0.2.dev60/signalwire/signalwire/skills/web_search/__init__.py +0 -10
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/LICENSE +0 -0
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/README.md +0 -0
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/man/sw-agent-init.1 +0 -0
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/man/sw-search.1 +0 -0
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/man/swaig-test.1 +0 -0
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/setup.cfg +0 -0
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/setup.py +0 -0
- {signalwire_sdk-3.0.2.dev60/signalwire/signalwire/rest/namespaces → signalwire_sdk-3.0.2.dev62/signalwire/signalwire/core/agent/deployment}/__init__.py +0 -0
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/core/security/webhook_middleware.py +0 -0
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/relay/__init__.py +0 -0
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/relay/constants.py +0 -0
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/relay/event.py +0 -0
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/schema.json +0 -0
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/skills/README.md +0 -0
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/skills/api_ninjas_trivia/README.md +0 -0
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/skills/claude_skills/README.md +0 -0
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/skills/claude_skills/__init__.py +0 -0
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/skills/datasphere/README.md +0 -0
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/skills/datasphere_serverless/README.md +0 -0
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/skills/datetime/README.md +0 -0
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/skills/google_maps/__init__.py +0 -0
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/skills/info_gatherer/README.md +0 -0
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/skills/info_gatherer/__init__.py +0 -0
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/skills/joke/README.md +0 -0
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/skills/math/README.md +0 -0
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/skills/mcp_gateway/README.md +0 -0
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/skills/native_vector_search/README.md +0 -0
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/skills/play_background_file/README.md +0 -0
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/skills/spider/README.md +0 -0
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/skills/swml_transfer/README.md +0 -0
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/skills/weather_api/README.md +0 -0
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/skills/web_search/README.md +0 -0
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire/skills/wikipedia_search/README.md +0 -0
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire_sdk.egg-info/dependency_links.txt +0 -0
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire_sdk.egg-info/entry_points.txt +0 -0
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire_sdk.egg-info/requires.txt +0 -0
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/signalwire/signalwire_sdk.egg-info/top_level.txt +0 -0
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/tests/test_examples.py +0 -0
- {signalwire_sdk-3.0.2.dev60 → signalwire_sdk-3.0.2.dev62}/tests/test_mcp_integration.py +0 -0
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "signalwire-sdk"
|
|
7
|
-
version = "3.0.2.
|
|
7
|
+
version = "3.0.2.dev62"
|
|
8
8
|
description = "SignalWire SDK"
|
|
9
9
|
authors = [
|
|
10
10
|
{name = "SignalWire Team", email = "info@signalwire.com"}
|
|
@@ -160,4 +160,8 @@ signalwire = [
|
|
|
160
160
|
"man/swaig-test.1",
|
|
161
161
|
"man/sw-search.1",
|
|
162
162
|
"man/sw-agent-init.1"
|
|
163
|
-
]
|
|
163
|
+
]
|
|
164
|
+
|
|
165
|
+
[tool.ruff]
|
|
166
|
+
target-version = "py310"
|
|
167
|
+
line-length = 88
|
|
@@ -5,9 +5,7 @@ This file is part of the SignalWire SDK.
|
|
|
5
5
|
|
|
6
6
|
Licensed under the MIT License.
|
|
7
7
|
See LICENSE file in the project root for full license information.
|
|
8
|
-
"""
|
|
9
8
|
|
|
10
|
-
"""
|
|
11
9
|
SignalWire SDK
|
|
12
10
|
=======================
|
|
13
11
|
|
|
@@ -16,32 +14,52 @@ A package for building AI agents using SignalWire's AI and SWML capabilities.
|
|
|
16
14
|
|
|
17
15
|
# Configure logging before any other imports to ensure early initialization
|
|
18
16
|
from .core.logging_config import configure_logging
|
|
19
|
-
configure_logging()
|
|
20
17
|
|
|
21
|
-
|
|
18
|
+
configure_logging()
|
|
22
19
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
from
|
|
29
|
-
from
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
20
|
+
__version__ = "3.0.2.dev62"
|
|
21
|
+
|
|
22
|
+
# Import core classes for easier access.
|
|
23
|
+
# These imports are intentionally placed after configure_logging() so the SDK's
|
|
24
|
+
# logging is initialized before any submodule is imported (E402 expected).
|
|
25
|
+
from .core.agent_base import AgentBase # noqa: E402
|
|
26
|
+
from .core.contexts import ( # noqa: E402
|
|
27
|
+
ContextBuilder,
|
|
28
|
+
Context,
|
|
29
|
+
Step,
|
|
30
|
+
GatherInfo,
|
|
31
|
+
GatherQuestion,
|
|
32
|
+
create_simple_context,
|
|
33
|
+
)
|
|
34
|
+
from .core.data_map import ( # noqa: E402
|
|
35
|
+
DataMap,
|
|
36
|
+
create_simple_api_tool,
|
|
37
|
+
create_expression_tool,
|
|
38
|
+
)
|
|
39
|
+
from signalwire.agent_server import AgentServer # noqa: E402
|
|
40
|
+
from signalwire.core.swml_service import SWMLService # noqa: E402
|
|
41
|
+
from signalwire.core.swml_builder import SWMLBuilder # noqa: E402
|
|
42
|
+
from signalwire.core.function_result import ( # noqa: E402
|
|
43
|
+
FunctionResult,
|
|
44
|
+
SwaigFunctionResult,
|
|
45
|
+
)
|
|
46
|
+
from signalwire.core.swaig_function import SWAIGFunction # noqa: E402
|
|
47
|
+
from signalwire.agents.bedrock import BedrockAgent # noqa: E402
|
|
48
|
+
from signalwire.utils.schema_utils import SchemaValidationError # noqa: E402
|
|
34
49
|
|
|
35
50
|
# Import WebService for static file serving
|
|
36
|
-
from signalwire.web import WebService
|
|
51
|
+
from signalwire.web import WebService # noqa: E402
|
|
52
|
+
|
|
37
53
|
|
|
38
54
|
# Lazy import skills to avoid slow startup for CLI tools
|
|
39
55
|
# Skills are now loaded on-demand when requested
|
|
40
56
|
def _get_skill_registry():
|
|
41
57
|
"""Lazy import and return skill registry"""
|
|
42
58
|
import signalwire.skills
|
|
59
|
+
|
|
43
60
|
return signalwire.skills.skill_registry
|
|
44
61
|
|
|
62
|
+
|
|
45
63
|
def list_skills():
|
|
46
64
|
"""List all available skills with metadata.
|
|
47
65
|
|
|
@@ -49,19 +67,21 @@ def list_skills():
|
|
|
49
67
|
env vars, multi-instance support). Delegates to the skill registry — the
|
|
50
68
|
same source as ``list_skills_with_params()``, but the lighter summary."""
|
|
51
69
|
from signalwire.skills.registry import skill_registry
|
|
70
|
+
|
|
52
71
|
return skill_registry.list_skills()
|
|
53
72
|
|
|
73
|
+
|
|
54
74
|
def list_skills_with_params():
|
|
55
75
|
"""
|
|
56
76
|
Get complete schema for all available skills including parameter metadata
|
|
57
|
-
|
|
77
|
+
|
|
58
78
|
This function returns a comprehensive schema for all available skills,
|
|
59
79
|
including their metadata and parameter definitions. This is useful for
|
|
60
80
|
GUI configuration tools, API documentation, or programmatic skill discovery.
|
|
61
|
-
|
|
81
|
+
|
|
62
82
|
Returns:
|
|
63
83
|
Dict[str, Dict[str, Any]]: Complete skill schema where keys are skill names
|
|
64
|
-
|
|
84
|
+
|
|
65
85
|
Example:
|
|
66
86
|
>>> schema = list_skills_with_params()
|
|
67
87
|
>>> print(schema['web_search']['parameters']['api_key'])
|
|
@@ -74,18 +94,20 @@ def list_skills_with_params():
|
|
|
74
94
|
}
|
|
75
95
|
"""
|
|
76
96
|
from signalwire.skills.registry import skill_registry
|
|
97
|
+
|
|
77
98
|
return skill_registry.get_all_skills_schema()
|
|
78
99
|
|
|
100
|
+
|
|
79
101
|
def register_skill(skill_class):
|
|
80
102
|
"""
|
|
81
103
|
Register a custom skill class
|
|
82
|
-
|
|
104
|
+
|
|
83
105
|
This allows third-party code to register skill classes directly without
|
|
84
106
|
requiring them to be in a specific directory structure.
|
|
85
|
-
|
|
107
|
+
|
|
86
108
|
Args:
|
|
87
109
|
skill_class: A class that inherits from SkillBase
|
|
88
|
-
|
|
110
|
+
|
|
89
111
|
Example:
|
|
90
112
|
>>> from my_custom_skills import MyWeatherSkill
|
|
91
113
|
>>> register_skill(MyWeatherSkill)
|
|
@@ -93,30 +115,36 @@ def register_skill(skill_class):
|
|
|
93
115
|
>>> agent.add_skill('my_weather')
|
|
94
116
|
"""
|
|
95
117
|
from signalwire.skills.registry import skill_registry
|
|
118
|
+
|
|
96
119
|
return skill_registry.register_skill(skill_class)
|
|
97
120
|
|
|
121
|
+
|
|
98
122
|
def add_skill_directory(path):
|
|
99
123
|
"""
|
|
100
124
|
Add a directory to search for skills
|
|
101
|
-
|
|
125
|
+
|
|
102
126
|
This allows third-party skill collections to be registered by path.
|
|
103
127
|
Skills in these directories should follow the same structure as built-in skills.
|
|
104
|
-
|
|
128
|
+
|
|
105
129
|
Args:
|
|
106
130
|
path: Path to directory containing skill subdirectories
|
|
107
|
-
|
|
131
|
+
|
|
108
132
|
Example:
|
|
109
133
|
>>> add_skill_directory('/opt/custom_skills')
|
|
110
134
|
>>> # Now agent.add_skill('my_custom_skill') will search in this directory
|
|
111
135
|
"""
|
|
112
136
|
from signalwire.skills.registry import skill_registry
|
|
137
|
+
|
|
113
138
|
return skill_registry.add_skill_directory(path)
|
|
114
139
|
|
|
140
|
+
|
|
115
141
|
def RestClient(*args, **kwargs):
|
|
116
142
|
"""Create a SignalWire REST API client (lazy import)"""
|
|
117
143
|
from signalwire.rest import RestClient as _RestClient
|
|
144
|
+
|
|
118
145
|
return _RestClient(*args, **kwargs)
|
|
119
146
|
|
|
147
|
+
|
|
120
148
|
__all__ = [
|
|
121
149
|
"AgentBase",
|
|
122
150
|
"AgentServer",
|
|
@@ -130,7 +158,11 @@ __all__ = [
|
|
|
130
158
|
"ContextBuilder",
|
|
131
159
|
"Context",
|
|
132
160
|
"Step",
|
|
161
|
+
"GatherInfo",
|
|
162
|
+
"GatherQuestion",
|
|
133
163
|
"create_simple_context",
|
|
164
|
+
"SwaigFunctionResult",
|
|
165
|
+
"SchemaValidationError",
|
|
134
166
|
"WebService",
|
|
135
167
|
"list_skills",
|
|
136
168
|
"list_skills_with_params",
|