telnyx 5.169.0 → 5.170.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 (346) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +7 -0
  3. data/README.md +1 -1
  4. data/lib/telnyx/internal/email_cursor_pagination.rb +2 -2
  5. data/lib/telnyx/internal/type/union.rb +1 -1
  6. data/lib/telnyx/models/ai/assistant_create_params.rb +3 -3
  7. data/lib/telnyx/models/ai/assistant_tool.rb +31 -1
  8. data/lib/telnyx/models/ai/assistant_update_params.rb +3 -3
  9. data/lib/telnyx/models/ai/assistants/update_assistant.rb +3 -3
  10. data/lib/telnyx/models/ai/collection.rb +3 -3
  11. data/lib/telnyx/models/ai/collections/collections_source.rb +64 -0
  12. data/lib/telnyx/models/ai/collections/source.rb +25 -29
  13. data/lib/telnyx/models/ai/collections/source_create_response.rb +3 -3
  14. data/lib/telnyx/models/ai/collections/source_list_response.rb +3 -3
  15. data/lib/telnyx/models/ai/collections/source_replace_response.rb +3 -3
  16. data/lib/telnyx/models/ai/flow_node.rb +3 -3
  17. data/lib/telnyx/models/ai/flow_node_req.rb +3 -3
  18. data/lib/telnyx/models/ai/inference_embedding.rb +3 -3
  19. data/lib/telnyx/models/ai/inference_embedding_voice_settings.rb +334 -0
  20. data/lib/telnyx/models/ai/inference_embedding_webhook_tool_params.rb +13 -11
  21. data/lib/telnyx/models/ai/memory/namespace_retrieve_params.rb +30 -0
  22. data/lib/telnyx/models/ai/memory/namespace_retrieve_response.rb +76 -0
  23. data/lib/telnyx/models/ai/memory/namespaces/namespace_settings_response.rb +63 -0
  24. data/lib/telnyx/models/ai/memory/namespaces/page_meta.rb +58 -0
  25. data/lib/telnyx/models/ai/memory/namespaces/profile_delete_params.rb +35 -0
  26. data/lib/telnyx/models/ai/memory/namespaces/profile_delete_response.rb +47 -0
  27. data/lib/telnyx/models/ai/memory/namespaces/profile_ingest_params.rb +94 -0
  28. data/lib/telnyx/models/ai/memory/namespaces/profile_ingest_response.rb +61 -0
  29. data/lib/telnyx/models/ai/memory/namespaces/profile_list_params.rb +48 -0
  30. data/lib/telnyx/models/ai/memory/namespaces/profile_list_response.rb +34 -0
  31. data/lib/telnyx/models/ai/memory/namespaces/profile_recall_params.rb +44 -0
  32. data/lib/telnyx/models/ai/memory/namespaces/profile_recall_response.rb +60 -0
  33. data/lib/telnyx/models/ai/memory/namespaces/profile_remember_params.rb +38 -0
  34. data/lib/telnyx/models/ai/memory/namespaces/profile_remember_response.rb +54 -0
  35. data/lib/telnyx/models/ai/memory/namespaces/profile_retrieve_summary_params.rb +35 -0
  36. data/lib/telnyx/models/ai/memory/namespaces/profile_retrieve_summary_response.rb +64 -0
  37. data/lib/telnyx/models/ai/memory/namespaces/profiles/memory_list_params.rb +76 -0
  38. data/lib/telnyx/models/ai/memory/namespaces/profiles/memory_list_response.rb +53 -0
  39. data/lib/telnyx/models/ai/memory/namespaces/profiles/memory_retrieve_params.rb +50 -0
  40. data/lib/telnyx/models/ai/memory/namespaces/profiles/memory_retrieve_response.rb +74 -0
  41. data/lib/telnyx/models/ai/memory/namespaces/profiles/source_delete_params.rb +52 -0
  42. data/lib/telnyx/models/ai/memory/namespaces/profiles/source_delete_response.rb +60 -0
  43. data/lib/telnyx/models/ai/memory/namespaces/profiles/source_list_params.rb +67 -0
  44. data/lib/telnyx/models/ai/memory/namespaces/profiles/source_retrieve_params.rb +52 -0
  45. data/lib/telnyx/models/ai/memory/namespaces/profiles/source_retrieve_response.rb +123 -0
  46. data/lib/telnyx/models/ai/memory/namespaces/setting_list_params.rb +28 -0
  47. data/lib/telnyx/models/ai/memory/namespaces/setting_patch_all_params.rb +69 -0
  48. data/lib/telnyx/models/ai/typesafe/v1_systemone_params.rb +29 -1
  49. data/lib/telnyx/models/ai/typesafe/v1_systemone_response.rb +19 -6
  50. data/lib/telnyx/models/ai/webhook_tool.rb +16 -1
  51. data/lib/telnyx/models/artifact_completed_webhook_event.rb +17 -1
  52. data/lib/telnyx/models/artifact_failed_webhook_event.rb +4 -0
  53. data/lib/telnyx/models/calls/action_gather_using_ai_params.rb +11 -3
  54. data/lib/telnyx/models/calls/action_gather_using_speak_params.rb +11 -3
  55. data/lib/telnyx/models/calls/action_speak_params.rb +11 -3
  56. data/lib/telnyx/models/calls/action_start_conversation_relay_params.rb +11 -3
  57. data/lib/telnyx/models/calls/soniox_voice_settings.rb +46 -0
  58. data/lib/telnyx/models/conferences/action_speak_params.rb +11 -3
  59. data/lib/telnyx/models/conversation_relay_embedded_config.rb +11 -3
  60. data/lib/telnyx/models/conversation_relay_language.rb +5 -3
  61. data/lib/telnyx/models/email_block.rb +8 -1
  62. data/lib/telnyx/models/email_blocks/email_block_import.rb +7 -2
  63. data/lib/telnyx/models/email_domain_rotate_dkim_params.rb +20 -0
  64. data/lib/telnyx/models/email_domain_rotate_dkim_response.rb +243 -0
  65. data/lib/telnyx/models/email_domains/email_webhook_event.rb +8 -3
  66. data/lib/telnyx/models/email_event_list_params.rb +33 -10
  67. data/lib/telnyx/models/email_event_list_response.rb +300 -73
  68. data/lib/telnyx/models/email_event_type.rb +16 -0
  69. data/lib/telnyx/models/email_inboxes/email_message.rb +56 -4
  70. data/lib/telnyx/models/email_message_batch_params.rb +32 -15
  71. data/lib/telnyx/models/email_message_create_params.rb +44 -12
  72. data/lib/telnyx/models/{email_message_retrieve_response.rb → email_message_detail_response.rb} +5 -5
  73. data/lib/telnyx/models/email_message_list_params.rb +26 -1
  74. data/lib/telnyx/models/email_message_update_schedule_params.rb +29 -0
  75. data/lib/telnyx/models/email_messages/email_recipient.rb +2 -0
  76. data/lib/telnyx/models/email_messages/recipient_list_params.rb +2 -0
  77. data/lib/telnyx/models/email_template.rb +68 -2
  78. data/lib/telnyx/models/email_template_create_params.rb +71 -1
  79. data/lib/telnyx/models/email_webhook_recipient.rb +39 -0
  80. data/lib/telnyx/models/meeting_session.rb +34 -6
  81. data/lib/telnyx/models/meeting_session_create_params.rb +73 -39
  82. data/lib/telnyx/models/meeting_sessions/artifact_create_params.rb +77 -13
  83. data/lib/telnyx/models/meeting_sessions/meeting_session_artifact.rb +25 -1
  84. data/lib/telnyx/models/message_event.rb +41 -2
  85. data/lib/telnyx/models/numbers_phone_number_detailed.rb +19 -5
  86. data/lib/telnyx/models/private_wireless_gateway.rb +0 -1
  87. data/lib/telnyx/models/private_wireless_gateway_create_params.rb +28 -1
  88. data/lib/telnyx/models/private_wireless_gateway_create_response.rb +3 -3
  89. data/lib/telnyx/models/private_wireless_gateway_delete_response.rb +3 -3
  90. data/lib/telnyx/models/private_wireless_gateway_retrieve_response.rb +3 -3
  91. data/lib/telnyx/models/texml/accounts/call_retrieve_calls_params.rb +17 -17
  92. data/lib/telnyx/models/text_to_speech_generate_speech_params.rb +129 -3
  93. data/lib/telnyx/models/text_to_speech_list_voices_params.rb +1 -0
  94. data/lib/telnyx/models/text_to_speech_retrieve_speech_params.rb +1 -1
  95. data/lib/telnyx/models/update_email_template_request.rb +54 -1
  96. data/lib/telnyx/models/wireless_private_wireless_gateway.rb +120 -0
  97. data/lib/telnyx/models.rb +10 -0
  98. data/lib/telnyx/resources/ai/assistants/versions.rb +1 -1
  99. data/lib/telnyx/resources/ai/assistants.rb +2 -2
  100. data/lib/telnyx/resources/ai/memory/namespaces/profiles/memories.rb +122 -0
  101. data/lib/telnyx/resources/ai/memory/namespaces/profiles/sources.rb +163 -0
  102. data/lib/telnyx/resources/ai/memory/namespaces/profiles.rb +244 -0
  103. data/lib/telnyx/resources/ai/memory/namespaces/settings.rb +76 -0
  104. data/lib/telnyx/resources/ai/memory/namespaces.rb +55 -0
  105. data/lib/telnyx/resources/ai/memory.rb +21 -0
  106. data/lib/telnyx/resources/ai/typesafe/v1.rb +20 -11
  107. data/lib/telnyx/resources/ai/typesafe.rb +1 -1
  108. data/lib/telnyx/resources/ai.rb +4 -0
  109. data/lib/telnyx/resources/calls/actions.rb +4 -4
  110. data/lib/telnyx/resources/conferences/actions.rb +1 -1
  111. data/lib/telnyx/resources/email_blocks/imports.rb +17 -3
  112. data/lib/telnyx/resources/email_blocks.rb +5 -3
  113. data/lib/telnyx/resources/email_domains.rb +28 -0
  114. data/lib/telnyx/resources/email_events.rb +21 -9
  115. data/lib/telnyx/resources/email_messages.rb +57 -13
  116. data/lib/telnyx/resources/email_templates.rb +33 -3
  117. data/lib/telnyx/resources/meeting_sessions/actions.rb +7 -1
  118. data/lib/telnyx/resources/meeting_sessions/artifacts.rb +18 -9
  119. data/lib/telnyx/resources/meeting_sessions.rb +6 -5
  120. data/lib/telnyx/resources/private_wireless_gateways.rb +5 -3
  121. data/lib/telnyx/resources/texml/accounts/calls.rb +9 -9
  122. data/lib/telnyx/resources/text_to_speech.rb +6 -4
  123. data/lib/telnyx/version.rb +1 -1
  124. data/lib/telnyx.rb +42 -1
  125. data/rbi/telnyx/models/ai/assistant_create_params.rbi +8 -4
  126. data/rbi/telnyx/models/ai/assistant_tool.rbi +56 -5
  127. data/rbi/telnyx/models/ai/assistant_update_params.rbi +8 -4
  128. data/rbi/telnyx/models/ai/assistants/update_assistant.rbi +12 -4
  129. data/rbi/telnyx/models/ai/collection.rbi +10 -4
  130. data/rbi/telnyx/models/ai/collections/collections_source.rbi +110 -0
  131. data/rbi/telnyx/models/ai/collections/source.rbi +36 -62
  132. data/rbi/telnyx/models/ai/collections/source_create_response.rbi +14 -6
  133. data/rbi/telnyx/models/ai/collections/source_list_response.rbi +10 -4
  134. data/rbi/telnyx/models/ai/collections/source_replace_response.rbi +11 -4
  135. data/rbi/telnyx/models/ai/flow_node.rbi +8 -4
  136. data/rbi/telnyx/models/ai/flow_node_req.rbi +8 -4
  137. data/rbi/telnyx/models/ai/inference_embedding.rbi +8 -4
  138. data/rbi/telnyx/models/ai/inference_embedding_voice_settings.rbi +803 -0
  139. data/rbi/telnyx/models/ai/inference_embedding_webhook_tool_params.rbi +23 -19
  140. data/rbi/telnyx/models/ai/memory/namespace_retrieve_params.rbi +50 -0
  141. data/rbi/telnyx/models/ai/memory/namespace_retrieve_response.rbi +167 -0
  142. data/rbi/telnyx/models/ai/memory/namespaces/namespace_settings_response.rbi +156 -0
  143. data/rbi/telnyx/models/ai/memory/namespaces/page_meta.rbi +81 -0
  144. data/rbi/telnyx/models/ai/memory/namespaces/profile_delete_params.rbi +58 -0
  145. data/rbi/telnyx/models/ai/memory/namespaces/profile_delete_response.rbi +97 -0
  146. data/rbi/telnyx/models/ai/memory/namespaces/profile_ingest_params.rbi +149 -0
  147. data/rbi/telnyx/models/ai/memory/namespaces/profile_ingest_response.rbi +113 -0
  148. data/rbi/telnyx/models/ai/memory/namespaces/profile_list_params.rbi +74 -0
  149. data/rbi/telnyx/models/ai/memory/namespaces/profile_list_response.rbi +48 -0
  150. data/rbi/telnyx/models/ai/memory/namespaces/profile_recall_params.rbi +68 -0
  151. data/rbi/telnyx/models/ai/memory/namespaces/profile_recall_response.rbi +109 -0
  152. data/rbi/telnyx/models/ai/memory/namespaces/profile_remember_params.rbi +57 -0
  153. data/rbi/telnyx/models/ai/memory/namespaces/profile_remember_response.rbi +107 -0
  154. data/rbi/telnyx/models/ai/memory/namespaces/profile_retrieve_summary_params.rbi +58 -0
  155. data/rbi/telnyx/models/ai/memory/namespaces/profile_retrieve_summary_response.rbi +119 -0
  156. data/rbi/telnyx/models/ai/memory/namespaces/profiles/memory_list_params.rbi +102 -0
  157. data/rbi/telnyx/models/ai/memory/namespaces/profiles/memory_list_response.rbi +72 -0
  158. data/rbi/telnyx/models/ai/memory/namespaces/profiles/memory_retrieve_params.rbi +70 -0
  159. data/rbi/telnyx/models/ai/memory/namespaces/profiles/memory_retrieve_response.rbi +129 -0
  160. data/rbi/telnyx/models/ai/memory/namespaces/profiles/source_delete_params.rbi +74 -0
  161. data/rbi/telnyx/models/ai/memory/namespaces/profiles/source_delete_response.rbi +117 -0
  162. data/rbi/telnyx/models/ai/memory/namespaces/profiles/source_list_params.rbi +92 -0
  163. data/rbi/telnyx/models/ai/memory/namespaces/profiles/source_retrieve_params.rbi +74 -0
  164. data/rbi/telnyx/models/ai/memory/namespaces/profiles/source_retrieve_response.rbi +209 -0
  165. data/rbi/telnyx/models/ai/memory/namespaces/setting_list_params.rbi +49 -0
  166. data/rbi/telnyx/models/ai/memory/namespaces/setting_patch_all_params.rbi +125 -0
  167. data/rbi/telnyx/models/ai/typesafe/v1_systemone_params.rbi +62 -0
  168. data/rbi/telnyx/models/ai/typesafe/v1_systemone_response.rbi +49 -9
  169. data/rbi/telnyx/models/ai/webhook_tool.rbi +23 -3
  170. data/rbi/telnyx/models/artifact_completed_webhook_event.rbi +30 -0
  171. data/rbi/telnyx/models/artifact_failed_webhook_event.rbi +20 -0
  172. data/rbi/telnyx/models/calls/action_gather_using_ai_params.rbi +22 -5
  173. data/rbi/telnyx/models/calls/action_gather_using_speak_params.rbi +22 -5
  174. data/rbi/telnyx/models/calls/action_speak_params.rbi +22 -5
  175. data/rbi/telnyx/models/calls/action_start_conversation_relay_params.rbi +22 -5
  176. data/rbi/telnyx/models/calls/soniox_voice_settings.rbi +86 -0
  177. data/rbi/telnyx/models/conferences/action_speak_params.rbi +22 -5
  178. data/rbi/telnyx/models/conversation_relay_embedded_config.rbi +22 -5
  179. data/rbi/telnyx/models/conversation_relay_language.rbi +10 -5
  180. data/rbi/telnyx/models/email_block.rbi +8 -0
  181. data/rbi/telnyx/models/email_blocks/email_block_import.rbi +6 -2
  182. data/rbi/telnyx/models/email_domain_rotate_dkim_params.rbi +35 -0
  183. data/rbi/telnyx/models/email_domain_rotate_dkim_response.rbi +487 -0
  184. data/rbi/telnyx/models/email_domains/email_webhook_event.rbi +20 -3
  185. data/rbi/telnyx/models/email_event_list_params.rbi +46 -11
  186. data/rbi/telnyx/models/email_event_list_response.rbi +599 -97
  187. data/rbi/telnyx/models/email_event_type.rbi +25 -0
  188. data/rbi/telnyx/models/email_inboxes/email_message.rbi +81 -3
  189. data/rbi/telnyx/models/email_message_batch_params.rbi +54 -20
  190. data/rbi/telnyx/models/email_message_create_params.rbi +80 -16
  191. data/rbi/telnyx/models/{email_message_retrieve_response.rbi → email_message_detail_response.rbi} +9 -16
  192. data/rbi/telnyx/models/email_message_list_params.rbi +40 -0
  193. data/rbi/telnyx/models/email_message_update_schedule_params.rbi +52 -0
  194. data/rbi/telnyx/models/email_messages/email_recipient.rbi +10 -0
  195. data/rbi/telnyx/models/email_messages/recipient_list_params.rbi +10 -0
  196. data/rbi/telnyx/models/email_template.rbi +84 -0
  197. data/rbi/telnyx/models/email_template_create_params.rbi +124 -0
  198. data/rbi/telnyx/models/email_webhook_recipient.rbi +68 -0
  199. data/rbi/telnyx/models/meeting_session.rbi +36 -10
  200. data/rbi/telnyx/models/meeting_session_create_params.rbi +112 -48
  201. data/rbi/telnyx/models/meeting_sessions/artifact_create_params.rbi +161 -24
  202. data/rbi/telnyx/models/meeting_sessions/meeting_session_artifact.rbi +30 -0
  203. data/rbi/telnyx/models/message_event.rbi +48 -1
  204. data/rbi/telnyx/models/numbers_phone_number_detailed.rbi +24 -4
  205. data/rbi/telnyx/models/private_wireless_gateway_create_params.rbi +71 -0
  206. data/rbi/telnyx/models/private_wireless_gateway_create_response.rbi +4 -4
  207. data/rbi/telnyx/models/private_wireless_gateway_delete_response.rbi +4 -4
  208. data/rbi/telnyx/models/private_wireless_gateway_retrieve_response.rbi +4 -4
  209. data/rbi/telnyx/models/texml/accounts/call_retrieve_calls_params.rbi +22 -22
  210. data/rbi/telnyx/models/text_to_speech_generate_speech_params.rbi +311 -2
  211. data/rbi/telnyx/models/text_to_speech_list_voices_params.rbi +5 -0
  212. data/rbi/telnyx/models/text_to_speech_retrieve_speech_params.rbi +5 -5
  213. data/rbi/telnyx/models/update_email_template_request.rbi +90 -0
  214. data/rbi/telnyx/models/wireless_private_wireless_gateway.rbi +211 -0
  215. data/rbi/telnyx/models.rbi +12 -0
  216. data/rbi/telnyx/resources/ai/assistants/versions.rbi +2 -1
  217. data/rbi/telnyx/resources/ai/assistants.rbi +2 -2
  218. data/rbi/telnyx/resources/ai/memory/namespaces/profiles/memories.rbi +94 -0
  219. data/rbi/telnyx/resources/ai/memory/namespaces/profiles/sources.rbi +117 -0
  220. data/rbi/telnyx/resources/ai/memory/namespaces/profiles.rbi +196 -0
  221. data/rbi/telnyx/resources/ai/memory/namespaces/settings.rbi +67 -0
  222. data/rbi/telnyx/resources/ai/memory/namespaces.rbi +37 -0
  223. data/rbi/telnyx/resources/ai/memory.rbi +18 -0
  224. data/rbi/telnyx/resources/ai/typesafe/v1.rbi +20 -10
  225. data/rbi/telnyx/resources/ai/typesafe.rbi +1 -1
  226. data/rbi/telnyx/resources/ai.rbi +3 -0
  227. data/rbi/telnyx/resources/calls/actions.rbi +32 -4
  228. data/rbi/telnyx/resources/conferences/actions.rbi +8 -1
  229. data/rbi/telnyx/resources/email_blocks/imports.rbi +17 -3
  230. data/rbi/telnyx/resources/email_blocks.rbi +5 -3
  231. data/rbi/telnyx/resources/email_domains.rbi +22 -0
  232. data/rbi/telnyx/resources/email_events.rbi +30 -9
  233. data/rbi/telnyx/resources/email_messages.rbi +100 -16
  234. data/rbi/telnyx/resources/email_templates.rbi +71 -0
  235. data/rbi/telnyx/resources/meeting_sessions/actions.rbi +7 -1
  236. data/rbi/telnyx/resources/meeting_sessions/artifacts.rbi +19 -8
  237. data/rbi/telnyx/resources/meeting_sessions.rbi +15 -7
  238. data/rbi/telnyx/resources/private_wireless_gateways.rbi +9 -1
  239. data/rbi/telnyx/resources/texml/accounts/calls.rbi +6 -6
  240. data/rbi/telnyx/resources/text_to_speech.rbi +7 -3
  241. data/sig/telnyx/models/ai/assistant_create_params.rbs +6 -6
  242. data/sig/telnyx/models/ai/assistant_tool.rbs +33 -3
  243. data/sig/telnyx/models/ai/assistant_update_params.rbs +6 -6
  244. data/sig/telnyx/models/ai/assistants/update_assistant.rbs +6 -6
  245. data/sig/telnyx/models/ai/collection.rbs +6 -6
  246. data/sig/telnyx/models/ai/collections/collections_source.rbs +65 -0
  247. data/sig/telnyx/models/ai/collections/source.rbs +18 -37
  248. data/sig/telnyx/models/ai/collections/source_create_response.rbs +9 -6
  249. data/sig/telnyx/models/ai/collections/source_list_response.rbs +8 -6
  250. data/sig/telnyx/models/ai/collections/source_replace_response.rbs +6 -6
  251. data/sig/telnyx/models/ai/flow_node.rbs +6 -6
  252. data/sig/telnyx/models/ai/flow_node_req.rbs +6 -6
  253. data/sig/telnyx/models/ai/inference_embedding.rbs +6 -6
  254. data/sig/telnyx/models/ai/inference_embedding_voice_settings.rbs +308 -0
  255. data/sig/telnyx/models/ai/inference_embedding_webhook_tool_params.rbs +13 -13
  256. data/sig/telnyx/models/ai/memory/namespace_retrieve_params.rbs +32 -0
  257. data/sig/telnyx/models/ai/memory/namespace_retrieve_response.rbs +69 -0
  258. data/sig/telnyx/models/ai/memory/namespaces/namespace_settings_response.rbs +59 -0
  259. data/sig/telnyx/models/ai/memory/namespaces/page_meta.rbs +41 -0
  260. data/sig/telnyx/models/ai/memory/namespaces/profile_delete_params.rbs +34 -0
  261. data/sig/telnyx/models/ai/memory/namespaces/profile_delete_response.rbs +41 -0
  262. data/sig/telnyx/models/ai/memory/namespaces/profile_ingest_params.rbs +69 -0
  263. data/sig/telnyx/models/ai/memory/namespaces/profile_ingest_response.rbs +58 -0
  264. data/sig/telnyx/models/ai/memory/namespaces/profile_list_params.rbs +42 -0
  265. data/sig/telnyx/models/ai/memory/namespaces/profile_list_response.rbs +22 -0
  266. data/sig/telnyx/models/ai/memory/namespaces/profile_recall_params.rbs +47 -0
  267. data/sig/telnyx/models/ai/memory/namespaces/profile_recall_response.rbs +53 -0
  268. data/sig/telnyx/models/ai/memory/namespaces/profile_remember_params.rbs +38 -0
  269. data/sig/telnyx/models/ai/memory/namespaces/profile_remember_response.rbs +49 -0
  270. data/sig/telnyx/models/ai/memory/namespaces/profile_retrieve_summary_params.rbs +34 -0
  271. data/sig/telnyx/models/ai/memory/namespaces/profile_retrieve_summary_response.rbs +58 -0
  272. data/sig/telnyx/models/ai/memory/namespaces/profiles/memory_list_params.rbs +63 -0
  273. data/sig/telnyx/models/ai/memory/namespaces/profiles/memory_list_response.rbs +43 -0
  274. data/sig/telnyx/models/ai/memory/namespaces/profiles/memory_retrieve_params.rbs +40 -0
  275. data/sig/telnyx/models/ai/memory/namespaces/profiles/memory_retrieve_response.rbs +65 -0
  276. data/sig/telnyx/models/ai/memory/namespaces/profiles/source_delete_params.rbs +40 -0
  277. data/sig/telnyx/models/ai/memory/namespaces/profiles/source_delete_response.rbs +55 -0
  278. data/sig/telnyx/models/ai/memory/namespaces/profiles/source_list_params.rbs +58 -0
  279. data/sig/telnyx/models/ai/memory/namespaces/profiles/source_retrieve_params.rbs +40 -0
  280. data/sig/telnyx/models/ai/memory/namespaces/profiles/source_retrieve_response.rbs +92 -0
  281. data/sig/telnyx/models/ai/memory/namespaces/setting_list_params.rbs +29 -0
  282. data/sig/telnyx/models/ai/memory/namespaces/setting_patch_all_params.rbs +47 -0
  283. data/sig/telnyx/models/ai/typesafe/v1_systemone_params.rbs +21 -1
  284. data/sig/telnyx/models/ai/typesafe/v1_systemone_response.rbs +15 -4
  285. data/sig/telnyx/models/ai/webhook_tool.rbs +10 -3
  286. data/sig/telnyx/models/artifact_completed_webhook_event.rbs +16 -1
  287. data/sig/telnyx/models/artifact_failed_webhook_event.rbs +11 -1
  288. data/sig/telnyx/models/calls/action_gather_using_ai_params.rbs +1 -0
  289. data/sig/telnyx/models/calls/action_gather_using_speak_params.rbs +1 -0
  290. data/sig/telnyx/models/calls/action_speak_params.rbs +1 -0
  291. data/sig/telnyx/models/calls/action_start_conversation_relay_params.rbs +1 -0
  292. data/sig/telnyx/models/calls/soniox_voice_settings.rbs +46 -0
  293. data/sig/telnyx/models/conferences/action_speak_params.rbs +1 -0
  294. data/sig/telnyx/models/conversation_relay_embedded_config.rbs +1 -0
  295. data/sig/telnyx/models/conversation_relay_language.rbs +1 -0
  296. data/sig/telnyx/models/email_domain_rotate_dkim_params.rbs +23 -0
  297. data/sig/telnyx/models/email_domain_rotate_dkim_response.rbs +195 -0
  298. data/sig/telnyx/models/email_domains/email_webhook_event.rbs +6 -0
  299. data/sig/telnyx/models/email_event_list_params.rbs +7 -7
  300. data/sig/telnyx/models/email_event_list_response.rbs +235 -59
  301. data/sig/telnyx/models/email_event_type.rbs +20 -0
  302. data/sig/telnyx/models/email_inboxes/email_message.rbs +43 -4
  303. data/sig/telnyx/models/{email_message_retrieve_response.rbs → email_message_detail_response.rbs} +6 -10
  304. data/sig/telnyx/models/email_message_list_params.rbs +18 -1
  305. data/sig/telnyx/models/email_message_update_schedule_params.rbs +28 -0
  306. data/sig/telnyx/models/email_messages/email_recipient.rbs +4 -0
  307. data/sig/telnyx/models/email_messages/recipient_list_params.rbs +4 -0
  308. data/sig/telnyx/models/email_template.rbs +29 -0
  309. data/sig/telnyx/models/email_template_create_params.rbs +33 -0
  310. data/sig/telnyx/models/email_webhook_recipient.rbs +46 -0
  311. data/sig/telnyx/models/meeting_session.rbs +20 -5
  312. data/sig/telnyx/models/meeting_session_create_params.rbs +28 -20
  313. data/sig/telnyx/models/meeting_sessions/artifact_create_params.rbs +53 -10
  314. data/sig/telnyx/models/meeting_sessions/meeting_session_artifact.rbs +16 -1
  315. data/sig/telnyx/models/message_event.rbs +10 -0
  316. data/sig/telnyx/models/numbers_phone_number_detailed.rbs +5 -0
  317. data/sig/telnyx/models/private_wireless_gateway_create_params.rbs +25 -1
  318. data/sig/telnyx/models/private_wireless_gateway_create_response.rbs +6 -6
  319. data/sig/telnyx/models/private_wireless_gateway_delete_response.rbs +6 -6
  320. data/sig/telnyx/models/private_wireless_gateway_retrieve_response.rbs +6 -6
  321. data/sig/telnyx/models/texml/accounts/call_retrieve_calls_params.rbs +14 -14
  322. data/sig/telnyx/models/text_to_speech_generate_speech_params.rbs +114 -0
  323. data/sig/telnyx/models/text_to_speech_list_voices_params.rbs +2 -0
  324. data/sig/telnyx/models/text_to_speech_retrieve_speech_params.rbs +2 -2
  325. data/sig/telnyx/models/update_email_template_request.rbs +33 -0
  326. data/sig/telnyx/models/wireless_private_wireless_gateway.rbs +109 -0
  327. data/sig/telnyx/models.rbs +10 -0
  328. data/sig/telnyx/resources/ai/assistants/versions.rbs +1 -1
  329. data/sig/telnyx/resources/ai/assistants.rbs +2 -2
  330. data/sig/telnyx/resources/ai/memory/namespaces/profiles/memories.rbs +32 -0
  331. data/sig/telnyx/resources/ai/memory/namespaces/profiles/sources.rbs +38 -0
  332. data/sig/telnyx/resources/ai/memory/namespaces/profiles.rbs +59 -0
  333. data/sig/telnyx/resources/ai/memory/namespaces/settings.rbs +24 -0
  334. data/sig/telnyx/resources/ai/memory/namespaces.rbs +21 -0
  335. data/sig/telnyx/resources/ai/memory.rbs +11 -0
  336. data/sig/telnyx/resources/ai/typesafe/v1.rbs +1 -0
  337. data/sig/telnyx/resources/ai.rbs +2 -0
  338. data/sig/telnyx/resources/email_domains.rbs +5 -0
  339. data/sig/telnyx/resources/email_events.rbs +2 -2
  340. data/sig/telnyx/resources/email_messages.rbs +9 -1
  341. data/sig/telnyx/resources/email_templates.rbs +9 -0
  342. data/sig/telnyx/resources/meeting_sessions/artifacts.rbs +1 -1
  343. data/sig/telnyx/resources/meeting_sessions.rbs +1 -0
  344. data/sig/telnyx/resources/private_wireless_gateways.rbs +2 -1
  345. data/sig/telnyx/resources/text_to_speech.rbs +1 -0
  346. metadata +128 -5
