telnyx 5.168.0 → 5.169.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 (267) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +7 -0
  3. data/README.md +1 -1
  4. data/lib/telnyx/client.rb +40 -0
  5. data/lib/telnyx/internal/type/union.rb +6 -6
  6. data/lib/telnyx/models/ai/assistant_create_params.rb +6 -6
  7. data/lib/telnyx/models/ai/assistant_tool.rb +285 -12
  8. data/lib/telnyx/models/ai/assistant_update_params.rb +20 -9
  9. data/lib/telnyx/models/ai/assistants/update_assistant.rb +20 -9
  10. data/lib/telnyx/models/ai/audio_transcribe_params.rb +33 -13
  11. data/lib/telnyx/models/ai/audio_transcribe_response.rb +34 -56
  12. data/lib/telnyx/models/ai/audio_transcription_response_word.rb +74 -0
  13. data/lib/telnyx/models/ai/chat_completion_request.rb +3 -26
  14. data/lib/telnyx/models/ai/flow_node.rb +2 -2
  15. data/lib/telnyx/models/ai/inference_embedding.rb +13 -10
  16. data/lib/telnyx/models/ai/inference_embedding_interruption_settings.rb +10 -1
  17. data/lib/telnyx/models/ai/inference_embedding_webhook_tool_params.rb +21 -1
  18. data/lib/telnyx/models/ai/openai/function_definition.rb +31 -0
  19. data/lib/telnyx/models/ai/post_conversation_settings.rb +4 -4
  20. data/lib/telnyx/models/ai/post_conversation_settings_req.rb +4 -4
  21. data/lib/telnyx/models/ai/privacy_settings.rb +20 -1
  22. data/lib/telnyx/models/ai/retrieval_tool.rb +21 -1
  23. data/lib/telnyx/models/ai/telephony_settings.rb +86 -16
  24. data/lib/telnyx/models/ai/tool_node.rb +2 -2
  25. data/lib/telnyx/models/ai/transcription_settings.rb +12 -4
  26. data/lib/telnyx/models/ai/transcription_settings_config.rb +12 -11
  27. data/lib/telnyx/models/ai/typesafe/v1_systemone_params.rb +268 -0
  28. data/lib/telnyx/models/ai/typesafe/v1_systemone_response.rb +222 -0
  29. data/lib/telnyx/models/bot_challenge_create_params.rb +38 -0
  30. data/lib/telnyx/models/bot_challenge_create_response.rb +87 -0
  31. data/lib/telnyx/models/bot_session_list_params.rb +34 -0
  32. data/lib/telnyx/models/bot_session_list_response.rb +32 -0
  33. data/lib/telnyx/models/bot_signup_create_params.rb +103 -0
  34. data/lib/telnyx/models/bot_signup_resend_magic_link_params.rb +22 -0
  35. data/lib/telnyx/models/call_dial_params.rb +75 -7
  36. data/lib/telnyx/models/calls/action_transfer_params.rb +75 -7
  37. data/lib/telnyx/models/calls/transcription_config.rb +14 -3
  38. data/lib/telnyx/models/calls/transcription_engine_assemblyai_config.rb +6 -3
  39. data/lib/telnyx/models/calls/transcription_engine_parakeet_config.rb +1 -0
  40. data/lib/telnyx/models/compute/funcs/export_create_params.rb +62 -0
  41. data/lib/telnyx/models/compute/funcs/export_delete_all_params.rb +24 -0
  42. data/lib/telnyx/models/compute/funcs/export_list_params.rb +24 -0
  43. data/lib/telnyx/models/compute/funcs/func_log_export_config_response.rb +113 -0
  44. data/lib/telnyx/models/connection_retrieve_count_params.rb +14 -0
  45. data/lib/telnyx/models/connection_retrieve_count_response.rb +215 -0
  46. data/lib/telnyx/models/detail_record_list_params.rb +19 -2
  47. data/lib/telnyx/models/inbound_message_webhook_event.rb +3 -70
  48. data/lib/telnyx/models/machine_payment_account_credit_params.rb +29 -0
  49. data/lib/telnyx/models/machine_payment_account_credit_response.rb +223 -0
  50. data/lib/telnyx/models/message_retrieve_group_messages_response.rb +3 -3
  51. data/lib/telnyx/models/message_retrieve_response.rb +4 -4
  52. data/lib/telnyx/models/message_schedule_response.rb +3 -3
  53. data/lib/telnyx/models/message_send_group_mms_response.rb +3 -3
  54. data/lib/telnyx/models/message_send_long_code_response.rb +3 -3
  55. data/lib/telnyx/models/message_send_number_pool_response.rb +3 -3
  56. data/lib/telnyx/models/message_send_response.rb +3 -3
  57. data/lib/telnyx/models/message_send_short_code_response.rb +3 -3
  58. data/lib/telnyx/models/messaging_inbound_message.rb +71 -0
  59. data/lib/telnyx/models/messaging_inbound_message_payload.rb +216 -13
  60. data/lib/telnyx/models/messaging_outbound_message_payload.rb +42 -2
  61. data/lib/telnyx/models/noise_suppression_engine_list_params.rb +14 -0
  62. data/lib/telnyx/models/noise_suppression_engine_list_response.rb +50 -0
  63. data/lib/telnyx/models/number_order_status_update.rb +15 -3
  64. data/lib/telnyx/models/number_order_status_update_webhook_event.rb +15 -3
  65. data/lib/telnyx/models/outbound_message.rb +1 -0
  66. data/lib/telnyx/models/outbound_message_payload.rb +45 -5
  67. data/lib/telnyx/models/speech_to_text_retrieve_transcription_params.rb +1 -0
  68. data/lib/telnyx/models/success_response.rb +27 -0
  69. data/lib/telnyx/models/texml/accounts/call_calls_params.rb +246 -3
  70. data/lib/telnyx/models/texml/accounts/conferences/participant_participants_params.rb +82 -1
  71. data/lib/telnyx/models/texml/call_create_params.rb +78 -0
  72. data/lib/telnyx/models/texml/call_create_response.rb +55 -0
  73. data/lib/telnyx/models/texml_initiate_ai_call_params.rb +76 -1
  74. data/lib/telnyx/models/voice_clone_create_from_upload_params.rb +2 -2
  75. data/lib/telnyx/models.rb +18 -0
  76. data/lib/telnyx/resources/ai/assistants/versions.rb +1 -1
  77. data/lib/telnyx/resources/ai/assistants.rb +2 -2
  78. data/lib/telnyx/resources/ai/audio.rb +2 -2
  79. data/lib/telnyx/resources/ai/typesafe/v1.rb +62 -0
  80. data/lib/telnyx/resources/ai/typesafe.rb +22 -0
  81. data/lib/telnyx/resources/ai.rb +4 -0
  82. data/lib/telnyx/resources/bot_challenge.rb +53 -0
  83. data/lib/telnyx/resources/bot_sessions.rb +57 -0
  84. data/lib/telnyx/resources/bot_signup.rb +97 -0
  85. data/lib/telnyx/resources/calls/actions.rb +1 -1
  86. data/lib/telnyx/resources/calls.rb +1 -1
  87. data/lib/telnyx/resources/compute/funcs/export.rb +105 -0
  88. data/lib/telnyx/resources/compute/funcs.rb +4 -0
  89. data/lib/telnyx/resources/connections.rb +20 -0
  90. data/lib/telnyx/resources/detail_records.rb +1 -1
  91. data/lib/telnyx/resources/email_messages.rb +5 -3
  92. data/lib/telnyx/resources/machine_payments.rb +73 -0
  93. data/lib/telnyx/resources/noise_suppression_engines.rb +37 -0
  94. data/lib/telnyx/resources/texml/accounts/conferences/participants.rb +15 -1
  95. data/lib/telnyx/resources/texml/calls.rb +57 -0
  96. data/lib/telnyx/resources/texml.rb +20 -1
  97. data/lib/telnyx/resources/voice_clones.rb +4 -2
  98. data/lib/telnyx/version.rb +1 -1
  99. data/lib/telnyx.rb +33 -0
  100. data/rbi/telnyx/client.rbi +35 -0
  101. data/rbi/telnyx/models/ai/assistant_create_params.rbi +16 -12
  102. data/rbi/telnyx/models/ai/assistant_tool.rbi +423 -20
  103. data/rbi/telnyx/models/ai/assistant_update_params.rbi +42 -16
  104. data/rbi/telnyx/models/ai/assistants/update_assistant.rbi +42 -16
  105. data/rbi/telnyx/models/ai/audio_transcribe_params.rbi +71 -20
  106. data/rbi/telnyx/models/ai/audio_transcribe_response.rbi +63 -97
  107. data/rbi/telnyx/models/ai/audio_transcription_response_word.rbi +108 -0
  108. data/rbi/telnyx/models/ai/chat_completion_request.rbi +4 -58
  109. data/rbi/telnyx/models/ai/flow_node.rbi +4 -2
  110. data/rbi/telnyx/models/ai/inference_embedding.rbi +24 -16
  111. data/rbi/telnyx/models/ai/inference_embedding_interruption_settings.rbi +10 -0
  112. data/rbi/telnyx/models/ai/inference_embedding_webhook_tool_params.rbi +29 -3
  113. data/rbi/telnyx/models/ai/openai/function_definition.rbi +56 -0
  114. data/rbi/telnyx/models/ai/post_conversation_settings.rbi +4 -4
  115. data/rbi/telnyx/models/ai/post_conversation_settings_req.rbi +4 -4
  116. data/rbi/telnyx/models/ai/privacy_settings.rbi +43 -3
  117. data/rbi/telnyx/models/ai/retrieval_tool.rbi +29 -3
  118. data/rbi/telnyx/models/ai/telephony_settings.rbi +174 -20
  119. data/rbi/telnyx/models/ai/tool_node.rbi +4 -2
  120. data/rbi/telnyx/models/ai/transcription_settings.rbi +25 -6
  121. data/rbi/telnyx/models/ai/transcription_settings_config.rbi +18 -16
  122. data/rbi/telnyx/models/ai/typesafe/v1_systemone_params.rbi +504 -0
  123. data/rbi/telnyx/models/ai/typesafe/v1_systemone_response.rbi +348 -0
  124. data/rbi/telnyx/models/bot_challenge_create_params.rbi +68 -0
  125. data/rbi/telnyx/models/bot_challenge_create_response.rbi +169 -0
  126. data/rbi/telnyx/models/bot_session_list_params.rbi +53 -0
  127. data/rbi/telnyx/models/bot_session_list_response.rbi +64 -0
  128. data/rbi/telnyx/models/bot_signup_create_params.rbi +179 -0
  129. data/rbi/telnyx/models/bot_signup_resend_magic_link_params.rbi +43 -0
  130. data/rbi/telnyx/models/call_dial_params.rbi +111 -10
  131. data/rbi/telnyx/models/calls/action_transfer_params.rbi +111 -10
  132. data/rbi/telnyx/models/calls/transcription_config.rbi +29 -5
  133. data/rbi/telnyx/models/calls/transcription_engine_assemblyai_config.rbi +11 -3
  134. data/rbi/telnyx/models/calls/transcription_engine_parakeet_config.rbi +5 -0
  135. data/rbi/telnyx/models/compute/funcs/export_create_params.rbi +84 -0
  136. data/rbi/telnyx/models/compute/funcs/export_delete_all_params.rbi +42 -0
  137. data/rbi/telnyx/models/compute/funcs/export_list_params.rbi +42 -0
  138. data/rbi/telnyx/models/compute/funcs/func_log_export_config_response.rbi +227 -0
  139. data/rbi/telnyx/models/connection_retrieve_count_params.rbi +30 -0
  140. data/rbi/telnyx/models/connection_retrieve_count_response.rbi +353 -0
  141. data/rbi/telnyx/models/detail_record_list_params.rbi +30 -2
  142. data/rbi/telnyx/models/inbound_message_webhook_event.rbi +4 -173
  143. data/rbi/telnyx/models/machine_payment_account_credit_params.rbi +51 -0
  144. data/rbi/telnyx/models/machine_payment_account_credit_response.rbi +446 -0
  145. data/rbi/telnyx/models/message_retrieve_group_messages_response.rbi +6 -12
  146. data/rbi/telnyx/models/message_retrieve_response.rbi +3 -3
  147. data/rbi/telnyx/models/message_schedule_response.rbi +4 -6
  148. data/rbi/telnyx/models/message_send_group_mms_response.rbi +4 -6
  149. data/rbi/telnyx/models/message_send_long_code_response.rbi +4 -6
  150. data/rbi/telnyx/models/message_send_number_pool_response.rbi +4 -6
  151. data/rbi/telnyx/models/message_send_response.rbi +4 -6
  152. data/rbi/telnyx/models/message_send_short_code_response.rbi +4 -6
  153. data/rbi/telnyx/models/messaging_inbound_message.rbi +152 -0
  154. data/rbi/telnyx/models/messaging_inbound_message_payload.rbi +477 -15
  155. data/rbi/telnyx/models/messaging_outbound_message_payload.rbi +90 -16
  156. data/rbi/telnyx/models/noise_suppression_engine_list_params.rbi +30 -0
  157. data/rbi/telnyx/models/noise_suppression_engine_list_response.rbi +94 -0
  158. data/rbi/telnyx/models/number_order_status_update.rbi +34 -3
  159. data/rbi/telnyx/models/number_order_status_update_webhook_event.rbi +39 -3
  160. data/rbi/telnyx/models/outbound_message.rbi +5 -0
  161. data/rbi/telnyx/models/outbound_message_payload.rbi +74 -4
  162. data/rbi/telnyx/models/speech_to_text_retrieve_transcription_params.rbi +5 -0
  163. data/rbi/telnyx/models/success_response.rbi +36 -0
  164. data/rbi/telnyx/models/texml/accounts/call_calls_params.rbi +339 -0
  165. data/rbi/telnyx/models/texml/accounts/conferences/participant_participants_params.rbi +111 -0
  166. data/rbi/telnyx/models/texml/call_create_params.rbi +124 -0
  167. data/rbi/telnyx/models/texml/call_create_response.rbi +98 -0
  168. data/rbi/telnyx/models/texml_initiate_ai_call_params.rbi +103 -0
  169. data/rbi/telnyx/models/voice_clone_create_from_upload_params.rbi +4 -4
  170. data/rbi/telnyx/models.rbi +21 -0
  171. data/rbi/telnyx/resources/ai/assistants/versions.rbi +19 -7
  172. data/rbi/telnyx/resources/ai/assistants.rbi +25 -12
  173. data/rbi/telnyx/resources/ai/audio.rbi +20 -9
  174. data/rbi/telnyx/resources/ai/typesafe/v1.rbi +61 -0
  175. data/rbi/telnyx/resources/ai/typesafe.rbi +19 -0
  176. data/rbi/telnyx/resources/ai.rbi +3 -0
  177. data/rbi/telnyx/resources/bot_challenge.rbi +45 -0
  178. data/rbi/telnyx/resources/bot_sessions.rbi +45 -0
  179. data/rbi/telnyx/resources/bot_signup.rbi +87 -0
  180. data/rbi/telnyx/resources/calls/actions.rbi +6 -5
  181. data/rbi/telnyx/resources/calls.rbi +6 -5
  182. data/rbi/telnyx/resources/compute/funcs/export.rbi +86 -0
  183. data/rbi/telnyx/resources/compute/funcs.rbi +3 -0
  184. data/rbi/telnyx/resources/connections.rbi +11 -0
  185. data/rbi/telnyx/resources/detail_records.rbi +12 -1
  186. data/rbi/telnyx/resources/email_messages.rbi +5 -3
  187. data/rbi/telnyx/resources/machine_payments.rbi +64 -0
  188. data/rbi/telnyx/resources/noise_suppression_engines.rbi +26 -0
  189. data/rbi/telnyx/resources/texml/accounts/conferences/participants.rbi +32 -0
  190. data/rbi/telnyx/resources/texml/calls.rbi +50 -0
  191. data/rbi/telnyx/resources/texml.rbi +36 -0
  192. data/rbi/telnyx/resources/voice_clones.rbi +4 -2
  193. data/sig/telnyx/client.rbs +10 -0
  194. data/sig/telnyx/models/ai/assistant_tool.rbs +162 -23
  195. data/sig/telnyx/models/ai/audio_transcribe_params.rbs +10 -0
  196. data/sig/telnyx/models/ai/audio_transcribe_response.rbs +29 -43
  197. data/sig/telnyx/models/ai/audio_transcription_response_word.rbs +60 -0
  198. data/sig/telnyx/models/ai/chat_completion_request.rbs +4 -35
  199. data/sig/telnyx/models/ai/inference_embedding_interruption_settings.rbs +5 -0
  200. data/sig/telnyx/models/ai/inference_embedding_webhook_tool_params.rbs +10 -3
  201. data/sig/telnyx/models/ai/openai/function_definition.rbs +34 -0
  202. data/sig/telnyx/models/ai/privacy_settings.rbs +11 -3
  203. data/sig/telnyx/models/ai/retrieval_tool.rbs +10 -3
  204. data/sig/telnyx/models/ai/telephony_settings.rbs +52 -4
  205. data/sig/telnyx/models/ai/transcription_settings.rbs +4 -0
  206. data/sig/telnyx/models/ai/typesafe/v1_systemone_params.rbs +195 -0
  207. data/sig/telnyx/models/ai/typesafe/v1_systemone_response.rbs +141 -0
  208. data/sig/telnyx/models/bot_challenge_create_params.rbs +42 -0
  209. data/sig/telnyx/models/bot_challenge_create_response.rbs +72 -0
  210. data/sig/telnyx/models/bot_session_list_params.rbs +28 -0
  211. data/sig/telnyx/models/bot_session_list_response.rbs +26 -0
  212. data/sig/telnyx/models/bot_signup_create_params.rbs +89 -0
  213. data/sig/telnyx/models/bot_signup_resend_magic_link_params.rbs +20 -0
  214. data/sig/telnyx/models/call_dial_params.rbs +49 -0
  215. data/sig/telnyx/models/calls/action_transfer_params.rbs +49 -0
  216. data/sig/telnyx/models/calls/transcription_config.rbs +4 -0
  217. data/sig/telnyx/models/calls/transcription_engine_assemblyai_config.rbs +3 -1
  218. data/sig/telnyx/models/calls/transcription_engine_parakeet_config.rbs +3 -1
  219. data/sig/telnyx/models/compute/funcs/export_create_params.rbs +50 -0
  220. data/sig/telnyx/models/compute/funcs/export_delete_all_params.rbs +27 -0
  221. data/sig/telnyx/models/compute/funcs/export_list_params.rbs +27 -0
  222. data/sig/telnyx/models/compute/funcs/func_log_export_config_response.rbs +115 -0
  223. data/sig/telnyx/models/connection_retrieve_count_params.rbs +15 -0
  224. data/sig/telnyx/models/connection_retrieve_count_response.rbs +169 -0
  225. data/sig/telnyx/models/inbound_message_webhook_event.rbs +6 -79
  226. data/sig/telnyx/models/machine_payment_account_credit_params.rbs +23 -0
  227. data/sig/telnyx/models/machine_payment_account_credit_response.rbs +164 -0
  228. data/sig/telnyx/models/message_retrieve_group_messages_response.rbs +6 -8
  229. data/sig/telnyx/models/message_retrieve_response.rbs +1 -2
  230. data/sig/telnyx/models/message_schedule_response.rbs +6 -7
  231. data/sig/telnyx/models/message_send_group_mms_response.rbs +6 -6
  232. data/sig/telnyx/models/message_send_long_code_response.rbs +6 -6
  233. data/sig/telnyx/models/message_send_number_pool_response.rbs +6 -6
  234. data/sig/telnyx/models/message_send_response.rbs +6 -7
  235. data/sig/telnyx/models/message_send_short_code_response.rbs +6 -6
  236. data/sig/telnyx/models/messaging_inbound_message.rbs +76 -0
  237. data/sig/telnyx/models/messaging_inbound_message_payload.rbs +235 -6
  238. data/sig/telnyx/models/messaging_outbound_message_payload.rbs +39 -1
  239. data/sig/telnyx/models/noise_suppression_engine_list_params.rbs +15 -0
  240. data/sig/telnyx/models/noise_suppression_engine_list_response.rbs +43 -0
  241. data/sig/telnyx/models/number_order_status_update.rbs +14 -4
  242. data/sig/telnyx/models/number_order_status_update_webhook_event.rbs +14 -4
  243. data/sig/telnyx/models/outbound_message.rbs +2 -1
  244. data/sig/telnyx/models/outbound_message_payload.rbs +45 -7
  245. data/sig/telnyx/models/speech_to_text_retrieve_transcription_params.rbs +2 -0
  246. data/sig/telnyx/models/success_response.rbs +15 -0
  247. data/sig/telnyx/models/texml/accounts/call_calls_params.rbs +159 -0
  248. data/sig/telnyx/models/texml/accounts/conferences/participant_participants_params.rbs +49 -0
  249. data/sig/telnyx/models/texml/call_create_params.rbs +72 -0
  250. data/sig/telnyx/models/texml/call_create_response.rbs +47 -0
  251. data/sig/telnyx/models/texml_initiate_ai_call_params.rbs +49 -0
  252. data/sig/telnyx/models.rbs +18 -0
  253. data/sig/telnyx/resources/ai/typesafe/v1.rbs +17 -0
  254. data/sig/telnyx/resources/ai/typesafe.rbs +11 -0
  255. data/sig/telnyx/resources/ai.rbs +2 -0
  256. data/sig/telnyx/resources/bot_challenge.rbs +14 -0
  257. data/sig/telnyx/resources/bot_sessions.rbs +13 -0
  258. data/sig/telnyx/resources/bot_signup.rbs +24 -0
  259. data/sig/telnyx/resources/compute/funcs/export.rbs +30 -0
  260. data/sig/telnyx/resources/compute/funcs.rbs +2 -0
  261. data/sig/telnyx/resources/connections.rbs +4 -0
  262. data/sig/telnyx/resources/machine_payments.rbs +12 -0
  263. data/sig/telnyx/resources/noise_suppression_engines.rbs +11 -0
  264. data/sig/telnyx/resources/texml/accounts/conferences/participants.rbs +7 -0
  265. data/sig/telnyx/resources/texml/calls.rbs +19 -0
  266. data/sig/telnyx/resources/texml.rbs +9 -0
  267. metadata +101 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 360829c3c2b34713bbae9a6a999389a66e6a7cd09004ba4a44c873472b407fe0
