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
@@ -101,7 +101,9 @@ module Telnyx
101
101
  optional :inline_css, Telnyx::Internal::Type::Boolean
102
102
 
103
103
  # @!attribute metadata
104
- # Custom metadata. Write-only; not returned in responses.
104
+ # Custom metadata key/value pairs. Stored on the message, returned on message
105
+ # responses, and propagated to Email Detail Records. Usable in `filter[metadata]`
106
+ # when listing messages.
105
107
  #
106
108
  # @return [Hash{Symbol=>Object}, nil]
107
109
  optional :metadata, Telnyx::Internal::Type::HashOf[Telnyx::Internal::Type::Unknown]
@@ -127,15 +129,41 @@ module Telnyx
127
129
  optional :reply_to_all, Telnyx::Internal::Type::Boolean, nil?: true
128
130
 
129
131
  # @!attribute sandbox_mode
132
+ # Validates and accepts the message without injecting it into the MTA or outbound
133
+ # Kafka path. Nothing is delivered: sandbox records are non-billable, consume no
134
+ # daily-send-limit quota, and feed no delivery-reputation signals.
135
+ #
136
+ # The reserved sandbox test-recipient domain is `test.telnyx.com`. In sandbox
137
+ # mode, these addresses produce deterministic recipient-scoped lifecycle events:
138
+ #
139
+ # - `delivered@test.telnyx.com`: queued -> sending -> sent -> delivered
140
+ # - `hard-bounce@test.telnyx.com`: queued -> sending -> sent -> bounced
141
+ # (permanent)
142
+ # - `soft-bounce@test.telnyx.com`: queued -> sending -> sent -> bounced
143
+ # (transient)
144
+ # - `complaint@test.telnyx.com`: queued -> sending -> sent -> complained
145
+ # - `suppressed@test.telnyx.com`: queued -> suppressed
146
+ # - `invalid@test.telnyx.com`: queued -> sending -> failed (invalid recipient)
147
+ # - `dkim-fail@test.telnyx.com`: queued -> sending -> failed (DKIM unavailable)
148
+ # - `rate-limit@test.telnyx.com`: queued -> sending -> failed (rate limit
149
+ # exceeded)
150
+ #
151
+ # Matching is case-insensitive for both the local part and the domain and requires
152
+ # the exact domain `test.telnyx.com` — subdomains and other domains do not match.
153
+ # Mixed sandbox sends simulate only reserved test recipients; other recipients
154
+ # retain ordinary sandbox behavior (accepted, no delivery attempted). Hard-bounce
155
+ # and complaint outcomes also use the normal automatic-suppression pipeline.
156
+ # Non-sandbox sends to these addresses use the normal delivery path.
130
157
  #
131
158
  # @return [Boolean, nil]
132
159
  optional :sandbox_mode, Telnyx::Internal::Type::Boolean
133
160
 
134
161
  # @!attribute scheduled_at
135
- # Future ISO 8601 time to schedule sending. Invalid or past timestamps are
136
- # silently ignored and the email is sent immediately. The legacy alias `send_at`
137
- # is still accepted for backward compatibility; when both are provided,
138
- # `scheduled_at` wins.
162
+ # Future ISO 8601 delivery time. Invalid or non-future timestamps are rejected.
163
+ # Single sends return HTTP 422; in batch sends the invalid item is reported in the
164
+ # 207 per-item errors while other items continue. `send_at` remains a deprecated
165
+ # request alias. A non-null `scheduled_at` takes precedence over `send_at`; when
166
+ # `scheduled_at` is omitted or null, `send_at` is used.
139
167
  #
140
168
  # @return [Time, nil]
141
169
  optional :scheduled_at, Time, nil?: true
@@ -157,8 +185,9 @@ module Telnyx
157
185
  optional :subject, String
158
186
 
159
187
  # @!attribute tags
160
- # Tags for categorization and reporting. Stored on the message and propagated to
161
- # Email Detail Records. Not returned in API responses.
188
+ # Tags for categorization and filtering. Stored on the message, returned on
189
+ # message responses, and propagated to Email Detail Records. Usable in
190
+ # `filter[tags]` when listing messages.
162
191
  #
