retell-sdk 5.28.0 → 5.29.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.
Files changed (55) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/package.json +1 -1
  3. package/resources/agent.d.mts +4 -3
  4. package/resources/agent.d.mts.map +1 -1
  5. package/resources/agent.d.ts +4 -3
  6. package/resources/agent.d.ts.map +1 -1
  7. package/resources/batch-call.d.mts +1 -1
  8. package/resources/batch-call.d.ts +1 -1
  9. package/resources/call.d.mts +73 -13
  10. package/resources/call.d.mts.map +1 -1
  11. package/resources/call.d.ts +73 -13
  12. package/resources/call.d.ts.map +1 -1
  13. package/resources/chat.d.mts +327 -2
  14. package/resources/chat.d.mts.map +1 -1
  15. package/resources/chat.d.ts +327 -2
  16. package/resources/chat.d.ts.map +1 -1
  17. package/resources/concurrency.d.mts +4 -0
  18. package/resources/concurrency.d.mts.map +1 -1
  19. package/resources/concurrency.d.ts +4 -0
  20. package/resources/concurrency.d.ts.map +1 -1
  21. package/resources/conversation-flow-component.d.mts +27 -0
  22. package/resources/conversation-flow-component.d.mts.map +1 -1
  23. package/resources/conversation-flow-component.d.ts +27 -0
  24. package/resources/conversation-flow-component.d.ts.map +1 -1
  25. package/resources/conversation-flow.d.mts +54 -0
  26. package/resources/conversation-flow.d.mts.map +1 -1
  27. package/resources/conversation-flow.d.ts +54 -0
  28. package/resources/conversation-flow.d.ts.map +1 -1
  29. package/resources/llm.d.mts +30 -0
  30. package/resources/llm.d.mts.map +1 -1
  31. package/resources/llm.d.ts +30 -0
  32. package/resources/llm.d.ts.map +1 -1
  33. package/resources/phone-number.d.mts +96 -60
  34. package/resources/phone-number.d.mts.map +1 -1
  35. package/resources/phone-number.d.ts +96 -60
  36. package/resources/phone-number.d.ts.map +1 -1
  37. package/resources/voice.d.mts +1 -1
  38. package/resources/voice.d.mts.map +1 -1
  39. package/resources/voice.d.ts +1 -1
  40. package/resources/voice.d.ts.map +1 -1
  41. package/src/resources/agent.ts +4 -3
  42. package/src/resources/batch-call.ts +1 -1
  43. package/src/resources/call.ts +85 -4
  44. package/src/resources/chat.ts +474 -2
  45. package/src/resources/concurrency.ts +5 -0
  46. package/src/resources/conversation-flow-component.ts +33 -0
  47. package/src/resources/conversation-flow.ts +66 -0
  48. package/src/resources/llm.ts +36 -0
  49. package/src/resources/phone-number.ts +96 -60
  50. package/src/resources/voice.ts +1 -1
  51. package/src/version.ts +1 -1
  52. package/version.d.mts +1 -1
  53. package/version.d.ts +1 -1
  54. package/version.js +1 -1
  55. package/version.mjs +1 -1
