syllable-sdk 0.41.23__py3-none-any.whl → 0.44.1__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 (81) hide show
  1. syllable_sdk/_version.py +3 -3
  2. syllable_sdk/agents.py +12 -0
  3. syllable_sdk/basesdk.py +6 -0
  4. syllable_sdk/batches.py +18 -0
  5. syllable_sdk/campaigns.py +10 -0
  6. syllable_sdk/channels.py +8 -0
  7. syllable_sdk/conversation_config.py +411 -0
  8. syllable_sdk/conversations.py +2 -0
  9. syllable_sdk/custom_messages.py +10 -0
  10. syllable_sdk/dashboards.py +12 -0
  11. syllable_sdk/data_sources.py +10 -0
  12. syllable_sdk/directory.py +16 -0
  13. syllable_sdk/events.py +2 -0
  14. syllable_sdk/folders.py +16 -0
  15. syllable_sdk/full_summary.py +2 -0
  16. syllable_sdk/incidents.py +12 -0
  17. syllable_sdk/insights_sdk.py +2 -0
  18. syllable_sdk/insights_tools.py +14 -0
  19. syllable_sdk/language_groups.py +12 -0
  20. syllable_sdk/latency.py +2 -0
  21. syllable_sdk/models/__init__.py +449 -8
  22. syllable_sdk/models/bridgephrasesconfig.py +39 -0
  23. syllable_sdk/models/callaction.py +116 -0
  24. syllable_sdk/models/caseexpression.py +17 -0
  25. syllable_sdk/models/celexpression.py +31 -0
  26. syllable_sdk/models/conditionaltext.py +94 -0
  27. syllable_sdk/models/conditionalvalue.py +131 -0
  28. syllable_sdk/models/context.py +112 -0
  29. syllable_sdk/models/contexttaskmetadata.py +55 -0
  30. syllable_sdk/models/contexttoolinfo.py +57 -0
  31. syllable_sdk/models/eventtask.py +98 -0
  32. syllable_sdk/models/eventtaskevents.py +83 -0
  33. syllable_sdk/models/expressiontask.py +150 -0
  34. syllable_sdk/models/expressiontaskevents.py +116 -0
  35. syllable_sdk/models/get_bridge_phrases_configop.py +64 -0
  36. syllable_sdk/models/incrementaction.py +106 -0
  37. syllable_sdk/models/inputparameter.py +106 -0
  38. syllable_sdk/models/jmespathexpression.py +33 -0
  39. syllable_sdk/models/loadtoolfromfiletask.py +112 -0
  40. syllable_sdk/models/nextstep.py +97 -0
  41. syllable_sdk/models/pronunciationoverridesdictionary.py +6 -3
  42. syllable_sdk/models/saveaction.py +103 -0
  43. syllable_sdk/models/sayaction.py +108 -0
  44. syllable_sdk/models/schemas_cortex_v1_bridge_phrases_dictionarymetadata.py +67 -0
  45. syllable_sdk/models/{dictionarymetadata.py → schemas_tts_v1_pronunciations_dictionarymetadata.py} +2 -2
  46. syllable_sdk/models/session.py +7 -0
  47. syllable_sdk/models/setvalueaction.py +140 -0
  48. syllable_sdk/models/step.py +65 -0
  49. syllable_sdk/models/stepeventactions.py +166 -0
  50. syllable_sdk/models/stepstask.py +98 -0
  51. syllable_sdk/models/steptools.py +67 -0
  52. syllable_sdk/models/tooldefinition.py +11 -3
  53. syllable_sdk/models/update_bridge_phrases_configop.py +71 -0
  54. syllable_sdk/models/variable.py +149 -0
  55. syllable_sdk/numbers.py +6 -0
  56. syllable_sdk/organizations.py +8 -0
  57. syllable_sdk/permissions.py +2 -0
  58. syllable_sdk/prompts.py +14 -0
  59. syllable_sdk/pronunciations.py +18 -4
  60. syllable_sdk/roles.py +10 -0
  61. syllable_sdk/sdk.py +6 -0
  62. syllable_sdk/services.py +10 -0
  63. syllable_sdk/session_debug.py +6 -0
  64. syllable_sdk/session_labels.py +6 -0
  65. syllable_sdk/sessions.py +8 -0
  66. syllable_sdk/takeouts.py +6 -0
  67. syllable_sdk/targets.py +10 -0
  68. syllable_sdk/test.py +2 -0
  69. syllable_sdk/tools.py +10 -0
  70. syllable_sdk/transcript.py +2 -0
  71. syllable_sdk/twilio.py +6 -0
  72. syllable_sdk/users.py +14 -0
  73. syllable_sdk/utils/forms.py +21 -10
  74. syllable_sdk/utils/queryparams.py +14 -2
  75. syllable_sdk/utils/retries.py +69 -5
  76. syllable_sdk/v1.py +14 -0
  77. syllable_sdk/voice_groups.py +12 -0
  78. syllable_sdk/workflows.py +16 -0
  79. {syllable_sdk-0.41.23.dist-info → syllable_sdk-0.44.1.dist-info}/METADATA +6 -1
  80. {syllable_sdk-0.41.23.dist-info → syllable_sdk-0.44.1.dist-info}/RECORD +81 -51
  81. {syllable_sdk-0.41.23.dist-info → syllable_sdk-0.44.1.dist-info}/WHEEL +0 -0
