Class: Telnyx::Models::AI::FlowNode
- Inherits:
-
Internal::Type::BaseModel
- Object
- Internal::Type::BaseModel
- Telnyx::Models::AI::FlowNode
- Defined in:
- lib/telnyx/models/ai/flow_node.rb,
sig/telnyx/models/ai/flow_node.rbs
Defined Under Namespace
Modules: InstructionsMode, ToolsMode, Type
Instance Attribute Summary collapse
-
#external_llm ⇒ Telnyx::Models::AI::ExternalLlm?
Override for
Assistant.external_llmwhile this node is active. -
#id ⇒ String
Caller-supplied unique identifier for this node within the flow.
-
#instructions ⇒ String
Prompt that drives the LLM while this node is active.
-
#instructions_mode ⇒ Symbol, ...
How
instructionscombine with the assistant-level instructions. -
#llm_api_key_ref ⇒ String?
Override for
Assistant.llm_api_key_refwhile this node is active. -
#model ⇒ String?
Override for
Assistant.modelwhile this node is active. -
#name ⇒ String?
Optional human-readable label, displayed in authoring UIs.
-
#position ⇒ Telnyx::Models::AI::NodePosition?
Optional canvas coordinates used by authoring UIs to lay out the graph.
-
#shared_tool_ids ⇒ Array<String>?
IDs of shared (org-level) tools available at this node.
-
#tools ⇒ Array<Array<Telnyx::Models::AI::InferenceEmbeddingWebhookToolParams, Telnyx::Models::AI::AssistantTool::ClientSideTool, Telnyx::Models::AI::RetrievalTool, Telnyx::Models::AI::AssistantTool::Handoff, Telnyx::Models::AI::HangupTool, Telnyx::Models::AI::AssistantTool::Transfer, Telnyx::Models::AI::AssistantTool::Invite, Telnyx::Models::AI::AssistantTool::Refer, Telnyx::Models::AI::AssistantTool::SendDtmf, Telnyx::Models::AI::AssistantTool::SendMessage, Telnyx::Models::AI::AssistantTool::SkipTurn, Telnyx::Models::AI::AssistantTool::Pay, Telnyx::Models::AI::AssistantTool::UpdateDynamicVariables>>?
Full tool definitions for this node, resolved from
shared_tool_idsserver-side. -
#tools_mode ⇒ Symbol, ...
How
shared_tool_idscombine with the assistant-level tool set. -
#transcription ⇒ Telnyx::Models::AI::TranscriptionSettings?
Per-node transcription override (response form).
-
#type ⇒ Symbol, ...
Node kind discriminator.
-
#voice_settings ⇒ Telnyx::Models::AI::VoiceSettings?
Per-node voice override (response form).
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(id:, instructions:, external_llm: nil, instructions_mode: nil, llm_api_key_ref: nil, model: nil, name: nil, position: nil, shared_tool_ids: nil, tools: nil, tools_mode: nil, transcription: nil, type: nil, voice_settings: nil) ⇒ Object
constructor
Some parameter documentations has been truncated, see FlowNode for more details.
- #to_hash ⇒ {
Methods inherited from Internal::Type::BaseModel
==, #==, #[], coerce, #deconstruct_keys, #deep_to_h, dump, fields, hash, #hash, inherited, inspect, #inspect, known_fields, optional, recursively_to_h, required, #to_h, #to_json, #to_s, to_sorbet_type, #to_yaml
Methods included from Internal::Type::Converter
#coerce, coerce, #dump, dump, #inspect, inspect, meta_info, new_coerce_state, type_info
Methods included from Internal::Util::SorbetRuntimeSupport
#const_missing, #define_sorbet_constant!, #sorbet_constant_defined?, #to_sorbet_type, to_sorbet_type
Constructor Details
#initialize(id:, instructions:, external_llm: nil, instructions_mode: nil, llm_api_key_ref: nil, model: nil, name: nil, position: nil, shared_tool_ids: nil, tools: nil, tools_mode: nil, transcription: nil, type: nil, voice_settings: nil) ⇒ Object
Some parameter documentations has been truncated, see Telnyx::Models::AI::FlowNode for more details.
One step in a conversation flow, as returned by the API.
|
|
# File 'lib/telnyx/models/ai/flow_node.rb', line 111
|
Instance Attribute Details
#external_llm ⇒ Telnyx::Models::AI::ExternalLlm?
Override for Assistant.external_llm while this node is active. Use this to
route a node's turns to a different external LLM (different model, base_url,
credentials). Part of the LLM bundle — see model for cascade semantics.
Mutually exclusive with model on the node (a single LLM identity per node).
26 |
# File 'lib/telnyx/models/ai/flow_node.rb', line 26 optional :external_llm, -> { Telnyx::AI::ExternalLlm } |
#id ⇒ String
Caller-supplied unique identifier for this node within the flow.
11 |
# File 'lib/telnyx/models/ai/flow_node.rb', line 11 required :id, String |
#instructions ⇒ String
Prompt that drives the LLM while this node is active. Required.
17 |
# File 'lib/telnyx/models/ai/flow_node.rb', line 17 required :instructions, String |
#instructions_mode ⇒ Symbol, ...
How instructions combine with the assistant-level instructions. replace
(default): the node's instructions are used alone. append: the node's
instructions are concatenated after the assistant's instructions.
34 |
# File 'lib/telnyx/models/ai/flow_node.rb', line 34 optional :instructions_mode, enum: -> { Telnyx::AI::FlowNode::InstructionsMode } |
#llm_api_key_ref ⇒ String?
Override for Assistant.llm_api_key_ref while this node is active. Part of the
LLM bundle — see model for cascade semantics.
41 |
# File 'lib/telnyx/models/ai/flow_node.rb', line 41 optional :llm_api_key_ref, String |
#model ⇒ String?
Override for Assistant.model while this node is active. Part of the LLM bundle
(model + llm_api_key_ref + external_llm): when any of the three is set on
the node, all three are taken from the node and the assistant-level LLM identity
is not consulted. When none of the three is set, the assistant's bundle cascades
unchanged.
51 |
# File 'lib/telnyx/models/ai/flow_node.rb', line 51 optional :model, String |
#name ⇒ String?
Optional human-readable label, displayed in authoring UIs.
57 |
# File 'lib/telnyx/models/ai/flow_node.rb', line 57 optional :name, String |
#position ⇒ Telnyx::Models::AI::NodePosition?
Optional canvas coordinates used by authoring UIs to lay out the graph. Ignored by the runtime; round-trips so frontends can persist graph layout across reloads.
65 |
# File 'lib/telnyx/models/ai/flow_node.rb', line 65 optional :position, -> { Telnyx::AI::NodePosition } |
#shared_tool_ids ⇒ Array<String>?
IDs of shared (org-level) tools available at this node. Knowledge bases are attached the same way — via a shared retrieval tool. Tools not listed here are not callable while this node is active.
73 |
# File 'lib/telnyx/models/ai/flow_node.rb', line 73 optional :shared_tool_ids, Telnyx::Internal::Type::ArrayOf[String] |
#tools ⇒ Array<Array<Telnyx::Models::AI::InferenceEmbeddingWebhookToolParams, Telnyx::Models::AI::AssistantTool::ClientSideTool, Telnyx::Models::AI::RetrievalTool, Telnyx::Models::AI::AssistantTool::Handoff, Telnyx::Models::AI::HangupTool, Telnyx::Models::AI::AssistantTool::Transfer, Telnyx::Models::AI::AssistantTool::Invite, Telnyx::Models::AI::AssistantTool::Refer, Telnyx::Models::AI::AssistantTool::SendDtmf, Telnyx::Models::AI::AssistantTool::SendMessage, Telnyx::Models::AI::AssistantTool::SkipTurn, Telnyx::Models::AI::AssistantTool::Pay, Telnyx::Models::AI::AssistantTool::UpdateDynamicVariables>>?
Full tool definitions for this node, resolved from shared_tool_ids
server-side. Populated on responses so clients can render the flow without a
follow-up fetch per shared tool. Ignored on input — set shared_tool_ids to
configure a node's tools.
82 83 |
# File 'lib/telnyx/models/ai/flow_node.rb', line 82 optional :tools, -> { Telnyx::Internal::Type::ArrayOf[Telnyx::Internal::Type::ArrayOf[union: Telnyx::AI::AssistantTool]] } |
#tools_mode ⇒ Symbol, ...
How shared_tool_ids combine with the assistant-level tool set. replace
(default): only the node's tools are callable. append: the node's tools are
added to the assistant's tools. Ignored when shared_tool_ids is null.
91 |
# File 'lib/telnyx/models/ai/flow_node.rb', line 91 optional :tools_mode, enum: -> { Telnyx::AI::FlowNode::ToolsMode } |
#transcription ⇒ Telnyx::Models::AI::TranscriptionSettings?
Per-node transcription override (response form).
97 |
# File 'lib/telnyx/models/ai/flow_node.rb', line 97 optional :transcription, -> { Telnyx::AI::TranscriptionSettings } |
#type ⇒ Symbol, ...
Node kind discriminator. prompt is an LLM-driven step.
103 |
# File 'lib/telnyx/models/ai/flow_node.rb', line 103 optional :type, enum: -> { Telnyx::AI::FlowNode::Type } |
#voice_settings ⇒ Telnyx::Models::AI::VoiceSettings?
Per-node voice override (response form).
109 |
# File 'lib/telnyx/models/ai/flow_node.rb', line 109 optional :voice_settings, -> { Telnyx::AI::VoiceSettings } |
Class Method Details
.values ⇒ Array<Symbol>
|
|
# File 'lib/telnyx/models/ai/flow_node.rb', line 156
|
Instance Method Details
#to_hash ⇒ {
104 |
# File 'sig/telnyx/models/ai/flow_node.rbs', line 104
def to_hash: -> {
|