telnyx 5.69.0 → 5.71.0

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 (181) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +50 -0
  3. data/README.md +1 -1
  4. data/lib/telnyx/internal/util.rb +3 -1
  5. data/lib/telnyx/models/ai/assistant.rb +6 -149
  6. data/lib/telnyx/models/ai/assistant_create_params.rb +3 -42
  7. data/lib/telnyx/models/ai/assistant_update_params.rb +3 -42
  8. data/lib/telnyx/models/ai/assistants/update_assistant.rb +3 -43
  9. data/lib/telnyx/models/ai/conversation_add_message_params.rb +4 -4
  10. data/lib/telnyx/models/ai/inference_embedding.rb +3 -43
  11. data/lib/telnyx/models/ai/observability.rb +46 -0
  12. data/lib/telnyx/models/ai/observability_req.rb +46 -0
  13. data/lib/telnyx/models/book_appointment_tool.rb +31 -0
  14. data/lib/telnyx/models/book_appointment_tool_params.rb +51 -0
  15. data/lib/telnyx/models/call_assistant_request.rb +176 -0
  16. data/lib/telnyx/models/call_control_bucket_ids.rb +23 -0
  17. data/lib/telnyx/models/call_control_retrieval_tool.rb +31 -0
  18. data/lib/telnyx/models/call_dial_params.rb +34 -1
  19. data/lib/telnyx/models/calls/action_answer_params.rb +11 -1
  20. data/lib/telnyx/models/calls/action_start_ai_assistant_params.rb +6 -39
  21. data/lib/telnyx/models/calls/action_transfer_params.rb +24 -1
  22. data/lib/telnyx/models/check_availability_tool.rb +31 -0
  23. data/lib/telnyx/models/check_availability_tool_params.rb +31 -0
  24. data/lib/telnyx/models/enterprise_create_params.rb +1 -1
  25. data/lib/telnyx/models/enterprise_public.rb +1 -1
  26. data/lib/telnyx/models/enterprise_update_params.rb +1 -1
  27. data/lib/telnyx/models/enterprises/reputation/{number_create_params.rb → number_associate_params.rb} +2 -2
  28. data/lib/telnyx/models/enterprises/reputation/{number_create_response.rb → number_associate_response.rb} +5 -5
  29. data/lib/telnyx/models/enterprises/reputation/{number_delete_params.rb → number_disassociate_params.rb} +2 -2
  30. data/lib/telnyx/models/enterprises/{reputation_list_params.rb → reputation_disable_params.rb} +2 -2
  31. data/lib/telnyx/models/enterprises/{reputation_create_params.rb → reputation_enable_params.rb} +6 -6
  32. data/lib/telnyx/models/enterprises/{reputation_create_response.rb → reputation_enable_response.rb} +2 -2
  33. data/lib/telnyx/models/enterprises/{reputation_delete_all_params.rb → reputation_retrieve_params.rb} +2 -2
  34. data/lib/telnyx/models/enterprises/{reputation_list_response.rb → reputation_retrieve_response.rb} +2 -2
  35. data/lib/telnyx/models/porting_orders/phone_number_block_list_params.rb +9 -9
  36. data/lib/telnyx/models/pronunciation_dict_alias_item.rb +51 -0
  37. data/lib/telnyx/models/pronunciation_dict_create_params.rb +5 -93
  38. data/lib/telnyx/models/pronunciation_dict_create_response.rb +3 -191
  39. data/lib/telnyx/models/pronunciation_dict_data.rb +101 -0
  40. data/lib/telnyx/models/pronunciation_dict_phoneme_item.rb +71 -0
  41. data/lib/telnyx/models/pronunciation_dict_retrieve_response.rb +3 -191
  42. data/lib/telnyx/models/pronunciation_dict_update_params.rb +5 -93
  43. data/lib/telnyx/models/pronunciation_dict_update_response.rb +3 -191
  44. data/lib/telnyx/models/texml/accounts/call_calls_params.rb +203 -191
  45. data/lib/telnyx/models/voice_clone_create_from_design_params.rb +3 -3
  46. data/lib/telnyx/models/voice_clone_create_from_upload_params.rb +371 -71
  47. data/lib/telnyx/models/voice_clone_create_params.rb +161 -51
  48. data/lib/telnyx/models/voice_clone_data.rb +51 -4
  49. data/lib/telnyx/models/whatsapp/phone_numbers/profile/photo_retrieve_params.rb +26 -0
  50. data/lib/telnyx/models/whatsapp/phone_numbers/profile/photo_retrieve_response.rb +54 -0
  51. data/lib/telnyx/models.rb +20 -0
  52. data/lib/telnyx/resources/ai/assistants/versions.rb +1 -1
  53. data/lib/telnyx/resources/ai/assistants.rb +2 -2
  54. data/lib/telnyx/resources/calls/actions.rb +7 -3
  55. data/lib/telnyx/resources/calls.rb +5 -1
  56. data/lib/telnyx/resources/enterprises/reputation/numbers.rb +42 -42
  57. data/lib/telnyx/resources/enterprises/reputation.rb +61 -61
  58. data/lib/telnyx/resources/pronunciation_dicts.rb +4 -4
  59. data/lib/telnyx/resources/texml/accounts/calls.rb +3 -3
  60. data/lib/telnyx/resources/voice_clones.rb +7 -27
  61. data/lib/telnyx/resources/whatsapp/phone_numbers/profile/photo.rb +20 -0
  62. data/lib/telnyx/version.rb +1 -1
  63. data/lib/telnyx.rb +22 -9
  64. data/rbi/telnyx/models/ai/assistant.rbi +15 -329
  65. data/rbi/telnyx/models/ai/assistant_create_params.rbi +4 -121
  66. data/rbi/telnyx/models/ai/assistant_update_params.rbi +4 -121
  67. data/rbi/telnyx/models/ai/assistants/update_assistant.rbi +4 -123
  68. data/rbi/telnyx/models/ai/conversation_add_message_params.rbi +5 -5
  69. data/rbi/telnyx/models/ai/inference_embedding.rbi +4 -123
  70. data/rbi/telnyx/models/ai/observability.rbi +90 -0
  71. data/rbi/telnyx/models/ai/observability_req.rbi +92 -0
  72. data/rbi/telnyx/models/book_appointment_tool.rbi +65 -0
  73. data/rbi/telnyx/models/book_appointment_tool_params.rbi +83 -0
  74. data/rbi/telnyx/models/call_assistant_request.rbi +322 -0
  75. data/rbi/telnyx/models/call_control_bucket_ids.rbi +42 -0
  76. data/rbi/telnyx/models/call_control_retrieval_tool.rbi +63 -0
  77. data/rbi/telnyx/models/call_dial_params.rbi +52 -0
  78. data/rbi/telnyx/models/calls/action_answer_params.rbi +15 -0
  79. data/rbi/telnyx/models/calls/action_start_ai_assistant_params.rbi +10 -77
  80. data/rbi/telnyx/models/calls/action_transfer_params.rbi +57 -0
  81. data/rbi/telnyx/models/check_availability_tool.rbi +67 -0
  82. data/rbi/telnyx/models/check_availability_tool_params.rbi +45 -0
  83. data/rbi/telnyx/models/enterprise_create_params.rbi +1 -1
  84. data/rbi/telnyx/models/enterprise_public.rbi +1 -1
  85. data/rbi/telnyx/models/enterprise_update_params.rbi +1 -1
  86. data/rbi/telnyx/models/enterprises/reputation/{number_create_params.rbi → number_associate_params.rbi} +2 -2
  87. data/rbi/telnyx/models/enterprises/reputation/{number_create_response.rbi → number_associate_response.rbi} +7 -7
  88. data/rbi/telnyx/models/enterprises/reputation/{number_delete_params.rbi → number_disassociate_params.rbi} +2 -2
  89. data/rbi/telnyx/models/enterprises/{reputation_list_params.rbi → reputation_disable_params.rbi} +2 -2
  90. data/rbi/telnyx/models/enterprises/{reputation_create_params.rbi → reputation_enable_params.rbi} +14 -14
  91. data/rbi/telnyx/models/enterprises/{reputation_create_response.rbi → reputation_enable_response.rbi} +2 -2
  92. data/rbi/telnyx/models/enterprises/{reputation_delete_all_params.rbi → reputation_retrieve_params.rbi} +2 -2
  93. data/rbi/telnyx/models/enterprises/{reputation_list_response.rbi → reputation_retrieve_response.rbi} +2 -2
  94. data/rbi/telnyx/models/porting_orders/phone_number_block_list_params.rbi +34 -34
  95. data/rbi/telnyx/models/pronunciation_dict_alias_item.rbi +79 -0
  96. data/rbi/telnyx/models/pronunciation_dict_create_params.rbi +8 -154
  97. data/rbi/telnyx/models/pronunciation_dict_create_response.rbi +6 -366
  98. data/rbi/telnyx/models/pronunciation_dict_data.rbi +186 -0
  99. data/rbi/telnyx/models/pronunciation_dict_phoneme_item.rbi +117 -0
  100. data/rbi/telnyx/models/pronunciation_dict_retrieve_response.rbi +6 -366
  101. data/rbi/telnyx/models/pronunciation_dict_update_params.rbi +10 -156
  102. data/rbi/telnyx/models/pronunciation_dict_update_response.rbi +6 -366
  103. data/rbi/telnyx/models/texml/accounts/call_calls_params.rbi +391 -403
  104. data/rbi/telnyx/models/voice_clone_create_from_design_params.rbi +10 -10
  105. data/rbi/telnyx/models/voice_clone_create_from_upload_params.rbi +711 -134
  106. data/rbi/telnyx/models/voice_clone_create_params.rbi +345 -79
  107. data/rbi/telnyx/models/voice_clone_data.rbi +77 -4
  108. data/rbi/telnyx/models/whatsapp/phone_numbers/profile/photo_retrieve_params.rbi +47 -0
  109. data/rbi/telnyx/models/whatsapp/phone_numbers/profile/photo_retrieve_response.rbi +118 -0
  110. data/rbi/telnyx/models.rbi +20 -0
  111. data/rbi/telnyx/resources/ai/assistants/versions.rbi +1 -2
  112. data/rbi/telnyx/resources/ai/assistants.rbi +2 -4
  113. data/rbi/telnyx/resources/calls/actions.rbi +14 -3
  114. data/rbi/telnyx/resources/calls.rbi +10 -0
  115. data/rbi/telnyx/resources/enterprises/reputation/numbers.rbi +34 -34
  116. data/rbi/telnyx/resources/enterprises/reputation.rbi +44 -44
  117. data/rbi/telnyx/resources/pronunciation_dicts.rbi +5 -7
  118. data/rbi/telnyx/resources/texml/accounts/calls.rbi +5 -5
  119. data/rbi/telnyx/resources/voice_clones.rbi +17 -41
  120. data/rbi/telnyx/resources/whatsapp/phone_numbers/profile/photo.rbi +16 -0
  121. data/sig/telnyx/models/ai/assistant.rbs +3 -142
  122. data/sig/telnyx/models/ai/assistant_create_params.rbs +6 -59
  123. data/sig/telnyx/models/ai/assistant_update_params.rbs +6 -59
  124. data/sig/telnyx/models/ai/assistants/update_assistant.rbs +6 -59
  125. data/sig/telnyx/models/ai/conversation_add_message_params.rbs +5 -5
  126. data/sig/telnyx/models/ai/inference_embedding.rbs +6 -59
  127. data/sig/telnyx/models/ai/observability.rbs +58 -0
  128. data/sig/telnyx/models/ai/observability_req.rbs +58 -0
  129. data/sig/telnyx/models/book_appointment_tool.rbs +35 -0
  130. data/sig/telnyx/models/book_appointment_tool_params.rbs +39 -0
  131. data/sig/telnyx/models/call_assistant_request.rbs +132 -0
  132. data/sig/telnyx/models/call_control_bucket_ids.rbs +21 -0
  133. data/sig/telnyx/models/call_control_retrieval_tool.rbs +35 -0
  134. data/sig/telnyx/models/call_dial_params.rbs +29 -0
  135. data/sig/telnyx/models/calls/action_answer_params.rbs +9 -0
  136. data/sig/telnyx/models/calls/action_start_ai_assistant_params.rbs +6 -35
  137. data/sig/telnyx/models/calls/action_transfer_params.rbs +20 -0
  138. data/sig/telnyx/models/check_availability_tool.rbs +35 -0
  139. data/sig/telnyx/models/check_availability_tool_params.rbs +16 -0
  140. data/sig/telnyx/models/enterprise_create_params.rbs +1 -1
  141. data/sig/telnyx/models/enterprise_public.rbs +1 -1
  142. data/sig/telnyx/models/enterprise_update_params.rbs +1 -1
  143. data/sig/telnyx/models/enterprises/reputation/{number_create_params.rbs → number_associate_params.rbs} +2 -2
  144. data/sig/telnyx/models/enterprises/reputation/{number_create_response.rbs → number_associate_response.rbs} +8 -8
  145. data/sig/telnyx/models/enterprises/reputation/{number_delete_params.rbs → number_disassociate_params.rbs} +2 -2
  146. data/sig/telnyx/models/enterprises/{reputation_list_params.rbs → reputation_disable_params.rbs} +2 -2
  147. data/sig/telnyx/models/enterprises/{reputation_create_params.rbs → reputation_enable_params.rbs} +9 -9
  148. data/sig/telnyx/models/enterprises/{reputation_create_response.rbs → reputation_enable_response.rbs} +2 -2
  149. data/sig/telnyx/models/enterprises/{reputation_delete_all_params.rbs → reputation_retrieve_params.rbs} +2 -2
  150. data/sig/telnyx/models/enterprises/{reputation_list_response.rbs → reputation_retrieve_response.rbs} +2 -2
  151. data/sig/telnyx/models/porting_orders/phone_number_block_list_params.rbs +9 -9
  152. data/sig/telnyx/models/pronunciation_dict_alias_item.rbs +40 -0
  153. data/sig/telnyx/models/pronunciation_dict_create_params.rbs +2 -58
  154. data/sig/telnyx/models/pronunciation_dict_create_response.rbs +6 -155
  155. data/sig/telnyx/models/pronunciation_dict_data.rbs +88 -0
  156. data/sig/telnyx/models/pronunciation_dict_phoneme_item.rbs +55 -0
  157. data/sig/telnyx/models/pronunciation_dict_retrieve_response.rbs +6 -155
  158. data/sig/telnyx/models/pronunciation_dict_update_params.rbs +2 -58
  159. data/sig/telnyx/models/pronunciation_dict_update_response.rbs +6 -155
  160. data/sig/telnyx/models/texml/accounts/call_calls_params.rbs +317 -325
  161. data/sig/telnyx/models/voice_clone_create_from_design_params.rbs +7 -7
  162. data/sig/telnyx/models/voice_clone_create_from_upload_params.rbs +269 -56
  163. data/sig/telnyx/models/voice_clone_create_params.rbs +129 -44
  164. data/sig/telnyx/models/voice_clone_data.rbs +43 -0
  165. data/sig/telnyx/models/whatsapp/phone_numbers/profile/photo_retrieve_params.rbs +30 -0
  166. data/sig/telnyx/models/whatsapp/phone_numbers/profile/photo_retrieve_response.rbs +63 -0
  167. data/sig/telnyx/models.rbs +20 -0
  168. data/sig/telnyx/resources/ai/assistants/versions.rbs +1 -1
  169. data/sig/telnyx/resources/ai/assistants.rbs +2 -2
  170. data/sig/telnyx/resources/calls/actions.rbs +3 -1
  171. data/sig/telnyx/resources/calls.rbs +2 -0
  172. data/sig/telnyx/resources/enterprises/reputation/numbers.rbs +7 -7
  173. data/sig/telnyx/resources/enterprises/reputation.rbs +8 -8
  174. data/sig/telnyx/resources/pronunciation_dicts.rbs +1 -1
  175. data/sig/telnyx/resources/texml/accounts/calls.rbs +1 -1
  176. data/sig/telnyx/resources/voice_clones.rbs +2 -12
  177. data/sig/telnyx/resources/whatsapp/phone_numbers/profile/photo.rbs +5 -0
  178. metadata +68 -29
  179. data/lib/telnyx/models/pronunciation_dict_list_response.rb +0 -190
  180. data/rbi/telnyx/models/pronunciation_dict_list_response.rbi +0 -353
  181. data/sig/telnyx/models/pronunciation_dict_list_response.rbs +0 -144
