telnyx 5.102.1 → 5.103.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 (163) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +16 -0
  3. data/README.md +1 -1
  4. data/lib/telnyx/models/ai/assistant_create_params.rb +170 -9
  5. data/lib/telnyx/models/ai/assistant_tool.rb +14 -14
  6. data/lib/telnyx/models/ai/assistant_update_params.rb +170 -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/scheduled_event_create_params.rb +17 -1
  10. data/lib/telnyx/models/ai/assistants/scheduled_phone_call_event_response.rb +91 -1
  11. data/lib/telnyx/models/ai/assistants/update_assistant.rb +171 -9
  12. data/lib/telnyx/models/ai/inference_embedding.rb +169 -9
  13. data/lib/telnyx/models/ai/openai_list_models_response.rb +31 -3
  14. data/lib/telnyx/models/ai/transfer_tool.rb +9 -7
  15. data/lib/telnyx/models/ai_retrieve_models_response.rb +31 -3
  16. data/lib/telnyx/models/calls/action_gather_using_ai_params.rb +23 -4
  17. data/lib/telnyx/models/calls/action_gather_using_speak_params.rb +23 -4
  18. data/lib/telnyx/models/calls/action_speak_params.rb +23 -4
  19. data/lib/telnyx/models/calls/action_start_ai_assistant_params.rb +23 -4
  20. data/lib/telnyx/models/calls/transcription_start_request.rb +167 -5
  21. data/lib/telnyx/models/conferences/action_speak_params.rb +23 -4
  22. data/lib/telnyx/models/text_to_speech_generate_params.rb +6 -6
  23. data/lib/telnyx/models/uac_connection_create_params.rb +255 -9
  24. data/lib/telnyx/models/uac_connection_create_response.rb +878 -3
  25. data/lib/telnyx/models/uac_connection_delete_response.rb +878 -3
  26. data/lib/telnyx/models/uac_connection_list_response.rb +876 -0
  27. data/lib/telnyx/models/uac_connection_retrieve_response.rb +879 -3
  28. data/lib/telnyx/models/uac_connection_update_params.rb +255 -9
  29. data/lib/telnyx/models/uac_connection_update_response.rb +878 -3
  30. data/lib/telnyx/models.rb +0 -14
  31. data/lib/telnyx/resources/ai/assistants/canary_deploys.rb +2 -2
  32. data/lib/telnyx/resources/ai/assistants/scheduled_events.rb +5 -1
  33. data/lib/telnyx/resources/ai/assistants/versions.rb +3 -3
  34. data/lib/telnyx/resources/ai/assistants.rb +6 -6
  35. data/lib/telnyx/resources/calls/actions.rb +5 -5
  36. data/lib/telnyx/resources/conferences/actions.rb +1 -1
  37. data/lib/telnyx/resources/uac_connections.rb +8 -8
  38. data/lib/telnyx/version.rb +1 -1
  39. data/lib/telnyx.rb +1 -19
  40. data/rbi/telnyx/models/ai/assistant_create_params.rbi +341 -12
  41. data/rbi/telnyx/models/ai/assistant_tool.rbi +10 -10
  42. data/rbi/telnyx/models/ai/assistant_update_params.rbi +341 -12
  43. data/rbi/telnyx/models/ai/assistants/canary_deploy.rbi +290 -4
  44. data/rbi/telnyx/models/ai/assistants/canary_deploy_response.rbi +301 -3
  45. data/rbi/telnyx/models/ai/assistants/scheduled_event_create_params.rbi +22 -0
  46. data/rbi/telnyx/models/ai/assistants/scheduled_phone_call_event_response.rbi +153 -0
  47. data/rbi/telnyx/models/ai/assistants/update_assistant.rbi +355 -12
  48. data/rbi/telnyx/models/ai/inference_embedding.rbi +340 -12
  49. data/rbi/telnyx/models/ai/openai_list_models_response.rbi +56 -3
  50. data/rbi/telnyx/models/ai/transfer_tool.rbi +5 -5
  51. data/rbi/telnyx/models/ai_retrieve_models_response.rbi +51 -3
  52. data/rbi/telnyx/models/calls/action_gather_using_ai_params.rbi +41 -5
  53. data/rbi/telnyx/models/calls/action_gather_using_speak_params.rbi +41 -5
  54. data/rbi/telnyx/models/calls/action_speak_params.rbi +41 -5
  55. data/rbi/telnyx/models/calls/action_start_ai_assistant_params.rbi +41 -5
  56. data/rbi/telnyx/models/calls/transcription_start_request.rbi +480 -10
  57. data/rbi/telnyx/models/conferences/action_speak_params.rbi +41 -5
  58. data/rbi/telnyx/models/text_to_speech_generate_params.rbi +6 -6
  59. data/rbi/telnyx/models/uac_connection_create_params.rbi +516 -12
  60. data/rbi/telnyx/models/uac_connection_create_response.rbi +1756 -4
  61. data/rbi/telnyx/models/uac_connection_delete_response.rbi +1756 -4
  62. data/rbi/telnyx/models/uac_connection_list_response.rbi +1727 -0
  63. data/rbi/telnyx/models/uac_connection_retrieve_response.rbi +1756 -4
  64. data/rbi/telnyx/models/uac_connection_update_params.rbi +516 -12
  65. data/rbi/telnyx/models/uac_connection_update_response.rbi +1756 -4
  66. data/rbi/telnyx/models.rbi +0 -14
  67. data/rbi/telnyx/resources/ai/assistants/canary_deploys.rbi +4 -2
  68. data/rbi/telnyx/resources/ai/assistants/scheduled_events.rbi +6 -0
  69. data/rbi/telnyx/resources/ai/assistants/versions.rbi +9 -3
  70. data/rbi/telnyx/resources/ai/assistants.rbi +10 -6
  71. data/rbi/telnyx/resources/calls/actions.rbi +6 -6
  72. data/rbi/telnyx/resources/conferences/actions.rbi +1 -1
  73. data/rbi/telnyx/resources/uac_connections.rbi +13 -7
  74. data/sig/telnyx/models/ai/assistant_create_params.rbs +142 -18
  75. data/sig/telnyx/models/ai/assistant_tool.rbs +8 -8
  76. data/sig/telnyx/models/ai/assistant_update_params.rbs +142 -18
  77. data/sig/telnyx/models/ai/assistants/canary_deploy.rbs +113 -6
  78. data/sig/telnyx/models/ai/assistants/canary_deploy_response.rbs +109 -4
  79. data/sig/telnyx/models/ai/assistants/scheduled_event_create_params.rbs +14 -0
  80. data/sig/telnyx/models/ai/assistants/scheduled_phone_call_event_response.rbs +85 -0
  81. data/sig/telnyx/models/ai/assistants/update_assistant.rbs +145 -18
  82. data/sig/telnyx/models/ai/inference_embedding.rbs +142 -18
  83. data/sig/telnyx/models/ai/openai_list_models_response.rbs +39 -4
  84. data/sig/telnyx/models/ai/transfer_tool.rbs +4 -4
  85. data/sig/telnyx/models/ai_retrieve_models_response.rbs +39 -4
  86. data/sig/telnyx/models/calls/action_gather_using_ai_params.rbs +15 -1
  87. data/sig/telnyx/models/calls/action_gather_using_speak_params.rbs +15 -1
  88. data/sig/telnyx/models/calls/action_speak_params.rbs +15 -1
  89. data/sig/telnyx/models/calls/action_start_ai_assistant_params.rbs +15 -1
  90. data/sig/telnyx/models/calls/transcription_start_request.rbs +184 -2
  91. data/sig/telnyx/models/conferences/action_speak_params.rbs +15 -1
  92. data/sig/telnyx/models/text_to_speech_generate_params.rbs +6 -6
  93. data/sig/telnyx/models/uac_connection_create_params.rbs +211 -17
  94. data/sig/telnyx/models/uac_connection_create_response.rbs +731 -5
  95. data/sig/telnyx/models/uac_connection_delete_response.rbs +731 -5
  96. data/sig/telnyx/models/uac_connection_list_response.rbs +722 -0
  97. data/sig/telnyx/models/uac_connection_retrieve_response.rbs +731 -5
  98. data/sig/telnyx/models/uac_connection_update_params.rbs +211 -17
  99. data/sig/telnyx/models/uac_connection_update_response.rbs +731 -5
  100. data/sig/telnyx/models.rbs +0 -14
  101. data/sig/telnyx/resources/ai/assistants/canary_deploys.rbs +2 -2
  102. data/sig/telnyx/resources/ai/assistants/scheduled_events.rbs +2 -0
  103. data/sig/telnyx/resources/ai/assistants/versions.rbs +3 -3
  104. data/sig/telnyx/resources/ai/assistants.rbs +6 -6
  105. data/sig/telnyx/resources/uac_connections.rbs +7 -7
  106. metadata +4 -58
  107. data/lib/telnyx/models/ai/assistant_integration.rb +0 -38
  108. data/lib/telnyx/models/ai/assistant_mcp_server.rb +0 -35
  109. data/lib/telnyx/models/ai/assistants/clause.rb +0 -54
  110. data/lib/telnyx/models/ai/assistants/rollout_slot.rb +0 -27
  111. data/lib/telnyx/models/ai/assistants/rule_input.rb +0 -40
  112. data/lib/telnyx/models/ai/assistants/rule_output.rb +0 -40
  113. data/lib/telnyx/models/ai/assistants/serve.rb +0 -33
  114. data/lib/telnyx/models/ai/inference_embedding_interruption_settings.rb +0 -39
  115. data/lib/telnyx/models/ai/start_speaking_plan.rb +0 -37
  116. data/lib/telnyx/models/ai/transcription_endpointing_plan.rb +0 -39
  117. data/lib/telnyx/models/calls/transcription_engine_assemblyai_config.rb +0 -64
  118. data/lib/telnyx/models/calls/transcription_engine_xai_config.rb +0 -108
  119. data/lib/telnyx/models/model_metadata.rb +0 -33
  120. data/lib/telnyx/models/uac_connection.rb +0 -412
  121. data/lib/telnyx/models/uac_external_settings.rb +0 -101
  122. data/lib/telnyx/models/uac_inbound.rb +0 -210
  123. data/lib/telnyx/models/uac_internal_settings.rb +0 -25
  124. data/lib/telnyx/models/uac_outbound.rb +0 -131
  125. data/lib/telnyx/models/xai_voice_settings.rb +0 -36
  126. data/rbi/telnyx/models/ai/assistant_integration.rbi +0 -60
  127. data/rbi/telnyx/models/ai/assistant_mcp_server.rbi +0 -51
  128. data/rbi/telnyx/models/ai/assistants/clause.rbi +0 -91
  129. data/rbi/telnyx/models/ai/assistants/rollout_slot.rbi +0 -36
  130. data/rbi/telnyx/models/ai/assistants/rule_input.rbi +0 -73
  131. data/rbi/telnyx/models/ai/assistants/rule_output.rbi +0 -73
  132. data/rbi/telnyx/models/ai/assistants/serve.rbi +0 -61
  133. data/rbi/telnyx/models/ai/inference_embedding_interruption_settings.rbi +0 -72
  134. data/rbi/telnyx/models/ai/start_speaking_plan.rbi +0 -70
  135. data/rbi/telnyx/models/ai/transcription_endpointing_plan.rbi +0 -71
  136. data/rbi/telnyx/models/calls/transcription_engine_assemblyai_config.rbi +0 -155
  137. data/rbi/telnyx/models/calls/transcription_engine_xai_config.rbi +0 -329
  138. data/rbi/telnyx/models/model_metadata.rbi +0 -44
  139. data/rbi/telnyx/models/uac_connection.rbi +0 -684
  140. data/rbi/telnyx/models/uac_external_settings.rbi +0 -146
  141. data/rbi/telnyx/models/uac_inbound.rbi +0 -410
  142. data/rbi/telnyx/models/uac_internal_settings.rbi +0 -39
  143. data/rbi/telnyx/models/uac_outbound.rbi +0 -224
  144. data/rbi/telnyx/models/xai_voice_settings.rbi +0 -64
  145. data/sig/telnyx/models/ai/assistant_integration.rbs +0 -26
  146. data/sig/telnyx/models/ai/assistant_mcp_server.rbs +0 -19
  147. data/sig/telnyx/models/ai/assistants/clause.rbs +0 -46
  148. data/sig/telnyx/models/ai/assistants/rollout_slot.rbs +0 -19
  149. data/sig/telnyx/models/ai/assistants/rule_input.rbs +0 -33
  150. data/sig/telnyx/models/ai/assistants/rule_output.rbs +0 -33
  151. data/sig/telnyx/models/ai/assistants/serve.rbs +0 -35
  152. data/sig/telnyx/models/ai/inference_embedding_interruption_settings.rbs +0 -30
  153. data/sig/telnyx/models/ai/start_speaking_plan.rbs +0 -33
  154. data/sig/telnyx/models/ai/transcription_endpointing_plan.rbs +0 -38
  155. data/sig/telnyx/models/calls/transcription_engine_assemblyai_config.rbs +0 -62
  156. data/sig/telnyx/models/calls/transcription_engine_xai_config.rbs +0 -130
  157. data/sig/telnyx/models/model_metadata.rbs +0 -32
  158. data/sig/telnyx/models/uac_connection.rbs +0 -338
  159. data/sig/telnyx/models/uac_external_settings.rbs +0 -73
  160. data/sig/telnyx/models/uac_inbound.rbs +0 -190
  161. data/sig/telnyx/models/uac_internal_settings.rbs +0 -15
  162. data/sig/telnyx/models/uac_outbound.rbs +0 -113
  163. data/sig/telnyx/models/xai_voice_settings.rbs +0 -34
