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
@@ -0,0 +1,67 @@
1
+ # typed: strong
2
+
3
+ module Telnyx
4
+ module Resources
5
+ class AI
6
+ class Memory
7
+ class Namespaces
8
+ # How a namespace's summaries are written.
9
+ class Settings
10
+ # What is currently set for this namespace. `instructions: null` means none are
11
+ # set and summaries use the neutral default.
12
+ sig do
13
+ params(
14
+ namespace: String,
15
+ request_options: Telnyx::RequestOptions::OrHash
16
+ ).returns(
17
+ Telnyx::AI::Memory::Namespaces::NamespaceSettingsResponse
18
+ )
19
+ end
20
+ def list(
21
+ # The namespace. `default` exists for every organization.
22
+ namespace,
23
+ request_options: {}
24
+ )
25
+ end
26
+
27
+ # Only the fields you send are changed; anything omitted is left as it is, so `{}`
28
+ # changes nothing. Sending `instructions: null`, or an empty or whitespace-only
29
+ # string, clears them and returns summaries to the neutral default.
30
+ #
31
+ # Instructions are capped at 2000 characters. A longer note is refused rather than
32
+ # truncated, because a note cut mid-sentence is a worse steer than none. A change
33
+ # reaches each summary the next time that summary is regenerated, not immediately.
34
+ sig do
35
+ params(
36
+ namespace: String,
37
+ summary:
38
+ T.nilable(
39
+ Telnyx::AI::Memory::Namespaces::SettingPatchAllParams::Summary::OrHash
40
+ ),
41
+ request_options: Telnyx::RequestOptions::OrHash
42
+ ).returns(
43
+ Telnyx::AI::Memory::Namespaces::NamespaceSettingsResponse
44
+ )
45
+ end
46
+ def patch_all(
47
+ # The namespace. `default` exists for every organization.
48
+ namespace,
49
+ # A partial update to a namespace's summary settings.
50
+ #
51
+ # Only the fields present in the request are changed; the rest are left as they
52
+ # are. Sending `instructions: null` (or empty) clears the instructions.
53
+ summary: nil,
54
+ request_options: {}
55
+ )
56
+ end
57
+
58
+ # @api private
59
+ sig { params(client: Telnyx::Client).returns(T.attached_class) }
60
+ def self.new(client:)
61
+ end
62
+ end
63
+ end
64
+ end
65
+ end
66
+ end
67
+ end
@@ -0,0 +1,37 @@
1
+ # typed: strong
2
+
3
+ module Telnyx
4
+ module Resources
5
+ class AI
6
+ class Memory
7
+ # Whether a write has finished.
8
+ class Namespaces
9
+ sig { returns(Telnyx::Resources::AI::Memory::Namespaces::Profiles) }
10
+ attr_reader :profiles
11
+
12
+ # How a namespace's summaries are written.
13
+ sig { returns(Telnyx::Resources::AI::Memory::Namespaces::Settings) }
14
+ attr_reader :settings
15
+
16
+ # Whether a write has finished. Both `ingest` and `remember` return an
17
+ # `operation_id`, and a memory is not recallable until its operation completes —
18
+ # extraction, embedding and consolidation all run first.
19
+ sig do
20
+ params(
21
+ operation_id: String,
22
+ namespace: String,
23
+ request_options: Telnyx::RequestOptions::OrHash
24
+ ).returns(Telnyx::Models::AI::Memory::NamespaceRetrieveResponse)
25
+ end
26
+ def retrieve(operation_id, namespace:, request_options: {})
27
+ end
28
+
29
+ # @api private
30
+ sig { params(client: Telnyx::Client).returns(T.attached_class) }
31
+ def self.new(client:)
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,18 @@
1
+ # typed: strong
2
+
3
+ module Telnyx
4
+ module Resources
5
+ class AI
6
+ class Memory
7
+ # Whether a write has finished.
8
+ sig { returns(Telnyx::Resources::AI::Memory::Namespaces) }
9
+ attr_reader :namespaces
10
+
11
+ # @api private
12
+ sig { params(client: Telnyx::Client).returns(T.attached_class) }
13
+ def self.new(client:)
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
@@ -5,27 +5,31 @@ module Telnyx
5
5
  class AI
6
6
  class Typesafe
7
7
  # Beta API for evaluating shared context with typed questions and structured
8
- # answers. Telnyx manages model selection.
8
+ # answers using Flash or Pro.
9
9
  class V1