@@ -0,0 +1,71 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .bridgephrasesconfig import BridgePhrasesConfig, BridgePhrasesConfigTypedDict
5
+ from pydantic import model_serializer
6
+ from syllable_sdk.types import (
7
+ BaseModel,
8
+ Nullable,
9
+ OptionalNullable,
10
+ UNSET,
11
+ UNSET_SENTINEL,
12
+ )
13
+ from syllable_sdk.utils import FieldMetadata, QueryParamMetadata, RequestMetadata
14
+ from typing_extensions import Annotated, NotRequired, TypedDict
15
+
16
+
17
+ class UpdateBridgePhrasesConfigRequestTypedDict(TypedDict):
18
+ bridge_phrases_config: BridgePhrasesConfigTypedDict
19
+ agent_id: NotRequired[Nullable[int]]
20
+ r"""Agent ID to update config for"""
21
+ tool_name: NotRequired[Nullable[str]]
22
+ r"""Tool name to update config for"""
23
+
24
+
25
+ class UpdateBridgePhrasesConfigRequest(BaseModel):
26
+ bridge_phrases_config: Annotated[
27
+ BridgePhrasesConfig,
28
+ FieldMetadata(request=RequestMetadata(media_type="application/json")),
29
+ ]
30
+
31
+ agent_id: Annotated[
32
+ OptionalNullable[int],
33
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
34
+ ] = UNSET
35
+ r"""Agent ID to update config for"""
36
+
37
+ tool_name: Annotated[
38
+ OptionalNullable[str],
39
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
40
+ ] = UNSET
41
+ r"""Tool name to update config for"""
42
+
43
+ @model_serializer(mode="wrap")
44
+ def serialize_model(self, handler):
45
+ optional_fields = ["agent_id", "tool_name"]
46
+ nullable_fields = ["agent_id", "tool_name"]
47
+ null_default_fields = []
48
+
49
+ serialized = handler(self)
50
+
51
+ m = {}
52
+
53
+ for n, f in type(self).model_fields.items():
54
+ k = f.alias or n
55
+ val = serialized.get(k)
56
+ serialized.pop(k, None)
57
+
58
+ optional_nullable = k in optional_fields and k in nullable_fields
59
+ is_set = (
60
+ self.__pydantic_fields_set__.intersection({n})
61
+ or k in null_default_fields
62
+ ) # pylint: disable=no-member
63
+
64
+ if val is not None and val != UNSET_SENTINEL:
65
+ m[k] = val
66
+ elif val != UNSET_SENTINEL and (
67
+ not k in optional_fields or (optional_nullable and is_set)
68
+ ):
69
+ m[k] = val
70
+
71
+ return m
@@ -0,0 +1,149 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .caseexpression import CaseExpression, CaseExpressionTypedDict
5
+ from .celexpression import CelExpression, CelExpressionTypedDict
6
+ from .jmespathexpression import JMESPathExpression, JMESPathExpressionTypedDict
7
+ from enum import Enum
8
+ import pydantic
9
+ from pydantic import Discriminator, Tag, model_serializer
10
+ from syllable_sdk.types import (
11
+ BaseModel,
12
+ Nullable,
13
+ OptionalNullable,
14
+ UNSET,
15
+ UNSET_SENTINEL,
16
+ )
17
+ from syllable_sdk.utils import get_discriminator
18
+ from typing import Any, List, Union
19
+ from typing_extensions import Annotated, NotRequired, TypeAliasType, TypedDict
20
+
21
+
22
+ VariableValueFrom1TypedDict = TypeAliasType(
23
+ "VariableValueFrom1TypedDict",
24
+ Union[CelExpressionTypedDict, JMESPathExpressionTypedDict],
25
+ )
26
+
27
+
28
+ VariableValueFrom1 = Annotated[
29
+ Union[
30
+ Annotated[CelExpression, Tag("cel")],
31
+ Annotated[JMESPathExpression, Tag("jmespath")],
32
+ Annotated[JMESPathExpression, Tag("jp")],
33
+ ],
34
+ Discriminator(lambda m: get_discriminator(m, "type", "type")),
35
+ ]
36
+
37
+
38
+ VariableValueFrom2TypedDict = TypeAliasType(
39
+ "VariableValueFrom2TypedDict",
40
+ Union[CaseExpressionTypedDict, VariableValueFrom1TypedDict, str],
41
+ )
42
+ r"""Expression to compute initial value (mutually exclusive with value)."""
43
+
44
+
45
+ VariableValueFrom2 = TypeAliasType(
46
+ "VariableValueFrom2", Union[CaseExpression, VariableValueFrom1, str]
47
+ )
48
+ r"""Expression to compute initial value (mutually exclusive with value)."""
49
+
50
+
51
+ class VariableType(str, Enum):
52
+ STRING = "string"
53
+ NUMBER = "number"
54
+ INTEGER = "integer"
55
+ BOOLEAN = "boolean"
56
+ OBJECT = "object"
57
+ ARRAY = "array"
58
+ NULL = "null"
59
+
60
+
61
+ class VariableTypedDict(TypedDict):
62
+ name: str
63
+ r"""The name of the property."""
64
+ value: NotRequired[Nullable[Any]]
65
+ r"""Initial value of the variable."""
66
+ value_from: NotRequired[Nullable[VariableValueFrom2TypedDict]]
67
+ r"""Expression to compute initial value (mutually exclusive with value)."""
68
+ type: NotRequired[Nullable[VariableType]]
69
+ description: NotRequired[Nullable[str]]
70
+ title: NotRequired[Nullable[str]]
71
+ format_: NotRequired[Nullable[str]]
72
+ pattern: NotRequired[Nullable[str]]
73
+ enum: NotRequired[Nullable[List[str]]]
74
+ examples: NotRequired[Nullable[List[Any]]]
75
+
76
+
77
+ class Variable(BaseModel):
78
+ name: str
79
+ r"""The name of the property."""
80
+
81
+ value: OptionalNullable[Any] = UNSET
82
+ r"""Initial value of the variable."""
83
+
84
+ value_from: OptionalNullable[VariableValueFrom2] = UNSET
85
+ r"""Expression to compute initial value (mutually exclusive with value)."""
86
+
87
+ type: OptionalNullable[VariableType] = UNSET
88
+
89
+ description: OptionalNullable[str] = UNSET
90
+
91
+ title: OptionalNullable[str] = UNSET
92
+
93
+ format_: Annotated[OptionalNullable[str], pydantic.Field(alias="format")] = UNSET
94
+
95
+ pattern: OptionalNullable[str] = UNSET
96
+
97
+ enum: OptionalNullable[List[str]] = UNSET
98
+
99
+ examples: OptionalNullable[List[Any]] = UNSET
100
+
101
+ @model_serializer(mode="wrap")
102
+ def serialize_model(self, handler):
103
+ optional_fields = [
104
+ "value",
105
+ "value_from",
106
+ "type",
107
+ "description",
108
+ "title",
109
+ "format",
110
+ "pattern",
111
+ "enum",
112
+ "examples",
113
+ ]
114
+ nullable_fields = [
115
+ "value",
116
+ "value_from",
117
+ "type",
118
+ "description",
119
+ "title",
120
+ "format",
121
+ "pattern",
122
+ "enum",
123
+ "examples",
124
+ ]
125
+ null_default_fields = []
126
+
127
+ serialized = handler(self)
128
+
129
+ m = {}
130
+
131
+ for n, f in type(self).model_fields.items():
132
+ k = f.alias or n
133
+ val = serialized.get(k)
134
+ serialized.pop(k, None)
135
+
136
+ optional_nullable = k in optional_fields and k in nullable_fields
137
+ is_set = (
138
+ self.__pydantic_fields_set__.intersection({n})
139
+ or k in null_default_fields
140
+ ) # pylint: disable=no-member
141
+
142
+ if val is not None and val != UNSET_SENTINEL:
143
+ m[k] = val
144
+ elif val != UNSET_SENTINEL and (
145
+ not k in optional_fields or (optional_nullable and is_set)
146
+ ):
147
+ m[k] = val
148
+
149
+ return m
syllable_sdk/numbers.py CHANGED
@@ -72,6 +72,7 @@ class Numbers(BaseSDK):
72
72
  "json",
