jaxl-python 0.0.11__tar.gz → 0.0.13__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 (219) hide show
  1. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/.github/workflows/sdk.yml +1 -1
  2. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/.gitignore +2 -0
  3. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/PKG-INFO +60 -82
  4. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/README.md +44 -72
  5. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/examples/README.md +1 -0
  6. jaxl_python-0.0.13/examples/prompts/example.txt +15 -0
  7. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/examples/request_code_and_send_to_phone.py +2 -0
  8. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/examples/send_to_phone.py +2 -0
  9. jaxl_python-0.0.13/examples/streaming_aiagent.py +150 -0
  10. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/examples/streaming_audio_chunks.py +1 -0
  11. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/examples/streaming_speech_segments.py +1 -0
  12. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/examples/streaming_transcriptions.py +1 -0
  13. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/__init__.py +2 -0
  14. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/_client.py +7 -3
  15. jaxl_python-0.0.13/jaxl/api/_sdk.py +40 -0
  16. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/base.py +10 -4
  17. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/_scm_version.py +2 -2
  18. jaxl_python-0.0.13/jaxl/api/client/api/v1/v1_calls_add_create.py +127 -0
  19. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/__init__.py +2 -0
  20. jaxl_python-0.0.13/jaxl/api/client/models/call_add_request_request.py +82 -0
  21. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/ivr_options_response.py +1 -1
  22. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/organization_employee.py +8 -0
  23. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/resources/accounts.py +16 -2
  24. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/resources/apps.py +6 -0
  25. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/resources/calls.py +86 -4
  26. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/resources/campaigns.py +12 -1
  27. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/resources/devices.py +17 -2
  28. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/resources/ivrs.py +37 -3
  29. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/resources/kycs.py +11 -1
  30. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/resources/members.py +11 -1
  31. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/resources/messages.py +11 -1
  32. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/resources/notifications.py +4 -0
  33. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/resources/payments.py +30 -2
  34. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/resources/phones.py +39 -5
  35. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/resources/teams.py +11 -1
  36. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl_python.egg-info/PKG-INFO +60 -82
  37. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl_python.egg-info/SOURCES.txt +4 -0
  38. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl_python.egg-info/requires.txt +18 -8
  39. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/setup.cfg +11 -5
  40. jaxl_python-0.0.11/examples/streaming_aiagent.py +0 -129
  41. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/.isort.cfg +0 -0
  42. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/.pylintrc +0 -0
  43. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/.vscode/settings.json +0 -0
  44. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/LICENSE.md +0 -0
  45. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/SPECIFICATION.md +0 -0
  46. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/docs.sh +0 -0
  47. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/examples/__init__.py +0 -0
  48. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/examples/py.typed +0 -0
  49. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/examples/request_and_confirm_code_then_send_to_phone.py +0 -0
  50. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/cli.py +0 -0
  51. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/__init__.py +0 -0
  52. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/api/__init__.py +0 -0
  53. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/api/v1/__init__.py +0 -0
  54. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/api/v1/v1_appusers_me_retrieve.py +0 -0
  55. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/api/v1/v1_calls_list.py +0 -0
  56. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/api/v1/v1_calls_token_create.py +0 -0
  57. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/api/v1/v1_calls_tts_create.py +0 -0
  58. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/api/v1/v1_calls_usage_retrieve.py +0 -0
  59. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/api/v1/v1_campaign_list.py +0 -0
  60. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/api/v1/v1_customer_consumables_retrieve.py +0 -0
  61. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/api/v1/v1_devices_attest_create.py +0 -0
  62. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/api/v1/v1_devices_list.py +0 -0
  63. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/api/v1/v1_ivr_create.py +0 -0
  64. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/api/v1/v1_ivr_list.py +0 -0
  65. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/api/v1/v1_ivr_options_create.py +0 -0
  66. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/api/v1/v1_ivr_options_list.py +0 -0
  67. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/api/v1/v1_ivr_options_partial_update.py +0 -0
  68. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/api/v1/v1_kyc_list.py +0 -0
  69. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/api/v1/v1_messages_list.py +0 -0
  70. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/api/v1/v1_phonenumbers_list.py +0 -0
  71. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/api/v1/v1_phonenumbers_partial_update.py +0 -0
  72. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/api/v1/v1_phonenumbers_search_retrieve.py +0 -0
  73. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/api/v2/__init__.py +0 -0
  74. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/api/v2/v2_app_organizations_employees_list.py +0 -0
  75. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/api/v2/v2_app_organizations_groups_list.py +0 -0
  76. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/api/v3/__init__.py +0 -0
  77. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/api/v3/v3_orders_subscriptions_list.py +0 -0
  78. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/client.py +0 -0
  79. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/errors.py +0 -0
  80. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/address_provider.py +0 -0
  81. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/address_provider_status_enum.py +0 -0
  82. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/analytic.py +0 -0
  83. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/app_price.py +0 -0
  84. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/app_user.py +0 -0
  85. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/available_phone_number.py +0 -0
  86. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/available_phone_number_capabilities.py +0 -0
  87. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/available_phone_number_provider_enum.py +0 -0
  88. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/call.py +0 -0
  89. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/call_cost.py +0 -0
  90. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/call_location_epoch.py +0 -0
  91. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/call_metadata.py +0 -0
  92. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/call_tag_response.py +0 -0
  93. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/call_token_request.py +0 -0
  94. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/call_token_response.py +0 -0
  95. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/call_tts_request_request.py +0 -0
  96. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/call_type_enum.py +0 -0
  97. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/call_usage_by_currency_response.py +0 -0
  98. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/call_usage_response.py +0 -0
  99. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/call_usage_stats_response.py +0 -0
  100. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/campaign_metadata.py +0 -0
  101. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/campaign_metadata_metadata.py +0 -0
  102. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/campaign_response.py +0 -0
  103. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/campaign_response_status_enum.py +0 -0
  104. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/campaign_stats.py +0 -0
  105. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/campaign_tag.py +0 -0
  106. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/can_user_resubscribe_plan.py +0 -0
  107. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/canceled_by_enum.py +0 -0
  108. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/capabilities.py +0 -0
  109. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/connection.py +0 -0
  110. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/country.py +0 -0
  111. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/cta.py +0 -0
  112. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/cta_request.py +0 -0
  113. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/currency_enum.py +0 -0
  114. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/customer_consumable_total.py +0 -0
  115. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/customer_order_subscriptions_serializer_v2.py +0 -0
  116. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/customer_order_subscriptions_serializer_v2_status_enum.py +0 -0
  117. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/customer_provider_serializer_v2.py +0 -0
  118. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/device.py +0 -0
  119. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/device_attestation_error.py +0 -0
  120. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/device_attestation_error_reason_enum.py +0 -0
  121. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/device_attestation_response.py +0 -0
  122. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/dh_message.py +0 -0
  123. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/dh_message_attachment.py +0 -0
  124. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/dh_message_reaction.py +0 -0
  125. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/dh_message_type_enum.py +0 -0
  126. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/direction_enum.py +0 -0
  127. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/emoji.py +0 -0
  128. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/emoji_reaction.py +0 -0
  129. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/id_enum.py +0 -0
  130. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/intent_enum.py +0 -0
  131. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/iso_country_enum.py +0 -0
  132. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/item.py +0 -0
  133. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/ivr_collection.py +0 -0
  134. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/ivr_collection_request.py +0 -0
  135. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/ivr_menu_request.py +0 -0
  136. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/ivr_menu_response.py +0 -0
  137. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/ivr_menu_response_status_enum.py +0 -0
  138. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/ivr_options_invalid_response.py +0 -0
  139. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/ivr_options_request.py +0 -0
  140. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/kyc.py +0 -0
  141. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/kyc_status_enum.py +0 -0
  142. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/kyc_upload_metadata.py +0 -0
  143. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/location.py +0 -0
  144. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/next_or_cta_request.py +0 -0
  145. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/order_status_enum.py +0 -0
  146. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/organization_employee_preferences.py +0 -0
  147. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/organization_employee_status_enum.py +0 -0
  148. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/organization_group_inline.py +0 -0
  149. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/organization_group_response.py +0 -0
  150. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/paginated_call_list.py +0 -0
  151. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/paginated_campaign_response_list.py +0 -0
  152. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/paginated_customer_order_subscriptions_serializer_v2_list.py +0 -0
  153. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/paginated_device_list.py +0 -0
  154. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/paginated_dh_message_list.py +0 -0
  155. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/paginated_ivr_menu_response_list.py +0 -0
  156. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/paginated_ivr_options_response_list.py +0 -0
  157. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/paginated_kyc_list.py +0 -0
  158. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/paginated_organization_employee_list.py +0 -0
  159. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/paginated_organization_group_response_list.py +0 -0
  160. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/paginated_phone_number_list.py +0 -0
  161. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/patched_ivr_options_update_request.py +0 -0
  162. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/patched_phone_number_request.py +0 -0
  163. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/payment_gateway_fees_info.py +0 -0
  164. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/period_enum.py +0 -0
  165. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/phone_number.py +0 -0
  166. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/phone_number_attributes.py +0 -0
  167. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/phone_number_capabilities.py +0 -0
  168. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/phone_number_provider_enum.py +0 -0
  169. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/phone_number_search_response.py +0 -0
  170. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/phone_number_status_enum.py +0 -0
  171. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/plan.py +0 -0
  172. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/plan_cancel_info.py +0 -0
  173. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/plan_expiry_timestamp.py +0 -0
  174. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/plan_expiry_timestamp_type_enum.py +0 -0
  175. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/plan_extra_details.py +0 -0
  176. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/plan_item.py +0 -0
  177. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/plan_type.py +0 -0
  178. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/plan_type_cycle.py +0 -0
  179. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/platform_enum.py +0 -0
  180. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/product_group.py +0 -0
  181. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/proof.py +0 -0
  182. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/proof_status_enum.py +0 -0
  183. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/provider_status_enum.py +0 -0
  184. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/reaction_by.py +0 -0
  185. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/rental_currency_enum.py +0 -0
  186. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/resource_enum.py +0 -0
  187. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/user_agent.py +0 -0
  188. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/user_agent_browser.py +0 -0
  189. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/user_agent_device.py +0 -0
  190. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/user_agent_operating_system.py +0 -0
  191. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/user_agent_platform.py +0 -0
  192. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/user_identity.py +0 -0
  193. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/v1_calls_list_direction.py +0 -0
  194. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/v1_campaign_list_status_item.py +0 -0
  195. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/v1_customer_consumables_retrieve_currency.py +0 -0
  196. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/v1_ivr_list_duration.py +0 -0
  197. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/v1_kyc_list_iso_country.py +0 -0
  198. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/v1_kyc_list_provider_status_item.py +0 -0
  199. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/v1_kyc_list_resource.py +0 -0
  200. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/v1_kyc_list_status.py +0 -0
  201. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/v1_phonenumbers_list_additional_status_item.py +0 -0
  202. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/v1_phonenumbers_list_provider.py +0 -0
  203. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/v1_phonenumbers_list_status.py +0 -0
  204. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/v1_phonenumbers_search_retrieve_intent.py +0 -0
  205. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/v1_phonenumbers_search_retrieve_iso_country_code.py +0 -0
  206. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/v1_phonenumbers_search_retrieve_resource.py +0 -0
  207. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/v2_app_organizations_employees_list_status_item.py +0 -0
  208. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/v3_orders_subscriptions_list_currency.py +0 -0
  209. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/models/v3_orders_subscriptions_list_status_item.py +0 -0
  210. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/client/types.py +0 -0
  211. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/py.typed +0 -0
  212. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/resources/__init__.py +0 -0
  213. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/resources/_constants.py +0 -0
  214. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl/api/resources/silence.py +0 -0
  215. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl_python.egg-info/dependency_links.txt +0 -0
  216. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl_python.egg-info/entry_points.txt +0 -0
  217. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl_python.egg-info/not-zip-safe +0 -0
  218. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/jaxl_python.egg-info/top_level.txt +0 -0
  219. {jaxl_python-0.0.11 → jaxl_python-0.0.13}/pyproject.toml +0 -0
