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