telnyx 5.0.0 → 5.2.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 (289) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +46 -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 +17 -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 +17 -6
  11. data/lib/telnyx/models/ai/assistants/update_assistant.rb +17 -6
  12. data/lib/telnyx/models/ai/audio_visualizer_config.rb +43 -0
  13. data/lib/telnyx/models/ai/bucket_ids.rb +7 -1
  14. data/lib/telnyx/models/ai/chat_create_completion_params.rb +4 -4
  15. data/lib/telnyx/models/ai/inference_embedding.rb +17 -6
  16. data/lib/telnyx/models/ai/messaging_settings.rb +10 -1
  17. data/lib/telnyx/models/ai/retrieval_tool.rb +3 -3
  18. data/lib/telnyx/models/ai/telephony_settings.rb +142 -1
  19. data/lib/telnyx/models/ai/transfer_tool.rb +46 -3
  20. data/lib/telnyx/models/ai/voice_settings.rb +1 -1
  21. data/lib/telnyx/models/ai/webhook_tool.rb +256 -3
  22. data/lib/telnyx/models/ai/widget_settings.rb +138 -0
  23. data/lib/telnyx/models/call_control_application_list_params.rb +16 -18
  24. data/lib/telnyx/models/call_event_list_params.rb +16 -18
  25. data/lib/telnyx/models/calls/action_add_ai_assistant_messages_params.rb +289 -0
  26. data/lib/telnyx/models/calls/action_add_ai_assistant_messages_response.rb +18 -0
  27. data/lib/telnyx/models/calls/action_start_noise_suppression_params.rb +7 -4
  28. data/lib/telnyx/models/conference_list_params.rb +16 -18
  29. data/lib/telnyx/models/conference_list_participants_params.rb +16 -18
  30. data/lib/telnyx/models/connection_list_active_calls_params.rb +16 -18
  31. data/lib/telnyx/models/connection_noise_suppression_details.rb +61 -0
  32. data/lib/telnyx/models/credential_connection.rb +3 -61
  33. data/lib/telnyx/models/credential_connection_create_params.rb +3 -61
  34. data/lib/telnyx/models/credential_connection_update_params.rb +3 -61
  35. data/lib/telnyx/models/fax_create_params.rb +10 -1
  36. data/lib/telnyx/models/fqdn_connection.rb +3 -60
  37. data/lib/telnyx/models/fqdn_connection_create_params.rb +3 -60
  38. data/lib/telnyx/models/fqdn_connection_update_params.rb +3 -60
  39. data/lib/telnyx/models/ip_connection.rb +3 -60
  40. data/lib/telnyx/models/ip_connection_create_params.rb +3 -60
  41. data/lib/telnyx/models/ip_connection_update_params.rb +3 -60
  42. data/lib/telnyx/models/messaging_10dlc/brand_retrieve_sms_otp_status_params.rb +1 -9
  43. data/lib/telnyx/models/messaging_profile.rb +11 -1
  44. data/lib/telnyx/models/messaging_profile_create_params.rb +11 -1
  45. data/lib/telnyx/models/messaging_profile_update_params.rb +11 -1
  46. data/lib/telnyx/models/messaging_tollfree/verification/tf_verification_request.rb +14 -1
  47. data/lib/telnyx/models/messaging_tollfree/verification/verification_request_egress.rb +17 -1
  48. data/lib/telnyx/models/messaging_tollfree/verification/verification_request_status.rb +17 -1
  49. data/lib/telnyx/models/organizations/user_get_groups_report_params.rb +32 -0
  50. data/lib/telnyx/models/organizations/user_get_groups_report_response.rb +110 -0
  51. data/lib/telnyx/models/organizations/user_group_reference.rb +28 -0
  52. data/lib/telnyx/models/organizations/user_list_params.rb +73 -0
  53. data/lib/telnyx/models/organizations/user_list_response.rb +96 -0
  54. data/lib/telnyx/models/organizations/user_retrieve_params.rb +29 -0
  55. data/lib/telnyx/models/organizations/user_retrieve_response.rb +107 -0
  56. data/lib/telnyx/models/organizations/users/action_remove_params.rb +18 -0
  57. data/lib/telnyx/models/organizations/users/action_remove_response.rb +111 -0
  58. data/lib/telnyx/models/private_wireless_gateway_status.rb +3 -2
  59. data/lib/telnyx/models/queues/call_list_params.rb +16 -18
  60. data/lib/telnyx/models/sim_card_list_params.rb +11 -3
  61. data/lib/telnyx/models/texml/accounts/queue_list_params.rb +64 -0
  62. data/lib/telnyx/models/texml/accounts/queue_list_response.rb +155 -0
  63. data/lib/telnyx/models/unsafe_unwrap_webhook_event.rb +1 -7
  64. data/lib/telnyx/models/unwrap_webhook_event.rb +1 -7
  65. data/lib/telnyx/models.rb +4 -6
  66. data/lib/telnyx/resources/ai/assistants/tools.rb +2 -2
  67. data/lib/telnyx/resources/ai/assistants/versions.rb +18 -16
  68. data/lib/telnyx/resources/ai/assistants.rb +15 -9
  69. data/lib/telnyx/resources/ai/clusters.rb +1 -1
  70. data/lib/telnyx/resources/ai/embeddings.rb +1 -1
  71. data/lib/telnyx/resources/bundle_pricing/user_bundles.rb +1 -1
  72. data/lib/telnyx/resources/call_control_applications.rb +8 -4
  73. data/lib/telnyx/resources/call_events.rb +8 -4
  74. data/lib/telnyx/resources/calls/actions.rb +31 -0
  75. data/lib/telnyx/resources/conferences.rb +16 -8
  76. data/lib/telnyx/resources/connections.rb +8 -4
  77. data/lib/telnyx/resources/credential_connections.rb +2 -2
  78. data/lib/telnyx/resources/faxes.rb +3 -1
  79. data/lib/telnyx/resources/fqdn_connections.rb +2 -2
  80. data/lib/telnyx/resources/ip_connections.rb +2 -2
  81. data/lib/telnyx/resources/messages.rb +1 -1
  82. data/lib/telnyx/resources/messaging_10dlc/brand.rb +10 -14
  83. data/lib/telnyx/resources/messaging_profiles/autoresp_configs.rb +6 -6
  84. data/lib/telnyx/resources/messaging_profiles.rb +6 -2
  85. data/lib/telnyx/resources/messaging_tollfree/verification/requests.rb +6 -2
  86. data/lib/telnyx/resources/operator_connect/actions.rb +1 -1
  87. data/lib/telnyx/resources/organizations/users/actions.rb +38 -0
  88. data/lib/telnyx/resources/organizations/users.rb +114 -0
  89. data/lib/telnyx/resources/organizations.rb +18 -0
  90. data/lib/telnyx/resources/phone_numbers/jobs.rb +1 -1
  91. data/lib/telnyx/resources/queues/calls.rb +8 -4
  92. data/lib/telnyx/resources/sim_cards/actions.rb +6 -6
  93. data/lib/telnyx/resources/texml/accounts/calls/recordings.rb +1 -1
  94. data/lib/telnyx/resources/texml/accounts/queues.rb +41 -0
  95. data/lib/telnyx/resources/usage_reports.rb +2 -2
  96. data/lib/telnyx/resources/webhooks.rb +2 -2
  97. data/lib/telnyx/version.rb +1 -1
  98. data/lib/telnyx.rb +19 -69
  99. data/rbi/telnyx/client.rbi +3 -0
  100. data/rbi/telnyx/models/ai/assistant.rbi +91 -5
  101. data/rbi/telnyx/models/ai/assistant_create_params.rbi +31 -14
  102. data/rbi/telnyx/models/ai/assistant_imports_params.rbi +13 -0
  103. data/rbi/telnyx/models/ai/assistant_tool.rbi +910 -2
  104. data/rbi/telnyx/models/ai/assistant_update_params.rbi +31 -14
  105. data/rbi/telnyx/models/ai/assistants/update_assistant.rbi +36 -17
  106. data/rbi/telnyx/models/ai/audio_visualizer_config.rbi +107 -0
  107. data/rbi/telnyx/models/ai/bucket_ids.rbi +6 -0
  108. data/rbi/telnyx/models/ai/chat_create_completion_params.rbi +6 -13
  109. data/rbi/telnyx/models/ai/inference_embedding.rbi +30 -13
  110. data/rbi/telnyx/models/ai/messaging_settings.rbi +13 -0
  111. data/rbi/telnyx/models/ai/retrieval_tool.rbi +4 -8
  112. data/rbi/telnyx/models/ai/telephony_settings.rbi +347 -3
  113. data/rbi/telnyx/models/ai/transfer_tool.rbi +87 -6
  114. data/rbi/telnyx/models/ai/voice_settings.rbi +2 -2
  115. data/rbi/telnyx/models/ai/webhook_tool.rbi +584 -8
  116. data/rbi/telnyx/models/ai/widget_settings.rbi +225 -0
  117. data/rbi/telnyx/models/call_control_application_list_params.rbi +23 -35
  118. data/rbi/telnyx/models/call_event_list_params.rbi +23 -35
  119. data/rbi/telnyx/models/calls/action_add_ai_assistant_messages_params.rbi +583 -0
  120. data/rbi/telnyx/models/calls/action_add_ai_assistant_messages_response.rbi +39 -0
  121. data/rbi/telnyx/models/calls/action_start_noise_suppression_params.rbi +14 -6
  122. data/rbi/telnyx/models/conference_list_params.rbi +23 -35
  123. data/rbi/telnyx/models/conference_list_participants_params.rbi +23 -35
  124. data/rbi/telnyx/models/connection_list_active_calls_params.rbi +23 -35
  125. data/rbi/telnyx/models/connection_noise_suppression_details.rbi +141 -0
  126. data/rbi/telnyx/models/credential_connection.rbi +4 -152
  127. data/rbi/telnyx/models/credential_connection_create_params.rbi +4 -154
  128. data/rbi/telnyx/models/credential_connection_update_params.rbi +4 -154
  129. data/rbi/telnyx/models/fax_create_params.rbi +13 -0
  130. data/rbi/telnyx/models/fqdn_connection.rbi +4 -150
  131. data/rbi/telnyx/models/fqdn_connection_create_params.rbi +4 -152
  132. data/rbi/telnyx/models/fqdn_connection_update_params.rbi +4 -152
  133. data/rbi/telnyx/models/ip_connection.rbi +4 -148
  134. data/rbi/telnyx/models/ip_connection_create_params.rbi +4 -152
  135. data/rbi/telnyx/models/ip_connection_update_params.rbi +4 -152
  136. data/rbi/telnyx/models/messaging_10dlc/brand_retrieve_sms_otp_status_params.rbi +5 -21
  137. data/rbi/telnyx/models/messaging_profile.rbi +15 -0
  138. data/rbi/telnyx/models/messaging_profile_create_params.rbi +15 -0
  139. data/rbi/telnyx/models/messaging_profile_update_params.rbi +15 -0
  140. data/rbi/telnyx/models/messaging_tollfree/verification/tf_verification_request.rbi +12 -0
  141. data/rbi/telnyx/models/messaging_tollfree/verification/verification_request_egress.rbi +10 -0
  142. data/rbi/telnyx/models/messaging_tollfree/verification/verification_request_status.rbi +10 -0
  143. data/rbi/telnyx/models/organizations/user_get_groups_report_params.rbi +93 -0
  144. data/rbi/telnyx/models/organizations/user_get_groups_report_response.rbi +210 -0
  145. data/rbi/telnyx/models/organizations/user_group_reference.rbi +39 -0
  146. data/rbi/telnyx/models/organizations/user_list_params.rbi +152 -0
  147. data/rbi/telnyx/models/organizations/user_list_response.rbi +188 -0
  148. data/rbi/telnyx/models/organizations/user_retrieve_params.rbi +55 -0
  149. data/rbi/telnyx/models/organizations/user_retrieve_response.rbi +232 -0
  150. data/rbi/telnyx/models/organizations/users/action_remove_params.rbi +34 -0
  151. data/rbi/telnyx/models/organizations/users/action_remove_response.rbi +239 -0
  152. data/rbi/telnyx/models/private_wireless_gateway_status.rbi +4 -2
  153. data/rbi/telnyx/models/queues/call_list_params.rbi +23 -35
  154. data/rbi/telnyx/models/sim_card_list_params.rbi +14 -3
  155. data/rbi/telnyx/models/texml/accounts/queue_list_params.rbi +103 -0
  156. data/rbi/telnyx/models/texml/accounts/queue_list_response.rbi +269 -0
  157. data/rbi/telnyx/models/unsafe_unwrap_webhook_event.rbi +0 -3
  158. data/rbi/telnyx/models/unwrap_webhook_event.rbi +0 -3
  159. data/rbi/telnyx/models.rbi +5 -6
  160. data/rbi/telnyx/resources/ai/assistants/tools.rbi +2 -2
  161. data/rbi/telnyx/resources/ai/assistants/versions.rbi +25 -19
  162. data/rbi/telnyx/resources/ai/assistants.rbi +30 -14
  163. data/rbi/telnyx/resources/ai/chat.rbi +1 -1
  164. data/rbi/telnyx/resources/ai/clusters.rbi +1 -1
  165. data/rbi/telnyx/resources/ai/embeddings.rbi +1 -1
  166. data/rbi/telnyx/resources/bundle_pricing/user_bundles.rbi +1 -1
  167. data/rbi/telnyx/resources/call_control_applications.rbi +7 -1
  168. data/rbi/telnyx/resources/call_events.rbi +5 -1
  169. data/rbi/telnyx/resources/calls/actions.rbi +37 -2
  170. data/rbi/telnyx/resources/conferences.rbi +10 -2
  171. data/rbi/telnyx/resources/connections.rbi +5 -1
  172. data/rbi/telnyx/resources/credential_connections.rbi +2 -2
  173. data/rbi/telnyx/resources/faxes.rbi +4 -0
  174. data/rbi/telnyx/resources/fqdn_connections.rbi +2 -2
  175. data/rbi/telnyx/resources/ip_connections.rbi +2 -2
  176. data/rbi/telnyx/resources/messages.rbi +1 -1
  177. data/rbi/telnyx/resources/messaging_10dlc/brand.rbi +8 -11
  178. data/rbi/telnyx/resources/messaging_profiles/autoresp_configs.rbi +6 -6
  179. data/rbi/telnyx/resources/messaging_profiles.rbi +10 -0
  180. data/rbi/telnyx/resources/messaging_tollfree/verification/requests.rbi +10 -0
  181. data/rbi/telnyx/resources/operator_connect/actions.rbi +1 -1
  182. data/rbi/telnyx/resources/organizations/users/actions.rbi +32 -0
  183. data/rbi/telnyx/resources/organizations/users.rbi +88 -0
  184. data/rbi/telnyx/resources/organizations.rbi +15 -0
  185. data/rbi/telnyx/resources/phone_numbers/jobs.rbi +1 -1
  186. data/rbi/telnyx/resources/queues/calls.rbi +5 -1
  187. data/rbi/telnyx/resources/sim_cards/actions.rbi +6 -6
  188. data/rbi/telnyx/resources/sim_cards.rbi +1 -1
  189. data/rbi/telnyx/resources/texml/accounts/calls/recordings.rbi +1 -1
  190. data/rbi/telnyx/resources/texml/accounts/queues.rbi +32 -0
  191. data/rbi/telnyx/resources/usage_reports.rbi +2 -2
  192. data/rbi/telnyx/resources/webhooks.rbi +0 -6
  193. data/sig/telnyx/client.rbs +2 -0
  194. data/sig/telnyx/models/ai/assistant.rbs +44 -1
  195. data/sig/telnyx/models/ai/assistant_create_params.rbs +10 -1
  196. data/sig/telnyx/models/ai/assistant_imports_params.rbs +8 -1
  197. data/sig/telnyx/models/ai/assistant_tool.rbs +367 -2
  198. data/sig/telnyx/models/ai/assistant_update_params.rbs +10 -1
  199. data/sig/telnyx/models/ai/assistants/update_assistant.rbs +12 -3
  200. data/sig/telnyx/models/ai/audio_visualizer_config.rbs +48 -0
  201. data/sig/telnyx/models/ai/chat_create_completion_params.rbs +4 -7
  202. data/sig/telnyx/models/ai/inference_embedding.rbs +12 -3
  203. data/sig/telnyx/models/ai/messaging_settings.rbs +7 -0
  204. data/sig/telnyx/models/ai/retrieval_tool.rbs +4 -4
  205. data/sig/telnyx/models/ai/telephony_settings.rbs +133 -4
  206. data/sig/telnyx/models/ai/transfer_tool.rbs +42 -4
  207. data/sig/telnyx/models/ai/webhook_tool.rbs +241 -4
  208. data/sig/telnyx/models/ai/widget_settings.rbs +127 -0
  209. data/sig/telnyx/models/call_control_application_list_params.rbs +17 -26
  210. data/sig/telnyx/models/call_event_list_params.rbs +18 -27
  211. data/sig/telnyx/models/calls/action_add_ai_assistant_messages_params.rbs +240 -0
  212. data/sig/telnyx/models/calls/action_add_ai_assistant_messages_response.rbs +20 -0
  213. data/sig/telnyx/models/calls/action_start_noise_suppression_params.rbs +2 -1
  214. data/sig/telnyx/models/conference_list_params.rbs +17 -26
  215. data/sig/telnyx/models/conference_list_participants_params.rbs +17 -26
  216. data/sig/telnyx/models/connection_list_active_calls_params.rbs +20 -27
  217. data/sig/telnyx/models/connection_noise_suppression_details.rbs +54 -0
  218. data/sig/telnyx/models/credential_connection.rbs +6 -57
  219. data/sig/telnyx/models/credential_connection_create_params.rbs +6 -57
  220. data/sig/telnyx/models/credential_connection_update_params.rbs +6 -57
  221. data/sig/telnyx/models/fax_create_params.rbs +7 -0
  222. data/sig/telnyx/models/fqdn_connection.rbs +6 -57
  223. data/sig/telnyx/models/fqdn_connection_create_params.rbs +6 -57
  224. data/sig/telnyx/models/fqdn_connection_update_params.rbs +6 -57
  225. data/sig/telnyx/models/ip_connection.rbs +6 -57
  226. data/sig/telnyx/models/ip_connection_create_params.rbs +6 -57
  227. data/sig/telnyx/models/ip_connection_update_params.rbs +6 -57
  228. data/sig/telnyx/models/messaging_10dlc/brand_retrieve_sms_otp_status_params.rbs +3 -13
  229. data/sig/telnyx/models/messaging_profile.rbs +7 -0
  230. data/sig/telnyx/models/messaging_profile_create_params.rbs +7 -0
  231. data/sig/telnyx/models/messaging_profile_update_params.rbs +7 -0
  232. data/sig/telnyx/models/messaging_tollfree/verification/tf_verification_request.rbs +5 -0
  233. data/sig/telnyx/models/messaging_tollfree/verification/verification_request_egress.rbs +5 -0
  234. data/sig/telnyx/models/messaging_tollfree/verification/verification_request_status.rbs +5 -0
  235. data/sig/telnyx/models/organizations/user_get_groups_report_params.rbs +43 -0
  236. data/sig/telnyx/models/organizations/user_get_groups_report_response.rbs +92 -0
  237. data/sig/telnyx/models/organizations/user_group_reference.rbs +17 -0
  238. data/sig/telnyx/models/organizations/user_list_params.rbs +72 -0
  239. data/sig/telnyx/models/organizations/user_list_response.rbs +87 -0
  240. data/sig/telnyx/models/organizations/user_retrieve_params.rbs +27 -0
  241. data/sig/telnyx/models/organizations/user_retrieve_response.rbs +106 -0
  242. data/sig/telnyx/models/organizations/users/action_remove_params.rbs +19 -0
  243. data/sig/telnyx/models/organizations/users/action_remove_response.rbs +110 -0
  244. data/sig/telnyx/models/queues/call_list_params.rbs +20 -27
  245. data/sig/telnyx/models/sim_card_list_params.rbs +7 -0
  246. data/sig/telnyx/models/texml/accounts/queue_list_params.rbs +60 -0
  247. data/sig/telnyx/models/texml/accounts/queue_list_response.rbs +152 -0
  248. data/sig/telnyx/models/unsafe_unwrap_webhook_event.rbs +0 -3
  249. data/sig/telnyx/models/unwrap_webhook_event.rbs +0 -3
  250. data/sig/telnyx/models.rbs +4 -6
  251. data/sig/telnyx/resources/ai/assistants/versions.rbs +1 -0
  252. data/sig/telnyx/resources/ai/assistants.rbs +3 -0
  253. data/sig/telnyx/resources/call_control_applications.rbs +3 -1
  254. data/sig/telnyx/resources/call_events.rbs +3 -1
  255. data/sig/telnyx/resources/calls/actions.rbs +8 -0
  256. data/sig/telnyx/resources/conferences.rbs +6 -2
  257. data/sig/telnyx/resources/connections.rbs +3 -1
  258. data/sig/telnyx/resources/credential_connections.rbs +2 -2
  259. data/sig/telnyx/resources/faxes.rbs +1 -0
  260. data/sig/telnyx/resources/fqdn_connections.rbs +2 -2
  261. data/sig/telnyx/resources/ip_connections.rbs +2 -2
  262. data/sig/telnyx/resources/messaging_10dlc/brand.rbs +1 -2
  263. data/sig/telnyx/resources/messaging_profiles.rbs +2 -0
  264. data/sig/telnyx/resources/messaging_tollfree/verification/requests.rbs +2 -0
  265. data/sig/telnyx/resources/organizations/users/actions.rbs +16 -0
  266. data/sig/telnyx/resources/organizations/users.rbs +31 -0
  267. data/sig/telnyx/resources/organizations.rbs +9 -0
  268. data/sig/telnyx/resources/queues/calls.rbs +3 -1
  269. data/sig/telnyx/resources/texml/accounts/queues.rbs +10 -0
  270. data/sig/telnyx/resources/webhooks.rbs +0 -6
  271. metadata +59 -20
  272. data/lib/telnyx/models/ai/inference_embedding_bucket_ids.rb +0 -31
  273. data/lib/telnyx/models/ai/inference_embedding_transfer_tool_params.rb +0 -93
  274. data/lib/telnyx/models/ai/inference_embedding_webhook_tool_params.rb +0 -265
  275. data/lib/telnyx/models/streaming_failed_webhook_event.rb +0 -15
  276. data/lib/telnyx/models/streaming_started_webhook_event.rb +0 -15
  277. data/lib/telnyx/models/streaming_stopped_webhook_event.rb +0 -15
  278. data/rbi/telnyx/models/ai/inference_embedding_bucket_ids.rbi +0 -54
  279. data/rbi/telnyx/models/ai/inference_embedding_transfer_tool_params.rbi +0 -185
  280. data/rbi/telnyx/models/ai/inference_embedding_webhook_tool_params.rbi +0 -621
  281. data/rbi/telnyx/models/streaming_failed_webhook_event.rbi +0 -30
  282. data/rbi/telnyx/models/streaming_started_webhook_event.rbi +0 -30
  283. data/rbi/telnyx/models/streaming_stopped_webhook_event.rbi +0 -30
  284. data/sig/telnyx/models/ai/inference_embedding_bucket_ids.rbs +0 -26
  285. data/sig/telnyx/models/ai/inference_embedding_transfer_tool_params.rbs +0 -75
  286. data/sig/telnyx/models/ai/inference_embedding_webhook_tool_params.rbs +0 -242
  287. data/sig/telnyx/models/streaming_failed_webhook_event.rbs +0 -15
  288. data/sig/telnyx/models/streaming_started_webhook_event.rbs +0 -16
  289. data/sig/telnyx/models/streaming_stopped_webhook_event.rbs +0 -16