10
- # **Beta API.** Telnyx controls model selection.
10
+ # **Beta API.** Choose telnyx/decision-flash for the lowest cost and latency, or
11
+ # telnyx/decision-pro for decisions that require long context, including inputs
12
+ # beyond Jev’s 32k per-decision limit. Omitted model defaults to
13
+ # telnyx/decision-flash.
11
14
  #
12
15
  # Evaluate shared context using named choice, noul (yes/no), and score questions.
13
- # Returns TypeSafe System One-compatible answer shapes, an opaque compatibility
14
- # identifier, and token usage. See the
16
+ # Returns TypeSafe System One-compatible answer shapes, the selected public model
17
+ # alias, and token usage. See the
15
18
  # [decision model guide](https://developers.telnyx.com/docs/inference/decision-models)
16
19
  # for examples and compatibility limits.
17
20
  #
18
21
  # The supported request subset requires instructions for every question, string
19
22
  # descriptions for criteria (or null for choice descriptions), 1–64 questions, and
20
- # 2–64 options for choice and score questions. The SDK-supplied model value is
21
- # ignored and cannot select a model. Other unknown fields are rejected. The
22
- # endpoint is synchronous and does not stream.
23
+ # 2–64 options for choice and score questions. The model field accepts only
24
+ # telnyx/decision-flash or telnyx/decision-pro. Unsupported model values and
25
+ # unknown fields are rejected. The endpoint is synchronous and does not stream.
23
26
  #
24
27
  # Use the TypeSafe Python SDK with base_url set to
25
28
  # https://api.telnyx.com/v2/ai/typesafe and a Telnyx API key. The SDK appends
26
- # /v1/systemone. Compatibility covers this operation and the documented request
27
- # subset; it does not include TypeSafe model listing. Scores describe relative
28
- # preference, not calibrated correctness.
29
+ # /v1/systemone; explicitly set model to a supported Telnyx alias because its own
30
+ # default model is not supported. Compatibility covers this operation and the
31
+ # documented request subset; it does not include TypeSafe model listing. Scores
32
+ # describe relative preference, not calibrated correctness.
29
33
  sig do
30
34
  params(
31
35
  questions:
@@ -38,6 +42,7 @@ module Telnyx
38
42
  )
39
43
  ],
40
44
  state: Telnyx::AI::Typesafe::V1SystemoneParams::State::Variants,
45
+ model: Telnyx::AI::Typesafe::V1SystemoneParams::Model::OrSymbol,
41
46
  request_options: Telnyx::RequestOptions::OrHash
42
47
  ).returns(Telnyx::Models::AI::Typesafe::V1SystemoneResponse)
43
48
  end
@@ -46,6 +51,11 @@ module Telnyx
46
51
  questions:,
47
52
  # Shared context evaluated by every question.
48
53
  state:,
54
+ # Public model alias. telnyx/decision-flash offers the lowest cost and latency;
55
+ # telnyx/decision-pro supports decisions that require long context, including
56
+ # inputs beyond Jev’s 32k per-decision limit. Applies to every question in the
57
+ # request. Other values are rejected.
58
+ model: nil,
49
59
  request_options: {}
50
60
  )
51
61
  end
@@ -5,7 +5,7 @@ module Telnyx
5
5
  class AI
6
6
  class Typesafe
7
7
  # Beta API for evaluating shared context with typed questions and structured
8
- # answers. Telnyx manages model selection.
8
+ # answers using Flash or Pro.
9
9
  sig { returns(Telnyx::Resources::AI::Typesafe::V1) }
10
10
  attr_reader :v1
11
11
 
@@ -58,6 +58,9 @@ module Telnyx
58
58
  sig { returns(Telnyx::Resources::AI::Typesafe) }
59
59
  attr_reader :typesafe
60
60
 
61
+ sig { returns(Telnyx::Resources::AI::Memory) }
62
+ attr_reader :memory
63
+
61
64
  # Performs semantic vector search across conversation history records.
62
65
  #
63
66
  # **How it works:**
@@ -467,7 +467,8 @@ module Telnyx
467
467
  Telnyx::Calls::AwsVoiceSettings::OrHash,
468
468
  Telnyx::AzureVoiceSettings::OrHash,
469
469
  Telnyx::ResembleVoiceSettings::OrHash,
470
- Telnyx::XaiVoiceSettings::OrHash
470
+ Telnyx::XaiVoiceSettings::OrHash,
471
+ Telnyx::Calls::SonioxVoiceSettings::OrHash
471
472
  ),