@@ -107,12 +107,17 @@ module Telnyx
107
107
  # integrations is at `/ai/integrations`; the user's connected integrations are at
108
108
  # `/ai/integrations/connections`. Each item references a catalog integration by
109
109
  # `integration_id`.
110
- sig { returns(T.nilable(T::Array[Telnyx::AI::AssistantIntegration])) }
110
+ sig do
111
+ returns(
112
+ T.nilable(T::Array[Telnyx::AI::AssistantCreateParams::Integration])
113
+ )
114
+ end
111
115
  attr_reader :integrations
112
116
 
113
117
  sig do
114
118
  params(
115
- integrations: T::Array[Telnyx::AI::AssistantIntegration::OrHash]
119
+ integrations:
120
+ T::Array[Telnyx::AI::AssistantCreateParams::Integration::OrHash]
116
121
  ).void
117
122
  end
118
123
  attr_writer :integrations
@@ -124,14 +129,16 @@ module Telnyx
124
129
  # `transcription.settings` (`eot_threshold`, `eot_timeout_ms`,
125
130
  # `eager_eot_threshold`).
126
131
  sig do
127
- returns(T.nilable(Telnyx::AI::InferenceEmbeddingInterruptionSettings))
132
+ returns(
133
+ T.nilable(Telnyx::AI::AssistantCreateParams::InterruptionSettings)
134
+ )
128
135
  end
