avartha-python-sdk 0.0.2__tar.gz → 0.0.3__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.
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/AGENTS.md +5 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/PKG-INFO +107 -92
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/README.md +106 -91
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/docs/compatibility.md +17 -5
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/docs/migration.md +105 -71
- avartha_python_sdk-0.0.3/docs/platform.md +161 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/docs/websocket-behavior.md +12 -5
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/docs/websocket-fuzz.md +8 -6
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/scripts/preview_behavior.py +128 -17
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/__init__.py +2 -1
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/_exceptions.py +5 -1
- avartha_python_sdk-0.0.3/src/avartha/_http_errors.py +16 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/_realtime_tts.py +17 -26
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/_speech_config.py +2 -17
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/_speech_http.py +29 -26
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/_version.py +3 -3
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/client.py +2 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/control.py +251 -23
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha_python_sdk.egg-info/PKG-INFO +107 -92
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha_python_sdk.egg-info/SOURCES.txt +2 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/tests/fixtures/preview/contract.json +51 -1
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/tests/fixtures/speech-contract.md +6 -0
- avartha_python_sdk-0.0.3/tests/test_control_workspaces.py +458 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/tests/test_openai_http.py +11 -4
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/tests/test_owned_asr.py +20 -19
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/tests/test_preview_fuzz.py +119 -3
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/tests/test_speech_contract.py +4 -3
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/tests/test_speech_http.py +69 -4
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/tests/test_tts_reception.py +85 -13
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/tests/test_tts_send_cancellation.py +14 -14
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/tests/test_websockets.py +46 -4
- avartha_python_sdk-0.0.2/docs/platform.md +0 -79
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/.github/CODEOWNERS +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/.github/workflows/ci.yml +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/.github/workflows/preview-behavior.yml +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/.github/workflows/publish.yml +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/.gitignore +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/CONTRIBUTING.md +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/LICENSE +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/MANIFEST.in +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/Makefile +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/THIRD_PARTY_NOTICES +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/docs/audit/category-c-validation.md +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/docs/audit/findings.csv +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/docs/audit/findings.json +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/docs/audit/fuzz-coverage.csv +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/docs/audit/http-coverage.csv +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/docs/audit/http-results.json +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/docs/audit/invariants.json +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/docs/audit/inventory.csv +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/docs/audit/inventory.json +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/docs/audit/live-coverage.csv +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/docs/audit/live-results.json +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/docs/audit/report.md +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/docs/audit/source-fuzz-results.json +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/docs/audit/source-manifest.json +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/docs/audit/state-fuzz-results.json +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/docs/audit/summary.json +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/docs/audit/surface-matrix.csv +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/docs/audit/wire-schema-results.json +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/docs/github-policies.md +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/docs/preview-results.json +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/docs/preview-testing.md +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/docs/tts-reception-validation.md +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/examples/endpoints.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/examples/realtime.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/examples/realtime_asr.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/examples/tts.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/examples/tts_multi_context.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/pyproject.toml +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/scripts/audit/catalog.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/scripts/audit/fetch_sources.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/scripts/audit/http_probe.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/scripts/audit/invariants.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/scripts/audit/probe.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/scripts/audit/report.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/scripts/audit/source_fuzz.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/scripts/audit/state_fuzz.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/scripts/audit/state_model.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/scripts/freeze_realtime_types.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/scripts/preview_smoke.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/setup.cfg +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/setup.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/_config.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/_models.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/_openai_http.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/_openai_http_errors.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/_pacing.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/_realtime_asr.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/_realtime_openai.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/_realtime_resources.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/_sentinels.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/_speech_resources.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/_unsupported.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/_websocket.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/_ws_state.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/conversational_ai/__init__.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/elevenlabs.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/errors.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/openai.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/pagination.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/py.typed +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/realtime/__init__.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/realtime/speech.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/resources/__init__.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/resources/models.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/resources/realtime/__init__.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/resources/realtime/realtime.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/__init__.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/audio/__init__.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/audio/transcription_language.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/model.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/__init__.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/audio_transcription.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/audio_transcription_param.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/conversation_created_event.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/conversation_item.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/conversation_item_added.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/conversation_item_create_event.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/conversation_item_create_event_param.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/conversation_item_created_event.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/conversation_item_delete_event.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/conversation_item_delete_event_param.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/conversation_item_deleted_event.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/conversation_item_done.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/conversation_item_input_audio_transcription_completed_event.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/conversation_item_input_audio_transcription_delta_event.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/conversation_item_input_audio_transcription_failed_event.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/conversation_item_input_audio_transcription_segment.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/conversation_item_param.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/conversation_item_retrieve_event.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/conversation_item_retrieve_event_param.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/conversation_item_truncate_event.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/conversation_item_truncate_event_param.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/conversation_item_truncated_event.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/input_audio_buffer_append_event.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/input_audio_buffer_append_event_param.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/input_audio_buffer_clear_event.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/input_audio_buffer_clear_event_param.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/input_audio_buffer_cleared_event.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/input_audio_buffer_commit_event.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/input_audio_buffer_commit_event_param.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/input_audio_buffer_committed_event.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/input_audio_buffer_dtmf_event_received_event.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/input_audio_buffer_speech_started_event.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/input_audio_buffer_speech_stopped_event.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/input_audio_buffer_timeout_triggered.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/log_prob_properties.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/mcp_list_tools_completed.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/mcp_list_tools_failed.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/mcp_list_tools_in_progress.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/noise_reduction_type.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/output_audio_buffer_clear_event.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/output_audio_buffer_clear_event_param.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/rate_limits_updated_event.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/realtime_audio_config.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/realtime_audio_config_input.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/realtime_audio_config_input_param.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/realtime_audio_config_output.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/realtime_audio_config_output_param.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/realtime_audio_config_param.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/realtime_audio_formats.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/realtime_audio_formats_param.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/realtime_audio_input_turn_detection.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/realtime_audio_input_turn_detection_param.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/realtime_client_event.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/realtime_client_event_param.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/realtime_conversation_item_assistant_message.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/realtime_conversation_item_assistant_message_param.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/realtime_conversation_item_function_call.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/realtime_conversation_item_function_call_output.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/realtime_conversation_item_function_call_output_param.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/realtime_conversation_item_function_call_param.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/realtime_conversation_item_system_message.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/realtime_conversation_item_system_message_param.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/realtime_conversation_item_user_message.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/realtime_conversation_item_user_message_param.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/realtime_error.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/realtime_error_event.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/realtime_function_tool.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/realtime_function_tool_param.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/realtime_mcp_approval_request.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/realtime_mcp_approval_request_param.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/realtime_mcp_approval_response.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/realtime_mcp_approval_response_param.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/realtime_mcp_list_tools.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/realtime_mcp_list_tools_param.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/realtime_mcp_protocol_error.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/realtime_mcp_protocol_error_param.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/realtime_mcp_tool_call.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/realtime_mcp_tool_call_param.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/realtime_mcp_tool_execution_error.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/realtime_mcp_tool_execution_error_param.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/realtime_mcphttp_error.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/realtime_mcphttp_error_param.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/realtime_reasoning.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/realtime_reasoning_effort.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/realtime_reasoning_param.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/realtime_response.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/realtime_response_create_audio_output.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/realtime_response_create_audio_output_param.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/realtime_response_create_mcp_tool.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/realtime_response_create_mcp_tool_param.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/realtime_response_create_params.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/realtime_response_create_params_param.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/realtime_response_status.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/realtime_response_usage.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/realtime_response_usage_input_token_details.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/realtime_response_usage_output_token_details.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/realtime_server_event.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/realtime_session_create_request.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/realtime_session_create_request_param.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/realtime_tool_choice_config.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/realtime_tool_choice_config_param.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/realtime_tools_config.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/realtime_tools_config_param.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/realtime_tools_config_union.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/realtime_tracing_config.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/realtime_tracing_config_param.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/realtime_transcription_session_audio.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/realtime_transcription_session_audio_input.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/realtime_transcription_session_audio_input_param.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/realtime_transcription_session_audio_input_turn_detection.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/realtime_transcription_session_audio_input_turn_detection_param.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/realtime_transcription_session_audio_param.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/realtime_transcription_session_create_request.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/realtime_transcription_session_create_request_param.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/realtime_truncation.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/realtime_truncation_param.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/realtime_truncation_retention_ratio.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/realtime_truncation_retention_ratio_param.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/response_audio_delta_event.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/response_audio_done_event.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/response_audio_transcript_delta_event.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/response_audio_transcript_done_event.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/response_cancel_event.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/response_cancel_event_param.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/response_content_part_added_event.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/response_content_part_done_event.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/response_create_event.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/response_create_event_param.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/response_created_event.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/response_done_event.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/response_function_call_arguments_delta_event.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/response_function_call_arguments_done_event.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/response_mcp_call_arguments_delta.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/response_mcp_call_arguments_done.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/response_mcp_call_completed.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/response_mcp_call_failed.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/response_mcp_call_in_progress.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/response_output_item_added_event.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/response_output_item_done_event.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/response_text_delta_event.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/response_text_done_event.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/session_created_event.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/session_update_event.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/session_update_event_param.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/realtime/session_updated_event.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/responses/__init__.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/responses/image_detail.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/responses/response_input_file.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/responses/response_input_file_param.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/responses/response_input_image.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/responses/response_input_image_param.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/responses/response_input_text.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/responses/response_input_text_param.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/responses/response_prompt.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/responses/response_prompt_param.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/responses/tool_choice_function.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/responses/tool_choice_function_param.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/responses/tool_choice_mcp.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/responses/tool_choice_mcp_param.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/responses/tool_choice_options.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/shared/__init__.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/shared/metadata.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/shared_params/__init__.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/shared_params/metadata.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/speech/__init__.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/speech/alignment.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/speech/audio_output_multi.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/speech/close_context.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/speech/close_socket.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/speech/final_output_multi.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/speech/fine_tuning_response.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/speech/fine_tuning_response_state_value.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/speech/flush_context.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/speech/generation_config.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/speech/get_voices_response.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/speech/get_voices_v_2_response.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/speech/initialize_connection_multi.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/speech/language_response.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/speech/manual_verification_file_response.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/speech/manual_verification_response.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/speech/model.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/speech/model_rates_response_model.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/speech/normalized_alignment.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/speech/output_format.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/speech/pronunciation_dictionary_locator.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/speech/reader_resource_response_model.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/speech/reader_resource_response_model_resource_type.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/speech/realtime_voice_settings.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/speech/recording_response.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/speech/review_status.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/speech/send_text_multi.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/speech/speaker_response_model.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/speech/speaker_separation_response_model.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/speech/speaker_separation_response_model_status.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/speech/utterance_response_model.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/speech/verification_attempt_response.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/speech/verified_voice_language_response_model.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/speech/voice.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/speech/voice_category.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/speech/voice_labelling_status.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/speech/voice_recording_quality.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/speech/voice_safety_control.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/speech/voice_sample.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/speech/voice_settings.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/speech/voice_sharing_moderation_check_response_model.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/speech/voice_sharing_response.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/speech/voice_sharing_response_category.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/speech/voice_sharing_state.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/speech/voice_verification_response.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/speech_language.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/websocket_connection_options.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha/types/websocket_reconnection.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha_python_sdk.egg-info/dependency_links.txt +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha_python_sdk.egg-info/requires.txt +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/src/avartha_python_sdk.egg-info/top_level.txt +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/tests/conftest.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/tests/fixtures/elevenlabs-2.68.0.json +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/tests/fixtures/openai/realtime.json +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/tests/fixtures/openai-models-3.13.0.json +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/tests/fixtures/preview/constraints.txt +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/tests/fixtures/speech-http-2.68.0.json +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/tests/test_clients.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/tests/test_control.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/tests/test_fence.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/tests/test_openai_client.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/tests/test_owned_contract.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/tests/test_pacing.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/tests/test_platform_e2e.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/tests/test_preview_behavior_runner.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/tests/test_realtime_lifecycle.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/tests/test_realtime_model_discovery.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/tests/test_tts_context_errors.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/tests/test_tts_iteration.py +0 -0
- {avartha_python_sdk-0.0.2 → avartha_python_sdk-0.0.3}/tests/test_websocket_urls.py +0 -0
|
@@ -13,4 +13,9 @@ Only expose platform endpoints verified against avartha/platform. Document
|
|
|
13
13
|
server prerequisites separately from SDK support. Keep private SDK attribute
|
|
14
14
|
access isolated and pin the dependency range it was tested against.
|
|
15
15
|
|
|
16
|
+
Keep customer-facing docs free of internal commit IDs, private source links,
|
|
17
|
+
and internal issue references. Record verification provenance with the tests.
|
|
18
|
+
Preserve existing audit and validation records, including their evidence, when
|
|
19
|
+
updating customer-facing guides.
|
|
20
|
+
|
|
16
21
|
Run `make check` before finishing. Do not add bot attribution to commits or docs.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: avartha-python-sdk
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.3
|
|
4
4
|
Summary: Python clients for Avartha inference, voice agents, and platform management
|
|
5
5
|
Author-email: "Avartha Inc." <team@avartha.ai>
|
|
6
6
|
License-Expression: LicenseRef-Avartha-Proprietary
|
|
@@ -38,9 +38,9 @@ Dynamic: license-file
|
|
|
38
38
|
Synchronous and asynchronous Python clients for Avartha Realtime LLMs,
|
|
39
39
|
streaming speech, and platform management. Requires Python 3.12+.
|
|
40
40
|
|
|
41
|
-
**
|
|
42
|
-
|
|
43
|
-
|
|
41
|
+
**Familiar Python interfaces for OpenAI Realtime and ElevenLabs speech.** Change
|
|
42
|
+
client, type, and exception imports, then configure Avartha credentials, URLs,
|
|
43
|
+
and model/voice IDs. The supported APIs use the same method names and event loops:
|
|
44
44
|
|
|
45
45
|
```diff
|
|
46
46
|
-from openai import OpenAI, AsyncOpenAI
|
|
@@ -52,17 +52,15 @@ the upstream resource methods, request types, response objects, and event loops:
|
|
|
52
52
|
+from avartha import ElevenLabs, AsyncElevenLabs
|
|
53
53
|
```
|
|
54
54
|
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
Chat Completions, Responses, and HTTP speech
|
|
58
|
-
below for
|
|
59
|
-
[Migration details](docs/migration.md) · [Protocol audit and triage](docs/audit/report.md) · [Initial live test results](docs/preview-testing.md)
|
|
55
|
+
Neither vendor SDK needs to be installed. Avartha supports Realtime text,
|
|
56
|
+
streaming speech, HTTP discovery, and platform management. Managed inference is
|
|
57
|
+
**WebSocket-only**; Chat Completions, Responses, and HTTP speech inference are
|
|
58
|
+
unavailable. See the guides below for supported features and migration steps.
|
|
60
59
|
|
|
61
60
|
## Documentation
|
|
62
61
|
|
|
63
|
-
- [
|
|
62
|
+
- [Migrating from OpenAI and ElevenLabs](docs/migration.md)
|
|
64
63
|
- [Compatibility and endpoint coverage](docs/compatibility.md)
|
|
65
|
-
- [Protocol audit: defaults, message sequences, errors, and triage](docs/audit/report.md)
|
|
66
64
|
- [Platform management](docs/platform.md)
|
|
67
65
|
- [Runnable examples](examples)
|
|
68
66
|
- [Contributing](CONTRIBUTING.md)
|
|
@@ -111,6 +109,8 @@ with OpenAI() as client:
|
|
|
111
109
|
if event.type == "response.output_text.delta":
|
|
112
110
|
print(event.delta, end="", flush=True)
|
|
113
111
|
elif event.type == "response.done":
|
|
112
|
+
if event.response.status != "completed":
|
|
113
|
+
raise RuntimeError(f"Response ended with status: {event.response.status}")
|
|
114
114
|
break
|
|
115
115
|
elif event.type == "error":
|
|
116
116
|
raise RuntimeError(event.error.message)
|
|
@@ -129,14 +129,14 @@ with OpenAI() as client:
|
|
|
129
129
|
print(model.id, model.to_dict().get("protocols", []))
|
|
130
130
|
```
|
|
131
131
|
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
132
|
+
Model availability depends on your workspace, environment, and tier. Replace
|
|
133
|
+
the example IDs with models returned for your key and the protocol you need:
|
|
134
|
+
`openai_realtime`, `elevenlabs_tts`, or `elevenlabs_asr`.
|
|
135
135
|
|
|
136
136
|
## Async usage
|
|
137
137
|
|
|
138
|
-
Use `AsyncOpenAI`, await operations, and iterate with `async for`.
|
|
139
|
-
parameters and
|
|
138
|
+
Use `AsyncOpenAI`, await operations, and iterate with `async for`. The sync and
|
|
139
|
+
async clients accept the same request parameters and return the same event types.
|
|
140
140
|
|
|
141
141
|
```python
|
|
142
142
|
import asyncio
|
|
@@ -161,6 +161,8 @@ async def main():
|
|
|
161
161
|
if event.type == "response.output_text.delta":
|
|
162
162
|
print(event.delta, end="", flush=True)
|
|
163
163
|
elif event.type == "response.done":
|
|
164
|
+
if event.response.status != "completed":
|
|
165
|
+
raise RuntimeError(f"Response ended with status: {event.response.status}")
|
|
164
166
|
break
|
|
165
167
|
elif event.type == "error":
|
|
166
168
|
raise RuntimeError(event.error.message)
|
|
@@ -174,11 +176,11 @@ asyncio.run(main())
|
|
|
174
176
|
## Streaming speech
|
|
175
177
|
|
|
176
178
|
`ElevenLabs()` defaults to the same Avartha platform root and serverless tier.
|
|
177
|
-
|
|
179
|
+
It provides ElevenLabs-compatible realtime speech and discovery APIs.
|
|
178
180
|
|
|
179
181
|
### Text to speech
|
|
180
182
|
|
|
181
|
-
Discover voices for the selected TTS model using
|
|
183
|
+
Discover voices for the selected TTS model using `request_options`:
|
|
182
184
|
|
|
183
185
|
```python
|
|
184
186
|
from avartha import ElevenLabs
|
|
@@ -216,11 +218,19 @@ with ElevenLabs() as client:
|
|
|
216
218
|
output.writeframes(chunk)
|
|
217
219
|
```
|
|
218
220
|
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
221
|
+
The default output format is `pcm_24000`. Use `AsyncElevenLabs` and `async for`
|
|
222
|
+
for async TTS; the async client's `text` accepts either a regular iterable or
|
|
223
|
+
an async iterable. Run the
|
|
222
224
|
[TTS example](examples/tts.py) with `--async` to use that client.
|
|
223
225
|
|
|
226
|
+
Text fragments are forwarded as supplied, without waiting for word or sentence
|
|
227
|
+
boundaries or adding spaces. Include any intended whitespace in your text.
|
|
228
|
+
The Avartha Platform handles buffering and segmentation. Available audio continues
|
|
229
|
+
to arrive while the text producer is paused; when synthesis starts depends on the model.
|
|
230
|
+
|
|
231
|
+
The SDK's single-context and multi-context TTS helpers always use
|
|
232
|
+
`auto_mode=true`. `auto_mode=False` and `default_mode` are not supported.
|
|
233
|
+
|
|
224
234
|
For multiple utterances on one connection, use `connect_multi_context` on
|
|
225
235
|
either client. A background consumer can iterate over the session before contexts
|
|
226
236
|
are created and between turns; messages are keyed by `message.context_id`.
|
|
@@ -229,8 +239,8 @@ Session iteration waits until the connection closes via `close_socket()` or when
|
|
|
229
239
|
its `with` or `async with` block exits. See the [multi-context example](examples/tts_multi_context.py)
|
|
230
240
|
and [TTS lifecycle details](docs/compatibility.md#realtime-tts).
|
|
231
241
|
|
|
232
|
-
HTTP `text_to_speech.stream` and `.convert`
|
|
233
|
-
|
|
242
|
+
HTTP `text_to_speech.stream` and `.convert` are not provided by this SDK;
|
|
243
|
+
managed inference uses the realtime methods above.
|
|
234
244
|
|
|
235
245
|
### Speech to text
|
|
236
246
|
|
|
@@ -244,22 +254,23 @@ python examples/realtime_asr.py mistralai/voxtral-mini-4b-realtime-2602 speech-1
|
|
|
244
254
|
```
|
|
245
255
|
|
|
246
256
|
`previous_text` is optional text context for transcription. When omitted from
|
|
247
|
-
`connection.send` data,
|
|
248
|
-
|
|
249
|
-
with no empty-string workaround needed.
|
|
257
|
+
`connection.send` data, Avartha sends `null`, meaning no context. You can omit
|
|
258
|
+
this field when streaming audio without prior text.
|
|
250
259
|
|
|
251
260
|
File-based HTTP `speech_to_text.convert` is retired on managed inference.
|
|
252
261
|
|
|
253
262
|
## Agents
|
|
254
263
|
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
264
|
+
Agent management, tools, knowledge bases, and conversation sessions/history are
|
|
265
|
+
currently unavailable. Accessing `client.conversational_ai` raises
|
|
266
|
+
`NotImplementedError`.
|
|
267
|
+
|
|
268
|
+
ElevenLabs-compatible `conversational_ai` support is planned for an upcoming
|
|
269
|
+
release, including agent creation, tools, knowledge-base documents, and
|
|
270
|
+
conversations.
|
|
260
271
|
|
|
261
|
-
|
|
262
|
-
|
|
272
|
+
The following example previews the planned API. It requires that future SDK
|
|
273
|
+
release and a service implementing the corresponding agent endpoints:
|
|
263
274
|
|
|
264
275
|
```python
|
|
265
276
|
from avartha import ElevenLabs
|
|
@@ -278,46 +289,56 @@ with ElevenLabs(base_url="https://your-compatible-agent-service") as client:
|
|
|
278
289
|
print(agent.agent_id)
|
|
279
290
|
```
|
|
280
291
|
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
**sync** ElevenLabs client, matching upstream. Agent session execution has local
|
|
284
|
-
contract coverage; it was not exercised against a published preview agent.
|
|
285
|
-
|
|
286
|
-
- [Agent, tool, and knowledge-base example](examples/agents.py)
|
|
287
|
-
- [Conversation with client tools](examples/conversation.py)
|
|
292
|
+
The planned `avartha.conversational_ai` namespace will also include
|
|
293
|
+
`Conversation`, `AsyncConversation`, and `ClientTools`.
|
|
288
294
|
|
|
289
295
|
## Using types
|
|
290
296
|
|
|
291
|
-
|
|
292
|
-
|
|
297
|
+
Import types and exceptions from Avartha. The SDK provides its own classes for
|
|
298
|
+
the supported APIs, preserving upstream fields and serialization methods.
|
|
299
|
+
Neither `openai` nor `elevenlabs` needs to be installed:
|
|
293
300
|
|
|
294
301
|
```python
|
|
295
302
|
from avartha import OpenAI
|
|
296
|
-
from
|
|
303
|
+
from avartha.types import Model
|
|
297
304
|
|
|
298
305
|
with OpenAI() as client:
|
|
299
306
|
models: list[Model] = client.models.list().data
|
|
300
307
|
print([model.to_dict() for model in models])
|
|
301
308
|
```
|
|
302
309
|
|
|
303
|
-
Use `
|
|
304
|
-
`avartha.types`
|
|
305
|
-
|
|
310
|
+
Use `avartha.types.realtime` for OpenAI-compatible Realtime events and
|
|
311
|
+
`avartha.types.speech` for ElevenLabs-compatible speech types. These namespaces
|
|
312
|
+
cover the APIs supported by Avartha. Platform management responses are JSON
|
|
313
|
+
dictionaries and lists.
|
|
314
|
+
|
|
315
|
+
ElevenLabs-compatible transcription options are also available from the root:
|
|
316
|
+
|
|
317
|
+
```python
|
|
318
|
+
from avartha import AudioFormat, CommitStrategy, RealtimeAudioOptions
|
|
319
|
+
|
|
320
|
+
options = RealtimeAudioOptions(
|
|
321
|
+
model_id="your-avartha-asr-model",
|
|
322
|
+
audio_format=AudioFormat.PCM_16000,
|
|
323
|
+
sample_rate=16000,
|
|
324
|
+
commit_strategy=CommitStrategy.VAD,
|
|
325
|
+
)
|
|
326
|
+
```
|
|
306
327
|
|
|
307
328
|
## Handling errors
|
|
308
329
|
|
|
309
|
-
|
|
330
|
+
Import exception classes from Avartha too; upstream exception classes will not
|
|
331
|
+
catch Avartha's exceptions. For HTTP discovery:
|
|
310
332
|
|
|
311
333
|
```python
|
|
312
|
-
import
|
|
313
|
-
from avartha import OpenAI
|
|
334
|
+
from avartha import APIConnectionError, APIStatusError, OpenAI
|
|
314
335
|
|
|
315
336
|
with OpenAI() as client:
|
|
316
337
|
try:
|
|
317
338
|
client.models.list()
|
|
318
|
-
except
|
|
339
|
+
except APIConnectionError as error:
|
|
319
340
|
print("Connection failed:", error)
|
|
320
|
-
except
|
|
341
|
+
except APIStatusError as error:
|
|
321
342
|
print("Request failed:", error.status_code, error.request_id)
|
|
322
343
|
```
|
|
323
344
|
|
|
@@ -326,17 +347,21 @@ receive loop. Inspect `response.done.response.status` for completion, failure,
|
|
|
326
347
|
or cancellation; a terminal event alone does not prove successful inference.
|
|
327
348
|
Connection failures can raise WebSocket exceptions.
|
|
328
349
|
|
|
329
|
-
ElevenLabs HTTP/TTS helper errors
|
|
330
|
-
|
|
331
|
-
|
|
350
|
+
ElevenLabs-compatible HTTP/TTS helper errors, including speech HTTP network
|
|
351
|
+
failures and timeouts, use `avartha.ApiError`.
|
|
352
|
+
ASR also emits `RealtimeEvents.ERROR`.
|
|
332
353
|
|
|
333
354
|
Management failures use `avartha.PlatformAPIError`, retaining the HTTP status,
|
|
334
355
|
response body, field errors, request ID, and `Retry-After` header. Management
|
|
335
|
-
network failures
|
|
356
|
+
network failures and timeouts use `avartha.ApiError`.
|
|
357
|
+
|
|
358
|
+
For speech and management HTTP request failures without a server response,
|
|
359
|
+
`ApiError.status_code` and `ApiError.headers` are `None`, and `ApiError.body`
|
|
360
|
+
describes the failure. The original exception is available as `error.__cause__`.
|
|
336
361
|
|
|
337
362
|
## Retries and timeouts
|
|
338
363
|
|
|
339
|
-
|
|
364
|
+
Set timeouts and retries for OpenAI-compatible HTTP discovery on the client:
|
|
340
365
|
|
|
341
366
|
```python
|
|
342
367
|
from avartha import OpenAI
|
|
@@ -345,20 +370,20 @@ with OpenAI(timeout=30.0, max_retries=0) as client:
|
|
|
345
370
|
print(client.models.list())
|
|
346
371
|
```
|
|
347
372
|
|
|
348
|
-
HTTP and WebSocket retry settings are separate. The
|
|
373
|
+
HTTP and WebSocket retry settings are separate. The OpenAI-compatible clients accept
|
|
349
374
|
`client.realtime.connect(..., max_retries=0)` to disable automatic reconnection,
|
|
350
375
|
and `websocket_connection_options` for transport settings. Use `asyncio.timeout`
|
|
351
376
|
when an async operation needs an overall deadline. Close active sessions when
|
|
352
|
-
cancelling. ElevenLabs `timeout`
|
|
353
|
-
|
|
354
|
-
|
|
377
|
+
cancelling. ElevenLabs `timeout` configures HTTP calls; it does not set a
|
|
378
|
+
WebSocket receive deadline. Platform management writes are never retried
|
|
379
|
+
automatically. See [timeouts and cleanup](docs/migration.md#timeouts-retries-and-closing-clients).
|
|
355
380
|
|
|
356
381
|
## Configuration
|
|
357
382
|
|
|
358
383
|
| Client | Meaning of explicit `base_url` |
|
|
359
384
|
| --- | --- |
|
|
360
385
|
| `OpenAI`, `AsyncOpenAI` | Full inference base: `https://platform.preview.avartha.ai/inference/serverless/openai/v1` |
|
|
361
|
-
| `ElevenLabs`, `AsyncElevenLabs` |
|
|
386
|
+
| `ElevenLabs`, `AsyncElevenLabs` | Speech service root before `/v1`: `https://platform.preview.avartha.ai/inference/serverless/elevenlabs` |
|
|
362
387
|
| `Avartha`, `AsyncAvartha`, `Control`, `AsyncControl` | Platform root: `https://platform.preview.avartha.ai` |
|
|
363
388
|
|
|
364
389
|
Without an explicit URL, protocol clients derive their URL from
|
|
@@ -369,13 +394,12 @@ precedence over `tier`. `AVARTHA_ELEVENLABS_BASE_URL` overrides the derived spee
|
|
|
369
394
|
root, and an explicit ElevenLabs `base_url` overrides that environment variable.
|
|
370
395
|
|
|
371
396
|
Keys are read at construction from `AVARTHA_API_KEY` or `api_key`.
|
|
372
|
-
Vendor default keys and base URL variables are not substituted.
|
|
373
|
-
upstream transports and type imports where needed; OpenAI 3 uses HTTPX2.
|
|
397
|
+
Vendor default keys and base URL variables are not substituted.
|
|
374
398
|
[Migration configuration](docs/migration.md#configuration).
|
|
375
399
|
|
|
376
|
-
Always close clients or use context managers. OpenAI
|
|
377
|
-
|
|
378
|
-
created. Close active WebSocket sessions separately.
|
|
400
|
+
Always close clients or use context managers. OpenAI manages and closes its HTTP
|
|
401
|
+
client; custom `http_client` arguments are unsupported. ElevenLabs and Control
|
|
402
|
+
close only HTTP clients they created. Close active WebSocket sessions separately.
|
|
379
403
|
|
|
380
404
|
## Platform management
|
|
381
405
|
|
|
@@ -393,34 +417,25 @@ with Avartha() as client:
|
|
|
393
417
|
```
|
|
394
418
|
|
|
395
419
|
`client.openai` and `client.elevenlabs` are the protocol clients;
|
|
396
|
-
`client.realtime`
|
|
397
|
-
|
|
420
|
+
`client.realtime` and `client.models` are shortcuts to the corresponding OpenAI
|
|
421
|
+
resources, including model listing and retrieval. `AsyncAvartha`, `Control`,
|
|
422
|
+
and `AsyncControl` are available too. Workspace administration includes
|
|
423
|
+
organization creation, renaming, deletion, leaving, member roles, and invitation
|
|
424
|
+
creation, revocation, and acceptance. For example,
|
|
425
|
+
`client.control.organizations.members.list("your-workspace-id")` lists members.
|
|
426
|
+
See [workspace administration](docs/platform.md#workspace-administration) for
|
|
427
|
+
sync/async usage and server permissions.
|
|
428
|
+
|
|
429
|
+
Endpoint creation, readiness waiting,
|
|
398
430
|
scaling, routing, stopping, and deletion are described in the
|
|
399
431
|
[management guide](docs/platform.md).
|
|
400
432
|
|
|
401
|
-
## Examples
|
|
402
|
-
|
|
403
|
-
For local microphone/speaker support, install PortAudio and the `audio` extra:
|
|
404
|
-
|
|
405
|
-
```sh
|
|
406
|
-
python -m pip install 'avartha-python-sdk[audio]'
|
|
407
|
-
```
|
|
408
|
-
|
|
409
|
-
For development, clone the repository and run:
|
|
410
|
-
|
|
411
|
-
```sh
|
|
412
|
-
git clone https://github.com/avartha/avartha-python-sdk.git
|
|
413
|
-
cd avartha-python-sdk
|
|
414
|
-
python -m venv .venv
|
|
415
|
-
. .venv/bin/activate
|
|
416
|
-
make install-dev
|
|
417
|
-
make check
|
|
418
|
-
```
|
|
433
|
+
## Examples
|
|
419
434
|
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
435
|
+
Runnable examples cover [Realtime text](examples/realtime.py),
|
|
436
|
+
[TTS](examples/tts.py), [multi-context TTS](examples/tts_multi_context.py),
|
|
437
|
+
[ASR](examples/realtime_asr.py), and [endpoint management](examples/endpoints.py).
|
|
438
|
+
Microphone capture and speaker playback are handled by your application.
|
|
424
439
|
|
|
425
|
-
|
|
426
|
-
[
|
|
440
|
+
Running inference examples consumes credits. For SDK development and checks,
|
|
441
|
+
see [Contributing](CONTRIBUTING.md).
|