signalwire-sdk 3.2.0.dev87__tar.gz → 3.2.0.dev89__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 (247) hide show
  1. {signalwire_sdk-3.2.0.dev87/signalwire/signalwire_sdk.egg-info → signalwire_sdk-3.2.0.dev89}/PKG-INFO +1 -1
  2. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/pyproject.toml +1 -1
  3. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/__init__.py +1 -1
  4. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/agent_server.py +1 -1
  5. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/cli/dokku.py +4 -4
  6. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/cli/init_project.py +4 -4
  7. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/rest/_pagination.py +8 -1
  8. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/skills/datasphere/skill.py +1 -1
  9. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/skills/datasphere_serverless/skill.py +1 -1
  10. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/skills/math/README.md +3 -2
  11. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89/signalwire/signalwire_sdk.egg-info}/PKG-INFO +1 -1
  12. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/LICENSE +0 -0
  13. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/README.md +0 -0
  14. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/man/sw-agent-init.1 +0 -0
  15. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/man/sw-search.1 +0 -0
  16. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/man/swaig-test.1 +0 -0
  17. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/setup.cfg +0 -0
  18. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/setup.py +0 -0
  19. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/agents/bedrock.py +0 -0
  20. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/cli/__init__.py +0 -0
  21. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/cli/build_search.py +0 -0
  22. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/cli/config.py +0 -0
  23. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/cli/core/__init__.py +0 -0
  24. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/cli/core/agent_loader.py +0 -0
  25. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/cli/core/argparse_helpers.py +0 -0
  26. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/cli/core/dynamic_config.py +0 -0
  27. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/cli/core/service_loader.py +0 -0
  28. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/cli/execution/__init__.py +0 -0
  29. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/cli/execution/datamap_exec.py +0 -0
  30. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/cli/execution/webhook_exec.py +0 -0
  31. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/cli/output/__init__.py +0 -0
  32. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/cli/output/output_formatter.py +0 -0
  33. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/cli/output/swml_dump.py +0 -0
  34. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/cli/simulation/__init__.py +0 -0
  35. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/cli/simulation/data_generation.py +0 -0
  36. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/cli/simulation/data_overrides.py +0 -0
  37. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/cli/simulation/mock_env.py +0 -0
  38. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/cli/swaig_test_wrapper.py +0 -0
  39. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/cli/test_swaig.py +0 -0
  40. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/cli/types.py +0 -0
  41. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/core/__init__.py +0 -0
  42. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/core/_agent_host.py +0 -0
  43. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/core/agent/__init__.py +0 -0
  44. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/core/agent/config/__init__.py +0 -0
  45. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/core/agent/deployment/__init__.py +0 -0
  46. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/core/agent/deployment/handlers/__init__.py +0 -0
  47. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/core/agent/prompt/__init__.py +0 -0
  48. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/core/agent/prompt/manager.py +0 -0
  49. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/core/agent/routing/__init__.py +0 -0
  50. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/core/agent/security/__init__.py +0 -0
  51. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/core/agent/swml/__init__.py +0 -0
  52. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/core/agent/tools/__init__.py +0 -0
  53. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/core/agent/tools/decorator.py +0 -0
  54. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/core/agent/tools/registry.py +0 -0
  55. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/core/agent/tools/type_inference.py +0 -0
  56. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/core/agent_base.py +0 -0
  57. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/core/auth_handler.py +0 -0
  58. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/core/config_loader.py +0 -0
  59. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/core/contexts.py +0 -0
  60. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/core/data_map.py +0 -0
  61. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/core/function_result.py +0 -0
  62. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/core/logging_config.py +0 -0
  63. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/core/mixins/__init__.py +0 -0
  64. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/core/mixins/_mixin_host.py +0 -0
  65. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/core/mixins/ai_config_mixin.py +0 -0
  66. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/core/mixins/auth_mixin.py +0 -0
  67. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/core/mixins/mcp_server_mixin.py +0 -0
  68. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/core/mixins/prompt_mixin.py +0 -0
  69. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/core/mixins/serverless_mixin.py +0 -0
  70. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/core/mixins/skill_mixin.py +0 -0
  71. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/core/mixins/state_mixin.py +0 -0
  72. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/core/mixins/tool_mixin.py +0 -0
  73. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/core/mixins/web_mixin.py +0 -0
  74. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/core/pom_builder.py +0 -0
  75. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/core/post_prompt_generated.py +0 -0
  76. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/core/security/__init__.py +0 -0
  77. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/core/security/security_utils.py +0 -0
  78. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/core/security/session_manager.py +0 -0
  79. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/core/security/webhook_middleware.py +0 -0
  80. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/core/security/webhook_validator.py +0 -0
  81. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/core/security_config.py +0 -0
  82. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/core/skill_base.py +0 -0
  83. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/core/skill_manager.py +0 -0
  84. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/core/swaig_actions_generated.py +0 -0
  85. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/core/swaig_function.py +0 -0
  86. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/core/swaig_request_generated.py +0 -0
  87. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/core/swml_builder.py +0 -0
  88. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/core/swml_handler.py +0 -0
  89. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/core/swml_renderer.py +0 -0
  90. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/core/swml_service.py +0 -0
  91. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/core/swml_verbs_generated.py +0 -0
  92. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/core/web.py +0 -0
  93. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/livewire/__init__.py +0 -0
  94. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/livewire/plugins.py +0 -0
  95. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/mcp_gateway/__init__.py +0 -0
  96. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/mcp_gateway/gateway_service.py +0 -0
  97. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/mcp_gateway/mcp_manager.py +0 -0
  98. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/mcp_gateway/session_manager.py +0 -0
  99. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/pom/__init__.py +0 -0
  100. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/pom/pom.py +0 -0
  101. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/pom/pom_tool.py +0 -0
  102. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/prefabs/__init__.py +0 -0
  103. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/prefabs/concierge.py +0 -0
  104. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/prefabs/faq_bot.py +0 -0
  105. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/prefabs/info_gatherer.py +0 -0
  106. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/prefabs/receptionist.py +0 -0
  107. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/prefabs/survey.py +0 -0
  108. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/py.typed +0 -0
  109. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/relay/__init__.py +0 -0
  110. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/relay/call.py +0 -0
  111. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/relay/client.py +0 -0
  112. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/relay/constants.py +0 -0
  113. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/relay/event.py +0 -0
  114. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/relay/message.py +0 -0
  115. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/relay/protocol_types_generated.py +0 -0
  116. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/rest/__init__.py +0 -0
  117. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/rest/_base.py +0 -0
  118. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/rest/call_handler.py +0 -0
  119. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/rest/client.py +0 -0
  120. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/rest/namespaces/__init__.py +0 -0
  121. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/rest/namespaces/_client_tree_generated.py +0 -0
  122. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/rest/namespaces/addresses.py +0 -0
  123. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/rest/namespaces/calling.py +0 -0
  124. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/rest/namespaces/calling_resources_generated.py +0 -0
  125. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/rest/namespaces/calling_types_generated.py +0 -0
  126. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/rest/namespaces/chat.py +0 -0
  127. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/rest/namespaces/chat_resources_generated.py +0 -0
  128. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/rest/namespaces/chat_types_generated.py +0 -0
  129. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/rest/namespaces/datasphere.py +0 -0
  130. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/rest/namespaces/datasphere_resources_generated.py +0 -0
  131. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/rest/namespaces/datasphere_types_generated.py +0 -0
  132. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/rest/namespaces/fabric.py +0 -0
  133. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/rest/namespaces/fabric_resources_generated.py +0 -0
  134. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/rest/namespaces/fabric_types_generated.py +0 -0
  135. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/rest/namespaces/fax_resources_generated.py +0 -0
  136. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/rest/namespaces/fax_types_generated.py +0 -0
  137. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/rest/namespaces/imported_numbers.py +0 -0
  138. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/rest/namespaces/logs.py +0 -0
  139. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/rest/namespaces/logs_resources_generated.py +0 -0
  140. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/rest/namespaces/logs_types_generated.py +0 -0
  141. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/rest/namespaces/lookup.py +0 -0
  142. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/rest/namespaces/message_resources_generated.py +0 -0
  143. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/rest/namespaces/message_types_generated.py +0 -0
  144. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/rest/namespaces/messages_resources_generated.py +0 -0
  145. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/rest/namespaces/messages_types_generated.py +0 -0
  146. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/rest/namespaces/mfa.py +0 -0
  147. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/rest/namespaces/number_groups.py +0 -0
  148. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/rest/namespaces/phone_numbers.py +0 -0
  149. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/rest/namespaces/project.py +0 -0
  150. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/rest/namespaces/project_resources_generated.py +0 -0
  151. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/rest/namespaces/project_types_generated.py +0 -0
  152. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/rest/namespaces/projects_resources_generated.py +0 -0
  153. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/rest/namespaces/projects_types_generated.py +0 -0
  154. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/rest/namespaces/pubsub.py +0 -0
  155. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/rest/namespaces/pubsub_resources_generated.py +0 -0
  156. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/rest/namespaces/pubsub_types_generated.py +0 -0
  157. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/rest/namespaces/queues.py +0 -0
  158. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/rest/namespaces/recordings.py +0 -0
  159. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/rest/namespaces/registry.py +0 -0
  160. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/rest/namespaces/relay_rest_resources_generated.py +0 -0
  161. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/rest/namespaces/relay_rest_types_generated.py +0 -0
  162. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/rest/namespaces/short_codes.py +0 -0
  163. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/rest/namespaces/sip_profile.py +0 -0
  164. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/rest/namespaces/swml_webhooks_types_generated.py +0 -0
  165. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/rest/namespaces/verified_callers.py +0 -0
  166. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/rest/namespaces/video.py +0 -0
  167. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/rest/namespaces/video_resources_generated.py +0 -0
  168. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/rest/namespaces/video_types_generated.py +0 -0
  169. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/rest/namespaces/voice_resources_generated.py +0 -0
  170. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/rest/namespaces/voice_types_generated.py +0 -0
  171. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/schema.json +0 -0
  172. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/search/__init__.py +0 -0
  173. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/search/document_processor.py +0 -0
  174. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/search/index_builder.py +0 -0
  175. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/search/migration.py +0 -0
  176. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/search/models.py +0 -0
  177. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/search/pgvector_backend.py +0 -0
  178. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/search/query_processor.py +0 -0
  179. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/search/search_engine.py +0 -0
  180. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/search/search_service.py +0 -0
  181. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/skills/README.md +0 -0
  182. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/skills/__init__.py +0 -0
  183. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/skills/api_ninjas_trivia/README.md +0 -0
  184. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/skills/api_ninjas_trivia/__init__.py +0 -0
  185. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/skills/api_ninjas_trivia/skill.py +0 -0
  186. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/skills/claude_skills/README.md +0 -0
  187. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/skills/claude_skills/__init__.py +0 -0
  188. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/skills/claude_skills/skill.py +0 -0
  189. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/skills/datasphere/README.md +0 -0
  190. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/skills/datasphere/__init__.py +0 -0
  191. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/skills/datasphere_serverless/README.md +0 -0
  192. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/skills/datasphere_serverless/__init__.py +0 -0
  193. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/skills/datetime/README.md +0 -0
  194. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/skills/datetime/__init__.py +0 -0
  195. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/skills/datetime/skill.py +0 -0
  196. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/skills/google_maps/__init__.py +0 -0
  197. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/skills/google_maps/skill.py +0 -0
  198. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/skills/info_gatherer/README.md +0 -0
  199. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/skills/info_gatherer/__init__.py +0 -0
  200. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/skills/info_gatherer/skill.py +0 -0
  201. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/skills/joke/README.md +0 -0
  202. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/skills/joke/__init__.py +0 -0
  203. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/skills/joke/skill.py +0 -0
  204. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/skills/math/__init__.py +0 -0
  205. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/skills/math/skill.py +0 -0
  206. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/skills/mcp_gateway/README.md +0 -0
  207. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/skills/mcp_gateway/__init__.py +0 -0
  208. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/skills/mcp_gateway/skill.py +0 -0
  209. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/skills/native_vector_search/README.md +0 -0
  210. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/skills/native_vector_search/__init__.py +0 -0
  211. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/skills/native_vector_search/skill.py +0 -0
  212. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/skills/play_background_file/README.md +0 -0
  213. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/skills/play_background_file/__init__.py +0 -0
  214. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/skills/play_background_file/skill.py +0 -0
  215. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/skills/registry.py +0 -0
  216. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/skills/spider/README.md +0 -0
  217. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/skills/spider/__init__.py +0 -0
  218. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/skills/spider/skill.py +0 -0
  219. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/skills/swml_transfer/README.md +0 -0
  220. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/skills/swml_transfer/__init__.py +0 -0
  221. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/skills/swml_transfer/skill.py +0 -0
  222. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/skills/weather_api/README.md +0 -0
  223. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/skills/weather_api/__init__.py +0 -0
  224. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/skills/weather_api/skill.py +0 -0
  225. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/skills/web_search/README.md +0 -0
  226. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/skills/web_search/__init__.py +0 -0
  227. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/skills/web_search/skill.py +0 -0
  228. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/skills/web_search/skill_improved.py +0 -0
  229. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/skills/web_search/skill_original.py +0 -0
  230. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/skills/wikipedia_search/README.md +0 -0
  231. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/skills/wikipedia_search/__init__.py +0 -0
  232. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/skills/wikipedia_search/skill.py +0 -0
  233. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/utils/__init__.py +0 -0
  234. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/utils/pom_utils.py +0 -0
  235. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/utils/schema_utils.py +0 -0
  236. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/utils/token_generators.py +0 -0
  237. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/utils/url_validator.py +0 -0
  238. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/utils/validators.py +0 -0
  239. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/web/__init__.py +0 -0
  240. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire/web/web_service.py +0 -0
  241. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire_sdk.egg-info/SOURCES.txt +0 -0
  242. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire_sdk.egg-info/dependency_links.txt +0 -0
  243. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire_sdk.egg-info/entry_points.txt +0 -0
  244. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire_sdk.egg-info/requires.txt +0 -0
  245. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/signalwire/signalwire_sdk.egg-info/top_level.txt +0 -0
  246. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/tests/test_examples.py +0 -0
  247. {signalwire_sdk-3.2.0.dev87 → signalwire_sdk-3.2.0.dev89}/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.2.0.dev87
