telnyx 5.0.0 → 5.1.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 (241) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +38 -0
  3. data/README.md +1 -1
  4. data/lib/telnyx/client.rb +4 -0
  5. data/lib/telnyx/internal/type/union.rb +1 -1
  6. data/lib/telnyx/models/ai/assistant.rb +39 -4
  7. data/lib/telnyx/models/ai/assistant_create_params.rb +187 -6
  8. data/lib/telnyx/models/ai/assistant_imports_params.rb +10 -1
  9. data/lib/telnyx/models/ai/assistant_tool.rb +400 -3
  10. data/lib/telnyx/models/ai/assistant_update_params.rb +187 -6
  11. data/lib/telnyx/models/ai/assistants/update_assistant.rb +189 -6
  12. data/lib/telnyx/models/ai/bucket_ids.rb +7 -1
  13. data/lib/telnyx/models/ai/chat_create_completion_params.rb +4 -4
  14. data/lib/telnyx/models/ai/inference_embedding.rb +187 -6
  15. data/lib/telnyx/models/ai/messaging_settings.rb +10 -1
  16. data/lib/telnyx/models/ai/retrieval_tool.rb +3 -3
  17. data/lib/telnyx/models/ai/telephony_settings.rb +142 -1
  18. data/lib/telnyx/models/ai/transfer_tool.rb +46 -3
  19. data/lib/telnyx/models/ai/voice_settings.rb +1 -1
  20. data/lib/telnyx/models/ai/webhook_tool.rb +256 -3
  21. data/lib/telnyx/models/call_control_application_list_params.rb +16 -18
  22. data/lib/telnyx/models/call_event_list_params.rb +16 -18
  23. data/lib/telnyx/models/calls/action_add_ai_assistant_messages_params.rb +289 -0
  24. data/lib/telnyx/models/calls/action_add_ai_assistant_messages_response.rb +18 -0
  25. data/lib/telnyx/models/calls/action_start_noise_suppression_params.rb +7 -4
  26. data/lib/telnyx/models/conference_list_params.rb +16 -18
  27. data/lib/telnyx/models/conference_list_participants_params.rb +16 -18
  28. data/lib/telnyx/models/connection_list_active_calls_params.rb +16 -18
  29. data/lib/telnyx/models/fax_create_params.rb +10 -1
  30. data/lib/telnyx/models/messaging_10dlc/brand_retrieve_sms_otp_status_params.rb +1 -9
  31. data/lib/telnyx/models/messaging_profile.rb +11 -1
  32. data/lib/telnyx/models/messaging_profile_create_params.rb +11 -1
  33. data/lib/telnyx/models/messaging_profile_update_params.rb +11 -1
  34. data/lib/telnyx/models/messaging_tollfree/verification/tf_verification_request.rb +14 -1
  35. data/lib/telnyx/models/messaging_tollfree/verification/verification_request_egress.rb +17 -1
  36. data/lib/telnyx/models/messaging_tollfree/verification/verification_request_status.rb +17 -1
  37. data/lib/telnyx/models/organizations/user_get_groups_report_params.rb +32 -0
  38. data/lib/telnyx/models/organizations/user_get_groups_report_response.rb +132 -0
  39. data/lib/telnyx/models/organizations/user_list_params.rb +73 -0
  40. data/lib/telnyx/models/organizations/user_list_response.rb +118 -0
  41. data/lib/telnyx/models/organizations/user_retrieve_params.rb +29 -0
  42. data/lib/telnyx/models/organizations/user_retrieve_response.rb +129 -0
  43. data/lib/telnyx/models/organizations/users/action_remove_params.rb +18 -0
  44. data/lib/telnyx/models/organizations/users/action_remove_response.rb +133 -0
  45. data/lib/telnyx/models/private_wireless_gateway_status.rb +3 -2
  46. data/lib/telnyx/models/queues/call_list_params.rb +16 -18
  47. data/lib/telnyx/models/sim_card_list_params.rb +11 -3
  48. data/lib/telnyx/models/texml/accounts/queue_list_params.rb +64 -0
  49. data/lib/telnyx/models/texml/accounts/queue_list_response.rb +155 -0
  50. data/lib/telnyx/models/unsafe_unwrap_webhook_event.rb +1 -7
  51. data/lib/telnyx/models/unwrap_webhook_event.rb +1 -7
  52. data/lib/telnyx/models.rb +2 -6
  53. data/lib/telnyx/resources/ai/assistants/tools.rb +2 -2
  54. data/lib/telnyx/resources/ai/assistants/versions.rb +18 -16
  55. data/lib/telnyx/resources/ai/assistants.rb +15 -9
  56. data/lib/telnyx/resources/ai/clusters.rb +1 -1
  57. data/lib/telnyx/resources/ai/embeddings.rb +1 -1
  58. data/lib/telnyx/resources/bundle_pricing/user_bundles.rb +1 -1
  59. data/lib/telnyx/resources/call_control_applications.rb +8 -4
  60. data/lib/telnyx/resources/call_events.rb +8 -4
  61. data/lib/telnyx/resources/calls/actions.rb +31 -0
  62. data/lib/telnyx/resources/conferences.rb +16 -8
  63. data/lib/telnyx/resources/connections.rb +8 -4
  64. data/lib/telnyx/resources/faxes.rb +3 -1
  65. data/lib/telnyx/resources/messages.rb +1 -1
  66. data/lib/telnyx/resources/messaging_10dlc/brand.rb +10 -14
  67. data/lib/telnyx/resources/messaging_profiles/autoresp_configs.rb +6 -6
  68. data/lib/telnyx/resources/messaging_profiles.rb +6 -2
  69. data/lib/telnyx/resources/messaging_tollfree/verification/requests.rb +6 -2
  70. data/lib/telnyx/resources/operator_connect/actions.rb +1 -1
  71. data/lib/telnyx/resources/organizations/users/actions.rb +38 -0
  72. data/lib/telnyx/resources/organizations/users.rb +114 -0
  73. data/lib/telnyx/resources/organizations.rb +18 -0
  74. data/lib/telnyx/resources/phone_numbers/jobs.rb +1 -1
  75. data/lib/telnyx/resources/queues/calls.rb +8 -4
  76. data/lib/telnyx/resources/sim_cards/actions.rb +6 -6
  77. data/lib/telnyx/resources/texml/accounts/calls/recordings.rb +1 -1
  78. data/lib/telnyx/resources/texml/accounts/queues.rb +41 -0
  79. data/lib/telnyx/resources/usage_reports.rb +2 -2
  80. data/lib/telnyx/resources/webhooks.rb +2 -2
  81. data/lib/telnyx/version.rb +1 -1
  82. data/lib/telnyx.rb +15 -69
  83. data/rbi/telnyx/client.rbi +3 -0
  84. data/rbi/telnyx/models/ai/assistant.rbi +91 -5
  85. data/rbi/telnyx/models/ai/assistant_create_params.rbi +449 -14
  86. data/rbi/telnyx/models/ai/assistant_imports_params.rbi +13 -0
  87. data/rbi/telnyx/models/ai/assistant_tool.rbi +910 -2
  88. data/rbi/telnyx/models/ai/assistant_update_params.rbi +449 -14
  89. data/rbi/telnyx/models/ai/assistants/update_assistant.rbi +454 -17
  90. data/rbi/telnyx/models/ai/bucket_ids.rbi +6 -0
  91. data/rbi/telnyx/models/ai/chat_create_completion_params.rbi +6 -13
  92. data/rbi/telnyx/models/ai/inference_embedding.rbi +447 -13
  93. data/rbi/telnyx/models/ai/messaging_settings.rbi +13 -0
  94. data/rbi/telnyx/models/ai/retrieval_tool.rbi +4 -8
  95. data/rbi/telnyx/models/ai/telephony_settings.rbi +347 -3
  96. data/rbi/telnyx/models/ai/transfer_tool.rbi +87 -6
  97. data/rbi/telnyx/models/ai/voice_settings.rbi +2 -2
  98. data/rbi/telnyx/models/ai/webhook_tool.rbi +584 -8
  99. data/rbi/telnyx/models/call_control_application_list_params.rbi +23 -35
  100. data/rbi/telnyx/models/call_event_list_params.rbi +23 -35
  101. data/rbi/telnyx/models/calls/action_add_ai_assistant_messages_params.rbi +583 -0
  102. data/rbi/telnyx/models/calls/action_add_ai_assistant_messages_response.rbi +39 -0
  103. data/rbi/telnyx/models/calls/action_start_noise_suppression_params.rbi +14 -6
  104. data/rbi/telnyx/models/conference_list_params.rbi +23 -35
  105. data/rbi/telnyx/models/conference_list_participants_params.rbi +23 -35
  106. data/rbi/telnyx/models/connection_list_active_calls_params.rbi +23 -35
  107. data/rbi/telnyx/models/fax_create_params.rbi +13 -0
  108. data/rbi/telnyx/models/messaging_10dlc/brand_retrieve_sms_otp_status_params.rbi +5 -21
  109. data/rbi/telnyx/models/messaging_profile.rbi +15 -0
  110. data/rbi/telnyx/models/messaging_profile_create_params.rbi +15 -0
  111. data/rbi/telnyx/models/messaging_profile_update_params.rbi +15 -0
  112. data/rbi/telnyx/models/messaging_tollfree/verification/tf_verification_request.rbi +12 -0
  113. data/rbi/telnyx/models/messaging_tollfree/verification/verification_request_egress.rbi +10 -0
  114. data/rbi/telnyx/models/messaging_tollfree/verification/verification_request_status.rbi +10 -0
  115. data/rbi/telnyx/models/organizations/user_get_groups_report_params.rbi +93 -0
  116. data/rbi/telnyx/models/organizations/user_get_groups_report_response.rbi +253 -0
  117. data/rbi/telnyx/models/organizations/user_list_params.rbi +152 -0
  118. data/rbi/telnyx/models/organizations/user_list_response.rbi +231 -0
  119. data/rbi/telnyx/models/organizations/user_retrieve_params.rbi +55 -0
  120. data/rbi/telnyx/models/organizations/user_retrieve_response.rbi +275 -0
  121. data/rbi/telnyx/models/organizations/users/action_remove_params.rbi +34 -0
  122. data/rbi/telnyx/models/organizations/users/action_remove_response.rbi +282 -0
  123. data/rbi/telnyx/models/private_wireless_gateway_status.rbi +4 -2
  124. data/rbi/telnyx/models/queues/call_list_params.rbi +23 -35
  125. data/rbi/telnyx/models/sim_card_list_params.rbi +14 -3
  126. data/rbi/telnyx/models/texml/accounts/queue_list_params.rbi +103 -0
  127. data/rbi/telnyx/models/texml/accounts/queue_list_response.rbi +269 -0
  128. data/rbi/telnyx/models/unsafe_unwrap_webhook_event.rbi +0 -3
  129. data/rbi/telnyx/models/unwrap_webhook_event.rbi +0 -3
  130. data/rbi/telnyx/models.rbi +2 -6
  131. data/rbi/telnyx/resources/ai/assistants/tools.rbi +2 -2
  132. data/rbi/telnyx/resources/ai/assistants/versions.rbi +26 -19
  133. data/rbi/telnyx/resources/ai/assistants.rbi +32 -14
  134. data/rbi/telnyx/resources/ai/chat.rbi +1 -1
  135. data/rbi/telnyx/resources/ai/clusters.rbi +1 -1
  136. data/rbi/telnyx/resources/ai/embeddings.rbi +1 -1
  137. data/rbi/telnyx/resources/bundle_pricing/user_bundles.rbi +1 -1
  138. data/rbi/telnyx/resources/call_control_applications.rbi +7 -1
  139. data/rbi/telnyx/resources/call_events.rbi +5 -1
  140. data/rbi/telnyx/resources/calls/actions.rbi +37 -2
  141. data/rbi/telnyx/resources/conferences.rbi +10 -2
  142. data/rbi/telnyx/resources/connections.rbi +5 -1
  143. data/rbi/telnyx/resources/faxes.rbi +4 -0
  144. data/rbi/telnyx/resources/messages.rbi +1 -1
  145. data/rbi/telnyx/resources/messaging_10dlc/brand.rbi +8 -11
  146. data/rbi/telnyx/resources/messaging_profiles/autoresp_configs.rbi +6 -6
  147. data/rbi/telnyx/resources/messaging_profiles.rbi +10 -0
  148. data/rbi/telnyx/resources/messaging_tollfree/verification/requests.rbi +10 -0
  149. data/rbi/telnyx/resources/operator_connect/actions.rbi +1 -1
  150. data/rbi/telnyx/resources/organizations/users/actions.rbi +32 -0
  151. data/rbi/telnyx/resources/organizations/users.rbi +88 -0
  152. data/rbi/telnyx/resources/organizations.rbi +15 -0
  153. data/rbi/telnyx/resources/phone_numbers/jobs.rbi +1 -1
  154. data/rbi/telnyx/resources/queues/calls.rbi +5 -1
  155. data/rbi/telnyx/resources/sim_cards/actions.rbi +6 -6
  156. data/rbi/telnyx/resources/sim_cards.rbi +1 -1
  157. data/rbi/telnyx/resources/texml/accounts/calls/recordings.rbi +1 -1
  158. data/rbi/telnyx/resources/texml/accounts/queues.rbi +32 -0
  159. data/rbi/telnyx/resources/usage_reports.rbi +2 -2
  160. data/rbi/telnyx/resources/webhooks.rbi +0 -6
  161. data/sig/telnyx/client.rbs +2 -0
  162. data/sig/telnyx/models/ai/assistant.rbs +44 -1
  163. data/sig/telnyx/models/ai/assistant_create_params.rbs +176 -1
  164. data/sig/telnyx/models/ai/assistant_imports_params.rbs +8 -1
  165. data/sig/telnyx/models/ai/assistant_tool.rbs +367 -2
  166. data/sig/telnyx/models/ai/assistant_update_params.rbs +176 -1
  167. data/sig/telnyx/models/ai/assistants/update_assistant.rbs +178 -3
  168. data/sig/telnyx/models/ai/chat_create_completion_params.rbs +4 -7
  169. data/sig/telnyx/models/ai/inference_embedding.rbs +178 -3
  170. data/sig/telnyx/models/ai/messaging_settings.rbs +7 -0
  171. data/sig/telnyx/models/ai/retrieval_tool.rbs +4 -4
  172. data/sig/telnyx/models/ai/telephony_settings.rbs +133 -4
  173. data/sig/telnyx/models/ai/transfer_tool.rbs +42 -4
  174. data/sig/telnyx/models/ai/webhook_tool.rbs +241 -4
  175. data/sig/telnyx/models/call_control_application_list_params.rbs +17 -26
  176. data/sig/telnyx/models/call_event_list_params.rbs +18 -27
  177. data/sig/telnyx/models/calls/action_add_ai_assistant_messages_params.rbs +240 -0
  178. data/sig/telnyx/models/calls/action_add_ai_assistant_messages_response.rbs +20 -0
  179. data/sig/telnyx/models/calls/action_start_noise_suppression_params.rbs +2 -1
  180. data/sig/telnyx/models/conference_list_params.rbs +17 -26
  181. data/sig/telnyx/models/conference_list_participants_params.rbs +17 -26
  182. data/sig/telnyx/models/connection_list_active_calls_params.rbs +20 -27
  183. data/sig/telnyx/models/fax_create_params.rbs +7 -0
  184. data/sig/telnyx/models/messaging_10dlc/brand_retrieve_sms_otp_status_params.rbs +3 -13
  185. data/sig/telnyx/models/messaging_profile.rbs +7 -0
  186. data/sig/telnyx/models/messaging_profile_create_params.rbs +7 -0
  187. data/sig/telnyx/models/messaging_profile_update_params.rbs +7 -0
  188. data/sig/telnyx/models/messaging_tollfree/verification/tf_verification_request.rbs +5 -0
  189. data/sig/telnyx/models/messaging_tollfree/verification/verification_request_egress.rbs +5 -0
  190. data/sig/telnyx/models/messaging_tollfree/verification/verification_request_status.rbs +5 -0
  191. data/sig/telnyx/models/organizations/user_get_groups_report_params.rbs +43 -0
  192. data/sig/telnyx/models/organizations/user_get_groups_report_response.rbs +104 -0
  193. data/sig/telnyx/models/organizations/user_list_params.rbs +72 -0
  194. data/sig/telnyx/models/organizations/user_list_response.rbs +99 -0
  195. data/sig/telnyx/models/organizations/user_retrieve_params.rbs +27 -0
  196. data/sig/telnyx/models/organizations/user_retrieve_response.rbs +118 -0
  197. data/sig/telnyx/models/organizations/users/action_remove_params.rbs +19 -0
  198. data/sig/telnyx/models/organizations/users/action_remove_response.rbs +122 -0
  199. data/sig/telnyx/models/queues/call_list_params.rbs +20 -27
  200. data/sig/telnyx/models/sim_card_list_params.rbs +7 -0
  201. data/sig/telnyx/models/texml/accounts/queue_list_params.rbs +60 -0
  202. data/sig/telnyx/models/texml/accounts/queue_list_response.rbs +152 -0
  203. data/sig/telnyx/models/unsafe_unwrap_webhook_event.rbs +0 -3
  204. data/sig/telnyx/models/unwrap_webhook_event.rbs +0 -3
  205. data/sig/telnyx/models.rbs +2 -6
  206. data/sig/telnyx/resources/ai/assistants/versions.rbs +1 -0
  207. data/sig/telnyx/resources/ai/assistants.rbs +3 -0
  208. data/sig/telnyx/resources/call_control_applications.rbs +3 -1
  209. data/sig/telnyx/resources/call_events.rbs +3 -1
  210. data/sig/telnyx/resources/calls/actions.rbs +8 -0
  211. data/sig/telnyx/resources/conferences.rbs +6 -2
  212. data/sig/telnyx/resources/connections.rbs +3 -1
  213. data/sig/telnyx/resources/faxes.rbs +1 -0
  214. data/sig/telnyx/resources/messaging_10dlc/brand.rbs +1 -2
  215. data/sig/telnyx/resources/messaging_profiles.rbs +2 -0
  216. data/sig/telnyx/resources/messaging_tollfree/verification/requests.rbs +2 -0
  217. data/sig/telnyx/resources/organizations/users/actions.rbs +16 -0
  218. data/sig/telnyx/resources/organizations/users.rbs +31 -0
  219. data/sig/telnyx/resources/organizations.rbs +9 -0
  220. data/sig/telnyx/resources/queues/calls.rbs +3 -1
  221. data/sig/telnyx/resources/texml/accounts/queues.rbs +10 -0
  222. data/sig/telnyx/resources/webhooks.rbs +0 -6
  223. metadata +47 -20
  224. data/lib/telnyx/models/ai/inference_embedding_bucket_ids.rb +0 -31
  225. data/lib/telnyx/models/ai/inference_embedding_transfer_tool_params.rb +0 -93
  226. data/lib/telnyx/models/ai/inference_embedding_webhook_tool_params.rb +0 -265
  227. data/lib/telnyx/models/streaming_failed_webhook_event.rb +0 -15
  228. data/lib/telnyx/models/streaming_started_webhook_event.rb +0 -15
  229. data/lib/telnyx/models/streaming_stopped_webhook_event.rb +0 -15
  230. data/rbi/telnyx/models/ai/inference_embedding_bucket_ids.rbi +0 -54
  231. data/rbi/telnyx/models/ai/inference_embedding_transfer_tool_params.rbi +0 -185
  232. data/rbi/telnyx/models/ai/inference_embedding_webhook_tool_params.rbi +0 -621
  233. data/rbi/telnyx/models/streaming_failed_webhook_event.rbi +0 -30
  234. data/rbi/telnyx/models/streaming_started_webhook_event.rbi +0 -30
  235. data/rbi/telnyx/models/streaming_stopped_webhook_event.rbi +0 -30
  236. data/sig/telnyx/models/ai/inference_embedding_bucket_ids.rbs +0 -26
  237. data/sig/telnyx/models/ai/inference_embedding_transfer_tool_params.rbs +0 -75
  238. data/sig/telnyx/models/ai/inference_embedding_webhook_tool_params.rbs +0 -242
  239. data/sig/telnyx/models/streaming_failed_webhook_event.rbs +0 -15
  240. data/sig/telnyx/models/streaming_started_webhook_event.rbs +0 -16
  241. data/sig/telnyx/models/streaming_stopped_webhook_event.rbs +0 -16