@@ -140,7 +140,7 @@ module Telnyx
140
140
  # The `function` tool type follows the same schema as the
141
141
  # [OpenAI Chat Completions API](https://platform.openai.com/docs/api-reference/chat).
142
142
  # The `retrieval` tool type is unique to Telnyx. You may pass a list of
143
- # [embedded storage buckets](https://developers.telnyx.com/api/inference/inference-embedding/post-embedding)
143
+ # [embedded storage buckets](https://developers.telnyx.com/api-reference/embeddings/embed-documents)
144
144
  # for retrieval-augmented generation.
145
145
  #
146
146
  # @return [Array<Telnyx::Models::AI::ChatCreateCompletionParams::Tool::Function, Telnyx::Models::AI::ChatCreateCompletionParams::Tool::Retrieval>, nil]
@@ -389,8 +389,8 @@ module Telnyx
389
389
  class Retrieval < Telnyx::Internal::Type::BaseModel
390
390
  # @!attribute retrieval
391
391
  #
392
- # @return [Telnyx::Models::AI::InferenceEmbeddingBucketIDs]
393
- required :retrieval, -> { Telnyx::AI::InferenceEmbeddingBucketIDs }
392
+ # @return [Telnyx::Models::AI::BucketIDs]
393
+ required :retrieval, -> { Telnyx::AI::BucketIDs }
394
394
 
