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
@@ -11,7 +11,7 @@ module Telnyx
11
11
 
12
12
  discriminator :type
13
13
 
14
- variant :webhook, -> { Telnyx::AI::WebhookTool }
14
+ variant :webhook, -> { Telnyx::AI::AssistantTool::Webhook }
15
15
 
16
16
  variant :retrieval, -> { Telnyx::AI::RetrievalTool }
17
17
 
@@ -20,7 +20,7 @@ module Telnyx
20
20
 
21
21
  variant :hangup, -> { Telnyx::AI::HangupTool }
22
22
 
23
- variant :transfer, -> { Telnyx::AI::TransferTool }
23
+ variant :transfer, -> { Telnyx::AI::AssistantTool::Transfer }
24
24
 
25
25
  variant :refer, -> { Telnyx::AI::AssistantTool::Refer }
26
26
 
@@ -29,6 +29,300 @@ module Telnyx
29
29
  # The send_message tool allows the assistant to send SMS or MMS messages to the end user. The 'to' and 'from' addresses are automatically determined from the conversation context, and the message text is generated by the assistant.
30
30
  variant :send_message, -> { Telnyx::AI::AssistantTool::SendMessage }
31
31
 
32
+ class Webhook < Telnyx::Internal::Type::BaseModel
33
+ # @!attribute type
34
+ #
35
+ # @return [Symbol, :webhook]
36
+ required :type, const: :webhook
37
+
38
+ # @!attribute webhook
39
+ #
40
+ # @return [Telnyx::Models::AI::AssistantTool::Webhook::Webhook]
41
+ required :webhook, -> { Telnyx::AI::AssistantTool::Webhook::Webhook }
42
+
43
+ # @!method initialize(webhook:, type: :webhook)
44
+ # @param webhook [Telnyx::Models::AI::AssistantTool::Webhook::Webhook]
45
+ # @param type [Symbol, :webhook]
46
+
47
+ # @see Telnyx::Models::AI::AssistantTool::Webhook#webhook
48
+ class Webhook < Telnyx::Internal::Type::BaseModel
49
+ # @!attribute description
50
+ # The description of the tool.
51
+ #
52
+ # @return [String]
53
+ required :description, String
54
+
55
+ # @!attribute name
56
+ # The name of the tool.
57
+ #
58
+ # @return [String]
59
+ required :name, String
60
+
61
+ # @!attribute url
62
+ # The URL of the external tool to be called. This URL is going to be used by the
63
+ # assistant. The URL can be templated like: `https://example.com/api/v1/{id}`,
64
+ # where `{id}` is a placeholder for a value that will be provided by the assistant
65
+ # if `path_parameters` are provided with the `id` attribute.
66
+ #
67
+ # @return [String]
68
+ required :url, String
69
+
70
+ # @!attribute async
71
+ # If async, the assistant will move forward without waiting for your server to
72
+ # respond.
73
+ #
74
+ # @return [Boolean, nil]
75
+ optional :async, Telnyx::Internal::Type::Boolean
76
+
77
+ # @!attribute body_parameters
78
+ # The body parameters the webhook tool accepts, described as a JSON Schema object.
79
+ # These parameters will be passed to the webhook as the body of the request. See
80
+ # the [JSON Schema reference](https://json-schema.org/understanding-json-schema)
81
+ # for documentation about the format
82
+ #
83
+ # @return [Telnyx::Models::AI::AssistantTool::Webhook::Webhook::BodyParameters, nil]
84
+ optional :body_parameters, -> { Telnyx::AI::AssistantTool::Webhook::Webhook::BodyParameters }
85
+
86
+ # @!attribute headers
87
+ # The headers to be sent to the external tool.
88
+ #
89
+ # @return [Array<Telnyx::Models::AI::AssistantTool::Webhook::Webhook::Header>, nil]
90
+ optional :headers,
91
+ -> { Telnyx::Internal::Type::ArrayOf[Telnyx::AI::AssistantTool::Webhook::Webhook::Header] }
92
+
93
+ # @!attribute method_
94
+ # The HTTP method to be used when calling the external tool.
95
+ #
96
+ # @return [Symbol, Telnyx::Models::AI::AssistantTool::Webhook::Webhook::Method, nil]
97
+ optional :method_,
98
+ enum: -> {
99
+ Telnyx::AI::AssistantTool::Webhook::Webhook::Method
100
+ },
101
+ api_name: :method
102
+
103
+ # @!attribute path_parameters
104
+ # The path parameters the webhook tool accepts, described as a JSON Schema object.
105
+ # These parameters will be passed to the webhook as the path of the request if the
106
+ # URL contains a placeholder for a value. See the
107
+ # [JSON Schema reference](https://json-schema.org/understanding-json-schema) for
108
+ # documentation about the format
109
+ #
110
+ # @return [Telnyx::Models::AI::AssistantTool::Webhook::Webhook::PathParameters, nil]
111
+ optional :path_parameters, -> { Telnyx::AI::AssistantTool::Webhook::Webhook::PathParameters }
112
+
113
+ # @!attribute query_parameters
114
+ # The query parameters the webhook tool accepts, described as a JSON Schema
115
+ # object. These parameters will be passed to the webhook as the query of the
116
+ # request. See the
117
+ # [JSON Schema reference](https://json-schema.org/understanding-json-schema) for
118
+ # documentation about the format
119
+ #
120
+ # @return [Telnyx::Models::AI::AssistantTool::Webhook::Webhook::QueryParameters, nil]
121
+ optional :query_parameters, -> { Telnyx::AI::AssistantTool::Webhook::Webhook::QueryParameters }
122
+
123
+ # @!attribute timeout_ms
124
+ # The maximum number of milliseconds to wait for the webhook to respond. Only
125
+ # applicable when async is false.
126
+ #
127
+ # @return [Integer, nil]
128
+ optional :timeout_ms, Integer
129
+
130
+ # @!method initialize(description:, name:, url:, async: nil, body_parameters: nil, headers: nil, method_: nil, path_parameters: nil, query_parameters: nil, timeout_ms: nil)
131
+ # Some parameter documentations has been truncated, see
132
+ # {Telnyx::Models::AI::AssistantTool::Webhook::Webhook} for more details.
133
+ #
134
+ # @param description [String] The description of the tool.
135
+ #
136
+ # @param name [String] The name of the tool.
137
+ #
138
+ # @param url [String] The URL of the external tool to be called. This URL is going to be used by the a
139
+ #
140
+ # @param async [Boolean] If async, the assistant will move forward without waiting for your server to res
141
+ #
142
+ # @param body_parameters [Telnyx::Models::AI::AssistantTool::Webhook::Webhook::BodyParameters] The body parameters the webhook tool accepts, described as a JSON Schema object.
143
+ #
144
+ # @param headers [Array<Telnyx::Models::AI::AssistantTool::Webhook::Webhook::Header>] The headers to be sent to the external tool.
145
+ #
146
+ # @param method_ [Symbol, Telnyx::Models::AI::AssistantTool::Webhook::Webhook::Method] The HTTP method to be used when calling the external tool.
147
+ #
148
+ # @param path_parameters [Telnyx::Models::AI::AssistantTool::Webhook::Webhook::PathParameters] The path parameters the webhook tool accepts, described as a JSON Schema object.
149
+ #
150
+ # @param query_parameters [Telnyx::Models::AI::AssistantTool::Webhook::Webhook::QueryParameters] The query parameters the webhook tool accepts, described as a JSON Schema object
151
+ #
152
+ # @param timeout_ms [Integer] The maximum number of milliseconds to wait for the webhook to respond. Only appl
153
+
154
+ # @see Telnyx::Models::AI::AssistantTool::Webhook::Webhook#body_parameters
155
+ class BodyParameters < Telnyx::Internal::Type::BaseModel
156
+ # @!attribute properties
157
+ # The properties of the body parameters.
158
+ #
159
+ # @return [Hash{Symbol=>Object}, nil]
160
+ optional :properties, Telnyx::Internal::Type::HashOf[Telnyx::Internal::Type::Unknown]
161
+
162
+ # @!attribute required
163
+ # The required properties of the body parameters.
164
+ #
165
+ # @return [Array<String>, nil]
166
+ optional :required, Telnyx::Internal::Type::ArrayOf[String]
167
+
168
+ # @!attribute type
169
+ #
170
+ # @return [Symbol, Telnyx::Models::AI::AssistantTool::Webhook::Webhook::BodyParameters::Type, nil]
171
+ optional :type, enum: -> { Telnyx::AI::AssistantTool::Webhook::Webhook::BodyParameters::Type }
172
+
173
+ # @!method initialize(properties: nil, required: nil, type: nil)
174
+ # The body parameters the webhook tool accepts, described as a JSON Schema object.
175
+ # These parameters will be passed to the webhook as the body of the request. See
176
+ # the [JSON Schema reference](https://json-schema.org/understanding-json-schema)
177
+ # for documentation about the format
178
+ #
179
+ # @param properties [Hash{Symbol=>Object}] The properties of the body parameters.
180
+ #
181
+ # @param required [Array<String>] The required properties of the body parameters.
182
+ #
183
+ # @param type [Symbol, Telnyx::Models::AI::AssistantTool::Webhook::Webhook::BodyParameters::Type]
184
+
185
+ # @see Telnyx::Models::AI::AssistantTool::Webhook::Webhook::BodyParameters#type
186
+ module Type
187
+ extend Telnyx::Internal::Type::Enum
188
+
189
+ OBJECT = :object
190
+
191
+ # @!method self.values
192
+ # @return [Array<Symbol>]
193
+ end
194
+ end
195
+
196
+ class Header < Telnyx::Internal::Type::BaseModel
197
+ # @!attribute name
198
+ #
199
+ # @return [String, nil]
200
+ optional :name, String
201
+
202
+ # @!attribute value
203
+ # The value of the header. Note that we support mustache templating for the value.
204
+ # For example you can use
205
+ # `Bearer {{#integration_secret}}test-secret{{/integration_secret}}` to pass the
206
+ # value of the integration secret as the bearer token.
207
+ # [Telnyx signature headers](https://developers.telnyx.com/docs/voice/programmable-voice/voice-api-webhooks)
208
+ # will be automatically added to the request.
209
+ #
210
+ # @return [String, nil]
211
+ optional :value, String
212
+
213
+ # @!method initialize(name: nil, value: nil)
214
+ # Some parameter documentations has been truncated, see
215
+ # {Telnyx::Models::AI::AssistantTool::Webhook::Webhook::Header} for more details.
216
+ #
217
+ # @param name [String]
218
+ #
219
+ # @param value [String] The value of the header. Note that we support mustache templating for the value.
220
+ end
221
+
222
+ # The HTTP method to be used when calling the external tool.
223
+ #
224
+ # @see Telnyx::Models::AI::AssistantTool::Webhook::Webhook#method_
225
+ module Method
226
+ extend Telnyx::Internal::Type::Enum
227
+
228
+ GET = :GET
229
+ POST = :POST
230
+ PUT = :PUT
231
+ DELETE = :DELETE
232
+ PATCH = :PATCH
233
+
234
+ # @!method self.values
235
+ # @return [Array<Symbol>]
236
+ end
237
+
238
+ # @see Telnyx::Models::AI::AssistantTool::Webhook::Webhook#path_parameters
239
+ class PathParameters < Telnyx::Internal::Type::BaseModel
240
+ # @!attribute properties
241
+ # The properties of the path parameters.
242
+ #
243
+ # @return [Hash{Symbol=>Object}, nil]
244
+ optional :properties, Telnyx::Internal::Type::HashOf[Telnyx::Internal::Type::Unknown]
245
+
246
+ # @!attribute required
247
+ # The required properties of the path parameters.
248
+ #
249
+ # @return [Array<String>, nil]
250
+ optional :required, Telnyx::Internal::Type::ArrayOf[String]
251
+
252
+ # @!attribute type
253
+ #
254
+ # @return [Symbol, Telnyx::Models::AI::AssistantTool::Webhook::Webhook::PathParameters::Type, nil]
255
+ optional :type, enum: -> { Telnyx::AI::AssistantTool::Webhook::Webhook::PathParameters::Type }
256
+
257
+ # @!method initialize(properties: nil, required: nil, type: nil)
258
+ # The path parameters the webhook tool accepts, described as a JSON Schema object.
259
+ # These parameters will be passed to the webhook as the path of the request if the
260
+ # URL contains a placeholder for a value. See the
261
+ # [JSON Schema reference](https://json-schema.org/understanding-json-schema) for
262
+ # documentation about the format
263
+ #
264
+ # @param properties [Hash{Symbol=>Object}] The properties of the path parameters.
265
+ #
266
+ # @param required [Array<String>] The required properties of the path parameters.
267
+ #
268
+ # @param type [Symbol, Telnyx::Models::AI::AssistantTool::Webhook::Webhook::PathParameters::Type]
269
+
270
+ # @see Telnyx::Models::AI::AssistantTool::Webhook::Webhook::PathParameters#type
271
+ module Type
272
+ extend Telnyx::Internal::Type::Enum
273
+
274
+ OBJECT = :object
275
+
276
+ # @!method self.values
277
+ # @return [Array<Symbol>]
278
+ end
279
+ end
280
+
281
+ # @see Telnyx::Models::AI::AssistantTool::Webhook::Webhook#query_parameters
282
+ class QueryParameters < Telnyx::Internal::Type::BaseModel
283
+ # @!attribute properties
284
+ # The properties of the query parameters.
285
+ #
286
+ # @return [Hash{Symbol=>Object}, nil]
287
+ optional :properties, Telnyx::Internal::Type::HashOf[Telnyx::Internal::Type::Unknown]
288
+
289
+ # @!attribute required
290
+ # The required properties of the query parameters.
291
+ #
292
+ # @return [Array<String>, nil]
293
+ optional :required, Telnyx::Internal::Type::ArrayOf[String]
294
+
295
+ # @!attribute type
296
+ #
297
+ # @return [Symbol, Telnyx::Models::AI::AssistantTool::Webhook::Webhook::QueryParameters::Type, nil]
298
+ optional :type, enum: -> { Telnyx::AI::AssistantTool::Webhook::Webhook::QueryParameters::Type }
299
+
300
+ # @!method initialize(properties: nil, required: nil, type: nil)
301
+ # The query parameters the webhook tool accepts, described as a JSON Schema
302
+ # object. These parameters will be passed to the webhook as the query of the
303
+ # request. See the
304
+ # [JSON Schema reference](https://json-schema.org/understanding-json-schema) for
305
+ # documentation about the format
306
+ #
307
+ # @param properties [Hash{Symbol=>Object}] The properties of the query parameters.
308
+ #
309
+ # @param required [Array<String>] The required properties of the query parameters.
310
+ #
311
+ # @param type [Symbol, Telnyx::Models::AI::AssistantTool::Webhook::Webhook::QueryParameters::Type]
312
+
313
+ # @see Telnyx::Models::AI::AssistantTool::Webhook::Webhook::QueryParameters#type
314
+ module Type
315
+ extend Telnyx::Internal::Type::Enum
316
+
317
+ OBJECT = :object
318
+
319
+ # @!method self.values
320
+ # @return [Array<Symbol>]
321
+ end
322
+ end
323
+ end
324
+ end
325
+
32
326
  class Handoff < Telnyx::Internal::Type::BaseModel
