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
@@ -52,7 +52,10 @@ module Telnyx
52
52
 
53
53
  # Text that the assistant will use to start the conversation. This may be
54
54
  # templated with
55
- # [dynamic variables](https://developers.telnyx.com/docs/inference/ai-assistants/dynamic-variables)
55
+ # [dynamic variables](https://developers.telnyx.com/docs/inference/ai-assistants/dynamic-variables).
56
+ # Use an empty string to have the assistant wait for the user to speak first. Use
57
+ # the special value `<assistant-speaks-first-with-model-generated-message>` to
58
+ # have the assistant generate the greeting based on the system instructions.
56
59
  sig { returns(T.nilable(String)) }
57
60
  attr_reader :greeting
58
61
 
@@ -77,7 +80,7 @@ module Telnyx
77
80
 
78
81
  # This is only needed when using third-party inference providers. The `identifier`
79
82
  # for an integration secret
80
- # [/v2/integration_secrets](https://developers.telnyx.com/api/secrets-manager/integration-secrets/create-integration-secret)
83
+ # [/v2/integration_secrets](https://developers.telnyx.com/api-reference/integration-secrets/create-a-secret)
81
84
  # that refers to your LLM provider's API key. Warning: Free plans are unlikely to
82
85
  # work with this integration.
83
86
  sig { returns(T.nilable(String)) }
@@ -97,7 +100,7 @@ module Telnyx
97
100
  attr_writer :messaging_settings
98
101
 
99
102
  # ID of the model to use. You can use the
100
- # [Get models API](https://developers.telnyx.com/api/inference/inference-embedding/get-models-public-models-get)
103
+ # [Get models API](https://developers.telnyx.com/api-reference/chat/get-available-models)
101
104
  # to see all of your available models,
102
105
  sig { returns(T.nilable(String)) }
103
106
  attr_reader :model
