signalwire-sdk 3.0.2.dev37__tar.gz → 3.0.2.dev39__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 (208) hide show
  1. {signalwire_sdk-3.0.2.dev37/signalwire/signalwire_sdk.egg-info → signalwire_sdk-3.0.2.dev39}/PKG-INFO +1 -1
  2. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/pyproject.toml +1 -1
  3. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/__init__.py +1 -1
  4. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/agent_server.py +1 -1
  5. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/core/mixins/ai_config_mixin.py +64 -11
  6. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/skills/web_search/skill.py +12 -0
  7. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39/signalwire/signalwire_sdk.egg-info}/PKG-INFO +1 -1
  8. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/LICENSE +0 -0
  9. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/README.md +0 -0
  10. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/man/sw-agent-init.1 +0 -0
  11. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/man/sw-search.1 +0 -0
  12. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/man/swaig-test.1 +0 -0
  13. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/setup.cfg +0 -0
  14. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/setup.py +0 -0
  15. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/agents/bedrock.py +0 -0
  16. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/cli/__init__.py +0 -0
  17. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/cli/build_search.py +0 -0
  18. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/cli/config.py +0 -0
  19. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/cli/core/__init__.py +0 -0
  20. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/cli/core/agent_loader.py +0 -0
  21. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/cli/core/argparse_helpers.py +0 -0
  22. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/cli/core/dynamic_config.py +0 -0
  23. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/cli/core/service_loader.py +0 -0
  24. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/cli/dokku.py +0 -0
  25. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/cli/execution/__init__.py +0 -0
  26. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/cli/execution/datamap_exec.py +0 -0
  27. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/cli/execution/webhook_exec.py +0 -0
  28. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/cli/init_project.py +0 -0
  29. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/cli/output/__init__.py +0 -0
  30. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/cli/output/output_formatter.py +0 -0
  31. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/cli/output/swml_dump.py +0 -0
  32. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/cli/simulation/__init__.py +0 -0
  33. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/cli/simulation/data_generation.py +0 -0
  34. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/cli/simulation/data_overrides.py +0 -0
  35. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/cli/simulation/mock_env.py +0 -0
  36. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/cli/swaig_test_wrapper.py +0 -0
  37. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/cli/test_swaig.py +0 -0
  38. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/cli/types.py +0 -0
  39. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/core/__init__.py +0 -0
  40. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/core/agent/__init__.py +0 -0
  41. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/core/agent/config/__init__.py +0 -0
  42. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/core/agent/deployment/__init__.py +0 -0
  43. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/core/agent/deployment/handlers/__init__.py +0 -0
  44. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/core/agent/prompt/__init__.py +0 -0
  45. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/core/agent/prompt/manager.py +0 -0
  46. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/core/agent/routing/__init__.py +0 -0
  47. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/core/agent/security/__init__.py +0 -0
  48. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/core/agent/swml/__init__.py +0 -0
  49. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/core/agent/tools/__init__.py +0 -0
  50. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/core/agent/tools/decorator.py +0 -0
  51. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/core/agent/tools/registry.py +0 -0
  52. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/core/agent/tools/type_inference.py +0 -0
  53. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/core/agent_base.py +0 -0
  54. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/core/auth_handler.py +0 -0
  55. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/core/config_loader.py +0 -0
  56. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/core/contexts.py +0 -0
  57. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/core/data_map.py +0 -0
  58. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/core/function_result.py +0 -0
  59. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/core/logging_config.py +0 -0
  60. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/core/mixins/__init__.py +0 -0
  61. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/core/mixins/auth_mixin.py +0 -0
  62. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/core/mixins/mcp_server_mixin.py +0 -0
  63. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/core/mixins/prompt_mixin.py +0 -0
  64. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/core/mixins/serverless_mixin.py +0 -0
  65. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/core/mixins/skill_mixin.py +0 -0
  66. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/core/mixins/state_mixin.py +0 -0
  67. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/core/mixins/tool_mixin.py +0 -0
  68. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/core/mixins/web_mixin.py +0 -0
  69. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/core/pom_builder.py +0 -0
  70. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/core/security/__init__.py +0 -0
  71. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/core/security/session_manager.py +0 -0
  72. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/core/security/webhook_middleware.py +0 -0
  73. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/core/security/webhook_validator.py +0 -0
  74. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/core/security_config.py +0 -0
  75. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/core/skill_base.py +0 -0
  76. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/core/skill_manager.py +0 -0
  77. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/core/swaig_function.py +0 -0
  78. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/core/swml_builder.py +0 -0
  79. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/core/swml_handler.py +0 -0
  80. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/core/swml_renderer.py +0 -0
  81. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/core/swml_service.py +0 -0
  82. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/livewire/__init__.py +0 -0
  83. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/livewire/plugins.py +0 -0
  84. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/mcp_gateway/__init__.py +0 -0
  85. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/mcp_gateway/gateway_service.py +0 -0
  86. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/mcp_gateway/mcp_manager.py +0 -0
  87. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/mcp_gateway/session_manager.py +0 -0
  88. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/pom/__init__.py +0 -0
  89. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/pom/pom.py +0 -0
  90. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/pom/pom_tool.py +0 -0
  91. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/prefabs/__init__.py +0 -0
  92. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/prefabs/concierge.py +0 -0
  93. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/prefabs/faq_bot.py +0 -0
  94. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/prefabs/info_gatherer.py +0 -0
  95. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/prefabs/receptionist.py +0 -0
  96. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/prefabs/survey.py +0 -0
  97. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/relay/__init__.py +0 -0
  98. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/relay/call.py +0 -0
  99. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/relay/client.py +0 -0
  100. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/relay/constants.py +0 -0
  101. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/relay/event.py +0 -0
  102. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/relay/message.py +0 -0
  103. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/rest/__init__.py +0 -0
  104. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/rest/_base.py +0 -0
  105. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/rest/_pagination.py +0 -0
  106. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/rest/call_handler.py +0 -0
  107. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/rest/client.py +0 -0
  108. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/rest/namespaces/__init__.py +0 -0
  109. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/rest/namespaces/addresses.py +0 -0
  110. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/rest/namespaces/calling.py +0 -0
  111. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/rest/namespaces/chat.py +0 -0
  112. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/rest/namespaces/compat.py +0 -0
  113. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/rest/namespaces/datasphere.py +0 -0
  114. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/rest/namespaces/fabric.py +0 -0
  115. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/rest/namespaces/imported_numbers.py +0 -0
  116. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/rest/namespaces/logs.py +0 -0
  117. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/rest/namespaces/lookup.py +0 -0
  118. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/rest/namespaces/mfa.py +0 -0
  119. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/rest/namespaces/number_groups.py +0 -0
  120. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/rest/namespaces/phone_numbers.py +0 -0
  121. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/rest/namespaces/project.py +0 -0
  122. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/rest/namespaces/pubsub.py +0 -0
  123. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/rest/namespaces/queues.py +0 -0
  124. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/rest/namespaces/recordings.py +0 -0
  125. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/rest/namespaces/registry.py +0 -0
  126. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/rest/namespaces/short_codes.py +0 -0
  127. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/rest/namespaces/sip_profile.py +0 -0
  128. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/rest/namespaces/verified_callers.py +0 -0
  129. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/rest/namespaces/video.py +0 -0
  130. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/schema.json +0 -0
  131. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/search/__init__.py +0 -0
  132. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/search/document_processor.py +0 -0
  133. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/search/index_builder.py +0 -0
  134. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/search/migration.py +0 -0
  135. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/search/models.py +0 -0
  136. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/search/pgvector_backend.py +0 -0
  137. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/search/query_processor.py +0 -0
  138. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/search/search_engine.py +0 -0
  139. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/search/search_service.py +0 -0
  140. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/skills/README.md +0 -0
  141. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/skills/__init__.py +0 -0
  142. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/skills/api_ninjas_trivia/README.md +0 -0
  143. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/skills/api_ninjas_trivia/__init__.py +0 -0
  144. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/skills/api_ninjas_trivia/skill.py +0 -0
  145. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/skills/claude_skills/README.md +0 -0
  146. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/skills/claude_skills/__init__.py +0 -0
  147. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/skills/claude_skills/skill.py +0 -0
  148. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/skills/datasphere/README.md +0 -0
  149. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/skills/datasphere/__init__.py +0 -0
  150. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/skills/datasphere/skill.py +0 -0
  151. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/skills/datasphere_serverless/README.md +0 -0
  152. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/skills/datasphere_serverless/__init__.py +0 -0
  153. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/skills/datasphere_serverless/skill.py +0 -0
  154. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/skills/datetime/README.md +0 -0
  155. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/skills/datetime/__init__.py +0 -0
  156. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/skills/datetime/skill.py +0 -0
  157. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/skills/google_maps/__init__.py +0 -0
  158. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/skills/google_maps/skill.py +0 -0
  159. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/skills/info_gatherer/README.md +0 -0
  160. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/skills/info_gatherer/__init__.py +0 -0
  161. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/skills/info_gatherer/skill.py +0 -0
  162. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/skills/joke/README.md +0 -0
  163. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/skills/joke/__init__.py +0 -0
  164. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/skills/joke/skill.py +0 -0
  165. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/skills/math/README.md +0 -0
  166. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/skills/math/__init__.py +0 -0
  167. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/skills/math/skill.py +0 -0
  168. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/skills/mcp_gateway/README.md +0 -0
  169. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/skills/mcp_gateway/__init__.py +0 -0
  170. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/skills/mcp_gateway/skill.py +0 -0
  171. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/skills/native_vector_search/README.md +0 -0
  172. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/skills/native_vector_search/__init__.py +0 -0
  173. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/skills/native_vector_search/skill.py +0 -0
  174. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/skills/play_background_file/README.md +0 -0
  175. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/skills/play_background_file/__init__.py +0 -0
  176. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/skills/play_background_file/skill.py +0 -0
  177. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/skills/registry.py +0 -0
  178. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/skills/spider/README.md +0 -0
  179. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/skills/spider/__init__.py +0 -0
  180. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/skills/spider/skill.py +0 -0
  181. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/skills/swml_transfer/README.md +0 -0
  182. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/skills/swml_transfer/__init__.py +0 -0
  183. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/skills/swml_transfer/skill.py +0 -0
  184. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/skills/weather_api/README.md +0 -0
  185. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/skills/weather_api/__init__.py +0 -0
  186. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/skills/weather_api/skill.py +0 -0
  187. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/skills/web_search/README.md +0 -0
  188. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/skills/web_search/__init__.py +0 -0
  189. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/skills/web_search/skill_improved.py +0 -0
  190. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/skills/web_search/skill_original.py +0 -0
  191. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/skills/wikipedia_search/README.md +0 -0
  192. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/skills/wikipedia_search/__init__.py +0 -0
  193. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/skills/wikipedia_search/skill.py +0 -0
  194. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/utils/__init__.py +0 -0
  195. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/utils/pom_utils.py +0 -0
  196. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/utils/schema_utils.py +0 -0
  197. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/utils/token_generators.py +0 -0
  198. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/utils/url_validator.py +0 -0
  199. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/utils/validators.py +0 -0
  200. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/web/__init__.py +0 -0
  201. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire/web/web_service.py +0 -0
  202. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire_sdk.egg-info/SOURCES.txt +0 -0
  203. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire_sdk.egg-info/dependency_links.txt +0 -0
  204. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire_sdk.egg-info/entry_points.txt +0 -0
  205. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire_sdk.egg-info/requires.txt +0 -0
  206. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/signalwire/signalwire_sdk.egg-info/top_level.txt +0 -0
  207. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/tests/test_examples.py +0 -0
  208. {signalwire_sdk-3.0.2.dev37 → signalwire_sdk-3.0.2.dev39}/tests/test_mcp_integration.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: signalwire-sdk