73
73
  models.TwilioNumberAddRequest,
74
74
  ),
75
+ allow_empty_value=None,
75
76
  timeout_ms=timeout_ms,
76
77
  )
77
78
 
@@ -175,6 +176,7 @@ class Numbers(BaseSDK):
175
176
  "json",
176
177
  models.TwilioNumberAddRequest,
177
178
  ),
179
+ allow_empty_value=None,
178
180
  timeout_ms=timeout_ms,
179
181
  )
180
182
 
@@ -278,6 +280,7 @@ class Numbers(BaseSDK):
278
280
  "json",
279
281
  models.TwilioNumberUpdateRequest,
280
282
  ),
283
+ allow_empty_value=None,
281
284
  timeout_ms=timeout_ms,
282
285
  )
283
286
 
@@ -381,6 +384,7 @@ class Numbers(BaseSDK):
381
384
  "json",
382
385
  models.TwilioNumberUpdateRequest,
383
386
  ),
387
+ allow_empty_value=None,
384
388
  timeout_ms=timeout_ms,
385
389
  )
386
390
 
@@ -470,6 +474,7 @@ class Numbers(BaseSDK):
470
474
  accept_header_value="application/json",
471
475
  http_headers=http_headers,
472
476
  security=self.sdk_configuration.security,
