telnyx 5.170.0 → 5.171.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 (604) 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 +39 -0
  5. data/lib/telnyx/models/ai/assistant_create_params.rb +36 -1
  6. data/lib/telnyx/models/ai/assistant_delete_params.rb +14 -1
  7. data/lib/telnyx/models/ai/assistant_restore_params.rb +22 -0
  8. data/lib/telnyx/models/ai/assistant_update_params.rb +36 -1
  9. data/lib/telnyx/models/ai/assistant_whatsapp_params.rb +83 -0
  10. data/lib/telnyx/models/ai/assistant_whatsapp_response.rb +27 -0
  11. data/lib/telnyx/models/ai/assistants/deleted_assistant.rb +38 -0
  12. data/lib/telnyx/models/ai/assistants/deleted_get_params.rb +24 -0
  13. data/lib/telnyx/models/ai/assistants/deleted_list_params.rb +34 -0
  14. data/lib/telnyx/models/ai/assistants/update_assistant.rb +36 -1
  15. data/lib/telnyx/models/ai/avatar_settings_request.rb +93 -0
  16. data/lib/telnyx/models/ai/chat_completion_request.rb +22 -3
  17. data/lib/telnyx/models/ai/conversation_flow_req.rb +5 -2
  18. data/lib/telnyx/models/ai/conversation_list_params.rb +13 -1
  19. data/lib/telnyx/models/ai/delegation_settings.rb +118 -0
  20. data/lib/telnyx/models/ai/flow_edge.rb +35 -13
  21. data/lib/telnyx/models/ai/flow_node_req.rb +9 -3
  22. data/lib/telnyx/models/ai/inference_embedding.rb +36 -1
  23. data/lib/telnyx/models/ai/inference_embedding_voice_settings.rb +126 -5
  24. data/lib/telnyx/models/ai/memory/namespace.rb +33 -0
  25. data/lib/telnyx/models/ai/memory/namespace_create_params.rb +26 -0
  26. data/lib/telnyx/models/ai/memory/namespace_create_response.rb +21 -0
  27. data/lib/telnyx/models/ai/memory/namespace_delete_params.rb +26 -0
  28. data/lib/telnyx/models/ai/memory/namespace_list_params.rb +18 -0
  29. data/lib/telnyx/models/ai/memory/namespace_list_response.rb +20 -0
  30. data/lib/telnyx/models/ai/memory/namespaces/profile_preview_params.rb +49 -0
  31. data/lib/telnyx/models/ai/memory/namespaces/profile_preview_response.rb +47 -0
  32. data/lib/telnyx/models/ai/pay_tool_params.rb +43 -3
  33. data/lib/telnyx/models/ai/telephony_settings.rb +14 -1
  34. data/lib/telnyx/models/ai/telnyx_avatar_settings.rb +93 -0
  35. data/lib/telnyx/models/ai/tool_node.rb +19 -5
  36. data/lib/telnyx/models/ai/tool_node_req.rb +23 -7
  37. data/lib/telnyx/models/ai/transcription_settings.rb +239 -1
  38. data/lib/telnyx/models/ai/voice_settings.rb +4 -4
  39. data/lib/telnyx/models/ai/websocket_settings.rb +48 -0
  40. data/lib/telnyx/models/billing_contact.rb +15 -5
  41. data/lib/telnyx/models/bpo_authorization_input.rb +33 -0
  42. data/lib/telnyx/models/call_assistant_request.rb +21 -5
  43. data/lib/telnyx/models/call_conversation_created_webhook_event.rb +188 -0
  44. data/lib/telnyx/models/call_conversation_ended.rb +152 -1
  45. data/lib/telnyx/models/call_conversation_start_failed_webhook_event.rb +221 -0
  46. data/lib/telnyx/models/call_dial_params.rb +43 -9
  47. data/lib/telnyx/models/call_machine_premium_call_screening_detected_webhook_event.rb +175 -0
  48. data/lib/telnyx/models/call_machine_premium_detection_started_webhook_event.rb +149 -0
  49. data/lib/telnyx/models/call_machine_premium_greeting_ended.rb +8 -3
  50. data/lib/telnyx/models/calls/action_answer_params.rb +10 -6
  51. data/lib/telnyx/models/calls/action_gather_using_ai_params.rb +4 -4
  52. data/lib/telnyx/models/calls/action_pay_params.rb +47 -1
  53. data/lib/telnyx/models/calls/action_reject_params.rb +11 -3
  54. data/lib/telnyx/models/calls/action_start_ai_assistant_params.rb +6 -4
  55. data/lib/telnyx/models/calls/action_start_conversation_relay_params.rb +11 -8
  56. data/lib/telnyx/models/calls/action_transfer_params.rb +37 -5
  57. data/lib/telnyx/models/calls/conversation_relay_transcription_engine_config.rb +48 -0
  58. data/lib/telnyx/models/calls/telnyx_voice_settings.rb +5 -4
  59. data/lib/telnyx/models/conversation_relay_embedded_config.rb +11 -8
  60. data/lib/telnyx/models/conversation_relay_language.rb +7 -4
  61. data/lib/telnyx/models/dir/phone_number_list_params.rb +1 -9
  62. data/lib/telnyx/models/dir/phone_number_remove_params.rb +8 -1
  63. data/lib/telnyx/models/dir/reference_update_params.rb +18 -12
  64. data/lib/telnyx/models/dir.rb +23 -1
  65. data/lib/telnyx/models/dir_bpo_loa_params.rb +43 -0
  66. data/lib/telnyx/models/dir_delete_response.rb +51 -0
  67. data/lib/telnyx/models/dir_new_loa_params.rb +7 -33
  68. data/lib/telnyx/models/dir_retrieve_bpo_authorizations_params.rb +40 -0
  69. data/lib/telnyx/models/dir_retrieve_bpo_authorizations_response.rb +121 -0
  70. data/lib/telnyx/models/dir_status.rb +5 -0
  71. data/lib/telnyx/models/dir_update_infringement_params.rb +8 -4
  72. data/lib/telnyx/models/dir_update_params.rb +24 -1
  73. data/lib/telnyx/models/doc_reqs_requirement.rb +3 -0
  74. data/lib/telnyx/models/document.rb +2 -1
  75. data/lib/telnyx/models/email_template.rb +2 -126
  76. data/lib/telnyx/models/email_template_common.rb +157 -0
  77. data/lib/telnyx/models/email_template_create_params.rb +35 -4
  78. data/lib/telnyx/models/email_template_list_params.rb +84 -1
  79. data/lib/telnyx/models/email_template_render_response.rb +13 -6
  80. data/lib/telnyx/models/enterprise_create_params.rb +53 -24
  81. data/lib/telnyx/models/enterprise_list_params.rb +22 -1
  82. data/lib/telnyx/models/enterprise_public.rb +103 -21
  83. data/lib/telnyx/models/enterprise_update_params.rb +54 -15
  84. data/lib/telnyx/models/enterprises/dir_create_params.rb +29 -4
  85. data/lib/telnyx/models/enterprises/enterprise_email_verification_status_wrapped.rb +101 -0
  86. data/lib/telnyx/models/enterprises/enterprise_reputation_public.rb +20 -1
  87. data/lib/telnyx/models/enterprises/reputation/agent_input.rb +48 -15
  88. data/lib/telnyx/models/enterprises/reputation/external_verification_create_params.rb +50 -0
  89. data/lib/telnyx/models/enterprises/reputation/external_verification_list_params.rb +24 -0
  90. data/lib/telnyx/models/enterprises/reputation/external_verification_status.rb +22 -0
  91. data/lib/telnyx/models/enterprises/reputation/external_verification_wrapped.rb +84 -0
  92. data/lib/telnyx/models/enterprises/reputation/loa_render_params.rb +82 -3
  93. data/lib/telnyx/models/enterprises/reputation/number_list_params.rb +19 -1
  94. data/lib/telnyx/models/enterprises/reputation/number_ownership_confirm_params.rb +53 -0
  95. data/lib/telnyx/models/enterprises/reputation/number_retrieve_ownership_params.rb +30 -0
  96. data/lib/telnyx/models/enterprises/reputation/number_retrieve_ownership_response.rb +133 -0
  97. data/lib/telnyx/models/enterprises/reputation/remediation_request.rb +4 -3
  98. data/lib/telnyx/models/enterprises/reputation/reputation_number_source.rb +23 -0
  99. data/lib/telnyx/models/enterprises/reputation/reputation_ownership_status.rb +32 -0
  100. data/lib/telnyx/models/enterprises/reputation/reputation_phone_number.rb +93 -3
  101. data/lib/telnyx/models/enterprises/reputation_update_webhook_params.rb +35 -0
  102. data/lib/telnyx/models/enterprises/verify_email_confirm_params.rb +31 -0
  103. data/lib/telnyx/models/enterprises/verify_email_create_params.rb +22 -0
  104. data/lib/telnyx/models/infringement_claim.rb +4 -0
  105. data/lib/telnyx/models/llm_token_gateway/ai_gateway_resources_page_meta.rb +35 -0
  106. data/lib/telnyx/models/llm_token_gateway/budget_duration.rb +18 -0
  107. data/lib/telnyx/models/llm_token_gateway/guardrail_finding.rb +58 -0
  108. data/lib/telnyx/models/llm_token_gateway/spend_group_by.rb +40 -0
  109. data/lib/telnyx/models/llm_token_gateway/spend_retrieve_events_params.rb +96 -0
  110. data/lib/telnyx/models/llm_token_gateway/spend_retrieve_events_response.rb +282 -0
  111. data/lib/telnyx/models/llm_token_gateway/spend_retrieve_summary_params.rb +105 -0
  112. data/lib/telnyx/models/llm_token_gateway/spend_retrieve_summary_response.rb +189 -0
  113. data/lib/telnyx/models/llm_token_gateway/token_group.rb +413 -0
  114. data/lib/telnyx/models/llm_token_gateway/token_group_create_params.rb +359 -0
  115. data/lib/telnyx/models/llm_token_gateway/token_group_delete_params.rb +34 -0
  116. data/lib/telnyx/models/llm_token_gateway/token_group_list_params.rb +42 -0
  117. data/lib/telnyx/models/llm_token_gateway/token_group_response.rb +18 -0
  118. data/lib/telnyx/models/llm_token_gateway/token_group_retrieve_params.rb +22 -0
  119. data/lib/telnyx/models/llm_token_gateway/token_group_update_params.rb +373 -0
  120. data/lib/telnyx/models/llm_token_gateway/token_key.rb +208 -0
  121. data/lib/telnyx/models/llm_token_gateway/token_key_create_params.rb +126 -0
  122. data/lib/telnyx/models/llm_token_gateway/token_key_delete_params.rb +34 -0
  123. data/lib/telnyx/models/llm_token_gateway/token_key_list_params.rb +56 -0
  124. data/lib/telnyx/models/llm_token_gateway/token_key_response.rb +18 -0
  125. data/lib/telnyx/models/llm_token_gateway/token_key_retrieve_params.rb +22 -0
  126. data/lib/telnyx/models/llm_token_gateway/token_key_update_params.rb +127 -0
  127. data/lib/telnyx/models/llm_token_gateway/usage_retrieve_export_params.rb +52 -0
  128. data/lib/telnyx/models/llm_token_gateway/usage_retrieve_export_response.rb +585 -0
  129. data/lib/telnyx/models/llm_token_gateway/usage_retrieve_summary_params.rb +52 -0
  130. data/lib/telnyx/models/llm_token_gateway/usage_retrieve_summary_response.rb +534 -0
  131. data/lib/telnyx/models/meeting_session_delete_recording_media_response.rb +4 -4
  132. data/lib/telnyx/models/meeting_session_retrieve_recordings_response.rb +2 -3
  133. data/lib/telnyx/models/model_metadata.rb +9 -3
  134. data/lib/telnyx/models/number_reputation_external_verification_status_changed_webhook_event.rb +176 -0
  135. data/lib/telnyx/models/number_reputation_number_flagged_webhook_event.rb +198 -0
  136. data/lib/telnyx/models/number_reputation_number_removed_webhook_event.rb +204 -0
  137. data/lib/telnyx/models/organization_contact.rb +15 -6
  138. data/lib/telnyx/models/phone_numbers/job_list_params.rb +18 -3
  139. data/lib/telnyx/models/physical_address.rb +13 -4
  140. data/lib/telnyx/models/porting_order.rb +2 -0
  141. data/lib/telnyx/models/porting_orders/porting_phone_number_block.rb +2 -0
  142. data/lib/telnyx/models/porting_phone_number.rb +2 -0
  143. data/lib/telnyx/models/reputation/number_list_params.rb +19 -1
  144. data/lib/telnyx/models/requirement_list_params.rb +3 -0
  145. data/lib/telnyx/models/signature_payload.rb +28 -0
  146. data/lib/telnyx/models/sip_registration_status_list_params.rb +59 -0
  147. data/lib/telnyx/models/sip_registration_status_list_response.rb +220 -0
  148. data/lib/telnyx/models/spend_limit.rb +289 -0
  149. data/lib/telnyx/models/spend_limit_create_params.rb +144 -0
  150. data/lib/telnyx/models/spend_limit_delete_params.rb +37 -0
  151. data/lib/telnyx/models/spend_limit_list_params.rb +14 -0
  152. data/lib/telnyx/models/spend_limit_list_response.rb +51 -0
  153. data/lib/telnyx/models/spend_limit_period.rb +16 -0
  154. data/lib/telnyx/models/spend_limit_response.rb +17 -0
  155. data/lib/telnyx/models/spend_limit_update_params.rb +127 -0
  156. data/lib/telnyx/models/terms_of_service/tos_agreement.rb +8 -4
  157. data/lib/telnyx/models/terms_of_service_retrieve_info_response.rb +8 -4
  158. data/lib/telnyx/models/terms_of_service_retrieve_status_response.rb +2 -1
  159. data/lib/telnyx/models/texml_initiate_ai_call_params.rb +4 -2
  160. data/lib/telnyx/models/text_to_speech_generate_speech_params.rb +5 -3
  161. data/lib/telnyx/models/unsafe_unwrap_webhook_event.rb +17 -1
  162. data/lib/telnyx/models/unwrap_webhook_event.rb +17 -1
  163. data/lib/telnyx/models/update_email_template_request.rb +37 -3
  164. data/lib/telnyx/models/whatsapp/phone_numbers/calling_routing_list_params.rb +24 -0
  165. data/lib/telnyx/models/whatsapp/phone_numbers/calling_routing_list_response.rb +20 -0
  166. data/lib/telnyx/models/whatsapp/phone_numbers/calling_routing_patch_all_params.rb +59 -0
  167. data/lib/telnyx/models/whatsapp/phone_numbers/calling_routing_patch_all_response.rb +20 -0
  168. data/lib/telnyx/models/whatsapp/phone_numbers/whatsapp_calling_routing_data.rb +48 -0
  169. data/lib/telnyx/models/whatsapp/signup_list_params.rb +62 -0
  170. data/lib/telnyx/models/whatsapp/signup_list_response.rb +138 -0
  171. data/lib/telnyx/models/whatsapp/signup_retrieve_status_params.rb +22 -0
  172. data/lib/telnyx/models/whatsapp/signup_retrieve_status_response.rb +150 -0
  173. data/lib/telnyx/models/whatsapp_waba_added_webhook_event.rb +148 -0
  174. data/lib/telnyx/models.rb +47 -0
  175. data/lib/telnyx/resources/ai/assistants/deleted.rb +71 -0
  176. data/lib/telnyx/resources/ai/assistants/versions.rb +7 -1
  177. data/lib/telnyx/resources/ai/assistants.rb +118 -4
  178. data/lib/telnyx/resources/ai/conversations.rb +4 -1
  179. data/lib/telnyx/resources/ai/memory/namespaces/profiles.rb +41 -0
  180. data/lib/telnyx/resources/ai/memory/namespaces.rb +62 -1
  181. data/lib/telnyx/resources/ai/memory.rb +0 -1
  182. data/lib/telnyx/resources/ai/openai/chat.rb +1 -1
  183. data/lib/telnyx/resources/ai/tools.rb +2 -2
  184. data/lib/telnyx/resources/calls/actions.rb +41 -6
  185. data/lib/telnyx/resources/calls.rb +12 -1
  186. data/lib/telnyx/resources/dir/phone_numbers.rb +9 -8
  187. data/lib/telnyx/resources/dir/references.rb +6 -6
  188. data/lib/telnyx/resources/dir.rb +109 -16
  189. data/lib/telnyx/resources/email_templates.rb +32 -9
  190. data/lib/telnyx/resources/enterprises/dir.rb +14 -4
  191. data/lib/telnyx/resources/enterprises/reputation/external_verification.rb +74 -0
  192. data/lib/telnyx/resources/enterprises/reputation/loa.rb +1 -1
  193. data/lib/telnyx/resources/enterprises/reputation/numbers.rb +99 -3
  194. data/lib/telnyx/resources/enterprises/reputation.rb +36 -0
  195. data/lib/telnyx/resources/enterprises/verify_email.rb +75 -0
  196. data/lib/telnyx/resources/enterprises.rb +64 -32
  197. data/lib/telnyx/resources/llm_token_gateway/spend.rb +131 -0
  198. data/lib/telnyx/resources/llm_token_gateway/token_groups.rb +217 -0
  199. data/lib/telnyx/resources/llm_token_gateway/token_keys.rb +217 -0
  200. data/lib/telnyx/resources/llm_token_gateway/usage.rb +104 -0
  201. data/lib/telnyx/resources/llm_token_gateway.rb +34 -0
  202. data/lib/telnyx/resources/meeting_sessions.rb +6 -6
  203. data/lib/telnyx/resources/phone_numbers/jobs.rb +4 -3
  204. data/lib/telnyx/resources/reputation/numbers.rb +7 -1
  205. data/lib/telnyx/resources/sip_registration_status.rb +59 -0
  206. data/lib/telnyx/resources/spend_limits.rb +154 -0
  207. data/lib/telnyx/resources/texml.rb +5 -3
  208. data/lib/telnyx/resources/webhooks.rb +2 -2
  209. data/lib/telnyx/resources/whatsapp/phone_numbers/calling_routing.rb +91 -0
  210. data/lib/telnyx/resources/whatsapp/phone_numbers.rb +5 -0
  211. data/lib/telnyx/resources/whatsapp/signup.rb +79 -0
  212. data/lib/telnyx/resources/whatsapp.rb +4 -0
  213. data/lib/telnyx/version.rb +1 -1
  214. data/lib/telnyx.rb +106 -3
  215. data/rbi/telnyx/client.rbi +36 -0
  216. data/rbi/telnyx/models/ai/assistant_create_params.rbi +67 -0
  217. data/rbi/telnyx/models/ai/assistant_delete_params.rbi +21 -2
  218. data/rbi/telnyx/models/ai/assistant_restore_params.rbi +37 -0
  219. data/rbi/telnyx/models/ai/assistant_update_params.rbi +67 -0
  220. data/rbi/telnyx/models/ai/assistant_whatsapp_params.rbi +139 -0
  221. data/rbi/telnyx/models/ai/assistant_whatsapp_response.rbi +44 -0
  222. data/rbi/telnyx/models/ai/assistants/deleted_assistant.rbi +52 -0
  223. data/rbi/telnyx/models/ai/assistants/deleted_get_params.rbi +42 -0
  224. data/rbi/telnyx/models/ai/assistants/deleted_list_params.rbi +64 -0
  225. data/rbi/telnyx/models/ai/assistants/update_assistant.rbi +69 -0
  226. data/rbi/telnyx/models/ai/avatar_settings_request.rbi +186 -0
  227. data/rbi/telnyx/models/ai/chat_completion_request.rbi +43 -8
  228. data/rbi/telnyx/models/ai/conversation_flow_req.rbi +2 -2
  229. data/rbi/telnyx/models/ai/conversation_list_params.rbi +19 -0
  230. data/rbi/telnyx/models/ai/delegation_settings.rbi +190 -0
  231. data/rbi/telnyx/models/ai/external_llm.rbi +2 -5
  232. data/rbi/telnyx/models/ai/flow_edge.rbi +23 -9
  233. data/rbi/telnyx/models/ai/flow_node_req.rbi +16 -5
  234. data/rbi/telnyx/models/ai/inference_embedding.rbi +66 -0
  235. data/rbi/telnyx/models/ai/inference_embedding_voice_settings.rbi +276 -6
  236. data/rbi/telnyx/models/ai/memory/namespace.rbi +38 -0
  237. data/rbi/telnyx/models/ai/memory/namespace_create_params.rbi +47 -0
  238. data/rbi/telnyx/models/ai/memory/namespace_create_response.rbi +41 -0
  239. data/rbi/telnyx/models/ai/memory/namespace_delete_params.rbi +47 -0
  240. data/rbi/telnyx/models/ai/memory/namespace_list_params.rbi +34 -0
  241. data/rbi/telnyx/models/ai/memory/namespace_list_response.rbi +36 -0
  242. data/rbi/telnyx/models/ai/memory/namespaces/profile_preview_params.rbi +72 -0
  243. data/rbi/telnyx/models/ai/memory/namespaces/profile_preview_response.rbi +97 -0
  244. data/rbi/telnyx/models/ai/pay_tool_params.rbi +107 -5
  245. data/rbi/telnyx/models/ai/telephony_settings.rbi +21 -0
  246. data/rbi/telnyx/models/ai/telnyx_avatar_settings.rbi +187 -0
  247. data/rbi/telnyx/models/ai/tool_node.rbi +31 -8
  248. data/rbi/telnyx/models/ai/tool_node_req.rbi +35 -10
  249. data/rbi/telnyx/models/ai/transcription_settings.rbi +564 -0
  250. data/rbi/telnyx/models/ai/voice_settings.rbi +6 -6
  251. data/rbi/telnyx/models/ai/websocket_settings.rbi +73 -0
  252. data/rbi/telnyx/models/billing_contact.rbi +16 -2
  253. data/rbi/telnyx/models/bpo_authorization_input.rbi +46 -0
  254. data/rbi/telnyx/models/call_assistant_request.rbi +30 -3
  255. data/rbi/telnyx/models/call_conversation_created_webhook_event.rbi +415 -0
  256. data/rbi/telnyx/models/call_conversation_ended.rbi +373 -0
  257. data/rbi/telnyx/models/call_conversation_start_failed_webhook_event.rbi +488 -0
  258. data/rbi/telnyx/models/call_dial_params.rbi +68 -12
  259. data/rbi/telnyx/models/call_machine_premium_call_screening_detected_webhook_event.rbi +399 -0
  260. data/rbi/telnyx/models/call_machine_premium_detection_started_webhook_event.rbi +336 -0
  261. data/rbi/telnyx/models/call_machine_premium_greeting_ended.rbi +14 -3
  262. data/rbi/telnyx/models/calls/action_answer_params.rbi +16 -8
  263. data/rbi/telnyx/models/calls/action_gather_using_ai_params.rbi +8 -8
  264. data/rbi/telnyx/models/calls/action_pay_params.rbi +74 -0
  265. data/rbi/telnyx/models/calls/action_reject_params.rbi +22 -3
  266. data/rbi/telnyx/models/calls/action_start_ai_assistant_params.rbi +10 -6
  267. data/rbi/telnyx/models/calls/action_start_conversation_relay_params.rbi +29 -14
  268. data/rbi/telnyx/models/calls/action_transfer_params.rbi +58 -6
  269. data/rbi/telnyx/models/calls/conversation_relay_transcription_engine_config.rbi +78 -0
  270. data/rbi/telnyx/models/calls/telnyx_voice_settings.rbi +8 -6
  271. data/rbi/telnyx/models/conversation_relay_embedded_config.rbi +29 -14
  272. data/rbi/telnyx/models/conversation_relay_language.rbi +21 -6
  273. data/rbi/telnyx/models/dir/phone_number_list_params.rbi +0 -11
  274. data/rbi/telnyx/models/dir/phone_number_remove_params.rbi +9 -1
  275. data/rbi/telnyx/models/dir/reference_update_params.rbi +18 -12
  276. data/rbi/telnyx/models/dir.rbi +31 -3
  277. data/rbi/telnyx/models/dir_bpo_loa_params.rbi +66 -0
  278. data/rbi/telnyx/models/dir_delete_response.rbi +105 -0
  279. data/rbi/telnyx/models/dir_new_loa_params.rbi +10 -49
  280. data/rbi/telnyx/models/dir_retrieve_bpo_authorizations_params.rbi +66 -0
  281. data/rbi/telnyx/models/dir_retrieve_bpo_authorizations_response.rbi +235 -0
  282. data/rbi/telnyx/models/dir_status.rbi +6 -0
  283. data/rbi/telnyx/models/dir_update_infringement_params.rbi +10 -3
  284. data/rbi/telnyx/models/dir_update_params.rbi +37 -0
  285. data/rbi/telnyx/models/doc_reqs_requirement.rbi +15 -0
  286. data/rbi/telnyx/models/document.rbi +2 -0
  287. data/rbi/telnyx/models/email_template.rbi +4 -170
  288. data/rbi/telnyx/models/email_template_common.rbi +238 -0
  289. data/rbi/telnyx/models/email_template_create_params.rbi +77 -7
  290. data/rbi/telnyx/models/email_template_list_params.rbi +215 -0
  291. data/rbi/telnyx/models/email_template_render_response.rbi +13 -10
  292. data/rbi/telnyx/models/enterprise_create_params.rbi +74 -23
  293. data/rbi/telnyx/models/enterprise_list_params.rbi +55 -0
  294. data/rbi/telnyx/models/enterprise_public.rbi +176 -12
  295. data/rbi/telnyx/models/enterprise_update_params.rbi +74 -4
  296. data/rbi/telnyx/models/enterprises/dir_create_params.rbi +43 -3
  297. data/rbi/telnyx/models/enterprises/enterprise_email_verification_status_wrapped.rbi +208 -0
  298. data/rbi/telnyx/models/enterprises/enterprise_reputation_public.rbi +33 -3
  299. data/rbi/telnyx/models/enterprises/reputation/agent_input.rbi +39 -2
  300. data/rbi/telnyx/models/enterprises/reputation/external_verification_create_params.rbi +77 -0
  301. data/rbi/telnyx/models/enterprises/reputation/external_verification_list_params.rbi +42 -0
  302. data/rbi/telnyx/models/enterprises/reputation/external_verification_status.rbi +50 -0
  303. data/rbi/telnyx/models/enterprises/reputation/external_verification_wrapped.rbi +158 -0
  304. data/rbi/telnyx/models/enterprises/reputation/loa_render_params.rbi +109 -4
  305. data/rbi/telnyx/models/enterprises/reputation/number_list_params.rbi +52 -0
  306. data/rbi/telnyx/models/enterprises/reputation/number_ownership_confirm_params.rbi +75 -0
  307. data/rbi/telnyx/models/enterprises/reputation/number_retrieve_ownership_params.rbi +50 -0
  308. data/rbi/telnyx/models/enterprises/reputation/number_retrieve_ownership_response.rbi +279 -0
  309. data/rbi/telnyx/models/enterprises/reputation/remediation_request.rbi +6 -4
  310. data/rbi/telnyx/models/enterprises/reputation/reputation_number_source.rbi +47 -0
  311. data/rbi/telnyx/models/enterprises/reputation/reputation_ownership_status.rbi +64 -0
  312. data/rbi/telnyx/models/enterprises/reputation/reputation_phone_number.rbi +180 -2
  313. data/rbi/telnyx/models/enterprises/reputation_update_webhook_params.rbi +56 -0
  314. data/rbi/telnyx/models/enterprises/verify_email_confirm_params.rbi +54 -0
  315. data/rbi/telnyx/models/enterprises/verify_email_create_params.rbi +40 -0
  316. data/rbi/telnyx/models/infringement_claim.rbi +8 -0
  317. data/rbi/telnyx/models/llm_token_gateway/ai_gateway_resources_page_meta.rbi +53 -0
  318. data/rbi/telnyx/models/llm_token_gateway/budget_duration.rbi +32 -0
  319. data/rbi/telnyx/models/llm_token_gateway/guardrail_finding.rbi +131 -0
  320. data/rbi/telnyx/models/llm_token_gateway/spend_group_by.rbi +45 -0
  321. data/rbi/telnyx/models/llm_token_gateway/spend_retrieve_events_params.rbi +144 -0
  322. data/rbi/telnyx/models/llm_token_gateway/spend_retrieve_events_response.rbi +475 -0
  323. data/rbi/telnyx/models/llm_token_gateway/spend_retrieve_summary_params.rbi +154 -0
  324. data/rbi/telnyx/models/llm_token_gateway/spend_retrieve_summary_response.rbi +265 -0
  325. data/rbi/telnyx/models/llm_token_gateway/token_group.rbi +891 -0
  326. data/rbi/telnyx/models/llm_token_gateway/token_group_create_params.rbi +867 -0
  327. data/rbi/telnyx/models/llm_token_gateway/token_group_delete_params.rbi +53 -0
  328. data/rbi/telnyx/models/llm_token_gateway/token_group_list_params.rbi +71 -0
  329. data/rbi/telnyx/models/llm_token_gateway/token_group_response.rbi +35 -0
  330. data/rbi/telnyx/models/llm_token_gateway/token_group_retrieve_params.rbi +40 -0
  331. data/rbi/telnyx/models/llm_token_gateway/token_group_update_params.rbi +885 -0
  332. data/rbi/telnyx/models/llm_token_gateway/token_key.rbi +281 -0
  333. data/rbi/telnyx/models/llm_token_gateway/token_key_create_params.rbi +160 -0
  334. data/rbi/telnyx/models/llm_token_gateway/token_key_delete_params.rbi +53 -0
  335. data/rbi/telnyx/models/llm_token_gateway/token_key_list_params.rbi +89 -0
  336. data/rbi/telnyx/models/llm_token_gateway/token_key_response.rbi +35 -0
  337. data/rbi/telnyx/models/llm_token_gateway/token_key_retrieve_params.rbi +40 -0
  338. data/rbi/telnyx/models/llm_token_gateway/token_key_update_params.rbi +165 -0
  339. data/rbi/telnyx/models/llm_token_gateway/usage_retrieve_export_params.rbi +86 -0
  340. data/rbi/telnyx/models/llm_token_gateway/usage_retrieve_export_response.rbi +991 -0
  341. data/rbi/telnyx/models/llm_token_gateway/usage_retrieve_summary_params.rbi +77 -0
  342. data/rbi/telnyx/models/llm_token_gateway/usage_retrieve_summary_response.rbi +828 -0
  343. data/rbi/telnyx/models/meeting_session_delete_recording_media_response.rbi +1 -1
  344. data/rbi/telnyx/models/meeting_session_retrieve_recordings_response.rbi +2 -4
  345. data/rbi/telnyx/models/model_metadata.rbi +16 -4
  346. data/rbi/telnyx/models/number_reputation_external_verification_status_changed_webhook_event.rbi +384 -0
  347. data/rbi/telnyx/models/number_reputation_number_flagged_webhook_event.rbi +425 -0
  348. data/rbi/telnyx/models/number_reputation_number_removed_webhook_event.rbi +440 -0
  349. data/rbi/telnyx/models/organization_contact.rbi +14 -2
  350. data/rbi/telnyx/models/phone_numbers/job_list_params.rbi +27 -3
  351. data/rbi/telnyx/models/physical_address.rbi +12 -0
  352. data/rbi/telnyx/models/porting_order.rbi +7 -0
  353. data/rbi/telnyx/models/porting_orders/porting_phone_number_block.rbi +10 -0
  354. data/rbi/telnyx/models/porting_phone_number.rbi +10 -0
  355. data/rbi/telnyx/models/reputation/number_list_params.rbi +52 -0
  356. data/rbi/telnyx/models/requirement_list_params.rbi +15 -0
  357. data/rbi/telnyx/models/signature_payload.rbi +43 -0
  358. data/rbi/telnyx/models/sip_registration_status_list_params.rbi +124 -0
  359. data/rbi/telnyx/models/sip_registration_status_list_response.rbi +429 -0
  360. data/rbi/telnyx/models/spend_limit.rbi +385 -0
  361. data/rbi/telnyx/models/spend_limit_create_params.rbi +301 -0
  362. data/rbi/telnyx/models/spend_limit_delete_params.rbi +63 -0
  363. data/rbi/telnyx/models/spend_limit_list_params.rbi +27 -0
  364. data/rbi/telnyx/models/spend_limit_list_response.rbi +109 -0
  365. data/rbi/telnyx/models/spend_limit_period.rbi +20 -0
  366. data/rbi/telnyx/models/spend_limit_response.rbi +30 -0
  367. data/rbi/telnyx/models/spend_limit_update_params.rbi +280 -0
  368. data/rbi/telnyx/models/terms_of_service/tos_agreement.rbi +8 -0
  369. data/rbi/telnyx/models/terms_of_service_retrieve_info_response.rbi +8 -0
  370. data/rbi/telnyx/models/terms_of_service_retrieve_status_response.rbi +2 -0
  371. data/rbi/telnyx/models/texml_initiate_ai_call_params.rbi +6 -2
  372. data/rbi/telnyx/models/text_to_speech_generate_speech_params.rbi +8 -4
  373. data/rbi/telnyx/models/unsafe_unwrap_webhook_event.rbi +9 -1
  374. data/rbi/telnyx/models/unwrap_webhook_event.rbi +9 -1
  375. data/rbi/telnyx/models/update_email_template_request.rbi +78 -6
  376. data/rbi/telnyx/models/whatsapp/phone_numbers/calling_routing_list_params.rbi +42 -0
  377. data/rbi/telnyx/models/whatsapp/phone_numbers/calling_routing_list_response.rbi +51 -0
  378. data/rbi/telnyx/models/whatsapp/phone_numbers/calling_routing_patch_all_params.rbi +94 -0
  379. data/rbi/telnyx/models/whatsapp/phone_numbers/calling_routing_patch_all_response.rbi +51 -0
  380. data/rbi/telnyx/models/whatsapp/phone_numbers/whatsapp_calling_routing_data.rbi +96 -0
  381. data/rbi/telnyx/models/whatsapp/signup_list_params.rbi +99 -0
  382. data/rbi/telnyx/models/whatsapp/signup_list_response.rbi +313 -0
  383. data/rbi/telnyx/models/whatsapp/signup_retrieve_status_params.rbi +40 -0
  384. data/rbi/telnyx/models/whatsapp/signup_retrieve_status_response.rbi +363 -0
  385. data/rbi/telnyx/models/whatsapp_waba_added_webhook_event.rbi +324 -0
  386. data/rbi/telnyx/models.rbi +53 -0
  387. data/rbi/telnyx/resources/ai/assistants/deleted.rbi +58 -0
  388. data/rbi/telnyx/resources/ai/assistants/versions.rbi +22 -0
  389. data/rbi/telnyx/resources/ai/assistants.rbi +142 -0
  390. data/rbi/telnyx/resources/ai/conversations.rbi +7 -0
  391. data/rbi/telnyx/resources/ai/memory/namespaces/profiles.rbi +35 -0
  392. data/rbi/telnyx/resources/ai/memory/namespaces.rbi +39 -1
  393. data/rbi/telnyx/resources/ai/memory.rbi +0 -1
  394. data/rbi/telnyx/resources/ai/openai/chat.rbi +21 -2
  395. data/rbi/telnyx/resources/ai/tools.rbi +1 -1
  396. data/rbi/telnyx/resources/calls/actions.rbi +91 -20
  397. data/rbi/telnyx/resources/calls.rbi +28 -5
  398. data/rbi/telnyx/resources/dir/phone_numbers.rbi +6 -7
  399. data/rbi/telnyx/resources/dir/references.rbi +9 -6
  400. data/rbi/telnyx/resources/dir.rbi +103 -14
  401. data/rbi/telnyx/resources/email_templates.rbi +68 -6
  402. data/rbi/telnyx/resources/enterprises/dir.rbi +23 -3
  403. data/rbi/telnyx/resources/enterprises/reputation/external_verification.rbi +65 -0
  404. data/rbi/telnyx/resources/enterprises/reputation/loa.rbi +2 -1
  405. data/rbi/telnyx/resources/enterprises/reputation/numbers.rbi +78 -2
  406. data/rbi/telnyx/resources/enterprises/reputation.rbi +29 -0
  407. data/rbi/telnyx/resources/enterprises/verify_email.rbi +64 -0
  408. data/rbi/telnyx/resources/enterprises.rbi +105 -19
  409. data/rbi/telnyx/resources/llm_token_gateway/spend.rbi +116 -0
  410. data/rbi/telnyx/resources/llm_token_gateway/token_groups.rbi +278 -0
  411. data/rbi/telnyx/resources/llm_token_gateway/token_keys.rbi +220 -0
  412. data/rbi/telnyx/resources/llm_token_gateway/usage.rbi +90 -0
  413. data/rbi/telnyx/resources/llm_token_gateway.rbi +28 -0
  414. data/rbi/telnyx/resources/meeting_sessions.rbi +6 -6
  415. data/rbi/telnyx/resources/phone_numbers/jobs.rbi +6 -4
  416. data/rbi/telnyx/resources/reputation/numbers.rbi +10 -0
  417. data/rbi/telnyx/resources/sip_registration_status.rbi +52 -0
  418. data/rbi/telnyx/resources/spend_limits.rbi +126 -0
  419. data/rbi/telnyx/resources/texml.rbi +7 -3
  420. data/rbi/telnyx/resources/webhooks.rbi +18 -2
  421. data/rbi/telnyx/resources/whatsapp/phone_numbers/calling_routing.rbi +82 -0
  422. data/rbi/telnyx/resources/whatsapp/phone_numbers.rbi +6 -0
  423. data/rbi/telnyx/resources/whatsapp/signup.rbi +61 -0
  424. data/rbi/telnyx/resources/whatsapp.rbi +3 -0
  425. data/sig/telnyx/client.rbs +6 -0
  426. data/sig/telnyx/models/ai/assistant_create_params.rbs +23 -0
  427. data/sig/telnyx/models/ai/assistant_delete_params.rbs +8 -1
  428. data/sig/telnyx/models/ai/assistant_restore_params.rbs +25 -0
  429. data/sig/telnyx/models/ai/assistant_update_params.rbs +23 -0
  430. data/sig/telnyx/models/ai/assistant_whatsapp_params.rbs +67 -0
  431. data/sig/telnyx/models/ai/assistant_whatsapp_response.rbs +18 -0
  432. data/sig/telnyx/models/ai/assistants/deleted_assistant.rbs +29 -0
  433. data/sig/telnyx/models/ai/assistants/deleted_get_params.rbs +27 -0
  434. data/sig/telnyx/models/ai/assistants/deleted_list_params.rbs +36 -0
  435. data/sig/telnyx/models/ai/assistants/update_assistant.rbs +23 -0
  436. data/sig/telnyx/models/ai/avatar_settings_request.rbs +74 -0
  437. data/sig/telnyx/models/ai/chat_completion_request.rbs +4 -6
  438. data/sig/telnyx/models/ai/conversation_list_params.rbs +7 -0
  439. data/sig/telnyx/models/ai/delegation_settings.rbs +79 -0
  440. data/sig/telnyx/models/ai/inference_embedding.rbs +23 -0
  441. data/sig/telnyx/models/ai/inference_embedding_voice_settings.rbs +96 -0
  442. data/sig/telnyx/models/ai/memory/namespace.rbs +19 -0
  443. data/sig/telnyx/models/ai/memory/namespace_create_params.rbs +27 -0
  444. data/sig/telnyx/models/ai/memory/namespace_create_response.rbs +17 -0
  445. data/sig/telnyx/models/ai/memory/namespace_delete_params.rbs +27 -0
  446. data/sig/telnyx/models/ai/memory/namespace_list_params.rbs +19 -0
  447. data/sig/telnyx/models/ai/memory/namespace_list_response.rbs +18 -0
  448. data/sig/telnyx/models/ai/memory/namespaces/profile_preview_params.rbs +38 -0
  449. data/sig/telnyx/models/ai/memory/namespaces/profile_preview_response.rbs +38 -0
  450. data/sig/telnyx/models/ai/pay_tool_params.rbs +46 -3
  451. data/sig/telnyx/models/ai/telephony_settings.rbs +7 -0
  452. data/sig/telnyx/models/ai/telnyx_avatar_settings.rbs +74 -0
  453. data/sig/telnyx/models/ai/tool_node.rbs +7 -0
  454. data/sig/telnyx/models/ai/tool_node_req.rbs +7 -0
  455. data/sig/telnyx/models/ai/transcription_settings.rbs +159 -0
  456. data/sig/telnyx/models/ai/websocket_settings.rbs +29 -0
  457. data/sig/telnyx/models/bpo_authorization_input.rbs +19 -0
  458. data/sig/telnyx/models/call_assistant_request.rbs +9 -0
  459. data/sig/telnyx/models/call_conversation_created_webhook_event.rbs +190 -0
  460. data/sig/telnyx/models/call_conversation_ended.rbs +137 -0
  461. data/sig/telnyx/models/call_conversation_start_failed_webhook_event.rbs +210 -0
  462. data/sig/telnyx/models/call_dial_params.rbs +9 -0
  463. data/sig/telnyx/models/call_machine_premium_call_screening_detected_webhook_event.rbs +177 -0
  464. data/sig/telnyx/models/call_machine_premium_detection_started_webhook_event.rbs +156 -0
  465. data/sig/telnyx/models/call_machine_premium_greeting_ended.rbs +2 -1
  466. data/sig/telnyx/models/calls/action_pay_params.rbs +24 -0
  467. data/sig/telnyx/models/calls/action_reject_params.rbs +4 -1
  468. data/sig/telnyx/models/calls/action_start_conversation_relay_params.rbs +6 -6
  469. data/sig/telnyx/models/calls/action_transfer_params.rbs +9 -0
  470. data/sig/telnyx/models/calls/conversation_relay_transcription_engine_config.rbs +38 -0
  471. data/sig/telnyx/models/conversation_relay_embedded_config.rbs +6 -6
  472. data/sig/telnyx/models/conversation_relay_language.rbs +6 -6
  473. data/sig/telnyx/models/dir/phone_number_list_params.rbs +1 -14
  474. data/sig/telnyx/models/dir.rbs +13 -3
  475. data/sig/telnyx/models/dir_bpo_loa_params.rbs +38 -0
  476. data/sig/telnyx/models/dir_delete_response.rbs +42 -0
  477. data/sig/telnyx/models/dir_new_loa_params.rbs +5 -19
  478. data/sig/telnyx/models/dir_retrieve_bpo_authorizations_params.rbs +36 -0
  479. data/sig/telnyx/models/dir_retrieve_bpo_authorizations_response.rbs +84 -0
  480. data/sig/telnyx/models/dir_status.rbs +2 -0
  481. data/sig/telnyx/models/dir_update_params.rbs +15 -1
  482. data/sig/telnyx/models/doc_reqs_requirement.rbs +5 -1
  483. data/sig/telnyx/models/email_template.rbs +6 -90
  484. data/sig/telnyx/models/email_template_common.rbs +110 -0
  485. data/sig/telnyx/models/email_template_create_params.rbs +23 -5
  486. data/sig/telnyx/models/email_template_list_params.rbs +74 -1
  487. data/sig/telnyx/models/email_template_render_response.rbs +8 -4
  488. data/sig/telnyx/models/enterprise_list_params.rbs +20 -0
  489. data/sig/telnyx/models/enterprise_public.rbs +40 -5
  490. data/sig/telnyx/models/enterprises/dir_create_params.rbs +15 -1
  491. data/sig/telnyx/models/enterprises/enterprise_email_verification_status_wrapped.rbs +82 -0
  492. data/sig/telnyx/models/enterprises/enterprise_reputation_public.rbs +13 -3
  493. data/sig/telnyx/models/enterprises/reputation/external_verification_create_params.rbs +42 -0
  494. data/sig/telnyx/models/enterprises/reputation/external_verification_list_params.rbs +27 -0
  495. data/sig/telnyx/models/enterprises/reputation/external_verification_status.rbs +19 -0
  496. data/sig/telnyx/models/enterprises/reputation/external_verification_wrapped.rbs +81 -0
  497. data/sig/telnyx/models/enterprises/reputation/loa_render_params.rbs +78 -6
  498. data/sig/telnyx/models/enterprises/reputation/number_list_params.rbs +18 -0
  499. data/sig/telnyx/models/enterprises/reputation/number_ownership_confirm_params.rbs +47 -0
  500. data/sig/telnyx/models/enterprises/reputation/number_retrieve_ownership_params.rbs +32 -0
  501. data/sig/telnyx/models/enterprises/reputation/number_retrieve_ownership_response.rbs +122 -0
  502. data/sig/telnyx/models/enterprises/reputation/reputation_number_source.rbs +20 -0
  503. data/sig/telnyx/models/enterprises/reputation/reputation_ownership_status.rbs +23 -0
  504. data/sig/telnyx/models/enterprises/reputation/reputation_phone_number.rbs +57 -0
  505. data/sig/telnyx/models/enterprises/reputation_update_webhook_params.rbs +30 -0
  506. data/sig/telnyx/models/enterprises/verify_email_confirm_params.rbs +30 -0
  507. data/sig/telnyx/models/enterprises/verify_email_create_params.rbs +25 -0
  508. data/sig/telnyx/models/llm_token_gateway/ai_gateway_resources_page_meta.rbs +37 -0
  509. data/sig/telnyx/models/llm_token_gateway/budget_duration.rbs +17 -0
  510. data/sig/telnyx/models/llm_token_gateway/guardrail_finding.rbs +60 -0
  511. data/sig/telnyx/models/llm_token_gateway/spend_group_by.rbs +19 -0
  512. data/sig/telnyx/models/llm_token_gateway/spend_retrieve_events_params.rbs +93 -0
  513. data/sig/telnyx/models/llm_token_gateway/spend_retrieve_events_response.rbs +226 -0
  514. data/sig/telnyx/models/llm_token_gateway/spend_retrieve_summary_params.rbs +94 -0
  515. data/sig/telnyx/models/llm_token_gateway/spend_retrieve_summary_response.rbs +153 -0
  516. data/sig/telnyx/models/llm_token_gateway/token_group.rbs +356 -0
  517. data/sig/telnyx/models/llm_token_gateway/token_group_create_params.rbs +326 -0
  518. data/sig/telnyx/models/llm_token_gateway/token_group_delete_params.rbs +34 -0
  519. data/sig/telnyx/models/llm_token_gateway/token_group_list_params.rbs +40 -0
  520. data/sig/telnyx/models/llm_token_gateway/token_group_response.rbs +15 -0
  521. data/sig/telnyx/models/llm_token_gateway/token_group_retrieve_params.rbs +22 -0
  522. data/sig/telnyx/models/llm_token_gateway/token_group_update_params.rbs +340 -0
  523. data/sig/telnyx/models/llm_token_gateway/token_key.rbs +147 -0
  524. data/sig/telnyx/models/llm_token_gateway/token_key_create_params.rbs +92 -0
  525. data/sig/telnyx/models/llm_token_gateway/token_key_delete_params.rbs +34 -0
  526. data/sig/telnyx/models/llm_token_gateway/token_key_list_params.rbs +58 -0
  527. data/sig/telnyx/models/llm_token_gateway/token_key_response.rbs +15 -0
  528. data/sig/telnyx/models/llm_token_gateway/token_key_retrieve_params.rbs +22 -0
  529. data/sig/telnyx/models/llm_token_gateway/token_key_update_params.rbs +94 -0
  530. data/sig/telnyx/models/llm_token_gateway/usage_retrieve_export_params.rbs +46 -0
  531. data/sig/telnyx/models/llm_token_gateway/usage_retrieve_export_response.rbs +463 -0
  532. data/sig/telnyx/models/llm_token_gateway/usage_retrieve_summary_params.rbs +45 -0
  533. data/sig/telnyx/models/llm_token_gateway/usage_retrieve_summary_response.rbs +433 -0
  534. data/sig/telnyx/models/meeting_session_delete_recording_media_response.rbs +4 -4
  535. data/sig/telnyx/models/number_reputation_external_verification_status_changed_webhook_event.rbs +153 -0
  536. data/sig/telnyx/models/number_reputation_number_flagged_webhook_event.rbs +172 -0
  537. data/sig/telnyx/models/number_reputation_number_removed_webhook_event.rbs +178 -0
  538. data/sig/telnyx/models/phone_numbers/job_list_params.rbs +7 -0
  539. data/sig/telnyx/models/porting_order.rbs +10 -1
  540. data/sig/telnyx/models/porting_orders/porting_phone_number_block.rbs +10 -1
  541. data/sig/telnyx/models/porting_phone_number.rbs +10 -1
  542. data/sig/telnyx/models/reputation/number_list_params.rbs +18 -0
  543. data/sig/telnyx/models/requirement_list_params.rbs +10 -1
  544. data/sig/telnyx/models/signature_payload.rbs +15 -0
  545. data/sig/telnyx/models/sip_registration_status_list_params.rbs +55 -0
  546. data/sig/telnyx/models/sip_registration_status_list_response.rbs +195 -0
  547. data/sig/telnyx/models/spend_limit.rbs +208 -0
  548. data/sig/telnyx/models/spend_limit_create_params.rbs +139 -0
  549. data/sig/telnyx/models/spend_limit_delete_params.rbs +42 -0
  550. data/sig/telnyx/models/spend_limit_list_params.rbs +15 -0
  551. data/sig/telnyx/models/spend_limit_list_response.rbs +69 -0
  552. data/sig/telnyx/models/spend_limit_period.rbs +14 -0
  553. data/sig/telnyx/models/spend_limit_response.rbs +13 -0
  554. data/sig/telnyx/models/spend_limit_update_params.rbs +127 -0
  555. data/sig/telnyx/models/unsafe_unwrap_webhook_event.rbs +8 -0
  556. data/sig/telnyx/models/unwrap_webhook_event.rbs +8 -0
  557. data/sig/telnyx/models/update_email_template_request.rbs +23 -5
  558. data/sig/telnyx/models/whatsapp/phone_numbers/calling_routing_list_params.rbs +27 -0
  559. data/sig/telnyx/models/whatsapp/phone_numbers/calling_routing_list_response.rbs +22 -0
  560. data/sig/telnyx/models/whatsapp/phone_numbers/calling_routing_patch_all_params.rbs +43 -0
  561. data/sig/telnyx/models/whatsapp/phone_numbers/calling_routing_patch_all_response.rbs +22 -0
  562. data/sig/telnyx/models/whatsapp/phone_numbers/whatsapp_calling_routing_data.rbs +44 -0
  563. data/sig/telnyx/models/whatsapp/signup_list_params.rbs +65 -0
  564. data/sig/telnyx/models/whatsapp/signup_list_response.rbs +139 -0
  565. data/sig/telnyx/models/whatsapp/signup_retrieve_status_params.rbs +22 -0
  566. data/sig/telnyx/models/whatsapp/signup_retrieve_status_response.rbs +158 -0
  567. data/sig/telnyx/models/whatsapp_waba_added_webhook_event.rbs +140 -0
  568. data/sig/telnyx/models.rbs +44 -0
  569. data/sig/telnyx/resources/ai/assistants/deleted.rbs +22 -0
  570. data/sig/telnyx/resources/ai/assistants/versions.rbs +3 -0
  571. data/sig/telnyx/resources/ai/assistants.rbs +24 -0
  572. data/sig/telnyx/resources/ai/conversations.rbs +1 -0
  573. data/sig/telnyx/resources/ai/memory/namespaces/profiles.rbs +7 -0
  574. data/sig/telnyx/resources/ai/memory/namespaces.rbs +14 -0
  575. data/sig/telnyx/resources/ai/openai/chat.rbs +1 -1
  576. data/sig/telnyx/resources/ai/tools.rbs +1 -1
  577. data/sig/telnyx/resources/calls/actions.rbs +3 -1
  578. data/sig/telnyx/resources/dir/phone_numbers.rbs +0 -1
  579. data/sig/telnyx/resources/dir.rbs +21 -2
  580. data/sig/telnyx/resources/email_templates.rbs +10 -3
  581. data/sig/telnyx/resources/enterprises/dir.rbs +2 -0
  582. data/sig/telnyx/resources/enterprises/reputation/external_verification.rbs +23 -0
  583. data/sig/telnyx/resources/enterprises/reputation/loa.rbs +1 -1
  584. data/sig/telnyx/resources/enterprises/reputation/numbers.rbs +16 -0
  585. data/sig/telnyx/resources/enterprises/reputation.rbs +8 -0
  586. data/sig/telnyx/resources/enterprises/verify_email.rbs +20 -0
  587. data/sig/telnyx/resources/enterprises.rbs +3 -0
  588. data/sig/telnyx/resources/llm_token_gateway/spend.rbs +38 -0
  589. data/sig/telnyx/resources/llm_token_gateway/token_groups.rbs +66 -0
  590. data/sig/telnyx/resources/llm_token_gateway/token_keys.rbs +64 -0
  591. data/sig/telnyx/resources/llm_token_gateway/usage.rbs +25 -0
  592. data/sig/telnyx/resources/llm_token_gateway.rbs +15 -0
  593. data/sig/telnyx/resources/reputation/numbers.rbs +2 -0
  594. data/sig/telnyx/resources/sip_registration_status.rbs +14 -0
  595. data/sig/telnyx/resources/spend_limits.rbs +30 -0
  596. data/sig/telnyx/resources/webhooks.rbs +18 -2
  597. data/sig/telnyx/resources/whatsapp/phone_numbers/calling_routing.rbs +22 -0
  598. data/sig/telnyx/resources/whatsapp/phone_numbers.rbs +2 -0
  599. data/sig/telnyx/resources/whatsapp/signup.rbs +24 -0
  600. data/sig/telnyx/resources/whatsapp.rbs +2 -0
  601. metadata +314 -5
  602. data/lib/telnyx/models/ai/tool_delete_response.rb +0 -10
  603. data/rbi/telnyx/models/ai/tool_delete_response.rbi +0 -9
  604. data/sig/telnyx/models/ai/tool_delete_response.rbs +0 -7