395
395
  # @!attribute type
396
396
  #
@@ -398,7 +398,7 @@ module Telnyx
398
398
  required :type, const: :retrieval
399
399
 
400
400
  # @!method initialize(retrieval:, type: :retrieval)
401
- # @param retrieval [Telnyx::Models::AI::InferenceEmbeddingBucketIDs]
401
+ # @param retrieval [Telnyx::Models::AI::BucketIDs]
402
402
  # @param type [Symbol, :retrieval]
403
403
  end
404
404
 
@@ -24,7 +24,7 @@ module Telnyx
24
24
 
25
25
  # @!attribute model
26
26
  # ID of the model to use. You can use the
27
- # [Get models API](https://developers.telnyx.com/api/inference/inference-embedding/get-models-public-models-get)
27
+ # [Get models API](https://developers.telnyx.com/api-reference/chat/get-available-models)
28
28
  # to see all of your available models,
29
29
  #
30
30
  # @return [String]
@@ -63,7 +63,10 @@ module Telnyx
63
63
  # @!attribute greeting
64
64
  # Text that the assistant will use to start the conversation. This may be
65
65
  # templated with
66
- # [dynamic variables](https://developers.telnyx.com/docs/inference/ai-assistants/dynamic-variables)
66
+ # [dynamic variables](https://developers.telnyx.com/docs/inference/ai-assistants/dynamic-variables).
67
+ # Use an empty string to have the assistant wait for the user to speak first. Use
68
+ # the special value `<assistant-speaks-first-with-model-generated-message>` to
69
+ # have the assistant generate the greeting based on the system instructions.
67
70
  #