477
+ allow_empty_value=None,
473
478
  timeout_ms=timeout_ms,
474
479
  )
475
480
 
@@ -559,6 +564,7 @@ class Numbers(BaseSDK):
559
564
  accept_header_value="application/json",
560
565
  http_headers=http_headers,
561
566
  security=self.sdk_configuration.security,
567
+ allow_empty_value=None,
562
568
  timeout_ms=timeout_ms,
563
569
  )
564
570
 
@@ -51,6 +51,7 @@ class Organizations(BaseSDK):
51
51
  accept_header_value="application/json",
52
52
  http_headers=http_headers,
53
53
  security=self.sdk_configuration.security,
54
+ allow_empty_value=None,
54
55
  timeout_ms=timeout_ms,
55
56
  )
56
57
 
@@ -127,6 +128,7 @@ class Organizations(BaseSDK):
127
128
  accept_header_value="application/json",
128
129
  http_headers=http_headers,
129
130
  security=self.sdk_configuration.security,
131
+ allow_empty_value=None,
130
132
  timeout_ms=timeout_ms,
131
133
  )
132
134
 
@@ -215,6 +217,7 @@ class Organizations(BaseSDK):
215
217
  get_serialized_body=lambda: utils.serialize_request_body(
216
218
  request, False, False, "multipart", models.BodyOrganizationsUpdate
217
219
  ),
220
+ allow_empty_value=None,
218
221
  timeout_ms=timeout_ms,
219
222
  )
220
223
 
@@ -309,6 +312,7 @@ class Organizations(BaseSDK):
309
312
  get_serialized_body=lambda: utils.serialize_request_body(
310
313
  request, False, False, "multipart", models.BodyOrganizationsUpdate
311
314
  ),
315
+ allow_empty_value=None,
312
316
  timeout_ms=timeout_ms,
313
317
  )
314
318
 
@@ -403,6 +407,7 @@ class Organizations(BaseSDK):
403
407
  get_serialized_body=lambda: utils.serialize_request_body(
404
408
  request, False, False, "multipart", models.BodyOrganizationsCreate
405
409
  ),
410
+ allow_empty_value=None,
406
411
  timeout_ms=timeout_ms,
407
412
  )
408
413
 
@@ -497,6 +502,7 @@ class Organizations(BaseSDK):
497
502
  get_serialized_body=lambda: utils.serialize_request_body(
498
503
  request, False, False, "multipart", models.BodyOrganizationsCreate
499
504
  ),
