telnyx 5.112.0 → 5.113.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 (261) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +17 -0
  3. data/README.md +1 -1
  4. data/lib/telnyx/models/ai/assistant_create_params.rb +9 -178
  5. data/lib/telnyx/models/ai/assistant_integration.rb +38 -0
  6. data/lib/telnyx/models/ai/assistant_mcp_server.rb +35 -0
  7. data/lib/telnyx/models/ai/assistant_tool.rb +14 -14
  8. data/lib/telnyx/models/ai/assistant_update_params.rb +9 -178
  9. data/lib/telnyx/models/ai/assistants/canary_deploy.rb +3 -123
  10. data/lib/telnyx/models/ai/assistants/canary_deploy_response.rb +3 -125
  11. data/lib/telnyx/models/ai/assistants/clause.rb +54 -0
  12. data/lib/telnyx/models/ai/assistants/rollout_slot.rb +27 -0
  13. data/lib/telnyx/models/ai/assistants/rule_input.rb +40 -0
  14. data/lib/telnyx/models/ai/assistants/rule_output.rb +40 -0
  15. data/lib/telnyx/models/ai/assistants/serve.rb +33 -0
  16. data/lib/telnyx/models/ai/assistants/update_assistant.rb +9 -179
  17. data/lib/telnyx/models/ai/inference_embedding.rb +9 -177
  18. data/lib/telnyx/models/ai/inference_embedding_interruption_settings.rb +47 -0
  19. data/lib/telnyx/models/ai/openai_create_response_params.rb +3 -3
  20. data/lib/telnyx/models/ai/openai_list_models_response.rb +3 -210
  21. data/lib/telnyx/models/ai/start_speaking_plan.rb +37 -0
  22. data/lib/telnyx/models/ai/transcription_endpointing_plan.rb +39 -0
  23. data/lib/telnyx/models/ai/transfer_tool.rb +7 -9
  24. data/lib/telnyx/models/ai_create_response_params.rb +4 -4
  25. data/lib/telnyx/models/ai_retrieve_models_response.rb +3 -210
  26. data/lib/telnyx/models/call_conversation_ended.rb +13 -1
  27. data/lib/telnyx/models/calls/action_gather_using_ai_params.rb +4 -23
  28. data/lib/telnyx/models/calls/action_gather_using_speak_params.rb +4 -23
  29. data/lib/telnyx/models/calls/action_speak_params.rb +4 -23
  30. data/lib/telnyx/models/calls/action_start_ai_assistant_params.rb +4 -23
  31. data/lib/telnyx/models/calls/action_start_conversation_relay_params.rb +169 -118
  32. data/lib/telnyx/models/calls/transcription_engine_assemblyai_config.rb +64 -0
  33. data/lib/telnyx/models/calls/transcription_engine_speechmatics_config.rb +100 -0
  34. data/lib/telnyx/models/calls/transcription_engine_xai_config.rb +108 -0
  35. data/lib/telnyx/models/calls/transcription_start_request.rb +8 -167
  36. data/lib/telnyx/models/conferences/action_speak_params.rb +4 -23
  37. data/lib/telnyx/models/fax.rb +7 -5
  38. data/lib/telnyx/models/fax_create_params.rb +7 -5
  39. data/lib/telnyx/models/fax_delivered.rb +3 -2
  40. data/lib/telnyx/models/fax_failed.rb +3 -2
  41. data/lib/telnyx/models/fax_media_processed.rb +3 -2
  42. data/lib/telnyx/models/fax_queued.rb +3 -2
  43. data/lib/telnyx/models/fax_sending_started.rb +3 -2
  44. data/lib/telnyx/models/model_metadata.rb +212 -0
  45. data/lib/telnyx/models/network_list_interfaces_response.rb +112 -2
  46. data/lib/telnyx/models/public_internet_gateway_create_response.rb +3 -8
  47. data/lib/telnyx/models/public_internet_gateway_delete_response.rb +3 -8
  48. data/lib/telnyx/models/public_internet_gateway_read.rb +83 -0
  49. data/lib/telnyx/models/public_internet_gateway_retrieve_response.rb +3 -8
  50. data/lib/telnyx/models/texml/accounts/call_calls_params.rb +62 -12
  51. data/lib/telnyx/models/texml_initiate_ai_call_params.rb +18 -4
  52. data/lib/telnyx/models/text_to_speech_generate_params.rb +6 -6
  53. data/lib/telnyx/models/uac_connection.rb +412 -0
  54. data/lib/telnyx/models/uac_connection_create_params.rb +9 -255
  55. data/lib/telnyx/models/uac_connection_create_response.rb +3 -878
  56. data/lib/telnyx/models/uac_connection_delete_response.rb +3 -878
  57. data/lib/telnyx/models/uac_connection_retrieve_response.rb +3 -879
  58. data/lib/telnyx/models/uac_connection_update_params.rb +9 -255
  59. data/lib/telnyx/models/uac_connection_update_response.rb +3 -878
  60. data/lib/telnyx/models/uac_external_settings.rb +101 -0
  61. data/lib/telnyx/models/uac_inbound.rb +210 -0
  62. data/lib/telnyx/models/uac_internal_settings.rb +25 -0
  63. data/lib/telnyx/models/uac_outbound.rb +131 -0
  64. data/lib/telnyx/models/virtual_cross_connect_combined.rb +212 -0
  65. data/lib/telnyx/models/virtual_cross_connect_create_response.rb +3 -8
  66. data/lib/telnyx/models/virtual_cross_connect_delete_response.rb +3 -8
  67. data/lib/telnyx/models/virtual_cross_connect_retrieve_response.rb +3 -8
  68. data/lib/telnyx/models/virtual_cross_connect_update_response.rb +3 -8
  69. data/lib/telnyx/models/wireguard_interface_create_response.rb +3 -8
  70. data/lib/telnyx/models/wireguard_interface_delete_response.rb +3 -8
  71. data/lib/telnyx/models/wireguard_interface_read.rb +136 -0
  72. data/lib/telnyx/models/wireguard_interface_retrieve_response.rb +3 -8
  73. data/lib/telnyx/models/xai_voice_settings.rb +36 -0
  74. data/lib/telnyx/models.rb +20 -0
  75. data/lib/telnyx/resources/ai/assistants/canary_deploys.rb +2 -2
  76. data/lib/telnyx/resources/ai/assistants/versions.rb +3 -3
  77. data/lib/telnyx/resources/ai/assistants.rb +6 -6
  78. data/lib/telnyx/resources/ai/openai.rb +1 -1
  79. data/lib/telnyx/resources/ai.rb +3 -3
  80. data/lib/telnyx/resources/calls/actions.rb +15 -17
  81. data/lib/telnyx/resources/conferences/actions.rb +1 -1
  82. data/lib/telnyx/resources/faxes.rb +13 -1
  83. data/lib/telnyx/resources/public_internet_gateways.rb +2 -2
  84. data/lib/telnyx/resources/texml.rb +4 -2
  85. data/lib/telnyx/resources/uac_connections.rb +8 -8
  86. data/lib/telnyx/resources/virtual_cross_connects.rb +2 -2
  87. data/lib/telnyx/resources/wireguard_interfaces.rb +2 -2
  88. data/lib/telnyx/version.rb +1 -1
  89. data/lib/telnyx.rb +23 -4
  90. data/rbi/telnyx/models/ai/assistant_create_params.rbi +12 -352
  91. data/rbi/telnyx/models/ai/assistant_integration.rbi +60 -0
  92. data/rbi/telnyx/models/ai/assistant_mcp_server.rbi +51 -0
  93. data/rbi/telnyx/models/ai/assistant_tool.rbi +10 -10
  94. data/rbi/telnyx/models/ai/assistant_update_params.rbi +12 -352
  95. data/rbi/telnyx/models/ai/assistants/canary_deploy.rbi +4 -290
  96. data/rbi/telnyx/models/ai/assistants/canary_deploy_response.rbi +3 -301
  97. data/rbi/telnyx/models/ai/assistants/clause.rbi +91 -0
  98. data/rbi/telnyx/models/ai/assistants/rollout_slot.rbi +36 -0
  99. data/rbi/telnyx/models/ai/assistants/rule_input.rbi +73 -0
  100. data/rbi/telnyx/models/ai/assistants/rule_output.rbi +73 -0
  101. data/rbi/telnyx/models/ai/assistants/serve.rbi +61 -0
  102. data/rbi/telnyx/models/ai/assistants/update_assistant.rbi +12 -366
  103. data/rbi/telnyx/models/ai/inference_embedding.rbi +12 -351
  104. data/rbi/telnyx/models/ai/inference_embedding_interruption_settings.rbi +83 -0
  105. data/rbi/telnyx/models/ai/openai_create_response_params.rbi +4 -4
  106. data/rbi/telnyx/models/ai/openai_list_models_response.rbi +3 -315
  107. data/rbi/telnyx/models/ai/start_speaking_plan.rbi +70 -0
  108. data/rbi/telnyx/models/ai/transcription_endpointing_plan.rbi +71 -0
  109. data/rbi/telnyx/models/ai/transfer_tool.rbi +5 -5
  110. data/rbi/telnyx/models/ai_create_response_params.rbi +4 -4
  111. data/rbi/telnyx/models/ai_retrieve_models_response.rbi +3 -310
  112. data/rbi/telnyx/models/call_conversation_ended.rbi +10 -0
  113. data/rbi/telnyx/models/calls/action_gather_using_ai_params.rbi +5 -41
  114. data/rbi/telnyx/models/calls/action_gather_using_speak_params.rbi +5 -41
  115. data/rbi/telnyx/models/calls/action_speak_params.rbi +5 -41
  116. data/rbi/telnyx/models/calls/action_start_ai_assistant_params.rbi +5 -41
  117. data/rbi/telnyx/models/calls/action_start_conversation_relay_params.rbi +371 -254
  118. data/rbi/telnyx/models/calls/transcription_engine_assemblyai_config.rbi +155 -0
  119. data/rbi/telnyx/models/calls/transcription_engine_speechmatics_config.rbi +289 -0
  120. data/rbi/telnyx/models/calls/transcription_engine_xai_config.rbi +329 -0
  121. data/rbi/telnyx/models/calls/transcription_start_request.rbi +20 -480
  122. data/rbi/telnyx/models/conferences/action_speak_params.rbi +5 -41
  123. data/rbi/telnyx/models/fax.rbi +12 -8
  124. data/rbi/telnyx/models/fax_create_params.rbi +12 -8
  125. data/rbi/telnyx/models/fax_delivered.rbi +6 -4
  126. data/rbi/telnyx/models/fax_failed.rbi +6 -4
  127. data/rbi/telnyx/models/fax_media_processed.rbi +6 -4
  128. data/rbi/telnyx/models/fax_queued.rbi +6 -4
  129. data/rbi/telnyx/models/fax_sending_started.rbi +6 -4
  130. data/rbi/telnyx/models/model_metadata.rbi +272 -0
  131. data/rbi/telnyx/models/network_list_interfaces_response.rbi +181 -4
  132. data/rbi/telnyx/models/public_internet_gateway_create_response.rbi +6 -38
  133. data/rbi/telnyx/models/public_internet_gateway_delete_response.rbi +6 -38
  134. data/rbi/telnyx/models/public_internet_gateway_read.rbi +128 -0
  135. data/rbi/telnyx/models/public_internet_gateway_retrieve_response.rbi +6 -38
  136. data/rbi/telnyx/models/texml/accounts/call_calls_params.rbi +81 -9
  137. data/rbi/telnyx/models/texml_initiate_ai_call_params.rbi +27 -3
  138. data/rbi/telnyx/models/text_to_speech_generate_params.rbi +6 -6
  139. data/rbi/telnyx/models/uac_connection.rbi +684 -0
  140. data/rbi/telnyx/models/uac_connection_create_params.rbi +12 -516
  141. data/rbi/telnyx/models/uac_connection_create_response.rbi +4 -1756
  142. data/rbi/telnyx/models/uac_connection_delete_response.rbi +4 -1756
  143. data/rbi/telnyx/models/uac_connection_retrieve_response.rbi +4 -1756
  144. data/rbi/telnyx/models/uac_connection_update_params.rbi +12 -516
  145. data/rbi/telnyx/models/uac_connection_update_response.rbi +4 -1756
  146. data/rbi/telnyx/models/uac_external_settings.rbi +146 -0
  147. data/rbi/telnyx/models/uac_inbound.rbi +410 -0
  148. data/rbi/telnyx/models/uac_internal_settings.rbi +39 -0
  149. data/rbi/telnyx/models/uac_outbound.rbi +224 -0
  150. data/rbi/telnyx/models/virtual_cross_connect_combined.rbi +345 -0
  151. data/rbi/telnyx/models/virtual_cross_connect_create_response.rbi +6 -36
  152. data/rbi/telnyx/models/virtual_cross_connect_delete_response.rbi +6 -36
  153. data/rbi/telnyx/models/virtual_cross_connect_retrieve_response.rbi +6 -38
  154. data/rbi/telnyx/models/virtual_cross_connect_update_response.rbi +6 -36
  155. data/rbi/telnyx/models/wireguard_interface_create_response.rbi +6 -36
  156. data/rbi/telnyx/models/wireguard_interface_delete_response.rbi +6 -36
  157. data/rbi/telnyx/models/wireguard_interface_read.rbi +213 -0
  158. data/rbi/telnyx/models/wireguard_interface_retrieve_response.rbi +6 -36
  159. data/rbi/telnyx/models/xai_voice_settings.rbi +64 -0
  160. data/rbi/telnyx/models.rbi +20 -0
  161. data/rbi/telnyx/resources/ai/assistants/canary_deploys.rbi +2 -4
  162. data/rbi/telnyx/resources/ai/assistants/versions.rbi +3 -9
  163. data/rbi/telnyx/resources/ai/assistants.rbi +6 -10
  164. data/rbi/telnyx/resources/ai/openai.rbi +1 -1
  165. data/rbi/telnyx/resources/ai.rbi +2 -2
  166. data/rbi/telnyx/resources/calls/actions.rbi +24 -24
  167. data/rbi/telnyx/resources/conferences/actions.rbi +1 -1
  168. data/rbi/telnyx/resources/faxes.rbi +18 -4
  169. data/rbi/telnyx/resources/public_internet_gateways.rbi +1 -1
  170. data/rbi/telnyx/resources/texml.rbi +7 -1
  171. data/rbi/telnyx/resources/uac_connections.rbi +7 -13
  172. data/rbi/telnyx/resources/virtual_cross_connects.rbi +1 -1
  173. data/rbi/telnyx/resources/wireguard_interfaces.rbi +1 -1
  174. data/sig/telnyx/models/ai/assistant_create_params.rbs +18 -149
  175. data/sig/telnyx/models/ai/assistant_integration.rbs +26 -0
  176. data/sig/telnyx/models/ai/assistant_mcp_server.rbs +19 -0
  177. data/sig/telnyx/models/ai/assistant_tool.rbs +8 -8
  178. data/sig/telnyx/models/ai/assistant_update_params.rbs +18 -149
  179. data/sig/telnyx/models/ai/assistants/canary_deploy.rbs +6 -113
  180. data/sig/telnyx/models/ai/assistants/canary_deploy_response.rbs +4 -109
  181. data/sig/telnyx/models/ai/assistants/clause.rbs +46 -0
  182. data/sig/telnyx/models/ai/assistants/rollout_slot.rbs +19 -0
  183. data/sig/telnyx/models/ai/assistants/rule_input.rbs +33 -0
  184. data/sig/telnyx/models/ai/assistants/rule_output.rbs +33 -0
  185. data/sig/telnyx/models/ai/assistants/serve.rbs +35 -0
  186. data/sig/telnyx/models/ai/assistants/update_assistant.rbs +18 -152
  187. data/sig/telnyx/models/ai/inference_embedding.rbs +18 -149
  188. data/sig/telnyx/models/ai/inference_embedding_interruption_settings.rbs +40 -0
  189. data/sig/telnyx/models/ai/openai_create_response_params.rbs +5 -5
  190. data/sig/telnyx/models/ai/openai_list_models_response.rbs +4 -149
  191. data/sig/telnyx/models/ai/start_speaking_plan.rbs +33 -0
  192. data/sig/telnyx/models/ai/transcription_endpointing_plan.rbs +38 -0
  193. data/sig/telnyx/models/ai/transfer_tool.rbs +4 -4
  194. data/sig/telnyx/models/ai_create_response_params.rbs +5 -4
  195. data/sig/telnyx/models/ai_retrieve_models_response.rbs +4 -149
  196. data/sig/telnyx/models/call_conversation_ended.rbs +5 -0
  197. data/sig/telnyx/models/calls/action_gather_using_ai_params.rbs +1 -15
  198. data/sig/telnyx/models/calls/action_gather_using_speak_params.rbs +1 -15
  199. data/sig/telnyx/models/calls/action_speak_params.rbs +1 -15
  200. data/sig/telnyx/models/calls/action_start_ai_assistant_params.rbs +1 -15
  201. data/sig/telnyx/models/calls/action_start_conversation_relay_params.rbs +141 -102
  202. data/sig/telnyx/models/calls/transcription_engine_assemblyai_config.rbs +62 -0
  203. data/sig/telnyx/models/calls/transcription_engine_speechmatics_config.rbs +114 -0
  204. data/sig/telnyx/models/calls/transcription_engine_xai_config.rbs +130 -0
  205. data/sig/telnyx/models/calls/transcription_start_request.rbs +13 -185
  206. data/sig/telnyx/models/conferences/action_speak_params.rbs +1 -15
  207. data/sig/telnyx/models/model_metadata.rbs +142 -0
  208. data/sig/telnyx/models/network_list_interfaces_response.rbs +106 -4
  209. data/sig/telnyx/models/public_internet_gateway_create_response.rbs +6 -18
  210. data/sig/telnyx/models/public_internet_gateway_delete_response.rbs +6 -18
  211. data/sig/telnyx/models/public_internet_gateway_read.rbs +80 -0
  212. data/sig/telnyx/models/public_internet_gateway_retrieve_response.rbs +6 -18
  213. data/sig/telnyx/models/texml/accounts/call_calls_params.rbs +27 -3
  214. data/sig/telnyx/models/texml_initiate_ai_call_params.rbs +9 -1
  215. data/sig/telnyx/models/text_to_speech_generate_params.rbs +6 -6
  216. data/sig/telnyx/models/uac_connection.rbs +338 -0
  217. data/sig/telnyx/models/uac_connection_create_params.rbs +17 -211
  218. data/sig/telnyx/models/uac_connection_create_response.rbs +5 -731
  219. data/sig/telnyx/models/uac_connection_delete_response.rbs +5 -731
  220. data/sig/telnyx/models/uac_connection_retrieve_response.rbs +5 -731
  221. data/sig/telnyx/models/uac_connection_update_params.rbs +17 -211
  222. data/sig/telnyx/models/uac_connection_update_response.rbs +5 -731
  223. data/sig/telnyx/models/uac_external_settings.rbs +73 -0
  224. data/sig/telnyx/models/uac_inbound.rbs +190 -0
  225. data/sig/telnyx/models/uac_internal_settings.rbs +15 -0
  226. data/sig/telnyx/models/uac_outbound.rbs +113 -0
  227. data/sig/telnyx/models/virtual_cross_connect_combined.rbs +190 -0
  228. data/sig/telnyx/models/virtual_cross_connect_create_response.rbs +6 -18
  229. data/sig/telnyx/models/virtual_cross_connect_delete_response.rbs +6 -18
  230. data/sig/telnyx/models/virtual_cross_connect_retrieve_response.rbs +6 -18
  231. data/sig/telnyx/models/virtual_cross_connect_update_response.rbs +6 -18
  232. data/sig/telnyx/models/wireguard_interface_create_response.rbs +6 -18
  233. data/sig/telnyx/models/wireguard_interface_delete_response.rbs +6 -18
  234. data/sig/telnyx/models/wireguard_interface_read.rbs +127 -0
  235. data/sig/telnyx/models/wireguard_interface_retrieve_response.rbs +6 -18
  236. data/sig/telnyx/models/xai_voice_settings.rbs +34 -0
  237. data/sig/telnyx/models.rbs +20 -0
  238. data/sig/telnyx/resources/ai/assistants/canary_deploys.rbs +2 -2
  239. data/sig/telnyx/resources/ai/assistants/versions.rbs +3 -3
  240. data/sig/telnyx/resources/ai/assistants.rbs +6 -6
  241. data/sig/telnyx/resources/ai/openai.rbs +1 -1
  242. data/sig/telnyx/resources/ai.rbs +1 -1
  243. data/sig/telnyx/resources/calls/actions.rbs +2 -4
  244. data/sig/telnyx/resources/public_internet_gateways.rbs +1 -1
  245. data/sig/telnyx/resources/texml.rbs +1 -0
  246. data/sig/telnyx/resources/uac_connections.rbs +7 -7
  247. data/sig/telnyx/resources/virtual_cross_connects.rbs +1 -1
  248. data/sig/telnyx/resources/wireguard_interfaces.rbs +1 -1
  249. metadata +71 -14
  250. data/lib/telnyx/models/public_internet_gateway_list_response.rb +0 -10
  251. data/lib/telnyx/models/uac_connection_list_response.rb +0 -876
  252. data/lib/telnyx/models/virtual_cross_connect_list_response.rb +0 -10
  253. data/lib/telnyx/models/wireguard_interface_list_response.rb +0 -10
  254. data/rbi/telnyx/models/public_internet_gateway_list_response.rbi +0 -23
  255. data/rbi/telnyx/models/uac_connection_list_response.rbi +0 -1727
  256. data/rbi/telnyx/models/virtual_cross_connect_list_response.rbi +0 -23
  257. data/rbi/telnyx/models/wireguard_interface_list_response.rbi +0 -23
  258. data/sig/telnyx/models/public_internet_gateway_list_response.rbs +0 -11
  259. data/sig/telnyx/models/uac_connection_list_response.rbs +0 -722
  260. data/sig/telnyx/models/virtual_cross_connect_list_response.rbs +0 -11
  261. data/sig/telnyx/models/wireguard_interface_list_response.rbs +0 -11
