signalwire-sdk 3.2.0.dev91__tar.gz → 3.2.0.dev94__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 (250) hide show
  1. {signalwire_sdk-3.2.0.dev91/signalwire/signalwire_sdk.egg-info → signalwire_sdk-3.2.0.dev94}/PKG-INFO +1 -2
  2. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/pyproject.toml +1 -2
  3. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/__init__.py +72 -32
  4. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/agent_server.py +1 -1
  5. signalwire_sdk-3.2.0.dev94/signalwire/signalwire/core/__init__.py +59 -0
  6. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/pom/pom_tool.py +33 -14
  7. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/rest/__init__.py +2 -0
  8. signalwire_sdk-3.2.0.dev94/signalwire/signalwire/rest/_base.py +420 -0
  9. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/rest/_pagination.py +12 -0
  10. signalwire_sdk-3.2.0.dev94/signalwire/signalwire/rest/_request_options.py +159 -0
  11. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/rest/client.py +3 -1
  12. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/rest/namespaces/addresses.py +2 -2
  13. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/rest/namespaces/calling.py +2 -2
  14. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/rest/namespaces/chat.py +2 -2
  15. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/rest/namespaces/datasphere.py +2 -2
  16. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/rest/namespaces/fabric.py +2 -2
  17. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/rest/namespaces/imported_numbers.py +2 -2
  18. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/rest/namespaces/logs.py +2 -2
  19. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/rest/namespaces/lookup.py +2 -2
  20. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/rest/namespaces/mfa.py +2 -2
  21. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/rest/namespaces/number_groups.py +2 -2
  22. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/rest/namespaces/phone_numbers.py +2 -2
  23. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/rest/namespaces/project.py +2 -2
  24. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/rest/namespaces/pubsub.py +2 -2
  25. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/rest/namespaces/queues.py +2 -2
  26. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/rest/namespaces/recordings.py +2 -2
  27. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/rest/namespaces/registry.py +2 -2
  28. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/rest/namespaces/short_codes.py +2 -2
  29. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/rest/namespaces/sip_profile.py +2 -2
  30. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/rest/namespaces/verified_callers.py +2 -2
  31. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/rest/namespaces/video.py +2 -2
  32. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94/signalwire/signalwire_sdk.egg-info}/PKG-INFO +1 -2
  33. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire_sdk.egg-info/SOURCES.txt +1 -0
  34. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire_sdk.egg-info/requires.txt +0 -1
  35. signalwire_sdk-3.2.0.dev91/signalwire/signalwire/core/__init__.py +0 -27
  36. signalwire_sdk-3.2.0.dev91/signalwire/signalwire/rest/_base.py +0 -251
  37. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/LICENSE +0 -0
  38. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/README.md +0 -0
  39. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/man/sw-agent-init.1 +0 -0
  40. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/man/sw-search.1 +0 -0
  41. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/man/swaig-test.1 +0 -0
  42. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/setup.cfg +0 -0
  43. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/setup.py +0 -0
  44. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/agents/bedrock.py +0 -0
  45. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/cli/__init__.py +0 -0
  46. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/cli/build_search.py +0 -0
  47. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/cli/config.py +0 -0
  48. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/cli/core/__init__.py +0 -0
  49. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/cli/core/agent_loader.py +0 -0
  50. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/cli/core/argparse_helpers.py +0 -0
  51. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/cli/core/dynamic_config.py +0 -0
  52. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/cli/core/service_loader.py +0 -0
  53. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/cli/dokku.py +0 -0
  54. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/cli/execution/__init__.py +0 -0
  55. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/cli/execution/datamap_exec.py +0 -0
  56. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/cli/execution/webhook_exec.py +0 -0
  57. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/cli/init_project.py +0 -0
  58. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/cli/output/__init__.py +0 -0
  59. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/cli/output/output_formatter.py +0 -0
  60. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/cli/output/swml_dump.py +0 -0
  61. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/cli/simulation/__init__.py +0 -0
  62. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/cli/simulation/data_generation.py +0 -0
  63. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/cli/simulation/data_overrides.py +0 -0
  64. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/cli/simulation/mock_env.py +0 -0
  65. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/cli/swaig_test_wrapper.py +0 -0
  66. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/cli/test_swaig.py +0 -0
  67. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/cli/types.py +0 -0
  68. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/core/_agent_host.py +0 -0
  69. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/core/agent/__init__.py +0 -0
  70. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/core/agent/config/__init__.py +0 -0
  71. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/core/agent/deployment/__init__.py +0 -0
  72. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/core/agent/deployment/handlers/__init__.py +0 -0
  73. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/core/agent/prompt/__init__.py +0 -0
  74. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/core/agent/prompt/manager.py +0 -0
  75. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/core/agent/routing/__init__.py +0 -0
  76. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/core/agent/security/__init__.py +0 -0
  77. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/core/agent/swml/__init__.py +0 -0
  78. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/core/agent/tools/__init__.py +0 -0
  79. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/core/agent/tools/decorator.py +0 -0
  80. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/core/agent/tools/registry.py +0 -0
  81. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/core/agent/tools/type_inference.py +0 -0
  82. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/core/agent_base.py +0 -0
  83. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/core/auth_handler.py +0 -0
  84. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/core/config_loader.py +0 -0
  85. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/core/contexts.py +0 -0
  86. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/core/data_map.py +0 -0
  87. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/core/function_result.py +0 -0
  88. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/core/logging_config.py +0 -0
  89. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/core/mixins/__init__.py +0 -0
  90. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/core/mixins/_mixin_host.py +0 -0
  91. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/core/mixins/ai_config_mixin.py +0 -0
  92. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/core/mixins/auth_mixin.py +0 -0
  93. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/core/mixins/mcp_server_mixin.py +0 -0
  94. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/core/mixins/prompt_mixin.py +0 -0
  95. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/core/mixins/serverless_mixin.py +0 -0
  96. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/core/mixins/skill_mixin.py +0 -0
  97. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/core/mixins/state_mixin.py +0 -0
  98. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/core/mixins/tool_mixin.py +0 -0
  99. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/core/mixins/web_mixin.py +0 -0
  100. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/core/pom_builder.py +0 -0
  101. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/core/post_prompt_generated.py +0 -0
  102. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/core/security/__init__.py +0 -0
  103. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/core/security/security_utils.py +0 -0
  104. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/core/security/session_manager.py +0 -0
  105. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/core/security/webhook_middleware.py +0 -0
  106. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/core/security/webhook_validator.py +0 -0
  107. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/core/security_config.py +0 -0
  108. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/core/skill_base.py +0 -0
  109. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/core/skill_manager.py +0 -0
  110. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/core/swaig_actions_generated.py +0 -0
  111. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/core/swaig_function.py +0 -0
  112. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/core/swaig_request_generated.py +0 -0
  113. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/core/swml_builder.py +0 -0
  114. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/core/swml_handler.py +0 -0
  115. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/core/swml_renderer.py +0 -0
  116. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/core/swml_service.py +0 -0
  117. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/core/swml_verbs_generated.py +0 -0
  118. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/core/web.py +0 -0
  119. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/livewire/__init__.py +0 -0
  120. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/livewire/plugins.py +0 -0
  121. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/mcp_gateway/__init__.py +0 -0
  122. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/mcp_gateway/gateway_service.py +0 -0
  123. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/mcp_gateway/mcp_manager.py +0 -0
  124. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/mcp_gateway/session_manager.py +0 -0
  125. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/pom/__init__.py +0 -0
  126. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/pom/pom.py +0 -0
  127. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/prefabs/__init__.py +0 -0
  128. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/prefabs/concierge.py +0 -0
  129. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/prefabs/faq_bot.py +0 -0
  130. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/prefabs/info_gatherer.py +0 -0
  131. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/prefabs/receptionist.py +0 -0
  132. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/prefabs/survey.py +0 -0
  133. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/py.typed +0 -0
  134. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/relay/__init__.py +0 -0
  135. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/relay/call.py +0 -0
  136. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/relay/client.py +0 -0
  137. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/relay/constants.py +0 -0
  138. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/relay/event.py +0 -0
  139. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/relay/message.py +0 -0
  140. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/relay/protocol_types_generated.py +0 -0
  141. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/rest/call_handler.py +0 -0
  142. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/rest/namespaces/__init__.py +0 -0
  143. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/rest/namespaces/_client_tree_generated.py +0 -0
  144. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/rest/namespaces/calling_resources_generated.py +0 -0
  145. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/rest/namespaces/calling_types_generated.py +0 -0
  146. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/rest/namespaces/chat_resources_generated.py +0 -0
  147. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/rest/namespaces/chat_types_generated.py +0 -0
  148. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/rest/namespaces/datasphere_resources_generated.py +0 -0
  149. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/rest/namespaces/datasphere_types_generated.py +0 -0
  150. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/rest/namespaces/fabric_resources_generated.py +0 -0
  151. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/rest/namespaces/fabric_types_generated.py +0 -0
  152. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/rest/namespaces/fax_resources_generated.py +0 -0
  153. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/rest/namespaces/fax_types_generated.py +0 -0
  154. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/rest/namespaces/logs_resources_generated.py +0 -0
  155. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/rest/namespaces/logs_types_generated.py +0 -0
  156. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/rest/namespaces/message_resources_generated.py +0 -0
  157. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/rest/namespaces/message_types_generated.py +0 -0
  158. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/rest/namespaces/messages_resources_generated.py +0 -0
  159. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/rest/namespaces/messages_types_generated.py +0 -0
  160. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/rest/namespaces/project_resources_generated.py +0 -0
  161. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/rest/namespaces/project_types_generated.py +0 -0
  162. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/rest/namespaces/projects_resources_generated.py +0 -0
  163. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/rest/namespaces/projects_types_generated.py +0 -0
  164. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/rest/namespaces/pubsub_resources_generated.py +0 -0
  165. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/rest/namespaces/pubsub_types_generated.py +0 -0
  166. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/rest/namespaces/relay_rest_resources_generated.py +0 -0
  167. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/rest/namespaces/relay_rest_types_generated.py +0 -0
  168. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/rest/namespaces/swml_webhooks_types_generated.py +0 -0
  169. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/rest/namespaces/video_resources_generated.py +0 -0
  170. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/rest/namespaces/video_types_generated.py +0 -0
  171. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/rest/namespaces/voice_resources_generated.py +0 -0
  172. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/rest/namespaces/voice_types_generated.py +0 -0
  173. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/schema.json +0 -0
  174. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/search/__init__.py +0 -0
  175. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/search/document_processor.py +0 -0
  176. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/search/index_builder.py +0 -0
  177. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/search/migration.py +0 -0
  178. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/search/models.py +0 -0
  179. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/search/pgvector_backend.py +0 -0
  180. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/search/query_processor.py +0 -0
  181. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/search/search_engine.py +0 -0
  182. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/search/search_service.py +0 -0
  183. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/skills/README.md +0 -0
  184. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/skills/__init__.py +0 -0
  185. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/skills/api_ninjas_trivia/README.md +0 -0
  186. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/skills/api_ninjas_trivia/__init__.py +0 -0
  187. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/skills/api_ninjas_trivia/skill.py +0 -0
  188. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/skills/claude_skills/README.md +0 -0
  189. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/skills/claude_skills/__init__.py +0 -0
  190. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/skills/claude_skills/skill.py +0 -0
  191. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/skills/datasphere/README.md +0 -0
  192. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/skills/datasphere/__init__.py +0 -0
  193. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/skills/datasphere/skill.py +0 -0
  194. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/skills/datasphere_serverless/README.md +0 -0
  195. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/skills/datasphere_serverless/__init__.py +0 -0
  196. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/skills/datasphere_serverless/skill.py +0 -0
  197. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/skills/datetime/README.md +0 -0
  198. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/skills/datetime/__init__.py +0 -0
  199. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/skills/datetime/skill.py +0 -0
  200. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/skills/google_maps/__init__.py +0 -0
  201. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/skills/google_maps/skill.py +0 -0
  202. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/skills/info_gatherer/README.md +0 -0
  203. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/skills/info_gatherer/__init__.py +0 -0
  204. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/skills/info_gatherer/skill.py +0 -0
  205. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/skills/joke/README.md +0 -0
  206. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/skills/joke/__init__.py +0 -0
  207. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/skills/joke/skill.py +0 -0
  208. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/skills/math/README.md +0 -0
  209. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/skills/math/__init__.py +0 -0
  210. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/skills/math/skill.py +0 -0
  211. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/skills/mcp_gateway/README.md +0 -0
  212. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/skills/mcp_gateway/__init__.py +0 -0
  213. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/skills/mcp_gateway/skill.py +0 -0
  214. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/skills/native_vector_search/README.md +0 -0
  215. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/skills/native_vector_search/__init__.py +0 -0
  216. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/skills/native_vector_search/skill.py +0 -0
  217. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/skills/play_background_file/README.md +0 -0
  218. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/skills/play_background_file/__init__.py +0 -0
  219. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/skills/play_background_file/skill.py +0 -0
  220. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/skills/registry.py +0 -0
  221. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/skills/spider/README.md +0 -0
  222. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/skills/spider/__init__.py +0 -0
  223. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/skills/spider/skill.py +0 -0
  224. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/skills/swml_transfer/README.md +0 -0
  225. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/skills/swml_transfer/__init__.py +0 -0
  226. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/skills/swml_transfer/skill.py +0 -0
  227. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/skills/weather_api/README.md +0 -0
  228. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/skills/weather_api/__init__.py +0 -0
  229. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/skills/weather_api/skill.py +0 -0
  230. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/skills/web_search/README.md +0 -0
  231. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/skills/web_search/__init__.py +0 -0
  232. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/skills/web_search/skill.py +0 -0
  233. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/skills/web_search/skill_improved.py +0 -0
  234. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/skills/web_search/skill_original.py +0 -0
  235. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/skills/wikipedia_search/README.md +0 -0
  236. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/skills/wikipedia_search/__init__.py +0 -0
  237. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/skills/wikipedia_search/skill.py +0 -0
  238. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/utils/__init__.py +0 -0
  239. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/utils/pom_utils.py +0 -0
  240. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/utils/schema_utils.py +0 -0
  241. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/utils/token_generators.py +0 -0
  242. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/utils/url_validator.py +0 -0
  243. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/utils/validators.py +0 -0
  244. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/web/__init__.py +0 -0
  245. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire/web/web_service.py +0 -0
  246. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire_sdk.egg-info/dependency_links.txt +0 -0
  247. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire_sdk.egg-info/entry_points.txt +0 -0
  248. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/signalwire/signalwire_sdk.egg-info/top_level.txt +0 -0
  249. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/tests/test_examples.py +0 -0
  250. {signalwire_sdk-3.2.0.dev91 → signalwire_sdk-3.2.0.dev94}/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.dev91