33
327
  # @!attribute handoff
34
328
  #
@@ -111,6 +405,109 @@ module Telnyx
111
405
  end
112
406
  end
113
407
 
408
+ class Transfer < Telnyx::Internal::Type::BaseModel
409
+ # @!attribute transfer
410
+ #
411
+ # @return [Telnyx::Models::AI::AssistantTool::Transfer::Transfer]
412
+ required :transfer, -> { Telnyx::AI::AssistantTool::Transfer::Transfer }
413
+
414
+ # @!attribute type
415
+ #
416
+ # @return [Symbol, :transfer]
417
+ required :type, const: :transfer
418
+
419
+ # @!method initialize(transfer:, type: :transfer)
420
+ # @param transfer [Telnyx::Models::AI::AssistantTool::Transfer::Transfer]
421
+ # @param type [Symbol, :transfer]
422
+
423
+ # @see Telnyx::Models::AI::AssistantTool::Transfer#transfer
424
+ class Transfer < Telnyx::Internal::Type::BaseModel
425
+ # @!attribute from
426
+ # Number or SIP URI placing the call.
427
+ #
428
+ # @return [String]
429
+ required :from, String
430
+
431
+ # @!attribute targets
432
+ # The different possible targets of the transfer. The assistant will be able to
433
+ # choose one of the targets to transfer the call to.
434
+ #
435
+ # @return [Array<Telnyx::Models::AI::AssistantTool::Transfer::Transfer::Target>]
436
+ required :targets,
437
+ -> { Telnyx::Internal::Type::ArrayOf[Telnyx::AI::AssistantTool::Transfer::Transfer::Target] }
438
+
439
+ # @!attribute custom_headers
440
+ # Custom headers to be added to the SIP INVITE for the transfer command.
441
+ #
442
+ # @return [Array<Telnyx::Models::AI::AssistantTool::Transfer::Transfer::CustomHeader>, nil]
443
+ optional :custom_headers,
444
+ -> { Telnyx::Internal::Type::ArrayOf[Telnyx::AI::AssistantTool::Transfer::Transfer::CustomHeader] }
445
+
446
+ # @!attribute warm_transfer_instructions
447
+ # Natural language instructions for your agent for how to provide context for the
448
+ # transfer recipient.
449
+ #
450
+ # @return [String, nil]
451
+ optional :warm_transfer_instructions, String
452
+
453
+ # @!method initialize(from:, targets:, custom_headers: nil, warm_transfer_instructions: nil)
454
+ # Some parameter documentations has been truncated, see
455
+ # {Telnyx::Models::AI::AssistantTool::Transfer::Transfer} for more details.
456
+ #
457
+ # @param from [String] Number or SIP URI placing the call.
458
+ #
459
+ # @param targets [Array<Telnyx::Models::AI::AssistantTool::Transfer::Transfer::Target>] The different possible targets of the transfer. The assistant will be able to ch
460
+ #
461
+ # @param custom_headers [Array<Telnyx::Models::AI::AssistantTool::Transfer::Transfer::CustomHeader>] Custom headers to be added to the SIP INVITE for the transfer command.
462
+ #
463
+ # @param warm_transfer_instructions [String] Natural language instructions for your agent for how to provide context for the
464
+
465
+ class Target < Telnyx::Internal::Type::BaseModel
466
+ # @!attribute name
467
+ # The name of the target.
468
+ #
469
+ # @return [String, nil]
470
+ optional :name, String
471
+
472
+ # @!attribute to
473
+ # The destination number or SIP URI of the call.
474
+ #
475
+ # @return [String, nil]
476
+ optional :to, String
477
+
478
+ # @!method initialize(name: nil, to: nil)
479
+ # @param name [String] The name of the target.
480
+ #
481
+ # @param to [String] The destination number or SIP URI of the call.
482
+ end
483
+
484
+ class CustomHeader < Telnyx::Internal::Type::BaseModel
485
+ # @!attribute name
486
+ #
487
+ # @return [String, nil]
488
+ optional :name, String
489
+
490
+ # @!attribute value
491
+ # The value of the header. Note that we support mustache templating for the value.
492
+ # For example you can use
493
+ # `{{#integration_secret}}test-secret{{/integration_secret}}` to pass the value of
494
+ # the integration secret.
495
+ #
496
+ # @return [String, nil]
497
+ optional :value, String
498
+
499
+ # @!method initialize(name: nil, value: nil)
500
+ # Some parameter documentations has been truncated, see
501
+ # {Telnyx::Models::AI::AssistantTool::Transfer::Transfer::CustomHeader} for more
502
+ # details.
503
+ #
504
+ # @param name [String]
505
+ #
506
+ # @param value [String] The value of the header. Note that we support mustache templating for the value.
507
+ end
508
+ end
509
+ end
510
+
114
511
  class Refer < Telnyx::Internal::Type::BaseModel
