telnyx 5.111.0 → 5.112.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 (227) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +8 -0
  3. data/README.md +1 -1
  4. data/lib/telnyx/models/ai/assistant_create_params.rb +178 -9
  5. data/lib/telnyx/models/ai/assistant_tool.rb +14 -14
  6. data/lib/telnyx/models/ai/assistant_update_params.rb +178 -9
  7. data/lib/telnyx/models/ai/assistants/canary_deploy.rb +123 -3
  8. data/lib/telnyx/models/ai/assistants/canary_deploy_response.rb +125 -3
  9. data/lib/telnyx/models/ai/assistants/update_assistant.rb +179 -9
  10. data/lib/telnyx/models/ai/inference_embedding.rb +177 -9
  11. data/lib/telnyx/models/ai/openai_list_models_response.rb +210 -3
  12. data/lib/telnyx/models/ai/transfer_tool.rb +9 -7
  13. data/lib/telnyx/models/ai_retrieve_models_response.rb +210 -3
  14. data/lib/telnyx/models/calls/action_gather_using_ai_params.rb +23 -4
  15. data/lib/telnyx/models/calls/action_gather_using_speak_params.rb +23 -4
  16. data/lib/telnyx/models/calls/action_speak_params.rb +23 -4
  17. data/lib/telnyx/models/calls/action_start_ai_assistant_params.rb +23 -4
  18. data/lib/telnyx/models/calls/action_start_conversation_relay_params.rb +491 -0
  19. data/lib/telnyx/models/calls/action_start_conversation_relay_response.rb +37 -0
  20. data/lib/telnyx/models/calls/action_stop_conversation_relay_params.rb +44 -0
  21. data/lib/telnyx/models/calls/action_stop_conversation_relay_response.rb +18 -0
  22. data/lib/telnyx/models/calls/transcription_start_request.rb +167 -5
  23. data/lib/telnyx/models/conferences/action_speak_params.rb +23 -4
  24. data/lib/telnyx/models/network_list_interfaces_response.rb +2 -112
  25. data/lib/telnyx/models/public_internet_gateway_create_response.rb +8 -3
  26. data/lib/telnyx/models/public_internet_gateway_delete_response.rb +8 -3
  27. data/lib/telnyx/models/public_internet_gateway_list_response.rb +10 -0
  28. data/lib/telnyx/models/public_internet_gateway_retrieve_response.rb +8 -3
  29. data/lib/telnyx/models/text_to_speech_generate_params.rb +6 -6
  30. data/lib/telnyx/models/uac_connection_create_params.rb +255 -9
  31. data/lib/telnyx/models/uac_connection_create_response.rb +878 -3
  32. data/lib/telnyx/models/uac_connection_delete_response.rb +878 -3
  33. data/lib/telnyx/models/uac_connection_list_response.rb +876 -0
  34. data/lib/telnyx/models/uac_connection_retrieve_response.rb +879 -3
  35. data/lib/telnyx/models/uac_connection_update_params.rb +255 -9
  36. data/lib/telnyx/models/uac_connection_update_response.rb +878 -3
  37. data/lib/telnyx/models/virtual_cross_connect_create_response.rb +8 -3
  38. data/lib/telnyx/models/virtual_cross_connect_delete_response.rb +8 -3
  39. data/lib/telnyx/models/virtual_cross_connect_list_response.rb +10 -0
  40. data/lib/telnyx/models/virtual_cross_connect_retrieve_response.rb +8 -3
  41. data/lib/telnyx/models/virtual_cross_connect_update_response.rb +8 -3
  42. data/lib/telnyx/models/wireguard_interface_create_response.rb +8 -3
  43. data/lib/telnyx/models/wireguard_interface_delete_response.rb +8 -3
  44. data/lib/telnyx/models/wireguard_interface_list_response.rb +10 -0
  45. data/lib/telnyx/models/wireguard_interface_retrieve_response.rb +8 -3
  46. data/lib/telnyx/models.rb +0 -20
  47. data/lib/telnyx/resources/ai/assistants/canary_deploys.rb +2 -2
  48. data/lib/telnyx/resources/ai/assistants/versions.rb +3 -3
  49. data/lib/telnyx/resources/ai/assistants.rb +6 -6
  50. data/lib/telnyx/resources/calls/actions.rb +101 -5
  51. data/lib/telnyx/resources/conferences/actions.rb +1 -1
  52. data/lib/telnyx/resources/public_internet_gateways.rb +2 -2
  53. data/lib/telnyx/resources/uac_connections.rb +8 -8
  54. data/lib/telnyx/resources/virtual_cross_connects.rb +2 -2
  55. data/lib/telnyx/resources/wireguard_interfaces.rb +2 -2
  56. data/lib/telnyx/version.rb +1 -1
  57. data/lib/telnyx.rb +8 -22
  58. data/rbi/telnyx/models/ai/assistant_create_params.rbi +352 -12
  59. data/rbi/telnyx/models/ai/assistant_tool.rbi +10 -10
  60. data/rbi/telnyx/models/ai/assistant_update_params.rbi +352 -12
  61. data/rbi/telnyx/models/ai/assistants/canary_deploy.rbi +290 -4
  62. data/rbi/telnyx/models/ai/assistants/canary_deploy_response.rbi +301 -3
  63. data/rbi/telnyx/models/ai/assistants/update_assistant.rbi +366 -12
  64. data/rbi/telnyx/models/ai/inference_embedding.rbi +351 -12
  65. data/rbi/telnyx/models/ai/openai_list_models_response.rbi +315 -3
  66. data/rbi/telnyx/models/ai/transfer_tool.rbi +5 -5
  67. data/rbi/telnyx/models/ai_retrieve_models_response.rbi +310 -3
  68. data/rbi/telnyx/models/calls/action_gather_using_ai_params.rbi +41 -5
  69. data/rbi/telnyx/models/calls/action_gather_using_speak_params.rbi +41 -5
  70. data/rbi/telnyx/models/calls/action_speak_params.rbi +41 -5
  71. data/rbi/telnyx/models/calls/action_start_ai_assistant_params.rbi +41 -5
  72. data/rbi/telnyx/models/calls/action_start_conversation_relay_params.rbi +1075 -0
  73. data/rbi/telnyx/models/calls/action_start_conversation_relay_response.rbi +95 -0
  74. data/rbi/telnyx/models/calls/action_stop_conversation_relay_params.rbi +72 -0
  75. data/rbi/telnyx/models/calls/action_stop_conversation_relay_response.rbi +39 -0
  76. data/rbi/telnyx/models/calls/transcription_start_request.rbi +480 -10
  77. data/rbi/telnyx/models/conferences/action_speak_params.rbi +41 -5
  78. data/rbi/telnyx/models/network_list_interfaces_response.rbi +4 -181
  79. data/rbi/telnyx/models/public_internet_gateway_create_response.rbi +38 -6
  80. data/rbi/telnyx/models/public_internet_gateway_delete_response.rbi +38 -6
  81. data/rbi/telnyx/models/public_internet_gateway_list_response.rbi +23 -0
  82. data/rbi/telnyx/models/public_internet_gateway_retrieve_response.rbi +38 -6
  83. data/rbi/telnyx/models/text_to_speech_generate_params.rbi +6 -6
  84. data/rbi/telnyx/models/uac_connection_create_params.rbi +516 -12
  85. data/rbi/telnyx/models/uac_connection_create_response.rbi +1756 -4
  86. data/rbi/telnyx/models/uac_connection_delete_response.rbi +1756 -4
  87. data/rbi/telnyx/models/uac_connection_list_response.rbi +1727 -0
  88. data/rbi/telnyx/models/uac_connection_retrieve_response.rbi +1756 -4
  89. data/rbi/telnyx/models/uac_connection_update_params.rbi +516 -12
  90. data/rbi/telnyx/models/uac_connection_update_response.rbi +1756 -4
  91. data/rbi/telnyx/models/virtual_cross_connect_create_response.rbi +36 -6
  92. data/rbi/telnyx/models/virtual_cross_connect_delete_response.rbi +36 -6
  93. data/rbi/telnyx/models/virtual_cross_connect_list_response.rbi +23 -0
  94. data/rbi/telnyx/models/virtual_cross_connect_retrieve_response.rbi +38 -6
  95. data/rbi/telnyx/models/virtual_cross_connect_update_response.rbi +36 -6
  96. data/rbi/telnyx/models/wireguard_interface_create_response.rbi +36 -6
  97. data/rbi/telnyx/models/wireguard_interface_delete_response.rbi +36 -6
  98. data/rbi/telnyx/models/wireguard_interface_list_response.rbi +23 -0
  99. data/rbi/telnyx/models/wireguard_interface_retrieve_response.rbi +36 -6
  100. data/rbi/telnyx/models.rbi +0 -20
  101. data/rbi/telnyx/resources/ai/assistants/canary_deploys.rbi +4 -2
  102. data/rbi/telnyx/resources/ai/assistants/versions.rbi +9 -3
  103. data/rbi/telnyx/resources/ai/assistants.rbi +10 -6
  104. data/rbi/telnyx/resources/calls/actions.rbi +152 -6
  105. data/rbi/telnyx/resources/conferences/actions.rbi +1 -1
  106. data/rbi/telnyx/resources/public_internet_gateways.rbi +1 -1
  107. data/rbi/telnyx/resources/uac_connections.rbi +13 -7
  108. data/rbi/telnyx/resources/virtual_cross_connects.rbi +1 -1
  109. data/rbi/telnyx/resources/wireguard_interfaces.rbi +1 -1
  110. data/sig/telnyx/models/ai/assistant_create_params.rbs +149 -18
  111. data/sig/telnyx/models/ai/assistant_tool.rbs +8 -8
  112. data/sig/telnyx/models/ai/assistant_update_params.rbs +149 -18
  113. data/sig/telnyx/models/ai/assistants/canary_deploy.rbs +113 -6
  114. data/sig/telnyx/models/ai/assistants/canary_deploy_response.rbs +109 -4
  115. data/sig/telnyx/models/ai/assistants/update_assistant.rbs +152 -18
  116. data/sig/telnyx/models/ai/inference_embedding.rbs +149 -18
  117. data/sig/telnyx/models/ai/openai_list_models_response.rbs +149 -4
  118. data/sig/telnyx/models/ai/transfer_tool.rbs +4 -4
  119. data/sig/telnyx/models/ai_retrieve_models_response.rbs +149 -4
  120. data/sig/telnyx/models/calls/action_gather_using_ai_params.rbs +15 -1
  121. data/sig/telnyx/models/calls/action_gather_using_speak_params.rbs +15 -1
  122. data/sig/telnyx/models/calls/action_speak_params.rbs +15 -1
  123. data/sig/telnyx/models/calls/action_start_ai_assistant_params.rbs +15 -1
  124. data/sig/telnyx/models/calls/action_start_conversation_relay_params.rbs +416 -0
  125. data/sig/telnyx/models/calls/action_start_conversation_relay_response.rbs +45 -0
  126. data/sig/telnyx/models/calls/action_stop_conversation_relay_params.rbs +38 -0
  127. data/sig/telnyx/models/calls/action_stop_conversation_relay_response.rbs +20 -0
  128. data/sig/telnyx/models/calls/transcription_start_request.rbs +184 -2
  129. data/sig/telnyx/models/conferences/action_speak_params.rbs +15 -1
  130. data/sig/telnyx/models/network_list_interfaces_response.rbs +4 -106
  131. data/sig/telnyx/models/public_internet_gateway_create_response.rbs +18 -6
  132. data/sig/telnyx/models/public_internet_gateway_delete_response.rbs +18 -6
  133. data/sig/telnyx/models/public_internet_gateway_list_response.rbs +11 -0
  134. data/sig/telnyx/models/public_internet_gateway_retrieve_response.rbs +18 -6
  135. data/sig/telnyx/models/text_to_speech_generate_params.rbs +6 -6
  136. data/sig/telnyx/models/uac_connection_create_params.rbs +211 -17
  137. data/sig/telnyx/models/uac_connection_create_response.rbs +731 -5
  138. data/sig/telnyx/models/uac_connection_delete_response.rbs +731 -5
  139. data/sig/telnyx/models/uac_connection_list_response.rbs +722 -0
  140. data/sig/telnyx/models/uac_connection_retrieve_response.rbs +731 -5
  141. data/sig/telnyx/models/uac_connection_update_params.rbs +211 -17
  142. data/sig/telnyx/models/uac_connection_update_response.rbs +731 -5
  143. data/sig/telnyx/models/virtual_cross_connect_create_response.rbs +18 -6
  144. data/sig/telnyx/models/virtual_cross_connect_delete_response.rbs +18 -6
  145. data/sig/telnyx/models/virtual_cross_connect_list_response.rbs +11 -0
  146. data/sig/telnyx/models/virtual_cross_connect_retrieve_response.rbs +18 -6
  147. data/sig/telnyx/models/virtual_cross_connect_update_response.rbs +18 -6
  148. data/sig/telnyx/models/wireguard_interface_create_response.rbs +18 -6
  149. data/sig/telnyx/models/wireguard_interface_delete_response.rbs +18 -6
  150. data/sig/telnyx/models/wireguard_interface_list_response.rbs +11 -0
  151. data/sig/telnyx/models/wireguard_interface_retrieve_response.rbs +18 -6
  152. data/sig/telnyx/models.rbs +0 -20
  153. data/sig/telnyx/resources/ai/assistants/canary_deploys.rbs +2 -2
  154. data/sig/telnyx/resources/ai/assistants/versions.rbs +3 -3
  155. data/sig/telnyx/resources/ai/assistants.rbs +6 -6
  156. data/sig/telnyx/resources/calls/actions.rbs +29 -0
  157. data/sig/telnyx/resources/public_internet_gateways.rbs +1 -1
  158. data/sig/telnyx/resources/uac_connections.rbs +7 -7
  159. data/sig/telnyx/resources/virtual_cross_connects.rbs +1 -1
  160. data/sig/telnyx/resources/wireguard_interfaces.rbs +1 -1
  161. metadata +26 -68
  162. data/lib/telnyx/models/ai/assistant_integration.rb +0 -38
  163. data/lib/telnyx/models/ai/assistant_mcp_server.rb +0 -35
  164. data/lib/telnyx/models/ai/assistants/clause.rb +0 -54
  165. data/lib/telnyx/models/ai/assistants/rollout_slot.rb +0 -27
  166. data/lib/telnyx/models/ai/assistants/rule_input.rb +0 -40
  167. data/lib/telnyx/models/ai/assistants/rule_output.rb +0 -40
  168. data/lib/telnyx/models/ai/assistants/serve.rb +0 -33
  169. data/lib/telnyx/models/ai/inference_embedding_interruption_settings.rb +0 -47
  170. data/lib/telnyx/models/ai/start_speaking_plan.rb +0 -37
  171. data/lib/telnyx/models/ai/transcription_endpointing_plan.rb +0 -39
  172. data/lib/telnyx/models/calls/transcription_engine_assemblyai_config.rb +0 -64
  173. data/lib/telnyx/models/calls/transcription_engine_xai_config.rb +0 -108
  174. data/lib/telnyx/models/model_metadata.rb +0 -212
  175. data/lib/telnyx/models/public_internet_gateway_read.rb +0 -83
  176. data/lib/telnyx/models/uac_connection.rb +0 -412
  177. data/lib/telnyx/models/uac_external_settings.rb +0 -101
  178. data/lib/telnyx/models/uac_inbound.rb +0 -210
  179. data/lib/telnyx/models/uac_internal_settings.rb +0 -25
  180. data/lib/telnyx/models/uac_outbound.rb +0 -131
  181. data/lib/telnyx/models/virtual_cross_connect_combined.rb +0 -212
  182. data/lib/telnyx/models/wireguard_interface_read.rb +0 -136
  183. data/lib/telnyx/models/xai_voice_settings.rb +0 -36
  184. data/rbi/telnyx/models/ai/assistant_integration.rbi +0 -60
  185. data/rbi/telnyx/models/ai/assistant_mcp_server.rbi +0 -51
  186. data/rbi/telnyx/models/ai/assistants/clause.rbi +0 -91
  187. data/rbi/telnyx/models/ai/assistants/rollout_slot.rbi +0 -36
  188. data/rbi/telnyx/models/ai/assistants/rule_input.rbi +0 -73
  189. data/rbi/telnyx/models/ai/assistants/rule_output.rbi +0 -73
  190. data/rbi/telnyx/models/ai/assistants/serve.rbi +0 -61
  191. data/rbi/telnyx/models/ai/inference_embedding_interruption_settings.rbi +0 -83
  192. data/rbi/telnyx/models/ai/start_speaking_plan.rbi +0 -70
  193. data/rbi/telnyx/models/ai/transcription_endpointing_plan.rbi +0 -71
  194. data/rbi/telnyx/models/calls/transcription_engine_assemblyai_config.rbi +0 -155
  195. data/rbi/telnyx/models/calls/transcription_engine_xai_config.rbi +0 -329
  196. data/rbi/telnyx/models/model_metadata.rbi +0 -272
  197. data/rbi/telnyx/models/public_internet_gateway_read.rbi +0 -128
  198. data/rbi/telnyx/models/uac_connection.rbi +0 -684
  199. data/rbi/telnyx/models/uac_external_settings.rbi +0 -146
  200. data/rbi/telnyx/models/uac_inbound.rbi +0 -410
  201. data/rbi/telnyx/models/uac_internal_settings.rbi +0 -39
  202. data/rbi/telnyx/models/uac_outbound.rbi +0 -224
  203. data/rbi/telnyx/models/virtual_cross_connect_combined.rbi +0 -345
  204. data/rbi/telnyx/models/wireguard_interface_read.rbi +0 -213
  205. data/rbi/telnyx/models/xai_voice_settings.rbi +0 -64
  206. data/sig/telnyx/models/ai/assistant_integration.rbs +0 -26
  207. data/sig/telnyx/models/ai/assistant_mcp_server.rbs +0 -19
  208. data/sig/telnyx/models/ai/assistants/clause.rbs +0 -46
  209. data/sig/telnyx/models/ai/assistants/rollout_slot.rbs +0 -19
  210. data/sig/telnyx/models/ai/assistants/rule_input.rbs +0 -33
  211. data/sig/telnyx/models/ai/assistants/rule_output.rbs +0 -33
  212. data/sig/telnyx/models/ai/assistants/serve.rbs +0 -35
  213. data/sig/telnyx/models/ai/inference_embedding_interruption_settings.rbs +0 -40
  214. data/sig/telnyx/models/ai/start_speaking_plan.rbs +0 -33
  215. data/sig/telnyx/models/ai/transcription_endpointing_plan.rbs +0 -38
  216. data/sig/telnyx/models/calls/transcription_engine_assemblyai_config.rbs +0 -62
  217. data/sig/telnyx/models/calls/transcription_engine_xai_config.rbs +0 -130
  218. data/sig/telnyx/models/model_metadata.rbs +0 -142
  219. data/sig/telnyx/models/public_internet_gateway_read.rbs +0 -80
  220. data/sig/telnyx/models/uac_connection.rbs +0 -338
  221. data/sig/telnyx/models/uac_external_settings.rbs +0 -73
  222. data/sig/telnyx/models/uac_inbound.rbs +0 -190
  223. data/sig/telnyx/models/uac_internal_settings.rbs +0 -15
  224. data/sig/telnyx/models/uac_outbound.rbs +0 -113
  225. data/sig/telnyx/models/virtual_cross_connect_combined.rbs +0 -190
  226. data/sig/telnyx/models/wireguard_interface_read.rbs +0 -127
  227. data/sig/telnyx/models/xai_voice_settings.rbs +0 -34