@@ -11,56 +11,30 @@ module Telnyx
11
11
  T.any(Telnyx::VoiceCloneCreateParams, Telnyx::Internal::AnyHash)
12
12
  end
13
13
 
14
- # Gender of the voice clone.
15
- sig { returns(Telnyx::VoiceCloneCreateParams::Gender::OrSymbol) }
16
- attr_accessor :gender
17
-
18
- # ISO 639-1 language code for the clone (e.g. `en`, `fr`, `de`).
19
- sig { returns(String) }
20
- attr_accessor :language
21
-
22
- # Name for the voice clone.
23
- sig { returns(String) }
24
- attr_accessor :name
25
-
26
- # UUID of the source voice design to clone.
27
- sig { returns(String) }
28
- attr_accessor :voice_design_id
29
-
30
- # Voice synthesis provider. Case-insensitive. Defaults to `telnyx`.
14
+ # Request body for creating a voice clone from an existing voice design.
31
15
  sig do
32
- returns(T.nilable(Telnyx::VoiceCloneCreateParams::Provider::OrSymbol))
33
- end
34
- attr_reader :provider
35
-
36
- sig do
37
- params(
38
- provider: Telnyx::VoiceCloneCreateParams::Provider::OrSymbol
39
- ).void
16
+ returns(
17
+ T.any(
18
+ Telnyx::VoiceCloneCreateParams::Params::TelnyxDesignClone,
19
+ Telnyx::VoiceCloneCreateParams::Params::MinimaxDesignClone
20
+ )
21
+ )
40
22
  end
