syllable-sdk 0.37.5__py3-none-any.whl → 0.38.16__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/agents.py +12 -12
- syllable_sdk/batches.py +18 -18
- syllable_sdk/campaigns.py +10 -10
- syllable_sdk/channels.py +8 -8
- syllable_sdk/conversations.py +2 -2
- syllable_sdk/custom_messages.py +10 -10
- syllable_sdk/dashboards.py +12 -12
- syllable_sdk/data_sources.py +10 -10
- syllable_sdk/errors/apierror.py +1 -1
- syllable_sdk/errors/httpvalidationerror.py +1 -1
- syllable_sdk/errors/no_response_error.py +1 -1
- syllable_sdk/errors/responsevalidationerror.py +1 -1
- syllable_sdk/errors/syllablesdkerror.py +1 -1
- syllable_sdk/events.py +2 -2
- syllable_sdk/folders.py +16 -16
- syllable_sdk/full_summary.py +2 -2
- syllable_sdk/incidents.py +12 -12
- syllable_sdk/insights_sdk.py +2 -2
- syllable_sdk/insights_tools.py +14 -14
- syllable_sdk/language_groups.py +12 -12
- syllable_sdk/latency.py +2 -2
- syllable_sdk/models/__init__.py +59 -0
- syllable_sdk/models/body_pronunciations_upload_csv.py +46 -0
- syllable_sdk/models/campaignproperties.py +1 -0
- syllable_sdk/models/dictionarymetadata.py +24 -0
- syllable_sdk/models/incidentcreaterequest.py +10 -4
- syllable_sdk/models/incidentresponse.py +10 -4
- syllable_sdk/models/incidentupdaterequest.py +12 -28
- syllable_sdk/models/matchtype.py +11 -0
- syllable_sdk/models/outboundcampaign.py +7 -0
- syllable_sdk/models/outboundcampaigninput.py +7 -0
- syllable_sdk/models/promptcreaterequest.py +7 -1
- syllable_sdk/models/pronunciationoverride.py +45 -0
- syllable_sdk/models/pronunciationoverridesdictionary.py +70 -0
- syllable_sdk/models/pronunciations_download_csvop.py +18 -0
- syllable_sdk/models/pronunciationscsvuploadresponse.py +31 -0
- syllable_sdk/models/toolproperties.py +1 -1
- syllable_sdk/models/voicedisplayinfo.py +20 -0
- syllable_sdk/models/voicesamplecreaterequest.py +17 -1
- syllable_sdk/numbers.py +6 -6
- syllable_sdk/organizations.py +8 -8
- syllable_sdk/permissions.py +2 -2
- syllable_sdk/prompts.py +14 -14
- syllable_sdk/pronunciations.py +805 -0
- syllable_sdk/roles.py +10 -10
- syllable_sdk/sdk.py +3 -0
- syllable_sdk/services.py +10 -10
- syllable_sdk/session_debug.py +6 -6
- syllable_sdk/session_labels.py +6 -6
- syllable_sdk/sessions.py +8 -8
- syllable_sdk/takeouts.py +6 -6
- syllable_sdk/targets.py +10 -10
- syllable_sdk/test.py +2 -2
- syllable_sdk/tools.py +10 -10
- syllable_sdk/transcript.py +2 -2
- syllable_sdk/twilio.py +6 -6
- syllable_sdk/users.py +14 -14
- syllable_sdk/v1.py +14 -14
- syllable_sdk/workflows.py +16 -16
- {syllable_sdk-0.37.5.dist-info → syllable_sdk-0.38.16.dist-info}/METADATA +9 -5
- {syllable_sdk-0.37.5.dist-info → syllable_sdk-0.38.16.dist-info}/RECORD +63 -54
- {syllable_sdk-0.37.5.dist-info → syllable_sdk-0.38.16.dist-info}/WHEEL +0 -0
syllable_sdk/latency.py
CHANGED
|
@@ -70,7 +70,7 @@ class Latency(BaseSDK):
|
|
|
70
70
|
config=self.sdk_configuration,
|
|
71
71
|
base_url=base_url or "",
|
|
72
72
|
operation_id="session_latency_get_by_id",
|
|
73
|
-
oauth2_scopes=
|
|
73
|
+
oauth2_scopes=None,
|
|
74
74
|
security_source=get_security_from_env(
|
|
75
75
|
self.sdk_configuration.security, models.Security
|
|
76
76
|
),
|
|
@@ -157,7 +157,7 @@ class Latency(BaseSDK):
|
|
|
157
157
|
config=self.sdk_configuration,
|
|
158
158
|
base_url=base_url or "",
|
|
159
159
|
operation_id="session_latency_get_by_id",
|
|
160
|
-
oauth2_scopes=
|
|
160
|
+
oauth2_scopes=None,
|
|
161
161
|
security_source=get_security_from_env(
|
|
162
162
|
self.sdk_configuration.security, models.Security
|
|
163
163
|
),
|
syllable_sdk/models/__init__.py
CHANGED
|
@@ -68,6 +68,12 @@ if TYPE_CHECKING:
|
|
|
68
68
|
BodyOutboundBatchUploadFileTypedDict,
|
|
69
69
|
BodyOutboundBatchUploadTypedDict,
|
|
70
70
|
)
|
|
71
|
+
from .body_pronunciations_upload_csv import (
|
|
72
|
+
BodyPronunciationsUploadCsv,
|
|
73
|
+
BodyPronunciationsUploadCsvFile,
|
|
74
|
+
BodyPronunciationsUploadCsvFileTypedDict,
|
|
75
|
+
BodyPronunciationsUploadCsvTypedDict,
|
|
76
|
+
)
|
|
71
77
|
from .campaignproperties import CampaignProperties
|
|
72
78
|
from .channel import Channel, ChannelTypedDict
|
|
73
79
|
from .channel_targets_createop import (
|
|
@@ -215,6 +221,7 @@ if TYPE_CHECKING:
|
|
|
215
221
|
from .dialogmessage import DialogMessage, DialogMessageTypedDict
|
|
216
222
|
from .dialogrole import DialogRole
|
|
217
223
|
from .dialogtoolcall import DialogToolCall, DialogToolCallTypedDict
|
|
224
|
+
from .dictionarymetadata import DictionaryMetadata, DictionaryMetadataTypedDict
|
|
218
225
|
from .event import Attributes, AttributesTypedDict, Event, EventTypedDict
|
|
219
226
|
from .eventproperties import EventProperties
|
|
220
227
|
from .events_listop import EventsListRequest, EventsListRequestTypedDict
|
|
@@ -521,6 +528,7 @@ if TYPE_CHECKING:
|
|
|
521
528
|
ListResponseUserResponseTypedDict,
|
|
522
529
|
)
|
|
523
530
|
from .logintype import LoginType
|
|
531
|
+
from .matchtype import MatchType
|
|
524
532
|
from .orderbydirection import OrderByDirection
|
|
525
533
|
from .organizationchannelconfig import (
|
|
526
534
|
OrganizationChannelConfig,
|
|
@@ -622,6 +630,22 @@ if TYPE_CHECKING:
|
|
|
622
630
|
from .prompts_historyop import PromptsHistoryRequest, PromptsHistoryRequestTypedDict
|
|
623
631
|
from .prompts_listop import PromptsListRequest, PromptsListRequestTypedDict
|
|
624
632
|
from .promptupdaterequest import PromptUpdateRequest, PromptUpdateRequestTypedDict
|
|
633
|
+
from .pronunciationoverride import (
|
|
634
|
+
PronunciationOverride,
|
|
635
|
+
PronunciationOverrideTypedDict,
|
|
636
|
+
)
|
|
637
|
+
from .pronunciationoverridesdictionary import (
|
|
638
|
+
PronunciationOverridesDictionary,
|
|
639
|
+
PronunciationOverridesDictionaryTypedDict,
|
|
640
|
+
)
|
|
641
|
+
from .pronunciations_download_csvop import (
|
|
642
|
+
PronunciationsDownloadCsvResponse,
|
|
643
|
+
PronunciationsDownloadCsvResponseTypedDict,
|
|
644
|
+
)
|
|
645
|
+
from .pronunciationscsvuploadresponse import (
|
|
646
|
+
PronunciationsCsvUploadResponse,
|
|
647
|
+
PronunciationsCsvUploadResponseTypedDict,
|
|
648
|
+
)
|
|
625
649
|
from .requeststatus import RequestStatus
|
|
626
650
|
from .rolecreaterequest import RoleCreateRequest, RoleCreateRequestTypedDict
|
|
627
651
|
from .roleproperties import RoleProperties
|
|
@@ -817,6 +841,7 @@ if TYPE_CHECKING:
|
|
|
817
841
|
ValidationError,
|
|
818
842
|
ValidationErrorTypedDict,
|
|
819
843
|
)
|
|
844
|
+
from .voicedisplayinfo import VoiceDisplayInfo, VoiceDisplayInfoTypedDict
|
|
820
845
|
from .voicesamplecreaterequest import (
|
|
821
846
|
VoiceSampleCreateRequest,
|
|
822
847
|
VoiceSampleCreateRequestTypedDict,
|
|
@@ -887,6 +912,10 @@ __all__ = [
|
|
|
887
912
|
"BodyOutboundBatchUploadFile",
|
|
888
913
|
"BodyOutboundBatchUploadFileTypedDict",
|
|
889
914
|
"BodyOutboundBatchUploadTypedDict",
|
|
915
|
+
"BodyPronunciationsUploadCsv",
|
|
916
|
+
"BodyPronunciationsUploadCsvFile",
|
|
917
|
+
"BodyPronunciationsUploadCsvFileTypedDict",
|
|
918
|
+
"BodyPronunciationsUploadCsvTypedDict",
|
|
890
919
|
"CampaignProperties",
|
|
891
920
|
"Channel",
|
|
892
921
|
"ChannelConfigView",
|
|
@@ -984,6 +1013,8 @@ __all__ = [
|
|
|
984
1013
|
"DialogRole",
|
|
985
1014
|
"DialogToolCall",
|
|
986
1015
|
"DialogToolCallTypedDict",
|
|
1016
|
+
"DictionaryMetadata",
|
|
1017
|
+
"DictionaryMetadataTypedDict",
|
|
987
1018
|
"Event",
|
|
988
1019
|
"EventProperties",
|
|
989
1020
|
"EventTypedDict",
|
|
@@ -1170,6 +1201,7 @@ __all__ = [
|
|
|
1170
1201
|
"Loc",
|
|
1171
1202
|
"LocTypedDict",
|
|
1172
1203
|
"LoginType",
|
|
1204
|
+
"MatchType",
|
|
1173
1205
|
"Metadata",
|
|
1174
1206
|
"MetadataTypedDict",
|
|
1175
1207
|
"OrderByDirection",
|
|
@@ -1239,6 +1271,14 @@ __all__ = [
|
|
|
1239
1271
|
"PromptsHistoryRequestTypedDict",
|
|
1240
1272
|
"PromptsListRequest",
|
|
1241
1273
|
"PromptsListRequestTypedDict",
|
|
1274
|
+
"PronunciationOverride",
|
|
1275
|
+
"PronunciationOverrideTypedDict",
|
|
1276
|
+
"PronunciationOverridesDictionary",
|
|
1277
|
+
"PronunciationOverridesDictionaryTypedDict",
|
|
1278
|
+
"PronunciationsCsvUploadResponse",
|
|
1279
|
+
"PronunciationsCsvUploadResponseTypedDict",
|
|
1280
|
+
"PronunciationsDownloadCsvResponse",
|
|
1281
|
+
"PronunciationsDownloadCsvResponseTypedDict",
|
|
1242
1282
|
"RequestStatus",
|
|
1243
1283
|
"RoleCreateRequest",
|
|
1244
1284
|
"RoleCreateRequestTypedDict",
|
|
@@ -1407,6 +1447,8 @@ __all__ = [
|
|
|
1407
1447
|
"UsersSendEmailRequestTypedDict",
|
|
1408
1448
|
"ValidationError",
|
|
1409
1449
|
"ValidationErrorTypedDict",
|
|
1450
|
+
"VoiceDisplayInfo",
|
|
1451
|
+
"VoiceDisplayInfoTypedDict",
|
|
1410
1452
|
"VoiceSampleCreateRequest",
|
|
1411
1453
|
"VoiceSampleCreateRequestTypedDict",
|
|
1412
1454
|
]
|
|
@@ -1466,6 +1508,10 @@ _dynamic_imports: dict[str, str] = {
|
|
|
1466
1508
|
"BodyOutboundBatchUploadFile": ".body_outbound_batch_upload",
|
|
1467
1509
|
"BodyOutboundBatchUploadFileTypedDict": ".body_outbound_batch_upload",
|
|
1468
1510
|
"BodyOutboundBatchUploadTypedDict": ".body_outbound_batch_upload",
|
|
1511
|
+
"BodyPronunciationsUploadCsv": ".body_pronunciations_upload_csv",
|
|
1512
|
+
"BodyPronunciationsUploadCsvFile": ".body_pronunciations_upload_csv",
|
|
1513
|
+
"BodyPronunciationsUploadCsvFileTypedDict": ".body_pronunciations_upload_csv",
|
|
1514
|
+
"BodyPronunciationsUploadCsvTypedDict": ".body_pronunciations_upload_csv",
|
|
1469
1515
|
"CampaignProperties": ".campaignproperties",
|
|
1470
1516
|
"Channel": ".channel",
|
|
1471
1517
|
"ChannelTypedDict": ".channel",
|
|
@@ -1561,6 +1607,8 @@ _dynamic_imports: dict[str, str] = {
|
|
|
1561
1607
|
"DialogRole": ".dialogrole",
|
|
1562
1608
|
"DialogToolCall": ".dialogtoolcall",
|
|
1563
1609
|
"DialogToolCallTypedDict": ".dialogtoolcall",
|
|
1610
|
+
"DictionaryMetadata": ".dictionarymetadata",
|
|
1611
|
+
"DictionaryMetadataTypedDict": ".dictionarymetadata",
|
|
1564
1612
|
"Attributes": ".event",
|
|
1565
1613
|
"AttributesTypedDict": ".event",
|
|
1566
1614
|
"Event": ".event",
|
|
@@ -1751,6 +1799,7 @@ _dynamic_imports: dict[str, str] = {
|
|
|
1751
1799
|
"ListResponseUserResponse": ".listresponse_userresponse_",
|
|
1752
1800
|
"ListResponseUserResponseTypedDict": ".listresponse_userresponse_",
|
|
1753
1801
|
"LoginType": ".logintype",
|
|
1802
|
+
"MatchType": ".matchtype",
|
|
1754
1803
|
"OrderByDirection": ".orderbydirection",
|
|
1755
1804
|
"OrganizationChannelConfig": ".organizationchannelconfig",
|
|
1756
1805
|
"OrganizationChannelConfigTypedDict": ".organizationchannelconfig",
|
|
@@ -1818,6 +1867,14 @@ _dynamic_imports: dict[str, str] = {
|
|
|
1818
1867
|
"PromptsListRequestTypedDict": ".prompts_listop",
|
|
1819
1868
|
"PromptUpdateRequest": ".promptupdaterequest",
|
|
1820
1869
|
"PromptUpdateRequestTypedDict": ".promptupdaterequest",
|
|
1870
|
+
"PronunciationOverride": ".pronunciationoverride",
|
|
1871
|
+
"PronunciationOverrideTypedDict": ".pronunciationoverride",
|
|
1872
|
+
"PronunciationOverridesDictionary": ".pronunciationoverridesdictionary",
|
|
1873
|
+
"PronunciationOverridesDictionaryTypedDict": ".pronunciationoverridesdictionary",
|
|
1874
|
+
"PronunciationsDownloadCsvResponse": ".pronunciations_download_csvop",
|
|
1875
|
+
"PronunciationsDownloadCsvResponseTypedDict": ".pronunciations_download_csvop",
|
|
1876
|
+
"PronunciationsCsvUploadResponse": ".pronunciationscsvuploadresponse",
|
|
1877
|
+
"PronunciationsCsvUploadResponseTypedDict": ".pronunciationscsvuploadresponse",
|
|
1821
1878
|
"RequestStatus": ".requeststatus",
|
|
1822
1879
|
"RoleCreateRequest": ".rolecreaterequest",
|
|
1823
1880
|
"RoleCreateRequestTypedDict": ".rolecreaterequest",
|
|
@@ -1989,6 +2046,8 @@ _dynamic_imports: dict[str, str] = {
|
|
|
1989
2046
|
"LocTypedDict": ".validationerror",
|
|
1990
2047
|
"ValidationError": ".validationerror",
|
|
1991
2048
|
"ValidationErrorTypedDict": ".validationerror",
|
|
2049
|
+
"VoiceDisplayInfo": ".voicedisplayinfo",
|
|
2050
|
+
"VoiceDisplayInfoTypedDict": ".voicedisplayinfo",
|
|
1992
2051
|
"VoiceSampleCreateRequest": ".voicesamplecreaterequest",
|
|
1993
2052
|
"VoiceSampleCreateRequestTypedDict": ".voicesamplecreaterequest",
|
|
1994
2053
|
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
import io
|
|
5
|
+
import pydantic
|
|
6
|
+
from syllable_sdk.types import BaseModel
|
|
7
|
+
from syllable_sdk.utils import FieldMetadata, MultipartFormMetadata
|
|
8
|
+
from typing import IO, Optional, Union
|
|
9
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class BodyPronunciationsUploadCsvFileTypedDict(TypedDict):
|
|
13
|
+
file_name: str
|
|
14
|
+
content: Union[bytes, IO[bytes], io.BufferedReader]
|
|
15
|
+
content_type: NotRequired[str]
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
class BodyPronunciationsUploadCsvFile(BaseModel):
|
|
19
|
+
file_name: Annotated[
|
|
20
|
+
str, pydantic.Field(alias="fileName"), FieldMetadata(multipart=True)
|
|
21
|
+
]
|
|
22
|
+
|
|
23
|
+
content: Annotated[
|
|
24
|
+
Union[bytes, IO[bytes], io.BufferedReader],
|
|
25
|
+
pydantic.Field(alias=""),
|
|
26
|
+
FieldMetadata(multipart=MultipartFormMetadata(content=True)),
|
|
27
|
+
]
|
|
28
|
+
|
|
29
|
+
content_type: Annotated[
|
|
30
|
+
Optional[str],
|
|
31
|
+
pydantic.Field(alias="Content-Type"),
|
|
32
|
+
FieldMetadata(multipart=True),
|
|
33
|
+
] = None
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
class BodyPronunciationsUploadCsvTypedDict(TypedDict):
|
|
37
|
+
file: BodyPronunciationsUploadCsvFileTypedDict
|
|
38
|
+
r"""CSV file containing pronunciation overrides"""
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
class BodyPronunciationsUploadCsv(BaseModel):
|
|
42
|
+
file: Annotated[
|
|
43
|
+
BodyPronunciationsUploadCsvFile,
|
|
44
|
+
FieldMetadata(multipart=MultipartFormMetadata(file=True)),
|
|
45
|
+
]
|
|
46
|
+
r"""CSV file containing pronunciation overrides"""
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
from syllable_sdk.types import BaseModel
|
|
5
|
+
from typing import Optional
|
|
6
|
+
from typing_extensions import NotRequired, TypedDict
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class DictionaryMetadataTypedDict(TypedDict):
|
|
10
|
+
r"""Audit metadata associated with a dictionary."""
|
|
11
|
+
|
|
12
|
+
entries: int
|
|
13
|
+
hash: str
|
|
14
|
+
source: NotRequired[str]
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
class DictionaryMetadata(BaseModel):
|
|
18
|
+
r"""Audit metadata associated with a dictionary."""
|
|
19
|
+
|
|
20
|
+
entries: int
|
|
21
|
+
|
|
22
|
+
hash: str
|
|
23
|
+
|
|
24
|
+
source: Optional[str] = ""
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
from datetime import datetime
|
|
5
|
+
import pydantic
|
|
5
6
|
from pydantic import model_serializer
|
|
6
7
|
from syllable_sdk.types import (
|
|
7
8
|
BaseModel,
|
|
@@ -10,7 +11,7 @@ from syllable_sdk.types import (
|
|
|
10
11
|
UNSET,
|
|
11
12
|
UNSET_SENTINEL,
|
|
12
13
|
)
|
|
13
|
-
from typing_extensions import NotRequired, TypedDict
|
|
14
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
14
15
|
|
|
15
16
|
|
|
16
17
|
class IncidentCreateRequestTypedDict(TypedDict):
|
|
@@ -33,7 +34,7 @@ class IncidentCreateRequestTypedDict(TypedDict):
|
|
|
33
34
|
sub_organization_id: NotRequired[Nullable[int]]
|
|
34
35
|
r"""The ID of the sub-organization"""
|
|
35
36
|
sub_organization: NotRequired[Nullable[str]]
|
|
36
|
-
r"""The name of the sub-organization"""
|
|
37
|
+
r"""The name of the sub-organization (DEPRECATED)"""
|
|
37
38
|
|
|
38
39
|
|
|
39
40
|
class IncidentCreateRequest(BaseModel):
|
|
@@ -63,8 +64,13 @@ class IncidentCreateRequest(BaseModel):
|
|
|
63
64
|
sub_organization_id: OptionalNullable[int] = UNSET
|
|
64
65
|
r"""The ID of the sub-organization"""
|
|
65
66
|
|
|
66
|
-
sub_organization:
|
|
67
|
-
|
|
67
|
+
sub_organization: Annotated[
|
|
68
|
+
OptionalNullable[str],
|
|
69
|
+
pydantic.Field(
|
|
70
|
+
deprecated="warning: ** DEPRECATED ** - This will be removed in a future release, please migrate away from it as soon as possible."
|
|
71
|
+
),
|
|
72
|
+
] = UNSET
|
|
73
|
+
r"""The name of the sub-organization (DEPRECATED)"""
|
|
68
74
|
|
|
69
75
|
@model_serializer(mode="wrap")
|
|
70
76
|
def serialize_model(self, handler):
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
from datetime import datetime
|
|
5
|
+
import pydantic
|
|
5
6
|
from pydantic import model_serializer
|
|
6
7
|
from syllable_sdk.types import (
|
|
7
8
|
BaseModel,
|
|
@@ -10,7 +11,7 @@ from syllable_sdk.types import (
|
|
|
10
11
|
UNSET,
|
|
11
12
|
UNSET_SENTINEL,
|
|
12
13
|
)
|
|
13
|
-
from typing_extensions import NotRequired, TypedDict
|
|
14
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
14
15
|
|
|
15
16
|
|
|
16
17
|
class IncidentResponseTypedDict(TypedDict):
|
|
@@ -37,7 +38,7 @@ class IncidentResponseTypedDict(TypedDict):
|
|
|
37
38
|
sub_organization_id: NotRequired[Nullable[int]]
|
|
38
39
|
r"""The ID of the sub-organization"""
|
|
39
40
|
sub_organization: NotRequired[Nullable[str]]
|
|
40
|
-
r"""The name of the sub-organization"""
|
|
41
|
+
r"""The name of the sub-organization (DEPRECATED)"""
|
|
41
42
|
created_at: NotRequired[Nullable[datetime]]
|
|
42
43
|
r"""Creation time of the incident"""
|
|
43
44
|
updated_at: NotRequired[Nullable[datetime]]
|
|
@@ -77,8 +78,13 @@ class IncidentResponse(BaseModel):
|
|
|
77
78
|
sub_organization_id: OptionalNullable[int] = UNSET
|
|
78
79
|
r"""The ID of the sub-organization"""
|
|
79
80
|
|
|
80
|
-
sub_organization:
|
|
81
|
-
|
|
81
|
+
sub_organization: Annotated[
|
|
82
|
+
OptionalNullable[str],
|
|
83
|
+
pydantic.Field(
|
|
84
|
+
deprecated="warning: ** DEPRECATED ** - This will be removed in a future release, please migrate away from it as soon as possible."
|
|
85
|
+
),
|
|
86
|
+
] = UNSET
|
|
87
|
+
r"""The name of the sub-organization (DEPRECATED)"""
|
|
82
88
|
|
|
83
89
|
created_at: OptionalNullable[datetime] = UNSET
|
|
84
90
|
r"""Creation time of the incident"""
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
from datetime import datetime
|
|
5
|
+
import pydantic
|
|
5
6
|
from pydantic import model_serializer
|
|
6
7
|
from syllable_sdk.types import (
|
|
7
8
|
BaseModel,
|
|
@@ -10,7 +11,7 @@ from syllable_sdk.types import (
|
|
|
10
11
|
UNSET,
|
|
11
12
|
UNSET_SENTINEL,
|
|
12
13
|
)
|
|
13
|
-
from typing_extensions import NotRequired, TypedDict
|
|
14
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
14
15
|
|
|
15
16
|
|
|
16
17
|
class IncidentUpdateRequestTypedDict(TypedDict):
|
|
@@ -35,11 +36,7 @@ class IncidentUpdateRequestTypedDict(TypedDict):
|
|
|
35
36
|
sub_organization_id: NotRequired[Nullable[int]]
|
|
36
37
|
r"""The ID of the sub-organization"""
|
|
37
38
|
sub_organization: NotRequired[Nullable[str]]
|
|
38
|
-
r"""The name of the sub-organization"""
|
|
39
|
-
created_at: NotRequired[Nullable[datetime]]
|
|
40
|
-
r"""Creation time of the incident"""
|
|
41
|
-
updated_at: NotRequired[Nullable[datetime]]
|
|
42
|
-
r"""Last update time of the incident"""
|
|
39
|
+
r"""The name of the sub-organization (DEPRECATED)"""
|
|
43
40
|
|
|
44
41
|
|
|
45
42
|
class IncidentUpdateRequest(BaseModel):
|
|
@@ -72,31 +69,18 @@ class IncidentUpdateRequest(BaseModel):
|
|
|
72
69
|
sub_organization_id: OptionalNullable[int] = UNSET
|
|
73
70
|
r"""The ID of the sub-organization"""
|
|
74
71
|
|
|
75
|
-
sub_organization:
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
r"""Last update time of the incident"""
|
|
72
|
+
sub_organization: Annotated[
|
|
73
|
+
OptionalNullable[str],
|
|
74
|
+
pydantic.Field(
|
|
75
|
+
deprecated="warning: ** DEPRECATED ** - This will be removed in a future release, please migrate away from it as soon as possible."
|
|
76
|
+
),
|
|
77
|
+
] = UNSET
|
|
78
|
+
r"""The name of the sub-organization (DEPRECATED)"""
|
|
83
79
|
|
|
84
80
|
@model_serializer(mode="wrap")
|
|
85
81
|
def serialize_model(self, handler):
|
|
86
|
-
optional_fields = [
|
|
87
|
-
|
|
88
|
-
"sub_organization_id",
|
|
89
|
-
"sub_organization",
|
|
90
|
-
"created_at",
|
|
91
|
-
"updated_at",
|
|
92
|
-
]
|
|
93
|
-
nullable_fields = [
|
|
94
|
-
"organization_id",
|
|
95
|
-
"sub_organization_id",
|
|
96
|
-
"sub_organization",
|
|
97
|
-
"created_at",
|
|
98
|
-
"updated_at",
|
|
99
|
-
]
|
|
82
|
+
optional_fields = ["organization_id", "sub_organization_id", "sub_organization"]
|
|
83
|
+
nullable_fields = ["organization_id", "sub_organization_id", "sub_organization"]
|
|
100
84
|
null_default_fields = []
|
|
101
85
|
|
|
102
86
|
serialized = handler(self)
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
from enum import Enum
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
class MatchType(str, Enum):
|
|
8
|
+
r"""Matching strategy for override text."""
|
|
9
|
+
|
|
10
|
+
EXACT = "exact"
|
|
11
|
+
SUBSTRING = "substring"
|
|
@@ -51,6 +51,8 @@ class OutboundCampaignTypedDict(TypedDict):
|
|
|
51
51
|
r"""Number of retries per target"""
|
|
52
52
|
retry_interval: NotRequired[Nullable[str]]
|
|
53
53
|
r"""How long to wait before retrying"""
|
|
54
|
+
voicemail_detection: NotRequired[Nullable[Dict[str, float]]]
|
|
55
|
+
r"""Config for voicemail detection for voice campaigns"""
|
|
54
56
|
agent_id: NotRequired[Nullable[int]]
|
|
55
57
|
r"""ID of agent assigned to campaign"""
|
|
56
58
|
created_at: NotRequired[datetime]
|
|
@@ -116,6 +118,9 @@ class OutboundCampaign(BaseModel):
|
|
|
116
118
|
retry_interval: OptionalNullable[str] = UNSET
|
|
117
119
|
r"""How long to wait before retrying"""
|
|
118
120
|
|
|
121
|
+
voicemail_detection: OptionalNullable[Dict[str, float]] = UNSET
|
|
122
|
+
r"""Config for voicemail detection for voice campaigns"""
|
|
123
|
+
|
|
119
124
|
agent_id: OptionalNullable[int] = UNSET
|
|
120
125
|
r"""ID of agent assigned to campaign"""
|
|
121
126
|
|
|
@@ -139,6 +144,7 @@ class OutboundCampaign(BaseModel):
|
|
|
139
144
|
"hourly_rate",
|
|
140
145
|
"retry_count",
|
|
141
146
|
"retry_interval",
|
|
147
|
+
"voicemail_detection",
|
|
142
148
|
"agent_id",
|
|
143
149
|
"created_at",
|
|
144
150
|
"updated_at",
|
|
@@ -154,6 +160,7 @@ class OutboundCampaign(BaseModel):
|
|
|
154
160
|
"source",
|
|
155
161
|
"caller_id",
|
|
156
162
|
"retry_interval",
|
|
163
|
+
"voicemail_detection",
|
|
157
164
|
"agent_id",
|
|
158
165
|
]
|
|
159
166
|
null_default_fields = []
|
|
@@ -46,6 +46,8 @@ class OutboundCampaignInputTypedDict(TypedDict):
|
|
|
46
46
|
r"""Number of retries per target"""
|
|
47
47
|
retry_interval: NotRequired[Nullable[str]]
|
|
48
48
|
r"""How long to wait before retrying"""
|
|
49
|
+
voicemail_detection: NotRequired[Nullable[Dict[str, float]]]
|
|
50
|
+
r"""Config for voicemail detection for voice campaigns"""
|
|
49
51
|
|
|
50
52
|
|
|
51
53
|
class OutboundCampaignInput(BaseModel):
|
|
@@ -99,6 +101,9 @@ class OutboundCampaignInput(BaseModel):
|
|
|
99
101
|
retry_interval: OptionalNullable[str] = UNSET
|
|
100
102
|
r"""How long to wait before retrying"""
|
|
101
103
|
|
|
104
|
+
voicemail_detection: OptionalNullable[Dict[str, float]] = UNSET
|
|
105
|
+
r"""Config for voicemail detection for voice campaigns"""
|
|
106
|
+
|
|
102
107
|
@model_serializer(mode="wrap")
|
|
103
108
|
def serialize_model(self, handler):
|
|
104
109
|
optional_fields = [
|
|
@@ -113,6 +118,7 @@ class OutboundCampaignInput(BaseModel):
|
|
|
113
118
|
"hourly_rate",
|
|
114
119
|
"retry_count",
|
|
115
120
|
"retry_interval",
|
|
121
|
+
"voicemail_detection",
|
|
116
122
|
]
|
|
117
123
|
nullable_fields = [
|
|
118
124
|
"description",
|
|
@@ -125,6 +131,7 @@ class OutboundCampaignInput(BaseModel):
|
|
|
125
131
|
"source",
|
|
126
132
|
"caller_id",
|
|
127
133
|
"retry_interval",
|
|
134
|
+
"voicemail_detection",
|
|
128
135
|
]
|
|
129
136
|
null_default_fields = []
|
|
130
137
|
|
|
@@ -31,6 +31,8 @@ class PromptCreateRequestTypedDict(TypedDict):
|
|
|
31
31
|
r"""Names of tools to which the prompt has access"""
|
|
32
32
|
session_end_enabled: NotRequired[bool]
|
|
33
33
|
r"""Whether session end functionality is enabled for this prompt"""
|
|
34
|
+
edit_comments: NotRequired[Nullable[str]]
|
|
35
|
+
r"""The comments for the most recent edit to the prompt"""
|
|
34
36
|
include_default_tools: NotRequired[bool]
|
|
35
37
|
r"""Whether to include the default tools (`hangup`) in the list of tools for the prompt. If you disable this during creation, you might want to disable it during updates as well, otherwise the default tools will be added when updating the prompt."""
|
|
36
38
|
|
|
@@ -59,6 +61,9 @@ class PromptCreateRequest(BaseModel):
|
|
|
59
61
|
session_end_enabled: Optional[bool] = False
|
|
60
62
|
r"""Whether session end functionality is enabled for this prompt"""
|
|
61
63
|
|
|
64
|
+
edit_comments: OptionalNullable[str] = UNSET
|
|
65
|
+
r"""The comments for the most recent edit to the prompt"""
|
|
66
|
+
|
|
62
67
|
include_default_tools: Optional[bool] = True
|
|
63
68
|
r"""Whether to include the default tools (`hangup`) in the list of tools for the prompt. If you disable this during creation, you might want to disable it during updates as well, otherwise the default tools will be added when updating the prompt."""
|
|
64
69
|
|
|
@@ -69,9 +74,10 @@ class PromptCreateRequest(BaseModel):
|
|
|
69
74
|
"context",
|
|
70
75
|
"tools",
|
|
71
76
|
"session_end_enabled",
|
|
77
|
+
"edit_comments",
|
|
72
78
|
"include_default_tools",
|
|
73
79
|
]
|
|
74
|
-
nullable_fields = ["description", "context"]
|
|
80
|
+
nullable_fields = ["description", "context", "edit_comments"]
|
|
75
81
|
null_default_fields = []
|
|
76
82
|
|
|
77
83
|
serialized = handler(self)
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
from .matchtype import MatchType
|
|
5
|
+
from syllable_sdk.types import BaseModel
|
|
6
|
+
from typing import List, Optional
|
|
7
|
+
from typing_extensions import NotRequired, TypedDict
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class PronunciationOverrideTypedDict(TypedDict):
|
|
11
|
+
r"""A single text replacement rule."""
|
|
12
|
+
|
|
13
|
+
text: str
|
|
14
|
+
replacement: str
|
|
15
|
+
languages: NotRequired[List[str]]
|
|
16
|
+
provider: NotRequired[str]
|
|
17
|
+
voice: NotRequired[str]
|
|
18
|
+
match_type: NotRequired[MatchType]
|
|
19
|
+
r"""Matching strategy for override text."""
|
|
20
|
+
match_options: NotRequired[List[str]]
|
|
21
|
+
enabled: NotRequired[bool]
|
|
22
|
+
notes: NotRequired[str]
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
class PronunciationOverride(BaseModel):
|
|
26
|
+
r"""A single text replacement rule."""
|
|
27
|
+
|
|
28
|
+
text: str
|
|
29
|
+
|
|
30
|
+
replacement: str
|
|
31
|
+
|
|
32
|
+
languages: Optional[List[str]] = None
|
|
33
|
+
|
|
34
|
+
provider: Optional[str] = ""
|
|
35
|
+
|
|
36
|
+
voice: Optional[str] = ""
|
|
37
|
+
|
|
38
|
+
match_type: Optional[MatchType] = None
|
|
39
|
+
r"""Matching strategy for override text."""
|
|
40
|
+
|
|
41
|
+
match_options: Optional[List[str]] = None
|
|
42
|
+
|
|
43
|
+
enabled: Optional[bool] = True
|
|
44
|
+
|
|
45
|
+
notes: Optional[str] = ""
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
from .dictionarymetadata import DictionaryMetadata, DictionaryMetadataTypedDict
|
|
5
|
+
from .pronunciationoverride import PronunciationOverride, PronunciationOverrideTypedDict
|
|
6
|
+
from .voicedisplayinfo import VoiceDisplayInfo, VoiceDisplayInfoTypedDict
|
|
7
|
+
from syllable_sdk.types import BaseModel
|
|
8
|
+
from typing import Dict, List, Optional
|
|
9
|
+
from typing_extensions import NotRequired, TypedDict
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class PronunciationOverridesDictionaryTypedDict(TypedDict):
|
|
13
|
+
r"""Container for all TTS pronunciation overrides belonging to the sub-organisation.
|
|
14
|
+
|
|
15
|
+
Stored in the `config_values` table via ConfigDao. The Syllable API persists uploaded CSV
|
|
16
|
+
pronunciation rules, and Bubblegum's PronunciationOverridesPlugin reads them to apply text
|
|
17
|
+
replacements before TTS processing.
|
|
18
|
+
|
|
19
|
+
Example:
|
|
20
|
+
dao = ConfigDao(db_session)
|
|
21
|
+
await dao.register_model('tts.pronunciations', PronunciationOverridesDictionary)
|
|
22
|
+
|
|
23
|
+
pod = PronunciationOverridesDictionary(
|
|
24
|
+
pronunciations=[...],
|
|
25
|
+
metadata=DictionaryMetadata(entries=10, hash='sha256:...'),
|
|
26
|
+
)
|
|
27
|
+
result = await dao.upsert('pronunciations_v1', pod)
|
|
28
|
+
|
|
29
|
+
record = await dao.get('pronunciations_v1', PronunciationOverridesDictionary)
|
|
30
|
+
if record:
|
|
31
|
+
pronunciations = record.value.pronunciations
|
|
32
|
+
"""
|
|
33
|
+
|
|
34
|
+
pronunciations: List[PronunciationOverrideTypedDict]
|
|
35
|
+
metadata: DictionaryMetadataTypedDict
|
|
36
|
+
r"""Audit metadata associated with a dictionary."""
|
|
37
|
+
type: NotRequired[str]
|
|
38
|
+
voices: NotRequired[Dict[str, VoiceDisplayInfoTypedDict]]
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
class PronunciationOverridesDictionary(BaseModel):
|
|
42
|
+
r"""Container for all TTS pronunciation overrides belonging to the sub-organisation.
|
|
43
|
+
|
|
44
|
+
Stored in the `config_values` table via ConfigDao. The Syllable API persists uploaded CSV
|
|
45
|
+
pronunciation rules, and Bubblegum's PronunciationOverridesPlugin reads them to apply text
|
|
46
|
+
replacements before TTS processing.
|
|
47
|
+
|
|
48
|
+
Example:
|
|
49
|
+
dao = ConfigDao(db_session)
|
|
50
|
+
await dao.register_model('tts.pronunciations', PronunciationOverridesDictionary)
|
|
51
|
+
|
|
52
|
+
pod = PronunciationOverridesDictionary(
|
|
53
|
+
pronunciations=[...],
|
|
54
|
+
metadata=DictionaryMetadata(entries=10, hash='sha256:...'),
|
|
55
|
+
)
|
|
56
|
+
result = await dao.upsert('pronunciations_v1', pod)
|
|
57
|
+
|
|
58
|
+
record = await dao.get('pronunciations_v1', PronunciationOverridesDictionary)
|
|
59
|
+
if record:
|
|
60
|
+
pronunciations = record.value.pronunciations
|
|
61
|
+
"""
|
|
62
|
+
|
|
63
|
+
pronunciations: List[PronunciationOverride]
|
|
64
|
+
|
|
65
|
+
metadata: DictionaryMetadata
|
|
66
|
+
r"""Audit metadata associated with a dictionary."""
|
|
67
|
+
|
|
68
|
+
type: Optional[str] = "pronunciations_v1"
|
|
69
|
+
|
|
70
|
+
voices: Optional[Dict[str, VoiceDisplayInfo]] = None
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
import httpx
|
|
5
|
+
from syllable_sdk.types import BaseModel
|
|
6
|
+
from typing import Dict, List
|
|
7
|
+
from typing_extensions import TypedDict
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class PronunciationsDownloadCsvResponseTypedDict(TypedDict):
|
|
11
|
+
headers: Dict[str, List[str]]
|
|
12
|
+
result: httpx.Response
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class PronunciationsDownloadCsvResponse(BaseModel):
|
|
16
|
+
headers: Dict[str, List[str]]
|
|
17
|
+
|
|
18
|
+
result: httpx.Response
|