syllable-sdk 0.35.56__py3-none-any.whl → 0.35.65__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.
syllable_sdk/_version.py CHANGED
@@ -3,10 +3,10 @@
3
3
  import importlib.metadata
4
4
 
5
5
  __title__: str = "syllable-sdk"
6
- __version__: str = "0.35.56"
6
+ __version__: str = "0.35.65"
7
7
  __openapi_doc_version__: str = "0.0.2"
8
- __gen_version__: str = "2.667.0"
9
- __user_agent__: str = "speakeasy-sdk/python 0.35.56 2.667.0 0.0.2 syllable-sdk"
8
+ __gen_version__: str = "2.674.1"
9
+ __user_agent__: str = "speakeasy-sdk/python 0.35.65 2.674.1 0.0.2 syllable-sdk"
10
10
 
11
11
  try:
12
12
  if __package__ is not None:
syllable_sdk/channels.py CHANGED
@@ -6,10 +6,10 @@ from syllable_sdk import errors, models, utils
6
6
  from syllable_sdk._hooks import HookContext
7
7
  from syllable_sdk.targets import Targets
8
8
  from syllable_sdk.twilio import Twilio
9
- from syllable_sdk.types import OptionalNullable, UNSET
9
+ from syllable_sdk.types import BaseModel, OptionalNullable, UNSET
10
10
  from syllable_sdk.utils import get_security_from_env
11
11
  from syllable_sdk.utils.unmarshal_json_response import unmarshal_json_response
12
- from typing import Any, List, Mapping, Optional
12
+ from typing import Any, List, Mapping, Optional, Union, cast
13
13
 
14
14
 
15
15
  class Channels(BaseSDK):
@@ -251,6 +251,378 @@ class Channels(BaseSDK):
251
251
 
252
252
  raise errors.APIError("Unexpected response received", http_res)
253
253
 