@@ -0,0 +1,186 @@
1
+ # typed: strong
2
+
3
+ module Telnyx
4
+ module Models
5
+ module AI
6
+ class AvatarSettingsRequest < Telnyx::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(Telnyx::AI::AvatarSettingsRequest, Telnyx::Internal::AnyHash)
10
+ end
11
+
12
+ # The Telnyx avatar to render.
13
+ sig { returns(Telnyx::AI::AvatarSettingsRequest::AvatarID::OrSymbol) }
14
+ attr_accessor :avatar_id
15
+
16
+ # The background to render.
17
+ sig do
18
+ returns(Telnyx::AI::AvatarSettingsRequest::BackgroundID::OrSymbol)
19
+ end
20
+ attr_accessor :background_id
21
+
22
+ # Required avatar model identifier, separate from `avatar_id`. The supported value
23
+ # is `foxtrot-1`. Omission, null, and unsupported model identifiers are rejected.
24
+ sig { returns(Telnyx::AI::AvatarSettingsRequest::Model::OrSymbol) }
25
+ attr_accessor :model
26
+
27
+ # Selects the Telnyx open-source avatar provider.
28
+ sig { returns(Symbol) }
29
+ attr_accessor :provider
30
+
31
+ # **Beta:** Configuration for the Telnyx open-source avatar provider. The launch
32
+ # catalog supports six avatars and office, studio, or reception backgrounds.
33
+ sig do
34
+ params(
35
+ avatar_id: Telnyx::AI::AvatarSettingsRequest::AvatarID::OrSymbol,
36
+ background_id:
37
+ Telnyx::AI::AvatarSettingsRequest::BackgroundID::OrSymbol,
38
+ model: Telnyx::AI::AvatarSettingsRequest::Model::OrSymbol,
39
+ provider: Symbol
40
+ ).returns(T.attached_class)
41
+ end
42
+ def self.new(
43
+ # The Telnyx avatar to render.
44
+ avatar_id:,
45
+ # The background to render.
46
+ background_id:,
47
+ # Required avatar model identifier, separate from `avatar_id`. The supported value
48
+ # is `foxtrot-1`. Omission, null, and unsupported model identifiers are rejected.
49
+ model:,
50
+ # Selects the Telnyx open-source avatar provider.
51
+ provider: :telnyx
52
+ )
53
+ end
54
+
55
+ sig do
56
+ override.returns(
57
+ {
58
+ avatar_id: Telnyx::AI::AvatarSettingsRequest::AvatarID::OrSymbol,
59
+ background_id:
60
+ Telnyx::AI::AvatarSettingsRequest::BackgroundID::OrSymbol,
61
+ model: Telnyx::AI::AvatarSettingsRequest::Model::OrSymbol,
62
+ provider: Symbol
63
+ }
64
+ )
65
+ end
66
+ def to_hash
67
+ end
68
+
69
+ # The Telnyx avatar to render.
70
+ module AvatarID
71
+ extend Telnyx::Internal::Type::Enum
72
+
73
+ TaggedSymbol =
74
+ T.type_alias do
75
+ T.all(Symbol, Telnyx::AI::AvatarSettingsRequest::AvatarID)
76
+ end
77
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
78
+
79
+ ELENA =
80
+ T.let(
81
+ :elena,
82
+ Telnyx::AI::AvatarSettingsRequest::AvatarID::TaggedSymbol
83
+ )
84
+ BEN =
85
+ T.let(
86
+ :ben,
87
+ Telnyx::AI::AvatarSettingsRequest::AvatarID::TaggedSymbol
88
+ )
89
+ JORDAN =
90
+ T.let(
91
+ :jordan,
92
+ Telnyx::AI::AvatarSettingsRequest::AvatarID::TaggedSymbol
93
+ )
94
+ LIN =
95
+ T.let(
96
+ :lin,
97
+ Telnyx::AI::AvatarSettingsRequest::AvatarID::TaggedSymbol
98
+ )
99
+ AVERY =
100
+ T.let(
101
+ :avery,
102
+ Telnyx::AI::AvatarSettingsRequest::AvatarID::TaggedSymbol
103
+ )
104
+ RAPHAEL =
105
+ T.let(
106
+ :raphael,
107
+ Telnyx::AI::AvatarSettingsRequest::AvatarID::TaggedSymbol
108
+ )
109
+
110
+ sig do
111
+ override.returns(
112
+ T::Array[
113
+ Telnyx::AI::AvatarSettingsRequest::AvatarID::TaggedSymbol
114
+ ]
115
+ )
116
+ end
117
+ def self.values
118
+ end
119
+ end
120
+
121
+ # The background to render.
122
+ module BackgroundID
123
+ extend Telnyx::Internal::Type::Enum
124
+
125
+ TaggedSymbol =
126
+ T.type_alias do
127
+ T.all(Symbol, Telnyx::AI::AvatarSettingsRequest::BackgroundID)
128
+ end
129
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
130
+
131
+ OFFICE =
132
+ T.let(
133
+ :office,
134
+ Telnyx::AI::AvatarSettingsRequest::BackgroundID::TaggedSymbol
135
+ )
136
+ STUDIO =
137
+ T.let(
138
+ :studio,
139
+ Telnyx::AI::AvatarSettingsRequest::BackgroundID::TaggedSymbol
140
+ )
141
+ RECEPTION =
142
+ T.let(
143
+ :reception,
144
+ Telnyx::AI::AvatarSettingsRequest::BackgroundID::TaggedSymbol
145
+ )
146
+
147
+ sig do
148
+ override.returns(
149
+ T::Array[
150
+ Telnyx::AI::AvatarSettingsRequest::BackgroundID::TaggedSymbol
151
+ ]
152
+ )
153
+ end
154
+ def self.values
155
+ end
156
+ end
157
+
158
+ # Required avatar model identifier, separate from `avatar_id`. The supported value
159
+ # is `foxtrot-1`. Omission, null, and unsupported model identifiers are rejected.
160
+ module Model
161
+ extend Telnyx::Internal::Type::Enum
162
+
163
+ TaggedSymbol =
164
+ T.type_alias do
165
+ T.all(Symbol, Telnyx::AI::AvatarSettingsRequest::Model)
166
+ end
167
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
168
+
169
+ FOXTROT_1 =
170
+ T.let(
171
+ :"foxtrot-1",
172
+ Telnyx::AI::AvatarSettingsRequest::Model::TaggedSymbol
173
+ )
174
+
175
+ sig do
176
+ override.returns(
177
+ T::Array[Telnyx::AI::AvatarSettingsRequest::Model::TaggedSymbol]
178
+ )
179
+ end
180
+ def self.values
181
+ end
182
+ end
183
+ end
184
+ end
185
+ end
186
+ end
@@ -72,12 +72,28 @@ module Telnyx
72
72
  sig { params(logprobs: T::Boolean).void }