115
512
  # @!attribute refer
116
513
  #
@@ -294,7 +691,7 @@ module Telnyx
294
691
  end
295
692
 
296
693
  # @!method self.variants
297
- # @return [Array(Telnyx::Models::AI::WebhookTool, Telnyx::Models::AI::RetrievalTool, Telnyx::Models::AI::AssistantTool::Handoff, Telnyx::Models::AI::HangupTool, Telnyx::Models::AI::TransferTool, Telnyx::Models::AI::AssistantTool::Refer, Telnyx::Models::AI::AssistantTool::SendDtmf, Telnyx::Models::AI::AssistantTool::SendMessage)]
694
+ # @return [Array(Telnyx::Models::AI::AssistantTool::Webhook, Telnyx::Models::AI::RetrievalTool, Telnyx::Models::AI::AssistantTool::Handoff, Telnyx::Models::AI::HangupTool, Telnyx::Models::AI::AssistantTool::Transfer, Telnyx::Models::AI::AssistantTool::Refer, Telnyx::Models::AI::AssistantTool::SendDtmf, Telnyx::Models::AI::AssistantTool::SendMessage)]
298
695
  end
299
696
  end
300
697
  end
@@ -36,7 +36,10 @@ module Telnyx
36
36
  # @!attribute greeting