@@ -29,7 +29,7 @@ jobs:
29
29
  python -m venv .venv
30
30
  source .venv/bin/activate
31
31
  python -m pip install --upgrade pip
32
- pip install -e .[dev,app,grout,silence,transcribe]
32
+ pip install -e .[dev,docs,types,app,grout,silence,transcribe,release]
33
33
  - name: Run mypy
34
34
  run: |
35
35
  source .venv/bin/activate
@@ -28,6 +28,8 @@ _scm_version.py
28
28
  license.py
29
29
  schema.py
30
30
  schema.yaml
31
+ *.patch
32
+ /site
31
33
 
32
34
  jaxl-api-credentials*.json
33
35
  docs
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: jaxl-python
3
- Version: 0.0.11
3
+ Version: 0.0.13
4
4
  Summary: Official Python SDK and CLI for interfacing with the Jaxl API. Manage calls, messages, IVRs, devices, teams, payments, campaigns, streaming transcriptions and AI Agents. Built on OpenAPI, it offers both generated API clients and Pythonic wrappers for ease of use.
5
5
  Home-page: https://github.com/jaxl-innovations-private-limited/jaxl-python
6
6
  Download-URL: https://github.com/jaxl-innovations-private-limited/jaxl-python/archive/main.zip
@@ -48,22 +48,23 @@ License-File: LICENSE.md
48
48
  Requires-Dist: httpx<0.24.0,>=0.15.0