41
- attr_writer :provider
23
+ attr_accessor :params
42
24
 
43
25
  sig do
44
26
  params(
45
- gender: Telnyx::VoiceCloneCreateParams::Gender::OrSymbol,
46
- language: String,
47
- name: String,
48
- voice_design_id: String,
49
- provider: Telnyx::VoiceCloneCreateParams::Provider::OrSymbol,
27
+ params:
28
+ T.any(
29
+ Telnyx::VoiceCloneCreateParams::Params::TelnyxDesignClone::OrHash,
30
+ Telnyx::VoiceCloneCreateParams::Params::MinimaxDesignClone::OrHash
31
+ ),
50
32
  request_options: Telnyx::RequestOptions::OrHash
51
33
  ).returns(T.attached_class)
52
34
  end
53
35
  def self.new(
54
- # Gender of the voice clone.
55
- gender:,
56
- # ISO 639-1 language code for the clone (e.g. `en`, `fr`, `de`).
57
- language:,
58
- # Name for the voice clone.
59
- name:,
60
- # UUID of the source voice design to clone.
61
- voice_design_id:,
62
- # Voice synthesis provider. Case-insensitive. Defaults to `telnyx`.
63
- provider: nil,
36
+ # Request body for creating a voice clone from an existing voice design.
37
+ params:,
64
38
  request_options: {}
65
39
  )
