telnyx 5.87.0 → 5.89.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 (28) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +17 -0
  3. data/README.md +1 -1
  4. data/lib/telnyx/models/ai/assistant_create_params.rb +209 -1
  5. data/lib/telnyx/models/ai/assistant_update_params.rb +209 -1
  6. data/lib/telnyx/models/ai/assistants/update_assistant.rb +212 -1
  7. data/lib/telnyx/models/ai/inference_embedding.rb +211 -1
  8. data/lib/telnyx/models/ai/transcription_settings.rb +7 -4
  9. data/lib/telnyx/models/call_assistant_request.rb +209 -6
  10. data/lib/telnyx/resources/ai/assistants/versions.rb +5 -1
  11. data/lib/telnyx/resources/ai/assistants.rb +10 -2
  12. data/lib/telnyx/version.rb +1 -1
  13. data/rbi/telnyx/models/ai/assistant_create_params.rbi +419 -0
  14. data/rbi/telnyx/models/ai/assistant_update_params.rbi +419 -0
  15. data/rbi/telnyx/models/ai/assistants/update_assistant.rbi +425 -0
  16. data/rbi/telnyx/models/ai/inference_embedding.rbi +415 -0
  17. data/rbi/telnyx/models/ai/transcription_settings.rbi +11 -5
  18. data/rbi/telnyx/models/call_assistant_request.rbi +416 -8
  19. data/rbi/telnyx/resources/ai/assistants/versions.rbi +8 -0
  20. data/rbi/telnyx/resources/ai/assistants.rbi +12 -0
  21. data/sig/telnyx/models/ai/assistant_create_params.rbs +193 -0
  22. data/sig/telnyx/models/ai/assistant_update_params.rbs +193 -0
  23. data/sig/telnyx/models/ai/assistants/update_assistant.rbs +193 -0
  24. data/sig/telnyx/models/ai/inference_embedding.rbs +193 -0
  25. data/sig/telnyx/models/call_assistant_request.rbs +197 -10
  26. data/sig/telnyx/resources/ai/assistants/versions.rbs +2 -0
  27. data/sig/telnyx/resources/ai/assistants.rbs +4 -0
  28. metadata +1 -1
@@ -42,17 +42,25 @@ module Telnyx
42
42
  attr_writer :dynamic_variables
43
43
 
44
44
  # External LLM configuration for bringing your own LLM endpoint.
45
- sig { returns(T.nilable(T::Hash[Symbol, T.anything])) }
45
+ sig { returns(T.nilable(Telnyx::CallAssistantRequest::ExternalLlm)) }
46
46
  attr_reader :external_llm
47
47
 
48
- sig { params(external_llm: T::Hash[Symbol, T.anything]).void }
48
+ sig do
49
+ params(
50
+ external_llm: Telnyx::CallAssistantRequest::ExternalLlm::OrHash
51
+ ).void
52
+ end
49
53
  attr_writer :external_llm
50
54
 
51
55
  # Fallback LLM configuration used when the primary LLM provider is unavailable.
52
- sig { returns(T.nilable(T::Hash[Symbol, T.anything])) }
56
+ sig { returns(T.nilable(Telnyx::CallAssistantRequest::FallbackConfig)) }
53
57
  attr_reader :fallback_config
54
58
 
55
- sig { params(fallback_config: T::Hash[Symbol, T.anything]).void }
59
+ sig do
60
+ params(
61
+ fallback_config: Telnyx::CallAssistantRequest::FallbackConfig::OrHash
62
+ ).void
63
+ end
56
64
  attr_writer :fallback_config
57
65
 
58
66
  # Initial greeting text spoken when the assistant starts. Can be plain text for
@@ -172,8 +180,8 @@ module Telnyx
172
180
  Symbol,
173
181
  Telnyx::CallAssistantRequest::DynamicVariable::Variants
174
182
  ],