472
473
  request_options: Telnyx::RequestOptions::OrHash
473
474
  ).returns(Telnyx::Models::Calls::ActionGatherUsingAIResponse)
@@ -547,6 +548,12 @@ module Telnyx
547
548
  # - **Fish Audio:** Use `FishAudio.<ModelId>.<VoiceId>` (e.g.,
548
549
  # `FishAudio.s2.1-pro.<reference_id>`). Supported models: `s2.1-pro`, `s2-pro`,
549
550
  # `s1`. `VoiceId` is a Fish Voice-Library reference ID.
551
+ # - **Soniox:** Use `Soniox.<ModelId>.<VoiceId>` (e.g., `Soniox.tts-rt-v2.Emma`).
552
+ # Supported model: `tts-rt-v2`. Browse the catalog via the
553
+ # [Voices API](https://developers.telnyx.com/api-reference/text-to-speech-commands/list-available-voices).
554
+ # Every voice speaks all supported languages; set `language` to the two-letter
555
+ # ISO 639-1 code of the text, for example `it`. SSML is not supported. Use
556
+ # `voice_settings` to configure `speed` (0.7 to 1.3) and `reduce_silence`.
550
557
  # - **xAI:** Use `xAI.<VoiceId>` (e.g., `xAI.eve`). Available voices: `eve`,
551
558
  # `ara`, `rex`, `sal`, `leo`.
552
559
  # - **Humain:** Use `Humain.<VoiceId>` (e.g., `Humain.sara-ar`). Available voices:
@@ -686,7 +693,8 @@ module Telnyx
686
693
  Telnyx::AzureVoiceSettings::OrHash,
687
694
  Telnyx::ResembleVoiceSettings::OrHash,
688
695
  Telnyx::InworldVoiceSettings::OrHash,
689
- Telnyx::XaiVoiceSettings::OrHash
696
+ Telnyx::XaiVoiceSettings::OrHash,
697
+ Telnyx::Calls::SonioxVoiceSettings::OrHash
690
698
  ),
691
699
  request_options: Telnyx::RequestOptions::OrHash
692
700
  ).returns(Telnyx::Models::Calls::ActionGatherUsingSpeakResponse)
@@ -740,6 +748,12 @@ module Telnyx
740
748
  # - **Fish Audio:** Use `FishAudio.<ModelId>.<VoiceId>` (e.g.,
741
749
  # `FishAudio.s2.1-pro.<reference_id>`). Supported models: `s2.1-pro`, `s2-pro`,
742
750
  # `s1`. `VoiceId` is a Fish Voice-Library reference ID.
751
+ # - **Soniox:** Use `Soniox.<ModelId>.<VoiceId>` (e.g., `Soniox.tts-rt-v2.Emma`).
752
+ # Supported model: `tts-rt-v2`. Browse the catalog via the
753
+ # [Voices API](https://developers.telnyx.com/api-reference/text-to-speech-commands/list-available-voices).
754
+ # Every voice speaks all supported languages; set `language` to the two-letter
755
+ # ISO 639-1 code of the text, for example `it`. SSML is not supported. Use
756
+ # `voice_settings` to configure `speed` (0.7 to 1.3) and `reduce_silence`.
743
757
  # - **xAI:** Use `xAI.<VoiceId>` (e.g., `xAI.eve`). Available voices: `eve`,
744
758
  # `ara`, `rex`, `sal`, `leo`.
745
759
  # - **Humain:** Use `Humain.<VoiceId>` (e.g., `Humain.sara-ar`). Available voices:
@@ -1208,7 +1222,8 @@ module Telnyx
1208
1222
  Telnyx::AzureVoiceSettings::OrHash,
1209
1223
  Telnyx::ResembleVoiceSettings::OrHash,
1210
1224
  Telnyx::InworldVoiceSettings::OrHash,
1211
- Telnyx::XaiVoiceSettings::OrHash
1225
+ Telnyx::XaiVoiceSettings::OrHash,
1226
+ Telnyx::Calls::SonioxVoiceSettings::OrHash
1212
1227
  ),
1213
1228
  request_options: Telnyx::RequestOptions::OrHash
1214
1229
  ).returns(Telnyx::Models::Calls::ActionSpeakResponse)
@@ -1262,6 +1277,12 @@ module Telnyx
1262
1277
  # - **Fish Audio:** Use `FishAudio.<ModelId>.<VoiceId>` (e.g.,
