retell-sdk 5.8.0 → 5.10.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 (56) hide show
  1. package/CHANGELOG.md +236 -0
  2. package/package.json +12 -1
  3. package/resources/agent.d.mts +6 -21
  4. package/resources/agent.d.mts.map +1 -1
  5. package/resources/agent.d.ts +6 -21
  6. package/resources/agent.d.ts.map +1 -1
  7. package/resources/batch-call.d.mts +5 -10
  8. package/resources/batch-call.d.mts.map +1 -1
  9. package/resources/batch-call.d.ts +5 -10
  10. package/resources/batch-call.d.ts.map +1 -1
  11. package/resources/call.d.mts +31 -30
  12. package/resources/call.d.mts.map +1 -1
  13. package/resources/call.d.ts +31 -30
  14. package/resources/call.d.ts.map +1 -1
  15. package/resources/chat-agent.d.mts +3 -3
  16. package/resources/chat-agent.d.mts.map +1 -1
  17. package/resources/chat-agent.d.ts +3 -3
  18. package/resources/chat-agent.d.ts.map +1 -1
  19. package/resources/conversation-flow-component.d.mts +3183 -1404
  20. package/resources/conversation-flow-component.d.mts.map +1 -1
  21. package/resources/conversation-flow-component.d.ts +3183 -1404
  22. package/resources/conversation-flow-component.d.ts.map +1 -1
  23. package/resources/conversation-flow.d.mts +5336 -1778
  24. package/resources/conversation-flow.d.mts.map +1 -1
  25. package/resources/conversation-flow.d.ts +5336 -1778
  26. package/resources/conversation-flow.d.ts.map +1 -1
  27. package/resources/llm.d.mts +540 -42
  28. package/resources/llm.d.mts.map +1 -1
  29. package/resources/llm.d.ts +540 -42
  30. package/resources/llm.d.ts.map +1 -1
  31. package/resources/phone-number.d.mts +7 -0
  32. package/resources/phone-number.d.mts.map +1 -1
  33. package/resources/phone-number.d.ts +7 -0
  34. package/resources/phone-number.d.ts.map +1 -1
  35. package/resources/tests.d.mts +3 -3
  36. package/resources/tests.d.mts.map +1 -1
  37. package/resources/tests.d.ts +3 -3
  38. package/resources/tests.d.ts.map +1 -1
  39. package/src/resources/agent.ts +15 -30
  40. package/src/resources/batch-call.ts +16 -15
  41. package/src/resources/call.ts +67 -45
  42. package/src/resources/chat-agent.ts +15 -6
  43. package/src/resources/conversation-flow-component.ts +8409 -5565
  44. package/src/resources/conversation-flow.ts +10307 -4610
  45. package/src/resources/llm.ts +649 -52
  46. package/src/resources/phone-number.ts +8 -0
  47. package/src/resources/tests.ts +15 -6
  48. package/src/version.ts +1 -1
  49. package/version.d.mts +1 -1
  50. package/version.d.mts.map +1 -1
  51. package/version.d.ts +1 -1
  52. package/version.d.ts.map +1 -1
  53. package/version.js +1 -1
  54. package/version.js.map +1 -1
  55. package/version.mjs +1 -1
  56. package/version.mjs.map +1 -1
