syllable-sdk 0.44.20__py3-none-any.whl → 0.44.24__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.
Files changed (214) hide show
  1. syllable_sdk/_version.py +3 -3
  2. syllable_sdk/basesdk.py +20 -6
  3. syllable_sdk/models/__init__.py +5 -0
  4. syllable_sdk/models/agent_listop.py +35 -36
  5. syllable_sdk/models/agentcreate.py +38 -39
  6. syllable_sdk/models/agentresponse.py +49 -50
  7. syllable_sdk/models/agentupdate.py +38 -39
  8. syllable_sdk/models/available_targetsop.py +35 -36
  9. syllable_sdk/models/availabletarget.py +1 -17
  10. syllable_sdk/models/batchdetails.py +38 -39
  11. syllable_sdk/models/body_directory_member_bulk_load.py +18 -1
  12. syllable_sdk/models/body_insights_folder_upload_file.py +34 -1
  13. syllable_sdk/models/body_organizations_create.py +30 -19
  14. syllable_sdk/models/body_organizations_delete.py +14 -19
  15. syllable_sdk/models/body_organizations_update.py +34 -30
  16. syllable_sdk/models/body_outbound_batch_upload.py +34 -1
  17. syllable_sdk/models/body_pronunciations_upload_csv.py +18 -1
  18. syllable_sdk/models/bridgephrasesconfig.py +20 -1
  19. syllable_sdk/models/callaction.py +14 -19
  20. syllable_sdk/models/celexpression.py +18 -1
  21. syllable_sdk/models/channel.py +14 -19
  22. syllable_sdk/models/channel_targets_listop.py +35 -36
  23. syllable_sdk/models/channelconfigview.py +20 -19
  24. syllable_sdk/models/channels_listop.py +35 -36
  25. syllable_sdk/models/channeltargetcreaterequest.py +14 -19
  26. syllable_sdk/models/channeltargetresponse.py +14 -19
  27. syllable_sdk/models/channeltargetupdaterequest.py +14 -19
  28. syllable_sdk/models/communicationbatch.py +36 -37
  29. syllable_sdk/models/communicationbatchinput.py +14 -19
  30. syllable_sdk/models/communicationbatchupdate.py +14 -19
  31. syllable_sdk/models/communicationrequestresult.py +37 -38
  32. syllable_sdk/models/conditionaltext.py +14 -19
  33. syllable_sdk/models/conditionalvalue.py +14 -19
  34. syllable_sdk/models/context.py +14 -19
  35. syllable_sdk/models/contexttaskmetadata.py +14 -19
  36. syllable_sdk/models/contexttoolinfo.py +14 -19
  37. syllable_sdk/models/conversation.py +44 -45
  38. syllable_sdk/models/conversations_listop.py +35 -36
  39. syllable_sdk/models/custom_messages_listop.py +35 -36
  40. syllable_sdk/models/custommessagecreaterequest.py +14 -19
  41. syllable_sdk/models/custommessageresponse.py +14 -19
  42. syllable_sdk/models/custommessagerule.py +18 -19
  43. syllable_sdk/models/custommessageupdaterequest.py +14 -19
  44. syllable_sdk/models/daotoolresponse.py +18 -29
  45. syllable_sdk/models/data_sources_listop.py +35 -36
  46. syllable_sdk/models/datasourcecreaterequest.py +14 -19
  47. syllable_sdk/models/datasourcedetailresponse.py +18 -24
  48. syllable_sdk/models/datasourcemetadataresponse.py +18 -24
  49. syllable_sdk/models/datasourceupdaterequest.py +16 -19
  50. syllable_sdk/models/dialogtoolcall.py +1 -17
  51. syllable_sdk/models/dictionarymetadata.py +18 -1
  52. syllable_sdk/models/directory_member_createop.py +18 -1
  53. syllable_sdk/models/directory_member_downloadop.py +18 -1
  54. syllable_sdk/models/directory_member_get_by_idop.py +18 -1
  55. syllable_sdk/models/directory_member_listop.py +36 -37
  56. syllable_sdk/models/directory_member_test_extensionop.py +13 -18
  57. syllable_sdk/models/directory_member_updateop.py +18 -1
  58. syllable_sdk/models/directoryextension.py +14 -19
  59. syllable_sdk/models/directoryextensionnumber.py +14 -19
  60. syllable_sdk/models/directorymember.py +14 -19
  61. syllable_sdk/models/directorymembercreate.py +14 -19
  62. syllable_sdk/models/directorymembertestresponse.py +14 -19
  63. syllable_sdk/models/directorymemberupdate.py +14 -19
  64. syllable_sdk/models/emailconfigurations.py +19 -0
  65. syllable_sdk/models/event.py +38 -39
  66. syllable_sdk/models/events_listop.py +35 -36
  67. syllable_sdk/models/eventtask.py +16 -28
  68. syllable_sdk/models/eventtaskevents.py +14 -19
  69. syllable_sdk/models/expressiontask.py +30 -39
  70. syllable_sdk/models/expressiontaskevents.py +14 -19
  71. syllable_sdk/models/folderdetails.py +14 -19
  72. syllable_sdk/models/get_bridge_phrases_configop.py +14 -19
  73. syllable_sdk/models/getvalueaction.py +16 -19
  74. syllable_sdk/models/incident_listop.py +35 -36
  75. syllable_sdk/models/incidentcreaterequest.py +18 -19
  76. syllable_sdk/models/incidentresponse.py +31 -32
  77. syllable_sdk/models/incidentupdaterequest.py +18 -19
  78. syllable_sdk/models/incrementaction.py +14 -19
  79. syllable_sdk/models/inputparameter.py +27 -36
  80. syllable_sdk/models/insight_tool_listop.py +35 -36
  81. syllable_sdk/models/insights_folder_listop.py +35 -36
  82. syllable_sdk/models/insights_folder_upload_fileop.py +33 -34
  83. syllable_sdk/models/insights_listop.py +35 -36
  84. syllable_sdk/models/insights_upload_list_filesop.py +35 -36
  85. syllable_sdk/models/insights_workflow_listop.py +35 -36
  86. syllable_sdk/models/insightsfolder.py +14 -19
  87. syllable_sdk/models/insightsfolderinput.py +14 -19
  88. syllable_sdk/models/insightsoutput.py +26 -32
  89. syllable_sdk/models/insightsuploadfile.py +37 -38
  90. syllable_sdk/models/insightsworkflowqueuesession.py +14 -19
  91. syllable_sdk/models/insighttooloutput.py +14 -19
  92. syllable_sdk/models/insighttooltestinput.py +14 -19
  93. syllable_sdk/models/insightworkflowcondition.py +34 -35
  94. syllable_sdk/models/insightworkflowinput.py +14 -19
  95. syllable_sdk/models/insightworkflowoutput.py +22 -25
  96. syllable_sdk/models/inspectlatencyresponse.py +18 -1
  97. syllable_sdk/models/internaltool.py +18 -1
  98. syllable_sdk/models/jmespathexpression.py +18 -1
  99. syllable_sdk/models/language_groups_listop.py +35 -36
  100. syllable_sdk/models/languageconfig.py +14 -19
  101. syllable_sdk/models/languagegroupcreaterequest.py +14 -19
  102. syllable_sdk/models/languagegroupresponse.py +14 -19
  103. syllable_sdk/models/languagegroupupdaterequest.py +14 -19
  104. syllable_sdk/models/languagesamplecreaterequest.py +16 -24
  105. syllable_sdk/models/latencyentry.py +14 -19
  106. syllable_sdk/models/listresponse_agentresponse_.py +14 -19
  107. syllable_sdk/models/listresponse_availabletarget_.py +14 -19
  108. syllable_sdk/models/listresponse_channel_.py +14 -19
  109. syllable_sdk/models/listresponse_channeltargetresponse_.py +14 -19
  110. syllable_sdk/models/listresponse_communicationbatch_.py +14 -19
  111. syllable_sdk/models/listresponse_conversation_.py +14 -19
  112. syllable_sdk/models/listresponse_custommessageresponse_.py +14 -19
  113. syllable_sdk/models/listresponse_dashboardresponse_.py +14 -19
  114. syllable_sdk/models/listresponse_datasourcemetadataresponse_.py +14 -19
  115. syllable_sdk/models/listresponse_directorymember_.py +14 -19
  116. syllable_sdk/models/listresponse_event_.py +14 -19
  117. syllable_sdk/models/listresponse_incidentresponse_.py +14 -19
  118. syllable_sdk/models/listresponse_insightsfolder_.py +14 -19
  119. syllable_sdk/models/listresponse_insightsoutput_.py +14 -19
  120. syllable_sdk/models/listresponse_insightsuploadfile_.py +14 -19
  121. syllable_sdk/models/listresponse_insighttooloutput_.py +14 -19
  122. syllable_sdk/models/listresponse_insightworkflowoutput_.py +14 -19
  123. syllable_sdk/models/listresponse_languagegroupresponse_.py +14 -19
  124. syllable_sdk/models/listresponse_outboundcampaign_.py +14 -19
  125. syllable_sdk/models/listresponse_promptresponse_.py +14 -19
  126. syllable_sdk/models/listresponse_roleresponse_.py +14 -19
  127. syllable_sdk/models/listresponse_serviceresponse_.py +14 -19
  128. syllable_sdk/models/listresponse_session_.py +14 -19
  129. syllable_sdk/models/listresponse_sessionlabel_.py +14 -19
  130. syllable_sdk/models/listresponse_toolresponse_.py +14 -19
  131. syllable_sdk/models/listresponse_userresponse_.py +14 -19
  132. syllable_sdk/models/listresponse_voicegroupresponse_.py +14 -19
  133. syllable_sdk/models/loadtoolfromfiletask.py +16 -27
  134. syllable_sdk/models/nextstep.py +14 -19
  135. syllable_sdk/models/organizationchannelconfig.py +24 -29
  136. syllable_sdk/models/organizationchannelcreaterequest.py +14 -19
  137. syllable_sdk/models/organizationchannelupdaterequest.py +14 -19
  138. syllable_sdk/models/organizationresponse.py +32 -33
  139. syllable_sdk/models/outbound_batch_listop.py +35 -36
  140. syllable_sdk/models/outbound_batch_resultsop.py +13 -18
  141. syllable_sdk/models/outbound_batch_uploadop.py +18 -1
  142. syllable_sdk/models/outbound_campaign_listop.py +35 -36
  143. syllable_sdk/models/outboundcampaign.py +47 -48
  144. syllable_sdk/models/outboundcampaigninput.py +43 -44
  145. syllable_sdk/models/permissionresponse.py +14 -19
  146. syllable_sdk/models/post_list_dashboardop.py +35 -36
  147. syllable_sdk/models/promptcreaterequest.py +26 -32
  148. syllable_sdk/models/prompthistory.py +24 -30
  149. syllable_sdk/models/promptllmconfig.py +16 -26
  150. syllable_sdk/models/promptresponse.py +41 -42
  151. syllable_sdk/models/prompts_listop.py +35 -36
  152. syllable_sdk/models/promptupdaterequest.py +26 -32
  153. syllable_sdk/models/pronunciationoverride.py +28 -1
  154. syllable_sdk/models/pronunciationoverridesdictionary.py +18 -1
  155. syllable_sdk/models/pronunciationscsvuploadresponse.py +18 -1
  156. syllable_sdk/models/rolecreaterequest.py +14 -19
  157. syllable_sdk/models/roleresponse.py +14 -19
  158. syllable_sdk/models/roles_deleteop.py +13 -18
  159. syllable_sdk/models/roles_listop.py +35 -36
  160. syllable_sdk/models/roleupdaterequest.py +14 -19
  161. syllable_sdk/models/saveaction.py +14 -19
  162. syllable_sdk/models/sayaction.py +14 -19
  163. syllable_sdk/models/security.py +18 -1
  164. syllable_sdk/models/service_listop.py +35 -36
  165. syllable_sdk/models/servicecreaterequest.py +14 -19
  166. syllable_sdk/models/serviceresponse.py +14 -19
  167. syllable_sdk/models/serviceupdaterequest.py +14 -19
  168. syllable_sdk/models/session.py +60 -61
  169. syllable_sdk/models/session_labels_listop.py +35 -36
  170. syllable_sdk/models/sessionaction.py +18 -19
  171. syllable_sdk/models/sessionlabel.py +14 -19
  172. syllable_sdk/models/sessionlabelcreate.py +14 -19
  173. syllable_sdk/models/sessionrecordingresponse.py +14 -19
  174. syllable_sdk/models/sessions_listop.py +35 -36
  175. syllable_sdk/models/sessionsummaryresponse.py +14 -19
  176. syllable_sdk/models/sessiontext.py +14 -19
  177. syllable_sdk/models/setvalueaction.py +14 -19
  178. syllable_sdk/models/statictoolparameter.py +14 -19
  179. syllable_sdk/models/step.py +18 -1
  180. syllable_sdk/models/stepeventactions.py +14 -19
  181. syllable_sdk/models/stepstask.py +25 -28
  182. syllable_sdk/models/steptools.py +14 -19
  183. syllable_sdk/models/summaryentry.py +14 -19
  184. syllable_sdk/models/supportedllm.py +14 -19
  185. syllable_sdk/models/takeoutstatusresponse.py +14 -19
  186. syllable_sdk/models/telephonyconfigurations.py +38 -39
  187. syllable_sdk/models/testmessage.py +16 -19
  188. syllable_sdk/models/testmessageresponse.py +14 -19
  189. syllable_sdk/models/tool_listop.py +35 -36
  190. syllable_sdk/models/tooldefinition.py +34 -35
  191. syllable_sdk/models/tooldetailresponse.py +18 -29
  192. syllable_sdk/models/tooloptions.py +18 -1
  193. syllable_sdk/models/toolparametertransform.py +14 -19
  194. syllable_sdk/models/toolparametertransformcondition.py +14 -19
  195. syllable_sdk/models/toolresponse.py +18 -29
  196. syllable_sdk/models/toolupdaterequest.py +14 -19
  197. syllable_sdk/models/twiliochannelconfigupdate.py +14 -19
  198. syllable_sdk/models/twiliochannelupdaterequest.py +14 -19
  199. syllable_sdk/models/update_bridge_phrases_configop.py +13 -18
  200. syllable_sdk/models/usercreaterequest.py +14 -19
  201. syllable_sdk/models/userresponse.py +30 -31
  202. syllable_sdk/models/users_listop.py +35 -36
  203. syllable_sdk/models/users_send_emailop.py +18 -1
  204. syllable_sdk/models/userupdaterequest.py +14 -19
  205. syllable_sdk/models/variable.py +38 -39
  206. syllable_sdk/models/voice_groups_listop.py +35 -36
  207. syllable_sdk/models/voicegroupcreaterequest.py +14 -19
  208. syllable_sdk/models/voicegroupresponse.py +14 -19
  209. syllable_sdk/models/voicegroupupdaterequest.py +14 -19
  210. syllable_sdk/models/voicesamplecreaterequest.py +16 -24
  211. syllable_sdk/utils/__init__.py +13 -1
  212. {syllable_sdk-0.44.20.dist-info → syllable_sdk-0.44.24.dist-info}/METADATA +1 -1
  213. {syllable_sdk-0.44.20.dist-info → syllable_sdk-0.44.24.dist-info}/RECORD +214 -213
  214. {syllable_sdk-0.44.20.dist-info → syllable_sdk-0.44.24.dist-info}/WHEEL +0 -0