@@ -102,7 +102,9 @@ module Telnyx
102
102
  in_reply_to_message_id: nil,
103
103
  # Body param
104
104
  inline_css: nil,
105
- # Body param: Custom metadata. Write-only; not returned in responses.
105
+ # Body param: Custom metadata key/value pairs. Stored on the message, returned on
106
+ # message responses, and propagated to Email Detail Records. Usable in
107
+ # `filter[metadata]` when listing messages.
106
108
  metadata: nil,
107
109
  # Body param: Reply-to address. If provided as an object with a name, only the
108
110
  # email is stored; the name is ignored.
@@ -116,12 +118,37 @@ module Telnyx
116
118
  #
117
119
  # Only meaningful alongside `in_reply_to_message_id`.
118
120
  reply_to_all: nil,
119
- # Body param
121
+ # Body param: Validates and accepts the message without injecting it into the MTA
122
+ # or outbound Kafka path. Nothing is delivered: sandbox records are non-billable,
123
+ # consume no daily-send-limit quota, and feed no delivery-reputation signals.
124
+ #
125
+ # The reserved sandbox test-recipient domain is `test.telnyx.com`. In sandbox
126
+ # mode, these addresses produce deterministic recipient-scoped lifecycle events:
127
+ #
128
+ # - `delivered@test.telnyx.com`: queued -> sending -> sent -> delivered
129
+ # - `hard-bounce@test.telnyx.com`: queued -> sending -> sent -> bounced
130
+ # (permanent)
131
+ # - `soft-bounce@test.telnyx.com`: queued -> sending -> sent -> bounced
132
+ # (transient)
133
+ # - `complaint@test.telnyx.com`: queued -> sending -> sent -> complained
134
+ # - `suppressed@test.telnyx.com`: queued -> suppressed
135
+ # - `invalid@test.telnyx.com`: queued -> sending -> failed (invalid recipient)
136
+ # - `dkim-fail@test.telnyx.com`: queued -> sending -> failed (DKIM unavailable)
137
+ # - `rate-limit@test.telnyx.com`: queued -> sending -> failed (rate limit
138
+ # exceeded)
139
+ #
140
+ # Matching is case-insensitive for both the local part and the domain and requires
141
+ # the exact domain `test.telnyx.com` — subdomains and other domains do not match.
142
+ # Mixed sandbox sends simulate only reserved test recipients; other recipients
143
+ # retain ordinary sandbox behavior (accepted, no delivery attempted). Hard-bounce
144
+ # and complaint outcomes also use the normal automatic-suppression pipeline.
145
+ # Non-sandbox sends to these addresses use the normal delivery path.
120
146
  sandbox_mode: nil,
