sarvamai 0.1.18a0__py3-none-any.whl → 0.1.19a1__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 CHANGED
@@ -74,6 +74,7 @@ from .types import (
74
74
  SpokenFormNumeralsFormat,
75
75
  StopConfiguration,
76
76
  StorageContainerType,
77
+ SttFlushSignal,
77
78
  TaskDetailV1,
78
79
  TaskFileDetails,
79
80
  TaskState,
@@ -167,6 +168,7 @@ from .requests import (
167
168
  SpeechToTextTranslateStreamingResponseParams,
168
169
  SpeechToTextTranslateTranscriptionDataParams,
169
170
  StopConfigurationParams,
171
+ SttFlushSignalParams,
170
172
  TaskDetailV1Params,
171
173
  TaskFileDetailsParams,
172
174
  TextToSpeechResponseParams,
@@ -176,12 +178,14 @@ from .requests import (
176
178
  TransliterationResponseParams,
177
179
  )
178
180
  from .speech_to_text_streaming import (
181
+ SpeechToTextStreamingFlushSignal,
179
182
  SpeechToTextStreamingHighVadSensitivity,
180
183
  SpeechToTextStreamingLanguageCode,
181
184
  SpeechToTextStreamingModel,
182
185
  SpeechToTextStreamingVadSignals,
183
186
  )
184
187
  from .speech_to_text_translate_streaming import (
188
+ SpeechToTextTranslateStreamingFlushSignal,
185
189
  SpeechToTextTranslateStreamingHighVadSensitivity,
186
190
  SpeechToTextTranslateStreamingModel,
187
191
  SpeechToTextTranslateStreamingVadSignals,
@@ -297,6 +301,7 @@ __all__ = [
297
301
  "SpeechToTextResponseData",
298
302
  "SpeechToTextResponseDataParams",
299
303
  "SpeechToTextResponseParams",
304
+ "SpeechToTextStreamingFlushSignal",
300
305
  "SpeechToTextStreamingHighVadSensitivity",
301
306
  "SpeechToTextStreamingLanguageCode",
302
307
  "SpeechToTextStreamingModel",
@@ -313,6 +318,7 @@ __all__ = [
313
318
  "SpeechToTextTranslateResponseData",
314
319
  "SpeechToTextTranslateResponseDataParams",
315
320
  "SpeechToTextTranslateResponseParams",
321
+ "SpeechToTextTranslateStreamingFlushSignal",
316
322
  "SpeechToTextTranslateStreamingHighVadSensitivity",
317
323
  "SpeechToTextTranslateStreamingModel",
318
324
  "SpeechToTextTranslateStreamingResponse",
@@ -324,6 +330,8 @@ __all__ = [
324
330
  "StopConfiguration",
325
331
  "StopConfigurationParams",
326
332
  "StorageContainerType",
333
+ "SttFlushSignal",
334
+ "SttFlushSignalParams",
327
335
  "TaskDetailV1",
328
336
  "TaskDetailV1Params",
329
337
  "TaskFileDetails",
@@ -23,10 +23,10 @@ class BaseClientWrapper:
23
23
 
24
24
  def get_headers(self) -> typing.Dict[str, str]:
25
25
  headers: typing.Dict[str, str] = {
26
- "User-Agent": "sarvamai/0.1.18a0",
26
+ "User-Agent": "sarvamai/0.1.19a1",
27
27
  "X-Fern-Language": "Python",
28
28
  "X-Fern-SDK-Name": "sarvamai",
29
- "X-Fern-SDK-Version": "0.1.18a0",
29
+ "X-Fern-SDK-Version": "0.1.19a1",
30
30
  **(self.get_custom_headers() or {}),
31
31
  }
32
32
  headers["api-subscription-key"] = self.api_subscription_key
@@ -54,6 +54,7 @@ from .speech_to_text_translate_response_data import SpeechToTextTranslateRespons
54
54
  from .speech_to_text_translate_streaming_response import SpeechToTextTranslateStreamingResponseParams
55
55
  from .speech_to_text_translate_transcription_data import SpeechToTextTranslateTranscriptionDataParams
56
56
  from .stop_configuration import StopConfigurationParams
57
+ from .stt_flush_signal import SttFlushSignalParams
57
58
  from .task_detail_v_1 import TaskDetailV1Params
58
59
  from .task_file_details import TaskFileDetailsParams
59
60
  from .text_to_speech_response import TextToSpeechResponseParams
@@ -113,6 +114,7 @@ __all__ = [
113
114
  "SpeechToTextTranslateStreamingResponseParams",
114
115
  "SpeechToTextTranslateTranscriptionDataParams",
115
116
  "StopConfigurationParams",
117
+ "SttFlushSignalParams",
116
118
  "TaskDetailV1Params",
117
119
  "TaskFileDetailsParams",
118
120
  "TextToSpeechResponseParams",
@@ -0,0 +1,21 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ import typing_extensions
6
+
7
+
8
+ class SttFlushSignalParams(typing_extensions.TypedDict):
9
+ """
10
+ Signal to flush the audio buffer and force finalize partial transcriptions/translations
11
+ """
12
+
13
+ type: typing.Literal["flush"]
14
+ """
15
+ Type identifier for flush signal
16
+ """
17
+
18
+ reason: typing_extensions.NotRequired[str]
19
+ """
20
+ Optional reason for flushing (e.g., "end_of_segment", "manual_flush")
21
+ """
@@ -3,6 +3,7 @@
3
3
  # isort: skip_file
4
4
 
5
5
  from .types import (
6
+ SpeechToTextStreamingFlushSignal,
6
7
  SpeechToTextStreamingHighVadSensitivity,
7
8
  SpeechToTextStreamingLanguageCode,
8
9
  SpeechToTextStreamingModel,
@@ -10,6 +11,7 @@ from .types import (
10
11
  )
11
12
 
12
13
  __all__ = [
14
+ "SpeechToTextStreamingFlushSignal",
13
15
  "SpeechToTextStreamingHighVadSensitivity",
14
16
  "SpeechToTextStreamingLanguageCode",
15
17
  "SpeechToTextStreamingModel",
@@ -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 AsyncRawSpeechToTextStreamingClient, RawSpeechToTextStreamingClient
13
13
  from .socket_client import AsyncSpeechToTextStreamingSocketClient, SpeechToTextStreamingSocketClient
14
+ from .types.speech_to_text_streaming_flush_signal import SpeechToTextStreamingFlushSignal
14
15
  from .types.speech_to_text_streaming_high_vad_sensitivity import SpeechToTextStreamingHighVadSensitivity
15
16
  from .types.speech_to_text_streaming_language_code import SpeechToTextStreamingLanguageCode
16
17
  from .types.speech_to_text_streaming_model import SpeechToTextStreamingModel
@@ -45,6 +46,7 @@ class SpeechToTextStreamingClient:
45
46
  model: typing.Optional[SpeechToTextStreamingModel] = None,
46
47
  high_vad_sensitivity: typing.Optional[SpeechToTextStreamingHighVadSensitivity] = None,
47
48
  vad_signals: typing.Optional[SpeechToTextStreamingVadSignals] = None,
49
+ flush_signal: typing.Optional[SpeechToTextStreamingFlushSignal] = None,
48
50
  api_subscription_key: typing.Optional[str] = None,
49
51
  request_options: typing.Optional[RequestOptions] = None,
50
52
  ) -> typing.Iterator[SpeechToTextStreamingSocketClient]:
@@ -65,6 +67,9 @@ class SpeechToTextStreamingClient:
65
67
  vad_signals : typing.Optional[SpeechToTextStreamingVadSignals]
66
68
  Enable VAD signals in response
67
69
 
70
+ flush_signal : typing.Optional[SpeechToTextStreamingFlushSignal]
71
+ Signal to flush the audio buffer and finalize transcription
72
+
68
73
  api_subscription_key : typing.Optional[str]
69
74
  API subscription key for authentication
70
75
 
@@ -85,6 +90,8 @@ class SpeechToTextStreamingClient:
85
90
  query_params = query_params.add("high_vad_sensitivity", high_vad_sensitivity)
86
91
  if vad_signals is not None:
87
92
  query_params = query_params.add("vad_signals", vad_signals)
93
+ if flush_signal is not None:
94
+ query_params = query_params.add("flush_signal", flush_signal)
88
95
  ws_url = ws_url + f"?{query_params}"
89
96
  headers = self._raw_client._client_wrapper.get_headers()
90
97
  if api_subscription_key is not None:
@@ -132,6 +139,7 @@ class AsyncSpeechToTextStreamingClient:
132
139
  model: typing.Optional[SpeechToTextStreamingModel] = None,
133
140
  high_vad_sensitivity: typing.Optional[SpeechToTextStreamingHighVadSensitivity] = None,
134
141
  vad_signals: typing.Optional[SpeechToTextStreamingVadSignals] = None,
142
+ flush_signal: typing.Optional[SpeechToTextStreamingFlushSignal] = None,
135
143
  api_subscription_key: typing.Optional[str] = None,
136
144
  request_options: typing.Optional[RequestOptions] = None,
137
145
  ) -> typing.AsyncIterator[AsyncSpeechToTextStreamingSocketClient]:
@@ -152,6 +160,9 @@ class AsyncSpeechToTextStreamingClient:
152
160
  vad_signals : typing.Optional[SpeechToTextStreamingVadSignals]
153
161
  Enable VAD signals in response
154
162
 
163
+ flush_signal : typing.Optional[SpeechToTextStreamingFlushSignal]
164
+ Signal to flush the audio buffer and finalize transcription
165
+
155
166
  api_subscription_key : typing.Optional[str]
156
167
  API subscription key for authentication
157
168
 
@@ -172,6 +183,8 @@ class AsyncSpeechToTextStreamingClient:
172
183
  query_params = query_params.add("high_vad_sensitivity", high_vad_sensitivity)
173
184
  if vad_signals is not None:
174
185
  query_params = query_params.add("vad_signals", vad_signals)
186
+ if flush_signal is not None:
187
+ query_params = query_params.add("flush_signal", flush_signal)
175
188
  ws_url = ws_url + f"?{query_params}"
176
189
  headers = self._raw_client._client_wrapper.get_headers()
177
190
  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 AsyncSpeechToTextStreamingSocketClient, SpeechToTextStreamingSocketClient
13
+ from .types.speech_to_text_streaming_flush_signal import SpeechToTextStreamingFlushSignal
13
14
  from .types.speech_to_text_streaming_high_vad_sensitivity import SpeechToTextStreamingHighVadSensitivity
14
15
  from .types.speech_to_text_streaming_language_code import SpeechToTextStreamingLanguageCode
15
16
  from .types.speech_to_text_streaming_model import SpeechToTextStreamingModel
@@ -33,6 +34,7 @@ class RawSpeechToTextStreamingClient:
33
34
  model: typing.Optional[SpeechToTextStreamingModel] = None,
34
35
  high_vad_sensitivity: typing.Optional[SpeechToTextStreamingHighVadSensitivity] = None,
35
36
  vad_signals: typing.Optional[SpeechToTextStreamingVadSignals] = None,
37
+ flush_signal: typing.Optional[SpeechToTextStreamingFlushSignal] = None,
36
38
  api_subscription_key: typing.Optional[str] = None,
37
39
  request_options: typing.Optional[RequestOptions] = None,
38
40
  ) -> typing.Iterator[SpeechToTextStreamingSocketClient]:
@@ -53,6 +55,9 @@ class RawSpeechToTextStreamingClient:
53
55
  vad_signals : typing.Optional[SpeechToTextStreamingVadSignals]
54
56
  Enable VAD signals in response
55
57
 
58
+ flush_signal : typing.Optional[SpeechToTextStreamingFlushSignal]
59
+ Signal to flush the audio buffer and finalize transcription
60
+
56
61
  api_subscription_key : typing.Optional[str]
57
62
  API subscription key for authentication
58
63
 
@@ -73,6 +78,8 @@ class RawSpeechToTextStreamingClient:
73
78
  query_params = query_params.add("high_vad_sensitivity", high_vad_sensitivity)
74
79
  if vad_signals is not None:
75
80
  query_params = query_params.add("vad_signals", vad_signals)
81
+ if flush_signal is not None:
82
+ query_params = query_params.add("flush_signal", flush_signal)
76
83
  ws_url = ws_url + f"?{query_params}"
77
84
  headers = self._client_wrapper.get_headers()
78
85
  if api_subscription_key is not None:
@@ -109,6 +116,7 @@ class AsyncRawSpeechToTextStreamingClient:
109
116
  model: typing.Optional[SpeechToTextStreamingModel] = None,
110
117
  high_vad_sensitivity: typing.Optional[SpeechToTextStreamingHighVadSensitivity] = None,
111
118
  vad_signals: typing.Optional[SpeechToTextStreamingVadSignals] = None,
119
+ flush_signal: typing.Optional[SpeechToTextStreamingFlushSignal] = None,
112
120
  api_subscription_key: typing.Optional[str] = None,
113
121
  request_options: typing.Optional[RequestOptions] = None,
114
122
  ) -> typing.AsyncIterator[AsyncSpeechToTextStreamingSocketClient]:
@@ -129,6 +137,9 @@ class AsyncRawSpeechToTextStreamingClient:
129
137
  vad_signals : typing.Optional[SpeechToTextStreamingVadSignals]
130
138
  Enable VAD signals in response
131
139
 
140
+ flush_signal : typing.Optional[SpeechToTextStreamingFlushSignal]
141
+ Signal to flush the audio buffer and finalize transcription
142
+
132
143
  api_subscription_key : typing.Optional[str]
133
144
  API subscription key for authentication
134
145
 
@@ -149,6 +160,8 @@ class AsyncRawSpeechToTextStreamingClient:
149
160
  query_params = query_params.add("high_vad_sensitivity", high_vad_sensitivity)
150
161
  if vad_signals is not None:
151
162
  query_params = query_params.add("vad_signals", vad_signals)
163
+ if flush_signal is not None:
164
+ query_params = query_params.add("flush_signal", flush_signal)
152
165
  ws_url = ws_url + f"?{query_params}"
153
166
  headers = self._client_wrapper.get_headers()
154
167
  if api_subscription_key is not None:
@@ -9,7 +9,10 @@ from ..core.events import EventEmitterMixin, EventType
9
9
  from ..core.pydantic_utilities import parse_obj_as
10
10
  from ..types.audio_data import AudioData
11
11
  from ..types.audio_message import AudioMessage
12
- from ..types.speech_to_text_streaming_response import SpeechToTextStreamingResponse
12
+ from ..types.speech_to_text_streaming_response import (
13
+ SpeechToTextStreamingResponse,
14
+ )
15
+ from ..types.stt_flush_signal import SttFlushSignal
13
16
 
14
17
  SpeechToTextStreamingSocketClientResponse = typing.Union[SpeechToTextStreamingResponse]
15
18
 
@@ -22,7 +25,9 @@ class AsyncSpeechToTextStreamingSocketClient(EventEmitterMixin):
22
25
  async def __aiter__(self):
23
26
  async for message in self._websocket:
24
27
  message = json.loads(message) if isinstance(message, str) else message
25
- yield parse_obj_as(SpeechToTextStreamingSocketClientResponse, message) # type: ignore
28
+ yield parse_obj_as(
29
+ SpeechToTextStreamingSocketClientResponse, message
30
+ ) # type: ignore
26
31
 
27
32
  async def start_listening(self):
28
33
  """
@@ -37,8 +42,14 @@ class AsyncSpeechToTextStreamingSocketClient(EventEmitterMixin):
37
42
  self._emit(EventType.OPEN, None)
38
43
  try:
39
44
  async for raw_message in self._websocket:
40
- raw_message = json.loads(raw_message) if isinstance(raw_message, str) else raw_message
41
- parsed = parse_obj_as(SpeechToTextStreamingSocketClientResponse, raw_message) # type: ignore
45
+ raw_message = (
46
+ json.loads(raw_message)
47
+ if isinstance(raw_message, str)
48
+ else raw_message
49
+ )
50
+ parsed = parse_obj_as(
51
+ SpeechToTextStreamingSocketClientResponse, raw_message
52
+ ) # type: ignore
42
53
  self._emit(EventType.MESSAGE, parsed)
43
54
  except websockets.WebSocketException as exc:
44
55
  self._emit(EventType.ERROR, exc)
@@ -54,10 +65,26 @@ class AsyncSpeechToTextStreamingSocketClient(EventEmitterMixin):
54
65
  """
55
66
 
56
67
  return await self._send_speech_to_text_streaming_audio_message(
57
- message=AudioMessage(audio=AudioData(data=audio, sample_rate=sample_rate, encoding=encoding))
68
+ message=AudioMessage(
69
+ audio=AudioData(data=audio, sample_rate=sample_rate, encoding=encoding)
70
+ )
58
71
  )
59
72
 
60
- async def _send_speech_to_text_streaming_audio_message(self, message: AudioMessage) -> None:
73
+ async def flush(self, reason: typing.Optional[str] = None) -> None:
74
+ """
75
+ Signal to flush the audio buffer and force finalize partial transcriptions.
76
+ Use this to force processing of any remaining audio that hasn't been
77
+ transcribed yet.
78
+
79
+ :param reason: Optional reason for flushing (e.g., "end_of_segment",
80
+ "manual_flush")
81
+ """
82
+ message = SttFlushSignal(reason=reason)
83
+ await self._send_model(message)
84
+
85
+ async def _send_speech_to_text_streaming_audio_message(
86
+ self, message: AudioMessage
87
+ ) -> None:
61
88
  """
62
89
  Send a message to the websocket connection.
63
90
  The message will be sent as a AudioMessage.
@@ -70,7 +97,9 @@ class AsyncSpeechToTextStreamingSocketClient(EventEmitterMixin):
70
97
  """
71
98
  data = await self._websocket.recv()
72
99
  data = json.loads(data) if isinstance(data, str) else data
73
- return parse_obj_as(SpeechToTextStreamingSocketClientResponse, data) # type: ignore
100
+ return parse_obj_as(
101
+ SpeechToTextStreamingSocketClientResponse, data
102
+ ) # type: ignore
74
103
 
75
104
  async def _send(self, data: typing.Any) -> None:
76
105
  """
@@ -95,7 +124,9 @@ class SpeechToTextStreamingSocketClient(EventEmitterMixin):
95
124
  def __iter__(self):
96
125
  for message in self._websocket:
97
126
  message = json.loads(message) if isinstance(message, str) else message
98
- yield parse_obj_as(SpeechToTextStreamingSocketClientResponse, message) # type: ignore
127
+ yield parse_obj_as(
128
+ SpeechToTextStreamingSocketClientResponse, message
129
+ ) # type: ignore
99
130
 
100
131
  def start_listening(self):
101
132
  """
@@ -110,8 +141,14 @@ class SpeechToTextStreamingSocketClient(EventEmitterMixin):
110
141
  self._emit(EventType.OPEN, None)
111
142
  try:
112
143
  for raw_message in self._websocket:
113
- raw_message = json.loads(raw_message) if isinstance(raw_message, str) else raw_message
114
- parsed = parse_obj_as(SpeechToTextStreamingSocketClientResponse, raw_message) # type: ignore
144
+ raw_message = (
145
+ json.loads(raw_message)
146
+ if isinstance(raw_message, str)
147
+ else raw_message
148
+ )
149
+ parsed = parse_obj_as(
150
+ SpeechToTextStreamingSocketClientResponse, raw_message
151
+ ) # type: ignore
115
152
  self._emit(EventType.MESSAGE, parsed)
116
153
  except websockets.WebSocketException as exc:
117
154
  self._emit(EventType.ERROR, exc)
@@ -126,18 +163,36 @@ class SpeechToTextStreamingSocketClient(EventEmitterMixin):
126
163
  :param sample_rate (Optional): Audio sample rate in Hz (default is 16000)
127
164
  """
128
165
  return self._send_speech_to_text_streaming_audio_message(
129
- message=AudioMessage(audio=AudioData(data=audio, sample_rate=sample_rate, encoding=encoding))
166
+ message=AudioMessage(
167
+ audio=AudioData(data=audio, sample_rate=sample_rate, encoding=encoding)
168
+ )
130
169
  )
131
170
 
171
+ def flush(self, reason: typing.Optional[str] = None) -> None:
172
+ """
173
+ Signal to flush the audio buffer and force finalize partial transcriptions.
174
+ Use this to force processing of any remaining audio that hasn't been
175
+ transcribed yet.
176
+
177
+ :param reason: Optional reason for flushing (e.g., "end_of_segment",
178
+ "manual_flush")
179
+ """
180
+ message = SttFlushSignal(reason=reason)
181
+ self._send_model(message)
182
+
132
183
  def recv(self) -> SpeechToTextStreamingSocketClientResponse:
133
184
  """
134
185
  Receive a message from the websocket connection.
135
186
  """
136
187
  data = self._websocket.recv()
137
188
  data = json.loads(data) if isinstance(data, str) else data
138
- return parse_obj_as(SpeechToTextStreamingSocketClientResponse, data) # type: ignore
189
+ return parse_obj_as(
190
+ SpeechToTextStreamingSocketClientResponse, data
191
+ ) # type: ignore
139
192
 
140
- def _send_speech_to_text_streaming_audio_message(self, message: AudioMessage) -> None:
193
+ def _send_speech_to_text_streaming_audio_message(
194
+ self, message: AudioMessage
195
+ ) -> None:
141
196
  """
142
197
  Send a message to the websocket connection.
143
198
  The message will be sent as a AudioMessage.
@@ -2,12 +2,14 @@
2
2
 
3
3
  # isort: skip_file
4
4
 
5
+ from .speech_to_text_streaming_flush_signal import SpeechToTextStreamingFlushSignal
5
6
  from .speech_to_text_streaming_high_vad_sensitivity import SpeechToTextStreamingHighVadSensitivity
6
7
  from .speech_to_text_streaming_language_code import SpeechToTextStreamingLanguageCode
7
8
  from .speech_to_text_streaming_model import SpeechToTextStreamingModel
8
9
  from .speech_to_text_streaming_vad_signals import SpeechToTextStreamingVadSignals
9
10
 
10
11
  __all__ = [
12
+ "SpeechToTextStreamingFlushSignal",
11
13
  "SpeechToTextStreamingHighVadSensitivity",
12
14
  "SpeechToTextStreamingLanguageCode",
13
15
  "SpeechToTextStreamingModel",
@@ -0,0 +1,5 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ SpeechToTextStreamingFlushSignal = typing.Union[typing.Literal["true", "false"], typing.Any]
@@ -3,12 +3,14 @@
3
3
  # isort: skip_file
4
4
 
5
5
  from .types import (
6
+ SpeechToTextTranslateStreamingFlushSignal,
6
7
  SpeechToTextTranslateStreamingHighVadSensitivity,
7
8
  SpeechToTextTranslateStreamingModel,
8
9
  SpeechToTextTranslateStreamingVadSignals,
9
10
  )
10
11
 
11
12
  __all__ = [
13
+ "SpeechToTextTranslateStreamingFlushSignal",
12
14
  "SpeechToTextTranslateStreamingHighVadSensitivity",
13
15
  "SpeechToTextTranslateStreamingModel",
14
16
  "SpeechToTextTranslateStreamingVadSignals",
@@ -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 AsyncRawSpeechToTextTranslateStreamingClient, RawSpeechToTextTranslateStreamingClient
13
13
  from .socket_client import AsyncSpeechToTextTranslateStreamingSocketClient, SpeechToTextTranslateStreamingSocketClient
14
+ from .types.speech_to_text_translate_streaming_flush_signal import SpeechToTextTranslateStreamingFlushSignal
14
15
  from .types.speech_to_text_translate_streaming_high_vad_sensitivity import (
15
16
  SpeechToTextTranslateStreamingHighVadSensitivity,
16
17
  )
@@ -45,6 +46,7 @@ class SpeechToTextTranslateStreamingClient:
45
46
  model: typing.Optional[SpeechToTextTranslateStreamingModel] = None,
46
47
  high_vad_sensitivity: typing.Optional[SpeechToTextTranslateStreamingHighVadSensitivity] = None,
47
48
  vad_signals: typing.Optional[SpeechToTextTranslateStreamingVadSignals] = None,
49
+ flush_signal: typing.Optional[SpeechToTextTranslateStreamingFlushSignal] = None,
48
50
  api_subscription_key: typing.Optional[str] = None,
49
51
  request_options: typing.Optional[RequestOptions] = None,
50
52
  ) -> typing.Iterator[SpeechToTextTranslateStreamingSocketClient]:
@@ -62,6 +64,9 @@ class SpeechToTextTranslateStreamingClient:
62
64
  vad_signals : typing.Optional[SpeechToTextTranslateStreamingVadSignals]
63
65
  Enable VAD signals in response
64
66
 
67
+ flush_signal : typing.Optional[SpeechToTextTranslateStreamingFlushSignal]
68
+ Signal to flush the audio buffer and finalize transcription and translation
69
+
65
70
  api_subscription_key : typing.Optional[str]
66
71
  API subscription key for authentication
67
72
 
@@ -80,6 +85,8 @@ class SpeechToTextTranslateStreamingClient:
80
85
  query_params = query_params.add("high_vad_sensitivity", high_vad_sensitivity)
81
86
  if vad_signals is not None:
82
87
  query_params = query_params.add("vad_signals", vad_signals)
88
+ if flush_signal is not None:
89
+ query_params = query_params.add("flush_signal", flush_signal)
83
90
  ws_url = ws_url + f"?{query_params}"
84
91
  headers = self._raw_client._client_wrapper.get_headers()
85
92
  if api_subscription_key is not None:
@@ -126,6 +133,7 @@ class AsyncSpeechToTextTranslateStreamingClient:
126
133
  model: typing.Optional[SpeechToTextTranslateStreamingModel] = None,
127
134
  high_vad_sensitivity: typing.Optional[SpeechToTextTranslateStreamingHighVadSensitivity] = None,
128
135
  vad_signals: typing.Optional[SpeechToTextTranslateStreamingVadSignals] = None,
136
+ flush_signal: typing.Optional[SpeechToTextTranslateStreamingFlushSignal] = None,
129
137
  api_subscription_key: typing.Optional[str] = None,
130
138
  request_options: typing.Optional[RequestOptions] = None,
131
139
  ) -> typing.AsyncIterator[AsyncSpeechToTextTranslateStreamingSocketClient]:
@@ -143,6 +151,9 @@ class AsyncSpeechToTextTranslateStreamingClient:
143
151
  vad_signals : typing.Optional[SpeechToTextTranslateStreamingVadSignals]
144
152
  Enable VAD signals in response
145
153
 
154
+ flush_signal : typing.Optional[SpeechToTextTranslateStreamingFlushSignal]
155
+ Signal to flush the audio buffer and finalize transcription and translation
156
+
146
157
  api_subscription_key : typing.Optional[str]
147
158
  API subscription key for authentication
148
159
 
@@ -161,6 +172,8 @@ class AsyncSpeechToTextTranslateStreamingClient:
161
172
  query_params = query_params.add("high_vad_sensitivity", high_vad_sensitivity)
162
173
  if vad_signals is not None:
163
174
  query_params = query_params.add("vad_signals", vad_signals)
175
+ if flush_signal is not None:
176
+ query_params = query_params.add("flush_signal", flush_signal)
164
177
  ws_url = ws_url + f"?{query_params}"
165
178
  headers = self._raw_client._client_wrapper.get_headers()
166
179
  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 AsyncSpeechToTextTranslateStreamingSocketClient, SpeechToTextTranslateStreamingSocketClient
13
+ from .types.speech_to_text_translate_streaming_flush_signal import SpeechToTextTranslateStreamingFlushSignal
13
14
  from .types.speech_to_text_translate_streaming_high_vad_sensitivity import (
14
15
  SpeechToTextTranslateStreamingHighVadSensitivity,
15
16
  )
@@ -33,6 +34,7 @@ class RawSpeechToTextTranslateStreamingClient:
33
34
  model: typing.Optional[SpeechToTextTranslateStreamingModel] = None,
34
35
  high_vad_sensitivity: typing.Optional[SpeechToTextTranslateStreamingHighVadSensitivity] = None,
35
36
  vad_signals: typing.Optional[SpeechToTextTranslateStreamingVadSignals] = None,
37
+ flush_signal: typing.Optional[SpeechToTextTranslateStreamingFlushSignal] = None,
36
38
  api_subscription_key: typing.Optional[str] = None,
37
39
  request_options: typing.Optional[RequestOptions] = None,
38
40
  ) -> typing.Iterator[SpeechToTextTranslateStreamingSocketClient]:
@@ -50,6 +52,9 @@ class RawSpeechToTextTranslateStreamingClient:
50
52
  vad_signals : typing.Optional[SpeechToTextTranslateStreamingVadSignals]
51
53
  Enable VAD signals in response
52
54
 
55
+ flush_signal : typing.Optional[SpeechToTextTranslateStreamingFlushSignal]
56
+ Signal to flush the audio buffer and finalize transcription and translation
57
+
53
58
  api_subscription_key : typing.Optional[str]
54
59
  API subscription key for authentication
55
60
 
@@ -68,6 +73,8 @@ class RawSpeechToTextTranslateStreamingClient:
68
73
  query_params = query_params.add("high_vad_sensitivity", high_vad_sensitivity)
69
74
  if vad_signals is not None:
70
75
  query_params = query_params.add("vad_signals", vad_signals)
76
+ if flush_signal is not None:
77
+ query_params = query_params.add("flush_signal", flush_signal)
71
78
  ws_url = ws_url + f"?{query_params}"
72
79
  headers = self._client_wrapper.get_headers()
73
80
  if api_subscription_key is not None:
@@ -103,6 +110,7 @@ class AsyncRawSpeechToTextTranslateStreamingClient:
103
110
  model: typing.Optional[SpeechToTextTranslateStreamingModel] = None,
104
111
  high_vad_sensitivity: typing.Optional[SpeechToTextTranslateStreamingHighVadSensitivity] = None,
105
112
  vad_signals: typing.Optional[SpeechToTextTranslateStreamingVadSignals] = None,
113
+ flush_signal: typing.Optional[SpeechToTextTranslateStreamingFlushSignal] = None,
106
114
  api_subscription_key: typing.Optional[str] = None,
107
115
  request_options: typing.Optional[RequestOptions] = None,
108
116
  ) -> typing.AsyncIterator[AsyncSpeechToTextTranslateStreamingSocketClient]:
@@ -120,6 +128,9 @@ class AsyncRawSpeechToTextTranslateStreamingClient:
120
128
  vad_signals : typing.Optional[SpeechToTextTranslateStreamingVadSignals]
121
129
  Enable VAD signals in response
122
130
 
131
+ flush_signal : typing.Optional[SpeechToTextTranslateStreamingFlushSignal]
132
+ Signal to flush the audio buffer and finalize transcription and translation
133
+
123
134
  api_subscription_key : typing.Optional[str]
124
135
  API subscription key for authentication
125
136
 
@@ -138,6 +149,8 @@ class AsyncRawSpeechToTextTranslateStreamingClient:
138
149
  query_params = query_params.add("high_vad_sensitivity", high_vad_sensitivity)
139
150
  if vad_signals is not None:
140
151
  query_params = query_params.add("vad_signals", vad_signals)
152
+ if flush_signal is not None:
153
+ query_params = query_params.add("flush_signal", flush_signal)
141
154
  ws_url = ws_url + f"?{query_params}"
142
155
  headers = self._client_wrapper.get_headers()
143
156
  if api_subscription_key is not None:
@@ -2,11 +2,13 @@
2
2
 
3
3
  # isort: skip_file
4
4
 
5
+ from .speech_to_text_translate_streaming_flush_signal import SpeechToTextTranslateStreamingFlushSignal
5
6
  from .speech_to_text_translate_streaming_high_vad_sensitivity import SpeechToTextTranslateStreamingHighVadSensitivity
6
7
  from .speech_to_text_translate_streaming_model import SpeechToTextTranslateStreamingModel
7
8
  from .speech_to_text_translate_streaming_vad_signals import SpeechToTextTranslateStreamingVadSignals
8
9
 
9
10
  __all__ = [
11
+ "SpeechToTextTranslateStreamingFlushSignal",
10
12
  "SpeechToTextTranslateStreamingHighVadSensitivity",
11
13
  "SpeechToTextTranslateStreamingModel",
12
14
  "SpeechToTextTranslateStreamingVadSignals",
@@ -0,0 +1,5 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ SpeechToTextTranslateStreamingFlushSignal = typing.Union[typing.Literal["true", "false"], typing.Any]
@@ -75,6 +75,7 @@ from .speech_to_text_translate_transcription_data import SpeechToTextTranslateTr
75
75
  from .spoken_form_numerals_format import SpokenFormNumeralsFormat
76
76
  from .stop_configuration import StopConfiguration
77
77
  from .storage_container_type import StorageContainerType
78
+ from .stt_flush_signal import SttFlushSignal
78
79
  from .task_detail_v_1 import TaskDetailV1
79
80
  from .task_file_details import TaskFileDetails
80
81
  from .task_state import TaskState
@@ -168,6 +169,7 @@ __all__ = [
168
169
  "SpokenFormNumeralsFormat",
169
170
  "StopConfiguration",
170
171
  "StorageContainerType",
172
+ "SttFlushSignal",
171
173
  "TaskDetailV1",
172
174
  "TaskFileDetails",
173
175
  "TaskState",
@@ -0,0 +1,31 @@
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
+
8
+
9
+ class SttFlushSignal(UniversalBaseModel):
10
+ """
11
+ Signal to flush the audio buffer and force finalize partial transcriptions/translations
12
+ """
13
+
14
+ type: typing.Literal["flush"] = pydantic.Field(default="flush")
15
+ """
16
+ Type identifier for flush signal
17
+ """
18
+
19
+ reason: typing.Optional[str] = pydantic.Field(default=None)
20
+ """
21
+ Optional reason for flushing (e.g., "end_of_segment", "manual_flush")
22
+ """
23
+
24
+ if IS_PYDANTIC_V2:
25
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
26
+ else:
27
+
28
+ class Config:
29
+ frozen = True
30
+ smart_union = True
31
+ extra = pydantic.Extra.allow
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sarvamai
3
- Version: 0.1.18a0
3
+ Version: 0.1.19a1
4
4
  Summary:
5
5
  Requires-Python: >=3.8,<4.0
6
6
  Classifier: Intended Audience :: Developers
@@ -1,11 +1,11 @@
1
- sarvamai/__init__.py,sha256=5j3UOszpw8O8ihXP2HwhHPgwCGnzPu5-8w9FDV51k1s,10694
1
+ sarvamai/__init__.py,sha256=R2X_oWI35aSTjAskLMeKysc5rt17-ldLPc8vhkfGku4,10964
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=aSFsptwfVLJJ4_L-Hjc7FiBWuK9kfyLo-rQlIcN5mn4,2570
8
+ sarvamai/core/client_wrapper.py,sha256=zeaP6DuMbs7G4AqP-w_QTivx8CVyHsw-Dycgh5yhdiI,2570
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,7 +28,7 @@ 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=ahxnrLbGzmGrHbwbacfelPA6m2OAXy4dlLFQiF5_BNQ,5623
31
+ sarvamai/requests/__init__.py,sha256=nAXyZKbjwhLTxvfb1kaxOxZpyFvWwQu30Yr5HqgOZXw,5702
32
32
  sarvamai/requests/audio_data.py,sha256=QI3SK5aiAg2yJ-m3l9CxOkONnH3CCKMFCl9kAdMs19o,410
33
33
  sarvamai/requests/audio_message.py,sha256=ZBeogjGE6YFXXM-0g8zq9SoizDk21reR0YXSB-0fMjg,214
34
34
  sarvamai/requests/audio_output.py,sha256=BnoX345rwoWgaMaj24u_19-SjmPV0xt7vlFEEDKRw20,280
@@ -76,6 +76,7 @@ sarvamai/requests/speech_to_text_translate_response_data.py,sha256=OmjunP9R2xert
76
76
  sarvamai/requests/speech_to_text_translate_streaming_response.py,sha256=KTjYZ0_oLapuM5Iiq7UwejMsrL1TGgFAW4k5l17TkZs,385
77
77
  sarvamai/requests/speech_to_text_translate_transcription_data.py,sha256=oAmW5ihTd301IJYN2u2KrZxB0j3EMacFBfvIhtOSjFI,595
78
78
  sarvamai/requests/stop_configuration.py,sha256=Xmp8zyUpnN65pH5A7NqefckB8wk53_BBzOUrgRm2gXs,146
79
+ sarvamai/requests/stt_flush_signal.py,sha256=dVb3oD3ZyXKyFd08O9O5PXJEx20oBx7vkUW5crFtxVg,498
79
80
  sarvamai/requests/task_detail_v_1.py,sha256=2rehl7dSDSgzaw13b9bODamhiN2uB-IK4cOksq8Vmqc,582
80
81
  sarvamai/requests/task_file_details.py,sha256=yf6NVXymizG9wTsCGl-xolsxDA_nDOzM3qeabiqMs60,186
81
82
  sarvamai/requests/text_to_speech_response.py,sha256=-FNMERV6zrwIH27htwBy3QiPY8WhbTmlmQ06RegYQaw,391
@@ -90,11 +91,12 @@ sarvamai/speech_to_text_job/__init__.py,sha256=_VhToAyIt_5axN6CLJwtxg3-CO7THa_23
90
91
  sarvamai/speech_to_text_job/client.py,sha256=WSGBJxYcNxl77Zd1X6VVWjg4zshqecXf6WCyhfLXVlI,18007
91
92
  sarvamai/speech_to_text_job/job.py,sha256=K8HOmwrYd6l82-MZfWDBmNkZeeERyg9YOihnFfvl-Js,15021
92
93
  sarvamai/speech_to_text_job/raw_client.py,sha256=OZTPzMhAn-ckE_xKzfZ9QLsEX5EZVOJS0Pf-PBa19jM,48200
93
- sarvamai/speech_to_text_streaming/__init__.py,sha256=q7QygMmZCHJ-4FMhhL_6XNV_dsqlIFRCO1iSxoyxaaY,437
94
- sarvamai/speech_to_text_streaming/client.py,sha256=AzStfZDXhu2YAJEpnVbsy0WObub5ctlGBzqfeYOUlpA,8442
95
- sarvamai/speech_to_text_streaming/raw_client.py,sha256=UrSRTR6NtB6SU0Ta8U2ER-PxBP1sDWL857l2LIaTxiU,7623
96
- sarvamai/speech_to_text_streaming/socket_client.py,sha256=QI0vEjDvNTG9-EH99NolIuARYwD-P8Fms8rqKOD9HJQ,6419
97
- sarvamai/speech_to_text_streaming/types/__init__.py,sha256=hzEDbcyy6K0Q9-Zx5k5lxAHxIgeHnAoPpvTLrL13YT0,599
94
+ sarvamai/speech_to_text_streaming/__init__.py,sha256=aVcI8kSlUpwLrPtA-4oUkuJ_D9Onha_qU49lA2vtEqU,515
95
+ sarvamai/speech_to_text_streaming/client.py,sha256=15k-UH2ROia2EymXia0BxVKbzBz7k1Rh9k7L9hgO5Fg,9206
96
+ sarvamai/speech_to_text_streaming/raw_client.py,sha256=69hAAD9mcpplo3gR7B5JXbo6Yys8bPT3DfSk1FjyI8Q,8387
97
+ sarvamai/speech_to_text_streaming/socket_client.py,sha256=N0wjuQ37WtTggQysWfB8pOwLIwmIkGRglZO9N2y5yHI,7870
98
+ sarvamai/speech_to_text_streaming/types/__init__.py,sha256=A99VJwG5fkik5SFTMDMKPZCjvKSaU2aQ02EbA5rrDlM,723
99
+ sarvamai/speech_to_text_streaming/types/speech_to_text_streaming_flush_signal.py,sha256=dDJOBlzAjhuiSVqW2RHHY1f6xy0DU_Yoo9UV8-7MjnA,173
98
100
  sarvamai/speech_to_text_streaming/types/speech_to_text_streaming_high_vad_sensitivity.py,sha256=OwPwffa8TkLPGMnOTn5S7d-HmV8QmN3B7fHz8I1-VT8,180
99
101
  sarvamai/speech_to_text_streaming/types/speech_to_text_streaming_language_code.py,sha256=LxgEifmgWTCFZn9U-f-TWKxRPng3a2J26Zt526QrA0Y,267
100
102
  sarvamai/speech_to_text_streaming/types/speech_to_text_streaming_model.py,sha256=b6F4ymgz4got6KVDqrweYvkET8itze63wUwWyjqDlO4,180
@@ -103,11 +105,12 @@ sarvamai/speech_to_text_translate_job/__init__.py,sha256=_VhToAyIt_5axN6CLJwtxg3
103
105
  sarvamai/speech_to_text_translate_job/client.py,sha256=xu8kYtCESDB7LzL8YKBUq5qhTPMIl3_H3XD2L_7y4UU,18969
104
106
  sarvamai/speech_to_text_translate_job/job.py,sha256=DU4k3eB28V8N16M_QEchakVng4IOul6_Qrdn3FumgHA,15208
105
107
  sarvamai/speech_to_text_translate_job/raw_client.py,sha256=dAitbu2B9afPK6iT9zNjUJnE5BIr5-lrAlwrfwFxdkU,49507
106
- sarvamai/speech_to_text_translate_streaming/__init__.py,sha256=_hmlce1Zs1grylysZhBUdtKfkaUROwVydtwz6l-1qqg,411
107
- sarvamai/speech_to_text_translate_streaming/client.py,sha256=xPPg5_JgpH8tYDUte6FGtpzXO2LGBUSRADN-ICqqA6U,8286
108
- sarvamai/speech_to_text_translate_streaming/raw_client.py,sha256=WUj5dGWQT2HUYLFoi3SRJzXk1JMuLxhPQzbL45G5kO8,7395
108
+ sarvamai/speech_to_text_translate_streaming/__init__.py,sha256=sDeWLagKUTg34tL7vpNNwr2gX4AznEn6NAy9jY-Znf4,507
109
+ sarvamai/speech_to_text_translate_streaming/client.py,sha256=41FAJekotqq08tDdxWqhT966B5Ofx9MuZgHAJ9xmwRQ,9137
110
+ sarvamai/speech_to_text_translate_streaming/raw_client.py,sha256=P-p7pNJNLrgra4HoUx1vG34RcLADYfQEpoVMYe-aMa0,8246
109
111
  sarvamai/speech_to_text_translate_streaming/socket_client.py,sha256=Xy86G9Mv1kGLf8xwFo3OBf98vqGQ50iigUAoOaApLdI,7842
110
- sarvamai/speech_to_text_translate_streaming/types/__init__.py,sha256=zyKoGAbKW4d0-Zi56F0RfPUqtk_xUjWjF_RjTxbXXW4,556
112
+ sarvamai/speech_to_text_translate_streaming/types/__init__.py,sha256=sK4Zv64ZcV33opFFaVd1kgnQnzjfXrSDhUwiEM85sZc,708
113
+ sarvamai/speech_to_text_translate_streaming/types/speech_to_text_translate_streaming_flush_signal.py,sha256=jkjvCGJ1pFKi3AOTkwMW-lo18WGgrgAhMpoe5P0AMzA,182
111
114
  sarvamai/speech_to_text_translate_streaming/types/speech_to_text_translate_streaming_high_vad_sensitivity.py,sha256=r6MvTlkM0VEpb4dpnMHtINOZ-gYc22o0Fx_Xce2rjvo,189
112
115
  sarvamai/speech_to_text_translate_streaming/types/speech_to_text_translate_streaming_model.py,sha256=6B8VxkpJG_pNprCSctseDtJb_ULVdKrPaeENkQ6Jvjg,187
113
116
  sarvamai/speech_to_text_translate_streaming/types/speech_to_text_translate_streaming_vad_signals.py,sha256=EV3xd9qyKMnMvA9rO-qFDDIac4b84roBu7n-maaPxG8,181
@@ -121,7 +124,7 @@ sarvamai/text_to_speech_streaming/__init__.py,sha256=_VhToAyIt_5axN6CLJwtxg3-CO7
121
124
  sarvamai/text_to_speech_streaming/client.py,sha256=tcYTUmWGseGQkLOsJdO4S3eZrFstjaLCPi5OcKflfus,6306
122
125
  sarvamai/text_to_speech_streaming/raw_client.py,sha256=VdL5HYpUotIm5HaOqTwRkyZqoV0BuzwCtAfcB0g1y10,5487
123
126
  sarvamai/text_to_speech_streaming/socket_client.py,sha256=NEcijnvjuNcWfzqpBi-xWsXVkL0NPq6EGAkEjnaq9hw,13909
124
- sarvamai/types/__init__.py,sha256=ilRhyVqS8gsWX_73IclMel-MzGS_zL5jk-7VrsdlmDU,7862
127
+ sarvamai/types/__init__.py,sha256=Zydymb6llnD7V1vFWM42RrXvyxvtE84e5ayeXL5iV30,7929
125
128
  sarvamai/types/audio_data.py,sha256=rgOukLkLNJ_HBBVE2g5dfEL2CWjRoGiMvCtpq0qTB1Y,829
126
129
  sarvamai/types/audio_message.py,sha256=sB4EgkWkWJzipYXobkmM9AYZTTZtCpg_ySKssUeznUE,560
127
130
  sarvamai/types/audio_output.py,sha256=Eq-YUZa1mSDwt7bax2c4Vv2gBlyM_JBJWzHhTAhFSko,621
@@ -190,6 +193,7 @@ sarvamai/types/speech_to_text_translate_transcription_data.py,sha256=-cZZm21um6e
190
193
  sarvamai/types/spoken_form_numerals_format.py,sha256=soBly93wMkazIcp2GDM0Mf1MjY140Pe24hBlwNoWge0,169
191
194
  sarvamai/types/stop_configuration.py,sha256=yA_q4s4BIrbl3FotZpg4ZcyL10C7gVI0s2dqvH32BNw,136
192
195
  sarvamai/types/storage_container_type.py,sha256=DZXDiDj74lMmUq6jaZfIMW1zMXgoVdY6rs_FcyB9OGk,184
196
+ sarvamai/types/stt_flush_signal.py,sha256=L-xRXxVRUzZ5uJGyf4-Y7yl5VZH8DF-lIIh31Z_cM10,892
193
197
  sarvamai/types/task_detail_v_1.py,sha256=Z-RotwB9BzegZqur--4HkCafyTcDvr0CosZ52St0Eeo,857
194
198
  sarvamai/types/task_file_details.py,sha256=oJV7zaUVrbqqw-If-2_V1aLk28qW0ZbeIDtIpn5-xUM,544
195
199
  sarvamai/types/task_state.py,sha256=fSrmD00Goi0J6s9hzqcFqz3Fkh37diBYpxnz4FkwHdU,182
@@ -211,6 +215,6 @@ sarvamai/types/transliterate_mode.py,sha256=1jSEMlGcoLkWuk12TgoOpSgwifa4rThGKZ1h
211
215
  sarvamai/types/transliterate_source_language.py,sha256=bSY9wJszF0sg-Cgg6F-YcWC8ly1mIlj9rqa15-jBtx8,283
212
216
  sarvamai/types/transliteration_response.py,sha256=yt-lzTbDeJ_ZL4I8kQa6oESxA9ebeJJY7LfFHpdEsmM,815
213
217
  sarvamai/version.py,sha256=Qkp3Ee9YH-O9RTix90e0i7iNrFAGN-QDt2AFwGA4n8k,75
214
- sarvamai-0.1.18a0.dist-info/METADATA,sha256=GCcWgRfMGBERxdaob_qr3shLcTHkF88vYGMoUC2_AMc,26753
215
- sarvamai-0.1.18a0.dist-info/WHEEL,sha256=Zb28QaM1gQi8f4VCBhsUklF61CTlNYfs9YAZn-TOGFk,88
216
- sarvamai-0.1.18a0.dist-info/RECORD,,
218
+ sarvamai-0.1.19a1.dist-info/METADATA,sha256=x59PbuWdgTKrL5EAZfr0SlbC0jqQKP5BfP0fGNjKQPE,26753
219
+ sarvamai-0.1.19a1.dist-info/WHEEL,sha256=Zb28QaM1gQi8f4VCBhsUklF61CTlNYfs9YAZn-TOGFk,88
220
+ sarvamai-0.1.19a1.dist-info/RECORD,,