@@ -11,7 +11,7 @@ module Telnyx
11
11
  )
12
12
  end
13
13
 
14
- sig { returns(T::Array[Telnyx::Models::AIRetrieveModelsResponse::Data]) }
14
+ sig { returns(T::Array[Telnyx::ModelMetadata]) }
15
15
  attr_accessor :data
16
16
 
17
17
  sig { returns(T.nilable(String)) }
@@ -22,8 +22,7 @@ module Telnyx
22
22
 
23
23
  sig do
24
24
  params(
25
- data:
26
- T::Array[Telnyx::Models::AIRetrieveModelsResponse::Data::OrHash],
25
+ data: T::Array[Telnyx::ModelMetadata::OrHash],
27
26
  object: String
28
27
  ).returns(T.attached_class)
29
28
  end
@@ -32,317 +31,11 @@ module Telnyx
32
31
 
33
32
  sig do
34
33
  override.returns(
35
- {
36
- data: T::Array[Telnyx::Models::AIRetrieveModelsResponse::Data],
37
- object: String
38
- }
34
+ { data: T::Array[Telnyx::ModelMetadata], object: String }
39
35
  )
40
36
  end
41
37
  def to_hash
42
38
  end
43
-
44
- class Data < Telnyx::Internal::Type::BaseModel
45
- OrHash =
46
- T.type_alias do
47
- T.any(
48
- Telnyx::Models::AIRetrieveModelsResponse::Data,
49
- Telnyx::Internal::AnyHash
50
- )
51
- end
52
-
53
- # Model identifier. For open-source models, follows the
54
- # `{organization}/{model_name}` convention from Hugging Face (e.g.
55
- # `moonshotai/Kimi-K2.6`).
56
- sig { returns(String) }
57
- attr_accessor :id
58
-
59
- # Maximum total tokens (prompt + completion) supported by the model in a single
60
- # request.
61
- sig { returns(Integer) }
62
- attr_accessor :context_length
63
-
64
- # Timestamp at which the model was registered on Telnyx Inference (ISO 8601).
65
- sig { returns(Time) }
66
- attr_accessor :created
67
-
68
- # ISO language codes the model supports (e.g. `en`, `es`).
69
- sig { returns(T::Array[String]) }
70
- attr_accessor :languages
71
-
72
- # License the model is distributed under, e.g. `Apache 2.0`, `MIT`,
73
- # `Llama 3 Community License`.
74
- sig { returns(String) }
75
- attr_accessor :license
76
-
77
- # Organization that originally published the model, matching the prefix of `id`
78
- # for open-source models.
79
- sig { returns(String) }
80
- attr_accessor :organization
81
-
82
- # Owner of the model. `Telnyx` for Telnyx-hosted open-source models, the upstream
83
- # provider name for proxied models, or the Telnyx organization id for fine-tuned
84
- # models.
85
- sig { returns(String) }
86
- attr_accessor :owned_by
87
-
88
- # Total parameter count of the model.
89
- sig { returns(Integer) }
90
- attr_accessor :parameters
91
-
92
- # Billing tier the model belongs to. Used together with `pricing` to determine
93
- # cost per 1M tokens.
94
- sig do
95
- returns(
96
- Telnyx::Models::AIRetrieveModelsResponse::Data::Tier::TaggedSymbol
97
- )
98
- end
99
- attr_accessor :tier
100
-
101
- # Base model the fine-tuned model was trained from. Only set for fine-tuned
102
- # models.
103
- sig { returns(T.nilable(String)) }
104
- attr_accessor :base_model
105
-
106
- # Short, human-readable summary of what the model is best suited for.
107
- sig { returns(T.nilable(String)) }
108
- attr_accessor :description
109
-
110
- # Whether the model can be used as a base for a fine-tuning job via
111
- # `POST /v2/ai/fine_tuning/jobs`.
112
- sig { returns(T.nilable(T::Boolean)) }
113
- attr_reader :is_fine_tunable
114
-
115
- sig { params(is_fine_tunable: T::Boolean).void }
116
- attr_writer :is_fine_tunable
117
-
118
- # Whether the model accepts image inputs in chat completions (multimodal vision
119
- # support).
120
- sig { returns(T.nilable(T::Boolean)) }
121
- attr_reader :is_vision_supported
122
-
123
- sig { params(is_vision_supported: T::Boolean).void }
124
- attr_writer :is_vision_supported
125
-
126
- # Maximum number of completion (output) tokens the model will generate per
127
- # request. `null` if unconstrained beyond `context_length`.
128
- sig { returns(T.nilable(Integer)) }
129
- attr_accessor :max_completion_tokens
130
-
131
- # Object type. Always `model`.
132
- sig { returns(T.nilable(String)) }
133
- attr_reader :object
134
-
135
- sig { params(object: String).void }
136
- attr_writer :object
137
-
138
- # Human-readable parameter count, e.g. `1.0T`, `753.9B`, `8B`.
139
- sig { returns(T.nilable(String)) }
140
- attr_accessor :parameters_str
141
-
142
- # Mapping of token kind to price, as strings to preserve precision. Typical keys
143
- # are `prompt`, `cached_prompt`, and `completion`. When pricing is available the
144
- # block also includes `currency` (ISO 4217 code matching the account's configured
145
- # billing currency) and `unit` (the denomination the prices are quoted in,
146
- # currently always `1M_tokens` for token-priced models).
147
- sig { returns(T.nilable(T::Hash[Symbol, String])) }
148
- attr_reader :pricing
149
-
150
- sig { params(pricing: T::Hash[Symbol, String]).void }
151
- attr_writer :pricing
152
-
153
- # Whether Telnyx currently recommends this model as the LLM powering a Telnyx AI
154
- # Assistant.
155
- sig { returns(T.nilable(T::Boolean)) }
156
- attr_reader :recommended_for_assistants
157
-
158
- sig { params(recommended_for_assistants: T::Boolean).void }
159
- attr_writer :recommended_for_assistants
160
-
161
- # Public region names where the model is currently deployed (e.g. `us-central-1`,
162
- # `eu-central-1`).
163
- sig { returns(T.nilable(T::Array[String])) }
164
- attr_reader :regions
165
-
166
- sig { params(regions: T::Array[String]).void }
167
- attr_writer :regions
168
-
169
- # Primary task the model is intended for, e.g. `text-generation`,
170
- # `audio-text-to-text`, `feature-extraction` (embeddings).
171
- sig { returns(T.nilable(String)) }
172
- attr_reader :task
173
-
174
- sig { params(task: String).void }
175
- attr_writer :task
176
-
177
- # Metadata for a model available on Telnyx Inference. Returned by
178
- # `GET /v2/ai/openai/models` (and the deprecated `GET /v2/ai/models`). Open-source
179
- # models live under their Hugging Face organization (e.g. `moonshotai/Kimi-K2.6`,
180
- # `zai-org/GLM-5.1-FP8`, `MiniMaxAI/MiniMax-M2.7`); fine-tuned models are owned by
181
- # the Telnyx organization that trained them.
182
- sig do
183
- params(
184
- id: String,
185
- context_length: Integer,
186
- created: Time,
187
- languages: T::Array[String],
188
- license: String,
189
- organization: String,
190
- owned_by: String,
191
- parameters: Integer,
192
- tier:
193
- Telnyx::Models::AIRetrieveModelsResponse::Data::Tier::OrSymbol,
194
- base_model: T.nilable(String),
195
- description: T.nilable(String),
196
- is_fine_tunable: T::Boolean,
197
- is_vision_supported: T::Boolean,
198
- max_completion_tokens: T.nilable(Integer),
199
- object: String,
200
- parameters_str: T.nilable(String),
201
- pricing: T::Hash[Symbol, String],
202
- recommended_for_assistants: T::Boolean,
203
- regions: T::Array[String],
204
- task: String
205
- ).returns(T.attached_class)
206
- end
207
- def self.new(
208
- # Model identifier. For open-source models, follows the
209
- # `{organization}/{model_name}` convention from Hugging Face (e.g.
210
- # `moonshotai/Kimi-K2.6`).
211
- id:,
212
- # Maximum total tokens (prompt + completion) supported by the model in a single
213
- # request.
214
- context_length:,
215
- # Timestamp at which the model was registered on Telnyx Inference (ISO 8601).
216
- created:,
217
- # ISO language codes the model supports (e.g. `en`, `es`).
218
- languages:,
219
- # License the model is distributed under, e.g. `Apache 2.0`, `MIT`,
220
- # `Llama 3 Community License`.
221
- license:,
222
- # Organization that originally published the model, matching the prefix of `id`
223
- # for open-source models.
224
- organization:,
225
- # Owner of the model. `Telnyx` for Telnyx-hosted open-source models, the upstream
226
- # provider name for proxied models, or the Telnyx organization id for fine-tuned
227
- # models.
228
- owned_by:,
229
- # Total parameter count of the model.
230
- parameters:,
231
- # Billing tier the model belongs to. Used together with `pricing` to determine
232
- # cost per 1M tokens.
233
- tier:,
234
- # Base model the fine-tuned model was trained from. Only set for fine-tuned
235
- # models.
236
- base_model: nil,
237
- # Short, human-readable summary of what the model is best suited for.
238
- description: nil,
239
- # Whether the model can be used as a base for a fine-tuning job via
240
- # `POST /v2/ai/fine_tuning/jobs`.
241
- is_fine_tunable: nil,
242
- # Whether the model accepts image inputs in chat completions (multimodal vision
243
- # support).
244
- is_vision_supported: nil,
245
- # Maximum number of completion (output) tokens the model will generate per
246
- # request. `null` if unconstrained beyond `context_length`.
247
- max_completion_tokens: nil,
248
- # Object type. Always `model`.
249
- object: nil,
250
- # Human-readable parameter count, e.g. `1.0T`, `753.9B`, `8B`.
251
- parameters_str: nil,
252
- # Mapping of token kind to price, as strings to preserve precision. Typical keys
253
- # are `prompt`, `cached_prompt`, and `completion`. When pricing is available the
254
- # block also includes `currency` (ISO 4217 code matching the account's configured
255
- # billing currency) and `unit` (the denomination the prices are quoted in,
256
- # currently always `1M_tokens` for token-priced models).
257
- pricing: nil,
258
- # Whether Telnyx currently recommends this model as the LLM powering a Telnyx AI
259
- # Assistant.
260
- recommended_for_assistants: nil,
261
- # Public region names where the model is currently deployed (e.g. `us-central-1`,
262
- # `eu-central-1`).
263
- regions: nil,
264
- # Primary task the model is intended for, e.g. `text-generation`,
265
- # `audio-text-to-text`, `feature-extraction` (embeddings).
266
- task: nil
267
- )
268
- end
269
-
270
- sig do
271
- override.returns(
272
- {
273
- id: String,
274
- context_length: Integer,
275
- created: Time,
276
- languages: T::Array[String],
277
- license: String,
278
- organization: String,
279
- owned_by: String,
280
- parameters: Integer,
281
- tier:
282
- Telnyx::Models::AIRetrieveModelsResponse::Data::Tier::TaggedSymbol,
283
- base_model: T.nilable(String),
284
- description: T.nilable(String),
285
- is_fine_tunable: T::Boolean,
286
- is_vision_supported: T::Boolean,
287
- max_completion_tokens: T.nilable(Integer),
288
- object: String,
289
- parameters_str: T.nilable(String),
290
- pricing: T::Hash[Symbol, String],
291
- recommended_for_assistants: T::Boolean,
292
- regions: T::Array[String],
293
- task: String
294
- }
295
- )
296
- end
297
- def to_hash
298
- end
299
-
300
- # Billing tier the model belongs to. Used together with `pricing` to determine
301
- # cost per 1M tokens.
302
- module Tier
303
- extend Telnyx::Internal::Type::Enum
304
-
305
- TaggedSymbol =
306
- T.type_alias do
307
- T.all(
308
- Symbol,
309
- Telnyx::Models::AIRetrieveModelsResponse::Data::Tier
310
- )
311
- end
312
- OrSymbol = T.type_alias { T.any(Symbol, String) }
313
-
314
- SMALL =
315
- T.let(
316
- :small,
317
- Telnyx::Models::AIRetrieveModelsResponse::Data::Tier::TaggedSymbol
318
- )
319
- MEDIUM =
320
- T.let(
321
- :medium,
322
- Telnyx::Models::AIRetrieveModelsResponse::Data::Tier::TaggedSymbol
323
- )
324
- LARGE =
325
- T.let(
326
- :large,
327
- Telnyx::Models::AIRetrieveModelsResponse::Data::Tier::TaggedSymbol
328
- )
329
- UNLISTED =
330
- T.let(
331
- :unlisted,
332
- Telnyx::Models::AIRetrieveModelsResponse::Data::Tier::TaggedSymbol
333
- )
334
-
335
- sig do
336
- override.returns(
337
- T::Array[
338
- Telnyx::Models::AIRetrieveModelsResponse::Data::Tier::TaggedSymbol
339
- ]
340
- )
341
- end
342
- def self.values
343
- end
344
- end
345
- end
346
39
  end