254
+ def create(
255
+ self,
256
+ *,
257
+ request: Union[
258
+ models.OrganizationChannelCreateRequest,
259
+ models.OrganizationChannelCreateRequestTypedDict,
260
+ ],
261
+ retries: OptionalNullable[utils.RetryConfig] = UNSET,
262
+ server_url: Optional[str] = None,
263
+ timeout_ms: Optional[int] = None,
264
+ http_headers: Optional[Mapping[str, str]] = None,
265
+ ) -> models.Channel:
266
+ r"""Create Channel
267
+
268
+ :param request: The request object to send.
269
+ :param retries: Override the default retry configuration for this method
270
+ :param server_url: Override the default server URL for this method
271
+ :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
272
+ :param http_headers: Additional headers to set or replace on requests.
273
+ """
274
+ base_url = None
275
+ url_variables = None
276
+ if timeout_ms is None:
277
+ timeout_ms = self.sdk_configuration.timeout_ms
278
+
279
+ if server_url is not None:
280
+ base_url = server_url
281
+ else:
282
+ base_url = self._get_url(base_url, url_variables)
283
+
284
+ if not isinstance(request, BaseModel):
285
+ request = utils.unmarshal(request, models.OrganizationChannelCreateRequest)
286
+ request = cast(models.OrganizationChannelCreateRequest, request)
287
+
288
+ req = self._build_request(
289
+ method="POST",
290
+ path="/api/v1/channels/",
291
+ base_url=base_url,
292
+ url_variables=url_variables,
293
+ request=request,
294
+ request_body_required=True,
295
+ request_has_path_params=False,
296
+ request_has_query_params=True,
297
+ user_agent_header="user-agent",
298
+ accept_header_value="application/json",
299
+ http_headers=http_headers,
300
+ security=self.sdk_configuration.security,
301
+ get_serialized_body=lambda: utils.serialize_request_body(
302
+ request, False, False, "json", models.OrganizationChannelCreateRequest
303
+ ),
304
+ timeout_ms=timeout_ms,
305
+ )
306
+
307
+ if retries == UNSET:
308
+ if self.sdk_configuration.retry_config is not UNSET:
309
+ retries = self.sdk_configuration.retry_config
310
+
311
+ retry_config = None
312
+ if isinstance(retries, utils.RetryConfig):
313
+ retry_config = (retries, ["429", "500", "502", "503", "504"])
314
+
315
+ http_res = self.do_request(
316
+ hook_ctx=HookContext(
317
+ config=self.sdk_configuration,
318
+ base_url=base_url or "",
319
+ operation_id="channels_create",
320
+ oauth2_scopes=[],
321
+ security_source=get_security_from_env(
322
+ self.sdk_configuration.security, models.Security
323
+ ),
324
+ ),
325
+ request=req,
326
+ error_status_codes=["422", "4XX", "5XX"],
327
+ retry_config=retry_config,
328
+ )
329
+
330
+ response_data: Any = None
331
+ if utils.match_response(http_res, "200", "application/json"):
332
+ return unmarshal_json_response(models.Channel, http_res)
333
+ if utils.match_response(http_res, "422", "application/json"):
334
+ response_data = unmarshal_json_response(
335
+ errors.HTTPValidationErrorData, http_res
336
+ )
337
+ raise errors.HTTPValidationError(response_data, http_res)
338
+ if utils.match_response(http_res, "4XX", "*"):
339
+ http_res_text = utils.stream_to_text(http_res)
340
+ raise errors.APIError("API error occurred", http_res, http_res_text)
341
+ if utils.match_response(http_res, "5XX", "*"):
342
+ http_res_text = utils.stream_to_text(http_res)
343
+ raise errors.APIError("API error occurred", http_res, http_res_text)
344
+
345
+ raise errors.APIError("Unexpected response received", http_res)
346
+
347
+ async def create_async(
348
+ self,
349
+ *,
350
+ request: Union[
351
+ models.OrganizationChannelCreateRequest,
352
+ models.OrganizationChannelCreateRequestTypedDict,
353
+ ],
354
+ retries: OptionalNullable[utils.RetryConfig] = UNSET,
355
+ server_url: Optional[str] = None,
356
+ timeout_ms: Optional[int] = None,
357
+ http_headers: Optional[Mapping[str, str]] = None,
358
+ ) -> models.Channel:
359
+ r"""Create Channel
360
+
361
+ :param request: The request object to send.
362
+ :param retries: Override the default retry configuration for this method
363
+ :param server_url: Override the default server URL for this method
364
+ :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
365
+ :param http_headers: Additional headers to set or replace on requests.
366
+ """
367
+ base_url = None
368
+ url_variables = None
369
+ if timeout_ms is None:
370
+ timeout_ms = self.sdk_configuration.timeout_ms
371
+
372
+ if server_url is not None:
373
+ base_url = server_url
374
+ else:
375
+ base_url = self._get_url(base_url, url_variables)
376
+
377
+ if not isinstance(request, BaseModel):
378
+ request = utils.unmarshal(request, models.OrganizationChannelCreateRequest)
379
+ request = cast(models.OrganizationChannelCreateRequest, request)
380
+
381
+ req = self._build_request_async(
382
+ method="POST",
383
+ path="/api/v1/channels/",
384
+ base_url=base_url,
385
+ url_variables=url_variables,
386
+ request=request,
387
+ request_body_required=True,
388
+ request_has_path_params=False,
389
+ request_has_query_params=True,
390
+ user_agent_header="user-agent",
391
+ accept_header_value="application/json",
392
+ http_headers=http_headers,
393
+ security=self.sdk_configuration.security,
394
+ get_serialized_body=lambda: utils.serialize_request_body(
395
+ request, False, False, "json", models.OrganizationChannelCreateRequest
396
+ ),
397
+ timeout_ms=timeout_ms,
398
+ )
399
+
400
+ if retries == UNSET:
401
+ if self.sdk_configuration.retry_config is not UNSET:
402
+ retries = self.sdk_configuration.retry_config
403
+
404
+ retry_config = None
405
+ if isinstance(retries, utils.RetryConfig):
406
+ retry_config = (retries, ["429", "500", "502", "503", "504"])
407
+
408
+ http_res = await self.do_request_async(
409
+ hook_ctx=HookContext(
410
+ config=self.sdk_configuration,
411
+ base_url=base_url or "",
412
+ operation_id="channels_create",
413
+ oauth2_scopes=[],
414
+ security_source=get_security_from_env(
415
+ self.sdk_configuration.security, models.Security
416
+ ),
417
+ ),
418
+ request=req,
419
+ error_status_codes=["422", "4XX", "5XX"],
420
+ retry_config=retry_config,
421
+ )
422
+
423
+ response_data: Any = None
424
+ if utils.match_response(http_res, "200", "application/json"):
425
+ return unmarshal_json_response(models.Channel, http_res)
426
+ if utils.match_response(http_res, "422", "application/json"):
427
+ response_data = unmarshal_json_response(
428
+ errors.HTTPValidationErrorData, http_res
429
+ )
430
+ raise errors.HTTPValidationError(response_data, http_res)
431
+ if utils.match_response(http_res, "4XX", "*"):
432
+ http_res_text = await utils.stream_to_text_async(http_res)
433
+ raise errors.APIError("API error occurred", http_res, http_res_text)
434
+ if utils.match_response(http_res, "5XX", "*"):
435
+ http_res_text = await utils.stream_to_text_async(http_res)
436
+ raise errors.APIError("API error occurred", http_res, http_res_text)
437
+
438
+ raise errors.APIError("Unexpected response received", http_res)
439
+
440
+ def update(
441
+ self,
442
+ *,
443
+ request: Union[
444
+ models.OrganizationChannelUpdateRequest,
445
+ models.OrganizationChannelUpdateRequestTypedDict,
446
+ ],
447
+ retries: OptionalNullable[utils.RetryConfig] = UNSET,
448
+ server_url: Optional[str] = None,
449
+ timeout_ms: Optional[int] = None,
450
+ http_headers: Optional[Mapping[str, str]] = None,
451
+ ) -> models.Channel:
452
+ r"""Update Channel
453
+
454
+ :param request: The request object to send.
455
+ :param retries: Override the default retry configuration for this method
456
+ :param server_url: Override the default server URL for this method
457
+ :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
458
+ :param http_headers: Additional headers to set or replace on requests.
459
+ """
460
+ base_url = None
461
+ url_variables = None
462
+ if timeout_ms is None:
463
+ timeout_ms = self.sdk_configuration.timeout_ms
464
+
465
+ if server_url is not None:
466
+ base_url = server_url
467
+ else:
468
+ base_url = self._get_url(base_url, url_variables)
469
+
470
+ if not isinstance(request, BaseModel):
471
+ request = utils.unmarshal(request, models.OrganizationChannelUpdateRequest)
472
+ request = cast(models.OrganizationChannelUpdateRequest, request)
473
+
474
+ req = self._build_request(
475
+ method="PUT",
476
+ path="/api/v1/channels/",
477
+ base_url=base_url,
478
+ url_variables=url_variables,
479
+ request=request,
480
+ request_body_required=True,
481
+ request_has_path_params=False,
482
+ request_has_query_params=True,
483
+ user_agent_header="user-agent",
484
+ accept_header_value="application/json",
485
+ http_headers=http_headers,
486
+ security=self.sdk_configuration.security,
487
+ get_serialized_body=lambda: utils.serialize_request_body(
488
+ request, False, False, "json", models.OrganizationChannelUpdateRequest
489
+ ),
490
+ timeout_ms=timeout_ms,
491
+ )
492
+
493
+ if retries == UNSET:
494
+ if self.sdk_configuration.retry_config is not UNSET:
495
+ retries = self.sdk_configuration.retry_config
496
+
497
+ retry_config = None
498
+ if isinstance(retries, utils.RetryConfig):
499
+ retry_config = (retries, ["429", "500", "502", "503", "504"])
500
+
501
+ http_res = self.do_request(
502
+ hook_ctx=HookContext(
503
+ config=self.sdk_configuration,
504
+ base_url=base_url or "",
505
+ operation_id="channels_update",
506
+ oauth2_scopes=[],
507
+ security_source=get_security_from_env(
508
+ self.sdk_configuration.security, models.Security
509
+ ),
510
+ ),
511
+ request=req,
512
+ error_status_codes=["422", "4XX", "5XX"],
513
+ retry_config=retry_config,
514
+ )
515
+
516
+ response_data: Any = None
517
+ if utils.match_response(http_res, "200", "application/json"):
518
+ return unmarshal_json_response(models.Channel, http_res)
519
+ if utils.match_response(http_res, "422", "application/json"):
520
+ response_data = unmarshal_json_response(
521
+ errors.HTTPValidationErrorData, http_res
522
+ )
523
+ raise errors.HTTPValidationError(response_data, http_res)
524
+ if utils.match_response(http_res, "4XX", "*"):
525
+ http_res_text = utils.stream_to_text(http_res)
526
+ raise errors.APIError("API error occurred", http_res, http_res_text)
527
+ if utils.match_response(http_res, "5XX", "*"):
528
+ http_res_text = utils.stream_to_text(http_res)
529
+ raise errors.APIError("API error occurred", http_res, http_res_text)
530
+
531
+ raise errors.APIError("Unexpected response received", http_res)
532
+
533
+ async def update_async(
534
+ self,
535
+ *,
536
+ request: Union[
537
+ models.OrganizationChannelUpdateRequest,
538
+ models.OrganizationChannelUpdateRequestTypedDict,
539
+ ],
540
+ retries: OptionalNullable[utils.RetryConfig] = UNSET,
541
+ server_url: Optional[str] = None,
542
+ timeout_ms: Optional[int] = None,
543
+ http_headers: Optional[Mapping[str, str]] = None,
544
+ ) -> models.Channel:
545
+ r"""Update Channel
546
+
547
+ :param request: The request object to send.
548
+ :param retries: Override the default retry configuration for this method
549
+ :param server_url: Override the default server URL for this method
550
+ :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
551
+ :param http_headers: Additional headers to set or replace on requests.
552
+ """
553
+ base_url = None
554
+ url_variables = None
555
+ if timeout_ms is None:
556
+ timeout_ms = self.sdk_configuration.timeout_ms
557
+
558
+ if server_url is not None:
559
+ base_url = server_url
560
+ else:
561
+ base_url = self._get_url(base_url, url_variables)
562
+
563
+ if not isinstance(request, BaseModel):
564
+ request = utils.unmarshal(request, models.OrganizationChannelUpdateRequest)
565
+ request = cast(models.OrganizationChannelUpdateRequest, request)
566
+
567
+ req = self._build_request_async(
568
+ method="PUT",
569
+ path="/api/v1/channels/",
570
+ base_url=base_url,
571
+ url_variables=url_variables,
572
+ request=request,
573
+ request_body_required=True,
574
+ request_has_path_params=False,
575
+ request_has_query_params=True,
576
+ user_agent_header="user-agent",
577
+ accept_header_value="application/json",
578
+ http_headers=http_headers,
579
+ security=self.sdk_configuration.security,
580
+ get_serialized_body=lambda: utils.serialize_request_body(
581
+ request, False, False, "json", models.OrganizationChannelUpdateRequest
582
+ ),
583
+ timeout_ms=timeout_ms,
584
+ )
585
+
586
+ if retries == UNSET:
587
+ if self.sdk_configuration.retry_config is not UNSET:
588
+ retries = self.sdk_configuration.retry_config
589
+
590
+ retry_config = None
591
+ if isinstance(retries, utils.RetryConfig):
592
+ retry_config = (retries, ["429", "500", "502", "503", "504"])
593
+
594
+ http_res = await self.do_request_async(
595
+ hook_ctx=HookContext(
596
+ config=self.sdk_configuration,
597
+ base_url=base_url or "",
598
+ operation_id="channels_update",
599
+ oauth2_scopes=[],
600
+ security_source=get_security_from_env(
601
+ self.sdk_configuration.security, models.Security
602
+ ),
603
+ ),
604
+ request=req,
605
+ error_status_codes=["422", "4XX", "5XX"],
606
+ retry_config=retry_config,
607
+ )
608
+
609
+ response_data: Any = None
610
+ if utils.match_response(http_res, "200", "application/json"):
611
+ return unmarshal_json_response(models.Channel, http_res)
612
+ if utils.match_response(http_res, "422", "application/json"):
613
+ response_data = unmarshal_json_response(
614
+ errors.HTTPValidationErrorData, http_res
615
+ )
616
+ raise errors.HTTPValidationError(response_data, http_res)
617
+ if utils.match_response(http_res, "4XX", "*"):
618
+ http_res_text = await utils.stream_to_text_async(http_res)
619
+ raise errors.APIError("API error occurred", http_res, http_res_text)
620
+ if utils.match_response(http_res, "5XX", "*"):
621
+ http_res_text = await utils.stream_to_text_async(http_res)
622
+ raise errors.APIError("API error occurred", http_res, http_res_text)
623
+
624
+ raise errors.APIError("Unexpected response received", http_res)
625
+
254
626
  def delete(
255
627
  self,
256
628
  *,
@@ -2,6 +2,7 @@
2
2
 
3
3
  from typing import TYPE_CHECKING
4
4
  from importlib import import_module
5
+ import builtins
5
6
 
6
7
  if TYPE_CHECKING:
7
8
  from .apierror import APIError
@@ -51,5 +52,5 @@ def __getattr__(attr_name: str) -> object:
51
52
 
52
53
 
53
54
  def __dir__():
54
- lazy_attrs = list(_dynamic_imports.keys())
55
- return sorted(lazy_attrs)
55
+ lazy_attrs = builtins.list(_dynamic_imports.keys())
56
+ return builtins.sorted(lazy_attrs)
@@ -4,6 +4,7 @@ from .agentresponse import AgentResponse, AgentResponseTypedDict
4
4
  from .channeltargetresponse import ChannelTargetResponse, ChannelTargetResponseTypedDict
5
5
  from typing import TYPE_CHECKING
6
6
  from importlib import import_module
7
+ import builtins
7
8
 
8
9
  if TYPE_CHECKING:
9
10
  from .agent_deleteop import AgentDeleteRequest, AgentDeleteRequestTypedDict
@@ -88,6 +89,7 @@ if TYPE_CHECKING:
88
89
  ChannelTargetsUpdateRequest,
89
90
  ChannelTargetsUpdateRequestTypedDict,
90
91
  )
