signalwire-sdk 3.0.2.dev77__tar.gz → 3.0.2.dev79__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 (243) hide show
  1. {signalwire_sdk-3.0.2.dev77/signalwire/signalwire_sdk.egg-info → signalwire_sdk-3.0.2.dev79}/PKG-INFO +3 -3
  2. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/README.md +1 -1
  3. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/pyproject.toml +2 -2
  4. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/__init__.py +1 -1
  5. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/agent_server.py +1 -1
  6. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/rest/_base.py +19 -0
  7. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/rest/_pagination.py +7 -3
  8. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79/signalwire/signalwire_sdk.egg-info}/PKG-INFO +3 -3
  9. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/LICENSE +0 -0
  10. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/man/sw-agent-init.1 +0 -0
  11. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/man/sw-search.1 +0 -0
  12. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/man/swaig-test.1 +0 -0
  13. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/setup.cfg +0 -0
  14. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/setup.py +0 -0
  15. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/agents/bedrock.py +0 -0
  16. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/cli/__init__.py +0 -0
  17. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/cli/build_search.py +0 -0
  18. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/cli/config.py +0 -0
  19. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/cli/core/__init__.py +0 -0
  20. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/cli/core/agent_loader.py +0 -0
  21. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/cli/core/argparse_helpers.py +0 -0
  22. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/cli/core/dynamic_config.py +0 -0
  23. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/cli/core/service_loader.py +0 -0
  24. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/cli/dokku.py +0 -0
  25. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/cli/execution/__init__.py +0 -0
  26. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/cli/execution/datamap_exec.py +0 -0
  27. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/cli/execution/webhook_exec.py +0 -0
  28. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/cli/init_project.py +0 -0
  29. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/cli/output/__init__.py +0 -0
  30. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/cli/output/output_formatter.py +0 -0
  31. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/cli/output/swml_dump.py +0 -0
  32. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/cli/simulation/__init__.py +0 -0
  33. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/cli/simulation/data_generation.py +0 -0
  34. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/cli/simulation/data_overrides.py +0 -0
  35. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/cli/simulation/mock_env.py +0 -0
  36. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/cli/swaig_test_wrapper.py +0 -0
  37. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/cli/test_swaig.py +0 -0
  38. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/cli/types.py +0 -0
  39. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/core/__init__.py +0 -0
  40. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/core/_agent_host.py +0 -0
  41. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/core/agent/__init__.py +0 -0
  42. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/core/agent/config/__init__.py +0 -0
  43. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/core/agent/deployment/__init__.py +0 -0
  44. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/core/agent/deployment/handlers/__init__.py +0 -0
  45. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/core/agent/prompt/__init__.py +0 -0
  46. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/core/agent/prompt/manager.py +0 -0
  47. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/core/agent/routing/__init__.py +0 -0
  48. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/core/agent/security/__init__.py +0 -0
  49. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/core/agent/swml/__init__.py +0 -0
  50. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/core/agent/tools/__init__.py +0 -0
  51. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/core/agent/tools/decorator.py +0 -0
  52. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/core/agent/tools/registry.py +0 -0
  53. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/core/agent/tools/type_inference.py +0 -0
  54. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/core/agent_base.py +0 -0
  55. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/core/auth_handler.py +0 -0
  56. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/core/config_loader.py +0 -0
  57. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/core/contexts.py +0 -0
  58. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/core/data_map.py +0 -0
  59. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/core/function_result.py +0 -0
  60. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/core/logging_config.py +0 -0
  61. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/core/mixins/__init__.py +0 -0
  62. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/core/mixins/_mixin_host.py +0 -0
  63. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/core/mixins/ai_config_mixin.py +0 -0
  64. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/core/mixins/auth_mixin.py +0 -0
  65. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/core/mixins/mcp_server_mixin.py +0 -0
  66. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/core/mixins/prompt_mixin.py +0 -0
  67. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/core/mixins/serverless_mixin.py +0 -0
  68. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/core/mixins/skill_mixin.py +0 -0
  69. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/core/mixins/state_mixin.py +0 -0
  70. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/core/mixins/tool_mixin.py +0 -0
  71. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/core/mixins/web_mixin.py +0 -0
  72. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/core/pom_builder.py +0 -0
  73. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/core/post_prompt_generated.py +0 -0
  74. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/core/security/__init__.py +0 -0
  75. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/core/security/security_utils.py +0 -0
  76. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/core/security/session_manager.py +0 -0
  77. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/core/security/webhook_middleware.py +0 -0
  78. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/core/security/webhook_validator.py +0 -0
  79. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/core/security_config.py +0 -0
  80. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/core/skill_base.py +0 -0
  81. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/core/skill_manager.py +0 -0
  82. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/core/swaig_actions_generated.py +0 -0
  83. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/core/swaig_function.py +0 -0
  84. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/core/swaig_request_generated.py +0 -0
  85. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/core/swml_builder.py +0 -0
  86. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/core/swml_handler.py +0 -0
  87. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/core/swml_renderer.py +0 -0
  88. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/core/swml_service.py +0 -0
  89. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/core/swml_verbs_generated.py +0 -0
  90. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/core/web.py +0 -0
  91. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/livewire/__init__.py +0 -0
  92. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/livewire/plugins.py +0 -0
  93. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/mcp_gateway/__init__.py +0 -0
  94. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/mcp_gateway/gateway_service.py +0 -0
  95. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/mcp_gateway/mcp_manager.py +0 -0
  96. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/mcp_gateway/session_manager.py +0 -0
  97. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/pom/__init__.py +0 -0
  98. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/pom/pom.py +0 -0
  99. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/pom/pom_tool.py +0 -0
  100. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/prefabs/__init__.py +0 -0
  101. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/prefabs/concierge.py +0 -0
  102. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/prefabs/faq_bot.py +0 -0
  103. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/prefabs/info_gatherer.py +0 -0
  104. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/prefabs/receptionist.py +0 -0
  105. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/prefabs/survey.py +0 -0
  106. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/py.typed +0 -0
  107. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/relay/__init__.py +0 -0
  108. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/relay/call.py +0 -0
  109. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/relay/client.py +0 -0
  110. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/relay/constants.py +0 -0
  111. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/relay/event.py +0 -0
  112. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/relay/message.py +0 -0
  113. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/relay/protocol_types_generated.py +0 -0
  114. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/rest/__init__.py +0 -0
  115. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/rest/call_handler.py +0 -0
  116. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/rest/client.py +0 -0
  117. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/rest/namespaces/__init__.py +0 -0
  118. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/rest/namespaces/_client_tree_generated.py +0 -0
  119. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/rest/namespaces/addresses.py +0 -0
  120. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/rest/namespaces/calling.py +0 -0
  121. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/rest/namespaces/calling_resources_generated.py +0 -0
  122. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/rest/namespaces/calling_types_generated.py +0 -0
  123. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/rest/namespaces/chat.py +0 -0
  124. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/rest/namespaces/chat_resources_generated.py +0 -0
  125. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/rest/namespaces/chat_types_generated.py +0 -0
  126. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/rest/namespaces/datasphere.py +0 -0
  127. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/rest/namespaces/datasphere_resources_generated.py +0 -0
  128. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/rest/namespaces/datasphere_types_generated.py +0 -0
  129. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/rest/namespaces/fabric.py +0 -0
  130. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/rest/namespaces/fabric_resources_generated.py +0 -0
  131. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/rest/namespaces/fabric_types_generated.py +0 -0
  132. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/rest/namespaces/fax_resources_generated.py +0 -0
  133. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/rest/namespaces/fax_types_generated.py +0 -0
  134. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/rest/namespaces/imported_numbers.py +0 -0
  135. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/rest/namespaces/logs.py +0 -0
  136. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/rest/namespaces/logs_resources_generated.py +0 -0
  137. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/rest/namespaces/logs_types_generated.py +0 -0
  138. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/rest/namespaces/lookup.py +0 -0
  139. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/rest/namespaces/message_resources_generated.py +0 -0
  140. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/rest/namespaces/message_types_generated.py +0 -0
  141. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/rest/namespaces/mfa.py +0 -0
  142. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/rest/namespaces/number_groups.py +0 -0
  143. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/rest/namespaces/phone_numbers.py +0 -0
  144. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/rest/namespaces/project.py +0 -0
  145. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/rest/namespaces/project_resources_generated.py +0 -0
  146. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/rest/namespaces/project_types_generated.py +0 -0
  147. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/rest/namespaces/pubsub.py +0 -0
  148. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/rest/namespaces/pubsub_resources_generated.py +0 -0
  149. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/rest/namespaces/pubsub_types_generated.py +0 -0
  150. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/rest/namespaces/queues.py +0 -0
  151. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/rest/namespaces/recordings.py +0 -0
  152. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/rest/namespaces/registry.py +0 -0
  153. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/rest/namespaces/relay_rest_resources_generated.py +0 -0
  154. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/rest/namespaces/relay_rest_types_generated.py +0 -0
  155. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/rest/namespaces/short_codes.py +0 -0
  156. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/rest/namespaces/sip_profile.py +0 -0
  157. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/rest/namespaces/swml_webhooks_types_generated.py +0 -0
  158. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/rest/namespaces/verified_callers.py +0 -0
  159. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/rest/namespaces/video.py +0 -0
  160. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/rest/namespaces/video_resources_generated.py +0 -0
  161. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/rest/namespaces/video_types_generated.py +0 -0
  162. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/rest/namespaces/voice_resources_generated.py +0 -0
  163. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/rest/namespaces/voice_types_generated.py +0 -0
  164. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/schema.json +0 -0
  165. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/search/__init__.py +0 -0
  166. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/search/document_processor.py +0 -0
  167. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/search/index_builder.py +0 -0
  168. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/search/migration.py +0 -0
  169. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/search/models.py +0 -0
  170. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/search/pgvector_backend.py +0 -0
  171. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/search/query_processor.py +0 -0
  172. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/search/search_engine.py +0 -0
  173. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/search/search_service.py +0 -0
  174. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/skills/README.md +0 -0
  175. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/skills/__init__.py +0 -0
  176. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/skills/api_ninjas_trivia/README.md +0 -0
  177. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/skills/api_ninjas_trivia/__init__.py +0 -0
  178. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/skills/api_ninjas_trivia/skill.py +0 -0
  179. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/skills/claude_skills/README.md +0 -0
  180. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/skills/claude_skills/__init__.py +0 -0
  181. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/skills/claude_skills/skill.py +0 -0
  182. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/skills/datasphere/README.md +0 -0
  183. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/skills/datasphere/__init__.py +0 -0
  184. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/skills/datasphere/skill.py +0 -0
  185. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/skills/datasphere_serverless/README.md +0 -0
  186. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/skills/datasphere_serverless/__init__.py +0 -0
  187. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/skills/datasphere_serverless/skill.py +0 -0
  188. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/skills/datetime/README.md +0 -0
  189. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/skills/datetime/__init__.py +0 -0
  190. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/skills/datetime/skill.py +0 -0
  191. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/skills/google_maps/__init__.py +0 -0
  192. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/skills/google_maps/skill.py +0 -0
  193. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/skills/info_gatherer/README.md +0 -0
  194. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/skills/info_gatherer/__init__.py +0 -0
  195. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/skills/info_gatherer/skill.py +0 -0
  196. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/skills/joke/README.md +0 -0
  197. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/skills/joke/__init__.py +0 -0
  198. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/skills/joke/skill.py +0 -0
  199. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/skills/math/README.md +0 -0
  200. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/skills/math/__init__.py +0 -0
  201. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/skills/math/skill.py +0 -0
  202. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/skills/mcp_gateway/README.md +0 -0
  203. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/skills/mcp_gateway/__init__.py +0 -0
  204. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/skills/mcp_gateway/skill.py +0 -0
  205. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/skills/native_vector_search/README.md +0 -0
  206. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/skills/native_vector_search/__init__.py +0 -0
  207. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/skills/native_vector_search/skill.py +0 -0
  208. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/skills/play_background_file/README.md +0 -0
  209. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/skills/play_background_file/__init__.py +0 -0
  210. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/skills/play_background_file/skill.py +0 -0
  211. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/skills/registry.py +0 -0
  212. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/skills/spider/README.md +0 -0
  213. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/skills/spider/__init__.py +0 -0
  214. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/skills/spider/skill.py +0 -0
  215. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/skills/swml_transfer/README.md +0 -0
  216. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/skills/swml_transfer/__init__.py +0 -0
  217. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/skills/swml_transfer/skill.py +0 -0
  218. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/skills/weather_api/README.md +0 -0
  219. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/skills/weather_api/__init__.py +0 -0
  220. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/skills/weather_api/skill.py +0 -0
  221. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/skills/web_search/README.md +0 -0
  222. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/skills/web_search/__init__.py +0 -0
  223. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/skills/web_search/skill.py +0 -0
  224. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/skills/web_search/skill_improved.py +0 -0
  225. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/skills/web_search/skill_original.py +0 -0
  226. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/skills/wikipedia_search/README.md +0 -0
  227. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/skills/wikipedia_search/__init__.py +0 -0
  228. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/skills/wikipedia_search/skill.py +0 -0
  229. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/utils/__init__.py +0 -0
  230. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/utils/pom_utils.py +0 -0
  231. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/utils/schema_utils.py +0 -0
  232. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/utils/token_generators.py +0 -0
  233. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/utils/url_validator.py +0 -0
  234. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/utils/validators.py +0 -0
  235. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/web/__init__.py +0 -0
  236. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire/web/web_service.py +0 -0
  237. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire_sdk.egg-info/SOURCES.txt +0 -0
  238. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire_sdk.egg-info/dependency_links.txt +0 -0
  239. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire_sdk.egg-info/entry_points.txt +0 -0
  240. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire_sdk.egg-info/requires.txt +0 -0
  241. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/signalwire/signalwire_sdk.egg-info/top_level.txt +0 -0
  242. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/tests/test_examples.py +0 -0
  243. {signalwire_sdk-3.0.2.dev77 → signalwire_sdk-3.0.2.dev79}/tests/test_mcp_integration.py +0 -0