347
40
  end
348
41
  end
@@ -229,6 +229,11 @@ module Telnyx
229
229
  sig { params(llm_model: String).void }
230
230
  attr_writer :llm_model
231
231
 
232
+ # Reason the conversation ended. For Conversation Relay, `customer_disconnect`
233
+ # indicates that the customer WebSocket disconnected.
234
+ sig { returns(T.nilable(String)) }
235
+ attr_accessor :reason
236
+
232
237
  # The speech-to-text model used in the conversation.
233
238
  sig { returns(T.nilable(String)) }
234
239
  attr_reader :stt_model
@@ -278,6 +283,7 @@ module Telnyx
278
283
  duration_sec: Integer,
279
284
  from: String,
280
285
  llm_model: String,
286
+ reason: T.nilable(String),
281
287
  stt_model: String,
282
288
  to: String,
283
289
  tts_model_id: String,
@@ -308,6 +314,9 @@ module Telnyx
308
314
  from: nil,
309
315
  # The large language model used during the conversation.
310
316
  llm_model: nil,
317
+ # Reason the conversation ended. For Conversation Relay, `customer_disconnect`
318
+ # indicates that the customer WebSocket disconnected.
319
+ reason: nil,
311
320
  # The speech-to-text model used in the conversation.
312
321
  stt_model: nil,