@@ -11,7 +11,7 @@ module Telnyx
11
11
  )
12
12
  end
13
13
 
14
- sig { returns(T::Array[Telnyx::ModelMetadata]) }
14
+ sig { returns(T::Array[Telnyx::Models::AIRetrieveModelsResponse::Data]) }
15
15
  attr_accessor :data
16
16
 
17
17
  sig { returns(T.nilable(String)) }
@@ -22,7 +22,8 @@ module Telnyx
22
22
 
23
23
  sig do
24
24
  params(
25
- data: T::Array[Telnyx::ModelMetadata::OrHash],
25
+ data:
26
+ T::Array[Telnyx::Models::AIRetrieveModelsResponse::Data::OrHash],
26
27
  object: String
27
28
  ).returns(T.attached_class)
28
29
  end
@@ -31,11 +32,317 @@ module Telnyx
31
32
 
32
33
  sig do
33
34
  override.returns(
34
- { data: T::Array[Telnyx::ModelMetadata], object: String }
35
+ {
36
+ data: T::Array[Telnyx::Models::AIRetrieveModelsResponse::Data],
37
+ object: String
38
+ }
35
39
  )
36
40
  end
37
41
  def to_hash
38
42
  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
39
346
  end
40
347
  end
41
348
  end
@@ -194,7 +194,7 @@ module Telnyx
194
194
  Telnyx::AzureVoiceSettings,