163
192
  # @return [Array<String>, nil]
164
193
  optional :tags, Telnyx::Internal::Type::ArrayOf[String]
@@ -171,7 +200,10 @@ module Telnyx
171
200
  # @!attribute template_variables
172
201
  # Variables for Liquid template rendering. Non-object values may cause a 422
173
202
  # validation error on message creation, but are silently treated as an empty
174
- # object for template rendering.
203
+ # object for template rendering. When the template enables `strict_variables`, a
204
+ # missing required variable fails the request with 422 (single send) or a per-item
205
+ # `unprocessable_entity` error (batch) naming the variable; no message is
206
+ # persisted for the failed item.
175
207
  #
176
208
  # @return [Hash{Symbol=>Object}, nil]
177
209
  optional :template_variables, Telnyx::Internal::Type::HashOf[Telnyx::Internal::Type::Unknown]
@@ -225,21 +257,21 @@ module Telnyx
225
257
  #
226
258
  # @param inline_css [Boolean]
227
259
  #
228
- # @param metadata [Hash{Symbol=>Object}] Custom metadata. Write-only; not returned in responses.
260
+ # @param metadata [Hash{Symbol=>Object}] Custom metadata key/value pairs. Stored on the message, returned on message resp
229
261
  #
230
262
  # @param reply_to [String, Telnyx::Models::EmailInboxes::EmailAddress] Reply-to address. If provided as an object with a name, only the email is stored
231
263
  #
232
264
  # @param reply_to_all [Boolean, nil] Indicates a reply-all intent. In Phase 1 (wire-only) this does not
233
265
  #
234
- # @param sandbox_mode [Boolean]
266
+ # @param sandbox_mode [Boolean] Validates and accepts the message without injecting it into the MTA or outbound
235
267
  #
236
- # @param scheduled_at [Time, nil] Future ISO 8601 time to schedule sending. Invalid or past timestamps
268
+ # @param scheduled_at [Time, nil] Future ISO 8601 delivery time. Invalid or non-future timestamps are rejected. Si
237
269
  #
238
270
  # @param send_at [Time] Deprecated alias for `scheduled_at`.
239
271
  #
240
272
  # @param subject [String] Required unless `template_id` is supplied. When using a template, the template's
241
273
  #
242
- # @param tags [Array<String>] Tags for categorization and reporting. Stored on the message and propagated to E
274
+ # @param tags [Array<String>] Tags for categorization and filtering. Stored on the message, returned on messag
243
275
  #
244
276
  # @param template_id [String]
245
277
  #
@@ -3,16 +3,16 @@
3
3
  module Telnyx
4
4
  module Models
5
5
  # @see Telnyx::Resources::EmailMessages#retrieve
6
- class EmailMessageRetrieveResponse < Telnyx::Internal::Type::BaseModel
6
+ class EmailMessageDetailResponse < Telnyx::Internal::Type::BaseModel
7
7
  # @!attribute data
8
8
  #
9
- # @return [Telnyx::Models::EmailMessageRetrieveResponse::Data]
10
- required :data, -> { Telnyx::Models::EmailMessageRetrieveResponse::Data }
9
+ # @return [Telnyx::Models::EmailMessageDetailResponse::Data]
10
+ required :data, -> { Telnyx::EmailMessageDetailResponse::Data }
11
11
 
12
12
  # @!method initialize(data:)
13
- # @param data [Telnyx::Models::EmailMessageRetrieveResponse::Data]
13
+ # @param data [Telnyx::Models::EmailMessageDetailResponse::Data]
14
14
 
15
- # @see Telnyx::Models::EmailMessageRetrieveResponse#data
15
+ # @see Telnyx::Models::EmailMessageDetailResponse#data
16
16
  class Data < Telnyx::Models::EmailInboxes::EmailMessage
17
17
  # @!attribute html_body
18
18
  # HTML body submitted for the message.
@@ -7,6 +7,27 @@ module Telnyx
7
7
  extend Telnyx::Internal::Type::RequestParameters::Converter
8
8
  include Telnyx::Internal::Type::RequestParameters