313
322
  # The callee's number or SIP address.
@@ -336,6 +345,7 @@ module Telnyx
336
345
  duration_sec: Integer,
337
346
  from: String,
338
347
  llm_model: String,
348
+ reason: T.nilable(String),
339
349
  stt_model: String,
340
350
  to: String,
341
351
  tts_model_id: String,
@@ -194,7 +194,7 @@ module Telnyx
194
194
  Telnyx::AzureVoiceSettings,
195
195
  Telnyx::RimeVoiceSettings,
196
196
  Telnyx::ResembleVoiceSettings,
197
- Telnyx::Calls::ActionGatherUsingAIParams::VoiceSettings::Xai
197
+ Telnyx::XaiVoiceSettings
198
198
  )
199
199
  )
200
200
  )
@@ -211,7 +211,7 @@ module Telnyx
211
211
  Telnyx::AzureVoiceSettings::OrHash,
212
212
  Telnyx::RimeVoiceSettings::OrHash,
213
213
  Telnyx::ResembleVoiceSettings::OrHash,
214
- Telnyx::Calls::ActionGatherUsingAIParams::VoiceSettings::Xai::OrHash
214
+ Telnyx::XaiVoiceSettings::OrHash
215
215
  )
216
216
  ).void
217
217
  end
@@ -245,7 +245,7 @@ module Telnyx
245
245
  Telnyx::AzureVoiceSettings::OrHash,