@@ -727,7 +727,7 @@ export interface ChatUpdateParams {
727
727
  metadata?: unknown;
728
728
 
729
729
  /**
730
- * Override dynamic varaibles represented as key-value pairs of strings. Setting
730
+ * Override dynamic variables represented as key-value pairs of strings. Setting
731
731
  * this will override or add the dynamic variables set in the agent during the
732
732
  * call. Only need to set the delta where you want to override, no need to set the
733
733
  * entire dynamic variables object. Setting this to null will remove any existing
@@ -740,7 +740,7 @@ export interface ChatListParams {
740
740
  /**
741
741
  * Filter criteria for chats to retrieve.
742
742
  */
743
- filter_criteria?: unknown;
743
+ filter_criteria?: ChatListParams.FilterCriteria;
744
744
 
745
745
  /**
746
746
  * Whether to include `total` (count of all chats matching `filter_criteria`,
@@ -771,6 +771,478 @@ export interface ChatListParams {
771
771
  sort_order?: 'ascending' | 'descending';
772
772
  }
773
773
 
774
+ export namespace ChatListParams {
775
+ /**
776
+ * Filter criteria for chats to retrieve.
777
+ */
778
+ export interface FilterCriteria {
779
+ /**
780
+ * Filter by agent(s). Agent filters are connected by OR.
781
+ */
782
+ agent?: Array<FilterCriteria.Agent>;
783
+
784
+ /**
785
+ * Filter by chat ID.
786
+ */
787
+ chat_id?: FilterCriteria.ChatID;
788
+
789
+ chat_status?: FilterCriteria.ChatStatus;
790
+
791
+ /**
792
+ * Filter by whether the chat was successful.
793
+ */
794
+ chat_successful?: FilterCriteria.ChatSuccessful;
795
+
796
+ /**
797
+ * Filter by combined cost of the chat.
798
+ */
799
+ combined_cost?: FilterCriteria.NumberFilter | FilterCriteria.RangeFilter;
800
+
801
+ /**
802
+ * Filter by custom analysis data fields.
803
+ */
804
+ custom_analysis_data?: Array<
805
+ | FilterCriteria.StringFilter
806
+ | FilterCriteria.NumberFilter
807
+ | FilterCriteria.BooleanFilter
808
+ | FilterCriteria.RangeFilter
809
+ | FilterCriteria.EnumFilter
810
+ | FilterCriteria.PresentFilter
811
+ >;
812
+
813
+ /**
814
+ * Filter by custom attributes fields.
815
+ */
816
+ custom_attributes?: Array<
817
+ | FilterCriteria.StringFilter
818
+ | FilterCriteria.NumberFilter
819
+ | FilterCriteria.BooleanFilter
820
+ | FilterCriteria.RangeFilter
821
+ | FilterCriteria.EnumFilter
822
+ | FilterCriteria.PresentFilter
823
+ >;
824
+
825
+ disconnection_reason?: FilterCriteria.DisconnectionReason;
826
+
827
+ /**
828
+ * Filter by chat duration in milliseconds.
829
+ */
830
+ duration_ms?: FilterCriteria.NumberFilter | FilterCriteria.RangeFilter;
831
+
832
+ /**
833
+ * Filter by chat end timestamp (epoch ms).
834
+ */
835
+ end_timestamp?: FilterCriteria.NumberFilter | FilterCriteria.RangeFilter;
836
+
837
+ /**
838
+ * Filter by chat start timestamp (epoch ms).
839
+ */
840
+ start_timestamp?: FilterCriteria.NumberFilter | FilterCriteria.RangeFilter;
841
+
842
+ user_sentiment?: FilterCriteria.UserSentiment;
843
+ }
844
+
845
+ export namespace FilterCriteria {
846
+ export interface Agent {
847
+ /**
848
+ * The agent ID to filter on.
849
+ */
850
+ agent_id: string;
851
+
852
+ /**
853
+ * Specific versions to filter on. If not provided, all versions are included.
854
+ */
855
+ version?: Array<number>;
856
+ }
857
+
858
+ /**
859
+ * Filter by chat ID.
860
+ */
861
+ export interface ChatID {
862
+ /**
863
+ * eq: equal, ne: not equal, sw: starts with, ew: ends with, co: contains
864
+ */
865
+ op: 'eq' | 'ne' | 'sw' | 'ew' | 'co';
866
+
867
+ type: 'string';
868
+
869
+ value: string;
870
+ }
871
+
872
+ export interface ChatStatus {
873
+ /**
874
+ * in: value is one of the listed values
875
+ */
876
+ op: 'in';
877
+
878
+ type: 'enum';
879
+
880
+ value: Array<'ongoing' | 'ended' | 'error'>;
881
+ }
882
+
883
+ /**
884
+ * Filter by whether the chat was successful.
885
+ */
886
+ export interface ChatSuccessful {
887
+ op: 'eq';
888
+
889
+ type: 'boolean';
890
+
891
+ value: boolean;
892
+ }
893
+
894
+ export interface NumberFilter {
895
+ /**
896
+ * eq: equal, ne: not equal, gt: greater than, ge: greater than or equal, lt: less
897
+ * than, le: less than or equal
898
+ */
899
+ op: 'eq' | 'ne' | 'gt' | 'ge' | 'lt' | 'le';
900
+
901
+ type: 'number';
902
+
903
+ value: number;
904
+ }
905
+
906
+ export interface RangeFilter {
907
+ /**
908
+ * bt: between
909
+ */
910
+ op: 'bt';
911
+
912
+ type: 'range';
913
+
914
+ /**
915
+ * [lower_bound, upper_bound]
916
+ */
917
+ value: Array<number>;
918
+ }
919
+
920
+ export interface StringFilter {
921
+ /**
922
+ * eq: equal, ne: not equal, sw: starts with, ew: ends with, co: contains
923
+ */
924
+ op: 'eq' | 'ne' | 'sw' | 'ew' | 'co';
925
+
926
+ type: 'string';
927
+
928
+ value: string;
929
+
930
+ /**
931
+ * The field name to filter on.
932
+ */
933
+ key?: string;
934
+ }
935
+
936
+ export interface NumberFilter {
937
+ /**
938
+ * eq: equal, ne: not equal, gt: greater than, ge: greater than or equal, lt: less
939
+ * than, le: less than or equal
940
+ */
941
+ op: 'eq' | 'ne' | 'gt' | 'ge' | 'lt' | 'le';
942
+
943
+ type: 'number';
944
+
945
+ value: number;
946
+
947
+ /**
948
+ * The field name to filter on.
949
+ */
950
+ key?: string;
951
+ }
952
+
953
+ export interface BooleanFilter {
954
+ op: 'eq';
955
+
956
+ type: 'boolean';
957
+
958
+ value: boolean;
959
+
960
+ /**
961
+ * The field name to filter on.
962
+ */
963
+ key?: string;
964
+ }
965
+
966
+ export interface RangeFilter {
967
+ /**
968
+ * bt: between
969
+ */
970
+ op: 'bt';
971
+
972
+ type: 'range';
973
+
974
+ /**
975
+ * [lower_bound, upper_bound]
976
+ */
977
+ value: Array<number>;
978
+
979
+ /**
980
+ * The field name to filter on.
981
+ */
982
+ key?: string;
983
+ }
984
+
985
+ export interface EnumFilter {
986
+ /**
987
+ * in: value is one of the listed values
988
+ */
989
+ op: 'in';
990
+
991
+ type: 'enum';
992
+
993
+ value: Array<string>;
994
+
995
+ /**
996
+ * The field name to filter on.
997
+ */
998
+ key?: string;
999
+ }
1000
+
1001
+ export interface PresentFilter {
1002
+ /**
1003
+ * pr: present (has value), np: not present
1004
+ */
1005
+ op: 'pr' | 'np';
1006
+
1007
+ type: 'present';
1008
+
1009
+ /**
1010
+ * The field name to filter on.
1011
+ */
1012
+ key?: string;
1013
+ }
1014
+
1015
+ export interface StringFilter {
1016
+ /**
1017
+ * eq: equal, ne: not equal, sw: starts with, ew: ends with, co: contains
1018
+ */
1019
+ op: 'eq' | 'ne' | 'sw' | 'ew' | 'co';
1020
+
1021
+ type: 'string';
1022
+
1023
+ value: string;
1024
+
1025
+ /**
1026
+ * The field name to filter on.
1027
+ */
1028
+ key?: string;
1029
+ }
1030
+
1031
+ export interface NumberFilter {
1032
+ /**
1033
+ * eq: equal, ne: not equal, gt: greater than, ge: greater than or equal, lt: less
1034
+ * than, le: less than or equal
1035
+ */
1036
+ op: 'eq' | 'ne' | 'gt' | 'ge' | 'lt' | 'le';
1037
+
1038
+ type: 'number';
1039
+
1040
+ value: number;
1041
+
1042
+ /**
1043
+ * The field name to filter on.
1044
+ */
1045
+ key?: string;
1046
+ }
1047
+
1048
+ export interface BooleanFilter {
1049
+ op: 'eq';
1050
+
1051
+ type: 'boolean';
1052
+
1053
+ value: boolean;
1054
+
1055
+ /**
1056
+ * The field name to filter on.
1057
+ */
1058
+ key?: string;
1059
+ }
1060
+
1061
+ export interface RangeFilter {
1062
+ /**
1063
+ * bt: between
1064
+ */
1065
+ op: 'bt';
1066
+
1067
+ type: 'range';
1068
+
1069
+ /**
1070
+ * [lower_bound, upper_bound]
1071
+ */
1072
+ value: Array<number>;
1073
+
1074
+ /**
1075
+ * The field name to filter on.
1076
+ */
1077
+ key?: string;
1078
+ }
1079
+
1080
+ export interface EnumFilter {
1081
+ /**
1082
+ * in: value is one of the listed values
1083
+ */
1084
+ op: 'in';
1085
+
1086
+ type: 'enum';
1087
+
1088
+ value: Array<string>;
1089
+
1090
+ /**
1091
+ * The field name to filter on.
1092
+ */
1093
+ key?: string;
1094
+ }
1095
+
1096
+ export interface PresentFilter {
1097
+ /**
1098
+ * pr: present (has value), np: not present
1099
+ */
1100
+ op: 'pr' | 'np';
1101
+
1102
+ type: 'present';
1103
+
1104
+ /**
1105
+ * The field name to filter on.
1106
+ */
1107
+ key?: string;
1108
+ }
1109
+
1110
+ export interface DisconnectionReason {
1111
+ /**
1112
+ * in: value is one of the listed values
1113
+ */
1114
+ op: 'in';
1115
+
1116
+ type: 'enum';
1117
+
1118
+ value: Array<
1119
+ | 'user_hangup'
1120
+ | 'agent_hangup'
1121
+ | 'call_transfer'
1122
+ | 'voicemail_reached'
1123
+ | 'ivr_reached'
1124
+ | 'inactivity'
1125
+ | 'max_duration_reached'
1126
+ | 'concurrency_limit_reached'
1127
+ | 'no_concurrency_fallback'
1128
+ | 'no_valid_payment'
1129
+ | 'scam_detected'
1130
+ | 'dial_busy'
1131
+ | 'dial_failed'
1132
+ | 'dial_no_answer'
1133
+ | 'invalid_destination'
1134
+ | 'telephony_provider_permission_denied'
1135
+ | 'telephony_provider_unavailable'
1136
+ | 'sip_routing_error'
1137
+ | 'marked_as_spam'
1138
+ | 'user_declined'
1139
+ | 'error_llm_websocket_open'
1140
+ | 'error_llm_websocket_lost_connection'
1141
+ | 'error_llm_websocket_runtime'
1142
+ | 'error_llm_websocket_corrupt_payload'
1143
+ | 'error_no_audio_received'
1144
+ | 'error_asr'
1145
+ | 'error_retell'
1146
+ | 'error_unknown'
1147
+ | 'error_user_not_joined'
1148
+ | 'registered_call_timeout'
1149
+ | 'transfer_bridged'
1150
+ | 'transfer_cancelled'
1151
+ | 'manual_stopped'
1152
+ >;
1153
+ }
1154
+
1155
+ export interface NumberFilter {
1156
+ /**
1157
+ * eq: equal, ne: not equal, gt: greater than, ge: greater than or equal, lt: less
1158
+ * than, le: less than or equal
1159
+ */
1160
+ op: 'eq' | 'ne' | 'gt' | 'ge' | 'lt' | 'le';
1161
+
1162
+ type: 'number';
1163
+
1164
+ value: number;
1165
+ }
1166
+
1167
+ export interface RangeFilter {
1168
+ /**
1169
+ * bt: between
1170
+ */
1171
+ op: 'bt';
1172
+
1173
+ type: 'range';
1174
+
1175
+ /**
1176
+ * [lower_bound, upper_bound]
1177
+ */
1178
+ value: Array<number>;
1179
+ }
1180
+
1181
+ export interface NumberFilter {
1182
+ /**
1183
+ * eq: equal, ne: not equal, gt: greater than, ge: greater than or equal, lt: less
1184
+ * than, le: less than or equal
1185
+ */
1186
+ op: 'eq' | 'ne' | 'gt' | 'ge' | 'lt' | 'le';
1187
+
1188
+ type: 'number';
1189
+
1190
+ value: number;
1191
+ }
1192
+
1193
+ export interface RangeFilter {
1194
+ /**
1195
+ * bt: between
1196
+ */
1197
+ op: 'bt';
1198
+
1199
+ type: 'range';
1200
+
1201
+ /**
1202
+ * [lower_bound, upper_bound]
1203
+ */
1204
+ value: Array<number>;
1205
+ }
1206
+
1207
+ export interface NumberFilter {
1208
+ /**
1209
+ * eq: equal, ne: not equal, gt: greater than, ge: greater than or equal, lt: less
1210
+ * than, le: less than or equal
1211
+ */
1212
+ op: 'eq' | 'ne' | 'gt' | 'ge' | 'lt' | 'le';
1213
+
1214
+ type: 'number';
1215
+
1216
+ value: number;
1217
+ }
1218
+
1219
+ export interface RangeFilter {
1220
+ /**
1221
+ * bt: between
1222
+ */
1223
+ op: 'bt';
1224
+
1225
+ type: 'range';
1226
+
1227
+ /**
1228
+ * [lower_bound, upper_bound]
1229
+ */
1230
+ value: Array<number>;
1231
+ }
1232
+
1233
+ export interface UserSentiment {
1234
+ /**
1235
+ * in: value is one of the listed values
1236
+ */
1237
+ op: 'in';
1238
+
1239
+ type: 'enum';
1240
+
1241
+ value: Array<'Negative' | 'Positive' | 'Neutral' | 'Unknown'>;
1242
+ }
1243
+ }
1244
+ }
1245
+
774
1246
  export interface ChatCreateChatCompletionParams {
775
1247
  /**
776
1248
  * Unique id of the chat to create completion.
@@ -57,6 +57,11 @@ export interface ConcurrencyRetrieveResponse {
57
57
  * difference between `concurrency_purchase_limit` and `purchased_concurrency`.
58
58
  */
59
59
  remaining_purchase_limit?: number;
60
+
61
+ /**
62
+ * Number of normal concurrency slots reserved for inbound calls.
63
+ */
64
+ reserved_inbound_concurrency?: number;
60
65
  }
