avartha-python-sdk 0.0.3__tar.gz → 0.0.5__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.5/MANIFEST.in +9 -0
  2. avartha_python_sdk-0.0.5/PKG-INFO +141 -0
  3. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/README.md +21 -16
  4. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/THIRD_PARTY_NOTICES +9 -9
  5. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/docs/compatibility.md +63 -162
  6. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/docs/migration.md +39 -14
  7. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/docs/platform.md +3 -37
  8. avartha_python_sdk-0.0.5/docs/pypi.md +110 -0
  9. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/examples/tts.py +1 -1
  10. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/pyproject.toml +7 -9
  11. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/setup.py +1 -4
  12. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/_config.py +25 -10
  13. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/client.py +12 -0
  14. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/elevenlabs.py +1 -0
  15. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/openai.py +1 -0
  16. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_reasoning_effort.py +3 -1
  17. avartha_python_sdk-0.0.5/src/avartha_python_sdk.egg-info/PKG-INFO +141 -0
  18. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha_python_sdk.egg-info/SOURCES.txt +2 -77
  19. avartha_python_sdk-0.0.3/.github/CODEOWNERS +0 -5
  20. avartha_python_sdk-0.0.3/.github/workflows/ci.yml +0 -102
  21. avartha_python_sdk-0.0.3/.github/workflows/preview-behavior.yml +0 -80
  22. avartha_python_sdk-0.0.3/.github/workflows/publish.yml +0 -73
  23. avartha_python_sdk-0.0.3/.gitignore +0 -13
  24. avartha_python_sdk-0.0.3/AGENTS.md +0 -21
  25. avartha_python_sdk-0.0.3/CONTRIBUTING.md +0 -62
  26. avartha_python_sdk-0.0.3/MANIFEST.in +0 -10
  27. avartha_python_sdk-0.0.3/Makefile +0 -30
  28. avartha_python_sdk-0.0.3/PKG-INFO +0 -441
  29. avartha_python_sdk-0.0.3/docs/audit/category-c-validation.md +0 -71
  30. avartha_python_sdk-0.0.3/docs/audit/findings.csv +0 -59
  31. avartha_python_sdk-0.0.3/docs/audit/findings.json +0 -1246
  32. avartha_python_sdk-0.0.3/docs/audit/fuzz-coverage.csv +0 -6751
  33. avartha_python_sdk-0.0.3/docs/audit/http-coverage.csv +0 -22
  34. avartha_python_sdk-0.0.3/docs/audit/http-results.json +0 -350
  35. avartha_python_sdk-0.0.3/docs/audit/invariants.json +0 -322
  36. avartha_python_sdk-0.0.3/docs/audit/inventory.csv +0 -350
  37. avartha_python_sdk-0.0.3/docs/audit/inventory.json +0 -3152
  38. avartha_python_sdk-0.0.3/docs/audit/live-coverage.csv +0 -220
  39. avartha_python_sdk-0.0.3/docs/audit/live-results.json +0 -36886
  40. avartha_python_sdk-0.0.3/docs/audit/report.md +0 -317
  41. avartha_python_sdk-0.0.3/docs/audit/source-fuzz-results.json +0 -6917
  42. avartha_python_sdk-0.0.3/docs/audit/source-manifest.json +0 -387
  43. avartha_python_sdk-0.0.3/docs/audit/state-fuzz-results.json +0 -80072
  44. avartha_python_sdk-0.0.3/docs/audit/summary.json +0 -19
  45. avartha_python_sdk-0.0.3/docs/audit/surface-matrix.csv +0 -38
  46. avartha_python_sdk-0.0.3/docs/audit/wire-schema-results.json +0 -56
  47. avartha_python_sdk-0.0.3/docs/github-policies.md +0 -26
  48. avartha_python_sdk-0.0.3/docs/preview-results.json +0 -123
  49. avartha_python_sdk-0.0.3/docs/preview-testing.md +0 -195
  50. avartha_python_sdk-0.0.3/docs/tts-reception-validation.md +0 -78
  51. avartha_python_sdk-0.0.3/docs/websocket-behavior.md +0 -140
  52. avartha_python_sdk-0.0.3/docs/websocket-fuzz.md +0 -107
  53. avartha_python_sdk-0.0.3/examples/endpoints.py +0 -39
  54. avartha_python_sdk-0.0.3/scripts/audit/catalog.py +0 -218
  55. avartha_python_sdk-0.0.3/scripts/audit/fetch_sources.py +0 -47
  56. avartha_python_sdk-0.0.3/scripts/audit/http_probe.py +0 -102
  57. avartha_python_sdk-0.0.3/scripts/audit/invariants.py +0 -121
  58. avartha_python_sdk-0.0.3/scripts/audit/probe.py +0 -1667
  59. avartha_python_sdk-0.0.3/scripts/audit/report.py +0 -312
  60. avartha_python_sdk-0.0.3/scripts/audit/source_fuzz.py +0 -391
  61. avartha_python_sdk-0.0.3/scripts/audit/state_fuzz.py +0 -39
  62. avartha_python_sdk-0.0.3/scripts/audit/state_model.py +0 -266
  63. avartha_python_sdk-0.0.3/scripts/freeze_realtime_types.py +0 -157
  64. avartha_python_sdk-0.0.3/scripts/preview_behavior.py +0 -1355
  65. avartha_python_sdk-0.0.3/scripts/preview_smoke.py +0 -375
  66. avartha_python_sdk-0.0.3/src/avartha/_version.py +0 -24
  67. avartha_python_sdk-0.0.3/src/avartha_python_sdk.egg-info/PKG-INFO +0 -441
  68. avartha_python_sdk-0.0.3/tests/conftest.py +0 -10
  69. avartha_python_sdk-0.0.3/tests/fixtures/elevenlabs-2.68.0.json +0 -1542
  70. avartha_python_sdk-0.0.3/tests/fixtures/openai/realtime.json +0 -2791
  71. avartha_python_sdk-0.0.3/tests/fixtures/openai-models-3.13.0.json +0 -325
  72. avartha_python_sdk-0.0.3/tests/fixtures/preview/constraints.txt +0 -4
  73. avartha_python_sdk-0.0.3/tests/fixtures/preview/contract.json +0 -255
  74. avartha_python_sdk-0.0.3/tests/fixtures/speech-contract.md +0 -46
  75. avartha_python_sdk-0.0.3/tests/fixtures/speech-http-2.68.0.json +0 -1081
  76. avartha_python_sdk-0.0.3/tests/test_clients.py +0 -124
  77. avartha_python_sdk-0.0.3/tests/test_control.py +0 -243
  78. avartha_python_sdk-0.0.3/tests/test_control_workspaces.py +0 -458
  79. avartha_python_sdk-0.0.3/tests/test_fence.py +0 -136
  80. avartha_python_sdk-0.0.3/tests/test_openai_client.py +0 -263
  81. avartha_python_sdk-0.0.3/tests/test_openai_http.py +0 -434
  82. avartha_python_sdk-0.0.3/tests/test_owned_asr.py +0 -354
  83. avartha_python_sdk-0.0.3/tests/test_owned_contract.py +0 -197
  84. avartha_python_sdk-0.0.3/tests/test_pacing.py +0 -42
  85. avartha_python_sdk-0.0.3/tests/test_platform_e2e.py +0 -169
  86. avartha_python_sdk-0.0.3/tests/test_preview_behavior_runner.py +0 -325
  87. avartha_python_sdk-0.0.3/tests/test_preview_fuzz.py +0 -299
  88. avartha_python_sdk-0.0.3/tests/test_realtime_lifecycle.py +0 -307
  89. avartha_python_sdk-0.0.3/tests/test_realtime_model_discovery.py +0 -253
  90. avartha_python_sdk-0.0.3/tests/test_speech_contract.py +0 -178
  91. avartha_python_sdk-0.0.3/tests/test_speech_http.py +0 -485
  92. avartha_python_sdk-0.0.3/tests/test_tts_context_errors.py +0 -188
  93. avartha_python_sdk-0.0.3/tests/test_tts_iteration.py +0 -199
  94. avartha_python_sdk-0.0.3/tests/test_tts_reception.py +0 -394
  95. avartha_python_sdk-0.0.3/tests/test_tts_send_cancellation.py +0 -431
  96. avartha_python_sdk-0.0.3/tests/test_websocket_urls.py +0 -152
  97. avartha_python_sdk-0.0.3/tests/test_websockets.py +0 -714
  98. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/LICENSE +0 -0
  99. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/examples/realtime.py +0 -0
  100. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/examples/realtime_asr.py +0 -0
  101. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/examples/tts_multi_context.py +0 -0
  102. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/setup.cfg +0 -0
  103. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/__init__.py +0 -0
  104. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/_exceptions.py +0 -0
  105. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/_http_errors.py +0 -0
  106. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/_models.py +0 -0
  107. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/_openai_http.py +0 -0
  108. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/_openai_http_errors.py +0 -0
  109. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/_pacing.py +0 -0
  110. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/_realtime_asr.py +0 -0
  111. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/_realtime_openai.py +0 -0
  112. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/_realtime_resources.py +0 -0
  113. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/_realtime_tts.py +0 -0
  114. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/_sentinels.py +0 -0
  115. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/_speech_config.py +0 -0
  116. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/_speech_http.py +0 -0
  117. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/_speech_resources.py +0 -0
  118. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/_unsupported.py +0 -0
  119. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/_websocket.py +0 -0
  120. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/_ws_state.py +0 -0
  121. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/control.py +0 -0
  122. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/conversational_ai/__init__.py +0 -0
  123. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/errors.py +0 -0
  124. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/pagination.py +0 -0
  125. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/py.typed +0 -0
  126. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/realtime/__init__.py +0 -0
  127. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/realtime/speech.py +0 -0
  128. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/resources/__init__.py +0 -0
  129. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/resources/models.py +0 -0
  130. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/resources/realtime/__init__.py +0 -0
  131. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/resources/realtime/realtime.py +0 -0
  132. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/__init__.py +0 -0
  133. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/audio/__init__.py +0 -0
  134. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/audio/transcription_language.py +0 -0
  135. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/model.py +0 -0
  136. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/__init__.py +0 -0
  137. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/audio_transcription.py +0 -0
  138. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/audio_transcription_param.py +0 -0
  139. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/conversation_created_event.py +0 -0
  140. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/conversation_item.py +0 -0
  141. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/conversation_item_added.py +0 -0
  142. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/conversation_item_create_event.py +0 -0
  143. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/conversation_item_create_event_param.py +0 -0
  144. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/conversation_item_created_event.py +0 -0
  145. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/conversation_item_delete_event.py +0 -0
  146. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/conversation_item_delete_event_param.py +0 -0
  147. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/conversation_item_deleted_event.py +0 -0
  148. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/conversation_item_done.py +0 -0
  149. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/conversation_item_input_audio_transcription_completed_event.py +0 -0
  150. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/conversation_item_input_audio_transcription_delta_event.py +0 -0
  151. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/conversation_item_input_audio_transcription_failed_event.py +0 -0
  152. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/conversation_item_input_audio_transcription_segment.py +0 -0
  153. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/conversation_item_param.py +0 -0
  154. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/conversation_item_retrieve_event.py +0 -0
  155. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/conversation_item_retrieve_event_param.py +0 -0
  156. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/conversation_item_truncate_event.py +0 -0
  157. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/conversation_item_truncate_event_param.py +0 -0
  158. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/conversation_item_truncated_event.py +0 -0
  159. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/input_audio_buffer_append_event.py +0 -0
  160. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/input_audio_buffer_append_event_param.py +0 -0
  161. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/input_audio_buffer_clear_event.py +0 -0
  162. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/input_audio_buffer_clear_event_param.py +0 -0
  163. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/input_audio_buffer_cleared_event.py +0 -0
  164. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/input_audio_buffer_commit_event.py +0 -0
  165. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/input_audio_buffer_commit_event_param.py +0 -0
  166. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/input_audio_buffer_committed_event.py +0 -0
  167. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/input_audio_buffer_dtmf_event_received_event.py +0 -0
  168. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/input_audio_buffer_speech_started_event.py +0 -0
  169. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/input_audio_buffer_speech_stopped_event.py +0 -0
  170. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/input_audio_buffer_timeout_triggered.py +0 -0
  171. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/log_prob_properties.py +0 -0
  172. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/mcp_list_tools_completed.py +0 -0
  173. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/mcp_list_tools_failed.py +0 -0
  174. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/mcp_list_tools_in_progress.py +0 -0
  175. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/noise_reduction_type.py +0 -0
  176. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/output_audio_buffer_clear_event.py +0 -0
  177. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/output_audio_buffer_clear_event_param.py +0 -0
  178. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/rate_limits_updated_event.py +0 -0
  179. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_audio_config.py +0 -0
  180. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_audio_config_input.py +0 -0
  181. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_audio_config_input_param.py +0 -0
  182. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_audio_config_output.py +0 -0
  183. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_audio_config_output_param.py +0 -0
  184. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_audio_config_param.py +0 -0
  185. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_audio_formats.py +0 -0
  186. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_audio_formats_param.py +0 -0
  187. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_audio_input_turn_detection.py +0 -0
  188. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_audio_input_turn_detection_param.py +0 -0
  189. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_client_event.py +0 -0
  190. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_client_event_param.py +0 -0
  191. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_conversation_item_assistant_message.py +0 -0
  192. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_conversation_item_assistant_message_param.py +0 -0
  193. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_conversation_item_function_call.py +0 -0
  194. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_conversation_item_function_call_output.py +0 -0
  195. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_conversation_item_function_call_output_param.py +0 -0
  196. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_conversation_item_function_call_param.py +0 -0
  197. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_conversation_item_system_message.py +0 -0
  198. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_conversation_item_system_message_param.py +0 -0
  199. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_conversation_item_user_message.py +0 -0
  200. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_conversation_item_user_message_param.py +0 -0
  201. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_error.py +0 -0
  202. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_error_event.py +0 -0
  203. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_function_tool.py +0 -0
  204. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_function_tool_param.py +0 -0
  205. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_mcp_approval_request.py +0 -0
  206. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_mcp_approval_request_param.py +0 -0
  207. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_mcp_approval_response.py +0 -0
  208. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_mcp_approval_response_param.py +0 -0
  209. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_mcp_list_tools.py +0 -0
  210. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_mcp_list_tools_param.py +0 -0
  211. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_mcp_protocol_error.py +0 -0
  212. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_mcp_protocol_error_param.py +0 -0
  213. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_mcp_tool_call.py +0 -0
  214. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_mcp_tool_call_param.py +0 -0
  215. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_mcp_tool_execution_error.py +0 -0
  216. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_mcp_tool_execution_error_param.py +0 -0
  217. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_mcphttp_error.py +0 -0
  218. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_mcphttp_error_param.py +0 -0
  219. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_reasoning.py +0 -0
  220. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_reasoning_param.py +0 -0
  221. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_response.py +0 -0
  222. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_response_create_audio_output.py +0 -0
  223. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/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.5}/src/avartha/types/realtime/realtime_response_create_mcp_tool.py +0 -0
  225. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/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.5}/src/avartha/types/realtime/realtime_response_create_params.py +0 -0
  227. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_response_create_params_param.py +0 -0
  228. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_response_status.py +0 -0
  229. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_response_usage.py +0 -0
  230. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/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.5}/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.5}/src/avartha/types/realtime/realtime_server_event.py +0 -0
  233. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_session_create_request.py +0 -0
  234. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_session_create_request_param.py +0 -0
  235. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_tool_choice_config.py +0 -0
  236. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_tool_choice_config_param.py +0 -0
  237. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_tools_config.py +0 -0
  238. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_tools_config_param.py +0 -0
  239. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_tools_config_union.py +0 -0
  240. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_tracing_config.py +0 -0
  241. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_tracing_config_param.py +0 -0
  242. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_transcription_session_audio.py +0 -0
  243. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_transcription_session_audio_input.py +0 -0
  244. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/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.5}/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.5}/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.5}/src/avartha/types/realtime/realtime_transcription_session_audio_param.py +0 -0
  248. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_transcription_session_create_request.py +0 -0
  249. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/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.5}/src/avartha/types/realtime/realtime_truncation.py +0 -0
  251. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_truncation_param.py +0 -0
  252. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_truncation_retention_ratio.py +0 -0
  253. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/realtime_truncation_retention_ratio_param.py +0 -0
  254. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/response_audio_delta_event.py +0 -0
  255. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/response_audio_done_event.py +0 -0
  256. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/response_audio_transcript_delta_event.py +0 -0
  257. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/response_audio_transcript_done_event.py +0 -0
  258. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/response_cancel_event.py +0 -0
  259. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/response_cancel_event_param.py +0 -0
  260. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/response_content_part_added_event.py +0 -0
  261. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/response_content_part_done_event.py +0 -0
  262. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/response_create_event.py +0 -0
  263. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/response_create_event_param.py +0 -0
  264. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/response_created_event.py +0 -0
  265. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/response_done_event.py +0 -0
  266. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/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.5}/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.5}/src/avartha/types/realtime/response_mcp_call_arguments_delta.py +0 -0
  269. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/response_mcp_call_arguments_done.py +0 -0
  270. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/response_mcp_call_completed.py +0 -0
  271. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/response_mcp_call_failed.py +0 -0
  272. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/response_mcp_call_in_progress.py +0 -0
  273. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/response_output_item_added_event.py +0 -0
  274. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/response_output_item_done_event.py +0 -0
  275. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/response_text_delta_event.py +0 -0
  276. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/response_text_done_event.py +0 -0
  277. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/session_created_event.py +0 -0
  278. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/session_update_event.py +0 -0
  279. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/session_update_event_param.py +0 -0
  280. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/realtime/session_updated_event.py +0 -0
  281. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/responses/__init__.py +0 -0
  282. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/responses/image_detail.py +0 -0
  283. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/responses/response_input_file.py +0 -0
  284. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/responses/response_input_file_param.py +0 -0
  285. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/responses/response_input_image.py +0 -0
  286. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/responses/response_input_image_param.py +0 -0
  287. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/responses/response_input_text.py +0 -0
  288. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/responses/response_input_text_param.py +0 -0
  289. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/responses/response_prompt.py +0 -0
  290. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/responses/response_prompt_param.py +0 -0
  291. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/responses/tool_choice_function.py +0 -0
  292. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/responses/tool_choice_function_param.py +0 -0
  293. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/responses/tool_choice_mcp.py +0 -0
  294. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/responses/tool_choice_mcp_param.py +0 -0
  295. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/responses/tool_choice_options.py +0 -0
  296. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/shared/__init__.py +0 -0
  297. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/shared/metadata.py +0 -0
  298. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/shared_params/__init__.py +0 -0
  299. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/shared_params/metadata.py +0 -0
  300. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/speech/__init__.py +0 -0
  301. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/speech/alignment.py +0 -0
  302. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/speech/audio_output_multi.py +0 -0
  303. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/speech/close_context.py +0 -0
  304. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/speech/close_socket.py +0 -0
  305. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/speech/final_output_multi.py +0 -0
  306. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/speech/fine_tuning_response.py +0 -0
  307. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/speech/fine_tuning_response_state_value.py +0 -0
  308. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/speech/flush_context.py +0 -0
  309. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/speech/generation_config.py +0 -0
  310. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/speech/get_voices_response.py +0 -0
  311. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/speech/get_voices_v_2_response.py +0 -0
  312. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/speech/initialize_connection_multi.py +0 -0
  313. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/speech/language_response.py +0 -0
  314. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/speech/manual_verification_file_response.py +0 -0
  315. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/speech/manual_verification_response.py +0 -0
  316. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/speech/model.py +0 -0
  317. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/speech/model_rates_response_model.py +0 -0
  318. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/speech/normalized_alignment.py +0 -0
  319. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/speech/output_format.py +0 -0
  320. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/speech/pronunciation_dictionary_locator.py +0 -0
  321. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/speech/reader_resource_response_model.py +0 -0
  322. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/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.5}/src/avartha/types/speech/realtime_voice_settings.py +0 -0
  324. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/speech/recording_response.py +0 -0
  325. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/speech/review_status.py +0 -0
  326. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/speech/send_text_multi.py +0 -0
  327. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/speech/speaker_response_model.py +0 -0
  328. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/speech/speaker_separation_response_model.py +0 -0
  329. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/speech/speaker_separation_response_model_status.py +0 -0
  330. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/speech/utterance_response_model.py +0 -0
  331. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/speech/verification_attempt_response.py +0 -0
  332. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/speech/verified_voice_language_response_model.py +0 -0
  333. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/speech/voice.py +0 -0
  334. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/speech/voice_category.py +0 -0
  335. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/speech/voice_labelling_status.py +0 -0
  336. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/speech/voice_recording_quality.py +0 -0
  337. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/speech/voice_safety_control.py +0 -0
  338. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/speech/voice_sample.py +0 -0
  339. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/speech/voice_settings.py +0 -0
  340. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/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.5}/src/avartha/types/speech/voice_sharing_response.py +0 -0
  342. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/speech/voice_sharing_response_category.py +0 -0
  343. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/speech/voice_sharing_state.py +0 -0
  344. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/speech/voice_verification_response.py +0 -0
  345. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/speech_language.py +0 -0
  346. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/websocket_connection_options.py +0 -0
  347. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha/types/websocket_reconnection.py +0 -0
  348. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha_python_sdk.egg-info/dependency_links.txt +0 -0
  349. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/src/avartha_python_sdk.egg-info/requires.txt +0 -0
  350. {avartha_python_sdk-0.0.3 → avartha_python_sdk-0.0.5}/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
