telnyx 5.103.0 → 5.103.1

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 (214) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +13 -0
  3. data/README.md +1 -1
  4. data/lib/telnyx/models/ai/assistant_create_params.rb +9 -170
  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 -170
  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 -171
  17. data/lib/telnyx/models/ai/inference_embedding.rb +9 -169
  18. data/lib/telnyx/models/ai/inference_embedding_interruption_settings.rb +39 -0
  19. data/lib/telnyx/models/ai/openai_list_models_response.rb +3 -31
  20. data/lib/telnyx/models/ai/start_speaking_plan.rb +37 -0
  21. data/lib/telnyx/models/ai/transcription_endpointing_plan.rb +39 -0
  22. data/lib/telnyx/models/ai/transfer_tool.rb +7 -9
  23. data/lib/telnyx/models/ai_retrieve_models_response.rb +3 -31
  24. data/lib/telnyx/models/calls/action_gather_using_ai_params.rb +4 -23
  25. data/lib/telnyx/models/calls/action_gather_using_speak_params.rb +4 -23
  26. data/lib/telnyx/models/calls/action_speak_params.rb +4 -23
  27. data/lib/telnyx/models/calls/action_start_ai_assistant_params.rb +4 -23
  28. data/lib/telnyx/models/calls/transcription_engine_assemblyai_config.rb +64 -0
  29. data/lib/telnyx/models/calls/transcription_engine_xai_config.rb +108 -0
  30. data/lib/telnyx/models/calls/transcription_start_request.rb +5 -167
  31. data/lib/telnyx/models/conferences/action_speak_params.rb +4 -23
  32. data/lib/telnyx/models/model_metadata.rb +33 -0
  33. data/lib/telnyx/models/network_list_interfaces_response.rb +112 -2
  34. data/lib/telnyx/models/public_internet_gateway_create_response.rb +3 -8
  35. data/lib/telnyx/models/public_internet_gateway_delete_response.rb +3 -8
  36. data/lib/telnyx/models/public_internet_gateway_read.rb +83 -0
  37. data/lib/telnyx/models/public_internet_gateway_retrieve_response.rb +3 -8
  38. data/lib/telnyx/models/text_to_speech_generate_params.rb +6 -6
  39. data/lib/telnyx/models/uac_connection.rb +412 -0
  40. data/lib/telnyx/models/uac_connection_create_params.rb +9 -255
  41. data/lib/telnyx/models/uac_connection_create_response.rb +3 -878
  42. data/lib/telnyx/models/uac_connection_delete_response.rb +3 -878
  43. data/lib/telnyx/models/uac_connection_retrieve_response.rb +3 -879
  44. data/lib/telnyx/models/uac_connection_update_params.rb +9 -255
  45. data/lib/telnyx/models/uac_connection_update_response.rb +3 -878
  46. data/lib/telnyx/models/uac_external_settings.rb +101 -0
  47. data/lib/telnyx/models/uac_inbound.rb +210 -0
  48. data/lib/telnyx/models/uac_internal_settings.rb +25 -0
  49. data/lib/telnyx/models/uac_outbound.rb +131 -0
  50. data/lib/telnyx/models/virtual_cross_connect_combined.rb +212 -0
  51. data/lib/telnyx/models/virtual_cross_connect_create_response.rb +3 -8
  52. data/lib/telnyx/models/virtual_cross_connect_delete_response.rb +3 -8
  53. data/lib/telnyx/models/virtual_cross_connect_retrieve_response.rb +3 -8
  54. data/lib/telnyx/models/virtual_cross_connect_update_response.rb +3 -8
  55. data/lib/telnyx/models/wireguard_interface_create_response.rb +3 -8
  56. data/lib/telnyx/models/wireguard_interface_delete_response.rb +3 -8
  57. data/lib/telnyx/models/wireguard_interface_read.rb +136 -0
  58. data/lib/telnyx/models/wireguard_interface_retrieve_response.rb +3 -8
  59. data/lib/telnyx/models/xai_voice_settings.rb +36 -0
  60. data/lib/telnyx/models.rb +20 -0
  61. data/lib/telnyx/resources/ai/assistants/canary_deploys.rb +2 -2
  62. data/lib/telnyx/resources/ai/assistants/versions.rb +3 -3
  63. data/lib/telnyx/resources/ai/assistants.rb +6 -6
  64. data/lib/telnyx/resources/calls/actions.rb +5 -5
  65. data/lib/telnyx/resources/conferences/actions.rb +1 -1
  66. data/lib/telnyx/resources/public_internet_gateways.rb +2 -2
  67. data/lib/telnyx/resources/uac_connections.rb +8 -8
  68. data/lib/telnyx/resources/virtual_cross_connects.rb +2 -2
  69. data/lib/telnyx/resources/wireguard_interfaces.rb +2 -2
  70. data/lib/telnyx/version.rb +1 -1
  71. data/lib/telnyx.rb +22 -4
  72. data/rbi/telnyx/models/ai/assistant_create_params.rbi +12 -341
  73. data/rbi/telnyx/models/ai/assistant_integration.rbi +60 -0
  74. data/rbi/telnyx/models/ai/assistant_mcp_server.rbi +51 -0
  75. data/rbi/telnyx/models/ai/assistant_tool.rbi +10 -10
  76. data/rbi/telnyx/models/ai/assistant_update_params.rbi +12 -341
  77. data/rbi/telnyx/models/ai/assistants/canary_deploy.rbi +4 -290
  78. data/rbi/telnyx/models/ai/assistants/canary_deploy_response.rbi +3 -301
  79. data/rbi/telnyx/models/ai/assistants/clause.rbi +91 -0
  80. data/rbi/telnyx/models/ai/assistants/rollout_slot.rbi +36 -0
  81. data/rbi/telnyx/models/ai/assistants/rule_input.rbi +73 -0
  82. data/rbi/telnyx/models/ai/assistants/rule_output.rbi +73 -0
  83. data/rbi/telnyx/models/ai/assistants/serve.rbi +61 -0
  84. data/rbi/telnyx/models/ai/assistants/update_assistant.rbi +12 -355
  85. data/rbi/telnyx/models/ai/inference_embedding.rbi +12 -340
  86. data/rbi/telnyx/models/ai/inference_embedding_interruption_settings.rbi +72 -0
  87. data/rbi/telnyx/models/ai/openai_list_models_response.rbi +3 -56
  88. data/rbi/telnyx/models/ai/start_speaking_plan.rbi +70 -0
  89. data/rbi/telnyx/models/ai/transcription_endpointing_plan.rbi +71 -0
  90. data/rbi/telnyx/models/ai/transfer_tool.rbi +5 -5
  91. data/rbi/telnyx/models/ai_retrieve_models_response.rbi +3 -51
  92. data/rbi/telnyx/models/calls/action_gather_using_ai_params.rbi +5 -41
  93. data/rbi/telnyx/models/calls/action_gather_using_speak_params.rbi +5 -41
  94. data/rbi/telnyx/models/calls/action_speak_params.rbi +5 -41
  95. data/rbi/telnyx/models/calls/action_start_ai_assistant_params.rbi +5 -41
  96. data/rbi/telnyx/models/calls/transcription_engine_assemblyai_config.rbi +155 -0
  97. data/rbi/telnyx/models/calls/transcription_engine_xai_config.rbi +329 -0
  98. data/rbi/telnyx/models/calls/transcription_start_request.rbi +10 -480
  99. data/rbi/telnyx/models/conferences/action_speak_params.rbi +5 -41
  100. data/rbi/telnyx/models/model_metadata.rbi +44 -0
  101. data/rbi/telnyx/models/network_list_interfaces_response.rbi +181 -4
  102. data/rbi/telnyx/models/public_internet_gateway_create_response.rbi +6 -38
  103. data/rbi/telnyx/models/public_internet_gateway_delete_response.rbi +6 -38
  104. data/rbi/telnyx/models/public_internet_gateway_read.rbi +128 -0
  105. data/rbi/telnyx/models/public_internet_gateway_retrieve_response.rbi +6 -38
  106. data/rbi/telnyx/models/text_to_speech_generate_params.rbi +6 -6
  107. data/rbi/telnyx/models/uac_connection.rbi +684 -0
  108. data/rbi/telnyx/models/uac_connection_create_params.rbi +12 -516
  109. data/rbi/telnyx/models/uac_connection_create_response.rbi +4 -1756
  110. data/rbi/telnyx/models/uac_connection_delete_response.rbi +4 -1756
  111. data/rbi/telnyx/models/uac_connection_retrieve_response.rbi +4 -1756
  112. data/rbi/telnyx/models/uac_connection_update_params.rbi +12 -516
  113. data/rbi/telnyx/models/uac_connection_update_response.rbi +4 -1756
  114. data/rbi/telnyx/models/uac_external_settings.rbi +146 -0
  115. data/rbi/telnyx/models/uac_inbound.rbi +410 -0
  116. data/rbi/telnyx/models/uac_internal_settings.rbi +39 -0
  117. data/rbi/telnyx/models/uac_outbound.rbi +224 -0
  118. data/rbi/telnyx/models/virtual_cross_connect_combined.rbi +345 -0
  119. data/rbi/telnyx/models/virtual_cross_connect_create_response.rbi +6 -36
  120. data/rbi/telnyx/models/virtual_cross_connect_delete_response.rbi +6 -36
  121. data/rbi/telnyx/models/virtual_cross_connect_retrieve_response.rbi +6 -38
  122. data/rbi/telnyx/models/virtual_cross_connect_update_response.rbi +6 -36
  123. data/rbi/telnyx/models/wireguard_interface_create_response.rbi +6 -36
  124. data/rbi/telnyx/models/wireguard_interface_delete_response.rbi +6 -36
  125. data/rbi/telnyx/models/wireguard_interface_read.rbi +213 -0
  126. data/rbi/telnyx/models/wireguard_interface_retrieve_response.rbi +6 -36
  127. data/rbi/telnyx/models/xai_voice_settings.rbi +64 -0
  128. data/rbi/telnyx/models.rbi +20 -0
  129. data/rbi/telnyx/resources/ai/assistants/canary_deploys.rbi +2 -4
  130. data/rbi/telnyx/resources/ai/assistants/versions.rbi +3 -9
  131. data/rbi/telnyx/resources/ai/assistants.rbi +6 -10
  132. data/rbi/telnyx/resources/calls/actions.rbi +6 -6
  133. data/rbi/telnyx/resources/conferences/actions.rbi +1 -1
  134. data/rbi/telnyx/resources/public_internet_gateways.rbi +1 -1
  135. data/rbi/telnyx/resources/uac_connections.rbi +7 -13
  136. data/rbi/telnyx/resources/virtual_cross_connects.rbi +1 -1
  137. data/rbi/telnyx/resources/wireguard_interfaces.rbi +1 -1
  138. data/sig/telnyx/models/ai/assistant_create_params.rbs +18 -142
  139. data/sig/telnyx/models/ai/assistant_integration.rbs +26 -0
  140. data/sig/telnyx/models/ai/assistant_mcp_server.rbs +19 -0
  141. data/sig/telnyx/models/ai/assistant_tool.rbs +8 -8
  142. data/sig/telnyx/models/ai/assistant_update_params.rbs +18 -142
  143. data/sig/telnyx/models/ai/assistants/canary_deploy.rbs +6 -113
  144. data/sig/telnyx/models/ai/assistants/canary_deploy_response.rbs +4 -109
  145. data/sig/telnyx/models/ai/assistants/clause.rbs +46 -0
  146. data/sig/telnyx/models/ai/assistants/rollout_slot.rbs +19 -0
  147. data/sig/telnyx/models/ai/assistants/rule_input.rbs +33 -0
  148. data/sig/telnyx/models/ai/assistants/rule_output.rbs +33 -0
  149. data/sig/telnyx/models/ai/assistants/serve.rbs +35 -0
  150. data/sig/telnyx/models/ai/assistants/update_assistant.rbs +18 -145
  151. data/sig/telnyx/models/ai/inference_embedding.rbs +18 -142
  152. data/sig/telnyx/models/ai/inference_embedding_interruption_settings.rbs +30 -0
  153. data/sig/telnyx/models/ai/openai_list_models_response.rbs +4 -39
  154. data/sig/telnyx/models/ai/start_speaking_plan.rbs +33 -0
  155. data/sig/telnyx/models/ai/transcription_endpointing_plan.rbs +38 -0
  156. data/sig/telnyx/models/ai/transfer_tool.rbs +4 -4
  157. data/sig/telnyx/models/ai_retrieve_models_response.rbs +4 -39
  158. data/sig/telnyx/models/calls/action_gather_using_ai_params.rbs +1 -15
  159. data/sig/telnyx/models/calls/action_gather_using_speak_params.rbs +1 -15
  160. data/sig/telnyx/models/calls/action_speak_params.rbs +1 -15
  161. data/sig/telnyx/models/calls/action_start_ai_assistant_params.rbs +1 -15
  162. data/sig/telnyx/models/calls/transcription_engine_assemblyai_config.rbs +62 -0
  163. data/sig/telnyx/models/calls/transcription_engine_xai_config.rbs +130 -0
  164. data/sig/telnyx/models/calls/transcription_start_request.rbs +2 -184
  165. data/sig/telnyx/models/conferences/action_speak_params.rbs +1 -15
  166. data/sig/telnyx/models/model_metadata.rbs +32 -0
  167. data/sig/telnyx/models/network_list_interfaces_response.rbs +106 -4
  168. data/sig/telnyx/models/public_internet_gateway_create_response.rbs +6 -18
  169. data/sig/telnyx/models/public_internet_gateway_delete_response.rbs +6 -18
  170. data/sig/telnyx/models/public_internet_gateway_read.rbs +80 -0
  171. data/sig/telnyx/models/public_internet_gateway_retrieve_response.rbs +6 -18
  172. data/sig/telnyx/models/text_to_speech_generate_params.rbs +6 -6
  173. data/sig/telnyx/models/uac_connection.rbs +338 -0
  174. data/sig/telnyx/models/uac_connection_create_params.rbs +17 -211
  175. data/sig/telnyx/models/uac_connection_create_response.rbs +5 -731
  176. data/sig/telnyx/models/uac_connection_delete_response.rbs +5 -731
  177. data/sig/telnyx/models/uac_connection_retrieve_response.rbs +5 -731
  178. data/sig/telnyx/models/uac_connection_update_params.rbs +17 -211
  179. data/sig/telnyx/models/uac_connection_update_response.rbs +5 -731
  180. data/sig/telnyx/models/uac_external_settings.rbs +73 -0
  181. data/sig/telnyx/models/uac_inbound.rbs +190 -0
  182. data/sig/telnyx/models/uac_internal_settings.rbs +15 -0
  183. data/sig/telnyx/models/uac_outbound.rbs +113 -0
  184. data/sig/telnyx/models/virtual_cross_connect_combined.rbs +190 -0
  185. data/sig/telnyx/models/virtual_cross_connect_create_response.rbs +6 -18
  186. data/sig/telnyx/models/virtual_cross_connect_delete_response.rbs +6 -18
  187. data/sig/telnyx/models/virtual_cross_connect_retrieve_response.rbs +6 -18
  188. data/sig/telnyx/models/virtual_cross_connect_update_response.rbs +6 -18
  189. data/sig/telnyx/models/wireguard_interface_create_response.rbs +6 -18
  190. data/sig/telnyx/models/wireguard_interface_delete_response.rbs +6 -18
  191. data/sig/telnyx/models/wireguard_interface_read.rbs +127 -0
  192. data/sig/telnyx/models/wireguard_interface_retrieve_response.rbs +6 -18
  193. data/sig/telnyx/models/xai_voice_settings.rbs +34 -0
  194. data/sig/telnyx/models.rbs +20 -0
  195. data/sig/telnyx/resources/ai/assistants/canary_deploys.rbs +2 -2
  196. data/sig/telnyx/resources/ai/assistants/versions.rbs +3 -3
  197. data/sig/telnyx/resources/ai/assistants.rbs +6 -6
  198. data/sig/telnyx/resources/public_internet_gateways.rbs +1 -1
  199. data/sig/telnyx/resources/uac_connections.rbs +7 -7
  200. data/sig/telnyx/resources/virtual_cross_connects.rbs +1 -1
  201. data/sig/telnyx/resources/wireguard_interfaces.rbs +1 -1
  202. metadata +67 -13
  203. data/lib/telnyx/models/public_internet_gateway_list_response.rb +0 -10
  204. data/lib/telnyx/models/uac_connection_list_response.rb +0 -876
  205. data/lib/telnyx/models/virtual_cross_connect_list_response.rb +0 -10
  206. data/lib/telnyx/models/wireguard_interface_list_response.rb +0 -10
  207. data/rbi/telnyx/models/public_internet_gateway_list_response.rbi +0 -23
  208. data/rbi/telnyx/models/uac_connection_list_response.rbi +0 -1727
  209. data/rbi/telnyx/models/virtual_cross_connect_list_response.rbi +0 -23
  210. data/rbi/telnyx/models/wireguard_interface_list_response.rbi +0 -23
  211. data/sig/telnyx/models/public_internet_gateway_list_response.rbs +0 -11
  212. data/sig/telnyx/models/uac_connection_list_response.rbs +0 -722
  213. data/sig/telnyx/models/virtual_cross_connect_list_response.rbs +0 -11
  214. data/sig/telnyx/models/wireguard_interface_list_response.rbs +0 -11