37
37
  # Text that the assistant will use to start the conversation. This may be
38
38
  # templated with
39
- # [dynamic variables](https://developers.telnyx.com/docs/inference/ai-assistants/dynamic-variables)
39
+ # [dynamic variables](https://developers.telnyx.com/docs/inference/ai-assistants/dynamic-variables).
40
+ # Use an empty string to have the assistant wait for the user to speak first. Use
41
+ # the special value `<assistant-speaks-first-with-model-generated-message>` to
42
+ # have the assistant generate the greeting based on the system instructions.
40
43
  #
41
44
  # @return [String, nil]
42
45
  optional :greeting, String
@@ -56,7 +59,7 @@ module Telnyx
56
59
  # @!attribute llm_api_key_ref
57
60
  # This is only needed when using third-party inference providers. The `identifier`
58
61
  # for an integration secret
59
- # [/v2/integration_secrets](https://developers.telnyx.com/api/secrets-manager/integration-secrets/create-integration-secret)
62
+ # [/v2/integration_secrets](https://developers.telnyx.com/api-reference/integration-secrets/create-a-secret)
60
63
  # that refers to your LLM provider's API key. Warning: Free plans are unlikely to
61
64
  # work with this integration.
62
65
  #
@@ -70,7 +73,7 @@ module Telnyx
70
73
 