49
49
  Requires-Dist: attrs>=21.3.0
50
50
  Requires-Dist: python-dateutil<3,>=2.8.0
51
- Requires-Dist: cryptography==39.0.1
51
+ Requires-Dist: cryptography==46.0.2
52
52
  Requires-Dist: PyJWT==2.8.0
53
53
  Requires-Dist: requests==2.32.4
54
54
  Requires-Dist: pydantic==2.11.9
55
55
  Provides-Extra: dev
56
- Requires-Dist: types-python-dateutil; extra == "dev"
57
56
  Requires-Dist: isort; extra == "dev"
58
57
  Requires-Dist: mypy; extra == "dev"
59
58
  Requires-Dist: autoflake; extra == "dev"
60
59
  Requires-Dist: pylint==3.3.3; extra == "dev"
61
- Requires-Dist: types-requests==2.32.0.20240602; extra == "dev"
62
- Requires-Dist: pdoc3==0.11.6; extra == "dev"
63
- Requires-Dist: build; extra == "dev"
64
- Requires-Dist: types-PyYAML==6.0.12.20250915; extra == "dev"
65
- Requires-Dist: types-Pygments==2.19.0.20250809; extra == "dev"
66
- Requires-Dist: types-ujson==5.10.0.20250822; extra == "dev"
60
+ Provides-Extra: docs
61
+ Requires-Dist: pdoc3==0.11.6; extra == "docs"
62
+ Provides-Extra: types
63
+ Requires-Dist: types-python-dateutil; extra == "types"
64
+ Requires-Dist: types-PyYAML==6.0.12.20250915; extra == "types"
65
+ Requires-Dist: types-Pygments==2.19.0.20250809; extra == "types"
66
+ Requires-Dist: types-ujson==5.10.0.20250822; extra == "types"
67
+ Requires-Dist: types-requests==2.32.0.20240602; extra == "types"
67
68
  Provides-Extra: app
68
69
  Requires-Dist: uvicorn[standard]==0.35.0; extra == "app"
69
70
  Requires-Dist: fastapi==0.116.1; extra == "app"
@@ -72,9 +73,14 @@ Requires-Dist: proxy.py==2.4.10; extra == "grout"
72
73
  Provides-Extra: silence
73
74
  Requires-Dist: webrtcvad==2.0.10; extra == "silence"
74
75
  Requires-Dist: setuptools==80.9.0; extra == "silence"
75
- Requires-Dist: numpy==1.26.4; extra == "silence"
76
76
  Provides-Extra: transcribe
77
77
  Requires-Dist: openai-whisper==20240930; extra == "transcribe"
78
+ Requires-Dist: numpy==1.26.4; extra == "transcribe"
79
+ Provides-Extra: openai
80
+ Requires-Dist: openai==2.1.0; extra == "openai"
81
+ Provides-Extra: release
82
+ Requires-Dist: build; extra == "release"
83
+ Requires-Dist: twine; extra == "release"
78
84
  Dynamic: download-url
79
85
  Dynamic: license-file
80
86
 