3
+ Version: 3.2.0.dev89
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.2.0.dev87"
7
+ version = "3.2.0.dev89"
8
8
  description = "SignalWire SDK"
9
9
  authors = [
10
10
  {name = "SignalWire Team", email = "info@signalwire.com"}
@@ -24,7 +24,7 @@ if TYPE_CHECKING:
24
24
 
25
25
  configure_logging()
26
26
 
27
- __version__ = "3.2.0.dev87"
27
+ __version__ = "3.2.0.dev89"
28
28
 
29
29
  # Import core classes for easier access.
30
30
  # These imports are intentionally placed after configure_logging() so the SDK's
@@ -68,7 +68,7 @@ class AgentServer:
68
68
  self.app = FastAPI(
69
69
  title="SignalWire AI Agents",
70
70
  description="Hosted SignalWire AI Agents",
71
- version="3.2.0.dev87",
71
+ version="3.2.0.dev89",
72
72
  redirect_slashes=False,
73
73
  docs_url=None,
74
74
  redoc_url=None,
@@ -144,7 +144,7 @@ ENV_EXAMPLE_TEMPLATE = """# SignalWire Agent Configuration
144
144
  # SignalWire Credentials (required for WebRTC calling)
145
145
  SIGNALWIRE_SPACE_NAME=your-space
146
146
  SIGNALWIRE_PROJECT_ID=your-project-id
147
- SIGNALWIRE_TOKEN=your-api-token
147
+ SIGNALWIRE_API_TOKEN=your-api-token
148
148
 
149
149
  # Public URL for SWML callbacks (required for WebRTC calling)
150
150
  # This should be your publicly accessible URL (e.g., ngrok, dokku domain)
@@ -381,7 +381,7 @@ def setup_swml_handler():
381
381
  """Set up SWML handler on startup."""
382
382
  sw_host = get_signalwire_host()
383
383
  project = os.getenv("SIGNALWIRE_PROJECT_ID", "")
384
- token = os.getenv("SIGNALWIRE_TOKEN", "")
384
+ token = os.getenv("SIGNALWIRE_API_TOKEN", "")
385
385
  agent_name = os.getenv("AGENT_NAME", "{agent_slug}")
386
386
  proxy_url = os.getenv("SWML_PROXY_URL_BASE", os.getenv("APP_URL", ""))
387
387
  auth_user = os.getenv("SWML_BASIC_AUTH_USER", "signalwire")
@@ -478,7 +478,7 @@ def get_token():
478
478
  """Get a guest token for WebRTC calls."""
479
479
  sw_host = get_signalwire_host()
480
480
  project = os.getenv("SIGNALWIRE_PROJECT_ID", "")
481
- token = os.getenv("SIGNALWIRE_TOKEN", "")
481
+ token = os.getenv("SIGNALWIRE_API_TOKEN", "")
482
482
 
483
483
  if not all([sw_host, project, token]):
484
484
  return JSONResponse({{"error": "SignalWire credentials not configured"}}, status_code=500)
@@ -1315,7 +1315,7 @@ APP_JSON_TEMPLATE = """{{
1315
1315
  "description": "SignalWire project ID",
1316
1316
  "required": true
1317
1317
  }},
1318
- "SIGNALWIRE_TOKEN": {{
1318
+ "SIGNALWIRE_API_TOKEN": {{
1319
1319
  "description": "SignalWire API token",
1320
1320
  "required": true
1321
1321
  }},
@@ -133,7 +133,7 @@ def get_env_credentials() -> dict[str, str]:
133
133
  return {
134
134
  "space": os.environ.get("SIGNALWIRE_SPACE_NAME", ""),
135
135
  "project": os.environ.get("SIGNALWIRE_PROJECT_ID", ""),
136
- "token": os.environ.get("SIGNALWIRE_TOKEN", ""),
136
+ "token": os.environ.get("SIGNALWIRE_API_TOKEN", ""),
137
137
  }
138
138
 
139
139
 
@@ -192,7 +192,7 @@ Thumbs.db
192
192
  TEMPLATE_ENV_EXAMPLE = """# SignalWire Credentials
193
193
  SIGNALWIRE_SPACE_NAME=your-space
194
194
  SIGNALWIRE_PROJECT_ID=your-project-id
195
- SIGNALWIRE_TOKEN=your-api-token
195
+ SIGNALWIRE_API_TOKEN=your-api-token
196
196
 
197
197
  # Agent Server Configuration
198
198
  HOST=0.0.0.0
@@ -1719,7 +1719,7 @@ Edit `.env` to configure:
1719
1719
  |----------|-------------|
1720
1720
  | `SIGNALWIRE_SPACE_NAME` | Your SignalWire space name |
1721
1721
  | `SIGNALWIRE_PROJECT_ID` | Your SignalWire project ID |
1722
- | `SIGNALWIRE_TOKEN` | Your SignalWire API token |
1722
+ | `SIGNALWIRE_API_TOKEN` | Your SignalWire API token |
1723
1723
  | `HOST` | Server host (default: 0.0.0.0) |
1724
1724
  | `PORT` | Server port (default: 5000) |
1725
1725
 
@@ -2317,7 +2317,7 @@ Set your phone number's SWML URL to the endpoint URL shown after deployment.
2317
2317
  env_content = f"""# SignalWire Credentials
2318
2318
  SIGNALWIRE_SPACE_NAME={self.credentials.get("space", "")}
2319
2319
  SIGNALWIRE_PROJECT_ID={self.credentials.get("project", "")}
2320
- SIGNALWIRE_TOKEN={self.credentials.get("token", "")}
2320
+ SIGNALWIRE_API_TOKEN={self.credentials.get("token", "")}
2321
2321
 
2322
2322
  # Agent Server Configuration
2323
2323
  HOST=0.0.0.0
@@ -62,7 +62,14 @@ class PaginatedIterator:
62
62
 
63
63
  links = resp.get("links", {})
64
64
  next_url = links.get("next")
65
- if next_url and data:
65
+ # Termination is driven ONLY by the absence of a next link, NOT by an
66
+ # empty ``data`` array on this page. A page can legitimately carry a
67
+ # ``links.next`` (more pages exist) while returning zero items on THIS
68
+ # page — e.g. a filtered page that happens to match nothing here. The
69
+ # old ``next_url and data`` condition stopped on such a page and
70
+ # silently dropped every subsequent page; iterate while a next link
71
+ # exists, empty page or not.
72
+ if next_url:
66
73
  # Parse cursor/page token from next URL if present
67
74
  # Most SignalWire APIs use page_token or cursor param
68
75
  from urllib.parse import urlparse, parse_qs
@@ -51,7 +51,7 @@ class DataSphereSkill(SkillBase):
51
51
  "description": "SignalWire API token",
52
52
  "required": True,
53
53
  "hidden": True,
54
- "env_var": "SIGNALWIRE_TOKEN",
54
+ "env_var": "SIGNALWIRE_API_TOKEN",
55
55
  },
56
56
  "document_id": {
57
57
  "type": "string",
@@ -55,7 +55,7 @@ class DataSphereServerlessSkill(SkillBase):
55
55
  "description": "SignalWire API token",
56
56
  "required": True,
57
57
  "hidden": True,
58
- "env_var": "SIGNALWIRE_TOKEN",
58
+ "env_var": "SIGNALWIRE_API_TOKEN",
59
59
  },
60
60
  "document_id": {
61
61
  "type": "string",
@@ -116,8 +116,9 @@ The calculate tool accepts one parameter:
116
116
  - Uses regex pattern matching for character validation
117
117
 
118
118
  ### Safe Evaluation
119
- - Uses Python's `eval()` with restricted builtins (empty `__builtins__`)
120
- - No access to system functions or imports
119
+ - Parses the expression to an AST (`ast.parse(..., mode="eval")`) and walks it with a restricted evaluator that only permits numeric constants and a fixed set of arithmetic operators (`+`, `-`, `*`, `/`, `%`, `**`, unary `+`/`-`)
120
+ - Never calls Python's built-in `eval`, so there is no access to names, attributes, calls, system functions, or imports
121
+ - Caps the exponent to prevent resource exhaustion
121
122
  - Cannot execute arbitrary code
122
123
 
123
124
  ### Error Handling
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: signalwire-sdk
3
- Version: 3.2.0.dev87
3
+ Version: 3.2.0.dev89
4
4
  Summary: SignalWire SDK
5
5
  Author-email: SignalWire Team <info@signalwire.com>
6
6
  License: MIT