signalwire-sdk 3.0.2.dev81__tar.gz → 3.2.0.dev83__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.0.2.dev81/signalwire/signalwire_sdk.egg-info → signalwire_sdk-3.2.0.dev83}/PKG-INFO +1 -1
  2. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/pyproject.toml +1 -1
  3. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/__init__.py +1 -1
  4. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/agent_server.py +1 -1
  5. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/rest/namespaces/_client_tree_generated.py +8 -0
  6. signalwire_sdk-3.2.0.dev83/signalwire/signalwire/rest/namespaces/messages_resources_generated.py +71 -0
  7. signalwire_sdk-3.2.0.dev83/signalwire/signalwire/rest/namespaces/messages_types_generated.py +145 -0
  8. signalwire_sdk-3.2.0.dev83/signalwire/signalwire/rest/namespaces/projects_resources_generated.py +92 -0
  9. signalwire_sdk-3.2.0.dev83/signalwire/signalwire/rest/namespaces/projects_types_generated.py +122 -0
  10. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83/signalwire/signalwire_sdk.egg-info}/PKG-INFO +1 -1
  11. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire_sdk.egg-info/SOURCES.txt +4 -0
  12. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/LICENSE +0 -0
  13. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/README.md +0 -0
  14. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/man/sw-agent-init.1 +0 -0
  15. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/man/sw-search.1 +0 -0
  16. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/man/swaig-test.1 +0 -0
  17. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/setup.cfg +0 -0
  18. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/setup.py +0 -0
  19. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/agents/bedrock.py +0 -0
  20. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/cli/__init__.py +0 -0
  21. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/cli/build_search.py +0 -0
  22. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/cli/config.py +0 -0
  23. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/cli/core/__init__.py +0 -0
  24. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/cli/core/agent_loader.py +0 -0
  25. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/cli/core/argparse_helpers.py +0 -0
  26. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/cli/core/dynamic_config.py +0 -0
  27. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/cli/core/service_loader.py +0 -0
  28. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/cli/dokku.py +0 -0
  29. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/cli/execution/__init__.py +0 -0
  30. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/cli/execution/datamap_exec.py +0 -0
  31. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/cli/execution/webhook_exec.py +0 -0
  32. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/cli/init_project.py +0 -0
  33. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/cli/output/__init__.py +0 -0
  34. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/cli/output/output_formatter.py +0 -0
  35. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/cli/output/swml_dump.py +0 -0
  36. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/cli/simulation/__init__.py +0 -0
  37. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/cli/simulation/data_generation.py +0 -0
  38. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/cli/simulation/data_overrides.py +0 -0
  39. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/cli/simulation/mock_env.py +0 -0
  40. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/cli/swaig_test_wrapper.py +0 -0
  41. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/cli/test_swaig.py +0 -0
  42. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/cli/types.py +0 -0
  43. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/core/__init__.py +0 -0
  44. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/core/_agent_host.py +0 -0
  45. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/core/agent/__init__.py +0 -0
  46. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/core/agent/config/__init__.py +0 -0
  47. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/core/agent/deployment/__init__.py +0 -0
  48. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/core/agent/deployment/handlers/__init__.py +0 -0
  49. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/core/agent/prompt/__init__.py +0 -0
  50. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/core/agent/prompt/manager.py +0 -0
  51. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/core/agent/routing/__init__.py +0 -0
  52. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/core/agent/security/__init__.py +0 -0
  53. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/core/agent/swml/__init__.py +0 -0
  54. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/core/agent/tools/__init__.py +0 -0
  55. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/core/agent/tools/decorator.py +0 -0
  56. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/core/agent/tools/registry.py +0 -0
  57. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/core/agent/tools/type_inference.py +0 -0
  58. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/core/agent_base.py +0 -0
  59. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/core/auth_handler.py +0 -0
  60. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/core/config_loader.py +0 -0
  61. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/core/contexts.py +0 -0
  62. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/core/data_map.py +0 -0
  63. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/core/function_result.py +0 -0
  64. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/core/logging_config.py +0 -0
  65. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/core/mixins/__init__.py +0 -0
  66. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/core/mixins/_mixin_host.py +0 -0
  67. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/core/mixins/ai_config_mixin.py +0 -0
  68. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/core/mixins/auth_mixin.py +0 -0
  69. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/core/mixins/mcp_server_mixin.py +0 -0
  70. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/core/mixins/prompt_mixin.py +0 -0
  71. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/core/mixins/serverless_mixin.py +0 -0
  72. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/core/mixins/skill_mixin.py +0 -0
  73. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/core/mixins/state_mixin.py +0 -0
  74. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/core/mixins/tool_mixin.py +0 -0
  75. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/core/mixins/web_mixin.py +0 -0
  76. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/core/pom_builder.py +0 -0
  77. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/core/post_prompt_generated.py +0 -0
  78. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/core/security/__init__.py +0 -0
  79. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/core/security/security_utils.py +0 -0
  80. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/core/security/session_manager.py +0 -0
  81. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/core/security/webhook_middleware.py +0 -0
  82. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/core/security/webhook_validator.py +0 -0
  83. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/core/security_config.py +0 -0
  84. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/core/skill_base.py +0 -0
  85. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/core/skill_manager.py +0 -0
  86. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/core/swaig_actions_generated.py +0 -0
  87. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/core/swaig_function.py +0 -0
  88. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/core/swaig_request_generated.py +0 -0
  89. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/core/swml_builder.py +0 -0
  90. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/core/swml_handler.py +0 -0
  91. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/core/swml_renderer.py +0 -0
  92. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/core/swml_service.py +0 -0
  93. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/core/swml_verbs_generated.py +0 -0
  94. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/core/web.py +0 -0
  95. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/livewire/__init__.py +0 -0
  96. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/livewire/plugins.py +0 -0
  97. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/mcp_gateway/__init__.py +0 -0
  98. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/mcp_gateway/gateway_service.py +0 -0
  99. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/mcp_gateway/mcp_manager.py +0 -0
  100. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/mcp_gateway/session_manager.py +0 -0
  101. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/pom/__init__.py +0 -0
  102. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/pom/pom.py +0 -0
  103. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/pom/pom_tool.py +0 -0
  104. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/prefabs/__init__.py +0 -0
  105. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/prefabs/concierge.py +0 -0
  106. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/prefabs/faq_bot.py +0 -0
  107. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/prefabs/info_gatherer.py +0 -0
  108. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/prefabs/receptionist.py +0 -0
  109. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/prefabs/survey.py +0 -0
  110. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/py.typed +0 -0
  111. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/relay/__init__.py +0 -0
  112. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/relay/call.py +0 -0
  113. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/relay/client.py +0 -0
  114. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/relay/constants.py +0 -0
  115. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/relay/event.py +0 -0
  116. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/relay/message.py +0 -0
  117. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/relay/protocol_types_generated.py +0 -0
  118. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/rest/__init__.py +0 -0
  119. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/rest/_base.py +0 -0
  120. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/rest/_pagination.py +0 -0
  121. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/rest/call_handler.py +0 -0
  122. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/rest/client.py +0 -0
  123. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/rest/namespaces/__init__.py +0 -0
  124. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/rest/namespaces/addresses.py +0 -0
  125. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/rest/namespaces/calling.py +0 -0
  126. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/rest/namespaces/calling_resources_generated.py +0 -0
  127. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/rest/namespaces/calling_types_generated.py +0 -0
  128. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/rest/namespaces/chat.py +0 -0
  129. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/rest/namespaces/chat_resources_generated.py +0 -0
  130. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/rest/namespaces/chat_types_generated.py +0 -0
  131. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/rest/namespaces/datasphere.py +0 -0
  132. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/rest/namespaces/datasphere_resources_generated.py +0 -0
  133. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/rest/namespaces/datasphere_types_generated.py +0 -0
  134. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/rest/namespaces/fabric.py +0 -0
  135. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/rest/namespaces/fabric_resources_generated.py +0 -0
  136. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/rest/namespaces/fabric_types_generated.py +0 -0
  137. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/rest/namespaces/fax_resources_generated.py +0 -0
  138. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/rest/namespaces/fax_types_generated.py +0 -0
  139. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/rest/namespaces/imported_numbers.py +0 -0
  140. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/rest/namespaces/logs.py +0 -0
  141. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/rest/namespaces/logs_resources_generated.py +0 -0
  142. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/rest/namespaces/logs_types_generated.py +0 -0
  143. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/rest/namespaces/lookup.py +0 -0
  144. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/rest/namespaces/message_resources_generated.py +0 -0
  145. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/rest/namespaces/message_types_generated.py +0 -0
  146. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/rest/namespaces/mfa.py +0 -0
  147. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/rest/namespaces/number_groups.py +0 -0
  148. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/rest/namespaces/phone_numbers.py +0 -0
  149. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/rest/namespaces/project.py +0 -0
  150. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/rest/namespaces/project_resources_generated.py +0 -0
  151. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/rest/namespaces/project_types_generated.py +0 -0
  152. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/rest/namespaces/pubsub.py +0 -0
  153. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/rest/namespaces/pubsub_resources_generated.py +0 -0
  154. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/rest/namespaces/pubsub_types_generated.py +0 -0
  155. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/rest/namespaces/queues.py +0 -0
  156. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/rest/namespaces/recordings.py +0 -0
  157. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/rest/namespaces/registry.py +0 -0
  158. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/rest/namespaces/relay_rest_resources_generated.py +0 -0
  159. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/rest/namespaces/relay_rest_types_generated.py +0 -0
  160. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/rest/namespaces/short_codes.py +0 -0
  161. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/rest/namespaces/sip_profile.py +0 -0
  162. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/rest/namespaces/swml_webhooks_types_generated.py +0 -0
  163. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/rest/namespaces/verified_callers.py +0 -0
  164. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/rest/namespaces/video.py +0 -0
  165. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/rest/namespaces/video_resources_generated.py +0 -0
  166. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/rest/namespaces/video_types_generated.py +0 -0
  167. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/rest/namespaces/voice_resources_generated.py +0 -0
  168. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/rest/namespaces/voice_types_generated.py +0 -0
  169. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/schema.json +0 -0
  170. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/search/__init__.py +0 -0
  171. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/search/document_processor.py +0 -0
  172. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/search/index_builder.py +0 -0
  173. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/search/migration.py +0 -0
  174. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/search/models.py +0 -0
  175. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/search/pgvector_backend.py +0 -0
  176. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/search/query_processor.py +0 -0
  177. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/search/search_engine.py +0 -0
  178. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/search/search_service.py +0 -0
  179. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/skills/README.md +0 -0
  180. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/skills/__init__.py +0 -0
  181. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/skills/api_ninjas_trivia/README.md +0 -0
  182. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/skills/api_ninjas_trivia/__init__.py +0 -0
  183. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/skills/api_ninjas_trivia/skill.py +0 -0
  184. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/skills/claude_skills/README.md +0 -0
  185. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/skills/claude_skills/__init__.py +0 -0
  186. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/skills/claude_skills/skill.py +0 -0
  187. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/skills/datasphere/README.md +0 -0
  188. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/skills/datasphere/__init__.py +0 -0
  189. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/skills/datasphere/skill.py +0 -0
  190. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/skills/datasphere_serverless/README.md +0 -0
  191. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/skills/datasphere_serverless/__init__.py +0 -0
  192. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/skills/datasphere_serverless/skill.py +0 -0
  193. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/skills/datetime/README.md +0 -0
  194. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/skills/datetime/__init__.py +0 -0
  195. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/skills/datetime/skill.py +0 -0
  196. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/skills/google_maps/__init__.py +0 -0
  197. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/skills/google_maps/skill.py +0 -0
  198. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/skills/info_gatherer/README.md +0 -0
  199. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/skills/info_gatherer/__init__.py +0 -0
  200. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/skills/info_gatherer/skill.py +0 -0
  201. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/skills/joke/README.md +0 -0
  202. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/skills/joke/__init__.py +0 -0
  203. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/skills/joke/skill.py +0 -0
  204. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/skills/math/README.md +0 -0
  205. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/skills/math/__init__.py +0 -0
  206. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/skills/math/skill.py +0 -0
  207. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/skills/mcp_gateway/README.md +0 -0
  208. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/skills/mcp_gateway/__init__.py +0 -0
  209. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/skills/mcp_gateway/skill.py +0 -0
  210. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/skills/native_vector_search/README.md +0 -0
  211. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/skills/native_vector_search/__init__.py +0 -0
  212. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/skills/native_vector_search/skill.py +0 -0
  213. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/skills/play_background_file/README.md +0 -0
  214. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/skills/play_background_file/__init__.py +0 -0
  215. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/skills/play_background_file/skill.py +0 -0
  216. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/skills/registry.py +0 -0
  217. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/skills/spider/README.md +0 -0
  218. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/skills/spider/__init__.py +0 -0
  219. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/skills/spider/skill.py +0 -0
  220. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/skills/swml_transfer/README.md +0 -0
  221. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/skills/swml_transfer/__init__.py +0 -0
  222. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/skills/swml_transfer/skill.py +0 -0
  223. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/skills/weather_api/README.md +0 -0
  224. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/skills/weather_api/__init__.py +0 -0
  225. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/skills/weather_api/skill.py +0 -0
  226. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/skills/web_search/README.md +0 -0
  227. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/skills/web_search/__init__.py +0 -0
  228. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/skills/web_search/skill.py +0 -0
  229. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/skills/web_search/skill_improved.py +0 -0
  230. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/skills/web_search/skill_original.py +0 -0
  231. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/skills/wikipedia_search/README.md +0 -0
  232. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/skills/wikipedia_search/__init__.py +0 -0
  233. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/skills/wikipedia_search/skill.py +0 -0
  234. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/utils/__init__.py +0 -0
  235. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/utils/pom_utils.py +0 -0
  236. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/utils/schema_utils.py +0 -0
  237. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/utils/token_generators.py +0 -0
  238. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/utils/url_validator.py +0 -0
  239. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/utils/validators.py +0 -0
  240. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/web/__init__.py +0 -0
  241. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire/web/web_service.py +0 -0
  242. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire_sdk.egg-info/dependency_links.txt +0 -0
  243. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire_sdk.egg-info/entry_points.txt +0 -0
  244. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire_sdk.egg-info/requires.txt +0 -0
  245. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/signalwire/signalwire_sdk.egg-info/top_level.txt +0 -0
  246. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/tests/test_examples.py +0 -0
  247. {signalwire_sdk-3.0.2.dev81 → signalwire_sdk-3.2.0.dev83}/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.dev81