66
40
  end
@@ -68,11 +42,11 @@ module Telnyx
68
42
  sig do
69
43
  override.returns(
70
44
  {
71
- gender: Telnyx::VoiceCloneCreateParams::Gender::OrSymbol,
72
- language: String,
73
- name: String,
74
- voice_design_id: String,
75
- provider: Telnyx::VoiceCloneCreateParams::Provider::OrSymbol,
45
+ params:
46
+ T.any(
47
+ Telnyx::VoiceCloneCreateParams::Params::TelnyxDesignClone,
48
+ Telnyx::VoiceCloneCreateParams::Params::MinimaxDesignClone
49
+ ),
76
50
  request_options: Telnyx::RequestOptions
77
51
  }
78
52
  )
@@ -80,54 +54,346 @@ module Telnyx
80
54
  def to_hash
81
55
  end
82
56
 
83
- # Gender of the voice clone.
84
- module Gender
85
- extend Telnyx::Internal::Type::Enum
57
+ # Request body for creating a voice clone from an existing voice design.
58
+ module Params
59
+ extend Telnyx::Internal::Type::Union
60
+
61
+ Variants =
62
+ T.type_alias do
63
+ T.any(
64
+ Telnyx::VoiceCloneCreateParams::Params::TelnyxDesignClone,
65
+ Telnyx::VoiceCloneCreateParams::Params::MinimaxDesignClone
66
+ )
67
+ end
86
68
 
87
- TaggedSymbol =
88
- T.type_alias { T.all(Symbol, Telnyx::VoiceCloneCreateParams::Gender) }
89
- OrSymbol = T.type_alias { T.any(Symbol, String) }
69
+ class TelnyxDesignClone < Telnyx::Internal::Type::BaseModel
70
+ OrHash =
71
+ T.type_alias do
72
+ T.any(
73
+ Telnyx::VoiceCloneCreateParams::Params::TelnyxDesignClone,
74
+ Telnyx::Internal::AnyHash
75
+ )
76
+ end
90
77
 
