syllable-sdk 0.35.50__py3-none-any.whl → 0.35.58__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/models/__init__.py +43 -0
- syllable_sdk/models/channel.py +8 -2
- syllable_sdk/models/channelconfigview.py +56 -0
- syllable_sdk/models/insightsuploadfileproperties.py +1 -0
- syllable_sdk/models/insightworkflowcondition.py +10 -2
- syllable_sdk/models/organizationchannelconfig.py +70 -0
- syllable_sdk/models/organizationchannelcreaterequest.py +82 -0
- syllable_sdk/models/organizationchannelupdaterequest.py +87 -0
- syllable_sdk/models/servicecreaterequest.py +5 -5
- syllable_sdk/models/serviceupdaterequest.py +5 -5
- syllable_sdk/models/telephonyconfigurations.py +84 -0
- {syllable_sdk-0.35.50.dist-info → syllable_sdk-0.35.58.dist-info}/METADATA +3 -1
- {syllable_sdk-0.35.50.dist-info → syllable_sdk-0.35.58.dist-info}/RECORD +16 -11
- {syllable_sdk-0.35.50.dist-info → syllable_sdk-0.35.58.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.58"
|
|
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.668.4"
|
|
9
|
+
__user_agent__: str = "speakeasy-sdk/python 0.35.58 2.668.4 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/models/__init__.py
CHANGED
|
@@ -88,6 +88,7 @@ if TYPE_CHECKING:
|
|
|
88
88
|
ChannelTargetsUpdateRequest,
|
|
89
89
|
ChannelTargetsUpdateRequestTypedDict,
|
|
90
90
|
)
|
|
91
|
+
from .channelconfigview import ChannelConfigView, ChannelConfigViewTypedDict
|
|
91
92
|
from .channelproperties import ChannelProperties
|
|
92
93
|
from .channels_listop import ChannelsListRequest, ChannelsListRequestTypedDict
|
|
93
94
|
from .channels_twilio_get_by_idop import (
|
|
@@ -371,6 +372,8 @@ if TYPE_CHECKING:
|
|
|
371
372
|
AgentListTypedDict,
|
|
372
373
|
InsightWorkflowCondition,
|
|
373
374
|
InsightWorkflowConditionTypedDict,
|
|
375
|
+
SampleRate,
|
|
376
|
+
SampleRateTypedDict,
|
|
374
377
|
)
|
|
375
378
|
from .insightworkflowestimate import (
|
|
376
379
|
InsightWorkflowEstimate,
|
|
@@ -517,6 +520,18 @@ if TYPE_CHECKING:
|
|
|
517
520
|
)
|
|
518
521
|
from .logintype import LoginType
|
|
519
522
|
from .orderbydirection import OrderByDirection
|
|
523
|
+
from .organizationchannelconfig import (
|
|
524
|
+
OrganizationChannelConfig,
|
|
525
|
+
OrganizationChannelConfigTypedDict,
|
|
526
|
+
)
|
|
527
|
+
from .organizationchannelcreaterequest import (
|
|
528
|
+
OrganizationChannelCreateRequest,
|
|
529
|
+
OrganizationChannelCreateRequestTypedDict,
|
|
530
|
+
)
|
|
531
|
+
from .organizationchannelupdaterequest import (
|
|
532
|
+
OrganizationChannelUpdateRequest,
|
|
533
|
+
OrganizationChannelUpdateRequestTypedDict,
|
|
534
|
+
)
|
|
520
535
|
from .organizationresponse import (
|
|
521
536
|
OrganizationResponse,
|
|
522
537
|
OrganizationResponseTypedDict,
|
|
@@ -694,6 +709,10 @@ if TYPE_CHECKING:
|
|
|
694
709
|
TakeoutStatusResponseTypedDict,
|
|
695
710
|
)
|
|
696
711
|
from .targetmodes import TargetModes
|
|
712
|
+
from .telephonyconfigurations import (
|
|
713
|
+
TelephonyConfigurations,
|
|
714
|
+
TelephonyConfigurationsTypedDict,
|
|
715
|
+
)
|
|
697
716
|
from .testmessage import TestMessage, TestMessageTypedDict
|
|
698
717
|
from .testmessageresponse import TestMessageResponse, TestMessageResponseTypedDict
|
|
699
718
|
from .tool_deleteop import ToolDeleteRequest, ToolDeleteRequestTypedDict
|
|
@@ -864,6 +883,8 @@ __all__ = [
|
|
|
864
883
|
"BodyOutboundBatchUploadTypedDict",
|
|
865
884
|
"CampaignProperties",
|
|
866
885
|
"Channel",
|
|
886
|
+
"ChannelConfigView",
|
|
887
|
+
"ChannelConfigViewTypedDict",
|
|
867
888
|
"ChannelProperties",
|
|
868
889
|
"ChannelServices",
|
|
869
890
|
"ChannelTargetCreateRequest",
|
|
@@ -1146,6 +1167,12 @@ __all__ = [
|
|
|
1146
1167
|
"Metadata",
|
|
1147
1168
|
"MetadataTypedDict",
|
|
1148
1169
|
"OrderByDirection",
|
|
1170
|
+
"OrganizationChannelConfig",
|
|
1171
|
+
"OrganizationChannelConfigTypedDict",
|
|
1172
|
+
"OrganizationChannelCreateRequest",
|
|
1173
|
+
"OrganizationChannelCreateRequestTypedDict",
|
|
1174
|
+
"OrganizationChannelUpdateRequest",
|
|
1175
|
+
"OrganizationChannelUpdateRequestTypedDict",
|
|
1149
1176
|
"OrganizationResponse",
|
|
1150
1177
|
"OrganizationResponseTypedDict",
|
|
1151
1178
|
"OutboundBatchAddRequest",
|
|
@@ -1218,6 +1245,8 @@ __all__ = [
|
|
|
1218
1245
|
"RolesGetByIDRequestTypedDict",
|
|
1219
1246
|
"RolesListRequest",
|
|
1220
1247
|
"RolesListRequestTypedDict",
|
|
1248
|
+
"SampleRate",
|
|
1249
|
+
"SampleRateTypedDict",
|
|
1221
1250
|
"Security",
|
|
1222
1251
|
"SecurityTypedDict",
|
|
1223
1252
|
"ServiceCreateRequest",
|
|
@@ -1286,6 +1315,8 @@ __all__ = [
|
|
|
1286
1315
|
"TakeoutsGetFileRequest",
|
|
1287
1316
|
"TakeoutsGetFileRequestTypedDict",
|
|
1288
1317
|
"TargetModes",
|
|
1318
|
+
"TelephonyConfigurations",
|
|
1319
|
+
"TelephonyConfigurationsTypedDict",
|
|
1289
1320
|
"TestMessage",
|
|
1290
1321
|
"TestMessageResponse",
|
|
1291
1322
|
"TestMessageResponseTypedDict",
|
|
@@ -1440,6 +1471,8 @@ _dynamic_imports: dict[str, str] = {
|
|
|
1440
1471
|
"ChannelTargetsListRequestTypedDict": ".channel_targets_listop",
|
|
1441
1472
|
"ChannelTargetsUpdateRequest": ".channel_targets_updateop",
|
|
1442
1473
|
"ChannelTargetsUpdateRequestTypedDict": ".channel_targets_updateop",
|
|
1474
|
+
"ChannelConfigView": ".channelconfigview",
|
|
1475
|
+
"ChannelConfigViewTypedDict": ".channelconfigview",
|
|
1443
1476
|
"ChannelProperties": ".channelproperties",
|
|
1444
1477
|
"ChannelsListRequest": ".channels_listop",
|
|
1445
1478
|
"ChannelsListRequestTypedDict": ".channels_listop",
|
|
@@ -1624,6 +1657,8 @@ _dynamic_imports: dict[str, str] = {
|
|
|
1624
1657
|
"AgentListTypedDict": ".insightworkflowcondition",
|
|
1625
1658
|
"InsightWorkflowCondition": ".insightworkflowcondition",
|
|
1626
1659
|
"InsightWorkflowConditionTypedDict": ".insightworkflowcondition",
|
|
1660
|
+
"SampleRate": ".insightworkflowcondition",
|
|
1661
|
+
"SampleRateTypedDict": ".insightworkflowcondition",
|
|
1627
1662
|
"InsightWorkflowEstimate": ".insightworkflowestimate",
|
|
1628
1663
|
"InsightWorkflowEstimateTypedDict": ".insightworkflowestimate",
|
|
1629
1664
|
"InsightWorkflowInput": ".insightworkflowinput",
|
|
@@ -1709,6 +1744,12 @@ _dynamic_imports: dict[str, str] = {
|
|
|
1709
1744
|
"ListResponseUserResponseTypedDict": ".listresponse_userresponse_",
|
|
1710
1745
|
"LoginType": ".logintype",
|
|
1711
1746
|
"OrderByDirection": ".orderbydirection",
|
|
1747
|
+
"OrganizationChannelConfig": ".organizationchannelconfig",
|
|
1748
|
+
"OrganizationChannelConfigTypedDict": ".organizationchannelconfig",
|
|
1749
|
+
"OrganizationChannelCreateRequest": ".organizationchannelcreaterequest",
|
|
1750
|
+
"OrganizationChannelCreateRequestTypedDict": ".organizationchannelcreaterequest",
|
|
1751
|
+
"OrganizationChannelUpdateRequest": ".organizationchannelupdaterequest",
|
|
1752
|
+
"OrganizationChannelUpdateRequestTypedDict": ".organizationchannelupdaterequest",
|
|
1712
1753
|
"OrganizationResponse": ".organizationresponse",
|
|
1713
1754
|
"OrganizationResponseTypedDict": ".organizationresponse",
|
|
1714
1755
|
"OutboundBatchAddRequest": ".outbound_batch_addop",
|
|
@@ -1849,6 +1890,8 @@ _dynamic_imports: dict[str, str] = {
|
|
|
1849
1890
|
"TakeoutStatusResponse": ".takeoutstatusresponse",
|
|
1850
1891
|
"TakeoutStatusResponseTypedDict": ".takeoutstatusresponse",
|
|
1851
1892
|
"TargetModes": ".targetmodes",
|
|
1893
|
+
"TelephonyConfigurations": ".telephonyconfigurations",
|
|
1894
|
+
"TelephonyConfigurationsTypedDict": ".telephonyconfigurations",
|
|
1852
1895
|
"TestMessage": ".testmessage",
|
|
1853
1896
|
"TestMessageTypedDict": ".testmessage",
|
|
1854
1897
|
"TestMessageResponse": ".testmessageresponse",
|
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)
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
from .telephonyconfigurations import (
|
|
5
|
+
TelephonyConfigurations,
|
|
6
|
+
TelephonyConfigurationsTypedDict,
|
|
7
|
+
)
|
|
8
|
+
from pydantic import model_serializer
|
|
9
|
+
from syllable_sdk.types import (
|
|
10
|
+
BaseModel,
|
|
11
|
+
Nullable,
|
|
12
|
+
OptionalNullable,
|
|
13
|
+
UNSET,
|
|
14
|
+
UNSET_SENTINEL,
|
|
15
|
+
)
|
|
16
|
+
from typing_extensions import NotRequired, TypedDict
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
class ChannelConfigViewTypedDict(TypedDict):
|
|
20
|
+
telephony: NotRequired[Nullable[TelephonyConfigurationsTypedDict]]
|
|
21
|
+
r"""Telephony configurations to be applied to targets belonging to the channel. Only applies to voice supported channels."""
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
class ChannelConfigView(BaseModel):
|
|
25
|
+
telephony: OptionalNullable[TelephonyConfigurations] = UNSET
|
|
26
|
+
r"""Telephony configurations to be applied to targets belonging to the channel. Only applies to voice supported channels."""
|
|
27
|
+
|
|
28
|
+
@model_serializer(mode="wrap")
|
|
29
|
+
def serialize_model(self, handler):
|
|
30
|
+
optional_fields = ["telephony"]
|
|
31
|
+
nullable_fields = ["telephony"]
|
|
32
|
+
null_default_fields = []
|
|
33
|
+
|
|
34
|
+
serialized = handler(self)
|
|
35
|
+
|
|
36
|
+
m = {}
|
|
37
|
+
|
|
38
|
+
for n, f in type(self).model_fields.items():
|
|
39
|
+
k = f.alias or n
|
|
40
|
+
val = serialized.get(k)
|
|
41
|
+
serialized.pop(k, None)
|
|
42
|
+
|
|
43
|
+
optional_nullable = k in optional_fields and k in nullable_fields
|
|
44
|
+
is_set = (
|
|
45
|
+
self.__pydantic_fields_set__.intersection({n})
|
|
46
|
+
or k in null_default_fields
|
|
47
|
+
) # pylint: disable=no-member
|
|
48
|
+
|
|
49
|
+
if val is not None and val != UNSET_SENTINEL:
|
|
50
|
+
m[k] = val
|
|
51
|
+
elif val != UNSET_SENTINEL and (
|
|
52
|
+
not k in optional_fields or (optional_nullable and is_set)
|
|
53
|
+
):
|
|
54
|
+
m[k] = val
|
|
55
|
+
|
|
56
|
+
return m
|
|
@@ -13,6 +13,14 @@ from typing import Dict, List, Union
|
|
|
13
13
|
from typing_extensions import NotRequired, TypeAliasType, TypedDict
|
|
14
14
|
|
|
15
15
|
|
|
16
|
+
SampleRateTypedDict = TypeAliasType("SampleRateTypedDict", Union[int, float])
|
|
17
|
+
r"""Sample rate as a percentage of calls"""
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
SampleRate = TypeAliasType("SampleRate", Union[int, float])
|
|
21
|
+
r"""Sample rate as a percentage of calls"""
|
|
22
|
+
|
|
23
|
+
|
|
16
24
|
AgentListTypedDict = TypeAliasType("AgentListTypedDict", Union[List[int], List[str]])
|
|
17
25
|
r"""List of agents"""
|
|
18
26
|
|
|
@@ -28,7 +36,7 @@ class InsightWorkflowConditionTypedDict(TypedDict):
|
|
|
28
36
|
r"""Minimum duration of the calls in seconds"""
|
|
29
37
|
max_duration: NotRequired[Nullable[int]]
|
|
30
38
|
r"""Maximum duration of the calls in seconds"""
|
|
31
|
-
sample_rate: NotRequired[Nullable[
|
|
39
|
+
sample_rate: NotRequired[Nullable[SampleRateTypedDict]]
|
|
32
40
|
r"""Sample rate as a percentage of calls"""
|
|
33
41
|
agent_list: NotRequired[Nullable[AgentListTypedDict]]
|
|
34
42
|
r"""List of agents"""
|
|
@@ -49,7 +57,7 @@ class InsightWorkflowCondition(BaseModel):
|
|
|
49
57
|
max_duration: OptionalNullable[int] = UNSET
|
|
50
58
|
r"""Maximum duration of the calls in seconds"""
|
|
51
59
|
|
|
52
|
-
sample_rate: OptionalNullable[
|
|
60
|
+
sample_rate: OptionalNullable[SampleRate] = UNSET
|
|
53
61
|
r"""Sample rate as a percentage of calls"""
|
|
54
62
|
|
|
55
63
|
agent_list: OptionalNullable[AgentList] = UNSET
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
from .telephonyconfigurations import (
|
|
5
|
+
TelephonyConfigurations,
|
|
6
|
+
TelephonyConfigurationsTypedDict,
|
|
7
|
+
)
|
|
8
|
+
from pydantic import model_serializer
|
|
9
|
+
from syllable_sdk.types import (
|
|
10
|
+
BaseModel,
|
|
11
|
+
Nullable,
|
|
12
|
+
OptionalNullable,
|
|
13
|
+
UNSET,
|
|
14
|
+
UNSET_SENTINEL,
|
|
15
|
+
)
|
|
16
|
+
from typing_extensions import NotRequired, TypedDict
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
class OrganizationChannelConfigTypedDict(TypedDict):
|
|
20
|
+
r"""Channel config information for creates / updates through the organizations API"""
|
|
21
|
+
|
|
22
|
+
account_sid: NotRequired[Nullable[str]]
|
|
23
|
+
r"""SID of the Twilio account"""
|
|
24
|
+
auth_token: NotRequired[Nullable[str]]
|
|
25
|
+
r"""The Twilio auth token"""
|
|
26
|
+
telephony: NotRequired[Nullable[TelephonyConfigurationsTypedDict]]
|
|
27
|
+
r"""Telephony configurations to be applied to the targets under the channel"""
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
class OrganizationChannelConfig(BaseModel):
|
|
31
|
+
r"""Channel config information for creates / updates through the organizations API"""
|
|
32
|
+
|
|
33
|
+
account_sid: OptionalNullable[str] = UNSET
|
|
34
|
+
r"""SID of the Twilio account"""
|
|
35
|
+
|
|
36
|
+
auth_token: OptionalNullable[str] = UNSET
|
|
37
|
+
r"""The Twilio auth token"""
|
|
38
|
+
|
|
39
|
+
telephony: OptionalNullable[TelephonyConfigurations] = UNSET
|
|
40
|
+
r"""Telephony configurations to be applied to the targets under the channel"""
|
|
41
|
+
|
|
42
|
+
@model_serializer(mode="wrap")
|
|
43
|
+
def serialize_model(self, handler):
|
|
44
|
+
optional_fields = ["account_sid", "auth_token", "telephony"]
|
|
45
|
+
nullable_fields = ["account_sid", "auth_token", "telephony"]
|
|
46
|
+
null_default_fields = []
|
|
47
|
+
|
|
48
|
+
serialized = handler(self)
|
|
49
|
+
|
|
50
|
+
m = {}
|
|
51
|
+
|
|
52
|
+
for n, f in type(self).model_fields.items():
|
|
53
|
+
k = f.alias or n
|
|
54
|
+
val = serialized.get(k)
|
|
55
|
+
serialized.pop(k, None)
|
|
56
|
+
|
|
57
|
+
optional_nullable = k in optional_fields and k in nullable_fields
|
|
58
|
+
is_set = (
|
|
59
|
+
self.__pydantic_fields_set__.intersection({n})
|
|
60
|
+
or k in null_default_fields
|
|
61
|
+
) # pylint: disable=no-member
|
|
62
|
+
|
|
63
|
+
if val is not None and val != UNSET_SENTINEL:
|
|
64
|
+
m[k] = val
|
|
65
|
+
elif val != UNSET_SENTINEL and (
|
|
66
|
+
not k in optional_fields or (optional_nullable and is_set)
|
|
67
|
+
):
|
|
68
|
+
m[k] = val
|
|
69
|
+
|
|
70
|
+
return m
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
from .channelservices import ChannelServices
|
|
5
|
+
from .organizationchannelconfig import (
|
|
6
|
+
OrganizationChannelConfig,
|
|
7
|
+
OrganizationChannelConfigTypedDict,
|
|
8
|
+
)
|
|
9
|
+
from pydantic import model_serializer
|
|
10
|
+
from syllable_sdk.types import (
|
|
11
|
+
BaseModel,
|
|
12
|
+
Nullable,
|
|
13
|
+
OptionalNullable,
|
|
14
|
+
UNSET,
|
|
15
|
+
UNSET_SENTINEL,
|
|
16
|
+
)
|
|
17
|
+
from typing import Optional
|
|
18
|
+
from typing_extensions import NotRequired, TypedDict
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
class OrganizationChannelCreateRequestTypedDict(TypedDict):
|
|
22
|
+
r"""Request model to create a channel through the organizations API"""
|
|
23
|
+
|
|
24
|
+
name: str
|
|
25
|
+
r"""The channel name"""
|
|
26
|
+
channel_service: ChannelServices
|
|
27
|
+
r"""The communication service for a channel."""
|
|
28
|
+
config: OrganizationChannelConfigTypedDict
|
|
29
|
+
r"""Channel config information for creates / updates through the organizations API"""
|
|
30
|
+
supported_modes: NotRequired[Nullable[str]]
|
|
31
|
+
r"""The comma-delimited list of supported modes for the channel, which defines the possible communication methods for channel targets linked to it."""
|
|
32
|
+
is_system_channel: NotRequired[bool]
|
|
33
|
+
r"""Whether the channel is a built-in system channel (i.e., is not customizable)"""
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
class OrganizationChannelCreateRequest(BaseModel):
|
|
37
|
+
r"""Request model to create a channel through the organizations API"""
|
|
38
|
+
|
|
39
|
+
name: str
|
|
40
|
+
r"""The channel name"""
|
|
41
|
+
|
|
42
|
+
channel_service: ChannelServices
|
|
43
|
+
r"""The communication service for a channel."""
|
|
44
|
+
|
|
45
|
+
config: OrganizationChannelConfig
|
|
46
|
+
r"""Channel config information for creates / updates through the organizations API"""
|
|
47
|
+
|
|
48
|
+
supported_modes: OptionalNullable[str] = UNSET
|
|
49
|
+
r"""The comma-delimited list of supported modes for the channel, which defines the possible communication methods for channel targets linked to it."""
|
|
50
|
+
|
|
51
|
+
is_system_channel: Optional[bool] = True
|
|
52
|
+
r"""Whether the channel is a built-in system channel (i.e., is not customizable)"""
|
|
53
|
+
|
|
54
|
+
@model_serializer(mode="wrap")
|
|
55
|
+
def serialize_model(self, handler):
|
|
56
|
+
optional_fields = ["supported_modes", "is_system_channel"]
|
|
57
|
+
nullable_fields = ["supported_modes"]
|
|
58
|
+
null_default_fields = []
|
|
59
|
+
|
|
60
|
+
serialized = handler(self)
|
|
61
|
+
|
|
62
|
+
m = {}
|
|
63
|
+
|
|
64
|
+
for n, f in type(self).model_fields.items():
|
|
65
|
+
k = f.alias or n
|
|
66
|
+
val = serialized.get(k)
|
|
67
|
+
serialized.pop(k, None)
|
|
68
|
+
|
|
69
|
+
optional_nullable = k in optional_fields and k in nullable_fields
|
|
70
|
+
is_set = (
|
|
71
|
+
self.__pydantic_fields_set__.intersection({n})
|
|
72
|
+
or k in null_default_fields
|
|
73
|
+
) # pylint: disable=no-member
|
|
74
|
+
|
|
75
|
+
if val is not None and val != UNSET_SENTINEL:
|
|
76
|
+
m[k] = val
|
|
77
|
+
elif val != UNSET_SENTINEL and (
|
|
78
|
+
not k in optional_fields or (optional_nullable and is_set)
|
|
79
|
+
):
|
|
80
|
+
m[k] = val
|
|
81
|
+
|
|
82
|
+
return m
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
from .channelservices import ChannelServices
|
|
5
|
+
from .organizationchannelconfig import (
|
|
6
|
+
OrganizationChannelConfig,
|
|
7
|
+
OrganizationChannelConfigTypedDict,
|
|
8
|
+
)
|
|
9
|
+
from pydantic import model_serializer
|
|
10
|
+
from syllable_sdk.types import (
|
|
11
|
+
BaseModel,
|
|
12
|
+
Nullable,
|
|
13
|
+
OptionalNullable,
|
|
14
|
+
UNSET,
|
|
15
|
+
UNSET_SENTINEL,
|
|
16
|
+
)
|
|
17
|
+
from typing import Optional
|
|
18
|
+
from typing_extensions import NotRequired, TypedDict
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
class OrganizationChannelUpdateRequestTypedDict(TypedDict):
|
|
22
|
+
r"""Request model to update a channel through the organizations API"""
|
|
23
|
+
|
|
24
|
+
name: str
|
|
25
|
+
r"""The channel name"""
|
|
26
|
+
channel_service: ChannelServices
|
|
27
|
+
r"""The communication service for a channel."""
|
|
28
|
+
config: OrganizationChannelConfigTypedDict
|
|
29
|
+
r"""Channel config information for creates / updates through the organizations API"""
|
|
30
|
+
id: int
|
|
31
|
+
r"""The internal ID of the channel"""
|
|
32
|
+
supported_modes: NotRequired[Nullable[str]]
|
|
33
|
+
r"""The comma-delimited list of supported modes for the channel, which defines the possible communication methods for channel targets linked to it."""
|
|
34
|
+
is_system_channel: NotRequired[bool]
|
|
35
|
+
r"""Whether the channel is a built-in system channel (i.e., is not customizable)"""
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
class OrganizationChannelUpdateRequest(BaseModel):
|
|
39
|
+
r"""Request model to update a channel through the organizations API"""
|
|
40
|
+
|
|
41
|
+
name: str
|
|
42
|
+
r"""The channel name"""
|
|
43
|
+
|
|
44
|
+
channel_service: ChannelServices
|
|
45
|
+
r"""The communication service for a channel."""
|
|
46
|
+
|
|
47
|
+
config: OrganizationChannelConfig
|
|
48
|
+
r"""Channel config information for creates / updates through the organizations API"""
|
|
49
|
+
|
|
50
|
+
id: int
|
|
51
|
+
r"""The internal ID of the channel"""
|
|
52
|
+
|
|
53
|
+
supported_modes: OptionalNullable[str] = UNSET
|
|
54
|
+
r"""The comma-delimited list of supported modes for the channel, which defines the possible communication methods for channel targets linked to it."""
|
|
55
|
+
|
|
56
|
+
is_system_channel: Optional[bool] = True
|
|
57
|
+
r"""Whether the channel is a built-in system channel (i.e., is not customizable)"""
|
|
58
|
+
|
|
59
|
+
@model_serializer(mode="wrap")
|
|
60
|
+
def serialize_model(self, handler):
|
|
61
|
+
optional_fields = ["supported_modes", "is_system_channel"]
|
|
62
|
+
nullable_fields = ["supported_modes"]
|
|
63
|
+
null_default_fields = []
|
|
64
|
+
|
|
65
|
+
serialized = handler(self)
|
|
66
|
+
|
|
67
|
+
m = {}
|
|
68
|
+
|
|
69
|
+
for n, f in type(self).model_fields.items():
|
|
70
|
+
k = f.alias or n
|
|
71
|
+
val = serialized.get(k)
|
|
72
|
+
serialized.pop(k, None)
|
|
73
|
+
|
|
74
|
+
optional_nullable = k in optional_fields and k in nullable_fields
|
|
75
|
+
is_set = (
|
|
76
|
+
self.__pydantic_fields_set__.intersection({n})
|
|
77
|
+
or k in null_default_fields
|
|
78
|
+
) # pylint: disable=no-member
|
|
79
|
+
|
|
80
|
+
if val is not None and val != UNSET_SENTINEL:
|
|
81
|
+
m[k] = val
|
|
82
|
+
elif val != UNSET_SENTINEL and (
|
|
83
|
+
not k in optional_fields or (optional_nullable and is_set)
|
|
84
|
+
):
|
|
85
|
+
m[k] = val
|
|
86
|
+
|
|
87
|
+
return m
|
|
@@ -10,7 +10,7 @@ from syllable_sdk.types import (
|
|
|
10
10
|
UNSET,
|
|
11
11
|
UNSET_SENTINEL,
|
|
12
12
|
)
|
|
13
|
-
from typing import
|
|
13
|
+
from typing import Any
|
|
14
14
|
from typing_extensions import NotRequired, TypedDict
|
|
15
15
|
|
|
16
16
|
|
|
@@ -23,8 +23,8 @@ class ServiceCreateRequestTypedDict(TypedDict):
|
|
|
23
23
|
r"""The description of the service"""
|
|
24
24
|
auth_type: NotRequired[Nullable[ToolAuthType]]
|
|
25
25
|
r"""The type of authentication to use for the service's tools"""
|
|
26
|
-
auth_values: NotRequired[Nullable[
|
|
27
|
-
r"""The values to use for the authentication. Should contain \"username\" and \"password\" keys if auth type is basic, \"token\" key if auth type is bearer, or arbitrary header keys if auth type is custom_headers. On an update, leave a value for a given key null and the value in the database will not be updated. (If a key is omitted entirely, any existing value for that key will be removed.)"""
|
|
26
|
+
auth_values: NotRequired[Nullable[Any]]
|
|
27
|
+
r"""The values to use for the authentication, as a dict. Should contain \"username\" and \"password\" keys if auth type is basic, \"token\" key if auth type is bearer, or arbitrary header keys if auth type is custom_headers. On an update, leave a value for a given key null and the value in the database will not be updated. (If a key is omitted entirely, any existing value for that key will be removed.)"""
|
|
28
28
|
|
|
29
29
|
|
|
30
30
|
class ServiceCreateRequest(BaseModel):
|
|
@@ -39,8 +39,8 @@ class ServiceCreateRequest(BaseModel):
|
|
|
39
39
|
auth_type: OptionalNullable[ToolAuthType] = UNSET
|
|
40
40
|
r"""The type of authentication to use for the service's tools"""
|
|
41
41
|
|
|
42
|
-
auth_values: OptionalNullable[
|
|
43
|
-
r"""The values to use for the authentication. Should contain \"username\" and \"password\" keys if auth type is basic, \"token\" key if auth type is bearer, or arbitrary header keys if auth type is custom_headers. On an update, leave a value for a given key null and the value in the database will not be updated. (If a key is omitted entirely, any existing value for that key will be removed.)"""
|
|
42
|
+
auth_values: OptionalNullable[Any] = UNSET
|
|
43
|
+
r"""The values to use for the authentication, as a dict. Should contain \"username\" and \"password\" keys if auth type is basic, \"token\" key if auth type is bearer, or arbitrary header keys if auth type is custom_headers. On an update, leave a value for a given key null and the value in the database will not be updated. (If a key is omitted entirely, any existing value for that key will be removed.)"""
|
|
44
44
|
|
|
45
45
|
@model_serializer(mode="wrap")
|
|
46
46
|
def serialize_model(self, handler):
|
|
@@ -10,7 +10,7 @@ from syllable_sdk.types import (
|
|
|
10
10
|
UNSET,
|
|
11
11
|
UNSET_SENTINEL,
|
|
12
12
|
)
|
|
13
|
-
from typing import
|
|
13
|
+
from typing import Any
|
|
14
14
|
from typing_extensions import NotRequired, TypedDict
|
|
15
15
|
|
|
16
16
|
|
|
@@ -25,8 +25,8 @@ class ServiceUpdateRequestTypedDict(TypedDict):
|
|
|
25
25
|
r"""The internal ID of the service"""
|
|
26
26
|
auth_type: NotRequired[Nullable[ToolAuthType]]
|
|
27
27
|
r"""The type of authentication to use for the service's tools"""
|
|
28
|
-
auth_values: NotRequired[Nullable[
|
|
29
|
-
r"""The values to use for the authentication. Should contain \"username\" and \"password\" keys if auth type is basic, \"token\" key if auth type is bearer, or arbitrary header keys if auth type is custom_headers. On an update, leave a value for a given key null and the value in the database will not be updated. (If a key is omitted entirely, any existing value for that key will be removed.)"""
|
|
28
|
+
auth_values: NotRequired[Nullable[Any]]
|
|
29
|
+
r"""The values to use for the authentication, as a dict. Should contain \"username\" and \"password\" keys if auth type is basic, \"token\" key if auth type is bearer, or arbitrary header keys if auth type is custom_headers. On an update, leave a value for a given key null and the value in the database will not be updated. (If a key is omitted entirely, any existing value for that key will be removed.)"""
|
|
30
30
|
last_updated_comments: NotRequired[Nullable[str]]
|
|
31
31
|
r"""Free text providing comment about what was updated"""
|
|
32
32
|
|
|
@@ -46,8 +46,8 @@ class ServiceUpdateRequest(BaseModel):
|
|
|
46
46
|
auth_type: OptionalNullable[ToolAuthType] = UNSET
|
|
47
47
|
r"""The type of authentication to use for the service's tools"""
|
|
48
48
|
|
|
49
|
-
auth_values: OptionalNullable[
|
|
50
|
-
r"""The values to use for the authentication. Should contain \"username\" and \"password\" keys if auth type is basic, \"token\" key if auth type is bearer, or arbitrary header keys if auth type is custom_headers. On an update, leave a value for a given key null and the value in the database will not be updated. (If a key is omitted entirely, any existing value for that key will be removed.)"""
|
|
49
|
+
auth_values: OptionalNullable[Any] = UNSET
|
|
50
|
+
r"""The values to use for the authentication, as a dict. Should contain \"username\" and \"password\" keys if auth type is basic, \"token\" key if auth type is bearer, or arbitrary header keys if auth type is custom_headers. On an update, leave a value for a given key null and the value in the database will not be updated. (If a key is omitted entirely, any existing value for that key will be removed.)"""
|
|
51
51
|
|
|
52
52
|
last_updated_comments: OptionalNullable[str] = UNSET
|
|
53
53
|
r"""Free text providing comment about what was updated"""
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
from pydantic import model_serializer
|
|
5
|
+
from syllable_sdk.types import (
|
|
6
|
+
BaseModel,
|
|
7
|
+
Nullable,
|
|
8
|
+
OptionalNullable,
|
|
9
|
+
UNSET,
|
|
10
|
+
UNSET_SENTINEL,
|
|
11
|
+
)
|
|
12
|
+
from typing_extensions import NotRequired, TypedDict
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class TelephonyConfigurationsTypedDict(TypedDict):
|
|
16
|
+
pre_input_timeout: NotRequired[Nullable[float]]
|
|
17
|
+
r"""Pre input silence threshold"""
|
|
18
|
+
post_speech_input_timeout: NotRequired[Nullable[float]]
|
|
19
|
+
r"""Post speech silence timeout to determine input as ended."""
|
|
20
|
+
post_dtmf_input_timeout: NotRequired[Nullable[float]]
|
|
21
|
+
r"""Post dtmf silence timeout to determine input as ended."""
|
|
22
|
+
overall_input_timeout: NotRequired[Nullable[float]]
|
|
23
|
+
r"""Total input timeout"""
|
|
24
|
+
output_padding: NotRequired[Nullable[float]]
|
|
25
|
+
r"""Number of seconds to start listening to user input before assistant speech ends"""
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
class TelephonyConfigurations(BaseModel):
|
|
29
|
+
pre_input_timeout: OptionalNullable[float] = UNSET
|
|
30
|
+
r"""Pre input silence threshold"""
|
|
31
|
+
|
|
32
|
+
post_speech_input_timeout: OptionalNullable[float] = UNSET
|
|
33
|
+
r"""Post speech silence timeout to determine input as ended."""
|
|
34
|
+
|
|
35
|
+
post_dtmf_input_timeout: OptionalNullable[float] = UNSET
|
|
36
|
+
r"""Post dtmf silence timeout to determine input as ended."""
|
|
37
|
+
|
|
38
|
+
overall_input_timeout: OptionalNullable[float] = UNSET
|
|
39
|
+
r"""Total input timeout"""
|
|
40
|
+
|
|
41
|
+
output_padding: OptionalNullable[float] = UNSET
|
|
42
|
+
r"""Number of seconds to start listening to user input before assistant speech ends"""
|
|
43
|
+
|
|
44
|
+
@model_serializer(mode="wrap")
|
|
45
|
+
def serialize_model(self, handler):
|
|
46
|
+
optional_fields = [
|
|
47
|
+
"pre_input_timeout",
|
|
48
|
+
"post_speech_input_timeout",
|
|
49
|
+
"post_dtmf_input_timeout",
|
|
50
|
+
"overall_input_timeout",
|
|
51
|
+
"output_padding",
|
|
52
|
+
]
|
|
53
|
+
nullable_fields = [
|
|
54
|
+
"pre_input_timeout",
|
|
55
|
+
"post_speech_input_timeout",
|
|
56
|
+
"post_dtmf_input_timeout",
|
|
57
|
+
"overall_input_timeout",
|
|
58
|
+
"output_padding",
|
|
59
|
+
]
|
|
60
|
+
null_default_fields = []
|
|
61
|
+
|
|
62
|
+
serialized = handler(self)
|
|
63
|
+
|
|
64
|
+
m = {}
|
|
65
|
+
|
|
66
|
+
for n, f in type(self).model_fields.items():
|
|
67
|
+
k = f.alias or n
|
|
68
|
+
val = serialized.get(k)
|
|
69
|
+
serialized.pop(k, None)
|
|
70
|
+
|
|
71
|
+
optional_nullable = k in optional_fields and k in nullable_fields
|
|
72
|
+
is_set = (
|
|
73
|
+
self.__pydantic_fields_set__.intersection({n})
|
|
74
|
+
or k in null_default_fields
|
|
75
|
+
) # pylint: disable=no-member
|
|
76
|
+
|
|
77
|
+
if val is not None and val != UNSET_SENTINEL:
|
|
78
|
+
m[k] = val
|
|
79
|
+
elif val != UNSET_SENTINEL and (
|
|
80
|
+
not k in optional_fields or (optional_nullable and is_set)
|
|
81
|
+
):
|
|
82
|
+
m[k] = val
|
|
83
|
+
|
|
84
|
+
return m
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: syllable-sdk
|
|
3
|
-
Version: 0.35.
|
|
3
|
+
Version: 0.35.58
|
|
4
4
|
Summary: Python Client SDK Generated by Speakeasy.
|
|
5
5
|
Author: Syllable
|
|
6
6
|
Requires-Python: >=3.9.2
|
|
@@ -253,6 +253,8 @@ with SyllableSDK(
|
|
|
253
253
|
### [channels](https://github.com/asksyllable/syllable-sdk-python/blob/master/docs/sdks/channels/README.md)
|
|
254
254
|
|
|
255
255
|
* [list](https://github.com/asksyllable/syllable-sdk-python/blob/master/docs/sdks/channels/README.md#list) - Get Channels
|
|
256
|
+
* [create](https://github.com/asksyllable/syllable-sdk-python/blob/master/docs/sdks/channels/README.md#create) - Create Channel
|
|
257
|
+
* [update](https://github.com/asksyllable/syllable-sdk-python/blob/master/docs/sdks/channels/README.md#update) - Update Channel
|
|
256
258
|
* [delete](https://github.com/asksyllable/syllable-sdk-python/blob/master/docs/sdks/channels/README.md#delete) - Delete Channel Target
|
|
257
259
|
|
|
258
260
|
#### [channels.targets](https://github.com/asksyllable/syllable-sdk-python/blob/master/docs/sdks/targets/README.md)
|
|
@@ -3,12 +3,12 @@ syllable_sdk/_hooks/__init__.py,sha256=9_7W5jAYw8rcO8Kfc-Ty-lB82BHfksAJJpVFb_UeU
|
|
|
3
3
|
syllable_sdk/_hooks/registration.py,sha256=1QZB41w6If7I9dXiOSQx6dhSc6BPWrnI5Q5bMOr4iVA,624
|
|
4
4
|
syllable_sdk/_hooks/sdkhooks.py,sha256=aRu2TMpxilLKDrG6EIy6uQd6IrBH7kaHOoVkd7GIcus,2562
|
|
5
5
|
syllable_sdk/_hooks/types.py,sha256=uwJkn18g4_rLZhVtKdE6Ed5YcCjGWSqVgN9-PWqV7Ho,3053
|
|
6
|
-
syllable_sdk/_version.py,sha256=
|
|
6
|
+
syllable_sdk/_version.py,sha256=zeWMQK95LSA51tTvUITk-w7ztDIiUk2mecdktK9Uarw,470
|
|
7
7
|
syllable_sdk/agents.py,sha256=0x4iFVF9VksBu32ThrGcgM3FqMCC9-iP8ggPh2r4R04,46694
|
|
8
8
|
syllable_sdk/basesdk.py,sha256=dULbDf9e71tjSgOe7YwC9jD-80uIFiMrAhFbFvbEYho,11916
|
|
9
9
|
syllable_sdk/batches.py,sha256=qgI5PRkdgLdaJl4DPfs4mBJrB0OY_CCDePYntyjleSs,73059
|
|
10
10
|
syllable_sdk/campaigns.py,sha256=MIw1sWFreiedJfhFuGg2lYbxOQDtwwsgI2TiS7AgnIM,40546
|
|
11
|
-
syllable_sdk/channels.py,sha256=
|
|
11
|
+
syllable_sdk/channels.py,sha256=oXgjGpVn_ANZu_ao8zZRwKQNJ895smUN9fKe6Gj17U0,34131
|
|
12
12
|
syllable_sdk/conversations.py,sha256=SjbYq8-mr2RdIh_JO_qxh25WvLkWXf_KsEUxhHRVlB4,10743
|
|
13
13
|
syllable_sdk/custom_messages.py,sha256=xM3Sy-bdXPYX-qUJUl_CfgjR0HtEpN32u1uXqc1X9x0,41307
|
|
14
14
|
syllable_sdk/dashboards.py,sha256=qvzxTiPnzJTmip02EPyGP-qaCgBtpZ4OPYJa2IGH1nw,45442
|
|
@@ -28,7 +28,7 @@ syllable_sdk/insights_sdk.py,sha256=MxNtdwu2dcM8xCjKS2l-ZIM-pT-Bbh8LSjMnFLl32nc,
|
|
|
28
28
|
syllable_sdk/insights_tools.py,sha256=SuDEOpPtk7SlsFZ-thzIZSt_31WjofzyzqozseWQy3M,55115
|
|
29
29
|
syllable_sdk/language_groups.py,sha256=BlcTvh_KitUkbVzXlBjCcxTmBbQ12QWxCZfXqlCOoPc,49214
|
|
30
30
|
syllable_sdk/latency.py,sha256=PymvwBTs6KAVMl-IZVj6L4zJotRApBOcnkfB4FrlNkg,7449
|
|
31
|
-
syllable_sdk/models/__init__.py,sha256=
|
|
31
|
+
syllable_sdk/models/__init__.py,sha256=7_2q4PfPjKkyuSFDoSz9_UX_zq1AamrivJuR-2HpKzo,85449
|
|
32
32
|
syllable_sdk/models/agent_deleteop.py,sha256=tUbi-gwd4chf2Ba9O9lCvqDQw6YOnn7aheu8OPDzptc,629
|
|
33
33
|
syllable_sdk/models/agent_get_by_idop.py,sha256=vj_xEbhOv3c8n3-B3uQnfTwHWdxYSE4k3Zvr58Yc9A4,484
|
|
34
34
|
syllable_sdk/models/agent_listop.py,sha256=dJdQuIst1TF4xMol9XVdX4xOw8z06jyAQpm46_u0Ysk,5007
|
|
@@ -59,12 +59,13 @@ syllable_sdk/models/body_organizations_update.py,sha256=hwiy1OqKWjA-eN1FJc3tybqe
|
|
|
59
59
|
syllable_sdk/models/body_outbound_batch_delete.py,sha256=c-3MzefgLGTnZiYtLKb28AkOMwtCImkMLJg932g5PLY,425
|
|
60
60
|
syllable_sdk/models/body_outbound_batch_upload.py,sha256=_W1aXZOpZX1KO1GaUJhMAkjEgV1v9nLQazyWcQ6AjYY,1313
|
|
61
61
|
syllable_sdk/models/campaignproperties.py,sha256=06sF5NzEiwmyQ6WLgHxSccErd2EnmpYge5FI7CFe4hI,467
|
|
62
|
-
syllable_sdk/models/channel.py,sha256=
|
|
62
|
+
syllable_sdk/models/channel.py,sha256=qdavKRBPraONuozprbVC84BJwfg0vtOAa7Laqyuw_oE,2724
|
|
63
63
|
syllable_sdk/models/channel_targets_createop.py,sha256=YmOseJWuOWtE9AApMqju7dGO-I-zEHq0NQ_wGvIl6Ck,877
|
|
64
64
|
syllable_sdk/models/channel_targets_deleteop.py,sha256=AzJzm--VepFhuGZ7p7zysc-h9u7HXzQ4EctxH-mbI0c,657
|
|
65
65
|
syllable_sdk/models/channel_targets_get_by_idop.py,sha256=fRKxp4AWvmIBLmJT1OmxrylUVvmkjhf9ITvDIe7gbu8,640
|
|
66
66
|
syllable_sdk/models/channel_targets_listop.py,sha256=bG5gb4JobNMvwyNgO9DRzRMHp6wQ7P6aJVN8lZBZQiU,5089
|
|
67
67
|
syllable_sdk/models/channel_targets_updateop.py,sha256=JXURM5evRvWUuF-5mMrYqW9oBm2d7B0YIc6X4_lQGxI,1011
|
|
68
|
+
syllable_sdk/models/channelconfigview.py,sha256=DfshI8QEwpEeAuAhITDktdxttqYXnpRf90cauzc8xHA,1829
|
|
68
69
|
syllable_sdk/models/channelproperties.py,sha256=cpvVG1F8O_bZ0WG76KqT66nle8YQ8o8u4J56v4Ao-rU,396
|
|
69
70
|
syllable_sdk/models/channels_listop.py,sha256=kZS7vUtO6pMNq1au6TbF94FFvBC1Odxl0vQunP_g564,5029
|
|
70
71
|
syllable_sdk/models/channels_twilio_get_by_idop.py,sha256=lnantEqegGeXZAGVETByEv1DzR8jcxVfNw1hi5B9AJI,506
|
|
@@ -151,7 +152,7 @@ syllable_sdk/models/insightsfolderproperties.py,sha256=lOLzVw_EVakuHiaHXFz0CNs5I
|
|
|
151
152
|
syllable_sdk/models/insightsoutput.py,sha256=Mc_cs_vJXPHCsL7yJ4S-QGXcJzGHarqbw6P-NyfWdAo,3762
|
|
152
153
|
syllable_sdk/models/insightsproperties.py,sha256=d0etqw04RMdfDo8uwVMK9rC7UzZDxUyro8qi4dGx6tk,397
|
|
153
154
|
syllable_sdk/models/insightsuploadfile.py,sha256=3fAP67-RoHlQ-nihDq-5HnJubMo5FDMgV8ZS_STCakY,4540
|
|
154
|
-
syllable_sdk/models/insightsuploadfileproperties.py,sha256=
|
|
155
|
+
syllable_sdk/models/insightsuploadfileproperties.py,sha256=g-9-uFhy1mS45UMiAruSRJyb8oXPmWdfqTfeLTg-dNc,453
|
|
155
156
|
syllable_sdk/models/insightsworkflowqueuesession.py,sha256=8ChCA3-nZ-nCHeNKtWaik8aWVpxNQe6Sq7cASrsRpco,2097
|
|
156
157
|
syllable_sdk/models/insighttooldefinition.py,sha256=uiKt1paqvp3rU-LyKac-R2OZGol183B0Pr2GCPQW-DM,1580
|
|
157
158
|
syllable_sdk/models/insighttoolinput.py,sha256=qtAPPu5iWmDdR6JOBWjVaz4trFeG-7erURnX7dWlj7w,1255
|
|
@@ -159,7 +160,7 @@ syllable_sdk/models/insighttooloutput.py,sha256=lOgOnhwNp5ufaJfYb04BWo2WmaR3wUUt
|
|
|
159
160
|
syllable_sdk/models/insighttoolproperties.py,sha256=4CND3iVh8BInmfWszIN6xY97spN5xGFEfD4yD9NZ2dA,396
|
|
160
161
|
syllable_sdk/models/insighttooltestinput.py,sha256=pbQtoUZ5WGSNS0cIYkNaT7Fp4Humn4ntzRx_NjwfA4w,2099
|
|
161
162
|
syllable_sdk/models/insightworkflowactivate.py,sha256=XwMga80GoXNPBvMbER8lX_cfB0zcMsk9ZhIRTH_AHyc,892
|
|
162
|
-
syllable_sdk/models/insightworkflowcondition.py,sha256=
|
|
163
|
+
syllable_sdk/models/insightworkflowcondition.py,sha256=morSwiZGiBBAvKEdh8QDhi7QDBMakWF2YdJu1p4UFuA,3666
|
|
163
164
|
syllable_sdk/models/insightworkflowestimate.py,sha256=diEVEf4XiPnq624z_y3tK2wFUh5m8e5F4-hriC1ezTY,1775
|
|
164
165
|
syllable_sdk/models/insightworkflowinput.py,sha256=FvGFmOaNgdPill1_O1dQoWyQrGXyu5glGqLJ4KZmS0E,3273
|
|
165
166
|
syllable_sdk/models/insightworkflowoutput.py,sha256=X7AFO6LBi4RRlKD5D8mJjrMoLSoat2EAr1fVpb4Nen4,5060
|
|
@@ -206,6 +207,9 @@ syllable_sdk/models/listresponse_toolresponse_.py,sha256=lAgwBYF4-VRgfNp7pyrBMw6
|
|
|
206
207
|
syllable_sdk/models/listresponse_userresponse_.py,sha256=zZqujwjjoe589oZZZrSyEj8-74tx2MnSWpY08AJtaK0,2348
|
|
207
208
|
syllable_sdk/models/logintype.py,sha256=N6VPXZQVqNFkhC2568I0mJzBotKDqCKeqipJFp2a_Pg,285
|
|
208
209
|
syllable_sdk/models/orderbydirection.py,sha256=1Jh50d2n7KXwKBRlkW7gdDUUGl4pexO0l0XwQWn8Sac,291
|
|
210
|
+
syllable_sdk/models/organizationchannelconfig.py,sha256=u59K0ggMcc2oeAvI0uDWVu5MMY7ZNnci3N1KNwVERVI,2303
|
|
211
|
+
syllable_sdk/models/organizationchannelcreaterequest.py,sha256=e0OaCYQHw_vrtMgOIWrJigYMz-Ys5wfH9mrYIWgUI1M,2931
|
|
212
|
+
syllable_sdk/models/organizationchannelupdaterequest.py,sha256=oM35Fr9O_oVSgcYm4PN4Di3qnEJx4Zl8tX_EVwgdyh0,3040
|
|
209
213
|
syllable_sdk/models/organizationresponse.py,sha256=gcqBRNwAsVrXOSnjgMSui_VrAZz0AEYJIoItEfnMMxc,3658
|
|
210
214
|
syllable_sdk/models/outbound_batch_addop.py,sha256=5SI0jNm19NE11zdtToh9p3HLhSM9OiJSIx0wVjL-BpI,806
|
|
211
215
|
syllable_sdk/models/outbound_batch_deleteop.py,sha256=5t4BDaxQYogksgZkvR_gDfkFPoMVeJA0GSrhTZu_uRs,892
|
|
@@ -247,11 +251,11 @@ syllable_sdk/models/roleupdaterequest.py,sha256=0POkwVJolChgU9uQeiEPnvk-b3vj-OwS
|
|
|
247
251
|
syllable_sdk/models/security.py,sha256=cmcb8jzAhbaN9jiBBNy4BcT9cOXogAwTIbkC4BDe7o8,711
|
|
248
252
|
syllable_sdk/models/service_deleteop.py,sha256=xoOwlMCY2tHhDFRsWM7NUMrh5HUwiexssrUrq8DdfTk,637
|
|
249
253
|
syllable_sdk/models/service_listop.py,sha256=4y4IacaGYPLQTeApQvOO4GLk1J1liEddOdKxZx5tShs,5027
|
|
250
|
-
syllable_sdk/models/servicecreaterequest.py,sha256=
|
|
254
|
+
syllable_sdk/models/servicecreaterequest.py,sha256=uslHkPWdVXvwC0oR5ffrrujGyV5Qil6D9tlrHFzLGvQ,2894
|
|
251
255
|
syllable_sdk/models/serviceproperties.py,sha256=EHFdvU1QBJp4RnJqBaBMb8zZ4XdKFTcY9nk24QxZHXc,392
|
|
252
256
|
syllable_sdk/models/serviceresponse.py,sha256=BgAhYy4ZPaaa7TzLCgnByXF0pxlZEn6Iy0XZmLHqgsU,3217
|
|
253
257
|
syllable_sdk/models/services_get_by_idop.py,sha256=y7p_wwbjkL-DRN3v20J_8JVe-aXeTL7WLtaYEmXOreA,494
|
|
254
|
-
syllable_sdk/models/serviceupdaterequest.py,sha256=
|
|
258
|
+
syllable_sdk/models/serviceupdaterequest.py,sha256=7MVFdsa9wdhp3dwTLiVRA2t3NSb6mMnBCG2dz0eptxs,3309
|
|
255
259
|
syllable_sdk/models/session.py,sha256=_16iy4DPLJYeZt2TBqStkSy11j-FHmTBRiVcAi2QbqY,6971
|
|
256
260
|
syllable_sdk/models/session_full_summary_get_by_idop.py,sha256=9mvK1ONJebhTEbL7NxOMQqlk8r3kc56TfXkSaaVvGXQ,514
|
|
257
261
|
syllable_sdk/models/session_get_by_idop.py,sha256=snBsZ3SLmPa98ATGNRdoiL9GzSiZot-beY9DRPZtK24,492
|
|
@@ -281,6 +285,7 @@ syllable_sdk/models/takeouts_get_by_job_idop.py,sha256=vFpjQ3wUfS3UeD3pkX6S07AJw
|
|
|
281
285
|
syllable_sdk/models/takeouts_get_fileop.py,sha256=x_BGUgt6co6HOHFPOsSIOxpZ8D4KVIjBv7ZifL0l0YQ,620
|
|
282
286
|
syllable_sdk/models/takeoutstatusresponse.py,sha256=U83D5jjff7LMEdFg7PAPfO-RSDW094TiXhTsnrAHUPs,1766
|
|
283
287
|
syllable_sdk/models/targetmodes.py,sha256=dR2veCCcFJRRwz1tUqq41d5JvChpcamnUQXpEx1dEnw,309
|
|
288
|
+
syllable_sdk/models/telephonyconfigurations.py,sha256=EStakiggOEZFftOBRCd_rHX7OAqAPuLbwCm-7yPl4KU,2842
|
|
284
289
|
syllable_sdk/models/testmessage.py,sha256=e3kHJe_E78zGcNKZ5azTTcZjQxtQUsf3F8GPyUDCIPA,3365
|
|
285
290
|
syllable_sdk/models/testmessageresponse.py,sha256=Ya7G0PtfNzz3B5CSILrarNclcoEqkwmSE-Qi5ioRAfo,2335
|
|
286
291
|
syllable_sdk/models/tool_deleteop.py,sha256=M_vEFwiOgFbgrqnKRypbrObtU8EIavsOR9hPvVq_Ups,629
|
|
@@ -367,6 +372,6 @@ syllable_sdk/utils/url.py,sha256=BgGPgcTA6MRK4bF8fjP2dUopN3NzEzxWMXPBVg8NQUA,525
|
|
|
367
372
|
syllable_sdk/utils/values.py,sha256=CcaCXEa3xHhkUDROyXZocN8f0bdITftv9Y0P9lTf0YM,3517
|
|
368
373
|
syllable_sdk/v1.py,sha256=noni4Ds8tZ5oHPZqoEoVJUYGs8L-ts9jGGFDU2E0pyE,53244
|
|
369
374
|
syllable_sdk/workflows.py,sha256=kQPJzssdldotkipoWzu1ddas4IKbpFdXkGFDwDkWt1M,64777
|
|
370
|
-
syllable_sdk-0.35.
|
|
371
|
-
syllable_sdk-0.35.
|
|
372
|
-
syllable_sdk-0.35.
|
|
375
|
+
syllable_sdk-0.35.58.dist-info/METADATA,sha256=951uOuFksSD95p4NZ4XRakRa9jzhLwXxd9IlcG7L9nM,45941
|
|
376
|
+
syllable_sdk-0.35.58.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
|
|
377
|
+
syllable_sdk-0.35.58.dist-info/RECORD,,
|
|
File without changes
|