73
73
  attr_writer :logprobs
74
74
 
75
- # Maximum number of completion tokens the model should generate.
75
+ # Maximum number of completion (output) tokens, including reasoning and answer
76
+ # tokens combined. An omitted or null limit defaults to 8192 unless the model is
77
+ # excluded from that default; excluded models leave the limit to the serving
78
+ # engine. Explicit values and applied defaults are clamped to the model's
79
+ # max_completion_tokens metadata when that ceiling is set (see GET
80
+ # /v2/ai/openai/models). An omitted limit on an excluded model remains unset even
81
+ # when metadata declares a ceiling. Input and output together must fit the model's
82
+ # context window. Set an explicit limit when a bounded generation budget is
83
+ # required. For current Telnyx-hosted models, omitted or null limits default to
84
+ # 8192 for `zai-org/GLM-5.3`, `zai-org/GLM-5.3-Flash` and
85
+ # `deepseek-ai/DeepSeek-V4.1-Flash`. The hosted exclusions are
86
+ # `moonshotai/Kimi-K3`, `moonshotai/Kimi-K2.6`, `moonshotai/Kimi-K2.5`,
87
+ # `zai-org/GLM-5.2`, `zai-org/GLM-5.1-FP8`, `MiniMaxAI/MiniMax-M3-MXFP8`,
88
+ # `MiniMaxAI/MiniMax-M2.7`, `Qwen/Qwen3.8-27B`, `Qwen/Qwen3-235B-A22B`,
89
+ # `deepseek-ai/DeepSeek-V4-Flash-0731`, `meta-llama/Llama-3.3-70B-Instruct`,
90
+ # `meta-llama/Meta-Llama-3.1-70B-Instruct`,
91
+ # `meta-llama/Meta-Llama-3.1-8B-Instruct` and `google/gemma-2b-it`. Legacy
92
+ # external and fine-tuned model IDs can also bypass the default; model discovery
93
+ # reports completion ceilings, not whether this default applies. Set an explicit
94
+ # limit for predictable behavior across models.
76
95
  sig { returns(T.nilable(Integer)) }