91
- MALE =
92
- T.let(:male, Telnyx::VoiceCloneCreateParams::Gender::TaggedSymbol)
93
- FEMALE =
94
- T.let(:female, Telnyx::VoiceCloneCreateParams::Gender::TaggedSymbol)
95
- NEUTRAL =
96
- T.let(:neutral, Telnyx::VoiceCloneCreateParams::Gender::TaggedSymbol)
78
+ # Gender of the voice clone.
79
+ sig do
80
+ returns(
81
+ Telnyx::VoiceCloneCreateParams::Params::TelnyxDesignClone::Gender::OrSymbol
82
+ )
83
+ end
84
+ attr_accessor :gender
97
85
 
98
- sig do
99
- override.returns(
100
- T::Array[Telnyx::VoiceCloneCreateParams::Gender::TaggedSymbol]
86
+ # ISO 639-1 language code for the clone. Supports the combined Telnyx language
87
+ # set.
88
+ sig { returns(String) }
89
+ attr_accessor :language
90
+
91
+ # Name for the voice clone.
92
+ sig { returns(String) }
93
+ attr_accessor :name
94
+
95
+ # UUID of the source voice design to clone.
96
+ sig { returns(String) }
97
+ attr_accessor :voice_design_id
98
+
99
+ # Voice synthesis provider. Defaults to `telnyx`.
100
+ sig do
101
+ returns(
102
+ T.nilable(
103
+ Telnyx::VoiceCloneCreateParams::Params::TelnyxDesignClone::Provider::OrSymbol
104
+ )
105
+ )
106
+ end
107
+ attr_reader :provider
108
+
109
+ sig do
110
+ params(
111
+ provider:
112
+ Telnyx::VoiceCloneCreateParams::Params::TelnyxDesignClone::Provider::OrSymbol
113
+ ).void
114
+ end
115
+ attr_writer :provider
116
+
117
+ # Create a voice clone from a voice design using the Telnyx provider.
118
+ sig do
119
+ params(
120
+ gender:
121
+ Telnyx::VoiceCloneCreateParams::Params::TelnyxDesignClone::Gender::OrSymbol,
122
+ language: String,
123
+ name: String,
124
+ voice_design_id: String,
125
+ provider:
126
+ Telnyx::VoiceCloneCreateParams::Params::TelnyxDesignClone::Provider::OrSymbol
127
+ ).returns(T.attached_class)
128
+ end
129
+ def self.new(
130
+ # Gender of the voice clone.
131
+ gender:,
132
+ # ISO 639-1 language code for the clone. Supports the combined Telnyx language
133
+ # set.
134
+ language:,
135
+ # Name for the voice clone.
136
+ name:,
137
+ # UUID of the source voice design to clone.
138
+ voice_design_id:,
139
+ # Voice synthesis provider. Defaults to `telnyx`.
140
+ provider: nil
101
141
  )
142
+ end
143
+
144
+ sig do
145
+ override.returns(
146
+ {
147
+ gender:
148
+ Telnyx::VoiceCloneCreateParams::Params::TelnyxDesignClone::Gender::OrSymbol,
149
+ language: String,
150
+ name: String,
151
+ voice_design_id: String,
152
+ provider:
153
+ Telnyx::VoiceCloneCreateParams::Params::TelnyxDesignClone::Provider::OrSymbol
154
+ }
155
+ )
156
+ end
157
+ def to_hash
158
+ end
159
+
160
+ # Gender of the voice clone.
161
+ module Gender
162
+ extend Telnyx::Internal::Type::Enum
163
+
164
+ TaggedSymbol =
165
+ T.type_alias do
166
+ T.all(
167
+ Symbol,
168
+ Telnyx::VoiceCloneCreateParams::Params::TelnyxDesignClone::Gender
169
+ )
170
+ end
171
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
172
+
173
+ MALE =
174
+ T.let(
175
+ :male,
176
+ Telnyx::VoiceCloneCreateParams::Params::TelnyxDesignClone::Gender::TaggedSymbol
177
+ )
178
+ FEMALE =
179
+ T.let(
180
+ :female,
181
+ Telnyx::VoiceCloneCreateParams::Params::TelnyxDesignClone::Gender::TaggedSymbol
182
+ )
183
+ NEUTRAL =
184
+ T.let(
185
+ :neutral,
186
+ Telnyx::VoiceCloneCreateParams::Params::TelnyxDesignClone::Gender::TaggedSymbol
187
+ )
188
+
189
+ sig do
190
+ override.returns(
191
+ T::Array[
192
+ Telnyx::VoiceCloneCreateParams::Params::TelnyxDesignClone::Gender::TaggedSymbol
193
+ ]
194
+ )
195
+ end
196
+ def self.values
197
+ end
198
+ end
199
+
200
+ # Voice synthesis provider. Defaults to `telnyx`.
201
+ module Provider
202
+ extend Telnyx::Internal::Type::Enum
203
+
204
+ TaggedSymbol =
205
+ T.type_alias do
206
+ T.all(
207
+ Symbol,
208
+ Telnyx::VoiceCloneCreateParams::Params::TelnyxDesignClone::Provider
209
+ )
210
+ end
211
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
212
+
213
+ TELNYX =
214
+ T.let(
215
+ :telnyx,
216
+ Telnyx::VoiceCloneCreateParams::Params::TelnyxDesignClone::Provider::TaggedSymbol
217
+ )
218
+ MINIMAX =
219
+ T.let(
220
+ :minimax,
221
+ Telnyx::VoiceCloneCreateParams::Params::TelnyxDesignClone::Provider::TaggedSymbol
222
+ )
223
+
224
+ sig do
225
+ override.returns(
226
+ T::Array[
227
+ Telnyx::VoiceCloneCreateParams::Params::TelnyxDesignClone::Provider::TaggedSymbol
228
+ ]
229
+ )
230
+ end
231
+ def self.values
232
+ end
233
+ end
102
234
  end
103
- def self.values
104
- end
105
- end
106
235
 
107
- # Voice synthesis provider. Case-insensitive. Defaults to `telnyx`.
108
- module Provider
109
- extend Telnyx::Internal::Type::Enum
236
+ class MinimaxDesignClone < Telnyx::Internal::Type::BaseModel
237
+ OrHash =
238
+ T.type_alias do
239
+ T.any(
240
+ Telnyx::VoiceCloneCreateParams::Params::MinimaxDesignClone,
241
+ Telnyx::Internal::AnyHash
242
+ )
243
+ end
110
244
 
111
- TaggedSymbol =
112
- T.type_alias do
113
- T.all(Symbol, Telnyx::VoiceCloneCreateParams::Provider)
245
+ # Gender of the voice clone.
246
+ sig do
247
+ returns(
248
+ Telnyx::VoiceCloneCreateParams::Params::MinimaxDesignClone::Gender::OrSymbol
249
+ )
250
+ end
251
+ attr_accessor :gender
252
+
253
+ # ISO 639-1 language code for the clone. Supports the Minimax language set.
254
+ sig { returns(String) }
255
+ attr_accessor :language
256
+
257
+ # Name for the voice clone.
258
+ sig { returns(String) }
259
+ attr_accessor :name
260
+
261
+ # Voice synthesis provider. Must be `minimax`.
262
+ sig do
263
+ returns(
264
+ Telnyx::VoiceCloneCreateParams::Params::MinimaxDesignClone::Provider::OrSymbol
265
+ )
114
266
  end
115
- OrSymbol = T.type_alias { T.any(Symbol, String) }
267
+ attr_accessor :provider
116
268
 
117
- TELNYX =
118
- T.let(:telnyx, Telnyx::VoiceCloneCreateParams::Provider::TaggedSymbol)
119
- MINIMAX =
120
- T.let(
121
- :minimax,
122
- Telnyx::VoiceCloneCreateParams::Provider::TaggedSymbol
269
+ # UUID of the source voice design to clone.
270
+ sig { returns(String) }
271
+ attr_accessor :voice_design_id
272
+
273
+ # Create a voice clone from a voice design using the Minimax provider.
274
+ sig do
275
+ params(
276
+ gender:
277
+ Telnyx::VoiceCloneCreateParams::Params::MinimaxDesignClone::Gender::OrSymbol,
278
+ language: String,
279
+ name: String,
280
+ provider:
281
+ Telnyx::VoiceCloneCreateParams::Params::MinimaxDesignClone::Provider::OrSymbol,
282
+ voice_design_id: String
283
+ ).returns(T.attached_class)
284
+ end
285
+ def self.new(
286
+ # Gender of the voice clone.
287
+ gender:,
288
+ # ISO 639-1 language code for the clone. Supports the Minimax language set.
289
+ language:,
290
+ # Name for the voice clone.
291
+ name:,
292
+ # Voice synthesis provider. Must be `minimax`.
293
+ provider:,
294
+ # UUID of the source voice design to clone.
295
+ voice_design_id:
123
296
  )
297
+ end
298
+
299
+ sig do
300
+ override.returns(
301
+ {
302
+ gender:
303
+ Telnyx::VoiceCloneCreateParams::Params::MinimaxDesignClone::Gender::OrSymbol,
304
+ language: String,
305
+ name: String,
306
+ provider:
307
+ Telnyx::VoiceCloneCreateParams::Params::MinimaxDesignClone::Provider::OrSymbol,
308
+ voice_design_id: String
309
+ }
310
+ )
311
+ end
312
+ def to_hash
313
+ end
314
+
315
+ # Gender of the voice clone.
316
+ module Gender
317
+ extend Telnyx::Internal::Type::Enum
318
+
319
+ TaggedSymbol =
320
+ T.type_alias do
321
+ T.all(
322
+ Symbol,
323
+ Telnyx::VoiceCloneCreateParams::Params::MinimaxDesignClone::Gender
324
+ )
325
+ end
326
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
327
+
328
+ MALE =
329
+ T.let(
330
+ :male,
331
+ Telnyx::VoiceCloneCreateParams::Params::MinimaxDesignClone::Gender::TaggedSymbol
332
+ )
333
+ FEMALE =
334
+ T.let(
335
+ :female,
336
+ Telnyx::VoiceCloneCreateParams::Params::MinimaxDesignClone::Gender::TaggedSymbol
337
+ )
338
+ NEUTRAL =
339
+ T.let(
340
+ :neutral,
341
+ Telnyx::VoiceCloneCreateParams::Params::MinimaxDesignClone::Gender::TaggedSymbol
342
+ )
343
+
344
+ sig do
345
+ override.returns(
346
+ T::Array[
347
+ Telnyx::VoiceCloneCreateParams::Params::MinimaxDesignClone::Gender::TaggedSymbol
348
+ ]
349
+ )
350
+ end
351
+ def self.values
352
+ end
353
+ end
354
+
355
+ # Voice synthesis provider. Must be `minimax`.
356
+ module Provider
357
+ extend Telnyx::Internal::Type::Enum
358
+
359
+ TaggedSymbol =
360
+ T.type_alias do
361
+ T.all(
362
+ Symbol,
363
+ Telnyx::VoiceCloneCreateParams::Params::MinimaxDesignClone::Provider
364
+ )
365
+ end
366
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
367
+
368
+ TELNYX =
369
+ T.let(
370
+ :telnyx,
371
+ Telnyx::VoiceCloneCreateParams::Params::MinimaxDesignClone::Provider::TaggedSymbol
372
+ )
373
+ MINIMAX =
374
+ T.let(
375
+ :minimax,
376
+ Telnyx::VoiceCloneCreateParams::Params::MinimaxDesignClone::Provider::TaggedSymbol
377
+ )
378
+
379
+ sig do
380
+ override.returns(
381
+ T::Array[
382
+ Telnyx::VoiceCloneCreateParams::Params::MinimaxDesignClone::Provider::TaggedSymbol
383
+ ]
384
+ )
385
+ end
386
+ def self.values
387
+ end
388
+ end
389
+ end
124
390
 
125
391
  sig do
126
392
  override.returns(
127
- T::Array[Telnyx::VoiceCloneCreateParams::Provider::TaggedSymbol]
393
+ T::Array[Telnyx::VoiceCloneCreateParams::Params::Variants]
128
394
  )
129
395
  end
130
- def self.values
396
+ def self.variants
131
397
  end
132
398
  end
133
399
  end
@@ -35,6 +35,13 @@ module Telnyx
35
35
  sig { returns(T.nilable(String)) }
36
36
  attr_accessor :language
37
37
 
38
+ # TTS model identifier for the voice clone.
39
+ sig { returns(T.nilable(Telnyx::VoiceCloneData::ModelID::TaggedSymbol)) }
40
+ attr_reader :model_id
41
+
42
+ sig { params(model_id: Telnyx::VoiceCloneData::ModelID::OrSymbol).void }
43
+ attr_writer :model_id
44
+
38
45
  # Name of the voice clone.
39
46
  sig { returns(T.nilable(String)) }
40
47
  attr_reader :name
@@ -56,8 +63,8 @@ module Telnyx
56
63
  sig { params(provider_supported_models: T::Array[String]).void }
57
64
  attr_writer :provider_supported_models
58
65
 
59
- # Provider-specific voice identifier used for TTS synthesis. For Telnyx clones
60
- # this equals the clone ID; for Minimax it is the Minimax-assigned voice ID.
66
+ # Provider-specific voice identifier used for TTS synthesis. May differ from the
67
+ # clone UUID depending on the provider and model.
61
68
  sig { returns(T.nilable(String)) }
62
69
  attr_accessor :provider_voice_id
63
70
 
@@ -80,6 +87,14 @@ module Telnyx
80
87
  sig { returns(T.nilable(Integer)) }
81
88
  attr_accessor :source_voice_design_version
82
89
 
90
+ # Clone status. pending for Ultra clones while on-prem import is in progress,
91
+ # active once ready, failed if verification timed out, expired if not kept alive.
92
+ sig { returns(T.nilable(Telnyx::VoiceCloneData::Status::TaggedSymbol)) }
93
+ attr_reader :status
94
+
95
+ sig { params(status: Telnyx::VoiceCloneData::Status::OrSymbol).void }
96
+ attr_writer :status
97
+
83
98
  # Timestamp when the voice clone was last updated.
84
99
  sig { returns(T.nilable(Time)) }
85
100
  attr_reader :updated_at
@@ -95,6 +110,7 @@ module Telnyx
95
110
  gender: T.nilable(Telnyx::VoiceCloneData::Gender::OrSymbol),
96
111
  label: T.nilable(String),
97
112
  language: T.nilable(String),
113
+ model_id: Telnyx::VoiceCloneData::ModelID::OrSymbol,
98
114
  name: String,
99
115
  provider: Telnyx::VoiceCloneData::Provider::OrSymbol,
100
116
  provider_supported_models: T::Array[String],
@@ -102,6 +118,7 @@ module Telnyx
102
118
  record_type: Telnyx::VoiceCloneData::RecordType::OrSymbol,
103
119
  source_voice_design_id: T.nilable(String),
104
120
  source_voice_design_version: T.nilable(Integer),
121
+ status: Telnyx::VoiceCloneData::Status::OrSymbol,
105
122
  updated_at: Time
106
123
  ).returns(T.attached_class)
107
124
  end
@@ -117,14 +134,16 @@ module Telnyx
117
134
  label: nil,
118
135
  # ISO 639-1 language code of the voice clone.
119
136
  language: nil,
137
+ # TTS model identifier for the voice clone.
138
+ model_id: nil,
120
139
  # Name of the voice clone.
121
140
  name: nil,
122
141
  # Voice synthesis provider used for this clone.
123
142
  provider: nil,
124
143
  # List of TTS model identifiers supported by this clone's provider.
125
144
  provider_supported_models: nil,
126
- # Provider-specific voice identifier used for TTS synthesis. For Telnyx clones
127
- # this equals the clone ID; for Minimax it is the Minimax-assigned voice ID.
145
+ # Provider-specific voice identifier used for TTS synthesis. May differ from the
146
+ # clone UUID depending on the provider and model.
128
147
  provider_voice_id: nil,
129
148
  # Identifies the resource type.
130
149
  record_type: nil,
@@ -132,6 +151,9 @@ module Telnyx
132
151
  source_voice_design_id: nil,
133
152
  # Version of the source voice design used. `null` for upload-based clones.
134
153
  source_voice_design_version: nil,
154
+ # Clone status. pending for Ultra clones while on-prem import is in progress,
155
+ # active once ready, failed if verification timed out, expired if not kept alive.
156
+ status: nil,
135
157
  # Timestamp when the voice clone was last updated.
136
158
  updated_at: nil
137
159
  )