129
136
  attr_reader :interruption_settings
130
137
 
131
138
  sig do
132
139
  params(
133
140
  interruption_settings:
134
- Telnyx::AI::InferenceEmbeddingInterruptionSettings::OrHash
141
+ Telnyx::AI::AssistantCreateParams::InterruptionSettings::OrHash
135
142
  ).void
136
143
  end
137
144
  attr_writer :interruption_settings
@@ -150,12 +157,17 @@ module Telnyx
150
157
 
151
158
  # MCP servers attached to the assistant. Create MCP servers with
152
159
  # `/ai/mcp_servers`, then reference them by `id` here.
153
- sig { returns(T.nilable(T::Array[Telnyx::AI::AssistantMcpServer])) }
160
+ sig do
161
+ returns(
162
+ T.nilable(T::Array[Telnyx::AI::AssistantCreateParams::McpServer])
163
+ )
164
+ end
154
165
  attr_reader :mcp_servers
155
166
 
156
167
  sig do
157
168
  params(
158
- mcp_servers: T::Array[Telnyx::AI::AssistantMcpServer::OrHash]
169
+ mcp_servers:
170
+ T::Array[Telnyx::AI::AssistantCreateParams::McpServer::OrHash]
159
171
  ).void
160
172
  end
161
173
  attr_writer :mcp_servers