1263
1278
  # `FishAudio.s2.1-pro.<reference_id>`). Supported models: `s2.1-pro`, `s2-pro`,
1264
1279
  # `s1`. `VoiceId` is a Fish Voice-Library reference ID.
1280
+ # - **Soniox:** Use `Soniox.<ModelId>.<VoiceId>` (e.g., `Soniox.tts-rt-v2.Emma`).
1281
+ # Supported model: `tts-rt-v2`. Browse the catalog via the
1282
+ # [Voices API](https://developers.telnyx.com/api-reference/text-to-speech-commands/list-available-voices).
1283
+ # Every voice speaks all supported languages; set `language` to the two-letter
1284
+ # ISO 639-1 code of the text, for example `it`. SSML is not supported. Use
1285
+ # `voice_settings` to configure `speed` (0.7 to 1.3) and `reduce_silence`.
1265
1286
  # - **xAI:** Use `xAI.<VoiceId>` (e.g., `xAI.eve`). Available voices: `eve`,
1266
1287
  # `ara`, `rex`, `sal`, `leo`.
1267
1288
  # - **Humain:** Use `Humain.<VoiceId>` (e.g., `Humain.sara-ar`). Available voices:
@@ -1423,7 +1444,8 @@ module Telnyx
1423
1444
  Telnyx::AzureVoiceSettings::OrHash,
1424
1445
  Telnyx::ResembleVoiceSettings::OrHash,
1425
1446
  Telnyx::InworldVoiceSettings::OrHash,
1426
- Telnyx::XaiVoiceSettings::OrHash
1447
+ Telnyx::XaiVoiceSettings::OrHash,
1448
+ Telnyx::Calls::SonioxVoiceSettings::OrHash
1427
1449
  ),
1428
1450
  request_options: Telnyx::RequestOptions::OrHash
1429
1451
  ).returns(Telnyx::Models::Calls::ActionStartConversationRelayResponse)
@@ -1526,6 +1548,12 @@ module Telnyx
1526
1548
  # - **Fish Audio:** Use `FishAudio.<ModelId>.<VoiceId>` (e.g.,
1527
1549
  # `FishAudio.s2.1-pro.<reference_id>`). Supported models: `s2.1-pro`, `s2-pro`,
1528
1550
  # `s1`. `VoiceId` is a Fish Voice-Library reference ID.
1551
+ # - **Soniox:** Use `Soniox.<ModelId>.<VoiceId>` (e.g., `Soniox.tts-rt-v2.Emma`).
1552
+ # Supported model: `tts-rt-v2`. Browse the catalog via the
1553
+ # [Voices API](https://developers.telnyx.com/api-reference/text-to-speech-commands/list-available-voices).
1554
+ # Every voice speaks all supported languages; set `language` to the two-letter
1555
+ # ISO 639-1 code of the text, for example `it`. SSML is not supported. Use
1556
+ # `voice_settings` to configure `speed` (0.7 to 1.3) and `reduce_silence`.
1529
1557
  # - **xAI:** Use `xAI.<VoiceId>` (e.g., `xAI.eve`). Available voices: `eve`,
1530
1558
  # `ara`, `rex`, `sal`, `leo`.
1531
1559
  # - **Humain:** Use `Humain.<VoiceId>` (e.g., `Humain.sara-ar`). Available voices:
@@ -534,7 +534,8 @@ module Telnyx
534
534
  Telnyx::AzureVoiceSettings::OrHash,
535
535
  Telnyx::ResembleVoiceSettings::OrHash,
536
536
  Telnyx::InworldVoiceSettings::OrHash,
537
- Telnyx::XaiVoiceSettings::OrHash
537
+ Telnyx::XaiVoiceSettings::OrHash,
538
+ Telnyx::Calls::SonioxVoiceSettings::OrHash
538
539
  ),
539
540
  request_options: Telnyx::RequestOptions::OrHash
540
541
  ).returns(Telnyx::Models::Conferences::ActionSpeakResponse)
@@ -588,6 +589,12 @@ module Telnyx
588
589
  # - **Fish Audio:** Use `FishAudio.<ModelId>.<VoiceId>` (e.g.,
589
590
  # `FishAudio.s2.1-pro.<reference_id>`). Supported models: `s2.1-pro`, `s2-pro`,
590
591
  # `s1`. `VoiceId` is a Fish Voice-Library reference ID.