@@ -145,6 +167,7 @@ module Telnyx
145
167
  gender: T.nilable(Telnyx::VoiceCloneData::Gender::TaggedSymbol),
146
168
  label: T.nilable(String),
147
169
  language: T.nilable(String),
170
+ model_id: Telnyx::VoiceCloneData::ModelID::TaggedSymbol,
148
171
  name: String,
149
172
  provider: Telnyx::VoiceCloneData::Provider::TaggedSymbol,
150
173
  provider_supported_models: T::Array[String],
@@ -152,6 +175,7 @@ module Telnyx
152
175
  record_type: Telnyx::VoiceCloneData::RecordType::TaggedSymbol,
153
176
  source_voice_design_id: T.nilable(String),
154
177
  source_voice_design_version: T.nilable(Integer),
178
+ status: Telnyx::VoiceCloneData::Status::TaggedSymbol,
155
179
  updated_at: Time
156
180
  }
157
181
  )
@@ -180,6 +204,32 @@ module Telnyx
180
204
  end
181
205
  end
182
206
 
207
+ # TTS model identifier for the voice clone.
208
+ module ModelID
209
+ extend Telnyx::Internal::Type::Enum
210
+
211
+ TaggedSymbol =
212
+ T.type_alias { T.all(Symbol, Telnyx::VoiceCloneData::ModelID) }
213
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
214
+
215
+ QWEN3_TTS =
216
+ T.let(:Qwen3TTS, Telnyx::VoiceCloneData::ModelID::TaggedSymbol)
217
+ ULTRA = T.let(:Ultra, Telnyx::VoiceCloneData::ModelID::TaggedSymbol)
218
+ SPEECH_2_8_TURBO =
219
+ T.let(
220
+ :"speech-2.8-turbo",
221
+ Telnyx::VoiceCloneData::ModelID::TaggedSymbol
222
+ )
223
+
224
+ sig do
225
+ override.returns(
226
+ T::Array[Telnyx::VoiceCloneData::ModelID::TaggedSymbol]
227
+ )
228
+ end
229
+ def self.values
230
+ end
231
+ end
232
+
183
233
  # Voice synthesis provider used for this clone.
