telnyx 5.89.0 → 5.91.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 (57) 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 +9 -227
  5. data/lib/telnyx/models/ai/assistant_update_params.rb +9 -227
  6. data/lib/telnyx/models/ai/assistants/update_assistant.rb +9 -232
  7. data/lib/telnyx/models/ai/external_llm.rb +87 -0
  8. data/lib/telnyx/models/ai/external_llm_req.rb +87 -0
  9. data/lib/telnyx/models/ai/fallback_config.rb +37 -0
  10. data/lib/telnyx/models/ai/fallback_config_req.rb +37 -0
  11. data/lib/telnyx/models/ai/inference_embedding.rb +9 -230
  12. data/lib/telnyx/models/ai/post_conversation_settings.rb +30 -0
  13. data/lib/telnyx/models/ai/post_conversation_settings_req.rb +30 -0
  14. data/lib/telnyx/models/message_send_whatsapp_params.rb +9 -1
  15. data/lib/telnyx/models/whatsapp/phone_numbers/profile_update_params.rb +17 -1
  16. data/lib/telnyx/models/whatsapp/phone_numbers/whatsapp_profile_data.rb +8 -1
  17. data/lib/telnyx/resources/ai/assistants/versions.rb +3 -3
  18. data/lib/telnyx/resources/ai/assistants.rb +6 -6
  19. data/lib/telnyx/resources/messages.rb +3 -1
  20. data/lib/telnyx/resources/whatsapp/phone_numbers/profile.rb +3 -1
  21. data/lib/telnyx/version.rb +1 -1
  22. data/lib/telnyx.rb +6 -0
  23. data/rbi/telnyx/models/ai/assistant_create_params.rbi +12 -455
  24. data/rbi/telnyx/models/ai/assistant_update_params.rbi +12 -455
  25. data/rbi/telnyx/models/ai/assistants/update_assistant.rbi +12 -461
  26. data/rbi/telnyx/models/ai/external_llm.rbi +157 -0
  27. data/rbi/telnyx/models/ai/external_llm_req.rbi +157 -0
  28. data/rbi/telnyx/models/ai/fallback_config.rbi +64 -0
  29. data/rbi/telnyx/models/ai/fallback_config_req.rbi +64 -0
  30. data/rbi/telnyx/models/ai/inference_embedding.rbi +12 -452
  31. data/rbi/telnyx/models/ai/post_conversation_settings.rbi +45 -0
  32. data/rbi/telnyx/models/ai/post_conversation_settings_req.rbi +45 -0
  33. data/rbi/telnyx/models/message_send_whatsapp_params.rbi +11 -0
  34. data/rbi/telnyx/models/whatsapp/phone_numbers/profile_update_params.rbi +11 -0
  35. data/rbi/telnyx/models/whatsapp/phone_numbers/whatsapp_profile_data.rbi +9 -0
  36. data/rbi/telnyx/resources/ai/assistants/versions.rbi +3 -5
  37. data/rbi/telnyx/resources/ai/assistants.rbi +6 -10
  38. data/rbi/telnyx/resources/messages.rbi +3 -0
  39. data/rbi/telnyx/resources/whatsapp/phone_numbers/profile.rbi +3 -0
  40. data/sig/telnyx/models/ai/assistant_create_params.rbs +18 -205
  41. data/sig/telnyx/models/ai/assistant_update_params.rbs +18 -205
  42. data/sig/telnyx/models/ai/assistants/update_assistant.rbs +18 -205
  43. data/sig/telnyx/models/ai/external_llm.rbs +75 -0
  44. data/sig/telnyx/models/ai/external_llm_req.rbs +75 -0
  45. data/sig/telnyx/models/ai/fallback_config.rbs +38 -0
  46. data/sig/telnyx/models/ai/fallback_config_req.rbs +40 -0
  47. data/sig/telnyx/models/ai/inference_embedding.rbs +17 -206
  48. data/sig/telnyx/models/ai/post_conversation_settings.rbs +17 -0
  49. data/sig/telnyx/models/ai/post_conversation_settings_req.rbs +17 -0
  50. data/sig/telnyx/models/message_send_whatsapp_params.rbs +7 -0
  51. data/sig/telnyx/models/whatsapp/phone_numbers/profile_update_params.rbs +7 -0
  52. data/sig/telnyx/models/whatsapp/phone_numbers/whatsapp_profile_data.rbs +7 -0
  53. data/sig/telnyx/resources/ai/assistants/versions.rbs +3 -3
  54. data/sig/telnyx/resources/ai/assistants.rbs +6 -6
  55. data/sig/telnyx/resources/messages.rbs +1 -0
  56. data/sig/telnyx/resources/whatsapp/phone_numbers/profile.rbs +1 -0
  57. metadata +20 -2
