retell-sdk 4.36.0 → 4.38.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.
@@ -123,7 +123,7 @@ export interface LlmResponse {
123
123
  * injected into your Retell LLM prompt and tool description when specific values
124
124
  * are not provided in a request. Only applicable for Retell LLM.
125
125
  */
126
- default_dynamic_variables?: Record<string, string> | null;
126
+ default_dynamic_variables?: { [key: string]: string } | null;
127
127
 
128
128
  /**
129
129
  * General prompt appended to system prompt no matter what state the agent is in.
@@ -150,6 +150,7 @@ export interface LlmResponse {
150
150
  | LlmResponse.BookAppointmentCalTool
151
151
  | LlmResponse.PressDigitTool
152
152
  | LlmResponse.CustomTool
153
+ | LlmResponse.ExtractDynamicVariableTool
153
154
  > | null;
154
155
 
155
156
  /**
@@ -263,6 +264,11 @@ export namespace LlmResponse {
263
264
 
264
265
  type: 'transfer_call';
265
266
 
267
+ /**
268
+ * Custom SIP headers to be added to the call.
269
+ */
270
+ custom_sip_headers?: { [key: string]: string };
271
+
266
272
  /**
267
273
  * Describes what the tool does, sometimes can also include information about when
268
274
  * to call the tool.
@@ -498,7 +504,7 @@ export namespace LlmResponse {
498
504
  /**
499
505
  * Headers to add to the request.
500
506
  */
501
- headers?: Record<string, string>;
507
+ headers?: { [key: string]: string };
502
508
 
503
509
  /**
504
510
  * Method to use for the request, default to POST.
@@ -516,14 +522,14 @@ export namespace LlmResponse {
516
522
  /**
517
523
  * Query parameters to append to the request URL.
518
524
  */
519
- query_params?: Record<string, string>;
525
+ query_params?: { [key: string]: string };
520
526
 
521
527
  /**
522
528
  * A mapping of variable names to JSON paths in the response body. These values
523
529
  * will be extracted from the response and made available as dynamic variables for
524
530
  * use.
525
531
  */
526
- response_variables?: Record<string, string>;
532
+ response_variables?: { [key: string]: string };
527
533
 
528
534
  /**
529
535
  * The maximum time in milliseconds the tool can run before it's considered
@@ -546,7 +552,7 @@ export namespace LlmResponse {
546
552
  * The value of properties is an object, where each key is the name of a property
547
553
  * and each value is a schema used to validate that property.
548
554
  */
549
- properties: Record<string, unknown>;
555
+ properties: { [key: string]: unknown };
550
556
 
551
557
  /**
552
558
  * Type must be "object" for a JSON Schema object.
@@ -562,6 +568,114 @@ export namespace LlmResponse {
562
568
  }
563
569
  }
564
570
 
571
+ export interface ExtractDynamicVariableTool {
572
+ /**
573
+ * Describes what the tool does, sometimes can also include information about when
574
+ * to call the tool.
575
+ */
576
+ description: string;
577
+
578
+ /**
579
+ * Name of the tool. Must be unique within all tools available to LLM at any given
580
+ * time (general tools + state tools + state edges). Must be consisted of a-z, A-Z,
581
+ * 0-9, or contain underscores and dashes, with a maximum length of 64 (no space
582
+ * allowed).
583
+ */
584
+ name: string;
585
+
586
+ type: 'extract_dynamic_variable';
587
+
588
+ /**
589
+ * The variables to be extracted.
590
+ */
591
+ variables: Array<
592
+ | ExtractDynamicVariableTool.StringAnalysisData
593
+ | ExtractDynamicVariableTool.EnumAnalysisData
594
+ | ExtractDynamicVariableTool.BooleanAnalysisData
595
+ | ExtractDynamicVariableTool.NumberAnalysisData
596
+ >;
597
+ }
598
+
599
+ export namespace ExtractDynamicVariableTool {
600
+ export interface StringAnalysisData {
601
+ /**
602
+ * Description of the variable.
603
+ */
604
+ description: string;
605
+
606
+ /**
607
+ * Name of the variable.
608
+ */
609
+ name: string;
610
+
611
+ /**
612
+ * Type of the variable to extract.
613
+ */
614
+ type: 'string';
615
+
616
+ /**
617
+ * Examples of the variable value to teach model the style and syntax.
618
+ */
619
+ examples?: Array<string>;
620
+ }
621
+
622
+ export interface EnumAnalysisData {
623
+ /**
624
+ * The possible values of the variable, must be non empty array.
625
+ */
626
+ choices: Array<string>;
627
+
628
+ /**
629
+ * Description of the variable.
630
+ */
631
+ description: string;
632
+
633
+ /**
634
+ * Name of the variable.
635
+ */
636
+ name: string;
637
+
638
+ /**
639
+ * Type of the variable to extract.
640
+ */
641
+ type: 'enum';
642
+ }
643
+
644
+ export interface BooleanAnalysisData {
645
+ /**
646
+ * Description of the variable.
647
+ */
648
+ description: string;
649
+
650
+ /**
651
+ * Name of the variable.
652
+ */
653
+ name: string;
654
+
655
+ /**
656
+ * Type of the variable to extract.
657
+ */
658
+ type: 'boolean';
659
+ }
660
+
661
+ export interface NumberAnalysisData {
662
+ /**
663
+ * Description of the variable.
664
+ */
665
+ description: string;
666
+
667
+ /**
668
+ * Name of the variable.
669
+ */
670
+ name: string;
671
+
672
+ /**
673
+ * Type of the variable to extract.
674
+ */
675
+ type: 'number';
676
+ }
677
+ }
678
+
565
679
  export interface State {
566
680
  /**
567
681
  * Name of the state, must be unique for each state. Must be consisted of a-z, A-Z,
@@ -597,6 +711,7 @@ export namespace LlmResponse {
597
711
  | State.BookAppointmentCalTool
598
712
  | State.PressDigitTool
599
713
  | State.CustomTool
714
+ | State.ExtractDynamicVariableTool
600
715
  >;
601
716
  }
602
717
 
@@ -641,7 +756,7 @@ export namespace LlmResponse {
641
756
  * The value of properties is an object, where each key is the name of a property
642
757
  * and each value is a schema used to validate that property.
643
758
  */
644
- properties: Record<string, unknown>;
759
+ properties: { [key: string]: unknown };
645
760
 
646
761
  /**
647
762
  * Type must be "object" for a JSON Schema object.
@@ -692,6 +807,11 @@ export namespace LlmResponse {
692
807
 
693
808
  type: 'transfer_call';
694
809
 
810
+ /**
811
+ * Custom SIP headers to be added to the call.
812
+ */
813
+ custom_sip_headers?: { [key: string]: string };
814
+
695
815
  /**
696
816
  * Describes what the tool does, sometimes can also include information about when
697
817
  * to call the tool.
@@ -927,7 +1047,7 @@ export namespace LlmResponse {
927
1047
  /**
928
1048
  * Headers to add to the request.
929
1049
  */
930
- headers?: Record<string, string>;
1050
+ headers?: { [key: string]: string };
931
1051
 
932
1052
  /**
933
1053
  * Method to use for the request, default to POST.
@@ -945,14 +1065,14 @@ export namespace LlmResponse {
945
1065
  /**
946
1066
  * Query parameters to append to the request URL.
947
1067
  */
948
- query_params?: Record<string, string>;
1068
+ query_params?: { [key: string]: string };
949
1069
 
950
1070
  /**
951
1071
  * A mapping of variable names to JSON paths in the response body. These values
952
1072
  * will be extracted from the response and made available as dynamic variables for
953
1073
  * use.
954
1074
  */
955
- response_variables?: Record<string, string>;
1075
+ response_variables?: { [key: string]: string };
956
1076
 
957
1077
  /**
958
1078
  * The maximum time in milliseconds the tool can run before it's considered
@@ -975,7 +1095,7 @@ export namespace LlmResponse {
975
1095
  * The value of properties is an object, where each key is the name of a property
976
1096
  * and each value is a schema used to validate that property.
977
1097
  */
978
- properties: Record<string, unknown>;
1098
+ properties: { [key: string]: unknown };
979
1099
 
980
1100
  /**
981
1101
  * Type must be "object" for a JSON Schema object.
@@ -990,6 +1110,114 @@ export namespace LlmResponse {
990
1110
  required?: Array<string>;
991
1111
  }
992
1112
  }
1113
+
1114
+ export interface ExtractDynamicVariableTool {
1115
+ /**
1116
+ * Describes what the tool does, sometimes can also include information about when
1117
+ * to call the tool.
1118
+ */
1119
+ description: string;
1120
+
1121
+ /**
1122
+ * Name of the tool. Must be unique within all tools available to LLM at any given
1123
+ * time (general tools + state tools + state edges). Must be consisted of a-z, A-Z,
1124
+ * 0-9, or contain underscores and dashes, with a maximum length of 64 (no space
1125
+ * allowed).
1126
+ */
1127
+ name: string;
1128
+
1129
+ type: 'extract_dynamic_variable';
1130
+
1131
+ /**
1132
+ * The variables to be extracted.
1133
+ */
1134
+ variables: Array<
1135
+ | ExtractDynamicVariableTool.StringAnalysisData
1136
+ | ExtractDynamicVariableTool.EnumAnalysisData
1137
+ | ExtractDynamicVariableTool.BooleanAnalysisData
1138
+ | ExtractDynamicVariableTool.NumberAnalysisData
1139
+ >;
1140
+ }
1141
+
1142
+ export namespace ExtractDynamicVariableTool {
1143
+ export interface StringAnalysisData {
1144
+ /**
1145
+ * Description of the variable.
1146
+ */
1147
+ description: string;
1148
+
1149
+ /**
1150
+ * Name of the variable.
1151
+ */
1152
+ name: string;
1153
+
1154
+ /**
1155
+ * Type of the variable to extract.
1156
+ */
1157
+ type: 'string';
1158
+
1159
+ /**
1160
+ * Examples of the variable value to teach model the style and syntax.
1161
+ */
1162
+ examples?: Array<string>;
1163
+ }
1164
+
1165
+ export interface EnumAnalysisData {
1166
+ /**
1167
+ * The possible values of the variable, must be non empty array.
1168
+ */
1169
+ choices: Array<string>;
1170
+
1171
+ /**
1172
+ * Description of the variable.
1173
+ */
1174
+ description: string;
1175
+
1176
+ /**
1177
+ * Name of the variable.
1178
+ */
1179
+ name: string;
1180
+
1181
+ /**
1182
+ * Type of the variable to extract.
1183
+ */
1184
+ type: 'enum';
1185
+ }
1186
+
1187
+ export interface BooleanAnalysisData {
1188
+ /**
1189
+ * Description of the variable.
1190
+ */
1191
+ description: string;
1192
+
1193
+ /**
1194
+ * Name of the variable.
1195
+ */
1196
+ name: string;
1197
+
1198
+ /**
1199
+ * Type of the variable to extract.
1200
+ */
1201
+ type: 'boolean';
1202
+ }
1203
+
1204
+ export interface NumberAnalysisData {
1205
+ /**
1206
+ * Description of the variable.
1207
+ */
1208
+ description: string;
1209
+
1210
+ /**
1211
+ * Name of the variable.
1212
+ */
1213
+ name: string;
1214
+
1215
+ /**
1216
+ * Type of the variable to extract.
1217
+ */
1218
+ type: 'number';
1219
+ }
1220
+ }
993
1221
  }