3
- Version: 3.0.2.dev37
3
+ Version: 3.0.2.dev39
4
4
  Summary: SignalWire SDK
5
5
  Author-email: SignalWire Team <info@signalwire.com>
6
6
  License: MIT
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "signalwire-sdk"
7
- version = "3.0.2.dev37"
7
+ version = "3.0.2.dev39"
8
8
  description = "SignalWire SDK"
9
9
  authors = [
10
10
  {name = "SignalWire Team", email = "info@signalwire.com"}
@@ -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.dev37"
21
+ __version__ = "3.0.2.dev39"
22
22
 
23
23
  # Import core classes for easier access
24
24
  from .core.agent_base import AgentBase
@@ -61,7 +61,7 @@ class AgentServer:
61
61
  self.app = FastAPI(
62
62
  title="SignalWire AI Agents",
63
63
  description="Hosted SignalWire AI Agents",
64
- version="3.0.2.dev37",
64
+ version="3.0.2.dev39",
65
65
  redirect_slashes=False,
66
66
  docs_url=None,
67
67
  redoc_url=None,
@@ -72,39 +72,48 @@ class AIConfigMixin:
72
72
  })
73
73
  return self
74
74
 
75
- def add_language(self,
76
- name: str,
77
- code: str,
75
+ def add_language(self,
76
+ name: str,
77
+ code: str,
78
78
  voice: str,
79
79
  speech_fillers: Optional[List[str]] = None,
80
80
  function_fillers: Optional[List[str]] = None,
81
81
  engine: Optional[str] = None,
82
- model: Optional[str] = None) -> 'AgentBase':
82
+ model: Optional[str] = None,
83
+ params: Optional[Dict[str, Any]] = None) -> 'AgentBase':
83
84
  """
84
85
  Add a language configuration to support multilingual conversations
85
-
86
+
86
87
  Args:
87
88
  name: Name of the language (e.g., "English", "French")
88
89
  code: Language code (e.g., "en-US", "fr-FR")
89
- voice: TTS voice to use. Can be a simple name (e.g., "en-US-Neural2-F")
90
+ voice: TTS voice to use. Can be a simple name (e.g., "en-US-Neural2-F")
90
91
  or a combined format "engine.voice:model" (e.g., "elevenlabs.josh:eleven_turbo_v2_5")
91
92
  speech_fillers: Optional list of filler phrases for natural speech
92
93
  function_fillers: Optional list of filler phrases during function calls
93
94
  engine: Optional explicit engine name (e.g., "elevenlabs", "rime")
94
95
  model: Optional explicit model name (e.g., "eleven_turbo_v2_5", "arcana")
95
-
96
+ params: Optional per-language params dict (engine-specific tuning,
97
+ voice settings, etc.). Emitted as the language object's
98
+ ``params`` key in SWML.
99
+
96
100
  Returns:
97
101
  Self for method chaining
98
-
102
+
99
103
  Examples:
100
104
  # Simple voice name
101
105
  agent.add_language("English", "en-US", "en-US-Neural2-F")
102
-
106
+
103
107
  # Explicit parameters
104
108
  agent.add_language("English", "en-US", "josh", engine="elevenlabs", model="eleven_turbo_v2_5")
105
-
109
+
106
110
  # Combined format
107
111
  agent.add_language("English", "en-US", "elevenlabs.josh:eleven_turbo_v2_5")
112
+
113
+ # Per-language params (engine-specific knobs)
114
+ agent.add_language("English", "en-US", "josh",
115
+ engine="elevenlabs",
116
+ params={"stability": 0.5, "similarity_boost": 0.75})
108
117
  """