121
- # Body param: Future ISO 8601 time to schedule sending. Invalid or past timestamps
122
- # are silently ignored and the email is sent immediately. The legacy alias
123
- # `send_at` is still accepted for backward compatibility; when both are provided,
124
- # `scheduled_at` wins.
147
+ # Body param: Future ISO 8601 delivery time. Invalid or non-future timestamps are
148
+ # rejected. Single sends return HTTP 422; in batch sends the invalid item is
149
+ # reported in the 207 per-item errors while other items continue. `send_at`
150
+ # remains a deprecated request alias. A non-null `scheduled_at` takes precedence
151
+ # over `send_at`; when `scheduled_at` is omitted or null, `send_at` is used.
125
152
  scheduled_at: nil,
126
153
  # Body param: Deprecated alias for `scheduled_at`.
127
154
  send_at: nil,
@@ -129,14 +156,18 @@ module Telnyx
129
156
  # the template's subject is rendered; if the template has no subject or renders
130
157
  # empty, the request returns 400.
131
158
  subject: nil,
132
- # Body param: Tags for categorization and reporting. Stored on the message and
133
- # propagated to Email Detail Records. Not returned in API responses.
159
+ # Body param: Tags for categorization and filtering. Stored on the message,
160
+ # returned on message responses, and propagated to Email Detail Records. Usable in
161
+ # `filter[tags]` when listing messages.
134
162
  tags: nil,