184
234
  module Provider
185
235
  extend Telnyx::Internal::Type::Enum
@@ -220,6 +270,29 @@ module Telnyx
220
270
  def self.values
221
271
  end
222
272
  end
273
+
274
+ # Clone status. pending for Ultra clones while on-prem import is in progress,
275
+ # active once ready, failed if verification timed out, expired if not kept alive.
276
+ module Status
277
+ extend Telnyx::Internal::Type::Enum
278
+
279
+ TaggedSymbol =
280
+ T.type_alias { T.all(Symbol, Telnyx::VoiceCloneData::Status) }
281
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
282
+
283
+ ACTIVE = T.let(:active, Telnyx::VoiceCloneData::Status::TaggedSymbol)
284
+ PENDING = T.let(:pending, Telnyx::VoiceCloneData::Status::TaggedSymbol)
285
+ FAILED = T.let(:failed, Telnyx::VoiceCloneData::Status::TaggedSymbol)
286
+ EXPIRED = T.let(:expired, Telnyx::VoiceCloneData::Status::TaggedSymbol)
287
+
288
+ sig do
289
+ override.returns(
290
+ T::Array[Telnyx::VoiceCloneData::Status::TaggedSymbol]
291
+ )
292
+ end
293
+ def self.values
294
+ end
295
+ end
223
296
  end