71
74
  # @!attribute model
72
75
  # ID of the model to use. You can use the
73
- # [Get models API](https://developers.telnyx.com/api/inference/inference-embedding/get-models-public-models-get)
76
+ # [Get models API](https://developers.telnyx.com/api-reference/chat/get-available-models)
74
77
  # to see all of your available models,
75
78
  #
76
79
  # @return [String, nil]
@@ -102,7 +105,7 @@ module Telnyx
102
105
  # The tools that the assistant can use. These may be templated with
103
106
  # [dynamic variables](https://developers.telnyx.com/docs/inference/ai-assistants/dynamic-variables)
104
107
  #
105
- # @return [Array<Telnyx::Models::AI::WebhookTool, Telnyx::Models::AI::RetrievalTool, Telnyx::Models::AI::AssistantTool::Handoff, Telnyx::Models::AI::HangupTool, Telnyx::Models::AI::TransferTool, Telnyx::Models::AI::AssistantTool::Refer, Telnyx::Models::AI::AssistantTool::SendDtmf, Telnyx::Models::AI::AssistantTool::SendMessage>, nil]
108
+ # @return [Array<Telnyx::Models::AI::AssistantTool::Webhook, Telnyx::Models::AI::RetrievalTool, Telnyx::Models::AI::AssistantTool::Handoff, Telnyx::Models::AI::HangupTool, Telnyx::Models::AI::AssistantTool::Transfer, Telnyx::Models::AI::AssistantTool::Refer, Telnyx::Models::AI::AssistantTool::SendDtmf, Telnyx::Models::AI::AssistantTool::SendMessage>, nil]
106
109
  optional :tools, -> { Telnyx::Internal::Type::ArrayOf[union: Telnyx::AI::AssistantTool] }