68
71
  # @return [String, nil]
69
72
  optional :greeting, String
@@ -81,7 +84,7 @@ module Telnyx
81
84
  # @!attribute llm_api_key_ref
82
85
  # This is only needed when using third-party inference providers. The `identifier`
83
86
  # for an integration secret
84
- # [/v2/integration_secrets](https://developers.telnyx.com/api/secrets-manager/integration-secrets/create-integration-secret)
87
+ # [/v2/integration_secrets](https://developers.telnyx.com/api-reference/integration-secrets/create-a-secret)
85
88
  # that refers to your LLM provider's API key. Warning: Free plans are unlikely to
86
89
  # work with this integration.
87
90
  #
@@ -107,7 +110,7 @@ module Telnyx
107
110
  # The tools that the assistant can use. These may be templated with
108
111
  # [dynamic variables](https://developers.telnyx.com/docs/inference/ai-assistants/dynamic-variables)
109
112
  #
110
- # @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]
113
+ # @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]
111
114
  optional :tools, -> { Telnyx::Internal::Type::ArrayOf[union: Telnyx::AI::AssistantTool] }
112
115
 
113
116
  # @!attribute transcription
@@ -120,7 +123,13 @@ module Telnyx
120
123
  # @return [Telnyx::Models::AI::VoiceSettings, nil]
121
124
  optional :voice_settings, -> { Telnyx::AI::VoiceSettings }
122
125
 
123
- # @!method initialize(id:, created_at:, instructions:, model:, name:, description: nil, dynamic_variables: nil, dynamic_variables_webhook_url: nil, enabled_features: nil, greeting: nil, import_metadata: nil, insight_settings: nil, llm_api_key_ref: nil, messaging_settings: nil, privacy_settings: nil, telephony_settings: nil, tools: nil, transcription: nil, voice_settings: nil)
126
+ # @!attribute widget_settings
127
+ # Configuration settings for the assistant's web widget.
128
+ #
129
+ # @return [Telnyx::Models::AI::WidgetSettings, nil]
130
+ optional :widget_settings, -> { Telnyx::AI::WidgetSettings }
131
+
132
+ # @!method initialize(id:, created_at:, instructions:, model:, name:, description: nil, dynamic_variables: nil, dynamic_variables_webhook_url: nil, enabled_features: nil, greeting: nil, import_metadata: nil, insight_settings: nil, llm_api_key_ref: nil, messaging_settings: nil, privacy_settings: nil, telephony_settings: nil, tools: nil, transcription: nil, voice_settings: nil, widget_settings: nil)
124
133
  # Some parameter documentations has been truncated, see
125
134
  # {Telnyx::Models::AI::InferenceEmbedding} for more details.
126
135
  #