135
163
  # Body param
136
164
  template_id: nil,
137
165
  # Body param: Variables for Liquid template rendering. Non-object values may cause
138
166
  # a 422 validation error on message creation, but are silently treated as an empty
139
- # object for template rendering.
167
+ # object for template rendering. When the template enables `strict_variables`, a
168
+ # missing required variable fails the request with 422 (single send) or a per-item
169
+ # `unprocessable_entity` error (batch) naming the variable; no message is
170
+ # persisted for the failed item.
140
171
  template_variables: nil,
141
172
  # Body param: Plain text email body. Returned only by `GET /email_messages/{id}`;
142
173
  # omitted from create and list responses.
@@ -163,7 +194,7 @@ module Telnyx
163
194
  params(
164
195
  id: String,
165
196
  request_options: Telnyx::RequestOptions::OrHash
166
- ).returns(Telnyx::Models::EmailMessageRetrieveResponse)
197
+ ).returns(Telnyx::EmailMessageDetailResponse)
167
198
  end
168
199
  def retrieve(
169
200
  # Email message UUID.
@@ -172,11 +203,13 @@ module Telnyx
172
203
  )
173
204
  end
174
205
 
175
- # Lists messages sorted newest first by `created_at desc, id desc`. No filters
176
- # other than cursor pagination are implemented. The legacy `/v2/emails` GET route
177
- # is a backward-compatible alias for this operation.
206
+ # Lists messages sorted newest first by `created_at desc, id desc`. Tags and
207
+ # metadata filters compose with cursor pagination. The legacy `/v2/emails` GET
208
+ # route is a backward-compatible alias for this operation.
178
209
  sig do