195
195
  Telnyx::RimeVoiceSettings,
196
196
  Telnyx::ResembleVoiceSettings,
197
- Telnyx::XaiVoiceSettings
197
+ Telnyx::Calls::ActionGatherUsingAIParams::VoiceSettings::Xai
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::XaiVoiceSettings::OrHash
214
+ Telnyx::Calls::ActionGatherUsingAIParams::VoiceSettings::Xai::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::XaiVoiceSettings::OrHash
248
+ Telnyx::Calls::ActionGatherUsingAIParams::VoiceSettings::Xai::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::XaiVoiceSettings
361
+ Telnyx::Calls::ActionGatherUsingAIParams::VoiceSettings::Xai
362
362
  ),
363
363
  request_options: Telnyx::RequestOptions
364
364
  }
@@ -477,10 +477,46 @@ module Telnyx
477
477
  Telnyx::AzureVoiceSettings,
478
478
  Telnyx::RimeVoiceSettings,
479
479
  Telnyx::ResembleVoiceSettings,
480
- Telnyx::XaiVoiceSettings
480
+ Telnyx::Calls::ActionGatherUsingAIParams::VoiceSettings::Xai
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
+
484
520
  sig do
485
521
  override.returns(
486
522
  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::XaiVoiceSettings
220
+ Telnyx::Calls::ActionGatherUsingSpeakParams::VoiceSettings::Xai
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::XaiVoiceSettings::OrHash
239
+ Telnyx::Calls::ActionGatherUsingSpeakParams::VoiceSettings::Xai::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::XaiVoiceSettings::OrHash
276
+ Telnyx::Calls::ActionGatherUsingSpeakParams::VoiceSettings::Xai::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::XaiVoiceSettings
405
+ Telnyx::Calls::ActionGatherUsingSpeakParams::VoiceSettings::Xai
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::XaiVoiceSettings
672
+ Telnyx::Calls::ActionGatherUsingSpeakParams::VoiceSettings::Xai
673
673
  )