175
- external_llm: T::Hash[Symbol, T.anything],
176
- fallback_config: T::Hash[Symbol, T.anything],
183
+ external_llm: Telnyx::CallAssistantRequest::ExternalLlm::OrHash,
184
+ fallback_config: Telnyx::CallAssistantRequest::FallbackConfig::OrHash,
177
185
  greeting: String,
178
186
  instructions: String,
179
187
  llm_api_key_ref: String,
@@ -253,8 +261,8 @@ module Telnyx
253
261
  Symbol,
254
262
  Telnyx::CallAssistantRequest::DynamicVariable::Variants
255
263
  ],
256
- external_llm: T::Hash[Symbol, T.anything],
257
- fallback_config: T::Hash[Symbol, T.anything],
264
+ external_llm: Telnyx::CallAssistantRequest::ExternalLlm,
265
+ fallback_config: Telnyx::CallAssistantRequest::FallbackConfig,
258
266
  greeting: String,
259
267
  instructions: String,
260
268
  llm_api_key_ref: String,
@@ -294,6 +302,406 @@ module Telnyx
294
302
  end
295
303
  end
296
304
 
305
+ class ExternalLlm < Telnyx::Internal::Type::BaseModel
306
+ OrHash =
307
+ T.type_alias do
308
+ T.any(
309
+ Telnyx::CallAssistantRequest::ExternalLlm,
310
+ Telnyx::Internal::AnyHash
311
+ )
312
+ end
313
+
314
+ # Authentication method used when connecting to the external LLM endpoint.
315
+ sig do
316
+ returns(
317
+ T.nilable(
318
+ Telnyx::CallAssistantRequest::ExternalLlm::AuthenticationMethod::OrSymbol
319
+ )
320
+ )
321
+ end
322
+ attr_reader :authentication_method
323
+
324
+ sig do
325
+ params(
326
+ authentication_method:
327
+ Telnyx::CallAssistantRequest::ExternalLlm::AuthenticationMethod::OrSymbol
328
+ ).void
329
+ end
330
+ attr_writer :authentication_method
331
+
332
+ # Base URL for the external LLM endpoint.
333
+ sig { returns(T.nilable(String)) }
334
+ attr_reader :base_url
335
+
336
+ sig { params(base_url: String).void }
337
+ attr_writer :base_url
338
+
339
+ # Integration secret identifier for the client certificate used with certificate
340
+ # authentication.
341
+ sig { returns(T.nilable(String)) }
342
+ attr_reader :certificate_ref
343
+
344
+ sig { params(certificate_ref: String).void }
345
+ attr_writer :certificate_ref
346
+
347
+ # When enabled, Telnyx forwards the assistant's dynamic variables to the external
348
+ # LLM endpoint. Defaults to false. The chat completion request includes a
349
+ # top-level `extra_metadata` object when dynamic variables are available. For
350
+ # example:
351
+ # `{"extra_metadata":{"customer_name":"Jane","account_id":"acct_789","telnyx_agent_target":"+13125550100","telnyx_end_user_target":"+13125550123"}}`.
352
+ sig { returns(T.nilable(T::Boolean)) }
353
+ attr_reader :forward_metadata
354
+
355
+ sig { params(forward_metadata: T::Boolean).void }
356
+ attr_writer :forward_metadata
357
+
358
+ # Integration secret identifier for the external LLM API key.
359
+ sig { returns(T.nilable(String)) }
360
+ attr_reader :llm_api_key_ref
361
+
362
+ sig { params(llm_api_key_ref: String).void }
363
+ attr_writer :llm_api_key_ref
364
+
365
+ # Model identifier to use with the external LLM endpoint.
366
+ sig { returns(T.nilable(String)) }
367
+ attr_reader :model
368
+
369
+ sig { params(model: String).void }
370
+ attr_writer :model
371
+
372
+ # URL used to retrieve an access token when certificate authentication is enabled.
373
+ sig { returns(T.nilable(String)) }
374
+ attr_reader :token_retrieval_url
375
+
376
+ sig { params(token_retrieval_url: String).void }
377
+ attr_writer :token_retrieval_url
378
+
379
+ # External LLM configuration for bringing your own LLM endpoint.
380
+ sig do
381
+ params(
382
+ authentication_method:
383
+ Telnyx::CallAssistantRequest::ExternalLlm::AuthenticationMethod::OrSymbol,
384
+ base_url: String,
385
+ certificate_ref: String,
386
+ forward_metadata: T::Boolean,
387
+ llm_api_key_ref: String,
388
+ model: String,
389
+ token_retrieval_url: String
390
+ ).returns(T.attached_class)
391
+ end
392
+ def self.new(
393
+ # Authentication method used when connecting to the external LLM endpoint.
394
+ authentication_method: nil,
395
+ # Base URL for the external LLM endpoint.
396
+ base_url: nil,
397
+ # Integration secret identifier for the client certificate used with certificate
398
+ # authentication.
399
+ certificate_ref: nil,
400
+ # When enabled, Telnyx forwards the assistant's dynamic variables to the external
401
+ # LLM endpoint. Defaults to false. The chat completion request includes a
402
+ # top-level `extra_metadata` object when dynamic variables are available. For
403
+ # example:
404
+ # `{"extra_metadata":{"customer_name":"Jane","account_id":"acct_789","telnyx_agent_target":"+13125550100","telnyx_end_user_target":"+13125550123"}}`.
405
+ forward_metadata: nil,
406
+ # Integration secret identifier for the external LLM API key.
407
+ llm_api_key_ref: nil,
408
+ # Model identifier to use with the external LLM endpoint.
409
+ model: nil,
410
+ # URL used to retrieve an access token when certificate authentication is enabled.
411
+ token_retrieval_url: nil
412
+ )
413
+ end
414
+
415
+ sig do
416
+ override.returns(
417
+ {
418
+ authentication_method:
419
+ Telnyx::CallAssistantRequest::ExternalLlm::AuthenticationMethod::OrSymbol,
420
+ base_url: String,
421
+ certificate_ref: String,
422
+ forward_metadata: T::Boolean,
423
+ llm_api_key_ref: String,
424
+ model: String,
425
+ token_retrieval_url: String
426
+ }
427
+ )
428
+ end
429
+ def to_hash
430
+ end
431
+
432
+ # Authentication method used when connecting to the external LLM endpoint.
433
+ module AuthenticationMethod
434
+ extend Telnyx::Internal::Type::Enum
435
+
436
+ TaggedSymbol =
437
+ T.type_alias do
438
+ T.all(
439
+ Symbol,
440
+ Telnyx::CallAssistantRequest::ExternalLlm::AuthenticationMethod
441
+ )
442
+ end
443
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
444
+
445
+ TOKEN =
446
+ T.let(
447
+ :token,
448
+ Telnyx::CallAssistantRequest::ExternalLlm::AuthenticationMethod::TaggedSymbol
449
+ )
450
+ CERTIFICATE =
451
+ T.let(
452
+ :certificate,
453
+ Telnyx::CallAssistantRequest::ExternalLlm::AuthenticationMethod::TaggedSymbol
454
+ )
455
+
456
+ sig do
457
+ override.returns(
458
+ T::Array[
459
+ Telnyx::CallAssistantRequest::ExternalLlm::AuthenticationMethod::TaggedSymbol
460
+ ]
461
+ )
462
+ end
463
+ def self.values
464
+ end
465
+ end
466
+ end
467
+
468
+ class FallbackConfig < Telnyx::Internal::Type::BaseModel
469
+ OrHash =
470
+ T.type_alias do
471
+ T.any(
472
+ Telnyx::CallAssistantRequest::FallbackConfig,
473
+ Telnyx::Internal::AnyHash
474
+ )
475
+ end
476
+
477
+ # External LLM fallback configuration.
478
+ sig do
479
+ returns(
480
+ T.nilable(Telnyx::CallAssistantRequest::FallbackConfig::ExternalLlm)
481
+ )
482
+ end
483
+ attr_reader :external_llm
484
+
485
+ sig do
486
+ params(
487
+ external_llm:
488
+ Telnyx::CallAssistantRequest::FallbackConfig::ExternalLlm::OrHash
489
+ ).void
490
+ end
491
+ attr_writer :external_llm
492
+
493
+ # Integration secret identifier for the fallback model API key.
494
+ sig { returns(T.nilable(String)) }
495
+ attr_reader :llm_api_key_ref
496
+
497
+ sig { params(llm_api_key_ref: String).void }
498
+ attr_writer :llm_api_key_ref
499
+
500
+ # Fallback Telnyx-hosted model to use when the primary LLM provider is
501
+ # unavailable.
502
+ sig { returns(T.nilable(String)) }
503
+ attr_reader :model
504
+
505
+ sig { params(model: String).void }
506
+ attr_writer :model
507
+
508
+ # Fallback LLM configuration used when the primary LLM provider is unavailable.
509
+ sig do
510
+ params(
511
+ external_llm:
512
+ Telnyx::CallAssistantRequest::FallbackConfig::ExternalLlm::OrHash,
513
+ llm_api_key_ref: String,
514
+ model: String
515
+ ).returns(T.attached_class)
516
+ end
517
+ def self.new(
518
+ # External LLM fallback configuration.
519
+ external_llm: nil,
520
+ # Integration secret identifier for the fallback model API key.
521
+ llm_api_key_ref: nil,
522
+ # Fallback Telnyx-hosted model to use when the primary LLM provider is
523
+ # unavailable.
524
+ model: nil
525
+ )
526
+ end
527
+
528
+ sig do
529
+ override.returns(
530
+ {
531
+ external_llm:
532
+ Telnyx::CallAssistantRequest::FallbackConfig::ExternalLlm,
533
+ llm_api_key_ref: String,
534
+ model: String
535
+ }
536
+ )
537
+ end
538
+ def to_hash
539
+ end
540
+
541
+ class ExternalLlm < Telnyx::Internal::Type::BaseModel
542
+ OrHash =
543
+ T.type_alias do
544
+ T.any(
545
+ Telnyx::CallAssistantRequest::FallbackConfig::ExternalLlm,
546
+ Telnyx::Internal::AnyHash
547
+ )
548
+ end
549
+
550
+ # Authentication method used when connecting to the external LLM endpoint.
551
+ sig do
552
+ returns(
553
+ T.nilable(
554
+ Telnyx::CallAssistantRequest::FallbackConfig::ExternalLlm::AuthenticationMethod::OrSymbol
555
+ )
556
+ )
557
+ end
558
+ attr_reader :authentication_method
559
+
560
+ sig do
561
+ params(
562
+ authentication_method:
563
+ Telnyx::CallAssistantRequest::FallbackConfig::ExternalLlm::AuthenticationMethod::OrSymbol
564
+ ).void
565
+ end
566
+ attr_writer :authentication_method
567
+
568
+ # Base URL for the external LLM endpoint.
569
+ sig { returns(T.nilable(String)) }
570
+ attr_reader :base_url
571
+
572
+ sig { params(base_url: String).void }
573
+ attr_writer :base_url
574
+
575
+ # Integration secret identifier for the client certificate used with certificate
576
+ # authentication.
577
+ sig { returns(T.nilable(String)) }
578
+ attr_reader :certificate_ref
579
+
580
+ sig { params(certificate_ref: String).void }
581
+ attr_writer :certificate_ref
582
+
583
+ # When enabled, Telnyx forwards the assistant's dynamic variables to the external
584
+ # LLM endpoint. Defaults to false. The chat completion request includes a
585
+ # top-level `extra_metadata` object when dynamic variables are available. For
586
+ # example:
587
+ # `{"extra_metadata":{"customer_name":"Jane","account_id":"acct_789","telnyx_agent_target":"+13125550100","telnyx_end_user_target":"+13125550123"}}`.
588
+ sig { returns(T.nilable(T::Boolean)) }
589
+ attr_reader :forward_metadata
590
+
591
+ sig { params(forward_metadata: T::Boolean).void }
592
+ attr_writer :forward_metadata
593
+
594
+ # Integration secret identifier for the external LLM API key.
595
+ sig { returns(T.nilable(String)) }
596
+ attr_reader :llm_api_key_ref
597
+
598
+ sig { params(llm_api_key_ref: String).void }
599
+ attr_writer :llm_api_key_ref
600
+
601
+ # Model identifier to use with the external LLM endpoint.
602
+ sig { returns(T.nilable(String)) }
603
+ attr_reader :model
604
+
605
+ sig { params(model: String).void }
606
+ attr_writer :model
607
+
608
+ # URL used to retrieve an access token when certificate authentication is enabled.
609
+ sig { returns(T.nilable(String)) }
610
+ attr_reader :token_retrieval_url
611
+
612
+ sig { params(token_retrieval_url: String).void }
613
+ attr_writer :token_retrieval_url
614
+
615
+ # External LLM fallback configuration.
616
+ sig do
617
+ params(
618
+ authentication_method:
619
+ Telnyx::CallAssistantRequest::FallbackConfig::ExternalLlm::AuthenticationMethod::OrSymbol,
620
+ base_url: String,
621
+ certificate_ref: String,
622
+ forward_metadata: T::Boolean,
623
+ llm_api_key_ref: String,
624
+ model: String,
625
+ token_retrieval_url: String
626
+ ).returns(T.attached_class)
627
+ end
628
+ def self.new(
629
+ # Authentication method used when connecting to the external LLM endpoint.
630
+ authentication_method: nil,
631
+ # Base URL for the external LLM endpoint.
632
+ base_url: nil,
633
+ # Integration secret identifier for the client certificate used with certificate
634
+ # authentication.
635
+ certificate_ref: nil,
636
+ # When enabled, Telnyx forwards the assistant's dynamic variables to the external
637
+ # LLM endpoint. Defaults to false. The chat completion request includes a
638
+ # top-level `extra_metadata` object when dynamic variables are available. For
639
+ # example:
640
+ # `{"extra_metadata":{"customer_name":"Jane","account_id":"acct_789","telnyx_agent_target":"+13125550100","telnyx_end_user_target":"+13125550123"}}`.
641
+ forward_metadata: nil,
642
+ # Integration secret identifier for the external LLM API key.
643
+ llm_api_key_ref: nil,
644
+ # Model identifier to use with the external LLM endpoint.
645
+ model: nil,
646
+ # URL used to retrieve an access token when certificate authentication is enabled.
647
+ token_retrieval_url: nil
648
+ )
649
+ end
650
+
651
+ sig do
652
+ override.returns(
653
+ {
654
+ authentication_method:
655
+ Telnyx::CallAssistantRequest::FallbackConfig::ExternalLlm::AuthenticationMethod::OrSymbol,
656
+ base_url: String,
657
+ certificate_ref: String,
658
+ forward_metadata: T::Boolean,
659
+ llm_api_key_ref: String,
660
+ model: String,
661
+ token_retrieval_url: String
662
+ }
663
+ )
664
+ end
665
+ def to_hash
666
+ end
667
+
668
+ # Authentication method used when connecting to the external LLM endpoint.
669
+ module AuthenticationMethod
670
+ extend Telnyx::Internal::Type::Enum
671
+
672
+ TaggedSymbol =
673
+ T.type_alias do
674
+ T.all(
675
+ Symbol,
676
+ Telnyx::CallAssistantRequest::FallbackConfig::ExternalLlm::AuthenticationMethod
677
+ )
678
+ end
679
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
680
+
681
+ TOKEN =
682
+ T.let(
683
+ :token,
684
+ Telnyx::CallAssistantRequest::FallbackConfig::ExternalLlm::AuthenticationMethod::TaggedSymbol
685
+ )
686
+ CERTIFICATE =
687
+ T.let(
688
+ :certificate,
689
+ Telnyx::CallAssistantRequest::FallbackConfig::ExternalLlm::AuthenticationMethod::TaggedSymbol
690
+ )
691
+
692
+ sig do
693
+ override.returns(
694
+ T::Array[
695
+ Telnyx::CallAssistantRequest::FallbackConfig::ExternalLlm::AuthenticationMethod::TaggedSymbol
696
+ ]
697
+ )
698
+ end
699
+ def self.values
700
+ end
701
+ end
702
+ end
703
+ end
704
+
297
705
  module Tool