@@ -0,0 +1,157 @@
1
+ # typed: strong
2
+
3
+ module Telnyx
4
+ module Models
5
+ module AI
6
+ class ExternalLlmReq < Telnyx::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(Telnyx::AI::ExternalLlmReq, Telnyx::Internal::AnyHash)
10
+ end
11
+
12
+ # Base URL for the external LLM endpoint.
13
+ sig { returns(String) }
14
+ attr_accessor :base_url
15
+
16
+ # Model identifier to use with the external LLM endpoint.
17
+ sig { returns(String) }
18
+ attr_accessor :model
19
+
20
+ # Authentication method used when connecting to the external LLM endpoint.
21
+ sig do
22
+ returns(
23
+ T.nilable(
24
+ Telnyx::AI::ExternalLlmReq::AuthenticationMethod::OrSymbol
25
+ )
26
+ )
27
+ end
28
+ attr_reader :authentication_method
29
+
30
+ sig do
31
+ params(
32
+ authentication_method:
33
+ Telnyx::AI::ExternalLlmReq::AuthenticationMethod::OrSymbol
34
+ ).void
35
+ end
36
+ attr_writer :authentication_method
37
+
38
+ # Integration secret identifier for the client certificate used with certificate
39
+ # authentication.
40
+ sig { returns(T.nilable(String)) }
41
+ attr_reader :certificate_ref
42
+
43
+ sig { params(certificate_ref: String).void }
44
+ attr_writer :certificate_ref
45
+
46
+ # When enabled, Telnyx forwards the assistant's dynamic variables to the external
47
+ # LLM endpoint. Defaults to false. The chat completion request includes a
48
+ # top-level `extra_metadata` object when dynamic variables are available. For
49
+ # example:
50
+ # `{"extra_metadata":{"customer_name":"Jane","account_id":"acct_789","telnyx_agent_target":"+13125550100","telnyx_end_user_target":"+13125550123"}}`.
51
+ sig { returns(T.nilable(T::Boolean)) }
52
+ attr_reader :forward_metadata
53
+
54
+ sig { params(forward_metadata: T::Boolean).void }
55
+ attr_writer :forward_metadata
56
+
57
+ # Integration secret identifier for the external LLM API key.
58
+ sig { returns(T.nilable(String)) }
59
+ attr_reader :llm_api_key_ref
60
+
61
+ sig { params(llm_api_key_ref: String).void }
62
+ attr_writer :llm_api_key_ref
63
+
64
+ # URL used to retrieve an access token when certificate authentication is enabled.
65
+ sig { returns(T.nilable(String)) }
66
+ attr_reader :token_retrieval_url
67
+
68
+ sig { params(token_retrieval_url: String).void }
69
+ attr_writer :token_retrieval_url
70
+
71
+ sig do
72
+ params(
73
+ base_url: String,
74
+ model: String,
75
+ authentication_method:
76
+ Telnyx::AI::ExternalLlmReq::AuthenticationMethod::OrSymbol,
77
+ certificate_ref: String,
78
+ forward_metadata: T::Boolean,
79
+ llm_api_key_ref: String,
80
+ token_retrieval_url: String
81
+ ).returns(T.attached_class)
82
+ end
83
+ def self.new(
84
+ # Base URL for the external LLM endpoint.
85
+ base_url:,
86
+ # Model identifier to use with the external LLM endpoint.
87
+ model:,
88
+ # Authentication method used when connecting to the external LLM endpoint.
89
+ authentication_method: nil,
90
+ # Integration secret identifier for the client certificate used with certificate
91
+ # authentication.
92
+ certificate_ref: nil,
93
+ # When enabled, Telnyx forwards the assistant's dynamic variables to the external
94
+ # LLM endpoint. Defaults to false. The chat completion request includes a
95
+ # top-level `extra_metadata` object when dynamic variables are available. For
96
+ # example:
97
+ # `{"extra_metadata":{"customer_name":"Jane","account_id":"acct_789","telnyx_agent_target":"+13125550100","telnyx_end_user_target":"+13125550123"}}`.
98
+ forward_metadata: nil,
99
+ # Integration secret identifier for the external LLM API key.
100
+ llm_api_key_ref: nil,
101
+ # URL used to retrieve an access token when certificate authentication is enabled.
102
+ token_retrieval_url: nil
103
+ )
104
+ end
105
+
106
+ sig do
107
+ override.returns(
108
+ {
109
+ base_url: String,
110
+ model: String,
111
+ authentication_method:
112
+ Telnyx::AI::ExternalLlmReq::AuthenticationMethod::OrSymbol,
113
+ certificate_ref: String,
114
+ forward_metadata: T::Boolean,
115
+ llm_api_key_ref: String,
116
+ token_retrieval_url: String
117
+ }
118
+ )
119
+ end
120
+ def to_hash
121
+ end
122
+
123
+ # Authentication method used when connecting to the external LLM endpoint.
124
+ module AuthenticationMethod
125
+ extend Telnyx::Internal::Type::Enum
126
+
127
+ TaggedSymbol =
128
+ T.type_alias do
129
+ T.all(Symbol, Telnyx::AI::ExternalLlmReq::AuthenticationMethod)
130
+ end
131
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
132
+
133
+ TOKEN =
134
+ T.let(
135
+ :token,
136
+ Telnyx::AI::ExternalLlmReq::AuthenticationMethod::TaggedSymbol
137
+ )
138
+ CERTIFICATE =
139
+ T.let(
140
+ :certificate,
141
+ Telnyx::AI::ExternalLlmReq::AuthenticationMethod::TaggedSymbol
142
+ )
143
+
144
+ sig do
145
+ override.returns(
146
+ T::Array[
147
+ Telnyx::AI::ExternalLlmReq::AuthenticationMethod::TaggedSymbol
148
+ ]
149
+ )
150
+ end
151
+ def self.values
152
+ end
153
+ end
154
+ end
155
+ end
156
+ end
157
+ end
@@ -0,0 +1,64 @@
1
+ # typed: strong
2
+
3
+ module Telnyx
4
+ module Models
5
+ module AI
6
+ class FallbackConfig < Telnyx::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(Telnyx::AI::FallbackConfig, Telnyx::Internal::AnyHash)
10
+ end
11
+
12
+ sig { returns(T.nilable(Telnyx::AI::ExternalLlm)) }
13
+ attr_reader :external_llm
14
+
15
+ sig { params(external_llm: Telnyx::AI::ExternalLlm::OrHash).void }
16
+ attr_writer :external_llm
17
+
18
+ # Integration secret identifier for the fallback model API key.
19
+ sig { returns(T.nilable(String)) }
20
+ attr_reader :llm_api_key_ref
21
+
22
+ sig { params(llm_api_key_ref: String).void }
23
+ attr_writer :llm_api_key_ref
24
+
25
+ # Fallback Telnyx-hosted model to use when the primary LLM provider is
26
+ # unavailable.
27
+ sig { returns(T.nilable(String)) }
28
+ attr_reader :model
29
+
30
+ sig { params(model: String).void }
31
+ attr_writer :model
32
+
33
+ sig do
34
+ params(
35
+ external_llm: Telnyx::AI::ExternalLlm::OrHash,
36
+ llm_api_key_ref: String,
37
+ model: String
38
+ ).returns(T.attached_class)
39
+ end
40
+ def self.new(
41
+ external_llm: nil,
42
+ # Integration secret identifier for the fallback model API key.
43
+ llm_api_key_ref: nil,
44
+ # Fallback Telnyx-hosted model to use when the primary LLM provider is
45
+ # unavailable.
46
+ model: nil
47
+ )
48
+ end
49
+
50
+ sig do
51
+ override.returns(
52
+ {
53
+ external_llm: Telnyx::AI::ExternalLlm,
54
+ llm_api_key_ref: String,
55
+ model: String
56
+ }
57
+ )
58
+ end
59
+ def to_hash
60
+ end
61
+ end
62
+ end
63
+ end
64
+ end
@@ -0,0 +1,64 @@
1
+ # typed: strong
2
+
3
+ module Telnyx
4
+ module Models
5
+ module AI
6
+ class FallbackConfigReq < Telnyx::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(Telnyx::AI::FallbackConfigReq, Telnyx::Internal::AnyHash)
10
+ end
11
+
12
+ sig { returns(T.nilable(Telnyx::AI::ExternalLlmReq)) }
13
+ attr_reader :external_llm
14
+
15
+ sig { params(external_llm: Telnyx::AI::ExternalLlmReq::OrHash).void }
16
+ attr_writer :external_llm
17
+
18
+ # Integration secret identifier for the fallback model API key.
19
+ sig { returns(T.nilable(String)) }
20
+ attr_reader :llm_api_key_ref
21
+
22
+ sig { params(llm_api_key_ref: String).void }
23
+ attr_writer :llm_api_key_ref
24
+
25
+ # Fallback Telnyx-hosted model to use when the primary LLM provider is
26
+ # unavailable.
27
+ sig { returns(T.nilable(String)) }
28
+ attr_reader :model
29
+
30
+ sig { params(model: String).void }
31
+ attr_writer :model
32
+
33
+ sig do
34
+ params(
35
+ external_llm: Telnyx::AI::ExternalLlmReq::OrHash,
36
+ llm_api_key_ref: String,
37
+ model: String
38
+ ).returns(T.attached_class)
39
+ end
40
+ def self.new(
41
+ external_llm: nil,
42
+ # Integration secret identifier for the fallback model API key.
43
+ llm_api_key_ref: nil,
44
+ # Fallback Telnyx-hosted model to use when the primary LLM provider is
45
+ # unavailable.
46
+ model: nil
47
+ )
48
+ end
49
+
50
+ sig do
51
+ override.returns(
52
+ {
53
+ external_llm: Telnyx::AI::ExternalLlmReq,
54
+ llm_api_key_ref: String,
55
+ model: String
56
+ }
57
+ )
58
+ end
59
+ def to_hash
60
+ end
61
+ end
62
+ end
63
+ end
64
+ end