telnyx 5.124.0 → 5.126.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 +16 -0
- data/README.md +1 -1
- data/lib/telnyx/models/ai/assistant_create_params.rb +142 -6
- data/lib/telnyx/models/ai/assistant_tool.rb +13 -1
- data/lib/telnyx/models/ai/assistant_update_params.rb +142 -6
- data/lib/telnyx/models/ai/assistants/update_assistant.rb +144 -6
- data/lib/telnyx/models/ai/inference_embedding.rb +132 -6
- data/lib/telnyx/version.rb +1 -1
- data/rbi/telnyx/models/ai/assistant_create_params.rbi +232 -8
- data/rbi/telnyx/models/ai/assistant_tool.rbi +19 -0
- data/rbi/telnyx/models/ai/assistant_update_params.rbi +232 -8
- data/rbi/telnyx/models/ai/assistants/update_assistant.rbi +232 -8
- data/rbi/telnyx/models/ai/inference_embedding.rbi +219 -4
- data/sig/telnyx/models/ai/assistant_create_params.rbs +81 -0
- data/sig/telnyx/models/ai/assistant_tool.rbs +7 -0
- data/sig/telnyx/models/ai/assistant_update_params.rbs +81 -0
- data/sig/telnyx/models/ai/assistants/update_assistant.rbs +81 -0
- data/sig/telnyx/models/ai/inference_embedding.rbs +81 -0
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 38400c7c7133b3cfaa627f43c292c3194d2f87efaf0e819c13088be952500785
|
|
4
|
+
data.tar.gz: 58e04f17c0d460699113f2f91648083a1573ca42de2db3aca7dc778ad1bc68a8
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: b3f601736a30fef841818e9e766236ebcf276fbf55424040a8e2c02798ab34e0ab895b2c1ccd30cc84d342486a8d1c79ef8e9b10e23b5199ea119c479f42cd15
|
|
7
|
+
data.tar.gz: 056d6e835b260c5ab4f1f0783657e602d13614b363b4ad7d00ee5138e01ef05d3cc9270ec13ed25c0fee4b73d65671e7b4d4e35ab395100d4bb0dfc3dd17da02
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,21 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 5.126.0 (2026-06-05)
|
|
4
|
+
|
|
5
|
+
Full Changelog: [v5.125.0...v5.126.0](https://github.com/team-telnyx/telnyx-ruby/compare/v5.125.0...v5.126.0)
|
|
6
|
+
|
|
7
|
+
### Features
|
|
8
|
+
|
|
9
|
+
* Conversation flow update ([4f9dd27](https://github.com/team-telnyx/telnyx-ruby/commit/4f9dd27ac620fef2f1d080f4ba1bdce028ce70c5))
|
|
10
|
+
|
|
11
|
+
## 5.125.0 (2026-06-04)
|
|
12
|
+
|
|
13
|
+
Full Changelog: [v5.124.0...v5.125.0](https://github.com/team-telnyx/telnyx-ruby/compare/v5.124.0...v5.125.0)
|
|
14
|
+
|
|
15
|
+
### Features
|
|
16
|
+
|
|
17
|
+
* **inference:** expose description on transfer tool params ([a2d8c5d](https://github.com/team-telnyx/telnyx-ruby/commit/a2d8c5d52b468045bb173b4a77f629ec3c24ede6))
|
|
18
|
+
|
|
3
19
|
## 5.124.0 (2026-06-04)
|
|
4
20
|
|
|
5
21
|
Full Changelog: [v5.123.0...v5.124.0](https://github.com/team-telnyx/telnyx-ruby/compare/v5.123.0...v5.124.0)
|
data/README.md
CHANGED
|
@@ -278,7 +278,7 @@ module Telnyx
|
|
|
278
278
|
# All nodes in the flow. Must contain `start_node_id`. Each node is a prompt node
|
|
279
279
|
# (`type: prompt`) or a tool node (`type: tool`).
|
|
280
280
|
#
|
|
281
|
-
# @return [Array<Telnyx::Models::AI::AssistantCreateParams::ConversationFlow::Node::Prompt, Telnyx::Models::AI::AssistantCreateParams::ConversationFlow::Node::Tool>]
|
|
281
|
+
# @return [Array<Telnyx::Models::AI::AssistantCreateParams::ConversationFlow::Node::Prompt, Telnyx::Models::AI::AssistantCreateParams::ConversationFlow::Node::Tool, Telnyx::Models::AI::AssistantCreateParams::ConversationFlow::Node::Speak>]
|
|
282
282
|
required :nodes,
|
|
283
283
|
-> { Telnyx::Internal::Type::ArrayOf[union: Telnyx::AI::AssistantCreateParams::ConversationFlow::Node] }
|
|
284
284
|
|
|
@@ -305,7 +305,7 @@ module Telnyx
|
|
|
305
305
|
# unique node/edge IDs, that `start_node_id` references a real node, and that
|
|
306
306
|
# every edge's endpoints reference real nodes.
|
|
307
307
|
#
|
|
308
|
-
# @param nodes [Array<Telnyx::Models::AI::AssistantCreateParams::ConversationFlow::Node::Prompt, Telnyx::Models::AI::AssistantCreateParams::ConversationFlow::Node::Tool>] All nodes in the flow. Must contain `start_node_id`. Each node is a prompt node
|
|
308
|
+
# @param nodes [Array<Telnyx::Models::AI::AssistantCreateParams::ConversationFlow::Node::Prompt, Telnyx::Models::AI::AssistantCreateParams::ConversationFlow::Node::Tool, Telnyx::Models::AI::AssistantCreateParams::ConversationFlow::Node::Speak>] All nodes in the flow. Must contain `start_node_id`. Each node is a prompt node
|
|
309
309
|
#
|
|
310
310
|
# @param start_node_id [String] ID of the node where the conversation begins.
|
|
311
311
|
#
|
|
@@ -334,6 +334,14 @@ module Telnyx
|
|
|
334
334
|
# on the result via outgoing `tool_result` edges.
|
|
335
335
|
variant :tool, -> { Telnyx::AI::AssistantCreateParams::ConversationFlow::Node::Tool }
|
|
336
336
|
|
|
337
|
+
# A standalone scripted-message step in a flow, as supplied by clients.
|
|
338
|
+
#
|
|
339
|
+
# Unlike a prompt node, a speak node has no instructions or model — it isn't
|
|
340
|
+
# an LLM turn. Reaching it delivers `message` to the user verbatim (with
|
|
341
|
+
# `{{variable}}` interpolation), then routes via outgoing `llm` /
|
|
342
|
+
# `expression` edges.
|
|
343
|
+
variant :speak, -> { Telnyx::AI::AssistantCreateParams::ConversationFlow::Node::Speak }
|
|
344
|
+
|
|
337
345
|
class Prompt < Telnyx::Internal::Type::BaseModel
|
|
338
346
|
# @!attribute id
|
|
339
347
|
# Caller-supplied unique identifier for this node within the flow.
|
|
@@ -635,8 +643,105 @@ module Telnyx
|
|
|
635
643
|
end
|
|
636
644
|
end
|
|
637
645
|
|
|
646
|
+
class Speak < Telnyx::Internal::Type::BaseModel
|
|
647
|
+
# @!attribute id
|
|
648
|
+
# Caller-supplied unique identifier for this node within the flow.
|
|
649
|
+
#
|
|
650
|
+
# @return [String]
|
|
651
|
+
required :id, String
|
|
652
|
+
|
|
653
|
+
# @!attribute message
|
|
654
|
+
# Message delivered to the user verbatim when the flow reaches this node. No LLM
|
|
655
|
+
# turn — the text is spoken/sent exactly as written. `{{variable}}` placeholders
|
|
656
|
+
# are interpolated from the conversation's dynamic variables; an unresolved
|
|
657
|
+
# placeholder renders as an empty string. After delivering, the flow routes via
|
|
658
|
+
# the node's outgoing `llm` / `expression` edges (commonly a single unconditional
|
|
659
|
+
# edge).
|
|
660
|
+
#
|
|
661
|
+
# @return [String]
|
|
662
|
+
required :message, String
|
|
663
|
+
|
|
664
|
+
# @!attribute name
|
|
665
|
+
# Optional human-readable label, displayed in authoring UIs.
|
|
666
|
+
#
|
|
667
|
+
# @return [String, nil]
|
|
668
|
+
optional :name, String
|
|
669
|
+
|
|
670
|
+
# @!attribute position
|
|
671
|
+
# Optional canvas coordinates used by authoring UIs to lay out the graph. Ignored
|
|
672
|
+
# by the runtime; round-trips so frontends can persist graph layout across
|
|
673
|
+
# reloads.
|
|
674
|
+
#
|
|
675
|
+
# @return [Telnyx::Models::AI::AssistantCreateParams::ConversationFlow::Node::Speak::Position, nil]
|
|
676
|
+
optional :position, -> { Telnyx::AI::AssistantCreateParams::ConversationFlow::Node::Speak::Position }
|
|
677
|
+
|
|
678
|
+
# @!attribute type
|
|
679
|
+
# Node kind discriminator. Always `speak` for a speak node.
|
|
680
|
+
#
|
|
681
|
+
# @return [Symbol, Telnyx::Models::AI::AssistantCreateParams::ConversationFlow::Node::Speak::Type, nil]
|
|
682
|
+
optional :type, enum: -> { Telnyx::AI::AssistantCreateParams::ConversationFlow::Node::Speak::Type }
|
|
683
|
+
|
|
684
|
+
# @!method initialize(id:, message:, name: nil, position: nil, type: nil)
|
|
685
|
+
# Some parameter documentations has been truncated, see
|
|
686
|
+
# {Telnyx::Models::AI::AssistantCreateParams::ConversationFlow::Node::Speak} for
|
|
687
|
+
# more details.
|
|
688
|
+
#
|
|
689
|
+
# A standalone scripted-message step in a flow, as supplied by clients.
|
|
690
|
+
#
|
|
691
|
+
# Unlike a prompt node, a speak node has no instructions or model — it isn't an
|
|
692
|
+
# LLM turn. Reaching it delivers `message` to the user verbatim (with
|
|
693
|
+
# `{{variable}}` interpolation), then routes via outgoing `llm` / `expression`
|
|
694
|
+
# edges.
|
|
695
|
+
#
|
|
696
|
+
# @param id [String] Caller-supplied unique identifier for this node within the flow.
|
|
697
|
+
#
|
|
698
|
+
# @param message [String] Message delivered to the user verbatim when the flow reaches this node. No LLM t
|
|
699
|
+
#
|
|
700
|
+
# @param name [String] Optional human-readable label, displayed in authoring UIs.
|
|
701
|
+
#
|
|
702
|
+
# @param position [Telnyx::Models::AI::AssistantCreateParams::ConversationFlow::Node::Speak::Position] Optional canvas coordinates used by authoring UIs to lay out the graph. Ignored
|
|
703
|
+
#
|
|
704
|
+
# @param type [Symbol, Telnyx::Models::AI::AssistantCreateParams::ConversationFlow::Node::Speak::Type] Node kind discriminator. Always `speak` for a speak node.
|
|
705
|
+
|
|
706
|
+
# @see Telnyx::Models::AI::AssistantCreateParams::ConversationFlow::Node::Speak#position
|
|
707
|
+
class Position < Telnyx::Internal::Type::BaseModel
|
|
708
|
+
# @!attribute x
|
|
709
|
+
# Horizontal coordinate in the authoring canvas.
|
|
710
|
+
#
|
|
711
|
+
# @return [Float]
|
|
712
|
+
required :x, Float
|
|
713
|
+
|
|
714
|
+
# @!attribute y_
|
|
715
|
+
# Vertical coordinate in the authoring canvas.
|
|
716
|
+
#
|
|
717
|
+
# @return [Float]
|
|
718
|
+
required :y_, Float, api_name: :y
|
|
719
|
+
|
|
720
|
+
# @!method initialize(x:, y_:)
|
|
721
|
+
# Optional canvas coordinates used by authoring UIs to lay out the graph. Ignored
|
|
722
|
+
# by the runtime; round-trips so frontends can persist graph layout across
|
|
723
|
+
# reloads.
|
|
724
|
+
#
|
|
725
|
+
# @param x [Float] Horizontal coordinate in the authoring canvas.
|
|
726
|
+
#
|
|
727
|
+
# @param y_ [Float] Vertical coordinate in the authoring canvas.
|
|
728
|
+
end
|
|
729
|
+
|
|
730
|
+
# Node kind discriminator. Always `speak` for a speak node.
|
|
731
|
+
#
|
|
732
|
+
# @see Telnyx::Models::AI::AssistantCreateParams::ConversationFlow::Node::Speak#type
|
|
733
|
+
module Type
|
|
734
|
+
extend Telnyx::Internal::Type::Enum
|
|
735
|
+
|
|
736
|
+
SPEAK = :speak
|
|
737
|
+
|
|
738
|
+
# @!method self.values
|
|
739
|
+
# @return [Array<Symbol>]
|
|
740
|
+
end
|
|
741
|
+
end
|
|
742
|
+
|
|
638
743
|
# @!method self.variants
|
|
639
|
-
# @return [Array(Telnyx::Models::AI::AssistantCreateParams::ConversationFlow::Node::Prompt, Telnyx::Models::AI::AssistantCreateParams::ConversationFlow::Node::Tool)]
|
|
744
|
+
# @return [Array(Telnyx::Models::AI::AssistantCreateParams::ConversationFlow::Node::Prompt, Telnyx::Models::AI::AssistantCreateParams::ConversationFlow::Node::Tool, Telnyx::Models::AI::AssistantCreateParams::ConversationFlow::Node::Speak)]
|
|
640
745
|
end
|
|
641
746
|
|
|
642
747
|
class Edge < Telnyx::Internal::Type::BaseModel
|
|
@@ -650,7 +755,7 @@ module Telnyx
|
|
|
650
755
|
# Condition that gates the transition. Discriminated by `type`: `llm`,
|
|
651
756
|
# `expression`.
|
|
652
757
|
#
|
|
653
|
-
# @return [Telnyx::Models::AI::AssistantCreateParams::ConversationFlow::Edge::Condition::Llm, Telnyx::Models::AI::AssistantCreateParams::ConversationFlow::Edge::Condition::Expression]
|
|
758
|
+
# @return [Telnyx::Models::AI::AssistantCreateParams::ConversationFlow::Edge::Condition::Llm, Telnyx::Models::AI::AssistantCreateParams::ConversationFlow::Edge::Condition::Expression, Telnyx::Models::AI::AssistantCreateParams::ConversationFlow::Edge::Condition::Default]
|
|
654
759
|
required :condition, union: -> { Telnyx::AI::AssistantCreateParams::ConversationFlow::Edge::Condition }
|
|
655
760
|
|
|
656
761
|
# @!attribute start_node_id
|
|
@@ -680,7 +785,7 @@ module Telnyx
|
|
|
680
785
|
#
|
|
681
786
|
# @param id [String] Caller-supplied unique identifier for this edge within the flow.
|
|
682
787
|
#
|
|
683
|
-
# @param condition [Telnyx::Models::AI::AssistantCreateParams::ConversationFlow::Edge::Condition::Llm, Telnyx::Models::AI::AssistantCreateParams::ConversationFlow::Edge::Condition::Expression] Condition that gates the transition. Discriminated by `type`: `llm`, `expression
|
|
788
|
+
# @param condition [Telnyx::Models::AI::AssistantCreateParams::ConversationFlow::Edge::Condition::Llm, Telnyx::Models::AI::AssistantCreateParams::ConversationFlow::Edge::Condition::Expression, Telnyx::Models::AI::AssistantCreateParams::ConversationFlow::Edge::Condition::Default] Condition that gates the transition. Discriminated by `type`: `llm`, `expression
|
|
684
789
|
#
|
|
685
790
|
# @param start_node_id [String] ID of the node this edge transitions away from.
|
|
686
791
|
#
|
|
@@ -710,6 +815,17 @@ module Telnyx
|
|
|
710
815
|
variant :expression,
|
|
711
816
|
-> { Telnyx::AI::AssistantCreateParams::ConversationFlow::Edge::Condition::Expression }
|
|
712
817
|
|
|
818
|
+
# Fallback edge condition: fires only when no other edge's condition is true.
|
|
819
|
+
#
|
|
820
|
+
# Evaluated after every conditioned (`llm` / `expression`) edge regardless
|
|
821
|
+
# of declaration order, so it routes the flow whenever none of the node's
|
|
822
|
+
# other outgoing edges match. Valid **only** on edges leaving a `tool` or
|
|
823
|
+
# `speak` node, where the deterministic step auto-advances and must always
|
|
824
|
+
# have somewhere to go. A tool/speak node with any outgoing edge is required
|
|
825
|
+
# to carry exactly one `default` edge so it never dead-ends; a tool/speak
|
|
826
|
+
# node with no outgoing edges is a valid terminal step. Carries no parameters.
|
|
827
|
+
variant :default, -> { Telnyx::AI::AssistantCreateParams::ConversationFlow::Edge::Condition::Default }
|
|
828
|
+
|
|
713
829
|
class Llm < Telnyx::Internal::Type::BaseModel
|
|
714
830
|
# @!attribute prompt
|
|
715
831
|
# Natural-language criterion the LLM judges as true/false.
|
|
@@ -885,8 +1001,28 @@ module Telnyx
|
|
|
885
1001
|
end
|
|
886
1002
|
end
|
|
887
1003
|
|
|
1004
|
+
class Default < Telnyx::Internal::Type::BaseModel
|
|
1005
|
+
# @!attribute type
|
|
1006
|
+
#
|
|
1007
|
+
# @return [Symbol, :default]
|
|
1008
|
+
required :type, const: :default
|
|
1009
|
+
|
|
1010
|
+
# @!method initialize(type: :default)
|
|
1011
|
+
# Fallback edge condition: fires only when no other edge's condition is true.
|
|
1012
|
+
#
|
|
1013
|
+
# Evaluated after every conditioned (`llm` / `expression`) edge regardless of
|
|
1014
|
+
# declaration order, so it routes the flow whenever none of the node's other
|
|
1015
|
+
# outgoing edges match. Valid **only** on edges leaving a `tool` or `speak` node,
|
|
1016
|
+
# where the deterministic step auto-advances and must always have somewhere to go.
|
|
1017
|
+
# A tool/speak node with any outgoing edge is required to carry exactly one
|
|
1018
|
+
# `default` edge so it never dead-ends; a tool/speak node with no outgoing edges
|
|
1019
|
+
# is a valid terminal step. Carries no parameters.
|
|
1020
|
+
#
|
|
1021
|
+
# @param type [Symbol, :default]
|
|
1022
|
+
end
|
|
1023
|
+
|
|
888
1024
|
# @!method self.variants
|
|
889
|
-
# @return [Array(Telnyx::Models::AI::AssistantCreateParams::ConversationFlow::Edge::Condition::Llm, Telnyx::Models::AI::AssistantCreateParams::ConversationFlow::Edge::Condition::Expression)]
|
|
1025
|
+
# @return [Array(Telnyx::Models::AI::AssistantCreateParams::ConversationFlow::Edge::Condition::Llm, Telnyx::Models::AI::AssistantCreateParams::ConversationFlow::Edge::Condition::Expression, Telnyx::Models::AI::AssistantCreateParams::ConversationFlow::Edge::Condition::Default)]
|
|
890
1026
|
end
|
|
891
1027
|
|
|
892
1028
|
# Destination of the transition. Discriminated by `type`: `node` (jump to another
|
|
@@ -154,6 +154,16 @@ module Telnyx
|
|
|
154
154
|
optional :custom_headers,
|
|
155
155
|
-> { Telnyx::Internal::Type::ArrayOf[Telnyx::AI::AssistantTool::Transfer::Transfer::CustomHeader] }
|
|
156
156
|
|
|
157
|
+
# @!attribute description
|
|
158
|
+
# A description of the transfer tool. By default, Telnyx generates this
|
|
159
|
+
# automatically based on the configured targets. Typically only set when importing
|
|
160
|
+
# an assistant from another provider that allowed a custom description; in that
|
|
161
|
+
# case the provided value is preserved. Most users should leave this empty and let
|
|
162
|
+
# Telnyx manage it.
|
|
163
|
+
#
|
|
164
|
+
# @return [String, nil]
|
|
165
|
+
optional :description, String
|
|
166
|
+
|
|
157
167
|
# @!attribute voicemail_detection
|
|
158
168
|
# Configuration for voicemail detection (AMD - Answering Machine Detection) on the
|
|
159
169
|
# transferred call. Allows the assistant to detect when a voicemail system answers
|
|
@@ -178,7 +188,7 @@ module Telnyx
|
|
|
178
188
|
# @return [String, nil]
|
|
179
189
|
optional :warm_transfer_instructions, String
|
|
180
190
|
|
|
181
|
-
# @!method initialize(from:, targets:, custom_headers: nil, voicemail_detection: nil, warm_message_delay_ms: nil, warm_transfer_instructions: nil)
|
|
191
|
+
# @!method initialize(from:, targets:, custom_headers: nil, description: nil, voicemail_detection: nil, warm_message_delay_ms: nil, warm_transfer_instructions: nil)
|
|
182
192
|
# Some parameter documentations has been truncated, see
|
|
183
193
|
# {Telnyx::Models::AI::AssistantTool::Transfer::Transfer} for more details.
|
|
184
194
|
#
|
|
@@ -188,6 +198,8 @@ module Telnyx
|
|
|
188
198
|
#
|
|
189
199
|
# @param custom_headers [Array<Telnyx::Models::AI::AssistantTool::Transfer::Transfer::CustomHeader>] Custom headers to be added to the SIP INVITE for the transfer command.
|
|
190
200
|
#
|
|
201
|
+
# @param description [String] A description of the transfer tool. By default, Telnyx generates this automatica
|
|
202
|
+
#
|
|
191
203
|
# @param voicemail_detection [Telnyx::Models::AI::AssistantTool::Transfer::Transfer::VoicemailDetection] Configuration for voicemail detection (AMD - Answering Machine Detection) on the
|
|
192
204
|
#
|
|
193
205
|
# @param warm_message_delay_ms [Integer, nil] Optional delay in milliseconds before playing the warm message audio when the tr
|
|
@@ -302,7 +302,7 @@ module Telnyx
|
|
|
302
302
|
# All nodes in the flow. Must contain `start_node_id`. Each node is a prompt node
|
|
303
303
|
# (`type: prompt`) or a tool node (`type: tool`).
|
|
304
304
|
#
|
|
305
|
-
# @return [Array<Telnyx::Models::AI::AssistantUpdateParams::ConversationFlow::Node::Prompt, Telnyx::Models::AI::AssistantUpdateParams::ConversationFlow::Node::Tool>]
|
|
305
|
+
# @return [Array<Telnyx::Models::AI::AssistantUpdateParams::ConversationFlow::Node::Prompt, Telnyx::Models::AI::AssistantUpdateParams::ConversationFlow::Node::Tool, Telnyx::Models::AI::AssistantUpdateParams::ConversationFlow::Node::Speak>]
|
|
306
306
|
required :nodes,
|
|
307
307
|
-> { Telnyx::Internal::Type::ArrayOf[union: Telnyx::AI::AssistantUpdateParams::ConversationFlow::Node] }
|
|
308
308
|
|
|
@@ -329,7 +329,7 @@ module Telnyx
|
|
|
329
329
|
# unique node/edge IDs, that `start_node_id` references a real node, and that
|
|
330
330
|
# every edge's endpoints reference real nodes.
|
|
331
331
|
#
|
|
332
|
-
# @param nodes [Array<Telnyx::Models::AI::AssistantUpdateParams::ConversationFlow::Node::Prompt, Telnyx::Models::AI::AssistantUpdateParams::ConversationFlow::Node::Tool>] All nodes in the flow. Must contain `start_node_id`. Each node is a prompt node
|
|
332
|
+
# @param nodes [Array<Telnyx::Models::AI::AssistantUpdateParams::ConversationFlow::Node::Prompt, Telnyx::Models::AI::AssistantUpdateParams::ConversationFlow::Node::Tool, Telnyx::Models::AI::AssistantUpdateParams::ConversationFlow::Node::Speak>] All nodes in the flow. Must contain `start_node_id`. Each node is a prompt node
|
|
333
333
|
#
|
|
334
334
|
# @param start_node_id [String] ID of the node where the conversation begins.
|
|
335
335
|
#
|
|
@@ -358,6 +358,14 @@ module Telnyx
|
|
|
358
358
|
# on the result via outgoing `tool_result` edges.
|
|
359
359
|
variant :tool, -> { Telnyx::AI::AssistantUpdateParams::ConversationFlow::Node::Tool }
|
|
360
360
|
|
|
361
|
+
# A standalone scripted-message step in a flow, as supplied by clients.
|
|
362
|
+
#
|
|
363
|
+
# Unlike a prompt node, a speak node has no instructions or model — it isn't
|
|
364
|
+
# an LLM turn. Reaching it delivers `message` to the user verbatim (with
|
|
365
|
+
# `{{variable}}` interpolation), then routes via outgoing `llm` /
|
|
366
|
+
# `expression` edges.
|
|
367
|
+
variant :speak, -> { Telnyx::AI::AssistantUpdateParams::ConversationFlow::Node::Speak }
|
|
368
|
+
|
|
361
369
|
class Prompt < Telnyx::Internal::Type::BaseModel
|
|
362
370
|
# @!attribute id
|
|
363
371
|
# Caller-supplied unique identifier for this node within the flow.
|
|
@@ -659,8 +667,105 @@ module Telnyx
|
|
|
659
667
|
end
|
|
660
668
|
end
|
|
661
669
|
|
|
670
|
+
class Speak < Telnyx::Internal::Type::BaseModel
|
|
671
|
+
# @!attribute id
|
|
672
|
+
# Caller-supplied unique identifier for this node within the flow.
|
|
673
|
+
#
|
|
674
|
+
# @return [String]
|
|
675
|
+
required :id, String
|
|
676
|
+
|
|
677
|
+
# @!attribute message
|
|
678
|
+
# Message delivered to the user verbatim when the flow reaches this node. No LLM
|
|
679
|
+
# turn — the text is spoken/sent exactly as written. `{{variable}}` placeholders
|
|
680
|
+
# are interpolated from the conversation's dynamic variables; an unresolved
|
|
681
|
+
# placeholder renders as an empty string. After delivering, the flow routes via
|
|
682
|
+
# the node's outgoing `llm` / `expression` edges (commonly a single unconditional
|
|
683
|
+
# edge).
|
|
684
|
+
#
|
|
685
|
+
# @return [String]
|
|
686
|
+
required :message, String
|
|
687
|
+
|
|
688
|
+
# @!attribute name
|
|
689
|
+
# Optional human-readable label, displayed in authoring UIs.
|
|
690
|
+
#
|
|
691
|
+
# @return [String, nil]
|
|
692
|
+
optional :name, String
|
|
693
|
+
|
|
694
|
+
# @!attribute position
|
|
695
|
+
# Optional canvas coordinates used by authoring UIs to lay out the graph. Ignored
|
|
696
|
+
# by the runtime; round-trips so frontends can persist graph layout across
|
|
697
|
+
# reloads.
|
|
698
|
+
#
|
|
699
|
+
# @return [Telnyx::Models::AI::AssistantUpdateParams::ConversationFlow::Node::Speak::Position, nil]
|
|
700
|
+
optional :position, -> { Telnyx::AI::AssistantUpdateParams::ConversationFlow::Node::Speak::Position }
|
|
701
|
+
|
|
702
|
+
# @!attribute type
|
|
703
|
+
# Node kind discriminator. Always `speak` for a speak node.
|
|
704
|
+
#
|
|
705
|
+
# @return [Symbol, Telnyx::Models::AI::AssistantUpdateParams::ConversationFlow::Node::Speak::Type, nil]
|
|
706
|
+
optional :type, enum: -> { Telnyx::AI::AssistantUpdateParams::ConversationFlow::Node::Speak::Type }
|
|
707
|
+
|
|
708
|
+
# @!method initialize(id:, message:, name: nil, position: nil, type: nil)
|
|
709
|
+
# Some parameter documentations has been truncated, see
|
|
710
|
+
# {Telnyx::Models::AI::AssistantUpdateParams::ConversationFlow::Node::Speak} for
|
|
711
|
+
# more details.
|
|
712
|
+
#
|
|
713
|
+
# A standalone scripted-message step in a flow, as supplied by clients.
|
|
714
|
+
#
|
|
715
|
+
# Unlike a prompt node, a speak node has no instructions or model — it isn't an
|
|
716
|
+
# LLM turn. Reaching it delivers `message` to the user verbatim (with
|
|
717
|
+
# `{{variable}}` interpolation), then routes via outgoing `llm` / `expression`
|
|
718
|
+
# edges.
|
|
719
|
+
#
|
|
720
|
+
# @param id [String] Caller-supplied unique identifier for this node within the flow.
|
|
721
|
+
#
|
|
722
|
+
# @param message [String] Message delivered to the user verbatim when the flow reaches this node. No LLM t
|
|
723
|
+
#
|
|
724
|
+
# @param name [String] Optional human-readable label, displayed in authoring UIs.
|
|
725
|
+
#
|
|
726
|
+
# @param position [Telnyx::Models::AI::AssistantUpdateParams::ConversationFlow::Node::Speak::Position] Optional canvas coordinates used by authoring UIs to lay out the graph. Ignored
|
|
727
|
+
#
|
|
728
|
+
# @param type [Symbol, Telnyx::Models::AI::AssistantUpdateParams::ConversationFlow::Node::Speak::Type] Node kind discriminator. Always `speak` for a speak node.
|
|
729
|
+
|
|
730
|
+
# @see Telnyx::Models::AI::AssistantUpdateParams::ConversationFlow::Node::Speak#position
|
|
731
|
+
class Position < Telnyx::Internal::Type::BaseModel
|
|
732
|
+
# @!attribute x
|
|
733
|
+
# Horizontal coordinate in the authoring canvas.
|
|
734
|
+
#
|
|
735
|
+
# @return [Float]
|
|
736
|
+
required :x, Float
|
|
737
|
+
|
|
738
|
+
# @!attribute y_
|
|
739
|
+
# Vertical coordinate in the authoring canvas.
|
|
740
|
+
#
|
|
741
|
+
# @return [Float]
|
|
742
|
+
required :y_, Float, api_name: :y
|
|
743
|
+
|
|
744
|
+
# @!method initialize(x:, y_:)
|
|
745
|
+
# Optional canvas coordinates used by authoring UIs to lay out the graph. Ignored
|
|
746
|
+
# by the runtime; round-trips so frontends can persist graph layout across
|
|
747
|
+
# reloads.
|
|
748
|
+
#
|
|
749
|
+
# @param x [Float] Horizontal coordinate in the authoring canvas.
|
|
750
|
+
#
|
|
751
|
+
# @param y_ [Float] Vertical coordinate in the authoring canvas.
|
|
752
|
+
end
|
|
753
|
+
|
|
754
|
+
# Node kind discriminator. Always `speak` for a speak node.
|
|
755
|
+
#
|
|
756
|
+
# @see Telnyx::Models::AI::AssistantUpdateParams::ConversationFlow::Node::Speak#type
|
|
757
|
+
module Type
|
|
758
|
+
extend Telnyx::Internal::Type::Enum
|
|
759
|
+
|
|
760
|
+
SPEAK = :speak
|
|
761
|
+
|
|
762
|
+
# @!method self.values
|
|
763
|
+
# @return [Array<Symbol>]
|
|
764
|
+
end
|
|
765
|
+
end
|
|
766
|
+
|
|
662
767
|
# @!method self.variants
|
|
663
|
-
# @return [Array(Telnyx::Models::AI::AssistantUpdateParams::ConversationFlow::Node::Prompt, Telnyx::Models::AI::AssistantUpdateParams::ConversationFlow::Node::Tool)]
|
|
768
|
+
# @return [Array(Telnyx::Models::AI::AssistantUpdateParams::ConversationFlow::Node::Prompt, Telnyx::Models::AI::AssistantUpdateParams::ConversationFlow::Node::Tool, Telnyx::Models::AI::AssistantUpdateParams::ConversationFlow::Node::Speak)]
|
|
664
769
|
end
|
|
665
770
|
|
|
666
771
|
class Edge < Telnyx::Internal::Type::BaseModel
|
|
@@ -674,7 +779,7 @@ module Telnyx
|
|
|
674
779
|
# Condition that gates the transition. Discriminated by `type`: `llm`,
|
|
675
780
|
# `expression`.
|
|
676
781
|
#
|
|
677
|
-
# @return [Telnyx::Models::AI::AssistantUpdateParams::ConversationFlow::Edge::Condition::Llm, Telnyx::Models::AI::AssistantUpdateParams::ConversationFlow::Edge::Condition::Expression]
|
|
782
|
+
# @return [Telnyx::Models::AI::AssistantUpdateParams::ConversationFlow::Edge::Condition::Llm, Telnyx::Models::AI::AssistantUpdateParams::ConversationFlow::Edge::Condition::Expression, Telnyx::Models::AI::AssistantUpdateParams::ConversationFlow::Edge::Condition::Default]
|
|
678
783
|
required :condition, union: -> { Telnyx::AI::AssistantUpdateParams::ConversationFlow::Edge::Condition }
|
|
679
784
|
|
|
680
785
|
# @!attribute start_node_id
|
|
@@ -704,7 +809,7 @@ module Telnyx
|
|
|
704
809
|
#
|
|
705
810
|
# @param id [String] Caller-supplied unique identifier for this edge within the flow.
|
|
706
811
|
#
|
|
707
|
-
# @param condition [Telnyx::Models::AI::AssistantUpdateParams::ConversationFlow::Edge::Condition::Llm, Telnyx::Models::AI::AssistantUpdateParams::ConversationFlow::Edge::Condition::Expression] Condition that gates the transition. Discriminated by `type`: `llm`, `expression
|
|
812
|
+
# @param condition [Telnyx::Models::AI::AssistantUpdateParams::ConversationFlow::Edge::Condition::Llm, Telnyx::Models::AI::AssistantUpdateParams::ConversationFlow::Edge::Condition::Expression, Telnyx::Models::AI::AssistantUpdateParams::ConversationFlow::Edge::Condition::Default] Condition that gates the transition. Discriminated by `type`: `llm`, `expression
|
|
708
813
|
#
|
|
709
814
|
# @param start_node_id [String] ID of the node this edge transitions away from.
|
|
710
815
|
#
|
|
@@ -734,6 +839,17 @@ module Telnyx
|
|
|
734
839
|
variant :expression,
|
|
735
840
|
-> { Telnyx::AI::AssistantUpdateParams::ConversationFlow::Edge::Condition::Expression }
|
|
736
841
|
|
|
842
|
+
# Fallback edge condition: fires only when no other edge's condition is true.
|
|
843
|
+
#
|
|
844
|
+
# Evaluated after every conditioned (`llm` / `expression`) edge regardless
|
|
845
|
+
# of declaration order, so it routes the flow whenever none of the node's
|
|
846
|
+
# other outgoing edges match. Valid **only** on edges leaving a `tool` or
|
|
847
|
+
# `speak` node, where the deterministic step auto-advances and must always
|
|
848
|
+
# have somewhere to go. A tool/speak node with any outgoing edge is required
|
|
849
|
+
# to carry exactly one `default` edge so it never dead-ends; a tool/speak
|
|
850
|
+
# node with no outgoing edges is a valid terminal step. Carries no parameters.
|
|
851
|
+
variant :default, -> { Telnyx::AI::AssistantUpdateParams::ConversationFlow::Edge::Condition::Default }
|
|
852
|
+
|
|
737
853
|
class Llm < Telnyx::Internal::Type::BaseModel
|
|
738
854
|
# @!attribute prompt
|
|
739
855
|
# Natural-language criterion the LLM judges as true/false.
|
|
@@ -909,8 +1025,28 @@ module Telnyx
|
|
|
909
1025
|
end
|
|
910
1026
|
end
|
|
911
1027
|
|
|
1028
|
+
class Default < Telnyx::Internal::Type::BaseModel
|
|
1029
|
+
# @!attribute type
|
|
1030
|
+
#
|
|
1031
|
+
# @return [Symbol, :default]
|
|
1032
|
+
required :type, const: :default
|
|
1033
|
+
|
|
1034
|
+
# @!method initialize(type: :default)
|
|
1035
|
+
# Fallback edge condition: fires only when no other edge's condition is true.
|
|
1036
|
+
#
|
|
1037
|
+
# Evaluated after every conditioned (`llm` / `expression`) edge regardless of
|
|
1038
|
+
# declaration order, so it routes the flow whenever none of the node's other
|
|
1039
|
+
# outgoing edges match. Valid **only** on edges leaving a `tool` or `speak` node,
|
|
1040
|
+
# where the deterministic step auto-advances and must always have somewhere to go.
|
|
1041
|
+
# A tool/speak node with any outgoing edge is required to carry exactly one
|
|
1042
|
+
# `default` edge so it never dead-ends; a tool/speak node with no outgoing edges
|
|
1043
|
+
# is a valid terminal step. Carries no parameters.
|
|
1044
|
+
#
|
|
1045
|
+
# @param type [Symbol, :default]
|
|
1046
|
+
end
|
|
1047
|
+
|
|
912
1048
|
# @!method self.variants
|
|
913
|
-
# @return [Array(Telnyx::Models::AI::AssistantUpdateParams::ConversationFlow::Edge::Condition::Llm, Telnyx::Models::AI::AssistantUpdateParams::ConversationFlow::Edge::Condition::Expression)]
|
|
1049
|
+
# @return [Array(Telnyx::Models::AI::AssistantUpdateParams::ConversationFlow::Edge::Condition::Llm, Telnyx::Models::AI::AssistantUpdateParams::ConversationFlow::Edge::Condition::Expression, Telnyx::Models::AI::AssistantUpdateParams::ConversationFlow::Edge::Condition::Default)]
|
|
914
1050
|
end
|
|
915
1051
|
|
|
916
1052
|
# Destination of the transition. Discriminated by `type`: `node` (jump to another
|