505
+ allow_empty_value=None,
500
506
  timeout_ms=timeout_ms,
501
507
  )
502
508
 
@@ -593,6 +599,7 @@ class Organizations(BaseSDK):
593
599
  get_serialized_body=lambda: utils.serialize_request_body(
594
600
  request, False, True, "form", Optional[models.BodyOrganizationsDelete]
595
601
  ),
602
+ allow_empty_value=None,
596
603
  timeout_ms=timeout_ms,
597
604
  )
598
605
 
@@ -689,6 +696,7 @@ class Organizations(BaseSDK):
689
696
  get_serialized_body=lambda: utils.serialize_request_body(
690
697
  request, False, True, "form", Optional[models.BodyOrganizationsDelete]
691
698
  ),
699
+ allow_empty_value=None,
692
700
  timeout_ms=timeout_ms,
693
701
  )
694
702
 
@@ -51,6 +51,7 @@ class Permissions(BaseSDK):
51
51
  accept_header_value="application/json",
52
52
  http_headers=http_headers,
53
53
  security=self.sdk_configuration.security,
54
+ allow_empty_value=None,
54
55
  timeout_ms=timeout_ms,
55
56
  )
56
57
 
@@ -129,6 +130,7 @@ class Permissions(BaseSDK):
129
130
  accept_header_value="application/json",
130
131
  http_headers=http_headers,
131
132
  security=self.sdk_configuration.security,
133
+ allow_empty_value=None,
132
134
  timeout_ms=timeout_ms,
133
135
  )
134
136
 
syllable_sdk/prompts.py CHANGED
@@ -82,6 +82,7 @@ class Prompts(BaseSDK):
82
82
  accept_header_value="application/json",
83
83
  http_headers=http_headers,
84
84
  security=self.sdk_configuration.security,
85
+ allow_empty_value=None,
85
86
  timeout_ms=timeout_ms,
86
87
  )
87
88
 
@@ -195,6 +196,7 @@ class Prompts(BaseSDK):
195
196
  accept_header_value="application/json",
196
197
  http_headers=http_headers,
197
198
  security=self.sdk_configuration.security,
199
+ allow_empty_value=None,
198
200
  timeout_ms=timeout_ms,
199
201
  )
200
202
 
@@ -287,6 +289,7 @@ class Prompts(BaseSDK):
287
289
  get_serialized_body=lambda: utils.serialize_request_body(
288
290
  request, False, False, "json", models.PromptCreateRequest
289
291
  ),
292
+ allow_empty_value=None,
290
293
  timeout_ms=timeout_ms,
291
294
  )
292
295
 
@@ -379,6 +382,7 @@ class Prompts(BaseSDK):
379
382
  get_serialized_body=lambda: utils.serialize_request_body(
380
383
  request, False, False, "json", models.PromptCreateRequest
381
384
  ),
385
+ allow_empty_value=None,
382
386
  timeout_ms=timeout_ms,
383
387
  )
384
388
 
@@ -471,6 +475,7 @@ class Prompts(BaseSDK):
471
475
  get_serialized_body=lambda: utils.serialize_request_body(
472
476
  request, False, False, "json", models.PromptUpdateRequest
473
477
  ),
478
+ allow_empty_value=None,
474
479
  timeout_ms=timeout_ms,
475
480
  )
476
481
 
@@ -563,6 +568,7 @@ class Prompts(BaseSDK):
563
568
  get_serialized_body=lambda: utils.serialize_request_body(
564
569
  request, False, False, "json", models.PromptUpdateRequest
565
570
  ),
571
+ allow_empty_value=None,
566
572
  timeout_ms=timeout_ms,
567
573
  )
568
574
 
@@ -652,6 +658,7 @@ class Prompts(BaseSDK):
652
658
  accept_header_value="application/json",
653
659
  http_headers=http_headers,
654
660
  security=self.sdk_configuration.security,
661
+ allow_empty_value=None,
655
662
  timeout_ms=timeout_ms,
656
663
  )
657
664
 
@@ -741,6 +748,7 @@ class Prompts(BaseSDK):
741
748
  accept_header_value="application/json",
742
749
  http_headers=http_headers,
743
750
  security=self.sdk_configuration.security,
751
+ allow_empty_value=None,
744
752
  timeout_ms=timeout_ms,
745
753
  )
746
754
 
@@ -833,6 +841,7 @@ class Prompts(BaseSDK):
833
841
  accept_header_value="application/json",