3
+ Version: 3.2.0.dev94
4
4
  Summary: SignalWire SDK
5
5
  Author-email: SignalWire Team <info@signalwire.com>
6
6
  License: MIT
@@ -21,7 +21,6 @@ Requires-Dist: fastapi>=0.115.12
21
21
  Requires-Dist: pydantic>=2.11.4
22
22
  Requires-Dist: PyYAML>=6.0.2
23
23
  Requires-Dist: Requests>=2.32.4
24
- Requires-Dist: docopt>=0.6.2
25
24
  Requires-Dist: structlog>=25.3.0
26
25
  Requires-Dist: uvicorn>=0.34.2
27
26
  Requires-Dist: beautifulsoup4>=4.12.3
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "signalwire-sdk"
7
- version = "3.2.0.dev91"
7
+ version = "3.2.0.dev94"
8
8
  description = "SignalWire SDK"
9
9
  authors = [
10
10
  {name = "SignalWire Team", email = "info@signalwire.com"}
@@ -28,7 +28,6 @@ dependencies = [
28
28
  "pydantic>=2.11.4",
29
29
  "PyYAML>=6.0.2",
30
30
  "Requests>=2.32.4",
31
- "docopt>=0.6.2",
32
31
  "structlog>=25.3.0",
33
32
  "uvicorn>=0.34.2",
34
33
  "beautifulsoup4>=4.12.3",
@@ -22,40 +22,80 @@ if TYPE_CHECKING:
22
22
  from signalwire.core.skill_base import SkillBase
23
23
  from signalwire.skills.registry import SkillRegistry
24
24
 
25
+ # §6.2-python: the public symbols are LAZY at runtime (PEP 562, below) so
26
+ # `import signalwire` doesn't drag FastAPI/uvicorn/pydantic at import time; the
27
+ # eager imports here keep type checkers and IDEs fully aware of the real types.
28
+ from signalwire.core.agent_base import AgentBase
29
+ from signalwire.core.contexts import (
30
+ ContextBuilder,
31
+ Context,
32
+ Step,
33
+ GatherInfo,
34
+ GatherQuestion,
35
+ create_simple_context,
36
+ )
37
+ from signalwire.core.data_map import (
38
+ DataMap,
39
+ create_simple_api_tool,
40
+ create_expression_tool,
41
+ )
42
+ from signalwire.agent_server import AgentServer
43
+ from signalwire.core.swml_service import SWMLService
44
+ from signalwire.core.swml_builder import SWMLBuilder
45
+ from signalwire.core.function_result import FunctionResult, SwaigFunctionResult
46
+ from signalwire.core.swaig_function import SWAIGFunction
47
+ from signalwire.agents.bedrock import BedrockAgent
48
+ from signalwire.utils.schema_utils import SchemaValidationError
49
+ from signalwire.web import WebService
50
+
25
51
  configure_logging()
26
52
 
27
- __version__ = "3.2.0.dev91"
28
-
29
- # Import core classes for easier access.
30
- # These imports are intentionally placed after configure_logging() so the SDK's
31
- # logging is initialized before any submodule is imported (E402 expected).
32
- from .core.agent_base import AgentBase # noqa: E402
33
- from .core.contexts import ( # noqa: E402
34
- ContextBuilder,
35
- Context,
36
- Step,
37
- GatherInfo,
38
- GatherQuestion,
39
- create_simple_context,
40
- )
41
- from .core.data_map import ( # noqa: E402
42
- DataMap,
43
- create_simple_api_tool,
44
- create_expression_tool,
45
- )
46
- from signalwire.agent_server import AgentServer # noqa: E402
47
- from signalwire.core.swml_service import SWMLService # noqa: E402
48
- from signalwire.core.swml_builder import SWMLBuilder # noqa: E402
49
- from signalwire.core.function_result import ( # noqa: E402
50
- FunctionResult,
51
- SwaigFunctionResult,
52
- )
53
- from signalwire.core.swaig_function import SWAIGFunction # noqa: E402
54
- from signalwire.agents.bedrock import BedrockAgent # noqa: E402
55
- from signalwire.utils.schema_utils import SchemaValidationError # noqa: E402
56
-
57
- # Import WebService for static file serving
58
- from signalwire.web import WebService # noqa: E402
53
+ __version__ = "3.2.0.dev94"
54
+
55
+ # §6.2-python (owner decision: NO packaging split — one package, all deps required;
56
+ # IMPORT-TIME behavior only): the agent/web symbols are lazy-imported via module
57
+ # __getattr__ (PEP 562) so `import signalwire` no longer drags FastAPI / uvicorn /
58
+ # starlette / pydantic into every process — a REST-only script imports in
59
+ # milliseconds. First ATTRIBUTE ACCESS (signalwire.AgentBase,
60
+ # `from signalwire import AgentBase`) triggers the real import and caches it on the
61
+ # module, so the public surface is byte-identical to the old eager form.
62
+ _LAZY_IMPORTS: dict[str, tuple[str, str]] = {
63
+ "AgentBase": ("signalwire.core.agent_base", "AgentBase"),
64
+ "ContextBuilder": ("signalwire.core.contexts", "ContextBuilder"),
65
+ "Context": ("signalwire.core.contexts", "Context"),
66
+ "Step": ("signalwire.core.contexts", "Step"),
67
+ "GatherInfo": ("signalwire.core.contexts", "GatherInfo"),
68
+ "GatherQuestion": ("signalwire.core.contexts", "GatherQuestion"),
69
+ "create_simple_context": ("signalwire.core.contexts", "create_simple_context"),
70
+ "DataMap": ("signalwire.core.data_map", "DataMap"),
71
+ "create_simple_api_tool": ("signalwire.core.data_map", "create_simple_api_tool"),
72
+ "create_expression_tool": ("signalwire.core.data_map", "create_expression_tool"),
73
+ "AgentServer": ("signalwire.agent_server", "AgentServer"),
74
+ "SWMLService": ("signalwire.core.swml_service", "SWMLService"),
75
+ "SWMLBuilder": ("signalwire.core.swml_builder", "SWMLBuilder"),
76
+ "FunctionResult": ("signalwire.core.function_result", "FunctionResult"),
77
+ "SwaigFunctionResult": ("signalwire.core.function_result", "SwaigFunctionResult"),
78
+ "SWAIGFunction": ("signalwire.core.swaig_function", "SWAIGFunction"),
79
+ "BedrockAgent": ("signalwire.agents.bedrock", "BedrockAgent"),
80
+ "SchemaValidationError": ("signalwire.utils.schema_utils", "SchemaValidationError"),
81
+ "WebService": ("signalwire.web", "WebService"),
82
+ }
83
+
84
+
85
+ def __getattr__(name: str) -> Any:
86
+ """PEP 562 lazy attribute resolution for the public agent/web symbols."""
87
+ spec = _LAZY_IMPORTS.get(name)
88
+ if spec is None:
89
+ raise AttributeError(f"module {__name__!r} has no attribute {name!r}")
90
+ import importlib
91
+
92
+ value = getattr(importlib.import_module(spec[0]), spec[1])
93
+ globals()[name] = value # cache — subsequent access skips __getattr__
94
+ return value
95
+
96
+
97
+ def __dir__() -> list[str]:
98
+ return sorted(set(globals()) | set(_LAZY_IMPORTS))
59
99
 
60
100
 
61
101
  # Lazy import skills to avoid slow startup for CLI tools
@@ -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.dev91",
71
+ version="3.2.0.dev94",
72
72
  redirect_slashes=False,
73
73
  docs_url=None,
74
74
  redoc_url=None,
@@ -0,0 +1,59 @@
1
+ """
2
+ Copyright (c) 2025 SignalWire
3
+
4
+ This file is part of the SignalWire SDK.
5
+
6
+ Licensed under the MIT License.
7
+ See LICENSE file in the project root for full license information.
8
+
9
+ Core components for SignalWire AI Agents
10
+ """
11
+
12
+ from typing import TYPE_CHECKING, Any
13
+
14
+ if TYPE_CHECKING:
15
+ from signalwire.core.agent_base import AgentBase
16
+ from signalwire.core.function_result import FunctionResult
17
+ from signalwire.core.swaig_function import SWAIGFunction
18
+ from signalwire.core.swml_service import SWMLService
19
+ from signalwire.core.swml_handler import SWMLVerbHandler, VerbHandlerRegistry
20
+ from signalwire.core.swml_builder import SWMLBuilder
21
+
22
+ # §6.2-python: lazy (PEP 562) so importing any signalwire.core.* leaf (e.g.
23
+ # logging_config from the package root) doesn't drag AgentBase → FastAPI into every
24
+ # process. First attribute access resolves + caches; public surface unchanged.
25
+ _LAZY_IMPORTS: dict[str, tuple[str, str]] = {
26
+ "AgentBase": ("signalwire.core.agent_base", "AgentBase"),
27
+ "FunctionResult": ("signalwire.core.function_result", "FunctionResult"),
28
+ "SWAIGFunction": ("signalwire.core.swaig_function", "SWAIGFunction"),
29
+ "SWMLService": ("signalwire.core.swml_service", "SWMLService"),
30
+ "SWMLVerbHandler": ("signalwire.core.swml_handler", "SWMLVerbHandler"),
31
+ "VerbHandlerRegistry": ("signalwire.core.swml_handler", "VerbHandlerRegistry"),
32
+ "SWMLBuilder": ("signalwire.core.swml_builder", "SWMLBuilder"),
33
+ }
34
+
35
+
36
+ def __getattr__(name: str) -> Any:
37
+ spec = _LAZY_IMPORTS.get(name)
38
+ if spec is None:
39
+ raise AttributeError(f"module {__name__!r} has no attribute {name!r}")
40
+ import importlib
41
+
42
+ value = getattr(importlib.import_module(spec[0]), spec[1])
43
+ globals()[name] = value
44
+ return value
45
+
46
+
47
+ def __dir__() -> list[str]:
48
+ return sorted(set(globals()) | set(_LAZY_IMPORTS))
49
+
50
+
51
+ __all__ = [
52
+ "AgentBase",
53
+ "FunctionResult",
54
+ "SWAIGFunction",
55
+ "SWMLBuilder",
56
+ "SWMLService",
57
+ "SWMLVerbHandler",
58
+ "VerbHandlerRegistry",
59
+ ]
@@ -13,11 +13,11 @@ Options:
13
13
  --merge_pom=<arg> Merge another POM into a section: "<section name>:<filename>"
14
14
  """
15
15
 
16
+ import argparse
16
17
  import sys
17
18
  import json
18
19
  from pathlib import Path
19
20
  import yaml
20
- from docopt import docopt
21
21
  from signalwire.pom import PromptObjectModel
22
22
 
23
23
 
@@ -82,19 +82,38 @@ def render_pom(pom: "PromptObjectModel", output_format: str) -> str:
82
82
 
83
83
  def main() -> None:
84
84
  """Main entry point for the POM tool."""
85
- args = docopt(__doc__)
86
-
87
- input_file = args["<input_file>"]
88
- output_format = args["--output"] or "md"
89
- output_file = args["--outfile"]
90
- merge_pom = args["--merge_pom"]
91
-
92
- # Validate output format
93
- if output_format not in ["md", "xml", "json", "yaml"]:
94
- print(
95
- f"Error: Invalid output format '{output_format}'. Must be one of: md, xml, json, yaml"
96
- )
97
- sys.exit(1)
85
+ # §6.2-python: argparse (stdlib) replaced the unmaintained docopt — identical CLI
86
+ # surface (same flags/defaults/usage), one fewer dependency.
87
+ parser = argparse.ArgumentParser(
88
+ prog="pom_tool",
89
+ description="POM Tool - work with Prompt Object Model files",
90
+ )
91
+ parser.add_argument("input_file", help="POM file to load (JSON or YAML)")
92
+ parser.add_argument(
93
+ "--output",
94
+ default="md",
95
+ metavar="<format>",
96
+ choices=["md", "xml", "json", "yaml"],
97
+ help="Output format: md, xml, json, yaml [default: md]",
98
+ )
99
+ parser.add_argument(
100
+ "--outfile",
101
+ default=None,
102
+ metavar="<file>",
103
+ help="Output file (if not specified, prints to stdout)",
104
+ )
105
+ parser.add_argument(
106
+ "--merge_pom",
107
+ default=None,
108
+ metavar="<arg>",
109
+ help='Merge another POM into a section: "<section name>:<filename>"',
110
+ )
111
+ ns = parser.parse_args()
112
+
113
+ input_file = ns.input_file
114
+ output_format = ns.output
115
+ output_file = ns.outfile
116
+ merge_pom = ns.merge_pom
98
117
 
99
118
  try:
100
119
  # Load the POM
@@ -11,10 +11,12 @@ SignalWire REST API client module.
11
11
 
12
12
  from .client import RestClient
13
13
  from ._base import SignalWireRestError, SignalWireRestTransportError
14
+ from ._request_options import RequestOptions
14
15
  from .namespaces.relay_rest_types_generated import PhoneCallHandler
15
16
 
16
17
  __all__ = [
17
18
  "PhoneCallHandler",
19
+ "RequestOptions",
18
20
  "RestClient",
19
21
  "SignalWireRestError",
20
22
  "SignalWireRestTransportError",