@@ -95,10 +101,9 @@ Use Jaxl from Python code or directly via the `jaxl` command-line tool.
95
101
  - [Assign a Phone Number to IVR by ID](#assign-a-phone-number-to-ivr-by-id)
96
102
  - [Place Outgoing Cellular Call with Existing IVR](#place-outgoing-cellular-call-with-existing-ivr)
97
103
  - [Place Outgoing Cellular Call with Ad-hoc IVR](#place-outgoing-cellular-call-with-ad-hoc-ivr)
98
- - [Dial-out Multi-Party Conference between Cellular Numbers](#dial-out-multi-party-conference-between-cellular-numbers)
99
- - [Dial-out Agent Team and Cellular Numbers](#dial-out-agent-team-and-cellular-numbers)
100
104
  - [Dial-out 2-Party Conference with Ad-hoc IVR](#dial-out-2-party-conference-with-ad-hoc-ivr)
101
105
  - [Add External Phone Number to an Active Call](#add-external-phone-number-to-an-active-call)
106
+ - [Add External Phone Number via Another Phone Number to an Active Call](#add-external-phone-number-via-another-phone-number-to-an-active-call)
102
107
  - [Add Agent to an Active Call](#add-agent-to-an-active-call)
103
108
  - [Remove External Phone Number from an Active Call](#remove-external-phone-number-from-an-active-call)
104
109
  - [Remove Agent from an Active Call](#remove-agent-from-an-active-call)
@@ -194,13 +199,13 @@ This IVR will speak the message and then hangup the call.
194
199
 
195
200
  ```bash
196
201
  jaxl ivrs create \
197
- --message "Hello, we are calling via Jaxl IVR demo created from CLI" \
202
+ --message "Hello, we are calling via Jaxl IVR demo created from CLI. Will hang up after speaking this message." \
198
203
  --hangup
199
204
  ```
200
205
 
201
206
  ### Configure IVR Options
202
207
 
203
- This IVR option uses `--next` to send user to another IVR.
208
+ This IVR option uses `--next` to send user to another IVR or to the same IVR for a "repeat this menu" experience.
204
209
 
205
210
  ```bash
206
211
  jaxl ivrs options configure \
@@ -210,7 +215,7 @@ jaxl ivrs options configure \
210
215
  --next <NEXT IVR ID>
211
216
  ```
212
217
 
213
- > Use &lt;IVR ID TO CONFIGURE&gt; as the &lt;NEXT IVR ID&gt; to complete the "repeat this menu" experience.
218
+ > Use same value for &lt;IVR ID TO CONFIGURE&gt; and &lt;NEXT IVR ID&gt; to complete the "repeat this menu" experience.
214
219
 
215
220
  One of the CTA key flag must be provided. Allowed CTA keys are:
216
221
 
@@ -235,7 +240,7 @@ jaxl phones list
235
240
  You can also search for a specific purchased number:
236
241
 
237
242
  ```bash
238
- jaxl phones list --e164 "+91<Purchased Jaxl Number>"
243
+ jaxl phones list --e164 "+CC<Purchased Jaxl Number>"
239
244
  ```
240
245
 
241
246
  ### Assign a Phone Number to IVR by ID
@@ -244,7 +249,7 @@ All incoming calls to this number will send user to the assigned IVR.
244
249
 
245
250
  ```bash
246
251
  jaxl phones ivrs \
247
- --e164 "+91<Purchased Jaxl Number>" \
252
+ --e164 "+CC<Purchased Jaxl Number>" \
248
253
  --ivr <IVR ID>
249
254
  ```
250
255
 
@@ -258,8 +263,8 @@ Below command will execute the following flow:
258
263
 
259
264
  ```bash
260
265
  jaxl calls create \
261
- --to "+91<Callee Number>" \
262
- --from "+91<Purchased Jaxl Number>" \
266
+ --to "+CC<Callee Number>" \
267
+ --from "+CC<Purchased Jaxl Number>" \
263
268
  --ivr <IVR ID>
264
269
  ```
265
270
 
@@ -274,46 +279,13 @@ Below command will execute the following flow:
274
279
 
275
280
  ```bash
276
281
  jaxl calls create \
277
- --to "+91<Callee Number>" \
278
- --from "+91<Purchased Jaxl Number>" \
282
+ --to "+CC<Callee Number>" \
283
+ --from "+CC<Purchased Jaxl Number>" \
279
284
  --message "Hello, we are calling you from MyCompany" \
280
285
  --option "1=Press 1 for sales:team=<Sales Team ID>" \
281
286
  --option "2=Press 2 for HR department:team=<HR Team ID>
282
287
  ```
283
288
 
284
- ## Dial-out Multi-Party Conference between Cellular Numbers
285
-
286
- Below command will execute the following flow:
287
-
288
- - Dials out all `--to` participants in parallel
289
- - Connects them together as they answer the call
290
- - Ends the call when one but all others have hanged up the call
291
-
292
- ```bash
293
- jaxl calls create \
294
- --to "+91<Doctors Number>" \
295
- --to "+91<Patient Number>" \
296
- --to "+91<Supervisor Number>" \
297
- --from "+91<Purchased Jaxl Number>"
298
- ```
299
-
300
- ### Dial-out Agent Team and Cellular Numbers
301
-
302
- Below command will execute the following flow:
303
-
304
- - Dials out multiple teams of doctors & patient in parallel
305
- - Connects the patient with first doctor to pick the call from the teams
306
- - Doctors are called on their cellular number first (if added on Jaxl app),
307
- followed by an attempt to call on Jaxl app directly (VoIP).
308
- - Calling preference can be controlled per agent (doctor) or team to dictate
309
- whether to use cellular or voip first to connect with a doctor.
310
-
311
- ```bash
312
- jaxl calls create \
313
- --to "teams=<Doctors Team ID1>,<Doctors Team ID2>" \
314
- --to "+91<Patient Number>"
315
- ```
316
-
317
289
  ### Dial-out 2-Party Conference with Ad-hoc IVR
318
290
 
319
291
  Below command will execute the following flow:
@@ -325,34 +297,40 @@ Below command will execute the following flow:
325
297
 
326
298
  ```bash
327
299
  jaxl calls create \
328
- --to "+91<Doctors Number>" \
329
- --from "+91<Purchased Jaxl Number>" \
300
+ --to "+CC<Doctors Number>" \
301
+ --from "+CC<Purchased Jaxl Number>" \
330
302
  --message "Hello Doctor, this is a call from MyCompany regarding your appointment with Mr. Patient Name. When ready please, " \
331
- --option "1=Press 1 to connect with the patient:phone=+91<Patient Number>"
303
+ --option "1=Press 1 to connect with the patient:phone=+CC<Patient Number>"
332
304
  ```
333
305
 
334
306
  ### Add External Phone Number to an Active Call
335
307
 
336
308
  ```bash
337
- jaxl calls add --call-id 1234 --phone +91<Mobile Number>
309
+ jaxl calls add --call-id 1234 --e164 +CC<Mobile Number>
310
+ ```
311
+
312
+ ### Add External Phone Number via Another Phone Number to an Active Call
313
+
314
+ ```bash
315
+ jaxl calls add --call-id 1234 --e164 +CC<Mobile Number> --from-e164 +CC<Purchased Jaxl Number>
338
316
  ```
339
317
 
340
318
  ### Add Agent to an Active Call
341
319
 
342
320
  ```bash
343
- jaxl calls add --call-id 1234 --agent <someone@mycompany.com>
321
+ jaxl calls add --call-id 1234 --email <someone@mycompany.com>
344
322
  ```
345
323
 
346
324
  ### Remove External Phone Number from an Active Call
347
325
 
348
326
  ```bash
349
- jaxl calls remove --call-id 1234 --phone +91<Mobile Number>
327
+ jaxl calls remove --call-id 1234 --e164 +CC<Mobile Number>
350
328
  ```
351
329
 
352
330
  ### Remove Agent from an Active Call
353
331
 
354
332
  ```bash
355
- jaxl calls remove --call-id 1234 --agent <someone@mycompany.com>
333
+ jaxl calls remove --call-id 1234 --email <someone@mycompany.com>
356
334
  ```
357
335
 
358
336
  ### Send Text Prompts (TTS) in an Active Call
@@ -378,13 +356,13 @@ jaxl calls play --call-id 1234 --audio /path/to/a/file/on/local/disk/or/public/u
378
356
  Mute a specific cellular user in a call.
379
357
 
380
358
  ```bash
381
- jaxl calls mute --call-id 1234 --phone +91<Mobile Number>
359
+ jaxl calls mute --call-id 1234 --e164 +CC<Mobile Number>
382
360
  ```
383
361
 
384
362
  Mute an agent (Jaxl App User) in a call.
385
363
 
386
364
  ```bash
387
- jaxl calls mute --call-id 1235 --agent <someone@mycompany.com>
365
+ jaxl calls mute --call-id 1235 --email <someone@mycompany.com>
388
366
  ```
389
367
 
390
368
  ### Unmute a Participant in an Active Call
@@ -392,13 +370,13 @@ jaxl calls mute --call-id 1235 --agent <someone@mycompany.com>
392
370
  Unmute a specific cellular user in a call.
393
371
 
394
372
  ```bash
395
- jaxl calls unmute --call-id 1234 --phone +91<Mobile Number>
373
+ jaxl calls unmute --call-id 1234 --e164 +CC<Mobile Number>
396
374
  ```
397
375
 
398
376
  Unmute a specific agent (Jaxl App User) in a call.
399
377
 
400
378
  ```bash
401
- jaxl calls unmute --call-id 1235 --agent <someone@mycompany.com>
379
+ jaxl calls unmute --call-id 1235 --email <someone@mycompany.com>
402
380
  ```
403
381
 
404
382
  ### Hold a Participant in an Active Call
@@ -406,13 +384,13 @@ jaxl calls unmute --call-id 1235 --agent <someone@mycompany.com>
406
384
  Put a cellular user on-hold in a call
407
385
 
408
386
  ```bash
409
- jaxl calls hold --call-id 1234 --phone +91<Mobile Number>
387
+ jaxl calls hold --call-id 1234 --e164 +CC<Mobile Number>
410
388
  ```
411
389
 
412
390
  Put an agent on-hold in a call
413
391
 
414
392
  ```bash
415
- jaxl calls hold --call-id 1235 --agent <someone@mycompany.com>
393
+ jaxl calls hold --call-id 1235 --email <someone@mycompany.com>
416
394
  ```
417
395
 
418
396
  ### Unhold a Participant in an Active Call
@@ -420,13 +398,13 @@ jaxl calls hold --call-id 1235 --agent <someone@mycompany.com>
420
398
  Unhold a cellular user in a call
421
399
 
422
400
  ```bash
423
- jaxl calls unhold --call-id 1234 --phone +91<Mobile Number>
401
+ jaxl calls unhold --call-id 1234 --e164 +CC<Mobile Number>
424
402
  ```
425
403
 
426
404
  Unhold an agent in a call
427
405
 
428
406
  ```bash
429
- jaxl calls unhold --call-id 1235 --agent <someone@mycompany.com>
407
+ jaxl calls unhold --call-id 1235 --email <someone@mycompany.com>
430
408
  ```
431
409
 
432
410
  ### Receive Call Events via Webhook IVRs
@@ -479,25 +457,21 @@ jaxl payments consumables total
479
457
  ## Jaxl Python SDK
480
458
 
481
459
  - Jaxl APIs is built upon [OpenAPI specification](https://www.openapis.org/)
482
- - `jaxl-python` contains following Python modules:
483
- - `jaxl.api.client`: Generated OpenAPI SDK
484
- - `jaxl.api.resources`: Wrapper methods written to support `jaxl` CLI
485
- - `jaxl_api_client`: Helper function to retrieve an instance of `JaxlApiClient`
486
460
 
487
461
  ### SDK Example Usage:
488
462
 
489
463
  ```python
490
- from jaxl.api import JaxlApiModule, jaxl_api_client
491
- from jaxl.api.client.api.v1 import v1_calls_list
464
+ from jaxl.api import JaxlSDK
492
465
 
493
466
  os.environ.setdefault("JAXL_API_CREDENTIALS", "/path/to/jaxl-api-credentials.json")
494
467
 
495
468
  os.environ.setdefault("JAXL_API_AUTH_TOKEN", "....authentication token...")
496
469
 
497
- response = v1_calls_list.sync_detailed(
498
- client=jaxl_api_client(JaxlApiModule.CALL),
499
- currency=2, # 1=USD, 2=INR
500
- )
470
+ sdk = JaxlSDK()
471
+
472
+ response = sdk.calls.create(to="+CC<Callee Number>", from_="+CC<Purchased Jaxl Number>", ivr=1234)
473
+ response = sdk.calls.list(currency=2) # 1=USD, 2=INR
474
+ response = sdk.accounts.me()
501
475
  ```
502
476
 
503
477
  ## SDK Documentation
@@ -516,7 +490,7 @@ python3 -m venv .venv
516
490
  source .venv/bin/activate
517
491
 
518
492
  # Install
519
- pip install -e ".[dev]"
493
+ pip install -e ".[dev,docs]"
520
494
 
521
495
  # Generate documentation
522
496
  ./docs.sh
@@ -527,6 +501,10 @@ open docs/jaxl/index.html
527
501
 
528
502
  ## Status
529
503
 
530
- [![Python 3.x](https://img.shields.io/static/v1?label=Python&message=3.6%20%7C%203.7%20%7C%203.8%20%7C%203.9%20%7C%203.10%20%7C%203.11%20%7C%203.12&color=blue&style=flat-square)](https://www.python.org/)
504
+ [![pypi version](https://img.shields.io/pypi/v/jaxl-python)](https://pypi.org/project/jaxl-python/)
505
+
506
+ [![PyPi Monthly](https://img.shields.io/pypi/dm/jaxl-python)](https://pypi.org/project/jaxl-python/)
507
+
508
+ [![Python 3.x](https://img.shields.io/static/v1?label=Python&message=3.9%20%7C%203.10%20%7C%203.11%20%7C%203.12&color=blue)](https://www.python.org/)
531
509
 
532
- [![Checked with mypy](https://img.shields.io/static/v1?label=MyPy&message=checked&color=blue&style=flat-square)](http://mypy-lang.org/)
510
+ [![Checked with mypy](https://img.shields.io/static/v1?label=MyPy&message=checked&color=blue)](http://mypy-lang.org/)
@@ -15,10 +15,9 @@ Use Jaxl from Python code or directly via the `jaxl` command-line tool.
15
15
  - [Assign a Phone Number to IVR by ID](#assign-a-phone-number-to-ivr-by-id)
16
16
  - [Place Outgoing Cellular Call with Existing IVR](#place-outgoing-cellular-call-with-existing-ivr)
17
17
  - [Place Outgoing Cellular Call with Ad-hoc IVR](#place-outgoing-cellular-call-with-ad-hoc-ivr)
18
- - [Dial-out Multi-Party Conference between Cellular Numbers](#dial-out-multi-party-conference-between-cellular-numbers)
19
- - [Dial-out Agent Team and Cellular Numbers](#dial-out-agent-team-and-cellular-numbers)
20
18
  - [Dial-out 2-Party Conference with Ad-hoc IVR](#dial-out-2-party-conference-with-ad-hoc-ivr)
21
19
  - [Add External Phone Number to an Active Call](#add-external-phone-number-to-an-active-call)
20
+ - [Add External Phone Number via Another Phone Number to an Active Call](#add-external-phone-number-via-another-phone-number-to-an-active-call)
22
21
  - [Add Agent to an Active Call](#add-agent-to-an-active-call)
23
22
  - [Remove External Phone Number from an Active Call](#remove-external-phone-number-from-an-active-call)
24
23
  - [Remove Agent from an Active Call](#remove-agent-from-an-active-call)
@@ -114,13 +113,13 @@ This IVR will speak the message and then hangup the call.
114
113
 
115
114
  ```bash
116
115
  jaxl ivrs create \
117
- --message "Hello, we are calling via Jaxl IVR demo created from CLI" \
116
+ --message "Hello, we are calling via Jaxl IVR demo created from CLI. Will hang up after speaking this message." \
118
117
  --hangup
119
118
  ```
120
119
 
121
120
  ### Configure IVR Options
122
121
 
123
- This IVR option uses `--next` to send user to another IVR.
122
+ This IVR option uses `--next` to send user to another IVR or to the same IVR for a "repeat this menu" experience.
124
123
 
125
124
  ```bash
126
125
  jaxl ivrs options configure \
@@ -130,7 +129,7 @@ jaxl ivrs options configure \
130
129
  --next <NEXT IVR ID>
131
130
  ```
132
131
 
133
- > Use &lt;IVR ID TO CONFIGURE&gt; as the &lt;NEXT IVR ID&gt; to complete the "repeat this menu" experience.
132
+ > Use same value for &lt;IVR ID TO CONFIGURE&gt; and &lt;NEXT IVR ID&gt; to complete the "repeat this menu" experience.
134
133
 
135
134
  One of the CTA key flag must be provided. Allowed CTA keys are:
136
135
 
@@ -155,7 +154,7 @@ jaxl phones list
155
154
  You can also search for a specific purchased number:
156
155
 
157
156
  ```bash
158
- jaxl phones list --e164 "+91<Purchased Jaxl Number>"
157
+ jaxl phones list --e164 "+CC<Purchased Jaxl Number>"
159
158
  ```
160
159
 
161
160
  ### Assign a Phone Number to IVR by ID
@@ -164,7 +163,7 @@ All incoming calls to this number will send user to the assigned IVR.
164
163
 
165
164
  ```bash
166
165
  jaxl phones ivrs \
167
- --e164 "+91<Purchased Jaxl Number>" \
166
+ --e164 "+CC<Purchased Jaxl Number>" \
168
167
  --ivr <IVR ID>
169
168
  ```
170
169
 
@@ -178,8 +177,8 @@ Below command will execute the following flow:
178
177
 
179
178
  ```bash
180
179
  jaxl calls create \
181
- --to "+91<Callee Number>" \
182
- --from "+91<Purchased Jaxl Number>" \
180
+ --to "+CC<Callee Number>" \
181
+ --from "+CC<Purchased Jaxl Number>" \
183
182
  --ivr <IVR ID>
184
183
  ```
185
184
 
@@ -194,46 +193,13 @@ Below command will execute the following flow:
194
193
 
195
194
  ```bash
196
195
  jaxl calls create \
197
- --to "+91<Callee Number>" \
198
- --from "+91<Purchased Jaxl Number>" \
196
+ --to "+CC<Callee Number>" \
197
+ --from "+CC<Purchased Jaxl Number>" \
199
198
  --message "Hello, we are calling you from MyCompany" \
200
199
  --option "1=Press 1 for sales:team=<Sales Team ID>" \
201
200
  --option "2=Press 2 for HR department:team=<HR Team ID>
202
201
  ```
203
202
 
204
- ## Dial-out Multi-Party Conference between Cellular Numbers
205
-
206
- Below command will execute the following flow:
207
-
208
- - Dials out all `--to` participants in parallel
209
- - Connects them together as they answer the call
210
- - Ends the call when one but all others have hanged up the call
211
-
212
- ```bash
213
- jaxl calls create \
214
- --to "+91<Doctors Number>" \
215
- --to "+91<Patient Number>" \
216
- --to "+91<Supervisor Number>" \
217
- --from "+91<Purchased Jaxl Number>"
218
- ```
219
-
220
- ### Dial-out Agent Team and Cellular Numbers
221
-
222
- Below command will execute the following flow:
223
-
224
- - Dials out multiple teams of doctors & patient in parallel
225
- - Connects the patient with first doctor to pick the call from the teams
226
- - Doctors are called on their cellular number first (if added on Jaxl app),
227
- followed by an attempt to call on Jaxl app directly (VoIP).
228
- - Calling preference can be controlled per agent (doctor) or team to dictate
229
- whether to use cellular or voip first to connect with a doctor.
230
-
231
- ```bash
232
- jaxl calls create \
233
- --to "teams=<Doctors Team ID1>,<Doctors Team ID2>" \
234
- --to "+91<Patient Number>"
235
- ```
236
-
237
203
  ### Dial-out 2-Party Conference with Ad-hoc IVR
238
204
 
239
205
  Below command will execute the following flow:
@@ -245,34 +211,40 @@ Below command will execute the following flow:
245
211
 
246
212
  ```bash
247
213
  jaxl calls create \
248
- --to "+91<Doctors Number>" \
249
- --from "+91<Purchased Jaxl Number>" \
214
+ --to "+CC<Doctors Number>" \
215
+ --from "+CC<Purchased Jaxl Number>" \
250
216
  --message "Hello Doctor, this is a call from MyCompany regarding your appointment with Mr. Patient Name. When ready please, " \
251
- --option "1=Press 1 to connect with the patient:phone=+91<Patient Number>"
217
+ --option "1=Press 1 to connect with the patient:phone=+CC<Patient Number>"
252
218
  ```
253
219
 
254
220
  ### Add External Phone Number to an Active Call
255
221
 
256
222
  ```bash
257
- jaxl calls add --call-id 1234 --phone +91<Mobile Number>
223
+ jaxl calls add --call-id 1234 --e164 +CC<Mobile Number>
224
+ ```
225
+
226
+ ### Add External Phone Number via Another Phone Number to an Active Call
227
+
228
+ ```bash
229
+ jaxl calls add --call-id 1234 --e164 +CC<Mobile Number> --from-e164 +CC<Purchased Jaxl Number>
258
230
  ```
259
231
 
260
232
  ### Add Agent to an Active Call
261
233
 
262
234
  ```bash
263
- jaxl calls add --call-id 1234 --agent <someone@mycompany.com>
235
+ jaxl calls add --call-id 1234 --email <someone@mycompany.com>
264
236
  ```
265
237
 
266
238
  ### Remove External Phone Number from an Active Call
267
239
 
268
240
  ```bash
269
- jaxl calls remove --call-id 1234 --phone +91<Mobile Number>
241
+ jaxl calls remove --call-id 1234 --e164 +CC<Mobile Number>
270
242
  ```
271
243
 
272
244
  ### Remove Agent from an Active Call
273
245
 
274
246
  ```bash
275
- jaxl calls remove --call-id 1234 --agent <someone@mycompany.com>
247
+ jaxl calls remove --call-id 1234 --email <someone@mycompany.com>
276
248
  ```
277
249
 
278
250
  ### Send Text Prompts (TTS) in an Active Call
@@ -298,13 +270,13 @@ jaxl calls play --call-id 1234 --audio /path/to/a/file/on/local/disk/or/public/u
298
270
  Mute a specific cellular user in a call.
299
271
 
300
272
  ```bash
301
- jaxl calls mute --call-id 1234 --phone +91<Mobile Number>
273
+ jaxl calls mute --call-id 1234 --e164 +CC<Mobile Number>
302
274
  ```
303
275
 
304
276
  Mute an agent (Jaxl App User) in a call.
305
277
 
306
278
  ```bash
307
- jaxl calls mute --call-id 1235 --agent <someone@mycompany.com>
279
+ jaxl calls mute --call-id 1235 --email <someone@mycompany.com>
308
280
  ```
309
281
 
310
282
  ### Unmute a Participant in an Active Call
@@ -312,13 +284,13 @@ jaxl calls mute --call-id 1235 --agent <someone@mycompany.com>
312
284
  Unmute a specific cellular user in a call.
313
285
 
314
286
  ```bash
315
- jaxl calls unmute --call-id 1234 --phone +91<Mobile Number>
287
+ jaxl calls unmute --call-id 1234 --e164 +CC<Mobile Number>
316
288
  ```
317
289
 
318
290
  Unmute a specific agent (Jaxl App User) in a call.
319
291
 
320
292
  ```bash
321
- jaxl calls unmute --call-id 1235 --agent <someone@mycompany.com>
293
+ jaxl calls unmute --call-id 1235 --email <someone@mycompany.com>
322
294
  ```
323
295
 
324
296
  ### Hold a Participant in an Active Call
@@ -326,13 +298,13 @@ jaxl calls unmute --call-id 1235 --agent <someone@mycompany.com>
326
298
  Put a cellular user on-hold in a call
327
299
 
328
300
  ```bash
329
- jaxl calls hold --call-id 1234 --phone +91<Mobile Number>
301
+ jaxl calls hold --call-id 1234 --e164 +CC<Mobile Number>
330
302
  ```
331
303
 
332
304
  Put an agent on-hold in a call
333
305
 
334
306
  ```bash
335
- jaxl calls hold --call-id 1235 --agent <someone@mycompany.com>
307
+ jaxl calls hold --call-id 1235 --email <someone@mycompany.com>
336
308
  ```
337
309
 
338
310
  ### Unhold a Participant in an Active Call
@@ -340,13 +312,13 @@ jaxl calls hold --call-id 1235 --agent <someone@mycompany.com>
340
312
  Unhold a cellular user in a call
341
313
 
342
314
  ```bash
343
- jaxl calls unhold --call-id 1234 --phone +91<Mobile Number>
315
+ jaxl calls unhold --call-id 1234 --e164 +CC<Mobile Number>
344
316
  ```
345
317
 
346
318
  Unhold an agent in a call
347
319
 
348
320
  ```bash
349
- jaxl calls unhold --call-id 1235 --agent <someone@mycompany.com>
321
+ jaxl calls unhold --call-id 1235 --email <someone@mycompany.com>
350
322
  ```
351
323
 
352
324
  ### Receive Call Events via Webhook IVRs
@@ -399,25 +371,21 @@ jaxl payments consumables total
399
371
  ## Jaxl Python SDK
400
372
 
401
373
  - Jaxl APIs is built upon [OpenAPI specification](https://www.openapis.org/)
402
- - `jaxl-python` contains following Python modules:
403
- - `jaxl.api.client`: Generated OpenAPI SDK
404
- - `jaxl.api.resources`: Wrapper methods written to support `jaxl` CLI
405
- - `jaxl_api_client`: Helper function to retrieve an instance of `JaxlApiClient`
406
374
 
407
375
  ### SDK Example Usage:
408
376
 
409
377
  ```python
410
- from jaxl.api import JaxlApiModule, jaxl_api_client
411
- from jaxl.api.client.api.v1 import v1_calls_list
378
+ from jaxl.api import JaxlSDK
412
379
 
413
380
  os.environ.setdefault("JAXL_API_CREDENTIALS", "/path/to/jaxl-api-credentials.json")
414
381
 
415
382
  os.environ.setdefault("JAXL_API_AUTH_TOKEN", "....authentication token...")
416
383
 
417
- response = v1_calls_list.sync_detailed(
418
- client=jaxl_api_client(JaxlApiModule.CALL),
419
- currency=2, # 1=USD, 2=INR
420
- )
384
+ sdk = JaxlSDK()
385
+
386
+ response = sdk.calls.create(to="+CC<Callee Number>", from_="+CC<Purchased Jaxl Number>", ivr=1234)
387
+ response = sdk.calls.list(currency=2) # 1=USD, 2=INR
388
+ response = sdk.accounts.me()
421
389
  ```
422
390
 
423
391
  ## SDK Documentation
@@ -436,7 +404,7 @@ python3 -m venv .venv
436
404
  source .venv/bin/activate
437
405
 
438
406
  # Install
439
- pip install -e ".[dev]"
407
+ pip install -e ".[dev,docs]"
440
408
 
441
409
  # Generate documentation
442
410
  ./docs.sh
@@ -447,6 +415,10 @@ open docs/jaxl/index.html
447
415
 
448
416
  ## Status
449
417
 
450
- [![Python 3.x](https://img.shields.io/static/v1?label=Python&message=3.6%20%7C%203.7%20%7C%203.8%20%7C%203.9%20%7C%203.10%20%7C%203.11%20%7C%203.12&color=blue&style=flat-square)](https://www.python.org/)
418
+ [![pypi version](https://img.shields.io/pypi/v/jaxl-python)](https://pypi.org/project/jaxl-python/)
419
+
420
+ [![PyPi Monthly](https://img.shields.io/pypi/dm/jaxl-python)](https://pypi.org/project/jaxl-python/)
421
+
422
+ [![Python 3.x](https://img.shields.io/static/v1?label=Python&message=3.9%20%7C%203.10%20%7C%203.11%20%7C%203.12&color=blue)](https://www.python.org/)
451
423
 
452
- [![Checked with mypy](https://img.shields.io/static/v1?label=MyPy&message=checked&color=blue&style=flat-square)](http://mypy-lang.org/)
424
+ [![Checked with mypy](https://img.shields.io/static/v1?label=MyPy&message=checked&color=blue)](http://mypy-lang.org/)
@@ -136,6 +136,7 @@ PYTHONPATH=. jaxl apps run --app examples:JaxlAppStreamingTranscription --transc
136
136
  ```bash
137
137
  # Requires ffmpeg installed on your system
138
138
  pip install -U jaxl-python[silence,transcribe]
139
+ # Defaults to gemma3:1b model, ensure you have the model installed
139
140
  export JAXL_OLLAMA_URL=https://<llm.domain>/api/chat
140
141
  PYTHONPATH=. jaxl apps run --app examples:JaxlAppStreamingAIAgent --transcribe
141
142
  ```
@@ -0,0 +1,15 @@
1
+ You are a concise and precise virtual assistant
2
+ for the domain {domain}, representing the brand '{brand_name}'.
3
+ Always reply in plain text.
4
+
5
+ User may mispronounce '{brand_name}'.
6
+ Try to infer the mispronunciations and treat all such variants
7
+ as references to '{brand_name}' and always refer to the name correctly
8
+ as '{brand_name}' in your responses.
9
+
10
+ Keep your responses short (one or two sentences) and to the point,
11
+ unless the user asks for more details. Avoid unnecessary elaboration.
12
+ When appropriate, follow this template: provide a brief answer,
13
+ and ask a clarifying question. Your primary goal is to be concise, precise, clear and efficient.
14
+
15
+ Use the system role context in following messages to answer queries related to {domain}.
@@ -21,6 +21,8 @@ from jaxl.api.base import (
21
21
 
22
22
  ASK_FOR_CODE_RESPONSE = JaxlWebhookResponse(
23
23
  prompt=["Please enter your code followed by star sign"],
24
+ # Because we expect user to end their input with a star sign,
25
+ # we will use num_characters="*". Only other option is "#".
24
26
  num_characters="*",
25
27
  )
26
28
 
@@ -22,6 +22,8 @@ class JaxlAppSendToCellular(BaseJaxlApp):
22
22
  """This Jaxl App example bridges the user with another cellular user."""
23
23
 
24
24
  async def handle_setup(self, req: JaxlWebhookRequest) -> HANDLER_RESPONSE:
25
+ # As soon as someone calls this call flow,
26
+ # place another outgoing call and bridge them together.
25
27
  return JaxlCtaResponse(
26
28
  phone=JaxlPhoneCta(
27
29
  to_number=os.environ.get(