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
@@ -12,7 +12,9 @@ module Telnyx
12
12
  )
13
13
  end
14
14
 
15
- sig { returns(T::Array[Telnyx::ModelMetadata]) }
15
+ sig do
16
+ returns(T::Array[Telnyx::Models::AI::OpenAIListModelsResponse::Data])
17
+ end
16
18
  attr_accessor :data
17
19
 
18
20
  sig { returns(T.nilable(String)) }
@@ -23,7 +25,10 @@ module Telnyx
23
25
 
24
26
  sig do
25
27
  params(
26
- data: T::Array[Telnyx::ModelMetadata::OrHash],
28
+ data:
29
+ T::Array[
30
+ Telnyx::Models::AI::OpenAIListModelsResponse::Data::OrHash
31
+ ],
27
32
  object: String
28
33
  ).returns(T.attached_class)
29
34
  end
@@ -32,11 +37,318 @@ module Telnyx
32
37
 
33
38
  sig do
34
39
  override.returns(
35
- { data: T::Array[Telnyx::ModelMetadata], object: String }
40
+ {
41
+ data:
42
+ T::Array[Telnyx::Models::AI::OpenAIListModelsResponse::Data],
43
+ object: String
44
+ }
36
45
  )
37
46
  end
38
47
  def to_hash
39
48
  end