@@ -124,17 +124,12 @@ module Telnyx
124
124
  # integrations is at `/ai/integrations`; the user's connected integrations are at
125
125
  # `/ai/integrations/connections`. Each item references a catalog integration by
126
126
  # `integration_id`.
127
- sig do
128
- returns(
129
- T.nilable(T::Array[Telnyx::AI::InferenceEmbedding::Integration])
130
- )
131
- end
127
+ sig { returns(T.nilable(T::Array[Telnyx::AI::AssistantIntegration])) }
132
128
  attr_reader :integrations
133
129
 
134
130
  sig do
135
131
  params(
136
- integrations:
137
- T::Array[Telnyx::AI::InferenceEmbedding::Integration::OrHash]
132
+ integrations: T::Array[Telnyx::AI::AssistantIntegration::OrHash]
138
133
  ).void
139
134
  end
140
135
  attr_writer :integrations
@@ -146,16 +141,14 @@ module Telnyx
146
141
  # `transcription.settings` (`eot_threshold`, `eot_timeout_ms`,
147
142
  # `eager_eot_threshold`).
148
143
  sig do
149
- returns(
150
- T.nilable(Telnyx::AI::InferenceEmbedding::InterruptionSettings)
151
- )
144
+ returns(T.nilable(Telnyx::AI::InferenceEmbeddingInterruptionSettings))
152
145
  end