592
+ # - **Soniox:** Use `Soniox.<ModelId>.<VoiceId>` (e.g., `Soniox.tts-rt-v2.Emma`).
593
+ # Supported model: `tts-rt-v2`. Browse the catalog via the
594
+ # [Voices API](https://developers.telnyx.com/api-reference/text-to-speech-commands/list-available-voices).
595
+ # Every voice speaks all supported languages; set `language` to the two-letter
596
+ # ISO 639-1 code of the text, for example `it`. SSML is not supported. Use
597
+ # `voice_settings` to configure `speed` (0.7 to 1.3) and `reduce_silence`.
591
598
  # - **xAI:** Use `xAI.<VoiceId>` (e.g., `xAI.eve`). Available voices: `eve`,
592
599
  # `ara`, `rex`, `sal`, `leo`.
593
600
  # - **Humain:** Use `Humain.<VoiceId>` (e.g., `Humain.sara-ar`). Available voices:
@@ -13,9 +13,23 @@ module Telnyx
13
13
  # - header-only / all-blank / undetectable provider → `400` Returns `202` with the
14
14
  # import record (status `pending`); an Oban worker (`EmailBlockImportWorker`,
15
15
  # max_attempts 3) transitions `pending → processing → completed | failed`.
16
- # `block_ttl_days` applies only to imported `manual_block` rows; other reasons
17
- # get `expires_at: nil`. Provider is auto-detected from the CSV header
18
- # (`sendgrid` / `mailgun` / `ses` / `generic`).
16
+ #
17
+ # Native Telnyx exports are detected by the stable first-12-column header
18
+ # signature (`id` … `group_id`) and are restored with their original `from`,
19
+ # `domain_id`, `group_id`, `source`, `status`, `expires_at`, plus
20
+ # `bounce_category`, `dsn_code`, and `meta` when present (`scope` is re-derived
21
+ # from `domain_id`/`from`; the exported `scope` cell must be a valid enum value).
22
+ # Lifecycle changes reconcile through the same create path as the API: a row
23
+ # already in the requested state restores its mutable backup fields without a new
24
+ # audit event, and a real transition (e.g. tombstone → active) appends the
25
+ # matching lifecycle event. `block_ttl_days` is not applied to native rows — their
26
+ # exported `expires_at` is preserved verbatim.
27
+ #
28
+ # Competitor and generic imports (SendGrid / Mailgun / SES / generic) remain
29
+ # account-scoped (`from`, `domain_id`, `group_id`, `scope` are not read) and
30
+ # `block_ttl_days` applies only to imported `manual_block` rows; other reasons get
31
+ # `expires_at: nil`. Provider is auto-detected from the CSV header (`sendgrid` /
32
+ # `mailgun` / `ses` / `generic`).
19
33
  sig do