246
246
  Telnyx::RimeVoiceSettings::OrHash,
247
247
  Telnyx::ResembleVoiceSettings::OrHash,
248
- Telnyx::Calls::ActionGatherUsingAIParams::VoiceSettings::Xai::OrHash
248
+ Telnyx::XaiVoiceSettings::OrHash
249
249
  ),
250
250
  request_options: Telnyx::RequestOptions::OrHash
251
251
  ).returns(T.attached_class)
@@ -358,7 +358,7 @@ module Telnyx
358
358
  Telnyx::AzureVoiceSettings,
359
359
  Telnyx::RimeVoiceSettings,
360
360
  Telnyx::ResembleVoiceSettings,
361
- Telnyx::Calls::ActionGatherUsingAIParams::VoiceSettings::Xai
361
+ Telnyx::XaiVoiceSettings
362
362
  ),
363
363
  request_options: Telnyx::RequestOptions
364
364
  }
@@ -477,46 +477,10 @@ module Telnyx
477
477
  Telnyx::AzureVoiceSettings,
478
478
  Telnyx::RimeVoiceSettings,
479
479
  Telnyx::ResembleVoiceSettings,
480
- Telnyx::Calls::ActionGatherUsingAIParams::VoiceSettings::Xai
480
+ Telnyx::XaiVoiceSettings
481
481
  )