674
674
  end
675
675
 
@@ -698,6 +698,42 @@ 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
+
701
737
  sig do
702
738
  override.returns(
703
739
  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::XaiVoiceSettings
181
+ Telnyx::Calls::ActionSpeakParams::VoiceSettings::Xai
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::XaiVoiceSettings::OrHash
200
+ Telnyx::Calls::ActionSpeakParams::VoiceSettings::Xai::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::XaiVoiceSettings::OrHash
231
+ Telnyx::Calls::ActionSpeakParams::VoiceSettings::Xai::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::XaiVoiceSettings
343
+ Telnyx::Calls::ActionSpeakParams::VoiceSettings::Xai
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::XaiVoiceSettings
636
+ Telnyx::Calls::ActionSpeakParams::VoiceSettings::Xai
637
637
  )
638
638
  end
639
639
 
@@ -662,6 +662,42 @@ 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
+
665
701
  sig do
666
702
  override.returns(
667
703
  T::Array[
@@ -181,7 +181,7 @@ module Telnyx
181
181
  Telnyx::AzureVoiceSettings,
182
182
  Telnyx::RimeVoiceSettings,
183
183
  Telnyx::ResembleVoiceSettings,
184
- Telnyx::XaiVoiceSettings
184
+ Telnyx::Calls::ActionStartAIAssistantParams::VoiceSettings::Xai
185
185
  )
186
186
  )