@@ -94,47 +94,46 @@ class LanguageGroupsListRequest(BaseModel):
94
94
 
95
95
  @model_serializer(mode="wrap")
96
96
  def serialize_model(self, handler):
97
- optional_fields = [
98
- "page",
99
- "limit",
100
- "search_fields",
101
- "search_field_values",
102
- "order_by",
103
- "order_by_direction",
104
- "fields",
105
- "start_datetime",
106
- "end_datetime",
107
- ]
108
- nullable_fields = [
109
- "page",
110
- "order_by",
111
- "order_by_direction",
112
- "fields",
113
- "start_datetime",
114
- "end_datetime",
115
- ]
116
- null_default_fields = []
117
-
97
+ optional_fields = set(
98
+ [
99
+ "page",
100
+ "limit",
101
+ "search_fields",
102
+ "search_field_values",
103
+ "order_by",
104
+ "order_by_direction",
105
+ "fields",
106
+ "start_datetime",
107
+ "end_datetime",
108
+ ]
109
+ )
110
+ nullable_fields = set(
111
+ [
112
+ "page",
113
+ "order_by",
114
+ "order_by_direction",
115
+ "fields",
116
+ "start_datetime",
117
+ "end_datetime",
118
+ ]
119
+ )
118
120
  serialized = handler(self)