482
482
  end
483
483
 
484
- class Xai < Telnyx::Internal::Type::BaseModel
485
- OrHash =
486
- T.type_alias do
487
- T.any(
488
- Telnyx::Calls::ActionGatherUsingAIParams::VoiceSettings::Xai,
489
- Telnyx::Internal::AnyHash
490
- )
491
- end
492
-
493
- # Voice settings provider type
494
- sig { returns(Symbol) }
495
- attr_accessor :type
496
-
497
- # Language code, or `auto` to detect automatically.
498
- sig { returns(T.nilable(String)) }
499
- attr_reader :language
500
-
501
- sig { params(language: String).void }
502
- attr_writer :language
503
-
504
- sig do
505
- params(language: String, type: Symbol).returns(T.attached_class)
506
- end
507
- def self.new(
508
- # Language code, or `auto` to detect automatically.
509
- language: nil,
510
- # Voice settings provider type
511
- type: :xai
512
- )
513
- end
514
-
515
- sig { override.returns({ type: Symbol, language: String }) }
516
- def to_hash
517
- end
518
- end
519
-
520
484
  sig do
521
485
  override.returns(
522
486
  T::Array[
@@ -217,7 +217,7 @@ module Telnyx
217
217
  Telnyx::RimeVoiceSettings,
218
218
  Telnyx::ResembleVoiceSettings,
219
219
  Telnyx::Calls::ActionGatherUsingSpeakParams::VoiceSettings::Inworld,
220
- Telnyx::Calls::ActionGatherUsingSpeakParams::VoiceSettings::Xai
220
+ Telnyx::XaiVoiceSettings
221
221
  )
222
222
  )