77
- attr_reader :max_tokens
78
-
79
- sig { params(max_tokens: Integer).void }
80
- attr_writer :max_tokens
96
+ attr_accessor :max_tokens
81
97
 
82
98
  # This is an alternative to `top_p` that
83
99
  # [many prefer](https://github.com/huggingface/transformers/issues/27670). Must be
@@ -323,7 +339,7 @@ module Telnyx
323
339
  frequency_penalty: Float,
324
340
  length_penalty: Float,
325
341
  logprobs: T::Boolean,
326
- max_tokens: Integer,
342
+ max_tokens: T.nilable(Integer),
327
343
  min_p: Float,
328
344
  mode: Telnyx::AI::ChatCompletionRequest::Mode::OrSymbol,
329
345
  model: String,
@@ -384,7 +400,26 @@ module Telnyx
384
400
  # returns the log probabilities of each output token returned in the `content` of
385
401
  # `message`.
386
402
  logprobs: nil,
387
- # Maximum number of completion tokens the model should generate.
403
+ # Maximum number of completion (output) tokens, including reasoning and answer
404
+ # tokens combined. An omitted or null limit defaults to 8192 unless the model is
405
+ # excluded from that default; excluded models leave the limit to the serving
406
+ # engine. Explicit values and applied defaults are clamped to the model's
407
+ # max_completion_tokens metadata when that ceiling is set (see GET
408
+ # /v2/ai/openai/models). An omitted limit on an excluded model remains unset even
409
+ # when metadata declares a ceiling. Input and output together must fit the model's
410
+ # context window. Set an explicit limit when a bounded generation budget is
411
+ # required. For current Telnyx-hosted models, omitted or null limits default to
412
+ # 8192 for `zai-org/GLM-5.3`, `zai-org/GLM-5.3-Flash` and
413
+ # `deepseek-ai/DeepSeek-V4.1-Flash`. The hosted exclusions are
414
+ # `moonshotai/Kimi-K3`, `moonshotai/Kimi-K2.6`, `moonshotai/Kimi-K2.5`,
415
+ # `zai-org/GLM-5.2`, `zai-org/GLM-5.1-FP8`, `MiniMaxAI/MiniMax-M3-MXFP8`,
416
+ # `MiniMaxAI/MiniMax-M2.7`, `Qwen/Qwen3.8-27B`, `Qwen/Qwen3-235B-A22B`,
417
+ # `deepseek-ai/DeepSeek-V4-Flash-0731`, `meta-llama/Llama-3.3-70B-Instruct`,
418
+ # `meta-llama/Meta-Llama-3.1-70B-Instruct`,
419
+ # `meta-llama/Meta-Llama-3.1-8B-Instruct` and `google/gemma-2b-it`. Legacy
420
+ # external and fine-tuned model IDs can also bypass the default; model discovery
421
+ # reports completion ceilings, not whether this default applies. Set an explicit
422
+ # limit for predictable behavior across models.
388
423
  max_tokens: nil,