@@ -318,11 +330,13 @@ module Telnyx
318
330
  fallback_config: Telnyx::AI::FallbackConfigReq::OrHash,
319
331
  greeting: String,
320
332
  insight_settings: Telnyx::AI::InsightSettings::OrHash,
321
- integrations: T::Array[Telnyx::AI::AssistantIntegration::OrHash],
333
+ integrations:
334
+ T::Array[Telnyx::AI::AssistantCreateParams::Integration::OrHash],
322
335
  interruption_settings:
323
- Telnyx::AI::InferenceEmbeddingInterruptionSettings::OrHash,
336
+ Telnyx::AI::AssistantCreateParams::InterruptionSettings::OrHash,
324
337
  llm_api_key_ref: String,
325
- mcp_servers: T::Array[Telnyx::AI::AssistantMcpServer::OrHash],
338
+ mcp_servers:
339
+ T::Array[Telnyx::AI::AssistantCreateParams::McpServer::OrHash],
326
340
  messaging_settings: Telnyx::AI::MessagingSettings::OrHash,
327
341
  model: String,
328
342
  observability_settings: Telnyx::AI::ObservabilityReq::OrHash,
@@ -457,11 +471,13 @@ module Telnyx
457
471
  fallback_config: Telnyx::AI::FallbackConfigReq,
