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