223
223
  )
@@ -236,7 +236,7 @@ module Telnyx
236
236
  Telnyx::RimeVoiceSettings::OrHash,
237
237
  Telnyx::ResembleVoiceSettings::OrHash,
238
238
  Telnyx::Calls::ActionGatherUsingSpeakParams::VoiceSettings::Inworld::OrHash,
239
- Telnyx::Calls::ActionGatherUsingSpeakParams::VoiceSettings::Xai::OrHash
239
+ Telnyx::XaiVoiceSettings::OrHash
240
240
  )
241
241
  ).void
242
242
  end
@@ -273,7 +273,7 @@ module Telnyx
273
273
  Telnyx::RimeVoiceSettings::OrHash,
274
274
  Telnyx::ResembleVoiceSettings::OrHash,
275
275
  Telnyx::Calls::ActionGatherUsingSpeakParams::VoiceSettings::Inworld::OrHash,
276
- Telnyx::Calls::ActionGatherUsingSpeakParams::VoiceSettings::Xai::OrHash
276
+ Telnyx::XaiVoiceSettings::OrHash
277
277
  ),
278
278
  request_options: Telnyx::RequestOptions::OrHash
279
279
  ).returns(T.attached_class)
@@ -402,7 +402,7 @@ module Telnyx
402
402
  Telnyx::RimeVoiceSettings,