@@ -1,10 +1,10 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: signalwire-sdk
3
- Version: 3.0.2.dev77
3
+ Version: 3.0.2.dev79
4
4
  Summary: SignalWire SDK
5
5
  Author-email: SignalWire Team <info@signalwire.com>
6
6
  License: MIT
7
- Project-URL: Homepage, https://github.com/signalwire/signalwire-agents
7
+ Project-URL: Homepage, https://github.com/signalwire/signalwire-python
8
8
  Keywords: signalwire,ai,agents,voice,telephony,swaig,swml
9
9
  Classifier: Development Status :: 4 - Beta
10
10
  Classifier: Intended Audience :: Developers
@@ -126,7 +126,7 @@ _Build AI voice agents, control live calls over WebSocket, and manage every Sign
126
126
  |-----------|-------------|------------|
127
127
  | **AI Agents** | Build voice agents that handle calls autonomously -- the platform runs the AI pipeline, your code defines the persona, tools, and call flow | [Agent Guide](#ai-agents) |
128
128
  | **RELAY Client** | Control live calls and SMS/MMS in real time over WebSocket -- answer, play, record, collect DTMF, conference, transfer, and more | [RELAY docs](relay/README.md) |
129
- | **REST Client** | Manage SignalWire resources over HTTP -- phone numbers, SIP endpoints, Fabric AI agents, video rooms, messaging, and 21 API namespaces | [REST docs](rest/README.md) |
129
+ | **REST Client** | Manage SignalWire resources over HTTP -- phone numbers, SIP endpoints, Fabric AI agents, video rooms, messaging, and 20 API namespaces | [REST docs](rest/README.md) |
130
130
 
131
131
  ```bash
132
132
  pip install signalwire-sdk
@@ -28,7 +28,7 @@ _Build AI voice agents, control live calls over WebSocket, and manage every Sign
28
28
  |-----------|-------------|------------|
29
29
  | **AI Agents** | Build voice agents that handle calls autonomously -- the platform runs the AI pipeline, your code defines the persona, tools, and call flow | [Agent Guide](#ai-agents) |
30
30
  | **RELAY Client** | Control live calls and SMS/MMS in real time over WebSocket -- answer, play, record, collect DTMF, conference, transfer, and more | [RELAY docs](relay/README.md) |
31
- | **REST Client** | Manage SignalWire resources over HTTP -- phone numbers, SIP endpoints, Fabric AI agents, video rooms, messaging, and 21 API namespaces | [REST docs](rest/README.md) |
31
+ | **REST Client** | Manage SignalWire resources over HTTP -- phone numbers, SIP endpoints, Fabric AI agents, video rooms, messaging, and 20 API namespaces | [REST docs](rest/README.md) |
32
32
 
33
33
  ```bash
34
34
  pip install signalwire-sdk
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "signalwire-sdk"
7
- version = "3.0.2.dev77"
7
+ version = "3.0.2.dev79"
8
8
  description = "SignalWire SDK"
9
9
  authors = [
10
10
  {name = "SignalWire Team", email = "info@signalwire.com"}
@@ -133,7 +133,7 @@ all = [
133
133
  ]
134
134
 
135
135
  [project.urls]
136
- Homepage = "https://github.com/signalwire/signalwire-agents"
136
+ Homepage = "https://github.com/signalwire/signalwire-python"
137
137
 
138
138
  [project.scripts]
139
139
  swaig-test = "signalwire.cli.swaig_test_wrapper:main"
@@ -24,7 +24,7 @@ if TYPE_CHECKING:
24
24
 
25
25
  configure_logging()
26
26
 
27
- __version__ = "3.0.2.dev77"
27
+ __version__ = "3.0.2.dev79"
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.dev77",
71
+ version="3.0.2.dev79",
72
72
  redirect_slashes=False,
73
73
  docs_url=None,
74
74
  redoc_url=None,
@@ -14,6 +14,7 @@ from typing import Any, Generic, TypeVar, cast
14
14
 
15
15
  import requests
16
16
  from signalwire.core.logging_config import get_logger
17
+ from signalwire.rest._pagination import PaginatedIterator
17
18
 
18
19
  logger = get_logger("rest_client")
19
20
 
@@ -135,6 +136,24 @@ class ReadResource(BaseResource, Generic[TList, TItem]):
135
136
  def list(self, **params: Any) -> TList:
136
137
  return cast(TList, self._http.get(self._base_path, params=params or None))
137
138
 
139
+ def paginate(self, **params: Any) -> PaginatedIterator:
140
+ """Iterate every item across all pages of this resource's list endpoint.
141
+
142
+ ``list()`` returns a single raw page (the server's first response). For
143
+ endpoints that paginate on the wire (a ``links.next`` / ``page_token`` in
144
+ the response), ``paginate()`` follows those links and yields each item:
145
+
146
+ for address in client.fabric.addresses.paginate():
147
+ ...
148
+
149
+ Wires the resource layer to the tested ``PaginatedIterator`` (which walks
150
+ ``resp["data"]`` and follows ``resp["links"]["next"]``), so callers no
151
+ longer hand-construct the path + token loop.
152
+ """
153
+ return PaginatedIterator(
154
+ self._http, self._base_path, params=params or None, data_key="data"
155
+ )
156
+
138
157
  def get(self, resource_id: str) -> TItem:
139
158
  return cast(TItem, self._http.get(self._path(resource_id)))
140
159
 
@@ -9,9 +9,13 @@ See LICENSE file in the project root for full license information.
9
9
  Pagination support for list endpoints that return paged results.
10
10
  """
11
11
 
12
- from typing import Any
12
+ from typing import TYPE_CHECKING, Any
13
13
 
14
- from ._base import HttpClient
14
+ if TYPE_CHECKING:
15
+ # Type-only import: _base imports this module (ReadResource.paginate), so a
16
+ # runtime `from ._base import HttpClient` would be a circular import. HttpClient
17
+ # is used here purely as an annotation, so guard it under TYPE_CHECKING.
18
+ from ._base import HttpClient
15
19
 
16
20
 
17
21
  class PaginatedIterator:
@@ -24,7 +28,7 @@ class PaginatedIterator:
24
28
 
25
29
  def __init__(
26
30
  self,
27
- http: HttpClient,
31
+ http: "HttpClient",
28
32
  path: str,
29
33
  params: dict[str, Any] | None = None,
30
34
  data_key: str = "data",
@@ -1,10 +1,10 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: signalwire-sdk
3
- Version: 3.0.2.dev77
3
+ Version: 3.0.2.dev79
4
4
  Summary: SignalWire SDK
5
5
  Author-email: SignalWire Team <info@signalwire.com>
6
6
  License: MIT
7
- Project-URL: Homepage, https://github.com/signalwire/signalwire-agents
7
+ Project-URL: Homepage, https://github.com/signalwire/signalwire-python
8
8
  Keywords: signalwire,ai,agents,voice,telephony,swaig,swml
9
9
  Classifier: Development Status :: 4 - Beta
10
10
  Classifier: Intended Audience :: Developers
@@ -126,7 +126,7 @@ _Build AI voice agents, control live calls over WebSocket, and manage every Sign
126
126
  |-----------|-------------|------------|
127
127
  | **AI Agents** | Build voice agents that handle calls autonomously -- the platform runs the AI pipeline, your code defines the persona, tools, and call flow | [Agent Guide](#ai-agents) |
128
128
  | **RELAY Client** | Control live calls and SMS/MMS in real time over WebSocket -- answer, play, record, collect DTMF, conference, transfer, and more | [RELAY docs](relay/README.md) |
129
- | **REST Client** | Manage SignalWire resources over HTTP -- phone numbers, SIP endpoints, Fabric AI agents, video rooms, messaging, and 21 API namespaces | [REST docs](rest/README.md) |
129
+ | **REST Client** | Manage SignalWire resources over HTTP -- phone numbers, SIP endpoints, Fabric AI agents, video rooms, messaging, and 20 API namespaces | [REST docs](rest/README.md) |
130
130
 
131
131
  ```bash
132
132
  pip install signalwire-sdk