sarvamai 0.1.8rc3__py3-none-any.whl → 0.1.8rc5__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
@@ -16,7 +16,6 @@ from .types import (
16
16
  ChatCompletionRequestUserMessage,
17
17
  ChatCompletionResponseMessage,
18
18
  Choice,
19
- CloseConnection,
20
19
  CompletionUsage,
21
20
  ConfigMessage,
22
21
  CreateChatCompletionResponse,
@@ -30,6 +29,7 @@ from .types import (
30
29
  ErrorResponseData,
31
30
  EventsData,
32
31
  FinishReason,
32
+ FlushSignal,
33
33
  Format,
34
34
  InitializeConnection,
35
35
  InitializeConnectionData,
@@ -110,7 +110,6 @@ from .requests import (
110
110
  ChatCompletionRequestUserMessageParams,
111
111
  ChatCompletionResponseMessageParams,
112
112
  ChoiceParams,
113
- CloseConnectionParams,
114
113
  CompletionUsageParams,
115
114
  ConfigMessageParams,
116
115
  CreateChatCompletionResponseParams,
@@ -122,6 +121,7 @@ from .requests import (
122
121
  ErrorResponseDataParams,
123
122
  ErrorResponseParams,
124
123
  EventsDataParams,
124
+ FlushSignalParams,
125
125
  InitializeConnectionDataParams,
126
126
  InitializeConnectionParams,
127
127
  LanguageIdentificationResponseParams,
@@ -186,8 +186,6 @@ __all__ = [
186
186
  "ChatCompletionResponseMessageParams",
187
187
  "Choice",
188
188
  "ChoiceParams",
189
- "CloseConnection",
190
- "CloseConnectionParams",
191
189
  "CompletionUsage",
192
190
  "CompletionUsageParams",
193
191
  "ConfigMessage",
@@ -212,6 +210,8 @@ __all__ = [
212
210
  "EventsData",
213
211
  "EventsDataParams",
214
212
  "FinishReason",
213
+ "FlushSignal",
214
+ "FlushSignalParams",
215
215
  "ForbiddenError",
216
216
  "Format",
217
217
  "InitializeConnection",
@@ -17,10 +17,10 @@ class BaseClientWrapper:
17
17
 
18
18
  def get_headers(self) -> typing.Dict[str, str]:
19
19
  headers: typing.Dict[str, str] = {
20
- "User-Agent": "sarvamai/0.1.8rc3",
20
+ "User-Agent": "sarvamai/0.1.8rc5",
21
21
  "X-Fern-Language": "Python",
22
22
  "X-Fern-SDK-Name": "sarvamai",
23
- "X-Fern-SDK-Version": "0.1.8rc3",
23
+ "X-Fern-SDK-Version": "0.1.8rc5",
24
24
  }
25
25
  headers["api-subscription-key"] = self.api_subscription_key
26
26
  return headers
@@ -17,7 +17,6 @@ from .chat_completion_request_system_message import ChatCompletionRequestSystemM
17
17
  from .chat_completion_request_user_message import ChatCompletionRequestUserMessageParams
18
18
  from .chat_completion_response_message import ChatCompletionResponseMessageParams
19
19
  from .choice import ChoiceParams
20
- from .close_connection import CloseConnectionParams
21
20
  from .completion_usage import CompletionUsageParams
22
21
  from .config_message import ConfigMessageParams
23
22
  from .create_chat_completion_response import CreateChatCompletionResponseParams
@@ -29,6 +28,7 @@ from .error_message import ErrorMessageParams
29
28
  from .error_response import ErrorResponseParams
30
29
  from .error_response_data import ErrorResponseDataParams
31
30
  from .events_data import EventsDataParams
31
+ from .flush_signal import FlushSignalParams
32
32
  from .initialize_connection import InitializeConnectionParams
33
33
  from .initialize_connection_data import InitializeConnectionDataParams
34
34
  from .language_identification_response import LanguageIdentificationResponseParams
@@ -64,7 +64,6 @@ __all__ = [
64
64
  "ChatCompletionRequestUserMessageParams",
65
65
  "ChatCompletionResponseMessageParams",
66
66
  "ChoiceParams",
67
- "CloseConnectionParams",
68
67
  "CompletionUsageParams",
69
68
  "ConfigMessageParams",
70
69
  "CreateChatCompletionResponseParams",
@@ -76,6 +75,7 @@ __all__ = [
76
75
  "ErrorResponseDataParams",
77
76
  "ErrorResponseParams",
78
77
  "EventsDataParams",
78
+ "FlushSignalParams",
79
79
  "InitializeConnectionDataParams",
80
80
  "InitializeConnectionParams",
81
81
  "LanguageIdentificationResponseParams",
@@ -5,5 +5,5 @@ import typing
5
5
  import typing_extensions
6
6
 
7
7
 
8
- class CloseConnectionParams(typing_extensions.TypedDict):
8
+ class FlushSignalParams(typing_extensions.TypedDict):
9
9
  type: typing.Literal["flush"]
@@ -8,11 +8,13 @@ import websockets.sync.connection as websockets_sync_connection
8
8
  from ..core.events import EventEmitterMixin, EventType
9
9
  from ..core.pydantic_utilities import parse_obj_as
10
10
  from ..types.audio_output import AudioOutput
11
- from ..types.close_connection import CloseConnection
11
+ from ..types.flush_signal import FlushSignal
12
12
  from ..types.error_response import ErrorResponse
13
13
  from ..types.initialize_connection import InitializeConnection
14
+ from ..types.initialize_connection_data import InitializeConnectionData
14
15
  from ..types.ping_signal import PingSignal
15
16
  from ..types.send_text import SendText
17
+ from ..types.send_text_data import SendTextData
16
18
 
17
19
  TextToSpeechStreamingSocketClientResponse = typing.Union[AudioOutput, ErrorResponse]
18
20
 
@@ -24,6 +26,7 @@ class AsyncTextToSpeechStreamingSocketClient(EventEmitterMixin):
24
26
 
25
27
  async def __aiter__(self):
26
28
  async for message in self._websocket:
29
+ message = json.loads(message) if isinstance(message, str) else message
27
30
  yield parse_obj_as(TextToSpeechStreamingSocketClientResponse, message) # type: ignore
28
31
 
29
32
  async def start_listening(self):
@@ -39,6 +42,11 @@ class AsyncTextToSpeechStreamingSocketClient(EventEmitterMixin):
39
42
  self._emit(EventType.OPEN, None)
40
43
  try:
41
44
  async for raw_message in self._websocket:
45
+ raw_message = (
46
+ json.loads(raw_message)
47
+ if isinstance(raw_message, str)
48
+ else raw_message
49
+ )
42
50
  parsed = parse_obj_as(TextToSpeechStreamingSocketClientResponse, raw_message) # type: ignore
43
51
  self._emit(EventType.MESSAGE, parsed)
44
52
  except websockets.WebSocketException as exc:
@@ -46,32 +54,74 @@ class AsyncTextToSpeechStreamingSocketClient(EventEmitterMixin):
46
54
  finally:
47
55
  self._emit(EventType.CLOSE, None)
48
56
 
49
- async def send_initialize_connection(self, message: InitializeConnection) -> None:
50
- """
51
- Send a message to the websocket connection.
52
- The message will be sent as a InitializeConnection.
53
- """
57
+ async def initialize_connection(
58
+ self,
59
+ target_language_code: str,
60
+ speaker: str,
61
+ pitch: float = 0.0,
62
+ pace: float = 1.0,
63
+ loudness: float = 1.0,
64
+ speech_sample_rate: int = 22050,
65
+ enable_preprocessing: bool = False,
66
+ output_audio_codec: str = "mp3",
67
+ output_audio_bitrate: str = "128k",
68
+ min_buffer_size: int = 50,
69
+ max_chunk_length: int = 150,
70
+ ) -> None:
71
+ """
72
+ Initialize the TTS connection with configuration parameters.
73
+
74
+ :param target_language_code: Target language code (e.g., 'hi-IN')
75
+ :param speaker: Voice speaker name (e.g., 'meera', 'arvind')
76
+ :param pitch: Voice pitch adjustment (-1.0 to 1.0, default: 0.0)
77
+ :param pace: Speech pace (0.3 to 3.0, default: 1.0)
78
+ :param loudness: Voice loudness (0.1 to 3.0, default: 1.0)
79
+ :param speech_sample_rate: Audio sample rate, default: 22050
80
+ :param enable_preprocessing: Enable text preprocessing, default: False
81
+ :param output_audio_codec: Audio codec, default: 'mp3'
82
+ :param output_audio_bitrate: Audio bitrate, default: '128k'
83
+ :param min_buffer_size: Minimum buffer size, default: 50
84
+ :param max_chunk_length: Maximum chunk length, default: 150
85
+ """
86
+ data = InitializeConnectionData(
87
+ target_language_code=target_language_code,
88
+ speaker=speaker,
89
+ pitch=pitch,
90
+ pace=pace,
91
+ loudness=loudness,
92
+ speech_sample_rate=speech_sample_rate,
93
+ enable_preprocessing=enable_preprocessing,
94
+ output_audio_codec=output_audio_codec,
95
+ output_audio_bitrate=output_audio_bitrate,
96
+ min_buffer_size=min_buffer_size,
97
+ max_chunk_length=max_chunk_length,
98
+ )
99
+ message = InitializeConnection(data=data)
54
100
  await self._send_model(message)
55
101
 
56
- async def send_send_text(self, message: SendText) -> None:
102
+ async def convert(self, text: str) -> None:
57
103
  """
58
- Send a message to the websocket connection.
59
- The message will be sent as a SendText.
104
+ Send text to be converted to speech.
105
+
106
+ :param text: Text to be synthesized (1-2500 characters)
60
107
  """
108
+ data = SendTextData(text=text)
109
+ message = SendText(data=data)
61
110
  await self._send_model(message)
62
111
 
63
- async def send_close_connection(self, message: CloseConnection) -> None:
112
+ async def flush(self) -> None:
64
113
  """
65
- Send a message to the websocket connection.
66
- The message will be sent as a CloseConnection.
114
+ Signal to flush the buffer and finalize audio output.
115
+ This indicates the end of text input.
67
116
  """
117
+ message = FlushSignal()
68
118
  await self._send_model(message)
69
119
 
70
- async def send_ping_signal(self, message: PingSignal) -> None:
120
+ async def ping(self) -> None:
71
121
  """
72
- Send a message to the websocket connection.
73
- The message will be sent as a PingSignal.
122
+ Send ping signal to keep the WebSocket connection alive.
74
123
  """
124
+ message = PingSignal()
75
125
  await self._send_model(message)
76
126
 
77
127
  async def recv(self) -> TextToSpeechStreamingSocketClientResponse:
@@ -79,6 +129,7 @@ class AsyncTextToSpeechStreamingSocketClient(EventEmitterMixin):
79
129
  Receive a message from the websocket connection.
80
130
  """
81
131
  data = await self._websocket.recv()
132
+ data = json.loads(data) if isinstance(data, str) else data
82
133
  return parse_obj_as(TextToSpeechStreamingSocketClientResponse, data) # type: ignore
83
134
 
84
135
  async def _send(self, data: typing.Any) -> None:
@@ -103,6 +154,7 @@ class TextToSpeechStreamingSocketClient(EventEmitterMixin):
103
154
 
104
155
  def __iter__(self):
105
156
  for message in self._websocket:
157
+ message = json.loads(message) if isinstance(message, str) else message
106
158
  yield parse_obj_as(TextToSpeechStreamingSocketClientResponse, message) # type: ignore
107
159
 
108
160
  def start_listening(self):
@@ -118,6 +170,11 @@ class TextToSpeechStreamingSocketClient(EventEmitterMixin):
118
170
  self._emit(EventType.OPEN, None)
119
171
  try:
120
172
  for raw_message in self._websocket:
173
+ raw_message = (
174
+ json.loads(raw_message)
175
+ if isinstance(raw_message, str)
176
+ else raw_message
177
+ )
121
178
  parsed = parse_obj_as(TextToSpeechStreamingSocketClientResponse, raw_message) # type: ignore
122
179
  self._emit(EventType.MESSAGE, parsed)
123
180
  except websockets.WebSocketException as exc:
@@ -125,32 +182,74 @@ class TextToSpeechStreamingSocketClient(EventEmitterMixin):
125
182
  finally:
126
183
  self._emit(EventType.CLOSE, None)
127
184
 
128
- def send_initialize_connection(self, message: InitializeConnection) -> None:
129
- """
130
- Send a message to the websocket connection.
131
- The message will be sent as a InitializeConnection.
132
- """
185
+ def initialize_connection(
186
+ self,
187
+ target_language_code: str,
188
+ speaker: str,
189
+ pitch: float = 0.0,
190
+ pace: float = 1.0,
191
+ loudness: float = 1.0,
192
+ speech_sample_rate: int = 22050,
193
+ enable_preprocessing: bool = False,
194
+ output_audio_codec: str = "mp3",
195
+ output_audio_bitrate: str = "128k",
196
+ min_buffer_size: int = 50,
197
+ max_chunk_length: int = 150,
198
+ ) -> None:
199
+ """
200
+ Initialize the TTS connection with configuration parameters.
201
+
202
+ :param target_language_code: Target language code (e.g., 'hi-IN')
203
+ :param speaker: Voice speaker name (e.g., 'meera', 'arvind')
204
+ :param pitch: Voice pitch adjustment (-1.0 to 1.0, default: 0.0)
205
+ :param pace: Speech pace (0.3 to 3.0, default: 1.0)
206
+ :param loudness: Voice loudness (0.1 to 3.0, default: 1.0)
207
+ :param speech_sample_rate: Audio sample rate, default: 22050
208
+ :param enable_preprocessing: Enable text preprocessing, default: False
209
+ :param output_audio_codec: Audio codec, default: 'mp3'
210
+ :param output_audio_bitrate: Audio bitrate, default: '128k'
211
+ :param min_buffer_size: Minimum buffer size, default: 50
212
+ :param max_chunk_length: Maximum chunk length, default: 150
213
+ """
214
+ data = InitializeConnectionData(
215
+ target_language_code=target_language_code,
216
+ speaker=speaker,
217
+ pitch=pitch,
218
+ pace=pace,
219
+ loudness=loudness,
220
+ speech_sample_rate=speech_sample_rate,
221
+ enable_preprocessing=enable_preprocessing,
222
+ output_audio_codec=output_audio_codec,
223
+ output_audio_bitrate=output_audio_bitrate,
224
+ min_buffer_size=min_buffer_size,
225
+ max_chunk_length=max_chunk_length,
226
+ )
227
+ message = InitializeConnection(data=data)
133
228
  self._send_model(message)
134
229
 
135
- def send_send_text(self, message: SendText) -> None:
230
+ def convert(self, text: str) -> None:
136
231
  """
137
- Send a message to the websocket connection.
138
- The message will be sent as a SendText.
232
+ Send text to be converted to speech.
233
+
234
+ :param text: Text to be synthesized (1-2500 characters)
139
235
  """
236
+ data = SendTextData(text=text)
237
+ message = SendText(data=data)
140
238
  self._send_model(message)
141
239
 
142
- def send_close_connection(self, message: CloseConnection) -> None:
240
+ def flush(self) -> None:
143
241
  """
144
- Send a message to the websocket connection.
145
- The message will be sent as a CloseConnection.
242
+ Signal to flush the buffer and finalize audio output.
243
+ This indicates the end of text input.
146
244
  """
245
+ message = FlushSignal()
147
246
  self._send_model(message)
148
247
 
149
- def send_ping_signal(self, message: PingSignal) -> None:
248
+ def ping(self) -> None:
150
249
  """
151
- Send a message to the websocket connection.
152
- The message will be sent as a PingSignal.
250
+ Send ping signal to keep the WebSocket connection alive.
153
251
  """
252
+ message = PingSignal()
154
253
  self._send_model(message)
155
254
 
156
255
  def recv(self) -> TextToSpeechStreamingSocketClientResponse:
@@ -158,6 +257,7 @@ class TextToSpeechStreamingSocketClient(EventEmitterMixin):
158
257
  Receive a message from the websocket connection.
159
258
  """
160
259
  data = self._websocket.recv()
260
+ data = json.loads(data) if isinstance(data, str) else data
161
261
  return parse_obj_as(TextToSpeechStreamingSocketClientResponse, data) # type: ignore
162
262
 
163
263
  def _send(self, data: typing.Any) -> None:
@@ -17,7 +17,6 @@ from .chat_completion_request_system_message import ChatCompletionRequestSystemM
17
17
  from .chat_completion_request_user_message import ChatCompletionRequestUserMessage
18
18
  from .chat_completion_response_message import ChatCompletionResponseMessage
19
19
  from .choice import Choice
20
- from .close_connection import CloseConnection
21
20
  from .completion_usage import CompletionUsage
22
21
  from .config_message import ConfigMessage
23
22
  from .create_chat_completion_response import CreateChatCompletionResponse
@@ -31,6 +30,7 @@ from .error_response import ErrorResponse
31
30
  from .error_response_data import ErrorResponseData
32
31
  from .events_data import EventsData
33
32
  from .finish_reason import FinishReason
33
+ from .flush_signal import FlushSignal
34
34
  from .format import Format
35
35
  from .initialize_connection import InitializeConnection
36
36
  from .initialize_connection_data import InitializeConnectionData
@@ -92,7 +92,6 @@ __all__ = [
92
92
  "ChatCompletionRequestUserMessage",
93
93
  "ChatCompletionResponseMessage",
94
94
  "Choice",
95
- "CloseConnection",
96
95
  "CompletionUsage",
97
96
  "ConfigMessage",
98
97
  "CreateChatCompletionResponse",
@@ -106,6 +105,7 @@ __all__ = [
106
105
  "ErrorResponseData",
107
106
  "EventsData",
108
107
  "FinishReason",
108
+ "FlushSignal",
109
109
  "Format",
110
110
  "InitializeConnection",
111
111
  "InitializeConnectionData",
@@ -6,7 +6,7 @@ import pydantic
6
6
  from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
7
7
 
8
8
 
9
- class CloseConnection(UniversalBaseModel):
9
+ class FlushSignal(UniversalBaseModel):
10
10
  type: typing.Literal["flush"] = "flush"
11
11
 
12
12
  if IS_PYDANTIC_V2:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sarvamai
3
- Version: 0.1.8rc3
3
+ Version: 0.1.8rc5
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=j9fFu7SIJXzjAmYb9Majr2Ir-ojDhH2dHjxsUVOxgc4,8953
1
+ sarvamai/__init__.py,sha256=1T6EojO84La_t1nZ0AphCawAVhYQAlgMk8A7ZC0FH4M,8937
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=aI1sw5LVGMjgukgZLDlUmA17ecK1yGsQxH-W_JiCrco,7177
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=4X5OQTI0A__Cf2SlaCAN5xRAzRmOAjEDwg09z9V80gU,2080
8
+ sarvamai/core/client_wrapper.py,sha256=ucQFDVPXC5Z3Tn-1T8MlxyL0QrswihfNYW1J7w8LJS0,2080
9
9
  sarvamai/core/datetime_utils.py,sha256=nBys2IsYrhPdszxGKCNRPSOCwa-5DWOHG95FB8G9PKo,1047
10
10
  sarvamai/core/events.py,sha256=j7VWXgMpOsjCXdzY22wIhI7Q-v5InZ4WchRzA88x_Sk,856
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=9o0Quh-d3Pg5ybS95fzgR4aA5IpJahRbOY-Y-ebvarw,4496
31
+ sarvamai/requests/__init__.py,sha256=UmEj75u8yYiZYL0M0QVJoCuS8oduaH82eD3bmP-6myg,4484
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
@@ -39,7 +39,6 @@ sarvamai/requests/chat_completion_request_system_message.py,sha256=ZvjBuyL0oM7Vw
39
39
  sarvamai/requests/chat_completion_request_user_message.py,sha256=IqYy7K-qF9oQ8AUIvuH06EsLL-Wn6QufPMPpSR-VNGI,238
40
40
  sarvamai/requests/chat_completion_response_message.py,sha256=JFazj4zK-nj_wjdvNLDkcfIFxIlqw49Xf_P8o7d70aY,336
41
41
  sarvamai/requests/choice.py,sha256=uulX4MZUoThEMcD3a80o_3V5YpnpqN8DfPaNZWVz-1o,867
42
- sarvamai/requests/close_connection.py,sha256=p6_bsmzUCDRnIZN3cLN_UPXT7t-_22CYhVixi7pq90c,199
43
42
  sarvamai/requests/completion_usage.py,sha256=LbZV-RxcxKdCAYqhCiaRtSFF3VwMJq71A989Z1rm-I8,428
44
43
  sarvamai/requests/config_message.py,sha256=EpYioGvDhCXDMvGH7Q1F7448zJzoHmlkQ1owoNGbWAw,383
45
44
  sarvamai/requests/create_chat_completion_response.py,sha256=TqS9u5_WVWMok_NreT4TeOsLJQeybPkbJm45Q0Zxw30,857
@@ -51,6 +50,7 @@ sarvamai/requests/error_message.py,sha256=-J21pfEJghsms4pNe55O_9qkODNd-BKLMt96AO
51
50
  sarvamai/requests/error_response.py,sha256=A8j12JQ7JJkUcnt26k2M9uwXXkwyT-LNqG3BO3U8NIk,288
52
51
  sarvamai/requests/error_response_data.py,sha256=l9tGTykaKZ8pKxdw9RKitpW49kKcs4aGibH7rKG2v7w,461
53
52
  sarvamai/requests/events_data.py,sha256=3seSash8DysPUWX6mKPzoEzWZlsrK4Tann2GFSbQjZg,286
53
+ sarvamai/requests/flush_signal.py,sha256=k087oW96WFiC0j5opFMjytgqXPi37jYljhCEqLx9d5o,195
54
54
  sarvamai/requests/initialize_connection.py,sha256=QO4zyg2gEAeNRcxuew6Y5UW9l7OYG68sj_mL3c26GpA,317
55
55
  sarvamai/requests/initialize_connection_data.py,sha256=R6DA52P2Qlum2uz6Hld5QVSJgfY9GQGIcbvyyJOHK9A,1154
56
56
  sarvamai/requests/language_identification_response.py,sha256=BdS5U9Gic-71vb--ph6HGvd2hGNKDXERC7yrn8vFcvI,1098
@@ -100,10 +100,10 @@ sarvamai/text_to_speech/raw_client.py,sha256=3Zu6HN_FOY683Vm-EN-OL7YAbLsftjJlFm5
100
100
  sarvamai/text_to_speech_streaming/__init__.py,sha256=AyHwl9te1mTfiz6IkMU20quN-0RP5njbchknXCz-oK8,173
101
101
  sarvamai/text_to_speech_streaming/client.py,sha256=sEC5mVNALldkZri3gHVxHcJCI9TmVwF1vPTL8vfatbY,6161
102
102
  sarvamai/text_to_speech_streaming/raw_client.py,sha256=DXsU8Rq27yZGINkRmyeyqPWLlSAGsR1RTJWJH81FlTI,5342
103
- sarvamai/text_to_speech_streaming/socket_client.py,sha256=fKGmayvIj3qnmnuDlz_QrPDN14CvrtgkGVh0k27yI68,6313
103
+ sarvamai/text_to_speech_streaming/socket_client.py,sha256=qZpHFC1z1c6T_FaGOW6CPtWE15glmqClmdc5Iixa7FY,10429
104
104
  sarvamai/text_to_speech_streaming/types/__init__.py,sha256=DUsvIGTtST5N1v3Hnodq5aNKfPcTBlod28DSypc8NzA,198
105
105
  sarvamai/text_to_speech_streaming/types/text_to_speech_streaming_model.py,sha256=1uOMrJIaAxi_XzwCYmnG5XA-il66cq9uC4ZuiI7HCHo,176
106
- sarvamai/types/__init__.py,sha256=oCDY6p7Hfd26vLAvluWMrP-qpUd-BJdlVE-KipWXqR8,6332
106
+ sarvamai/types/__init__.py,sha256=_5KKlTtdY4kOQ3go9T60EPmSA53AOFGbF5VJOkcnros,6320
107
107
  sarvamai/types/audio_data.py,sha256=rgOukLkLNJ_HBBVE2g5dfEL2CWjRoGiMvCtpq0qTB1Y,829
108
108
  sarvamai/types/audio_message.py,sha256=sB4EgkWkWJzipYXobkmM9AYZTTZtCpg_ySKssUeznUE,560
109
109
  sarvamai/types/audio_output.py,sha256=Eq-YUZa1mSDwt7bax2c4Vv2gBlyM_JBJWzHhTAhFSko,621
@@ -114,7 +114,6 @@ sarvamai/types/chat_completion_request_system_message.py,sha256=E7YhTk1zr4u7dj_y
114
114
  sarvamai/types/chat_completion_request_user_message.py,sha256=J3WhlrfOfCCe7ugmJIfP_L9st3OFtXkIjZTSuR8O9nQ,615
115
115
  sarvamai/types/chat_completion_response_message.py,sha256=wz935eBnCkSIl0I0qMxBuH4vAUCso1aHDGReMW1VHGE,744
116
116
  sarvamai/types/choice.py,sha256=uXBCsjWP9VK3XWQWZUeI4EnU10w0G9nAfKn2tJZvxko,1244
117
- sarvamai/types/close_connection.py,sha256=bsPGGh7yYJv0tikBRXmEe6ZC1GsUJy5kwwt30kiiqK4,552
118
117
  sarvamai/types/completion_usage.py,sha256=xYQGlQUbKqsksuV73H-1ajjfT5M7w47eLfdWXSlrI5M,843
119
118
  sarvamai/types/config_message.py,sha256=sGrT-qYTRqLVfIo5nRUuRlqPtPVmiAkUAnaMtlmQYCU,778
120
119
  sarvamai/types/create_chat_completion_response.py,sha256=4nEzeWzHGW1_BmRAtOuGsbRZ0ojNgnzJSMUFyYuYviw,1285
@@ -128,6 +127,7 @@ sarvamai/types/error_response.py,sha256=3m17Aj3GY_-mSY2lH-GkbuiyewTm-wNL9UQ1exLv
128
127
  sarvamai/types/error_response_data.py,sha256=hncN_zmPg8kqSHjNciYLn2QeNqzqHxKiZDlKOvjKdwA,838
129
128
  sarvamai/types/events_data.py,sha256=hDSOyODc8-lmpduJIQkps9kHlUZKYXGw3lETi8irHt0,681
130
129
  sarvamai/types/finish_reason.py,sha256=PBWtBNkX4FMaODmlUehpF6qLB5uH_zR-Mw3M4uhIB6U,209
130
+ sarvamai/types/flush_signal.py,sha256=zX-jCXQixmellMi1-NKKPyqcRaxeOMycw90fKRpWWAQ,548
131
131
  sarvamai/types/format.py,sha256=57LicD0XLqW4D1QEnZWsWGifzRy1GV9P5utKPXLoxtg,144
132
132
  sarvamai/types/initialize_connection.py,sha256=qL9vhyZL7fJxV1UFHtCmFMYaVgZkCWMkP4v-TCREAow,659
133
133
  sarvamai/types/initialize_connection_data.py,sha256=iCl6fC3QpmIJXOkoC3TjVU4HmUQdbq95RJUHe0nRv1M,1413
@@ -175,6 +175,6 @@ sarvamai/types/transliterate_mode.py,sha256=1jSEMlGcoLkWuk12TgoOpSgwifa4rThGKZ1h
175
175
  sarvamai/types/transliterate_source_language.py,sha256=bSY9wJszF0sg-Cgg6F-YcWC8ly1mIlj9rqa15-jBtx8,283
176
176
  sarvamai/types/transliteration_response.py,sha256=yt-lzTbDeJ_ZL4I8kQa6oESxA9ebeJJY7LfFHpdEsmM,815
177
177
  sarvamai/version.py,sha256=Qkp3Ee9YH-O9RTix90e0i7iNrFAGN-QDt2AFwGA4n8k,75
178
- sarvamai-0.1.8rc3.dist-info/METADATA,sha256=67z0IA-D0ClqEykj_oN9lC7zWXA484eqFN8xelZSXws,26760
179
- sarvamai-0.1.8rc3.dist-info/WHEEL,sha256=Zb28QaM1gQi8f4VCBhsUklF61CTlNYfs9YAZn-TOGFk,88
180
- sarvamai-0.1.8rc3.dist-info/RECORD,,
178
+ sarvamai-0.1.8rc5.dist-info/METADATA,sha256=UJapTnAvJLabUeDXBxpUj9-KIZQeHYdoeoCNsHKLUvQ,26760
179
+ sarvamai-0.1.8rc5.dist-info/WHEEL,sha256=Zb28QaM1gQi8f4VCBhsUklF61CTlNYfs9YAZn-TOGFk,88
180
+ sarvamai-0.1.8rc5.dist-info/RECORD,,