@@ -21,7 +21,7 @@ module Telnyx
21
21
  attr_accessor :instructions
22
22
 
23
23
  # ID of the model to use. You can use the
24
- # [Get models API](https://developers.telnyx.com/api/inference/inference-embedding/get-models-public-models-get)
24
+ # [Get models API](https://developers.telnyx.com/api-reference/chat/get-available-models)
25
25
  # to see all of your available models,
26
26
  sig { returns(String) }
27
27
  attr_accessor :model
@@ -68,7 +68,10 @@ module Telnyx
68
68
 
69
69
  # Text that the assistant will use to start the conversation. This may be
70
70
  # templated with
71
- # [dynamic variables](https://developers.telnyx.com/docs/inference/ai-assistants/dynamic-variables)
71
+ # [dynamic variables](https://developers.telnyx.com/docs/inference/ai-assistants/dynamic-variables).
72
+ # Use an empty string to have the assistant wait for the user to speak first. Use
73
+ # the special value `<assistant-speaks-first-with-model-generated-message>` to
74
+ # have the assistant generate the greeting based on the system instructions.
72
75
  sig { returns(T.nilable(String)) }
73
76
  attr_reader :greeting
74
77
 
@@ -91,7 +94,7 @@ module Telnyx
91
94
 
92
95
  # This is only needed when using third-party inference providers. The `identifier`
