syllable-sdk 0.44.20__py3-none-any.whl → 0.45.0__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/basesdk.py +20 -6
- syllable_sdk/models/__init__.py +5 -0
- syllable_sdk/models/agent_listop.py +35 -36
- syllable_sdk/models/agentcreate.py +38 -39
- syllable_sdk/models/agentresponse.py +49 -50
- syllable_sdk/models/agentupdate.py +38 -39
- syllable_sdk/models/available_targetsop.py +35 -36
- syllable_sdk/models/availabletarget.py +1 -17
- syllable_sdk/models/batchdetails.py +38 -39
- syllable_sdk/models/body_directory_member_bulk_load.py +18 -1
- syllable_sdk/models/body_insights_folder_upload_file.py +34 -1
- syllable_sdk/models/body_organizations_create.py +30 -19
- syllable_sdk/models/body_organizations_delete.py +14 -19
- syllable_sdk/models/body_organizations_update.py +34 -30
- syllable_sdk/models/body_outbound_batch_upload.py +34 -1
- syllable_sdk/models/body_pronunciations_upload_csv.py +18 -1
- syllable_sdk/models/bridgephrasesconfig.py +20 -1
- syllable_sdk/models/callaction.py +14 -19
- syllable_sdk/models/celexpression.py +18 -1
- syllable_sdk/models/channel.py +14 -19
- syllable_sdk/models/channel_targets_listop.py +35 -36
- syllable_sdk/models/channelconfigview.py +20 -19
- syllable_sdk/models/channels_listop.py +35 -36
- syllable_sdk/models/channeltargetcreaterequest.py +14 -19
- syllable_sdk/models/channeltargetresponse.py +14 -19
- syllable_sdk/models/channeltargetupdaterequest.py +14 -19
- syllable_sdk/models/communicationbatch.py +36 -37
- syllable_sdk/models/communicationbatchinput.py +14 -19
- syllable_sdk/models/communicationbatchupdate.py +14 -19
- syllable_sdk/models/communicationrequestresult.py +37 -38
- syllable_sdk/models/conditionaltext.py +14 -19
- syllable_sdk/models/conditionalvalue.py +14 -19
- syllable_sdk/models/context.py +14 -19
- syllable_sdk/models/contexttaskmetadata.py +14 -19
- syllable_sdk/models/contexttoolinfo.py +14 -19
- syllable_sdk/models/conversation.py +44 -45
- syllable_sdk/models/conversations_listop.py +35 -36
- syllable_sdk/models/custom_messages_listop.py +35 -36
- syllable_sdk/models/custommessagecreaterequest.py +14 -19
- syllable_sdk/models/custommessageresponse.py +14 -19
- syllable_sdk/models/custommessagerule.py +18 -19
- syllable_sdk/models/custommessageupdaterequest.py +14 -19
- syllable_sdk/models/daotoolresponse.py +18 -29
- syllable_sdk/models/data_sources_listop.py +35 -36
- syllable_sdk/models/datasourcecreaterequest.py +14 -19
- syllable_sdk/models/datasourcedetailresponse.py +18 -24
- syllable_sdk/models/datasourcemetadataresponse.py +18 -24
- syllable_sdk/models/datasourceupdaterequest.py +16 -19
- syllable_sdk/models/dialogtoolcall.py +1 -17
- syllable_sdk/models/dictionarymetadata.py +18 -1
- syllable_sdk/models/directory_member_createop.py +18 -1
- syllable_sdk/models/directory_member_downloadop.py +18 -1
- syllable_sdk/models/directory_member_get_by_idop.py +18 -1
- syllable_sdk/models/directory_member_listop.py +36 -37
- syllable_sdk/models/directory_member_test_extensionop.py +13 -18
- syllable_sdk/models/directory_member_updateop.py +18 -1
- syllable_sdk/models/directoryextension.py +14 -19
- syllable_sdk/models/directoryextensionnumber.py +14 -19
- syllable_sdk/models/directorymember.py +14 -19
- syllable_sdk/models/directorymembercreate.py +14 -19
- syllable_sdk/models/directorymembertestresponse.py +14 -19
- syllable_sdk/models/directorymemberupdate.py +14 -19
- syllable_sdk/models/emailconfigurations.py +19 -0
- syllable_sdk/models/event.py +38 -39
- syllable_sdk/models/events_listop.py +35 -36
- syllable_sdk/models/eventtask.py +16 -28
- syllable_sdk/models/eventtaskevents.py +14 -19
- syllable_sdk/models/expressiontask.py +30 -39
- syllable_sdk/models/expressiontaskevents.py +14 -19
- syllable_sdk/models/folderdetails.py +14 -19
- syllable_sdk/models/get_bridge_phrases_configop.py +14 -19
- syllable_sdk/models/getvalueaction.py +16 -19
- syllable_sdk/models/incident_listop.py +35 -36
- syllable_sdk/models/incidentcreaterequest.py +18 -19
- syllable_sdk/models/incidentresponse.py +31 -32
- syllable_sdk/models/incidentupdaterequest.py +18 -19
- syllable_sdk/models/incrementaction.py +14 -19
- syllable_sdk/models/inputparameter.py +27 -36
- syllable_sdk/models/insight_tool_listop.py +35 -36
- syllable_sdk/models/insights_folder_listop.py +35 -36
- syllable_sdk/models/insights_folder_upload_fileop.py +33 -34
- syllable_sdk/models/insights_listop.py +35 -36
- syllable_sdk/models/insights_upload_list_filesop.py +35 -36
- syllable_sdk/models/insights_workflow_listop.py +35 -36
- syllable_sdk/models/insightsfolder.py +14 -19
- syllable_sdk/models/insightsfolderinput.py +14 -19
- syllable_sdk/models/insightsoutput.py +26 -32
- syllable_sdk/models/insightsuploadfile.py +37 -38
- syllable_sdk/models/insightsworkflowqueuesession.py +14 -19
- syllable_sdk/models/insighttooloutput.py +14 -19
- syllable_sdk/models/insighttooltestinput.py +14 -19
- syllable_sdk/models/insightworkflowcondition.py +34 -35
- syllable_sdk/models/insightworkflowinput.py +14 -19
- syllable_sdk/models/insightworkflowoutput.py +22 -25
- syllable_sdk/models/inspectlatencyresponse.py +18 -1
- syllable_sdk/models/internaltool.py +18 -1
- syllable_sdk/models/jmespathexpression.py +18 -1
- syllable_sdk/models/language_groups_listop.py +35 -36
- syllable_sdk/models/languageconfig.py +14 -19
- syllable_sdk/models/languagegroupcreaterequest.py +14 -19
- syllable_sdk/models/languagegroupresponse.py +14 -19
- syllable_sdk/models/languagegroupupdaterequest.py +14 -19
- syllable_sdk/models/languagesamplecreaterequest.py +16 -24
- syllable_sdk/models/latencyentry.py +14 -19
- syllable_sdk/models/listresponse_agentresponse_.py +14 -19
- syllable_sdk/models/listresponse_availabletarget_.py +14 -19
- syllable_sdk/models/listresponse_channel_.py +14 -19
- syllable_sdk/models/listresponse_channeltargetresponse_.py +14 -19
- syllable_sdk/models/listresponse_communicationbatch_.py +14 -19
- syllable_sdk/models/listresponse_conversation_.py +14 -19
- syllable_sdk/models/listresponse_custommessageresponse_.py +14 -19
- syllable_sdk/models/listresponse_dashboardresponse_.py +14 -19
- syllable_sdk/models/listresponse_datasourcemetadataresponse_.py +14 -19
- syllable_sdk/models/listresponse_directorymember_.py +14 -19
- syllable_sdk/models/listresponse_event_.py +14 -19
- syllable_sdk/models/listresponse_incidentresponse_.py +14 -19
- syllable_sdk/models/listresponse_insightsfolder_.py +14 -19
- syllable_sdk/models/listresponse_insightsoutput_.py +14 -19
- syllable_sdk/models/listresponse_insightsuploadfile_.py +14 -19
- syllable_sdk/models/listresponse_insighttooloutput_.py +14 -19
- syllable_sdk/models/listresponse_insightworkflowoutput_.py +14 -19
- syllable_sdk/models/listresponse_languagegroupresponse_.py +14 -19
- syllable_sdk/models/listresponse_outboundcampaign_.py +14 -19
- syllable_sdk/models/listresponse_promptresponse_.py +14 -19
- syllable_sdk/models/listresponse_roleresponse_.py +14 -19
- syllable_sdk/models/listresponse_serviceresponse_.py +14 -19
- syllable_sdk/models/listresponse_session_.py +14 -19
- syllable_sdk/models/listresponse_sessionlabel_.py +14 -19
- syllable_sdk/models/listresponse_toolresponse_.py +14 -19
- syllable_sdk/models/listresponse_userresponse_.py +14 -19
- syllable_sdk/models/listresponse_voicegroupresponse_.py +14 -19
- syllable_sdk/models/loadtoolfromfiletask.py +16 -27
- syllable_sdk/models/nextstep.py +14 -19
- syllable_sdk/models/organizationchannelconfig.py +24 -29
- syllable_sdk/models/organizationchannelcreaterequest.py +14 -19
- syllable_sdk/models/organizationchannelupdaterequest.py +14 -19
- syllable_sdk/models/organizationresponse.py +32 -33
- syllable_sdk/models/outbound_batch_listop.py +35 -36
- syllable_sdk/models/outbound_batch_resultsop.py +13 -18
- syllable_sdk/models/outbound_batch_uploadop.py +18 -1
- syllable_sdk/models/outbound_campaign_listop.py +35 -36
- syllable_sdk/models/outboundcampaign.py +47 -48
- syllable_sdk/models/outboundcampaigninput.py +43 -44
- syllable_sdk/models/permissionresponse.py +14 -19
- syllable_sdk/models/post_list_dashboardop.py +35 -36
- syllable_sdk/models/promptcreaterequest.py +26 -32
- syllable_sdk/models/prompthistory.py +24 -30
- syllable_sdk/models/promptllmconfig.py +16 -26
- syllable_sdk/models/promptresponse.py +41 -42
- syllable_sdk/models/prompts_listop.py +35 -36
- syllable_sdk/models/promptupdaterequest.py +26 -32
- syllable_sdk/models/pronunciationoverride.py +28 -1
- syllable_sdk/models/pronunciationoverridesdictionary.py +18 -1
- syllable_sdk/models/pronunciationscsvuploadresponse.py +18 -1
- syllable_sdk/models/rolecreaterequest.py +14 -19
- syllable_sdk/models/roleresponse.py +14 -19
- syllable_sdk/models/roles_deleteop.py +13 -18
- syllable_sdk/models/roles_listop.py +35 -36
- syllable_sdk/models/roleupdaterequest.py +14 -19
- syllable_sdk/models/saveaction.py +14 -19
- syllable_sdk/models/sayaction.py +14 -19
- syllable_sdk/models/security.py +18 -1
- syllable_sdk/models/service_listop.py +35 -36
- syllable_sdk/models/servicecreaterequest.py +14 -19
- syllable_sdk/models/serviceresponse.py +14 -19
- syllable_sdk/models/serviceupdaterequest.py +14 -19
- syllable_sdk/models/session.py +60 -61
- syllable_sdk/models/session_labels_listop.py +35 -36
- syllable_sdk/models/sessionaction.py +18 -19
- syllable_sdk/models/sessionlabel.py +14 -19
- syllable_sdk/models/sessionlabelcreate.py +14 -19
- syllable_sdk/models/sessionrecordingresponse.py +14 -19
- syllable_sdk/models/sessions_listop.py +35 -36
- syllable_sdk/models/sessionsummaryresponse.py +14 -19
- syllable_sdk/models/sessiontext.py +14 -19
- syllable_sdk/models/setvalueaction.py +14 -19
- syllable_sdk/models/statictoolparameter.py +14 -19
- syllable_sdk/models/step.py +18 -1
- syllable_sdk/models/stepeventactions.py +14 -19
- syllable_sdk/models/stepstask.py +25 -28
- syllable_sdk/models/steptools.py +14 -19
- syllable_sdk/models/summaryentry.py +14 -19
- syllable_sdk/models/supportedllm.py +14 -19
- syllable_sdk/models/takeoutstatusresponse.py +14 -19
- syllable_sdk/models/telephonyconfigurations.py +38 -39
- syllable_sdk/models/testmessage.py +16 -19
- syllable_sdk/models/testmessageresponse.py +14 -19
- syllable_sdk/models/tool_listop.py +35 -36
- syllable_sdk/models/tooldefinition.py +34 -35
- syllable_sdk/models/tooldetailresponse.py +18 -29
- syllable_sdk/models/tooloptions.py +18 -1
- syllable_sdk/models/toolparametertransform.py +14 -19
- syllable_sdk/models/toolparametertransformcondition.py +14 -19
- syllable_sdk/models/toolresponse.py +18 -29
- syllable_sdk/models/toolupdaterequest.py +14 -19
- syllable_sdk/models/twiliochannelconfigupdate.py +14 -19
- syllable_sdk/models/twiliochannelupdaterequest.py +14 -19
- syllable_sdk/models/update_bridge_phrases_configop.py +13 -18
- syllable_sdk/models/usercreaterequest.py +14 -19
- syllable_sdk/models/userresponse.py +30 -31
- syllable_sdk/models/users_listop.py +35 -36
- syllable_sdk/models/users_send_emailop.py +18 -1
- syllable_sdk/models/userupdaterequest.py +14 -19
- syllable_sdk/models/variable.py +38 -39
- syllable_sdk/models/voice_groups_listop.py +35 -36
- syllable_sdk/models/voicegroupcreaterequest.py +14 -19
- syllable_sdk/models/voicegroupresponse.py +14 -19
- syllable_sdk/models/voicegroupupdaterequest.py +14 -19
- syllable_sdk/models/voicesamplecreaterequest.py +16 -24
- syllable_sdk/utils/__init__.py +10 -1
- {syllable_sdk-0.44.20.dist-info → syllable_sdk-0.45.0.dist-info}/METADATA +3 -3
- {syllable_sdk-0.44.20.dist-info → syllable_sdk-0.45.0.dist-info}/RECORD +214 -213
- {syllable_sdk-0.44.20.dist-info → syllable_sdk-0.45.0.dist-info}/WHEEL +0 -0
|
@@ -86,50 +86,49 @@ class BatchDetails(BaseModel):
|
|
|
86
86
|
|
|
87
87
|
@model_serializer(mode="wrap")
|
|
88
88
|
def serialize_model(self, handler):
|
|
89
|
-
optional_fields =
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
89
|
+
optional_fields = set(
|
|
90
|
+
[
|
|
91
|
+
"expires_on",
|
|
92
|
+
"paused",
|
|
93
|
+
"status",
|
|
94
|
+
"upload_filename",
|
|
95
|
+
"created_at",
|
|
96
|
+
"deleted_at",
|
|
97
|
+
"deleted_reason",
|
|
98
|
+
"last_updated_at",
|
|
99
|
+
"error_message",
|
|
100
|
+
"status_counts",
|
|
101
|
+
]
|
|
102
|
+
)
|
|
103
|
+
nullable_fields = set(
|
|
104
|
+
[
|
|
105
|
+
"expires_on",
|
|
106
|
+
"paused",
|
|
107
|
+
"upload_filename",
|
|
108
|
+
"deleted_at",
|
|
109
|
+
"deleted_reason",
|
|
110
|
+
"last_updated_at",
|
|
111
|
+
"error_message",
|
|
112
|
+
"status_counts",
|
|
113
|
+
]
|
|
114
|
+
)
|
|
113
115
|
serialized = handler(self)
|
|
114
|
-
|
|
115
116
|
m = {}
|
|
116
117
|
|
|
117
118
|
for n, f in type(self).model_fields.items():
|
|
118
119
|
k = f.alias or n
|
|
119
120
|
val = serialized.get(k)
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
):
|
|
133
|
-
m[k] = val
|
|
121
|
+
is_nullable_and_explicitly_set = (
|
|
122
|
+
k in nullable_fields
|
|
123
|
+
and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
|
|
124
|
+
)
|
|
125
|
+
|
|
126
|
+
if val != UNSET_SENTINEL:
|
|
127
|
+
if (
|
|
128
|
+
val is not None
|
|
129
|
+
or k not in optional_fields
|
|
130
|
+
or is_nullable_and_explicitly_set
|
|
131
|
+
):
|
|
132
|
+
m[k] = val
|
|
134
133
|
|
|
135
134
|
return m
|
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
import io
|
|
5
5
|
import pydantic
|
|
6
|
-
from
|
|
6
|
+
from pydantic import model_serializer
|
|
7
|
+
from syllable_sdk.types import BaseModel, UNSET_SENTINEL
|
|
7
8
|
from syllable_sdk.utils import FieldMetadata, MultipartFormMetadata
|
|
8
9
|
from typing import IO, Optional, Union
|
|
9
10
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
@@ -32,6 +33,22 @@ class BodyDirectoryMemberBulkLoadFile(BaseModel):
|
|
|
32
33
|
FieldMetadata(multipart=True),
|
|
33
34
|
] = None
|
|
34
35
|
|
|
36
|
+
@model_serializer(mode="wrap")
|
|
37
|
+
def serialize_model(self, handler):
|
|
38
|
+
optional_fields = set(["contentType"])
|
|
39
|
+
serialized = handler(self)
|
|
40
|
+
m = {}
|
|
41
|
+
|
|
42
|
+
for n, f in type(self).model_fields.items():
|
|
43
|
+
k = f.alias or n
|
|
44
|
+
val = serialized.get(k)
|
|
45
|
+
|
|
46
|
+
if val != UNSET_SENTINEL:
|
|
47
|
+
if val is not None or k not in optional_fields:
|
|
48
|
+
m[k] = val
|
|
49
|
+
|
|
50
|
+
return m
|
|
51
|
+
|
|
35
52
|
|
|
36
53
|
class BodyDirectoryMemberBulkLoadTypedDict(TypedDict):
|
|
37
54
|
file: BodyDirectoryMemberBulkLoadFileTypedDict
|
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
import io
|
|
5
5
|
import pydantic
|
|
6
|
-
from
|
|
6
|
+
from pydantic import model_serializer
|
|
7
|
+
from syllable_sdk.types import BaseModel, UNSET_SENTINEL
|
|
7
8
|
from syllable_sdk.utils import FieldMetadata, MultipartFormMetadata
|
|
8
9
|
from typing import IO, Optional, Union
|
|
9
10
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
@@ -32,6 +33,22 @@ class BodyInsightsFolderUploadFileFile(BaseModel):
|
|
|
32
33
|
FieldMetadata(multipart=True),
|
|
33
34
|
] = None
|
|
34
35
|
|
|
36
|
+
@model_serializer(mode="wrap")
|
|
37
|
+
def serialize_model(self, handler):
|
|
38
|
+
optional_fields = set(["contentType"])
|
|
39
|
+
serialized = handler(self)
|
|
40
|
+
m = {}
|
|
41
|
+
|
|
42
|
+
for n, f in type(self).model_fields.items():
|
|
43
|
+
k = f.alias or n
|
|
44
|
+
val = serialized.get(k)
|
|
45
|
+
|
|
46
|
+
if val != UNSET_SENTINEL:
|
|
47
|
+
if val is not None or k not in optional_fields:
|
|
48
|
+
m[k] = val
|
|
49
|
+
|
|
50
|
+
return m
|
|
51
|
+
|
|
35
52
|
|
|
36
53
|
class BodyInsightsFolderUploadFileTypedDict(TypedDict):
|
|
37
54
|
file: NotRequired[BodyInsightsFolderUploadFileFileTypedDict]
|
|
@@ -42,3 +59,19 @@ class BodyInsightsFolderUploadFile(BaseModel):
|
|
|
42
59
|
Optional[BodyInsightsFolderUploadFileFile],
|
|
43
60
|
FieldMetadata(multipart=MultipartFormMetadata(file=True)),
|
|
44
61
|
] = None
|
|
62
|
+
|
|
63
|
+
@model_serializer(mode="wrap")
|
|
64
|
+
def serialize_model(self, handler):
|
|
65
|
+
optional_fields = set(["file"])
|
|
66
|
+
serialized = handler(self)
|
|
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
|
+
|
|
73
|
+
if val != UNSET_SENTINEL:
|
|
74
|
+
if val is not None or k not in optional_fields:
|
|
75
|
+
m[k] = val
|
|
76
|
+
|
|
77
|
+
return m
|
|
@@ -39,6 +39,22 @@ class BodyOrganizationsCreateLogo(BaseModel):
|
|
|
39
39
|
FieldMetadata(multipart=True),
|
|
40
40
|
] = None
|
|
41
41
|
|
|
42
|
+
@model_serializer(mode="wrap")
|
|
43
|
+
def serialize_model(self, handler):
|
|
44
|
+
optional_fields = set(["contentType"])
|
|
45
|
+
serialized = handler(self)
|
|
46
|
+
m = {}
|
|
47
|
+
|
|
48
|
+
for n, f in type(self).model_fields.items():
|
|
49
|
+
k = f.alias or n
|
|
50
|
+
val = serialized.get(k)
|
|
51
|
+
|
|
52
|
+
if val != UNSET_SENTINEL:
|
|
53
|
+
if val is not None or k not in optional_fields:
|
|
54
|
+
m[k] = val
|
|
55
|
+
|
|
56
|
+
return m
|
|
57
|
+
|
|
42
58
|
|
|
43
59
|
class BodyOrganizationsCreateTypedDict(TypedDict):
|
|
44
60
|
logo: BodyOrganizationsCreateLogoTypedDict
|
|
@@ -76,30 +92,25 @@ class BodyOrganizationsCreate(BaseModel):
|
|
|
76
92
|
|
|
77
93
|
@model_serializer(mode="wrap")
|
|
78
94
|
def serialize_model(self, handler):
|
|
79
|
-
optional_fields = ["description", "domains", "saml_provider_id"]
|
|
80
|
-
nullable_fields = ["description", "domains", "saml_provider_id"]
|
|
81
|
-
null_default_fields = []
|
|
82
|
-
|
|
95
|
+
optional_fields = set(["description", "domains", "saml_provider_id"])
|
|
96
|
+
nullable_fields = set(["description", "domains", "saml_provider_id"])
|
|
83
97
|
serialized = handler(self)
|
|
84
|
-
|
|
85
98
|
m = {}
|
|
86
99
|
|
|
87
100
|
for n, f in type(self).model_fields.items():
|
|
88
101
|
k = f.alias or n
|
|
89
102
|
val = serialized.get(k)
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
):
|
|
103
|
-
m[k] = val
|
|
103
|
+
is_nullable_and_explicitly_set = (
|
|
104
|
+
k in nullable_fields
|
|
105
|
+
and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
|
|
106
|
+
)
|
|
107
|
+
|
|
108
|
+
if val != UNSET_SENTINEL:
|
|
109
|
+
if (
|
|
110
|
+
val is not None
|
|
111
|
+
or k not in optional_fields
|
|
112
|
+
or is_nullable_and_explicitly_set
|
|
113
|
+
):
|
|
114
|
+
m[k] = val
|
|
104
115
|
|
|
105
116
|
return m
|
|
@@ -24,30 +24,25 @@ class BodyOrganizationsDelete(BaseModel):
|
|
|
24
24
|
|
|
25
25
|
@model_serializer(mode="wrap")
|
|
26
26
|
def serialize_model(self, handler):
|
|
27
|
-
optional_fields = ["delete_comments"]
|
|
28
|
-
nullable_fields = ["delete_comments"]
|
|
29
|
-
null_default_fields = []
|
|
30
|
-
|
|
27
|
+
optional_fields = set(["delete_comments"])
|
|
28
|
+
nullable_fields = set(["delete_comments"])
|
|
31
29
|
serialized = handler(self)
|
|
32
|
-
|
|
33
30
|
m = {}
|
|
34
31
|
|
|
35
32
|
for n, f in type(self).model_fields.items():
|
|
36
33
|
k = f.alias or n
|
|
37
34
|
val = serialized.get(k)
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
):
|
|
51
|
-
m[k] = val
|
|
35
|
+
is_nullable_and_explicitly_set = (
|
|
36
|
+
k in nullable_fields
|
|
37
|
+
and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
|
|
38
|
+
)
|
|
39
|
+
|
|
40
|
+
if val != UNSET_SENTINEL:
|
|
41
|
+
if (
|
|
42
|
+
val is not None
|
|
43
|
+
or k not in optional_fields
|
|
44
|
+
or is_nullable_and_explicitly_set
|
|
45
|
+
):
|
|
46
|
+
m[k] = val
|
|
52
47
|
|
|
53
48
|
return m
|
|
@@ -39,6 +39,22 @@ class BodyOrganizationsUpdateLogo(BaseModel):
|
|
|
39
39
|
FieldMetadata(multipart=True),
|
|
40
40
|
] = None
|
|
41
41
|
|
|
42
|
+
@model_serializer(mode="wrap")
|
|
43
|
+
def serialize_model(self, handler):
|
|
44
|
+
optional_fields = set(["contentType"])
|
|
45
|
+
serialized = handler(self)
|
|
46
|
+
m = {}
|
|
47
|
+
|
|
48
|
+
for n, f in type(self).model_fields.items():
|
|
49
|
+
k = f.alias or n
|
|
50
|
+
val = serialized.get(k)
|
|
51
|
+
|
|
52
|
+
if val != UNSET_SENTINEL:
|
|
53
|
+
if val is not None or k not in optional_fields:
|
|
54
|
+
m[k] = val
|
|
55
|
+
|
|
56
|
+
return m
|
|
57
|
+
|
|
42
58
|
|
|
43
59
|
class BodyOrganizationsUpdateTypedDict(TypedDict):
|
|
44
60
|
display_name: str
|
|
@@ -83,41 +99,29 @@ class BodyOrganizationsUpdate(BaseModel):
|
|
|
83
99
|
|
|
84
100
|
@model_serializer(mode="wrap")
|
|
85
101
|
def serialize_model(self, handler):
|
|
86
|
-
optional_fields =
|
|
87
|
-
"logo",
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
"saml_provider_id",
|
|
91
|
-
|
|
92
|
-
]
|
|
93
|
-
nullable_fields = [
|
|
94
|
-
"description",
|
|
95
|
-
"domains",
|
|
96
|
-
"saml_provider_id",
|
|
97
|
-
"update_comments",
|
|
98
|
-
]
|
|
99
|
-
null_default_fields = []
|
|
100
|
-
|
|
102
|
+
optional_fields = set(
|
|
103
|
+
["logo", "description", "domains", "saml_provider_id", "update_comments"]
|
|
104
|
+
)
|
|
105
|
+
nullable_fields = set(
|
|
106
|
+
["description", "domains", "saml_provider_id", "update_comments"]
|
|
107
|
+
)
|
|
101
108
|
serialized = handler(self)
|
|
102
|
-
|
|
103
109
|
m = {}
|
|
104
110
|
|
|
105
111
|
for n, f in type(self).model_fields.items():
|
|
106
112
|
k = f.alias or n
|
|
107
113
|
val = serialized.get(k)
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
):
|
|
121
|
-
m[k] = val
|
|
114
|
+
is_nullable_and_explicitly_set = (
|
|
115
|
+
k in nullable_fields
|
|
116
|
+
and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
|
|
117
|
+
)
|
|
118
|
+
|
|
119
|
+
if val != UNSET_SENTINEL:
|
|
120
|
+
if (
|
|
121
|
+
val is not None
|
|
122
|
+
or k not in optional_fields
|
|
123
|
+
or is_nullable_and_explicitly_set
|
|
124
|
+
):
|
|
125
|
+
m[k] = val
|
|
122
126
|
|
|
123
127
|
return m
|
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
import io
|
|
5
5
|
import pydantic
|
|
6
|
-
from
|
|
6
|
+
from pydantic import model_serializer
|
|
7
|
+
from syllable_sdk.types import BaseModel, UNSET_SENTINEL
|
|
7
8
|
from syllable_sdk.utils import FieldMetadata, MultipartFormMetadata
|
|
8
9
|
from typing import IO, Optional, Union
|
|
9
10
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
@@ -32,6 +33,22 @@ class BodyOutboundBatchUploadFile(BaseModel):
|
|
|
32
33
|
FieldMetadata(multipart=True),
|
|
33
34
|
] = None
|
|
34
35
|
|
|
36
|
+
@model_serializer(mode="wrap")
|
|
37
|
+
def serialize_model(self, handler):
|
|
38
|
+
optional_fields = set(["contentType"])
|
|
39
|
+
serialized = handler(self)
|
|
40
|
+
m = {}
|
|
41
|
+
|
|
42
|
+
for n, f in type(self).model_fields.items():
|
|
43
|
+
k = f.alias or n
|
|
44
|
+
val = serialized.get(k)
|
|
45
|
+
|
|
46
|
+
if val != UNSET_SENTINEL:
|
|
47
|
+
if val is not None or k not in optional_fields:
|
|
48
|
+
m[k] = val
|
|
49
|
+
|
|
50
|
+
return m
|
|
51
|
+
|
|
35
52
|
|
|
36
53
|
class BodyOutboundBatchUploadTypedDict(TypedDict):
|
|
37
54
|
file: NotRequired[BodyOutboundBatchUploadFileTypedDict]
|
|
@@ -42,3 +59,19 @@ class BodyOutboundBatchUpload(BaseModel):
|
|
|
42
59
|
Optional[BodyOutboundBatchUploadFile],
|
|
43
60
|
FieldMetadata(multipart=MultipartFormMetadata(file=True)),
|
|
44
61
|
] = None
|
|
62
|
+
|
|
63
|
+
@model_serializer(mode="wrap")
|
|
64
|
+
def serialize_model(self, handler):
|
|
65
|
+
optional_fields = set(["file"])
|
|
66
|
+
serialized = handler(self)
|
|
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
|
+
|
|
73
|
+
if val != UNSET_SENTINEL:
|
|
74
|
+
if val is not None or k not in optional_fields:
|
|
75
|
+
m[k] = val
|
|
76
|
+
|
|
77
|
+
return m
|
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
import io
|
|
5
5
|
import pydantic
|
|
6
|
-
from
|
|
6
|
+
from pydantic import model_serializer
|
|
7
|
+
from syllable_sdk.types import BaseModel, UNSET_SENTINEL
|
|
7
8
|
from syllable_sdk.utils import FieldMetadata, MultipartFormMetadata
|
|
8
9
|
from typing import IO, Optional, Union
|
|
9
10
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
@@ -32,6 +33,22 @@ class BodyPronunciationsUploadCsvFile(BaseModel):
|
|
|
32
33
|
FieldMetadata(multipart=True),
|
|
33
34
|
] = None
|
|
34
35
|
|
|
36
|
+
@model_serializer(mode="wrap")
|
|
37
|
+
def serialize_model(self, handler):
|
|
38
|
+
optional_fields = set(["contentType"])
|
|
39
|
+
serialized = handler(self)
|
|
40
|
+
m = {}
|
|
41
|
+
|
|
42
|
+
for n, f in type(self).model_fields.items():
|
|
43
|
+
k = f.alias or n
|
|
44
|
+
val = serialized.get(k)
|
|
45
|
+
|
|
46
|
+
if val != UNSET_SENTINEL:
|
|
47
|
+
if val is not None or k not in optional_fields:
|
|
48
|
+
m[k] = val
|
|
49
|
+
|
|
50
|
+
return m
|
|
51
|
+
|
|
35
52
|
|
|
36
53
|
class BodyPronunciationsUploadCsvTypedDict(TypedDict):
|
|
37
54
|
file: BodyPronunciationsUploadCsvFileTypedDict
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
|
-
from
|
|
4
|
+
from pydantic import model_serializer
|
|
5
|
+
from syllable_sdk.types import BaseModel, UNSET_SENTINEL
|
|
5
6
|
from typing import List, Optional
|
|
6
7
|
from typing_extensions import NotRequired, TypedDict
|
|
7
8
|
|
|
@@ -28,3 +29,21 @@ class BridgePhrasesConfig(BaseModel):
|
|
|
28
29
|
|
|
29
30
|
tool_responses: Optional[List[str]] = None
|
|
30
31
|
r"""Messages to say when a tool call is in progress."""
|
|
32
|
+
|
|
33
|
+
@model_serializer(mode="wrap")
|
|
34
|
+
def serialize_model(self, handler):
|
|
35
|
+
optional_fields = set(
|
|
36
|
+
["first_slow_messages", "very_slow_messages", "tool_responses"]
|
|
37
|
+
)
|
|
38
|
+
serialized = handler(self)
|
|
39
|
+
m = {}
|
|
40
|
+
|
|
41
|
+
for n, f in type(self).model_fields.items():
|
|
42
|
+
k = f.alias or n
|
|
43
|
+
val = serialized.get(k)
|
|
44
|
+
|
|
45
|
+
if val != UNSET_SENTINEL:
|
|
46
|
+
if val is not None or k not in optional_fields:
|
|
47
|
+
m[k] = val
|
|
48
|
+
|
|
49
|
+
return m
|
|
@@ -87,30 +87,25 @@ class CallAction(BaseModel):
|
|
|
87
87
|
|
|
88
88
|
@model_serializer(mode="wrap")
|
|
89
89
|
def serialize_model(self, handler):
|
|
90
|
-
optional_fields = ["if", "action", "arguments", "auto_populate"]
|
|
91
|
-
nullable_fields = ["if", "arguments"]
|
|
92
|
-
null_default_fields = []
|
|
93
|
-
|
|
90
|
+
optional_fields = set(["if", "action", "arguments", "auto_populate"])
|
|
91
|
+
nullable_fields = set(["if", "arguments"])
|
|
94
92
|
serialized = handler(self)
|
|
95
|
-
|
|
96
93
|
m = {}
|
|
97
94
|
|
|
98
95
|
for n, f in type(self).model_fields.items():
|
|
99
96
|
k = f.alias or n
|
|
100
97
|
val = serialized.get(k)
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
):
|
|
114
|
-
m[k] = val
|
|
98
|
+
is_nullable_and_explicitly_set = (
|
|
99
|
+
k in nullable_fields
|
|
100
|
+
and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
|
|
101
|
+
)
|
|
102
|
+
|
|
103
|
+
if val != UNSET_SENTINEL:
|
|
104
|
+
if (
|
|
105
|
+
val is not None
|
|
106
|
+
or k not in optional_fields
|
|
107
|
+
or is_nullable_and_explicitly_set
|
|
108
|
+
):
|
|
109
|
+
m[k] = val
|
|
115
110
|
|
|
116
111
|
return m
|
|
@@ -2,8 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
import pydantic
|
|
5
|
+
from pydantic import model_serializer
|
|
5
6
|
from pydantic.functional_validators import AfterValidator
|
|
6
|
-
from syllable_sdk.types import BaseModel
|
|
7
|
+
from syllable_sdk.types import BaseModel, UNSET_SENTINEL
|
|
7
8
|
from syllable_sdk.utils import validate_const
|
|
8
9
|
from typing import Literal, Optional
|
|
9
10
|
from typing_extensions import Annotated, TypedDict
|
|
@@ -29,3 +30,19 @@ class CelExpression(BaseModel):
|
|
|
29
30
|
pydantic.Field(alias="type"),
|
|
30
31
|
] = "cel"
|
|
31
32
|
r"""Google Common Expression Language."""
|
|
33
|
+
|
|
34
|
+
@model_serializer(mode="wrap")
|
|
35
|
+
def serialize_model(self, handler):
|
|
36
|
+
optional_fields = set(["type"])
|
|
37
|
+
serialized = handler(self)
|
|
38
|
+
m = {}
|
|
39
|
+
|
|
40
|
+
for n, f in type(self).model_fields.items():
|
|
41
|
+
k = f.alias or n
|
|
42
|
+
val = serialized.get(k)
|
|
43
|
+
|
|
44
|
+
if val != UNSET_SENTINEL:
|
|
45
|
+
if val is not None or k not in optional_fields:
|
|
46
|
+
m[k] = val
|
|
47
|
+
|
|
48
|
+
return m
|
syllable_sdk/models/channel.py
CHANGED
|
@@ -51,30 +51,25 @@ class Channel(BaseModel):
|
|
|
51
51
|
|
|
52
52
|
@model_serializer(mode="wrap")
|
|
53
53
|
def serialize_model(self, handler):
|
|
54
|
-
optional_fields = ["supported_modes", "is_system_channel", "config"]
|
|
55
|
-
nullable_fields = ["supported_modes", "config"]
|
|
56
|
-
null_default_fields = []
|
|
57
|
-
|
|
54
|
+
optional_fields = set(["supported_modes", "is_system_channel", "config"])
|
|
55
|
+
nullable_fields = set(["supported_modes", "config"])
|
|
58
56
|
serialized = handler(self)
|
|
59
|
-
|
|
60
57
|
m = {}
|
|
61
58
|
|
|
62
59
|
for n, f in type(self).model_fields.items():
|
|
63
60
|
k = f.alias or n
|
|
64
61
|
val = serialized.get(k)
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
):
|
|
78
|
-
m[k] = val
|
|
62
|
+
is_nullable_and_explicitly_set = (
|
|
63
|
+
k in nullable_fields
|
|
64
|
+
and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
|
|
65
|
+
)
|
|
66
|
+
|
|
67
|
+
if val != UNSET_SENTINEL:
|
|
68
|
+
if (
|
|
69
|
+
val is not None
|
|
70
|
+
or k not in optional_fields
|
|
71
|
+
or is_nullable_and_explicitly_set
|
|
72
|
+
):
|
|
73
|
+
m[k] = val
|
|
79
74
|
|
|
80
75
|
return m
|