avartha-python-sdk 0.0.3__tar.gz → 0.0.4__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 (350) hide show
  1. avartha_python_sdk-0.0.4/MANIFEST.in +9 -0
  2. avartha_python_sdk-0.0.4/PKG-INFO +140 -0
  3. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/README.md +1 -3
  4. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/THIRD_PARTY_NOTICES +9 -9
  5. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/docs/compatibility.md +56 -157
  6. avartha_python_sdk-0.0.4/docs/pypi.md +109 -0
  7. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/examples/tts.py +1 -1
  8. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/pyproject.toml +7 -9
  9. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/setup.py +1 -4
  10. avartha_python_sdk-0.0.4/src/avartha_python_sdk.egg-info/PKG-INFO +140 -0
  11. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha_python_sdk.egg-info/SOURCES.txt +2 -76
  12. avartha_python_sdk-0.0.3/.github/CODEOWNERS +0 -5
  13. avartha_python_sdk-0.0.3/.github/workflows/ci.yml +0 -102
  14. avartha_python_sdk-0.0.3/.github/workflows/preview-behavior.yml +0 -80
  15. avartha_python_sdk-0.0.3/.github/workflows/publish.yml +0 -73
  16. avartha_python_sdk-0.0.3/.gitignore +0 -13
  17. avartha_python_sdk-0.0.3/AGENTS.md +0 -21
  18. avartha_python_sdk-0.0.3/CONTRIBUTING.md +0 -62
  19. avartha_python_sdk-0.0.3/MANIFEST.in +0 -10
  20. avartha_python_sdk-0.0.3/Makefile +0 -30
  21. avartha_python_sdk-0.0.3/PKG-INFO +0 -441
  22. avartha_python_sdk-0.0.3/docs/audit/category-c-validation.md +0 -71
  23. avartha_python_sdk-0.0.3/docs/audit/findings.csv +0 -59
  24. avartha_python_sdk-0.0.3/docs/audit/findings.json +0 -1246
  25. avartha_python_sdk-0.0.3/docs/audit/fuzz-coverage.csv +0 -6751
  26. avartha_python_sdk-0.0.3/docs/audit/http-coverage.csv +0 -22
  27. avartha_python_sdk-0.0.3/docs/audit/http-results.json +0 -350
  28. avartha_python_sdk-0.0.3/docs/audit/invariants.json +0 -322
  29. avartha_python_sdk-0.0.3/docs/audit/inventory.csv +0 -350
  30. avartha_python_sdk-0.0.3/docs/audit/inventory.json +0 -3152
  31. avartha_python_sdk-0.0.3/docs/audit/live-coverage.csv +0 -220
  32. avartha_python_sdk-0.0.3/docs/audit/live-results.json +0 -36886
  33. avartha_python_sdk-0.0.3/docs/audit/report.md +0 -317
  34. avartha_python_sdk-0.0.3/docs/audit/source-fuzz-results.json +0 -6917
  35. avartha_python_sdk-0.0.3/docs/audit/source-manifest.json +0 -387
  36. avartha_python_sdk-0.0.3/docs/audit/state-fuzz-results.json +0 -80072
  37. avartha_python_sdk-0.0.3/docs/audit/summary.json +0 -19
  38. avartha_python_sdk-0.0.3/docs/audit/surface-matrix.csv +0 -38
  39. avartha_python_sdk-0.0.3/docs/audit/wire-schema-results.json +0 -56
  40. avartha_python_sdk-0.0.3/docs/github-policies.md +0 -26
  41. avartha_python_sdk-0.0.3/docs/preview-results.json +0 -123
  42. avartha_python_sdk-0.0.3/docs/preview-testing.md +0 -195
  43. avartha_python_sdk-0.0.3/docs/tts-reception-validation.md +0 -78
  44. avartha_python_sdk-0.0.3/docs/websocket-behavior.md +0 -140
  45. avartha_python_sdk-0.0.3/docs/websocket-fuzz.md +0 -107
  46. avartha_python_sdk-0.0.3/scripts/audit/catalog.py +0 -218
  47. avartha_python_sdk-0.0.3/scripts/audit/fetch_sources.py +0 -47
  48. avartha_python_sdk-0.0.3/scripts/audit/http_probe.py +0 -102
  49. avartha_python_sdk-0.0.3/scripts/audit/invariants.py +0 -121
  50. avartha_python_sdk-0.0.3/scripts/audit/probe.py +0 -1667
  51. avartha_python_sdk-0.0.3/scripts/audit/report.py +0 -312
  52. avartha_python_sdk-0.0.3/scripts/audit/source_fuzz.py +0 -391
  53. avartha_python_sdk-0.0.3/scripts/audit/state_fuzz.py +0 -39
  54. avartha_python_sdk-0.0.3/scripts/audit/state_model.py +0 -266
  55. avartha_python_sdk-0.0.3/scripts/freeze_realtime_types.py +0 -157
  56. avartha_python_sdk-0.0.3/scripts/preview_behavior.py +0 -1355
  57. avartha_python_sdk-0.0.3/scripts/preview_smoke.py +0 -375
  58. avartha_python_sdk-0.0.3/src/avartha/_version.py +0 -24
  59. avartha_python_sdk-0.0.3/src/avartha_python_sdk.egg-info/PKG-INFO +0 -441
  60. avartha_python_sdk-0.0.3/tests/conftest.py +0 -10
  61. avartha_python_sdk-0.0.3/tests/fixtures/elevenlabs-2.68.0.json +0 -1542
  62. avartha_python_sdk-0.0.3/tests/fixtures/openai/realtime.json +0 -2791
  63. avartha_python_sdk-0.0.3/tests/fixtures/openai-models-3.13.0.json +0 -325
  64. avartha_python_sdk-0.0.3/tests/fixtures/preview/constraints.txt +0 -4
  65. avartha_python_sdk-0.0.3/tests/fixtures/preview/contract.json +0 -255
  66. avartha_python_sdk-0.0.3/tests/fixtures/speech-contract.md +0 -46
  67. avartha_python_sdk-0.0.3/tests/fixtures/speech-http-2.68.0.json +0 -1081
  68. avartha_python_sdk-0.0.3/tests/test_clients.py +0 -124
  69. avartha_python_sdk-0.0.3/tests/test_control.py +0 -243
  70. avartha_python_sdk-0.0.3/tests/test_control_workspaces.py +0 -458
  71. avartha_python_sdk-0.0.3/tests/test_fence.py +0 -136
  72. avartha_python_sdk-0.0.3/tests/test_openai_client.py +0 -263
  73. avartha_python_sdk-0.0.3/tests/test_openai_http.py +0 -434
  74. avartha_python_sdk-0.0.3/tests/test_owned_asr.py +0 -354
  75. avartha_python_sdk-0.0.3/tests/test_owned_contract.py +0 -197
  76. avartha_python_sdk-0.0.3/tests/test_pacing.py +0 -42
  77. avartha_python_sdk-0.0.3/tests/test_platform_e2e.py +0 -169
  78. avartha_python_sdk-0.0.3/tests/test_preview_behavior_runner.py +0 -325
  79. avartha_python_sdk-0.0.3/tests/test_preview_fuzz.py +0 -299
  80. avartha_python_sdk-0.0.3/tests/test_realtime_lifecycle.py +0 -307
  81. avartha_python_sdk-0.0.3/tests/test_realtime_model_discovery.py +0 -253
  82. avartha_python_sdk-0.0.3/tests/test_speech_contract.py +0 -178
  83. avartha_python_sdk-0.0.3/tests/test_speech_http.py +0 -485
  84. avartha_python_sdk-0.0.3/tests/test_tts_context_errors.py +0 -188
  85. avartha_python_sdk-0.0.3/tests/test_tts_iteration.py +0 -199
  86. avartha_python_sdk-0.0.3/tests/test_tts_reception.py +0 -394
  87. avartha_python_sdk-0.0.3/tests/test_tts_send_cancellation.py +0 -431
  88. avartha_python_sdk-0.0.3/tests/test_websocket_urls.py +0 -152
  89. avartha_python_sdk-0.0.3/tests/test_websockets.py +0 -714
  90. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/LICENSE +0 -0
  91. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/docs/migration.md +0 -0
  92. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/docs/platform.md +0 -0
  93. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/examples/endpoints.py +0 -0
  94. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/examples/realtime.py +0 -0
  95. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/examples/realtime_asr.py +0 -0
  96. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/examples/tts_multi_context.py +0 -0
  97. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/setup.cfg +0 -0
  98. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/__init__.py +0 -0
  99. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/_config.py +0 -0
  100. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/_exceptions.py +0 -0
  101. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/_http_errors.py +0 -0
  102. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/_models.py +0 -0
  103. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/_openai_http.py +0 -0
  104. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/_openai_http_errors.py +0 -0
  105. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/_pacing.py +0 -0
  106. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/_realtime_asr.py +0 -0
  107. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/_realtime_openai.py +0 -0
  108. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/_realtime_resources.py +0 -0
  109. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/_realtime_tts.py +0 -0
  110. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/_sentinels.py +0 -0
  111. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/_speech_config.py +0 -0
  112. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/_speech_http.py +0 -0
  113. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/_speech_resources.py +0 -0
  114. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/_unsupported.py +0 -0
  115. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/_websocket.py +0 -0
  116. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/_ws_state.py +0 -0
  117. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/client.py +0 -0
  118. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/control.py +0 -0
  119. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/conversational_ai/__init__.py +0 -0
  120. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/elevenlabs.py +0 -0
  121. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/errors.py +0 -0
  122. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/openai.py +0 -0
  123. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/pagination.py +0 -0
  124. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/py.typed +0 -0
  125. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/realtime/__init__.py +0 -0
  126. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/realtime/speech.py +0 -0
  127. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/resources/__init__.py +0 -0
  128. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/resources/models.py +0 -0
  129. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/resources/realtime/__init__.py +0 -0
  130. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/resources/realtime/realtime.py +0 -0
  131. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/__init__.py +0 -0
  132. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/audio/__init__.py +0 -0
  133. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/audio/transcription_language.py +0 -0
  134. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/model.py +0 -0
  135. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/__init__.py +0 -0
  136. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/audio_transcription.py +0 -0
  137. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/audio_transcription_param.py +0 -0
  138. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/conversation_created_event.py +0 -0
  139. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/conversation_item.py +0 -0
  140. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/conversation_item_added.py +0 -0
  141. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/conversation_item_create_event.py +0 -0
  142. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/conversation_item_create_event_param.py +0 -0
  143. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/conversation_item_created_event.py +0 -0
  144. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/conversation_item_delete_event.py +0 -0
  145. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/conversation_item_delete_event_param.py +0 -0
  146. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/conversation_item_deleted_event.py +0 -0
  147. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/conversation_item_done.py +0 -0
  148. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/conversation_item_input_audio_transcription_completed_event.py +0 -0
  149. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/conversation_item_input_audio_transcription_delta_event.py +0 -0
  150. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/conversation_item_input_audio_transcription_failed_event.py +0 -0
  151. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/conversation_item_input_audio_transcription_segment.py +0 -0
  152. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/conversation_item_param.py +0 -0
  153. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/conversation_item_retrieve_event.py +0 -0
  154. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/conversation_item_retrieve_event_param.py +0 -0
  155. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/conversation_item_truncate_event.py +0 -0
  156. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/conversation_item_truncate_event_param.py +0 -0
  157. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/conversation_item_truncated_event.py +0 -0
  158. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/input_audio_buffer_append_event.py +0 -0
  159. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/input_audio_buffer_append_event_param.py +0 -0
  160. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/input_audio_buffer_clear_event.py +0 -0
  161. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/input_audio_buffer_clear_event_param.py +0 -0
  162. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/input_audio_buffer_cleared_event.py +0 -0
  163. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/input_audio_buffer_commit_event.py +0 -0
  164. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/input_audio_buffer_commit_event_param.py +0 -0
  165. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/input_audio_buffer_committed_event.py +0 -0
  166. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/input_audio_buffer_dtmf_event_received_event.py +0 -0
  167. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/input_audio_buffer_speech_started_event.py +0 -0
  168. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/input_audio_buffer_speech_stopped_event.py +0 -0
  169. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/input_audio_buffer_timeout_triggered.py +0 -0
  170. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/log_prob_properties.py +0 -0
  171. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/mcp_list_tools_completed.py +0 -0
  172. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/mcp_list_tools_failed.py +0 -0
  173. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/mcp_list_tools_in_progress.py +0 -0
  174. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/noise_reduction_type.py +0 -0
  175. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/output_audio_buffer_clear_event.py +0 -0
  176. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/output_audio_buffer_clear_event_param.py +0 -0
  177. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/rate_limits_updated_event.py +0 -0
  178. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_audio_config.py +0 -0
  179. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_audio_config_input.py +0 -0
  180. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_audio_config_input_param.py +0 -0
  181. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_audio_config_output.py +0 -0
  182. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_audio_config_output_param.py +0 -0
  183. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_audio_config_param.py +0 -0
  184. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_audio_formats.py +0 -0
  185. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_audio_formats_param.py +0 -0
  186. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_audio_input_turn_detection.py +0 -0
  187. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_audio_input_turn_detection_param.py +0 -0
  188. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_client_event.py +0 -0
  189. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_client_event_param.py +0 -0
  190. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_conversation_item_assistant_message.py +0 -0
  191. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_conversation_item_assistant_message_param.py +0 -0
  192. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_conversation_item_function_call.py +0 -0
  193. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_conversation_item_function_call_output.py +0 -0
  194. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_conversation_item_function_call_output_param.py +0 -0
  195. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_conversation_item_function_call_param.py +0 -0
  196. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_conversation_item_system_message.py +0 -0
  197. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_conversation_item_system_message_param.py +0 -0
  198. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_conversation_item_user_message.py +0 -0
  199. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_conversation_item_user_message_param.py +0 -0
  200. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_error.py +0 -0
  201. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_error_event.py +0 -0
  202. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_function_tool.py +0 -0
  203. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_function_tool_param.py +0 -0
  204. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_mcp_approval_request.py +0 -0
  205. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_mcp_approval_request_param.py +0 -0
  206. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_mcp_approval_response.py +0 -0
  207. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_mcp_approval_response_param.py +0 -0
  208. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_mcp_list_tools.py +0 -0
  209. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_mcp_list_tools_param.py +0 -0
  210. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_mcp_protocol_error.py +0 -0
  211. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_mcp_protocol_error_param.py +0 -0
  212. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_mcp_tool_call.py +0 -0
  213. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_mcp_tool_call_param.py +0 -0
  214. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_mcp_tool_execution_error.py +0 -0
  215. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_mcp_tool_execution_error_param.py +0 -0
  216. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_mcphttp_error.py +0 -0
  217. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_mcphttp_error_param.py +0 -0
  218. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_reasoning.py +0 -0
  219. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_reasoning_effort.py +0 -0
  220. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_reasoning_param.py +0 -0
  221. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_response.py +0 -0
  222. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_response_create_audio_output.py +0 -0
  223. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_response_create_audio_output_param.py +0 -0
  224. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_response_create_mcp_tool.py +0 -0
  225. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_response_create_mcp_tool_param.py +0 -0
  226. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_response_create_params.py +0 -0
  227. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_response_create_params_param.py +0 -0
  228. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_response_status.py +0 -0
  229. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_response_usage.py +0 -0
  230. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_response_usage_input_token_details.py +0 -0
  231. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_response_usage_output_token_details.py +0 -0
  232. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_server_event.py +0 -0
  233. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_session_create_request.py +0 -0
  234. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_session_create_request_param.py +0 -0
  235. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_tool_choice_config.py +0 -0
  236. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_tool_choice_config_param.py +0 -0
  237. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_tools_config.py +0 -0
  238. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_tools_config_param.py +0 -0
  239. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_tools_config_union.py +0 -0
  240. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_tracing_config.py +0 -0
  241. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_tracing_config_param.py +0 -0
  242. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_transcription_session_audio.py +0 -0
  243. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_transcription_session_audio_input.py +0 -0
  244. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_transcription_session_audio_input_param.py +0 -0
  245. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_transcription_session_audio_input_turn_detection.py +0 -0
  246. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_transcription_session_audio_input_turn_detection_param.py +0 -0
  247. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_transcription_session_audio_param.py +0 -0
  248. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_transcription_session_create_request.py +0 -0
  249. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_transcription_session_create_request_param.py +0 -0
  250. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_truncation.py +0 -0
  251. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_truncation_param.py +0 -0
  252. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_truncation_retention_ratio.py +0 -0
  253. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/realtime_truncation_retention_ratio_param.py +0 -0
  254. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/response_audio_delta_event.py +0 -0
  255. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/response_audio_done_event.py +0 -0
  256. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/response_audio_transcript_delta_event.py +0 -0
  257. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/response_audio_transcript_done_event.py +0 -0
  258. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/response_cancel_event.py +0 -0
  259. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/response_cancel_event_param.py +0 -0
  260. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/response_content_part_added_event.py +0 -0
  261. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/response_content_part_done_event.py +0 -0
  262. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/response_create_event.py +0 -0
  263. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/response_create_event_param.py +0 -0
  264. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/response_created_event.py +0 -0
  265. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/response_done_event.py +0 -0
  266. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/response_function_call_arguments_delta_event.py +0 -0
  267. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/response_function_call_arguments_done_event.py +0 -0
  268. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/response_mcp_call_arguments_delta.py +0 -0
  269. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/response_mcp_call_arguments_done.py +0 -0
  270. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/response_mcp_call_completed.py +0 -0
  271. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/response_mcp_call_failed.py +0 -0
  272. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/response_mcp_call_in_progress.py +0 -0
  273. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/response_output_item_added_event.py +0 -0
  274. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/response_output_item_done_event.py +0 -0
  275. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/response_text_delta_event.py +0 -0
  276. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/response_text_done_event.py +0 -0
  277. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/session_created_event.py +0 -0
  278. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/session_update_event.py +0 -0
  279. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/session_update_event_param.py +0 -0
  280. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/realtime/session_updated_event.py +0 -0
  281. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/responses/__init__.py +0 -0
  282. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/responses/image_detail.py +0 -0
  283. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/responses/response_input_file.py +0 -0
  284. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/responses/response_input_file_param.py +0 -0
  285. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/responses/response_input_image.py +0 -0
  286. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/responses/response_input_image_param.py +0 -0
  287. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/responses/response_input_text.py +0 -0
  288. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/responses/response_input_text_param.py +0 -0
  289. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/responses/response_prompt.py +0 -0
  290. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/responses/response_prompt_param.py +0 -0
  291. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/responses/tool_choice_function.py +0 -0
  292. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/responses/tool_choice_function_param.py +0 -0
  293. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/responses/tool_choice_mcp.py +0 -0
  294. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/responses/tool_choice_mcp_param.py +0 -0
  295. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/responses/tool_choice_options.py +0 -0
  296. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/shared/__init__.py +0 -0
  297. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/shared/metadata.py +0 -0
  298. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/shared_params/__init__.py +0 -0
  299. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/shared_params/metadata.py +0 -0
  300. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/speech/__init__.py +0 -0
  301. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/speech/alignment.py +0 -0
  302. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/speech/audio_output_multi.py +0 -0
  303. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/speech/close_context.py +0 -0
  304. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/speech/close_socket.py +0 -0
  305. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/speech/final_output_multi.py +0 -0
  306. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/speech/fine_tuning_response.py +0 -0
  307. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/speech/fine_tuning_response_state_value.py +0 -0
  308. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/speech/flush_context.py +0 -0
  309. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/speech/generation_config.py +0 -0
  310. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/speech/get_voices_response.py +0 -0
  311. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/speech/get_voices_v_2_response.py +0 -0
  312. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/speech/initialize_connection_multi.py +0 -0
  313. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/speech/language_response.py +0 -0
  314. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/speech/manual_verification_file_response.py +0 -0
  315. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/speech/manual_verification_response.py +0 -0
  316. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/speech/model.py +0 -0
  317. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/speech/model_rates_response_model.py +0 -0
  318. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/speech/normalized_alignment.py +0 -0
  319. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/speech/output_format.py +0 -0
  320. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/speech/pronunciation_dictionary_locator.py +0 -0
  321. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/speech/reader_resource_response_model.py +0 -0
  322. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/speech/reader_resource_response_model_resource_type.py +0 -0
  323. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/speech/realtime_voice_settings.py +0 -0
  324. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/speech/recording_response.py +0 -0
  325. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/speech/review_status.py +0 -0
  326. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/speech/send_text_multi.py +0 -0
  327. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/speech/speaker_response_model.py +0 -0
  328. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/speech/speaker_separation_response_model.py +0 -0
  329. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/speech/speaker_separation_response_model_status.py +0 -0
  330. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/speech/utterance_response_model.py +0 -0
  331. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/speech/verification_attempt_response.py +0 -0
  332. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/speech/verified_voice_language_response_model.py +0 -0
  333. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/speech/voice.py +0 -0
  334. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/speech/voice_category.py +0 -0
  335. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/speech/voice_labelling_status.py +0 -0
  336. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/speech/voice_recording_quality.py +0 -0
  337. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/speech/voice_safety_control.py +0 -0
  338. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/speech/voice_sample.py +0 -0
  339. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/speech/voice_settings.py +0 -0
  340. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/speech/voice_sharing_moderation_check_response_model.py +0 -0
  341. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/speech/voice_sharing_response.py +0 -0
  342. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/speech/voice_sharing_response_category.py +0 -0
  343. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/speech/voice_sharing_state.py +0 -0
  344. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/speech/voice_verification_response.py +0 -0
  345. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/speech_language.py +0 -0
  346. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/websocket_connection_options.py +0 -0
  347. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha/types/websocket_reconnection.py +0 -0
  348. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha_python_sdk.egg-info/dependency_links.txt +0 -0
  349. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha_python_sdk.egg-info/requires.txt +0 -0
  350. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.4}/src/avartha_python_sdk.egg-info/top_level.txt +0 -0