3
+ Version: 3.2.0.dev83
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.dev81"
7
+ version = "3.2.0.dev83"
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.0.2.dev81"
27
+ __version__ = "3.2.0.dev83"
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.0.2.dev81",
71
+ version="3.2.0.dev83",
72
72
  redirect_slashes=False,
73
73
  docs_url=None,
74
74
  redoc_url=None,
@@ -43,9 +43,15 @@ from .logs_resources_generated import (
43
43
  from .message_resources_generated import (
44
44
  MessageLogs,
45
45
  )
46
+ from .messages_resources_generated import (
47
+ Messages,
48
+ )
46
49
  from .project_resources_generated import (
47
50
  ProjectTokens,
48
51
  )
52
+ from .projects_resources_generated import (
53
+ Projects,
54
+ )
49
55
  from .pubsub_resources_generated import (
50
56
  PubSub,
51
57
  )
@@ -158,9 +164,11 @@ class _GeneratedResourceTree:
158
164
  self.chat = Chat(http)
159
165
  self.imported_numbers = ImportedNumbers(http)
160
166
  self.lookup = Lookup(http)
167
+ self.messages = Messages(http)
161
168
  self.mfa = Mfa(http)
162
169
  self.number_groups = NumberGroups(http)
163
170
  self.phone_numbers = PhoneNumbers(http)
171
+ self.projects = Projects(http)
164
172
  self.pubsub = PubSub(http)
165
173
  self.queues = Queues(http)
166
174
  self.recordings = Recordings(http)
@@ -0,0 +1,71 @@
1
+ # AUTO-GENERATED from porting-sdk/rest-apis/messages/openapi.yaml — DO NOT EDIT.
2
+ # Regenerate: python3 porting-sdk/scripts/generate_python_rest_types.py
3
+ #
4
+ # One typed CRUD subclass per full-CRUD resource: closed typed create/update params
5
+ # (explicit spec fields) + an ``extras`` escape hatch and a ``**_reserved_kw`` tail for
6
+ # unknown / reserved-word wire fields, bound to the resource's spec types.
7
+ from __future__ import annotations
8
+
9
+ from typing import TYPE_CHECKING, Any, cast
10
+ from collections.abc import Mapping
11
+
12
+ from .._base import BaseResource
13
+
14
+ if TYPE_CHECKING:
15
+ from .messages_types_generated import (
16
+ Message,
17
+ )
18
+
19
+
20
+ class Messages(BaseResource):
21
+ """Typed resource for ``/messages`` (generated)."""
22
+
23
+ def __init__(self, http: Any) -> None:
24
+ super().__init__(http, "/api/messaging/messages")
25
+
26
+ def create(
27
+ self,
28
+ *,
29
+ to: str,
30
+ from_: str,
31
+ body: str | None = None,
32
+ media: list[str] | None = None,
33
+ send_as_mms: bool | None = None,
34
+ status_callback: str | None = None,
35
+ custom_variables: dict[str, str] | None = None,
36
+ extras: Mapping[str, Any] | None = None,
37
+ **_reserved_kw: Any,
38
+ ) -> Message:
39
+ body_: dict[str, Any] = {
40
+ k: v
41
+ for k, v in {
42
+ "to": to,
43
+ "from": from_,
44
+ "body": body,
45
+ "media": media,
46
+ "send_as_mms": send_as_mms,
47
+ "status_callback": status_callback,
48
+ "custom_variables": custom_variables,
49
+ }.items()
50
+ if v is not None
51
+ }
52
+ if extras:
53
+ body_.update(extras)
54
+ body_.update(_reserved_kw)
55
+ return cast("Message", self._http.post(self._base_path, body=body_))
56
+
57
+ def update(
58
+ self,
59
+ message_id: str,
60
+ *,
61
+ body: str,
62
+ extras: Mapping[str, Any] | None = None,
63
+ **_reserved_kw: Any,
64
+ ) -> Message:
65
+ body_: dict[str, Any] = {
66
+ k: v for k, v in {"body": body}.items() if v is not None
67
+ }
68
+ if extras:
69
+ body_.update(extras)
70
+ body_.update(_reserved_kw)
71
+ return cast("Message", self._http.patch(self._path(message_id), body=body_))
@@ -0,0 +1,145 @@
1
+ # AUTO-GENERATED from porting-sdk/rest-apis/messages/openapi.yaml — DO NOT EDIT.
2
+ # Regenerate: python3 porting-sdk/scripts/generate_python_rest_types.py
3
+ #
4
+ # One TypedDict per components/schemas entry + per-operation Request/Response
5
+ # aliases. TypedDicts are STATIC-ONLY: at runtime each is a plain dict, so a
6
+ # differently-shaped server response is returned unchanged and never raises.
7
+ from __future__ import annotations
8
+ from typing import Literal, TypeAlias, TypedDict
9
+
10
+
11
+ class CreateMessageRequest(TypedDict, total=False):
12
+ """Request body for sending a new SMS or MMS message.
13
+
14
+ Open shape: extra server keys are permitted and partial payloads are valid;
15
+ not validated at runtime (a TypedDict is a plain ``dict``).
16
+ """
17
+
18
+ to: str
19
+ # non-identifier field 'from': str
20
+ body: str
21
+ media: list[str]
22
+ send_as_mms: bool
23
+ status_callback: str
24
+ custom_variables: dict[str, str]
25
+
26
+
27
+ class UpdateMessageRequest(TypedDict, total=False):
28
+ """Request body for redacting the body of a previously sent message. Only `body` may be updated, and it must be an empty string.
29
+
30
+ Open shape: extra server keys are permitted and partial payloads are valid;
31
+ not validated at runtime (a TypedDict is a plain ``dict``).
32
+ """
33
+
34
+ body: str
35
+
36
+
37
+ class Message(TypedDict, total=False):
38
+ """A message record. Returned by the create and update endpoints.
39
+
40
+ Open shape: extra server keys are permitted and partial payloads are valid;
41
+ not validated at runtime (a TypedDict is a plain ``dict``).
42
+ """
43
+
44
+ id: uuid
45
+ # non-identifier field 'from': str
46
+ to: str
47
+ body: str
48
+ status: MessageStatus
49
+ direction: MessageDirection
50
+ kind: MessageKind
51
+ media: list[str]
52
+ number_of_segments: int
53
+ error_code: str | None
54
+ error_message: str | None
55
+ created_at: str
56
+ project_id: uuid
57
+ status_callback_url: str | None
58
+ message_uri: str
59
+
60
+
61
+ MessageStatus: TypeAlias = "Literal['queued', 'initiated', 'sent', 'delivered', 'undelivered', 'failed', 'read']"
62
+
63
+ MessageDirection: TypeAlias = "Literal['inbound', 'outbound']"
64
+
65
+ MessageKind: TypeAlias = "Literal['sms', 'mms']"
66
+
67
+
68
+ class MessagesCreateStatusCode422(TypedDict, total=False):
69
+ """The request contains invalid parameters. See errors for details.
70
+
71
+ Open shape: extra server keys are permitted and partial payloads are valid;
72
+ not validated at runtime (a TypedDict is a plain ``dict``).
73
+ """
74
+
75
+ errors: list[Types_StatusCodes_RestApiErrorItem]
76
+
77
+
78
+ class MessagesUpdateStatusCode422(TypedDict, total=False):
79
+ """The request contains invalid parameters. See errors for details.
80
+
81
+ Open shape: extra server keys are permitted and partial payloads are valid;
82
+ not validated at runtime (a TypedDict is a plain ``dict``).
83
+ """
84
+
85
+ errors: list[Types_StatusCodes_RestApiErrorItem]
86
+
87
+
88
+ class Types_StatusCodes_RestApiErrorItem(TypedDict, total=False):
89
+ """Details about a specific error.
90
+
91
+ Open shape: extra server keys are permitted and partial payloads are valid;
92
+ not validated at runtime (a TypedDict is a plain ``dict``).
93
+ """
94
+
95
+ type: str
96
+ code: str
97
+ message: str
98
+ attribute: str | None
99
+ url: str
100
+
101
+
102
+ class Types_StatusCodes_StatusCode400(TypedDict, total=False):
103
+ """The request is invalid.
104
+
105
+ Open shape: extra server keys are permitted and partial payloads are valid;
106
+ not validated at runtime (a TypedDict is a plain ``dict``).
107
+ """
108
+
109
+ error: Literal["Bad Request"]
110
+
111
+
112
+ class Types_StatusCodes_StatusCode401(TypedDict, total=False):
113
+ """Access is unauthorized.
114
+
115
+ Open shape: extra server keys are permitted and partial payloads are valid;
116
+ not validated at runtime (a TypedDict is a plain ``dict``).
117
+ """
118
+
119
+ error: Literal["Unauthorized"]
120
+
121
+
122
+ class Types_StatusCodes_StatusCode404(TypedDict, total=False):
123
+ """The server cannot find the requested resource.
124
+
125
+ Open shape: extra server keys are permitted and partial payloads are valid;
126
+ not validated at runtime (a TypedDict is a plain ``dict``).
127
+ """
128
+
129
+ error: Literal["Not Found"]
130
+
131
+
132
+ class Types_StatusCodes_StatusCode500(TypedDict, total=False):
133
+ """An internal server error occurred.
134
+
135
+ Open shape: extra server keys are permitted and partial payloads are valid;
136
+ not validated at runtime (a TypedDict is a plain ``dict``).
137
+ """
138
+
139
+ error: Literal["Internal Server Error"]
140
+
141
+
142
+ uuid: TypeAlias = "str"
143
+
144
+ CreateMessageResponse: TypeAlias = "Message"
145
+ UpdateMessageResponse: TypeAlias = "Message"
@@ -0,0 +1,92 @@
1
+ # AUTO-GENERATED from porting-sdk/rest-apis/projects/openapi.yaml — DO NOT EDIT.
2
+ # Regenerate: python3 porting-sdk/scripts/generate_python_rest_types.py
3
+ #
4
+ # One typed CRUD subclass per full-CRUD resource: closed typed create/update params
5
+ # (explicit spec fields) + an ``extras`` escape hatch and a ``**_reserved_kw`` tail for
6
+ # unknown / reserved-word wire fields, bound to the resource's spec types.
7
+ from __future__ import annotations
8
+
9
+ from typing import TYPE_CHECKING, Any, cast
10
+ from collections.abc import Mapping
11
+
12
+ from .._base import CrudResource
13
+
14
+ if TYPE_CHECKING:
15
+ from .projects_types_generated import (
16
+ Project,
17
+ ProjectCreate,
18
+ ProjectList,
19
+ ProjectUpdate,
20
+ ProjectWithSigningKey,
21
+ )
22
+
23
+
24
+ class Projects(
25
+ CrudResource["ProjectList", "Project", "ProjectCreate", "ProjectUpdate"]
26
+ ):
27
+ """Typed resource for ``/projects`` (generated)."""
28
+
29
+ def __init__(self, http: Any) -> None:
30
+ super().__init__(http, "/api/projects")
31
+
32
+ def create( # type: ignore[override]
33
+ self,
34
+ *,
35
+ name: str,
36
+ protect_recordings: bool | None = None,
37
+ protect_message_media: bool | None = None,
38
+ protect_fax_media: bool | None = None,
39
+ force_https_requests: bool | None = None,
40
+ extras: Mapping[str, Any] | None = None,
41
+ **_reserved_kw: Any,
42
+ ) -> Project:
43
+ body: dict[str, Any] = {
44
+ k: v
45
+ for k, v in {
46
+ "name": name,
47
+ "protect_recordings": protect_recordings,
48
+ "protect_message_media": protect_message_media,
49
+ "protect_fax_media": protect_fax_media,
50
+ "force_https_requests": force_https_requests,
51
+ }.items()
52
+ if v is not None
53
+ }
54
+ if extras:
55
+ body.update(extras)
56
+ body.update(_reserved_kw)
57
+ return cast("Project", self._http.post(self._base_path, body=body))
58
+
59
+ def update(
60
+ self,
61
+ id: str,
62
+ /,
63
+ *,
64
+ name: str | None = None,
65
+ protect_recordings: bool | None = None,
66
+ protect_message_media: bool | None = None,
67
+ protect_fax_media: bool | None = None,
68
+ force_https_requests: bool | None = None,
69
+ extras: Mapping[str, Any] | None = None,
70
+ **_reserved_kw: Any,
71
+ ) -> Project:
72
+ body: dict[str, Any] = {
73
+ k: v
74
+ for k, v in {
75
+ "name": name,
76
+ "protect_recordings": protect_recordings,
77
+ "protect_message_media": protect_message_media,
78
+ "protect_fax_media": protect_fax_media,
79
+ "force_https_requests": force_https_requests,
80
+ }.items()
81
+ if v is not None
82
+ }
83
+ if extras:
84
+ body.update(extras)
85
+ body.update(_reserved_kw)
86
+ return cast("Project", self._http.patch(self._path(id), body=body))
87
+
88
+ def rotate_signing_key(self, id: str) -> ProjectWithSigningKey:
89
+ return cast(
90
+ "ProjectWithSigningKey",
91
+ self._http.post(self._path(id, "signing-key", "rotate")),
92
+ )
@@ -0,0 +1,122 @@
1
+ # AUTO-GENERATED from porting-sdk/rest-apis/projects/openapi.yaml — DO NOT EDIT.
2
+ # Regenerate: python3 porting-sdk/scripts/generate_python_rest_types.py
3
+ #
4
+ # One TypedDict per components/schemas entry + per-operation Request/Response
5
+ # aliases. TypedDicts are STATIC-ONLY: at runtime each is a plain dict, so a
6
+ # differently-shaped server response is returned unchanged and never raises.
7
+ from __future__ import annotations
8
+ from typing import Any, Literal, TypeAlias, TypedDict
9
+
10
+
11
+ class Project(TypedDict, total=False):
12
+ """A project or subproject within the caller's project tree.
13
+
14
+ Open shape: extra server keys are permitted and partial payloads are valid;
15
+ not validated at runtime (a TypedDict is a plain ``dict``).
16
+ """
17
+
18
+ id: str
19
+ name: str
20
+ parent_project_id: str | None
21
+ subproject: bool
22
+ region_preference: str
23
+ protect_recordings: bool
24
+ protect_message_media: bool
25
+ protect_fax_media: bool
26
+ force_https_requests: bool
27
+ created_at: str
28
+ updated_at: str
29
+
30
+
31
+ ProjectWithSigningKey: TypeAlias = "dict[str, Any]"
32
+
33
+
34
+ class ProjectCreate(TypedDict, total=False):
35
+ """Request body for creating a subproject.
36
+
37
+ Open shape: extra server keys are permitted and partial payloads are valid;
38
+ not validated at runtime (a TypedDict is a plain ``dict``).
39
+ """
40
+
41
+ name: str
42
+ protect_recordings: bool
43
+ protect_message_media: bool
44
+ protect_fax_media: bool
45
+ force_https_requests: bool
46
+
47
+
48
+ ProjectUpdate: TypeAlias = "ProjectCreate"
49
+
50
+
51
+ class ProjectList(TypedDict, total=False):
52
+ """A page of projects.
53
+
54
+ Open shape: extra server keys are permitted and partial payloads are valid;
55
+ not validated at runtime (a TypedDict is a plain ``dict``).
56
+ """
57
+
58
+ links: dict[str, Any]
59
+ data: list[Project]
60
+
61
+
62
+ class ProjectStatusCode422(TypedDict, total=False):
63
+ """The request contains invalid parameters or violates a business rule. See errors for details.
64
+
65
+ Open shape: extra server keys are permitted and partial payloads are valid;
66
+ not validated at runtime (a TypedDict is a plain ``dict``).
67
+ """
68
+
69
+ errors: list[Types_StatusCodes_RestApiErrorItem]
70
+
71
+
72
+ class Types_StatusCodes_RestApiErrorItem(TypedDict, total=False):
73
+ """Details about a specific error.
74
+
75
+ Open shape: extra server keys are permitted and partial payloads are valid;
76
+ not validated at runtime (a TypedDict is a plain ``dict``).
77
+ """
78
+
79
+ type: str
80
+ code: str
81
+ message: str
82
+ attribute: str | None
83
+ url: str
84
+
85
+
86
+ class Types_StatusCodes_StatusCode401(TypedDict, total=False):
87
+ """Access is unauthorized.
88
+
89
+ Open shape: extra server keys are permitted and partial payloads are valid;
90
+ not validated at runtime (a TypedDict is a plain ``dict``).
91
+ """
92
+
93
+ error: Literal["Unauthorized"]
94
+
95
+
96
+ class Types_StatusCodes_StatusCode403(TypedDict, total=False):
97
+ """The API token lacks the required `Management` scope.
98
+
99
+ Open shape: extra server keys are permitted and partial payloads are valid;
100
+ not validated at runtime (a TypedDict is a plain ``dict``).
101
+ """
102
+
103
+ error: Literal["Forbidden"]
104
+
105
+
106
+ class Types_StatusCodes_StatusCode404(TypedDict, total=False):
107
+ """The server cannot find the requested resource.
108
+
109
+ Open shape: extra server keys are permitted and partial payloads are valid;
110
+ not validated at runtime (a TypedDict is a plain ``dict``).
111
+ """
112
+
113
+ error: Literal["Not Found"]
114
+
115
+
116
+ ListProjectsResponse: TypeAlias = "ProjectList"
117
+ CreateSubprojectRequest: TypeAlias = "ProjectCreate"
118
+ CreateSubprojectResponse: TypeAlias = "ProjectWithSigningKey"
119
+ GetProjectResponse: TypeAlias = "Project"
120
+ UpdateProjectRequest: TypeAlias = "ProjectUpdate"
121
+ UpdateProjectResponse: TypeAlias = "Project"
122
+ RotateSigningKeyResponse: TypeAlias = "ProjectWithSigningKey"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: signalwire-sdk
3
- Version: 3.0.2.dev81
3
+ Version: 3.2.0.dev83
4
4
  Summary: SignalWire SDK
5
5
  Author-email: SignalWire Team <info@signalwire.com>
6
6
  License: MIT
@@ -136,12 +136,16 @@ signalwire/signalwire/rest/namespaces/logs_types_generated.py
136
136
  signalwire/signalwire/rest/namespaces/lookup.py
137
137
  signalwire/signalwire/rest/namespaces/message_resources_generated.py
138
138
  signalwire/signalwire/rest/namespaces/message_types_generated.py
139
+ signalwire/signalwire/rest/namespaces/messages_resources_generated.py
140
+ signalwire/signalwire/rest/namespaces/messages_types_generated.py
139
141
  signalwire/signalwire/rest/namespaces/mfa.py
140
142
  signalwire/signalwire/rest/namespaces/number_groups.py
141
143
  signalwire/signalwire/rest/namespaces/phone_numbers.py
142
144
  signalwire/signalwire/rest/namespaces/project.py
143
145
  signalwire/signalwire/rest/namespaces/project_resources_generated.py
144
146
  signalwire/signalwire/rest/namespaces/project_types_generated.py
147
+ signalwire/signalwire/rest/namespaces/projects_resources_generated.py
148
+ signalwire/signalwire/rest/namespaces/projects_types_generated.py
145
149
  signalwire/signalwire/rest/namespaces/pubsub.py
146
150
  signalwire/signalwire/rest/namespaces/pubsub_resources_generated.py
147
151
  signalwire/signalwire/rest/namespaces/pubsub_types_generated.py