994
1222
  }
995
1223
 
@@ -1007,7 +1235,7 @@ export interface LlmCreateParams {
1007
1235
  * injected into your Retell LLM prompt and tool description when specific values
1008
1236
  * are not provided in a request. Only applicable for Retell LLM.
1009
1237
  */
1010
- default_dynamic_variables?: Record<string, string> | null;
1238
+ default_dynamic_variables?: { [key: string]: string } | null;
1011
1239
 
1012
1240
  /**
1013
1241
  * General prompt appended to system prompt no matter what state the agent is in.
@@ -1034,6 +1262,7 @@ export interface LlmCreateParams {
1034
1262
  | LlmCreateParams.BookAppointmentCalTool
1035
1263
  | LlmCreateParams.PressDigitTool
1036
1264
  | LlmCreateParams.CustomTool
1265
+ | LlmCreateParams.ExtractDynamicVariableTool
1037
1266
  > | null;
1038
1267
 
1039
1268
  /**
@@ -1142,6 +1371,11 @@ export namespace LlmCreateParams {
1142
1371
 
1143
1372
  type: 'transfer_call';
1144
1373
 
1374
+ /**
1375
+ * Custom SIP headers to be added to the call.
1376
+ */
1377
+ custom_sip_headers?: { [key: string]: string };
1378
+
1145
1379
  /**
1146
1380
  * Describes what the tool does, sometimes can also include information about when
1147
1381
  * to call the tool.
@@ -1377,7 +1611,7 @@ export namespace LlmCreateParams {
1377
1611
  /**
1378
1612
  * Headers to add to the request.
1379
1613
  */
1380
- headers?: Record<string, string>;
1614
+ headers?: { [key: string]: string };
1381
1615
 
1382
1616
  /**
1383
1617
  * Method to use for the request, default to POST.
@@ -1395,14 +1629,14 @@ export namespace LlmCreateParams {
1395
1629
  /**
1396
1630
  * Query parameters to append to the request URL.
1397
1631
  */
1398
- query_params?: Record<string, string>;
1632
+ query_params?: { [key: string]: string };
1399
1633
 
1400
1634
  /**
1401
1635
  * A mapping of variable names to JSON paths in the response body. These values
1402
1636
  * will be extracted from the response and made available as dynamic variables for
1403
1637
  * use.
1404
1638
  */
1405
- response_variables?: Record<string, string>;
1639
+ response_variables?: { [key: string]: string };
1406
1640
 
1407
1641
  /**
1408
1642
  * The maximum time in milliseconds the tool can run before it's considered
@@ -1425,7 +1659,7 @@ export namespace LlmCreateParams {
1425
1659
  * The value of properties is an object, where each key is the name of a property
1426
1660
  * and each value is a schema used to validate that property.
1427
1661
  */
1428
- properties: Record<string, unknown>;
1662
+ properties: { [key: string]: unknown };
1429
1663
 
1430
1664
  /**
1431
1665
  * Type must be "object" for a JSON Schema object.
@@ -1441,6 +1675,114 @@ export namespace LlmCreateParams {
1441
1675
  }
1442
1676
  }
1443
1677
 
1678
+ export interface ExtractDynamicVariableTool {
1679
+ /**
1680
+ * Describes what the tool does, sometimes can also include information about when
1681
+ * to call the tool.
1682
+ */
1683
+ description: string;
1684
+
1685
+ /**
1686
+ * Name of the tool. Must be unique within all tools available to LLM at any given
1687
+ * time (general tools + state tools + state edges). Must be consisted of a-z, A-Z,
1688
+ * 0-9, or contain underscores and dashes, with a maximum length of 64 (no space
1689
+ * allowed).
1690
+ */
1691
+ name: string;
1692
+
1693
+ type: 'extract_dynamic_variable';
1694
+
1695
+ /**
1696
+ * The variables to be extracted.
1697
+ */
1698
+ variables: Array<
1699
+ | ExtractDynamicVariableTool.StringAnalysisData
1700
+ | ExtractDynamicVariableTool.EnumAnalysisData
1701
+ | ExtractDynamicVariableTool.BooleanAnalysisData
1702
+ | ExtractDynamicVariableTool.NumberAnalysisData
1703
+ >;
1704
+ }
1705
+
1706
+ export namespace ExtractDynamicVariableTool {
1707
+ export interface StringAnalysisData {
1708
+ /**
1709
+ * Description of the variable.
1710
+ */
1711
+ description: string;
1712
+
1713
+ /**
1714
+ * Name of the variable.
1715
+ */
1716
+ name: string;
1717
+
1718
+ /**
1719
+ * Type of the variable to extract.
1720
+ */
1721
+ type: 'string';
1722
+
1723
+ /**
1724
+ * Examples of the variable value to teach model the style and syntax.
1725
+ */
1726
+ examples?: Array<string>;
1727
+ }
1728
+
1729
+ export interface EnumAnalysisData {
1730
+ /**
1731
+ * The possible values of the variable, must be non empty array.
1732
+ */
1733
+ choices: Array<string>;
1734
+
1735
+ /**
1736
+ * Description of the variable.
1737
+ */
1738
+ description: string;
1739
+
1740
+ /**
1741
+ * Name of the variable.
1742
+ */
1743
+ name: string;
1744
+
1745
+ /**
1746
+ * Type of the variable to extract.
1747
+ */
1748
+ type: 'enum';
1749
+ }
1750
+
1751
+ export interface BooleanAnalysisData {
1752
+ /**
1753
+ * Description of the variable.
1754
+ */
1755
+ description: string;
1756
+
1757
+ /**
1758
+ * Name of the variable.
1759
+ */
1760
+ name: string;
1761
+
1762
+ /**
1763
+ * Type of the variable to extract.
1764
+ */
1765
+ type: 'boolean';
1766
+ }
1767
+
1768
+ export interface NumberAnalysisData {
1769
+ /**
1770
+ * Description of the variable.
1771
+ */
1772
+ description: string;
1773
+
1774
+ /**
1775
+ * Name of the variable.
1776
+ */
1777
+ name: string;
1778
+
1779
+ /**
1780
+ * Type of the variable to extract.
1781
+ */
1782
+ type: 'number';
1783
+ }
1784
+ }
1785
+
1444
1786
  export interface State {
1445
1787
  /**
1446
1788
  * Name of the state, must be unique for each state. Must be consisted of a-z, A-Z,
@@ -1476,6 +1818,7 @@ export namespace LlmCreateParams {
1476
1818
  | State.BookAppointmentCalTool
1477
1819
  | State.PressDigitTool
1478
1820
  | State.CustomTool
1821
+ | State.ExtractDynamicVariableTool
1479
1822
  >;
1480
1823
  }
1481
1824
 
@@ -1520,7 +1863,7 @@ export namespace LlmCreateParams {
1520
1863
  * The value of properties is an object, where each key is the name of a property
1521
1864
  * and each value is a schema used to validate that property.
1522
1865
  */
1523
- properties: Record<string, unknown>;
1866
+ properties: { [key: string]: unknown };
1524
1867
 
1525
1868
  /**
1526
1869
  * Type must be "object" for a JSON Schema object.
@@ -1571,6 +1914,11 @@ export namespace LlmCreateParams {
1571
1914
 
1572
1915
  type: 'transfer_call';
1573
1916
 
1917
+ /**
1918
+ * Custom SIP headers to be added to the call.
1919
+ */
1920
+ custom_sip_headers?: { [key: string]: string };
1921
+
1574
1922
  /**
1575
1923
  * Describes what the tool does, sometimes can also include information about when
1576
1924
  * to call the tool.
@@ -1806,7 +2154,7 @@ export namespace LlmCreateParams {
1806
2154
  /**
1807
2155
  * Headers to add to the request.
1808
2156
  */
1809
- headers?: Record<string, string>;
2157
+ headers?: { [key: string]: string };
1810
2158
 
1811
2159
  /**
1812
2160
  * Method to use for the request, default to POST.
@@ -1824,14 +2172,14 @@ export namespace LlmCreateParams {
1824
2172
  /**
1825
2173
  * Query parameters to append to the request URL.
1826
2174
  */
1827
- query_params?: Record<string, string>;
2175
+ query_params?: { [key: string]: string };
1828
2176
 
1829
2177
  /**
1830
2178
  * A mapping of variable names to JSON paths in the response body. These values
1831
2179
  * will be extracted from the response and made available as dynamic variables for
1832
2180
  * use.
1833
2181
  */
1834
- response_variables?: Record<string, string>;
2182
+ response_variables?: { [key: string]: string };
1835
2183
 
1836
2184
  /**
1837
2185
  * The maximum time in milliseconds the tool can run before it's considered
@@ -1854,7 +2202,7 @@ export namespace LlmCreateParams {
1854
2202
  * The value of properties is an object, where each key is the name of a property
1855
2203
  * and each value is a schema used to validate that property.
1856
2204
  */
1857
- properties: Record<string, unknown>;
2205
+ properties: { [key: string]: unknown };
1858
2206
 
1859
2207
  /**
1860
2208
  * Type must be "object" for a JSON Schema object.
@@ -1869,6 +2217,114 @@ export namespace LlmCreateParams {
1869
2217
  required?: Array<string>;
1870
2218
  }
1871
2219
  }
2220
+
2221
+ export interface ExtractDynamicVariableTool {
2222
+ /**
2223
+ * Describes what the tool does, sometimes can also include information about when
2224
+ * to call the tool.
2225
+ */
2226
+ description: string;
2227
+
2228
+ /**
2229
+ * Name of the tool. Must be unique within all tools available to LLM at any given
2230
+ * time (general tools + state tools + state edges). Must be consisted of a-z, A-Z,
2231
+ * 0-9, or contain underscores and dashes, with a maximum length of 64 (no space
2232
+ * allowed).
2233
+ */
2234
+ name: string;
2235
+
2236
+ type: 'extract_dynamic_variable';
2237
+
2238
+ /**
2239
+ * The variables to be extracted.
2240
+ */
2241
+ variables: Array<
2242
+ | ExtractDynamicVariableTool.StringAnalysisData
2243
+ | ExtractDynamicVariableTool.EnumAnalysisData
2244
+ | ExtractDynamicVariableTool.BooleanAnalysisData
2245
+ | ExtractDynamicVariableTool.NumberAnalysisData
2246
+ >;
2247
+ }
2248
+
2249
+ export namespace ExtractDynamicVariableTool {
2250
+ export interface StringAnalysisData {
2251
+ /**
2252
+ * Description of the variable.
2253
+ */
2254
+ description: string;
2255
+
2256
+ /**
2257
+ * Name of the variable.
2258
+ */
2259
+ name: string;
2260
+
2261
+ /**
2262
+ * Type of the variable to extract.
2263
+ */
2264
+ type: 'string';
2265
+
2266
+ /**
2267
+ * Examples of the variable value to teach model the style and syntax.
2268
+ */
2269
+ examples?: Array<string>;
2270
+ }
2271
+
2272
+ export interface EnumAnalysisData {
2273
+ /**
2274
+ * The possible values of the variable, must be non empty array.
2275
+ */
2276
+ choices: Array<string>;
2277
+
2278
+ /**
2279
+ * Description of the variable.
2280
+ */
2281
+ description: string;
2282
+
2283
+ /**
2284
+ * Name of the variable.
2285
+ */
2286
+ name: string;
2287
+
2288
+ /**
2289
+ * Type of the variable to extract.
2290
+ */
2291
+ type: 'enum';
2292
+ }
2293
+
2294
+ export interface BooleanAnalysisData {
2295
+ /**
2296
+ * Description of the variable.
2297
+ */
2298
+ description: string;
2299
+
2300
+ /**
2301
+ * Name of the variable.
2302
+ */
2303
+ name: string;
2304
+
2305
+ /**
2306
+ * Type of the variable to extract.
2307
+ */
2308
+ type: 'boolean';
2309
+ }
2310
+
2311
+ export interface NumberAnalysisData {
2312
+ /**
2313
+ * Description of the variable.
2314
+ */
2315
+ description: string;
2316
+
2317
+ /**
2318
+ * Name of the variable.
2319
+ */
2320
+ name: string;
2321
+
2322
+ /**
2323
+ * Type of the variable to extract.
2324
+ */
2325
+ type: 'number';
2326
+ }
2327
+ }
1872
2328
  }