@@ -156,11 +165,13 @@ module Telnyx
156
165
  #
157
166
  # @param telephony_settings [Telnyx::Models::AI::TelephonySettings]
158
167
  #
159
- # @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
168
+ # @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
160
169
  #
161
170
  # @param transcription [Telnyx::Models::AI::TranscriptionSettings]
162
171
  #
163
172
  # @param voice_settings [Telnyx::Models::AI::VoiceSettings]
173
+ #
174
+ # @param widget_settings [Telnyx::Models::AI::WidgetSettings] Configuration settings for the assistant's web widget.
164
175
  end
165
176
  end
166
177
  end
@@ -4,6 +4,13 @@ module Telnyx
4
4
  module Models
5
5
  module AI
6
6
  class MessagingSettings < Telnyx::Internal::Type::BaseModel
7
+ # @!attribute conversation_inactivity_minutes
8
+ # If more than this many minutes have passed since the last message, the assistant
9
+ # will start a new conversation instead of continuing the existing one.
10
+ #
11
+ # @return [Integer, nil]
12
+ optional :conversation_inactivity_minutes, Integer
13
+
7
14
  # @!attribute default_messaging_profile_id
8
15
  # Default Messaging Profile used for messaging exchanges with your assistant. This
9
16
  # will be created automatically on assistant creation.
@@ -18,10 +25,12 @@ module Telnyx
18
25
  # @return [String, nil]
19
26
  optional :delivery_status_webhook_url, String
20
27
 
21
- # @!method initialize(default_messaging_profile_id: nil, delivery_status_webhook_url: nil)
28
+ # @!method initialize(conversation_inactivity_minutes: nil, default_messaging_profile_id: nil, delivery_status_webhook_url: nil)
22
29
  # Some parameter documentations has been truncated, see
23
30
  # {Telnyx::Models::AI::MessagingSettings} for more details.
24
31
  #
32
+ # @param conversation_inactivity_minutes [Integer] If more than this many minutes have passed since the last message, the assistant
33
+ #
25
34
  # @param default_messaging_profile_id [String] Default Messaging Profile used for messaging exchanges with your assistant. This
26
35
  #
27
36
  # @param delivery_status_webhook_url [String] The URL where webhooks related to delivery statused for assistant messages will
@@ -6,8 +6,8 @@ module Telnyx
6
6
  class RetrievalTool < Telnyx::Internal::Type::BaseModel
7
7
  # @!attribute retrieval
8
8
  #
9
- # @return [Telnyx::Models::AI::InferenceEmbeddingBucketIDs]
10
- required :retrieval, -> { Telnyx::AI::InferenceEmbeddingBucketIDs }
9
+ # @return [Telnyx::Models::AI::BucketIDs]
10
+ required :retrieval, -> { Telnyx::AI::BucketIDs }
11
11
 
12
12
  # @!attribute type
13
13
  #
@@ -15,7 +15,7 @@ module Telnyx
15
15
  required :type, enum: -> { Telnyx::AI::RetrievalTool::Type }
16
16
 
17
17
  # @!method initialize(retrieval:, type:)
18
- # @param retrieval [Telnyx::Models::AI::InferenceEmbeddingBucketIDs]
18
+ # @param retrieval [Telnyx::Models::AI::BucketIDs]
19
19
  # @param type [Symbol, Telnyx::Models::AI::RetrievalTool::Type]
20
20
 
21
21
  # @see Telnyx::Models::AI::RetrievalTool#type
@@ -42,7 +42,27 @@ module Telnyx
42
42
  # @return [Integer, nil]
43
43
  optional :time_limit_secs, Integer
44
44
 
45
- # @!method initialize(default_texml_app_id: nil, noise_suppression: nil, noise_suppression_config: nil, supports_unauthenticated_web_calls: nil, time_limit_secs: nil)
45
+ # @!attribute user_idle_timeout_secs
46
+ # Maximum duration in seconds of end user silence on the call. When this limit is
47
+ # reached the assistant will be stopped. This limit does not apply to portions of
48
+ # a call without an active assistant (for instance, a call transferred to a human
49
+ # representative).
50
+ #
51
+ # @return [Integer, nil]
52
+ optional :user_idle_timeout_secs, Integer
53
+
54
+ # @!attribute voicemail_detection
55
+ # Configuration for voicemail detection (AMD - Answering Machine Detection) on
56
+ # outgoing calls. These settings only apply if AMD is enabled on the Dial command.
57
+ # See
58
+ # [TeXML Dial documentation](https://developers.telnyx.com/api-reference/texml-rest-commands/initiate-an-outbound-call)
59
+ # for enabling AMD. Recommended settings: MachineDetection=Enable, AsyncAmd=true,
60
+ # DetectionMode=Premium.
61
+ #
62
+ # @return [Telnyx::Models::AI::TelephonySettings::VoicemailDetection, nil]
63
+ optional :voicemail_detection, -> { Telnyx::AI::TelephonySettings::VoicemailDetection }
64
+
65
+ # @!method initialize(default_texml_app_id: nil, noise_suppression: nil, noise_suppression_config: nil, supports_unauthenticated_web_calls: nil, time_limit_secs: nil, user_idle_timeout_secs: nil, voicemail_detection: nil)
46
66
  # Some parameter documentations has been truncated, see
47
67
  # {Telnyx::Models::AI::TelephonySettings} for more details.
48
68
  #
@@ -55,6 +75,10 @@ module Telnyx
55
75
  # @param supports_unauthenticated_web_calls [Boolean] When enabled, allows users to interact with your AI assistant directly from your
56
76
  #
57
77
  # @param time_limit_secs [Integer] Maximum duration in seconds for the AI assistant to participate on the call. Whe
78
+ #
79
+ # @param user_idle_timeout_secs [Integer] Maximum duration in seconds of end user silence on the call. When this limit is
80
+ #
81
+ # @param voicemail_detection [Telnyx::Models::AI::TelephonySettings::VoicemailDetection] Configuration for voicemail detection (AMD - Answering Machine Detection) on out
58
82
 
59
83
  # The noise suppression engine to use. Use 'disabled' to turn off noise
60
84
  # suppression.
@@ -63,6 +87,7 @@ module Telnyx
63
87
  module NoiseSuppression
64
88
  extend Telnyx::Internal::Type::Enum
65
89
 
90
+ KRISP = :krisp
66
91
  DEEPFILTERNET = :deepfilternet
67
92
  DISABLED = :disabled
68
93
 
@@ -104,6 +129,122 @@ module Telnyx
104
129
  # @return [Array<Symbol>]
105
130
  end
106
131
  end