9
9
 
10
+ # @!attribute filter_metadata
11
+ # Metadata containment filter, supplied as a JSON object or comma-separated
12
+ # `key=value` pairs. All supplied key/value pairs must be contained in the message
13
+ # metadata. An empty value or empty JSON object omits the filter. Malformed
14
+ # values, valid non-object JSON, pairs without `=`, empty keys, and
15
+ # non-string/nested query shapes return HTTP 400.
16
+ #
17
+ # @return [String, nil]
18
+ optional :filter_metadata, String
19
+
20
+ # @!attribute filter_tags
21
+ # Comma-separated tags. Each segment is trimmed, and messages having at least one
22
+ # supplied tag are returned; matching is exact and case-sensitive after trimming.
23
+ # Because commas delimit values and surrounding whitespace is removed, this filter
24
+ # cannot represent stored tags containing literal commas or leading/trailing
25
+ # whitespace. An empty value omits the filter. Empty segments and
26
+ # non-string/nested query shapes return HTTP 400.
27
+ #
28
+ # @return [String, nil]
29
+ optional :filter_tags, String
30
+
10
31
  # @!attribute page_cursor
11
32
  # Opaque URL-safe Base64 cursor returned by a previous list response.
12
33
  #
@@ -20,10 +41,14 @@ module Telnyx
20
41
  # @return [Integer, nil]
21
42
  optional :page_size, Integer
22
43
 
23
- # @!method initialize(page_cursor: nil, page_size: nil, request_options: {})
44
+ # @!method initialize(filter_metadata: nil, filter_tags: nil, page_cursor: nil, page_size: nil, request_options: {})
24
45
  # Some parameter documentations has been truncated, see
25
46
  # {Telnyx::Models::EmailMessageListParams} for more details.
26
47
  #
48
+ # @param filter_metadata [String] Metadata containment filter, supplied as a JSON object or comma-separated `key=v
49
+ #
50
+ # @param filter_tags [String] Comma-separated tags. Each segment is trimmed, and messages having at least one
51
+ #
27
52
  # @param page_cursor [String] Opaque URL-safe Base64 cursor returned by a previous list response.
28
53
  #
29
54
  # @param page_size [Integer] Number of results to return. Defaults to 25; maximum is 100. Invalid values are
@@ -0,0 +1,29 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Telnyx
4
+ module Models
5
+ # @see Telnyx::Resources::EmailMessages#update_schedule
6
+ class EmailMessageUpdateScheduleParams < Telnyx::Internal::Type::BaseModel
7
+ extend Telnyx::Internal::Type::RequestParameters::Converter
8
+ include Telnyx::Internal::Type::RequestParameters
9
+
10
+ # @!attribute email_id
11
+ #
12
+ # @return [String]
13
+ required :email_id, String
14
+
15
+ # @!attribute scheduled_at
16
+ # New ISO 8601 delivery time. Must be strictly in the future.
17
+ #
18
+ # @return [Time]
19
+ required :scheduled_at, Time
20
+
21
+ # @!method initialize(email_id:, scheduled_at:, request_options: {})
22
+ # @param email_id [String]
23
+ #
24
+ # @param scheduled_at [Time] New ISO 8601 delivery time. Must be strictly in the future.
25
+ #
26
+ # @param request_options [Telnyx::RequestOptions, Hash{Symbol=>Object}]
27
+ end
28
+ end
29
+ end
@@ -134,6 +134,8 @@ module Telnyx
134
134
  FAILED = :failed
135
135
  GW_REJECT = :gw_reject
136
136
  CANCELLED = :cancelled
137
+ INJECTION_TIMEOUT = :injection_timeout
138
+ EXPIRED = :expired
137
139
 
138
140
  # @!method self.values
139
141
  # @return [Array<Symbol>]
@@ -79,6 +79,8 @@ module Telnyx
79
79
  FAILED = :failed
80
80
  GW_REJECT = :gw_reject
81
81
  CANCELLED = :cancelled
82
+ INJECTION_TIMEOUT = :injection_timeout
83
+ EXPIRED = :expired
82
84
 