187
187
  )
@@ -198,7 +198,7 @@ module Telnyx
198
198
  Telnyx::AzureVoiceSettings::OrHash,
199
199
  Telnyx::RimeVoiceSettings::OrHash,
200
200
  Telnyx::ResembleVoiceSettings::OrHash,
201
- Telnyx::XaiVoiceSettings::OrHash
201
+ Telnyx::Calls::ActionStartAIAssistantParams::VoiceSettings::Xai::OrHash
202
202
  )
203
203
  ).void
204
204
  end
@@ -237,7 +237,7 @@ module Telnyx
237
237
  Telnyx::AzureVoiceSettings::OrHash,
238
238
  Telnyx::RimeVoiceSettings::OrHash,
239
239
  Telnyx::ResembleVoiceSettings::OrHash,
240
- Telnyx::XaiVoiceSettings::OrHash
240
+ Telnyx::Calls::ActionStartAIAssistantParams::VoiceSettings::Xai::OrHash
241
241
  ),
242
242
  request_options: Telnyx::RequestOptions::OrHash
243
243
  ).returns(T.attached_class)
@@ -340,7 +340,7 @@ module Telnyx
340
340
  Telnyx::AzureVoiceSettings,
341
341
  Telnyx::RimeVoiceSettings,
342
342
  Telnyx::ResembleVoiceSettings,
