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
|
@@ -572,7 +572,8 @@ module Telnyx
|
|
|
572
572
|
T::Array[
|
|
573
573
|
T.any(
|
|
574
574
|
Telnyx::AI::Assistants::UpdateAssistant::ConversationFlow::Node::Prompt,
|
|
575
|
-
Telnyx::AI::Assistants::UpdateAssistant::ConversationFlow::Node::Tool
|
|
575
|
+
Telnyx::AI::Assistants::UpdateAssistant::ConversationFlow::Node::Tool,
|
|
576
|
+
Telnyx::AI::Assistants::UpdateAssistant::ConversationFlow::Node::Speak
|
|
576
577
|
)
|
|
577
578
|
]
|
|
578
579
|
)
|
|
@@ -616,7 +617,8 @@ module Telnyx
|
|
|
616
617
|
T::Array[
|
|
617
618
|
T.any(
|
|
618
619
|
Telnyx::AI::Assistants::UpdateAssistant::ConversationFlow::Node::Prompt::OrHash,
|
|
619
|
-
Telnyx::AI::Assistants::UpdateAssistant::ConversationFlow::Node::Tool::OrHash
|
|
620
|
+
Telnyx::AI::Assistants::UpdateAssistant::ConversationFlow::Node::Tool::OrHash,
|
|
621
|
+
Telnyx::AI::Assistants::UpdateAssistant::ConversationFlow::Node::Speak::OrHash
|
|
620
622
|
)
|
|
621
623
|
],
|
|
622
624
|
start_node_id: String,
|
|
@@ -644,7 +646,8 @@ module Telnyx
|
|
|
644
646
|
T::Array[
|
|
645
647
|
T.any(
|
|
646
648
|
Telnyx::AI::Assistants::UpdateAssistant::ConversationFlow::Node::Prompt,
|
|
647
|
-
Telnyx::AI::Assistants::UpdateAssistant::ConversationFlow::Node::Tool
|
|
649
|
+
Telnyx::AI::Assistants::UpdateAssistant::ConversationFlow::Node::Tool,
|
|
650
|
+
Telnyx::AI::Assistants::UpdateAssistant::ConversationFlow::Node::Speak
|
|
648
651
|
)
|
|
649
652
|
],
|
|
650
653
|
start_node_id: String,
|
|
@@ -669,7 +672,8 @@ module Telnyx
|
|
|
669
672
|
T.type_alias do
|
|
670
673
|
T.any(
|
|
671
674
|
Telnyx::AI::Assistants::UpdateAssistant::ConversationFlow::Node::Prompt,
|
|
672
|
-
Telnyx::AI::Assistants::UpdateAssistant::ConversationFlow::Node::Tool
|
|
675
|
+
Telnyx::AI::Assistants::UpdateAssistant::ConversationFlow::Node::Tool,
|
|
676
|
+
Telnyx::AI::Assistants::UpdateAssistant::ConversationFlow::Node::Speak
|
|
673
677
|
)
|
|
674
678
|
end
|
|
675
679
|
|
|
@@ -1264,6 +1268,192 @@ module Telnyx
|
|
|
1264
1268
|
end
|
|
1265
1269
|
end
|
|
1266
1270
|
|
|
1271
|
+
class Speak < Telnyx::Internal::Type::BaseModel
|
|
1272
|
+
OrHash =
|
|
1273
|
+
T.type_alias do
|
|
1274
|
+
T.any(
|
|
1275
|
+
Telnyx::AI::Assistants::UpdateAssistant::ConversationFlow::Node::Speak,
|
|
1276
|
+
Telnyx::Internal::AnyHash
|
|
1277
|
+
)
|
|
1278
|
+
end
|
|
1279
|
+
|
|
1280
|
+
# Caller-supplied unique identifier for this node within the flow.
|
|
1281
|
+
sig { returns(String) }
|
|
1282
|
+
attr_accessor :id
|
|
1283
|
+
|
|
1284
|
+
# Message delivered to the user verbatim when the flow reaches this node. No LLM
|
|
1285
|
+
# turn — the text is spoken/sent exactly as written. `{{variable}}` placeholders
|
|
1286
|
+
# are interpolated from the conversation's dynamic variables; an unresolved
|
|
1287
|
+
# placeholder renders as an empty string. After delivering, the flow routes via
|
|
1288
|
+
# the node's outgoing `llm` / `expression` edges (commonly a single unconditional
|
|
1289
|
+
# edge).
|
|
1290
|
+
sig { returns(String) }
|
|
1291
|
+
attr_accessor :message
|
|
1292
|
+
|
|
1293
|
+
# Optional human-readable label, displayed in authoring UIs.
|
|
1294
|
+
sig { returns(T.nilable(String)) }
|
|
1295
|
+
attr_reader :name
|
|
1296
|
+
|
|
1297
|
+
sig { params(name: String).void }
|
|
1298
|
+
attr_writer :name
|
|
1299
|
+
|
|
1300
|
+
# Optional canvas coordinates used by authoring UIs to lay out the graph. Ignored
|
|
1301
|
+
# by the runtime; round-trips so frontends can persist graph layout across
|
|
1302
|
+
# reloads.
|
|
1303
|
+
sig do
|
|
1304
|
+
returns(
|
|
1305
|
+
T.nilable(
|
|
1306
|
+
Telnyx::AI::Assistants::UpdateAssistant::ConversationFlow::Node::Speak::Position
|
|
1307
|
+
)
|
|
1308
|
+
)
|
|
1309
|
+
end
|
|
1310
|
+
attr_reader :position
|
|
1311
|
+
|
|
1312
|
+
sig do
|
|
1313
|
+
params(
|
|
1314
|
+
position:
|
|
1315
|
+
Telnyx::AI::Assistants::UpdateAssistant::ConversationFlow::Node::Speak::Position::OrHash
|
|
1316
|
+
).void
|
|
1317
|
+
end
|
|
1318
|
+
attr_writer :position
|
|
1319
|
+
|
|
1320
|
+
# Node kind discriminator. Always `speak` for a speak node.
|
|
1321
|
+
sig do
|
|
1322
|
+
returns(
|
|
1323
|
+
T.nilable(
|
|
1324
|
+
Telnyx::AI::Assistants::UpdateAssistant::ConversationFlow::Node::Speak::Type::OrSymbol
|
|
1325
|
+
)
|
|
1326
|
+
)
|
|
1327
|
+
end
|
|
1328
|
+
attr_reader :type
|
|
1329
|
+
|
|
1330
|
+
sig do
|
|
1331
|
+
params(
|
|
1332
|
+
type:
|
|
1333
|
+
Telnyx::AI::Assistants::UpdateAssistant::ConversationFlow::Node::Speak::Type::OrSymbol
|
|
1334
|
+
).void
|
|
1335
|
+
end
|
|
1336
|
+
attr_writer :type
|
|
1337
|
+
|
|
1338
|
+
# A standalone scripted-message step in a flow, as supplied by clients.
|
|
1339
|
+
#
|
|
1340
|
+
# Unlike a prompt node, a speak node has no instructions or model — it isn't an
|
|
1341
|
+
# LLM turn. Reaching it delivers `message` to the user verbatim (with
|
|
1342
|
+
# `{{variable}}` interpolation), then routes via outgoing `llm` / `expression`
|
|
1343
|
+
# edges.
|
|
1344
|
+
sig do
|
|
1345
|
+
params(
|
|
1346
|
+
id: String,
|
|
1347
|
+
message: String,
|
|
1348
|
+
name: String,
|
|
1349
|
+
position:
|
|
1350
|
+
Telnyx::AI::Assistants::UpdateAssistant::ConversationFlow::Node::Speak::Position::OrHash,
|
|
1351
|
+
type:
|
|
1352
|
+
Telnyx::AI::Assistants::UpdateAssistant::ConversationFlow::Node::Speak::Type::OrSymbol
|
|
1353
|
+
).returns(T.attached_class)
|
|
1354
|
+
end
|
|
1355
|
+
def self.new(
|
|
1356
|
+
# Caller-supplied unique identifier for this node within the flow.
|
|
1357
|
+
id:,
|
|
1358
|
+
# Message delivered to the user verbatim when the flow reaches this node. No LLM
|
|
1359
|
+
# turn — the text is spoken/sent exactly as written. `{{variable}}` placeholders
|
|
1360
|
+
# are interpolated from the conversation's dynamic variables; an unresolved
|
|
1361
|
+
# placeholder renders as an empty string. After delivering, the flow routes via
|
|
1362
|
+
# the node's outgoing `llm` / `expression` edges (commonly a single unconditional
|
|
1363
|
+
# edge).
|
|
1364
|
+
message:,
|
|
1365
|
+
# Optional human-readable label, displayed in authoring UIs.
|
|
1366
|
+
name: nil,
|
|
1367
|
+
# Optional canvas coordinates used by authoring UIs to lay out the graph. Ignored
|
|
1368
|
+
# by the runtime; round-trips so frontends can persist graph layout across
|
|
1369
|
+
# reloads.
|
|
1370
|
+
position: nil,
|
|
1371
|
+
# Node kind discriminator. Always `speak` for a speak node.
|
|
1372
|
+
type: nil
|
|
1373
|
+
)
|
|
1374
|
+
end
|
|
1375
|
+
|
|
1376
|
+
sig do
|
|
1377
|
+
override.returns(
|
|
1378
|
+
{
|
|
1379
|
+
id: String,
|
|
1380
|
+
message: String,
|
|
1381
|
+
name: String,
|
|
1382
|
+
position:
|
|
1383
|
+
Telnyx::AI::Assistants::UpdateAssistant::ConversationFlow::Node::Speak::Position,
|
|
1384
|
+
type:
|
|
1385
|
+
Telnyx::AI::Assistants::UpdateAssistant::ConversationFlow::Node::Speak::Type::OrSymbol
|
|
1386
|
+
}
|
|
1387
|
+
)
|
|
1388
|
+
end
|
|
1389
|
+
def to_hash
|
|
1390
|
+
end
|
|
1391
|
+
|
|
1392
|
+
class Position < Telnyx::Internal::Type::BaseModel
|
|
1393
|
+
OrHash =
|
|
1394
|
+
T.type_alias do
|
|
1395
|
+
T.any(
|
|
1396
|
+
Telnyx::AI::Assistants::UpdateAssistant::ConversationFlow::Node::Speak::Position,
|
|
1397
|
+
Telnyx::Internal::AnyHash
|
|
1398
|
+
)
|
|
1399
|
+
end
|
|
1400
|
+
|
|
1401
|
+
# Horizontal coordinate in the authoring canvas.
|
|
1402
|
+
sig { returns(Float) }
|
|
1403
|
+
attr_accessor :x
|
|
1404
|
+
|
|
1405
|
+
# Vertical coordinate in the authoring canvas.
|
|
1406
|
+
sig { returns(Float) }
|
|
1407
|
+
attr_accessor :y_
|
|
1408
|
+
|
|
1409
|
+
# Optional canvas coordinates used by authoring UIs to lay out the graph. Ignored
|
|
1410
|
+
# by the runtime; round-trips so frontends can persist graph layout across
|
|
1411
|
+
# reloads.
|
|
1412
|
+
sig { params(x: Float, y_: Float).returns(T.attached_class) }
|
|
1413
|
+
def self.new(
|
|
1414
|
+
# Horizontal coordinate in the authoring canvas.
|
|
1415
|
+
x:,
|
|
1416
|
+
# Vertical coordinate in the authoring canvas.
|
|
1417
|
+
y_:
|
|
1418
|
+
)
|
|
1419
|
+
end
|
|
1420
|
+
|
|
1421
|
+
sig { override.returns({ x: Float, y_: Float }) }
|
|
1422
|
+
def to_hash
|
|
1423
|
+
end
|
|
1424
|
+
end
|
|
1425
|
+
|
|
1426
|
+
# Node kind discriminator. Always `speak` for a speak node.
|
|
1427
|
+
module Type
|
|
1428
|
+
extend Telnyx::Internal::Type::Enum
|
|
1429
|
+
|
|
1430
|
+
TaggedSymbol =
|
|
1431
|
+
T.type_alias do
|
|
1432
|
+
T.all(
|
|
1433
|
+
Symbol,
|
|
1434
|
+
Telnyx::AI::Assistants::UpdateAssistant::ConversationFlow::Node::Speak::Type
|
|
1435
|
+
)
|
|
1436
|
+
end
|
|
1437
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
1438
|
+
|
|
1439
|
+
SPEAK =
|
|
1440
|
+
T.let(
|
|
1441
|
+
:speak,
|
|
1442
|
+
Telnyx::AI::Assistants::UpdateAssistant::ConversationFlow::Node::Speak::Type::TaggedSymbol
|
|
1443
|
+
)
|
|
1444
|
+
|
|
1445
|
+
sig do
|
|
1446
|
+
override.returns(
|
|
1447
|
+
T::Array[
|
|
1448
|
+
Telnyx::AI::Assistants::UpdateAssistant::ConversationFlow::Node::Speak::Type::TaggedSymbol
|
|
1449
|
+
]
|
|
1450
|
+
)
|
|
1451
|
+
end
|
|
1452
|
+
def self.values
|
|
1453
|
+
end
|
|
1454
|
+
end
|
|
1455
|
+
end
|
|
1456
|
+
|
|
1267
1457
|
sig do
|
|
1268
1458
|
override.returns(
|
|
1269
1459
|
T::Array[
|
|
@@ -1294,7 +1484,8 @@ module Telnyx
|
|
|
1294
1484
|
returns(
|
|
1295
1485
|
T.any(
|
|
1296
1486
|
Telnyx::AI::Assistants::UpdateAssistant::ConversationFlow::Edge::Condition::Llm,
|
|
1297
|
-
Telnyx::AI::Assistants::UpdateAssistant::ConversationFlow::Edge::Condition::Expression
|
|
1487
|
+
Telnyx::AI::Assistants::UpdateAssistant::ConversationFlow::Edge::Condition::Expression,
|
|
1488
|
+
Telnyx::AI::Assistants::UpdateAssistant::ConversationFlow::Edge::Condition::Default
|
|
1298
1489
|
)
|
|
1299
1490
|
)
|
|
1300
1491
|
end
|
|
@@ -1328,7 +1519,8 @@ module Telnyx
|
|
|
1328
1519
|
condition:
|
|
1329
1520
|
T.any(
|
|
1330
1521
|
Telnyx::AI::Assistants::UpdateAssistant::ConversationFlow::Edge::Condition::Llm::OrHash,
|
|
1331
|
-
Telnyx::AI::Assistants::UpdateAssistant::ConversationFlow::Edge::Condition::Expression::OrHash
|
|
1522
|
+
Telnyx::AI::Assistants::UpdateAssistant::ConversationFlow::Edge::Condition::Expression::OrHash,
|
|
1523
|
+
Telnyx::AI::Assistants::UpdateAssistant::ConversationFlow::Edge::Condition::Default::OrHash
|
|
1332
1524
|
),
|
|
1333
1525
|
start_node_id: String,
|
|
1334
1526
|
target:
|
|
@@ -1359,7 +1551,8 @@ module Telnyx
|
|
|
1359
1551
|
condition:
|
|
1360
1552
|
T.any(
|
|
1361
1553
|
Telnyx::AI::Assistants::UpdateAssistant::ConversationFlow::Edge::Condition::Llm,
|
|
1362
|
-
Telnyx::AI::Assistants::UpdateAssistant::ConversationFlow::Edge::Condition::Expression
|
|
1554
|
+
Telnyx::AI::Assistants::UpdateAssistant::ConversationFlow::Edge::Condition::Expression,
|
|
1555
|
+
Telnyx::AI::Assistants::UpdateAssistant::ConversationFlow::Edge::Condition::Default
|
|
1363
1556
|
),
|
|
1364
1557
|
start_node_id: String,
|
|
1365
1558
|
target:
|
|
@@ -1382,7 +1575,8 @@ module Telnyx
|
|
|
1382
1575
|
T.type_alias do
|
|
1383
1576
|
T.any(
|
|
1384
1577
|
Telnyx::AI::Assistants::UpdateAssistant::ConversationFlow::Edge::Condition::Llm,
|
|
1385
|
-
Telnyx::AI::Assistants::UpdateAssistant::ConversationFlow::Edge::Condition::Expression
|
|
1578
|
+
Telnyx::AI::Assistants::UpdateAssistant::ConversationFlow::Edge::Condition::Expression,
|
|
1579
|
+
Telnyx::AI::Assistants::UpdateAssistant::ConversationFlow::Edge::Condition::Default
|
|
1386
1580
|
)
|
|
1387
1581
|
end
|
|
1388
1582
|
|
|
@@ -1679,6 +1873,36 @@ module Telnyx
|
|
|
1679
1873
|
end
|
|
1680
1874
|
end
|
|
1681
1875
|
|
|
1876
|
+
class Default < Telnyx::Internal::Type::BaseModel
|
|
1877
|
+
OrHash =
|
|
1878
|
+
T.type_alias do
|
|
1879
|
+
T.any(
|
|
1880
|
+
Telnyx::AI::Assistants::UpdateAssistant::ConversationFlow::Edge::Condition::Default,
|
|
1881
|
+
Telnyx::Internal::AnyHash
|
|
1882
|
+
)
|
|
1883
|
+
end
|
|
1884
|
+
|
|
1885
|
+
sig { returns(Symbol) }
|
|
1886
|
+
attr_accessor :type
|
|
1887
|
+
|
|
1888
|
+
# Fallback edge condition: fires only when no other edge's condition is true.
|
|
1889
|
+
#
|
|
1890
|
+
# Evaluated after every conditioned (`llm` / `expression`) edge regardless of
|
|
1891
|
+
# declaration order, so it routes the flow whenever none of the node's other
|
|
1892
|
+
# outgoing edges match. Valid **only** on edges leaving a `tool` or `speak` node,
|
|
1893
|
+
# where the deterministic step auto-advances and must always have somewhere to go.
|
|
1894
|
+
# A tool/speak node with any outgoing edge is required to carry exactly one
|
|
1895
|
+
# `default` edge so it never dead-ends; a tool/speak node with no outgoing edges
|
|
1896
|
+
# is a valid terminal step. Carries no parameters.
|
|
1897
|
+
sig { params(type: Symbol).returns(T.attached_class) }
|
|
1898
|
+
def self.new(type: :default)
|
|
1899
|
+
end
|
|
1900
|
+
|
|
1901
|
+
sig { override.returns({ type: Symbol }) }
|
|
1902
|
+
def to_hash
|
|
1903
|
+
end
|
|
1904
|
+
end
|
|
1905
|
+
|
|
1682
1906
|
sig do
|
|
1683
1907
|
override.returns(
|
|
1684
1908
|
T::Array[
|
|
@@ -578,7 +578,8 @@ module Telnyx
|
|
|
578
578
|
T::Array[
|
|
579
579
|
T.any(
|
|
580
580
|
Telnyx::AI::InferenceEmbedding::ConversationFlow::Node::Prompt::OrHash,
|
|
581
|
-
Telnyx::AI::InferenceEmbedding::ConversationFlow::Node::Tool::OrHash
|
|
581
|
+
Telnyx::AI::InferenceEmbedding::ConversationFlow::Node::Tool::OrHash,
|
|
582
|
+
Telnyx::AI::InferenceEmbedding::ConversationFlow::Node::Speak::OrHash
|
|
582
583
|
)
|
|
583
584
|
],
|
|
584
585
|
start_node_id: String,
|
|
@@ -624,7 +625,8 @@ module Telnyx
|
|
|
624
625
|
T.type_alias do
|
|
625
626
|
T.any(
|
|
626
627
|
Telnyx::AI::InferenceEmbedding::ConversationFlow::Node::Prompt,
|
|
627
|
-
Telnyx::AI::InferenceEmbedding::ConversationFlow::Node::Tool
|
|
628
|
+
Telnyx::AI::InferenceEmbedding::ConversationFlow::Node::Tool,
|
|
629
|
+
Telnyx::AI::InferenceEmbedding::ConversationFlow::Node::Speak
|
|
628
630
|
)
|
|
629
631
|
end
|
|
630
632
|
|
|
@@ -1313,6 +1315,187 @@ module Telnyx
|
|
|
1313
1315
|
end
|
|
1314
1316
|
end
|
|
1315
1317
|
|
|
1318
|
+
class Speak < Telnyx::Internal::Type::BaseModel
|
|
1319
|
+
OrHash =
|
|
1320
|
+
T.type_alias do
|
|
1321
|
+
T.any(
|
|
1322
|
+
Telnyx::AI::InferenceEmbedding::ConversationFlow::Node::Speak,
|
|
1323
|
+
Telnyx::Internal::AnyHash
|
|
1324
|
+
)
|
|
1325
|
+
end
|
|
1326
|
+
|
|
1327
|
+
# Caller-supplied unique identifier for this node within the flow.
|
|
1328
|
+
sig { returns(String) }
|
|
1329
|
+
attr_accessor :id
|
|
1330
|
+
|
|
1331
|
+
# Message delivered to the user verbatim when the flow reaches this node. No LLM
|
|
1332
|
+
# turn — the text is spoken/sent exactly as written. `{{variable}}` placeholders
|
|
1333
|
+
# are interpolated from the conversation's dynamic variables; an unresolved
|
|
1334
|
+
# placeholder renders as an empty string. After delivering, the flow routes via
|
|
1335
|
+
# the node's outgoing `llm` / `expression` edges (commonly a single unconditional
|
|
1336
|
+
# edge).
|
|
1337
|
+
sig { returns(String) }
|
|
1338
|
+
attr_accessor :message
|
|
1339
|
+
|
|
1340
|
+
# Optional human-readable label, displayed in authoring UIs.
|
|
1341
|
+
sig { returns(T.nilable(String)) }
|
|
1342
|
+
attr_reader :name
|
|
1343
|
+
|
|
1344
|
+
sig { params(name: String).void }
|
|
1345
|
+
attr_writer :name
|
|
1346
|
+
|
|
1347
|
+
# Optional canvas coordinates used by authoring UIs to lay out the graph. Ignored
|
|
1348
|
+
# by the runtime; round-trips so frontends can persist graph layout across
|
|
1349
|
+
# reloads.
|
|
1350
|
+
sig do
|
|
1351
|
+
returns(
|
|
1352
|
+
T.nilable(
|
|
1353
|
+
Telnyx::AI::InferenceEmbedding::ConversationFlow::Node::Speak::Position
|
|
1354
|
+
)
|
|
1355
|
+
)
|
|
1356
|
+
end
|
|
1357
|
+
attr_reader :position
|
|
1358
|
+
|
|
1359
|
+
sig do
|
|
1360
|
+
params(
|
|
1361
|
+
position:
|
|
1362
|
+
Telnyx::AI::InferenceEmbedding::ConversationFlow::Node::Speak::Position::OrHash
|
|
1363
|
+
).void
|
|
1364
|
+
end
|
|
1365
|
+
attr_writer :position
|
|
1366
|
+
|
|
1367
|
+
# Node kind discriminator. Always `speak` for a speak node.
|
|
1368
|
+
sig do
|
|
1369
|
+
returns(
|
|
1370
|
+
T.nilable(
|
|
1371
|
+
Telnyx::AI::InferenceEmbedding::ConversationFlow::Node::Speak::Type::TaggedSymbol
|
|
1372
|
+
)
|
|
1373
|
+
)
|
|
1374
|
+
end
|
|
1375
|
+
attr_reader :type
|
|
1376
|
+
|
|
1377
|
+
sig do
|
|
1378
|
+
params(
|
|
1379
|
+
type:
|
|
1380
|
+
Telnyx::AI::InferenceEmbedding::ConversationFlow::Node::Speak::Type::OrSymbol
|
|
1381
|
+
).void
|
|
1382
|
+
end
|
|
1383
|
+
attr_writer :type
|
|
1384
|
+
|
|
1385
|
+
# A standalone scripted-message step in a flow, as returned by the API.
|
|
1386
|
+
sig do
|
|
1387
|
+
params(
|
|
1388
|
+
id: String,
|
|
1389
|
+
message: String,
|
|
1390
|
+
name: String,
|
|
1391
|
+
position:
|
|
1392
|
+
Telnyx::AI::InferenceEmbedding::ConversationFlow::Node::Speak::Position::OrHash,
|
|
1393
|
+
type:
|
|
1394
|
+
Telnyx::AI::InferenceEmbedding::ConversationFlow::Node::Speak::Type::OrSymbol
|
|
1395
|
+
).returns(T.attached_class)
|
|
1396
|
+
end
|
|
1397
|
+
def self.new(
|
|
1398
|
+
# Caller-supplied unique identifier for this node within the flow.
|
|
1399
|
+
id:,
|
|
1400
|
+
# Message delivered to the user verbatim when the flow reaches this node. No LLM
|
|
1401
|
+
# turn — the text is spoken/sent exactly as written. `{{variable}}` placeholders
|
|
1402
|
+
# are interpolated from the conversation's dynamic variables; an unresolved
|
|
1403
|
+
# placeholder renders as an empty string. After delivering, the flow routes via
|
|
1404
|
+
# the node's outgoing `llm` / `expression` edges (commonly a single unconditional
|
|
1405
|
+
# edge).
|
|
1406
|
+
message:,
|
|
1407
|
+
# Optional human-readable label, displayed in authoring UIs.
|
|
1408
|
+
name: nil,
|
|
1409
|
+
# Optional canvas coordinates used by authoring UIs to lay out the graph. Ignored
|
|
1410
|
+
# by the runtime; round-trips so frontends can persist graph layout across
|
|
1411
|
+
# reloads.
|
|
1412
|
+
position: nil,
|
|
1413
|
+
# Node kind discriminator. Always `speak` for a speak node.
|
|
1414
|
+
type: nil
|
|
1415
|
+
)
|
|
1416
|
+
end
|
|
1417
|
+
|
|
1418
|
+
sig do
|
|
1419
|
+
override.returns(
|
|
1420
|
+
{
|
|
1421
|
+
id: String,
|
|
1422
|
+
message: String,
|
|
1423
|
+
name: String,
|
|
1424
|
+
position:
|
|
1425
|
+
Telnyx::AI::InferenceEmbedding::ConversationFlow::Node::Speak::Position,
|
|
1426
|
+
type:
|
|
1427
|
+
Telnyx::AI::InferenceEmbedding::ConversationFlow::Node::Speak::Type::TaggedSymbol
|
|
1428
|
+
}
|
|
1429
|
+
)
|
|
1430
|
+
end
|
|
1431
|
+
def to_hash
|
|
1432
|
+
end
|
|
1433
|
+
|
|
1434
|
+
class Position < Telnyx::Internal::Type::BaseModel
|
|
1435
|
+
OrHash =
|
|
1436
|
+
T.type_alias do
|
|
1437
|
+
T.any(
|
|
1438
|
+
Telnyx::AI::InferenceEmbedding::ConversationFlow::Node::Speak::Position,
|
|
1439
|
+
Telnyx::Internal::AnyHash
|
|
1440
|
+
)
|
|
1441
|
+
end
|
|
1442
|
+
|
|
1443
|
+
# Horizontal coordinate in the authoring canvas.
|
|
1444
|
+
sig { returns(Float) }
|
|
1445
|
+
attr_accessor :x
|
|
1446
|
+
|
|
1447
|
+
# Vertical coordinate in the authoring canvas.
|
|
1448
|
+
sig { returns(Float) }
|
|
1449
|
+
attr_accessor :y_
|
|
1450
|
+
|
|
1451
|
+
# Optional canvas coordinates used by authoring UIs to lay out the graph. Ignored
|
|
1452
|
+
# by the runtime; round-trips so frontends can persist graph layout across
|
|
1453
|
+
# reloads.
|
|
1454
|
+
sig { params(x: Float, y_: Float).returns(T.attached_class) }
|
|
1455
|
+
def self.new(
|
|
1456
|
+
# Horizontal coordinate in the authoring canvas.
|
|
1457
|
+
x:,
|
|
1458
|
+
# Vertical coordinate in the authoring canvas.
|
|
1459
|
+
y_:
|
|
1460
|
+
)
|
|
1461
|
+
end
|
|
1462
|
+
|
|
1463
|
+
sig { override.returns({ x: Float, y_: Float }) }
|
|
1464
|
+
def to_hash
|
|
1465
|
+
end
|
|
1466
|
+
end
|
|
1467
|
+
|
|
1468
|
+
# Node kind discriminator. Always `speak` for a speak node.
|
|
1469
|
+
module Type
|
|
1470
|
+
extend Telnyx::Internal::Type::Enum
|
|
1471
|
+
|
|
1472
|
+
TaggedSymbol =
|
|
1473
|
+
T.type_alias do
|
|
1474
|
+
T.all(
|
|
1475
|
+
Symbol,
|
|
1476
|
+
Telnyx::AI::InferenceEmbedding::ConversationFlow::Node::Speak::Type
|
|
1477
|
+
)
|
|
1478
|
+
end
|
|
1479
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
1480
|
+
|
|
1481
|
+
SPEAK =
|
|
1482
|
+
T.let(
|
|
1483
|
+
:speak,
|
|
1484
|
+
Telnyx::AI::InferenceEmbedding::ConversationFlow::Node::Speak::Type::TaggedSymbol
|
|
1485
|
+
)
|
|
1486
|
+
|
|
1487
|
+
sig do
|
|
1488
|
+
override.returns(
|
|
1489
|
+
T::Array[
|
|
1490
|
+
Telnyx::AI::InferenceEmbedding::ConversationFlow::Node::Speak::Type::TaggedSymbol
|
|
1491
|
+
]
|
|
1492
|
+
)
|
|
1493
|
+
end
|
|
1494
|
+
def self.values
|
|
1495
|
+
end
|
|
1496
|
+
end
|
|
1497
|
+
end
|
|
1498
|
+
|
|
1316
1499
|
sig do
|
|
1317
1500
|
override.returns(
|
|
1318
1501
|
T::Array[
|
|
@@ -1371,7 +1554,8 @@ module Telnyx
|
|
|
1371
1554
|
condition:
|
|
1372
1555
|
T.any(
|
|
1373
1556
|
Telnyx::AI::InferenceEmbedding::ConversationFlow::Edge::Condition::Llm::OrHash,
|
|
1374
|
-
Telnyx::AI::InferenceEmbedding::ConversationFlow::Edge::Condition::Expression::OrHash
|
|
1557
|
+
Telnyx::AI::InferenceEmbedding::ConversationFlow::Edge::Condition::Expression::OrHash,
|
|
1558
|
+
Telnyx::AI::InferenceEmbedding::ConversationFlow::Edge::Condition::Default::OrHash
|
|
1375
1559
|
),
|
|
1376
1560
|
start_node_id: String,
|
|
1377
1561
|
target:
|
|
@@ -1419,7 +1603,8 @@ module Telnyx
|
|
|
1419
1603
|
T.type_alias do
|
|
1420
1604
|
T.any(
|
|
1421
1605
|
Telnyx::AI::InferenceEmbedding::ConversationFlow::Edge::Condition::Llm,
|
|
1422
|
-
Telnyx::AI::InferenceEmbedding::ConversationFlow::Edge::Condition::Expression
|
|
1606
|
+
Telnyx::AI::InferenceEmbedding::ConversationFlow::Edge::Condition::Expression,
|
|
1607
|
+
Telnyx::AI::InferenceEmbedding::ConversationFlow::Edge::Condition::Default
|
|
1423
1608
|
)
|
|
1424
1609
|
end
|
|
1425
1610
|
|
|
@@ -1702,6 +1887,36 @@ module Telnyx
|
|
|
1702
1887
|
end
|
|
1703
1888
|
end
|
|
1704
1889
|
|
|
1890
|
+
class Default < Telnyx::Internal::Type::BaseModel
|
|
1891
|
+
OrHash =
|
|
1892
|
+
T.type_alias do
|
|
1893
|
+
T.any(
|
|
1894
|
+
Telnyx::AI::InferenceEmbedding::ConversationFlow::Edge::Condition::Default,
|
|
1895
|
+
Telnyx::Internal::AnyHash
|
|
1896
|
+
)
|
|
1897
|
+
end
|
|
1898
|
+
|
|
1899
|
+
sig { returns(Symbol) }
|
|
1900
|
+
attr_accessor :type
|
|
1901
|
+
|
|
1902
|
+
# Fallback edge condition: fires only when no other edge's condition is true.
|
|
1903
|
+
#
|
|
1904
|
+
# Evaluated after every conditioned (`llm` / `expression`) edge regardless of
|
|
1905
|
+
# declaration order, so it routes the flow whenever none of the node's other
|
|
1906
|
+
# outgoing edges match. Valid **only** on edges leaving a `tool` or `speak` node,
|
|
1907
|
+
# where the deterministic step auto-advances and must always have somewhere to go.
|
|
1908
|
+
# A tool/speak node with any outgoing edge is required to carry exactly one
|
|
1909
|
+
# `default` edge so it never dead-ends; a tool/speak node with no outgoing edges
|
|
1910
|
+
# is a valid terminal step. Carries no parameters.
|
|
1911
|
+
sig { params(type: Symbol).returns(T.attached_class) }
|
|
1912
|
+
def self.new(type: :default)
|
|
1913
|
+
end
|
|
1914
|
+
|
|
1915
|
+
sig { override.returns({ type: Symbol }) }
|
|
1916
|
+
def to_hash
|
|
1917
|
+
end
|
|
1918
|
+
end
|
|
1919
|
+
|
|
1705
1920
|
sig do
|
|
1706
1921
|
override.returns(
|
|
1707
1922
|
T::Array[
|
|
@@ -277,6 +277,7 @@ module Telnyx
|
|
|
277
277
|
type node =
|
|
278
278
|
Telnyx::AI::AssistantCreateParams::ConversationFlow::Node::Prompt
|
|
279
279
|
| Telnyx::AI::AssistantCreateParams::ConversationFlow::Node::Tool
|
|
280
|
+
| Telnyx::AI::AssistantCreateParams::ConversationFlow::Node::Speak
|
|
280
281
|
|
|
281
282
|
module Node
|
|
282
283
|
extend Telnyx::Internal::Type::Union
|
|
@@ -507,6 +508,75 @@ module Telnyx
|
|
|
507
508
|
end
|
|
508
509
|
end
|
|
509
510
|
|
|
511
|
+
type speak =
|
|
512
|
+
{
|
|
513
|
+
id: String,
|
|
514
|
+
message: String,
|
|
515
|
+
name: String,
|
|
516
|
+
position: Telnyx::AI::AssistantCreateParams::ConversationFlow::Node::Speak::Position,
|
|
517
|
+
type: Telnyx::Models::AI::AssistantCreateParams::ConversationFlow::Node::Speak::type_
|
|
518
|
+
}
|
|
519
|
+
|
|
520
|
+
class Speak < Telnyx::Internal::Type::BaseModel
|
|
521
|
+
attr_accessor id: String
|
|
522
|
+
|
|
523
|
+
attr_accessor message: String
|
|
524
|
+
|
|
525
|
+
attr_reader name: String?
|
|
526
|
+
|
|
527
|
+
def name=: (String) -> String
|
|
528
|
+
|
|
529
|
+
attr_reader position: Telnyx::AI::AssistantCreateParams::ConversationFlow::Node::Speak::Position?
|
|
530
|
+
|
|
531
|
+
def position=: (
|
|
532
|
+
Telnyx::AI::AssistantCreateParams::ConversationFlow::Node::Speak::Position
|
|
533
|
+
) -> Telnyx::AI::AssistantCreateParams::ConversationFlow::Node::Speak::Position
|
|
534
|
+
|
|
535
|
+
attr_reader type: Telnyx::Models::AI::AssistantCreateParams::ConversationFlow::Node::Speak::type_?
|
|
536
|
+
|
|
537
|
+
def type=: (
|
|
538
|
+
Telnyx::Models::AI::AssistantCreateParams::ConversationFlow::Node::Speak::type_
|
|
539
|
+
) -> Telnyx::Models::AI::AssistantCreateParams::ConversationFlow::Node::Speak::type_
|
|
540
|
+
|
|
541
|
+
def initialize: (
|
|
542
|
+
id: String,
|
|
543
|
+
message: String,
|
|
544
|
+
?name: String,
|
|
545
|
+
?position: Telnyx::AI::AssistantCreateParams::ConversationFlow::Node::Speak::Position,
|
|
546
|
+
?type: Telnyx::Models::AI::AssistantCreateParams::ConversationFlow::Node::Speak::type_
|
|
547
|
+
) -> void
|
|
548
|
+
|
|
549
|
+
def to_hash: -> {
|
|
550
|
+
id: String,
|
|
551
|
+
message: String,
|
|
552
|
+
name: String,
|
|
553
|
+
position: Telnyx::AI::AssistantCreateParams::ConversationFlow::Node::Speak::Position,
|
|
554
|
+
type: Telnyx::Models::AI::AssistantCreateParams::ConversationFlow::Node::Speak::type_
|
|
555
|
+
}
|
|
556
|
+
|
|
557
|
+
type position = { x: Float, y_: Float }
|
|
558
|
+
|
|
559
|
+
class Position < Telnyx::Internal::Type::BaseModel
|
|
560
|
+
attr_accessor x: Float
|
|
561
|
+
|
|
562
|
+
attr_accessor y_: Float
|
|
563
|
+
|
|
564
|
+
def initialize: (x: Float, y_: Float) -> void
|
|
565
|
+
|
|
566
|
+
def to_hash: -> { x: Float, y_: Float }
|
|
567
|
+
end
|
|
568
|
+
|
|
569
|
+
type type_ = :speak
|
|
570
|
+
|
|
571
|
+
module Type
|
|
572
|
+
extend Telnyx::Internal::Type::Enum
|
|
573
|
+
|
|
574
|
+
SPEAK: :speak
|
|
575
|
+
|
|
576
|
+
def self?.values: -> ::Array[Telnyx::Models::AI::AssistantCreateParams::ConversationFlow::Node::Speak::type_]
|
|
577
|
+
end
|
|
578
|
+
end
|
|
579
|
+
|
|
510
580
|
def self?.variants: -> ::Array[Telnyx::Models::AI::AssistantCreateParams::ConversationFlow::node]
|
|
511
581
|
end
|
|
512
582
|
|
|
@@ -544,6 +614,7 @@ module Telnyx
|
|
|
544
614
|
type condition =
|
|
545
615
|
Telnyx::AI::AssistantCreateParams::ConversationFlow::Edge::Condition::Llm
|
|
546
616
|
| Telnyx::AI::AssistantCreateParams::ConversationFlow::Edge::Condition::Expression
|
|
617
|
+
| Telnyx::AI::AssistantCreateParams::ConversationFlow::Edge::Condition::Default
|
|
547
618
|
|
|
548
619
|
module Condition
|
|
549
620
|
extend Telnyx::Internal::Type::Union
|
|
@@ -653,6 +724,16 @@ module Telnyx
|
|
|
653
724
|
end
|
|
654
725
|
end
|
|
655
726
|
|
|
727
|
+
type default = { type: :default }
|
|
728
|
+
|
|
729
|
+
class Default < Telnyx::Internal::Type::BaseModel
|
|
730
|
+
attr_accessor type: :default
|
|
731
|
+
|
|
732
|
+
def initialize: (?type: :default) -> void
|
|
733
|
+
|
|
734
|
+
def to_hash: -> { type: :default }
|
|
735
|
+
end
|
|
736
|
+
|
|
656
737
|
def self?.variants: -> ::Array[Telnyx::Models::AI::AssistantCreateParams::ConversationFlow::Edge::condition]
|
|
657
738
|
end
|
|
658
739
|
|