107
110
 
108
111
  # @!attribute transcription
@@ -115,7 +118,13 @@ module Telnyx
115
118
  # @return [Telnyx::Models::AI::VoiceSettings, nil]
116
119
  optional :voice_settings, -> { Telnyx::AI::VoiceSettings }
117
120
 
118
- # @!method initialize(description: nil, dynamic_variables: nil, dynamic_variables_webhook_url: nil, enabled_features: nil, greeting: nil, insight_settings: nil, instructions: nil, llm_api_key_ref: nil, messaging_settings: nil, model: nil, name: nil, privacy_settings: nil, promote_to_main: nil, telephony_settings: nil, tools: nil, transcription: nil, voice_settings: nil, request_options: {})
121
+ # @!attribute widget_settings
122
+ # Configuration settings for the assistant's web widget.
123
+ #
124
+ # @return [Telnyx::Models::AI::AssistantUpdateParams::WidgetSettings, nil]
125
+ optional :widget_settings, -> { Telnyx::AI::AssistantUpdateParams::WidgetSettings }
126
+
127
+ # @!method initialize(description: nil, dynamic_variables: nil, dynamic_variables_webhook_url: nil, enabled_features: nil, greeting: nil, insight_settings: nil, instructions: nil, llm_api_key_ref: nil, messaging_settings: nil, model: nil, name: nil, privacy_settings: nil, promote_to_main: nil, telephony_settings: nil, tools: nil, transcription: nil, voice_settings: nil, widget_settings: nil, request_options: {})
119
128
  # Some parameter documentations has been truncated, see
120
129
  # {Telnyx::Models::AI::AssistantUpdateParams} for more details.
121
130
  #
@@ -147,13 +156,185 @@ module Telnyx
147
156
  #
148
157
  # @param telephony_settings [Telnyx::Models::AI::TelephonySettings]
149
158
  #