458
472
  greeting: String,
459
473
  insight_settings: Telnyx::AI::InsightSettings,
460
- integrations: T::Array[Telnyx::AI::AssistantIntegration],
474
+ integrations:
475
+ T::Array[Telnyx::AI::AssistantCreateParams::Integration],
461
476
  interruption_settings:
462
- Telnyx::AI::InferenceEmbeddingInterruptionSettings,
477
+ Telnyx::AI::AssistantCreateParams::InterruptionSettings,
463
478
  llm_api_key_ref: String,
464
- mcp_servers: T::Array[Telnyx::AI::AssistantMcpServer],
479
+ mcp_servers:
480
+ T::Array[Telnyx::AI::AssistantCreateParams::McpServer],
465
481
  messaging_settings: Telnyx::AI::MessagingSettings,
466
482
  model: String,
467
483
  observability_settings: Telnyx::AI::ObservabilityReq,
@@ -495,6 +511,319 @@ module Telnyx
495
511
  end
496
512
  def to_hash
497
513
  end
514
+
515
+ class Integration < Telnyx::Internal::Type::BaseModel
516
+ OrHash =
517
+ T.type_alias do
518
+ T.any(
519
+ Telnyx::AI::AssistantCreateParams::Integration,
520
+ Telnyx::Internal::AnyHash
521
+ )
522
+ end
523
+
524
+ # Catalog integration ID to attach. This is the `id` from the integrations catalog
525
+ # at `/ai/integrations` (the same value also appears as `integration_id` on
526
+ # entries returned by `/ai/integrations/connections`). It is **not** the
527
+ # connection-level `id` from `/ai/integrations/connections`.
528
+ sig { returns(String) }
529
+ attr_accessor :integration_id
530
+
531
+ # Optional per-assistant allowlist of integration tool names. When omitted or
532
+ # empty, all tools allowed by the connected integration are available to the
533
+ # assistant.
534
+ sig { returns(T.nilable(T::Array[String])) }
535
+ attr_reader :allowed_list
536
+
537
+ sig { params(allowed_list: T::Array[String]).void }
538
+ attr_writer :allowed_list
539
+
540
+ # Reference to a connected integration attached to an assistant. Discover
541
+ # available integrations with `/ai/integrations` and connected integrations with
542
+ # `/ai/integrations/connections`.
543
+ sig do
544
+ params(
545
+ integration_id: String,
546
+ allowed_list: T::Array[String]
547
+ ).returns(T.attached_class)
548
+ end
549
+ def self.new(
550
+ # Catalog integration ID to attach. This is the `id` from the integrations catalog
551
+ # at `/ai/integrations` (the same value also appears as `integration_id` on
552
+ # entries returned by `/ai/integrations/connections`). It is **not** the
553
+ # connection-level `id` from `/ai/integrations/connections`.
554
+ integration_id:,
555
+ # Optional per-assistant allowlist of integration tool names. When omitted or
556
+ # empty, all tools allowed by the connected integration are available to the
557
+ # assistant.
558
+ allowed_list: nil
559
+ )
560
+ end
561
+
562
+ sig do
563
+ override.returns(
564
+ { integration_id: String, allowed_list: T::Array[String] }
565
+ )
566
+ end
567
+ def to_hash
568
+ end
569
+ end
570
+
571
+ class InterruptionSettings < Telnyx::Internal::Type::BaseModel
572
+ OrHash =
573
+ T.type_alias do
574
+ T.any(
575
+ Telnyx::AI::AssistantCreateParams::InterruptionSettings,
576
+ Telnyx::Internal::AnyHash
577
+ )
578
+ end
579
+
580
+ # Whether users can interrupt the assistant while it is speaking.
581
+ sig { returns(T.nilable(T::Boolean)) }
582
+ attr_reader :enable
583
+
584
+ sig { params(enable: T::Boolean).void }
585
+ attr_writer :enable
586
+
587
+ # Controls when the assistant starts speaking after the user stops. These
588
+ # thresholds primarily apply to non turn-taking transcription models. For
589
+ # turn-taking models like `deepgram/flux`, end-of-turn detection is driven by the
590
+ # transcription end-of-turn settings under `transcription.settings` instead.
591
+ sig do
592
+ returns(
593
+ T.nilable(
594
+ Telnyx::AI::AssistantCreateParams::InterruptionSettings::StartSpeakingPlan
595
+ )
596
+ )
597
+ end
598
+ attr_reader :start_speaking_plan
599
+
600
+ sig do
601
+ params(
602
+ start_speaking_plan:
603
+ Telnyx::AI::AssistantCreateParams::InterruptionSettings::StartSpeakingPlan::OrHash
604
+ ).void
605
+ end
606
+ attr_writer :start_speaking_plan
607
+
608
+ # Settings for interruptions and how the assistant decides the user has finished
609
+ # speaking. These timings are most relevant when using non turn-taking
610
+ # transcription models. For turn-taking models like `deepgram/flux`, end-of-turn
611
+ # behavior is controlled by the transcription end-of-turn settings under
612
+ # `transcription.settings` (`eot_threshold`, `eot_timeout_ms`,
613
+ # `eager_eot_threshold`).
614
+ sig do
615
+ params(
616
+ enable: T::Boolean,
617
+ start_speaking_plan:
618
+ Telnyx::AI::AssistantCreateParams::InterruptionSettings::StartSpeakingPlan::OrHash
619
+ ).returns(T.attached_class)
620
+ end
621
+ def self.new(
622
+ # Whether users can interrupt the assistant while it is speaking.
623
+ enable: nil,
624
+ # Controls when the assistant starts speaking after the user stops. These
625
+ # thresholds primarily apply to non turn-taking transcription models. For
626
+ # turn-taking models like `deepgram/flux`, end-of-turn detection is driven by the
627
+ # transcription end-of-turn settings under `transcription.settings` instead.
628
+ start_speaking_plan: nil
629
+ )
630
+ end
631
+
632
+ sig do
633
+ override.returns(
634
+ {
635
+ enable: T::Boolean,
636
+ start_speaking_plan:
637
+ Telnyx::AI::AssistantCreateParams::InterruptionSettings::StartSpeakingPlan
638
+ }
639
+ )
640
+ end
641
+ def to_hash
642
+ end
643
+
644
+ class StartSpeakingPlan < Telnyx::Internal::Type::BaseModel
645
+ OrHash =
646
+ T.type_alias do
647
+ T.any(
648
+ Telnyx::AI::AssistantCreateParams::InterruptionSettings::StartSpeakingPlan,
649
+ Telnyx::Internal::AnyHash
650
+ )
651
+ end
652
+
653
+ # Endpointing thresholds used to decide when the user has finished speaking.
654
+ # Applies to non turn-taking transcription models. For `deepgram/flux`, use
655
+ # `transcription.settings.eot_threshold` / `eot_timeout_ms` /
656
+ # `eager_eot_threshold`.
657
+ sig do
658
+ returns(
659
+ T.nilable(
660
+ Telnyx::AI::AssistantCreateParams::InterruptionSettings::StartSpeakingPlan::TranscriptionEndpointingPlan
661
+ )
662
+ )
663
+ end
664
+ attr_reader :transcription_endpointing_plan
665
+
666
+ sig do
667
+ params(
668
+ transcription_endpointing_plan:
669
+ Telnyx::AI::AssistantCreateParams::InterruptionSettings::StartSpeakingPlan::TranscriptionEndpointingPlan::OrHash
670
+ ).void
671
+ end
672
+ attr_writer :transcription_endpointing_plan
673
+
674
+ # Minimum seconds to wait before the assistant starts speaking.
675
+ sig { returns(T.nilable(Float)) }
676
+ attr_reader :wait_seconds
677
+
678
+ sig { params(wait_seconds: Float).void }
679
+ attr_writer :wait_seconds
680
+
681
+ # Controls when the assistant starts speaking after the user stops. These
682
+ # thresholds primarily apply to non turn-taking transcription models. For
683
+ # turn-taking models like `deepgram/flux`, end-of-turn detection is driven by the
684
+ # transcription end-of-turn settings under `transcription.settings` instead.
685
+ sig do
686
+ params(
687
+ transcription_endpointing_plan:
688
+ Telnyx::AI::AssistantCreateParams::InterruptionSettings::StartSpeakingPlan::TranscriptionEndpointingPlan::OrHash,
689
+ wait_seconds: Float
690
+ ).returns(T.attached_class)
691
+ end
692
+ def self.new(
693
+ # Endpointing thresholds used to decide when the user has finished speaking.
694
+ # Applies to non turn-taking transcription models. For `deepgram/flux`, use
695
+ # `transcription.settings.eot_threshold` / `eot_timeout_ms` /
696
+ # `eager_eot_threshold`.
697
+ transcription_endpointing_plan: nil,
698
+ # Minimum seconds to wait before the assistant starts speaking.
699
+ wait_seconds: nil
700
+ )
701
+ end
702
+
703
+ sig do
704
+ override.returns(
705
+ {
706
+ transcription_endpointing_plan:
707
+ Telnyx::AI::AssistantCreateParams::InterruptionSettings::StartSpeakingPlan::TranscriptionEndpointingPlan,
708
+ wait_seconds: Float
709
+ }
710
+ )
711
+ end
712
+ def to_hash
713
+ end
714
+
715
+ class TranscriptionEndpointingPlan < Telnyx::Internal::Type::BaseModel
716
+ OrHash =
717
+ T.type_alias do
718
+ T.any(
719
+ Telnyx::AI::AssistantCreateParams::InterruptionSettings::StartSpeakingPlan::TranscriptionEndpointingPlan,
720
+ Telnyx::Internal::AnyHash
721
+ )
722
+ end
723
+
724
+ # Seconds to wait after the transcript ends without punctuation.
725
+ sig { returns(T.nilable(Float)) }
726
+ attr_reader :on_no_punctuation_seconds
727
+
728
+ sig { params(on_no_punctuation_seconds: Float).void }
729
+ attr_writer :on_no_punctuation_seconds
730
+
731
+ # Seconds to wait after the transcript ends with a number.
732
+ sig { returns(T.nilable(Float)) }
733
+ attr_reader :on_number_seconds
734
+
735
+ sig { params(on_number_seconds: Float).void }
736
+ attr_writer :on_number_seconds
737
+
738
+ # Seconds to wait after the transcript ends with punctuation.
739
+ sig { returns(T.nilable(Float)) }
740
+ attr_reader :on_punctuation_seconds
741
+
742
+ sig { params(on_punctuation_seconds: Float).void }
743
+ attr_writer :on_punctuation_seconds
744
+
745
+ # Endpointing thresholds used to decide when the user has finished speaking.
746
+ # Applies to non turn-taking transcription models. For `deepgram/flux`, use
747
+ # `transcription.settings.eot_threshold` / `eot_timeout_ms` /
748
+ # `eager_eot_threshold`.
749
+ sig do
750
+ params(
751
+ on_no_punctuation_seconds: Float,
752
+ on_number_seconds: Float,
753
+ on_punctuation_seconds: Float
754
+ ).returns(T.attached_class)
755
+ end
756
+ def self.new(
757
+ # Seconds to wait after the transcript ends without punctuation.
758
+ on_no_punctuation_seconds: nil,
759
+ # Seconds to wait after the transcript ends with a number.
760
+ on_number_seconds: nil,
761
+ # Seconds to wait after the transcript ends with punctuation.
762
+ on_punctuation_seconds: nil
763
+ )
764
+ end
765
+
766
+ sig do
767
+ override.returns(
768
+ {
769
+ on_no_punctuation_seconds: Float,
770
+ on_number_seconds: Float,
771
+ on_punctuation_seconds: Float
772
+ }
773
+ )
774
+ end
775
+ def to_hash
776
+ end
777
+ end
778
+ end
779
+ end
780
+
781
+ class McpServer < Telnyx::Internal::Type::BaseModel
782
+ OrHash =
783
+ T.type_alias do
784
+ T.any(
785
+ Telnyx::AI::AssistantCreateParams::McpServer,
786
+ Telnyx::Internal::AnyHash
787
+ )
788
+ end
789
+
790
+ # ID of the MCP server to attach. This must be the `id` of an MCP server returned
791
+ # by the `/ai/mcp_servers` endpoints.
792
+ sig { returns(String) }
793
+ attr_accessor :id
794
+
795
+ # Optional per-assistant allowlist of MCP tool names. When omitted, the assistant
796
+ # uses the MCP server's configured `allowed_tools`.
797
+ sig { returns(T.nilable(T::Array[String])) }
798
+ attr_reader :allowed_tools
799
+
800
+ sig { params(allowed_tools: T::Array[String]).void }
801
+ attr_writer :allowed_tools
802
+
803
+ # Reference to an MCP server attached to an assistant. Create and manage MCP
804
+ # servers with the `/ai/mcp_servers` endpoints, then attach them to assistants by
805
+ # ID.
806
+ sig do
807
+ params(id: String, allowed_tools: T::Array[String]).returns(
808
+ T.attached_class
809
+ )
810
+ end
811
+ def self.new(
812
+ # ID of the MCP server to attach. This must be the `id` of an MCP server returned
813
+ # by the `/ai/mcp_servers` endpoints.
814
+ id:,
815
+ # Optional per-assistant allowlist of MCP tool names. When omitted, the assistant
816
+ # uses the MCP server's configured `allowed_tools`.
817
+ allowed_tools: nil
818
+ )
819
+ end
820
+
821
+ sig do
822
+ override.returns({ id: String, allowed_tools: T::Array[String] })
823
+ end
824
+ def to_hash
825
+ end
826
+ end
498
827
  end
