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