telnyx 5.91.0 → 5.92.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +8 -0
- data/README.md +1 -1
- data/lib/telnyx/models/ai/assistant_create_params.rb +227 -9
- data/lib/telnyx/models/ai/assistant_update_params.rb +227 -9
- data/lib/telnyx/models/ai/assistants/update_assistant.rb +232 -9
- data/lib/telnyx/models/ai/inference_embedding.rb +230 -9
- data/lib/telnyx/models/calls/transcription_start_request.rb +171 -3
- data/lib/telnyx/resources/ai/assistants/versions.rb +3 -3
- data/lib/telnyx/resources/ai/assistants.rb +6 -6
- data/lib/telnyx/resources/calls/actions.rb +1 -1
- data/lib/telnyx/version.rb +1 -1
- data/lib/telnyx.rb +0 -6
- data/rbi/telnyx/models/ai/assistant_create_params.rbi +455 -12
- data/rbi/telnyx/models/ai/assistant_update_params.rbi +455 -12
- data/rbi/telnyx/models/ai/assistants/update_assistant.rbi +461 -12
- data/rbi/telnyx/models/ai/inference_embedding.rbi +452 -12
- data/rbi/telnyx/models/calls/transcription_start_request.rbi +490 -0
- data/rbi/telnyx/resources/ai/assistants/versions.rbi +5 -3
- data/rbi/telnyx/resources/ai/assistants.rbi +10 -6
- data/rbi/telnyx/resources/calls/actions.rbi +2 -0
- data/sig/telnyx/models/ai/assistant_create_params.rbs +205 -18
- data/sig/telnyx/models/ai/assistant_update_params.rbs +205 -18
- data/sig/telnyx/models/ai/assistants/update_assistant.rbs +205 -18
- data/sig/telnyx/models/ai/inference_embedding.rbs +206 -17
- data/sig/telnyx/models/calls/transcription_start_request.rbs +187 -1
- data/sig/telnyx/resources/ai/assistants/versions.rbs +3 -3
- data/sig/telnyx/resources/ai/assistants.rbs +6 -6
- metadata +1 -19
- data/lib/telnyx/models/ai/external_llm.rb +0 -87
- data/lib/telnyx/models/ai/external_llm_req.rb +0 -87
- data/lib/telnyx/models/ai/fallback_config.rb +0 -37
- data/lib/telnyx/models/ai/fallback_config_req.rb +0 -37
- data/lib/telnyx/models/ai/post_conversation_settings.rb +0 -30
- data/lib/telnyx/models/ai/post_conversation_settings_req.rb +0 -30
- data/rbi/telnyx/models/ai/external_llm.rbi +0 -157
- data/rbi/telnyx/models/ai/external_llm_req.rbi +0 -157
- data/rbi/telnyx/models/ai/fallback_config.rbi +0 -64
- data/rbi/telnyx/models/ai/fallback_config_req.rbi +0 -64
- data/rbi/telnyx/models/ai/post_conversation_settings.rbi +0 -45
- data/rbi/telnyx/models/ai/post_conversation_settings_req.rbi +0 -45
- data/sig/telnyx/models/ai/external_llm.rbs +0 -75
- data/sig/telnyx/models/ai/external_llm_req.rbs +0 -75
- data/sig/telnyx/models/ai/fallback_config.rbs +0 -38
- data/sig/telnyx/models/ai/fallback_config_req.rbs +0 -40
- data/sig/telnyx/models/ai/post_conversation_settings.rbs +0 -17
- data/sig/telnyx/models/ai/post_conversation_settings_req.rbs +0 -17
|
@@ -50,17 +50,28 @@ module Telnyx
|
|
|
50
50
|
end
|
|
51
51
|
attr_writer :enabled_features
|
|
52
52
|
|
|
53
|
-
sig
|
|
53
|
+
sig do
|
|
54
|
+
returns(T.nilable(Telnyx::AI::AssistantUpdateParams::ExternalLlm))
|
|
55
|
+
end
|
|
54
56
|
attr_reader :external_llm
|
|
55
57
|
|
|
56
|
-
sig
|
|
58
|
+
sig do
|
|
59
|
+
params(
|
|
60
|
+
external_llm: Telnyx::AI::AssistantUpdateParams::ExternalLlm::OrHash
|
|
61
|
+
).void
|
|
62
|
+
end
|
|
57
63
|
attr_writer :external_llm
|
|
58
64
|
|
|
59
|
-
sig
|
|
65
|
+
sig do
|
|
66
|
+
returns(T.nilable(Telnyx::AI::AssistantUpdateParams::FallbackConfig))
|
|
67
|
+
end
|
|
60
68
|
attr_reader :fallback_config
|
|
61
69
|
|
|
62
70
|
sig do
|
|
63
|
-
params(
|
|
71
|
+
params(
|
|
72
|
+
fallback_config:
|
|
73
|
+
Telnyx::AI::AssistantUpdateParams::FallbackConfig::OrHash
|
|
74
|
+
).void
|
|
64
75
|
end
|
|
65
76
|
attr_writer :fallback_config
|
|
66
77
|
|
|
@@ -142,13 +153,19 @@ module Telnyx
|
|
|
142
153
|
# can execute multiple parallel or sequential tools during this phase.
|
|
143
154
|
# Telephony-control tools (e.g. hangup, transfer) are unavailable
|
|
144
155
|
# post-conversation. Beta feature.
|
|
145
|
-
sig
|
|
156
|
+
sig do
|
|
157
|
+
returns(
|
|
158
|
+
T.nilable(
|
|
159
|
+
Telnyx::AI::AssistantUpdateParams::PostConversationSettings
|
|
160
|
+
)
|
|
161
|
+
)
|
|
162
|
+
end
|
|
146
163
|
attr_reader :post_conversation_settings
|
|
147
164
|
|
|
148
165
|
sig do
|
|
149
166
|
params(
|
|
150
167
|
post_conversation_settings:
|
|
151
|
-
Telnyx::AI::
|
|
168
|
+
Telnyx::AI::AssistantUpdateParams::PostConversationSettings::OrHash
|
|
152
169
|
).void
|
|
153
170
|
end
|
|
154
171
|
attr_writer :post_conversation_settings
|
|
@@ -256,8 +273,10 @@ module Telnyx
|
|
|
256
273
|
dynamic_variables: T::Hash[Symbol, T.anything],
|
|
257
274
|
dynamic_variables_webhook_url: String,
|
|
258
275
|
enabled_features: T::Array[Telnyx::AI::EnabledFeatures::OrSymbol],
|
|
259
|
-
external_llm:
|
|
260
|
-
|
|
276
|
+
external_llm:
|
|
277
|
+
Telnyx::AI::AssistantUpdateParams::ExternalLlm::OrHash,
|
|
278
|
+
fallback_config:
|
|
279
|
+
Telnyx::AI::AssistantUpdateParams::FallbackConfig::OrHash,
|
|
261
280
|
greeting: String,
|
|
262
281
|
insight_settings: Telnyx::AI::InsightSettings::OrHash,
|
|
263
282
|
instructions: String,
|
|
@@ -267,7 +286,7 @@ module Telnyx
|
|
|
267
286
|
name: String,
|
|
268
287
|
observability_settings: Telnyx::AI::ObservabilityReq::OrHash,
|
|
269
288
|
post_conversation_settings:
|
|
270
|
-
Telnyx::AI::
|
|
289
|
+
Telnyx::AI::AssistantUpdateParams::PostConversationSettings::OrHash,
|
|
271
290
|
privacy_settings: Telnyx::AI::PrivacySettings::OrHash,
|
|
272
291
|
promote_to_main: T::Boolean,
|
|
273
292
|
telephony_settings: Telnyx::AI::TelephonySettings::OrHash,
|
|
@@ -362,8 +381,9 @@ module Telnyx
|
|
|
362
381
|
dynamic_variables: T::Hash[Symbol, T.anything],
|
|
363
382
|
dynamic_variables_webhook_url: String,
|
|
364
383
|
enabled_features: T::Array[Telnyx::AI::EnabledFeatures::OrSymbol],
|
|
365
|
-
external_llm: Telnyx::AI::
|
|
366
|
-
fallback_config:
|
|
384
|
+
external_llm: Telnyx::AI::AssistantUpdateParams::ExternalLlm,
|
|
385
|
+
fallback_config:
|
|
386
|
+
Telnyx::AI::AssistantUpdateParams::FallbackConfig,
|
|
367
387
|
greeting: String,
|
|
368
388
|
insight_settings: Telnyx::AI::InsightSettings,
|
|
369
389
|
instructions: String,
|
|
@@ -373,7 +393,7 @@ module Telnyx
|
|
|
373
393
|
name: String,
|
|
374
394
|
observability_settings: Telnyx::AI::ObservabilityReq,
|
|
375
395
|
post_conversation_settings:
|
|
376
|
-
Telnyx::AI::
|
|
396
|
+
Telnyx::AI::AssistantUpdateParams::PostConversationSettings,
|
|
377
397
|
privacy_settings: Telnyx::AI::PrivacySettings,
|
|
378
398
|
promote_to_main: T::Boolean,
|
|
379
399
|
telephony_settings: Telnyx::AI::TelephonySettings,
|
|
@@ -402,6 +422,429 @@ module Telnyx
|
|
|
402
422
|
end
|
|
403
423
|
def to_hash
|
|
404
424
|
end
|
|
425
|
+
|
|
426
|
+
class ExternalLlm < Telnyx::Internal::Type::BaseModel
|
|
427
|
+
OrHash =
|
|
428
|
+
T.type_alias do
|
|
429
|
+
T.any(
|
|
430
|
+
Telnyx::AI::AssistantUpdateParams::ExternalLlm,
|
|
431
|
+
Telnyx::Internal::AnyHash
|
|
432
|
+
)
|
|
433
|
+
end
|
|
434
|
+
|
|
435
|
+
# Base URL for the external LLM endpoint.
|
|
436
|
+
sig { returns(String) }
|
|
437
|
+
attr_accessor :base_url
|
|
438
|
+
|
|
439
|
+
# Model identifier to use with the external LLM endpoint.
|
|
440
|
+
sig { returns(String) }
|
|
441
|
+
attr_accessor :model
|
|
442
|
+
|
|
443
|
+
# Authentication method used when connecting to the external LLM endpoint.
|
|
444
|
+
sig do
|
|
445
|
+
returns(
|
|
446
|
+
T.nilable(
|
|
447
|
+
Telnyx::AI::AssistantUpdateParams::ExternalLlm::AuthenticationMethod::OrSymbol
|
|
448
|
+
)
|
|
449
|
+
)
|
|
450
|
+
end
|
|
451
|
+
attr_reader :authentication_method
|
|
452
|
+
|
|
453
|
+
sig do
|
|
454
|
+
params(
|
|
455
|
+
authentication_method:
|
|
456
|
+
Telnyx::AI::AssistantUpdateParams::ExternalLlm::AuthenticationMethod::OrSymbol
|
|
457
|
+
).void
|
|
458
|
+
end
|
|
459
|
+
attr_writer :authentication_method
|
|
460
|
+
|
|
461
|
+
# Integration secret identifier for the client certificate used with certificate
|
|
462
|
+
# authentication.
|
|
463
|
+
sig { returns(T.nilable(String)) }
|
|
464
|
+
attr_reader :certificate_ref
|
|
465
|
+
|
|
466
|
+
sig { params(certificate_ref: String).void }
|
|
467
|
+
attr_writer :certificate_ref
|
|
468
|
+
|
|
469
|
+
# When enabled, Telnyx forwards the assistant's dynamic variables to the external
|
|
470
|
+
# LLM endpoint. Defaults to false. The chat completion request includes a
|
|
471
|
+
# top-level `extra_metadata` object when dynamic variables are available. For
|
|
472
|
+
# example:
|
|
473
|
+
# `{"extra_metadata":{"customer_name":"Jane","account_id":"acct_789","telnyx_agent_target":"+13125550100","telnyx_end_user_target":"+13125550123"}}`.
|
|
474
|
+
sig { returns(T.nilable(T::Boolean)) }
|
|
475
|
+
attr_reader :forward_metadata
|
|
476
|
+
|
|
477
|
+
sig { params(forward_metadata: T::Boolean).void }
|
|
478
|
+
attr_writer :forward_metadata
|
|
479
|
+
|
|
480
|
+
# Integration secret identifier for the external LLM API key.
|
|
481
|
+
sig { returns(T.nilable(String)) }
|
|
482
|
+
attr_reader :llm_api_key_ref
|
|
483
|
+
|
|
484
|
+
sig { params(llm_api_key_ref: String).void }
|
|
485
|
+
attr_writer :llm_api_key_ref
|
|
486
|
+
|
|
487
|
+
# URL used to retrieve an access token when certificate authentication is enabled.
|
|
488
|
+
sig { returns(T.nilable(String)) }
|
|
489
|
+
attr_reader :token_retrieval_url
|
|
490
|
+
|
|
491
|
+
sig { params(token_retrieval_url: String).void }
|
|
492
|
+
attr_writer :token_retrieval_url
|
|
493
|
+
|
|
494
|
+
sig do
|
|
495
|
+
params(
|
|
496
|
+
base_url: String,
|
|
497
|
+
model: String,
|
|
498
|
+
authentication_method:
|
|
499
|
+
Telnyx::AI::AssistantUpdateParams::ExternalLlm::AuthenticationMethod::OrSymbol,
|
|
500
|
+
certificate_ref: String,
|
|
501
|
+
forward_metadata: T::Boolean,
|
|
502
|
+
llm_api_key_ref: String,
|
|
503
|
+
token_retrieval_url: String
|
|
504
|
+
).returns(T.attached_class)
|
|
505
|
+
end
|
|
506
|
+
def self.new(
|
|
507
|
+
# Base URL for the external LLM endpoint.
|
|
508
|
+
base_url:,
|
|
509
|
+
# Model identifier to use with the external LLM endpoint.
|
|
510
|
+
model:,
|
|
511
|
+
# Authentication method used when connecting to the external LLM endpoint.
|
|
512
|
+
authentication_method: nil,
|
|
513
|
+
# Integration secret identifier for the client certificate used with certificate
|
|
514
|
+
# authentication.
|
|
515
|
+
certificate_ref: nil,
|
|
516
|
+
# When enabled, Telnyx forwards the assistant's dynamic variables to the external
|
|
517
|
+
# LLM endpoint. Defaults to false. The chat completion request includes a
|
|
518
|
+
# top-level `extra_metadata` object when dynamic variables are available. For
|
|
519
|
+
# example:
|
|
520
|
+
# `{"extra_metadata":{"customer_name":"Jane","account_id":"acct_789","telnyx_agent_target":"+13125550100","telnyx_end_user_target":"+13125550123"}}`.
|
|
521
|
+
forward_metadata: nil,
|
|
522
|
+
# Integration secret identifier for the external LLM API key.
|
|
523
|
+
llm_api_key_ref: nil,
|
|
524
|
+
# URL used to retrieve an access token when certificate authentication is enabled.
|
|
525
|
+
token_retrieval_url: nil
|
|
526
|
+
)
|
|
527
|
+
end
|
|
528
|
+
|
|
529
|
+
sig do
|
|
530
|
+
override.returns(
|
|
531
|
+
{
|
|
532
|
+
base_url: String,
|
|
533
|
+
model: String,
|
|
534
|
+
authentication_method:
|
|
535
|
+
Telnyx::AI::AssistantUpdateParams::ExternalLlm::AuthenticationMethod::OrSymbol,
|
|
536
|
+
certificate_ref: String,
|
|
537
|
+
forward_metadata: T::Boolean,
|
|
538
|
+
llm_api_key_ref: String,
|
|
539
|
+
token_retrieval_url: String
|
|
540
|
+
}
|
|
541
|
+
)
|
|
542
|
+
end
|
|
543
|
+
def to_hash
|
|
544
|
+
end
|
|
545
|
+
|
|
546
|
+
# Authentication method used when connecting to the external LLM endpoint.
|
|
547
|
+
module AuthenticationMethod
|
|
548
|
+
extend Telnyx::Internal::Type::Enum
|
|
549
|
+
|
|
550
|
+
TaggedSymbol =
|
|
551
|
+
T.type_alias do
|
|
552
|
+
T.all(
|
|
553
|
+
Symbol,
|
|
554
|
+
Telnyx::AI::AssistantUpdateParams::ExternalLlm::AuthenticationMethod
|
|
555
|
+
)
|
|
556
|
+
end
|
|
557
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
558
|
+
|
|
559
|
+
TOKEN =
|
|
560
|
+
T.let(
|
|
561
|
+
:token,
|
|
562
|
+
Telnyx::AI::AssistantUpdateParams::ExternalLlm::AuthenticationMethod::TaggedSymbol
|
|
563
|
+
)
|
|
564
|
+
CERTIFICATE =
|
|
565
|
+
T.let(
|
|
566
|
+
:certificate,
|
|
567
|
+
Telnyx::AI::AssistantUpdateParams::ExternalLlm::AuthenticationMethod::TaggedSymbol
|
|
568
|
+
)
|
|
569
|
+
|
|
570
|
+
sig do
|
|
571
|
+
override.returns(
|
|
572
|
+
T::Array[
|
|
573
|
+
Telnyx::AI::AssistantUpdateParams::ExternalLlm::AuthenticationMethod::TaggedSymbol
|
|
574
|
+
]
|
|
575
|
+
)
|
|
576
|
+
end
|
|
577
|
+
def self.values
|
|
578
|
+
end
|
|
579
|
+
end
|
|
580
|
+
end
|
|
581
|
+
|
|
582
|
+
class FallbackConfig < Telnyx::Internal::Type::BaseModel
|
|
583
|
+
OrHash =
|
|
584
|
+
T.type_alias do
|
|
585
|
+
T.any(
|
|
586
|
+
Telnyx::AI::AssistantUpdateParams::FallbackConfig,
|
|
587
|
+
Telnyx::Internal::AnyHash
|
|
588
|
+
)
|
|
589
|
+
end
|
|
590
|
+
|
|
591
|
+
sig do
|
|
592
|
+
returns(
|
|
593
|
+
T.nilable(
|
|
594
|
+
Telnyx::AI::AssistantUpdateParams::FallbackConfig::ExternalLlm
|
|
595
|
+
)
|
|
596
|
+
)
|
|
597
|
+
end
|
|
598
|
+
attr_reader :external_llm
|
|
599
|
+
|
|
600
|
+
sig do
|
|
601
|
+
params(
|
|
602
|
+
external_llm:
|
|
603
|
+
Telnyx::AI::AssistantUpdateParams::FallbackConfig::ExternalLlm::OrHash
|
|
604
|
+
).void
|
|
605
|
+
end
|
|
606
|
+
attr_writer :external_llm
|
|
607
|
+
|
|
608
|
+
# Integration secret identifier for the fallback model API key.
|
|
609
|
+
sig { returns(T.nilable(String)) }
|
|
610
|
+
attr_reader :llm_api_key_ref
|
|
611
|
+
|
|
612
|
+
sig { params(llm_api_key_ref: String).void }
|
|
613
|
+
attr_writer :llm_api_key_ref
|
|
614
|
+
|
|
615
|
+
# Fallback Telnyx-hosted model to use when the primary LLM provider is
|
|
616
|
+
# unavailable.
|
|
617
|
+
sig { returns(T.nilable(String)) }
|
|
618
|
+
attr_reader :model
|
|
619
|
+
|
|
620
|
+
sig { params(model: String).void }
|
|
621
|
+
attr_writer :model
|
|
622
|
+
|
|
623
|
+
sig do
|
|
624
|
+
params(
|
|
625
|
+
external_llm:
|
|
626
|
+
Telnyx::AI::AssistantUpdateParams::FallbackConfig::ExternalLlm::OrHash,
|
|
627
|
+
llm_api_key_ref: String,
|
|
628
|
+
model: String
|
|
629
|
+
).returns(T.attached_class)
|
|
630
|
+
end
|
|
631
|
+
def self.new(
|
|
632
|
+
external_llm: nil,
|
|
633
|
+
# Integration secret identifier for the fallback model API key.
|
|
634
|
+
llm_api_key_ref: nil,
|
|
635
|
+
# Fallback Telnyx-hosted model to use when the primary LLM provider is
|
|
636
|
+
# unavailable.
|
|
637
|
+
model: nil
|
|
638
|
+
)
|
|
639
|
+
end
|
|
640
|
+
|
|
641
|
+
sig do
|
|
642
|
+
override.returns(
|
|
643
|
+
{
|
|
644
|
+
external_llm:
|
|
645
|
+
Telnyx::AI::AssistantUpdateParams::FallbackConfig::ExternalLlm,
|
|
646
|
+
llm_api_key_ref: String,
|
|
647
|
+
model: String
|
|
648
|
+
}
|
|
649
|
+
)
|
|
650
|
+
end
|
|
651
|
+
def to_hash
|
|
652
|
+
end
|
|
653
|
+
|
|
654
|
+
class ExternalLlm < Telnyx::Internal::Type::BaseModel
|
|
655
|
+
OrHash =
|
|
656
|
+
T.type_alias do
|
|
657
|
+
T.any(
|
|
658
|
+
Telnyx::AI::AssistantUpdateParams::FallbackConfig::ExternalLlm,
|
|
659
|
+
Telnyx::Internal::AnyHash
|
|
660
|
+
)
|
|
661
|
+
end
|
|
662
|
+
|
|
663
|
+
# Base URL for the external LLM endpoint.
|
|
664
|
+
sig { returns(String) }
|
|
665
|
+
attr_accessor :base_url
|
|
666
|
+
|
|
667
|
+
# Model identifier to use with the external LLM endpoint.
|
|
668
|
+
sig { returns(String) }
|
|
669
|
+
attr_accessor :model
|
|
670
|
+
|
|
671
|
+
# Authentication method used when connecting to the external LLM endpoint.
|
|
672
|
+
sig do
|
|
673
|
+
returns(
|
|
674
|
+
T.nilable(
|
|
675
|
+
Telnyx::AI::AssistantUpdateParams::FallbackConfig::ExternalLlm::AuthenticationMethod::OrSymbol
|
|
676
|
+
)
|
|
677
|
+
)
|
|
678
|
+
end
|
|
679
|
+
attr_reader :authentication_method
|
|
680
|
+
|
|
681
|
+
sig do
|
|
682
|
+
params(
|
|
683
|
+
authentication_method:
|
|
684
|
+
Telnyx::AI::AssistantUpdateParams::FallbackConfig::ExternalLlm::AuthenticationMethod::OrSymbol
|
|
685
|
+
).void
|
|
686
|
+
end
|
|
687
|
+
attr_writer :authentication_method
|
|
688
|
+
|
|
689
|
+
# Integration secret identifier for the client certificate used with certificate
|
|
690
|
+
# authentication.
|
|
691
|
+
sig { returns(T.nilable(String)) }
|
|
692
|
+
attr_reader :certificate_ref
|
|
693
|
+
|
|
694
|
+
sig { params(certificate_ref: String).void }
|
|
695
|
+
attr_writer :certificate_ref
|
|
696
|
+
|
|
697
|
+
# When enabled, Telnyx forwards the assistant's dynamic variables to the external
|
|
698
|
+
# LLM endpoint. Defaults to false. The chat completion request includes a
|
|
699
|
+
# top-level `extra_metadata` object when dynamic variables are available. For
|
|
700
|
+
# example:
|
|
701
|
+
# `{"extra_metadata":{"customer_name":"Jane","account_id":"acct_789","telnyx_agent_target":"+13125550100","telnyx_end_user_target":"+13125550123"}}`.
|
|
702
|
+
sig { returns(T.nilable(T::Boolean)) }
|
|
703
|
+
attr_reader :forward_metadata
|
|
704
|
+
|
|
705
|
+
sig { params(forward_metadata: T::Boolean).void }
|
|
706
|
+
attr_writer :forward_metadata
|
|
707
|
+
|
|
708
|
+
# Integration secret identifier for the external LLM API key.
|
|
709
|
+
sig { returns(T.nilable(String)) }
|
|
710
|
+
attr_reader :llm_api_key_ref
|
|
711
|
+
|
|
712
|
+
sig { params(llm_api_key_ref: String).void }
|
|
713
|
+
attr_writer :llm_api_key_ref
|
|
714
|
+
|
|
715
|
+
# URL used to retrieve an access token when certificate authentication is enabled.
|
|
716
|
+
sig { returns(T.nilable(String)) }
|
|
717
|
+
attr_reader :token_retrieval_url
|
|
718
|
+
|
|
719
|
+
sig { params(token_retrieval_url: String).void }
|
|
720
|
+
attr_writer :token_retrieval_url
|
|
721
|
+
|
|
722
|
+
sig do
|
|
723
|
+
params(
|
|
724
|
+
base_url: String,
|
|
725
|
+
model: String,
|
|
726
|
+
authentication_method:
|
|
727
|
+
Telnyx::AI::AssistantUpdateParams::FallbackConfig::ExternalLlm::AuthenticationMethod::OrSymbol,
|
|
728
|
+
certificate_ref: String,
|
|
729
|
+
forward_metadata: T::Boolean,
|
|
730
|
+
llm_api_key_ref: String,
|
|
731
|
+
token_retrieval_url: String
|
|
732
|
+
).returns(T.attached_class)
|
|
733
|
+
end
|
|
734
|
+
def self.new(
|
|
735
|
+
# Base URL for the external LLM endpoint.
|
|
736
|
+
base_url:,
|
|
737
|
+
# Model identifier to use with the external LLM endpoint.
|
|
738
|
+
model:,
|
|
739
|
+
# Authentication method used when connecting to the external LLM endpoint.
|
|
740
|
+
authentication_method: nil,
|
|
741
|
+
# Integration secret identifier for the client certificate used with certificate
|
|
742
|
+
# authentication.
|
|
743
|
+
certificate_ref: nil,
|
|
744
|
+
# When enabled, Telnyx forwards the assistant's dynamic variables to the external
|
|
745
|
+
# LLM endpoint. Defaults to false. The chat completion request includes a
|
|
746
|
+
# top-level `extra_metadata` object when dynamic variables are available. For
|
|
747
|
+
# example:
|
|
748
|
+
# `{"extra_metadata":{"customer_name":"Jane","account_id":"acct_789","telnyx_agent_target":"+13125550100","telnyx_end_user_target":"+13125550123"}}`.
|
|
749
|
+
forward_metadata: nil,
|
|
750
|
+
# Integration secret identifier for the external LLM API key.
|
|
751
|
+
llm_api_key_ref: nil,
|
|
752
|
+
# URL used to retrieve an access token when certificate authentication is enabled.
|
|
753
|
+
token_retrieval_url: nil
|
|
754
|
+
)
|
|
755
|
+
end
|
|
756
|
+
|
|
757
|
+
sig do
|
|
758
|
+
override.returns(
|
|
759
|
+
{
|
|
760
|
+
base_url: String,
|
|
761
|
+
model: String,
|
|
762
|
+
authentication_method:
|
|
763
|
+
Telnyx::AI::AssistantUpdateParams::FallbackConfig::ExternalLlm::AuthenticationMethod::OrSymbol,
|
|
764
|
+
certificate_ref: String,
|
|
765
|
+
forward_metadata: T::Boolean,
|
|
766
|
+
llm_api_key_ref: String,
|
|
767
|
+
token_retrieval_url: String
|
|
768
|
+
}
|
|
769
|
+
)
|
|
770
|
+
end
|
|
771
|
+
def to_hash
|
|
772
|
+
end
|
|
773
|
+
|
|
774
|
+
# Authentication method used when connecting to the external LLM endpoint.
|
|
775
|
+
module AuthenticationMethod
|
|
776
|
+
extend Telnyx::Internal::Type::Enum
|
|
777
|
+
|
|
778
|
+
TaggedSymbol =
|
|
779
|
+
T.type_alias do
|
|
780
|
+
T.all(
|
|
781
|
+
Symbol,
|
|
782
|
+
Telnyx::AI::AssistantUpdateParams::FallbackConfig::ExternalLlm::AuthenticationMethod
|
|
783
|
+
)
|
|
784
|
+
end
|
|
785
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
786
|
+
|
|
787
|
+
TOKEN =
|
|
788
|
+
T.let(
|
|
789
|
+
:token,
|
|
790
|
+
Telnyx::AI::AssistantUpdateParams::FallbackConfig::ExternalLlm::AuthenticationMethod::TaggedSymbol
|
|
791
|
+
)
|
|
792
|
+
CERTIFICATE =
|
|
793
|
+
T.let(
|
|
794
|
+
:certificate,
|
|
795
|
+
Telnyx::AI::AssistantUpdateParams::FallbackConfig::ExternalLlm::AuthenticationMethod::TaggedSymbol
|
|
796
|
+
)
|
|
797
|
+
|
|
798
|
+
sig do
|
|
799
|
+
override.returns(
|
|
800
|
+
T::Array[
|
|
801
|
+
Telnyx::AI::AssistantUpdateParams::FallbackConfig::ExternalLlm::AuthenticationMethod::TaggedSymbol
|
|
802
|
+
]
|
|
803
|
+
)
|
|
804
|
+
end
|
|
805
|
+
def self.values
|
|
806
|
+
end
|
|
807
|
+
end
|
|
808
|
+
end
|
|
809
|
+
end
|
|
810
|
+
|
|
811
|
+
class PostConversationSettings < Telnyx::Internal::Type::BaseModel
|
|
812
|
+
OrHash =
|
|
813
|
+
T.type_alias do
|
|
814
|
+
T.any(
|
|
815
|
+
Telnyx::AI::AssistantUpdateParams::PostConversationSettings,
|
|
816
|
+
Telnyx::Internal::AnyHash
|
|
817
|
+
)
|
|
818
|
+
end
|
|
819
|
+
|
|
820
|
+
# Whether post-conversation processing is enabled. When true, the assistant will
|
|
821
|
+
# be invoked after the conversation ends to perform any final tool calls. Defaults
|
|
822
|
+
# to false.
|
|
823
|
+
sig { returns(T.nilable(T::Boolean)) }
|
|
824
|
+
attr_reader :enabled
|
|
825
|
+
|
|
826
|
+
sig { params(enabled: T::Boolean).void }
|
|
827
|
+
attr_writer :enabled
|
|
828
|
+
|
|
829
|
+
# Configuration for post-conversation processing. When enabled, the assistant
|
|
830
|
+
# receives one additional LLM turn after the conversation ends, allowing it to
|
|
831
|
+
# execute tool calls such as logging to a CRM or sending a summary. The assistant
|
|
832
|
+
# can execute multiple parallel or sequential tools during this phase.
|
|
833
|
+
# Telephony-control tools (e.g. hangup, transfer) are unavailable
|
|
834
|
+
# post-conversation. Beta feature.
|
|
835
|
+
sig { params(enabled: T::Boolean).returns(T.attached_class) }
|
|
836
|
+
def self.new(
|
|
837
|
+
# Whether post-conversation processing is enabled. When true, the assistant will
|
|
838
|
+
# be invoked after the conversation ends to perform any final tool calls. Defaults
|
|
839
|
+
# to false.
|
|
840
|
+
enabled: nil
|
|
841
|
+
)
|
|
842
|
+
end
|
|
843
|
+
|
|
844
|
+
sig { override.returns({ enabled: T::Boolean }) }
|
|
845
|
+
def to_hash
|
|
846
|
+
end
|
|
847
|
+
end
|
|
405
848
|
end
|
|
406
849
|
end
|
|
407
850
|
end
|