119
-
120
121
  m = {}
121
122
 
122
123
  for n, f in type(self).model_fields.items():
123
124
  k = f.alias or n
124
125
  val = serialized.get(k)
125
- serialized.pop(k, None)
126
-
127
- optional_nullable = k in optional_fields and k in nullable_fields
128
- is_set = (
129
- self.__pydantic_fields_set__.intersection({n})
130
- or k in null_default_fields
131
- ) # pylint: disable=no-member
132
-
133
- if val is not None and val != UNSET_SENTINEL:
134
- m[k] = val
135
- elif val != UNSET_SENTINEL and (
136
- not k in optional_fields or (optional_nullable and is_set)
137
- ):
138
- m[k] = val
126
+ is_nullable_and_explicitly_set = (
127
+ k in nullable_fields
128
+ and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
129
+ )
130
+
131
+ if val != UNSET_SENTINEL:
132
+ if (
133
+ val is not None
134
+ or k not in optional_fields
135
+ or is_nullable_and_explicitly_set
136
+ ):
137
+ m[k] = val
139
138
 
140
139
  return m
@@ -59,30 +59,25 @@ class LanguageConfig(BaseModel):
59
59
 
60
60
  @model_serializer(mode="wrap")
61
61
  def serialize_model(self, handler):
62
- optional_fields = ["voice_speed", "voice_pitch"]
63
- nullable_fields = ["voice_speed", "voice_pitch"]
64
- null_default_fields = []
65
-
62
+ optional_fields = set(["voice_speed", "voice_pitch"])
63
+ nullable_fields = set(["voice_speed", "voice_pitch"])
66
64
  serialized = handler(self)