834
842
  http_headers=http_headers,
835
843
  security=self.sdk_configuration.security,
844
+ allow_empty_value=None,
836
845
  timeout_ms=timeout_ms,
837
846
  )
838
847
 
@@ -925,6 +934,7 @@ class Prompts(BaseSDK):
925
934
  accept_header_value="application/json",
926
935
  http_headers=http_headers,
927
936
  security=self.sdk_configuration.security,
937
+ allow_empty_value=None,
928
938
  timeout_ms=timeout_ms,
929
939
  )
930
940
 
@@ -1014,6 +1024,7 @@ class Prompts(BaseSDK):
1014
1024
  accept_header_value="application/json",
1015
1025
  http_headers=http_headers,
1016
1026
  security=self.sdk_configuration.security,
1027
+ allow_empty_value=None,
1017
1028
  timeout_ms=timeout_ms,
1018
1029
  )
1019
1030
 
@@ -1103,6 +1114,7 @@ class Prompts(BaseSDK):
1103
1114
  accept_header_value="application/json",
1104
1115
  http_headers=http_headers,
1105
1116
  security=self.sdk_configuration.security,
1117
+ allow_empty_value=None,
1106
1118
  timeout_ms=timeout_ms,
1107
1119
  )
1108
1120
 
@@ -1185,6 +1197,7 @@ class Prompts(BaseSDK):
1185
1197
  accept_header_value="application/json",
1186
1198
  http_headers=http_headers,
1187
1199
  security=self.sdk_configuration.security,
1200
+ allow_empty_value=None,
1188
1201
  timeout_ms=timeout_ms,
1189
1202
  )
1190
1203
 
@@ -1261,6 +1274,7 @@ class Prompts(BaseSDK):
1261
1274
  accept_header_value="application/json",
1262
1275
  http_headers=http_headers,
1263
1276
  security=self.sdk_configuration.security,
1277
+ allow_empty_value=None,
1264
1278
  timeout_ms=timeout_ms,
1265
1279
  )
1266
1280
 
@@ -48,6 +48,7 @@ class Pronunciations(BaseSDK):
48
48
  accept_header_value="application/json",
49
49
  http_headers=http_headers,
50
50
  security=self.sdk_configuration.security,
51
+ allow_empty_value=None,
51
52
  timeout_ms=timeout_ms,
52
53
  )
53
54
 
@@ -124,6 +125,7 @@ class Pronunciations(BaseSDK):
124
125
  accept_header_value="application/json",
125
126
  http_headers=http_headers,
126
127
  security=self.sdk_configuration.security,
128
+ allow_empty_value=None,
127
129
  timeout_ms=timeout_ms,
128
130
  )
129
131
 
@@ -170,7 +172,7 @@ class Pronunciations(BaseSDK):
170
172
  server_url: Optional[str] = None,
171
173
  timeout_ms: Optional[int] = None,
172
174
  http_headers: Optional[Mapping[str, str]] = None,
173
- ) -> models.DictionaryMetadata:
175
+ ) -> models.SchemasTtsV1PronunciationsDictionaryMetadata:
174
176
  r"""Get Pronunciations Metadata
175
177
 
176
178
  :param retries: Override the default retry configuration for this method
@@ -200,6 +202,7 @@ class Pronunciations(BaseSDK):
200
202
  accept_header_value="application/json",
201
203
  http_headers=http_headers,
202
204
  security=self.sdk_configuration.security,
205
+ allow_empty_value=None,
203
206
  timeout_ms=timeout_ms,
204
207
  )
205
208
 
@@ -227,7 +230,9 @@ class Pronunciations(BaseSDK):
227
230
  )
228
231
 
229
232
  if utils.match_response(http_res, "200", "application/json"):
230
- return unmarshal_json_response(models.DictionaryMetadata, http_res)
233
+ return unmarshal_json_response(
234
+ models.SchemasTtsV1PronunciationsDictionaryMetadata, http_res
235
+ )
231
236
  if utils.match_response(http_res, "4XX", "*"):
232
237
  http_res_text = utils.stream_to_text(http_res)
233
238
  raise errors.APIError("API error occurred", http_res, http_res_text)
@@ -244,7 +249,7 @@ class Pronunciations(BaseSDK):
244
249
  server_url: Optional[str] = None,
245
250
  timeout_ms: Optional[int] = None,
246
251
  http_headers: Optional[Mapping[str, str]] = None,
247
- ) -> models.DictionaryMetadata:
252
+ ) -> models.SchemasTtsV1PronunciationsDictionaryMetadata:
248
253
  r"""Get Pronunciations Metadata