153
146
  attr_reader :interruption_settings
154
147
 
155
148
  sig do
156
149
  params(
157
150
  interruption_settings:
158
- Telnyx::AI::InferenceEmbedding::InterruptionSettings::OrHash
151
+ Telnyx::AI::InferenceEmbeddingInterruptionSettings::OrHash
159
152
  ).void
160
153
  end
161
154
  attr_writer :interruption_settings
@@ -174,17 +167,12 @@ module Telnyx
174
167
 
175
168
  # MCP servers attached to the assistant. Create MCP servers with
176
169
  # `/ai/mcp_servers`, then reference them by `id` here.
177
- sig do
178
- returns(
179
- T.nilable(T::Array[Telnyx::AI::InferenceEmbedding::McpServer])
180
- )
181
- end
170
+ sig { returns(T.nilable(T::Array[Telnyx::AI::AssistantMcpServer])) }
182
171
  attr_reader :mcp_servers
183
172
 
184
173
  sig do
185
174
  params(
186
- mcp_servers:
187
- T::Array[Telnyx::AI::InferenceEmbedding::McpServer::OrHash]
175
+ mcp_servers: T::Array[Telnyx::AI::AssistantMcpServer::OrHash]
188
176
  ).void
189
177
  end
190
178
  attr_writer :mcp_servers