224
297
  end
225
298
  end
@@ -0,0 +1,47 @@
1
+ # typed: strong
2
+
3
+ module Telnyx
4
+ module Models
5
+ module Whatsapp
6
+ module PhoneNumbers
7
+ module Profile
8
+ class PhotoRetrieveParams < Telnyx::Internal::Type::BaseModel
9
+ extend Telnyx::Internal::Type::RequestParameters::Converter
10
+ include Telnyx::Internal::Type::RequestParameters
11
+
12
+ OrHash =
13
+ T.type_alias do
14
+ T.any(
15
+ Telnyx::Whatsapp::PhoneNumbers::Profile::PhotoRetrieveParams,
16
+ Telnyx::Internal::AnyHash
17
+ )
18
+ end
19
+
20
+ sig { returns(String) }
21
+ attr_accessor :phone_number
22
+
23
+ sig do
24
+ params(
25
+ phone_number: String,
26
+ request_options: Telnyx::RequestOptions::OrHash
27
+ ).returns(T.attached_class)
28
+ end
29
+ def self.new(phone_number:, request_options: {})
30
+ end
31
+
32
+ sig do
33
+ override.returns(
34
+ {
35
+ phone_number: String,
36
+ request_options: Telnyx::RequestOptions
37
+ }
38
+ )
39
+ end
40
+ def to_hash
41
+ end
42
+ end
43
+ end
44
+ end
45
+ end
46
+ end
47
+ end