403
403
  Telnyx::ResembleVoiceSettings,
404
404
  Telnyx::Calls::ActionGatherUsingSpeakParams::VoiceSettings::Inworld,
405
- Telnyx::Calls::ActionGatherUsingSpeakParams::VoiceSettings::Xai
405
+ Telnyx::XaiVoiceSettings
406
406
  ),
407
407
  request_options: Telnyx::RequestOptions
408
408
  }
@@ -669,7 +669,7 @@ module Telnyx
669
669
  Telnyx::RimeVoiceSettings,
670
670
  Telnyx::ResembleVoiceSettings,
671
671
  Telnyx::Calls::ActionGatherUsingSpeakParams::VoiceSettings::Inworld,
672
- Telnyx::Calls::ActionGatherUsingSpeakParams::VoiceSettings::Xai
672
+ Telnyx::XaiVoiceSettings
673
673
  )
674
674
  end
675
675
 
@@ -698,42 +698,6 @@ module Telnyx
698
698
  end
699
699
  end
700
700
 
701
- class Xai < Telnyx::Internal::Type::BaseModel
702
- OrHash =
703
- T.type_alias do
704
- T.any(
705
- Telnyx::Calls::ActionGatherUsingSpeakParams::VoiceSettings::Xai,
706
- Telnyx::Internal::AnyHash
707
- )
708
- end
709
-
710
- # Voice settings provider type
711
- sig { returns(Symbol) }
712
- attr_accessor :type
713
-
714
- # Language code, or `auto` to detect automatically.
715
- sig { returns(T.nilable(String)) }
716
- attr_reader :language
717
-
718
- sig { params(language: String).void }
719
- attr_writer :language
720
-
721
- sig do
722
- params(language: String, type: Symbol).returns(T.attached_class)
723
- end
724
- def self.new(
725
- # Language code, or `auto` to detect automatically.
726
- language: nil,
727
- # Voice settings provider type
728
- type: :xai
729
- )
730
- end
731
-
732
- sig { override.returns({ type: Symbol, language: String }) }
733
- def to_hash
734
- end
735
- end
736
-
737
701
  sig do
738
702
  override.returns(
739
703
  T::Array[
@@ -178,7 +178,7 @@ module Telnyx
178
178
  Telnyx::RimeVoiceSettings,
179
179
  Telnyx::ResembleVoiceSettings,
180
180
  Telnyx::Calls::ActionSpeakParams::VoiceSettings::Inworld,
181
- Telnyx::Calls::ActionSpeakParams::VoiceSettings::Xai
181
+ Telnyx::XaiVoiceSettings
182
182
  )
183
183
  )
184
184
  )
@@ -197,7 +197,7 @@ module Telnyx
197
197
  Telnyx::RimeVoiceSettings::OrHash,
198
198
  Telnyx::ResembleVoiceSettings::OrHash,
199
199
  Telnyx::Calls::ActionSpeakParams::VoiceSettings::Inworld::OrHash,
200
- Telnyx::Calls::ActionSpeakParams::VoiceSettings::Xai::OrHash
200
+ Telnyx::XaiVoiceSettings::OrHash
201
201
  )
202
202
  ).void
203
203
  end
@@ -228,7 +228,7 @@ module Telnyx
228
228
  Telnyx::RimeVoiceSettings::OrHash,
229
229
  Telnyx::ResembleVoiceSettings::OrHash,
230
230
  Telnyx::Calls::ActionSpeakParams::VoiceSettings::Inworld::OrHash,
231
- Telnyx::Calls::ActionSpeakParams::VoiceSettings::Xai::OrHash
231
+ Telnyx::XaiVoiceSettings::OrHash
232
232
  ),
233
233
  request_options: Telnyx::RequestOptions::OrHash
234
234
  ).returns(T.attached_class)
@@ -340,7 +340,7 @@ module Telnyx
340
340
  Telnyx::RimeVoiceSettings,
341
341
  Telnyx::ResembleVoiceSettings,
342
342
  Telnyx::Calls::ActionSpeakParams::VoiceSettings::Inworld,
343
- Telnyx::Calls::ActionSpeakParams::VoiceSettings::Xai
343
+ Telnyx::XaiVoiceSettings
344
344
  ),
345
345
  request_options: Telnyx::RequestOptions
346
346
  }
@@ -633,7 +633,7 @@ module Telnyx
633
633
  Telnyx::RimeVoiceSettings,
634
634
  Telnyx::ResembleVoiceSettings,
635
635
  Telnyx::Calls::ActionSpeakParams::VoiceSettings::Inworld,
636
- Telnyx::Calls::ActionSpeakParams::VoiceSettings::Xai
636
+ Telnyx::XaiVoiceSettings
637
637
  )
638
638
  end
639
639
 
@@ -662,42 +662,6 @@ module Telnyx
662
662
  end
663
663
  end
664
664
 
665
- class Xai < Telnyx::Internal::Type::BaseModel
666
- OrHash =
667
- T.type_alias do
668
- T.any(
669
- Telnyx::Calls::ActionSpeakParams::VoiceSettings::Xai,
670
- Telnyx::Internal::AnyHash
671
- )
672
- end
673
-
674
- # Voice settings provider type
675
- sig { returns(Symbol) }
676
- attr_accessor :type
677
-
678
- # Language code, or `auto` to detect automatically.
679
- sig { returns(T.nilable(String)) }
680
- attr_reader :language
681
-
682
- sig { params(language: String).void }
683
- attr_writer :language
684
-
685
- sig do
686
- params(language: String, type: Symbol).returns(T.attached_class)
687
- end
688
- def self.new(
689
- # Language code, or `auto` to detect automatically.
690
- language: nil,
691
- # Voice settings provider type
692
- type: :xai
693
- )
694
- end
695
-
696
- sig { override.returns({ type: Symbol, language: String }) }
697
- def to_hash
698
- end
699
- end
700
-
701
665
  sig do
702
666
  override.returns(
703
667
  T::Array[