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 +3 -3
- syllable_sdk/channels.py +374 -2
- syllable_sdk/errors/__init__.py +3 -2
- syllable_sdk/models/__init__.py +40 -2
- syllable_sdk/models/agentvoicedisplayname.py +24 -0
- syllable_sdk/models/agentvoicevarname.py +50 -0
- syllable_sdk/models/channel.py +8 -2
- syllable_sdk/models/channelconfigview.py +56 -0
- syllable_sdk/models/languagecode.py +2 -0
- syllable_sdk/models/organizationchannelconfig.py +70 -0
- syllable_sdk/models/organizationchannelcreaterequest.py +82 -0
- syllable_sdk/models/organizationchannelupdaterequest.py +87 -0
- syllable_sdk/models/supportedllm.py +3 -3
- syllable_sdk/models/telephonyconfigurations.py +84 -0
- syllable_sdk/models/usercreaterequest.py +7 -1
- syllable_sdk/models/users_send_emailop.py +9 -2
- syllable_sdk/users.py +6 -0
- syllable_sdk/utils/__init__.py +3 -2
- syllable_sdk/v1.py +6 -0
- {syllable_sdk-0.35.56.dist-info → syllable_sdk-0.35.65.dist-info}/METADATA +3 -1
- {syllable_sdk-0.35.56.dist-info → syllable_sdk-0.35.65.dist-info}/RECORD +22 -17
- {syllable_sdk-0.35.56.dist-info → syllable_sdk-0.35.65.dist-info}/WHEEL +0 -0
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.
|
|
6
|
+
__version__: str = "0.35.65"
|
|
7
7
|
__openapi_doc_version__: str = "0.0.2"
|
|
8
|
-
__gen_version__: str = "2.
|
|
9
|
-
__user_agent__: str = "speakeasy-sdk/python 0.35.
|
|
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
|
*,
|
syllable_sdk/errors/__init__.py
CHANGED
|
@@ -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)
|
syllable_sdk/models/__init__.py
CHANGED
|
@@ -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"
|
syllable_sdk/models/channel.py
CHANGED
|
@@ -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)
|