249
254
 
250
255
  :param retries: Override the default retry configuration for this method
@@ -274,6 +279,7 @@ class Pronunciations(BaseSDK):
274
279
  accept_header_value="application/json",
275
280
  http_headers=http_headers,
276
281
  security=self.sdk_configuration.security,
282
+ allow_empty_value=None,
277
283
  timeout_ms=timeout_ms,
278
284
  )
279
285
 
@@ -301,7 +307,9 @@ class Pronunciations(BaseSDK):
301
307
  )
302
308
 
303
309
  if utils.match_response(http_res, "200", "application/json"):
304
- return unmarshal_json_response(models.DictionaryMetadata, http_res)
310
+ return unmarshal_json_response(
311
+ models.SchemasTtsV1PronunciationsDictionaryMetadata, http_res
312
+ )
305
313
  if utils.match_response(http_res, "4XX", "*"):
306
314
  http_res_text = await utils.stream_to_text_async(http_res)
307
315
  raise errors.APIError("API error occurred", http_res, http_res_text)
@@ -348,6 +356,7 @@ class Pronunciations(BaseSDK):
348
356
  accept_header_value="text/csv",
349
357
  http_headers=http_headers,
350
358
  security=self.sdk_configuration.security,
359
+ allow_empty_value=None,
351
360
  timeout_ms=timeout_ms,
352
361
  )
353
362
 
@@ -424,6 +433,7 @@ class Pronunciations(BaseSDK):
424
433
  accept_header_value="text/csv",
425
434
  http_headers=http_headers,
426
435
  security=self.sdk_configuration.security,
436
+ allow_empty_value=None,
427
437
  timeout_ms=timeout_ms,
428
438
  )
429
439
 
@@ -513,6 +523,7 @@ class Pronunciations(BaseSDK):
513
523
  get_serialized_body=lambda: utils.serialize_request_body(
514
524
  request, False, False, "multipart", models.BodyPronunciationsUploadCsv
515
525
  ),
526
+ allow_empty_value=None,
516
527
  timeout_ms=timeout_ms,
517
528
  )
518
529
 
@@ -608,6 +619,7 @@ class Pronunciations(BaseSDK):
608
619
  get_serialized_body=lambda: utils.serialize_request_body(
609
620
  request, False, False, "multipart", models.BodyPronunciationsUploadCsv
610
621
  ),
622
+ allow_empty_value=None,
611
623
  timeout_ms=timeout_ms,
612
624
  )
613
625
 
@@ -690,6 +702,7 @@ class Pronunciations(BaseSDK):
690
702
  accept_header_value="*/*",
691
703
  http_headers=http_headers,
692
704
  security=self.sdk_configuration.security,
705
+ allow_empty_value=None,
693
706
  timeout_ms=timeout_ms,
694
707
  )
695
708
 
@@ -764,6 +777,7 @@ class Pronunciations(BaseSDK):
764
777
  accept_header_value="*/*",
765
778
  http_headers=http_headers,
766
779
  security=self.sdk_configuration.security,
780
+ allow_empty_value=None,
767
781
  timeout_ms=timeout_ms,
768
782
  )
769
783
 
syllable_sdk/roles.py CHANGED
@@ -82,6 +82,7 @@ class Roles(BaseSDK):
82
82
  accept_header_value="application/json",
83
83
  http_headers=http_headers,
84
84
  security=self.sdk_configuration.security,
85
+ allow_empty_value=None,
85
86
  timeout_ms=timeout_ms,
86
87
  )
87
88
 
@@ -195,6 +196,7 @@ class Roles(BaseSDK):
195
196
  accept_header_value="application/json",
196
197
  http_headers=http_headers,
197
198
  security=self.sdk_configuration.security,
199
+ allow_empty_value=None,
198
200
  timeout_ms=timeout_ms,
199
201
  )
200
202
 
@@ -287,6 +289,7 @@ class Roles(BaseSDK):
287
289
  get_serialized_body=lambda: utils.serialize_request_body(
288
290
  request, False, False, "json", models.RoleCreateRequest
289
291
  ),
292
+ allow_empty_value=None,
290
293
  timeout_ms=timeout_ms,