499
828
  end
500
829
  end
@@ -411,17 +411,17 @@ module Telnyx
411
411
  T.type_alias do
412
412
  T.any(
413
413
  T::Array[
414
- Telnyx::AI::AssistantTool::Transfer::Transfer::Targets::TargetsList
414
+ Telnyx::AI::AssistantTool::Transfer::Transfer::Targets::UnionMember0
415
415
  ],
416
416
  String
417
417
  )
418
418
  end
419
419
 
420
- class TargetsList < Telnyx::Internal::Type::BaseModel
420
+ class UnionMember0 < Telnyx::Internal::Type::BaseModel
421
421
  OrHash =
422
422
  T.type_alias do
423
423
  T.any(
424
- Telnyx::AI::AssistantTool::Transfer::Transfer::Targets::TargetsList,
424
+ Telnyx::AI::AssistantTool::Transfer::Transfer::Targets::UnionMember0,
425
425
  Telnyx::Internal::AnyHash
426
426
  )
427
427
  end
@@ -463,10 +463,10 @@ module Telnyx
463
463
  def self.variants
464
464
  end
465
465
 
466
- TargetsListArray =
466
+ UnionMember0Array =
467
467
  T.let(
468
468
  Telnyx::Internal::Type::ArrayOf[
469
- Telnyx::AI::AssistantTool::Transfer::Transfer::Targets::TargetsList
469
+ Telnyx::AI::AssistantTool::Transfer::Transfer::Targets::UnionMember0
470
470
  ],
471
471
  Telnyx::Internal::Type::Converter
472
472
  )