150
- # @param tools [Array<Telnyx::Models::AI::WebhookTool, Telnyx::Models::AI::RetrievalTool, Telnyx::Models::AI::AssistantTool::Handoff, Telnyx::Models::AI::HangupTool, Telnyx::Models::AI::TransferTool, Telnyx::Models::AI::AssistantTool::Refer, Telnyx::Models::AI::AssistantTool::SendDtmf, Telnyx::Models::AI::AssistantTool::SendMessage>] The tools that the assistant can use. These may be templated with [dynamic varia
159
+ # @param tools [Array<Telnyx::Models::AI::AssistantTool::Webhook, Telnyx::Models::AI::RetrievalTool, Telnyx::Models::AI::AssistantTool::Handoff, Telnyx::Models::AI::HangupTool, Telnyx::Models::AI::AssistantTool::Transfer, Telnyx::Models::AI::AssistantTool::Refer, Telnyx::Models::AI::AssistantTool::SendDtmf, Telnyx::Models::AI::AssistantTool::SendMessage>] The tools that the assistant can use. These may be templated with [dynamic varia
151
160
  #
152
161
  # @param transcription [Telnyx::Models::AI::TranscriptionSettings]
153
162
  #
154
163
  # @param voice_settings [Telnyx::Models::AI::VoiceSettings]
155
164
  #
165
+ # @param widget_settings [Telnyx::Models::AI::AssistantUpdateParams::WidgetSettings] Configuration settings for the assistant's web widget.
166
+ #
156
167
  # @param request_options [Telnyx::RequestOptions, Hash{Symbol=>Object}]