389
424
  # This is an alternative to `top_p` that
390
425
  # [many prefer](https://github.com/huggingface/transformers/issues/27670). Must be
@@ -468,7 +503,7 @@ module Telnyx
468
503
  frequency_penalty: Float,
469
504
  length_penalty: Float,
470
505
  logprobs: T::Boolean,
471
- max_tokens: Integer,
506
+ max_tokens: T.nilable(Integer),
472
507
  min_p: Float,
473
508
  mode: Telnyx::AI::ChatCompletionRequest::Mode::OrSymbol,
474
509
  model: String,
@@ -10,7 +10,7 @@ module Telnyx
10
10
  end
11
11
 
12
12
  # All nodes in the flow. Must contain `start_node_id`. Each node is a prompt node
13
- # (`type: prompt`) or a tool node (`type: tool`).
13
+ # (`type: prompt`), a tool node (`type: tool`), or a speak node (`type: speak`).
14
14
  sig do
15
15
  returns(
16
16
  T::Array[
@@ -56,7 +56,7 @@ module Telnyx
56
56
  end
57
57
  def self.new(
58
58
  # All nodes in the flow. Must contain `start_node_id`. Each node is a prompt node
59
- # (`type: prompt`) or a tool node (`type: tool`).
59
+ # (`type: prompt`), a tool node (`type: tool`), or a speak node (`type: speak`).
60
60
  nodes:,
61
61
  # ID of the node where the conversation begins.
62
62
  start_node_id:,
@@ -47,6 +47,17 @@ module Telnyx
47
47
  sig { params(metadata_assistant_id: String).void }
48
48
  attr_writer :metadata_assistant_id
49
49
 
50
+ # Filter by assistant version ID (e.g.,
51
+ # `metadata->assistant_version_id=eq.20250812T114318034399`). The version that
52
+ # handled the conversation is stored in metadata when the conversation starts;
53
+ # conversations created before this field was tracked, or that never resolved a
54
+ # version, have no `assistant_version_id` and do not match this filter.
55
+ sig { returns(T.nilable(String)) }
56
+ attr_reader :metadata_assistant_version_id
57
+
58
+ sig { params(metadata_assistant_version_id: String).void }
59
+ attr_writer :metadata_assistant_version_id
60
+
50
61
  # Filter by call control ID (e.g., `metadata->call_control_id=eq.v3:123`)
51
62
  sig { returns(T.nilable(String)) }
52
63
  attr_reader :metadata_call_control_id
@@ -108,6 +119,7 @@ module Telnyx
108
119
  last_message_at: String,
109
120
  limit: Integer,
110
121
  metadata_assistant_id: String,
122
+ metadata_assistant_version_id: String,
111
123
  metadata_call_control_id: String,
112
124
  metadata_telnyx_agent_target: String,
113
125
  metadata_telnyx_conversation_channel: String,
@@ -129,6 +141,12 @@ module Telnyx
129
141
  limit: nil,
130
142
  # Filter by assistant ID (e.g., `metadata->assistant_id=eq.assistant-123`)
131
143
  metadata_assistant_id: nil,
144
+ # Filter by assistant version ID (e.g.,
145
+ # `metadata->assistant_version_id=eq.20250812T114318034399`). The version that
146
+ # handled the conversation is stored in metadata when the conversation starts;
147
+ # conversations created before this field was tracked, or that never resolved a
148
+ # version, have no `assistant_version_id` and do not match this filter.
149
+ metadata_assistant_version_id: nil,
132
150
  # Filter by call control ID (e.g., `metadata->call_control_id=eq.v3:123`)
133
151
  metadata_call_control_id: nil,
134
152
  # Filter by the phone number, SIP URI, or other identifier for the agent (e.g.,
@@ -160,6 +178,7 @@ module Telnyx
160
178
  last_message_at: String,
161
179
  limit: Integer,
162
180
  metadata_assistant_id: String,
181
+ metadata_assistant_version_id: String,
163
182
  metadata_call_control_id: String,
164
183
  metadata_telnyx_agent_target: String,
165
184
  metadata_telnyx_conversation_channel: String,
@@ -0,0 +1,190 @@
1
+ # typed: strong
2
+
3
+ module Telnyx
4
+ module Models
5
+ module AI
6
+ class DelegationSettings < Telnyx::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(Telnyx::AI::DelegationSettings, Telnyx::Internal::AnyHash)
10
+ end
11
+
12
+ # Whether the assistant delegates work to a backend model. Defaults to `true`: a
13
+ # GPT-Live assistant with delegation disabled can hold a conversation but can
14
+ # never look anything up or run a tool.
15
+ sig { returns(T.nilable(T::Boolean)) }
16
+ attr_reader :enabled
17
+
18
+ sig { params(enabled: T::Boolean).void }
19
+ attr_writer :enabled
20
+
21
+ # Run the backend on your own OpenAI-compatible endpoint instead of a
22
+ # Telnyx-hosted model. As above, a raw `api_key` here is rejected — reference an
23
+ # integration secret with `external_llm.llm_api_key_ref` instead.
24
+ sig { returns(T.nilable(Telnyx::AI::ExternalLlm)) }
25
+ attr_reader :external_llm
26
+
27
+ sig { params(external_llm: Telnyx::AI::ExternalLlm::OrHash).void }
28
+ attr_writer :external_llm
29
+
30
+ # Extra instructions for the backend model, in addition to the assistant's own.
31
+ # Use this for the business rules the backend needs and the talking model does
32
+ # not.
33
+ sig { returns(T.nilable(String)) }
34
+ attr_reader :instructions
35
+
36
+ sig { params(instructions: String).void }
37
+ attr_writer :instructions
38
+
39
+ # Integration secret identifier for the backend model's API key. Required for
40
+ # models from providers other than Telnyx, OpenAI and Anthropic. A raw `api_key`
41
+ # is rejected rather than ignored, so that no plaintext credential is stored on
42
+ # the assistant.
43
+ sig { returns(T.nilable(String)) }
44
+ attr_reader :llm_api_key_ref
45
+
46
+ sig { params(llm_api_key_ref: String).void }
47
+ attr_writer :llm_api_key_ref
48
+
49
+ # Who answers a delegation. `telnyx` runs the backend model on Telnyx with the
50
+ # assistant's own tools, MCP servers and observability. `client` relays the
51
+ # delegation to a server you host over the WebSocket configured in
52
+ # `websocket_settings`: Telnyx sends a `session.delegation.created` frame and
53
+ # waits for your `session.delegation.completed` answer. That answer is text only,
54
+ # since the socket offers no tool vocabulary. If no socket is connected the
55
+ # delegation is refused and the assistant tells the caller it cannot look things
56
+ # up right now. Defaults to `telnyx`.
57
+ sig do
58
+ returns(T.nilable(Telnyx::AI::DelegationSettings::Mode::OrSymbol))
59
+ end
60
+ attr_reader :mode
61
+
62
+ sig do
63
+ params(mode: Telnyx::AI::DelegationSettings::Mode::OrSymbol).void
64
+ end
65
+ attr_writer :mode
66
+
67
+ # The backend model that answers delegations. Must be a model available for AI
68
+ # Assistants. When enabling `telnyx` delegation, explicitly set this field or
69
+ # `external_llm.model`; a configuration without either backend model is rejected.
70
+ # Only applies when `mode` is `telnyx`.
71
+ sig { returns(T.nilable(String)) }
72
+ attr_reader :model
73
+
74
+ sig { params(model: String).void }
75
+ attr_writer :model
76
+
77
+ # Whether the backend's answer is spoken to the caller. When `true` the result is
78
+ # appended as commentary and paraphrased aloud; when `false` it is kept as silent
79
+ # context that informs later answers without being read out. Defaults to `true`.
80
+ sig { returns(T.nilable(T::Boolean)) }
81
+ attr_reader :speak_results
82
+
83
+ sig { params(speak_results: T::Boolean).void }
84
+ attr_writer :speak_results
85
+
86
+ # Splits the conversation between a frontend model that talks to the caller and a
87
+ # backend model that does the work. On the GPT-Live route the frontend model
88
+ # cannot call tools at all — when it needs something done it raises a delegation
89
+ # and waits. On the chat completion route the frontend keeps a single `delegate`
90
+ # tool that returns immediately, so the conversation carries on while the backend
91
+ # works. Either way the backend's answer is spoken as commentary or kept as silent
92
+ # context, depending on `speak_results`. Beta feature.
93
+ sig do
94
+ params(
95
+ enabled: T::Boolean,
96
+ external_llm: Telnyx::AI::ExternalLlm::OrHash,
97
+ instructions: String,
98
+ llm_api_key_ref: String,
99
+ mode: Telnyx::AI::DelegationSettings::Mode::OrSymbol,
100
+ model: String,
101
+ speak_results: T::Boolean
102
+ ).returns(T.attached_class)
103
+ end
104
+ def self.new(
105
+ # Whether the assistant delegates work to a backend model. Defaults to `true`: a
106
+ # GPT-Live assistant with delegation disabled can hold a conversation but can
107
+ # never look anything up or run a tool.
108
+ enabled: nil,
109
+ # Run the backend on your own OpenAI-compatible endpoint instead of a
110
+ # Telnyx-hosted model. As above, a raw `api_key` here is rejected — reference an
111
+ # integration secret with `external_llm.llm_api_key_ref` instead.
112
+ external_llm: nil,
113
+ # Extra instructions for the backend model, in addition to the assistant's own.
114
+ # Use this for the business rules the backend needs and the talking model does
115
+ # not.
116
+ instructions: nil,
117
+ # Integration secret identifier for the backend model's API key. Required for
118
+ # models from providers other than Telnyx, OpenAI and Anthropic. A raw `api_key`
119
+ # is rejected rather than ignored, so that no plaintext credential is stored on
120
+ # the assistant.
121
+ llm_api_key_ref: nil,
122
+ # Who answers a delegation. `telnyx` runs the backend model on Telnyx with the
123
+ # assistant's own tools, MCP servers and observability. `client` relays the
124
+ # delegation to a server you host over the WebSocket configured in
125
+ # `websocket_settings`: Telnyx sends a `session.delegation.created` frame and
126
+ # waits for your `session.delegation.completed` answer. That answer is text only,
127
+ # since the socket offers no tool vocabulary. If no socket is connected the
128
+ # delegation is refused and the assistant tells the caller it cannot look things
129
+ # up right now. Defaults to `telnyx`.
130
+ mode: nil,
131
+ # The backend model that answers delegations. Must be a model available for AI
132
+ # Assistants. When enabling `telnyx` delegation, explicitly set this field or
133
+ # `external_llm.model`; a configuration without either backend model is rejected.
134
+ # Only applies when `mode` is `telnyx`.
135
+ model: nil,
136
+ # Whether the backend's answer is spoken to the caller. When `true` the result is
137
+ # appended as commentary and paraphrased aloud; when `false` it is kept as silent
138
+ # context that informs later answers without being read out. Defaults to `true`.
139
+ speak_results: nil
140
+ )
141
+ end
142
+
143
+ sig do
144
+ override.returns(
145
+ {
146
+ enabled: T::Boolean,
147
+ external_llm: Telnyx::AI::ExternalLlm,
148
+ instructions: String,
149
+ llm_api_key_ref: String,
150
+ mode: Telnyx::AI::DelegationSettings::Mode::OrSymbol,
151
+ model: String,
152
+ speak_results: T::Boolean
153
+ }
154
+ )
155
+ end
156
+ def to_hash
157
+ end
158
+
159
+ # Who answers a delegation. `telnyx` runs the backend model on Telnyx with the
160
+ # assistant's own tools, MCP servers and observability. `client` relays the
161
+ # delegation to a server you host over the WebSocket configured in
162
+ # `websocket_settings`: Telnyx sends a `session.delegation.created` frame and
163
+ # waits for your `session.delegation.completed` answer. That answer is text only,
164
+ # since the socket offers no tool vocabulary. If no socket is connected the
165
+ # delegation is refused and the assistant tells the caller it cannot look things
166
+ # up right now. Defaults to `telnyx`.
167
+ module Mode
168
+ extend Telnyx::Internal::Type::Enum
169
+
170
+ TaggedSymbol =
171
+ T.type_alias { T.all(Symbol, Telnyx::AI::DelegationSettings::Mode) }
172
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
173
+
174
+ TELNYX =
175
+ T.let(:telnyx, Telnyx::AI::DelegationSettings::Mode::TaggedSymbol)
176
+ CLIENT =
177
+ T.let(:client, Telnyx::AI::DelegationSettings::Mode::TaggedSymbol)
178
+
179
+ sig do
180
+ override.returns(
181
+ T::Array[Telnyx::AI::DelegationSettings::Mode::TaggedSymbol]
182
+ )
183
+ end
184
+ def self.values
185
+ end
186
+ end
187
+ end
188
+ end
189
+ end
190
+ end
@@ -18,9 +18,7 @@ module Telnyx
18
18
  attr_accessor :model
19
19
 
20
20
  # Authentication method used when connecting to the external LLM endpoint.
21
- sig do
22
- returns(T.nilable(Telnyx::AI::AuthenticationMethod::TaggedSymbol))
23
- end
21
+ sig { returns(T.nilable(Telnyx::AI::AuthenticationMethod::OrSymbol)) }
24
22
  attr_reader :authentication_method
25
23
 
26
24
  sig do
@@ -106,8 +104,7 @@ module Telnyx
106
104
  {
107
105
  base_url: String,
108
106
  model: String,
109
- authentication_method:
110
- Telnyx::AI::AuthenticationMethod::TaggedSymbol,
107
+ authentication_method: Telnyx::AI::AuthenticationMethod::OrSymbol,
111
108
  certificate_ref: String,
112
109
  forward_metadata: T::Boolean,
113
110
  llm_api_key_ref: String,
@@ -45,9 +45,14 @@ module Telnyx
45
45
  # Directed transition from one node to a target, gated by a condition.
46
46
  #
47
47
  # The target is either another node in the same flow (`NodeTarget`) or a different
48
- # assistant (`AssistantTarget`). Multiple edges may share a `start_node_id`; the
49
- # runtime evaluates them in the order they're declared and takes the first whose
50
- # condition is true.
48
+ # assistant (`AssistantTarget`). Multiple edges may share a `start_node_id`. On
49
+ # calls, `expression` conditions are evaluated before the model turn and take
50
+ # precedence over `llm` conditions regardless of declaration order, while `llm`
51
+ # conditions are offered to the assistant's model as transition tools and fire
52
+ # when the model selects one. On chat channels, an `expression` condition that is
53
+ # true when the turn begins routes before the reply is generated; all conditioned
54
+ # edges that remain are considered together in declaration order after the reply,
55
+ # and the first true one wins.
51
56
  sig do
52
57
  params(
53
58
  id: String,
@@ -124,23 +129,32 @@ module Telnyx
124
129
  )
125
130
  end
126
131
 
127
- # Natural-language criterion the LLM judges as true/false.
132
+ # Natural-language criterion the model routes on. On calls this is offered to the
133
+ # model as the transition tool's description; on chat channels it is judged as a
134
+ # statement in the post-reply evaluation call.
128
135
  sig { returns(String) }
129
136
  attr_accessor :prompt
130
137
 
131
138
  sig { returns(Symbol) }
132
139
  attr_accessor :type
133
140
 
134
- # Edge condition evaluated by the LLM from a natural-language prompt.
141
+ # Edge condition routed by the assistant's LLM from a natural-language prompt.
135
142
  #
136
- # The model is asked to judge the prompt against conversation context and returns
137
- # true/false. Use this for fuzzy intents that aren't expressible as a
138
- # deterministic expression (e.g. 'user wants to escalate to a human').
143
+ # How the edge is decided depends on the channel. On calls, each outgoing `llm`
144
+ # condition is offered to the assistant's model as a transition tool alongside the
145
+ # assistant's tools, and the edge fires when the model selects it; the platform
146
+ # does not evaluate the prompt itself, and instructions that forbid or discourage
147
+ # tool calls can stop these edges from firing. On chat channels, the edge prompts
148
+ # are evaluated in a separate model call after the reply, which does not use the
149
+ # assistant's instructions. Use this for fuzzy intents that aren't expressible as
150
+ # a deterministic expression (e.g. 'user wants to escalate to a human').
139
151
  sig do
140
152
  params(prompt: String, type: Symbol).returns(T.attached_class)
141
153
  end
142
154
  def self.new(
143
- # Natural-language criterion the LLM judges as true/false.
155
+ # Natural-language criterion the model routes on. On calls this is offered to the
156
+ # model as the transition tool's description; on chat channels it is judged as a
157
+ # statement in the post-reply evaluation call.
144
158
  prompt:,
145
159
  type: :llm
146
160
  )
@@ -101,7 +101,11 @@ module Telnyx
101
101
  attr_writer :tools_mode
102
102
 
103
103
  # Per-node transcription override (model/language/region). Unset fields cascade
104
- # from the assistant-level transcription.
104
+ # from the assistant-level transcription. A node that sets `model`,
105
+ # `fallback_models`, or `challenger` doesn't inherit the assistant's
106
+ # `fallback_models` or `challenger`; it uses only the ones it sets. Otherwise it
107
+ # inherits them, and they must fit the model and language the node runs; a change
108
+ # they no longer fit is rejected.
105
109
  sig { returns(T.nilable(Telnyx::AI::TranscriptionSettings)) }
106
110
  attr_reader :transcription
107
111
 
@@ -111,7 +115,8 @@ module Telnyx
111
115
  attr_writer :transcription
112
116
 
113
117
  # Node kind discriminator. `prompt` (default) is an LLM-driven step; `tool` is a
114
- # standalone tool execution (see `ToolNodeReq`).
118
+ # standalone tool execution and `speak` a scripted message (see `ToolNodeReq` /
119
+ # `SpeakNodeReq`).
115
120
  sig { returns(T.nilable(Telnyx::AI::FlowNodeReq::Type::OrSymbol)) }
116
121
  attr_reader :type
117
122
 
@@ -190,10 +195,15 @@ module Telnyx
190
195
  # added to the assistant's tools. Ignored when `shared_tool_ids` is null.
191
196
  tools_mode: nil,
192
197
  # Per-node transcription override (model/language/region). Unset fields cascade
193
- # from the assistant-level transcription.
198
+ # from the assistant-level transcription. A node that sets `model`,
199
+ # `fallback_models`, or `challenger` doesn't inherit the assistant's
200
+ # `fallback_models` or `challenger`; it uses only the ones it sets. Otherwise it
201
+ # inherits them, and they must fit the model and language the node runs; a change
202
+ # they no longer fit is rejected.
194
203
  transcription: nil,
195
204
  # Node kind discriminator. `prompt` (default) is an LLM-driven step; `tool` is a
196
- # standalone tool execution (see `ToolNodeReq`).
205
+ # standalone tool execution and `speak` a scripted message (see `ToolNodeReq` /
206
+ # `SpeakNodeReq`).
197
207
  type: nil,
198
208
  # Per-node voice override. Only fields set here override the assistant-level voice
199
209
  # settings; unset fields cascade.
@@ -281,7 +291,8 @@ module Telnyx
281
291
  end
282
292
 
283
293
  # Node kind discriminator. `prompt` (default) is an LLM-driven step; `tool` is a
284
- # standalone tool execution (see `ToolNodeReq`).
294
+ # standalone tool execution and `speak` a scripted message (see `ToolNodeReq` /
295
+ # `SpeakNodeReq`).
285
296
  module Type
286
297
  extend Telnyx::Internal::Type::Enum
287
298