61
66
 
62
67
  export declare namespace Concurrency {
@@ -2274,6 +2274,12 @@ export namespace ConversationFlowComponentResponse {
2274
2274
  | ExtractDynamicVariableTool.BooleanAnalysisData
2275
2275
  | ExtractDynamicVariableTool.NumberAnalysisData
2276
2276
  >;
2277
+
2278
+ /**
2279
+ * If true, play a typing sound on the agent audio track while this tool is
2280
+ * executing.
2281
+ */
2282
+ enable_typing_sound?: boolean;
2277
2283
  }
2278
2284
 
2279
2285
  export namespace ExtractDynamicVariableTool {
@@ -5690,6 +5696,11 @@ export namespace ConversationFlowComponentResponse {
5690
5696
 
5691
5697
  else_edge?: ExtractDynamicVariablesNode.ElseEdge;
5692
5698
 
5699
+ /**
5700
+ * If true, play a typing sound while this extract step executes.
5701
+ */
5702
+ enable_typing_sound?: boolean;
5703
+
5693
5704
  finetune_transition_examples?: Array<ExtractDynamicVariablesNode.FinetuneTransitionExample>;
5694
5705
 
5695
5706
  global_node_setting?: ExtractDynamicVariablesNode.GlobalNodeSetting;
@@ -10514,6 +10525,12 @@ export namespace ConversationFlowComponentCreateParams {
10514
10525
  | ExtractDynamicVariableTool.BooleanAnalysisData
10515
10526
  | ExtractDynamicVariableTool.NumberAnalysisData
10516
10527
  >;
10528
+
10529
+ /**
10530
+ * If true, play a typing sound on the agent audio track while this tool is
10531
+ * executing.
10532
+ */
10533
+ enable_typing_sound?: boolean;
10517
10534
  }
10518
10535
 
10519
10536
  export namespace ExtractDynamicVariableTool {
@@ -13930,6 +13947,11 @@ export namespace ConversationFlowComponentCreateParams {
13930
13947
 
13931
13948
  else_edge?: ExtractDynamicVariablesNode.ElseEdge;
13932
13949
 
13950
+ /**
13951
+ * If true, play a typing sound while this extract step executes.
13952
+ */
13953
+ enable_typing_sound?: boolean;
13954
+
13933
13955
  finetune_transition_examples?: Array<ExtractDynamicVariablesNode.FinetuneTransitionExample>;
13934
13956
 
13935
13957
  global_node_setting?: ExtractDynamicVariablesNode.GlobalNodeSetting;
@@ -18774,6 +18796,12 @@ export namespace ConversationFlowComponentUpdateParams {
18774
18796
  | ExtractDynamicVariableTool.BooleanAnalysisData
18775
18797
  | ExtractDynamicVariableTool.NumberAnalysisData
18776
18798
  >;
18799
+
18800
+ /**
18801
+ * If true, play a typing sound on the agent audio track while this tool is
18802
+ * executing.
18803
+ */
18804
+ enable_typing_sound?: boolean;
18777
18805
  }
18778
18806
 
18779
18807
  export namespace ExtractDynamicVariableTool {
@@ -22190,6 +22218,11 @@ export namespace ConversationFlowComponentUpdateParams {
22190
22218
 
22191
22219
  else_edge?: ExtractDynamicVariablesNode.ElseEdge;
22192
22220
 
22221
+ /**
22222
+ * If true, play a typing sound while this extract step executes.
22223
+ */
22224
+ enable_typing_sound?: boolean;
22225
+
22193
22226
  finetune_transition_examples?: Array<ExtractDynamicVariablesNode.FinetuneTransitionExample>;
22194
22227
 
22195
22228
  global_node_setting?: ExtractDynamicVariablesNode.GlobalNodeSetting;