92
+ from .channelconfigview import ChannelConfigView, ChannelConfigViewTypedDict
91
93
  from .channelproperties import ChannelProperties
92
94
  from .channels_listop import ChannelsListRequest, ChannelsListRequestTypedDict
93
95
  from .channels_twilio_get_by_idop import (
@@ -519,6 +521,18 @@ if TYPE_CHECKING:
519
521
  )
520
522
  from .logintype import LoginType
521
523
  from .orderbydirection import OrderByDirection
524
+ from .organizationchannelconfig import (
525
+ OrganizationChannelConfig,
526
+ OrganizationChannelConfigTypedDict,
527
+ )
528
+ from .organizationchannelcreaterequest import (
529
+ OrganizationChannelCreateRequest,
530
+ OrganizationChannelCreateRequestTypedDict,
531
+ )
532
+ from .organizationchannelupdaterequest import (
533
+ OrganizationChannelUpdateRequest,
534
+ OrganizationChannelUpdateRequestTypedDict,
535
+ )
522
536
  from .organizationresponse import (
523
537
  OrganizationResponse,
524
538
  OrganizationResponseTypedDict,
@@ -696,6 +710,10 @@ if TYPE_CHECKING:
696
710
  TakeoutStatusResponseTypedDict,
697
711
  )