343
- Telnyx::XaiVoiceSettings
343
+ Telnyx::Calls::ActionStartAIAssistantParams::VoiceSettings::Xai
344
344
  ),
345
345
  request_options: Telnyx::RequestOptions
346
346
  }
@@ -984,10 +984,46 @@ module Telnyx
984
984
  Telnyx::AzureVoiceSettings,
985
985
  Telnyx::RimeVoiceSettings,
986
986
  Telnyx::ResembleVoiceSettings,
987
- Telnyx::XaiVoiceSettings
987
+ Telnyx::Calls::ActionStartAIAssistantParams::VoiceSettings::Xai
988
988
  )
989
989
  end
990
990
 
991
+ class Xai < Telnyx::Internal::Type::BaseModel
992
+ OrHash =
993
+ T.type_alias do
994
+ T.any(
995
+ Telnyx::Calls::ActionStartAIAssistantParams::VoiceSettings::Xai,
996
+ Telnyx::Internal::AnyHash
997
+ )
998
+ end
999
+
1000
+ # Voice settings provider type
1001
+ sig { returns(Symbol) }
1002
+ attr_accessor :type
1003
+
1004
+ # Language code, or `auto` to detect automatically.
1005
+ sig { returns(T.nilable(String)) }
1006
+ attr_reader :language
1007
+
1008
+ sig { params(language: String).void }
1009
+ attr_writer :language
1010
+
1011
+ sig do
1012
+ params(language: String, type: Symbol).returns(T.attached_class)
1013
+ end
1014
+ def self.new(
1015
+ # Language code, or `auto` to detect automatically.
1016
+ language: nil,
1017
+ # Voice settings provider type
1018
+ type: :xai
1019
+ )
1020
+ end
1021
+
1022
+ sig { override.returns({ type: Symbol, language: String }) }
1023
+ def to_hash
1024
+ end
1025
+ end
1026
+
991
1027
  sig do
992
1028
  override.returns(
993
1029
  T::Array[