@@ -342,13 +330,11 @@ module Telnyx
342
330
  greeting: String,
343
331
  import_metadata: Telnyx::AI::ImportMetadata::OrHash,
344
332
  insight_settings: Telnyx::AI::InsightSettings::OrHash,
345
- integrations:
346
- T::Array[Telnyx::AI::InferenceEmbedding::Integration::OrHash],
333
+ integrations: T::Array[Telnyx::AI::AssistantIntegration::OrHash],
347
334
  interruption_settings:
348
- Telnyx::AI::InferenceEmbedding::InterruptionSettings::OrHash,
335
+ Telnyx::AI::InferenceEmbeddingInterruptionSettings::OrHash,
349
336
  llm_api_key_ref: String,
350
- mcp_servers:
351
- T::Array[Telnyx::AI::InferenceEmbedding::McpServer::OrHash],
337
+ mcp_servers: T::Array[Telnyx::AI::AssistantMcpServer::OrHash],
352
338
  messaging_settings: Telnyx::AI::MessagingSettings::OrHash,
353
339
  observability_settings: Telnyx::AI::Observability::OrHash,
354
340
  post_conversation_settings:
@@ -497,12 +483,11 @@ module Telnyx
497
483
  greeting: String,
498
484
  import_metadata: Telnyx::AI::ImportMetadata,