1873
2329
  }
1874
2330
 
@@ -1898,7 +2354,7 @@ export interface LlmUpdateParams {
1898
2354
  * These are injected into your Retell LLM prompt and tool description when
1899
2355
  * specific values are not provided in a request. Only applicable for Retell LLM.
1900
2356
  */
1901
- default_dynamic_variables?: Record<string, string> | null;
2357
+ default_dynamic_variables?: { [key: string]: string } | null;
1902
2358
 
1903
2359
  /**
1904
2360
  * Body param: General prompt appended to system prompt no matter what state the
@@ -1927,6 +2383,7 @@ export interface LlmUpdateParams {
1927
2383
  | LlmUpdateParams.BookAppointmentCalTool
1928
2384
  | LlmUpdateParams.PressDigitTool
1929
2385
  | LlmUpdateParams.CustomTool
2386
+ | LlmUpdateParams.ExtractDynamicVariableTool
1930
2387
  > | null;
1931
2388
 
1932
2389
  /**
@@ -2035,6 +2492,11 @@ export namespace LlmUpdateParams {
2035
2492
 
2036
2493
  type: 'transfer_call';
2037
2494
 
2495
+ /**
2496
+ * Custom SIP headers to be added to the call.
2497
+ */
2498
+ custom_sip_headers?: { [key: string]: string };
2499
+
2038
2500
  /**
2039
2501
  * Describes what the tool does, sometimes can also include information about when
2040
2502
  * to call the tool.
@@ -2270,7 +2732,7 @@ export namespace LlmUpdateParams {
2270
2732
  /**
2271
2733
  * Headers to add to the request.
2272
2734
  */
2273
- headers?: Record<string, string>;
2735
+ headers?: { [key: string]: string };
2274
2736
 
2275
2737
  /**
2276
2738
  * Method to use for the request, default to POST.
@@ -2288,14 +2750,14 @@ export namespace LlmUpdateParams {
2288
2750
  /**
2289
2751
  * Query parameters to append to the request URL.
2290
2752
  */
2291
- query_params?: Record<string, string>;
2753
+ query_params?: { [key: string]: string };
2292
2754
 
2293
2755
  /**
2294
2756
  * A mapping of variable names to JSON paths in the response body. These values
2295
2757
  * will be extracted from the response and made available as dynamic variables for
2296
2758
  * use.
2297
2759
  */
2298
- response_variables?: Record<string, string>;
2760
+ response_variables?: { [key: string]: string };
2299
2761
 
2300
2762
  /**
2301
2763
  * The maximum time in milliseconds the tool can run before it's considered
@@ -2318,7 +2780,7 @@ export namespace LlmUpdateParams {
2318
2780
  * The value of properties is an object, where each key is the name of a property
2319
2781
  * and each value is a schema used to validate that property.
2320
2782
  */
2321
- properties: Record<string, unknown>;
2783
+ properties: { [key: string]: unknown };
2322
2784
 
2323
2785
  /**
2324
2786
  * Type must be "object" for a JSON Schema object.
@@ -2334,6 +2796,114 @@ export namespace LlmUpdateParams {
2334
2796
  }
2335
2797
  }
2336
2798
 
2799
+ export interface ExtractDynamicVariableTool {
2800
+ /**
2801
+ * Describes what the tool does, sometimes can also include information about when
2802
+ * to call the tool.
2803
+ */
2804
+ description: string;
2805
+
2806
+ /**
2807
+ * Name of the tool. Must be unique within all tools available to LLM at any given
2808
+ * time (general tools + state tools + state edges). Must be consisted of a-z, A-Z,
2809
+ * 0-9, or contain underscores and dashes, with a maximum length of 64 (no space
2810
+ * allowed).
2811
+ */
2812
+ name: string;
2813
+
2814
+ type: 'extract_dynamic_variable';
2815
+
2816
+ /**
2817
+ * The variables to be extracted.
2818
+ */
2819
+ variables: Array<
2820
+ | ExtractDynamicVariableTool.StringAnalysisData
2821
+ | ExtractDynamicVariableTool.EnumAnalysisData
2822
+ | ExtractDynamicVariableTool.BooleanAnalysisData
2823
+ | ExtractDynamicVariableTool.NumberAnalysisData
2824
+ >;
2825
+ }
2826
+
2827
+ export namespace ExtractDynamicVariableTool {
2828
+ export interface StringAnalysisData {
2829
+ /**
2830
+ * Description of the variable.
2831
+ */
2832
+ description: string;
2833
+
2834
+ /**
2835
+ * Name of the variable.
2836
+ */
2837
+ name: string;
2838
+
2839
+ /**
2840
+ * Type of the variable to extract.
2841
+ */
2842
+ type: 'string';
2843
+
2844
+ /**
2845
+ * Examples of the variable value to teach model the style and syntax.
2846
+ */
2847
+ examples?: Array<string>;
2848
+ }
2849
+
2850
+ export interface EnumAnalysisData {
2851
+ /**
2852
+ * The possible values of the variable, must be non empty array.
2853
+ */
2854
+ choices: Array<string>;
2855
+
2856
+ /**
2857
+ * Description of the variable.
2858
+ */
2859
+ description: string;
2860
+
2861
+ /**
2862
+ * Name of the variable.
2863
+ */
2864
+ name: string;
2865
+
2866
+ /**
2867
+ * Type of the variable to extract.
2868
+ */
2869
+ type: 'enum';
2870
+ }
2871
+
2872
+ export interface BooleanAnalysisData {
2873
+ /**
2874
+ * Description of the variable.
2875
+ */
2876
+ description: string;
2877
+
2878
+ /**
2879
+ * Name of the variable.
2880
+ */
2881
+ name: string;
2882
+
2883
+ /**
2884
+ * Type of the variable to extract.
2885
+ */
2886
+ type: 'boolean';
2887
+ }
2888
+
2889
+ export interface NumberAnalysisData {
2890
+ /**
2891
+ * Description of the variable.
2892
+ */
2893
+ description: string;
2894
+
2895
+ /**
2896
+ * Name of the variable.
2897
+ */
2898
+ name: string;
2899
+
2900
+ /**
2901
+ * Type of the variable to extract.
2902
+ */
2903
+ type: 'number';
2904
+ }
2905
+ }
2906
+
2337
2907
  export interface State {
2338
2908
  /**
2339
2909
  * Name of the state, must be unique for each state. Must be consisted of a-z, A-Z,
@@ -2369,6 +2939,7 @@ export namespace LlmUpdateParams {
2369
2939
  | State.BookAppointmentCalTool
2370
2940
  | State.PressDigitTool
2371
2941
  | State.CustomTool
2942
+ | State.ExtractDynamicVariableTool
2372
2943
  >;
2373
2944
  }
2374
2945
 
@@ -2413,7 +2984,7 @@ export namespace LlmUpdateParams {
2413
2984
  * The value of properties is an object, where each key is the name of a property
2414
2985
  * and each value is a schema used to validate that property.
2415
2986
  */
2416
- properties: Record<string, unknown>;
2987
+ properties: { [key: string]: unknown };
2417
2988
 
2418
2989
  /**
2419
2990
  * Type must be "object" for a JSON Schema object.
@@ -2464,6 +3035,11 @@ export namespace LlmUpdateParams {
2464
3035
 
2465
3036
  type: 'transfer_call';
2466
3037
 
3038
+ /**
3039
+ * Custom SIP headers to be added to the call.
3040
+ */
3041
+ custom_sip_headers?: { [key: string]: string };
3042
+
2467
3043
  /**
2468
3044
  * Describes what the tool does, sometimes can also include information about when
2469
3045
  * to call the tool.
@@ -2699,7 +3275,7 @@ export namespace LlmUpdateParams {
2699
3275
  /**
2700
3276
  * Headers to add to the request.
2701
3277
  */
2702
- headers?: Record<string, string>;
3278
+ headers?: { [key: string]: string };
2703
3279
 
2704
3280
  /**
2705
3281
  * Method to use for the request, default to POST.
@@ -2717,14 +3293,14 @@ export namespace LlmUpdateParams {
2717
3293
  /**
2718
3294
  * Query parameters to append to the request URL.
2719
3295
  */
2720
- query_params?: Record<string, string>;
3296
+ query_params?: { [key: string]: string };
2721
3297
 
2722
3298
  /**
2723
3299
  * A mapping of variable names to JSON paths in the response body. These values
2724
3300
  * will be extracted from the response and made available as dynamic variables for
2725
3301
  * use.
2726
3302
  */
2727
- response_variables?: Record<string, string>;
3303
+ response_variables?: { [key: string]: string };
2728
3304
 
2729
3305
  /**
2730
3306
  * The maximum time in milliseconds the tool can run before it's considered
@@ -2747,7 +3323,7 @@ export namespace LlmUpdateParams {
2747
3323
  * The value of properties is an object, where each key is the name of a property
2748
3324
  * and each value is a schema used to validate that property.
2749
3325
  */
2750
- properties: Record<string, unknown>;
3326
+ properties: { [key: string]: unknown };
2751
3327
 
2752
3328
  /**
2753
3329
  * Type must be "object" for a JSON Schema object.
@@ -2762,6 +3338,114 @@ export namespace LlmUpdateParams {
2762
3338
  required?: Array<string>;
2763
3339
  }
2764
3340
  }
3341
+
3342
+ export interface ExtractDynamicVariableTool {
3343
+ /**
3344
+ * Describes what the tool does, sometimes can also include information about when
3345
+ * to call the tool.
3346
+ */
3347
+ description: string;
3348
+
3349
+ /**
3350
+ * Name of the tool. Must be unique within all tools available to LLM at any given
3351
+ * time (general tools + state tools + state edges). Must be consisted of a-z, A-Z,
3352
+ * 0-9, or contain underscores and dashes, with a maximum length of 64 (no space
3353
+ * allowed).
3354
+ */
3355
+ name: string;
3356
+
3357
+ type: 'extract_dynamic_variable';
3358
+
3359
+ /**
3360
+ * The variables to be extracted.
3361
+ */
3362
+ variables: Array<
3363
+ | ExtractDynamicVariableTool.StringAnalysisData
3364
+ | ExtractDynamicVariableTool.EnumAnalysisData
3365
+ | ExtractDynamicVariableTool.BooleanAnalysisData
3366
+ | ExtractDynamicVariableTool.NumberAnalysisData
3367
+ >;
3368
+ }
3369
+
3370
+ export namespace ExtractDynamicVariableTool {
3371
+ export interface StringAnalysisData {
3372
+ /**
3373
+ * Description of the variable.
3374
+ */
3375
+ description: string;
3376
+
3377
+ /**
3378
+ * Name of the variable.
3379
+ */
3380
+ name: string;
3381
+
3382
+ /**
3383
+ * Type of the variable to extract.
3384
+ */
3385
+ type: 'string';
3386
+
3387
+ /**
3388
+ * Examples of the variable value to teach model the style and syntax.
3389
+ */
3390
+ examples?: Array<string>;
3391
+ }
3392
+
3393
+ export interface EnumAnalysisData {
3394
+ /**
3395
+ * The possible values of the variable, must be non empty array.
3396
+ */
3397
+ choices: Array<string>;
3398
+
3399
+ /**
3400
+ * Description of the variable.
3401
+ */
3402
+ description: string;
3403
+
3404
+ /**
3405
+ * Name of the variable.
3406
+ */
3407
+ name: string;
3408
+
3409
+ /**
3410
+ * Type of the variable to extract.
3411
+ */
3412
+ type: 'enum';
3413
+ }
3414
+
3415
+ export interface BooleanAnalysisData {
3416
+ /**
3417
+ * Description of the variable.
3418
+ */
3419
+ description: string;
3420
+
3421
+ /**
3422
+ * Name of the variable.
3423
+ */
3424
+ name: string;
3425
+
3426
+ /**
3427
+ * Type of the variable to extract.
3428
+ */
3429
+ type: 'boolean';
3430
+ }
3431
+
3432
+ export interface NumberAnalysisData {
3433
+ /**
3434
+ * Description of the variable.
3435
+ */
3436
+ description: string;
3437
+
3438
+ /**
3439
+ * Name of the variable.
3440
+ */
3441
+ name: string;
3442
+
3443
+ /**
3444
+ * Type of the variable to extract.
3445
+ */
3446
+ type: 'number';
3447
+ }
3448
+ }
2765
3449
  }
2766
3450
  }
2767
3451