4
- data.tar.gz: 6d3229995295c12147c3ebd8f8beb46d88fc855ab41098c89861316721ce1687
3
+ metadata.gz: 76b412afdb06cd9324668c45647f9f1ab4045cfe7e4661987dbb3399f7d0b5d6
4
+ data.tar.gz: 1506a292fecf24c7ce4d8126f65307ed8d86c95d44dd3defa42f793be424988a
5
5
  SHA512:
6
- metadata.gz: 2c20e1e1b3c3c5776bf3c54b0d55eb4a37c26f2cb8bcb10a752fb2608f9c4ddad1c70bafbbc7364effec7693985dae05b44952e321226c66bacedd448ee7ccfe
7
- data.tar.gz: 8812060e1369748da186af9db57e077df3eee3e04c9cc076f158ebe405e98a8442991a5ac2219d4a42687deed6ed110c5d4ff2e49657ba8606a6d9b5fc113565
6
+ metadata.gz: 50bc3aab30f7bac32f7eb71dcf6b7a7998a7f72413159faf3153282d4b2facf4228d8af53f5a459bcf28a07783c6f630bc8cfa7ff23bfe093c699c34b3f22d0e
7
+ data.tar.gz: 70985f4731b3c28bea7a97a8993f5c5af3c18e94f6a69424e55853742e9593b873379f2f43fbc5aca61a12cc9e500a8f55db44a6f7637a80a8a3f00007ac0f9f
data/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # Changelog
2
2
 