67
-
68
65
  m = {}
69
66
 
70
67
  for n, f in type(self).model_fields.items():
71
68
  k = f.alias or n
72
69
  val = serialized.get(k)
73
- serialized.pop(k, None)
74
-
75
- optional_nullable = k in optional_fields and k in nullable_fields
76
- is_set = (
77
- self.__pydantic_fields_set__.intersection({n})
78
- or k in null_default_fields
79
- ) # pylint: disable=no-member
80
-
81
- if val is not None and val != UNSET_SENTINEL:
82
- m[k] = val
83
- elif val != UNSET_SENTINEL and (
84
- not k in optional_fields or (optional_nullable and is_set)
85
- ):
86
- m[k] = val
70
+ is_nullable_and_explicitly_set = (
71
+ k in nullable_fields
72
+ and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
73
+ )
74
+
75
+ if val != UNSET_SENTINEL:
76
+ if (
77
+ val is not None
78
+ or k not in optional_fields
79
+ or is_nullable_and_explicitly_set
80
+ ):
81
+ m[k] = val
87
82
 
88
83
  return m
@@ -44,30 +44,25 @@ class LanguageGroupCreateRequest(BaseModel):
44
44
 
45
45
  @model_serializer(mode="wrap")
46
46
  def serialize_model(self, handler):