@@ -0,0 +1,141 @@
1
+ Metadata-Version: 2.4
2
+ Name: avartha-python-sdk
3
+ Version: 0.0.5
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 support only serverless inference.
51
+ Set `AVARTHA_BASE_URL` for another environment. Use model and voice IDs available
52
+ to your workspace. Unsupported tier values and dedicated inference URLs raise
53
+ `ConfigurationError` locally before any request.
54
+
55
+ ## Discover models
56
+
57
+ ```python
58
+ from avartha import OpenAI
59
+
60
+ with OpenAI() as client:
61
+ for model in client.models.list():
62
+ print(model.id, model.to_dict().get("protocols", []))
63
+ ```
64
+
65
+ Choose a model supporting `openai_realtime` for text, `elevenlabs_tts` for
66
+ speech synthesis, or `elevenlabs_asr` for speech recognition.
67
+
68
+ ## Generate text
69
+
70
+ Replace `your-avartha-model` with a Realtime text model returned by discovery:
71
+
72
+ ```python
73
+ from avartha import OpenAI
74
+
75
+ with OpenAI() as client:
76
+ with client.realtime.connect(model="your-avartha-model") as connection:
77
+ connection.session.update(session={"type": "realtime", "output_modalities": ["text"]})
78
+ connection.conversation.item.create(
79
+ item={
80
+ "type": "message",
81
+ "role": "user",
82
+ "content": [{"type": "input_text", "text": "Explain Python dictionaries."}],
83
+ }
84
+ )
85
+ connection.response.create()
86
+ for event in connection:
87
+ if event.type == "response.output_text.delta":
88
+ print(event.delta, end="", flush=True)
89
+ elif event.type == "response.done":
90
+ if event.response.status != "completed":
91
+ raise RuntimeError(f"Response ended with status: {event.response.status}")
92
+ break
93
+ elif event.type == "error":
94
+ raise RuntimeError(event.error.message)
95
+ ```
96
+
97
+ For asynchronous text generation, use `AsyncOpenAI`, `async with`, `await`,
98
+ and `async for`. Close clients and active WebSocket sessions when finished.
99
+ Inference consumes credits.
100
+
101
+ ## Supported workflows
102
+
103
+ | Workflow | Client and interface |
104
+ | --- | --- |
105
+ | Realtime text | `OpenAI` / `AsyncOpenAI`: `realtime.connect` |
106
+ | Model discovery | `OpenAI` / `AsyncOpenAI`: `models.list`, `models.retrieve` |
107
+ | Streaming TTS | `ElevenLabs` / `AsyncElevenLabs`: `text_to_speech.convert_realtime` |
108
+ | Multi-context TTS | `ElevenLabs` / `AsyncElevenLabs`: `text_to_speech.connect_multi_context` |
109
+ | Realtime ASR | `await client.speech_to_text.realtime.connect(...)` on either speech client |
110
+ | Speech discovery | Speech clients: models, voices, voice settings, ASR languages |
111
+ | Workspaces, members, invitations | `Control` / `AsyncControl` |
112
+ | Combined inference and management | `Avartha` / `AsyncAvartha` |
113
+
114
+ Managed inference uses WebSockets; Chat Completions, Responses, HTTP TTS,
115
+ and file transcription are unavailable. Agent management and conversation
116
+ sessions are planned; accessing `conversational_ai` currently raises
117
+ `NotImplementedError`.
118
+
119
+ ## Migrating and handling errors
120
+
121
+ Import clients, types, and exceptions from `avartha`. Neither the OpenAI nor
122
+ ElevenLabs SDK needs to be installed. The supported interfaces are compatible
123
+ with OpenAI Python 3.13.0 and ElevenLabs Python 2.68.0. Model and voice IDs are
124
+ specific to the selected Avartha environment.
125
+
126
+ OpenAI-compatible HTTP discovery uses `avartha.APIStatusError` and
127
+ `avartha.APIConnectionError`. Speech HTTP errors use `avartha.ApiError`.
128
+ Management HTTP status errors use `avartha.PlatformAPIError`. Speech and
129
+ management HTTP network failures also raise `avartha.ApiError`, with no status
130
+ or headers and the original exception in `__cause__`.
131
+
132
+ Handle Realtime server error events in the receive loop. HTTP timeout and
133
+ retry settings do not configure WebSocket connections. Management writes are
134
+ never retried automatically.
135
+
136
+ ## Complete guides and examples
137
+
138
+ The [source archive on PyPI](https://pypi.org/project/avartha-python-sdk/#files)
139
+ includes `README.md`, customer guides in `docs/`, and runnable examples in
140
+ `examples/`. Download and unpack the archive to read the migration, compatibility,
141
+ 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
 
@@ -96,7 +95,7 @@ with OpenAI() as client:
96
95
  print(model.id, model.to_dict().get("protocols", []))
97
96
  ```
98
97
 
99
- Model availability depends on your workspace, environment, and tier. Replace
98
+ Model availability depends on your workspace and environment. Replace
100
99
  the example IDs with models returned for your key and the protocol you need:
101
100
  `openai_realtime`, `elevenlabs_tts`, or `elevenlabs_asr`.
102
101
 
@@ -211,8 +210,18 @@ managed inference uses the realtime methods above.
211
210
 
212
211
  ### Speech to text
213
212
 
214
- Realtime ASR uses `await client.speech_to_text.realtime.connect(...)` on both
215
- ElevenLabs client variants. Send mono PCM16 audio and await a committed transcript.
213
+ Live speech-to-text (realtime ASR) is asynchronous on both `ElevenLabs` and
214
+ `AsyncElevenLabs`. This also applies through `Avartha` and `AsyncAvartha` at
215
+ `client.elevenlabs.speech_to_text.realtime`; the synchronous `Avartha` client
216
+ does not provide a blocking live STT interface.
217
+
218
+ Await `realtime.connect()`, `connection.send()`, `connection.commit()`, and
219
+ `connection.close()`. Register callbacks with `connection.on()` without `await`.
220
+ Use `AsyncAvartha` or `AsyncElevenLabs` for an async application. See the
221
+ [live STT execution guidance](docs/migration.md#live-speech-to-text) for scripts
222
+ and applications with an existing event loop.
223
+
224
+ Send mono PCM16 audio and await a committed transcript.
216
225
  [The complete example](examples/realtime_asr.py) reads a WAV file, registers
217
226
  transcript/error callbacks, streams chunks, commits, and closes the connection:
218
227
 
@@ -355,10 +364,12 @@ automatically. See [timeouts and cleanup](docs/migration.md#timeouts-retries-and
355
364
 
356
365
  Without an explicit URL, protocol clients derive their URL from
357
366
  `AVARTHA_BASE_URL`, defaulting to `https://platform.preview.avartha.ai` and the
358
- `serverless` tier. Set `tier="dedicated"` for dedicated inference; there is no
359
- automatic fallback between tiers. An explicit protocol `base_url` takes
360
- precedence over `tier`. `AVARTHA_ELEVENLABS_BASE_URL` overrides the derived speech
361
- root, and an explicit ElevenLabs `base_url` overrides that environment variable.
367
+ `serverless` tier. Only serverless inference is supported. Unsupported `tier`
368
+ values and dedicated inference URLs raise `ConfigurationError` locally before
369
+ any request; the SDK does not silently change the selected tier.
370
+ `AVARTHA_ELEVENLABS_BASE_URL` overrides the derived speech root, and an explicit
371
+ protocol `base_url` overrides its derived URL. URL overrides do not bypass tier
372
+ validation.
362
373
 
363
374
  Keys are read at construction from `AVARTHA_API_KEY` or `api_key`.
364
375
  Vendor default keys and base URL variables are not substituted.
@@ -380,7 +391,6 @@ with Avartha() as client:
380
391
  print(client.control.catalog.skus(provider="modal"))
381
392
  print(client.control.organizations.list())
382
393
  print(client.control.organizations.limits("your-workspace-id"))
383
- print(client.control.endpoints.list(workspace_id="your-workspace-id"))
384
394
  ```
385
395
 
386
396
  `client.openai` and `client.elevenlabs` are the protocol clients;
@@ -393,16 +403,11 @@ creation, revocation, and acceptance. For example,
393
403
  See [workspace administration](docs/platform.md#workspace-administration) for
394
404
  sync/async usage and server permissions.
395
405
 
396
- Endpoint creation, readiness waiting,
397
- scaling, routing, stopping, and deletion are described in the
398
- [management guide](docs/platform.md).
399
-
400
406
  ## Examples
401
407
 
402
408
  Runnable examples cover [Realtime text](examples/realtime.py),
403
409
  [TTS](examples/tts.py), [multi-context TTS](examples/tts_multi_context.py),
404
- [ASR](examples/realtime_asr.py), and [endpoint management](examples/endpoints.py).
410
+ [ASR](examples/realtime_asr.py).
405
411
  Microphone capture and speaker playback are handled by your application.
406
412
 
407
- Running inference examples consumes credits. For SDK development and checks,
408
- see [Contributing](CONTRIBUTING.md).
413
+ 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 on serverless inference, 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 |
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, and invitations | 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, and permissions.
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 accepts only `tier="serverless"`. Client copies apply the same
60
+ configuration validation. 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,14 +80,13 @@ 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/openai/v1`:
123
85
 
124
86
  | SDK method | GET path | Server prerequisites |
125
87
  | --- | --- | --- |
126
- | `models.list()` | `/models` | Returns models visible to the caller on the selected tier; an empty list is valid |
127
- | `models.retrieve(model)` | `/models/{model}` | Model ID must be visible on that tier; slashes in IDs are URL-encoded |
88
+ | `models.list()` | `/models` | Returns serverless models visible to the caller; an empty list is valid |
89
+ | `models.retrieve(model)` | `/models/{model}` | Model ID must be visible on serverless inference; slashes in IDs are URL-encoded |
128
90
 
129
91
  Both clients return typed `avartha.types.Model` objects and preserve additional
130
92
  platform fields such as `protocols`, `model_type`, and `websocket_limits`.
@@ -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,13 +114,12 @@ 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/elevenlabs`:
158
119
 
159
120
  | SDK method | GET path | Server prerequisites |
160
121
  | --- | --- | --- |
161
- | `models.list()` | `/v1/models` | A speech model visible to the caller and tier |
122
+ | `models.list()` | `/v1/models` | A serverless speech model visible to the caller |
162
123
  | `voices.get_all()` | `/v1/voices` | A routable TTS model with runtime voice discovery |
163
124
  | `voices.search(...)` | `/v2/voices` | Same; supported filters are `search`, `page_size` (1–100), `next_page_token`, and `include_total_count` |
164
125
  | `voices.get(voice_id)` | `/v1/voices/{voice_id}` | Voice exists for the selected model |
@@ -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,29 +246,31 @@ 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
302
262
 
303
263
  - `Avartha` and `Control` accept a platform root, including a proxy prefix.
304
- - OpenAI defaults to `ROOT/inference/{tier}/openai/v1`, using bearer auth.
305
- - ElevenLabs defaults to `ROOT/inference/{tier}/elevenlabs` and appends its
264
+ - OpenAI defaults to `ROOT/inference/serverless/openai/v1`, using bearer auth.
265
+ - ElevenLabs defaults to `ROOT/inference/serverless/elevenlabs` and appends its
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 support only `tier="serverless"`. Other tier values and
270
+ dedicated inference URLs raise `ConfigurationError` before any request,
271
+ including with explicit or environment URL overrides.
310
272
  - HTTP/HTTPS maps to WS/WSS. No implicit hosted-vendor credential fallback exists.
311
- - Owned clients never read vendor environment variables. `OPENAI_ADMIN_KEY`,
273
+ - Clients never read vendor environment variables. `OPENAI_ADMIN_KEY`,
312
274
  `OPENAI_API_KEY`, `OPENAI_BASE_URL`, `OPENAI_CUSTOM_HEADERS`, `OPENAI_ORG_ID`,
313
275
  `OPENAI_PROJECT_ID` and `OPENAI_WEBHOOK_SECRET` never reach an Avartha request,
314
276
  and `base_url`, `websocket_base_url` and `data_residency` are refused when they
@@ -317,64 +279,3 @@ support for other codecs or non-null `voice_settings`. Runnable examples:
317
279
  - The ASR token option is preserved, including suppression of the API-key header
318
280
  when a token is supplied. Token issuance is a separate server prerequisite.
319
281
  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)