698
712
  from .targetmodes import TargetModes
713
+ from .telephonyconfigurations import (
714
+ TelephonyConfigurations,
715
+ TelephonyConfigurationsTypedDict,
716
+ )
699
717
  from .testmessage import TestMessage, TestMessageTypedDict
700
718
  from .testmessageresponse import TestMessageResponse, TestMessageResponseTypedDict
701
719
  from .tool_deleteop import ToolDeleteRequest, ToolDeleteRequestTypedDict
@@ -866,6 +884,8 @@ __all__ = [
866
884
  "BodyOutboundBatchUploadTypedDict",
867
885
  "CampaignProperties",
868
886
  "Channel",
887
+ "ChannelConfigView",
888
+ "ChannelConfigViewTypedDict",
869
889
  "ChannelProperties",
870
890
  "ChannelServices",
871
891
  "ChannelTargetCreateRequest",
@@ -1148,6 +1168,12 @@ __all__ = [
1148
1168
  "Metadata",
1149
1169
  "MetadataTypedDict",
1150
1170
  "OrderByDirection",
1171
+ "OrganizationChannelConfig",
1172
+ "OrganizationChannelConfigTypedDict",
1173
+ "OrganizationChannelCreateRequest",
1174
+ "OrganizationChannelCreateRequestTypedDict",
1175
+ "OrganizationChannelUpdateRequest",
1176
+ "OrganizationChannelUpdateRequestTypedDict",
1151
1177
  "OrganizationResponse",
1152
1178
  "OrganizationResponseTypedDict",
1153
1179
  "OutboundBatchAddRequest",
@@ -1290,6 +1316,8 @@ __all__ = [
1290
1316
  "TakeoutsGetFileRequest",
1291
1317
  "TakeoutsGetFileRequestTypedDict",
1292
1318
  "TargetModes",
1319
+ "TelephonyConfigurations",
1320
+ "TelephonyConfigurationsTypedDict",
1293
1321
  "TestMessage",
1294
1322
  "TestMessageResponse",
1295
1323
  "TestMessageResponseTypedDict",
@@ -1444,6 +1472,8 @@ _dynamic_imports: dict[str, str] = {
1444
1472
  "ChannelTargetsListRequestTypedDict": ".channel_targets_listop",
1445
1473
  "ChannelTargetsUpdateRequest": ".channel_targets_updateop",
1446
1474
  "ChannelTargetsUpdateRequestTypedDict": ".channel_targets_updateop",
1475
+ "ChannelConfigView": ".channelconfigview",
1476
+ "ChannelConfigViewTypedDict": ".channelconfigview",
1447
1477
  "ChannelProperties": ".channelproperties",
1448
1478
  "ChannelsListRequest": ".channels_listop",
1449
1479
  "ChannelsListRequestTypedDict": ".channels_listop",
@@ -1715,6 +1745,12 @@ _dynamic_imports: dict[str, str] = {
1715
1745
  "ListResponseUserResponseTypedDict": ".listresponse_userresponse_",
1716
1746
  "LoginType": ".logintype",
1717
1747
  "OrderByDirection": ".orderbydirection",
1748
+ "OrganizationChannelConfig": ".organizationchannelconfig",
1749
+ "OrganizationChannelConfigTypedDict": ".organizationchannelconfig",
1750
+ "OrganizationChannelCreateRequest": ".organizationchannelcreaterequest",
1751
+ "OrganizationChannelCreateRequestTypedDict": ".organizationchannelcreaterequest",
1752
+ "OrganizationChannelUpdateRequest": ".organizationchannelupdaterequest",
1753
+ "OrganizationChannelUpdateRequestTypedDict": ".organizationchannelupdaterequest",
1718
1754
  "OrganizationResponse": ".organizationresponse",
1719
1755
  "OrganizationResponseTypedDict": ".organizationresponse",
1720
1756
  "OutboundBatchAddRequest": ".outbound_batch_addop",
@@ -1855,6 +1891,8 @@ _dynamic_imports: dict[str, str] = {
1855
1891
  "TakeoutStatusResponse": ".takeoutstatusresponse",
1856
1892
  "TakeoutStatusResponseTypedDict": ".takeoutstatusresponse",
1857
1893
  "TargetModes": ".targetmodes",
1894
+ "TelephonyConfigurations": ".telephonyconfigurations",
1895
+ "TelephonyConfigurationsTypedDict": ".telephonyconfigurations",
1858
1896
  "TestMessage": ".testmessage",
1859
1897
  "TestMessageTypedDict": ".testmessage",
1860
1898
  "TestMessageResponse": ".testmessageresponse",
@@ -1969,5 +2007,5 @@ def __getattr__(attr_name: str) -> object:
1969
2007
 
1970
2008
 
1971
2009
  def __dir__():
1972
- lazy_attrs = list(_dynamic_imports.keys())
1973
- return sorted(lazy_attrs)
2010
+ lazy_attrs = builtins.list(_dynamic_imports.keys())
2011
+ return builtins.sorted(lazy_attrs)
@@ -7,6 +7,12 @@ from enum import Enum
7
7
  class AgentVoiceDisplayName(str, Enum):
8
8
  r"""Display names of voices that Syllable supports."""
9
9
 
10
+ ACHERNAR_ENGLISH_ = "Achernar (English)"
11
+ ACHERNAR_KOREAN_ = "Achernar (Korean)"
12
+ ACHERNAR_MANDARIN_ = "Achernar (Mandarin)"
13
+ ACHERNAR_SPANISH_ = "Achernar (Spanish)"
14
+ ACHERNAR_THAI_ = "Achernar (Thai)"
15
+ ACHERNAR_VIETNAMESE_ = "Achernar (Vietnamese)"
10
16
  ALICE = "Alice"
11
17
  ALLOY = "Alloy"
12
18
  AOEDE_ENGLISH_ = "Aoede (English)"
@@ -18,6 +24,12 @@ class AgentVoiceDisplayName(str, Enum):
18
24
  ASH = "Ash"
19
25
  BILL = "Bill"
20
26
  BRIAN = "Brian"
27
+ CALLIRRHOE_ENGLISH_ = "Callirrhoe (English)"
28
+ CALLIRRHOE_KOREAN_ = "Callirrhoe (Korean)"
29
+ CALLIRRHOE_MANDARIN_ = "Callirrhoe (Mandarin)"
30
+ CALLIRRHOE_SPANISH_ = "Callirrhoe (Spanish)"
31
+ CALLIRRHOE_THAI_ = "Callirrhoe (Thai)"
32
+ CALLIRRHOE_VIETNAMESE_ = "Callirrhoe (Vietnamese)"
21
33
  CALLUM = "Callum"
22
34
  CHARLIE = "Charlie"
23
35
  CHARLOTTE = "Charlotte"
@@ -84,6 +96,18 @@ class AgentVoiceDisplayName(str, Enum):
84
96
  SARAH = "Sarah"
85
97
  SAGE = "Sage"
86
98
  SHIMMER = "Shimmer"
99
+ UMBRIEL_ENGLISH_ = "Umbriel (English)"
100
+ UMBRIEL_KOREAN_ = "Umbriel (Korean)"
101
+ UMBRIEL_MANDARIN_ = "Umbriel (Mandarin)"
102
+ UMBRIEL_SPANISH_ = "Umbriel (Spanish)"
103
+ UMBRIEL_THAI_ = "Umbriel (Thai)"
104
+ UMBRIEL_VIETNAMESE_ = "Umbriel (Vietnamese)"
105
+ VINDEMIATRIX_ENGLISH_ = "Vindemiatrix (English)"
106
+ VINDEMIATRIX_KOREAN_ = "Vindemiatrix (Korean)"
107
+ VINDEMIATRIX_MANDARIN_ = "Vindemiatrix (Mandarin)"
108
+ VINDEMIATRIX_SPANISH_ = "Vindemiatrix (Spanish)"
109
+ VINDEMIATRIX_THAI_ = "Vindemiatrix (Thai)"
110
+ VINDEMIATRIX_VIETNAMESE_ = "Vindemiatrix (Vietnamese)"
87
111
  VI_VN_NEURAL2_A = "vi-VN-Neural2-A"
88
112
  WILL = "Will"
89
113
  YUE_HK_STANDARD_C = "yue-HK-Standard-C"
@@ -35,6 +35,14 @@ class AgentVoiceVarName(str, Enum):
35
35
  ELEVENLABS_ROGER = "elevenlabs:Roger"
36
36
  ELEVENLABS_SARAH = "elevenlabs:Sarah"
37
37
  ELEVENLABS_WILL = "elevenlabs:Will"
38
+ WAVENET_FEMALE_EN_US_CHIRP3_HD_ACHERNAR = "wavenet:female/en-US-Chirp3-HD-Achernar"
39
+ WAVENET_FEMALE_KO_KR_CHIRP3_HD_ACHERNAR = "wavenet:female/ko-KR-Chirp3-HD-Achernar"
40
+ WAVENET_FEMALE_CMN_CN_CHIRP3_HD_ACHERNAR = (
41
+ "wavenet:female/cmn-CN-Chirp3-HD-Achernar"
42
+ )
43
+ WAVENET_FEMALE_ES_US_CHIRP3_HD_ACHERNAR = "wavenet:female/es-US-Chirp3-HD-Achernar"
44
+ WAVENET_FEMALE_TH_TH_CHIRP3_HD_ACHERNAR = "wavenet:female/th-TH-Chirp3-HD-Achernar"
45
+ WAVENET_FEMALE_VI_VN_CHIRP3_HD_ACHERNAR = "wavenet:female/vi-VN-Chirp3-HD-Achernar"
38
46
  WAVENET_FEMALE_EN_US_CHIRP3_HD_AOEDE = "wavenet:female/en-US-Chirp3-HD-Aoede"
39
47
  WAVENET_FEMALE_KO_KR_CHIRP3_HD_AOEDE = "wavenet:female/ko-KR-Chirp3-HD-Aoede"
40
48
  WAVENET_FEMALE_CMN_CN_CHIRP3_HD_AOEDE = "wavenet:female/cmn-CN-Chirp3-HD-Aoede"
@@ -42,6 +50,24 @@ class AgentVoiceVarName(str, Enum):
42
50
  WAVENET_FEMALE_TH_TH_CHIRP3_HD_AOEDE = "wavenet:female/th-TH-Chirp3-HD-Aoede"
43
51
  WAVENET_FEMALE_VI_VN_CHIRP3_HD_AOEDE = "wavenet:female/vi-VN-Chirp3-HD-Aoede"
44
52
  WAVENET_MALE_ES_US_NEURAL2_B = "wavenet:male/es-US-Neural2-B"
53
+ WAVENET_FEMALE_EN_US_CHIRP3_HD_CALLIRRHOE = (
54
+ "wavenet:female/en-US-Chirp3-HD-Callirrhoe"
55
+ )
56
+ WAVENET_FEMALE_KO_KR_CHIRP3_HD_CALLIRRHOE = (
57
+ "wavenet:female/ko-KR-Chirp3-HD-Callirrhoe"
58
+ )
59
+ WAVENET_FEMALE_CMN_CN_CHIRP3_HD_CALLIRRHOE = (
60
+ "wavenet:female/cmn-CN-Chirp3-HD-Callirrhoe"
61
+ )
62
+ WAVENET_FEMALE_ES_US_CHIRP3_HD_CALLIRRHOE = (
63
+ "wavenet:female/es-US-Chirp3-HD-Callirrhoe"
64
+ )
65
+ WAVENET_FEMALE_TH_TH_CHIRP3_HD_CALLIRRHOE = (
66
+ "wavenet:female/th-TH-Chirp3-HD-Callirrhoe"
67
+ )
68
+ WAVENET_FEMALE_VI_VN_CHIRP3_HD_CALLIRRHOE = (
69
+ "wavenet:female/vi-VN-Chirp3-HD-Callirrhoe"
70
+ )
45
71
  WAVENET_MALE_EN_US_CHIRP3_HD_CHARON = "wavenet:male/en-US-Chirp3-HD-Charon"
46
72
  WAVENET_MALE_KO_KR_CHIRP3_HD_CHARON = "wavenet:male/ko-KR-Chirp3-HD-Charon"
47
73
  WAVENET_MALE_CMN_CN_CHIRP3_HD_CHARON = "wavenet:male/cmn-CN-Chirp3-HD-Charon"
@@ -87,6 +113,30 @@ class AgentVoiceVarName(str, Enum):
87
113
  WAVENET_MALE_VI_VN_CHIRP3_HD_PUCK = "wavenet:male/vi-VN-Chirp3-HD-Puck"
88
114
  WAVENET_FEMALE_KO_KR_NEURAL2_A = "wavenet:female/ko-KR-Neural2-A"
89
115
  WAVENET_FEMALE_VI_VN_NEURAL2_A = "wavenet:female/vi-VN-Neural2-A"
116
+ WAVENET_MALE_EN_US_CHIRP3_HD_UMBRIEL = "wavenet:male/en-US-Chirp3-HD-Umbriel"
117
+ WAVENET_MALE_KO_KR_CHIRP3_HD_UMBRIEL = "wavenet:male/ko-KR-Chirp3-HD-Umbriel"
118
+ WAVENET_MALE_CMN_CN_CHIRP3_HD_UMBRIEL = "wavenet:male/cmn-CN-Chirp3-HD-Umbriel"
119
+ WAVENET_MALE_ES_US_CHIRP3_HD_UMBRIEL = "wavenet:male/es-US-Chirp3-HD-Umbriel"
120
+ WAVENET_MALE_TH_TH_CHIRP3_HD_UMBRIEL = "wavenet:male/th-TH-Chirp3-HD-Umbriel"
121
+ WAVENET_MALE_VI_VN_CHIRP3_HD_UMBRIEL = "wavenet:male/vi-VN-Chirp3-HD-Umbriel"
122
+ WAVENET_FEMALE_EN_US_CHIRP3_HD_VINDEMIATRIX = (
123
+ "wavenet:female/en-US-Chirp3-HD-Vindemiatrix"
124
+ )
125
+ WAVENET_FEMALE_KO_KR_CHIRP3_HD_VINDEMIATRIX = (
126
+ "wavenet:female/ko-KR-Chirp3-HD-Vindemiatrix"
127
+ )
128
+ WAVENET_FEMALE_CMN_CN_CHIRP3_HD_VINDEMIATRIX = (
129
+ "wavenet:female/cmn-CN-Chirp3-HD-Vindemiatrix"
130
+ )
131
+ WAVENET_FEMALE_ES_US_CHIRP3_HD_VINDEMIATRIX = (
132
+ "wavenet:female/es-US-Chirp3-HD-Vindemiatrix"
133
+ )
134
+ WAVENET_FEMALE_TH_TH_CHIRP3_HD_VINDEMIATRIX = (
135
+ "wavenet:female/th-TH-Chirp3-HD-Vindemiatrix"
136
+ )
137
+ WAVENET_FEMALE_VI_VN_CHIRP3_HD_VINDEMIATRIX = (
138
+ "wavenet:female/vi-VN-Chirp3-HD-Vindemiatrix"
139
+ )
90
140
  WAVENET_FEMALE_EN_US_CHIRP3_HD_ZEPHYR = "wavenet:female/en-US-Chirp3-HD-Zephyr"
91
141
  WAVENET_FEMALE_KO_KR_CHIRP3_HD_ZEPHYR = "wavenet:female/ko-KR-Chirp3-HD-Zephyr"
92
142
  WAVENET_FEMALE_CMN_CN_CHIRP3_HD_ZEPHYR = "wavenet:female/cmn-CN-Chirp3-HD-Zephyr"
@@ -1,6 +1,7 @@
1
1
  """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
2
 
3
3
  from __future__ import annotations
4
+ from .channelconfigview import ChannelConfigView, ChannelConfigViewTypedDict
4
5
  from .channelservices import ChannelServices
5
6
  from pydantic import model_serializer
6
7
  from syllable_sdk.types import (
@@ -25,6 +26,8 @@ class ChannelTypedDict(TypedDict):
25
26
  r"""The comma-delimited list of supported modes for the channel, which defines the possible communication methods for channel targets linked to it."""
26
27
  is_system_channel: NotRequired[bool]
27
28
  r"""Whether the channel is a built-in system channel (i.e., is not customizable)"""
29
+ config: NotRequired[Nullable[ChannelConfigViewTypedDict]]
30
+ r"""Configuration for the channel"""
28
31
 
29
32
 
30
33
  class Channel(BaseModel):
@@ -43,10 +46,13 @@ class Channel(BaseModel):
43
46
  is_system_channel: Optional[bool] = True
44
47
  r"""Whether the channel is a built-in system channel (i.e., is not customizable)"""
45
48
 
49
+ config: OptionalNullable[ChannelConfigView] = UNSET
50
+ r"""Configuration for the channel"""
51
+
46
52
  @model_serializer(mode="wrap")
47
53
  def serialize_model(self, handler):
48
- optional_fields = ["supported_modes", "is_system_channel"]
49
- nullable_fields = ["supported_modes"]
54
+ optional_fields = ["supported_modes", "is_system_channel", "config"]
55
+ nullable_fields = ["supported_modes", "config"]
50
56
  null_default_fields = []
51
57
 
52
58
  serialized = handler(self)