179
210
  params(
211
+ filter_metadata: String,
212
+ filter_tags: String,
180
213
  page_cursor: String,
181
214
  page_size: Integer,
182
215
  request_options: Telnyx::RequestOptions::OrHash
@@ -187,6 +220,19 @@ module Telnyx
187
220
  )
188
221
  end
189
222
  def list(
223
+ # Metadata containment filter, supplied as a JSON object or comma-separated
224
+ # `key=value` pairs. All supplied key/value pairs must be contained in the message
225
+ # metadata. An empty value or empty JSON object omits the filter. Malformed
226
+ # values, valid non-object JSON, pairs without `=`, empty keys, and
227
+ # non-string/nested query shapes return HTTP 400.
228
+ filter_metadata: nil,
229
+ # Comma-separated tags. Each segment is trimmed, and messages having at least one
230
+ # supplied tag are returned; matching is exact and case-sensitive after trimming.
231
+ # Because commas delimit values and surrounding whitespace is removed, this filter
232
+ # cannot represent stored tags containing literal commas or leading/trailing
233
+ # whitespace. An empty value omits the filter. Empty segments and
234
+ # non-string/nested query shapes return HTTP 400.
235
+ filter_tags: nil,
190
236
  # Opaque URL-safe Base64 cursor returned by a previous list response.
191
237
  page_cursor: nil,
192
238
  # Number of results to return. Defaults to 25; maximum is 100. Invalid values are
@@ -214,7 +260,10 @@ module Telnyx
214
260
  # checks run first and can reject the whole batch before message creation. After
215
261
  # those checks pass, each message is validated and sent independently; item-level
216
262
  # failures do not affect other messages, and the processed batch returns 207
217
- # Multi-Status.
263
+ # Multi-Status. Per-message failures include validation errors; when a template
264
+ # has `strict_variables` enabled, a missing required variable produces a per-item
265
+ # `unprocessable_entity` error naming that variable while the other messages
266
+ # continue.
218
267
  sig do
219
268
  params(
220
269
  messages: T::Array[Telnyx::EmailMessageBatchParams::Message::OrHash],
@@ -228,8 +277,13 @@ module Telnyx
228
277
  # request. Each message is validated and sent independently; per-message failures
229
278
  # do not affect other messages in the batch.
230
279
  messages:,
231
- # Body param: Applies sandbox mode to all messages in the batch. Overrides any
232
- # per-message sandbox_mode in the messages array.
280
+ # Body param: Applies sandbox mode to all messages in the batch and overrides any
281
+ # per-message `sandbox_mode` value — each message's effective `sandbox_mode` is
282
+ # exactly this envelope value. Reserved recipients at `test.telnyx.com` produce
283
+ # the deterministic event chains documented on CreateEmailRequest.sandbox_mode; no
284
+ # batch item is injected into the MTA or outbound Kafka path. Sandbox batch items
285
+ # are non-billable, consume no daily-send-limit quota, and feed no
286
+ # delivery-reputation signals.
233
287
  sandbox_mode: nil,
234
288
  # Header param: Optional opaque, unquoted key for safely retrying the same logical
235
289
  # request. Keys must contain 1 to 255 letters, numbers, hyphens, or underscores.
@@ -280,6 +334,15 @@ module Telnyx
280
334
  # Lists events for a single message sorted oldest first by
281
335
  # `occurred_at asc, id asc`. The legacy `/v2/emails/{id}/events` GET route is a
282
336
  # backward-compatible alias.
337
+ #
338
+ # For compatibility, each event carries the legacy customer-visible `event_type`
339
+ # (`email.`-prefixed), the additive `canonical_event_type` (`email.`-prefixed),
340
+ # and the deprecated `type` duplicate — whose value keeps the exact legacy format:
341
+ # the bare stored event name, never `email.`-prefixed. Gateway rejections render
342
+ # `email.failed` + canonical `email.gw_reject`; MTA expirations render
343
+ # `email.bounced` + canonical `email.expired`; every unchanged outcome carries
344
+ # identical `event_type` and `canonical_event_type` values (and `type` keeps the
345
+ # stored name).
283
346
  sig do
284
347
  params(
285
348
  email_id: String,
@@ -300,6 +363,27 @@ module Telnyx
300
363
  )
301
364
  end
302
365
 
366
+ # Moves an existing scheduled email to a new future send time. Only the delivery
367
+ # time (`scheduled_at`) changes; the message ID, content, recipients, tags, and
368
+ # metadata remain unchanged. Returns `409 Conflict` if the message is no longer
369
+ # scheduled or its scheduled-send worker has already started processing it. This
370
+ # route emits no dedicated `rescheduled` event.
371
+ sig do
372
+ params(
373
+ email_id: String,
374
+ scheduled_at: Time,
375
+ request_options: Telnyx::RequestOptions::OrHash
376
+ ).returns(Telnyx::EmailMessageDetailResponse)
377
+ end
378
+ def update_schedule(
379
+ # Email message UUID.
380
+ email_id,
381
+ # New ISO 8601 delivery time. Must be strictly in the future.
382
+ scheduled_at:,
383
+ request_options: {}
384
+ )
385
+ end
386
+
303
387
  # @api private
304
388
  sig { params(client: Telnyx::Client).returns(T.attached_class) }
305
389
  def self.new(client:)
@@ -8,9 +8,18 @@ module Telnyx
8
8
  sig do
9
9
  params(
10
10
  name: String,
11
+ autoescape: T::Boolean,
11
12
  html_body: T.nilable(String),
13
+ strict_variables: T::Boolean,
12
14
  subject: T.nilable(String),
13
15
  text_body: T.nilable(String),
16
+ variable_schema:
17
+ T.nilable(
18
+ T::Hash[
19
+ Symbol,
20
+ Telnyx::EmailTemplateCreateParams::VariableSchema::OrHash
21
+ ]
22
+ ),
14
23
  variables: T::Array[String],
15
24
  idempotency_key: String,
16
25
  request_options: Telnyx::RequestOptions::OrHash
@@ -19,12 +28,36 @@ module Telnyx
19
28
  def create(
20
29
  # Body param: Letters, numbers, spaces, hyphens, and underscores only.
21
30
  name:,
31
+ # Body param: Per-template HTML autoescaping setting. Defaults to `false` for
32
+ # backward compatibility. When `true`, the rendered `html_body` HTML-escapes each
33
+ # Liquid expression's output at the output boundary (after its filters run, before
34
+ # concatenation with literal template markup). Input values are never mutated and
35
+ # `subject`/`text_body` are never autoescaped. The boundary escape is idempotent:
36
+ # HTML entities already present in the output (e.g. from an explicit `escape`
37
+ # filter) are preserved, so an explicit `escape`/`escape_once` is never
38
+ # double-escaped, and markup introduced by any later filter in the chain is still
39
+ # escaped.
40
+ autoescape: nil,
22
41
  # Body param: Liquid template HTML body.
23
42
  html_body: nil,
43
+ # Body param: Per-template strict variable-validation setting. Defaults to `false`
44
+ # for backward compatibility. When `true`, a send or render that is missing a
45
+ # variable marked `required: true` in `variable_schema` fails with 422 naming the
46
+ # variable. Missing optional variables never fail; their schema `default` (when
47
+ # set) is applied to the render.
48
+ strict_variables: nil,
24
49
  # Body param: Liquid template subject.
25
50
  subject: nil,
26
51
  # Body param: Liquid template text body.
27
52
  text_body: nil,
53
+ # Body param: Structured variable requirements. Required variables cannot define
54
+ # defaults; invalid combinations return 422. This is independent of the legacy
55
+ # `variables` array. On render with `strict_variables` enabled: `required`
56
+ # variables must be supplied as non-empty values — absent, `null`, empty string,
57
+ # empty object `{}`, and empty array `[]` all fail with 422 naming the variable,
58
+ # while present values such as `false` and `0` pass (they are present, not empty).
59
+ # Optional variables fall back to their `default` when absent.
60
+ variable_schema: nil,
28
61
  # Body param: Template variables. Auto-extracted from subject/body fields when
29
62
  # absent.
30
63
  variables: nil,
@@ -61,10 +94,19 @@ module Telnyx
61
94
  sig do
62
95
  params(
63
96
  id: String,
97
+ autoescape: T::Boolean,
64
98
  html_body: T.nilable(String),
65
99
  name: String,
100
+ strict_variables: T::Boolean,
66
101
  subject: T.nilable(String),
67
102
  text_body: T.nilable(String),
103
+ variable_schema:
104
+ T.nilable(
105
+ T::Hash[
106
+ Symbol,
107
+ Telnyx::UpdateEmailTemplateRequest::VariableSchema::OrHash
108
+ ]
109
+ ),
68
110
  variables: T::Array[String],
69
111
  request_options: Telnyx::RequestOptions::OrHash
70
112
  ).returns(Telnyx::EmailTemplateResponse)
@@ -72,13 +114,20 @@ module Telnyx
72
114
  def update(
73
115
  # Email template UUID.
74
116
  id,
117
+ # Per-template HTML autoescaping setting.
118
+ autoescape: nil,
75
119
  # Liquid template HTML body.
76
120
  html_body: nil,
77
121
  name: nil,
122
+ # Per-template strict variable-validation setting.
123
+ strict_variables: nil,
78
124
  # Liquid template subject.
79
125
  subject: nil,
80
126
  # Liquid template text body.
81
127
  text_body: nil,
128
+ # Structured variable requirements. Required variables cannot define defaults;
129
+ # invalid combinations return 422. Set to `null` to clear the schema.
130
+ variable_schema: nil,
82
131
  variables: nil,
83
132
  request_options: {}
84
133
  )
@@ -118,6 +167,12 @@ module Telnyx
118
167
 
119
168
  # Renders a template using the provided Liquid variables. Missing
120
169
  # `template_variables` defaults to `{}`.
170
+ #
171
+ # When the template has `strict_variables` enabled and a required variable (per
172
+ # `variable_schema`) is missing, returns 422 naming the variable. When the
173
+ # template has `autoescape` enabled, the rendered `html_body` expression output is
174
+ # HTML-escaped at the output boundary; `subject` and `text_body` are not
175
+ # autoescaped.
121
176
  sig do
122
177
  params(
123
178
  id: String,
@@ -140,10 +195,19 @@ module Telnyx
140
195
  sig do
141
196
  params(
142
197
  id: String,
198
+ autoescape: T::Boolean,
143
199
  html_body: T.nilable(String),
144
200
  name: String,
201
+ strict_variables: T::Boolean,
145
202
  subject: T.nilable(String),
146
203
  text_body: T.nilable(String),
204
+ variable_schema:
205
+ T.nilable(
206
+ T::Hash[
207
+ Symbol,
208
+ Telnyx::UpdateEmailTemplateRequest::VariableSchema::OrHash
209
+ ]
210
+ ),
147
211
  variables: T::Array[String],
148
212
  request_options: Telnyx::RequestOptions::OrHash
149
213
  ).returns(Telnyx::EmailTemplateResponse)
@@ -151,13 +215,20 @@ module Telnyx
151
215
  def replace(
152
216
  # Email template UUID.
153
217
  id,
218
+ # Per-template HTML autoescaping setting.
219
+ autoescape: nil,
154
220
  # Liquid template HTML body.
155
221
  html_body: nil,
156
222
  name: nil,
223
+ # Per-template strict variable-validation setting.
224
+ strict_variables: nil,
157
225
  # Liquid template subject.
158
226
  subject: nil,
159
227
  # Liquid template text body.
160
228
  text_body: nil,
229
+ # Structured variable requirements. Required variables cannot define defaults;
230
+ # invalid combinations return 422. Set to `null` to clear the schema.
231
+ variable_schema: nil,
161
232
  variables: nil,
162
233
  request_options: {}
163
234
  )
@@ -22,7 +22,13 @@ module Telnyx
22
22
  )
23
23
  end
24
24
 
25
- # Sends audio / text-to-speech into a meeting session.
25
+ # Sends audio / text-to-speech into a meeting session. With a Telnyx AI Assistant
26
+ # (or avatar) attached, the bot is a webpage-output bot: the speak audio routes
27
+ # through the assistant's output page rather than the bot mic and plays once the
28
+ # assistant is connected -- it is not refused. If that page cannot be reached,
29
+ # delivery fails with the 502 below, which may arrive without an error envelope,
30
+ # so branch on the status code before parsing a body. The assistant is designed to
31
+ # own the conversation, so prefer letting it speak or use `send_chat`.
26
32
  sig do
27
33
  params(
28
34
  id: String,
@@ -5,23 +5,34 @@ module Telnyx
5
5
  class MeetingSessions
6
6
  # Create and retrieve asynchronous summaries and action-item artifacts.
7
7
  class Artifacts
8
- # Requests asynchronous generation of one `summary` or `action_items` artifact.
9
- # Each type requires its own request. Generation requires transcript content and
10
- # configured inference and currently reads at most the first 10,000 segments, so
11
- # exceptionally long transcripts may produce incomplete artifacts or fail model
12
- # limits.
8
+ # Requests asynchronous generation of one artifact: `summary`, `action_items`,
9
+ # `decisions`, `topics`, `open_questions`, or `custom`. Each request produces one
10
+ # artifact. `custom` is answered from a `prompt` you supply, which is required for
11
+ # `custom` and rejected on the five named types. Generation requires transcript
12
+ # content and configured inference and currently reads at most the first 10,000
13
+ # segments, so exceptionally long transcripts may produce incomplete artifacts or
14
+ # fail model limits. **Not idempotent, and every call is billed**: each request is
15
+ # a separate inference run, so a retry or a duplicate POST produces a second
16
+ # artifact and a second charge. Guard the call rather than relying on the service
17
+ # to collapse it. The automatic `summarize_on_end` attempt is billed on the same
18
+ # basis.
13
19
  sig do
14
20
  params(
15
21
  id: String,
16
- type: Telnyx::MeetingSessions::ArtifactCreateParams::Type::OrSymbol,
22
+ body:
23
+ T.any(
24
+ Telnyx::MeetingSessions::ArtifactCreateParams::Body::NamedArtifact::OrHash,
25
+ Telnyx::MeetingSessions::ArtifactCreateParams::Body::CustomArtifact::OrHash
26
+ ),
17
27
  request_options: Telnyx::RequestOptions::OrHash
18
28
  ).returns(Telnyx::MeetingSessions::MeetingSessionArtifactResponse)
19
29
  end
20
30
  def create(
21
31
  # Unique identifier for the meeting session.
22
32
  id,
23
- # Type of artifact to generate from the session.
24
- type:,
33
+ # One of two shapes: a named type on its own, or `custom` with the prompt it
34
+ # answers.
35
+ body:,
25
36
  request_options: {}
26
37
  )
27
38
  end
@@ -34,6 +34,7 @@ module Telnyx
34
34
  Telnyx::MeetingSessionCreateParams::CameraImage::MeetingSessionCameraImageBase64Source::OrHash,
35
35
  Telnyx::MeetingSessionCreateParams::CameraImage::MeetingSessionCameraImageURLSource::OrHash
36
36
  ),
37
+ chat_on_enter: String,
37
38
  idempotency_key: String,
38
39
  join_at: Time,
39
40
  metadata: T::Hash[Symbol, T.anything],
@@ -47,10 +48,10 @@ module Telnyx
47
48
  def create(
48
49
  # The meeting URL the bot should join.
49
50
  meeting_url:,
50
- # Request options for attaching a voice assistant to the session. Routing fields
51
- # (`call_control_connection_id`, `from`, and `loopback_sip_uri`) are used only to
52
- # establish the assistant call leg and are omitted from response objects.
53
- # `audio_gate` is returned with `id` in the assistant response object.
51
+ # Attach a Telnyx AI Assistant to the session. Supply the Assistant's ID; the
52
+ # Meeting service connects it to the meeting directly. The Call Control
53
+ # connection, caller ID and loopback SIP URI previously required here have been
54
+ # removed and are now rejected as unknown fields.
54
55
  assistant: nil,
55
56
  # Request options for attaching a bring-your-own-key avatar to the session.
56
57
  avatar: nil,
@@ -67,6 +68,12 @@ module Telnyx
67
68
  # recordings. An effective Avatar or Assistant webpage output takes precedence, so
68
69
  # this input is ignored and a URL source is not fetched.
69
70
  camera_image: nil,
71
+ # A message the bot posts to the meeting's chat as soon as it becomes active —
72
+ # typically a recording disclosure. Delivered at most once. Independent of
73
+ # `speak_on_enter`: both may be set, and the chat message posts first because it
74
+ # does not wait for text-to-speech or avatar startup. Rejected with 422
75
+ # `unsupported_capability` on platforms without meeting chat.
76
+ chat_on_enter: nil,
70
77
  # Client-supplied idempotency key to safely retry creation requests without
71
78
  # duplicating sessions. Lookup is scoped to the authenticated account and compares
72
79
  # the key only; the request payload is not fingerprinted or compared.
@@ -77,7 +84,10 @@ module Telnyx
77
84
  # Arbitrary key-value metadata attached to the session. The serialized JSON
78
85
  # representation must not exceed 16384 characters at runtime.
79
86
  metadata: nil,
80
- # Text the bot speaks when it enters the meeting.
87
+ # Text the bot speaks when it enters the meeting. **Not spoken when an `assistant`
88
+ # is attached**: the value is accepted and echoed back on the session, but the
89
+ # assistant owns the voice and the line is never delivered, with no event
90
+ # reporting the omission. Use `chat_on_enter` to announce an assistant-backed bot.
81
91
  speak_on_enter: nil,
82
92
  # If true, generate a summary artifact when the session ends.
83
93
  summarize_on_end: nil,
@@ -161,8 +171,6 @@ module Telnyx
161
171
  )
162
172
  end
163
173
 
164
- # **Not yet available in production** — this route is not currently routed on
165
- # api.telnyx.com and returns a generic 404; it is documented ahead of rollout.
166
174
  # Irreversibly requests deletion of provider-hosted aggregate recording media
167
175
  # under the provider contract. The operation retains the Telnyx-local Meeting
168
176
  # session, transcript segments, events, artifacts, and usage records. It is
@@ -11,6 +11,8 @@ module Telnyx
11
11
  params(
12
12
  name: String,
13
13
  network_id: String,
14
+ address_mode:
15
+ Telnyx::PrivateWirelessGatewayCreateParams::AddressMode::OrSymbol,
14
16
  region_code: String,
15
17
  request_options: Telnyx::RequestOptions::OrHash
16
18
  ).returns(Telnyx::Models::PrivateWirelessGatewayCreateResponse)
@@ -20,6 +22,12 @@ module Telnyx
20
22
  name:,
21
23
  # The identification of the related network resource.
22
24
  network_id:,
25
+ # Determines how IP addresses are assigned to SIM cards using this gateway. With
26
+ # static, each SIM card gets a fixed IP address from the gateway's IP range that
27
+ # is preserved across sessions. With dynamic, an IP address is assigned by the
28
+ # network at attach time and may change between sessions. If omitted, the gateway
29
+ # is created with the default address mode, dynamic.
30
+ address_mode: nil,
23
31
  # The code of the region where the private wireless gateway will be assigned. A
24
32
  # list of available regions can be found at the regions endpoint
25
33
  region_code: nil,
@@ -54,7 +62,7 @@ module Telnyx
54
62
  request_options: Telnyx::RequestOptions::OrHash
55
63
  ).returns(
56
64
  Telnyx::Internal::DefaultFlatPagination[
57
- Telnyx::PrivateWirelessGateway
65
+ Telnyx::WirelessPrivateWirelessGateway
58
66
  ]
59
67
  )
60
68
  end
@@ -118,15 +118,15 @@ module Telnyx
118
118
  params(
119
119
  account_sid: String,
120
120
  end_time: String,
121
- end_time_gt: String,
122
121
  end_time_lt: String,
122
+ end_time_gt: String,
123
123
  from: String,
124
124
  page: Integer,
125
125
  page_size: Integer,
126
126
  page_token: String,
127
127
  start_time: String,
128
- start_time_gt: String,
129
128
  start_time_lt: String,
129
+ start_time_gt: String,
130
130
  status:
131
131
  Telnyx::Texml::Accounts::CallRetrieveCallsParams::Status::OrSymbol,
132
132
  to: String,
@@ -140,10 +140,10 @@ module Telnyx
140
140
  account_sid,
141
141
  # Filters calls by their end date. Expected format is YYYY-MM-DD
142
142
  end_time: nil,
143
- # Filters calls by their end date (after). Expected format is YYYY-MM-DD
144
- end_time_gt: nil,
145
143
  # Filters calls by their end date (before). Expected format is YYYY-MM-DD
146
144
  end_time_lt: nil,
145
+ # Filters calls by their end date (after). Expected format is YYYY-MM-DD
146
+ end_time_gt: nil,
147
147
  # Filters calls by the from number.
148
148
  from: nil,
149
149
  # The number of the page to be displayed, zero-indexed, should be used in
@@ -155,10 +155,10 @@ module Telnyx
155
155
  page_token: nil,
156
156
  # Filters calls by their start date. Expected format is YYYY-MM-DD.
157
157
  start_time: nil,
158
- # Filters calls by their start date (after). Expected format is YYYY-MM-DD
159
- start_time_gt: nil,
160
158
  # Filters calls by their start date (before). Expected format is YYYY-MM-DD
161
159
  start_time_lt: nil,
160
+ # Filters calls by their start date (after). Expected format is YYYY-MM-DD
161
+ start_time_gt: nil,
162
162
  # Filters calls by status.
163
163
  status: nil,
164
164
  # Filters calls by the to number.
@@ -17,7 +17,7 @@ module Telnyx
17
17
  # parameters.
18
18
  #
19
19
  # Supported providers: `aws`, `telnyx`, `azure`, `elevenlabs`, `minimax`,
20
- # `resemble`, `xai`, `humain`.
20
+ # `resemble`, `xai`, `humain`, `soniox`.
21
21
  #
22
22
  # The Telnyx `Ultra` model supports 44 languages with emotion control, speed
23
23
  # adjustment, and volume control. Use the `telnyx` provider-specific parameters to
@@ -38,6 +38,7 @@ module Telnyx
38
38
  ::Telnyx::TextToSpeechGenerateSpeechParams::Provider::OrSymbol,
39
39
  resemble:
40
40
  ::Telnyx::TextToSpeechGenerateSpeechParams::Resemble::OrHash,
41
+ soniox: ::Telnyx::TextToSpeechGenerateSpeechParams::Soniox::OrHash,
41
42
  telnyx: ::Telnyx::TextToSpeechGenerateSpeechParams::Telnyx::OrHash,
42
43
  text: String,
43
44
  text_type:
@@ -72,6 +73,9 @@ module Telnyx
72
73
  provider: nil,
73
74
  # Resemble AI provider-specific parameters.
74
75
  resemble: nil,
76
+ # Soniox provider-specific parameters. Every voice speaks all supported languages;
77
+ # set `language` to the language of the text.
78
+ soniox: nil,
75
79
  # Telnyx provider-specific parameters. For the `Ultra` model, use `voice_speed`,
76
80
  # `volume`, and `emotion`. `Bayan` and `Sukhan` don't use `temperature`, `volume`,
77
81
  # or `emotion`, and don't support `voice_speed`. `Sukhan`'s `response_format` is
@@ -123,8 +127,8 @@ module Telnyx
123
127
  # `Authorization: Bearer <API_KEY>` header. Send JSON frames with text to
124
128
  # synthesize; receive JSON frames containing base64-encoded audio chunks.
125
129
  #
126
- # Supported providers: `aws`, `telnyx`, `azure`, `murfai`, `minimax`, `resemble`,
127
- # `elevenlabs`, `xai`, `humain`.
130
+ # Supported providers: `aws`, `telnyx`, `azure`, `minimax`, `resemble`,
131
+ # `elevenlabs`, `xai`, `humain`, `soniox`.
128
132
  #
129
133
  # **Connection flow:**
130
134
  #
@@ -30,7 +30,7 @@ module Telnyx
30
30
  tool_ids: ::Array[String],
31
31
  tools: ::Array[Telnyx::Models::AI::assistant_tool],
32
32
  transcription: Telnyx::AI::TranscriptionSettings,
33
- voice_settings: Telnyx::AI::VoiceSettings,
33
+ voice_settings: Telnyx::AI::InferenceEmbeddingVoiceSettings,
34
34
  widget_settings: Telnyx::AI::WidgetSettings,
35
35
  idempotency_key: String
36
36
  }
@@ -176,11 +176,11 @@ module Telnyx
176
176
  Telnyx::AI::TranscriptionSettings
177
177
  ) -> Telnyx::AI::TranscriptionSettings
178
178
 
179
- attr_reader voice_settings: Telnyx::AI::VoiceSettings?
179
+ attr_reader voice_settings: Telnyx::AI::InferenceEmbeddingVoiceSettings?
180
180
 
181
181
  def voice_settings=: (
182
- Telnyx::AI::VoiceSettings
183
- ) -> Telnyx::AI::VoiceSettings
182
+ Telnyx::AI::InferenceEmbeddingVoiceSettings
183
+ ) -> Telnyx::AI::InferenceEmbeddingVoiceSettings
184
184
 
185
185
  attr_reader widget_settings: Telnyx::AI::WidgetSettings?
186
186
 
@@ -220,7 +220,7 @@ module Telnyx
220
220
  ?tool_ids: ::Array[String],
221
221
  ?tools: ::Array[Telnyx::Models::AI::assistant_tool],
222
222
  ?transcription: Telnyx::AI::TranscriptionSettings,
223
- ?voice_settings: Telnyx::AI::VoiceSettings,
223
+ ?voice_settings: Telnyx::AI::InferenceEmbeddingVoiceSettings,
224
224
  ?widget_settings: Telnyx::AI::WidgetSettings,
225
225
  ?idempotency_key: String,
226
226
  ?request_options: Telnyx::request_opts
@@ -254,7 +254,7 @@ module Telnyx
254
254
  tool_ids: ::Array[String],
255
255
  tools: ::Array[Telnyx::Models::AI::assistant_tool],
256
256
  transcription: Telnyx::AI::TranscriptionSettings,
257
- voice_settings: Telnyx::AI::VoiceSettings,
257
+ voice_settings: Telnyx::AI::InferenceEmbeddingVoiceSettings,
258
258
  widget_settings: Telnyx::AI::WidgetSettings,
259
259
  idempotency_key: String,
260
260
  request_options: Telnyx::RequestOptions