47
- optional_fields = ["description"]
48
- nullable_fields = ["description"]
49
- null_default_fields = []
50
-
47
+ optional_fields = set(["description"])
48
+ nullable_fields = set(["description"])
51
49
  serialized = handler(self)
52
-
53
50
  m = {}
54
51
 
55
52
  for n, f in type(self).model_fields.items():
56
53
  k = f.alias or n
57
54
  val = serialized.get(k)
58
- serialized.pop(k, None)
59
-
60
- optional_nullable = k in optional_fields and k in nullable_fields
61
- is_set = (
62
- self.__pydantic_fields_set__.intersection({n})
63
- or k in null_default_fields
64
- ) # pylint: disable=no-member
65
-
66
- if val is not None and val != UNSET_SENTINEL:
67
- m[k] = val
68
- elif val != UNSET_SENTINEL and (
69
- not k in optional_fields or (optional_nullable and is_set)
70
- ):
71
- m[k] = val
55
+ is_nullable_and_explicitly_set = (
56
+ k in nullable_fields
57
+ and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
58
+ )
59
+
60
+ if val != UNSET_SENTINEL:
61
+ if (
62
+ val is not None
63
+ or k not in optional_fields
64
+ or is_nullable_and_explicitly_set
65
+ ):
66
+ m[k] = val
72
67
 
73
68
  return m
@@ -82,30 +82,25 @@ class LanguageGroupResponse(BaseModel):
82
82
 
83
83
  @model_serializer(mode="wrap")
84
84
  def serialize_model(self, handler):
85
- optional_fields = ["description", "edit_comments", "agents_info"]
86
- nullable_fields = ["description", "edit_comments", "agents_info"]
87
- null_default_fields = []
88
-
85
+ optional_fields = set(["description", "edit_comments", "agents_info"])
86
+ nullable_fields = set(["description", "edit_comments", "agents_info"])
89
87
  serialized = handler(self)
90
-
91
88
  m = {}
92
89
 
93
90
  for n, f in type(self).model_fields.items():
94
91
  k = f.alias or n
95
92
  val = serialized.get(k)
96
- serialized.pop(k, None)
97
-
98
- optional_nullable = k in optional_fields and k in nullable_fields
99
- is_set = (
100
- self.__pydantic_fields_set__.intersection({n})
101
- or k in null_default_fields
102
- ) # pylint: disable=no-member
103
-
104
- if val is not None and val != UNSET_SENTINEL:
105
- m[k] = val
106
- elif val != UNSET_SENTINEL and (
107
- not k in optional_fields or (optional_nullable and is_set)
108
- ):
109
- m[k] = val
93
+ is_nullable_and_explicitly_set = (
94
+ k in nullable_fields
95
+ and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
96
+ )
97
+
98
+ if val != UNSET_SENTINEL:
99
+ if (
100
+ val is not None
101
+ or k not in optional_fields
102
+ or is_nullable_and_explicitly_set
103
+ ):
104
+ m[k] = val
110
105
 
111
106
  return m
@@ -54,30 +54,25 @@ class LanguageGroupUpdateRequest(BaseModel):
54
54
 
55
55
  @model_serializer(mode="wrap")
56
56
  def serialize_model(self, handler):