291
294
  )
292
295
 
@@ -379,6 +382,7 @@ class Roles(BaseSDK):
379
382
  get_serialized_body=lambda: utils.serialize_request_body(
380
383
  request, False, False, "json", models.RoleCreateRequest
381
384
  ),
385
+ allow_empty_value=None,
382
386
  timeout_ms=timeout_ms,
383
387
  )
384
388
 
@@ -471,6 +475,7 @@ class Roles(BaseSDK):
471
475
  get_serialized_body=lambda: utils.serialize_request_body(
472
476
  request, False, False, "json", models.RoleUpdateRequest
473
477
  ),
478
+ allow_empty_value=None,
474
479
  timeout_ms=timeout_ms,
475
480
  )
476
481
 
@@ -563,6 +568,7 @@ class Roles(BaseSDK):
563
568
  get_serialized_body=lambda: utils.serialize_request_body(
564
569
  request, False, False, "json", models.RoleUpdateRequest
565
570
  ),
571
+ allow_empty_value=None,
566
572
  timeout_ms=timeout_ms,
567
573
  )
568
574
 
@@ -652,6 +658,7 @@ class Roles(BaseSDK):
652
658
  accept_header_value="application/json",
653
659
  http_headers=http_headers,
654
660
  security=self.sdk_configuration.security,
661
+ allow_empty_value=None,
655
662
  timeout_ms=timeout_ms,
656
663
  )
657
664
 
@@ -741,6 +748,7 @@ class Roles(BaseSDK):
741
748
  accept_header_value="application/json",
742
749
  http_headers=http_headers,
743
750
  security=self.sdk_configuration.security,
751
+ allow_empty_value=None,
744
752
  timeout_ms=timeout_ms,
745
753
  )
746
754
 
@@ -836,6 +844,7 @@ class Roles(BaseSDK):
836
844
  accept_header_value="application/json",
837
845
  http_headers=http_headers,
838
846
  security=self.sdk_configuration.security,
847
+ allow_empty_value=None,
839
848
  timeout_ms=timeout_ms,
840
849
  )
841
850
 
@@ -931,6 +940,7 @@ class Roles(BaseSDK):
931
940
  accept_header_value="application/json",
932
941
  http_headers=http_headers,
933
942
  security=self.sdk_configuration.security,
943
+ allow_empty_value=None,
934
944
  timeout_ms=timeout_ms,
935
945
  )
936
946
 
syllable_sdk/sdk.py CHANGED
@@ -17,6 +17,7 @@ import weakref
17
17
  if TYPE_CHECKING:
18
18
  from syllable_sdk.agents import Agents
19
19
  from syllable_sdk.channels import Channels
20
+ from syllable_sdk.conversation_config import ConversationConfig
20
21
  from syllable_sdk.conversations import Conversations
21
22
  from syllable_sdk.custom_messages import CustomMessages
22
23
  from syllable_sdk.dashboards import Dashboards
@@ -87,6 +88,7 @@ class SyllableSDK(BaseSDK):
87
88
  r"""Operations related to channel configuration. A channel is an organization-level point of communication, like a phone number or a web chat. A channel can be associated with an agent by creating a channel target linking them."""
88
89
  conversations: "Conversations"
89
90
  r"""Operations related to conversations. A conversation is a record of messages between a user and an agent, and is composed of one or more sessions."""
91
+ conversation_config: "ConversationConfig"
90
92
  data_sources: "DataSources"
91
93
  r"""Operations related to data sources. A data source is a blob of text that can be made available to an agent's general info tools to provide more context to the agent when generating its responses. For more information, see [Console docs](https://docs.syllable.ai/Resources/DataSources)."""
92
94
  events: "Events"
@@ -130,6 +132,10 @@ class SyllableSDK(BaseSDK):
130
132
  "agents": ("syllable_sdk.agents", "Agents"),
131
133
  "channels": ("syllable_sdk.channels", "Channels"),
132
134
  "conversations": ("syllable_sdk.conversations", "Conversations"),
135
+ "conversation_config": (
136
+ "syllable_sdk.conversation_config",
137
+ "ConversationConfig",
138
+ ),
133
139
  "data_sources": ("syllable_sdk.data_sources", "DataSources"),
134
140
  "events": ("syllable_sdk.events", "Events"),
135
141
  "incidents": ("syllable_sdk.incidents", "Incidents"),