@roarkanalytics/sdk 3.14.0 → 3.15.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.
- package/CHANGELOG.md +12 -0
- package/package.json +1 -1
- package/resources/config.d.mts +47 -6
- package/resources/config.d.mts.map +1 -1
- package/resources/config.d.ts +47 -6
- package/resources/config.d.ts.map +1 -1
- package/resources/customer-flow-edge-case.d.mts +384 -3
- package/resources/customer-flow-edge-case.d.mts.map +1 -1
- package/resources/customer-flow-edge-case.d.ts +384 -3
- package/resources/customer-flow-edge-case.d.ts.map +1 -1
- package/resources/customer-flow.d.mts +1576 -39
- package/resources/customer-flow.d.mts.map +1 -1
- package/resources/customer-flow.d.ts +1576 -39
- package/resources/customer-flow.d.ts.map +1 -1
- package/resources/http-request-definition.d.mts +24 -0
- package/resources/http-request-definition.d.mts.map +1 -1
- package/resources/http-request-definition.d.ts +24 -0
- package/resources/http-request-definition.d.ts.map +1 -1
- package/src/resources/config.ts +87 -3
- package/src/resources/customer-flow-edge-case.ts +909 -204
- package/src/resources/customer-flow.ts +4334 -1494
- package/src/resources/http-request-definition.ts +28 -0
- package/src/version.ts +1 -1
- package/version.d.mts +1 -1
- package/version.d.ts +1 -1
- package/version.js +1 -1
- package/version.mjs +1 -1
|
@@ -472,6 +472,12 @@ export namespace CustomerFlowEdgeCaseUpdateResponse {
|
|
|
472
472
|
*/
|
|
473
473
|
environment: ImprovFlowVariant.Environment | null;
|
|
474
474
|
|
|
475
|
+
/**
|
|
476
|
+
* The personas this brief hands the phone to, in order of first mention. Empty
|
|
477
|
+
* when the brief inherits the happy path's: read the happy path's list.
|
|
478
|
+
*/
|
|
479
|
+
handoffPersonas: Array<ImprovFlowVariant.HandoffPersona>;
|
|
480
|
+
|
|
475
481
|
isGenerated: boolean;
|
|
476
482
|
|
|
477
483
|
/**
|
|
@@ -493,7 +499,9 @@ export namespace CustomerFlowEdgeCaseUpdateResponse {
|
|
|
493
499
|
updatedAt: string;
|
|
494
500
|
|
|
495
501
|
/**
|
|
496
|
-
* The brief the simulated customer improvises from.
|
|
502
|
+
* The brief the simulated customer improvises from. A `@{persona:<id>}` mention
|
|
503
|
+
* hands the phone to that persona mid-call; the sentences around the mention say
|
|
504
|
+
* when.
|
|
497
505
|
*/
|
|
498
506
|
prompt?: string | null;
|
|
499
507
|
|
|
@@ -552,10 +560,7 @@ export namespace CustomerFlowEdgeCaseUpdateResponse {
|
|
|
552
560
|
description?: string | null;
|
|
553
561
|
}
|
|
554
562
|
|
|
555
|
-
|
|
556
|
-
* The persona this runs as instead of the happy path's. Null means it inherits.
|
|
557
|
-
*/
|
|
558
|
-
export interface PersonaOverride {
|
|
563
|
+
export interface HandoffPersona {
|
|
559
564
|
/**
|
|
560
565
|
* Unique identifier of the persona
|
|
561
566
|
*/
|
|
@@ -781,105 +786,6 @@ export namespace CustomerFlowEdgeCaseUpdateResponse {
|
|
|
781
786
|
*/
|
|
782
787
|
secondaryLanguage?: 'EN' | null;
|
|
783
788
|
}
|
|
784
|
-
}
|
|
785
|
-
|
|
786
|
-
/**
|
|
787
|
-
* One voicemail greeting.
|
|
788
|
-
*/
|
|
789
|
-
export interface VoicemailFlowVariant {
|
|
790
|
-
id: string;
|
|
791
|
-
|
|
792
|
-
/**
|
|
793
|
-
* Graded on top of the flow's own expectations, for this variant only.
|
|
794
|
-
*/
|
|
795
|
-
additionalExpectations: Array<VoicemailFlowVariant.AdditionalExpectation>;
|
|
796
|
-
|
|
797
|
-
/**
|
|
798
|
-
* Creation timestamp in ISO 8601 format
|
|
799
|
-
*/
|
|
800
|
-
createdAt: string;
|
|
801
|
-
|
|
802
|
-
/**
|
|
803
|
-
* A simulation environment: the ambient conditions a customer flow variant runs
|
|
804
|
-
* under. The list includes both your own and the ones Roark curates for every
|
|
805
|
-
* project.
|
|
806
|
-
*/
|
|
807
|
-
environment: VoicemailFlowVariant.Environment | null;
|
|
808
|
-
|
|
809
|
-
isGenerated: boolean;
|
|
810
|
-
|
|
811
|
-
/**
|
|
812
|
-
* The persona this runs as instead of the happy path's. Null means it inherits.
|
|
813
|
-
*/
|
|
814
|
-
personaOverride: VoicemailFlowVariant.PersonaOverride | null;
|
|
815
|
-
|
|
816
|
-
precededByCustomerFlowId: string | null;
|
|
817
|
-
|
|
818
|
-
precededByCustomerFlowVariantId: string | null;
|
|
819
|
-
|
|
820
|
-
title: string;
|
|
821
|
-
|
|
822
|
-
type: 'VOICEMAIL';
|
|
823
|
-
|
|
824
|
-
/**
|
|
825
|
-
* Last update timestamp in ISO 8601 format
|
|
826
|
-
*/
|
|
827
|
-
updatedAt: string;
|
|
828
|
-
|
|
829
|
-
systemKey?: string | null;
|
|
830
|
-
}
|
|
831
|
-
|
|
832
|
-
export namespace VoicemailFlowVariant {
|
|
833
|
-
/**
|
|
834
|
-
* One thing the agent under test is graded against.
|
|
835
|
-
*/
|
|
836
|
-
export interface AdditionalExpectation {
|
|
837
|
-
id: string;
|
|
838
|
-
|
|
839
|
-
/**
|
|
840
|
-
* What the agent under test is graded against.
|
|
841
|
-
*/
|
|
842
|
-
prompt: string;
|
|
843
|
-
}
|
|
844
|
-
|
|
845
|
-
/**
|
|
846
|
-
* A simulation environment: the ambient conditions a customer flow variant runs
|
|
847
|
-
* under. The list includes both your own and the ones Roark curates for every
|
|
848
|
-
* project.
|
|
849
|
-
*/
|
|
850
|
-
export interface Environment {
|
|
851
|
-
id: string;
|
|
852
|
-
|
|
853
|
-
backgroundNoise:
|
|
854
|
-
| 'NONE'
|
|
855
|
-
| 'AIRPORT'
|
|
856
|
-
| 'CHILDREN_PLAYING'
|
|
857
|
-
| 'CITY'
|
|
858
|
-
| 'COFFEE_SHOP'
|
|
859
|
-
| 'CONSTRUCTION'
|
|
860
|
-
| 'CRYING_BABY'
|
|
861
|
-
| 'DRIVING'
|
|
862
|
-
| 'LIBRARY'
|
|
863
|
-
| 'OFFICE'
|
|
864
|
-
| 'THUNDERSTORM'
|
|
865
|
-
| 'TRAIN';
|
|
866
|
-
|
|
867
|
-
backgroundNoiseVolume: number;
|
|
868
|
-
|
|
869
|
-
/**
|
|
870
|
-
* Creation timestamp in ISO 8601 format
|
|
871
|
-
*/
|
|
872
|
-
createdAt: string;
|
|
873
|
-
|
|
874
|
-
name: string;
|
|
875
|
-
|
|
876
|
-
/**
|
|
877
|
-
* Last update timestamp in ISO 8601 format
|
|
878
|
-
*/
|
|
879
|
-
updatedAt: string;
|
|
880
|
-
|
|
881
|
-
description?: string | null;
|
|
882
|
-
}
|
|
883
789
|
|
|
884
790
|
/**
|
|
885
791
|
* The persona this runs as instead of the happy path's. Null means it inherits.
|
|
@@ -1111,30 +1017,17 @@ export namespace CustomerFlowEdgeCaseUpdateResponse {
|
|
|
1111
1017
|
secondaryLanguage?: 'EN' | null;
|
|
1112
1018
|
}
|
|
1113
1019
|
}
|
|
1114
|
-
}
|
|
1115
|
-
|
|
1116
|
-
export interface CustomerFlowEdgeCaseAddResponse {
|
|
1117
|
-
/**
|
|
1118
|
-
* One way of running a customer flow.
|
|
1119
|
-
*/
|
|
1120
|
-
data:
|
|
1121
|
-
| CustomerFlowEdgeCaseAddResponse.ScriptedFlowVariant
|
|
1122
|
-
| CustomerFlowEdgeCaseAddResponse.ImprovFlowVariant
|
|
1123
|
-
| CustomerFlowEdgeCaseAddResponse.VoicemailFlowVariant;
|
|
1124
|
-
}
|
|
1125
1020
|
|
|
1126
|
-
export namespace CustomerFlowEdgeCaseAddResponse {
|
|
1127
1021
|
/**
|
|
1128
|
-
* One
|
|
1129
|
-
* editing the graph is what creates and removes these.
|
|
1022
|
+
* One voicemail greeting.
|
|
1130
1023
|
*/
|
|
1131
|
-
export interface
|
|
1024
|
+
export interface VoicemailFlowVariant {
|
|
1132
1025
|
id: string;
|
|
1133
1026
|
|
|
1134
1027
|
/**
|
|
1135
1028
|
* Graded on top of the flow's own expectations, for this variant only.
|
|
1136
1029
|
*/
|
|
1137
|
-
additionalExpectations: Array<
|
|
1030
|
+
additionalExpectations: Array<VoicemailFlowVariant.AdditionalExpectation>;
|
|
1138
1031
|
|
|
1139
1032
|
/**
|
|
1140
1033
|
* Creation timestamp in ISO 8601 format
|
|
@@ -1146,28 +1039,22 @@ export namespace CustomerFlowEdgeCaseAddResponse {
|
|
|
1146
1039
|
* under. The list includes both your own and the ones Roark curates for every
|
|
1147
1040
|
* project.
|
|
1148
1041
|
*/
|
|
1149
|
-
environment:
|
|
1042
|
+
environment: VoicemailFlowVariant.Environment | null;
|
|
1150
1043
|
|
|
1151
1044
|
isGenerated: boolean;
|
|
1152
1045
|
|
|
1153
1046
|
/**
|
|
1154
1047
|
* The persona this runs as instead of the happy path's. Null means it inherits.
|
|
1155
1048
|
*/
|
|
1156
|
-
personaOverride:
|
|
1049
|
+
personaOverride: VoicemailFlowVariant.PersonaOverride | null;
|
|
1157
1050
|
|
|
1158
1051
|
precededByCustomerFlowId: string | null;
|
|
1159
1052
|
|
|
1160
1053
|
precededByCustomerFlowVariantId: string | null;
|
|
1161
1054
|
|
|
1162
|
-
/**
|
|
1163
|
-
* The one path through the graph this variant runs, in order. Linear by
|
|
1164
|
-
* construction, so these steps never nest.
|
|
1165
|
-
*/
|
|
1166
|
-
steps: Array<CustomerFlowAPI.FlowStep>;
|
|
1167
|
-
|
|
1168
1055
|
title: string;
|
|
1169
1056
|
|
|
1170
|
-
type: '
|
|
1057
|
+
type: 'VOICEMAIL';
|
|
1171
1058
|
|
|
1172
1059
|
/**
|
|
1173
1060
|
* Last update timestamp in ISO 8601 format
|
|
@@ -1177,7 +1064,7 @@ export namespace CustomerFlowEdgeCaseAddResponse {
|
|
|
1177
1064
|
systemKey?: string | null;
|
|
1178
1065
|
}
|
|
1179
1066
|
|
|
1180
|
-
export namespace
|
|
1067
|
+
export namespace VoicemailFlowVariant {
|
|
1181
1068
|
/**
|
|
1182
1069
|
* One thing the agent under test is graded against.
|
|
1183
1070
|
*/
|
|
@@ -1459,17 +1346,30 @@ export namespace CustomerFlowEdgeCaseAddResponse {
|
|
|
1459
1346
|
secondaryLanguage?: 'EN' | null;
|
|
1460
1347
|
}
|
|
1461
1348
|
}
|
|
1349
|
+
}
|
|
1462
1350
|
|
|
1351
|
+
export interface CustomerFlowEdgeCaseAddResponse {
|
|
1463
1352
|
/**
|
|
1464
|
-
* One
|
|
1353
|
+
* One way of running a customer flow.
|
|
1465
1354
|
*/
|
|
1466
|
-
|
|
1355
|
+
data:
|
|
1356
|
+
| CustomerFlowEdgeCaseAddResponse.ScriptedFlowVariant
|
|
1357
|
+
| CustomerFlowEdgeCaseAddResponse.ImprovFlowVariant
|
|
1358
|
+
| CustomerFlowEdgeCaseAddResponse.VoicemailFlowVariant;
|
|
1359
|
+
}
|
|
1360
|
+
|
|
1361
|
+
export namespace CustomerFlowEdgeCaseAddResponse {
|
|
1362
|
+
/**
|
|
1363
|
+
* One path through a scripted flow. The path engine owns which paths exist, so
|
|
1364
|
+
* editing the graph is what creates and removes these.
|
|
1365
|
+
*/
|
|
1366
|
+
export interface ScriptedFlowVariant {
|
|
1467
1367
|
id: string;
|
|
1468
1368
|
|
|
1469
1369
|
/**
|
|
1470
1370
|
* Graded on top of the flow's own expectations, for this variant only.
|
|
1471
1371
|
*/
|
|
1472
|
-
additionalExpectations: Array<
|
|
1372
|
+
additionalExpectations: Array<ScriptedFlowVariant.AdditionalExpectation>;
|
|
1473
1373
|
|
|
1474
1374
|
/**
|
|
1475
1375
|
* Creation timestamp in ISO 8601 format
|
|
@@ -1481,37 +1381,38 @@ export namespace CustomerFlowEdgeCaseAddResponse {
|
|
|
1481
1381
|
* under. The list includes both your own and the ones Roark curates for every
|
|
1482
1382
|
* project.
|
|
1483
1383
|
*/
|
|
1484
|
-
environment:
|
|
1384
|
+
environment: ScriptedFlowVariant.Environment | null;
|
|
1485
1385
|
|
|
1486
1386
|
isGenerated: boolean;
|
|
1487
1387
|
|
|
1488
1388
|
/**
|
|
1489
1389
|
* The persona this runs as instead of the happy path's. Null means it inherits.
|
|
1490
1390
|
*/
|
|
1491
|
-
personaOverride:
|
|
1391
|
+
personaOverride: ScriptedFlowVariant.PersonaOverride | null;
|
|
1492
1392
|
|
|
1493
1393
|
precededByCustomerFlowId: string | null;
|
|
1494
1394
|
|
|
1495
1395
|
precededByCustomerFlowVariantId: string | null;
|
|
1496
1396
|
|
|
1397
|
+
/**
|
|
1398
|
+
* The one path through the graph this variant runs, in order. Linear by
|
|
1399
|
+
* construction, so these steps never nest.
|
|
1400
|
+
*/
|
|
1401
|
+
steps: Array<CustomerFlowAPI.FlowStep>;
|
|
1402
|
+
|
|
1497
1403
|
title: string;
|
|
1498
1404
|
|
|
1499
|
-
type: '
|
|
1405
|
+
type: 'SCRIPTED';
|
|
1500
1406
|
|
|
1501
1407
|
/**
|
|
1502
1408
|
* Last update timestamp in ISO 8601 format
|
|
1503
1409
|
*/
|
|
1504
1410
|
updatedAt: string;
|
|
1505
1411
|
|
|
1506
|
-
/**
|
|
1507
|
-
* The brief the simulated customer improvises from.
|
|
1508
|
-
*/
|
|
1509
|
-
prompt?: string | null;
|
|
1510
|
-
|
|
1511
1412
|
systemKey?: string | null;
|
|
1512
1413
|
}
|
|
1513
1414
|
|
|
1514
|
-
export namespace
|
|
1415
|
+
export namespace ScriptedFlowVariant {
|
|
1515
1416
|
/**
|
|
1516
1417
|
* One thing the agent under test is graded against.
|
|
1517
1418
|
*/
|
|
@@ -1795,15 +1696,15 @@ export namespace CustomerFlowEdgeCaseAddResponse {
|
|
|
1795
1696
|
}
|
|
1796
1697
|
|
|
1797
1698
|
/**
|
|
1798
|
-
* One
|
|
1699
|
+
* One brief to run an improv flow with.
|
|
1799
1700
|
*/
|
|
1800
|
-
export interface
|
|
1701
|
+
export interface ImprovFlowVariant {
|
|
1801
1702
|
id: string;
|
|
1802
1703
|
|
|
1803
1704
|
/**
|
|
1804
1705
|
* Graded on top of the flow's own expectations, for this variant only.
|
|
1805
1706
|
*/
|
|
1806
|
-
additionalExpectations: Array<
|
|
1707
|
+
additionalExpectations: Array<ImprovFlowVariant.AdditionalExpectation>;
|
|
1807
1708
|
|
|
1808
1709
|
/**
|
|
1809
1710
|
* Creation timestamp in ISO 8601 format
|
|
@@ -1815,14 +1716,20 @@ export namespace CustomerFlowEdgeCaseAddResponse {
|
|
|
1815
1716
|
* under. The list includes both your own and the ones Roark curates for every
|
|
1816
1717
|
* project.
|
|
1817
1718
|
*/
|
|
1818
|
-
environment:
|
|
1719
|
+
environment: ImprovFlowVariant.Environment | null;
|
|
1720
|
+
|
|
1721
|
+
/**
|
|
1722
|
+
* The personas this brief hands the phone to, in order of first mention. Empty
|
|
1723
|
+
* when the brief inherits the happy path's: read the happy path's list.
|
|
1724
|
+
*/
|
|
1725
|
+
handoffPersonas: Array<ImprovFlowVariant.HandoffPersona>;
|
|
1819
1726
|
|
|
1820
1727
|
isGenerated: boolean;
|
|
1821
1728
|
|
|
1822
1729
|
/**
|
|
1823
1730
|
* The persona this runs as instead of the happy path's. Null means it inherits.
|
|
1824
1731
|
*/
|
|
1825
|
-
personaOverride:
|
|
1732
|
+
personaOverride: ImprovFlowVariant.PersonaOverride | null;
|
|
1826
1733
|
|
|
1827
1734
|
precededByCustomerFlowId: string | null;
|
|
1828
1735
|
|
|
@@ -1830,17 +1737,24 @@ export namespace CustomerFlowEdgeCaseAddResponse {
|
|
|
1830
1737
|
|
|
1831
1738
|
title: string;
|
|
1832
1739
|
|
|
1833
|
-
type: '
|
|
1740
|
+
type: 'IMPROV';
|
|
1834
1741
|
|
|
1835
1742
|
/**
|
|
1836
1743
|
* Last update timestamp in ISO 8601 format
|
|
1837
1744
|
*/
|
|
1838
1745
|
updatedAt: string;
|
|
1839
1746
|
|
|
1747
|
+
/**
|
|
1748
|
+
* The brief the simulated customer improvises from. A `@{persona:<id>}` mention
|
|
1749
|
+
* hands the phone to that persona mid-call; the sentences around the mention say
|
|
1750
|
+
* when.
|
|
1751
|
+
*/
|
|
1752
|
+
prompt?: string | null;
|
|
1753
|
+
|
|
1840
1754
|
systemKey?: string | null;
|
|
1841
1755
|
}
|
|
1842
1756
|
|
|
1843
|
-
export namespace
|
|
1757
|
+
export namespace ImprovFlowVariant {
|
|
1844
1758
|
/**
|
|
1845
1759
|
* One thing the agent under test is graded against.
|
|
1846
1760
|
*/
|
|
@@ -1892,10 +1806,7 @@ export namespace CustomerFlowEdgeCaseAddResponse {
|
|
|
1892
1806
|
description?: string | null;
|
|
1893
1807
|
}
|
|
1894
1808
|
|
|
1895
|
-
|
|
1896
|
-
* The persona this runs as instead of the happy path's. Null means it inherits.
|
|
1897
|
-
*/
|
|
1898
|
-
export interface PersonaOverride {
|
|
1809
|
+
export interface HandoffPersona {
|
|
1899
1810
|
/**
|
|
1900
1811
|
* Unique identifier of the persona
|
|
1901
1812
|
*/
|
|
@@ -2121,60 +2032,619 @@ export namespace CustomerFlowEdgeCaseAddResponse {
|
|
|
2121
2032
|
*/
|
|
2122
2033
|
secondaryLanguage?: 'EN' | null;
|
|
2123
2034
|
}
|
|
2124
|
-
}
|
|
2125
|
-
}
|
|
2126
|
-
|
|
2127
|
-
export interface CustomerFlowEdgeCasePromoteResponse {
|
|
2128
|
-
/**
|
|
2129
|
-
* One way of running a customer flow.
|
|
2130
|
-
*/
|
|
2131
|
-
data:
|
|
2132
|
-
| CustomerFlowEdgeCasePromoteResponse.ScriptedFlowVariant
|
|
2133
|
-
| CustomerFlowEdgeCasePromoteResponse.ImprovFlowVariant
|
|
2134
|
-
| CustomerFlowEdgeCasePromoteResponse.VoicemailFlowVariant;
|
|
2135
|
-
}
|
|
2136
|
-
|
|
2137
|
-
export namespace CustomerFlowEdgeCasePromoteResponse {
|
|
2138
|
-
/**
|
|
2139
|
-
* One path through a scripted flow. The path engine owns which paths exist, so
|
|
2140
|
-
* editing the graph is what creates and removes these.
|
|
2141
|
-
*/
|
|
2142
|
-
export interface ScriptedFlowVariant {
|
|
2143
|
-
id: string;
|
|
2144
|
-
|
|
2145
|
-
/**
|
|
2146
|
-
* Graded on top of the flow's own expectations, for this variant only.
|
|
2147
|
-
*/
|
|
2148
|
-
additionalExpectations: Array<ScriptedFlowVariant.AdditionalExpectation>;
|
|
2149
|
-
|
|
2150
|
-
/**
|
|
2151
|
-
* Creation timestamp in ISO 8601 format
|
|
2152
|
-
*/
|
|
2153
|
-
createdAt: string;
|
|
2154
|
-
|
|
2155
|
-
/**
|
|
2156
|
-
* A simulation environment: the ambient conditions a customer flow variant runs
|
|
2157
|
-
* under. The list includes both your own and the ones Roark curates for every
|
|
2158
|
-
* project.
|
|
2159
|
-
*/
|
|
2160
|
-
environment: ScriptedFlowVariant.Environment | null;
|
|
2161
|
-
|
|
2162
|
-
isGenerated: boolean;
|
|
2163
2035
|
|
|
2164
2036
|
/**
|
|
2165
2037
|
* The persona this runs as instead of the happy path's. Null means it inherits.
|
|
2166
2038
|
*/
|
|
2167
|
-
|
|
2168
|
-
|
|
2169
|
-
|
|
2170
|
-
|
|
2171
|
-
|
|
2172
|
-
|
|
2173
|
-
|
|
2174
|
-
|
|
2175
|
-
|
|
2176
|
-
|
|
2177
|
-
|
|
2039
|
+
export interface PersonaOverride {
|
|
2040
|
+
/**
|
|
2041
|
+
* Unique identifier of the persona
|
|
2042
|
+
*/
|
|
2043
|
+
id: string;
|
|
2044
|
+
|
|
2045
|
+
/**
|
|
2046
|
+
* Accent of the persona, defined using ISO 3166-1 alpha-2 country codes with
|
|
2047
|
+
* optional variants
|
|
2048
|
+
*/
|
|
2049
|
+
accent:
|
|
2050
|
+
| 'US'
|
|
2051
|
+
| 'US_X_SOUTH'
|
|
2052
|
+
| 'GB'
|
|
2053
|
+
| 'ES'
|
|
2054
|
+
| 'DE'
|
|
2055
|
+
| 'IN'
|
|
2056
|
+
| 'FR'
|
|
2057
|
+
| 'NL'
|
|
2058
|
+
| 'SA'
|
|
2059
|
+
| 'GR'
|
|
2060
|
+
| 'AU'
|
|
2061
|
+
| 'IT'
|
|
2062
|
+
| 'ID'
|
|
2063
|
+
| 'TH'
|
|
2064
|
+
| 'JP'
|
|
2065
|
+
| 'NZ'
|
|
2066
|
+
| 'PH'
|
|
2067
|
+
| 'SG'
|
|
2068
|
+
| 'MY'
|
|
2069
|
+
| 'HK'
|
|
2070
|
+
| 'TR'
|
|
2071
|
+
| 'PT'
|
|
2072
|
+
| 'IL';
|
|
2073
|
+
|
|
2074
|
+
/**
|
|
2075
|
+
* How old the caller sounds and behaves. Only ages the persona's accent has a
|
|
2076
|
+
* voice for are accepted; defaults to ADULT, which every accent supports.
|
|
2077
|
+
*/
|
|
2078
|
+
age: 'CHILD' | 'TEENAGER' | 'ADULT' | 'ELDERLY';
|
|
2079
|
+
|
|
2080
|
+
/**
|
|
2081
|
+
* Background noise setting
|
|
2082
|
+
*/
|
|
2083
|
+
backgroundNoise:
|
|
2084
|
+
| 'NONE'
|
|
2085
|
+
| 'AIRPORT'
|
|
2086
|
+
| 'CHILDREN_PLAYING'
|
|
2087
|
+
| 'CITY'
|
|
2088
|
+
| 'COFFEE_SHOP'
|
|
2089
|
+
| 'CONSTRUCTION'
|
|
2090
|
+
| 'CRYING_BABY'
|
|
2091
|
+
| 'DRIVING'
|
|
2092
|
+
| 'LIBRARY'
|
|
2093
|
+
| 'OFFICE'
|
|
2094
|
+
| 'THUNDERSTORM'
|
|
2095
|
+
| 'TRAIN';
|
|
2096
|
+
|
|
2097
|
+
/**
|
|
2098
|
+
* Base emotional state of the persona
|
|
2099
|
+
*/
|
|
2100
|
+
baseEmotion:
|
|
2101
|
+
| 'NEUTRAL'
|
|
2102
|
+
| 'CHEERFUL'
|
|
2103
|
+
| 'CONFUSED'
|
|
2104
|
+
| 'FRUSTRATED'
|
|
2105
|
+
| 'SKEPTICAL'
|
|
2106
|
+
| 'RUSHED'
|
|
2107
|
+
| 'DISTRACTED'
|
|
2108
|
+
| 'ANGRY'
|
|
2109
|
+
| 'ANXIOUS'
|
|
2110
|
+
| 'SAD';
|
|
2111
|
+
|
|
2112
|
+
/**
|
|
2113
|
+
* How the persona confirms information
|
|
2114
|
+
*/
|
|
2115
|
+
confirmationStyle: 'EXPLICIT' | 'VAGUE';
|
|
2116
|
+
|
|
2117
|
+
/**
|
|
2118
|
+
* Creation timestamp
|
|
2119
|
+
*/
|
|
2120
|
+
createdAt: string;
|
|
2121
|
+
|
|
2122
|
+
/**
|
|
2123
|
+
* Gender of the persona
|
|
2124
|
+
*/
|
|
2125
|
+
gender: 'MALE' | 'FEMALE';
|
|
2126
|
+
|
|
2127
|
+
/**
|
|
2128
|
+
* Whether the persona uses filler words like "um" and "uh"
|
|
2129
|
+
*/
|
|
2130
|
+
hasDisfluencies: boolean;
|
|
2131
|
+
|
|
2132
|
+
/**
|
|
2133
|
+
* Maximum number of idle messages the persona will send before giving up
|
|
2134
|
+
*/
|
|
2135
|
+
idleMessageMaxSpokenCount: number;
|
|
2136
|
+
|
|
2137
|
+
/**
|
|
2138
|
+
* Whether the idle message counter resets when the agent speaks
|
|
2139
|
+
*/
|
|
2140
|
+
idleMessageResetCountOnUserSpeechEnabled: boolean;
|
|
2141
|
+
|
|
2142
|
+
/**
|
|
2143
|
+
* Messages the persona will say when the agent goes silent during a call. null =
|
|
2144
|
+
* "Automatic": language-appropriate defaults are used at call time.
|
|
2145
|
+
*/
|
|
2146
|
+
idleMessages: Array<string> | null;
|
|
2147
|
+
|
|
2148
|
+
/**
|
|
2149
|
+
* Seconds of silence before the persona sends an idle message
|
|
2150
|
+
*/
|
|
2151
|
+
idleTimeoutSeconds: number;
|
|
2152
|
+
|
|
2153
|
+
/**
|
|
2154
|
+
* How clearly the persona expresses their intentions
|
|
2155
|
+
*/
|
|
2156
|
+
intentClarity: 'CLEAR' | 'INDIRECT' | 'VAGUE';
|
|
2157
|
+
|
|
2158
|
+
/**
|
|
2159
|
+
* Primary language ISO 639-1 code for the persona
|
|
2160
|
+
*/
|
|
2161
|
+
language:
|
|
2162
|
+
| 'EN'
|
|
2163
|
+
| 'ES'
|
|
2164
|
+
| 'DE'
|
|
2165
|
+
| 'HI'
|
|
2166
|
+
| 'FR'
|
|
2167
|
+
| 'NL'
|
|
2168
|
+
| 'AR'
|
|
2169
|
+
| 'EL'
|
|
2170
|
+
| 'IT'
|
|
2171
|
+
| 'ID'
|
|
2172
|
+
| 'TH'
|
|
2173
|
+
| 'JA'
|
|
2174
|
+
| 'TL'
|
|
2175
|
+
| 'MS'
|
|
2176
|
+
| 'ZH'
|
|
2177
|
+
| 'TR'
|
|
2178
|
+
| 'PT'
|
|
2179
|
+
| 'HE';
|
|
2180
|
+
|
|
2181
|
+
/**
|
|
2182
|
+
* How reliable the persona's memory is
|
|
2183
|
+
*/
|
|
2184
|
+
memoryReliability: 'HIGH' | 'LOW';
|
|
2185
|
+
|
|
2186
|
+
/**
|
|
2187
|
+
* The name the agent will identify as during conversations
|
|
2188
|
+
*/
|
|
2189
|
+
name: string;
|
|
2190
|
+
|
|
2191
|
+
/**
|
|
2192
|
+
* Additional custom properties about the persona
|
|
2193
|
+
*/
|
|
2194
|
+
properties: { [key: string]: unknown };
|
|
2195
|
+
|
|
2196
|
+
/**
|
|
2197
|
+
* Controls how quickly the persona responds to pauses in conversation (QUICK,
|
|
2198
|
+
* NORMAL, RELAXED). BARGE_IN also talks over the agent once it has held the floor
|
|
2199
|
+
* for several seconds.
|
|
2200
|
+
*/
|
|
2201
|
+
responseTiming: 'RELAXED' | 'NORMAL' | 'QUICK' | 'BARGE_IN';
|
|
2202
|
+
|
|
2203
|
+
/**
|
|
2204
|
+
* Speech clarity of the persona
|
|
2205
|
+
*/
|
|
2206
|
+
speechClarity: 'CLEAR' | 'VAGUE' | 'RAMBLING';
|
|
2207
|
+
|
|
2208
|
+
/**
|
|
2209
|
+
* Speech pace of the persona
|
|
2210
|
+
*/
|
|
2211
|
+
speechPace: 'SUPER_SLOW' | 'SLOW' | 'NORMAL' | 'FAST' | 'SUPER_FAST';
|
|
2212
|
+
|
|
2213
|
+
/**
|
|
2214
|
+
* Languages the persona can understand. Multilingual combinations are limited by
|
|
2215
|
+
* multilingual speech recognition support.
|
|
2216
|
+
*/
|
|
2217
|
+
understoodLanguages: Array<
|
|
2218
|
+
| 'EN'
|
|
2219
|
+
| 'ES'
|
|
2220
|
+
| 'DE'
|
|
2221
|
+
| 'HI'
|
|
2222
|
+
| 'FR'
|
|
2223
|
+
| 'NL'
|
|
2224
|
+
| 'AR'
|
|
2225
|
+
| 'EL'
|
|
2226
|
+
| 'IT'
|
|
2227
|
+
| 'ID'
|
|
2228
|
+
| 'TH'
|
|
2229
|
+
| 'JA'
|
|
2230
|
+
| 'TL'
|
|
2231
|
+
| 'MS'
|
|
2232
|
+
| 'ZH'
|
|
2233
|
+
| 'TR'
|
|
2234
|
+
| 'PT'
|
|
2235
|
+
| 'HE'
|
|
2236
|
+
>;
|
|
2237
|
+
|
|
2238
|
+
/**
|
|
2239
|
+
* Last update timestamp
|
|
2240
|
+
*/
|
|
2241
|
+
updatedAt: string;
|
|
2242
|
+
|
|
2243
|
+
/**
|
|
2244
|
+
* Background story and behavioral patterns for the persona
|
|
2245
|
+
*/
|
|
2246
|
+
backstoryPrompt?: string | null;
|
|
2247
|
+
|
|
2248
|
+
/**
|
|
2249
|
+
* Human-readable description of the persona
|
|
2250
|
+
*/
|
|
2251
|
+
description?: string | null;
|
|
2252
|
+
|
|
2253
|
+
/**
|
|
2254
|
+
* Label shown in place of the name across the dashboard (e.g. a short descriptor
|
|
2255
|
+
* like "Irate Escalator"). The persona still identifies as `name` on calls. Omit
|
|
2256
|
+
* or set null to display the name itself.
|
|
2257
|
+
*/
|
|
2258
|
+
displayName?: string | null;
|
|
2259
|
+
|
|
2260
|
+
/**
|
|
2261
|
+
* Secondary language ISO 639-1 code for code-switching (e.g., Hinglish, Spanglish)
|
|
2262
|
+
*/
|
|
2263
|
+
secondaryLanguage?: 'EN' | null;
|
|
2264
|
+
}
|
|
2265
|
+
}
|
|
2266
|
+
|
|
2267
|
+
/**
|
|
2268
|
+
* One voicemail greeting.
|
|
2269
|
+
*/
|
|
2270
|
+
export interface VoicemailFlowVariant {
|
|
2271
|
+
id: string;
|
|
2272
|
+
|
|
2273
|
+
/**
|
|
2274
|
+
* Graded on top of the flow's own expectations, for this variant only.
|
|
2275
|
+
*/
|
|
2276
|
+
additionalExpectations: Array<VoicemailFlowVariant.AdditionalExpectation>;
|
|
2277
|
+
|
|
2278
|
+
/**
|
|
2279
|
+
* Creation timestamp in ISO 8601 format
|
|
2280
|
+
*/
|
|
2281
|
+
createdAt: string;
|
|
2282
|
+
|
|
2283
|
+
/**
|
|
2284
|
+
* A simulation environment: the ambient conditions a customer flow variant runs
|
|
2285
|
+
* under. The list includes both your own and the ones Roark curates for every
|
|
2286
|
+
* project.
|
|
2287
|
+
*/
|
|
2288
|
+
environment: VoicemailFlowVariant.Environment | null;
|
|
2289
|
+
|
|
2290
|
+
isGenerated: boolean;
|
|
2291
|
+
|
|
2292
|
+
/**
|
|
2293
|
+
* The persona this runs as instead of the happy path's. Null means it inherits.
|
|
2294
|
+
*/
|
|
2295
|
+
personaOverride: VoicemailFlowVariant.PersonaOverride | null;
|
|
2296
|
+
|
|
2297
|
+
precededByCustomerFlowId: string | null;
|
|
2298
|
+
|
|
2299
|
+
precededByCustomerFlowVariantId: string | null;
|
|
2300
|
+
|
|
2301
|
+
title: string;
|
|
2302
|
+
|
|
2303
|
+
type: 'VOICEMAIL';
|
|
2304
|
+
|
|
2305
|
+
/**
|
|
2306
|
+
* Last update timestamp in ISO 8601 format
|
|
2307
|
+
*/
|
|
2308
|
+
updatedAt: string;
|
|
2309
|
+
|
|
2310
|
+
systemKey?: string | null;
|
|
2311
|
+
}
|
|
2312
|
+
|
|
2313
|
+
export namespace VoicemailFlowVariant {
|
|
2314
|
+
/**
|
|
2315
|
+
* One thing the agent under test is graded against.
|
|
2316
|
+
*/
|
|
2317
|
+
export interface AdditionalExpectation {
|
|
2318
|
+
id: string;
|
|
2319
|
+
|
|
2320
|
+
/**
|
|
2321
|
+
* What the agent under test is graded against.
|
|
2322
|
+
*/
|
|
2323
|
+
prompt: string;
|
|
2324
|
+
}
|
|
2325
|
+
|
|
2326
|
+
/**
|
|
2327
|
+
* A simulation environment: the ambient conditions a customer flow variant runs
|
|
2328
|
+
* under. The list includes both your own and the ones Roark curates for every
|
|
2329
|
+
* project.
|
|
2330
|
+
*/
|
|
2331
|
+
export interface Environment {
|
|
2332
|
+
id: string;
|
|
2333
|
+
|
|
2334
|
+
backgroundNoise:
|
|
2335
|
+
| 'NONE'
|
|
2336
|
+
| 'AIRPORT'
|
|
2337
|
+
| 'CHILDREN_PLAYING'
|
|
2338
|
+
| 'CITY'
|
|
2339
|
+
| 'COFFEE_SHOP'
|
|
2340
|
+
| 'CONSTRUCTION'
|
|
2341
|
+
| 'CRYING_BABY'
|
|
2342
|
+
| 'DRIVING'
|
|
2343
|
+
| 'LIBRARY'
|
|
2344
|
+
| 'OFFICE'
|
|
2345
|
+
| 'THUNDERSTORM'
|
|
2346
|
+
| 'TRAIN';
|
|
2347
|
+
|
|
2348
|
+
backgroundNoiseVolume: number;
|
|
2349
|
+
|
|
2350
|
+
/**
|
|
2351
|
+
* Creation timestamp in ISO 8601 format
|
|
2352
|
+
*/
|
|
2353
|
+
createdAt: string;
|
|
2354
|
+
|
|
2355
|
+
name: string;
|
|
2356
|
+
|
|
2357
|
+
/**
|
|
2358
|
+
* Last update timestamp in ISO 8601 format
|
|
2359
|
+
*/
|
|
2360
|
+
updatedAt: string;
|
|
2361
|
+
|
|
2362
|
+
description?: string | null;
|
|
2363
|
+
}
|
|
2364
|
+
|
|
2365
|
+
/**
|
|
2366
|
+
* The persona this runs as instead of the happy path's. Null means it inherits.
|
|
2367
|
+
*/
|
|
2368
|
+
export interface PersonaOverride {
|
|
2369
|
+
/**
|
|
2370
|
+
* Unique identifier of the persona
|
|
2371
|
+
*/
|
|
2372
|
+
id: string;
|
|
2373
|
+
|
|
2374
|
+
/**
|
|
2375
|
+
* Accent of the persona, defined using ISO 3166-1 alpha-2 country codes with
|
|
2376
|
+
* optional variants
|
|
2377
|
+
*/
|
|
2378
|
+
accent:
|
|
2379
|
+
| 'US'
|
|
2380
|
+
| 'US_X_SOUTH'
|
|
2381
|
+
| 'GB'
|
|
2382
|
+
| 'ES'
|
|
2383
|
+
| 'DE'
|
|
2384
|
+
| 'IN'
|
|
2385
|
+
| 'FR'
|
|
2386
|
+
| 'NL'
|
|
2387
|
+
| 'SA'
|
|
2388
|
+
| 'GR'
|
|
2389
|
+
| 'AU'
|
|
2390
|
+
| 'IT'
|
|
2391
|
+
| 'ID'
|
|
2392
|
+
| 'TH'
|
|
2393
|
+
| 'JP'
|
|
2394
|
+
| 'NZ'
|
|
2395
|
+
| 'PH'
|
|
2396
|
+
| 'SG'
|
|
2397
|
+
| 'MY'
|
|
2398
|
+
| 'HK'
|
|
2399
|
+
| 'TR'
|
|
2400
|
+
| 'PT'
|
|
2401
|
+
| 'IL';
|
|
2402
|
+
|
|
2403
|
+
/**
|
|
2404
|
+
* How old the caller sounds and behaves. Only ages the persona's accent has a
|
|
2405
|
+
* voice for are accepted; defaults to ADULT, which every accent supports.
|
|
2406
|
+
*/
|
|
2407
|
+
age: 'CHILD' | 'TEENAGER' | 'ADULT' | 'ELDERLY';
|
|
2408
|
+
|
|
2409
|
+
/**
|
|
2410
|
+
* Background noise setting
|
|
2411
|
+
*/
|
|
2412
|
+
backgroundNoise:
|
|
2413
|
+
| 'NONE'
|
|
2414
|
+
| 'AIRPORT'
|
|
2415
|
+
| 'CHILDREN_PLAYING'
|
|
2416
|
+
| 'CITY'
|
|
2417
|
+
| 'COFFEE_SHOP'
|
|
2418
|
+
| 'CONSTRUCTION'
|
|
2419
|
+
| 'CRYING_BABY'
|
|
2420
|
+
| 'DRIVING'
|
|
2421
|
+
| 'LIBRARY'
|
|
2422
|
+
| 'OFFICE'
|
|
2423
|
+
| 'THUNDERSTORM'
|
|
2424
|
+
| 'TRAIN';
|
|
2425
|
+
|
|
2426
|
+
/**
|
|
2427
|
+
* Base emotional state of the persona
|
|
2428
|
+
*/
|
|
2429
|
+
baseEmotion:
|
|
2430
|
+
| 'NEUTRAL'
|
|
2431
|
+
| 'CHEERFUL'
|
|
2432
|
+
| 'CONFUSED'
|
|
2433
|
+
| 'FRUSTRATED'
|
|
2434
|
+
| 'SKEPTICAL'
|
|
2435
|
+
| 'RUSHED'
|
|
2436
|
+
| 'DISTRACTED'
|
|
2437
|
+
| 'ANGRY'
|
|
2438
|
+
| 'ANXIOUS'
|
|
2439
|
+
| 'SAD';
|
|
2440
|
+
|
|
2441
|
+
/**
|
|
2442
|
+
* How the persona confirms information
|
|
2443
|
+
*/
|
|
2444
|
+
confirmationStyle: 'EXPLICIT' | 'VAGUE';
|
|
2445
|
+
|
|
2446
|
+
/**
|
|
2447
|
+
* Creation timestamp
|
|
2448
|
+
*/
|
|
2449
|
+
createdAt: string;
|
|
2450
|
+
|
|
2451
|
+
/**
|
|
2452
|
+
* Gender of the persona
|
|
2453
|
+
*/
|
|
2454
|
+
gender: 'MALE' | 'FEMALE';
|
|
2455
|
+
|
|
2456
|
+
/**
|
|
2457
|
+
* Whether the persona uses filler words like "um" and "uh"
|
|
2458
|
+
*/
|
|
2459
|
+
hasDisfluencies: boolean;
|
|
2460
|
+
|
|
2461
|
+
/**
|
|
2462
|
+
* Maximum number of idle messages the persona will send before giving up
|
|
2463
|
+
*/
|
|
2464
|
+
idleMessageMaxSpokenCount: number;
|
|
2465
|
+
|
|
2466
|
+
/**
|
|
2467
|
+
* Whether the idle message counter resets when the agent speaks
|
|
2468
|
+
*/
|
|
2469
|
+
idleMessageResetCountOnUserSpeechEnabled: boolean;
|
|
2470
|
+
|
|
2471
|
+
/**
|
|
2472
|
+
* Messages the persona will say when the agent goes silent during a call. null =
|
|
2473
|
+
* "Automatic": language-appropriate defaults are used at call time.
|
|
2474
|
+
*/
|
|
2475
|
+
idleMessages: Array<string> | null;
|
|
2476
|
+
|
|
2477
|
+
/**
|
|
2478
|
+
* Seconds of silence before the persona sends an idle message
|
|
2479
|
+
*/
|
|
2480
|
+
idleTimeoutSeconds: number;
|
|
2481
|
+
|
|
2482
|
+
/**
|
|
2483
|
+
* How clearly the persona expresses their intentions
|
|
2484
|
+
*/
|
|
2485
|
+
intentClarity: 'CLEAR' | 'INDIRECT' | 'VAGUE';
|
|
2486
|
+
|
|
2487
|
+
/**
|
|
2488
|
+
* Primary language ISO 639-1 code for the persona
|
|
2489
|
+
*/
|
|
2490
|
+
language:
|
|
2491
|
+
| 'EN'
|
|
2492
|
+
| 'ES'
|
|
2493
|
+
| 'DE'
|
|
2494
|
+
| 'HI'
|
|
2495
|
+
| 'FR'
|
|
2496
|
+
| 'NL'
|
|
2497
|
+
| 'AR'
|
|
2498
|
+
| 'EL'
|
|
2499
|
+
| 'IT'
|
|
2500
|
+
| 'ID'
|
|
2501
|
+
| 'TH'
|
|
2502
|
+
| 'JA'
|
|
2503
|
+
| 'TL'
|
|
2504
|
+
| 'MS'
|
|
2505
|
+
| 'ZH'
|
|
2506
|
+
| 'TR'
|
|
2507
|
+
| 'PT'
|
|
2508
|
+
| 'HE';
|
|
2509
|
+
|
|
2510
|
+
/**
|
|
2511
|
+
* How reliable the persona's memory is
|
|
2512
|
+
*/
|
|
2513
|
+
memoryReliability: 'HIGH' | 'LOW';
|
|
2514
|
+
|
|
2515
|
+
/**
|
|
2516
|
+
* The name the agent will identify as during conversations
|
|
2517
|
+
*/
|
|
2518
|
+
name: string;
|
|
2519
|
+
|
|
2520
|
+
/**
|
|
2521
|
+
* Additional custom properties about the persona
|
|
2522
|
+
*/
|
|
2523
|
+
properties: { [key: string]: unknown };
|
|
2524
|
+
|
|
2525
|
+
/**
|
|
2526
|
+
* Controls how quickly the persona responds to pauses in conversation (QUICK,
|
|
2527
|
+
* NORMAL, RELAXED). BARGE_IN also talks over the agent once it has held the floor
|
|
2528
|
+
* for several seconds.
|
|
2529
|
+
*/
|
|
2530
|
+
responseTiming: 'RELAXED' | 'NORMAL' | 'QUICK' | 'BARGE_IN';
|
|
2531
|
+
|
|
2532
|
+
/**
|
|
2533
|
+
* Speech clarity of the persona
|
|
2534
|
+
*/
|
|
2535
|
+
speechClarity: 'CLEAR' | 'VAGUE' | 'RAMBLING';
|
|
2536
|
+
|
|
2537
|
+
/**
|
|
2538
|
+
* Speech pace of the persona
|
|
2539
|
+
*/
|
|
2540
|
+
speechPace: 'SUPER_SLOW' | 'SLOW' | 'NORMAL' | 'FAST' | 'SUPER_FAST';
|
|
2541
|
+
|
|
2542
|
+
/**
|
|
2543
|
+
* Languages the persona can understand. Multilingual combinations are limited by
|
|
2544
|
+
* multilingual speech recognition support.
|
|
2545
|
+
*/
|
|
2546
|
+
understoodLanguages: Array<
|
|
2547
|
+
| 'EN'
|
|
2548
|
+
| 'ES'
|
|
2549
|
+
| 'DE'
|
|
2550
|
+
| 'HI'
|
|
2551
|
+
| 'FR'
|
|
2552
|
+
| 'NL'
|
|
2553
|
+
| 'AR'
|
|
2554
|
+
| 'EL'
|
|
2555
|
+
| 'IT'
|
|
2556
|
+
| 'ID'
|
|
2557
|
+
| 'TH'
|
|
2558
|
+
| 'JA'
|
|
2559
|
+
| 'TL'
|
|
2560
|
+
| 'MS'
|
|
2561
|
+
| 'ZH'
|
|
2562
|
+
| 'TR'
|
|
2563
|
+
| 'PT'
|
|
2564
|
+
| 'HE'
|
|
2565
|
+
>;
|
|
2566
|
+
|
|
2567
|
+
/**
|
|
2568
|
+
* Last update timestamp
|
|
2569
|
+
*/
|
|
2570
|
+
updatedAt: string;
|
|
2571
|
+
|
|
2572
|
+
/**
|
|
2573
|
+
* Background story and behavioral patterns for the persona
|
|
2574
|
+
*/
|
|
2575
|
+
backstoryPrompt?: string | null;
|
|
2576
|
+
|
|
2577
|
+
/**
|
|
2578
|
+
* Human-readable description of the persona
|
|
2579
|
+
*/
|
|
2580
|
+
description?: string | null;
|
|
2581
|
+
|
|
2582
|
+
/**
|
|
2583
|
+
* Label shown in place of the name across the dashboard (e.g. a short descriptor
|
|
2584
|
+
* like "Irate Escalator"). The persona still identifies as `name` on calls. Omit
|
|
2585
|
+
* or set null to display the name itself.
|
|
2586
|
+
*/
|
|
2587
|
+
displayName?: string | null;
|
|
2588
|
+
|
|
2589
|
+
/**
|
|
2590
|
+
* Secondary language ISO 639-1 code for code-switching (e.g., Hinglish, Spanglish)
|
|
2591
|
+
*/
|
|
2592
|
+
secondaryLanguage?: 'EN' | null;
|
|
2593
|
+
}
|
|
2594
|
+
}
|
|
2595
|
+
}
|
|
2596
|
+
|
|
2597
|
+
export interface CustomerFlowEdgeCasePromoteResponse {
|
|
2598
|
+
/**
|
|
2599
|
+
* One way of running a customer flow.
|
|
2600
|
+
*/
|
|
2601
|
+
data:
|
|
2602
|
+
| CustomerFlowEdgeCasePromoteResponse.ScriptedFlowVariant
|
|
2603
|
+
| CustomerFlowEdgeCasePromoteResponse.ImprovFlowVariant
|
|
2604
|
+
| CustomerFlowEdgeCasePromoteResponse.VoicemailFlowVariant;
|
|
2605
|
+
}
|
|
2606
|
+
|
|
2607
|
+
export namespace CustomerFlowEdgeCasePromoteResponse {
|
|
2608
|
+
/**
|
|
2609
|
+
* One path through a scripted flow. The path engine owns which paths exist, so
|
|
2610
|
+
* editing the graph is what creates and removes these.
|
|
2611
|
+
*/
|
|
2612
|
+
export interface ScriptedFlowVariant {
|
|
2613
|
+
id: string;
|
|
2614
|
+
|
|
2615
|
+
/**
|
|
2616
|
+
* Graded on top of the flow's own expectations, for this variant only.
|
|
2617
|
+
*/
|
|
2618
|
+
additionalExpectations: Array<ScriptedFlowVariant.AdditionalExpectation>;
|
|
2619
|
+
|
|
2620
|
+
/**
|
|
2621
|
+
* Creation timestamp in ISO 8601 format
|
|
2622
|
+
*/
|
|
2623
|
+
createdAt: string;
|
|
2624
|
+
|
|
2625
|
+
/**
|
|
2626
|
+
* A simulation environment: the ambient conditions a customer flow variant runs
|
|
2627
|
+
* under. The list includes both your own and the ones Roark curates for every
|
|
2628
|
+
* project.
|
|
2629
|
+
*/
|
|
2630
|
+
environment: ScriptedFlowVariant.Environment | null;
|
|
2631
|
+
|
|
2632
|
+
isGenerated: boolean;
|
|
2633
|
+
|
|
2634
|
+
/**
|
|
2635
|
+
* The persona this runs as instead of the happy path's. Null means it inherits.
|
|
2636
|
+
*/
|
|
2637
|
+
personaOverride: ScriptedFlowVariant.PersonaOverride | null;
|
|
2638
|
+
|
|
2639
|
+
precededByCustomerFlowId: string | null;
|
|
2640
|
+
|
|
2641
|
+
precededByCustomerFlowVariantId: string | null;
|
|
2642
|
+
|
|
2643
|
+
/**
|
|
2644
|
+
* The one path through the graph this variant runs, in order. Linear by
|
|
2645
|
+
* construction, so these steps never nest.
|
|
2646
|
+
*/
|
|
2647
|
+
steps: Array<CustomerFlowAPI.FlowStep>;
|
|
2178
2648
|
|
|
2179
2649
|
title: string;
|
|
2180
2650
|
|
|
@@ -2494,6 +2964,12 @@ export namespace CustomerFlowEdgeCasePromoteResponse {
|
|
|
2494
2964
|
*/
|
|
2495
2965
|
environment: ImprovFlowVariant.Environment | null;
|
|
2496
2966
|
|
|
2967
|
+
/**
|
|
2968
|
+
* The personas this brief hands the phone to, in order of first mention. Empty
|
|
2969
|
+
* when the brief inherits the happy path's: read the happy path's list.
|
|
2970
|
+
*/
|
|
2971
|
+
handoffPersonas: Array<ImprovFlowVariant.HandoffPersona>;
|
|
2972
|
+
|
|
2497
2973
|
isGenerated: boolean;
|
|
2498
2974
|
|
|
2499
2975
|
/**
|
|
@@ -2515,7 +2991,9 @@ export namespace CustomerFlowEdgeCasePromoteResponse {
|
|
|
2515
2991
|
updatedAt: string;
|
|
2516
2992
|
|
|
2517
2993
|
/**
|
|
2518
|
-
* The brief the simulated customer improvises from.
|
|
2994
|
+
* The brief the simulated customer improvises from. A `@{persona:<id>}` mention
|
|
2995
|
+
* hands the phone to that persona mid-call; the sentences around the mention say
|
|
2996
|
+
* when.
|
|
2519
2997
|
*/
|
|
2520
2998
|
prompt?: string | null;
|
|
2521
2999
|
|
|
@@ -2574,6 +3052,233 @@ export namespace CustomerFlowEdgeCasePromoteResponse {
|
|
|
2574
3052
|
description?: string | null;
|
|
2575
3053
|
}
|
|
2576
3054
|
|
|
3055
|
+
export interface HandoffPersona {
|
|
3056
|
+
/**
|
|
3057
|
+
* Unique identifier of the persona
|
|
3058
|
+
*/
|
|
3059
|
+
id: string;
|
|
3060
|
+
|
|
3061
|
+
/**
|
|
3062
|
+
* Accent of the persona, defined using ISO 3166-1 alpha-2 country codes with
|
|
3063
|
+
* optional variants
|
|
3064
|
+
*/
|
|
3065
|
+
accent:
|
|
3066
|
+
| 'US'
|
|
3067
|
+
| 'US_X_SOUTH'
|
|
3068
|
+
| 'GB'
|
|
3069
|
+
| 'ES'
|
|
3070
|
+
| 'DE'
|
|
3071
|
+
| 'IN'
|
|
3072
|
+
| 'FR'
|
|
3073
|
+
| 'NL'
|
|
3074
|
+
| 'SA'
|
|
3075
|
+
| 'GR'
|
|
3076
|
+
| 'AU'
|
|
3077
|
+
| 'IT'
|
|
3078
|
+
| 'ID'
|
|
3079
|
+
| 'TH'
|
|
3080
|
+
| 'JP'
|
|
3081
|
+
| 'NZ'
|
|
3082
|
+
| 'PH'
|
|
3083
|
+
| 'SG'
|
|
3084
|
+
| 'MY'
|
|
3085
|
+
| 'HK'
|
|
3086
|
+
| 'TR'
|
|
3087
|
+
| 'PT'
|
|
3088
|
+
| 'IL';
|
|
3089
|
+
|
|
3090
|
+
/**
|
|
3091
|
+
* How old the caller sounds and behaves. Only ages the persona's accent has a
|
|
3092
|
+
* voice for are accepted; defaults to ADULT, which every accent supports.
|
|
3093
|
+
*/
|
|
3094
|
+
age: 'CHILD' | 'TEENAGER' | 'ADULT' | 'ELDERLY';
|
|
3095
|
+
|
|
3096
|
+
/**
|
|
3097
|
+
* Background noise setting
|
|
3098
|
+
*/
|
|
3099
|
+
backgroundNoise:
|
|
3100
|
+
| 'NONE'
|
|
3101
|
+
| 'AIRPORT'
|
|
3102
|
+
| 'CHILDREN_PLAYING'
|
|
3103
|
+
| 'CITY'
|
|
3104
|
+
| 'COFFEE_SHOP'
|
|
3105
|
+
| 'CONSTRUCTION'
|
|
3106
|
+
| 'CRYING_BABY'
|
|
3107
|
+
| 'DRIVING'
|
|
3108
|
+
| 'LIBRARY'
|
|
3109
|
+
| 'OFFICE'
|
|
3110
|
+
| 'THUNDERSTORM'
|
|
3111
|
+
| 'TRAIN';
|
|
3112
|
+
|
|
3113
|
+
/**
|
|
3114
|
+
* Base emotional state of the persona
|
|
3115
|
+
*/
|
|
3116
|
+
baseEmotion:
|
|
3117
|
+
| 'NEUTRAL'
|
|
3118
|
+
| 'CHEERFUL'
|
|
3119
|
+
| 'CONFUSED'
|
|
3120
|
+
| 'FRUSTRATED'
|
|
3121
|
+
| 'SKEPTICAL'
|
|
3122
|
+
| 'RUSHED'
|
|
3123
|
+
| 'DISTRACTED'
|
|
3124
|
+
| 'ANGRY'
|
|
3125
|
+
| 'ANXIOUS'
|
|
3126
|
+
| 'SAD';
|
|
3127
|
+
|
|
3128
|
+
/**
|
|
3129
|
+
* How the persona confirms information
|
|
3130
|
+
*/
|
|
3131
|
+
confirmationStyle: 'EXPLICIT' | 'VAGUE';
|
|
3132
|
+
|
|
3133
|
+
/**
|
|
3134
|
+
* Creation timestamp
|
|
3135
|
+
*/
|
|
3136
|
+
createdAt: string;
|
|
3137
|
+
|
|
3138
|
+
/**
|
|
3139
|
+
* Gender of the persona
|
|
3140
|
+
*/
|
|
3141
|
+
gender: 'MALE' | 'FEMALE';
|
|
3142
|
+
|
|
3143
|
+
/**
|
|
3144
|
+
* Whether the persona uses filler words like "um" and "uh"
|
|
3145
|
+
*/
|
|
3146
|
+
hasDisfluencies: boolean;
|
|
3147
|
+
|
|
3148
|
+
/**
|
|
3149
|
+
* Maximum number of idle messages the persona will send before giving up
|
|
3150
|
+
*/
|
|
3151
|
+
idleMessageMaxSpokenCount: number;
|
|
3152
|
+
|
|
3153
|
+
/**
|
|
3154
|
+
* Whether the idle message counter resets when the agent speaks
|
|
3155
|
+
*/
|
|
3156
|
+
idleMessageResetCountOnUserSpeechEnabled: boolean;
|
|
3157
|
+
|
|
3158
|
+
/**
|
|
3159
|
+
* Messages the persona will say when the agent goes silent during a call. null =
|
|
3160
|
+
* "Automatic": language-appropriate defaults are used at call time.
|
|
3161
|
+
*/
|
|
3162
|
+
idleMessages: Array<string> | null;
|
|
3163
|
+
|
|
3164
|
+
/**
|
|
3165
|
+
* Seconds of silence before the persona sends an idle message
|
|
3166
|
+
*/
|
|
3167
|
+
idleTimeoutSeconds: number;
|
|
3168
|
+
|
|
3169
|
+
/**
|
|
3170
|
+
* How clearly the persona expresses their intentions
|
|
3171
|
+
*/
|
|
3172
|
+
intentClarity: 'CLEAR' | 'INDIRECT' | 'VAGUE';
|
|
3173
|
+
|
|
3174
|
+
/**
|
|
3175
|
+
* Primary language ISO 639-1 code for the persona
|
|
3176
|
+
*/
|
|
3177
|
+
language:
|
|
3178
|
+
| 'EN'
|
|
3179
|
+
| 'ES'
|
|
3180
|
+
| 'DE'
|
|
3181
|
+
| 'HI'
|
|
3182
|
+
| 'FR'
|
|
3183
|
+
| 'NL'
|
|
3184
|
+
| 'AR'
|
|
3185
|
+
| 'EL'
|
|
3186
|
+
| 'IT'
|
|
3187
|
+
| 'ID'
|
|
3188
|
+
| 'TH'
|
|
3189
|
+
| 'JA'
|
|
3190
|
+
| 'TL'
|
|
3191
|
+
| 'MS'
|
|
3192
|
+
| 'ZH'
|
|
3193
|
+
| 'TR'
|
|
3194
|
+
| 'PT'
|
|
3195
|
+
| 'HE';
|
|
3196
|
+
|
|
3197
|
+
/**
|
|
3198
|
+
* How reliable the persona's memory is
|
|
3199
|
+
*/
|
|
3200
|
+
memoryReliability: 'HIGH' | 'LOW';
|
|
3201
|
+
|
|
3202
|
+
/**
|
|
3203
|
+
* The name the agent will identify as during conversations
|
|
3204
|
+
*/
|
|
3205
|
+
name: string;
|
|
3206
|
+
|
|
3207
|
+
/**
|
|
3208
|
+
* Additional custom properties about the persona
|
|
3209
|
+
*/
|
|
3210
|
+
properties: { [key: string]: unknown };
|
|
3211
|
+
|
|
3212
|
+
/**
|
|
3213
|
+
* Controls how quickly the persona responds to pauses in conversation (QUICK,
|
|
3214
|
+
* NORMAL, RELAXED). BARGE_IN also talks over the agent once it has held the floor
|
|
3215
|
+
* for several seconds.
|
|
3216
|
+
*/
|
|
3217
|
+
responseTiming: 'RELAXED' | 'NORMAL' | 'QUICK' | 'BARGE_IN';
|
|
3218
|
+
|
|
3219
|
+
/**
|
|
3220
|
+
* Speech clarity of the persona
|
|
3221
|
+
*/
|
|
3222
|
+
speechClarity: 'CLEAR' | 'VAGUE' | 'RAMBLING';
|
|
3223
|
+
|
|
3224
|
+
/**
|
|
3225
|
+
* Speech pace of the persona
|
|
3226
|
+
*/
|
|
3227
|
+
speechPace: 'SUPER_SLOW' | 'SLOW' | 'NORMAL' | 'FAST' | 'SUPER_FAST';
|
|
3228
|
+
|
|
3229
|
+
/**
|
|
3230
|
+
* Languages the persona can understand. Multilingual combinations are limited by
|
|
3231
|
+
* multilingual speech recognition support.
|
|
3232
|
+
*/
|
|
3233
|
+
understoodLanguages: Array<
|
|
3234
|
+
| 'EN'
|
|
3235
|
+
| 'ES'
|
|
3236
|
+
| 'DE'
|
|
3237
|
+
| 'HI'
|
|
3238
|
+
| 'FR'
|
|
3239
|
+
| 'NL'
|
|
3240
|
+
| 'AR'
|
|
3241
|
+
| 'EL'
|
|
3242
|
+
| 'IT'
|
|
3243
|
+
| 'ID'
|
|
3244
|
+
| 'TH'
|
|
3245
|
+
| 'JA'
|
|
3246
|
+
| 'TL'
|
|
3247
|
+
| 'MS'
|
|
3248
|
+
| 'ZH'
|
|
3249
|
+
| 'TR'
|
|
3250
|
+
| 'PT'
|
|
3251
|
+
| 'HE'
|
|
3252
|
+
>;
|
|
3253
|
+
|
|
3254
|
+
/**
|
|
3255
|
+
* Last update timestamp
|
|
3256
|
+
*/
|
|
3257
|
+
updatedAt: string;
|
|
3258
|
+
|
|
3259
|
+
/**
|
|
3260
|
+
* Background story and behavioral patterns for the persona
|
|
3261
|
+
*/
|
|
3262
|
+
backstoryPrompt?: string | null;
|
|
3263
|
+
|
|
3264
|
+
/**
|
|
3265
|
+
* Human-readable description of the persona
|
|
3266
|
+
*/
|
|
3267
|
+
description?: string | null;
|
|
3268
|
+
|
|
3269
|
+
/**
|
|
3270
|
+
* Label shown in place of the name across the dashboard (e.g. a short descriptor
|
|
3271
|
+
* like "Irate Escalator"). The persona still identifies as `name` on calls. Omit
|
|
3272
|
+
* or set null to display the name itself.
|
|
3273
|
+
*/
|
|
3274
|
+
displayName?: string | null;
|
|
3275
|
+
|
|
3276
|
+
/**
|
|
3277
|
+
* Secondary language ISO 639-1 code for code-switching (e.g., Hinglish, Spanglish)
|
|
3278
|
+
*/
|
|
3279
|
+
secondaryLanguage?: 'EN' | null;
|
|
3280
|
+
}
|
|
3281
|
+
|
|
2577
3282
|
/**
|
|
2578
3283
|
* The persona this runs as instead of the happy path's. Null means it inherits.
|
|
2579
3284
|
*/
|