57
- optional_fields = ["description", "edit_comments"]
58
- nullable_fields = ["description", "edit_comments"]
59
- null_default_fields = []
60
-
57
+ optional_fields = set(["description", "edit_comments"])
58
+ nullable_fields = set(["description", "edit_comments"])
61
59
  serialized = handler(self)
62
-
63
60
  m = {}
64
61
 
65
62
  for n, f in type(self).model_fields.items():
66
63
  k = f.alias or n
67
64
  val = serialized.get(k)
68
- serialized.pop(k, None)
69
-
70
- optional_nullable = k in optional_fields and k in nullable_fields
71
- is_set = (
72
- self.__pydantic_fields_set__.intersection({n})
73
- or k in null_default_fields
74
- ) # pylint: disable=no-member
75
-
76
- if val is not None and val != UNSET_SENTINEL:
77
- m[k] = val
78
- elif val != UNSET_SENTINEL and (
79
- not k in optional_fields or (optional_nullable and is_set)
80
- ):
81
- m[k] = val
65
+ is_nullable_and_explicitly_set = (
66
+ k in nullable_fields
67
+ and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
68
+ )
69
+
70
+ if val != UNSET_SENTINEL:
71
+ if (
72
+ val is not None
73
+ or k not in optional_fields
74
+ or is_nullable_and_explicitly_set
75
+ ):
76
+ m[k] = val
82
77
 
83
78
  return m
@@ -61,35 +61,27 @@ class LanguageSampleCreateRequest(BaseModel):
61
61
 
62
62
  @model_serializer(mode="wrap")
63
63
  def serialize_model(self, handler):
64
- optional_fields = [
65
- "voice_speed",
66
- "voice_pitch",
67
- "text",
68
- "apply_pronunciation_overrides",
69
- ]
70
- nullable_fields = ["voice_speed", "voice_pitch"]
71
- null_default_fields = []
72
-
64
+ optional_fields = set(
65
+ ["voice_speed", "voice_pitch", "text", "apply_pronunciation_overrides"]
66
+ )
67
+ nullable_fields = set(["voice_speed", "voice_pitch"])
73
68
  serialized = handler(self)
74
-
75
69
  m = {}
76
70
 
77
71
  for n, f in type(self).model_fields.items():
78
72
  k = f.alias or n
79
73
  val = serialized.get(k)
80
- serialized.pop(k, None)
81
-
82
- optional_nullable = k in optional_fields and k in nullable_fields
83
- is_set = (
84
- self.__pydantic_fields_set__.intersection({n})
85
- or k in null_default_fields
86
- ) # pylint: disable=no-member
87
-
88
- if val is not None and val != UNSET_SENTINEL:
89
- m[k] = val
90
- elif val != UNSET_SENTINEL and (
91
- not k in optional_fields or (optional_nullable and is_set)
92
- ):
93
- m[k] = val
74
+ is_nullable_and_explicitly_set = (
75
+ k in nullable_fields
76
+ and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
77
+ )
78
+
79
+ if val != UNSET_SENTINEL:
80
+ if (
81
+ val is not None
82
+ or k not in optional_fields
83
+ or is_nullable_and_explicitly_set
84
+ ):
85
+ m[k] = val
94
86
 
95
87
  return m
@@ -53,30 +53,25 @@ class LatencyEntry(BaseModel):
53
53
 
54
54
  @model_serializer(mode="wrap")
55
55
  def serialize_model(self, handler):
56
- optional_fields = ["metadata"]
57
- nullable_fields = ["metadata"]
58
- null_default_fields = []
59
-
56
+ optional_fields = set(["metadata"])
57
+ nullable_fields = set(["metadata"])
60
58
  serialized = handler(self)
61
-
62
59
  m = {}
63
60
 
64
61
  for n, f in type(self).model_fields.items():
65
62
  k = f.alias or n
66
63
  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
64
+ is_nullable_and_explicitly_set = (
65
+ k in nullable_fields
66
+ and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
67
+ )
68
+
69
+ if val != UNSET_SENTINEL:
70
+ if (
71
+ val is not None
72
+ or k not in optional_fields
73
+ or is_nullable_and_explicitly_set
74
+ ):
75
+ m[k] = val
81
76
 
82
77
  return m
@@ -45,30 +45,25 @@ class ListResponseAgentResponse(BaseModel):
45
45
 
46
46
  @model_serializer(mode="wrap")
47
47
  def serialize_model(self, handler):
48
- optional_fields = ["total_pages", "total_count"]
49
- nullable_fields = ["total_pages", "total_count"]
50
- null_default_fields = []
51
-
48
+ optional_fields = set(["total_pages", "total_count"])
49
+ nullable_fields = set(["total_pages", "total_count"])
52
50
  serialized = handler(self)