132
+
133
+ # @see Telnyx::Models::AI::TelephonySettings#voicemail_detection
134
+ class VoicemailDetection < Telnyx::Internal::Type::BaseModel
135
+ # @!attribute on_voicemail_detected
136
+ # Action to take when voicemail is detected.
137
+ #
138
+ # @return [Telnyx::Models::AI::TelephonySettings::VoicemailDetection::OnVoicemailDetected, nil]
139
+ optional :on_voicemail_detected,
140
+ -> { Telnyx::AI::TelephonySettings::VoicemailDetection::OnVoicemailDetected }
141
+
142
+ # @!method initialize(on_voicemail_detected: nil)
143
+ # Configuration for voicemail detection (AMD - Answering Machine Detection) on
144
+ # outgoing calls. These settings only apply if AMD is enabled on the Dial command.
145
+ # See
146
+ # [TeXML Dial documentation](https://developers.telnyx.com/api-reference/texml-rest-commands/initiate-an-outbound-call)
147
+ # for enabling AMD. Recommended settings: MachineDetection=Enable, AsyncAmd=true,
148
+ # DetectionMode=Premium.
149
+ #
150
+ # @param on_voicemail_detected [Telnyx::Models::AI::TelephonySettings::VoicemailDetection::OnVoicemailDetected] Action to take when voicemail is detected.
151
+
152
+ # @see Telnyx::Models::AI::TelephonySettings::VoicemailDetection#on_voicemail_detected
153
+ class OnVoicemailDetected < Telnyx::Internal::Type::BaseModel
154
+ # @!attribute action
155
+ # The action to take when voicemail is detected.
156
+ #
157
+ # @return [Symbol, Telnyx::Models::AI::TelephonySettings::VoicemailDetection::OnVoicemailDetected::Action, nil]
158
+ optional :action,
159
+ enum: -> { Telnyx::AI::TelephonySettings::VoicemailDetection::OnVoicemailDetected::Action }
160
+
161
+ # @!attribute voicemail_message
162
+ # Configuration for the voicemail message to leave. Only applicable when action is
163
+ # 'leave_message_and_stop_assistant'.
164
+ #
165
+ # @return [Telnyx::Models::AI::TelephonySettings::VoicemailDetection::OnVoicemailDetected::VoicemailMessage, nil]
166
+ optional :voicemail_message,
167
+ -> { Telnyx::AI::TelephonySettings::VoicemailDetection::OnVoicemailDetected::VoicemailMessage }
168
+
169
+ # @!method initialize(action: nil, voicemail_message: nil)
170
+ # Some parameter documentations has been truncated, see
171
+ # {Telnyx::Models::AI::TelephonySettings::VoicemailDetection::OnVoicemailDetected}
172
+ # for more details.
173
+ #
174
+ # Action to take when voicemail is detected.
175
+ #
176
+ # @param action [Symbol, Telnyx::Models::AI::TelephonySettings::VoicemailDetection::OnVoicemailDetected::Action] The action to take when voicemail is detected.
177
+ #
178
+ # @param voicemail_message [Telnyx::Models::AI::TelephonySettings::VoicemailDetection::OnVoicemailDetected::VoicemailMessage] Configuration for the voicemail message to leave. Only applicable when action is
179
+
180
+ # The action to take when voicemail is detected.
181
+ #
182
+ # @see Telnyx::Models::AI::TelephonySettings::VoicemailDetection::OnVoicemailDetected#action
183
+ module Action
184
+ extend Telnyx::Internal::Type::Enum
185
+
186
+ STOP_ASSISTANT = :stop_assistant
187
+ LEAVE_MESSAGE_AND_STOP_ASSISTANT = :leave_message_and_stop_assistant
188
+ CONTINUE_ASSISTANT = :continue_assistant
189
+
190
+ # @!method self.values
191
+ # @return [Array<Symbol>]
192
+ end
193
+
194
+ # @see Telnyx::Models::AI::TelephonySettings::VoicemailDetection::OnVoicemailDetected#voicemail_message
195
+ class VoicemailMessage < Telnyx::Internal::Type::BaseModel
196
+ # @!attribute message
197
+ # The specific message to leave as voicemail. Only applicable when type is
198
+ # 'message'.
199
+ #
200
+ # @return [String, nil]
201
+ optional :message, String
202
+
203
+ # @!attribute prompt
204
+ # The prompt to use for generating the voicemail message. Only applicable when
205
+ # type is 'prompt'.
206
+ #
207
+ # @return [String, nil]
208
+ optional :prompt, String
209
+
210
+ # @!attribute type
211
+ # The type of voicemail message. Use 'prompt' to have the assistant generate a
212
+ # message based on a prompt, or 'message' to leave a specific message.
213
+ #
214
+ # @return [Symbol, Telnyx::Models::AI::TelephonySettings::VoicemailDetection::OnVoicemailDetected::VoicemailMessage::Type, nil]
215
+ optional :type,
216
+ enum: -> { Telnyx::AI::TelephonySettings::VoicemailDetection::OnVoicemailDetected::VoicemailMessage::Type }
217
+
218
+ # @!method initialize(message: nil, prompt: nil, type: nil)
219
+ # Some parameter documentations has been truncated, see
220
+ # {Telnyx::Models::AI::TelephonySettings::VoicemailDetection::OnVoicemailDetected::VoicemailMessage}
221
+ # for more details.
222
+ #
223
+ # Configuration for the voicemail message to leave. Only applicable when action is
224
+ # 'leave_message_and_stop_assistant'.
225
+ #
226
+ # @param message [String] The specific message to leave as voicemail. Only applicable when type is 'messag
227
+ #
228
+ # @param prompt [String] The prompt to use for generating the voicemail message. Only applicable when typ
229
+ #
230
+ # @param type [Symbol, Telnyx::Models::AI::TelephonySettings::VoicemailDetection::OnVoicemailDetected::VoicemailMessage::Type] The type of voicemail message. Use 'prompt' to have the assistant generate a mes
231
+
232
+ # The type of voicemail message. Use 'prompt' to have the assistant generate a
233
+ # message based on a prompt, or 'message' to leave a specific message.
234
+ #
235
+ # @see Telnyx::Models::AI::TelephonySettings::VoicemailDetection::OnVoicemailDetected::VoicemailMessage#type
236
+ module Type
237
+ extend Telnyx::Internal::Type::Enum
238
+
239
+ PROMPT = :prompt
240
+ MESSAGE = :message
241
+
242
+ # @!method self.values
243
+ # @return [Array<Symbol>]
244
+ end
245
+ end
246
+ end
247
+ end
107
248
  end
108
249
  end
109
250
  end
@@ -6,8 +6,8 @@ module Telnyx
6
6
  class TransferTool < Telnyx::Internal::Type::BaseModel
7
7
  # @!attribute transfer
8
8
  #
9
- # @return [Telnyx::Models::AI::InferenceEmbeddingTransferToolParams]
10
- required :transfer, -> { Telnyx::AI::InferenceEmbeddingTransferToolParams }
9
+ # @return [Telnyx::Models::AI::TransferTool::Transfer]
10
+ required :transfer, -> { Telnyx::AI::TransferTool::Transfer }
11
11
 
12
12
  # @!attribute type
13
13
  #
@@ -15,9 +15,52 @@ module Telnyx
15
15
  required :type, enum: -> { Telnyx::AI::TransferTool::Type }
16
16
 
17
17
  # @!method initialize(transfer:, type:)
18
- # @param transfer [Telnyx::Models::AI::InferenceEmbeddingTransferToolParams]
18
+ # @param transfer [Telnyx::Models::AI::TransferTool::Transfer]
19
19
  # @param type [Symbol, Telnyx::Models::AI::TransferTool::Type]
20
20
 