499
485
  insight_settings: Telnyx::AI::InsightSettings,
500
- integrations:
501
- T::Array[Telnyx::AI::InferenceEmbedding::Integration],
486
+ integrations: T::Array[Telnyx::AI::AssistantIntegration],
502
487
  interruption_settings:
503
- Telnyx::AI::InferenceEmbedding::InterruptionSettings,
488
+ Telnyx::AI::InferenceEmbeddingInterruptionSettings,
504
489
  llm_api_key_ref: String,
505
- mcp_servers: T::Array[Telnyx::AI::InferenceEmbedding::McpServer],
490
+ mcp_servers: T::Array[Telnyx::AI::AssistantMcpServer],
506
491
  messaging_settings: Telnyx::AI::MessagingSettings,
507
492
  observability_settings: Telnyx::AI::Observability,
508
493
  post_conversation_settings: Telnyx::AI::PostConversationSettings,
@@ -522,319 +507,6 @@ module Telnyx
522
507
  end
523
508
  def to_hash
524
509
  end
525
-
526
- class Integration < Telnyx::Internal::Type::BaseModel
527
- OrHash =
528
- T.type_alias do
529
- T.any(
530
- Telnyx::AI::InferenceEmbedding::Integration,
531
- Telnyx::Internal::AnyHash
532
- )
533
- end
534
-
535
- # Catalog integration ID to attach. This is the `id` from the integrations catalog
536
- # at `/ai/integrations` (the same value also appears as `integration_id` on
537
- # entries returned by `/ai/integrations/connections`). It is **not** the
538
- # connection-level `id` from `/ai/integrations/connections`.
539
- sig { returns(String) }
540
- attr_accessor :integration_id
541
-
542
- # Optional per-assistant allowlist of integration tool names. When omitted or
543
- # empty, all tools allowed by the connected integration are available to the
544
- # assistant.
545
- sig { returns(T.nilable(T::Array[String])) }
546
- attr_reader :allowed_list
547
-
548
- sig { params(allowed_list: T::Array[String]).void }
549
- attr_writer :allowed_list
550
-
551
- # Reference to a connected integration attached to an assistant. Discover
552
- # available integrations with `/ai/integrations` and connected integrations with
553
- # `/ai/integrations/connections`.
554
- sig do
555
- params(
556
- integration_id: String,
557
- allowed_list: T::Array[String]
558
- ).returns(T.attached_class)
559
- end
560
- def self.new(
561
- # Catalog integration ID to attach. This is the `id` from the integrations catalog
562
- # at `/ai/integrations` (the same value also appears as `integration_id` on
563
- # entries returned by `/ai/integrations/connections`). It is **not** the
564
- # connection-level `id` from `/ai/integrations/connections`.
565
- integration_id:,
566
- # Optional per-assistant allowlist of integration tool names. When omitted or
567
- # empty, all tools allowed by the connected integration are available to the
568
- # assistant.
569
- allowed_list: nil
570
- )
571
- end
572
-
573
- sig do
574
- override.returns(
575
- { integration_id: String, allowed_list: T::Array[String] }
576
- )
577
- end
578
- def to_hash
579
- end
580
- end
581
-
582
- class InterruptionSettings < Telnyx::Internal::Type::BaseModel
583
- OrHash =
584
- T.type_alias do
585
- T.any(
586
- Telnyx::AI::InferenceEmbedding::InterruptionSettings,
587
- Telnyx::Internal::AnyHash
588
- )
589
- end
590
-
591
- # Whether users can interrupt the assistant while it is speaking.
592
- sig { returns(T.nilable(T::Boolean)) }
593
- attr_reader :enable
594
-
595
- sig { params(enable: T::Boolean).void }
596
- attr_writer :enable
597
-
598
- # Controls when the assistant starts speaking after the user stops. These
599
- # thresholds primarily apply to non turn-taking transcription models. For
600
- # turn-taking models like `deepgram/flux`, end-of-turn detection is driven by the
601
- # transcription end-of-turn settings under `transcription.settings` instead.
602
- sig do
603
- returns(
604
- T.nilable(
605
- Telnyx::AI::InferenceEmbedding::InterruptionSettings::StartSpeakingPlan
606
- )
607
- )
608
- end
609
- attr_reader :start_speaking_plan
610
-
611
- sig do
612
- params(
613
- start_speaking_plan:
614
- Telnyx::AI::InferenceEmbedding::InterruptionSettings::StartSpeakingPlan::OrHash
615
- ).void
616
- end
617
- attr_writer :start_speaking_plan
618
-
619
- # Settings for interruptions and how the assistant decides the user has finished
620
- # speaking. These timings are most relevant when using non turn-taking
621
- # transcription models. For turn-taking models like `deepgram/flux`, end-of-turn
622
- # behavior is controlled by the transcription end-of-turn settings under
623
- # `transcription.settings` (`eot_threshold`, `eot_timeout_ms`,
624
- # `eager_eot_threshold`).
625
- sig do
626
- params(
627
- enable: T::Boolean,
628
- start_speaking_plan:
629
- Telnyx::AI::InferenceEmbedding::InterruptionSettings::StartSpeakingPlan::OrHash
630
- ).returns(T.attached_class)
631
- end
632
- def self.new(
633
- # Whether users can interrupt the assistant while it is speaking.
634
- enable: nil,
635
- # Controls when the assistant starts speaking after the user stops. These
636
- # thresholds primarily apply to non turn-taking transcription models. For
637
- # turn-taking models like `deepgram/flux`, end-of-turn detection is driven by the
638
- # transcription end-of-turn settings under `transcription.settings` instead.
639
- start_speaking_plan: nil
640
- )
641
- end
642
-
643
- sig do
644
- override.returns(
645
- {
646
- enable: T::Boolean,
647
- start_speaking_plan:
648
- Telnyx::AI::InferenceEmbedding::InterruptionSettings::StartSpeakingPlan
649
- }
650
- )
651
- end
652
- def to_hash
653
- end
654
-
655
- class StartSpeakingPlan < Telnyx::Internal::Type::BaseModel
656
- OrHash =
657
- T.type_alias do
658
- T.any(
659
- Telnyx::AI::InferenceEmbedding::InterruptionSettings::StartSpeakingPlan,
660
- Telnyx::Internal::AnyHash
661
- )
662
- end
663
-
664
- # Endpointing thresholds used to decide when the user has finished speaking.
665
- # Applies to non turn-taking transcription models. For `deepgram/flux`, use
666
- # `transcription.settings.eot_threshold` / `eot_timeout_ms` /
667
- # `eager_eot_threshold`.
668
- sig do
669
- returns(
670
- T.nilable(
671
- Telnyx::AI::InferenceEmbedding::InterruptionSettings::StartSpeakingPlan::TranscriptionEndpointingPlan
672
- )
673
- )
674
- end
675
- attr_reader :transcription_endpointing_plan
676
-
677
- sig do
678
- params(
679
- transcription_endpointing_plan:
680
- Telnyx::AI::InferenceEmbedding::InterruptionSettings::StartSpeakingPlan::TranscriptionEndpointingPlan::OrHash
681
- ).void
682
- end
683
- attr_writer :transcription_endpointing_plan
684
-
685
- # Minimum seconds to wait before the assistant starts speaking.
686
- sig { returns(T.nilable(Float)) }
687
- attr_reader :wait_seconds
688
-
689
- sig { params(wait_seconds: Float).void }
690
- attr_writer :wait_seconds
691
-
692
- # Controls when the assistant starts speaking after the user stops. These
693
- # thresholds primarily apply to non turn-taking transcription models. For
694
- # turn-taking models like `deepgram/flux`, end-of-turn detection is driven by the
695
- # transcription end-of-turn settings under `transcription.settings` instead.
696
- sig do
697
- params(
698
- transcription_endpointing_plan:
699
- Telnyx::AI::InferenceEmbedding::InterruptionSettings::StartSpeakingPlan::TranscriptionEndpointingPlan::OrHash,
700
- wait_seconds: Float
701
- ).returns(T.attached_class)
702
- end
703
- def self.new(
704
- # Endpointing thresholds used to decide when the user has finished speaking.
705
- # Applies to non turn-taking transcription models. For `deepgram/flux`, use
706
- # `transcription.settings.eot_threshold` / `eot_timeout_ms` /
707
- # `eager_eot_threshold`.
708
- transcription_endpointing_plan: nil,
709
- # Minimum seconds to wait before the assistant starts speaking.
710
- wait_seconds: nil
711
- )
712
- end
713
-
714
- sig do
715
- override.returns(
716
- {
717
- transcription_endpointing_plan:
718
- Telnyx::AI::InferenceEmbedding::InterruptionSettings::StartSpeakingPlan::TranscriptionEndpointingPlan,
719
- wait_seconds: Float
720
- }
721
- )
722
- end
723
- def to_hash
724
- end
725
-
726
- class TranscriptionEndpointingPlan < Telnyx::Internal::Type::BaseModel
727
- OrHash =
728
- T.type_alias do
729
- T.any(
730
- Telnyx::AI::InferenceEmbedding::InterruptionSettings::StartSpeakingPlan::TranscriptionEndpointingPlan,
731
- Telnyx::Internal::AnyHash
732
- )
733
- end
734
-
735
- # Seconds to wait after the transcript ends without punctuation.
736
- sig { returns(T.nilable(Float)) }
737
- attr_reader :on_no_punctuation_seconds
738
-
739
- sig { params(on_no_punctuation_seconds: Float).void }
740
- attr_writer :on_no_punctuation_seconds
741
-
742
- # Seconds to wait after the transcript ends with a number.
743
- sig { returns(T.nilable(Float)) }
744
- attr_reader :on_number_seconds
745
-
746
- sig { params(on_number_seconds: Float).void }
747
- attr_writer :on_number_seconds
748
-
749
- # Seconds to wait after the transcript ends with punctuation.
750
- sig { returns(T.nilable(Float)) }
751
- attr_reader :on_punctuation_seconds
752
-
753
- sig { params(on_punctuation_seconds: Float).void }
754
- attr_writer :on_punctuation_seconds
755
-
756
- # Endpointing thresholds used to decide when the user has finished speaking.
757
- # Applies to non turn-taking transcription models. For `deepgram/flux`, use
758
- # `transcription.settings.eot_threshold` / `eot_timeout_ms` /
759
- # `eager_eot_threshold`.
760
- sig do
761
- params(
762
- on_no_punctuation_seconds: Float,
763
- on_number_seconds: Float,
764
- on_punctuation_seconds: Float
765
- ).returns(T.attached_class)
766
- end
767
- def self.new(
768
- # Seconds to wait after the transcript ends without punctuation.
769
- on_no_punctuation_seconds: nil,
770
- # Seconds to wait after the transcript ends with a number.
771
- on_number_seconds: nil,
772
- # Seconds to wait after the transcript ends with punctuation.
773
- on_punctuation_seconds: nil
774
- )
775
- end
776
-
777
- sig do
778
- override.returns(
779
- {
780
- on_no_punctuation_seconds: Float,
781
- on_number_seconds: Float,
782
- on_punctuation_seconds: Float
783
- }
784
- )
785
- end
786
- def to_hash
787
- end
788
- end
789
- end
790
- end
791
-
792
- class McpServer < Telnyx::Internal::Type::BaseModel
793
- OrHash =
794
- T.type_alias do
795
- T.any(
796
- Telnyx::AI::InferenceEmbedding::McpServer,
797
- Telnyx::Internal::AnyHash
798
- )
799
- end
800
-
801
- # ID of the MCP server to attach. This must be the `id` of an MCP server returned
802
- # by the `/ai/mcp_servers` endpoints.
803
- sig { returns(String) }
804
- attr_accessor :id
805
-
806
- # Optional per-assistant allowlist of MCP tool names. When omitted, the assistant
807
- # uses the MCP server's configured `allowed_tools`.
808
- sig { returns(T.nilable(T::Array[String])) }
809
- attr_reader :allowed_tools
810
-
811
- sig { params(allowed_tools: T::Array[String]).void }
812
- attr_writer :allowed_tools
813
-
814
- # Reference to an MCP server attached to an assistant. Create and manage MCP
815
- # servers with the `/ai/mcp_servers` endpoints, then attach them to assistants by
816
- # ID.
817
- sig do
818
- params(id: String, allowed_tools: T::Array[String]).returns(
819
- T.attached_class
820
- )
821
- end
822
- def self.new(
823
- # ID of the MCP server to attach. This must be the `id` of an MCP server returned
824
- # by the `/ai/mcp_servers` endpoints.
825
- id:,
826
- # Optional per-assistant allowlist of MCP tool names. When omitted, the assistant
827
- # uses the MCP server's configured `allowed_tools`.
828
- allowed_tools: nil
829
- )
830
- end
831
-
832
- sig do
833
- override.returns({ id: String, allowed_tools: T::Array[String] })
834
- end
835
- def to_hash
836
- end
837
- end
838
510
  end