109
118
  language = {
110
119
  "name": name,
@@ -143,10 +152,54 @@ class AIConfigMixin:
143
152
  # If only one type of fillers is provided, use the deprecated "fillers" field
144
153
  fillers = speech_fillers or function_fillers
145
154
  language["fillers"] = fillers
146
-
155
+
156
+ # Per-language params (engine-specific tuning, voice settings, etc.).
157
+ # Only emit the key when non-empty so we don't pollute SWML with
158
+ # empty objects.
159
+ if params:
160
+ language["params"] = params
161
+
147
162
  self._languages.append(language)
148
163
  return self
149
164
 
165
+ def set_language_params(self, code: str, params: Dict[str, Any]) -> 'AgentBase':
166
+ """
167
+ Set (or replace) the per-language ``params`` dict on an already-added
168
+ language. Useful when language entries are built up via add_language()
169
+ first and engine-specific tuning is added later (e.g., from a config
170
+ loader). Returns self for chaining.
171
+
172
+ Args:
173
+ code: Language code as previously passed to ``add_language`` (e.g. ``"en-US"``).
174
+ params: Engine-specific params dict to attach. Empty dict removes the key.
175
+
176
+ Returns:
177
+ Self for method chaining. No-op if the code isn't found.
178
+ """
179
+ for language in self._languages:
180
+ if language.get("code") == code:
181
+ if params:
182
+ language["params"] = params
183
+ else:
184
+ language.pop("params", None)
185
+ break
186
+ return self
187
+
188
+ def get_language_params(self, code: str) -> Optional[Dict[str, Any]]:
189
+ """
190
+ Read the per-language ``params`` dict for a previously-added language.
191
+
192
+ Args:
193
+ code: Language code as previously passed to ``add_language``.
194
+
195
+ Returns:
196
+ The params dict if set, ``None`` otherwise (including when the code is unknown).
197
+ """
198
+ for language in self._languages:
199
+ if language.get("code") == code:
200
+ return language.get("params")
201
+ return None
202
+
150
203
  def set_languages(self, languages: List[Dict[str, Any]]) -> 'AgentBase':
151
204
  """
152
205
  Set all language configurations at once
@@ -587,6 +587,14 @@ class WebSearchSkill(SkillBase):
587
587
  "Try rephrasing your search or asking about a different topic."
588
588
  )
589
589
 
590
+ # Optional prefix/postfix wrapped around every non-empty search result.
591
+ # Use these to give the calling agent a mechanical cue (e.g. "tell the
592
+ # user this came from a public web search") without needing prompt-side
593
+ # rules. Mirrors the response_format_callback pattern used by the
594
+ # native_vector_search skill.
595
+ self.response_prefix = self.params.get('response_prefix', '')
596
+ self.response_postfix = self.params.get('response_postfix', '')
597
+
590
598
  # Tool name (for multiple instances)
591
599
  self.tool_name = self.params.get('tool_name', 'web_search')
592
600
 
@@ -642,6 +650,10 @@ class WebSearchSkill(SkillBase):
642
650
  return FunctionResult(formatted_message)
643
651
 
644
652
  response = f"Quality web search results for '{query}':\n\n{search_results}"
653
+ if self.response_prefix:
654
+ response = f"{self.response_prefix}\n\n{response}"
655
+ if self.response_postfix:
656
+ response = f"{response}\n\n{self.response_postfix}"
645
657
  return FunctionResult(response)
646
658
 
647
659
  except Exception as e:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: signalwire-sdk
3
- Version: 3.0.2.dev37
3
+ Version: 3.0.2.dev39
4
4
  Summary: SignalWire SDK
5
5
  Author-email: SignalWire Team <info@signalwire.com>
6
6
  License: MIT