53
-
54
51
  m = {}
55
52
 
56
53
  for n, f in type(self).model_fields.items():
57
54
  k = f.alias or n
58
55
  val = serialized.get(k)
59
- serialized.pop(k, None)
60
-
61
- optional_nullable = k in optional_fields and k in nullable_fields
62
- is_set = (
63
- self.__pydantic_fields_set__.intersection({n})
64
- or k in null_default_fields
65
- ) # pylint: disable=no-member
66
-
67
- if val is not None and val != UNSET_SENTINEL:
68
- m[k] = val
69
- elif val != UNSET_SENTINEL and (
70
- not k in optional_fields or (optional_nullable and is_set)
71
- ):
72
- m[k] = val
56
+ is_nullable_and_explicitly_set = (
57
+ k in nullable_fields
58
+ and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
59
+ )
60
+
61
+ if val != UNSET_SENTINEL:
62
+ if (
63
+ val is not None
64
+ or k not in optional_fields
65
+ or is_nullable_and_explicitly_set
66
+ ):
67
+ m[k] = val
73
68
 
74
69
  return m
@@ -45,30 +45,25 @@ class ListResponseAvailableTarget(BaseModel):
45
45
 
46
46
  @model_serializer(mode="wrap")
47
47
  def serialize_model(self, handler):
48
- optional_fields = ["total_pages", "total_count"]
49
- nullable_fields = ["total_pages", "total_count"]
50
- null_default_fields = []
51
-
48
+ optional_fields = set(["total_pages", "total_count"])
49
+ nullable_fields = set(["total_pages", "total_count"])
52
50
  serialized = handler(self)
53
-
54
51
  m = {}
55
52
 
56
53
  for n, f in type(self).model_fields.items():
57
54
  k = f.alias or n
58
55
  val = serialized.get(k)
59
- serialized.pop(k, None)
60
-
61
- optional_nullable = k in optional_fields and k in nullable_fields
62
- is_set = (
63
- self.__pydantic_fields_set__.intersection({n})
64
- or k in null_default_fields
65
- ) # pylint: disable=no-member
66
-
67
- if val is not None and val != UNSET_SENTINEL:
68
- m[k] = val
69
- elif val != UNSET_SENTINEL and (
70
- not k in optional_fields or (optional_nullable and is_set)
71
- ):
72
- m[k] = val
56
+ is_nullable_and_explicitly_set = (
57
+ k in nullable_fields
58
+ and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
59
+ )
60
+
61
+ if val != UNSET_SENTINEL:
62
+ if (
63
+ val is not None
64
+ or k not in optional_fields
65
+ or is_nullable_and_explicitly_set
66
+ ):
67
+ m[k] = val
73
68
 
74
69
  return m
@@ -45,30 +45,25 @@ class ListResponseChannel(BaseModel):
45
45
 
46
46
  @model_serializer(mode="wrap")
47
47
  def serialize_model(self, handler):
48
- optional_fields = ["total_pages", "total_count"]
49
- nullable_fields = ["total_pages", "total_count"]
50
- null_default_fields = []
51
-
48
+ optional_fields = set(["total_pages", "total_count"])
49
+ nullable_fields = set(["total_pages", "total_count"])
52
50
  serialized = handler(self)
53
-
54
51
  m = {}
55
52
 
56
53
  for n, f in type(self).model_fields.items():
57
54
  k = f.alias or n
58
55
  val = serialized.get(k)
59
- serialized.pop(k, None)
60
-
61
- optional_nullable = k in optional_fields and k in nullable_fields
62
- is_set = (
63
- self.__pydantic_fields_set__.intersection({n})
64
- or k in null_default_fields
65
- ) # pylint: disable=no-member
66
-
67
- if val is not None and val != UNSET_SENTINEL:
68
- m[k] = val
69
- elif val != UNSET_SENTINEL and (
70
- not k in optional_fields or (optional_nullable and is_set)
71
- ):
72
- m[k] = val
56
+ is_nullable_and_explicitly_set = (
57
+ k in nullable_fields
58
+ and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
59
+ )
60
+
61
+ if val != UNSET_SENTINEL:
62
+ if (
63
+ val is not None
64
+ or k not in optional_fields
65
+ or is_nullable_and_explicitly_set
66
+ ):
67
+ m[k] = val
73
68
 
74
69
  return m
@@ -45,30 +45,25 @@ class ListResponseChannelTargetResponse(BaseModel):
45
45
 
46
46
  @model_serializer(mode="wrap")
47
47
  def serialize_model(self, handler):