49
+
50
+ class Data < Telnyx::Internal::Type::BaseModel
51
+ OrHash =
52
+ T.type_alias do
53
+ T.any(
54
+ Telnyx::Models::AI::OpenAIListModelsResponse::Data,
55
+ Telnyx::Internal::AnyHash
56
+ )
57
+ end
58
+
59
+ # Model identifier. For open-source models, follows the
60
+ # `{organization}/{model_name}` convention from Hugging Face (e.g.
61
+ # `moonshotai/Kimi-K2.6`).
62
+ sig { returns(String) }
63
+ attr_accessor :id
64
+
65
+ # Maximum total tokens (prompt + completion) supported by the model in a single
66
+ # request.
67
+ sig { returns(Integer) }
68
+ attr_accessor :context_length
69
+
70
+ # Timestamp at which the model was registered on Telnyx Inference (ISO 8601).
71
+ sig { returns(Time) }
72
+ attr_accessor :created
73
+
74
+ # ISO language codes the model supports (e.g. `en`, `es`).
75
+ sig { returns(T::Array[String]) }
76
+ attr_accessor :languages
77
+
78
+ # License the model is distributed under, e.g. `Apache 2.0`, `MIT`,
79
+ # `Llama 3 Community License`.
80
+ sig { returns(String) }
81
+ attr_accessor :license
82
+
83
+ # Organization that originally published the model, matching the prefix of `id`
84
+ # for open-source models.
85
+ sig { returns(String) }
86
+ attr_accessor :organization
87
+
88
+ # Owner of the model. `Telnyx` for Telnyx-hosted open-source models, the upstream
89
+ # provider name for proxied models, or the Telnyx organization id for fine-tuned
90
+ # models.
91
+ sig { returns(String) }
92
+ attr_accessor :owned_by
93
+
94
+ # Total parameter count of the model.
95
+ sig { returns(Integer) }
96
+ attr_accessor :parameters
97
+
98
+ # Billing tier the model belongs to. Used together with `pricing` to determine
99
+ # cost per 1M tokens.
100
+ sig do
101
+ returns(
102
+ Telnyx::Models::AI::OpenAIListModelsResponse::Data::Tier::TaggedSymbol
103
+ )
104
+ end
105
+ attr_accessor :tier
106
+
107
+ # Base model the fine-tuned model was trained from. Only set for fine-tuned
108
+ # models.
109
+ sig { returns(T.nilable(String)) }
110
+ attr_accessor :base_model
111
+
112
+ # Short, human-readable summary of what the model is best suited for.
113
+ sig { returns(T.nilable(String)) }
114
+ attr_accessor :description
115
+
116
+ # Whether the model can be used as a base for a fine-tuning job via
117
+ # `POST /v2/ai/fine_tuning/jobs`.
118
+ sig { returns(T.nilable(T::Boolean)) }
119
+ attr_reader :is_fine_tunable
120
+
121
+ sig { params(is_fine_tunable: T::Boolean).void }
122
+ attr_writer :is_fine_tunable
123
+
124
+ # Whether the model accepts image inputs in chat completions (multimodal vision
125
+ # support).
126
+ sig { returns(T.nilable(T::Boolean)) }
127
+ attr_reader :is_vision_supported
128
+
129
+ sig { params(is_vision_supported: T::Boolean).void }
130
+ attr_writer :is_vision_supported
131
+
132
+ # Maximum number of completion (output) tokens the model will generate per
133
+ # request. `null` if unconstrained beyond `context_length`.
134
+ sig { returns(T.nilable(Integer)) }
135
+ attr_accessor :max_completion_tokens
136
+
137
+ # Object type. Always `model`.
138
+ sig { returns(T.nilable(String)) }
139
+ attr_reader :object
140
+
141
+ sig { params(object: String).void }
142
+ attr_writer :object
143
+
144
+ # Human-readable parameter count, e.g. `1.0T`, `753.9B`, `8B`.
145
+ sig { returns(T.nilable(String)) }
146
+ attr_accessor :parameters_str
147
+
148
+ # Mapping of token kind to price, as strings to preserve precision. Typical keys
149
+ # are `prompt`, `cached_prompt`, and `completion`. When pricing is available the
150
+ # block also includes `currency` (ISO 4217 code matching the account's configured
151
+ # billing currency) and `unit` (the denomination the prices are quoted in,
152
+ # currently always `1M_tokens` for token-priced models).
153
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
154
+ attr_reader :pricing
155
+
156
+ sig { params(pricing: T::Hash[Symbol, String]).void }
157
+ attr_writer :pricing
158
+
159
+ # Whether Telnyx currently recommends this model as the LLM powering a Telnyx AI
160
+ # Assistant.
161
+ sig { returns(T.nilable(T::Boolean)) }
162
+ attr_reader :recommended_for_assistants
163
+
164
+ sig { params(recommended_for_assistants: T::Boolean).void }
165
+ attr_writer :recommended_for_assistants
166
+
167
+ # Public region names where the model is currently deployed (e.g. `us-central-1`,
168
+ # `eu-central-1`).
169
+ sig { returns(T.nilable(T::Array[String])) }
170
+ attr_reader :regions
171
+
172
+ sig { params(regions: T::Array[String]).void }
173
+ attr_writer :regions
174
+
175
+ # Primary task the model is intended for, e.g. `text-generation`,
176
+ # `audio-text-to-text`, `feature-extraction` (embeddings).
177
+ sig { returns(T.nilable(String)) }
178
+ attr_reader :task
179
+
180
+ sig { params(task: String).void }
181
+ attr_writer :task
182
+
183
+ # Metadata for a model available on Telnyx Inference. Returned by
184
+ # `GET /v2/ai/openai/models` (and the deprecated `GET /v2/ai/models`). Open-source
185
+ # models live under their Hugging Face organization (e.g. `moonshotai/Kimi-K2.6`,
186
+ # `zai-org/GLM-5.1-FP8`, `MiniMaxAI/MiniMax-M2.7`); fine-tuned models are owned by
187
+ # the Telnyx organization that trained them.
188
+ sig do
189
+ params(
190
+ id: String,
191
+ context_length: Integer,
192
+ created: Time,
193
+ languages: T::Array[String],
194
+ license: String,
195
+ organization: String,
196
+ owned_by: String,
197
+ parameters: Integer,
198
+ tier:
199
+ Telnyx::Models::AI::OpenAIListModelsResponse::Data::Tier::OrSymbol,
200
+ base_model: T.nilable(String),
201
+ description: T.nilable(String),
202
+ is_fine_tunable: T::Boolean,
203
+ is_vision_supported: T::Boolean,
204
+ max_completion_tokens: T.nilable(Integer),
205
+ object: String,
206
+ parameters_str: T.nilable(String),
207
+ pricing: T::Hash[Symbol, String],
208
+ recommended_for_assistants: T::Boolean,
209
+ regions: T::Array[String],
210
+ task: String
211
+ ).returns(T.attached_class)
212
+ end
213
+ def self.new(
214
+ # Model identifier. For open-source models, follows the
215
+ # `{organization}/{model_name}` convention from Hugging Face (e.g.
216
+ # `moonshotai/Kimi-K2.6`).
217
+ id:,
218
+ # Maximum total tokens (prompt + completion) supported by the model in a single
219
+ # request.
220
+ context_length:,
221
+ # Timestamp at which the model was registered on Telnyx Inference (ISO 8601).
222
+ created:,
223
+ # ISO language codes the model supports (e.g. `en`, `es`).
224
+ languages:,
225
+ # License the model is distributed under, e.g. `Apache 2.0`, `MIT`,
226
+ # `Llama 3 Community License`.
227
+ license:,
228
+ # Organization that originally published the model, matching the prefix of `id`
229
+ # for open-source models.
230
+ organization:,
231
+ # Owner of the model. `Telnyx` for Telnyx-hosted open-source models, the upstream
232
+ # provider name for proxied models, or the Telnyx organization id for fine-tuned
233
+ # models.
234
+ owned_by:,
235
+ # Total parameter count of the model.
236
+ parameters:,
237
+ # Billing tier the model belongs to. Used together with `pricing` to determine
238
+ # cost per 1M tokens.
239
+ tier:,
240
+ # Base model the fine-tuned model was trained from. Only set for fine-tuned
241
+ # models.
242
+ base_model: nil,
243
+ # Short, human-readable summary of what the model is best suited for.
244
+ description: nil,
245
+ # Whether the model can be used as a base for a fine-tuning job via
246
+ # `POST /v2/ai/fine_tuning/jobs`.
247
+ is_fine_tunable: nil,
248
+ # Whether the model accepts image inputs in chat completions (multimodal vision
249
+ # support).
250
+ is_vision_supported: nil,
251
+ # Maximum number of completion (output) tokens the model will generate per
252
+ # request. `null` if unconstrained beyond `context_length`.
253
+ max_completion_tokens: nil,
254
+ # Object type. Always `model`.
255
+ object: nil,
256
+ # Human-readable parameter count, e.g. `1.0T`, `753.9B`, `8B`.
257
+ parameters_str: nil,
258
+ # Mapping of token kind to price, as strings to preserve precision. Typical keys
259
+ # are `prompt`, `cached_prompt`, and `completion`. When pricing is available the
260
+ # block also includes `currency` (ISO 4217 code matching the account's configured
261
+ # billing currency) and `unit` (the denomination the prices are quoted in,
262
+ # currently always `1M_tokens` for token-priced models).
263
+ pricing: nil,
264
+ # Whether Telnyx currently recommends this model as the LLM powering a Telnyx AI
265
+ # Assistant.
266
+ recommended_for_assistants: nil,
267
+ # Public region names where the model is currently deployed (e.g. `us-central-1`,
268
+ # `eu-central-1`).
269
+ regions: nil,
270
+ # Primary task the model is intended for, e.g. `text-generation`,
271
+ # `audio-text-to-text`, `feature-extraction` (embeddings).
272
+ task: nil
273
+ )
274
+ end
275
+
276
+ sig do
277
+ override.returns(
278
+ {
279
+ id: String,
280
+ context_length: Integer,
281
+ created: Time,
282
+ languages: T::Array[String],
283
+ license: String,
284
+ organization: String,
285
+ owned_by: String,
286
+ parameters: Integer,
287
+ tier:
288
+ Telnyx::Models::AI::OpenAIListModelsResponse::Data::Tier::TaggedSymbol,
289
+ base_model: T.nilable(String),
290
+ description: T.nilable(String),
291
+ is_fine_tunable: T::Boolean,
292
+ is_vision_supported: T::Boolean,
293
+ max_completion_tokens: T.nilable(Integer),
294
+ object: String,
295
+ parameters_str: T.nilable(String),
296
+ pricing: T::Hash[Symbol, String],
297
+ recommended_for_assistants: T::Boolean,
298
+ regions: T::Array[String],
299
+ task: String
300
+ }
301
+ )
302
+ end
303
+ def to_hash
304
+ end
305
+
306
+ # Billing tier the model belongs to. Used together with `pricing` to determine
307
+ # cost per 1M tokens.
308
+ module Tier
309
+ extend Telnyx::Internal::Type::Enum
310
+
311
+ TaggedSymbol =
312
+ T.type_alias do
313
+ T.all(
314
+ Symbol,
315
+ Telnyx::Models::AI::OpenAIListModelsResponse::Data::Tier
316
+ )
317
+ end
318
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
319
+
320
+ SMALL =
321
+ T.let(
322
+ :small,
323
+ Telnyx::Models::AI::OpenAIListModelsResponse::Data::Tier::TaggedSymbol
324
+ )
325
+ MEDIUM =
326
+ T.let(
327
+ :medium,
328
+ Telnyx::Models::AI::OpenAIListModelsResponse::Data::Tier::TaggedSymbol
329
+ )
330
+ LARGE =
331
+ T.let(
332
+ :large,
333
+ Telnyx::Models::AI::OpenAIListModelsResponse::Data::Tier::TaggedSymbol
334
+ )
335
+ UNLISTED =
336
+ T.let(
337
+ :unlisted,
338
+ Telnyx::Models::AI::OpenAIListModelsResponse::Data::Tier::TaggedSymbol
339
+ )
340
+
341
+ sig do
342
+ override.returns(
343
+ T::Array[
344
+ Telnyx::Models::AI::OpenAIListModelsResponse::Data::Tier::TaggedSymbol
345
+ ]
346
+ )
347
+ end
348
+ def self.values
349
+ end
350
+ end
351
+ end
40
352
  end