@@ -136,11 +139,11 @@ module Telnyx
136
139
  T.nilable(
137
140
  T::Array[
138
141
  T.any(
139
- Telnyx::AI::WebhookTool,
142
+ Telnyx::AI::AssistantTool::Webhook,
140
143
  Telnyx::AI::RetrievalTool,
141
144
  Telnyx::AI::AssistantTool::Handoff,
142
145
  Telnyx::AI::HangupTool,
143
- Telnyx::AI::TransferTool,
146
+ Telnyx::AI::AssistantTool::Transfer,
144
147
  Telnyx::AI::AssistantTool::Refer,
145
148
  Telnyx::AI::AssistantTool::SendDtmf,
146
149
  Telnyx::AI::AssistantTool::SendMessage
@@ -156,11 +159,11 @@ module Telnyx
156
159
  tools:
157
160
  T::Array[
158
161
  T.any(
159
- Telnyx::AI::WebhookTool::OrHash,
162
+ Telnyx::AI::AssistantTool::Webhook::OrHash,
160
163
  Telnyx::AI::RetrievalTool::OrHash,
161
164
  Telnyx::AI::AssistantTool::Handoff::OrHash,
162
165
  Telnyx::AI::HangupTool::OrHash,
163
- Telnyx::AI::TransferTool::OrHash,
166
+ Telnyx::AI::AssistantTool::Transfer::OrHash,
164
167
  Telnyx::AI::AssistantTool::Refer::OrHash,
165
168
  Telnyx::AI::AssistantTool::SendDtmf::OrHash,
166
169
  Telnyx::AI::AssistantTool::SendMessage::OrHash
@@ -186,6 +189,22 @@ module Telnyx
186
189
  sig { params(voice_settings: Telnyx::AI::VoiceSettings::OrHash).void }
187
190
  attr_writer :voice_settings
188
191
 
192
+ # Configuration settings for the assistant's web widget.
193
+ sig do
194
+ returns(
195
+ T.nilable(Telnyx::AI::Assistants::UpdateAssistant::WidgetSettings)
196
+ )
197
+ end
198
+ attr_reader :widget_settings
199
+
200
+ sig do
201
+ params(
202
+ widget_settings:
203
+ Telnyx::AI::Assistants::UpdateAssistant::WidgetSettings::OrHash
204
+ ).void
205
+ end
206
+ attr_writer :widget_settings
207
+
189
208
  sig do
190
209
  params(
191
210
  description: String,
@@ -204,18 +223,20 @@ module Telnyx
204
223
  tools:
205
224
  T::Array[
206
225
  T.any(
207
- Telnyx::AI::WebhookTool::OrHash,
226
+ Telnyx::AI::AssistantTool::Webhook::OrHash,
208
227
  Telnyx::AI::RetrievalTool::OrHash,
209
228
  Telnyx::AI::AssistantTool::Handoff::OrHash,
210
229
  Telnyx::AI::HangupTool::OrHash,
211
- Telnyx::AI::TransferTool::OrHash,
230
+ Telnyx::AI::AssistantTool::Transfer::OrHash,
212
231
  Telnyx::AI::AssistantTool::Refer::OrHash,
213
232
  Telnyx::AI::AssistantTool::SendDtmf::OrHash,
214
233
  Telnyx::AI::AssistantTool::SendMessage::OrHash
215
234
  )
216
235
  ],
217
236
  transcription: Telnyx::AI::TranscriptionSettings::OrHash,
218
- voice_settings: Telnyx::AI::VoiceSettings::OrHash
237
+ voice_settings: Telnyx::AI::VoiceSettings::OrHash,
238
+ widget_settings:
239
+ Telnyx::AI::Assistants::UpdateAssistant::WidgetSettings::OrHash
219
240
  ).returns(T.attached_class)
220
241
  end
221
242
  def self.new(
@@ -230,7 +251,10 @@ module Telnyx
230
251
  enabled_features: nil,
231
252
  # Text that the assistant will use to start the conversation. This may be
232
253
  # templated with
233
- # [dynamic variables](https://developers.telnyx.com/docs/inference/ai-assistants/dynamic-variables)
254
+ # [dynamic variables](https://developers.telnyx.com/docs/inference/ai-assistants/dynamic-variables).
255
+ # Use an empty string to have the assistant wait for the user to speak first. Use
256
+ # the special value `<assistant-speaks-first-with-model-generated-message>` to
257
+ # have the assistant generate the greeting based on the system instructions.
234
258
  greeting: nil,
235
259
  insight_settings: nil,
236
260
  # System instructions for the assistant. These may be templated with
@@ -238,13 +262,13 @@ module Telnyx
238
262
  instructions: nil,
239
263
  # This is only needed when using third-party inference providers. The `identifier`
240
264
  # for an integration secret
241
- # [/v2/integration_secrets](https://developers.telnyx.com/api/secrets-manager/integration-secrets/create-integration-secret)
265
+ # [/v2/integration_secrets](https://developers.telnyx.com/api-reference/integration-secrets/create-a-secret)
242
266
  # that refers to your LLM provider's API key. Warning: Free plans are unlikely to
243
267
  # work with this integration.
244
268
  llm_api_key_ref: nil,
245
269
  messaging_settings: nil,
246
270
  # ID of the model to use. You can use the
247
- # [Get models API](https://developers.telnyx.com/api/inference/inference-embedding/get-models-public-models-get)
271
+ # [Get models API](https://developers.telnyx.com/api-reference/chat/get-available-models)
248
272
  # to see all of your available models,
249
273
  model: nil,
250
274
  name: nil,
@@ -254,7 +278,9 @@ module Telnyx
254
278
  # [dynamic variables](https://developers.telnyx.com/docs/inference/ai-assistants/dynamic-variables)
255
279
  tools: nil,
256
280
  transcription: nil,
257
- voice_settings: nil
281
+ voice_settings: nil,
282
+ # Configuration settings for the assistant's web widget.
283
+ widget_settings: nil
258
284
  )
259
285
  end
260
286
 
@@ -278,23 +304,434 @@ module Telnyx
278
304
  tools:
279
305
  T::Array[
280
306
  T.any(
281
- Telnyx::AI::WebhookTool,
307
+ Telnyx::AI::AssistantTool::Webhook,
282
308
  Telnyx::AI::RetrievalTool,
283
309
  Telnyx::AI::AssistantTool::Handoff,
284
310
  Telnyx::AI::HangupTool,
285
- Telnyx::AI::TransferTool,
311
+ Telnyx::AI::AssistantTool::Transfer,
286
312
  Telnyx::AI::AssistantTool::Refer,
287
313
  Telnyx::AI::AssistantTool::SendDtmf,
288
314
  Telnyx::AI::AssistantTool::SendMessage
289
315
  )
290
316
  ],
291
317
  transcription: Telnyx::AI::TranscriptionSettings,
292
- voice_settings: Telnyx::AI::VoiceSettings
318
+ voice_settings: Telnyx::AI::VoiceSettings,
319
+ widget_settings:
320
+ Telnyx::AI::Assistants::UpdateAssistant::WidgetSettings
293
321
  }
294
322
  )
295
323
  end
296
324
  def to_hash
297
325
  end
326
+
327
+ class WidgetSettings < Telnyx::Internal::Type::BaseModel
328
+ OrHash =
329
+ T.type_alias do
330
+ T.any(
331
+ Telnyx::AI::Assistants::UpdateAssistant::WidgetSettings,
332
+ Telnyx::Internal::AnyHash
333
+ )
334
+ end
335
+
336
+ # Text displayed while the agent is processing.
337
+ sig { returns(T.nilable(String)) }
338
+ attr_reader :agent_thinking_text
339
+
340
+ sig { params(agent_thinking_text: String).void }
341
+ attr_writer :agent_thinking_text
342
+
343
+ sig do
344
+ returns(
345
+ T.nilable(
346
+ Telnyx::AI::Assistants::UpdateAssistant::WidgetSettings::AudioVisualizerConfig
347
+ )
348
+ )
349
+ end
350
+ attr_reader :audio_visualizer_config
351
+
352
+ sig do
353
+ params(
354
+ audio_visualizer_config:
355
+ Telnyx::AI::Assistants::UpdateAssistant::WidgetSettings::AudioVisualizerConfig::OrHash
356
+ ).void
357
+ end
358
+ attr_writer :audio_visualizer_config
359
+
360
+ # The default state of the widget.
361
+ sig do
362
+ returns(
363
+ T.nilable(
364
+ Telnyx::AI::Assistants::UpdateAssistant::WidgetSettings::DefaultState::OrSymbol
365
+ )
366
+ )
367
+ end
368
+ attr_reader :default_state
369
+
370
+ sig do
371
+ params(
372
+ default_state:
373
+ Telnyx::AI::Assistants::UpdateAssistant::WidgetSettings::DefaultState::OrSymbol
374
+ ).void
375
+ end
376
+ attr_writer :default_state
377
+
378
+ # URL for users to give feedback.
379
+ sig { returns(T.nilable(String)) }
380
+ attr_accessor :give_feedback_url
381
+
382
+ # URL to a custom logo icon for the widget.
383
+ sig { returns(T.nilable(String)) }
384
+ attr_accessor :logo_icon_url
385
+
386
+ # The positioning style for the widget.
387
+ sig do
388
+ returns(
389
+ T.nilable(
390
+ Telnyx::AI::Assistants::UpdateAssistant::WidgetSettings::Position::OrSymbol
391
+ )
392
+ )
393
+ end
394
+ attr_reader :position
395
+
396
+ sig do
397
+ params(
398
+ position:
399
+ Telnyx::AI::Assistants::UpdateAssistant::WidgetSettings::Position::OrSymbol
400
+ ).void
401
+ end
402
+ attr_writer :position
403
+
404
+ # URL for users to report issues.
405
+ sig { returns(T.nilable(String)) }
406
+ attr_accessor :report_issue_url
407
+
408
+ # Text prompting users to speak to interrupt.
409
+ sig { returns(T.nilable(String)) }
410
+ attr_reader :speak_to_interrupt_text
411
+
412
+ sig { params(speak_to_interrupt_text: String).void }
413
+ attr_writer :speak_to_interrupt_text
414
+
415
+ # Custom text displayed on the start call button.
416
+ sig { returns(T.nilable(String)) }
417
+ attr_reader :start_call_text
418
+
419
+ sig { params(start_call_text: String).void }
420
+ attr_writer :start_call_text
421
+
422
+ # The visual theme for the widget.
423
+ sig do
424
+ returns(
425
+ T.nilable(
426
+ Telnyx::AI::Assistants::UpdateAssistant::WidgetSettings::Theme::OrSymbol
427
+ )
428
+ )
429
+ end
430
+ attr_reader :theme
431
+
432
+ sig do
433
+ params(
434
+ theme:
435
+ Telnyx::AI::Assistants::UpdateAssistant::WidgetSettings::Theme::OrSymbol
436
+ ).void
437
+ end
438
+ attr_writer :theme
439
+
440
+ # URL to view conversation history.
441
+ sig { returns(T.nilable(String)) }
442
+ attr_accessor :view_history_url
443
+
444
+ # Configuration settings for the assistant's web widget.
445
+ sig do
446
+ params(
447
+ agent_thinking_text: String,
448
+ audio_visualizer_config:
449
+ Telnyx::AI::Assistants::UpdateAssistant::WidgetSettings::AudioVisualizerConfig::OrHash,
450
+ default_state:
451
+ Telnyx::AI::Assistants::UpdateAssistant::WidgetSettings::DefaultState::OrSymbol,
452
+ give_feedback_url: T.nilable(String),
453
+ logo_icon_url: T.nilable(String),
454
+ position:
455
+ Telnyx::AI::Assistants::UpdateAssistant::WidgetSettings::Position::OrSymbol,
456
+ report_issue_url: T.nilable(String),
457
+ speak_to_interrupt_text: String,
458
+ start_call_text: String,
459
+ theme:
460
+ Telnyx::AI::Assistants::UpdateAssistant::WidgetSettings::Theme::OrSymbol,
461
+ view_history_url: T.nilable(String)
462
+ ).returns(T.attached_class)
463
+ end
464
+ def self.new(
465
+ # Text displayed while the agent is processing.
466
+ agent_thinking_text: nil,
467
+ audio_visualizer_config: nil,
468
+ # The default state of the widget.
469
+ default_state: nil,
470
+ # URL for users to give feedback.
471
+ give_feedback_url: nil,
472
+ # URL to a custom logo icon for the widget.
473
+ logo_icon_url: nil,
474
+ # The positioning style for the widget.
475
+ position: nil,
476
+ # URL for users to report issues.
477
+ report_issue_url: nil,
478
+ # Text prompting users to speak to interrupt.
479
+ speak_to_interrupt_text: nil,
480
+ # Custom text displayed on the start call button.
481
+ start_call_text: nil,
482
+ # The visual theme for the widget.
483
+ theme: nil,
484
+ # URL to view conversation history.
485
+ view_history_url: nil
486
+ )
487
+ end
488
+
489
+ sig do
490
+ override.returns(
491
+ {
492
+ agent_thinking_text: String,
493
+ audio_visualizer_config:
494
+ Telnyx::AI::Assistants::UpdateAssistant::WidgetSettings::AudioVisualizerConfig,
495
+ default_state:
496
+ Telnyx::AI::Assistants::UpdateAssistant::WidgetSettings::DefaultState::OrSymbol,
497
+ give_feedback_url: T.nilable(String),
498
+ logo_icon_url: T.nilable(String),
499
+ position:
500
+ Telnyx::AI::Assistants::UpdateAssistant::WidgetSettings::Position::OrSymbol,
501
+ report_issue_url: T.nilable(String),
502
+ speak_to_interrupt_text: String,
503
+ start_call_text: String,
504
+ theme:
505
+ Telnyx::AI::Assistants::UpdateAssistant::WidgetSettings::Theme::OrSymbol,
506
+ view_history_url: T.nilable(String)
507
+ }
508
+ )
509
+ end
510
+ def to_hash
511
+ end
512
+
513
+ class AudioVisualizerConfig < Telnyx::Internal::Type::BaseModel
514
+ OrHash =
515
+ T.type_alias do
516
+ T.any(
517
+ Telnyx::AI::Assistants::UpdateAssistant::WidgetSettings::AudioVisualizerConfig,
518
+ Telnyx::Internal::AnyHash
519
+ )
520
+ end
521
+
522
+ # The color theme for the audio visualizer.
523
+ sig do
524
+ returns(
525
+ T.nilable(
526
+ Telnyx::AI::Assistants::UpdateAssistant::WidgetSettings::AudioVisualizerConfig::Color::OrSymbol
527
+ )
528
+ )
529
+ end
530
+ attr_reader :color
531
+
532
+ sig do
533
+ params(
534
+ color:
535
+ Telnyx::AI::Assistants::UpdateAssistant::WidgetSettings::AudioVisualizerConfig::Color::OrSymbol
536
+ ).void
537
+ end
538
+ attr_writer :color
539
+
540
+ # The preset style for the audio visualizer.
541
+ sig { returns(T.nilable(String)) }
542
+ attr_reader :preset
543
+
544
+ sig { params(preset: String).void }
545
+ attr_writer :preset
546
+
547
+ sig do
548
+ params(
549
+ color:
550
+ Telnyx::AI::Assistants::UpdateAssistant::WidgetSettings::AudioVisualizerConfig::Color::OrSymbol,
551
+ preset: String
552
+ ).returns(T.attached_class)
553
+ end
554
+ def self.new(
555
+ # The color theme for the audio visualizer.
556
+ color: nil,
557
+ # The preset style for the audio visualizer.
558
+ preset: nil
559
+ )
560
+ end
561
+
562
+ sig do
563
+ override.returns(
564
+ {
565
+ color:
566
+ Telnyx::AI::Assistants::UpdateAssistant::WidgetSettings::AudioVisualizerConfig::Color::OrSymbol,
567
+ preset: String
568
+ }
569
+ )
570
+ end
571
+ def to_hash
572
+ end
573
+
574
+ # The color theme for the audio visualizer.
575
+ module Color
576
+ extend Telnyx::Internal::Type::Enum
577
+
578
+ TaggedSymbol =
579
+ T.type_alias do
580
+ T.all(
581
+ Symbol,
582
+ Telnyx::AI::Assistants::UpdateAssistant::WidgetSettings::AudioVisualizerConfig::Color
583
+ )
584
+ end
585
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
586
+
587
+ VERDANT =
588
+ T.let(
589
+ :verdant,
590
+ Telnyx::AI::Assistants::UpdateAssistant::WidgetSettings::AudioVisualizerConfig::Color::TaggedSymbol
591
+ )
592
+ TWILIGHT =
593
+ T.let(
594
+ :twilight,
595
+ Telnyx::AI::Assistants::UpdateAssistant::WidgetSettings::AudioVisualizerConfig::Color::TaggedSymbol
596
+ )
597
+ BLOOM =
598
+ T.let(
599
+ :bloom,
600
+ Telnyx::AI::Assistants::UpdateAssistant::WidgetSettings::AudioVisualizerConfig::Color::TaggedSymbol
601
+ )
602
+ MYSTIC =
603
+ T.let(
604
+ :mystic,
605
+ Telnyx::AI::Assistants::UpdateAssistant::WidgetSettings::AudioVisualizerConfig::Color::TaggedSymbol
606
+ )
607
+ FLARE =
608
+ T.let(
609
+ :flare,
610
+ Telnyx::AI::Assistants::UpdateAssistant::WidgetSettings::AudioVisualizerConfig::Color::TaggedSymbol
611
+ )
612
+ GLACIER =
613
+ T.let(
614
+ :glacier,
615
+ Telnyx::AI::Assistants::UpdateAssistant::WidgetSettings::AudioVisualizerConfig::Color::TaggedSymbol
616
+ )
617
+
618
+ sig do
619
+ override.returns(
620
+ T::Array[
621
+ Telnyx::AI::Assistants::UpdateAssistant::WidgetSettings::AudioVisualizerConfig::Color::TaggedSymbol
622
+ ]
623
+ )
624
+ end
625
+ def self.values
626
+ end
627
+ end
628
+ end
629
+
630
+ # The default state of the widget.
631
+ module DefaultState
632
+ extend Telnyx::Internal::Type::Enum
633
+
634
+ TaggedSymbol =
635
+ T.type_alias do
636
+ T.all(
637
+ Symbol,
638
+ Telnyx::AI::Assistants::UpdateAssistant::WidgetSettings::DefaultState
639
+ )
640
+ end
641
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
642
+
643
+ EXPANDED =
644
+ T.let(
645
+ :expanded,
646
+ Telnyx::AI::Assistants::UpdateAssistant::WidgetSettings::DefaultState::TaggedSymbol
647
+ )
648
+ COLLAPSED =
649
+ T.let(
650
+ :collapsed,
651
+ Telnyx::AI::Assistants::UpdateAssistant::WidgetSettings::DefaultState::TaggedSymbol
652
+ )
653
+
654
+ sig do
655
+ override.returns(
656
+ T::Array[
657
+ Telnyx::AI::Assistants::UpdateAssistant::WidgetSettings::DefaultState::TaggedSymbol
658
+ ]
659
+ )
660
+ end
661
+ def self.values
662
+ end
663
+ end
664
+
665
+ # The positioning style for the widget.
666
+ module Position
667
+ extend Telnyx::Internal::Type::Enum
668
+
669
+ TaggedSymbol =
670
+ T.type_alias do
671
+ T.all(
672
+ Symbol,
673
+ Telnyx::AI::Assistants::UpdateAssistant::WidgetSettings::Position
674
+ )
675
+ end
676
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
677
+
678
+ FIXED =
679
+ T.let(
680
+ :fixed,
681
+ Telnyx::AI::Assistants::UpdateAssistant::WidgetSettings::Position::TaggedSymbol
682
+ )
683
+ STATIC =
684
+ T.let(
685
+ :static,
686
+ Telnyx::AI::Assistants::UpdateAssistant::WidgetSettings::Position::TaggedSymbol
687
+ )
688
+
689
+ sig do
690
+ override.returns(
691
+ T::Array[
692
+ Telnyx::AI::Assistants::UpdateAssistant::WidgetSettings::Position::TaggedSymbol
693
+ ]
694
+ )
695
+ end
696
+ def self.values
697
+ end
698
+ end
699
+
700
+ # The visual theme for the widget.
701
+ module Theme
702
+ extend Telnyx::Internal::Type::Enum
703
+
704
+ TaggedSymbol =
705
+ T.type_alias do
706
+ T.all(
707
+ Symbol,
708
+ Telnyx::AI::Assistants::UpdateAssistant::WidgetSettings::Theme
709
+ )
710
+ end
711
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
712
+
713
+ LIGHT =
714
+ T.let(
715
+ :light,
716
+ Telnyx::AI::Assistants::UpdateAssistant::WidgetSettings::Theme::TaggedSymbol
717
+ )
718
+ DARK =
719
+ T.let(
720
+ :dark,
721
+ Telnyx::AI::Assistants::UpdateAssistant::WidgetSettings::Theme::TaggedSymbol
722
+ )
723
+
724
+ sig do
725
+ override.returns(
726
+ T::Array[
727
+ Telnyx::AI::Assistants::UpdateAssistant::WidgetSettings::Theme::TaggedSymbol
728
+ ]
729
+ )
730
+ end
731
+ def self.values
732
+ end
733
+ end
734
+ end
298
735
  end
299
736
  end
300
737
  end
@@ -9,6 +9,9 @@ module Telnyx
9
9
  T.any(Telnyx::AI::BucketIDs, Telnyx::Internal::AnyHash)
10
10
  end
11
11
 
12
+ # List of
13
+ # [embedded storage buckets](https://developers.telnyx.com/api-reference/embeddings/embed-documents)
14
+ # to use for retrieval-augmented generation.
12
15
  sig { returns(T::Array[String]) }
13
16
  attr_accessor :bucket_ids
14
17
 
@@ -26,6 +29,9 @@ module Telnyx
26
29
  ).returns(T.attached_class)
27
30
  end
28
31
  def self.new(
32
+ # List of
33
+ # [embedded storage buckets](https://developers.telnyx.com/api-reference/embeddings/embed-documents)
34
+ # to use for retrieval-augmented generation.
29
35
  bucket_ids:,
30
36
  # The maximum number of results to retrieve as context for the language model.
31
37
  max_num_results: nil
@@ -183,7 +183,7 @@ module Telnyx
183
183
  # The `function` tool type follows the same schema as the
184
184
  # [OpenAI Chat Completions API](https://platform.openai.com/docs/api-reference/chat).
185
185
  # The `retrieval` tool type is unique to Telnyx. You may pass a list of
186
- # [embedded storage buckets](https://developers.telnyx.com/api/inference/inference-embedding/post-embedding)
186
+ # [embedded storage buckets](https://developers.telnyx.com/api-reference/embeddings/embed-documents)
187
187
  # for retrieval-augmented generation.
188
188
  sig do
189
189
  returns(
@@ -330,7 +330,7 @@ module Telnyx
330
330
  # The `function` tool type follows the same schema as the
331
331
  # [OpenAI Chat Completions API](https://platform.openai.com/docs/api-reference/chat).
332
332
  # The `retrieval` tool type is unique to Telnyx. You may pass a list of
333
- # [embedded storage buckets](https://developers.telnyx.com/api/inference/inference-embedding/post-embedding)
333
+ # [embedded storage buckets](https://developers.telnyx.com/api-reference/embeddings/embed-documents)
334
334
  # for retrieval-augmented generation.
335
335
  tools: nil,
336
336
  # This is used with `logprobs`. An integer between 0 and 20 specifying the number
@@ -827,14 +827,10 @@ module Telnyx
827
827
  )
828
828
  end
829
829
 
830
- sig { returns(Telnyx::AI::InferenceEmbeddingBucketIDs) }
830
+ sig { returns(Telnyx::AI::BucketIDs) }
831
831
  attr_reader :retrieval
832
832
 
833
- sig do
834
- params(
835
- retrieval: Telnyx::AI::InferenceEmbeddingBucketIDs::OrHash
836
- ).void
837
- end
833
+ sig { params(retrieval: Telnyx::AI::BucketIDs::OrHash).void }
838
834
  attr_writer :retrieval
839
835
 
840
836
  sig { returns(Symbol) }
@@ -842,7 +838,7 @@ module Telnyx
842
838
 
843
839
  sig do
844
840
  params(
845
- retrieval: Telnyx::AI::InferenceEmbeddingBucketIDs::OrHash,
841
+ retrieval: Telnyx::AI::BucketIDs::OrHash,
846
842
  type: Symbol
847
843
  ).returns(T.attached_class)
848
844
  end
@@ -851,10 +847,7 @@ module Telnyx
851
847
 
852
848
  sig do
853
849
  override.returns(
854
- {
855
- retrieval: Telnyx::AI::InferenceEmbeddingBucketIDs,
856
- type: Symbol
857
- }
850
+ { retrieval: Telnyx::AI::BucketIDs, type: Symbol }
858
851
  )
859
852
  end
860
853
  def to_hash