signalwire-sdk 3.0.2.dev39__tar.gz → 3.0.2.dev41__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.dev39/signalwire/signalwire_sdk.egg-info → signalwire_sdk-3.0.2.dev41}/PKG-INFO +1 -1
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/pyproject.toml +1 -1
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/__init__.py +1 -1
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/agent_server.py +1 -1
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/skills/web_search/skill.py +167 -30
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41/signalwire/signalwire_sdk.egg-info}/PKG-INFO +1 -1
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/LICENSE +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/README.md +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/man/sw-agent-init.1 +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/man/sw-search.1 +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/man/swaig-test.1 +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/setup.cfg +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/setup.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/agents/bedrock.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/cli/__init__.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/cli/build_search.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/cli/config.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/cli/core/__init__.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/cli/core/agent_loader.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/cli/core/argparse_helpers.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/cli/core/dynamic_config.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/cli/core/service_loader.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/cli/dokku.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/cli/execution/__init__.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/cli/execution/datamap_exec.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/cli/execution/webhook_exec.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/cli/init_project.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/cli/output/__init__.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/cli/output/output_formatter.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/cli/output/swml_dump.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/cli/simulation/__init__.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/cli/simulation/data_generation.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/cli/simulation/data_overrides.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/cli/simulation/mock_env.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/cli/swaig_test_wrapper.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/cli/test_swaig.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/cli/types.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/core/__init__.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/core/agent/__init__.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/core/agent/config/__init__.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/core/agent/deployment/__init__.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/core/agent/deployment/handlers/__init__.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/core/agent/prompt/__init__.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/core/agent/prompt/manager.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/core/agent/routing/__init__.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/core/agent/security/__init__.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/core/agent/swml/__init__.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/core/agent/tools/__init__.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/core/agent/tools/decorator.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/core/agent/tools/registry.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/core/agent/tools/type_inference.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/core/agent_base.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/core/auth_handler.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/core/config_loader.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/core/contexts.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/core/data_map.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/core/function_result.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/core/logging_config.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/core/mixins/__init__.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/core/mixins/ai_config_mixin.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/core/mixins/auth_mixin.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/core/mixins/mcp_server_mixin.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/core/mixins/prompt_mixin.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/core/mixins/serverless_mixin.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/core/mixins/skill_mixin.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/core/mixins/state_mixin.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/core/mixins/tool_mixin.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/core/mixins/web_mixin.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/core/pom_builder.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/core/security/__init__.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/core/security/session_manager.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/core/security/webhook_middleware.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/core/security/webhook_validator.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/core/security_config.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/core/skill_base.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/core/skill_manager.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/core/swaig_function.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/core/swml_builder.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/core/swml_handler.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/core/swml_renderer.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/core/swml_service.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/livewire/__init__.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/livewire/plugins.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/mcp_gateway/__init__.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/mcp_gateway/gateway_service.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/mcp_gateway/mcp_manager.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/mcp_gateway/session_manager.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/pom/__init__.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/pom/pom.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/pom/pom_tool.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/prefabs/__init__.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/prefabs/concierge.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/prefabs/faq_bot.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/prefabs/info_gatherer.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/prefabs/receptionist.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/prefabs/survey.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/relay/__init__.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/relay/call.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/relay/client.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/relay/constants.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/relay/event.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/relay/message.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/rest/__init__.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/rest/_base.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/rest/_pagination.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/rest/call_handler.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/rest/client.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/rest/namespaces/__init__.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/rest/namespaces/addresses.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/rest/namespaces/calling.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/rest/namespaces/chat.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/rest/namespaces/compat.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/rest/namespaces/datasphere.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/rest/namespaces/fabric.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/rest/namespaces/imported_numbers.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/rest/namespaces/logs.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/rest/namespaces/lookup.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/rest/namespaces/mfa.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/rest/namespaces/number_groups.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/rest/namespaces/phone_numbers.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/rest/namespaces/project.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/rest/namespaces/pubsub.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/rest/namespaces/queues.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/rest/namespaces/recordings.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/rest/namespaces/registry.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/rest/namespaces/short_codes.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/rest/namespaces/sip_profile.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/rest/namespaces/verified_callers.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/rest/namespaces/video.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/schema.json +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/search/__init__.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/search/document_processor.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/search/index_builder.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/search/migration.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/search/models.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/search/pgvector_backend.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/search/query_processor.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/search/search_engine.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/search/search_service.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/skills/README.md +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/skills/__init__.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/skills/api_ninjas_trivia/README.md +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/skills/api_ninjas_trivia/__init__.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/skills/api_ninjas_trivia/skill.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/skills/claude_skills/README.md +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/skills/claude_skills/__init__.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/skills/claude_skills/skill.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/skills/datasphere/README.md +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/skills/datasphere/__init__.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/skills/datasphere/skill.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/skills/datasphere_serverless/README.md +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/skills/datasphere_serverless/__init__.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/skills/datasphere_serverless/skill.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/skills/datetime/README.md +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/skills/datetime/__init__.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/skills/datetime/skill.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/skills/google_maps/__init__.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/skills/google_maps/skill.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/skills/info_gatherer/README.md +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/skills/info_gatherer/__init__.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/skills/info_gatherer/skill.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/skills/joke/README.md +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/skills/joke/__init__.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/skills/joke/skill.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/skills/math/README.md +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/skills/math/__init__.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/skills/math/skill.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/skills/mcp_gateway/README.md +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/skills/mcp_gateway/__init__.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/skills/mcp_gateway/skill.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/skills/native_vector_search/README.md +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/skills/native_vector_search/__init__.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/skills/native_vector_search/skill.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/skills/play_background_file/README.md +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/skills/play_background_file/__init__.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/skills/play_background_file/skill.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/skills/registry.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/skills/spider/README.md +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/skills/spider/__init__.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/skills/spider/skill.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/skills/swml_transfer/README.md +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/skills/swml_transfer/__init__.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/skills/swml_transfer/skill.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/skills/weather_api/README.md +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/skills/weather_api/__init__.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/skills/weather_api/skill.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/skills/web_search/README.md +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/skills/web_search/__init__.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/skills/web_search/skill_improved.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/skills/web_search/skill_original.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/skills/wikipedia_search/README.md +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/skills/wikipedia_search/__init__.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/skills/wikipedia_search/skill.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/utils/__init__.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/utils/pom_utils.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/utils/schema_utils.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/utils/token_generators.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/utils/url_validator.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/utils/validators.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/web/__init__.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/web/web_service.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire_sdk.egg-info/SOURCES.txt +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire_sdk.egg-info/dependency_links.txt +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire_sdk.egg-info/entry_points.txt +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire_sdk.egg-info/requires.txt +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire_sdk.egg-info/top_level.txt +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/tests/test_examples.py +0 -0
- {signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/tests/test_mcp_integration.py +0 -0
|
@@ -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__ = "3.0.2.
|
|
21
|
+
__version__ = "3.0.2.dev41"
|
|
22
22
|
|
|
23
23
|
# Import core classes for easier access
|
|
24
24
|
from .core.agent_base import AgentBase
|
|
@@ -413,57 +413,136 @@ class GoogleSearchScraper:
|
|
|
413
413
|
|
|
414
414
|
return metrics
|
|
415
415
|
|
|
416
|
+
def _format_snippet_results(self, query: str, search_results: list,
|
|
417
|
+
num_results: int) -> str:
|
|
418
|
+
"""Format Google CSE snippets without fetching the underlying pages.
|
|
419
|
+
|
|
420
|
+
Used when snippets_only is True, or as a graceful fallback when page
|
|
421
|
+
scraping is abandoned by the overall_deadline. The result is shorter
|
|
422
|
+
than a fully-scraped response but always non-empty when CSE returned
|
|
423
|
+
anything at all, so the kernel never sees a webhook timeout.
|
|
424
|
+
"""
|
|
425
|
+
if not search_results:
|
|
426
|
+
return f"No search results found for query: {query}"
|
|
427
|
+
|
|
428
|
+
top = search_results[:max(num_results, 1)]
|
|
429
|
+
lines = [
|
|
430
|
+
f"Snippet-only results for '{query}' "
|
|
431
|
+
f"(page content not scraped):\n"
|
|
432
|
+
]
|
|
433
|
+
for i, result in enumerate(top, 1):
|
|
434
|
+
lines.append(f"=== RESULT {i} ===")
|
|
435
|
+
lines.append(f"Title: {result.get('title', '')}")
|
|
436
|
+
lines.append(f"URL: {result.get('url', '')}")
|
|
437
|
+
snippet = (result.get('snippet') or '').strip()
|
|
438
|
+
lines.append(f"Snippet: {snippet}")
|
|
439
|
+
lines.append("")
|
|
440
|
+
return "\n".join(lines)
|
|
441
|
+
|
|
416
442
|
def search_and_scrape_best(self, query: str, num_results: int = 3,
|
|
417
443
|
oversample_factor: float = 4.0, delay: float = 0.5,
|
|
418
|
-
min_quality_score: float = 0.2
|
|
444
|
+
min_quality_score: float = 0.2,
|
|
445
|
+
per_page_timeout: float = 2.0,
|
|
446
|
+
overall_deadline: float = 10.0,
|
|
447
|
+
parallel_scrape: bool = True,
|
|
448
|
+
snippets_only: bool = False) -> str:
|
|
419
449
|
"""
|
|
420
|
-
Search and scrape with quality filtering and source diversity
|
|
450
|
+
Search and scrape with quality filtering and source diversity.
|
|
421
451
|
|
|
422
452
|
Args:
|
|
423
453
|
query: Search query
|
|
424
454
|
num_results: Number of best results to return
|
|
425
455
|
oversample_factor: How many extra results to fetch (e.g., 4.0 = fetch 4x)
|
|
426
|
-
delay: Delay between requests
|
|
456
|
+
delay: Delay between scrape requests (ignored in parallel mode)
|
|
427
457
|
min_quality_score: Minimum quality score to include a result
|
|
458
|
+
per_page_timeout: Max seconds to wait on each page scrape
|
|
459
|
+
overall_deadline: Wall-clock budget (seconds) for the whole call.
|
|
460
|
+
Anything not yet returned by this deadline is abandoned.
|
|
461
|
+
parallel_scrape: Run all page scrapes concurrently in a thread pool
|
|
462
|
+
snippets_only: Skip page scraping entirely; format the CSE
|
|
463
|
+
snippets directly. Use for fast voice answers when full page
|
|
464
|
+
content is not required.
|
|
428
465
|
|
|
429
466
|
Returns:
|
|
430
467
|
Formatted string with the best N results from diverse sources
|
|
431
468
|
"""
|
|
432
|
-
|
|
469
|
+
import concurrent.futures
|
|
470
|
+
|
|
471
|
+
deadline_at = time.monotonic() + overall_deadline
|
|
472
|
+
|
|
473
|
+
# Fetch CSE results. search_google() already uses a 15s timeout
|
|
474
|
+
# internally; this is the slowest non-cancelable step.
|
|
433
475
|
fetch_count = min(10, int(num_results * oversample_factor))
|
|
434
476
|
search_results = self.search_google(query, fetch_count)
|
|
435
477
|
|
|
436
478
|
if not search_results:
|
|
437
479
|
return f"No search results found for query: {query}"
|
|
438
480
|
|
|
439
|
-
#
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
metrics = self.
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
481
|
+
# Snippets-only fast path: skip scraping entirely. Returns in ~1s.
|
|
482
|
+
if snippets_only:
|
|
483
|
+
return self._format_snippet_results(query, search_results, num_results)
|
|
484
|
+
|
|
485
|
+
def _scrape_one(result):
|
|
486
|
+
"""Fetch + score one candidate. Returns enriched dict or None."""
|
|
487
|
+
if time.monotonic() >= deadline_at:
|
|
488
|
+
return None
|
|
489
|
+
try:
|
|
490
|
+
page_text, metrics = self.extract_text_from_url(
|
|
491
|
+
result['url'], timeout=per_page_timeout
|
|
492
|
+
)
|
|
493
|
+
except Exception:
|
|
494
|
+
return None
|
|
495
|
+
if not page_text:
|
|
496
|
+
return None
|
|
497
|
+
metrics = self._calculate_content_quality(page_text, result['url'], query)
|
|
498
|
+
if metrics.get('quality_score', 0) < min_quality_score:
|
|
499
|
+
return None
|
|
500
|
+
return {
|
|
501
|
+
'title': result['title'],
|
|
502
|
+
'url': result['url'],
|
|
503
|
+
'snippet': result['snippet'],
|
|
504
|
+
'content': page_text,
|
|
505
|
+
'metrics': metrics,
|
|
506
|
+
'quality_score': metrics.get('quality_score', 0),
|
|
507
|
+
'domain': metrics.get('domain', '')
|
|
508
|
+
}
|
|
460
509
|
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
510
|
+
processed_results = []
|
|
511
|
+
if parallel_scrape:
|
|
512
|
+
# Dispatch all scrapes at once, harvest whatever finishes before
|
|
513
|
+
# the deadline. Abandon the rest.
|
|
514
|
+
with concurrent.futures.ThreadPoolExecutor(
|
|
515
|
+
max_workers=min(8, len(search_results))
|
|
516
|
+
) as executor:
|
|
517
|
+
future_to_result = {
|
|
518
|
+
executor.submit(_scrape_one, r): r for r in search_results
|
|
519
|
+
}
|
|
520
|
+
for future in concurrent.futures.as_completed(future_to_result):
|
|
521
|
+
if time.monotonic() >= deadline_at:
|
|
522
|
+
# Cancel everything still queued; we are out of time.
|
|
523
|
+
for f in future_to_result:
|
|
524
|
+
if not f.done():
|
|
525
|
+
f.cancel()
|
|
526
|
+
break
|
|
527
|
+
item = future.result()
|
|
528
|
+
if item is not None:
|
|
529
|
+
processed_results.append(item)
|
|
530
|
+
else:
|
|
531
|
+
# Sequential mode (legacy). Still honors overall_deadline.
|
|
532
|
+
for result in search_results:
|
|
533
|
+
if time.monotonic() >= deadline_at:
|
|
534
|
+
break
|
|
535
|
+
item = _scrape_one(result)
|
|
536
|
+
if item is not None:
|
|
537
|
+
processed_results.append(item)
|
|
538
|
+
if delay > 0:
|
|
539
|
+
time.sleep(delay)
|
|
464
540
|
|
|
465
541
|
if not processed_results:
|
|
466
|
-
|
|
542
|
+
# Time ran out or every page was below quality threshold. Fall
|
|
543
|
+
# back to snippet-only results so we return SOMETHING useful
|
|
544
|
+
# before the kernel webhook timeout fires.
|
|
545
|
+
return self._format_snippet_results(query, search_results, num_results)
|
|
467
546
|
|
|
468
547
|
# Sort by quality score
|
|
469
548
|
processed_results.sort(key=lambda x: x['quality_score'], reverse=True)
|
|
@@ -581,6 +660,22 @@ class WebSearchSkill(SkillBase):
|
|
|
581
660
|
self.oversample_factor = self.params.get('oversample_factor', 2.5)
|
|
582
661
|
self.min_quality_score = self.params.get('min_quality_score', 0.3)
|
|
583
662
|
|
|
663
|
+
# Latency-control parameters. The SignalWire kernel times out webhook
|
|
664
|
+
# responses around 55s, so the handler MUST finish under that.
|
|
665
|
+
# per_page_timeout: max seconds to wait on a single page scrape.
|
|
666
|
+
# overall_deadline: wall-clock budget for the whole tool call. Once
|
|
667
|
+
# exceeded, any in-flight scrapes are abandoned and we format
|
|
668
|
+
# whatever results we already have (or fall back to snippets).
|
|
669
|
+
# parallel_scrape: fetch all candidate pages concurrently via a
|
|
670
|
+
# ThreadPoolExecutor instead of one-after-the-other.
|
|
671
|
+
# snippets_only: skip scraping entirely and return Google CSE
|
|
672
|
+
# snippets only. Fastest mode (sub-second) and good enough for
|
|
673
|
+
# most voice answers.
|
|
674
|
+
self.per_page_timeout = float(self.params.get('per_page_timeout', 2.0))
|
|
675
|
+
self.overall_deadline = float(self.params.get('overall_deadline', 10.0))
|
|
676
|
+
self.parallel_scrape = bool(self.params.get('parallel_scrape', True))
|
|
677
|
+
self.snippets_only = bool(self.params.get('snippets_only', False))
|
|
678
|
+
|
|
584
679
|
self.no_results_message = self.params.get('no_results_message',
|
|
585
680
|
"I couldn't find quality results for '{query}'. "
|
|
586
681
|
"The search returned only low-quality or inaccessible pages. "
|
|
@@ -642,7 +737,11 @@ class WebSearchSkill(SkillBase):
|
|
|
642
737
|
num_results=num_results,
|
|
643
738
|
oversample_factor=self.oversample_factor,
|
|
644
739
|
delay=self.default_delay,
|
|
645
|
-
min_quality_score=self.min_quality_score
|
|
740
|
+
min_quality_score=self.min_quality_score,
|
|
741
|
+
per_page_timeout=self.per_page_timeout,
|
|
742
|
+
overall_deadline=self.overall_deadline,
|
|
743
|
+
parallel_scrape=self.parallel_scrape,
|
|
744
|
+
snippets_only=self.snippets_only,
|
|
646
745
|
)
|
|
647
746
|
|
|
648
747
|
if not search_results or "No quality results found" in search_results or "No search results found" in search_results:
|
|
@@ -753,6 +852,44 @@ class WebSearchSkill(SkillBase):
|
|
|
753
852
|
"description": "Message to show when no quality results are found. Use {query} as placeholder.",
|
|
754
853
|
"default": "I couldn't find quality results for '{query}'. The search returned only low-quality or inaccessible pages. Try rephrasing your search or asking about a different topic.",
|
|
755
854
|
"required": False
|
|
855
|
+
},
|
|
856
|
+
"response_prefix": {
|
|
857
|
+
"type": "string",
|
|
858
|
+
"description": "Optional text prepended to every non-empty search result.",
|
|
859
|
+
"default": "",
|
|
860
|
+
"required": False
|
|
861
|
+
},
|
|
862
|
+
"response_postfix": {
|
|
863
|
+
"type": "string",
|
|
864
|
+
"description": "Optional text appended to every non-empty search result.",
|
|
865
|
+
"default": "",
|
|
866
|
+
"required": False
|
|
867
|
+
},
|
|
868
|
+
"per_page_timeout": {
|
|
869
|
+
"type": "number",
|
|
870
|
+
"description": "Maximum seconds to wait on a single page scrape.",
|
|
871
|
+
"default": 2.0,
|
|
872
|
+
"required": False,
|
|
873
|
+
"min": 0.1
|
|
874
|
+
},
|
|
875
|
+
"overall_deadline": {
|
|
876
|
+
"type": "number",
|
|
877
|
+
"description": "Wall-clock budget in seconds for the whole tool call. In-flight scrapes are abandoned past this so the response beats the kernel webhook timeout.",
|
|
878
|
+
"default": 10.0,
|
|
879
|
+
"required": False,
|
|
880
|
+
"min": 1.0
|
|
881
|
+
},
|
|
882
|
+
"parallel_scrape": {
|
|
883
|
+
"type": "boolean",
|
|
884
|
+
"description": "Scrape all candidate pages concurrently in a thread pool instead of sequentially.",
|
|
885
|
+
"default": True,
|
|
886
|
+
"required": False
|
|
887
|
+
},
|
|
888
|
+
"snippets_only": {
|
|
889
|
+
"type": "boolean",
|
|
890
|
+
"description": "Skip page scraping entirely and return Google CSE snippets only. Fastest mode (sub-second).",
|
|
891
|
+
"default": False,
|
|
892
|
+
"required": False
|
|
756
893
|
}
|
|
757
894
|
})
|
|
758
895
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/agents/bedrock.py
RENAMED
|
File without changes
|
{signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/cli/__init__.py
RENAMED
|
File without changes
|
{signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/cli/build_search.py
RENAMED
|
File without changes
|
{signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/cli/config.py
RENAMED
|
File without changes
|
{signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/cli/core/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/cli/dokku.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/cli/init_project.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/cli/test_swaig.py
RENAMED
|
File without changes
|
{signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/cli/types.py
RENAMED
|
File without changes
|
{signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/core/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/core/agent_base.py
RENAMED
|
File without changes
|
{signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/core/auth_handler.py
RENAMED
|
File without changes
|
|
File without changes
|
{signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/core/contexts.py
RENAMED
|
File without changes
|
{signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/core/data_map.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/core/pom_builder.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/core/skill_base.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/core/swml_builder.py
RENAMED
|
File without changes
|
{signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/core/swml_handler.py
RENAMED
|
File without changes
|
|
File without changes
|
{signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/core/swml_service.py
RENAMED
|
File without changes
|
{signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/livewire/__init__.py
RENAMED
|
File without changes
|
{signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/livewire/plugins.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/pom/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/pom/pom_tool.py
RENAMED
|
File without changes
|
{signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/prefabs/__init__.py
RENAMED
|
File without changes
|
{signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/prefabs/concierge.py
RENAMED
|
File without changes
|
{signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/prefabs/faq_bot.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/prefabs/survey.py
RENAMED
|
File without changes
|
{signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/relay/__init__.py
RENAMED
|
File without changes
|
{signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/relay/call.py
RENAMED
|
File without changes
|
{signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/relay/client.py
RENAMED
|
File without changes
|
{signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/relay/constants.py
RENAMED
|
File without changes
|
{signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/relay/event.py
RENAMED
|
File without changes
|
{signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/relay/message.py
RENAMED
|
File without changes
|
{signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/rest/__init__.py
RENAMED
|
File without changes
|
{signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/rest/_base.py
RENAMED
|
File without changes
|
{signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/rest/_pagination.py
RENAMED
|
File without changes
|
{signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/rest/call_handler.py
RENAMED
|
File without changes
|
{signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/rest/client.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/search/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/search/migration.py
RENAMED
|
File without changes
|
{signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/search/models.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/skills/README.md
RENAMED
|
File without changes
|
{signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/skills/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/skills/joke/skill.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/skills/math/skill.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/skills/registry.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/utils/__init__.py
RENAMED
|
File without changes
|
{signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/utils/pom_utils.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/utils/validators.py
RENAMED
|
File without changes
|
{signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/web/__init__.py
RENAMED
|
File without changes
|
{signalwire_sdk-3.0.2.dev39 → signalwire_sdk-3.0.2.dev41}/signalwire/signalwire/web/web_service.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|