@@ -147,6 +147,7 @@ export interface LlmResponse {
147
147
  | LlmResponse.PressDigitTool
148
148
  | LlmResponse.SendSMSTool
149
149
  | LlmResponse.CustomTool
150
+ | LlmResponse.CodeTool
150
151
  | LlmResponse.ExtractDynamicVariableTool
151
152
  | LlmResponse.BridgeTransferTool
152
153
  | LlmResponse.CancelTransferTool
@@ -181,10 +182,13 @@ export interface LlmResponse {
181
182
  | 'gpt-4.1-mini'
182
183
  | 'gpt-4.1-nano'
183
184
  | 'gpt-5'
184
- | 'gpt-5.1'
185
- | 'gpt-5.2'
186
185
  | 'gpt-5-mini'
187
186
  | 'gpt-5-nano'
187
+ | 'gpt-5.1'
188
+ | 'gpt-5.2'
189
+ | 'gpt-5.4'
190
+ | 'gpt-5.4-mini'
191
+ | 'gpt-5.4-nano'
188
192
  | 'claude-4.5-sonnet'
189
193
  | 'claude-4.6-sonnet'
190
194
  | 'claude-4.5-haiku'
@@ -212,7 +216,7 @@ export interface LlmResponse {
212
216
  * Select the underlying speech to speech model. Can only set this or model, not
213
217
  * both.
214
218
  */
215
- s2s_model?: 'gpt-4o-realtime' | 'gpt-4o-mini-realtime' | 'gpt-realtime' | 'gpt-realtime-mini' | null;
219
+ s2s_model?: 'gpt-realtime-1.5' | 'gpt-realtime' | 'gpt-realtime-mini' | null;
216
220
 
217
221
  /**
218
222
  * The speaker who starts the conversation. Required. Must be either 'user' or
@@ -438,12 +442,6 @@ export namespace LlmResponse {
438
442
  */
439
443
  opt_out_human_detection?: boolean;
440
444
 
441
- /**
442
- * If set to true, AI will not say "Hello" after connecting the call. Default to
443
- * false.
444
- */
445
- opt_out_initial_message?: boolean;
446
-
447
445
  /**
448
446
  * If set, when transfer is connected, will say the handoff message only to the
449
447
  * agent receiving the transfer. Can leave either a static message or a dynamic one
@@ -757,6 +755,11 @@ export namespace LlmResponse {
757
755
  */
758
756
  execution_message_type?: 'prompt' | 'static_text';
759
757
 
758
+ /**
759
+ * If true, keep the current language when swapping agents. Defaults to false.
760
+ */
761
+ keep_current_language?: boolean;
762
+
760
763
  /**
761
764
  * If true, keep the current voice when swapping agents. Defaults to false.
762
765
  */
@@ -961,6 +964,66 @@ export namespace LlmResponse {
961
964
  }
962
965
  }
963
966
 
967
+ export interface CodeTool {
968
+ /**
969
+ * JavaScript code to execute in the sandbox.
970
+ */
971
+ code: string;
972
+
973
+ /**
974
+ * Name of the tool. Must be unique within all tools available to LLM at any given
975
+ * time (general tools + state tools + state edges). Must be consisted of a-z, A-Z,
976
+ * 0-9, or contain underscores and dashes, with a maximum length of 64 (no space
977
+ * allowed).
978
+ */
979
+ name: string;
980
+
981
+ type: 'code';
982
+
983
+ /**
984
+ * Describes what this tool does and when to call this tool.
985
+ */
986
+ description?: string;
987
+
988
+ /**
989
+ * The description for the sentence agent say during execution. Only applicable
990
+ * when speak_during_execution is true.
991
+ */
992
+ execution_message_description?: string;
993
+
994
+ /**
995
+ * Type of execution message. "prompt" means the agent will use
996
+ * execution_message_description as a prompt to generate the message. "static_text"
997
+ * means the agent will speak the execution_message_description directly. Defaults
998
+ * to "prompt".
999
+ */
1000
+ execution_message_type?: 'prompt' | 'static_text';
1001
+
1002
+ /**
1003
+ * A mapping of variable names to JSON paths in the code execution result. These
1004
+ * mapped values will be extracted and added as dynamic variables.
1005
+ */
1006
+ response_variables?: { [key: string]: string };
1007
+
1008
+ /**
1009
+ * Determines whether the agent would call LLM another time and speak when the
1010
+ * result of function is obtained.
1011
+ */
1012
+ speak_after_execution?: boolean;
1013
+
1014
+ /**
1015
+ * Determines whether the agent would say sentence like "One moment, let me check
1016
+ * that." when executing the tool.
1017
+ */
1018
+ speak_during_execution?: boolean;
1019
+
1020
+ /**
1021
+ * The maximum time in milliseconds the code can run before it's considered
1022
+ * timeout. Defaults to 30,000 ms (30 s).
1023
+ */
1024
+ timeout_ms?: number;
1025
+ }
1026
+
964
1027
  export interface ExtractDynamicVariableTool {
965
1028
  /**
966
1029
  * Describes what the tool does, sometimes can also include information about when
@@ -1111,6 +1174,25 @@ export namespace LlmResponse {
1111
1174
  * transfer agent call.
1112
1175
  */
1113
1176
  description?: string;
1177
+
1178
+ /**
1179
+ * Describes what to say to user when bridging the transfer. Only applicable when
1180
+ * speak_during_execution is true.
1181
+ */
1182
+ execution_message_description?: string;
1183
+
1184
+ /**
1185
+ * Type of execution message. "prompt" means the agent will use
1186
+ * execution_message_description as a prompt to generate the message. "static_text"
1187
+ * means the agent will speak the execution_message_description directly. Defaults
1188
+ * to "prompt".
1189
+ */
1190
+ execution_message_type?: 'prompt' | 'static_text';
1191
+
1192
+ /**
1193
+ * If true, will speak during execution.
1194
+ */
1195
+ speak_during_execution?: boolean;
1114
1196
  }
1115
1197
 
1116
1198
  export interface CancelTransferTool {
@@ -1131,6 +1213,25 @@ export namespace LlmResponse {
1131
1213
  * and ends the transfer agent call.
1132
1214
  */
1133
1215
  description?: string;
1216
+
1217
+ /**
1218
+ * Describes what to say to user when cancelling the transfer. Only applicable when
1219
+ * speak_during_execution is true.
1220
+ */
1221
+ execution_message_description?: string;
1222
+
1223
+ /**
1224
+ * Type of execution message. "prompt" means the agent will use
1225
+ * execution_message_description as a prompt to generate the message. "static_text"
1226
+ * means the agent will speak the execution_message_description directly. Defaults
1227
+ * to "prompt".
1228
+ */
1229
+ execution_message_type?: 'prompt' | 'static_text';
1230
+
1231
+ /**
1232
+ * If true, will speak during execution.
1233
+ */
1234
+ speak_during_execution?: boolean;
1134
1235
  }
1135
1236
 
1136
1237
  export interface McpTool {
@@ -1271,6 +1372,7 @@ export namespace LlmResponse {
1271
1372
  | State.PressDigitTool
1272
1373
  | State.SendSMSTool
1273
1374
  | State.CustomTool
1375
+ | State.CodeTool
1274
1376
  | State.ExtractDynamicVariableTool
1275
1377
  | State.BridgeTransferTool
1276
1378
  | State.CancelTransferTool
@@ -1526,12 +1628,6 @@ export namespace LlmResponse {
1526
1628
  */
1527
1629
  opt_out_human_detection?: boolean;
1528
1630
 
1529
- /**
1530
- * If set to true, AI will not say "Hello" after connecting the call. Default to
1531
- * false.
1532
- */
1533
- opt_out_initial_message?: boolean;
1534
-
1535
1631
  /**
1536
1632
  * If set, when transfer is connected, will say the handoff message only to the
1537
1633
  * agent receiving the transfer. Can leave either a static message or a dynamic one
@@ -1845,6 +1941,11 @@ export namespace LlmResponse {
1845
1941
  */
1846
1942
  execution_message_type?: 'prompt' | 'static_text';
1847
1943
 
1944
+ /**
1945
+ * If true, keep the current language when swapping agents. Defaults to false.
1946
+ */
1947
+ keep_current_language?: boolean;
1948
+
1848
1949
  /**
1849
1950
  * If true, keep the current voice when swapping agents. Defaults to false.
1850
1951
  */
@@ -2049,6 +2150,66 @@ export namespace LlmResponse {
2049
2150
  }
2050
2151
  }
2051
2152
 
2153
+ export interface CodeTool {
2154
+ /**
2155
+ * JavaScript code to execute in the sandbox.
2156
+ */
2157
+ code: string;
2158
+
2159
+ /**
2160
+ * Name of the tool. Must be unique within all tools available to LLM at any given
2161
+ * time (general tools + state tools + state edges). Must be consisted of a-z, A-Z,
2162
+ * 0-9, or contain underscores and dashes, with a maximum length of 64 (no space
2163
+ * allowed).
2164
+ */
2165
+ name: string;
2166
+
2167
+ type: 'code';
2168
+
2169
+ /**
2170
+ * Describes what this tool does and when to call this tool.
2171
+ */
2172
+ description?: string;
2173
+
2174
+ /**
2175
+ * The description for the sentence agent say during execution. Only applicable
2176
+ * when speak_during_execution is true.
2177
+ */
2178
+ execution_message_description?: string;
2179
+
2180
+ /**
2181
+ * Type of execution message. "prompt" means the agent will use
2182
+ * execution_message_description as a prompt to generate the message. "static_text"
2183
+ * means the agent will speak the execution_message_description directly. Defaults
2184
+ * to "prompt".
2185
+ */
2186
+ execution_message_type?: 'prompt' | 'static_text';
2187
+
2188
+ /**
2189
+ * A mapping of variable names to JSON paths in the code execution result. These
2190
+ * mapped values will be extracted and added as dynamic variables.
2191
+ */
2192
+ response_variables?: { [key: string]: string };
2193
+
2194
+ /**
2195
+ * Determines whether the agent would call LLM another time and speak when the
2196
+ * result of function is obtained.
2197
+ */
2198
+ speak_after_execution?: boolean;
2199
+
2200
+ /**
2201
+ * Determines whether the agent would say sentence like "One moment, let me check
2202
+ * that." when executing the tool.
2203
+ */
2204
+ speak_during_execution?: boolean;
2205
+
2206
+ /**
2207
+ * The maximum time in milliseconds the code can run before it's considered
2208
+ * timeout. Defaults to 30,000 ms (30 s).
2209
+ */
2210
+ timeout_ms?: number;
2211
+ }
2212
+
2052
2213
  export interface ExtractDynamicVariableTool {
2053
2214
  /**
2054
2215
  * Describes what the tool does, sometimes can also include information about when
@@ -2199,6 +2360,25 @@ export namespace LlmResponse {
2199
2360
  * transfer agent call.
2200
2361
  */
2201
2362
  description?: string;
2363
+
2364
+ /**
2365
+ * Describes what to say to user when bridging the transfer. Only applicable when
2366
+ * speak_during_execution is true.
2367
+ */
2368
+ execution_message_description?: string;
2369
+
2370
+ /**
2371
+ * Type of execution message. "prompt" means the agent will use
2372
+ * execution_message_description as a prompt to generate the message. "static_text"
2373
+ * means the agent will speak the execution_message_description directly. Defaults
2374
+ * to "prompt".
2375
+ */
2376
+ execution_message_type?: 'prompt' | 'static_text';
2377
+
2378
+ /**
2379
+ * If true, will speak during execution.
2380
+ */
2381
+ speak_during_execution?: boolean;
2202
2382
  }
2203
2383
 
2204
2384
  export interface CancelTransferTool {
@@ -2219,6 +2399,25 @@ export namespace LlmResponse {
2219
2399
  * and ends the transfer agent call.
2220
2400
  */
2221
2401
  description?: string;
2402
+
2403
+ /**
2404
+ * Describes what to say to user when cancelling the transfer. Only applicable when
2405
+ * speak_during_execution is true.
2406
+ */
2407
+ execution_message_description?: string;
2408
+
2409
+ /**
2410
+ * Type of execution message. "prompt" means the agent will use
2411
+ * execution_message_description as a prompt to generate the message. "static_text"
2412
+ * means the agent will speak the execution_message_description directly. Defaults
2413
+ * to "prompt".
2414
+ */
2415
+ execution_message_type?: 'prompt' | 'static_text';
2416
+
2417
+ /**
2418
+ * If true, will speak during execution.
2419
+ */
2420
+ speak_during_execution?: boolean;
2222
2421
  }
2223
2422
 
2224
2423
  export interface McpTool {
@@ -2333,6 +2532,7 @@ export interface LlmCreateParams {
2333
2532
  | LlmCreateParams.PressDigitTool
2334
2533
  | LlmCreateParams.SendSMSTool
2335
2534
  | LlmCreateParams.CustomTool
2535
+ | LlmCreateParams.CodeTool
2336
2536
  | LlmCreateParams.ExtractDynamicVariableTool
2337
2537
  | LlmCreateParams.BridgeTransferTool
2338
2538
  | LlmCreateParams.CancelTransferTool
@@ -2362,10 +2562,13 @@ export interface LlmCreateParams {
2362
2562
  | 'gpt-4.1-mini'
2363
2563
  | 'gpt-4.1-nano'
2364
2564
  | 'gpt-5'
2365
- | 'gpt-5.1'
2366
- | 'gpt-5.2'
2367
2565
  | 'gpt-5-mini'
2368
2566
  | 'gpt-5-nano'
2567
+ | 'gpt-5.1'
2568
+ | 'gpt-5.2'
2569
+ | 'gpt-5.4'
2570
+ | 'gpt-5.4-mini'
2571
+ | 'gpt-5.4-nano'
2369
2572
  | 'claude-4.5-sonnet'
2370
2573
  | 'claude-4.6-sonnet'
2371
2574
  | 'claude-4.5-haiku'
@@ -2393,7 +2596,7 @@ export interface LlmCreateParams {
2393
2596
  * Select the underlying speech to speech model. Can only set this or model, not
2394
2597
  * both.
2395
2598
  */
2396
- s2s_model?: 'gpt-4o-realtime' | 'gpt-4o-mini-realtime' | 'gpt-realtime' | 'gpt-realtime-mini' | null;
2599
+ s2s_model?: 'gpt-realtime-1.5' | 'gpt-realtime' | 'gpt-realtime-mini' | null;
2397
2600
 
2398
2601
  /**
2399
2602
  * The speaker who starts the conversation. Required. Must be either 'user' or
@@ -2619,12 +2822,6 @@ export namespace LlmCreateParams {
2619
2822
  */
2620
2823
  opt_out_human_detection?: boolean;
2621
2824
 
2622
- /**
2623
- * If set to true, AI will not say "Hello" after connecting the call. Default to
2624
- * false.
2625
- */
2626
- opt_out_initial_message?: boolean;
2627
-
2628
2825
  /**
2629
2826
  * If set, when transfer is connected, will say the handoff message only to the
2630
2827
  * agent receiving the transfer. Can leave either a static message or a dynamic one
@@ -2938,6 +3135,11 @@ export namespace LlmCreateParams {
2938
3135
  */
2939
3136
  execution_message_type?: 'prompt' | 'static_text';
2940
3137
 
3138
+ /**
3139
+ * If true, keep the current language when swapping agents. Defaults to false.
3140
+ */
3141
+ keep_current_language?: boolean;
3142
+
2941
3143
  /**
2942
3144
  * If true, keep the current voice when swapping agents. Defaults to false.
2943
3145
  */
@@ -3142,6 +3344,66 @@ export namespace LlmCreateParams {
3142
3344
  }
3143
3345
  }
3144
3346
 
3347
+ export interface CodeTool {
3348
+ /**
3349
+ * JavaScript code to execute in the sandbox.
3350
+ */
3351
+ code: string;
3352
+
3353
+ /**
3354
+ * Name of the tool. Must be unique within all tools available to LLM at any given
3355
+ * time (general tools + state tools + state edges). Must be consisted of a-z, A-Z,
3356
+ * 0-9, or contain underscores and dashes, with a maximum length of 64 (no space
3357
+ * allowed).
3358
+ */
3359
+ name: string;
3360
+
3361
+ type: 'code';
3362
+
3363
+ /**
3364
+ * Describes what this tool does and when to call this tool.
3365
+ */
3366
+ description?: string;
3367
+
3368
+ /**
3369
+ * The description for the sentence agent say during execution. Only applicable
3370
+ * when speak_during_execution is true.
3371
+ */
3372
+ execution_message_description?: string;
3373
+
3374
+ /**
3375
+ * Type of execution message. "prompt" means the agent will use
3376
+ * execution_message_description as a prompt to generate the message. "static_text"
3377
+ * means the agent will speak the execution_message_description directly. Defaults
3378
+ * to "prompt".
3379
+ */
3380
+ execution_message_type?: 'prompt' | 'static_text';
3381
+
3382
+ /**
3383
+ * A mapping of variable names to JSON paths in the code execution result. These
3384
+ * mapped values will be extracted and added as dynamic variables.
3385
+ */
3386
+ response_variables?: { [key: string]: string };
3387
+
3388
+ /**
3389
+ * Determines whether the agent would call LLM another time and speak when the
3390
+ * result of function is obtained.
3391
+ */
3392
+ speak_after_execution?: boolean;
3393
+
3394
+ /**
3395
+ * Determines whether the agent would say sentence like "One moment, let me check
3396
+ * that." when executing the tool.
3397
+ */
3398
+ speak_during_execution?: boolean;
3399
+
3400
+ /**
3401
+ * The maximum time in milliseconds the code can run before it's considered
3402
+ * timeout. Defaults to 30,000 ms (30 s).
3403
+ */
3404
+ timeout_ms?: number;
3405
+ }
3406
+
3145
3407
  export interface ExtractDynamicVariableTool {
3146
3408
  /**
3147
3409
  * Describes what the tool does, sometimes can also include information about when
@@ -3292,16 +3554,35 @@ export namespace LlmCreateParams {
3292
3554
  * transfer agent call.
3293
3555
  */
3294
3556
  description?: string;
3295
- }
3296
3557
 
3297
- export interface CancelTransferTool {
3298
3558
  /**
3299
- * Name of the tool. Must be unique within all tools available to LLM at any given
3300
- * time (general tools + state tools + state transitions). Must be consisted of
3301
- * a-z, A-Z, 0-9, or contain underscores and dashes, with a maximum length of 64
3302
- * (no space allowed).
3559
+ * Describes what to say to user when bridging the transfer. Only applicable when
3560
+ * speak_during_execution is true.
3303
3561
  */
3304
- name: string;
3562
+ execution_message_description?: string;
3563
+
3564
+ /**
3565
+ * Type of execution message. "prompt" means the agent will use
3566
+ * execution_message_description as a prompt to generate the message. "static_text"
3567
+ * means the agent will speak the execution_message_description directly. Defaults
3568
+ * to "prompt".
3569
+ */
3570
+ execution_message_type?: 'prompt' | 'static_text';
3571
+
3572
+ /**
3573
+ * If true, will speak during execution.
3574
+ */
3575
+ speak_during_execution?: boolean;
3576
+ }
3577
+
3578
+ export interface CancelTransferTool {
3579
+ /**
3580
+ * Name of the tool. Must be unique within all tools available to LLM at any given
3581
+ * time (general tools + state tools + state transitions). Must be consisted of
3582
+ * a-z, A-Z, 0-9, or contain underscores and dashes, with a maximum length of 64
3583
+ * (no space allowed).
3584
+ */
3585
+ name: string;
3305
3586
 
3306
3587
  type: 'cancel_transfer';
3307
3588
 
@@ -3312,6 +3593,25 @@ export namespace LlmCreateParams {
3312
3593
  * and ends the transfer agent call.
3313
3594
  */
3314
3595
  description?: string;
3596
+
3597
+ /**
3598
+ * Describes what to say to user when cancelling the transfer. Only applicable when
3599
+ * speak_during_execution is true.
3600
+ */
3601
+ execution_message_description?: string;
3602
+
3603
+ /**
3604
+ * Type of execution message. "prompt" means the agent will use
3605
+ * execution_message_description as a prompt to generate the message. "static_text"
3606
+ * means the agent will speak the execution_message_description directly. Defaults
3607
+ * to "prompt".
3608
+ */
3609
+ execution_message_type?: 'prompt' | 'static_text';
3610
+
3611
+ /**
3612
+ * If true, will speak during execution.
3613
+ */
3614
+ speak_during_execution?: boolean;
3315
3615
  }
3316
3616
 
3317
3617
  export interface McpTool {
@@ -3452,6 +3752,7 @@ export namespace LlmCreateParams {
3452
3752
  | State.PressDigitTool
3453
3753
  | State.SendSMSTool
3454
3754
  | State.CustomTool
3755
+ | State.CodeTool
3455
3756
  | State.ExtractDynamicVariableTool
3456
3757
  | State.BridgeTransferTool
3457
3758
  | State.CancelTransferTool
@@ -3707,12 +4008,6 @@ export namespace LlmCreateParams {
3707
4008
  */
3708
4009
  opt_out_human_detection?: boolean;
3709
4010
 
3710
- /**
3711
- * If set to true, AI will not say "Hello" after connecting the call. Default to
3712
- * false.
3713
- */
3714
- opt_out_initial_message?: boolean;
3715
-
3716
4011
  /**
3717
4012
  * If set, when transfer is connected, will say the handoff message only to the
3718
4013
  * agent receiving the transfer. Can leave either a static message or a dynamic one
@@ -4026,6 +4321,11 @@ export namespace LlmCreateParams {
4026
4321
  */
4027
4322
  execution_message_type?: 'prompt' | 'static_text';
4028
4323
 
4324
+ /**
4325
+ * If true, keep the current language when swapping agents. Defaults to false.
4326
+ */
4327
+ keep_current_language?: boolean;
4328
+
4029
4329
  /**
4030
4330
  * If true, keep the current voice when swapping agents. Defaults to false.
4031
4331
  */
@@ -4230,6 +4530,66 @@ export namespace LlmCreateParams {
4230
4530
  }
4231
4531
  }
4232
4532
 
4533
+ export interface CodeTool {
4534
+ /**
4535
+ * JavaScript code to execute in the sandbox.
4536
+ */
4537
+ code: string;
4538
+
4539
+ /**
4540
+ * Name of the tool. Must be unique within all tools available to LLM at any given
4541
+ * time (general tools + state tools + state edges). Must be consisted of a-z, A-Z,
4542
+ * 0-9, or contain underscores and dashes, with a maximum length of 64 (no space
4543
+ * allowed).
4544
+ */
4545
+ name: string;
4546
+
4547
+ type: 'code';
4548
+
4549
+ /**
4550
+ * Describes what this tool does and when to call this tool.
4551
+ */
4552
+ description?: string;
4553
+
4554
+ /**
4555
+ * The description for the sentence agent say during execution. Only applicable
4556
+ * when speak_during_execution is true.
4557
+ */
4558
+ execution_message_description?: string;
4559
+
4560
+ /**
4561
+ * Type of execution message. "prompt" means the agent will use
4562
+ * execution_message_description as a prompt to generate the message. "static_text"
4563
+ * means the agent will speak the execution_message_description directly. Defaults
4564
+ * to "prompt".
4565
+ */
4566
+ execution_message_type?: 'prompt' | 'static_text';
4567
+
4568
+ /**
4569
+ * A mapping of variable names to JSON paths in the code execution result. These
4570
+ * mapped values will be extracted and added as dynamic variables.
4571
+ */
4572
+ response_variables?: { [key: string]: string };
4573
+
4574
+ /**
4575
+ * Determines whether the agent would call LLM another time and speak when the
4576
+ * result of function is obtained.
4577
+ */
4578
+ speak_after_execution?: boolean;
4579
+
4580
+ /**
4581
+ * Determines whether the agent would say sentence like "One moment, let me check
4582
+ * that." when executing the tool.
4583
+ */
4584
+ speak_during_execution?: boolean;
4585
+
4586
+ /**
4587
+ * The maximum time in milliseconds the code can run before it's considered
4588
+ * timeout. Defaults to 30,000 ms (30 s).
4589
+ */
4590
+ timeout_ms?: number;
4591
+ }
4592
+
4233
4593
  export interface ExtractDynamicVariableTool {
4234
4594
  /**
4235
4595
  * Describes what the tool does, sometimes can also include information about when
@@ -4380,6 +4740,25 @@ export namespace LlmCreateParams {
4380
4740
  * transfer agent call.
4381
4741
  */
4382
4742
  description?: string;
4743
+
4744
+ /**
4745
+ * Describes what to say to user when bridging the transfer. Only applicable when
4746
+ * speak_during_execution is true.
4747
+ */
4748
+ execution_message_description?: string;
4749
+
4750
+ /**
4751
+ * Type of execution message. "prompt" means the agent will use
4752
+ * execution_message_description as a prompt to generate the message. "static_text"
4753
+ * means the agent will speak the execution_message_description directly. Defaults
4754
+ * to "prompt".
4755
+ */
4756
+ execution_message_type?: 'prompt' | 'static_text';
4757
+
4758
+ /**
4759
+ * If true, will speak during execution.
4760
+ */
4761
+ speak_during_execution?: boolean;
4383
4762
  }
4384
4763
 
4385
4764
  export interface CancelTransferTool {
@@ -4400,6 +4779,25 @@ export namespace LlmCreateParams {
4400
4779
  * and ends the transfer agent call.
4401
4780
  */
4402
4781
  description?: string;
4782
+
4783
+ /**
4784
+ * Describes what to say to user when cancelling the transfer. Only applicable when
4785
+ * speak_during_execution is true.
4786
+ */
4787
+ execution_message_description?: string;
4788
+
4789
+ /**
4790
+ * Type of execution message. "prompt" means the agent will use
4791
+ * execution_message_description as a prompt to generate the message. "static_text"
4792
+ * means the agent will speak the execution_message_description directly. Defaults
4793
+ * to "prompt".
4794
+ */
4795
+ execution_message_type?: 'prompt' | 'static_text';
4796
+
4797
+ /**
4798
+ * If true, will speak during execution.
4799
+ */
4800
+ speak_during_execution?: boolean;
4403
4801
  }
4404
4802
 
4405
4803
  export interface McpTool {
@@ -4527,6 +4925,7 @@ export interface LlmUpdateParams {
4527
4925
  | LlmUpdateParams.PressDigitTool
4528
4926
  | LlmUpdateParams.SendSMSTool
4529
4927
  | LlmUpdateParams.CustomTool
4928
+ | LlmUpdateParams.CodeTool
4530
4929
  | LlmUpdateParams.ExtractDynamicVariableTool
4531
4930
  | LlmUpdateParams.BridgeTransferTool
4532
4931
  | LlmUpdateParams.CancelTransferTool
@@ -4557,10 +4956,13 @@ export interface LlmUpdateParams {
4557
4956
  | 'gpt-4.1-mini'
4558
4957
  | 'gpt-4.1-nano'
4559
4958
  | 'gpt-5'
4560
- | 'gpt-5.1'
4561
- | 'gpt-5.2'
4562
4959
  | 'gpt-5-mini'
4563
4960
  | 'gpt-5-nano'
4961
+ | 'gpt-5.1'
4962
+ | 'gpt-5.2'
4963
+ | 'gpt-5.4'
4964
+ | 'gpt-5.4-mini'
4965
+ | 'gpt-5.4-nano'
4564
4966
  | 'claude-4.5-sonnet'
4565
4967
  | 'claude-4.6-sonnet'
4566
4968
  | 'claude-4.5-haiku'
@@ -4588,7 +4990,7 @@ export interface LlmUpdateParams {
4588
4990
  * Body param: Select the underlying speech to speech model. Can only set this or
4589
4991
  * model, not both.
4590
4992
  */
4591
- s2s_model?: 'gpt-4o-realtime' | 'gpt-4o-mini-realtime' | 'gpt-realtime' | 'gpt-realtime-mini' | null;
4993
+ s2s_model?: 'gpt-realtime-1.5' | 'gpt-realtime' | 'gpt-realtime-mini' | null;
4592
4994
 
4593
4995
  /**
4594
4996
  * Body param: The speaker who starts the conversation. Required. Must be either
@@ -4814,12 +5216,6 @@ export namespace LlmUpdateParams {
4814
5216
  */
4815
5217
  opt_out_human_detection?: boolean;
4816
5218
 
4817
- /**
4818
- * If set to true, AI will not say "Hello" after connecting the call. Default to
4819
- * false.
4820
- */
4821
- opt_out_initial_message?: boolean;
4822
-
4823
5219
  /**
4824
5220
  * If set, when transfer is connected, will say the handoff message only to the
4825
5221
  * agent receiving the transfer. Can leave either a static message or a dynamic one
@@ -5133,6 +5529,11 @@ export namespace LlmUpdateParams {
5133
5529
  */
5134
5530
  execution_message_type?: 'prompt' | 'static_text';
5135
5531
 
5532
+ /**
5533
+ * If true, keep the current language when swapping agents. Defaults to false.
5534
+ */
5535
+ keep_current_language?: boolean;
5536
+
5136
5537
  /**
5137
5538
  * If true, keep the current voice when swapping agents. Defaults to false.
5138
5539
  */
@@ -5337,6 +5738,66 @@ export namespace LlmUpdateParams {
5337
5738
  }
5338
5739
  }
5339
5740
 
5741
+ export interface CodeTool {
5742
+ /**
5743
+ * JavaScript code to execute in the sandbox.
5744
+ */
5745
+ code: string;
5746
+
5747
+ /**
5748
+ * Name of the tool. Must be unique within all tools available to LLM at any given
5749
+ * time (general tools + state tools + state edges). Must be consisted of a-z, A-Z,
5750
+ * 0-9, or contain underscores and dashes, with a maximum length of 64 (no space
5751
+ * allowed).
5752
+ */
5753
+ name: string;
5754
+
5755
+ type: 'code';
5756
+
5757
+ /**
5758
+ * Describes what this tool does and when to call this tool.
5759
+ */
5760
+ description?: string;
5761
+
5762
+ /**
5763
+ * The description for the sentence agent say during execution. Only applicable
5764
+ * when speak_during_execution is true.
5765
+ */
5766
+ execution_message_description?: string;
5767
+
5768
+ /**
5769
+ * Type of execution message. "prompt" means the agent will use
5770
+ * execution_message_description as a prompt to generate the message. "static_text"
5771
+ * means the agent will speak the execution_message_description directly. Defaults
5772
+ * to "prompt".
5773
+ */
5774
+ execution_message_type?: 'prompt' | 'static_text';
5775
+
5776
+ /**
5777
+ * A mapping of variable names to JSON paths in the code execution result. These
5778
+ * mapped values will be extracted and added as dynamic variables.
5779
+ */
5780
+ response_variables?: { [key: string]: string };
5781
+
5782
+ /**
5783
+ * Determines whether the agent would call LLM another time and speak when the
5784
+ * result of function is obtained.
5785
+ */
5786
+ speak_after_execution?: boolean;
5787
+
5788
+ /**
5789
+ * Determines whether the agent would say sentence like "One moment, let me check
5790
+ * that." when executing the tool.
5791
+ */
5792
+ speak_during_execution?: boolean;
5793
+
5794
+ /**
5795
+ * The maximum time in milliseconds the code can run before it's considered
5796
+ * timeout. Defaults to 30,000 ms (30 s).
5797
+ */
5798
+ timeout_ms?: number;
5799
+ }
5800
+
5340
5801
  export interface ExtractDynamicVariableTool {
5341
5802
  /**
5342
5803
  * Describes what the tool does, sometimes can also include information about when
@@ -5487,6 +5948,25 @@ export namespace LlmUpdateParams {
5487
5948
  * transfer agent call.
5488
5949
  */
5489
5950
  description?: string;
5951
+
5952
+ /**
5953
+ * Describes what to say to user when bridging the transfer. Only applicable when
5954
+ * speak_during_execution is true.
5955
+ */
5956
+ execution_message_description?: string;
5957
+
5958
+ /**
5959
+ * Type of execution message. "prompt" means the agent will use
5960
+ * execution_message_description as a prompt to generate the message. "static_text"
5961
+ * means the agent will speak the execution_message_description directly. Defaults
5962
+ * to "prompt".
5963
+ */
5964
+ execution_message_type?: 'prompt' | 'static_text';
5965
+
5966
+ /**
5967
+ * If true, will speak during execution.
5968
+ */
5969
+ speak_during_execution?: boolean;
5490
5970
  }
5491
5971
 
5492
5972
  export interface CancelTransferTool {
@@ -5507,6 +5987,25 @@ export namespace LlmUpdateParams {
5507
5987
  * and ends the transfer agent call.
5508
5988
  */
5509
5989
  description?: string;
5990
+
5991
+ /**
5992
+ * Describes what to say to user when cancelling the transfer. Only applicable when
5993
+ * speak_during_execution is true.
5994
+ */
5995
+ execution_message_description?: string;
5996
+
5997
+ /**
5998
+ * Type of execution message. "prompt" means the agent will use
5999
+ * execution_message_description as a prompt to generate the message. "static_text"
6000
+ * means the agent will speak the execution_message_description directly. Defaults
6001
+ * to "prompt".
6002
+ */
6003
+ execution_message_type?: 'prompt' | 'static_text';
6004
+
6005
+ /**
6006
+ * If true, will speak during execution.
6007
+ */
6008
+ speak_during_execution?: boolean;
5510
6009
  }
5511
6010
 
5512
6011
  export interface McpTool {
@@ -5647,6 +6146,7 @@ export namespace LlmUpdateParams {
5647
6146
  | State.PressDigitTool
5648
6147
  | State.SendSMSTool
5649
6148
  | State.CustomTool
6149
+ | State.CodeTool
5650
6150
  | State.ExtractDynamicVariableTool
5651
6151
  | State.BridgeTransferTool
5652
6152
  | State.CancelTransferTool
@@ -5902,12 +6402,6 @@ export namespace LlmUpdateParams {
5902
6402
  */
5903
6403
  opt_out_human_detection?: boolean;
5904
6404
 
5905
- /**
5906
- * If set to true, AI will not say "Hello" after connecting the call. Default to
5907
- * false.
5908
- */
5909
- opt_out_initial_message?: boolean;
5910
-
5911
6405
  /**
5912
6406
  * If set, when transfer is connected, will say the handoff message only to the
5913
6407
  * agent receiving the transfer. Can leave either a static message or a dynamic one
@@ -6221,6 +6715,11 @@ export namespace LlmUpdateParams {
6221
6715
  */
6222
6716
  execution_message_type?: 'prompt' | 'static_text';
6223
6717
 
6718
+ /**
6719
+ * If true, keep the current language when swapping agents. Defaults to false.
6720
+ */
6721
+ keep_current_language?: boolean;
6722
+
6224
6723
  /**
6225
6724
  * If true, keep the current voice when swapping agents. Defaults to false.
6226
6725
  */
@@ -6425,6 +6924,66 @@ export namespace LlmUpdateParams {
6425
6924
  }
6426
6925
  }
6427
6926
 
6927
+ export interface CodeTool {
6928
+ /**
6929
+ * JavaScript code to execute in the sandbox.
6930
+ */
6931
+ code: string;
6932
+
6933
+ /**
6934
+ * Name of the tool. Must be unique within all tools available to LLM at any given
6935
+ * time (general tools + state tools + state edges). Must be consisted of a-z, A-Z,
6936
+ * 0-9, or contain underscores and dashes, with a maximum length of 64 (no space
6937
+ * allowed).
6938
+ */
6939
+ name: string;
6940
+
6941
+ type: 'code';
6942
+
6943
+ /**
6944
+ * Describes what this tool does and when to call this tool.
6945
+ */
6946
+ description?: string;
6947
+
6948
+ /**
6949
+ * The description for the sentence agent say during execution. Only applicable
6950
+ * when speak_during_execution is true.
6951
+ */
6952
+ execution_message_description?: string;
6953
+
6954
+ /**
6955
+ * Type of execution message. "prompt" means the agent will use
6956
+ * execution_message_description as a prompt to generate the message. "static_text"
6957
+ * means the agent will speak the execution_message_description directly. Defaults
6958
+ * to "prompt".
6959
+ */
6960
+ execution_message_type?: 'prompt' | 'static_text';
6961
+
6962
+ /**
6963
+ * A mapping of variable names to JSON paths in the code execution result. These
6964
+ * mapped values will be extracted and added as dynamic variables.
6965
+ */
6966
+ response_variables?: { [key: string]: string };
6967
+
6968
+ /**
6969
+ * Determines whether the agent would call LLM another time and speak when the
6970
+ * result of function is obtained.
6971
+ */
6972
+ speak_after_execution?: boolean;
6973
+
6974
+ /**
6975
+ * Determines whether the agent would say sentence like "One moment, let me check
6976
+ * that." when executing the tool.
6977
+ */
6978
+ speak_during_execution?: boolean;
6979
+
6980
+ /**
6981
+ * The maximum time in milliseconds the code can run before it's considered
6982
+ * timeout. Defaults to 30,000 ms (30 s).
6983
+ */
6984
+ timeout_ms?: number;
6985
+ }
6986
+
6428
6987
  export interface ExtractDynamicVariableTool {
6429
6988
  /**
6430
6989
  * Describes what the tool does, sometimes can also include information about when
@@ -6575,6 +7134,25 @@ export namespace LlmUpdateParams {
6575
7134
  * transfer agent call.
6576
7135
  */
6577
7136
  description?: string;
7137
+
7138
+ /**
7139
+ * Describes what to say to user when bridging the transfer. Only applicable when
7140
+ * speak_during_execution is true.
7141
+ */
7142
+ execution_message_description?: string;
7143
+
7144
+ /**
7145
+ * Type of execution message. "prompt" means the agent will use
7146
+ * execution_message_description as a prompt to generate the message. "static_text"
7147
+ * means the agent will speak the execution_message_description directly. Defaults
7148
+ * to "prompt".
7149
+ */
7150
+ execution_message_type?: 'prompt' | 'static_text';
7151
+
7152
+ /**
7153
+ * If true, will speak during execution.
7154
+ */
7155
+ speak_during_execution?: boolean;
6578
7156
  }
6579
7157
 
6580
7158
  export interface CancelTransferTool {
@@ -6595,6 +7173,25 @@ export namespace LlmUpdateParams {
6595
7173
  * and ends the transfer agent call.
6596
7174
  */
6597
7175
  description?: string;
7176
+
7177
+ /**
7178
+ * Describes what to say to user when cancelling the transfer. Only applicable when
7179
+ * speak_during_execution is true.
7180
+ */
7181
+ execution_message_description?: string;
7182
+
7183
+ /**
7184
+ * Type of execution message. "prompt" means the agent will use
7185
+ * execution_message_description as a prompt to generate the message. "static_text"
7186
+ * means the agent will speak the execution_message_description directly. Defaults
7187
+ * to "prompt".
7188
+ */
7189
+ execution_message_type?: 'prompt' | 'static_text';
7190
+
7191
+ /**
7192
+ * If true, will speak during execution.
7193
+ */
7194
+ speak_during_execution?: boolean;
6598
7195
  }
6599
7196
 
6600
7197
  export interface McpTool {