21
+ # @see Telnyx::Models::AI::TransferTool#transfer
22
+ class Transfer < Telnyx::Internal::Type::BaseModel
23
+ # @!attribute from
24
+ # Number or SIP URI placing the call.
25
+ #
26
+ # @return [String]
27
+ required :from, String
28
+
29
+ # @!attribute targets
30
+ # The different possible targets of the transfer. The assistant will be able to
31
+ # choose one of the targets to transfer the call to.
32
+ #
33
+ # @return [Array<Telnyx::Models::AI::TransferTool::Transfer::Target>]
34
+ required :targets, -> { Telnyx::Internal::Type::ArrayOf[Telnyx::AI::TransferTool::Transfer::Target] }
35
+
36
+ # @!method initialize(from:, targets:)
37
+ # Some parameter documentations has been truncated, see
38
+ # {Telnyx::Models::AI::TransferTool::Transfer} for more details.
39
+ #
40
+ # @param from [String] Number or SIP URI placing the call.
41
+ #
42
+ # @param targets [Array<Telnyx::Models::AI::TransferTool::Transfer::Target>] The different possible targets of the transfer. The assistant will be able to ch
43
+
44
+ class Target < Telnyx::Internal::Type::BaseModel
45
+ # @!attribute name
46
+ # The name of the target.
47
+ #
48
+ # @return [String, nil]
49
+ optional :name, String
50
+
51
+ # @!attribute to
52
+ # The destination number or SIP URI of the call.
53
+ #
54
+ # @return [String, nil]
55
+ optional :to, String
56
+
57
+ # @!method initialize(name: nil, to: nil)
58
+ # @param name [String] The name of the target.
59
+ #
60
+ # @param to [String] The destination number or SIP URI of the call.
61
+ end
62
+ end
63
+
21
64
  # @see Telnyx::Models::AI::TransferTool#type
22
65
  module Type
23
66
  extend Telnyx::Internal::Type::Enum
@@ -9,7 +9,7 @@ module Telnyx
9
9
  # [available voices](https://developers.telnyx.com/api/call-control/list-text-to-speech-voices)
10
10
  # via our voices API. To use ElevenLabs, you must reference your ElevenLabs API
11
11
  # key as an integration secret under the `api_key_ref` field. See
12
- # [integration secrets documentation](https://developers.telnyx.com/api/secrets-manager/integration-secrets/create-integration-secret)
12
+ # [integration secrets documentation](https://developers.telnyx.com/api-reference/integration-secrets/create-a-secret)
13
13
  # for details. For Telnyx voices, use `Telnyx.<model_id>.<voice_id>` (e.g.
14
14
  # Telnyx.KokoroTTS.af_heart)
15
15
  #
@@ -11,12 +11,12 @@ module Telnyx
11
11
 
12
12
  # @!attribute webhook
13
13
  #
14
- # @return [Telnyx::Models::AI::InferenceEmbeddingWebhookToolParams]
15
- required :webhook, -> { Telnyx::AI::InferenceEmbeddingWebhookToolParams }
14
+ # @return [Telnyx::Models::AI::WebhookTool::Webhook]
15
+ required :webhook, -> { Telnyx::AI::WebhookTool::Webhook }
16
16
 
17
17
  # @!method initialize(type:, webhook:)
18
18
  # @param type [Symbol, Telnyx::Models::AI::WebhookTool::Type]
19
- # @param webhook [Telnyx::Models::AI::InferenceEmbeddingWebhookToolParams]
19
+ # @param webhook [Telnyx::Models::AI::WebhookTool::Webhook]
20
20
 
21
21
  # @see Telnyx::Models::AI::WebhookTool#type
22
22
  module Type
@@ -27,6 +27,259 @@ module Telnyx
27
27
  # @!method self.values
28
28
  # @return [Array<Symbol>]
29
29
  end