93
96
  # for an integration secret
94
- # [/v2/integration_secrets](https://developers.telnyx.com/api/secrets-manager/integration-secrets/create-integration-secret)
97
+ # [/v2/integration_secrets](https://developers.telnyx.com/api-reference/integration-secrets/create-a-secret)
95
98
  # that refers to your LLM provider's API key. Warning: Free plans are unlikely to
96
99
  # work with this integration.
97
100
  sig { returns(T.nilable(String)) }
@@ -136,11 +139,11 @@ module Telnyx
136
139
  tools:
137
140
  T::Array[
138
141
  T.any(
139
- Telnyx::AI::WebhookTool::OrHash,
142
+ Telnyx::AI::AssistantTool::Webhook::OrHash,
140
143
  Telnyx::AI::RetrievalTool::OrHash,
141
144
  Telnyx::AI::AssistantTool::Handoff::OrHash,
142
145
  Telnyx::AI::HangupTool::OrHash,
143
- Telnyx::AI::TransferTool::OrHash,
146
+ Telnyx::AI::AssistantTool::Transfer::OrHash,
144
147
  Telnyx::AI::AssistantTool::Refer::OrHash,
145
148
  Telnyx::AI::AssistantTool::SendDtmf::OrHash,
146
149
  Telnyx::AI::AssistantTool::SendMessage::OrHash
@@ -164,6 +167,20 @@ module Telnyx
164
167
  sig { params(voice_settings: Telnyx::AI::VoiceSettings::OrHash).void }
165
168
  attr_writer :voice_settings
166
169
 
170
+ # Configuration settings for the assistant's web widget.
171
+ sig do
172
+ returns(T.nilable(Telnyx::AI::InferenceEmbedding::WidgetSettings))
173
+ end
174
+ attr_reader :widget_settings
175
+
176
+ sig do
177
+ params(
178
+ widget_settings:
179
+ Telnyx::AI::InferenceEmbedding::WidgetSettings::OrHash
180
+ ).void
181
+ end
182
+ attr_writer :widget_settings
183
+
167
184
  sig do
168
185
  params(
169
186
  id: String,
@@ -185,18 +202,20 @@ module Telnyx
185
202
  tools:
186
203
  T::Array[
187
204
  T.any(
188
- Telnyx::AI::WebhookTool::OrHash,
205
+ Telnyx::AI::AssistantTool::Webhook::OrHash,
189
206
  Telnyx::AI::RetrievalTool::OrHash,
190
207
  Telnyx::AI::AssistantTool::Handoff::OrHash,
191
208
  Telnyx::AI::HangupTool::OrHash,
192
- Telnyx::AI::TransferTool::OrHash,
209
+ Telnyx::AI::AssistantTool::Transfer::OrHash,
193
210
  Telnyx::AI::AssistantTool::Refer::OrHash,
194
211
  Telnyx::AI::AssistantTool::SendDtmf::OrHash,
195
212
  Telnyx::AI::AssistantTool::SendMessage::OrHash
196
213
  )
197
214
  ],
198
215
  transcription: Telnyx::AI::TranscriptionSettings::OrHash,
199
- voice_settings: Telnyx::AI::VoiceSettings::OrHash
216
+ voice_settings: Telnyx::AI::VoiceSettings::OrHash,
217
+ widget_settings:
218
+ Telnyx::AI::InferenceEmbedding::WidgetSettings::OrHash
200
219
  ).returns(T.attached_class)
201
220
  end
202
221
  def self.new(
@@ -206,7 +225,7 @@ module Telnyx
206
225
  # [dynamic variables](https://developers.telnyx.com/docs/inference/ai-assistants/dynamic-variables)
207
226
  instructions:,
208
227
  # ID of the model to use. You can use the
209
- # [Get models API](https://developers.telnyx.com/api/inference/inference-embedding/get-models-public-models-get)
228
+ # [Get models API](https://developers.telnyx.com/api-reference/chat/get-available-models)
210
229
  # to see all of your available models,
211
230
  model:,
212
231
  name:,
@@ -221,13 +240,16 @@ module Telnyx
221
240
  enabled_features: nil,
222
241
  # Text that the assistant will use to start the conversation. This may be
223
242
  # templated with
224
- # [dynamic variables](https://developers.telnyx.com/docs/inference/ai-assistants/dynamic-variables)
243
+ # [dynamic variables](https://developers.telnyx.com/docs/inference/ai-assistants/dynamic-variables).
244
+ # Use an empty string to have the assistant wait for the user to speak first. Use
245
+ # the special value `<assistant-speaks-first-with-model-generated-message>` to
246
+ # have the assistant generate the greeting based on the system instructions.
225
247
  greeting: nil,
226
248
  import_metadata: nil,
227
249
  insight_settings: nil,
228
250
  # This is only needed when using third-party inference providers. The `identifier`
229
251
  # for an integration secret
230
- # [/v2/integration_secrets](https://developers.telnyx.com/api/secrets-manager/integration-secrets/create-integration-secret)
252
+ # [/v2/integration_secrets](https://developers.telnyx.com/api-reference/integration-secrets/create-a-secret)
231
253
  # that refers to your LLM provider's API key. Warning: Free plans are unlikely to
232
254
  # work with this integration.
233
255
  llm_api_key_ref: nil,
@@ -238,7 +260,9 @@ module Telnyx
238
260
  # [dynamic variables](https://developers.telnyx.com/docs/inference/ai-assistants/dynamic-variables)
239
261
  tools: nil,
240
262
  transcription: nil,
241
- voice_settings: nil
263
+ voice_settings: nil,
264
+ # Configuration settings for the assistant's web widget.
265
+ widget_settings: nil
242
266
  )
243
267
  end
244
268
 
@@ -264,12 +288,422 @@ module Telnyx
264
288
  telephony_settings: Telnyx::AI::TelephonySettings,
265
289
  tools: T::Array[Telnyx::AI::AssistantTool::Variants],
266
290
  transcription: Telnyx::AI::TranscriptionSettings,
267
- voice_settings: Telnyx::AI::VoiceSettings
291
+ voice_settings: Telnyx::AI::VoiceSettings,
292
+ widget_settings: Telnyx::AI::InferenceEmbedding::WidgetSettings
268
293
  }
269
294
  )