83
85
  # @!method self.values
84
86
  # @return [Array<Symbol>]
@@ -9,6 +9,14 @@ module Telnyx
9
9
  # @return [String]
10
10
  required :id, String
11
11
 
12
+ # @!attribute autoescape
13
+ # Whether HTML autoescaping is enabled for this template. When `true`, only
14
+ # rendered `html_body` expression output is HTML-escaped at the output boundary;
15
+ # `subject` and `text_body` are never autoescaped.
16
+ #
17
+ # @return [Boolean]
18
+ required :autoescape, Telnyx::Internal::Type::Boolean
19
+
12
20
  # @!attribute created_at
13
21
  #
14
22
  # @return [Time]
@@ -29,6 +37,14 @@ module Telnyx
29
37
  # @return [Symbol, Telnyx::Models::EmailTemplate::RecordType]
30
38
  required :record_type, enum: -> { Telnyx::EmailTemplate::RecordType }
31
39
 
40
+ # @!attribute strict_variables
41
+ # Whether strict variable validation is enabled for this template. When `true`,
42
+ # sends and renders that are missing a variable marked `required: true` in
43
+ # `variable_schema` fail with 422 naming the variable.
44
+ #
45
+ # @return [Boolean]
46
+ required :strict_variables, Telnyx::Internal::Type::Boolean
47
+
32
48
  # @!attribute subject
33
49
  #
34
50
  # @return [String, nil]
@@ -44,21 +60,48 @@ module Telnyx
44
60
  # @return [Time]
45
61
  required :updated_at, Time
46
62
 
63
+ # @!attribute variable_schema
64
+ # Structured variable requirements, or `null` when the template uses only the
65
+ # legacy `variables` array.
66
+ #
67
+ # @return [Hash{Symbol=>Telnyx::Models::EmailTemplate::VariableSchema}, nil]
68
+ required :variable_schema,
69
+ -> { Telnyx::Internal::Type::HashOf[Telnyx::EmailTemplate::VariableSchema] },
70
+ nil?: true
71
+
47
72
  # @!attribute variables
73
+ # Legacy unstructured variable names. This path remains supported unchanged.
48
74
  #
49
75
  # @return [Array<String>]
50
76
  required :variables, Telnyx::Internal::Type::ArrayOf[String]
51
77
 
52
- # @!method initialize(id:, created_at:, html_body:, name:, record_type:, subject:, text_body:, updated_at:, variables:)
78
+ # @!method initialize(id:, autoescape:, created_at:, html_body:, name:, record_type:, strict_variables:, subject:, text_body:, updated_at:, variable_schema:, variables:)
79
+ # Some parameter documentations has been truncated, see
80
+ # {Telnyx::Models::EmailTemplate} for more details.
81
+ #
53
82
  # @param id [String]
83
+ #
84
+ # @param autoescape [Boolean] Whether HTML autoescaping is enabled for this template. When `true`, only render
85
+ #
54
86
  # @param created_at [Time]
87
+ #
55
88
  # @param html_body [String, nil]
89
+ #
56
90
  # @param name [String]
91
+ #
57
92
  # @param record_type [Symbol, Telnyx::Models::EmailTemplate::RecordType]
93
+ #
94
+ # @param strict_variables [Boolean] Whether strict variable validation is enabled for this template. When `true`, se
95
+ #
58
96
  # @param subject [String, nil]
97
+ #
59
98
  # @param text_body [String, nil]
99
+ #
60
100
  # @param updated_at [Time]
61
- # @param variables [Array<String>]
101
+ #
102
+ # @param variable_schema [Hash{Symbol=>Telnyx::Models::EmailTemplate::VariableSchema}, nil] Structured variable requirements, or `null` when the template uses only the lega
103
+ #
104
+ # @param variables [Array<String>] Legacy unstructured variable names. This path remains supported unchanged.
62
105
 
63
106
  # @see Telnyx::Models::EmailTemplate#record_type
64
107
  module RecordType
@@ -69,6 +112,29 @@ module Telnyx
69
112
  # @!method self.values
70
113
  # @return [Array<Symbol>]
71
114
  end