@@ -0,0 +1,9 @@
1
+ # Start from an allowlist, including when setuptools discovers tracked files.
2
+ global-exclude *
3
+ include LICENSE THIRD_PARTY_NOTICES README.md pyproject.toml setup.py MANIFEST.in
4
+ recursive-include src/avartha *.py py.typed
5
+ exclude src/avartha/_version.py
6
+ recursive-include src/avartha_python_sdk.egg-info PKG-INFO SOURCES.txt dependency_links.txt requires.txt top_level.txt
7
+ include docs/pypi.md docs/compatibility.md docs/migration.md docs/platform.md
8
+ include examples/realtime.py examples/tts.py examples/tts_multi_context.py
9
+ include examples/realtime_asr.py examples/endpoints.py
@@ -0,0 +1,140 @@
1
+ Metadata-Version: 2.4
2
+ Name: avartha-python-sdk
3
+ Version: 0.0.4
4
+ Summary: Python clients for Avartha Realtime text, streaming speech, and platform management
5
+ Author-email: "Avartha Inc." <team@avartha.ai>
6
+ License-Expression: LicenseRef-Avartha-Proprietary
7
+ Classifier: Development Status :: 3 - Alpha
8
+ Classifier: Intended Audience :: Developers
9
+ Classifier: Operating System :: OS Independent
10
+ Classifier: Programming Language :: Python :: 3
11
+ Classifier: Programming Language :: Python :: 3.12
12
+ Classifier: Programming Language :: Python :: 3.13
13
+ Classifier: Programming Language :: Python :: 3.14
14
+ Classifier: Typing :: Typed
15
+ Requires-Python: >=3.12
16
+ Description-Content-Type: text/markdown
17
+ License-File: LICENSE
18
+ License-File: THIRD_PARTY_NOTICES
19
+ Requires-Dist: httpx<0.29,>=0.28.1
20
+ Requires-Dist: websockets<16,>=15.0.1
21
+ Requires-Dist: pydantic<3,>=2.11
22
+ Requires-Dist: typing-extensions<5,>=4.12
23
+ Provides-Extra: dev
24
+ Requires-Dist: pytest<10,>=8; extra == "dev"
25
+ Requires-Dist: pytest-asyncio<2,>=1; extra == "dev"
26
+ Requires-Dist: ruff<0.17,>=0.16; extra == "dev"
27
+ Requires-Dist: mypy<3,>=2.3; extra == "dev"
28
+ Requires-Dist: build<2,>=1; extra == "dev"
29
+ Requires-Dist: setuptools-scm<9,>=8; extra == "dev"
30
+ Dynamic: license-file
31
+
32
+ # Avartha Python SDK
33
+
34
+ Synchronous and asynchronous Python clients for Avartha Realtime text,
35
+ streaming speech, and platform management. Requires Python 3.12+.
36
+
37
+ ## Install
38
+
39
+ ```sh
40
+ python -m pip install avartha-python-sdk
41
+ ```
42
+
43
+ Configure your Avartha API key and platform root:
44
+
45
+ ```sh
46
+ export AVARTHA_API_KEY='avk_...'
47
+ export AVARTHA_BASE_URL='https://platform.preview.avartha.ai'
48
+ ```
49
+
50
+ Clients default to the preview platform and the `serverless` tier. Set
51
+ `AVARTHA_BASE_URL` for another environment or `tier="dedicated"` for dedicated
52
+ inference. Use model and voice IDs available to your workspace and tier.
53
+
54
+ ## Discover models
55
+
56
+ ```python
57
+ from avartha import OpenAI
58
+
59
+ with OpenAI() as client:
60
+ for model in client.models.list():
61
+ print(model.id, model.to_dict().get("protocols", []))
62
+ ```
63
+
64
+ Choose a model supporting `openai_realtime` for text, `elevenlabs_tts` for
65
+ speech synthesis, or `elevenlabs_asr` for speech recognition.
66
+
67
+ ## Generate text
68
+
69
+ Replace `your-avartha-model` with a Realtime text model returned by discovery:
70
+
71
+ ```python
72
+ from avartha import OpenAI
73
+
74
+ with OpenAI() as client:
75
+ with client.realtime.connect(model="your-avartha-model") as connection:
76
+ connection.session.update(session={"type": "realtime", "output_modalities": ["text"]})
77
+ connection.conversation.item.create(
78
+ item={
79
+ "type": "message",
80
+ "role": "user",
81
+ "content": [{"type": "input_text", "text": "Explain Python dictionaries."}],
82
+ }
83
+ )
84
+ connection.response.create()
85
+ for event in connection:
86
+ if event.type == "response.output_text.delta":
87
+ print(event.delta, end="", flush=True)
88
+ elif event.type == "response.done":
89
+ if event.response.status != "completed":
90
+ raise RuntimeError(f"Response ended with status: {event.response.status}")
91
+ break
92
+ elif event.type == "error":
93
+ raise RuntimeError(event.error.message)
94
+ ```
95
+
96
+ For asynchronous text generation, use `AsyncOpenAI`, `async with`, `await`,
97
+ and `async for`. Close clients and active WebSocket sessions when finished.
98
+ Inference consumes credits.
99
+
100
+ ## Supported workflows
101
+
102
+ | Workflow | Client and interface |
103
+ | --- | --- |
104
+ | Realtime text | `OpenAI` / `AsyncOpenAI`: `realtime.connect` |
105
+ | Model discovery | `OpenAI` / `AsyncOpenAI`: `models.list`, `models.retrieve` |
106
+ | Streaming TTS | `ElevenLabs` / `AsyncElevenLabs`: `text_to_speech.convert_realtime` |
107
+ | Multi-context TTS | `ElevenLabs` / `AsyncElevenLabs`: `text_to_speech.connect_multi_context` |
108
+ | Realtime ASR | `await client.speech_to_text.realtime.connect(...)` on either speech client |
109
+ | Speech discovery | Speech clients: models, voices, voice settings, ASR languages |
110
+ | Workspaces, members, invitations, endpoints | `Control` / `AsyncControl` |
111
+ | Combined inference and management | `Avartha` / `AsyncAvartha` |
112
+
113
+ Managed inference uses WebSockets; Chat Completions, Responses, HTTP TTS,
114
+ and file transcription are unavailable. Agent management and conversation
115
+ sessions are planned; accessing `conversational_ai` currently raises
116
+ `NotImplementedError`.
117
+
118
+ ## Migrating and handling errors
119
+
120
+ Import clients, types, and exceptions from `avartha`. Neither the OpenAI nor
121
+ ElevenLabs SDK needs to be installed. The supported interfaces are compatible
122
+ with OpenAI Python 3.13.0 and ElevenLabs Python 2.68.0. Model and voice IDs are
123
+ specific to the selected Avartha environment.
124
+
125
+ OpenAI-compatible HTTP discovery uses `avartha.APIStatusError` and
126
+ `avartha.APIConnectionError`. Speech HTTP errors use `avartha.ApiError`.
127
+ Management HTTP status errors use `avartha.PlatformAPIError`. Speech and
128
+ management HTTP network failures also raise `avartha.ApiError`, with no status
129
+ or headers and the original exception in `__cause__`.
130
+
131
+ Handle Realtime server error events in the receive loop. HTTP timeout and
132
+ retry settings do not configure WebSocket connections. Management writes are
133
+ never retried automatically.
134
+
135
+ ## Complete guides and examples
136
+
137
+ The [source archive on PyPI](https://pypi.org/project/avartha-python-sdk/#files)
138
+ includes `README.md`, customer guides in `docs/`, and runnable examples in
139
+ `examples/`. Download and unpack the archive to read the migration, compatibility,
140
+ and platform-management guides and run the text, speech, and endpoint examples.
@@ -30,7 +30,6 @@ unavailable. See the guides below for supported features and migration steps.
30
30
  - [Compatibility and endpoint coverage](docs/compatibility.md)
31
31
  - [Platform management](docs/platform.md)
32
32
  - [Runnable examples](examples)
33
- - [Contributing](CONTRIBUTING.md)
34
33
 
35
34
  ## Installation
36
35
 
@@ -404,5 +403,4 @@ Runnable examples cover [Realtime text](examples/realtime.py),
404
403
  [ASR](examples/realtime_asr.py), and [endpoint management](examples/endpoints.py).
405
404
  Microphone capture and speaker playback are handled by your application.
406
405
 
407
- Running inference examples consumes credits. For SDK development and checks,
408
- see [Contributing](CONTRIBUTING.md).
406
+ Running inference examples consumes credits.
@@ -1,15 +1,15 @@
1
1
  Third-party schema notices
2
2
  ==========================
3
3
 
4
- The WebSocket data declarations under src/avartha/types/realtime, responses,
5
- shared, shared_params, model.py, and websocket_connection_options.py are derived from
6
- OpenAI Python 3.13.0. Model discovery contracts are captured in
7
- tests/fixtures/openai-models-3.13.0.json. Declarations under
8
- src/avartha/types/speech are derived from ElevenLabs Python 2.68.0.
9
- Avartha removed descriptions and legacy Pydantic branches and replaced runtime
10
- imports. Speech contract source hashes are in tests/fixtures/elevenlabs-2.68.0.json
11
- and tests/fixtures/speech-http-2.68.0.json. These notices
12
- apply to those declarations; the Avartha proprietary LICENSE remains unchanged.
4
+ The declarations in avartha.types.realtime, avartha.types.responses,
5
+ avartha.types.shared, avartha.types.shared_params, avartha.types.model, and
6
+ avartha.types.websocket_connection_options are derived from OpenAI Python
7
+ 3.13.0. The declarations in avartha.types.speech are derived from ElevenLabs
8
+ Python 2.68.0.
9
+
10
+ Avartha modified these declarations by removing descriptions and legacy
11
+ Pydantic branches and replacing runtime imports. These notices apply to those
12
+ declarations; the Avartha proprietary LICENSE remains unchanged.
13
13
 
14
14
  OpenAI Python 3.13.0
15
15
  --------------------
@@ -1,73 +1,37 @@
1
- # Compatibility contract and server coverage
2
-
3
- ## Owned implementation
4
-
5
- The base SDK uses owned OpenAI Realtime and ElevenLabs TTS/ASR WebSocket
6
- primitives plus typed speech HTTP discovery. Neither vendor SDK nor HTTPX2 is
7
- an installation, optional, development, or build dependency. Compatibility is
8
- frozen at OpenAI 3.13.0 and ElevenLabs 2.68.0. All supported clients use owned
9
- implementations, types, and errors; the legacy package and extra are removed.
10
- Agents, including conversation and audio runtimes, remain future work.
11
-
12
- Local validation covers every pinned OpenAI server-event variant, every text send
13
- helper, ASR query/payload/error parity, TTS context lifecycle, callbacks,
14
- reconnection budgets, cancellation, and import isolation. On 2026-09-15,
15
- [GitHub Actions passed all 16 preview scenarios at `e4b5908`](https://github.com/avartha/avartha-python-sdk/actions/runs/34922936293)
16
- without vendor SDKs installed: 14 SDK scenarios and two raw multi-context TTS
17
- protocol scenarios. The [frozen contract](websocket-behavior.md) defines their
18
- coverage and limits. Server findings below are historical prerequisites,
19
- separate from SDK compatibility.
20
-
21
- ## Server baseline
22
-
23
- Inspected and tested on 2026-09-13:
24
-
25
- - OpenAI Python `3.13.0` and ElevenLabs Python `2.68.0` were the original
26
- comparison references. Recorded contracts and owned schemas now preserve
27
- compatibility without either SDK dependency or private vendor access.
28
- - WebSockets `15.0.1`, HTTPX `0.28.1`, and OpenAI's HTTPX2 transport.
29
- - Current `avartha/platform` main source at
30
- [`1992c3ad`](https://github.com/avartha/platform/tree/1992c3ade7089195d622f98ba2676bde90812799).
31
- - Live preview at `https://platform.preview.avartha.ai`; its deployed source
32
- revision was not independently identified. [Initial test report](preview-testing.md).
33
- - Expanded audit: **219 WebSocket cases, 21 HTTP cases, 6,750 local parser cases,
34
- 2,221 local state-machine sequences, and 58 triaged findings**.
35
- [Full tables and evidence](audit/report.md).
36
-
37
- The original platform checkout used during scaffolding was older than preview.
38
- Its HTTP inference and missing-ElevenLabs assumptions are superseded by this audit.
39
-
40
- ## What drop-in covers
41
-
42
- Owned clients preserve the in-scope method shapes, payloads, event schemas,
43
- and error attributes with their own types and exceptions. Change the `openai`
44
- import prefix to `avartha` for the supported Realtime text surface, and use
45
- Avartha speech clients, types, and errors in place of ElevenLabs imports.
46
- Compatibility is limited by the selected service and model; the SDK does not
47
- translate between protocols.
48
-
49
- | Surface | SDK support | Current managed platform / live preview |
1
+ # Compatibility and server support
2
+
3
+ Avartha supports the OpenAI Python 3.13.0 Realtime text interface and the
4
+ ElevenLabs Python 2.68.0 realtime speech and discovery interfaces. Neither
5
+ vendor SDK needs to be installed. Import clients, types, and exceptions from
6
+ Avartha; see the [migration guide](migration.md).
7
+
8
+ ## Supported APIs
9
+
10
+ SDK support and server availability are separate. Select a model available to
11
+ your workspace and tier, and use only the features that model supports.
12
+ Avartha managed inference uses WebSockets. Discovery and platform management
13
+ use HTTP.
14
+
15
+ | Surface | SDK support | Server prerequisites |
50
16
  | --- | --- | --- |
51
- | OpenAI Realtime text | Owned sync/async `client.realtime.connect()` clients | Text turns and function tools pass; cancellation, history, overrides, defaults, and recovery have gaps |
52
- | OpenAI Realtime audio, transcription, images, and older beta API | Explicitly unsupported | Outside the SDK text contract |
53
- | OpenAI model discovery | Owned sync/async `models.list()` and `models.retrieve(model)` | List and detail verified in platform source; results depend on caller and tier |
54
- | Chat Completions, Responses, SSE | Explicitly unsupported | Retired; HTTP 400 verified for Chat Completions and Responses |
55
- | OpenAI HTTP speech/transcription | Explicitly unsupported | Retired in current source |
56
- | ElevenLabs models and voices | Owned sync/async typed HTTP resources | Model list, voice list/search/detail/settings verified in platform source |
57
- | ASR languages | `speech_to_text.languages.list(model_id=...)` | Model-routed language discovery; hint availability depends on runtime |
58
- | Single-context TTS | Sync/async `convert_realtime` with a corrected request envelope | Sends `auto_mode=true`, omits unsupported generation controls, and defaults to `pcm_24000` |
59
- | Multi-context TTS | Sync/async `connect_multi_context`, returning owned message types | Contexts share one socket; flushing completes a context, and further utterances require new IDs |
60
- | Realtime ASR | Owned connection/events on both clients | Default `previous_text: null` and explicit empty-string context accepted on preview |
61
- | ElevenLabs HTTP TTS / file ASR | Not exposed | Not part of the managed WebSocket contract |
62
- | Agent CRUD, tools, knowledge base | Future implementation | No matching managed agent CRUD; Avartha native management has another schema |
63
- | Conversation listing | Future implementation | Empty unfiltered list passed; filters fail and populated native rows differ from vendor schemas |
64
- | Signed published-agent sessions | Future implementation | Routes exist; source rejects the official default initialization; published execution/audio untested |
65
- | Catalog, organizations, limits, endpoint reads | Avartha sync/async Control | Live reads passed |
66
- | Workspace lifecycle, members, invitations | Avartha sync/async Control | Verified server routes and local HTTP contracts; live mutations not exercised |
67
- | API-key administration | Not exposed by Control | Server requires a browser session |
68
- | Endpoint provisioning, updates, stop, delete | Avartha sync/async Control | Local contracts; live mutations not exercised |
69
-
70
- ## Standalone OpenAI Realtime text
17
+ | OpenAI Realtime text | Sync/async `realtime.connect()` | A model supporting `openai_realtime` and the requested session options |
18
+ | OpenAI model discovery | Sync/async `models.list()` and `models.retrieve(model)` | A valid Avartha key; results depend on workspace and tier |
19
+ | OpenAI Realtime audio, transcription, images, and beta API | Unavailable | Use speech clients for supported audio workflows |
20
+ | Chat Completions, Responses, SSE, and OpenAI HTTP speech | Unavailable | Managed inference requires a Realtime connection |
21
+ | Speech models and voices | Typed sync/async HTTP discovery | A visible speech model; voice discovery requires a routable TTS model |
22
+ | ASR languages | Sync/async `speech_to_text.languages.list(model_id=...)` | A routable ASR model; language hints depend on the model |
23
+ | Single-context TTS | Sync/async `convert_realtime` | A TTS model and voice supporting the selected PCM format |
24
+ | Multi-context TTS | Sync/async `connect_multi_context` | A model supporting multiple contexts; each utterance needs a new context ID |
25
+ | Realtime ASR | Async connections on both speech clients | An ASR model supporting the supplied audio format and sample rate |
26
+ | HTTP TTS and file transcription | Unavailable | Use realtime speech methods |
27
+ | Agents, tools, knowledge bases, conversation sessions/history | Planned; currently unavailable | Accessing `conversational_ai` raises `NotImplementedError` |
28
+ | Catalog, workspaces, members, invitations, and endpoints | Sync/async `Control` | An Avartha API key with the required workspace role and allocation |
29
+ | API-key administration | Unavailable through `Control` | Use the platform portal; these operations require a browser session |
30
+
31
+ See [platform management](platform.md) for workspace roles, invitation
32
+ requirements, endpoint readiness, and provisioning.
33
+
34
+ ## OpenAI Realtime text
71
35
 
72
36
  `avartha.OpenAI` / `Client` and `avartha.AsyncOpenAI` / `AsyncClient` support the
73
37
  current `client.realtime.connect()` API from OpenAI 3.13.0. Connection and resource
@@ -82,8 +46,9 @@ creation/cancellation, text deltas, function-call arguments and outputs, raw
82
46
  frames, sync/async iteration, callbacks, pre-connection buffering, and opt-in
83
47
  reconnection. Payloads and unknown event fields are preserved. Incomplete server
84
48
  events are constructed permissively; `to_dict()` and `to_json()` retain the
85
- pinned serialization behavior. The server must implement each requested feature;
86
- SDK support does not resolve the historical server gaps listed above.
49
+ serialization methods. The server must implement each requested feature.
50
+ Inspect `response.done.response.status` to distinguish successful completion
51
+ from failure, cancellation, or an incomplete response.
87
52
 
88
53
  Explicit audio/transcription/image requests raise `UnsupportedOperationError`
89
54
  before a frame is sent or queued. Audio event declarations remain importable for
@@ -91,11 +56,9 @@ schema compatibility. Unsupported HTTP resources, including Chat Completions,
91
56
  Responses, and Realtime calls/client secrets, raise the same exception.
92
57
  The older `client.beta.realtime` wire schema is outside this contract.
93
58
 
94
- Constructor and `copy()` / `with_options()` configuration preserve the pinned
95
- parameter names and defaults except for the removed `http_client` argument,
96
- with an additional Avartha `tier` option.
97
- HTTP-only settings such as `timeout`, `max_retries`, and
98
- `_strict_response_validation` do not control the WebSocket. Use
59
+ The constructor and `copy()` / `with_options()` accept an Avartha `tier` option;
60
+ custom `http_client` arguments are unsupported.
61
+ HTTP settings such as `timeout` and `max_retries` do not control the WebSocket. Use
99
62
  `websocket_connection_options` and the arguments to `realtime.connect()` for
100
63
  socket timeouts and retries. Closing a client closes its internally created HTTP
101
64
  transport and prevents new connections; each Realtime context owns its socket.
@@ -117,9 +80,8 @@ with OpenAI() as client:
117
80
  print(client.models.list().to_json())
118
81
  ```
119
82
 
120
- The following routes are verified against
121
- [`avartha/platform` at `88210801`](https://github.com/avartha/platform/blob/8821080151d3fddbe07619a5ec27163fe8b8be79/crates/api/src/deployment_handlers.rs),
122
- under `/inference/{serverless|dedicated}/openai/v1`:
83
+ The client uses these HTTP routes under
84
+ `/inference/{serverless|dedicated}/openai/v1`:
123
85
 
124
86
  | SDK method | GET path | Server prerequisites |
125
87
  | --- | --- | --- |
@@ -136,8 +98,8 @@ are unsupported.
136
98
 
137
99
  The transport is created on the first HTTP request and closed with the client.
138
100
  `copy()` and `with_options()` create clients with independently owned transports.
139
- `timeout`, `max_retries`, and `_strict_response_validation` apply to these HTTP
140
- calls. Transient failures retry twice by default; `max_retries=0` disables retries.
101
+ `timeout` and `max_retries` apply to these HTTP calls.
102
+ Transient failures retry twice by default; `max_retries=0` disables retries.
141
103
  Redirects must stay on the configured origin, including the platform redirect
142
104
  that decodes slashes in model IDs. Neither constructor nor copy method accepts
143
105
  `http_client`.
@@ -152,9 +114,8 @@ raise `APITimeoutError`. The OpenAI HTTP 422 class is
152
114
 
153
115
  ## Speech HTTP discovery
154
116
 
155
- The following read-only routes are verified against
156
- [`avartha/platform` at `cc56bd8d`](https://github.com/avartha/platform/blob/cc56bd8d93a05d575e88069e30d463f0c4b9175d/crates/api/src/deployment_handlers.rs),
157
- under `/inference/{serverless|dedicated}/elevenlabs`:
117
+ Speech discovery uses these HTTP routes under
118
+ `/inference/{serverless|dedicated}/elevenlabs`:
158
119
 
159
120
  | SDK method | GET path | Server prerequisites |
160
121
  | --- | --- | --- |
@@ -174,9 +135,10 @@ are forwarded without translation and are currently rejected by this server.
174
135
  Voice creation, deletion, default settings, model detail, and HTTP speech
175
136
  inference are not part of this resource set.
176
137
 
177
- HTTPX is an internal dependency. Applications need only construct the SDK
178
- client. HTTP contracts and local HTTP servers verify the owned transport;
179
- preview fuzzing exercises discovery separately from WebSocket inference.
138
+ Failed HTTP responses raise `avartha.ApiError`, with status, headers, and body;
139
+ HTTP 422 raises `avartha.UnprocessableEntityError`. HTTP network failures and
140
+ timeouts also raise `avartha.ApiError`, with no status or headers, a description
141
+ in `body`, and the original exception in `__cause__`.
180
142
  [Usage examples](migration.md#discover-models-voices-and-asr-languages).
181
143
 
182
144
  ## Realtime TTS
@@ -195,8 +157,6 @@ Text order and ingress pacing are preserved. The helpers
195
157
  use one socket reader and the WebSocket library's bounded buffers; a slow audio
196
158
  consumer applies backpressure instead of filling an unbounded SDK audio queue.
197
159
  This does not change when the serving model starts generating audio.
198
- See the [reception validation report](tts-reception-validation.md) for regression
199
- coverage and the limits of the live Preview evidence.
200
160
 
201
161
  Both single-context and multi-context SDK helpers always send `auto_mode=true`.
202
162
  The SDK does not support `auto_mode=False` or `default_mode`.
@@ -225,7 +185,7 @@ with the async client when available.
225
185
  before the server's inactivity deadline while the context remains open.
226
186
  3. `flush(context_id)` generates audio and completes that context. Alternatively,
227
187
  `close_context(context_id)` flushes pending text before closing the context.
228
- 4. Receive owned audio/final messages. Use `message.context_id` to route audio
188
+ 4. Receive typed audio/final messages. Use `message.context_id` to route audio
229
189
  and `audio_bytes(message)` to decode it.
230
190
 
231
191
  **Connection consumer:** `for message in session` (or `async for`) waits for
@@ -286,16 +246,16 @@ for a replacement. Errors without a known
286
246
  context ID do not settle other contexts or hide missing finals.
287
247
 
288
248
  Keepalives require an existing context that has not been flushed, closed, or
289
- completed. Post-flush context reuse still requires the SDK, Platform, and runtime
290
- lifecycle work tracked by [ENG-777](https://linear.app/avartha/issue/ENG-777).
249
+ completed. Create a new context ID for each utterance; reusing a context after
250
+ flushing it is unsupported.
291
251
 
292
252
  TTS sends are paced automatically with headroom below the default ingress
293
253
  budget of 1,000 burst frames and 250 frames/second. If a deployment advertises
294
254
  different limits, pass its `websocket_limits` mapping to the `ElevenLabs` or
295
255
  `AsyncElevenLabs` constructor. Limits are applied separately to each socket.
296
256
 
297
- These helpers adapt the SDK to the managed TTS contract. They do not add server
298
- support for other codecs or non-null `voice_settings`. Runnable examples:
257
+ Audio formats and `voice_settings` depend on the selected model. Specifying an
258
+ option in the SDK does not make it available on the server. Runnable examples:
299
259
  [single-context](../examples/tts.py), [multi-context](../examples/tts_multi_context.py).
300
260
 
301
261
  ## URLs and authentication
@@ -306,9 +266,9 @@ support for other codecs or non-null `voice_settings`. Runnable examples:
306
266
  original `/v1/...` paths, using `xi-api-key`.
307
267
  - An explicit protocol `base_url` is a full dialect/service base. Speech also
308
268
  supports `AVARTHA_ELEVENLABS_BASE_URL` as an override.
309
- - Both adapters default to `serverless`; `tier="dedicated"` never falls back.
269
+ - Both protocol clients default to `serverless`; `tier="dedicated"` never falls back.
310
270
  - HTTP/HTTPS maps to WS/WSS. No implicit hosted-vendor credential fallback exists.
311
- - Owned clients never read vendor environment variables. `OPENAI_ADMIN_KEY`,
271
+ - Clients never read vendor environment variables. `OPENAI_ADMIN_KEY`,
312
272
  `OPENAI_API_KEY`, `OPENAI_BASE_URL`, `OPENAI_CUSTOM_HEADERS`, `OPENAI_ORG_ID`,
313
273
  `OPENAI_PROJECT_ID` and `OPENAI_WEBHOOK_SECRET` never reach an Avartha request,
314
274
  and `base_url`, `websocket_base_url` and `data_residency` are refused when they
@@ -317,64 +277,3 @@ support for other codecs or non-null `voice_settings`. Runnable examples:
317
277
  - The ASR token option is preserved, including suppression of the API-key header
318
278
  when a token is supplied. Token issuance is a separate server prerequisite.
319
279
  Agent signed-URL handling will be implemented with the future Agents client.
320
-
321
- ## Remaining server compatibility work
322
-
323
- The [expanded audit](audit/report.md) separates substantial feature work (A),
324
- bounded additions (B), and small corrections (C). It includes successful flows
325
- and expected rejections alongside defects; error quality and session recovery
326
- are tracked as required compatibility work.
327
-
328
- The Avartha Platform needs to support the official helper's default generation controls;
329
- the SDK now sends an envelope the gateway accepts, but `voice_settings` stays
330
- unusable because any non-null value is refused. A TTS rejection still collapses
331
- to a generic `upstream_error` regardless of cause, so the SDK reports the
332
- server's payload without being able to explain it. The original upstream errors
333
- and failures remain visible; the SDK does not turn failures into success.
334
-
335
- Programmatic agent creation with the ElevenLabs schema requires matching
336
- `/v1/convai/agents/...` endpoints. Current Avartha agent CRUD lives at
337
- `/control/v1/organizations/{workspace_id}/voice-agents` with a different request
338
- schema and generation rules. The SDK does not translate between those contracts.
339
- An empty conversation list does not establish populated history, filtering,
340
- agent CRUD, or conversation runtime compatibility. The official agent helper
341
- also sends initialization metadata the current gateway rejects, and its default
342
- audio playback rate differs from the advertised agent output rate.
343
-
344
- API-key administration and staff routes are outside the bearer-authenticated
345
- Control client's promised resources.
346
-
347
- ## Validation
348
-
349
- HTTP contracts cover owned speech discovery and Control. OpenAI HTTP calls are
350
- tested for explicit local rejection without network requests. Loopback
351
- WebSocket tests exercise Realtime text and speech clients, including pacing,
352
- cancellation, context lifecycle, errors, authentication, and callback delivery.
353
- Frozen ElevenLabs 2.68.0 fixtures verify signatures, enum members, type
354
- serialization, and error attributes without installing that SDK. TTS text
355
- forwarding deliberately differs from upstream chunking: local WebSocket tests
356
- verify exact input text and delivery while the producer is paused.
357
- Frozen HTTP fixtures cover voice/model method signatures, query encoding, and
358
- nested response types. Loopback HTTP tests exercise every discovery method
359
- through internally managed transports and verify that fuzz assertions reject
360
- broken pagination, settings, model capabilities, and language metadata.
361
-
362
- OpenAI parser expectations are captured in
363
- [`tests/fixtures/openai/realtime.json`](../tests/fixtures/openai/realtime.json),
364
- with complete and incomplete payloads for all 46 pinned server-event variants.
365
- They do not require an installed OpenAI package. GitHub CI runs the complete
366
- local test suite, including real WebSocket tests.
367
-
368
- The explicit live runner exercises preview separately and exits nonzero on a
369
- failed check. It never provisions or deletes endpoints. Upstream WebSocket
370
- deprecation warnings remain visible in the local suite.
371
-
372
- ## References
373
-
374
- - [Avartha managed realtime contract](https://github.com/avartha/platform/blob/1992c3ade7089195d622f98ba2676bde90812799/docs/realtime-protocol-migration.md)
375
- - [Avartha TTS contract](https://github.com/avartha/platform/blob/1992c3ade7089195d622f98ba2676bde90812799/docs/console/api/text-to-speech.rst)
376
- - [Avartha ASR contract](https://github.com/avartha/platform/blob/1992c3ade7089195d622f98ba2676bde90812799/docs/console/api/speech-to-text.rst)
377
- - [OpenAI Realtime guide](https://developers.openai.com/api/docs/guides/realtime)
378
- - [ElevenLabs streaming TTS](https://elevenlabs.io/docs/eleven-api/guides/how-to/websockets/realtime-tts)
379
- - [ElevenLabs realtime ASR](https://elevenlabs.io/docs/eleven-api/guides/how-to/speech-to-text/realtime/server-side-streaming)
380
- - [ElevenLabs agent creation](https://elevenlabs.io/docs/eleven-agents/api-reference/agents/create)
@@ -0,0 +1,109 @@
1
+ # Avartha Python SDK
2
+
3
+ Synchronous and asynchronous Python clients for Avartha Realtime text,
4
+ streaming speech, and platform management. Requires Python 3.12+.
5
+
6
+ ## Install
7
+
8
+ ```sh
9
+ python -m pip install avartha-python-sdk
10
+ ```
11
+
12
+ Configure your Avartha API key and platform root:
13
+
14
+ ```sh
15
+ export AVARTHA_API_KEY='avk_...'
16
+ export AVARTHA_BASE_URL='https://platform.preview.avartha.ai'
17
+ ```
18
+
19
+ Clients default to the preview platform and the `serverless` tier. Set
20
+ `AVARTHA_BASE_URL` for another environment or `tier="dedicated"` for dedicated
21
+ inference. Use model and voice IDs available to your workspace and tier.
22
+
23
+ ## Discover models
24
+
25
+ ```python
26
+ from avartha import OpenAI
27
+
28
+ with OpenAI() as client:
29
+ for model in client.models.list():
30
+ print(model.id, model.to_dict().get("protocols", []))
31
+ ```
32
+
33
+ Choose a model supporting `openai_realtime` for text, `elevenlabs_tts` for
34
+ speech synthesis, or `elevenlabs_asr` for speech recognition.
35
+
36
+ ## Generate text
37
+
38
+ Replace `your-avartha-model` with a Realtime text model returned by discovery:
39
+
40
+ ```python
41
+ from avartha import OpenAI
42
+
43
+ with OpenAI() as client:
44
+ with client.realtime.connect(model="your-avartha-model") as connection:
45
+ connection.session.update(session={"type": "realtime", "output_modalities": ["text"]})
46
+ connection.conversation.item.create(
47
+ item={
48
+ "type": "message",
49
+ "role": "user",
50
+ "content": [{"type": "input_text", "text": "Explain Python dictionaries."}],
51
+ }
52
+ )
53
+ connection.response.create()
54
+ for event in connection:
55
+ if event.type == "response.output_text.delta":
56
+ print(event.delta, end="", flush=True)
57
+ elif event.type == "response.done":
58
+ if event.response.status != "completed":
59
+ raise RuntimeError(f"Response ended with status: {event.response.status}")
60
+ break
61
+ elif event.type == "error":
62
+ raise RuntimeError(event.error.message)
63
+ ```
64
+
65
+ For asynchronous text generation, use `AsyncOpenAI`, `async with`, `await`,
66
+ and `async for`. Close clients and active WebSocket sessions when finished.
67
+ Inference consumes credits.
68
+
69
+ ## Supported workflows
70
+
71
+ | Workflow | Client and interface |
72
+ | --- | --- |
73
+ | Realtime text | `OpenAI` / `AsyncOpenAI`: `realtime.connect` |
74
+ | Model discovery | `OpenAI` / `AsyncOpenAI`: `models.list`, `models.retrieve` |
75
+ | Streaming TTS | `ElevenLabs` / `AsyncElevenLabs`: `text_to_speech.convert_realtime` |
76
+ | Multi-context TTS | `ElevenLabs` / `AsyncElevenLabs`: `text_to_speech.connect_multi_context` |
77
+ | Realtime ASR | `await client.speech_to_text.realtime.connect(...)` on either speech client |
78
+ | Speech discovery | Speech clients: models, voices, voice settings, ASR languages |
79
+ | Workspaces, members, invitations, endpoints | `Control` / `AsyncControl` |
80
+ | Combined inference and management | `Avartha` / `AsyncAvartha` |
81
+
82
+ Managed inference uses WebSockets; Chat Completions, Responses, HTTP TTS,
83
+ and file transcription are unavailable. Agent management and conversation
84
+ sessions are planned; accessing `conversational_ai` currently raises
85
+ `NotImplementedError`.
86
+
87
+ ## Migrating and handling errors
88
+
89
+ Import clients, types, and exceptions from `avartha`. Neither the OpenAI nor
90
+ ElevenLabs SDK needs to be installed. The supported interfaces are compatible
91
+ with OpenAI Python 3.13.0 and ElevenLabs Python 2.68.0. Model and voice IDs are
92
+ specific to the selected Avartha environment.
93
+
94
+ OpenAI-compatible HTTP discovery uses `avartha.APIStatusError` and
95
+ `avartha.APIConnectionError`. Speech HTTP errors use `avartha.ApiError`.
96
+ Management HTTP status errors use `avartha.PlatformAPIError`. Speech and
97
+ management HTTP network failures also raise `avartha.ApiError`, with no status
98
+ or headers and the original exception in `__cause__`.
99
+
100
+ Handle Realtime server error events in the receive loop. HTTP timeout and
101
+ retry settings do not configure WebSocket connections. Management writes are
102
+ never retried automatically.
103
+
104
+ ## Complete guides and examples
105
+
106
+ The [source archive on PyPI](https://pypi.org/project/avartha-python-sdk/#files)
107
+ includes `README.md`, customer guides in `docs/`, and runnable examples in
108
+ `examples/`. Download and unpack the archive to read the migration, compatibility,
109
+ and platform-management guides and run the text, speech, and endpoint examples.
@@ -1,4 +1,4 @@
1
- """ElevenLabs TTS interface; see docs/preview-testing.md for preview incompatibilities.
1
+ """Streaming TTS; see docs/compatibility.md for supported formats and lifecycle details.
2
2
 
3
3
  Set AVARTHA_API_KEY and optionally AVARTHA_BASE_URL.
4
4
  Defaults to the rate Avartha's TTS models serve; supply --sample-rate for others.