270
295
  end
271
296
  def to_hash
272
297
  end
298
+
299
+ class WidgetSettings < Telnyx::Internal::Type::BaseModel
300
+ OrHash =
301
+ T.type_alias do
302
+ T.any(
303
+ Telnyx::AI::InferenceEmbedding::WidgetSettings,
304
+ Telnyx::Internal::AnyHash
305
+ )
306
+ end
307
+
308
+ # Text displayed while the agent is processing.
309
+ sig { returns(T.nilable(String)) }
310
+ attr_reader :agent_thinking_text
311
+
312
+ sig { params(agent_thinking_text: String).void }
313
+ attr_writer :agent_thinking_text
314
+
315
+ sig do
316
+ returns(
317
+ T.nilable(
318
+ Telnyx::AI::InferenceEmbedding::WidgetSettings::AudioVisualizerConfig
319
+ )
320
+ )
321
+ end
322
+ attr_reader :audio_visualizer_config
323
+
324
+ sig do
325
+ params(
326
+ audio_visualizer_config:
327
+ Telnyx::AI::InferenceEmbedding::WidgetSettings::AudioVisualizerConfig::OrHash
328
+ ).void
329
+ end
330
+ attr_writer :audio_visualizer_config
331
+
332
+ # The default state of the widget.
333
+ sig do
334
+ returns(
335
+ T.nilable(
336
+ Telnyx::AI::InferenceEmbedding::WidgetSettings::DefaultState::TaggedSymbol
337
+ )
338
+ )
339
+ end
340
+ attr_reader :default_state
341
+
342
+ sig do
343
+ params(
344
+ default_state:
345
+ Telnyx::AI::InferenceEmbedding::WidgetSettings::DefaultState::OrSymbol
346
+ ).void
347
+ end
348
+ attr_writer :default_state
349
+
350
+ # URL for users to give feedback.
351
+ sig { returns(T.nilable(String)) }
352
+ attr_accessor :give_feedback_url
353
+
354
+ # URL to a custom logo icon for the widget.
355
+ sig { returns(T.nilable(String)) }
356
+ attr_accessor :logo_icon_url
357
+
358
+ # The positioning style for the widget.
359
+ sig do
360
+ returns(
361
+ T.nilable(
362
+ Telnyx::AI::InferenceEmbedding::WidgetSettings::Position::TaggedSymbol
363
+ )
364
+ )
365
+ end
366
+ attr_reader :position
367
+
368
+ sig do
369
+ params(
370
+ position:
371
+ Telnyx::AI::InferenceEmbedding::WidgetSettings::Position::OrSymbol
372
+ ).void
373
+ end
374
+ attr_writer :position
375
+
376
+ # URL for users to report issues.
377
+ sig { returns(T.nilable(String)) }
378
+ attr_accessor :report_issue_url
379
+
380
+ # Text prompting users to speak to interrupt.
381
+ sig { returns(T.nilable(String)) }
382
+ attr_reader :speak_to_interrupt_text
383
+
384
+ sig { params(speak_to_interrupt_text: String).void }
385
+ attr_writer :speak_to_interrupt_text
386
+
387
+ # Custom text displayed on the start call button.
388
+ sig { returns(T.nilable(String)) }
389
+ attr_reader :start_call_text
390
+
391
+ sig { params(start_call_text: String).void }
392
+ attr_writer :start_call_text
393
+
394
+ # The visual theme for the widget.
395
+ sig do
396
+ returns(
397
+ T.nilable(
398
+ Telnyx::AI::InferenceEmbedding::WidgetSettings::Theme::TaggedSymbol
399
+ )
400
+ )
401
+ end
402
+ attr_reader :theme
403
+
404
+ sig do
405
+ params(
406
+ theme:
407
+ Telnyx::AI::InferenceEmbedding::WidgetSettings::Theme::OrSymbol
408
+ ).void
409
+ end
410
+ attr_writer :theme
411
+
412
+ # URL to view conversation history.
413
+ sig { returns(T.nilable(String)) }
414
+ attr_accessor :view_history_url
415
+
416
+ # Configuration settings for the assistant's web widget.
417
+ sig do
418
+ params(
419
+ agent_thinking_text: String,
420
+ audio_visualizer_config:
421
+ Telnyx::AI::InferenceEmbedding::WidgetSettings::AudioVisualizerConfig::OrHash,
422
+ default_state:
423
+ Telnyx::AI::InferenceEmbedding::WidgetSettings::DefaultState::OrSymbol,
424
+ give_feedback_url: T.nilable(String),
425
+ logo_icon_url: T.nilable(String),
426
+ position:
427
+ Telnyx::AI::InferenceEmbedding::WidgetSettings::Position::OrSymbol,
428
+ report_issue_url: T.nilable(String),
429
+ speak_to_interrupt_text: String,
430
+ start_call_text: String,
431
+ theme:
432
+ Telnyx::AI::InferenceEmbedding::WidgetSettings::Theme::OrSymbol,
433
+ view_history_url: T.nilable(String)
434
+ ).returns(T.attached_class)
435
+ end
436
+ def self.new(
437
+ # Text displayed while the agent is processing.
438
+ agent_thinking_text: nil,
439
+ audio_visualizer_config: nil,
440
+ # The default state of the widget.
441
+ default_state: nil,
442
+ # URL for users to give feedback.
443
+ give_feedback_url: nil,
444
+ # URL to a custom logo icon for the widget.
445
+ logo_icon_url: nil,
446
+ # The positioning style for the widget.
447
+ position: nil,
448
+ # URL for users to report issues.
449
+ report_issue_url: nil,
450
+ # Text prompting users to speak to interrupt.
451
+ speak_to_interrupt_text: nil,
452
+ # Custom text displayed on the start call button.
453
+ start_call_text: nil,
454
+ # The visual theme for the widget.
455
+ theme: nil,
456
+ # URL to view conversation history.
457
+ view_history_url: nil
458
+ )
459
+ end
460
+
461
+ sig do
462
+ override.returns(
463
+ {
464
+ agent_thinking_text: String,
465
+ audio_visualizer_config:
466
+ Telnyx::AI::InferenceEmbedding::WidgetSettings::AudioVisualizerConfig,
467
+ default_state:
468
+ Telnyx::AI::InferenceEmbedding::WidgetSettings::DefaultState::TaggedSymbol,
469
+ give_feedback_url: T.nilable(String),
470
+ logo_icon_url: T.nilable(String),
471
+ position:
472
+ Telnyx::AI::InferenceEmbedding::WidgetSettings::Position::TaggedSymbol,
473
+ report_issue_url: T.nilable(String),
474
+ speak_to_interrupt_text: String,
475
+ start_call_text: String,
476
+ theme:
477
+ Telnyx::AI::InferenceEmbedding::WidgetSettings::Theme::TaggedSymbol,
478
+ view_history_url: T.nilable(String)
479
+ }
480
+ )
481
+ end
482
+ def to_hash
483
+ end
484
+
485
+ class AudioVisualizerConfig < Telnyx::Internal::Type::BaseModel
486
+ OrHash =
487
+ T.type_alias do
488
+ T.any(
489
+ Telnyx::AI::InferenceEmbedding::WidgetSettings::AudioVisualizerConfig,
490
+ Telnyx::Internal::AnyHash
491
+ )
492
+ end
493
+
494
+ # The color theme for the audio visualizer.
495
+ sig do
496
+ returns(
497
+ T.nilable(
498
+ Telnyx::AI::InferenceEmbedding::WidgetSettings::AudioVisualizerConfig::Color::TaggedSymbol
499
+ )
500
+ )
501
+ end
502
+ attr_reader :color
503
+
504
+ sig do
505
+ params(
506
+ color:
507
+ Telnyx::AI::InferenceEmbedding::WidgetSettings::AudioVisualizerConfig::Color::OrSymbol
508
+ ).void
509
+ end
510
+ attr_writer :color
511
+
512
+ # The preset style for the audio visualizer.
513
+ sig { returns(T.nilable(String)) }
514
+ attr_reader :preset
515
+
516
+ sig { params(preset: String).void }
517
+ attr_writer :preset
518
+
519
+ sig do
520
+ params(
521
+ color:
522
+ Telnyx::AI::InferenceEmbedding::WidgetSettings::AudioVisualizerConfig::Color::OrSymbol,
523
+ preset: String
524
+ ).returns(T.attached_class)
525
+ end
526
+ def self.new(
527
+ # The color theme for the audio visualizer.
528
+ color: nil,
529
+ # The preset style for the audio visualizer.
530
+ preset: nil
531
+ )
532
+ end
533
+
534
+ sig do
535
+ override.returns(
536
+ {
537
+ color:
538
+ Telnyx::AI::InferenceEmbedding::WidgetSettings::AudioVisualizerConfig::Color::TaggedSymbol,
539
+ preset: String
540
+ }
541
+ )
542
+ end
543
+ def to_hash
544
+ end
545
+
546
+ # The color theme for the audio visualizer.
547
+ module Color
548
+ extend Telnyx::Internal::Type::Enum
549
+
550
+ TaggedSymbol =
551
+ T.type_alias do
552
+ T.all(
553
+ Symbol,
554
+ Telnyx::AI::InferenceEmbedding::WidgetSettings::AudioVisualizerConfig::Color
555
+ )
556
+ end
557
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
558
+
559
+ VERDANT =
560
+ T.let(
561
+ :verdant,
562
+ Telnyx::AI::InferenceEmbedding::WidgetSettings::AudioVisualizerConfig::Color::TaggedSymbol
563
+ )
564
+ TWILIGHT =
565
+ T.let(
566
+ :twilight,
567
+ Telnyx::AI::InferenceEmbedding::WidgetSettings::AudioVisualizerConfig::Color::TaggedSymbol
568
+ )
569
+ BLOOM =
570
+ T.let(
571
+ :bloom,
572
+ Telnyx::AI::InferenceEmbedding::WidgetSettings::AudioVisualizerConfig::Color::TaggedSymbol
573
+ )
574
+ MYSTIC =
575
+ T.let(
576
+ :mystic,
577
+ Telnyx::AI::InferenceEmbedding::WidgetSettings::AudioVisualizerConfig::Color::TaggedSymbol
578
+ )
579
+ FLARE =
580
+ T.let(
581
+ :flare,
582
+ Telnyx::AI::InferenceEmbedding::WidgetSettings::AudioVisualizerConfig::Color::TaggedSymbol
583
+ )
584
+ GLACIER =
585
+ T.let(
586
+ :glacier,
587
+ Telnyx::AI::InferenceEmbedding::WidgetSettings::AudioVisualizerConfig::Color::TaggedSymbol
588
+ )
589
+
590
+ sig do
591
+ override.returns(
592
+ T::Array[
593
+ Telnyx::AI::InferenceEmbedding::WidgetSettings::AudioVisualizerConfig::Color::TaggedSymbol
594
+ ]
595
+ )
596
+ end
597
+ def self.values
598
+ end
599
+ end
600
+ end
601
+
602
+ # The default state of the widget.
603
+ module DefaultState
604
+ extend Telnyx::Internal::Type::Enum
605
+
606
+ TaggedSymbol =
607
+ T.type_alias do
608
+ T.all(
609
+ Symbol,
610
+ Telnyx::AI::InferenceEmbedding::WidgetSettings::DefaultState
611
+ )
612
+ end
613
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
614
+
615
+ EXPANDED =
616
+ T.let(
617
+ :expanded,
618
+ Telnyx::AI::InferenceEmbedding::WidgetSettings::DefaultState::TaggedSymbol
619
+ )
620
+ COLLAPSED =
621
+ T.let(
622
+ :collapsed,
623
+ Telnyx::AI::InferenceEmbedding::WidgetSettings::DefaultState::TaggedSymbol
624
+ )
625
+
626
+ sig do
627
+ override.returns(
628
+ T::Array[
629
+ Telnyx::AI::InferenceEmbedding::WidgetSettings::DefaultState::TaggedSymbol
630
+ ]
631
+ )
632
+ end
633
+ def self.values
634
+ end
635
+ end
636
+
637
+ # The positioning style for the widget.
638
+ module Position
639
+ extend Telnyx::Internal::Type::Enum
640
+
641
+ TaggedSymbol =
642
+ T.type_alias do
643
+ T.all(
644
+ Symbol,
645
+ Telnyx::AI::InferenceEmbedding::WidgetSettings::Position
646
+ )
647
+ end
648
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
649
+
650
+ FIXED =
651
+ T.let(
652
+ :fixed,
653
+ Telnyx::AI::InferenceEmbedding::WidgetSettings::Position::TaggedSymbol
654
+ )
655
+ STATIC =
656
+ T.let(
657
+ :static,
658
+ Telnyx::AI::InferenceEmbedding::WidgetSettings::Position::TaggedSymbol
659
+ )
660
+
661
+ sig do
662
+ override.returns(
663
+ T::Array[
664
+ Telnyx::AI::InferenceEmbedding::WidgetSettings::Position::TaggedSymbol
665
+ ]
666
+ )
667
+ end
668
+ def self.values
669
+ end
670
+ end
671
+
672
+ # The visual theme for the widget.
673
+ module Theme
674
+ extend Telnyx::Internal::Type::Enum
675
+
676
+ TaggedSymbol =
677
+ T.type_alias do
678
+ T.all(
679
+ Symbol,
680
+ Telnyx::AI::InferenceEmbedding::WidgetSettings::Theme
681
+ )
682
+ end
683
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
684
+
685
+ LIGHT =
686
+ T.let(
687
+ :light,
688
+ Telnyx::AI::InferenceEmbedding::WidgetSettings::Theme::TaggedSymbol
689
+ )
690
+ DARK =
691
+ T.let(
692
+ :dark,
693
+ Telnyx::AI::InferenceEmbedding::WidgetSettings::Theme::TaggedSymbol
694
+ )
695
+
696
+ sig do
697
+ override.returns(
698
+ T::Array[
699
+ Telnyx::AI::InferenceEmbedding::WidgetSettings::Theme::TaggedSymbol
700
+ ]
701
+ )
702
+ end
703
+ def self.values
704
+ end
705
+ end
706
+ end
273
707
  end