@@ -1253,17 +1253,17 @@ module Telnyx
1253
1253
  T.type_alias do
1254
1254
  T.any(
1255
1255
  T::Array[
1256
- Telnyx::AI::AssistantTool::Invite::Invite::Targets::TargetsList
1256
+ Telnyx::AI::AssistantTool::Invite::Invite::Targets::UnionMember0
1257
1257
  ],
1258
1258
  String
1259
1259
  )
1260
1260
  end
1261
1261
 
1262
- class TargetsList < Telnyx::Internal::Type::BaseModel
1262
+ class UnionMember0 < Telnyx::Internal::Type::BaseModel
1263
1263
  OrHash =
1264
1264
  T.type_alias do
1265
1265
  T.any(
1266
- Telnyx::AI::AssistantTool::Invite::Invite::Targets::TargetsList,
1266
+ Telnyx::AI::AssistantTool::Invite::Invite::Targets::UnionMember0,
1267
1267
  Telnyx::Internal::AnyHash
1268
1268
  )
1269
1269
  end
@@ -1305,10 +1305,10 @@ module Telnyx
1305
1305
  def self.variants
1306
1306
  end
1307
1307
 
1308
- TargetsListArray =
1308
+ UnionMember0Array =
1309
1309
  T.let(
1310
1310
  Telnyx::Internal::Type::ArrayOf[
1311
- Telnyx::AI::AssistantTool::Invite::Invite::Targets::TargetsList
1311
+ Telnyx::AI::AssistantTool::Invite::Invite::Targets::UnionMember0
1312
1312
  ],
1313
1313
  Telnyx::Internal::Type::Converter
1314
1314
  )