298
706
  extend Telnyx::Internal::Type::Union
299
707
 
@@ -36,6 +36,10 @@ module Telnyx
36
36
  dynamic_variables: T::Hash[Symbol, T.anything],
37
37
  dynamic_variables_webhook_url: String,
38
38
  enabled_features: T::Array[Telnyx::AI::EnabledFeatures::OrSymbol],
39
+ external_llm:
40
+ Telnyx::AI::Assistants::UpdateAssistant::ExternalLlm::OrHash,
41
+ fallback_config:
42
+ Telnyx::AI::Assistants::UpdateAssistant::FallbackConfig::OrHash,
39
43
  greeting: String,
40
44
  insight_settings: Telnyx::AI::InsightSettings::OrHash,
41
45
  instructions: String,
@@ -86,6 +90,10 @@ module Telnyx
86
90
  dynamic_variables_webhook_url: nil,
87
91
  # Body param
88
92
  enabled_features: nil,
93
+ # Body param
94
+ external_llm: nil,
95
+ # Body param
96
+ fallback_config: nil,
89
97
  # Body param: Text that the assistant will use to start the conversation. This may
90
98
  # be templated with
91
99
  # [dynamic variables](https://developers.telnyx.com/docs/inference/ai-assistants/dynamic-variables).
@@ -39,6 +39,10 @@ module Telnyx
39
39
  dynamic_variables: T::Hash[Symbol, T.anything],