3
+ ## [5.169.0](https://github.com/team-telnyx/telnyx-ruby/compare/v5.168.0...v5.169.0) (2026-09-23)
4
+
5
+
6
+ ### Features
7
+
8
+ * promote from staging 6f6d71d ([a11416d](https://github.com/team-telnyx/telnyx-ruby/commit/a11416d75ef0d775c45e8b94a7fd85e57a2a8df9))
9
+
3
10
  ## [5.168.0](https://github.com/team-telnyx/telnyx-ruby/compare/v5.167.0...v5.168.0) (2026-09-13)
4
11
 
5
12
 
data/README.md CHANGED
@@ -24,7 +24,7 @@ To use this gem, install via Bundler by adding the following to your application
24
24
  <!-- x-release-please-start-version -->
25
25
 
26
26
  ```ruby
27
- gem "telnyx", "~> 5.168.0"
27
+ gem "telnyx", "~> 5.169.0"
28
28
  ```
29
29
 
30
30
  <!-- x-release-please-end -->
data/lib/telnyx/client.rb CHANGED
@@ -738,6 +738,41 @@ module Telnyx
738
738
  # @return [Telnyx::Resources::Compute]
739
739
  attr_reader :compute
740
740
 
741
+ # Noise suppression engines that can be selected when configuring noise
742
+ # suppression on voice connections.
743
+ # @return [Telnyx::Resources::NoiseSuppressionEngines]
744
+ attr_reader :noise_suppression_engines
745
+
746
+ # Agentic (bot) signup for Telnyx accounts. An AI agent solves a reverse-CAPTCHA
747
+ # challenge designed to be easy for LLMs and hard for humans, registers an
748
+ # account, and signs in by consuming a magic link emailed to the account owner.
749
+ # All endpoints are public and unauthenticated; signup endpoints are additionally
750
+ # gated by the freemium feature flags and per-country availability.
751
+ # @return [Telnyx::Resources::BotChallenge]
752
+ attr_reader :bot_challenge
753
+
754
+ # Agentic (bot) signup for Telnyx accounts. An AI agent solves a reverse-CAPTCHA
755
+ # challenge designed to be easy for LLMs and hard for humans, registers an
756
+ # account, and signs in by consuming a magic link emailed to the account owner.
757
+ # All endpoints are public and unauthenticated; signup endpoints are additionally
758
+ # gated by the freemium feature flags and per-country availability.
759
+ # @return [Telnyx::Resources::BotSessions]
760
+ attr_reader :bot_sessions
761
+
762
+ # Agentic (bot) signup for Telnyx accounts. An AI agent solves a reverse-CAPTCHA
763
+ # challenge designed to be easy for LLMs and hard for humans, registers an
764
+ # account, and signs in by consuming a magic link emailed to the account owner.
765
+ # All endpoints are public and unauthenticated; signup endpoints are additionally
766
+ # gated by the freemium feature flags and per-country availability.
767
+ # @return [Telnyx::Resources::BotSignup]
768
+ attr_reader :bot_signup
769
+
770
+ # Machine payment (MPP) account-credit operations. Fund your Telnyx account
771
+ # programmatically from a machine or agent using the Machine Payment Protocol, an
772
+ # HTTP-402 flow settled via Stripe or Tempo.
773
+ # @return [Telnyx::Resources::MachinePayments]
774
+ attr_reader :machine_payments
775
+
741
776
  # @api private
742
777
  #
743
778
  # @return [Hash{String=>String}]
@@ -1030,6 +1065,11 @@ module Telnyx
1030
1065
  @meeting_sessions = Telnyx::Resources::MeetingSessions.new(client: self)
1031
1066
  @external_requirements = Telnyx::Resources::ExternalRequirements.new(client: self)
1032
1067
  @compute = Telnyx::Resources::Compute.new(client: self)
1068
+ @noise_suppression_engines = Telnyx::Resources::NoiseSuppressionEngines.new(client: self)
1069
+ @bot_challenge = Telnyx::Resources::BotChallenge.new(client: self)
1070
+ @bot_sessions = Telnyx::Resources::BotSessions.new(client: self)
1071
+ @bot_signup = Telnyx::Resources::BotSignup.new(client: self)
1072
+ @machine_payments = Telnyx::Resources::MachinePayments.new(client: self)
1033
1073
  end
1034
1074
  end
1035
1075
  end
@@ -8,24 +8,24 @@ module Telnyx
8
8
  # @example
9
9
  # # `assistant_tool` is a `Telnyx::AI::AssistantTool`
10
10
  # case assistant_tool
11
+ # when Telnyx::AI::AssistantTool::Function
12
+ # puts(assistant_tool.function)
11
13
  # when Telnyx::AI::InferenceEmbeddingWebhookToolParams
12
14
  # puts(assistant_tool.type)
13
15
  # when Telnyx::AI::AssistantTool::ClientSideTool
14
16
  # puts(assistant_tool.client_side_tool)
15
- # when Telnyx::AI::RetrievalTool
16
- # puts(assistant_tool.retrieval)
17
17
  # else
18
18
  # puts(assistant_tool)
19
19
  # end
20
20
  #
21
21
  # @example
22
22
  # case assistant_tool
23
- # in {type: :webhook, webhook: webhook}
23
+ # in {type: :function, function: function, shared: shared}
24
+ # puts(function)
25
+ # in {type: :webhook, webhook: webhook, shared: shared}
24
26
  # puts(webhook)
25
- # in {type: :client_side_tool, client_side_tool: client_side_tool}
27
+ # in {type: :client_side_tool, client_side_tool: client_side_tool, shared: shared}
26
28
  # puts(client_side_tool)
27
- # in {type: :retrieval, retrieval: retrieval}
28
- # puts(retrieval)
29
29
  # else
30
30
  # puts(assistant_tool)
31
31
  # end
@@ -168,10 +168,10 @@ module Telnyx
168
168
  # @!attribute post_conversation_settings
169
169
  # Configuration for post-conversation processing. When enabled, the assistant
170
170
  # receives one additional LLM turn after the conversation ends, allowing it to
171
- # execute tool calls such as logging to a CRM or sending a summary. The assistant
172
- # can execute multiple parallel or sequential tools during this phase.
173
- # Telephony-control tools (e.g. hangup, transfer) are unavailable
174
- # post-conversation. Beta feature.
171
+ # execute final tool calls such as sending a summary or updating a record via
172
+ # webhook or function tools. Integration and MCP server tools are not available
173
+ # post-conversation; call-control tools (e.g. hangup, transfer) are also
174
+ # unavailable. Beta feature.
175
175
  #
176
176
  # @return [Telnyx::Models::AI::PostConversationSettingsReq, nil]
177
177
  optional :post_conversation_settings, -> { Telnyx::AI::PostConversationSettingsReq }
@@ -205,7 +205,7 @@ module Telnyx
205
205
  # assistant. Prefer `tool_ids` to attach shared tools created with the AI Tools
206
206
  # endpoints.
207
207
  #
208
- # @return [Array<Telnyx::Models::AI::InferenceEmbeddingWebhookToolParams, Telnyx::Models::AI::AssistantTool::ClientSideTool, Telnyx::Models::AI::RetrievalTool, Telnyx::Models::AI::AssistantTool::Handoff, Telnyx::Models::AI::HangupTool, Telnyx::Models::AI::AssistantTool::Transfer, Telnyx::Models::AI::AssistantTool::Invite, Telnyx::Models::AI::AssistantTool::Refer, Telnyx::Models::AI::AssistantTool::SendDtmf, Telnyx::Models::AI::AssistantTool::SendMessage, Telnyx::Models::AI::AssistantTool::SkipTurn, Telnyx::Models::AI::AssistantTool::Pay, Telnyx::Models::AI::AssistantTool::UpdateDynamicVariables>, nil]
208
+ # @return [Array<Telnyx::Models::AI::AssistantTool::Function, Telnyx::Models::AI::InferenceEmbeddingWebhookToolParams, Telnyx::Models::AI::AssistantTool::ClientSideTool, Telnyx::Models::AI::RetrievalTool, Telnyx::Models::AI::AssistantTool::Handoff, Telnyx::Models::AI::AssistantTool::Hangup, Telnyx::Models::AI::AssistantTool::Transfer, Telnyx::Models::AI::AssistantTool::Invite, Telnyx::Models::AI::AssistantTool::Refer, Telnyx::Models::AI::AssistantTool::SendDtmf, Telnyx::Models::AI::AssistantTool::SendMessage, Telnyx::Models::AI::AssistantTool::SkipTurn, Telnyx::Models::AI::AssistantTool::Pay, Telnyx::Models::AI::AssistantTool::UpdateDynamicVariables>, nil]
209
209
  optional :tools, -> { Telnyx::Internal::Type::ArrayOf[union: Telnyx::AI::AssistantTool] }
210
210
 
211
211
  # @!attribute transcription
@@ -283,7 +283,7 @@ module Telnyx
283
283
  #
284
284
  # @param tool_ids [Array<String>] IDs of shared tools to attach to the assistant. New integrations should prefer `
285
285
  #
286
- # @param tools [Array<Telnyx::Models::AI::InferenceEmbeddingWebhookToolParams, Telnyx::Models::AI::AssistantTool::ClientSideTool, Telnyx::Models::AI::RetrievalTool, Telnyx::Models::AI::AssistantTool::Handoff, Telnyx::Models::AI::HangupTool, Telnyx::Models::AI::AssistantTool::Transfer, Telnyx::Models::AI::AssistantTool::Invite, Telnyx::Models::AI::AssistantTool::Refer, Telnyx::Models::AI::AssistantTool::SendDtmf, Telnyx::Models::AI::AssistantTool::SendMessage, Telnyx::Models::AI::AssistantTool::SkipTurn, Telnyx::Models::AI::AssistantTool::Pay, Telnyx::Models::AI::AssistantTool::UpdateDynamicVariables>] Deprecated for new integrations. Inline tool definitions available to the assist
286
+ # @param tools [Array<Telnyx::Models::AI::AssistantTool::Function, Telnyx::Models::AI::InferenceEmbeddingWebhookToolParams, Telnyx::Models::AI::AssistantTool::ClientSideTool, Telnyx::Models::AI::RetrievalTool, Telnyx::Models::AI::AssistantTool::Handoff, Telnyx::Models::AI::AssistantTool::Hangup, Telnyx::Models::AI::AssistantTool::Transfer, Telnyx::Models::AI::AssistantTool::Invite, Telnyx::Models::AI::AssistantTool::Refer, Telnyx::Models::AI::AssistantTool::SendDtmf, Telnyx::Models::AI::AssistantTool::SendMessage, Telnyx::Models::AI::AssistantTool::SkipTurn, Telnyx::Models::AI::AssistantTool::Pay, Telnyx::Models::AI::AssistantTool::UpdateDynamicVariables>] Deprecated for new integrations. Inline tool definitions available to the assist
287
287
  #
288
288
  # @param transcription [Telnyx::Models::AI::TranscriptionSettings]
289
289
  #
@@ -11,6 +11,8 @@ module Telnyx
11
11
 
12
12
  discriminator :type
13
13
 
14
+ variant :function, -> { Telnyx::AI::AssistantTool::Function }
15
+
14
16
  variant :webhook, -> { Telnyx::AI::InferenceEmbeddingWebhookToolParams }
15
17
 
16
18
  variant :client_side_tool, -> { Telnyx::AI::AssistantTool::ClientSideTool }
@@ -20,7 +22,7 @@ module Telnyx
20
22
  # The handoff tool allows the assistant to hand off control of the conversation to another AI assistant. By default, this will happen transparently to the end user.
21
23
  variant :handoff, -> { Telnyx::AI::AssistantTool::Handoff }
22
24
 
23
- variant :hangup, -> { Telnyx::AI::HangupTool }
25
+ variant :hangup, -> { Telnyx::AI::AssistantTool::Hangup }
24
26
 
25
27
  variant :transfer, -> { Telnyx::AI::AssistantTool::Transfer }
26
28
 
@@ -41,6 +43,42 @@ module Telnyx
41
43
  # The update_dynamic_variables tool lets the assistant write values into the conversation's dynamic-variables context during the call. Updated variables are available to later `{{variable}}` interpolation (prompts, speak nodes, message templates) and to flow edge conditions. Declare each variable the assistant is allowed to set under `updatable_variables`.
42
44
  variant :update_dynamic_variables, -> { Telnyx::AI::AssistantTool::UpdateDynamicVariables }
43
45
 
46
+ class Function < Telnyx::Internal::Type::BaseModel
47
+ # @!attribute function
48
+ #
49
+ # @return [Telnyx::Models::AI::OpenAI::FunctionDefinition]
50
+ required :function, -> { Telnyx::AI::OpenAI::FunctionDefinition }
51
+
52
+ # @!attribute type
53
+ #
54
+ # @return [Symbol, :function]
55
+ required :type, const: :function
56
+
57
+ response_only do
58
+ # @!attribute shared
59
+ # Whether this tool comes from the shared Tools Library. Responses merge shared
60
+ # tools into `tools` with `shared: true`; inline tools carry `shared: false`.
61
+ # Read-only: set by the server, not accepted in requests. When updating an
62
+ # assistant, omit `shared: true` tools from the request `tools` array and manage
63
+ # them through `tool_ids` instead — re-sending their definitions creates an inline
64
+ # duplicate (rejected with error code 10015 when the type allows only one instance
65
+ # per assistant).
66
+ #
67
+ # @return [Boolean, nil]
68
+ optional :shared, Telnyx::Internal::Type::Boolean
69
+ end
70
+
71
+ # @!method initialize(function:, shared: nil, type: :function)
72
+ # Some parameter documentations has been truncated, see
73
+ # {Telnyx::Models::AI::AssistantTool::Function} for more details.
74
+ #
75
+ # @param function [Telnyx::Models::AI::OpenAI::FunctionDefinition]
76
+ #
77
+ # @param shared [Boolean] Whether this tool comes from the shared Tools Library. Responses merge shared to
78
+ #
79
+ # @param type [Symbol, :function]
80
+ end
81
+
44
82
  class ClientSideTool < Telnyx::Internal::Type::BaseModel
45
83
  # @!attribute client_side_tool
46
84
  #
@@ -52,8 +90,28 @@ module Telnyx
52
90
  # @return [Symbol, :client_side_tool]
53
91
  required :type, const: :client_side_tool
54
92
 
55
- # @!method initialize(client_side_tool:, type: :client_side_tool)
93
+ response_only do
94
+ # @!attribute shared
95
+ # Whether this tool comes from the shared Tools Library. Responses merge shared
96
+ # tools into `tools` with `shared: true`; inline tools carry `shared: false`.
97
+ # Read-only: set by the server, not accepted in requests. When updating an
98
+ # assistant, omit `shared: true` tools from the request `tools` array and manage
99
+ # them through `tool_ids` instead — re-sending their definitions creates an inline
100
+ # duplicate (rejected with error code 10015 when the type allows only one instance
101
+ # per assistant).
102
+ #
103
+ # @return [Boolean, nil]
104
+ optional :shared, Telnyx::Internal::Type::Boolean
105
+ end
106
+
107
+ # @!method initialize(client_side_tool:, shared: nil, type: :client_side_tool)
108
+ # Some parameter documentations has been truncated, see
109
+ # {Telnyx::Models::AI::AssistantTool::ClientSideTool} for more details.
110
+ #
56
111
  # @param client_side_tool [Telnyx::Models::AI::AssistantTool::ClientSideTool::ClientSideTool]
112
+ #
113
+ # @param shared [Boolean] Whether this tool comes from the shared Tools Library. Responses merge shared to
114
+ #
57
115
  # @param type [Symbol, :client_side_tool]
58
116
 
59
117
  # @see Telnyx::Models::AI::AssistantTool::ClientSideTool#client_side_tool
@@ -143,12 +201,32 @@ module Telnyx
143
201
  # @return [Symbol, :handoff]
144
202
  required :type, const: :handoff
145
203
 
146
- # @!method initialize(handoff:, type: :handoff)
204
+ response_only do
205
+ # @!attribute shared
206
+ # Whether this tool comes from the shared Tools Library. Responses merge shared
207
+ # tools into `tools` with `shared: true`; inline tools carry `shared: false`.
208
+ # Read-only: set by the server, not accepted in requests. When updating an
209
+ # assistant, omit `shared: true` tools from the request `tools` array and manage
210
+ # them through `tool_ids` instead — re-sending their definitions creates an inline
211
+ # duplicate (rejected with error code 10015 when the type allows only one instance
212
+ # per assistant).
213
+ #
214
+ # @return [Boolean, nil]
215
+ optional :shared, Telnyx::Internal::Type::Boolean
216
+ end
217
+
218
+ # @!method initialize(handoff:, shared: nil, type: :handoff)
219
+ # Some parameter documentations has been truncated, see
220
+ # {Telnyx::Models::AI::AssistantTool::Handoff} for more details.
221
+ #
147
222
  # The handoff tool allows the assistant to hand off control of the conversation to
148
223
  # another AI assistant. By default, this will happen transparently to the end
149
224
  # user.
150
225
  #
151
226
  # @param handoff [Telnyx::Models::AI::AssistantTool::Handoff::Handoff]
227
+ #
228
+ # @param shared [Boolean] Whether this tool comes from the shared Tools Library. Responses merge shared to
229
+ #
152
230
  # @param type [Symbol, :handoff]
153
231
 
154
232
  # @see Telnyx::Models::AI::AssistantTool::Handoff#handoff
@@ -214,6 +292,42 @@ module Telnyx
214
292
  end
215
293
  end
216
294
 
295
+ class Hangup < Telnyx::Internal::Type::BaseModel
296
+ # @!attribute hangup
297
+ #
298
+ # @return [Telnyx::Models::AI::HangupToolParams]
299
+ required :hangup, -> { Telnyx::AI::HangupToolParams }
300
+
301
+ # @!attribute type
302
+ #
303
+ # @return [Symbol, :hangup]
304
+ required :type, const: :hangup
305
+
306
+ response_only do
307
+ # @!attribute shared
308
+ # Whether this tool comes from the shared Tools Library. Responses merge shared
309
+ # tools into `tools` with `shared: true`; inline tools carry `shared: false`.
310
+ # Read-only: set by the server, not accepted in requests. When updating an
311
+ # assistant, omit `shared: true` tools from the request `tools` array and manage
312
+ # them through `tool_ids` instead — re-sending their definitions creates an inline
313
+ # duplicate (rejected with error code 10015 when the type allows only one instance
314
+ # per assistant).
315
+ #
316
+ # @return [Boolean, nil]
317
+ optional :shared, Telnyx::Internal::Type::Boolean
318
+ end
319
+
320
+ # @!method initialize(hangup:, shared: nil, type: :hangup)
321
+ # Some parameter documentations has been truncated, see
322
+ # {Telnyx::Models::AI::AssistantTool::Hangup} for more details.
323
+ #
324
+ # @param hangup [Telnyx::Models::AI::HangupToolParams]
325
+ #
326
+ # @param shared [Boolean] Whether this tool comes from the shared Tools Library. Responses merge shared to
327
+ #
328
+ # @param type [Symbol, :hangup]
329
+ end
330
+
217
331
  class Transfer < Telnyx::Internal::Type::BaseModel
218
332
  # @!attribute transfer
219
333
  #
@@ -225,8 +339,28 @@ module Telnyx
225
339
  # @return [Symbol, :transfer]
226
340
  required :type, const: :transfer
227
341
 
228
- # @!method initialize(transfer:, type: :transfer)
342
+ response_only do
343
+ # @!attribute shared
344
+ # Whether this tool comes from the shared Tools Library. Responses merge shared
345
+ # tools into `tools` with `shared: true`; inline tools carry `shared: false`.
346
+ # Read-only: set by the server, not accepted in requests. When updating an
347
+ # assistant, omit `shared: true` tools from the request `tools` array and manage
348
+ # them through `tool_ids` instead — re-sending their definitions creates an inline
349
+ # duplicate (rejected with error code 10015 when the type allows only one instance
350
+ # per assistant).
351
+ #
352
+ # @return [Boolean, nil]
353
+ optional :shared, Telnyx::Internal::Type::Boolean
354
+ end
355
+
356
+ # @!method initialize(transfer:, shared: nil, type: :transfer)
357
+ # Some parameter documentations has been truncated, see
358
+ # {Telnyx::Models::AI::AssistantTool::Transfer} for more details.
359
+ #
229
360
  # @param transfer [Telnyx::Models::AI::AssistantTool::Transfer::Transfer]
361
+ #
362
+ # @param shared [Boolean] Whether this tool comes from the shared Tools Library. Responses merge shared to
363
+ #
230
364
  # @param type [Symbol, :transfer]
231
365
 
232
366
  # @see Telnyx::Models::AI::AssistantTool::Transfer#transfer
@@ -733,8 +867,28 @@ module Telnyx
733
867
  # @return [Symbol, :invite]
734
868
  required :type, const: :invite
735
869
 
736
- # @!method initialize(invite:, type: :invite)
870
+ response_only do
871
+ # @!attribute shared
872
+ # Whether this tool comes from the shared Tools Library. Responses merge shared
873
+ # tools into `tools` with `shared: true`; inline tools carry `shared: false`.
874
+ # Read-only: set by the server, not accepted in requests. When updating an
875
+ # assistant, omit `shared: true` tools from the request `tools` array and manage
876
+ # them through `tool_ids` instead — re-sending their definitions creates an inline
877
+ # duplicate (rejected with error code 10015 when the type allows only one instance
878
+ # per assistant).
879
+ #
880
+ # @return [Boolean, nil]
881
+ optional :shared, Telnyx::Internal::Type::Boolean
882
+ end
883
+
884
+ # @!method initialize(invite:, shared: nil, type: :invite)
885
+ # Some parameter documentations has been truncated, see
886
+ # {Telnyx::Models::AI::AssistantTool::Invite} for more details.
887
+ #
737
888
  # @param invite [Telnyx::Models::AI::AssistantTool::Invite::Invite]
889
+ #
890
+ # @param shared [Boolean] Whether this tool comes from the shared Tools Library. Responses merge shared to
891
+ #
738
892
  # @param type [Symbol, :invite]
739
893
 
740
894
  # @see Telnyx::Models::AI::AssistantTool::Invite#invite
@@ -936,8 +1090,28 @@ module Telnyx
936
1090
  # @return [Symbol, :refer]
937
1091
  required :type, const: :refer
938
1092
 
939
- # @!method initialize(refer:, type: :refer)
1093
+ response_only do
1094
+ # @!attribute shared
1095
+ # Whether this tool comes from the shared Tools Library. Responses merge shared
1096
+ # tools into `tools` with `shared: true`; inline tools carry `shared: false`.
1097
+ # Read-only: set by the server, not accepted in requests. When updating an
1098
+ # assistant, omit `shared: true` tools from the request `tools` array and manage
1099
+ # them through `tool_ids` instead — re-sending their definitions creates an inline
1100
+ # duplicate (rejected with error code 10015 when the type allows only one instance
1101
+ # per assistant).
1102
+ #
1103
+ # @return [Boolean, nil]
1104
+ optional :shared, Telnyx::Internal::Type::Boolean
1105
+ end
1106
+
1107
+ # @!method initialize(refer:, shared: nil, type: :refer)
1108
+ # Some parameter documentations has been truncated, see
1109
+ # {Telnyx::Models::AI::AssistantTool::Refer} for more details.
1110
+ #
940
1111
  # @param refer [Telnyx::Models::AI::AssistantTool::Refer::Refer]
1112
+ #
1113
+ # @param shared [Boolean] Whether this tool comes from the shared Tools Library. Responses merge shared to
1114
+ #
941
1115
  # @param type [Symbol, :refer]
942
1116
 
943
1117
  # @see Telnyx::Models::AI::AssistantTool::Refer#refer
@@ -1082,8 +1256,28 @@ module Telnyx
1082
1256
  # @return [Symbol, :send_dtmf]
1083
1257
  required :type, const: :send_dtmf
1084
1258
 
1085
- # @!method initialize(send_dtmf:, type: :send_dtmf)
1259
+ response_only do
1260
+ # @!attribute shared
1261
+ # Whether this tool comes from the shared Tools Library. Responses merge shared
1262
+ # tools into `tools` with `shared: true`; inline tools carry `shared: false`.
1263
+ # Read-only: set by the server, not accepted in requests. When updating an
1264
+ # assistant, omit `shared: true` tools from the request `tools` array and manage
1265
+ # them through `tool_ids` instead — re-sending their definitions creates an inline
1266
+ # duplicate (rejected with error code 10015 when the type allows only one instance
1267
+ # per assistant).
1268
+ #
1269
+ # @return [Boolean, nil]
1270
+ optional :shared, Telnyx::Internal::Type::Boolean
1271
+ end
1272
+
1273
+ # @!method initialize(send_dtmf:, shared: nil, type: :send_dtmf)
1274
+ # Some parameter documentations has been truncated, see
1275
+ # {Telnyx::Models::AI::AssistantTool::SendDtmf} for more details.
1276
+ #
1086
1277
  # @param send_dtmf [Hash{Symbol=>Object}]
1278
+ #
1279
+ # @param shared [Boolean] Whether this tool comes from the shared Tools Library. Responses merge shared to
1280
+ #
1087
1281
  # @param type [Symbol, :send_dtmf]
1088
1282
  end
1089
1283
 
@@ -1098,13 +1292,33 @@ module Telnyx
1098
1292
  # @return [Symbol, :send_message]
1099
1293
  required :type, const: :send_message
1100
1294
 
1101
- # @!method initialize(send_message:, type: :send_message)
1295
+ response_only do
1296
+ # @!attribute shared
1297
+ # Whether this tool comes from the shared Tools Library. Responses merge shared
1298
+ # tools into `tools` with `shared: true`; inline tools carry `shared: false`.
1299
+ # Read-only: set by the server, not accepted in requests. When updating an
1300
+ # assistant, omit `shared: true` tools from the request `tools` array and manage
1301
+ # them through `tool_ids` instead — re-sending their definitions creates an inline
1302
+ # duplicate (rejected with error code 10015 when the type allows only one instance
1303
+ # per assistant).
1304
+ #
1305
+ # @return [Boolean, nil]
1306
+ optional :shared, Telnyx::Internal::Type::Boolean
1307
+ end
1308
+
1309
+ # @!method initialize(send_message:, shared: nil, type: :send_message)
1310
+ # Some parameter documentations has been truncated, see
1311
+ # {Telnyx::Models::AI::AssistantTool::SendMessage} for more details.
1312
+ #
1102
1313
  # The send_message tool allows the assistant to send SMS or MMS messages to the
1103
1314
  # end user. The 'to' and 'from' addresses are automatically determined from the
1104
1315
  # conversation context, and the message text is generated by the assistant unless
1105
1316
  # a message_template is provided for runtime variable substitution.
1106
1317
  #
1107
1318
  # @param send_message [Telnyx::Models::AI::AssistantTool::SendMessage::SendMessage]
1319
+ #
1320
+ # @param shared [Boolean] Whether this tool comes from the shared Tools Library. Responses merge shared to
1321
+ #
1108
1322
  # @param type [Symbol, :send_message]
1109
1323
 
1110
1324
  # @see Telnyx::Models::AI::AssistantTool::SendMessage#send_message
@@ -1138,8 +1352,28 @@ module Telnyx
1138
1352
  # @return [Symbol, :skip_turn]
1139
1353
  required :type, const: :skip_turn
1140
1354
 
1141
- # @!method initialize(skip_turn:, type: :skip_turn)
1355
+ response_only do
1356
+ # @!attribute shared
1357
+ # Whether this tool comes from the shared Tools Library. Responses merge shared
1358
+ # tools into `tools` with `shared: true`; inline tools carry `shared: false`.
1359
+ # Read-only: set by the server, not accepted in requests. When updating an
1360
+ # assistant, omit `shared: true` tools from the request `tools` array and manage
1361
+ # them through `tool_ids` instead — re-sending their definitions creates an inline
1362
+ # duplicate (rejected with error code 10015 when the type allows only one instance
1363
+ # per assistant).
1364
+ #
1365
+ # @return [Boolean, nil]
1366
+ optional :shared, Telnyx::Internal::Type::Boolean
1367
+ end
1368
+
1369
+ # @!method initialize(skip_turn:, shared: nil, type: :skip_turn)
1370
+ # Some parameter documentations has been truncated, see
1371
+ # {Telnyx::Models::AI::AssistantTool::SkipTurn} for more details.
1372
+ #
1142
1373
  # @param skip_turn [Telnyx::Models::AI::AssistantTool::SkipTurn::SkipTurn]
1374
+ #
1375
+ # @param shared [Boolean] Whether this tool comes from the shared Tools Library. Responses merge shared to
1376
+ #
1143
1377
  # @param type [Symbol, :skip_turn]
1144
1378
 
1145
1379
  # @see Telnyx::Models::AI::AssistantTool::SkipTurn#skip_turn
@@ -1166,13 +1400,33 @@ module Telnyx
1166
1400
  # @return [Symbol, :pay]
1167
1401
  required :type, const: :pay
1168
1402
 
1169
- # @!method initialize(pay:, type: :pay)
1403
+ response_only do
1404
+ # @!attribute shared
1405
+ # Whether this tool comes from the shared Tools Library. Responses merge shared
1406
+ # tools into `tools` with `shared: true`; inline tools carry `shared: false`.
1407
+ # Read-only: set by the server, not accepted in requests. When updating an
1408
+ # assistant, omit `shared: true` tools from the request `tools` array and manage
1409
+ # them through `tool_ids` instead — re-sending their definitions creates an inline
1410
+ # duplicate (rejected with error code 10015 when the type allows only one instance
1411
+ # per assistant).
1412
+ #
1413
+ # @return [Boolean, nil]
1414
+ optional :shared, Telnyx::Internal::Type::Boolean
1415
+ end
1416
+
1417
+ # @!method initialize(pay:, shared: nil, type: :pay)
1418
+ # Some parameter documentations has been truncated, see
1419
+ # {Telnyx::Models::AI::AssistantTool::Pay} for more details.
1420
+ #
1170
1421
  # (BETA) The pay tool allows the assistant to collect card payments from the
1171
1422
  # caller via DTMF during the conversation. Recording is automatically paused while
1172
1423
  # the pay tool is active and resumes when the payment flow completes. The
1173
1424
  # connector_name must reference a pay connector configured in the Telnyx API.
1174
1425
  #
1175
1426
  # @param pay [Telnyx::Models::AI::PayToolParams]
1427
+ #
1428
+ # @param shared [Boolean] Whether this tool comes from the shared Tools Library. Responses merge shared to
1429
+ #
1176
1430
  # @param type [Symbol, :pay]
1177
1431
  end
1178
1432
 
@@ -1188,7 +1442,24 @@ module Telnyx
1188
1442
  # @return [Telnyx::Models::AI::UpdateDynamicVariablesToolParams]
1189
1443
  required :update_dynamic_variables, -> { Telnyx::AI::UpdateDynamicVariablesToolParams }
1190
1444
 
1191
- # @!method initialize(update_dynamic_variables:, type: :update_dynamic_variables)
1445
+ response_only do
1446
+ # @!attribute shared
1447
+ # Whether this tool comes from the shared Tools Library. Responses merge shared
1448
+ # tools into `tools` with `shared: true`; inline tools carry `shared: false`.
1449
+ # Read-only: set by the server, not accepted in requests. When updating an
1450
+ # assistant, omit `shared: true` tools from the request `tools` array and manage
1451
+ # them through `tool_ids` instead — re-sending their definitions creates an inline
1452
+ # duplicate (rejected with error code 10015 when the type allows only one instance
1453
+ # per assistant).
1454
+ #
1455
+ # @return [Boolean, nil]
1456
+ optional :shared, Telnyx::Internal::Type::Boolean
1457
+ end
1458
+
1459
+ # @!method initialize(update_dynamic_variables:, shared: nil, type: :update_dynamic_variables)
1460
+ # Some parameter documentations has been truncated, see
1461
+ # {Telnyx::Models::AI::AssistantTool::UpdateDynamicVariables} for more details.
1462
+ #
1192
1463
  # The update_dynamic_variables tool lets the assistant write values into the
1193
1464
  # conversation's dynamic-variables context during the call. Updated variables are
1194
1465
  # available to later `{{variable}}` interpolation (prompts, speak nodes, message
@@ -1197,11 +1468,13 @@ module Telnyx
1197
1468
  #
1198
1469
  # @param update_dynamic_variables [Telnyx::Models::AI::UpdateDynamicVariablesToolParams] Configuration for an update_dynamic_variables tool.
1199
1470
  #
1471
+ # @param shared [Boolean] Whether this tool comes from the shared Tools Library. Responses merge shared to
1472
+ #
1200
1473
  # @param type [Symbol, :update_dynamic_variables]
1201
1474
  end
1202
1475
 
1203
1476
  # @!method self.variants
1204
- # @return [Array(Telnyx::Models::AI::InferenceEmbeddingWebhookToolParams, Telnyx::Models::AI::AssistantTool::ClientSideTool, Telnyx::Models::AI::RetrievalTool, Telnyx::Models::AI::AssistantTool::Handoff, Telnyx::Models::AI::HangupTool, Telnyx::Models::AI::AssistantTool::Transfer, Telnyx::Models::AI::AssistantTool::Invite, Telnyx::Models::AI::AssistantTool::Refer, Telnyx::Models::AI::AssistantTool::SendDtmf, Telnyx::Models::AI::AssistantTool::SendMessage, Telnyx::Models::AI::AssistantTool::SkipTurn, Telnyx::Models::AI::AssistantTool::Pay, Telnyx::Models::AI::AssistantTool::UpdateDynamicVariables)]
1477
+ # @return [Array(Telnyx::Models::AI::AssistantTool::Function, Telnyx::Models::AI::InferenceEmbeddingWebhookToolParams, Telnyx::Models::AI::AssistantTool::ClientSideTool, Telnyx::Models::AI::RetrievalTool, Telnyx::Models::AI::AssistantTool::Handoff, Telnyx::Models::AI::AssistantTool::Hangup, Telnyx::Models::AI::AssistantTool::Transfer, Telnyx::Models::AI::AssistantTool::Invite, Telnyx::Models::AI::AssistantTool::Refer, Telnyx::Models::AI::AssistantTool::SendDtmf, Telnyx::Models::AI::AssistantTool::SendMessage, Telnyx::Models::AI::AssistantTool::SkipTurn, Telnyx::Models::AI::AssistantTool::Pay, Telnyx::Models::AI::AssistantTool::UpdateDynamicVariables)]
1205
1478
  end
1206
1479
  end
1207
1480
  end
@@ -174,10 +174,10 @@ module Telnyx
174
174
  # @!attribute post_conversation_settings
175
175
  # Configuration for post-conversation processing. When enabled, the assistant
176
176
  # receives one additional LLM turn after the conversation ends, allowing it to
177
- # execute tool calls such as logging to a CRM or sending a summary. The assistant
178
- # can execute multiple parallel or sequential tools during this phase.
179
- # Telephony-control tools (e.g. hangup, transfer) are unavailable
180
- # post-conversation. Beta feature.
177
+ # execute final tool calls such as sending a summary or updating a record via
178
+ # webhook or function tools. Integration and MCP server tools are not available
179
+ # post-conversation; call-control tools (e.g. hangup, transfer) are also
180
+ # unavailable. Beta feature.
181
181
  #
182
182
  # @return [Telnyx::Models::AI::PostConversationSettingsReq, nil]
183
183
  optional :post_conversation_settings, -> { Telnyx::AI::PostConversationSettingsReq }
@@ -208,7 +208,11 @@ module Telnyx
208
208
 
209
209
  # @!attribute tool_ids
210
210
  # IDs of shared tools to attach to the assistant. New integrations should prefer
211
- # `tool_ids` over inline `tools`.
211
+ # `tool_ids` over inline `tools`. On update, a sent `tool_ids` array fully
212
+ # replaces the assistant's attached shared tools; omit the field to leave them
213
+ # unchanged. Single-instance tool types are counted across inline `tools` and
214
+ # `tool_ids` combined, so attaching a shared tool of such a type when an instance
215
+ # already exists returns HTTP 400 with error code 10015.
212
216
  #
213
217
  # @return [Array<String>, nil]
214
218
  optional :tool_ids, Telnyx::Internal::Type::ArrayOf[String]
@@ -216,9 +220,16 @@ module Telnyx
216
220
  # @!attribute tools
217
221
  # Deprecated for new integrations. Inline tool definitions available to the
218
222
  # assistant. Prefer `tool_ids` to attach shared tools created with the AI Tools
219
- # endpoints.
220
- #
221
- # @return [Array<Telnyx::Models::AI::InferenceEmbeddingWebhookToolParams, Telnyx::Models::AI::AssistantTool::ClientSideTool, Telnyx::Models::AI::RetrievalTool, Telnyx::Models::AI::AssistantTool::Handoff, Telnyx::Models::AI::HangupTool, Telnyx::Models::AI::AssistantTool::Transfer, Telnyx::Models::AI::AssistantTool::Invite, Telnyx::Models::AI::AssistantTool::Refer, Telnyx::Models::AI::AssistantTool::SendDtmf, Telnyx::Models::AI::AssistantTool::SendMessage, Telnyx::Models::AI::AssistantTool::SkipTurn, Telnyx::Models::AI::AssistantTool::Pay, Telnyx::Models::AI::AssistantTool::UpdateDynamicVariables>, nil]
223
+ # endpoints. On update, a sent `tools` array fully replaces the assistant's inline
224
+ # tools; omit the field to leave the inline tools unchanged. Each tool type except
225
+ # `function`, `webhook`, and `client_side_tool` allows at most one instance per
226
+ # assistant, counted across inline `tools` and shared `tool_ids` combined —
227
+ # sending a duplicate of such a type returns HTTP 400 with error code 10015.
228
+ # Responses merge shared tools into `tools` with `shared: true`; when updating,
229
+ # omit those tools from the `tools` array and manage them through `tool_ids`
230
+ # instead.
231
+ #
232
+ # @return [Array<Telnyx::Models::AI::AssistantTool::Function, Telnyx::Models::AI::InferenceEmbeddingWebhookToolParams, Telnyx::Models::AI::AssistantTool::ClientSideTool, Telnyx::Models::AI::RetrievalTool, Telnyx::Models::AI::AssistantTool::Handoff, Telnyx::Models::AI::AssistantTool::Hangup, Telnyx::Models::AI::AssistantTool::Transfer, Telnyx::Models::AI::AssistantTool::Invite, Telnyx::Models::AI::AssistantTool::Refer, Telnyx::Models::AI::AssistantTool::SendDtmf, Telnyx::Models::AI::AssistantTool::SendMessage, Telnyx::Models::AI::AssistantTool::SkipTurn, Telnyx::Models::AI::AssistantTool::Pay, Telnyx::Models::AI::AssistantTool::UpdateDynamicVariables>, nil]
222
233
  optional :tools, -> { Telnyx::Internal::Type::ArrayOf[union: Telnyx::AI::AssistantTool] }
223
234
 
224
235
  # @!attribute transcription
@@ -301,7 +312,7 @@ module Telnyx
301
312
  #
302
313
  # @param tool_ids [Array<String>] IDs of shared tools to attach to the assistant. New integrations should prefer `
303
314
  #
304
- # @param tools [Array<Telnyx::Models::AI::InferenceEmbeddingWebhookToolParams, Telnyx::Models::AI::AssistantTool::ClientSideTool, Telnyx::Models::AI::RetrievalTool, Telnyx::Models::AI::AssistantTool::Handoff, Telnyx::Models::AI::HangupTool, Telnyx::Models::AI::AssistantTool::Transfer, Telnyx::Models::AI::AssistantTool::Invite, Telnyx::Models::AI::AssistantTool::Refer, Telnyx::Models::AI::AssistantTool::SendDtmf, Telnyx::Models::AI::AssistantTool::SendMessage, Telnyx::Models::AI::AssistantTool::SkipTurn, Telnyx::Models::AI::AssistantTool::Pay, Telnyx::Models::AI::AssistantTool::UpdateDynamicVariables>] Deprecated for new integrations. Inline tool definitions available to the assist
315
+ # @param tools [Array<Telnyx::Models::AI::AssistantTool::Function, Telnyx::Models::AI::InferenceEmbeddingWebhookToolParams, Telnyx::Models::AI::AssistantTool::ClientSideTool, Telnyx::Models::AI::RetrievalTool, Telnyx::Models::AI::AssistantTool::Handoff, Telnyx::Models::AI::AssistantTool::Hangup, Telnyx::Models::AI::AssistantTool::Transfer, Telnyx::Models::AI::AssistantTool::Invite, Telnyx::Models::AI::AssistantTool::Refer, Telnyx::Models::AI::AssistantTool::SendDtmf, Telnyx::Models::AI::AssistantTool::SendMessage, Telnyx::Models::AI::AssistantTool::SkipTurn, Telnyx::Models::AI::AssistantTool::Pay, Telnyx::Models::AI::AssistantTool::UpdateDynamicVariables>] Deprecated for new integrations. Inline tool definitions available to the assist
305
316
  #
306
317
  # @param transcription [Telnyx::Models::AI::TranscriptionSettings]
307
318
  #