839
511
  end
840
512
  end
@@ -0,0 +1,72 @@
1
+ # typed: strong
2
+
3
+ module Telnyx
4
+ module Models
5
+ module AI
6
+ class InferenceEmbeddingInterruptionSettings < Telnyx::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(
10
+ Telnyx::AI::InferenceEmbeddingInterruptionSettings,
11
+ Telnyx::Internal::AnyHash
12
+ )
13
+ end
14
+
15
+ # Whether users can interrupt the assistant while it is speaking.
16
+ sig { returns(T.nilable(T::Boolean)) }
17
+ attr_reader :enable
18
+
19
+ sig { params(enable: T::Boolean).void }
20
+ attr_writer :enable
21
+
22
+ # Controls when the assistant starts speaking after the user stops. These
23
+ # thresholds primarily apply to non turn-taking transcription models. For
24
+ # turn-taking models like `deepgram/flux`, end-of-turn detection is driven by the
25
+ # transcription end-of-turn settings under `transcription.settings` instead.
26
+ sig { returns(T.nilable(Telnyx::AI::StartSpeakingPlan)) }
27
+ attr_reader :start_speaking_plan
28
+
29
+ sig do
30
+ params(
31
+ start_speaking_plan: Telnyx::AI::StartSpeakingPlan::OrHash
32
+ ).void
33
+ end
34
+ attr_writer :start_speaking_plan
35
+
36
+ # Settings for interruptions and how the assistant decides the user has finished
37
+ # speaking. These timings are most relevant when using non turn-taking
38
+ # transcription models. For turn-taking models like `deepgram/flux`, end-of-turn
39
+ # behavior is controlled by the transcription end-of-turn settings under
40
+ # `transcription.settings` (`eot_threshold`, `eot_timeout_ms`,
41
+ # `eager_eot_threshold`).
42
+ sig do
43
+ params(
44
+ enable: T::Boolean,
45
+ start_speaking_plan: Telnyx::AI::StartSpeakingPlan::OrHash
46
+ ).returns(T.attached_class)
47
+ end
48
+ def self.new(
49
+ # Whether users can interrupt the assistant while it is speaking.
50
+ enable: nil,
51
+ # Controls when the assistant starts speaking after the user stops. These
52
+ # thresholds primarily apply to non turn-taking transcription models. For
53
+ # turn-taking models like `deepgram/flux`, end-of-turn detection is driven by the
54
+ # transcription end-of-turn settings under `transcription.settings` instead.
55
+ start_speaking_plan: nil
56
+ )
57
+ end
58
+
59
+ sig do
60
+ override.returns(
61
+ {
62
+ enable: T::Boolean,
63
+ start_speaking_plan: Telnyx::AI::StartSpeakingPlan
64
+ }
65
+ )
66
+ end
67
+ def to_hash
68
+ end
69
+ end
70
+ end
71
+ end
72
+ end
@@ -12,9 +12,7 @@ module Telnyx
12
12
  )