168
+
169
+ class WidgetSettings < Telnyx::Internal::Type::BaseModel
170
+ # @!attribute agent_thinking_text
171
+ # Text displayed while the agent is processing.
172
+ #
173
+ # @return [String, nil]
174
+ optional :agent_thinking_text, String
175
+
176
+ # @!attribute audio_visualizer_config
177
+ #
178
+ # @return [Telnyx::Models::AI::AssistantUpdateParams::WidgetSettings::AudioVisualizerConfig, nil]
179
+ optional :audio_visualizer_config,
180
+ -> { Telnyx::AI::AssistantUpdateParams::WidgetSettings::AudioVisualizerConfig }
181
+
182
+ # @!attribute default_state
183
+ # The default state of the widget.
184
+ #
185
+ # @return [Symbol, Telnyx::Models::AI::AssistantUpdateParams::WidgetSettings::DefaultState, nil]
186
+ optional :default_state, enum: -> { Telnyx::AI::AssistantUpdateParams::WidgetSettings::DefaultState }
187
+
188
+ # @!attribute give_feedback_url
189
+ # URL for users to give feedback.
190
+ #
191
+ # @return [String, nil]
192
+ optional :give_feedback_url, String, nil?: true
193
+
194
+ # @!attribute logo_icon_url
195
+ # URL to a custom logo icon for the widget.
196
+ #
197
+ # @return [String, nil]
198
+ optional :logo_icon_url, String, nil?: true
199
+
200
+ # @!attribute position
201
+ # The positioning style for the widget.
202
+ #
203
+ # @return [Symbol, Telnyx::Models::AI::AssistantUpdateParams::WidgetSettings::Position, nil]
204
+ optional :position, enum: -> { Telnyx::AI::AssistantUpdateParams::WidgetSettings::Position }
205
+
206
+ # @!attribute report_issue_url
207
+ # URL for users to report issues.
208
+ #
209
+ # @return [String, nil]
210
+ optional :report_issue_url, String, nil?: true
211
+
212
+ # @!attribute speak_to_interrupt_text
213
+ # Text prompting users to speak to interrupt.
214
+ #
215
+ # @return [String, nil]
216
+ optional :speak_to_interrupt_text, String
217
+
218
+ # @!attribute start_call_text
219
+ # Custom text displayed on the start call button.
220
+ #
221
+ # @return [String, nil]
222
+ optional :start_call_text, String
223
+
224
+ # @!attribute theme
225
+ # The visual theme for the widget.
226
+ #
227
+ # @return [Symbol, Telnyx::Models::AI::AssistantUpdateParams::WidgetSettings::Theme, nil]
228
+ optional :theme, enum: -> { Telnyx::AI::AssistantUpdateParams::WidgetSettings::Theme }
229
+
230
+ # @!attribute view_history_url
231
+ # URL to view conversation history.
232
+ #
233
+ # @return [String, nil]
234
+ optional :view_history_url, String, nil?: true
235
+
236
+ # @!method initialize(agent_thinking_text: nil, audio_visualizer_config: nil, default_state: nil, give_feedback_url: nil, logo_icon_url: nil, position: nil, report_issue_url: nil, speak_to_interrupt_text: nil, start_call_text: nil, theme: nil, view_history_url: nil)
237
+ # Configuration settings for the assistant's web widget.
238
+ #
239
+ # @param agent_thinking_text [String] Text displayed while the agent is processing.
240
+ #
241
+ # @param audio_visualizer_config [Telnyx::Models::AI::AssistantUpdateParams::WidgetSettings::AudioVisualizerConfig]
242
+ #
243
+ # @param default_state [Symbol, Telnyx::Models::AI::AssistantUpdateParams::WidgetSettings::DefaultState] The default state of the widget.
244
+ #
245
+ # @param give_feedback_url [String, nil] URL for users to give feedback.
246
+ #
247
+ # @param logo_icon_url [String, nil] URL to a custom logo icon for the widget.
248
+ #
249
+ # @param position [Symbol, Telnyx::Models::AI::AssistantUpdateParams::WidgetSettings::Position] The positioning style for the widget.
250
+ #
251
+ # @param report_issue_url [String, nil] URL for users to report issues.
252
+ #
253
+ # @param speak_to_interrupt_text [String] Text prompting users to speak to interrupt.
254
+ #
255
+ # @param start_call_text [String] Custom text displayed on the start call button.
256
+ #
257
+ # @param theme [Symbol, Telnyx::Models::AI::AssistantUpdateParams::WidgetSettings::Theme] The visual theme for the widget.
258
+ #
259
+ # @param view_history_url [String, nil] URL to view conversation history.
260
+
261
+ # @see Telnyx::Models::AI::AssistantUpdateParams::WidgetSettings#audio_visualizer_config
262
+ class AudioVisualizerConfig < Telnyx::Internal::Type::BaseModel
263
+ # @!attribute color
264
+ # The color theme for the audio visualizer.
265
+ #
266
+ # @return [Symbol, Telnyx::Models::AI::AssistantUpdateParams::WidgetSettings::AudioVisualizerConfig::Color, nil]
267
+ optional :color,
268
+ enum: -> { Telnyx::AI::AssistantUpdateParams::WidgetSettings::AudioVisualizerConfig::Color }
269
+
270
+ # @!attribute preset
271
+ # The preset style for the audio visualizer.
272
+ #
273
+ # @return [String, nil]
274
+ optional :preset, String
275
+
276
+ # @!method initialize(color: nil, preset: nil)
277
+ # @param color [Symbol, Telnyx::Models::AI::AssistantUpdateParams::WidgetSettings::AudioVisualizerConfig::Color] The color theme for the audio visualizer.
278
+ #
279
+ # @param preset [String] The preset style for the audio visualizer.
280
+
281
+ # The color theme for the audio visualizer.
282
+ #
283
+ # @see Telnyx::Models::AI::AssistantUpdateParams::WidgetSettings::AudioVisualizerConfig#color
284
+ module Color
285
+ extend Telnyx::Internal::Type::Enum
286
+
287
+ VERDANT = :verdant
288
+ TWILIGHT = :twilight
289
+ BLOOM = :bloom
290
+ MYSTIC = :mystic
291
+ FLARE = :flare
292
+ GLACIER = :glacier
293
+
294
+ # @!method self.values
295
+ # @return [Array<Symbol>]
296
+ end
297
+ end
298
+
299
+ # The default state of the widget.
300
+ #
301
+ # @see Telnyx::Models::AI::AssistantUpdateParams::WidgetSettings#default_state
302
+ module DefaultState
303
+ extend Telnyx::Internal::Type::Enum
304
+
305
+ EXPANDED = :expanded
306
+ COLLAPSED = :collapsed
307
+
308
+ # @!method self.values
309
+ # @return [Array<Symbol>]
310
+ end
311
+
312
+ # The positioning style for the widget.
313
+ #
314
+ # @see Telnyx::Models::AI::AssistantUpdateParams::WidgetSettings#position
315
+ module Position
316
+ extend Telnyx::Internal::Type::Enum
317
+
318
+ FIXED = :fixed
319
+ STATIC = :static
320
+
321
+ # @!method self.values
322
+ # @return [Array<Symbol>]
323
+ end
324
+
325
+ # The visual theme for the widget.
326
+ #
327
+ # @see Telnyx::Models::AI::AssistantUpdateParams::WidgetSettings#theme
328
+ module Theme
329
+ extend Telnyx::Internal::Type::Enum
330
+
331
+ LIGHT = :light
332
+ DARK = :dark
333
+
334
+ # @!method self.values
335
+ # @return [Array<Symbol>]
336
+ end
337
+ end
157
338
  end
158
339
  end
159
340
  end