115
+
116
+ class VariableSchema < Telnyx::Internal::Type::BaseModel
117
+ # @!attribute required
118
+ # Whether the variable must be supplied when strict variable validation is
119
+ # enabled.
120
+ #
121
+ # @return [Boolean]
122
+ required :required, Telnyx::Internal::Type::Boolean
123
+
124
+ # @!attribute default
125
+ # Default value for an optional variable. Rejected when `required` is `true`.
126
+ #
127
+ # @return [String, nil]
128
+ optional :default, String
129
+
130
+ # @!method initialize(required:, default: nil)
131
+ # Some parameter documentations has been truncated, see
132
+ # {Telnyx::Models::EmailTemplate::VariableSchema} for more details.
133
+ #
134
+ # @param required [Boolean] Whether the variable must be supplied when strict variable validation is enabled
135
+ #
136
+ # @param default [String] Default value for an optional variable. Rejected when `required` is `true`.
137
+ end
72
138
  end
73
139
  end
74
140
  end
@@ -13,12 +13,36 @@ module Telnyx
13
13
  # @return [String]
14
14
  required :name, String
15
15
 
16
+ # @!attribute autoescape
17
+ # Per-template HTML autoescaping setting. Defaults to `false` for backward
18
+ # compatibility. When `true`, the rendered `html_body` HTML-escapes each Liquid
19
+ # expression's output at the output boundary (after its filters run, before
20
+ # concatenation with literal template markup). Input values are never mutated and
21
+ # `subject`/`text_body` are never autoescaped. The boundary escape is idempotent:
22
+ # HTML entities already present in the output (e.g. from an explicit `escape`
23
+ # filter) are preserved, so an explicit `escape`/`escape_once` is never
24
+ # double-escaped, and markup introduced by any later filter in the chain is still
25
+ # escaped.
26
+ #
27
+ # @return [Boolean, nil]
28
+ optional :autoescape, Telnyx::Internal::Type::Boolean
29
+
16
30
  # @!attribute html_body
17
31
  # Liquid template HTML body.
18
32
  #
19
33
  # @return [String, nil]
20
34
  optional :html_body, String, nil?: true
21
35
 
36
+ # @!attribute strict_variables
37
+ # Per-template strict variable-validation setting. Defaults to `false` for
38
+ # backward compatibility. When `true`, a send or render that is missing a variable
39
+ # marked `required: true` in `variable_schema` fails with 422 naming the variable.
40
+ # Missing optional variables never fail; their schema `default` (when set) is
41
+ # applied to the render.
42
+ #
43
+ # @return [Boolean, nil]
44
+ optional :strict_variables, Telnyx::Internal::Type::Boolean
45
+
22
46
  # @!attribute subject
23
47
  # Liquid template subject.
24
48
  #
@@ -31,6 +55,20 @@ module Telnyx
31
55
  # @return [String, nil]
32
56
  optional :text_body, String, nil?: true
33
57
 
58
+ # @!attribute variable_schema
59
+ # Structured variable requirements. Required variables cannot define defaults;
60
+ # invalid combinations return 422. This is independent of the legacy `variables`
61
+ # array. On render with `strict_variables` enabled: `required` variables must be
62
+ # supplied as non-empty values — absent, `null`, empty string, empty object `{}`,
63
+ # and empty array `[]` all fail with 422 naming the variable, while present values
64
+ # such as `false` and `0` pass (they are present, not empty). Optional variables
65
+ # fall back to their `default` when absent.
66
+ #
67
+ # @return [Hash{Symbol=>Telnyx::Models::EmailTemplateCreateParams::VariableSchema}, nil]
68
+ optional :variable_schema,
69
+ -> { Telnyx::Internal::Type::HashOf[Telnyx::EmailTemplateCreateParams::VariableSchema] },
70
+ nil?: true
71
+
34
72
  # @!attribute variables
35
73
  # Template variables. Auto-extracted from subject/body fields when absent.
36
74
  #
@@ -42,20 +80,52 @@ module Telnyx
42
80
  # @return [String, nil]
43
81
  optional :idempotency_key, String
44
82
 