13
13
  end
14
14
 
15
- sig do
16
- returns(T::Array[Telnyx::Models::AI::OpenAIListModelsResponse::Data])
17
- end
15
+ sig { returns(T::Array[Telnyx::ModelMetadata]) }
18
16
  attr_accessor :data
19
17
 
20
18
  sig { returns(T.nilable(String)) }
@@ -25,10 +23,7 @@ module Telnyx
25
23
 
26
24
  sig do
27
25
  params(
28
- data:
29
- T::Array[
30
- Telnyx::Models::AI::OpenAIListModelsResponse::Data::OrHash
31
- ],
26
+ data: T::Array[Telnyx::ModelMetadata::OrHash],
32
27
  object: String
33
28
  ).returns(T.attached_class)
34
29
  end
@@ -37,59 +32,11 @@ module Telnyx
37
32
 
38
33
  sig do
39
34
  override.returns(
40
- {
41
- data:
42
- T::Array[Telnyx::Models::AI::OpenAIListModelsResponse::Data],
43
- object: String
44
- }
35
+ { data: T::Array[Telnyx::ModelMetadata], object: String }
45
36
  )
46
37
  end
47
38
  def to_hash
48
39
  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
- sig { returns(String) }
60
- attr_accessor :id
61
-
62
- sig { returns(Integer) }
63
- attr_accessor :created
64
-
65
- sig { returns(String) }
66
- attr_accessor :owned_by
67
-
68
- sig { returns(T.nilable(String)) }
69
- attr_reader :object
70
-
71
- sig { params(object: String).void }
72
- attr_writer :object
73
-
74
- sig do
75
- params(
76
- id: String,
77
- created: Integer,
78
- owned_by: String,
79
- object: String
80
- ).returns(T.attached_class)
81
- end
82
- def self.new(id:, created:, owned_by:, object: nil)
83
- end
84
-
85
- sig do
86
- override.returns(
87
- { id: String, created: Integer, owned_by: String, object: String }
88
- )
89
- end
90
- def to_hash
91
- end
92
- end
93
40
  end