48
- optional_fields = ["total_pages", "total_count"]
49
- nullable_fields = ["total_pages", "total_count"]
50
- null_default_fields = []
51
-
48
+ optional_fields = set(["total_pages", "total_count"])
49
+ nullable_fields = set(["total_pages", "total_count"])
52
50
  serialized = handler(self)
53
-
54
51
  m = {}
55
52
 
56
53
  for n, f in type(self).model_fields.items():
57
54
  k = f.alias or n
58
55
  val = serialized.get(k)
59
- serialized.pop(k, None)
60
-
61
- optional_nullable = k in optional_fields and k in nullable_fields
62
- is_set = (
63
- self.__pydantic_fields_set__.intersection({n})
64
- or k in null_default_fields
65
- ) # pylint: disable=no-member
66
-
67
- if val is not None and val != UNSET_SENTINEL:
68
- m[k] = val
69
- elif val != UNSET_SENTINEL and (
70
- not k in optional_fields or (optional_nullable and is_set)
71
- ):
72
- m[k] = val
56
+ is_nullable_and_explicitly_set = (
57
+ k in nullable_fields
58
+ and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
59
+ )
60
+
61
+ if val != UNSET_SENTINEL:
62
+ if (
63
+ val is not None
64
+ or k not in optional_fields
65
+ or is_nullable_and_explicitly_set
66
+ ):
67
+ m[k] = val
73
68
 
74
69
  return m
@@ -45,30 +45,25 @@ class ListResponseCommunicationBatch(BaseModel):
45
45
 
46
46
  @model_serializer(mode="wrap")
47
47
  def serialize_model(self, handler):
48
- optional_fields = ["total_pages", "total_count"]
49
- nullable_fields = ["total_pages", "total_count"]
50
- null_default_fields = []
51
-
48
+ optional_fields = set(["total_pages", "total_count"])
49
+ nullable_fields = set(["total_pages", "total_count"])
52
50
  serialized = handler(self)
53
-
54
51
  m = {}
55
52
 
56
53
  for n, f in type(self).model_fields.items():
57
54
  k = f.alias or n
58
55
  val = serialized.get(k)
59
- serialized.pop(k, None)
60
-
61
- optional_nullable = k in optional_fields and k in nullable_fields
62
- is_set = (
63
- self.__pydantic_fields_set__.intersection({n})
64
- or k in null_default_fields
65
- ) # pylint: disable=no-member
66
-
67
- if val is not None and val != UNSET_SENTINEL:
68
- m[k] = val
69
- elif val != UNSET_SENTINEL and (
70
- not k in optional_fields or (optional_nullable and is_set)
71
- ):
72
- m[k] = val
56
+ is_nullable_and_explicitly_set = (
57
+ k in nullable_fields
58
+ and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
59
+ )
60
+
61
+ if val != UNSET_SENTINEL:
62
+ if (
63
+ val is not None
64
+ or k not in optional_fields
65
+ or is_nullable_and_explicitly_set
66
+ ):
67
+ m[k] = val
73
68
 
74
69
  return m
@@ -45,30 +45,25 @@ class ListResponseConversation(BaseModel):
45
45
 
46
46
  @model_serializer(mode="wrap")
47
47
  def serialize_model(self, handler):
48
- optional_fields = ["total_pages", "total_count"]
49
- nullable_fields = ["total_pages", "total_count"]
50
- null_default_fields = []
51
-
48
+ optional_fields = set(["total_pages", "total_count"])
49
+ nullable_fields = set(["total_pages", "total_count"])
52
50
  serialized = handler(self)
53
-
54
51
  m = {}
55
52
 
56
53
  for n, f in type(self).model_fields.items():
57
54
  k = f.alias or n
58
55
  val = serialized.get(k)
59
- serialized.pop(k, None)
60
-
61
- optional_nullable = k in optional_fields and k in nullable_fields
62
- is_set = (
63
- self.__pydantic_fields_set__.intersection({n})
64
- or k in null_default_fields
65
- ) # pylint: disable=no-member
66
-
67
- if val is not None and val != UNSET_SENTINEL:
68
- m[k] = val
69
- elif val != UNSET_SENTINEL and (
70
- not k in optional_fields or (optional_nullable and is_set)
71
- ):
72
- m[k] = val
56
+ is_nullable_and_explicitly_set = (
57
+ k in nullable_fields
58
+ and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
59
+ )
60
+
61
+ if val != UNSET_SENTINEL:
62
+ if (
63
+ val is not None
64
+ or k not in optional_fields
65
+ or is_nullable_and_explicitly_set
66
+ ):
67
+ m[k] = val
73
68
 
74
69
  return m