45
- # @!method initialize(name:, html_body: nil, subject: nil, text_body: nil, variables: nil, idempotency_key: nil, request_options: {})
83
+ # @!method initialize(name:, autoescape: nil, html_body: nil, strict_variables: nil, subject: nil, text_body: nil, variable_schema: nil, variables: nil, idempotency_key: nil, request_options: {})
84
+ # Some parameter documentations has been truncated, see
85
+ # {Telnyx::Models::EmailTemplateCreateParams} for more details.
86
+ #
46
87
  # @param name [String] Letters, numbers, spaces, hyphens, and underscores only.
47
88
  #
89
+ # @param autoescape [Boolean] Per-template HTML autoescaping setting. Defaults to `false` for backward compati
90
+ #
48
91
  # @param html_body [String, nil] Liquid template HTML body.
49
92
  #
93
+ # @param strict_variables [Boolean] Per-template strict variable-validation setting. Defaults to `false` for backwar
94
+ #
50
95
  # @param subject [String, nil] Liquid template subject.
51
96
  #
52
97
  # @param text_body [String, nil] Liquid template text body.
53
98
  #
99
+ # @param variable_schema [Hash{Symbol=>Telnyx::Models::EmailTemplateCreateParams::VariableSchema}, nil] Structured variable requirements. Required variables cannot define defaults; inv
100
+ #
54
101
  # @param variables [Array<String>] Template variables. Auto-extracted from subject/body fields when absent.
55
102
  #
56
103
  # @param idempotency_key [String]
57
104
  #
58
105
  # @param request_options [Telnyx::RequestOptions, Hash{Symbol=>Object}]
106
+
107
+ class VariableSchema < Telnyx::Internal::Type::BaseModel
108
+ # @!attribute required
109
+ # Whether the variable must be supplied when strict variable validation is
110
+ # enabled.
111
+ #
112
+ # @return [Boolean]
113
+ required :required, Telnyx::Internal::Type::Boolean
114
+
115
+ # @!attribute default
116
+ # Default value for an optional variable. Rejected when `required` is `true`.
117
+ #
118
+ # @return [String, nil]
119
+ optional :default, String
120
+
121
+ # @!method initialize(required:, default: nil)
122
+ # Some parameter documentations has been truncated, see
123
+ # {Telnyx::Models::EmailTemplateCreateParams::VariableSchema} for more details.
124
+ #
125
+ # @param required [Boolean] Whether the variable must be supplied when strict variable validation is enabled
126
+ #
127
+ # @param default [String] Default value for an optional variable. Rejected when `required` is `true`.
128
+ end
59
129
  end
60
130
  end
61
131
  end
@@ -0,0 +1,39 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Telnyx
4
+ module Models
5
+ class EmailWebhookRecipient < Telnyx::Internal::Type::BaseModel
6
+ # @!attribute email
7
+ #
8
+ # @return [String]
9
+ required :email, String
10
+
11
+ # @!attribute kind
12
+ #
13
+ # @return [Symbol, Telnyx::Models::EmailWebhookRecipient::Kind, nil]
14
+ optional :kind, enum: -> { Telnyx::EmailWebhookRecipient::Kind }
15
+
16
+ # @!attribute name
17
+ #
18
+ # @return [String, nil]
19
+ optional :name, String, nil?: true
20
+
21
+ # @!method initialize(email:, kind: nil, name: nil)
22
+ # @param email [String]
23
+ # @param kind [Symbol, Telnyx::Models::EmailWebhookRecipient::Kind]
24
+ # @param name [String, nil]
25
+
26
+ # @see Telnyx::Models::EmailWebhookRecipient#kind
27
+ module Kind
28
+ extend Telnyx::Internal::Type::Enum
29
+
30
+ TO = :to
31
+ CC = :cc
32
+ BCC = :bcc
33
+
34
+ # @!method self.values
35
+ # @return [Array<Symbol>]
36
+ end
37
+ end
38
+ end
39
+ end
@@ -217,26 +217,46 @@ module Telnyx
217
217
  required :id, String
218
218
 
219
219
  # @!attribute audio_gate