40
40
  dynamic_variables_webhook_url: String,
41
41
  enabled_features: T::Array[Telnyx::AI::EnabledFeatures::OrSymbol],
42
+ external_llm:
43
+ Telnyx::AI::AssistantCreateParams::ExternalLlm::OrHash,
44
+ fallback_config:
45
+ Telnyx::AI::AssistantCreateParams::FallbackConfig::OrHash,
42
46
  greeting: String,
43
47
  insight_settings: Telnyx::AI::InsightSettings::OrHash,
44
48
  llm_api_key_ref: String,
@@ -88,6 +92,8 @@ module Telnyx
88
92
  # for more information.
89
93
  dynamic_variables_webhook_url: nil,
90
94
  enabled_features: nil,
95
+ external_llm: nil,
96
+ fallback_config: nil,
91
97
  # Text that the assistant will use to start the conversation. This may be
92
98
  # templated with
93
99
  # [dynamic variables](https://developers.telnyx.com/docs/inference/ai-assistants/dynamic-variables).
@@ -154,6 +160,10 @@ module Telnyx
154
160
  dynamic_variables: T::Hash[Symbol, T.anything],
155
161
  dynamic_variables_webhook_url: String,
156
162
  enabled_features: T::Array[Telnyx::AI::EnabledFeatures::OrSymbol],
163
+ external_llm:
164
+ Telnyx::AI::AssistantUpdateParams::ExternalLlm::OrHash,
165
+ fallback_config:
166
+ Telnyx::AI::AssistantUpdateParams::FallbackConfig::OrHash,
157
167
  greeting: String,
158
168
  insight_settings: Telnyx::AI::InsightSettings::OrHash,
159
169
  instructions: String,
@@ -200,6 +210,8 @@ module Telnyx
200
210
  # for more information.
201
211
  dynamic_variables_webhook_url: nil,
202
212
  enabled_features: nil,
213
+ external_llm: nil,
214
+ fallback_config: nil,
203
215
  # Text that the assistant will use to start the conversation. This may be
204
216
  # templated with
205
217
  # [dynamic variables](https://developers.telnyx.com/docs/inference/ai-assistants/dynamic-variables).