274
708
  end
275
709
  end
@@ -9,6 +9,14 @@ module Telnyx
9
9
  T.any(Telnyx::AI::MessagingSettings, Telnyx::Internal::AnyHash)
10
10
  end
11
11
 
12
+ # If more than this many minutes have passed since the last message, the assistant
13
+ # will start a new conversation instead of continuing the existing one.
14
+ sig { returns(T.nilable(Integer)) }
15
+ attr_reader :conversation_inactivity_minutes
16
+
17
+ sig { params(conversation_inactivity_minutes: Integer).void }
18
+ attr_writer :conversation_inactivity_minutes
19
+
12
20
  # Default Messaging Profile used for messaging exchanges with your assistant. This
13
21
  # will be created automatically on assistant creation.
14
22
  sig { returns(T.nilable(String)) }
@@ -27,11 +35,15 @@ module Telnyx
27
35
 
28
36
  sig do
29
37
  params(
38
+ conversation_inactivity_minutes: Integer,
30
39
  default_messaging_profile_id: String,
31
40
  delivery_status_webhook_url: String
32
41
  ).returns(T.attached_class)
33
42
  end
34
43
  def self.new(
44
+ # If more than this many minutes have passed since the last message, the assistant
45
+ # will start a new conversation instead of continuing the existing one.
46
+ conversation_inactivity_minutes: nil,
35
47
  # Default Messaging Profile used for messaging exchanges with your assistant. This
36
48
  # will be created automatically on assistant creation.
37
49
  default_messaging_profile_id: nil,
@@ -44,6 +56,7 @@ module Telnyx
44
56
  sig do
45
57
  override.returns(
46
58
  {
59
+ conversation_inactivity_minutes: Integer,
47
60
  default_messaging_profile_id: String,
48
61
  delivery_status_webhook_url: String
49
62
  }
@@ -9,14 +9,10 @@ module Telnyx
9
9
  T.any(Telnyx::AI::RetrievalTool, Telnyx::Internal::AnyHash)
10
10
  end
11
11
 
12
- sig { returns(Telnyx::AI::InferenceEmbeddingBucketIDs) }
12
+ sig { returns(Telnyx::AI::BucketIDs) }
13
13
  attr_reader :retrieval
14
14
 
15
- sig do
16
- params(
17
- retrieval: Telnyx::AI::InferenceEmbeddingBucketIDs::OrHash
18
- ).void
19
- end
15
+ sig { params(retrieval: Telnyx::AI::BucketIDs::OrHash).void }
20
16
  attr_writer :retrieval
21
17
 
22
18
  sig { returns(Telnyx::AI::RetrievalTool::Type::OrSymbol) }
@@ -24,7 +20,7 @@ module Telnyx
24
20
 
25
21
  sig do
26
22
  params(
27
- retrieval: Telnyx::AI::InferenceEmbeddingBucketIDs::OrHash,
23
+ retrieval: Telnyx::AI::BucketIDs::OrHash,
28
24
  type: Telnyx::AI::RetrievalTool::Type::OrSymbol
29
25
  ).returns(T.attached_class)
30
26
  end
@@ -34,7 +30,7 @@ module Telnyx
34
30
  sig do
35
31
  override.returns(
36
32
  {
37
- retrieval: Telnyx::AI::InferenceEmbeddingBucketIDs,
33
+ retrieval: Telnyx::AI::BucketIDs,
38
34
  type: Telnyx::AI::RetrievalTool::Type::OrSymbol
39
35
  }
40
36
  )