41
353
  end
42
354
  end
@@ -99,17 +99,17 @@ module Telnyx
99
99
  T.type_alias do
100
100
  T.any(
101
101
  T::Array[
102
- Telnyx::AI::TransferTool::Transfer::Targets::TargetsList
102
+ Telnyx::AI::TransferTool::Transfer::Targets::UnionMember0
103
103
  ],
104
104
  String
105
105
  )
106
106
  end
107
107
 
108
- class TargetsList < Telnyx::Internal::Type::BaseModel
108
+ class UnionMember0 < Telnyx::Internal::Type::BaseModel
109
109
  OrHash =
110
110
  T.type_alias do
111
111
  T.any(
112
- Telnyx::AI::TransferTool::Transfer::Targets::TargetsList,
112
+ Telnyx::AI::TransferTool::Transfer::Targets::UnionMember0,
113
113
  Telnyx::Internal::AnyHash
114
114
  )
115
115
  end
@@ -147,10 +147,10 @@ module Telnyx
147
147
  def self.variants
148
148
  end
149
149
 
150
- TargetsListArray =
150
+ UnionMember0Array =
151
151
  T.let(
152
152
  Telnyx::Internal::Type::ArrayOf[
153
- Telnyx::AI::TransferTool::Transfer::Targets::TargetsList
153
+ Telnyx::AI::TransferTool::Transfer::Targets::UnionMember0
154
154
  ],
155
155
  Telnyx::Internal::Type::Converter
156
156
  )