sarvamai 0.1.19a4__py3-none-any.whl → 0.1.20__py3-none-any.whl
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.
- sarvamai/__init__.py +20 -0
- sarvamai/core/client_wrapper.py +2 -2
- sarvamai/requests/__init__.py +4 -0
- sarvamai/requests/audio_data.py +13 -1
- sarvamai/requests/audio_output_data.py +5 -0
- sarvamai/requests/error_response_data.py +5 -0
- sarvamai/requests/event_response.py +19 -0
- sarvamai/requests/event_response_data.py +23 -0
- sarvamai/speech_to_text_streaming/__init__.py +2 -0
- sarvamai/speech_to_text_streaming/client.py +25 -0
- sarvamai/speech_to_text_streaming/raw_client.py +25 -0
- sarvamai/speech_to_text_streaming/socket_client.py +4 -10
- sarvamai/speech_to_text_streaming/types/__init__.py +2 -0
- sarvamai/speech_to_text_streaming/types/speech_to_text_streaming_input_audio_codec.py +33 -0
- sarvamai/speech_to_text_translate_streaming/__init__.py +2 -0
- sarvamai/speech_to_text_translate_streaming/client.py +25 -0
- sarvamai/speech_to_text_translate_streaming/raw_client.py +25 -0
- sarvamai/speech_to_text_translate_streaming/socket_client.py +4 -10
- sarvamai/speech_to_text_translate_streaming/types/__init__.py +2 -0
- sarvamai/speech_to_text_translate_streaming/types/speech_to_text_translate_streaming_input_audio_codec.py +33 -0
- sarvamai/text_to_speech_streaming/__init__.py +3 -0
- sarvamai/text_to_speech_streaming/client.py +13 -0
- sarvamai/text_to_speech_streaming/raw_client.py +13 -0
- sarvamai/text_to_speech_streaming/socket_client.py +2 -1
- sarvamai/text_to_speech_streaming/types/__init__.py +7 -0
- sarvamai/text_to_speech_streaming/types/text_to_speech_streaming_send_completion_event.py +5 -0
- sarvamai/types/__init__.py +10 -0
- sarvamai/types/audio_data.py +13 -1
- sarvamai/types/audio_data_input_audio_codec.py +33 -0
- sarvamai/types/audio_output_data.py +5 -0
- sarvamai/types/completion_event_flag.py +5 -0
- sarvamai/types/connection_sample_rate.py +3 -0
- sarvamai/types/error_response_data.py +5 -0
- sarvamai/types/event_response.py +29 -0
- sarvamai/types/event_response_data.py +33 -0
- {sarvamai-0.1.19a4.dist-info → sarvamai-0.1.20.dist-info}/METADATA +1 -1
- {sarvamai-0.1.19a4.dist-info → sarvamai-0.1.20.dist-info}/RECORD +38 -27
- {sarvamai-0.1.19a4.dist-info → sarvamai-0.1.20.dist-info}/WHEEL +0 -0
|
@@ -79,16 +79,13 @@ class AsyncSpeechToTextTranslateStreamingSocketClient(EventEmitterMixin):
|
|
|
79
79
|
message = ConfigMessage(prompt=prompt)
|
|
80
80
|
await self._send_config_message(message)
|
|
81
81
|
|
|
82
|
-
async def flush(self
|
|
82
|
+
async def flush(self) -> None:
|
|
83
83
|
"""
|
|
84
84
|
Signal to flush the audio buffer and force finalize partial
|
|
85
85
|
transcriptions and translations. Use this to force processing of any
|
|
86
86
|
remaining audio that hasn't been transcribed and translated yet.
|
|
87
|
-
|
|
88
|
-
:param reason: Optional reason for flushing (e.g., "end_of_segment",
|
|
89
|
-
"manual_flush")
|
|
90
87
|
"""
|
|
91
|
-
message = SttFlushSignal(
|
|
88
|
+
message = SttFlushSignal()
|
|
92
89
|
await self._send_model(message)
|
|
93
90
|
|
|
94
91
|
async def recv(self) -> SpeechToTextTranslateStreamingSocketClientResponse:
|
|
@@ -191,16 +188,13 @@ class SpeechToTextTranslateStreamingSocketClient(EventEmitterMixin):
|
|
|
191
188
|
message = ConfigMessage(prompt=prompt)
|
|
192
189
|
self._send_config_message(message)
|
|
193
190
|
|
|
194
|
-
def flush(self
|
|
191
|
+
def flush(self) -> None:
|
|
195
192
|
"""
|
|
196
193
|
Signal to flush the audio buffer and force finalize partial transcriptions and translations.
|
|
197
194
|
Use this to force processing of any remaining audio that hasn't been
|
|
198
195
|
transcribed and translated yet.
|
|
199
|
-
|
|
200
|
-
:param reason: Optional reason for flushing (e.g., "end_of_segment",
|
|
201
|
-
"manual_flush")
|
|
202
196
|
"""
|
|
203
|
-
message = SttFlushSignal(
|
|
197
|
+
message = SttFlushSignal()
|
|
204
198
|
self._send_model(message)
|
|
205
199
|
|
|
206
200
|
def recv(self) -> SpeechToTextTranslateStreamingSocketClientResponse:
|
|
@@ -4,12 +4,14 @@
|
|
|
4
4
|
|
|
5
5
|
from .speech_to_text_translate_streaming_flush_signal import SpeechToTextTranslateStreamingFlushSignal
|
|
6
6
|
from .speech_to_text_translate_streaming_high_vad_sensitivity import SpeechToTextTranslateStreamingHighVadSensitivity
|
|
7
|
+
from .speech_to_text_translate_streaming_input_audio_codec import SpeechToTextTranslateStreamingInputAudioCodec
|
|
7
8
|
from .speech_to_text_translate_streaming_model import SpeechToTextTranslateStreamingModel
|
|
8
9
|
from .speech_to_text_translate_streaming_vad_signals import SpeechToTextTranslateStreamingVadSignals
|
|
9
10
|
|
|
10
11
|
__all__ = [
|
|
11
12
|
"SpeechToTextTranslateStreamingFlushSignal",
|
|
12
13
|
"SpeechToTextTranslateStreamingHighVadSensitivity",
|
|
14
|
+
"SpeechToTextTranslateStreamingInputAudioCodec",
|
|
13
15
|
"SpeechToTextTranslateStreamingModel",
|
|
14
16
|
"SpeechToTextTranslateStreamingVadSignals",
|
|
15
17
|
]
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
import typing
|
|
4
|
+
|
|
5
|
+
SpeechToTextTranslateStreamingInputAudioCodec = typing.Union[
|
|
6
|
+
typing.Literal[
|
|
7
|
+
"wav",
|
|
8
|
+
"x-wav",
|
|
9
|
+
"wave",
|
|
10
|
+
"mp3",
|
|
11
|
+
"mpeg",
|
|
12
|
+
"mpeg3",
|
|
13
|
+
"x-mp3",
|
|
14
|
+
"x-mpeg-3",
|
|
15
|
+
"aac",
|
|
16
|
+
"x-aac",
|
|
17
|
+
"aiff",
|
|
18
|
+
"x-aiff",
|
|
19
|
+
"ogg",
|
|
20
|
+
"opus",
|
|
21
|
+
"flac",
|
|
22
|
+
"x-flac",
|
|
23
|
+
"mp4",
|
|
24
|
+
"x-m4a",
|
|
25
|
+
"amr",
|
|
26
|
+
"x-ms-wma",
|
|
27
|
+
"webm",
|
|
28
|
+
"pcm_s16le",
|
|
29
|
+
"pcm_l16",
|
|
30
|
+
"pcm_raw",
|
|
31
|
+
],
|
|
32
|
+
typing.Any,
|
|
33
|
+
]
|
|
@@ -11,6 +11,7 @@ from ..core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
|
|
|
11
11
|
from ..core.request_options import RequestOptions
|
|
12
12
|
from .raw_client import AsyncRawTextToSpeechStreamingClient, RawTextToSpeechStreamingClient
|
|
13
13
|
from .socket_client import AsyncTextToSpeechStreamingSocketClient, TextToSpeechStreamingSocketClient
|
|
14
|
+
from .types.text_to_speech_streaming_send_completion_event import TextToSpeechStreamingSendCompletionEvent
|
|
14
15
|
|
|
15
16
|
try:
|
|
16
17
|
from websockets.legacy.client import connect as websockets_client_connect # type: ignore
|
|
@@ -38,6 +39,7 @@ class TextToSpeechStreamingClient:
|
|
|
38
39
|
self,
|
|
39
40
|
*,
|
|
40
41
|
model: typing.Optional[typing.Literal["bulbul:v2"]] = None,
|
|
42
|
+
send_completion_event: typing.Optional[TextToSpeechStreamingSendCompletionEvent] = None,
|
|
41
43
|
api_subscription_key: typing.Optional[str] = None,
|
|
42
44
|
request_options: typing.Optional[RequestOptions] = None,
|
|
43
45
|
) -> typing.Iterator[TextToSpeechStreamingSocketClient]:
|
|
@@ -50,6 +52,9 @@ class TextToSpeechStreamingClient:
|
|
|
50
52
|
model : typing.Optional[typing.Literal["bulbul:v2"]]
|
|
51
53
|
Text to speech model to use
|
|
52
54
|
|
|
55
|
+
send_completion_event : typing.Optional[TextToSpeechStreamingSendCompletionEvent]
|
|
56
|
+
Enable completion event notifications when TTS generation finishes. When set to true, an event message will be sent when the final audio chunk has been generated.
|
|
57
|
+
|
|
53
58
|
api_subscription_key : typing.Optional[str]
|
|
54
59
|
API subscription key for authentication
|
|
55
60
|
|
|
@@ -64,6 +69,8 @@ class TextToSpeechStreamingClient:
|
|
|
64
69
|
query_params = httpx.QueryParams()
|
|
65
70
|
if model is not None:
|
|
66
71
|
query_params = query_params.add("model", model)
|
|
72
|
+
if send_completion_event is not None:
|
|
73
|
+
query_params = query_params.add("send_completion_event", send_completion_event)
|
|
67
74
|
ws_url = ws_url + f"?{query_params}"
|
|
68
75
|
headers = self._raw_client._client_wrapper.get_headers()
|
|
69
76
|
if api_subscription_key is not None:
|
|
@@ -108,6 +115,7 @@ class AsyncTextToSpeechStreamingClient:
|
|
|
108
115
|
self,
|
|
109
116
|
*,
|
|
110
117
|
model: typing.Optional[typing.Literal["bulbul:v2"]] = None,
|
|
118
|
+
send_completion_event: typing.Optional[TextToSpeechStreamingSendCompletionEvent] = None,
|
|
111
119
|
api_subscription_key: typing.Optional[str] = None,
|
|
112
120
|
request_options: typing.Optional[RequestOptions] = None,
|
|
113
121
|
) -> typing.AsyncIterator[AsyncTextToSpeechStreamingSocketClient]:
|
|
@@ -120,6 +128,9 @@ class AsyncTextToSpeechStreamingClient:
|
|
|
120
128
|
model : typing.Optional[typing.Literal["bulbul:v2"]]
|
|
121
129
|
Text to speech model to use
|
|
122
130
|
|
|
131
|
+
send_completion_event : typing.Optional[TextToSpeechStreamingSendCompletionEvent]
|
|
132
|
+
Enable completion event notifications when TTS generation finishes. When set to true, an event message will be sent when the final audio chunk has been generated.
|
|
133
|
+
|
|
123
134
|
api_subscription_key : typing.Optional[str]
|
|
124
135
|
API subscription key for authentication
|
|
125
136
|
|
|
@@ -134,6 +145,8 @@ class AsyncTextToSpeechStreamingClient:
|
|
|
134
145
|
query_params = httpx.QueryParams()
|
|
135
146
|
if model is not None:
|
|
136
147
|
query_params = query_params.add("model", model)
|
|
148
|
+
if send_completion_event is not None:
|
|
149
|
+
query_params = query_params.add("send_completion_event", send_completion_event)
|
|
137
150
|
ws_url = ws_url + f"?{query_params}"
|
|
138
151
|
headers = self._raw_client._client_wrapper.get_headers()
|
|
139
152
|
if api_subscription_key is not None:
|
|
@@ -10,6 +10,7 @@ from ..core.api_error import ApiError
|
|
|
10
10
|
from ..core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
|
|
11
11
|
from ..core.request_options import RequestOptions
|
|
12
12
|
from .socket_client import AsyncTextToSpeechStreamingSocketClient, TextToSpeechStreamingSocketClient
|
|
13
|
+
from .types.text_to_speech_streaming_send_completion_event import TextToSpeechStreamingSendCompletionEvent
|
|
13
14
|
|
|
14
15
|
try:
|
|
15
16
|
from websockets.legacy.client import connect as websockets_client_connect # type: ignore
|
|
@@ -26,6 +27,7 @@ class RawTextToSpeechStreamingClient:
|
|
|
26
27
|
self,
|
|
27
28
|
*,
|
|
28
29
|
model: typing.Optional[typing.Literal["bulbul:v2"]] = None,
|
|
30
|
+
send_completion_event: typing.Optional[TextToSpeechStreamingSendCompletionEvent] = None,
|
|
29
31
|
api_subscription_key: typing.Optional[str] = None,
|
|
30
32
|
request_options: typing.Optional[RequestOptions] = None,
|
|
31
33
|
) -> typing.Iterator[TextToSpeechStreamingSocketClient]:
|
|
@@ -38,6 +40,9 @@ class RawTextToSpeechStreamingClient:
|
|
|
38
40
|
model : typing.Optional[typing.Literal["bulbul:v2"]]
|
|
39
41
|
Text to speech model to use
|
|
40
42
|
|
|
43
|
+
send_completion_event : typing.Optional[TextToSpeechStreamingSendCompletionEvent]
|
|
44
|
+
Enable completion event notifications when TTS generation finishes. When set to true, an event message will be sent when the final audio chunk has been generated.
|
|
45
|
+
|
|
41
46
|
api_subscription_key : typing.Optional[str]
|
|
42
47
|
API subscription key for authentication
|
|
43
48
|
|
|
@@ -52,6 +57,8 @@ class RawTextToSpeechStreamingClient:
|
|
|
52
57
|
query_params = httpx.QueryParams()
|
|
53
58
|
if model is not None:
|
|
54
59
|
query_params = query_params.add("model", model)
|
|
60
|
+
if send_completion_event is not None:
|
|
61
|
+
query_params = query_params.add("send_completion_event", send_completion_event)
|
|
55
62
|
ws_url = ws_url + f"?{query_params}"
|
|
56
63
|
headers = self._client_wrapper.get_headers()
|
|
57
64
|
if api_subscription_key is not None:
|
|
@@ -85,6 +92,7 @@ class AsyncRawTextToSpeechStreamingClient:
|
|
|
85
92
|
self,
|
|
86
93
|
*,
|
|
87
94
|
model: typing.Optional[typing.Literal["bulbul:v2"]] = None,
|
|
95
|
+
send_completion_event: typing.Optional[TextToSpeechStreamingSendCompletionEvent] = None,
|
|
88
96
|
api_subscription_key: typing.Optional[str] = None,
|
|
89
97
|
request_options: typing.Optional[RequestOptions] = None,
|
|
90
98
|
) -> typing.AsyncIterator[AsyncTextToSpeechStreamingSocketClient]:
|
|
@@ -97,6 +105,9 @@ class AsyncRawTextToSpeechStreamingClient:
|
|
|
97
105
|
model : typing.Optional[typing.Literal["bulbul:v2"]]
|
|
98
106
|
Text to speech model to use
|
|
99
107
|
|
|
108
|
+
send_completion_event : typing.Optional[TextToSpeechStreamingSendCompletionEvent]
|
|
109
|
+
Enable completion event notifications when TTS generation finishes. When set to true, an event message will be sent when the final audio chunk has been generated.
|
|
110
|
+
|
|
100
111
|
api_subscription_key : typing.Optional[str]
|
|
101
112
|
API subscription key for authentication
|
|
102
113
|
|
|
@@ -111,6 +122,8 @@ class AsyncRawTextToSpeechStreamingClient:
|
|
|
111
122
|
query_params = httpx.QueryParams()
|
|
112
123
|
if model is not None:
|
|
113
124
|
query_params = query_params.add("model", model)
|
|
125
|
+
if send_completion_event is not None:
|
|
126
|
+
query_params = query_params.add("send_completion_event", send_completion_event)
|
|
114
127
|
ws_url = ws_url + f"?{query_params}"
|
|
115
128
|
headers = self._client_wrapper.get_headers()
|
|
116
129
|
if api_subscription_key is not None:
|
|
@@ -10,13 +10,14 @@ from ..core.pydantic_utilities import parse_obj_as
|
|
|
10
10
|
from ..types.audio_output import AudioOutput
|
|
11
11
|
from ..types.flush_signal import FlushSignal
|
|
12
12
|
from ..types.error_response import ErrorResponse
|
|
13
|
+
from ..types.event_response import EventResponse
|
|
13
14
|
from ..types.configure_connection import ConfigureConnection
|
|
14
15
|
from ..types.configure_connection_data import ConfigureConnectionData
|
|
15
16
|
from ..types.ping_signal import PingSignal
|
|
16
17
|
from ..types.send_text import SendText
|
|
17
18
|
from ..types.send_text_data import SendTextData
|
|
18
19
|
|
|
19
|
-
TextToSpeechStreamingSocketClientResponse = typing.Union[AudioOutput, ErrorResponse]
|
|
20
|
+
TextToSpeechStreamingSocketClientResponse = typing.Union[AudioOutput, ErrorResponse, EventResponse]
|
|
20
21
|
|
|
21
22
|
|
|
22
23
|
class AsyncTextToSpeechStreamingSocketClient(EventEmitterMixin):
|
sarvamai/types/__init__.py
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
# isort: skip_file
|
|
4
4
|
|
|
5
5
|
from .audio_data import AudioData
|
|
6
|
+
from .audio_data_input_audio_codec import AudioDataInputAudioCodec
|
|
6
7
|
from .audio_message import AudioMessage
|
|
7
8
|
from .audio_output import AudioOutput
|
|
8
9
|
from .audio_output_data import AudioOutputData
|
|
@@ -20,6 +21,7 @@ from .chat_completion_request_system_message import ChatCompletionRequestSystemM
|
|
|
20
21
|
from .chat_completion_request_user_message import ChatCompletionRequestUserMessage
|
|
21
22
|
from .chat_completion_response_message import ChatCompletionResponseMessage
|
|
22
23
|
from .choice import Choice
|
|
24
|
+
from .completion_event_flag import CompletionEventFlag
|
|
23
25
|
from .completion_usage import CompletionUsage
|
|
24
26
|
from .config_message import ConfigMessage
|
|
25
27
|
from .configure_connection import ConfigureConnection
|
|
@@ -28,6 +30,7 @@ from .configure_connection_data_output_audio_bitrate import ConfigureConnectionD
|
|
|
28
30
|
from .configure_connection_data_output_audio_codec import ConfigureConnectionDataOutputAudioCodec
|
|
29
31
|
from .configure_connection_data_speaker import ConfigureConnectionDataSpeaker
|
|
30
32
|
from .configure_connection_data_target_language_code import ConfigureConnectionDataTargetLanguageCode
|
|
33
|
+
from .connection_sample_rate import ConnectionSampleRate
|
|
31
34
|
from .create_chat_completion_response import CreateChatCompletionResponse
|
|
32
35
|
from .diarized_entry import DiarizedEntry
|
|
33
36
|
from .diarized_transcript import DiarizedTranscript
|
|
@@ -37,6 +40,8 @@ from .error_details import ErrorDetails
|
|
|
37
40
|
from .error_message import ErrorMessage
|
|
38
41
|
from .error_response import ErrorResponse
|
|
39
42
|
from .error_response_data import ErrorResponseData
|
|
43
|
+
from .event_response import EventResponse
|
|
44
|
+
from .event_response_data import EventResponseData
|
|
40
45
|
from .events_data import EventsData
|
|
41
46
|
from .events_data_signal_type import EventsDataSignalType
|
|
42
47
|
from .file_signed_url_details import FileSignedUrlDetails
|
|
@@ -99,6 +104,7 @@ from .transliteration_response import TransliterationResponse
|
|
|
99
104
|
|
|
100
105
|
__all__ = [
|
|
101
106
|
"AudioData",
|
|
107
|
+
"AudioDataInputAudioCodec",
|
|
102
108
|
"AudioMessage",
|
|
103
109
|
"AudioOutput",
|
|
104
110
|
"AudioOutputData",
|
|
@@ -114,6 +120,7 @@ __all__ = [
|
|
|
114
120
|
"ChatCompletionRequestUserMessage",
|
|
115
121
|
"ChatCompletionResponseMessage",
|
|
116
122
|
"Choice",
|
|
123
|
+
"CompletionEventFlag",
|
|
117
124
|
"CompletionUsage",
|
|
118
125
|
"ConfigMessage",
|
|
119
126
|
"ConfigureConnection",
|
|
@@ -122,6 +129,7 @@ __all__ = [
|
|
|
122
129
|
"ConfigureConnectionDataOutputAudioCodec",
|
|
123
130
|
"ConfigureConnectionDataSpeaker",
|
|
124
131
|
"ConfigureConnectionDataTargetLanguageCode",
|
|
132
|
+
"ConnectionSampleRate",
|
|
125
133
|
"CreateChatCompletionResponse",
|
|
126
134
|
"DiarizedEntry",
|
|
127
135
|
"DiarizedTranscript",
|
|
@@ -131,6 +139,8 @@ __all__ = [
|
|
|
131
139
|
"ErrorMessage",
|
|
132
140
|
"ErrorResponse",
|
|
133
141
|
"ErrorResponseData",
|
|
142
|
+
"EventResponse",
|
|
143
|
+
"EventResponseData",
|
|
134
144
|
"EventsData",
|
|
135
145
|
"EventsDataSignalType",
|
|
136
146
|
"FileSignedUrlDetails",
|
sarvamai/types/audio_data.py
CHANGED
|
@@ -4,6 +4,7 @@ import typing
|
|
|
4
4
|
|
|
5
5
|
import pydantic
|
|
6
6
|
from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
|
|
7
|
+
from .audio_data_input_audio_codec import AudioDataInputAudioCodec
|
|
7
8
|
|
|
8
9
|
|
|
9
10
|
class AudioData(UniversalBaseModel):
|
|
@@ -14,7 +15,13 @@ class AudioData(UniversalBaseModel):
|
|
|
14
15
|
|
|
15
16
|
sample_rate: int = pydantic.Field()
|
|
16
17
|
"""
|
|
17
|
-
Audio sample rate in Hz
|
|
18
|
+
Audio sample rate in Hz for individual audio messages.
|
|
19
|
+
|
|
20
|
+
**Backward Compatibility**: This property is maintained for legacy support.
|
|
21
|
+
**Recommended**: Use the connection-level sample_rate parameter instead.
|
|
22
|
+
**Note**: 8kHz is only supported via connection parameter, not in AudioData messages.
|
|
23
|
+
|
|
24
|
+
Supported values: 16kHz (preferred), 22.05kHz, 24kHz
|
|
18
25
|
"""
|
|
19
26
|
|
|
20
27
|
encoding: typing.Literal["audio/wav"] = pydantic.Field(default="audio/wav")
|
|
@@ -22,6 +29,11 @@ class AudioData(UniversalBaseModel):
|
|
|
22
29
|
Audio encoding format
|
|
23
30
|
"""
|
|
24
31
|
|
|
32
|
+
input_audio_codec: typing.Optional[AudioDataInputAudioCodec] = pydantic.Field(default=None)
|
|
33
|
+
"""
|
|
34
|
+
Audio codec/format of the input file. Our API automatically detects all codec formats, but for PCM files specifically (pcm_s16le, pcm_l16, pcm_raw), you must pass this parameter. PCM files supports sample rate 16000 and 8000.
|
|
35
|
+
"""
|
|
36
|
+
|
|
25
37
|
if IS_PYDANTIC_V2:
|
|
26
38
|
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
27
39
|
else:
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
import typing
|
|
4
|
+
|
|
5
|
+
AudioDataInputAudioCodec = typing.Union[
|
|
6
|
+
typing.Literal[
|
|
7
|
+
"wav",
|
|
8
|
+
"x-wav",
|
|
9
|
+
"wave",
|
|
10
|
+
"mp3",
|
|
11
|
+
"mpeg",
|
|
12
|
+
"mpeg3",
|
|
13
|
+
"x-mp3",
|
|
14
|
+
"x-mpeg-3",
|
|
15
|
+
"aac",
|
|
16
|
+
"x-aac",
|
|
17
|
+
"aiff",
|
|
18
|
+
"x-aiff",
|
|
19
|
+
"ogg",
|
|
20
|
+
"opus",
|
|
21
|
+
"flac",
|
|
22
|
+
"x-flac",
|
|
23
|
+
"mp4",
|
|
24
|
+
"x-m4a",
|
|
25
|
+
"amr",
|
|
26
|
+
"x-ms-wma",
|
|
27
|
+
"webm",
|
|
28
|
+
"pcm_s16le",
|
|
29
|
+
"pcm_l16",
|
|
30
|
+
"pcm_raw",
|
|
31
|
+
],
|
|
32
|
+
typing.Any,
|
|
33
|
+
]
|
|
@@ -17,6 +17,11 @@ class AudioOutputData(UniversalBaseModel):
|
|
|
17
17
|
Base64-encoded audio data ready for playback or download
|
|
18
18
|
"""
|
|
19
19
|
|
|
20
|
+
request_id: typing.Optional[str] = pydantic.Field(default=None)
|
|
21
|
+
"""
|
|
22
|
+
Unique identifier for the request
|
|
23
|
+
"""
|
|
24
|
+
|
|
20
25
|
if IS_PYDANTIC_V2:
|
|
21
26
|
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
22
27
|
else:
|
|
@@ -18,6 +18,11 @@ class ErrorResponseData(UniversalBaseModel):
|
|
|
18
18
|
Additional error details and context information
|
|
19
19
|
"""
|
|
20
20
|
|
|
21
|
+
request_id: typing.Optional[str] = pydantic.Field(default=None)
|
|
22
|
+
"""
|
|
23
|
+
Unique identifier for the request
|
|
24
|
+
"""
|
|
25
|
+
|
|
21
26
|
if IS_PYDANTIC_V2:
|
|
22
27
|
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
23
28
|
else:
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
import typing
|
|
4
|
+
|
|
5
|
+
import pydantic
|
|
6
|
+
from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
|
|
7
|
+
from .event_response_data import EventResponseData
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class EventResponse(UniversalBaseModel):
|
|
11
|
+
"""
|
|
12
|
+
Event notification message sent when specific events occur during TTS processing
|
|
13
|
+
"""
|
|
14
|
+
|
|
15
|
+
type: typing.Literal["event"] = pydantic.Field(default="event")
|
|
16
|
+
"""
|
|
17
|
+
Message type identifier for events
|
|
18
|
+
"""
|
|
19
|
+
|
|
20
|
+
data: EventResponseData
|
|
21
|
+
|
|
22
|
+
if IS_PYDANTIC_V2:
|
|
23
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
24
|
+
else:
|
|
25
|
+
|
|
26
|
+
class Config:
|
|
27
|
+
frozen = True
|
|
28
|
+
smart_union = True
|
|
29
|
+
extra = pydantic.Extra.allow
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
import datetime as dt
|
|
4
|
+
import typing
|
|
5
|
+
|
|
6
|
+
import pydantic
|
|
7
|
+
from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class EventResponseData(UniversalBaseModel):
|
|
11
|
+
event_type: typing.Literal["final"] = pydantic.Field(default="final")
|
|
12
|
+
"""
|
|
13
|
+
Type of event that occurred
|
|
14
|
+
"""
|
|
15
|
+
|
|
16
|
+
message: typing.Optional[str] = pydantic.Field(default=None)
|
|
17
|
+
"""
|
|
18
|
+
Human-readable description of the event
|
|
19
|
+
"""
|
|
20
|
+
|
|
21
|
+
timestamp: typing.Optional[dt.datetime] = pydantic.Field(default=None)
|
|
22
|
+
"""
|
|
23
|
+
ISO 8601 timestamp when the event occurred
|
|
24
|
+
"""
|
|
25
|
+
|
|
26
|
+
if IS_PYDANTIC_V2:
|
|
27
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
28
|
+
else:
|
|
29
|
+
|
|
30
|
+
class Config:
|
|
31
|
+
frozen = True
|
|
32
|
+
smart_union = True
|
|
33
|
+
extra = pydantic.Extra.allow
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
sarvamai/__init__.py,sha256
|
|
1
|
+
sarvamai/__init__.py,sha256=-HM4Xf9WWwFScK90X45K7GH1AHZL6w7UcIRVE7VULvo,11649
|
|
2
2
|
sarvamai/chat/__init__.py,sha256=_VhToAyIt_5axN6CLJwtxg3-CO7THa_23pbUzqhXJa4,85
|
|
3
3
|
sarvamai/chat/client.py,sha256=xOSj83Gr6Q7eY2qUeATiuXYQqBqWqSCQlIEopK5fKus,11022
|
|
4
4
|
sarvamai/chat/raw_client.py,sha256=A2kRuZcVWlJhyYCD7YKgqNkZEp3cYa1731KhRkhirU0,17885
|
|
5
5
|
sarvamai/client.py,sha256=J30X_os1lPf8Wml0KDFEf6p8VGHhgF_lf3nw1T2D3qo,8207
|
|
6
6
|
sarvamai/core/__init__.py,sha256=YE2CtXeASe1RAbaI39twKWYKCuT4tW5is9HWHhJjR_g,1653
|
|
7
7
|
sarvamai/core/api_error.py,sha256=44vPoTyWN59gonCIZMdzw7M1uspygiLnr3GNFOoVL2Q,614
|
|
8
|
-
sarvamai/core/client_wrapper.py,sha256=
|
|
8
|
+
sarvamai/core/client_wrapper.py,sha256=gMpWLx54KbUtkjk4mz2D23tab_DbaNxkRVoK4BW3W74,2566
|
|
9
9
|
sarvamai/core/datetime_utils.py,sha256=nBys2IsYrhPdszxGKCNRPSOCwa-5DWOHG95FB8G9PKo,1047
|
|
10
10
|
sarvamai/core/events.py,sha256=HvKBdSoYcFetk7cgNXb7FxuY-FtY8NtUhZIN7mGVx8U,1159
|
|
11
11
|
sarvamai/core/file.py,sha256=d4NNbX8XvXP32z8KpK2Xovv33nFfruIrpz0QWxlgpZk,2663
|
|
@@ -28,11 +28,11 @@ sarvamai/errors/too_many_requests_error.py,sha256=Dl-_pfpboXJh-OtSbRaPQOB-UXvpVO
|
|
|
28
28
|
sarvamai/errors/unprocessable_entity_error.py,sha256=JqxtzIhvjkpQDqbT9Q-go1n-gyv9PsYqq0ng_ZYyBMo,347
|
|
29
29
|
sarvamai/play.py,sha256=4fh86zy8g8IPU2O8yPBY7QxXQOivv_nWQvPQsOa1arw,2183
|
|
30
30
|
sarvamai/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
31
|
-
sarvamai/requests/__init__.py,sha256=
|
|
32
|
-
sarvamai/requests/audio_data.py,sha256=
|
|
31
|
+
sarvamai/requests/__init__.py,sha256=jL9z3hA1vtYkoCLOIlBUOmiE31WEyDtSC81jRhC6X8g,5865
|
|
32
|
+
sarvamai/requests/audio_data.py,sha256=weVNgM3zaHim3a17qvXD5ayyhaJ8MnzWJWATOjRuhvM,1116
|
|
33
33
|
sarvamai/requests/audio_message.py,sha256=ZBeogjGE6YFXXM-0g8zq9SoizDk21reR0YXSB-0fMjg,214
|
|
34
34
|
sarvamai/requests/audio_output.py,sha256=BnoX345rwoWgaMaj24u_19-SjmPV0xt7vlFEEDKRw20,280
|
|
35
|
-
sarvamai/requests/audio_output_data.py,sha256=
|
|
35
|
+
sarvamai/requests/audio_output_data.py,sha256=6-pmWDr9U99xDB2Khw8r3W0Mt4oRo1jPEvHWqeeOR6s,455
|
|
36
36
|
sarvamai/requests/base_job_parameters.py,sha256=5-DGqoCcIt5PM_-LO8hzuTqnuW5arxpEzimAmL9rLKM,161
|
|
37
37
|
sarvamai/requests/bulk_job_callback.py,sha256=6MvZSY0l2lch9skJzy8qBpuZ9KJoLv3ZL7SYP2rNlUI,345
|
|
38
38
|
sarvamai/requests/bulk_job_init_response_v_1.py,sha256=prWUzJ5x3pdOdInKqeVahKWYL5uvwf7gOlecgZU2qfE,524
|
|
@@ -53,7 +53,9 @@ sarvamai/requests/error_data.py,sha256=u87qHVagiqyyowBgMDAPPLlZzr0Z5GXlOU7VIUzfQ
|
|
|
53
53
|
sarvamai/requests/error_details.py,sha256=By7cYfitQynAM1D5_3yFc22zXQJEceNgkhoyGWmg4zw,529
|
|
54
54
|
sarvamai/requests/error_message.py,sha256=-J21pfEJghsms4pNe55O_9qkODNd-BKLMt96AOztYUs,257
|
|
55
55
|
sarvamai/requests/error_response.py,sha256=A8j12JQ7JJkUcnt26k2M9uwXXkwyT-LNqG3BO3U8NIk,288
|
|
56
|
-
sarvamai/requests/error_response_data.py,sha256=
|
|
56
|
+
sarvamai/requests/error_response_data.py,sha256=t-kD8EQAV8ZKB_S4r3BnNrWTJijsiK6mazX2m77KxkQ,567
|
|
57
|
+
sarvamai/requests/event_response.py,sha256=Mk5lXlcmFmn50-99TWqLoLMuDl9pVT9B9JcOGaAZVZM,446
|
|
58
|
+
sarvamai/requests/event_response_data.py,sha256=2IzBUllUSrbxU6-JS-CgdnImT6NT3Q7yh81tmn2g_7A,508
|
|
57
59
|
sarvamai/requests/events_data.py,sha256=DgwSqyeFzL36i1z72mxKGP1qGjs27GpO1h9fL-ziWqo,728
|
|
58
60
|
sarvamai/requests/file_signed_url_details.py,sha256=s1ah-U99qq1DZOJr1SHVyknnCZTDS7tkw_XWgdqyZVM,284
|
|
59
61
|
sarvamai/requests/files_download_response.py,sha256=lQg7yVJtiMvt4OR0WcDbaL9jCi77wY9iFJ0StFsTTZY,491
|
|
@@ -91,13 +93,14 @@ sarvamai/speech_to_text_job/__init__.py,sha256=_VhToAyIt_5axN6CLJwtxg3-CO7THa_23
|
|
|
91
93
|
sarvamai/speech_to_text_job/client.py,sha256=WSGBJxYcNxl77Zd1X6VVWjg4zshqecXf6WCyhfLXVlI,18007
|
|
92
94
|
sarvamai/speech_to_text_job/job.py,sha256=K8HOmwrYd6l82-MZfWDBmNkZeeERyg9YOihnFfvl-Js,15021
|
|
93
95
|
sarvamai/speech_to_text_job/raw_client.py,sha256=OZTPzMhAn-ckE_xKzfZ9QLsEX5EZVOJS0Pf-PBa19jM,48200
|
|
94
|
-
sarvamai/speech_to_text_streaming/__init__.py,sha256=
|
|
95
|
-
sarvamai/speech_to_text_streaming/client.py,sha256=
|
|
96
|
-
sarvamai/speech_to_text_streaming/raw_client.py,sha256=
|
|
97
|
-
sarvamai/speech_to_text_streaming/socket_client.py,sha256=
|
|
98
|
-
sarvamai/speech_to_text_streaming/types/__init__.py,sha256=
|
|
96
|
+
sarvamai/speech_to_text_streaming/__init__.py,sha256=l7yGZbLTVWVq63Y1mt_WuX2oyPiXDyc0E-BIonyPYP0,601
|
|
97
|
+
sarvamai/speech_to_text_streaming/client.py,sha256=PqQfzgALEE8p-rpudmsGWR_lMlKy5SsCelQFqUpyzA8,11237
|
|
98
|
+
sarvamai/speech_to_text_streaming/raw_client.py,sha256=Xzq4MSL7isxBa6JFqzd7U4knPNzauGiTVKNsXXaKsW4,10418
|
|
99
|
+
sarvamai/speech_to_text_streaming/socket_client.py,sha256=P6qXRN0s3UFAp6CP5lkqrW2KPK9me70ZVfWquxLB4wI,7538
|
|
100
|
+
sarvamai/speech_to_text_streaming/types/__init__.py,sha256=6DNWJo4YFCAEqTC3hqEGBJwnDTaj48o0v_3vlVfdOAI,860
|
|
99
101
|
sarvamai/speech_to_text_streaming/types/speech_to_text_streaming_flush_signal.py,sha256=dDJOBlzAjhuiSVqW2RHHY1f6xy0DU_Yoo9UV8-7MjnA,173
|
|
100
102
|
sarvamai/speech_to_text_streaming/types/speech_to_text_streaming_high_vad_sensitivity.py,sha256=OwPwffa8TkLPGMnOTn5S7d-HmV8QmN3B7fHz8I1-VT8,180
|
|
103
|
+
sarvamai/speech_to_text_streaming/types/speech_to_text_streaming_input_audio_codec.py,sha256=yfINVbnoiAvhDskwVkpnFv10Q9SzU104oRJR-n__ugc,584
|
|
101
104
|
sarvamai/speech_to_text_streaming/types/speech_to_text_streaming_language_code.py,sha256=LxgEifmgWTCFZn9U-f-TWKxRPng3a2J26Zt526QrA0Y,267
|
|
102
105
|
sarvamai/speech_to_text_streaming/types/speech_to_text_streaming_model.py,sha256=b6F4ymgz4got6KVDqrweYvkET8itze63wUwWyjqDlO4,180
|
|
103
106
|
sarvamai/speech_to_text_streaming/types/speech_to_text_streaming_vad_signals.py,sha256=8wiFOB7WDMbYCcMTYgNFJaIjEytYeXpJLwr_O_mH0TI,172
|
|
@@ -105,13 +108,14 @@ sarvamai/speech_to_text_translate_job/__init__.py,sha256=_VhToAyIt_5axN6CLJwtxg3
|
|
|
105
108
|
sarvamai/speech_to_text_translate_job/client.py,sha256=xu8kYtCESDB7LzL8YKBUq5qhTPMIl3_H3XD2L_7y4UU,18969
|
|
106
109
|
sarvamai/speech_to_text_translate_job/job.py,sha256=DU4k3eB28V8N16M_QEchakVng4IOul6_Qrdn3FumgHA,15208
|
|
107
110
|
sarvamai/speech_to_text_translate_job/raw_client.py,sha256=dAitbu2B9afPK6iT9zNjUJnE5BIr5-lrAlwrfwFxdkU,49507
|
|
108
|
-
sarvamai/speech_to_text_translate_streaming/__init__.py,sha256=
|
|
109
|
-
sarvamai/speech_to_text_translate_streaming/client.py,sha256=
|
|
110
|
-
sarvamai/speech_to_text_translate_streaming/raw_client.py,sha256=
|
|
111
|
-
sarvamai/speech_to_text_translate_streaming/socket_client.py,sha256=
|
|
112
|
-
sarvamai/speech_to_text_translate_streaming/types/__init__.py,sha256=
|
|
111
|
+
sarvamai/speech_to_text_translate_streaming/__init__.py,sha256=_DvueqU3i0P_nIaCgPyfO0-I2dPkNZpamKpyB4nXPhU,611
|
|
112
|
+
sarvamai/speech_to_text_translate_streaming/client.py,sha256=h7glgfA6bO5acuzz6yAZsdL0FyOj4Tq2HoSqG0FHZK0,11223
|
|
113
|
+
sarvamai/speech_to_text_translate_streaming/raw_client.py,sha256=ArNbRV21MRZEmO6VDknYQDTdqfhK7h1lF8S_ucj5eM8,10332
|
|
114
|
+
sarvamai/speech_to_text_translate_streaming/socket_client.py,sha256=ipEPSj5eHAyDpuEXfaP7JJL1rXJXGEo-IB888ReAFKs,8901
|
|
115
|
+
sarvamai/speech_to_text_translate_streaming/types/__init__.py,sha256=__-K5UkFN9kA_-6kw6ApPt616nPsu8L2GS5CiJILb28,873
|
|
113
116
|
sarvamai/speech_to_text_translate_streaming/types/speech_to_text_translate_streaming_flush_signal.py,sha256=jkjvCGJ1pFKi3AOTkwMW-lo18WGgrgAhMpoe5P0AMzA,182
|
|
114
117
|
sarvamai/speech_to_text_translate_streaming/types/speech_to_text_translate_streaming_high_vad_sensitivity.py,sha256=r6MvTlkM0VEpb4dpnMHtINOZ-gYc22o0Fx_Xce2rjvo,189
|
|
118
|
+
sarvamai/speech_to_text_translate_streaming/types/speech_to_text_translate_streaming_input_audio_codec.py,sha256=IwO6IF9BQU5MpGWs7m-w0dV8yp__7s4y3L4hHDErBWM,593
|
|
115
119
|
sarvamai/speech_to_text_translate_streaming/types/speech_to_text_translate_streaming_model.py,sha256=6B8VxkpJG_pNprCSctseDtJb_ULVdKrPaeENkQ6Jvjg,187
|
|
116
120
|
sarvamai/speech_to_text_translate_streaming/types/speech_to_text_translate_streaming_vad_signals.py,sha256=EV3xd9qyKMnMvA9rO-qFDDIac4b84roBu7n-maaPxG8,181
|
|
117
121
|
sarvamai/text/__init__.py,sha256=_VhToAyIt_5axN6CLJwtxg3-CO7THa_23pbUzqhXJa4,85
|
|
@@ -120,15 +124,18 @@ sarvamai/text/raw_client.py,sha256=7xYmJA50kTKy_gj8tkAPckKp2djHB37zOdm0_icbMb8,4
|
|
|
120
124
|
sarvamai/text_to_speech/__init__.py,sha256=_VhToAyIt_5axN6CLJwtxg3-CO7THa_23pbUzqhXJa4,85
|
|
121
125
|
sarvamai/text_to_speech/client.py,sha256=iwrQNfoMgCSOgvztTIXtLHQmSmn0RInwt5RSo9TwdtA,9617
|
|
122
126
|
sarvamai/text_to_speech/raw_client.py,sha256=si_aSjMR7SocIpKZFoVYqBmaIDuRm_6vxTM0dJ73PEo,15569
|
|
123
|
-
sarvamai/text_to_speech_streaming/__init__.py,sha256=
|
|
124
|
-
sarvamai/text_to_speech_streaming/client.py,sha256=
|
|
125
|
-
sarvamai/text_to_speech_streaming/raw_client.py,sha256=
|
|
126
|
-
sarvamai/text_to_speech_streaming/socket_client.py,sha256=
|
|
127
|
-
sarvamai/types/__init__.py,sha256=
|
|
128
|
-
sarvamai/types/
|
|
127
|
+
sarvamai/text_to_speech_streaming/__init__.py,sha256=TjBDNPwnsPQpuVZzh7Xi27A51pEEfVyaC8dpvafkmvQ,201
|
|
128
|
+
sarvamai/text_to_speech_streaming/client.py,sha256=3WsyEcRI6h5EUeGCNZzWG-t-VJA2a7ceoGkXKBBNq7s,7415
|
|
129
|
+
sarvamai/text_to_speech_streaming/raw_client.py,sha256=CHX4t6SiwEvRTflnKI61q0Z3GtjHzHb4Xz-yk2exxeU,6596
|
|
130
|
+
sarvamai/text_to_speech_streaming/socket_client.py,sha256=aun1nyc5ZYziXP0FmyvkCB0WKa_VdjA0XHYI2-Z_gCo,13973
|
|
131
|
+
sarvamai/text_to_speech_streaming/types/__init__.py,sha256=fx2VJtnbh4RFUETiV2aPGslEQ0lq_us4UjDbQr_2J6I,242
|
|
132
|
+
sarvamai/text_to_speech_streaming/types/text_to_speech_streaming_send_completion_event.py,sha256=cZWm6cAwNwPGF8ZADtnRev_AsgM_xj5ypg2oHHQfgZI,181
|
|
133
|
+
sarvamai/types/__init__.py,sha256=hBtXC7VLxZdrBEPs7-Ym6c3fYlJJS1VxHbfb4J8CcEM,8334
|
|
134
|
+
sarvamai/types/audio_data.py,sha256=g-sQcFXiV0uFAsUJ_TjM3OSnPoCUmNkMORRJHOl152k,1545
|
|
135
|
+
sarvamai/types/audio_data_input_audio_codec.py,sha256=Xb3UEr2wTniW0z8ND4iV051YHhgFazIFOd7q7UGH3nY,572
|
|
129
136
|
sarvamai/types/audio_message.py,sha256=sB4EgkWkWJzipYXobkmM9AYZTTZtCpg_ySKssUeznUE,560
|
|
130
137
|
sarvamai/types/audio_output.py,sha256=Eq-YUZa1mSDwt7bax2c4Vv2gBlyM_JBJWzHhTAhFSko,621
|
|
131
|
-
sarvamai/types/audio_output_data.py,sha256=
|
|
138
|
+
sarvamai/types/audio_output_data.py,sha256=WMT8W_48uhosfvLOmyyfnCxPKMlgPFDfi3tjjgW8jFY,868
|
|
132
139
|
sarvamai/types/base_job_parameters.py,sha256=x-6SDzT2JxsGNUNuMskw8drWj6UwqgCaeo33XrlgKvo,509
|
|
133
140
|
sarvamai/types/bulk_job_callback.py,sha256=mEpKCadWIqZhXlaJztnAhGmydln_6ykvEotFGEQ0RtI,739
|
|
134
141
|
sarvamai/types/bulk_job_init_response_v_1.py,sha256=iYr_jSp443R1IoQdlLtDK6f78z2x-47feBnhUXCdWBU,894
|
|
@@ -138,6 +145,7 @@ sarvamai/types/chat_completion_request_system_message.py,sha256=E7YhTk1zr4u7dj_y
|
|
|
138
145
|
sarvamai/types/chat_completion_request_user_message.py,sha256=J3WhlrfOfCCe7ugmJIfP_L9st3OFtXkIjZTSuR8O9nQ,615
|
|
139
146
|
sarvamai/types/chat_completion_response_message.py,sha256=wz935eBnCkSIl0I0qMxBuH4vAUCso1aHDGReMW1VHGE,744
|
|
140
147
|
sarvamai/types/choice.py,sha256=uXBCsjWP9VK3XWQWZUeI4EnU10w0G9nAfKn2tJZvxko,1244
|
|
148
|
+
sarvamai/types/completion_event_flag.py,sha256=HdvjxXha9Ux5KS_Lfp7Q5eaX62eIk4bXcuJgfhGFXf4,160
|
|
141
149
|
sarvamai/types/completion_usage.py,sha256=xYQGlQUbKqsksuV73H-1ajjfT5M7w47eLfdWXSlrI5M,843
|
|
142
150
|
sarvamai/types/config_message.py,sha256=xLD2wZcXejYrmREMd-cn38da4hKfsNPKRtyAGCW0Zcg,779
|
|
143
151
|
sarvamai/types/configure_connection.py,sha256=SnSNk02gQqP8e4VB4y88jjeFQ4ClpImjGLn2ANI8cZ4,1058
|
|
@@ -146,6 +154,7 @@ sarvamai/types/configure_connection_data_output_audio_bitrate.py,sha256=h00YvKLx
|
|
|
146
154
|
sarvamai/types/configure_connection_data_output_audio_codec.py,sha256=g4I1hS_zExMJbjwwqM6AsLt8zikSugOeMs_xkIINFBo,235
|
|
147
155
|
sarvamai/types/configure_connection_data_speaker.py,sha256=SzyAiK5LynXwb9KniaO2qoOLY-II3-PMZbRuIsQ9shw,230
|
|
148
156
|
sarvamai/types/configure_connection_data_target_language_code.py,sha256=jrU1EblAtDYbybUO1KUkHhevmlSBj2AQxX13ii3QhAQ,275
|
|
157
|
+
sarvamai/types/connection_sample_rate.py,sha256=_86hgA9b4JC_wvDizIsokIWm7GlDcD4C1QnZ2u5LuUc,92
|
|
149
158
|
sarvamai/types/create_chat_completion_response.py,sha256=4nEzeWzHGW1_BmRAtOuGsbRZ0ojNgnzJSMUFyYuYviw,1285
|
|
150
159
|
sarvamai/types/diarized_entry.py,sha256=kf9DLrcoMHZdTKNCAaF0z46q_iAe7CE-DFP4CNrZGTw,896
|
|
151
160
|
sarvamai/types/diarized_transcript.py,sha256=a491XmALLE7AQcByaaOYTew0BZoFTlewEMHLMJyj-Js,669
|
|
@@ -154,7 +163,9 @@ sarvamai/types/error_data.py,sha256=gdlrdKLkfgGoe-znCCfWTikKlf07iZy1l4lgPyZTPwE,
|
|
|
154
163
|
sarvamai/types/error_details.py,sha256=Faggc5PWERfCN2d9E5JzsEMNq9XSnoPTEdgi0lL8ea0,935
|
|
155
164
|
sarvamai/types/error_message.py,sha256=i_vDykKyMlkWLhJCpMAeYI1NzRDFsW2CTU4-mzdBAfE,622
|
|
156
165
|
sarvamai/types/error_response.py,sha256=3m17Aj3GY_-mSY2lH-GkbuiyewTm-wNL9UQ1exLvXyQ,629
|
|
157
|
-
sarvamai/types/error_response_data.py,sha256=
|
|
166
|
+
sarvamai/types/error_response_data.py,sha256=3OzlX46boFwfUVh6nBZRzRbf_Z3EcY4CBqT9MWk9fPw,961
|
|
167
|
+
sarvamai/types/event_response.py,sha256=95pQQ8NApQ0jCRO4045vvW_GfnEkuecgptXmCMeR5fE,811
|
|
168
|
+
sarvamai/types/event_response_data.py,sha256=tbyMxPhcC3MRWtgxKWF1VC1g_jmW5S0x0mUMARVbrmw,919
|
|
158
169
|
sarvamai/types/events_data.py,sha256=9Gt9CuKF9Y9LmidxAxqTaE2SJgRhEIV_5Nk7X_S-HgU,1146
|
|
159
170
|
sarvamai/types/events_data_signal_type.py,sha256=MkzFNa4PnviktXIp8ltcYBA5MhQ1aWAkU_bZAIyNN9s,174
|
|
160
171
|
sarvamai/types/file_signed_url_details.py,sha256=_Zc1NMHxB94mNDFfbEpXPK4Z0X3i_nSiWFDH1oEX4uo,620
|
|
@@ -215,6 +226,6 @@ sarvamai/types/transliterate_mode.py,sha256=1jSEMlGcoLkWuk12TgoOpSgwifa4rThGKZ1h
|
|
|
215
226
|
sarvamai/types/transliterate_source_language.py,sha256=bSY9wJszF0sg-Cgg6F-YcWC8ly1mIlj9rqa15-jBtx8,283
|
|
216
227
|
sarvamai/types/transliteration_response.py,sha256=yt-lzTbDeJ_ZL4I8kQa6oESxA9ebeJJY7LfFHpdEsmM,815
|
|
217
228
|
sarvamai/version.py,sha256=Qkp3Ee9YH-O9RTix90e0i7iNrFAGN-QDt2AFwGA4n8k,75
|
|
218
|
-
sarvamai-0.1.
|
|
219
|
-
sarvamai-0.1.
|
|
220
|
-
sarvamai-0.1.
|
|
229
|
+
sarvamai-0.1.20.dist-info/METADATA,sha256=90IUQDsGLLKmYaX4j2Kx8dloU-D5k-oY6uS9GcvF46w,26751
|
|
230
|
+
sarvamai-0.1.20.dist-info/WHEEL,sha256=Zb28QaM1gQi8f4VCBhsUklF61CTlNYfs9YAZn-TOGFk,88
|
|
231
|
+
sarvamai-0.1.20.dist-info/RECORD,,
|
|
File without changes
|