94
41
  end
95
42
  end
@@ -0,0 +1,70 @@
1
+ # typed: strong
2
+
3
+ module Telnyx
4
+ module Models
5
+ module AI
6
+ class StartSpeakingPlan < Telnyx::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(Telnyx::AI::StartSpeakingPlan, Telnyx::Internal::AnyHash)
10
+ end
11
+
12
+ # Endpointing thresholds used to decide when the user has finished speaking.
13
+ # Applies to non turn-taking transcription models. For `deepgram/flux`, use
14
+ # `transcription.settings.eot_threshold` / `eot_timeout_ms` /
15
+ # `eager_eot_threshold`.
16
+ sig { returns(T.nilable(Telnyx::AI::TranscriptionEndpointingPlan)) }
17
+ attr_reader :transcription_endpointing_plan
18
+
19
+ sig do
20
+ params(
21
+ transcription_endpointing_plan:
22
+ Telnyx::AI::TranscriptionEndpointingPlan::OrHash
23
+ ).void
24
+ end
25
+ attr_writer :transcription_endpointing_plan
26
+
27
+ # Minimum seconds to wait before the assistant starts speaking.
28
+ sig { returns(T.nilable(Float)) }
29
+ attr_reader :wait_seconds
30
+
31
+ sig { params(wait_seconds: Float).void }
32
+ attr_writer :wait_seconds
33
+
34
+ # Controls when the assistant starts speaking after the user stops. These
35
+ # thresholds primarily apply to non turn-taking transcription models. For
36
+ # turn-taking models like `deepgram/flux`, end-of-turn detection is driven by the
37
+ # transcription end-of-turn settings under `transcription.settings` instead.
38
+ sig do
39
+ params(
40
+ transcription_endpointing_plan:
41
+ Telnyx::AI::TranscriptionEndpointingPlan::OrHash,
42
+ wait_seconds: Float
43
+ ).returns(T.attached_class)
44
+ end
45
+ def self.new(
46
+ # Endpointing thresholds used to decide when the user has finished speaking.
47
+ # Applies to non turn-taking transcription models. For `deepgram/flux`, use
48
+ # `transcription.settings.eot_threshold` / `eot_timeout_ms` /
49
+ # `eager_eot_threshold`.
50
+ transcription_endpointing_plan: nil,
51
+ # Minimum seconds to wait before the assistant starts speaking.
52
+ wait_seconds: nil
53
+ )
54
+ end
55
+
56
+ sig do
57
+ override.returns(
58
+ {
59
+ transcription_endpointing_plan:
60
+ Telnyx::AI::TranscriptionEndpointingPlan,
61
+ wait_seconds: Float
62
+ }
63
+ )
64
+ end
65
+ def to_hash
66
+ end
67
+ end
68
+ end
69
+ end
70
+ end