30
+
31
+ # @see Telnyx::Models::AI::WebhookTool#webhook
32
+ class Webhook < Telnyx::Internal::Type::BaseModel
33
+ # @!attribute description
34
+ # The description of the tool.
35
+ #
36
+ # @return [String]
37
+ required :description, String
38
+
39
+ # @!attribute name
40
+ # The name of the tool.
41
+ #
42
+ # @return [String]
43
+ required :name, String
44
+
45
+ # @!attribute url
46
+ # The URL of the external tool to be called. This URL is going to be used by the
47
+ # assistant. The URL can be templated like: `https://example.com/api/v1/{id}`,
48
+ # where `{id}` is a placeholder for a value that will be provided by the assistant
49
+ # if `path_parameters` are provided with the `id` attribute.
50
+ #
51
+ # @return [String]
52
+ required :url, String
53
+
54
+ # @!attribute body_parameters
55
+ # The body parameters the webhook tool accepts, described as a JSON Schema object.
56
+ # These parameters will be passed to the webhook as the body of the request. See
57
+ # the [JSON Schema reference](https://json-schema.org/understanding-json-schema)
58
+ # for documentation about the format
59
+ #
60
+ # @return [Telnyx::Models::AI::WebhookTool::Webhook::BodyParameters, nil]
61
+ optional :body_parameters, -> { Telnyx::AI::WebhookTool::Webhook::BodyParameters }
62
+
63
+ # @!attribute headers
64
+ # The headers to be sent to the external tool.
65
+ #
66
+ # @return [Array<Telnyx::Models::AI::WebhookTool::Webhook::Header>, nil]
67
+ optional :headers, -> { Telnyx::Internal::Type::ArrayOf[Telnyx::AI::WebhookTool::Webhook::Header] }
68
+
69
+ # @!attribute method_
70
+ # The HTTP method to be used when calling the external tool.
71
+ #
72
+ # @return [Symbol, Telnyx::Models::AI::WebhookTool::Webhook::Method, nil]
73
+ optional :method_, enum: -> { Telnyx::AI::WebhookTool::Webhook::Method }, api_name: :method
74
+
75
+ # @!attribute path_parameters
76
+ # The path parameters the webhook tool accepts, described as a JSON Schema object.
77
+ # These parameters will be passed to the webhook as the path of the request if the
78
+ # URL contains a placeholder for a value. See the
79
+ # [JSON Schema reference](https://json-schema.org/understanding-json-schema) for
80
+ # documentation about the format
81
+ #
82
+ # @return [Telnyx::Models::AI::WebhookTool::Webhook::PathParameters, nil]
83
+ optional :path_parameters, -> { Telnyx::AI::WebhookTool::Webhook::PathParameters }
84
+
85
+ # @!attribute query_parameters
86
+ # The query parameters the webhook tool accepts, described as a JSON Schema
87
+ # object. These parameters will be passed to the webhook as the query of the
88
+ # request. See the
89
+ # [JSON Schema reference](https://json-schema.org/understanding-json-schema) for
90
+ # documentation about the format
91
+ #
92
+ # @return [Telnyx::Models::AI::WebhookTool::Webhook::QueryParameters, nil]
93
+ optional :query_parameters, -> { Telnyx::AI::WebhookTool::Webhook::QueryParameters }
94
+
95
+ # @!method initialize(description:, name:, url:, body_parameters: nil, headers: nil, method_: nil, path_parameters: nil, query_parameters: nil)
96
+ # Some parameter documentations has been truncated, see
97
+ # {Telnyx::Models::AI::WebhookTool::Webhook} for more details.
98
+ #
99
+ # @param description [String] The description of the tool.
100
+ #
101
+ # @param name [String] The name of the tool.
102
+ #
103
+ # @param url [String] The URL of the external tool to be called. This URL is going to be used by the a
104
+ #
105
+ # @param body_parameters [Telnyx::Models::AI::WebhookTool::Webhook::BodyParameters] The body parameters the webhook tool accepts, described as a JSON Schema object.
106
+ #
107
+ # @param headers [Array<Telnyx::Models::AI::WebhookTool::Webhook::Header>] The headers to be sent to the external tool.
108
+ #
109
+ # @param method_ [Symbol, Telnyx::Models::AI::WebhookTool::Webhook::Method] The HTTP method to be used when calling the external tool.
110
+ #
111
+ # @param path_parameters [Telnyx::Models::AI::WebhookTool::Webhook::PathParameters] The path parameters the webhook tool accepts, described as a JSON Schema object.
112
+ #
113
+ # @param query_parameters [Telnyx::Models::AI::WebhookTool::Webhook::QueryParameters] The query parameters the webhook tool accepts, described as a JSON Schema object
114
+
115
+ # @see Telnyx::Models::AI::WebhookTool::Webhook#body_parameters
116
+ class BodyParameters < Telnyx::Internal::Type::BaseModel
117
+ # @!attribute properties
118
+ # The properties of the body parameters.
119
+ #
120
+ # @return [Object, nil]
121
+ optional :properties, Telnyx::Internal::Type::Unknown
122
+
123
+ # @!attribute required
124
+ # The required properties of the body parameters.
125
+ #
126
+ # @return [Array<String>, nil]
127
+ optional :required, Telnyx::Internal::Type::ArrayOf[String]
128
+
129
+ # @!attribute type
130
+ #
131
+ # @return [Symbol, Telnyx::Models::AI::WebhookTool::Webhook::BodyParameters::Type, nil]
132
+ optional :type, enum: -> { Telnyx::AI::WebhookTool::Webhook::BodyParameters::Type }
133
+
134
+ # @!method initialize(properties: nil, required: nil, type: nil)
135
+ # The body parameters the webhook tool accepts, described as a JSON Schema object.
136
+ # These parameters will be passed to the webhook as the body of the request. See
137
+ # the [JSON Schema reference](https://json-schema.org/understanding-json-schema)
138
+ # for documentation about the format
139
+ #
140
+ # @param properties [Object] The properties of the body parameters.
141
+ #
142
+ # @param required [Array<String>] The required properties of the body parameters.
143
+ #
144
+ # @param type [Symbol, Telnyx::Models::AI::WebhookTool::Webhook::BodyParameters::Type]
145
+
146
+ # @see Telnyx::Models::AI::WebhookTool::Webhook::BodyParameters#type
147
+ module Type
148
+ extend Telnyx::Internal::Type::Enum
149
+
150
+ OBJECT = :object
151
+
152
+ # @!method self.values
153
+ # @return [Array<Symbol>]
154
+ end
155
+ end
156
+
157
+ class Header < Telnyx::Internal::Type::BaseModel
158
+ # @!attribute name
159
+ #
160
+ # @return [String, nil]
161
+ optional :name, String
162
+
163
+ # @!attribute value
164
+ # The value of the header. Note that we support mustache templating for the value.
165
+ # For example you can use
166
+ # `Bearer {{#integration_secret}}test-secret{{/integration_secret}}` to pass the
167
+ # value of the integration secret as the bearer token.
168
+ #
169
+ # @return [String, nil]
170
+ optional :value, String
171
+
172
+ # @!method initialize(name: nil, value: nil)
173
+ # Some parameter documentations has been truncated, see
174
+ # {Telnyx::Models::AI::WebhookTool::Webhook::Header} for more details.
175
+ #
176
+ # @param name [String]
177
+ #
178
+ # @param value [String] The value of the header. Note that we support mustache templating for the value.
179
+ end
180
+
181
+ # The HTTP method to be used when calling the external tool.
182
+ #
183
+ # @see Telnyx::Models::AI::WebhookTool::Webhook#method_
184
+ module Method
185
+ extend Telnyx::Internal::Type::Enum
186
+
187
+ GET = :GET
188
+ POST = :POST
189
+ PUT = :PUT
190
+ DELETE = :DELETE
191
+ PATCH = :PATCH
192
+
193
+ # @!method self.values
194
+ # @return [Array<Symbol>]
195
+ end
196
+
197
+ # @see Telnyx::Models::AI::WebhookTool::Webhook#path_parameters
198
+ class PathParameters < Telnyx::Internal::Type::BaseModel
199
+ # @!attribute properties
200
+ # The properties of the path parameters.
201
+ #
202
+ # @return [Object, nil]
203
+ optional :properties, Telnyx::Internal::Type::Unknown
204
+
205
+ # @!attribute required
206
+ # The required properties of the path parameters.
207
+ #
208
+ # @return [Array<String>, nil]
209
+ optional :required, Telnyx::Internal::Type::ArrayOf[String]
210
+
211
+ # @!attribute type
212
+ #
213
+ # @return [Symbol, Telnyx::Models::AI::WebhookTool::Webhook::PathParameters::Type, nil]
214
+ optional :type, enum: -> { Telnyx::AI::WebhookTool::Webhook::PathParameters::Type }
215
+
216
+ # @!method initialize(properties: nil, required: nil, type: nil)
217
+ # The path parameters the webhook tool accepts, described as a JSON Schema object.
218
+ # These parameters will be passed to the webhook as the path of the request if the
219
+ # URL contains a placeholder for a value. See the
220
+ # [JSON Schema reference](https://json-schema.org/understanding-json-schema) for
221
+ # documentation about the format
222
+ #
223
+ # @param properties [Object] The properties of the path parameters.
224
+ #
225
+ # @param required [Array<String>] The required properties of the path parameters.
226
+ #
227
+ # @param type [Symbol, Telnyx::Models::AI::WebhookTool::Webhook::PathParameters::Type]
228
+
229
+ # @see Telnyx::Models::AI::WebhookTool::Webhook::PathParameters#type
230
+ module Type
231
+ extend Telnyx::Internal::Type::Enum
232
+
233
+ OBJECT = :object
234
+
235
+ # @!method self.values
236
+ # @return [Array<Symbol>]
237
+ end
238
+ end
239
+
240
+ # @see Telnyx::Models::AI::WebhookTool::Webhook#query_parameters
241
+ class QueryParameters < Telnyx::Internal::Type::BaseModel
242
+ # @!attribute properties
243
+ # The properties of the query parameters.
244
+ #
245
+ # @return [Object, nil]
246
+ optional :properties, Telnyx::Internal::Type::Unknown
247
+
248
+ # @!attribute required
249
+ # The required properties of the query parameters.
250
+ #
251
+ # @return [Array<String>, nil]
252
+ optional :required, Telnyx::Internal::Type::ArrayOf[String]
253
+
254
+ # @!attribute type
255
+ #
256
+ # @return [Symbol, Telnyx::Models::AI::WebhookTool::Webhook::QueryParameters::Type, nil]
257
+ optional :type, enum: -> { Telnyx::AI::WebhookTool::Webhook::QueryParameters::Type }
258
+
259
+ # @!method initialize(properties: nil, required: nil, type: nil)
260
+ # The query parameters the webhook tool accepts, described as a JSON Schema
261
+ # object. These parameters will be passed to the webhook as the query of the
262
+ # request. See the
263
+ # [JSON Schema reference](https://json-schema.org/understanding-json-schema) for
264
+ # documentation about the format
265
+ #
266
+ # @param properties [Object] The properties of the query parameters.
267
+ #
268
+ # @param required [Array<String>] The required properties of the query parameters.
269
+ #
270
+ # @param type [Symbol, Telnyx::Models::AI::WebhookTool::Webhook::QueryParameters::Type]
271
+
272
+ # @see Telnyx::Models::AI::WebhookTool::Webhook::QueryParameters#type
273
+ module Type
274
+ extend Telnyx::Internal::Type::Enum
275
+
276
+ OBJECT = :object
277
+
278
+ # @!method self.values
279
+ # @return [Array<Symbol>]
280
+ end
281
+ end
282
+ end
30
283
  end
31
284
  end
32
285
  end