20
34
  params(
21
35
  file: Telnyx::Internal::FileInput,
@@ -158,9 +158,11 @@ module Telnyx
158
158
  # stream `ORDER BY created_at ASC, id ASC` with no pagination.
159
159
  #
160
160
  # CSV columns:
161
- # `id,to,from,reason,source,scope,status,domain_id, created_at,updated_at,expires_at,group_id`.
162
- # The CSV carries the `group_id` column so group-scoped suppressions' group link
163
- # survives the export (empty for account-scope rows).
161
+ # `id,to,from,reason,source,scope,status,domain_id, created_at,updated_at,expires_at,group_id,bounce_category,dsn_code, meta`
162
+ # (15 columns). The first 12 columns are the stable native signature;
163
+ # `bounce_category`, `dsn_code`, and `meta` are optional backup fields (empty when
164
+ # unset). The CSV carries the `group_id` column so group-scoped suppressions'
165
+ # group link survives the export (empty for account-scope rows).
164
166
  sig do
165
167
  params(
166
168
  filter_created_after: Time,
@@ -167,6 +167,28 @@ module Telnyx
167
167
  )
168
168
  end
169
169
 
170
+ # Generates a new DKIM key for the domain, activates it, and retires the previous
171
+ # key. The response includes the updated DKIM DNS records the customer must
172
+ # publish. Selectors are fixed, so rotation replaces the TXT value at the existing
173
+ # `<selector>._domainkey.<domain>` host rather than adding a second record —
174
+ # `old_selector_retained` is false and the new TXT value must be published
175
+ # promptly, since signing switches to the new key immediately and the old TXT
176
+ # value will no longer match. The previous key is retired to a `retiring` state
177
+ # (retained, not revoked) so it can be revoked after the DNS propagation grace
178
+ # period.
179
+ sig do
180
+ params(
181
+ domain_id: String,
182
+ request_options: Telnyx::RequestOptions::OrHash
183
+ ).returns(Telnyx::Models::EmailDomainRotateDkimResponse)
184
+ end
185
+ def rotate_dkim(
186
+ # Email domain UUID
187
+ domain_id,
188
+ request_options: {}
189
+ )
190
+ end
191
+
170
192
  # Checks the published DNS records against the records required for the email
171
193
  # domain and returns the latest verification results.
172
194
  sig do
@@ -5,21 +5,30 @@ module Telnyx
5
5
  # Retrieve account-level email events and event statistics.
6
6
  class EmailEvents
7
7
  # Lists account-level email events sorted oldest first by
8
- # `occurred_at asc, id asc`.
8
+ # `occurred_at asc, id asc`. Each row contains a legacy email.-prefixed event_type
9
+ # and an additive canonical_event_type. Gateway rejection renders email.failed
10
+ # with canonical email.gw_reject; ambiguous injection timeout renders
11
+ # email.injection_timeout in both; MTA expiration renders email.bounced with
12
+ # canonical email.expired. Message-scoped queued, sending, sandbox, cancelled, and
13
+ # daily_limit_exceeded rows fan out per durable recipient with stable derived IDs
14
+ # matching webhook delivery. Scheduled is the cardinality exception: account
15
+ # polling retains one message-scoped scheduled row with its stored event ID, while
16
+ # scheduled webhook publication fans out per recipient with derived IDs; reconcile
17
+ # scheduled events by message ID, event type, and occurrence time rather than
18
+ # event UUID. Recipient-scoped stored rows retain their stored UUIDs across
19
+ # polling and webhook delivery. Legacy names are derived from stored rows; an
20
+ # AdminBounce row stored as failed renders email.failed in polling while its
21
+ # webhook retains email.bounced, both with canonical email.failed.
9
22
  sig do
10
23
  params(
11
24
  email_id: String,
12
25
  event_type: Telnyx::EmailEventListParams::EventType::Variants,
13
26
  from: Time,
14
- page_cursor: String,
15
27
  page_size: Integer,
28
+ page_cursor: String,
16
29
  to: Time,
17
30
  request_options: Telnyx::RequestOptions::OrHash
18
- ).returns(
19
- Telnyx::Internal::EmailCursorPagination[
20
- Telnyx::Models::EmailEventListResponse
21
- ]
22
- )
31
+ ).returns(Telnyx::Models::EmailEventListResponse)
23
32
  end
24
33
  def list(
25
34
  # Filter events for a specific email message UUID. Invalid UUID values are
@@ -28,14 +37,26 @@ module Telnyx
28
37
  # Comma-separated list of event types to include. Also accepts repeated query
29
38
  # parameters (e.g. event_type=delivered&event_type=bounced). Unknown values return
30
39
  # no matches.
40
+ #
41
+ # Dual-name compatibility: values are accepted bare or `email.`-prefixed. A legacy
42
+ # value keeps matching the rows it matched pre-rename — no widening: `failed` also
43
+ # matches the rows that now store the canonical names of the outcomes it covered
44
+ # (`gw_reject`, `injection_timeout`, `expired`); `bounced` matches stored
45
+ # `bounced` rows only (recipient-scoped Expirations stored `failed` pre-rename and
46
+ # never matched `bounced`, so `expired` is deliberately not a `bounced`
47
+ # expansion). A canonical value matches its own rows plus legacy rows whose
48
+ # recorded payload evidence proves that outcome (`expired` also surfaces legacy
49
+ # `bounced` rows with `bounce_category: transient`). The additive
50
+ # `canonical_event_type` field in each response row names the canonical outcome.
31
51
  event_type: nil,
32
52
  # Inclusive ISO 8601 start timestamp. Defaults to 30 days ago when omitted.
33
53
  from: nil,
34
- # Opaque URL-safe Base64 cursor returned by a previous list response.
35
- page_cursor: nil,
36
54
  # Number of results to return. Defaults to 25; maximum is 100. Invalid values are
37
55
  # clamped to the valid range.
38
56
  page_size: nil,
57
+ # Opaque URL-safe Base64 cursor returned by a previous event list response. The
58
+ # legacy `page[after]` and flat `page_cursor` forms are also accepted.
59
+ page_cursor: nil,
39
60
  # Inclusive ISO 8601 end timestamp. When `from` is provided without `to`, defaults
40
61
  # to `from + 30 days`.
41
62
  to: nil,