220
- # Audio gating strategy for the assistant call leg.
220
+ # Audio gating strategy in force for the assistant call leg.
221
221
  #
222
222
  # @return [Symbol, Telnyx::Models::MeetingSession::Assistant::AudioGate]
223
223
  required :audio_gate, enum: -> { Telnyx::MeetingSession::Assistant::AudioGate }
224
224
 
225
- # @!method initialize(id:, audio_gate:)
225
+ # @!attribute dynamic_variables
226
+ # The dynamic variables in force for this session, or null when none were
227
+ # supplied.
228
+ #
229
+ # @return [Hash{Symbol=>String}, nil]
230
+ required :dynamic_variables, Telnyx::Internal::Type::HashOf[String], nil?: true
231
+
232
+ # @!attribute leave_on_end
233
+ # Whether the bot leaves when the Assistant's conversation ends or fails.
234
+ #
235
+ # @return [Boolean]
236
+ required :leave_on_end, Telnyx::Internal::Type::Boolean
237
+
238
+ # @!method initialize(id:, audio_gate:, dynamic_variables:, leave_on_end:)
239
+ # Some parameter documentations has been truncated, see
240
+ # {Telnyx::Models::MeetingSession::Assistant} for more details.
241
+ #
226
242
  # Assistant configuration if an assistant is attached, otherwise null.
227
243
  #
228
244
  # @param id [String] Identifier of the assistant.
229
245
  #
230
- # @param audio_gate [Symbol, Telnyx::Models::MeetingSession::Assistant::AudioGate] Audio gating strategy for the assistant call leg.
246
+ # @param audio_gate [Symbol, Telnyx::Models::MeetingSession::Assistant::AudioGate] Audio gating strategy in force for the assistant call leg.
247
+ #
248
+ # @param dynamic_variables [Hash{Symbol=>String}, nil] The dynamic variables in force for this session, or null when none were supplied
249
+ #
250
+ # @param leave_on_end [Boolean] Whether the bot leaves when the Assistant's conversation ends or fails.
231
251
 
232
- # Audio gating strategy for the assistant call leg.
252
+ # Audio gating strategy in force for the assistant call leg.
233
253
  #
234
254
  # @see Telnyx::Models::MeetingSession::Assistant#audio_gate
235
255
  module AudioGate
236
256
  extend Telnyx::Internal::Type::Enum
237
257
 
238
- NONE = :none
239
258
  HALF_DUPLEX = :half_duplex
259
+ FULL_DUPLEX = :full_duplex
240
260
 
241
261
  # @!method self.values
242
262
  # @return [Array<Symbol>]
@@ -305,6 +325,12 @@ module Telnyx
305
325
  # @return [Boolean]
306
326
  required :barge_in, Telnyx::Internal::Type::Boolean
307
327
 
328
+ # @!attribute chat_on_enter
329
+ # The message posted to chat on join, or null when unset.
330
+ #
331
+ # @return [String, nil]
332
+ required :chat_on_enter, String, nil?: true
333
+
308
334
  # @!attribute speak_on_enter
309
335
  # Text spoken on meeting entry, or null if not set.
310
336
  #
@@ -323,12 +349,14 @@ module Telnyx
323
349
  # @return [String, nil]
324
350
  required :voice, String, nil?: true
325
351
 
326
- # @!method initialize(barge_in:, speak_on_enter:, summarize_on_end:, voice:)
352
+ # @!method initialize(barge_in:, chat_on_enter:, speak_on_enter:, summarize_on_end:, voice:)
327
353
  # Some parameter documentations has been truncated, see
328
354
  # {Telnyx::Models::MeetingSession::Config} for more details.
329
355
  #
330
356
  # @param barge_in [Boolean] When enabled, a human participant `speech_on` event interrupts and stops the cur
331
357
  #
358
+ # @param chat_on_enter [String, nil] The message posted to chat on join, or null when unset.
359
+ #
332
360
  # @param speak_on_enter [String, nil] Text spoken on meeting entry, or null if not set.
333
361
  #
334
362
  # @param summarize_on_end [Boolean] Whether a summary artifact is generated on session end.