retell-sdk 4.65.0 → 5.0.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 (550) hide show
  1. package/CHANGELOG.md +4 -1326
  2. package/LICENSE +1 -1
  3. package/README.md +120 -44
  4. package/api-promise.d.mts +2 -0
  5. package/api-promise.d.mts.map +1 -0
  6. package/api-promise.d.ts +2 -0
  7. package/api-promise.d.ts.map +1 -0
  8. package/api-promise.js +6 -0
  9. package/api-promise.js.map +1 -0
  10. package/api-promise.mjs +2 -0
  11. package/api-promise.mjs.map +1 -0
  12. package/client.d.mts +217 -0
  13. package/client.d.mts.map +1 -0
  14. package/client.d.ts +217 -0
  15. package/client.d.ts.map +1 -0
  16. package/client.js +513 -0
  17. package/client.js.map +1 -0
  18. package/client.mjs +509 -0
  19. package/client.mjs.map +1 -0
  20. package/core/api-promise.d.mts +46 -0
  21. package/core/api-promise.d.mts.map +1 -0
  22. package/core/api-promise.d.ts +46 -0
  23. package/core/api-promise.d.ts.map +1 -0
  24. package/core/api-promise.js +74 -0
  25. package/core/api-promise.js.map +1 -0
  26. package/core/api-promise.mjs +70 -0
  27. package/core/api-promise.mjs.map +1 -0
  28. package/core/error.d.mts +46 -0
  29. package/core/error.d.mts.map +1 -0
  30. package/core/error.d.ts +46 -0
  31. package/core/error.d.ts.map +1 -0
  32. package/core/error.js +113 -0
  33. package/core/error.js.map +1 -0
  34. package/core/error.mjs +97 -0
  35. package/core/error.mjs.map +1 -0
  36. package/core/resource.d.mts +6 -0
  37. package/core/resource.d.mts.map +1 -0
  38. package/core/resource.d.ts +6 -0
  39. package/core/resource.d.ts.map +1 -0
  40. package/core/resource.js +11 -0
  41. package/core/resource.js.map +1 -0
  42. package/core/resource.mjs +7 -0
  43. package/core/resource.mjs.map +1 -0
  44. package/core/uploads.d.mts +3 -0
  45. package/core/uploads.d.mts.map +1 -0
  46. package/core/uploads.d.ts +3 -0
  47. package/core/uploads.d.ts.map +1 -0
  48. package/core/uploads.js +6 -0
  49. package/core/uploads.js.map +1 -0
  50. package/core/uploads.mjs +2 -0
  51. package/core/uploads.mjs.map +1 -0
  52. package/error.d.mts +2 -0
  53. package/error.d.mts.map +1 -0
  54. package/error.d.ts +1 -46
  55. package/error.d.ts.map +1 -1
  56. package/error.js +3 -110
  57. package/error.js.map +1 -1
  58. package/error.mjs +1 -96
  59. package/error.mjs.map +1 -1
  60. package/index.d.mts +6 -151
  61. package/index.d.mts.map +1 -0
  62. package/index.d.ts +5 -150
  63. package/index.d.ts.map +1 -1
  64. package/index.js +12 -150
  65. package/index.js.map +1 -1
  66. package/index.mjs +5 -123
  67. package/index.mjs.map +1 -1
  68. package/internal/builtin-types.d.mts +73 -0
  69. package/internal/builtin-types.d.mts.map +1 -0
  70. package/internal/builtin-types.d.ts +73 -0
  71. package/internal/builtin-types.d.ts.map +1 -0
  72. package/internal/builtin-types.js +4 -0
  73. package/internal/builtin-types.js.map +1 -0
  74. package/internal/builtin-types.mjs +3 -0
  75. package/internal/builtin-types.mjs.map +1 -0
  76. package/internal/detect-platform.d.mts +15 -0
  77. package/internal/detect-platform.d.mts.map +1 -0
  78. package/internal/detect-platform.d.ts +15 -0
  79. package/internal/detect-platform.d.ts.map +1 -0
  80. package/internal/detect-platform.js +162 -0
  81. package/internal/detect-platform.js.map +1 -0
  82. package/internal/detect-platform.mjs +157 -0
  83. package/internal/detect-platform.mjs.map +1 -0
  84. package/internal/errors.d.mts +3 -0
  85. package/internal/errors.d.mts.map +1 -0
  86. package/internal/errors.d.ts +3 -0
  87. package/internal/errors.d.ts.map +1 -0
  88. package/internal/errors.js +41 -0
  89. package/internal/errors.js.map +1 -0
  90. package/internal/errors.mjs +36 -0
  91. package/internal/errors.mjs.map +1 -0
  92. package/internal/headers.d.mts +20 -0
  93. package/internal/headers.d.mts.map +1 -0
  94. package/internal/headers.d.ts +20 -0
  95. package/internal/headers.d.ts.map +1 -0
  96. package/internal/headers.js +79 -0
  97. package/internal/headers.js.map +1 -0
  98. package/internal/headers.mjs +74 -0
  99. package/internal/headers.mjs.map +1 -0
  100. package/internal/parse.d.mts +12 -0
  101. package/internal/parse.d.mts.map +1 -0
  102. package/internal/parse.d.ts +12 -0
  103. package/internal/parse.d.ts.map +1 -0
  104. package/internal/parse.js +40 -0
  105. package/internal/parse.js.map +1 -0
  106. package/internal/parse.mjs +37 -0
  107. package/internal/parse.mjs.map +1 -0
  108. package/internal/request-options.d.mts +75 -0
  109. package/internal/request-options.d.mts.map +1 -0
  110. package/internal/request-options.d.ts +75 -0
  111. package/internal/request-options.d.ts.map +1 -0
  112. package/internal/request-options.js +14 -0
  113. package/internal/request-options.js.map +1 -0
  114. package/internal/request-options.mjs +10 -0
  115. package/internal/request-options.mjs.map +1 -0
  116. package/internal/shim-types.d.mts +17 -0
  117. package/internal/shim-types.d.mts.map +1 -0
  118. package/internal/shim-types.d.ts +17 -0
  119. package/internal/shim-types.d.ts.map +1 -0
  120. package/internal/shim-types.js +4 -0
  121. package/internal/shim-types.js.map +1 -0
  122. package/internal/shim-types.mjs +3 -0
  123. package/internal/shim-types.mjs.map +1 -0
  124. package/internal/shims.d.mts +20 -0
  125. package/internal/shims.d.mts.map +1 -0
  126. package/internal/shims.d.ts +20 -0
  127. package/internal/shims.d.ts.map +1 -0
  128. package/internal/shims.js +92 -0
  129. package/internal/shims.js.map +1 -0
  130. package/internal/shims.mjs +85 -0
  131. package/internal/shims.mjs.map +1 -0
  132. package/internal/to-file.d.mts +45 -0
  133. package/internal/to-file.d.mts.map +1 -0
  134. package/internal/to-file.d.ts +45 -0
  135. package/internal/to-file.d.ts.map +1 -0
  136. package/internal/to-file.js +91 -0
  137. package/internal/to-file.js.map +1 -0
  138. package/internal/to-file.mjs +88 -0
  139. package/internal/to-file.mjs.map +1 -0
  140. package/internal/tslib.js +81 -0
  141. package/internal/tslib.mjs +17 -0
  142. package/internal/types.d.mts +69 -0
  143. package/internal/types.d.mts.map +1 -0
  144. package/internal/types.d.ts +69 -0
  145. package/internal/types.d.ts.map +1 -0
  146. package/internal/types.js +4 -0
  147. package/internal/types.js.map +1 -0
  148. package/internal/types.mjs +3 -0
  149. package/internal/types.mjs.map +1 -0
  150. package/internal/uploads.d.mts +42 -0
  151. package/internal/uploads.d.mts.map +1 -0
  152. package/internal/uploads.d.ts +42 -0
  153. package/internal/uploads.d.ts.map +1 -0
  154. package/internal/uploads.js +141 -0
  155. package/internal/uploads.js.map +1 -0
  156. package/internal/uploads.mjs +131 -0
  157. package/internal/uploads.mjs.map +1 -0
  158. package/internal/utils/base64.d.mts +3 -0
  159. package/internal/utils/base64.d.mts.map +1 -0
  160. package/internal/utils/base64.d.ts +3 -0
  161. package/internal/utils/base64.d.ts.map +1 -0
  162. package/internal/utils/base64.js +38 -0
  163. package/internal/utils/base64.js.map +1 -0
  164. package/internal/utils/base64.mjs +33 -0
  165. package/internal/utils/base64.mjs.map +1 -0
  166. package/internal/utils/bytes.d.mts +4 -0
  167. package/internal/utils/bytes.d.mts.map +1 -0
  168. package/internal/utils/bytes.d.ts +4 -0
  169. package/internal/utils/bytes.d.ts.map +1 -0
  170. package/internal/utils/bytes.js +31 -0
  171. package/internal/utils/bytes.js.map +1 -0
  172. package/internal/utils/bytes.mjs +26 -0
  173. package/internal/utils/bytes.mjs.map +1 -0
  174. package/internal/utils/env.d.mts +9 -0
  175. package/internal/utils/env.d.mts.map +1 -0
  176. package/internal/utils/env.d.ts +9 -0
  177. package/internal/utils/env.d.ts.map +1 -0
  178. package/internal/utils/env.js +22 -0
  179. package/internal/utils/env.js.map +1 -0
  180. package/internal/utils/env.mjs +18 -0
  181. package/internal/utils/env.mjs.map +1 -0
  182. package/internal/utils/log.d.mts +37 -0
  183. package/internal/utils/log.d.mts.map +1 -0
  184. package/internal/utils/log.d.ts +37 -0
  185. package/internal/utils/log.d.ts.map +1 -0
  186. package/internal/utils/log.js +85 -0
  187. package/internal/utils/log.js.map +1 -0
  188. package/internal/utils/log.mjs +79 -0
  189. package/internal/utils/log.mjs.map +1 -0
  190. package/internal/utils/path.d.mts +15 -0
  191. package/internal/utils/path.d.mts.map +1 -0
  192. package/internal/utils/path.d.ts +15 -0
  193. package/internal/utils/path.d.ts.map +1 -0
  194. package/internal/utils/path.js +79 -0
  195. package/internal/utils/path.js.map +1 -0
  196. package/internal/utils/path.mjs +74 -0
  197. package/internal/utils/path.mjs.map +1 -0
  198. package/internal/utils/sleep.d.mts +2 -0
  199. package/internal/utils/sleep.d.mts.map +1 -0
  200. package/internal/utils/sleep.d.ts +2 -0
  201. package/internal/utils/sleep.d.ts.map +1 -0
  202. package/internal/utils/sleep.js +7 -0
  203. package/internal/utils/sleep.js.map +1 -0
  204. package/internal/utils/sleep.mjs +3 -0
  205. package/internal/utils/sleep.mjs.map +1 -0
  206. package/internal/utils/uuid.d.mts +5 -0
  207. package/internal/utils/uuid.d.mts.map +1 -0
  208. package/internal/utils/uuid.d.ts +5 -0
  209. package/internal/utils/uuid.d.ts.map +1 -0
  210. package/internal/utils/uuid.js +19 -0
  211. package/internal/utils/uuid.js.map +1 -0
  212. package/internal/utils/uuid.mjs +15 -0
  213. package/internal/utils/uuid.mjs.map +1 -0
  214. package/internal/utils/values.d.mts +18 -0
  215. package/internal/utils/values.d.mts.map +1 -0
  216. package/internal/utils/values.d.ts +18 -0
  217. package/internal/utils/values.d.ts.map +1 -0
  218. package/internal/utils/values.js +112 -0
  219. package/internal/utils/values.js.map +1 -0
  220. package/internal/utils/values.mjs +94 -0
  221. package/internal/utils/values.mjs.map +1 -0
  222. package/internal/utils.d.mts +7 -0
  223. package/internal/utils.d.mts.map +1 -0
  224. package/internal/utils.d.ts +7 -0
  225. package/internal/utils.d.ts.map +1 -0
  226. package/internal/utils.js +11 -0
  227. package/internal/utils.js.map +1 -0
  228. package/internal/utils.mjs +8 -0
  229. package/internal/utils.mjs.map +1 -0
  230. package/package.json +101 -65
  231. package/resource.d.mts +2 -0
  232. package/resource.d.mts.map +1 -0
  233. package/resource.d.ts +1 -5
  234. package/resource.d.ts.map +1 -1
  235. package/resource.js +3 -8
  236. package/resource.js.map +1 -1
  237. package/resource.mjs +1 -6
  238. package/resource.mjs.map +1 -1
  239. package/resources/agent.d.mts +1803 -0
  240. package/resources/agent.d.mts.map +1 -0
  241. package/resources/agent.d.ts +377 -81
  242. package/resources/agent.d.ts.map +1 -1
  243. package/resources/agent.js +33 -20
  244. package/resources/agent.js.map +1 -1
  245. package/resources/agent.mjs +33 -20
  246. package/resources/agent.mjs.map +1 -1
  247. package/resources/batch-call.d.mts +926 -0
  248. package/resources/batch-call.d.mts.map +1 -0
  249. package/resources/batch-call.d.ts +220 -28
  250. package/resources/batch-call.d.ts.map +1 -1
  251. package/resources/batch-call.js +6 -2
  252. package/resources/batch-call.js.map +1 -1
  253. package/resources/batch-call.mjs +6 -2
  254. package/resources/batch-call.mjs.map +1 -1
  255. package/resources/call.d.mts +4280 -0
  256. package/resources/call.d.mts.map +1 -0
  257. package/resources/call.d.ts +556 -110
  258. package/resources/call.d.ts.map +1 -1
  259. package/resources/call.js +20 -10
  260. package/resources/call.js.map +1 -1
  261. package/resources/call.mjs +20 -10
  262. package/resources/call.mjs.map +1 -1
  263. package/resources/chat-agent.d.mts +836 -0
  264. package/resources/chat-agent.d.mts.map +1 -0
  265. package/resources/chat-agent.d.ts +118 -23
  266. package/resources/chat-agent.d.ts.map +1 -1
  267. package/resources/chat-agent.js +33 -20
  268. package/resources/chat-agent.js.map +1 -1
  269. package/resources/chat-agent.mjs +33 -20
  270. package/resources/chat-agent.mjs.map +1 -1
  271. package/resources/chat.d.mts +607 -0
  272. package/resources/chat.d.mts.map +1 -0
  273. package/resources/chat.d.ts +82 -30
  274. package/resources/chat.d.ts.map +1 -1
  275. package/resources/chat.js +21 -11
  276. package/resources/chat.js.map +1 -1
  277. package/resources/chat.mjs +21 -11
  278. package/resources/chat.mjs.map +1 -1
  279. package/resources/concurrency.d.mts +51 -0
  280. package/resources/concurrency.d.mts.map +1 -0
  281. package/resources/concurrency.d.ts +14 -3
  282. package/resources/concurrency.d.ts.map +1 -1
  283. package/resources/concurrency.js +1 -1
  284. package/resources/concurrency.js.map +1 -1
  285. package/resources/concurrency.mjs +1 -1
  286. package/resources/concurrency.mjs.map +1 -1
  287. package/resources/conversation-flow-component.d.mts +11838 -0
  288. package/resources/conversation-flow-component.d.mts.map +1 -0
  289. package/resources/conversation-flow-component.d.ts +6600 -2597
  290. package/resources/conversation-flow-component.d.ts.map +1 -1
  291. package/resources/conversation-flow-component.js +10 -8
  292. package/resources/conversation-flow-component.js.map +1 -1
  293. package/resources/conversation-flow-component.mjs +10 -8
  294. package/resources/conversation-flow-component.mjs.map +1 -1
  295. package/resources/conversation-flow.d.mts +23851 -0
  296. package/resources/conversation-flow.d.mts.map +1 -0
  297. package/resources/conversation-flow.d.ts +15877 -7958
  298. package/resources/conversation-flow.d.ts.map +1 -1
  299. package/resources/conversation-flow.js +30 -15
  300. package/resources/conversation-flow.js.map +1 -1
  301. package/resources/conversation-flow.mjs +30 -15
  302. package/resources/conversation-flow.mjs.map +1 -1
  303. package/resources/index.d.mts +15 -0
  304. package/resources/index.d.mts.map +1 -0
  305. package/resources/index.d.ts +4 -4
  306. package/resources/index.d.ts.map +1 -1
  307. package/resources/index.js.map +1 -1
  308. package/resources/index.mjs +2 -2
  309. package/resources/index.mjs.map +1 -1
  310. package/resources/knowledge-base.d.mts +228 -0
  311. package/resources/knowledge-base.d.mts.map +1 -0
  312. package/resources/knowledge-base.d.ts +23 -14
  313. package/resources/knowledge-base.d.ts.map +1 -1
  314. package/resources/knowledge-base.js +16 -36
  315. package/resources/knowledge-base.js.map +1 -1
  316. package/resources/knowledge-base.mjs +16 -13
  317. package/resources/knowledge-base.mjs.map +1 -1
  318. package/resources/llm.d.mts +5306 -0
  319. package/resources/llm.d.mts.map +1 -0
  320. package/resources/llm.d.ts +1189 -477
  321. package/resources/llm.d.ts.map +1 -1
  322. package/resources/llm.js +28 -15
  323. package/resources/llm.js.map +1 -1
  324. package/resources/llm.mjs +28 -15
  325. package/resources/llm.mjs.map +1 -1
  326. package/resources/mcp-tool.d.mts +45 -0
  327. package/resources/mcp-tool.d.mts.map +1 -0
  328. package/resources/mcp-tool.d.ts +8 -3
  329. package/resources/mcp-tool.d.ts.map +1 -1
  330. package/resources/mcp-tool.js +4 -3
  331. package/resources/mcp-tool.js.map +1 -1
  332. package/resources/mcp-tool.mjs +4 -3
  333. package/resources/mcp-tool.mjs.map +1 -1
  334. package/resources/phone-number.d.mts +595 -0
  335. package/resources/phone-number.d.mts.map +1 -0
  336. package/resources/phone-number.d.ts +332 -13
  337. package/resources/phone-number.d.ts.map +1 -1
  338. package/resources/phone-number.js +7 -5
  339. package/resources/phone-number.js.map +1 -1
  340. package/resources/phone-number.mjs +7 -5
  341. package/resources/phone-number.mjs.map +1 -1
  342. package/resources/tests.d.mts +561 -0
  343. package/resources/tests.d.mts.map +1 -0
  344. package/resources/tests.d.ts +437 -7
  345. package/resources/tests.d.ts.map +1 -1
  346. package/resources/tests.js +60 -1
  347. package/resources/tests.js.map +1 -1
  348. package/resources/tests.mjs +60 -1
  349. package/resources/tests.mjs.map +1 -1
  350. package/resources/voice.d.mts +130 -0
  351. package/resources/voice.d.mts.map +1 -0
  352. package/resources/voice.d.ts +89 -6
  353. package/resources/voice.d.ts.map +1 -1
  354. package/resources/voice.js +23 -3
  355. package/resources/voice.js.map +1 -1
  356. package/resources/voice.mjs +23 -3
  357. package/resources/voice.mjs.map +1 -1
  358. package/resources.d.mts +2 -0
  359. package/resources.d.mts.map +1 -0
  360. package/resources.d.ts.map +1 -1
  361. package/resources.js +2 -15
  362. package/resources.js.map +1 -1
  363. package/src/api-promise.ts +2 -0
  364. package/src/client.ts +1005 -0
  365. package/src/core/README.md +3 -0
  366. package/src/core/api-promise.ts +92 -0
  367. package/src/core/error.ts +130 -0
  368. package/src/core/resource.ts +11 -0
  369. package/src/core/uploads.ts +2 -0
  370. package/src/error.ts +2 -130
  371. package/src/index.ts +5 -405
  372. package/src/internal/README.md +3 -0
  373. package/src/internal/builtin-types.ts +93 -0
  374. package/src/internal/detect-platform.ts +196 -0
  375. package/src/internal/errors.ts +33 -0
  376. package/src/internal/headers.ts +97 -0
  377. package/src/internal/parse.ts +56 -0
  378. package/src/internal/request-options.ts +91 -0
  379. package/src/internal/shim-types.ts +26 -0
  380. package/src/internal/shims.ts +107 -0
  381. package/src/internal/to-file.ts +154 -0
  382. package/src/internal/types.ts +95 -0
  383. package/src/internal/uploads.ts +187 -0
  384. package/src/internal/utils/base64.ts +40 -0
  385. package/src/internal/utils/bytes.ts +32 -0
  386. package/src/internal/utils/env.ts +18 -0
  387. package/src/internal/utils/log.ts +126 -0
  388. package/src/internal/utils/path.ts +88 -0
  389. package/src/internal/utils/sleep.ts +3 -0
  390. package/src/internal/utils/uuid.ts +17 -0
  391. package/src/internal/utils/values.ts +105 -0
  392. package/src/internal/utils.ts +8 -0
  393. package/src/resource.ts +2 -11
  394. package/src/resources/agent.ts +610 -101
  395. package/src/resources/batch-call.ts +318 -26
  396. package/src/resources/call.ts +835 -111
  397. package/src/resources/chat-agent.ts +191 -41
  398. package/src/resources/chat.ts +108 -40
  399. package/src/resources/concurrency.ts +16 -3
  400. package/src/resources/conversation-flow-component.ts +9469 -4285
  401. package/src/resources/conversation-flow.ts +21572 -11318
  402. package/src/resources/index.ts +25 -2
  403. package/src/resources/knowledge-base.ts +40 -28
  404. package/src/resources/llm.ts +1422 -599
  405. package/src/resources/mcp-tool.ts +13 -6
  406. package/src/resources/phone-number.ts +410 -18
  407. package/src/resources/tests.ts +608 -9
  408. package/src/resources/voice.ts +122 -7
  409. package/src/tsconfig.json +2 -2
  410. package/src/uploads.ts +2 -259
  411. package/src/version.ts +1 -1
  412. package/uploads.d.mts +2 -0
  413. package/uploads.d.mts.map +1 -0
  414. package/uploads.d.ts +1 -74
  415. package/uploads.d.ts.map +1 -1
  416. package/uploads.js +3 -175
  417. package/uploads.js.map +1 -1
  418. package/uploads.mjs +1 -164
  419. package/uploads.mjs.map +1 -1
  420. package/version.d.mts +2 -0
  421. package/version.d.mts.map +1 -0
  422. package/version.d.ts +1 -1
  423. package/version.d.ts.map +1 -1
  424. package/version.js +1 -1
  425. package/version.js.map +1 -1
  426. package/version.mjs +1 -1
  427. package/version.mjs.map +1 -1
  428. package/_shims/MultipartBody.d.ts +0 -9
  429. package/_shims/MultipartBody.d.ts.map +0 -1
  430. package/_shims/MultipartBody.js +0 -16
  431. package/_shims/MultipartBody.js.map +0 -1
  432. package/_shims/MultipartBody.mjs +0 -12
  433. package/_shims/MultipartBody.mjs.map +0 -1
  434. package/_shims/README.md +0 -46
  435. package/_shims/auto/runtime-bun.d.ts +0 -5
  436. package/_shims/auto/runtime-bun.d.ts.map +0 -1
  437. package/_shims/auto/runtime-bun.js +0 -21
  438. package/_shims/auto/runtime-bun.js.map +0 -1
  439. package/_shims/auto/runtime-bun.mjs +0 -2
  440. package/_shims/auto/runtime-bun.mjs.map +0 -1
  441. package/_shims/auto/runtime-node.d.ts +0 -5
  442. package/_shims/auto/runtime-node.d.ts.map +0 -1
  443. package/_shims/auto/runtime-node.js +0 -21
  444. package/_shims/auto/runtime-node.js.map +0 -1
  445. package/_shims/auto/runtime-node.mjs +0 -2
  446. package/_shims/auto/runtime-node.mjs.map +0 -1
  447. package/_shims/auto/runtime.d.ts +0 -5
  448. package/_shims/auto/runtime.d.ts.map +0 -1
  449. package/_shims/auto/runtime.js +0 -21
  450. package/_shims/auto/runtime.js.map +0 -1
  451. package/_shims/auto/runtime.mjs +0 -2
  452. package/_shims/auto/runtime.mjs.map +0 -1
  453. package/_shims/auto/types-node.d.ts +0 -5
  454. package/_shims/auto/types-node.d.ts.map +0 -1
  455. package/_shims/auto/types-node.js +0 -21
  456. package/_shims/auto/types-node.js.map +0 -1
  457. package/_shims/auto/types-node.mjs +0 -2
  458. package/_shims/auto/types-node.mjs.map +0 -1
  459. package/_shims/auto/types.d.ts +0 -101
  460. package/_shims/auto/types.js +0 -3
  461. package/_shims/auto/types.mjs +0 -3
  462. package/_shims/bun-runtime.d.ts +0 -6
  463. package/_shims/bun-runtime.d.ts.map +0 -1
  464. package/_shims/bun-runtime.js +0 -14
  465. package/_shims/bun-runtime.js.map +0 -1
  466. package/_shims/bun-runtime.mjs +0 -10
  467. package/_shims/bun-runtime.mjs.map +0 -1
  468. package/_shims/index.d.ts +0 -83
  469. package/_shims/index.js +0 -17
  470. package/_shims/index.mjs +0 -11
  471. package/_shims/manual-types.d.ts +0 -12
  472. package/_shims/manual-types.js +0 -3
  473. package/_shims/manual-types.mjs +0 -3
  474. package/_shims/node-runtime.d.ts +0 -3
  475. package/_shims/node-runtime.d.ts.map +0 -1
  476. package/_shims/node-runtime.js +0 -89
  477. package/_shims/node-runtime.js.map +0 -1
  478. package/_shims/node-runtime.mjs +0 -56
  479. package/_shims/node-runtime.mjs.map +0 -1
  480. package/_shims/node-types.d.ts +0 -42
  481. package/_shims/node-types.js +0 -3
  482. package/_shims/node-types.mjs +0 -3
  483. package/_shims/registry.d.ts +0 -37
  484. package/_shims/registry.d.ts.map +0 -1
  485. package/_shims/registry.js +0 -41
  486. package/_shims/registry.js.map +0 -1
  487. package/_shims/registry.mjs +0 -37
  488. package/_shims/registry.mjs.map +0 -1
  489. package/_shims/web-runtime.d.ts +0 -5
  490. package/_shims/web-runtime.d.ts.map +0 -1
  491. package/_shims/web-runtime.js +0 -78
  492. package/_shims/web-runtime.js.map +0 -1
  493. package/_shims/web-runtime.mjs +0 -71
  494. package/_shims/web-runtime.mjs.map +0 -1
  495. package/_shims/web-types.d.ts +0 -83
  496. package/_shims/web-types.js +0 -3
  497. package/_shims/web-types.mjs +0 -3
  498. package/core.d.ts +0 -255
  499. package/core.d.ts.map +0 -1
  500. package/core.js +0 -924
  501. package/core.js.map +0 -1
  502. package/core.mjs +0 -892
  503. package/core.mjs.map +0 -1
  504. package/lib/webhook_auth.d.ts +0 -27
  505. package/lib/webhook_auth.d.ts.map +0 -1
  506. package/lib/webhook_auth.js +0 -50
  507. package/lib/webhook_auth.js.map +0 -1
  508. package/lib/webhook_auth.mjs +0 -45
  509. package/lib/webhook_auth.mjs.map +0 -1
  510. package/shims/node.d.ts +0 -30
  511. package/shims/node.d.ts.map +0 -1
  512. package/shims/node.js +0 -31
  513. package/shims/node.js.map +0 -1
  514. package/shims/node.mjs +0 -5
  515. package/shims/node.mjs.map +0 -1
  516. package/shims/web.d.ts +0 -26
  517. package/shims/web.d.ts.map +0 -1
  518. package/shims/web.js +0 -31
  519. package/shims/web.js.map +0 -1
  520. package/shims/web.mjs +0 -5
  521. package/shims/web.mjs.map +0 -1
  522. package/src/_shims/MultipartBody.ts +0 -9
  523. package/src/_shims/README.md +0 -46
  524. package/src/_shims/auto/runtime-bun.ts +0 -4
  525. package/src/_shims/auto/runtime-node.ts +0 -4
  526. package/src/_shims/auto/runtime.ts +0 -4
  527. package/src/_shims/auto/types-node.ts +0 -4
  528. package/src/_shims/auto/types.d.ts +0 -101
  529. package/src/_shims/auto/types.js +0 -3
  530. package/src/_shims/auto/types.mjs +0 -3
  531. package/src/_shims/bun-runtime.ts +0 -14
  532. package/src/_shims/index.d.ts +0 -83
  533. package/src/_shims/index.js +0 -17
  534. package/src/_shims/index.mjs +0 -11
  535. package/src/_shims/manual-types.d.ts +0 -12
  536. package/src/_shims/manual-types.js +0 -3
  537. package/src/_shims/manual-types.mjs +0 -3
  538. package/src/_shims/node-runtime.ts +0 -81
  539. package/src/_shims/node-types.d.ts +0 -42
  540. package/src/_shims/node-types.js +0 -3
  541. package/src/_shims/node-types.mjs +0 -3
  542. package/src/_shims/registry.ts +0 -67
  543. package/src/_shims/web-runtime.ts +0 -103
  544. package/src/_shims/web-types.d.ts +0 -83
  545. package/src/_shims/web-types.js +0 -3
  546. package/src/_shims/web-types.mjs +0 -3
  547. package/src/core.ts +0 -1236
  548. package/src/lib/webhook_auth.ts +0 -69
  549. package/src/shims/node.ts +0 -50
  550. package/src/shims/web.ts +0 -50
@@ -1,5 +1,6 @@
1
- import { APIResource } from "../resource.js";
2
- import * as Core from "../core.js";
1
+ import { APIResource } from "../core/resource.js";
2
+ import { APIPromise } from "../core/api-promise.js";
3
+ import { RequestOptions } from "../internal/request-options.js";
3
4
  export declare class Llm extends APIResource {
4
5
  /**
5
6
  * Create a new Retell LLM Response Engine that can be attached to an agent. This
@@ -10,7 +11,7 @@ export declare class Llm extends APIResource {
10
11
  * const llmResponse = await client.llm.create();
11
12
  * ```
12
13
  */
13
- create(body: LlmCreateParams, options?: Core.RequestOptions): Core.APIPromise<LlmResponse>;
14
+ create(body: LlmCreateParams, options?: RequestOptions): APIPromise<LlmResponse>;
14
15
  /**
15
16
  * Retrieve details of a specific Retell LLM Response Engine
16
17
  *
@@ -21,8 +22,7 @@ export declare class Llm extends APIResource {
21
22
  * );
22
23
  * ```
23
24
  */
24
- retrieve(llmId: string, query?: LlmRetrieveParams, options?: Core.RequestOptions): Core.APIPromise<LlmResponse>;
25
- retrieve(llmId: string, options?: Core.RequestOptions): Core.APIPromise<LlmResponse>;
25
+ retrieve(llmID: string, query?: LlmRetrieveParams | null | undefined, options?: RequestOptions): APIPromise<LlmResponse>;
26
26
  /**
27
27
  * Update an existing Retell LLM Response Engine
28
28
  *
@@ -37,7 +37,7 @@ export declare class Llm extends APIResource {
37
37
  * );
38
38
  * ```
39
39
  */
40
- update(llmId: string, params: LlmUpdateParams, options?: Core.RequestOptions): Core.APIPromise<LlmResponse>;
40
+ update(llmID: string, params: LlmUpdateParams, options?: RequestOptions): APIPromise<LlmResponse>;
41
41
  /**
42
42
  * List all Retell LLM Response Engines that can be attached to an agent.
43
43
  *
@@ -46,8 +46,7 @@ export declare class Llm extends APIResource {
46
46
  * const llmResponses = await client.llm.list();
47
47
  * ```
48
48
  */
49
- list(query?: LlmListParams, options?: Core.RequestOptions): Core.APIPromise<LlmListResponse>;
50
- list(options?: Core.RequestOptions): Core.APIPromise<LlmListResponse>;
49
+ list(query?: LlmListParams | null | undefined, options?: RequestOptions): APIPromise<LlmListResponse>;
51
50
  /**
52
51
  * Delete an existing Retell LLM Response Engine
53
52
  *
@@ -56,7 +55,7 @@ export declare class Llm extends APIResource {
56
55
  * await client.llm.delete('oBeDLoLOeuAbiuaMFXRtDOLriTJ5tSxD');
57
56
  * ```
58
57
  */
59
- delete(llmId: string, options?: Core.RequestOptions): Core.APIPromise<void>;
58
+ delete(llmID: string, options?: RequestOptions): APIPromise<void>;
60
59
  }
61
60
  export interface LlmResponse {
62
61
  /**
@@ -92,20 +91,18 @@ export interface LlmResponse {
92
91
  * General prompt appended to system prompt no matter what state the agent is in.
93
92
  *
94
93
  * - System prompt (with state) = general prompt + state prompt.
95
- *
96
94
  * - System prompt (no state) = general prompt.
97
95
  */
98
96
  general_prompt?: string | null;
99
97
  /**
100
98
  * A list of tools the model may call (to get external knowledge, call API, etc).
101
99
  * You can select from some common predefined tools like end call, transfer call,
102
- * etc; or you can create your own custom tool (last option) for the LLM to use.
100
+ * etc; or you can create your own custom tool for the LLM to use.
103
101
  *
104
102
  * - Tools of LLM (with state) = general tools + state tools + state transitions
105
- *
106
103
  * - Tools of LLM (no state) = general tools
107
104
  */
108
- general_tools?: Array<LlmResponse.EndCallTool | LlmResponse.TransferCallTool | LlmResponse.CheckAvailabilityCalTool | LlmResponse.BookAppointmentCalTool | LlmResponse.PressDigitTool | LlmResponse.CustomTool | LlmResponse.ExtractDynamicVariableTool | LlmResponse.AgentSwapTool | LlmResponse.McpTool | LlmResponse.SendSMSTool> | null;
105
+ general_tools?: Array<LlmResponse.EndCallTool | LlmResponse.TransferCallTool | LlmResponse.CheckAvailabilityCalTool | LlmResponse.BookAppointmentCalTool | LlmResponse.AgentSwapTool | LlmResponse.PressDigitTool | LlmResponse.SendSMSTool | LlmResponse.CustomTool | LlmResponse.ExtractDynamicVariableTool | LlmResponse.BridgeTransferTool | LlmResponse.CancelTransferTool | LlmResponse.McpTool> | null;
109
106
  /**
110
107
  * Whether the Retell LLM Response Engine is published.
111
108
  */
@@ -125,7 +122,7 @@ export interface LlmResponse {
125
122
  /**
126
123
  * Select the underlying text LLM. If not set, would default to gpt-4.1.
127
124
  */
128
- model?: 'gpt-4.1' | 'gpt-4.1-mini' | 'gpt-4.1-nano' | 'gpt-5' | 'gpt-5-mini' | 'gpt-5-nano' | 'claude-4.5-sonnet' | 'claude-4.5-haiku' | 'gemini-2.5-flash' | 'gemini-2.5-flash-lite' | null;
125
+ model?: 'gpt-4.1' | 'gpt-4.1-mini' | 'gpt-4.1-nano' | 'gpt-5' | 'gpt-5.1' | 'gpt-5.2' | 'gpt-5-mini' | 'gpt-5-nano' | 'claude-4.5-sonnet' | 'claude-4.5-haiku' | 'gemini-2.5-flash' | 'gemini-2.5-flash-lite' | 'gemini-3.0-flash' | null;
129
126
  /**
130
127
  * If set to true, will use high priority pool with more dedicated resource to
131
128
  * ensure lower and more consistent latency, default to false. This feature usually
@@ -143,7 +140,7 @@ export interface LlmResponse {
143
140
  * Select the underlying speech to speech model. Can only set this or model, not
144
141
  * both.
145
142
  */
146
- s2s_model?: 'gpt-4o-realtime' | 'gpt-4o-mini-realtime' | 'gpt-realtime' | null;
143
+ s2s_model?: 'gpt-4o-realtime' | 'gpt-4o-mini-realtime' | 'gpt-realtime' | 'gpt-realtime-mini' | null;
147
144
  /**
148
145
  * The speaker who starts the conversation. Required. Must be either 'user' or
149
146
  * 'agent'.
@@ -186,6 +183,22 @@ export declare namespace LlmResponse {
186
183
  * to call the tool.
187
184
  */
188
185
  description?: string;
186
+ /**
187
+ * Describes what to say to user when ending the call. Only applicable when
188
+ * speak_during_execution is true.
189
+ */
190
+ execution_message_description?: string;
191
+ /**
192
+ * Type of execution message. "prompt" means the agent will use
193
+ * execution_message_description as a prompt to generate the message. "static_text"
194
+ * means the agent will speak the execution_message_description directly. Defaults
195
+ * to "prompt".
196
+ */
197
+ execution_message_type?: 'prompt' | 'static_text';
198
+ /**
199
+ * If true, will speak during execution.
200
+ */
201
+ speak_during_execution?: boolean;
189
202
  }
190
203
  interface TransferCallTool {
191
204
  /**
@@ -207,6 +220,18 @@ export declare namespace LlmResponse {
207
220
  * to call the tool.
208
221
  */
209
222
  description?: string;
223
+ /**
224
+ * Describes what to say to user when transferring the call. Only applicable when
225
+ * speak_during_execution is true.
226
+ */
227
+ execution_message_description?: string;
228
+ /**
229
+ * Type of execution message. "prompt" means the agent will use
230
+ * execution_message_description as a prompt to generate the message. "static_text"
231
+ * means the agent will speak the execution_message_description directly. Defaults
232
+ * to "prompt".
233
+ */
234
+ execution_message_type?: 'prompt' | 'static_text';
210
235
  /**
211
236
  * If true, the e.164 validation will be ignored for the from_number. This can be
212
237
  * useful when you want to dial to internal pseudo numbers. This only applies when
@@ -214,6 +239,10 @@ export declare namespace LlmResponse {
214
239
  * Telephony. If omitted, the default value is false.
215
240
  */
216
241
  ignore_e164_validation?: boolean;
242
+ /**
243
+ * If true, will speak during execution.
244
+ */
245
+ speak_during_execution?: boolean;
217
246
  }
218
247
  namespace TransferCallTool {
219
248
  interface TransferDestinationPredefined {
@@ -249,10 +278,19 @@ export declare namespace LlmResponse {
249
278
  * The type of the transfer.
250
279
  */
251
280
  type: 'cold_transfer';
281
+ /**
282
+ * The mode of the cold transfer. If set to `sip_refer`, will use SIP REFER to
283
+ * transfer the call. If set to `sip_invite`, will use SIP INVITE to transfer the
284
+ * call.
285
+ */
286
+ cold_transfer_mode?: 'sip_refer' | 'sip_invite';
252
287
  /**
253
288
  * If set to true, will show transferee (the user, not the AI agent) as caller when
254
- * transferring, requires the telephony side to support caller id override. Retell
255
- * Twilio numbers support this option.
289
+ * transferring. Requires the telephony side to support caller id override. Retell
290
+ * Twilio numbers support this option. This parameter takes effect only when
291
+ * `cold_transfer_mode` is set to `sip_invite`. When using `sip_refer`, this option
292
+ * is not available. Retell Twilio numbers always use user's number as the caller
293
+ * id when using `sip refer` cold transfer mode.
256
294
  */
257
295
  show_transferee_as_caller?: boolean;
258
296
  }
@@ -265,6 +303,10 @@ export declare namespace LlmResponse {
265
303
  * The time to wait before considering transfer fails.
266
304
  */
267
305
  agent_detection_timeout_ms?: number;
306
+ /**
307
+ * Whether to play an audio cue when bridging the call. Defaults to true.
308
+ */
309
+ enable_bridge_audio_cue?: boolean;
268
310
  /**
269
311
  * IVR navigation option to run when doing human detection. This prompt will guide
270
312
  * the AI on how to navigate the IVR system.
@@ -435,9 +477,10 @@ export declare namespace LlmResponse {
435
477
  cal_api_key: string;
436
478
  /**
437
479
  * Cal.com event type id number for the cal.com event you want to check
438
- * availability for.
480
+ * availability for. Can be a number or a dynamic variable in the format
481
+ * `{{variable_name}}` that will be resolved at runtime.
439
482
  */
440
- event_type_id: number;
483
+ event_type_id: number | string;
441
484
  /**
442
485
  * Name of the tool. Must be unique within all tools available to LLM at any given
443
486
  * time (general tools + state tools + state transitions). Must be consisted of
@@ -454,8 +497,9 @@ export declare namespace LlmResponse {
454
497
  /**
455
498
  * Timezone to be used when checking availability, must be in
456
499
  * [IANA timezone database](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones).
457
- * If not specified, will check if user specified timezone in call, and if not,
458
- * will use the timezone of the Retell servers.
500
+ * Can also be a dynamic variable in the format `{{variable_name}}` that will be
501
+ * resolved at runtime. If not specified, will check if user specified timezone in
502
+ * call, and if not, will use the timezone of the Retell servers.
459
503
  */
460
504
  timezone?: string;
461
505
  }
@@ -467,8 +511,10 @@ export declare namespace LlmResponse {
467
511
  cal_api_key: string;
468
512
  /**
469
513
  * Cal.com event type id number for the cal.com event you want to book appointment.
514
+ * Can be a number or a dynamic variable in the format `{{variable_name}}` that
515
+ * will be resolved at runtime.
470
516
  */
471
- event_type_id: number;
517
+ event_type_id: number | string;
472
518
  /**
473
519
  * Name of the tool. Must be unique within all tools available to LLM at any given
474
520
  * time (general tools + state tools + state transitions). Must be consisted of
@@ -485,11 +531,58 @@ export declare namespace LlmResponse {
485
531
  /**
486
532
  * Timezone to be used when booking appointment, must be in
487
533
  * [IANA timezone database](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones).
488
- * If not specified, will check if user specified timezone in call, and if not,
489
- * will use the timezone of the Retell servers.
534
+ * Can also be a dynamic variable in the format `{{variable_name}}` that will be
535
+ * resolved at runtime. If not specified, will check if user specified timezone in
536
+ * call, and if not, will use the timezone of the Retell servers.
490
537
  */
491
538
  timezone?: string;
492
539
  }
540
+ interface AgentSwapTool {
541
+ /**
542
+ * The id of the agent to swap to.
543
+ */
544
+ agent_id: string;
545
+ /**
546
+ * Name of the tool. Must be unique within all tools available to LLM at any given
547
+ * time (general tools + state tools + state edges).
548
+ */
549
+ name: string;
550
+ /**
551
+ * Post call analysis setting for the agent swap.
552
+ */
553
+ post_call_analysis_setting: 'both_agents' | 'only_destination_agent';
554
+ type: 'agent_swap';
555
+ /**
556
+ * The version of the agent to swap to. If not specified, will use the latest
557
+ * version.
558
+ */
559
+ agent_version?: number;
560
+ /**
561
+ * Describes what the tool does, sometimes can also include information about when
562
+ * to call the tool.
563
+ */
564
+ description?: string;
565
+ /**
566
+ * The message for the agent to speak when executing agent swap.
567
+ */
568
+ execution_message_description?: string;
569
+ /**
570
+ * Type of execution message. "prompt" means the agent will use
571
+ * execution_message_description as a prompt to generate the message. "static_text"
572
+ * means the agent will speak the execution_message_description directly. Defaults
573
+ * to "prompt".
574
+ */
575
+ execution_message_type?: 'prompt' | 'static_text';
576
+ /**
577
+ * If true, keep the current voice when swapping agents. Defaults to false.
578
+ */
579
+ keep_current_voice?: boolean;
580
+ speak_during_execution?: boolean;
581
+ /**
582
+ * Webhook setting for the agent swap, defaults to only source.
583
+ */
584
+ webhook_setting?: 'both_agents' | 'only_destination_agent' | 'only_source_agent';
585
+ }
493
586
  interface PressDigitTool {
494
587
  /**
495
588
  * Name of the tool. Must be unique within all tools available to LLM at any given
@@ -511,11 +604,39 @@ export declare namespace LlmResponse {
511
604
  */
512
605
  description?: string;
513
606
  }
514
- interface CustomTool {
607
+ interface SendSMSTool {
515
608
  /**
516
- * Describes what this tool does and when to call this tool.
609
+ * Name of the tool. Must be unique within all tools available to LLM at any given
610
+ * time (general tools + state tools + state edges).
517
611
  */
518
- description: string;
612
+ name: string;
613
+ sms_content: SendSMSTool.SMSContentPredefined | SendSMSTool.SMSContentInferred;
614
+ type: 'send_sms';
615
+ /**
616
+ * Describes what the tool does, sometimes can also include information about when
617
+ * to call the tool.
618
+ */
619
+ description?: string;
620
+ }
621
+ namespace SendSMSTool {
622
+ interface SMSContentPredefined {
623
+ /**
624
+ * The static message to be sent in the SMS. Can contain dynamic variables.
625
+ */
626
+ content?: string;
627
+ type?: 'predefined';
628
+ }
629
+ interface SMSContentInferred {
630
+ /**
631
+ * The prompt to be used to help infer the SMS content. The model will take the
632
+ * global prompt, the call transcript, and this prompt together to deduce the right
633
+ * message to send. Can contain dynamic variables.
634
+ */
635
+ prompt?: string;
636
+ type?: 'inferred';
637
+ }
638
+ }
639
+ interface CustomTool {
519
640
  /**
520
641
  * Name of the tool. Must be unique within all tools available to LLM at any given
521
642
  * time (general tools + state tools + state edges). Must be consisted of a-z, A-Z,
@@ -523,18 +644,21 @@ export declare namespace LlmResponse {
523
644
  * allowed).
524
645
  */
525
646
  name: string;
526
- /**
527
- * Determines whether the agent would call LLM another time and speak when the
528
- * result of function is obtained. Usually this needs to get turned on so user can
529
- * get update for the function call.
530
- */
531
- speak_after_execution: boolean;
532
647
  type: 'custom';
533
648
  /**
534
649
  * Describes what the tool does, sometimes can also include information about when
535
650
  * to call the tool.
536
651
  */
537
652
  url: string;
653
+ /**
654
+ * If set to true, the parameters will be passed as root level JSON object instead
655
+ * of nested under "args".
656
+ */
657
+ args_at_root?: boolean;
658
+ /**
659
+ * Describes what this tool does and when to call this tool.
660
+ */
661
+ description?: string;
538
662
  /**
539
663
  * The description for the sentence agent say during execution. Only applicable
540
664
  * when speak_during_execution is true. Can write what to say or even provide
@@ -542,6 +666,13 @@ export declare namespace LlmResponse {
542
666
  * tool. Make sure it fits into the conversation smoothly.".
543
667
  */
544
668
  execution_message_description?: string;
669
+ /**
670
+ * Type of execution message. "prompt" means the agent will use
671
+ * execution_message_description as a prompt to generate the message. "static_text"
672
+ * means the agent will speak the execution_message_description directly. Defaults
673
+ * to "prompt".
674
+ */
675
+ execution_message_type?: 'prompt' | 'static_text';
545
676
  /**
546
677
  * Headers to add to the request.
547
678
  */
@@ -573,6 +704,12 @@ export declare namespace LlmResponse {
573
704
  response_variables?: {
574
705
  [key: string]: string;
575
706
  };
707
+ /**
708
+ * Determines whether the agent would call LLM another time and speak when the
709
+ * result of function is obtained. Usually this needs to get turned on so user can
710
+ * get update for the function call.
711
+ */
712
+ speak_after_execution?: boolean;
576
713
  /**
577
714
  * Determines whether the agent would say sentence like "One moment, let me check
578
715
  * that." when executing the function. Recommend to turn on if your function call
@@ -700,40 +837,39 @@ export declare namespace LlmResponse {
700
837
  type: 'number';
701
838
  }
702
839
  }
703
- interface AgentSwapTool {
704
- /**
705
- * The id of the agent to swap to.
706
- */
707
- agent_id: string;
840
+ interface BridgeTransferTool {
708
841
  /**
709
842
  * Name of the tool. Must be unique within all tools available to LLM at any given
710
- * time (general tools + state tools + state edges).
843
+ * time (general tools + state tools + state transitions). Must be consisted of
844
+ * a-z, A-Z, 0-9, or contain underscores and dashes, with a maximum length of 64
845
+ * (no space allowed).
711
846
  */
712
847
  name: string;
848
+ type: 'bridge_transfer';
713
849
  /**
714
- * Post call analysis setting for the agent swap.
715
- */
716
- post_call_analysis_setting: 'both_agents' | 'only_destination_agent';
717
- type: 'agent_swap';
718
- /**
719
- * The version of the agent to swap to. If not specified, will use the latest
720
- * version.
721
- */
722
- agent_version?: number;
723
- /**
724
- * Describes what the tool does, sometimes can also include information about when
725
- * to call the tool.
850
+ * Describes what the tool does. This tool is only available to transfer agents
851
+ * (agents with isTransferAgent set to true) in agentic warm transfer mode. When
852
+ * invoked, it bridges the original caller to the transfer target and ends the
853
+ * transfer agent call.
726
854
  */
727
855
  description?: string;
856
+ }
857
+ interface CancelTransferTool {
728
858
  /**
729
- * The message for the agent to speak when executing agent swap.
859
+ * Name of the tool. Must be unique within all tools available to LLM at any given
860
+ * time (general tools + state tools + state transitions). Must be consisted of
861
+ * a-z, A-Z, 0-9, or contain underscores and dashes, with a maximum length of 64
862
+ * (no space allowed).
730
863
  */
731
- execution_message_description?: string;
732
- speak_during_execution?: boolean;
864
+ name: string;
865
+ type: 'cancel_transfer';
733
866
  /**
734
- * Webhook setting for the agent swap, defaults to only source.
867
+ * Describes what the tool does. This tool is only available to transfer agents
868
+ * (agents with isTransferAgent set to true) in agentic warm transfer mode. When
869
+ * invoked, it cancels the transfer, returns the original caller to the main agent,
870
+ * and ends the transfer agent call.
735
871
  */
736
- webhook_setting?: 'both_agents' | 'only_destination_agent' | 'only_source_agent';
872
+ description?: string;
737
873
  }
738
874
  interface McpTool {
739
875
  /**
@@ -752,6 +888,19 @@ export declare namespace LlmResponse {
752
888
  * tool. Make sure it fits into the conversation smoothly.".
753
889
  */
754
890
  execution_message_description?: string;
891
+ /**
892
+ * Type of execution message. "prompt" means the agent will use
893
+ * execution_message_description as a prompt to generate the message. "static_text"
894
+ * means the agent will speak the execution_message_description directly. Defaults
895
+ * to "prompt".
896
+ */
897
+ execution_message_type?: 'prompt' | 'static_text';
898
+ /**
899
+ * The input schema of the MCP tool.
900
+ */
901
+ input_schema?: {
902
+ [key: string]: string;
903
+ };
755
904
  /**
756
905
  * Unique id of the MCP.
757
906
  */
@@ -777,38 +926,6 @@ export declare namespace LlmResponse {
777
926
  */
778
927
  speak_during_execution?: boolean;
779
928
  }
780
- interface SendSMSTool {
781
- /**
782
- * Name of the tool. Must be unique within all tools available to LLM at any given
783
- * time (general tools + state tools + state edges).
784
- */
785
- name: string;
786
- sms_content: SendSMSTool.SMSContentPredefined | SendSMSTool.SMSContentInferred;
787
- type: 'send_sms';
788
- /**
789
- * Describes what the tool does, sometimes can also include information about when
790
- * to call the tool.
791
- */
792
- description?: string;
793
- }
794
- namespace SendSMSTool {
795
- interface SMSContentPredefined {
796
- /**
797
- * The static message to be sent in the SMS. Can contain dynamic variables.
798
- */
799
- content?: string;
800
- type?: 'predefined';
801
- }
802
- interface SMSContentInferred {
803
- /**
804
- * The prompt to be used to help infer the SMS content. The model will take the
805
- * global prompt, the call transcript, and this prompt together to deduce the right
806
- * message to send. Can contain dynamic variables.
807
- */
808
- prompt?: string;
809
- type?: 'inferred';
810
- }
811
- }
812
929
  /**
813
930
  * Knowledge base configuration for RAG retrieval.
814
931
  */
@@ -866,12 +983,12 @@ export declare namespace LlmResponse {
866
983
  /**
867
984
  * A list of tools specific to this state the model may call (to get external
868
985
  * knowledge, call API, etc). You can select from some common predefined tools like
869
- * end call, transfer call, etc; or you can create your own custom tool (last
870
- * option) for the LLM to use.
986
+ * end call, transfer call, etc; or you can create your own custom tool for the LLM
987
+ * to use.
871
988
  *
872
989
  * - Tools of LLM = general tools + state tools + state transitions
873
990
  */
874
- tools?: Array<State.EndCallTool | State.TransferCallTool | State.CheckAvailabilityCalTool | State.BookAppointmentCalTool | State.PressDigitTool | State.CustomTool | State.ExtractDynamicVariableTool | State.AgentSwapTool | State.McpTool | State.SendSMSTool>;
991
+ tools?: Array<State.EndCallTool | State.TransferCallTool | State.CheckAvailabilityCalTool | State.BookAppointmentCalTool | State.AgentSwapTool | State.PressDigitTool | State.SendSMSTool | State.CustomTool | State.ExtractDynamicVariableTool | State.BridgeTransferTool | State.CancelTransferTool | State.McpTool>;
875
992
  }
876
993
  namespace State {
877
994
  interface Edge {
@@ -940,6 +1057,22 @@ export declare namespace LlmResponse {
940
1057
  * to call the tool.
941
1058
  */
942
1059
  description?: string;
1060
+ /**
1061
+ * Describes what to say to user when ending the call. Only applicable when
1062
+ * speak_during_execution is true.
1063
+ */
1064
+ execution_message_description?: string;
1065
+ /**
1066
+ * Type of execution message. "prompt" means the agent will use
1067
+ * execution_message_description as a prompt to generate the message. "static_text"
1068
+ * means the agent will speak the execution_message_description directly. Defaults
1069
+ * to "prompt".
1070
+ */
1071
+ execution_message_type?: 'prompt' | 'static_text';
1072
+ /**
1073
+ * If true, will speak during execution.
1074
+ */
1075
+ speak_during_execution?: boolean;
943
1076
  }
944
1077
  interface TransferCallTool {
945
1078
  /**
@@ -961,6 +1094,18 @@ export declare namespace LlmResponse {
961
1094
  * to call the tool.
962
1095
  */
963
1096
  description?: string;
1097
+ /**
1098
+ * Describes what to say to user when transferring the call. Only applicable when
1099
+ * speak_during_execution is true.
1100
+ */
1101
+ execution_message_description?: string;
1102
+ /**
1103
+ * Type of execution message. "prompt" means the agent will use
1104
+ * execution_message_description as a prompt to generate the message. "static_text"
1105
+ * means the agent will speak the execution_message_description directly. Defaults
1106
+ * to "prompt".
1107
+ */
1108
+ execution_message_type?: 'prompt' | 'static_text';
964
1109
  /**
965
1110
  * If true, the e.164 validation will be ignored for the from_number. This can be
966
1111
  * useful when you want to dial to internal pseudo numbers. This only applies when
@@ -968,6 +1113,10 @@ export declare namespace LlmResponse {
968
1113
  * Telephony. If omitted, the default value is false.
969
1114
  */
970
1115
  ignore_e164_validation?: boolean;
1116
+ /**
1117
+ * If true, will speak during execution.
1118
+ */
1119
+ speak_during_execution?: boolean;
971
1120
  }
972
1121
  namespace TransferCallTool {
973
1122
  interface TransferDestinationPredefined {
@@ -1003,10 +1152,19 @@ export declare namespace LlmResponse {
1003
1152
  * The type of the transfer.
1004
1153
  */
1005
1154
  type: 'cold_transfer';
1155
+ /**
1156
+ * The mode of the cold transfer. If set to `sip_refer`, will use SIP REFER to
1157
+ * transfer the call. If set to `sip_invite`, will use SIP INVITE to transfer the
1158
+ * call.
1159
+ */
1160
+ cold_transfer_mode?: 'sip_refer' | 'sip_invite';
1006
1161
  /**
1007
1162
  * If set to true, will show transferee (the user, not the AI agent) as caller when
1008
- * transferring, requires the telephony side to support caller id override. Retell
1009
- * Twilio numbers support this option.
1163
+ * transferring. Requires the telephony side to support caller id override. Retell
1164
+ * Twilio numbers support this option. This parameter takes effect only when
1165
+ * `cold_transfer_mode` is set to `sip_invite`. When using `sip_refer`, this option
1166
+ * is not available. Retell Twilio numbers always use user's number as the caller
1167
+ * id when using `sip refer` cold transfer mode.
1010
1168
  */
1011
1169
  show_transferee_as_caller?: boolean;
1012
1170
  }
@@ -1019,6 +1177,10 @@ export declare namespace LlmResponse {
1019
1177
  * The time to wait before considering transfer fails.
1020
1178
  */
1021
1179
  agent_detection_timeout_ms?: number;
1180
+ /**
1181
+ * Whether to play an audio cue when bridging the call. Defaults to true.
1182
+ */
1183
+ enable_bridge_audio_cue?: boolean;
1022
1184
  /**
1023
1185
  * IVR navigation option to run when doing human detection. This prompt will guide
1024
1186
  * the AI on how to navigate the IVR system.
@@ -1189,9 +1351,10 @@ export declare namespace LlmResponse {
1189
1351
  cal_api_key: string;
1190
1352
  /**
1191
1353
  * Cal.com event type id number for the cal.com event you want to check
1192
- * availability for.
1354
+ * availability for. Can be a number or a dynamic variable in the format
1355
+ * `{{variable_name}}` that will be resolved at runtime.
1193
1356
  */
1194
- event_type_id: number;
1357
+ event_type_id: number | string;
1195
1358
  /**
1196
1359
  * Name of the tool. Must be unique within all tools available to LLM at any given
1197
1360
  * time (general tools + state tools + state transitions). Must be consisted of
@@ -1208,8 +1371,9 @@ export declare namespace LlmResponse {
1208
1371
  /**
1209
1372
  * Timezone to be used when checking availability, must be in
1210
1373
  * [IANA timezone database](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones).
1211
- * If not specified, will check if user specified timezone in call, and if not,
1212
- * will use the timezone of the Retell servers.
1374
+ * Can also be a dynamic variable in the format `{{variable_name}}` that will be
1375
+ * resolved at runtime. If not specified, will check if user specified timezone in
1376
+ * call, and if not, will use the timezone of the Retell servers.
1213
1377
  */
1214
1378
  timezone?: string;
1215
1379
  }
@@ -1221,8 +1385,10 @@ export declare namespace LlmResponse {
1221
1385
  cal_api_key: string;
1222
1386
  /**
1223
1387
  * Cal.com event type id number for the cal.com event you want to book appointment.
1388
+ * Can be a number or a dynamic variable in the format `{{variable_name}}` that
1389
+ * will be resolved at runtime.
1224
1390
  */
1225
- event_type_id: number;
1391
+ event_type_id: number | string;
1226
1392
  /**
1227
1393
  * Name of the tool. Must be unique within all tools available to LLM at any given
1228
1394
  * time (general tools + state tools + state transitions). Must be consisted of
@@ -1239,11 +1405,58 @@ export declare namespace LlmResponse {
1239
1405
  /**
1240
1406
  * Timezone to be used when booking appointment, must be in
1241
1407
  * [IANA timezone database](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones).
1242
- * If not specified, will check if user specified timezone in call, and if not,
1243
- * will use the timezone of the Retell servers.
1408
+ * Can also be a dynamic variable in the format `{{variable_name}}` that will be
1409
+ * resolved at runtime. If not specified, will check if user specified timezone in
1410
+ * call, and if not, will use the timezone of the Retell servers.
1244
1411
  */
1245
1412
  timezone?: string;
1246
1413
  }
1414
+ interface AgentSwapTool {
1415
+ /**
1416
+ * The id of the agent to swap to.
1417
+ */
1418
+ agent_id: string;
1419
+ /**
1420
+ * Name of the tool. Must be unique within all tools available to LLM at any given
1421
+ * time (general tools + state tools + state edges).
1422
+ */
1423
+ name: string;
1424
+ /**
1425
+ * Post call analysis setting for the agent swap.
1426
+ */
1427
+ post_call_analysis_setting: 'both_agents' | 'only_destination_agent';
1428
+ type: 'agent_swap';
1429
+ /**
1430
+ * The version of the agent to swap to. If not specified, will use the latest
1431
+ * version.
1432
+ */
1433
+ agent_version?: number;
1434
+ /**
1435
+ * Describes what the tool does, sometimes can also include information about when
1436
+ * to call the tool.
1437
+ */
1438
+ description?: string;
1439
+ /**
1440
+ * The message for the agent to speak when executing agent swap.
1441
+ */
1442
+ execution_message_description?: string;
1443
+ /**
1444
+ * Type of execution message. "prompt" means the agent will use
1445
+ * execution_message_description as a prompt to generate the message. "static_text"
1446
+ * means the agent will speak the execution_message_description directly. Defaults
1447
+ * to "prompt".
1448
+ */
1449
+ execution_message_type?: 'prompt' | 'static_text';
1450
+ /**
1451
+ * If true, keep the current voice when swapping agents. Defaults to false.
1452
+ */
1453
+ keep_current_voice?: boolean;
1454
+ speak_during_execution?: boolean;
1455
+ /**
1456
+ * Webhook setting for the agent swap, defaults to only source.
1457
+ */
1458
+ webhook_setting?: 'both_agents' | 'only_destination_agent' | 'only_source_agent';
1459
+ }
1247
1460
  interface PressDigitTool {
1248
1461
  /**
1249
1462
  * Name of the tool. Must be unique within all tools available to LLM at any given
@@ -1265,11 +1478,39 @@ export declare namespace LlmResponse {
1265
1478
  */
1266
1479
  description?: string;
1267
1480
  }
1268
- interface CustomTool {
1481
+ interface SendSMSTool {
1269
1482
  /**
1270
- * Describes what this tool does and when to call this tool.
1483
+ * Name of the tool. Must be unique within all tools available to LLM at any given
1484
+ * time (general tools + state tools + state edges).
1271
1485
  */
1272
- description: string;
1486
+ name: string;
1487
+ sms_content: SendSMSTool.SMSContentPredefined | SendSMSTool.SMSContentInferred;
1488
+ type: 'send_sms';
1489
+ /**
1490
+ * Describes what the tool does, sometimes can also include information about when
1491
+ * to call the tool.
1492
+ */
1493
+ description?: string;
1494
+ }
1495
+ namespace SendSMSTool {
1496
+ interface SMSContentPredefined {
1497
+ /**
1498
+ * The static message to be sent in the SMS. Can contain dynamic variables.
1499
+ */
1500
+ content?: string;
1501
+ type?: 'predefined';
1502
+ }
1503
+ interface SMSContentInferred {
1504
+ /**
1505
+ * The prompt to be used to help infer the SMS content. The model will take the
1506
+ * global prompt, the call transcript, and this prompt together to deduce the right
1507
+ * message to send. Can contain dynamic variables.
1508
+ */
1509
+ prompt?: string;
1510
+ type?: 'inferred';
1511
+ }
1512
+ }
1513
+ interface CustomTool {
1273
1514
  /**
1274
1515
  * Name of the tool. Must be unique within all tools available to LLM at any given
1275
1516
  * time (general tools + state tools + state edges). Must be consisted of a-z, A-Z,
@@ -1277,18 +1518,21 @@ export declare namespace LlmResponse {
1277
1518
  * allowed).
1278
1519
  */
1279
1520
  name: string;
1280
- /**
1281
- * Determines whether the agent would call LLM another time and speak when the
1282
- * result of function is obtained. Usually this needs to get turned on so user can
1283
- * get update for the function call.
1284
- */
1285
- speak_after_execution: boolean;
1286
1521
  type: 'custom';
1287
1522
  /**
1288
1523
  * Describes what the tool does, sometimes can also include information about when
1289
1524
  * to call the tool.
1290
1525
  */
1291
1526
  url: string;
1527
+ /**
1528
+ * If set to true, the parameters will be passed as root level JSON object instead
1529
+ * of nested under "args".
1530
+ */
1531
+ args_at_root?: boolean;
1532
+ /**
1533
+ * Describes what this tool does and when to call this tool.
1534
+ */
1535
+ description?: string;
1292
1536
  /**
1293
1537
  * The description for the sentence agent say during execution. Only applicable
1294
1538
  * when speak_during_execution is true. Can write what to say or even provide
@@ -1296,6 +1540,13 @@ export declare namespace LlmResponse {
1296
1540
  * tool. Make sure it fits into the conversation smoothly.".
1297
1541
  */
1298
1542
  execution_message_description?: string;
1543
+ /**
1544
+ * Type of execution message. "prompt" means the agent will use
1545
+ * execution_message_description as a prompt to generate the message. "static_text"
1546
+ * means the agent will speak the execution_message_description directly. Defaults
1547
+ * to "prompt".
1548
+ */
1549
+ execution_message_type?: 'prompt' | 'static_text';
1299
1550
  /**
1300
1551
  * Headers to add to the request.
1301
1552
  */
@@ -1327,6 +1578,12 @@ export declare namespace LlmResponse {
1327
1578
  response_variables?: {
1328
1579
  [key: string]: string;
1329
1580
  };
1581
+ /**
1582
+ * Determines whether the agent would call LLM another time and speak when the
1583
+ * result of function is obtained. Usually this needs to get turned on so user can
1584
+ * get update for the function call.
1585
+ */
1586
+ speak_after_execution?: boolean;
1330
1587
  /**
1331
1588
  * Determines whether the agent would say sentence like "One moment, let me check
1332
1589
  * that." when executing the function. Recommend to turn on if your function call
@@ -1454,40 +1711,39 @@ export declare namespace LlmResponse {
1454
1711
  type: 'number';
1455
1712
  }
1456
1713
  }
1457
- interface AgentSwapTool {
1458
- /**
1459
- * The id of the agent to swap to.
1460
- */
1461
- agent_id: string;
1714
+ interface BridgeTransferTool {
1462
1715
  /**
1463
1716
  * Name of the tool. Must be unique within all tools available to LLM at any given
1464
- * time (general tools + state tools + state edges).
1717
+ * time (general tools + state tools + state transitions). Must be consisted of
1718
+ * a-z, A-Z, 0-9, or contain underscores and dashes, with a maximum length of 64
1719
+ * (no space allowed).
1465
1720
  */
1466
1721
  name: string;
1722
+ type: 'bridge_transfer';
1467
1723
  /**
1468
- * Post call analysis setting for the agent swap.
1469
- */
1470
- post_call_analysis_setting: 'both_agents' | 'only_destination_agent';
1471
- type: 'agent_swap';
1472
- /**
1473
- * The version of the agent to swap to. If not specified, will use the latest
1474
- * version.
1475
- */
1476
- agent_version?: number;
1477
- /**
1478
- * Describes what the tool does, sometimes can also include information about when
1479
- * to call the tool.
1724
+ * Describes what the tool does. This tool is only available to transfer agents
1725
+ * (agents with isTransferAgent set to true) in agentic warm transfer mode. When
1726
+ * invoked, it bridges the original caller to the transfer target and ends the
1727
+ * transfer agent call.
1480
1728
  */
1481
1729
  description?: string;
1730
+ }
1731
+ interface CancelTransferTool {
1482
1732
  /**
1483
- * The message for the agent to speak when executing agent swap.
1733
+ * Name of the tool. Must be unique within all tools available to LLM at any given
1734
+ * time (general tools + state tools + state transitions). Must be consisted of
1735
+ * a-z, A-Z, 0-9, or contain underscores and dashes, with a maximum length of 64
1736
+ * (no space allowed).
1484
1737
  */
1485
- execution_message_description?: string;
1486
- speak_during_execution?: boolean;
1738
+ name: string;
1739
+ type: 'cancel_transfer';
1487
1740
  /**
1488
- * Webhook setting for the agent swap, defaults to only source.
1741
+ * Describes what the tool does. This tool is only available to transfer agents
1742
+ * (agents with isTransferAgent set to true) in agentic warm transfer mode. When
1743
+ * invoked, it cancels the transfer, returns the original caller to the main agent,
1744
+ * and ends the transfer agent call.
1489
1745
  */
1490
- webhook_setting?: 'both_agents' | 'only_destination_agent' | 'only_source_agent';
1746
+ description?: string;
1491
1747
  }
1492
1748
  interface McpTool {
1493
1749
  /**
@@ -1506,6 +1762,19 @@ export declare namespace LlmResponse {
1506
1762
  * tool. Make sure it fits into the conversation smoothly.".
1507
1763
  */
1508
1764
  execution_message_description?: string;
1765
+ /**
1766
+ * Type of execution message. "prompt" means the agent will use
1767
+ * execution_message_description as a prompt to generate the message. "static_text"
1768
+ * means the agent will speak the execution_message_description directly. Defaults
1769
+ * to "prompt".
1770
+ */
1771
+ execution_message_type?: 'prompt' | 'static_text';
1772
+ /**
1773
+ * The input schema of the MCP tool.
1774
+ */
1775
+ input_schema?: {
1776
+ [key: string]: string;
1777
+ };
1509
1778
  /**
1510
1779
  * Unique id of the MCP.
1511
1780
  */
@@ -1531,38 +1800,6 @@ export declare namespace LlmResponse {
1531
1800
  */
1532
1801
  speak_during_execution?: boolean;
1533
1802
  }
1534
- interface SendSMSTool {
1535
- /**
1536
- * Name of the tool. Must be unique within all tools available to LLM at any given
1537
- * time (general tools + state tools + state edges).
1538
- */
1539
- name: string;
1540
- sms_content: SendSMSTool.SMSContentPredefined | SendSMSTool.SMSContentInferred;
1541
- type: 'send_sms';
1542
- /**
1543
- * Describes what the tool does, sometimes can also include information about when
1544
- * to call the tool.
1545
- */
1546
- description?: string;
1547
- }
1548
- namespace SendSMSTool {
1549
- interface SMSContentPredefined {
1550
- /**
1551
- * The static message to be sent in the SMS. Can contain dynamic variables.
1552
- */
1553
- content?: string;
1554
- type?: 'predefined';
1555
- }
1556
- interface SMSContentInferred {
1557
- /**
1558
- * The prompt to be used to help infer the SMS content. The model will take the
1559
- * global prompt, the call transcript, and this prompt together to deduce the right
1560
- * message to send. Can contain dynamic variables.
1561
- */
1562
- prompt?: string;
1563
- type?: 'inferred';
1564
- }
1565
- }
1566
1803
  }
1567
1804
  }
1568
1805
  export type LlmListResponse = Array<LlmResponse>;
@@ -1591,20 +1828,18 @@ export interface LlmCreateParams {
1591
1828
  * General prompt appended to system prompt no matter what state the agent is in.
1592
1829
  *
1593
1830
  * - System prompt (with state) = general prompt + state prompt.
1594
- *
1595
1831
  * - System prompt (no state) = general prompt.
1596
1832
  */
1597
1833
  general_prompt?: string | null;
1598
1834
  /**
1599
1835
  * A list of tools the model may call (to get external knowledge, call API, etc).
1600
1836
  * You can select from some common predefined tools like end call, transfer call,
1601
- * etc; or you can create your own custom tool (last option) for the LLM to use.
1837
+ * etc; or you can create your own custom tool for the LLM to use.
1602
1838
  *
1603
1839
  * - Tools of LLM (with state) = general tools + state tools + state transitions
1604
- *
1605
1840
  * - Tools of LLM (no state) = general tools
1606
1841
  */
1607
- general_tools?: Array<LlmCreateParams.EndCallTool | LlmCreateParams.TransferCallTool | LlmCreateParams.CheckAvailabilityCalTool | LlmCreateParams.BookAppointmentCalTool | LlmCreateParams.PressDigitTool | LlmCreateParams.CustomTool | LlmCreateParams.ExtractDynamicVariableTool | LlmCreateParams.AgentSwapTool | LlmCreateParams.McpTool | LlmCreateParams.SendSMSTool> | null;
1842
+ general_tools?: Array<LlmCreateParams.EndCallTool | LlmCreateParams.TransferCallTool | LlmCreateParams.CheckAvailabilityCalTool | LlmCreateParams.BookAppointmentCalTool | LlmCreateParams.AgentSwapTool | LlmCreateParams.PressDigitTool | LlmCreateParams.SendSMSTool | LlmCreateParams.CustomTool | LlmCreateParams.ExtractDynamicVariableTool | LlmCreateParams.BridgeTransferTool | LlmCreateParams.CancelTransferTool | LlmCreateParams.McpTool> | null;
1608
1843
  /**
1609
1844
  * Knowledge base configuration for RAG retrieval.
1610
1845
  */
@@ -1620,7 +1855,7 @@ export interface LlmCreateParams {
1620
1855
  /**
1621
1856
  * Select the underlying text LLM. If not set, would default to gpt-4.1.
1622
1857
  */
1623
- model?: 'gpt-4.1' | 'gpt-4.1-mini' | 'gpt-4.1-nano' | 'gpt-5' | 'gpt-5-mini' | 'gpt-5-nano' | 'claude-4.5-sonnet' | 'claude-4.5-haiku' | 'gemini-2.5-flash' | 'gemini-2.5-flash-lite' | null;
1858
+ model?: 'gpt-4.1' | 'gpt-4.1-mini' | 'gpt-4.1-nano' | 'gpt-5' | 'gpt-5.1' | 'gpt-5.2' | 'gpt-5-mini' | 'gpt-5-nano' | 'claude-4.5-sonnet' | 'claude-4.5-haiku' | 'gemini-2.5-flash' | 'gemini-2.5-flash-lite' | 'gemini-3.0-flash' | null;
1624
1859
  /**
1625
1860
  * If set to true, will use high priority pool with more dedicated resource to
1626
1861
  * ensure lower and more consistent latency, default to false. This feature usually
@@ -1638,7 +1873,7 @@ export interface LlmCreateParams {
1638
1873
  * Select the underlying speech to speech model. Can only set this or model, not
1639
1874
  * both.
1640
1875
  */
1641
- s2s_model?: 'gpt-4o-realtime' | 'gpt-4o-mini-realtime' | 'gpt-realtime' | null;
1876
+ s2s_model?: 'gpt-4o-realtime' | 'gpt-4o-mini-realtime' | 'gpt-realtime' | 'gpt-realtime-mini' | null;
1642
1877
  /**
1643
1878
  * The speaker who starts the conversation. Required. Must be either 'user' or
1644
1879
  * 'agent'.
@@ -1681,6 +1916,22 @@ export declare namespace LlmCreateParams {
1681
1916
  * to call the tool.
1682
1917
  */
1683
1918
  description?: string;
1919
+ /**
1920
+ * Describes what to say to user when ending the call. Only applicable when
1921
+ * speak_during_execution is true.
1922
+ */
1923
+ execution_message_description?: string;
1924
+ /**
1925
+ * Type of execution message. "prompt" means the agent will use
1926
+ * execution_message_description as a prompt to generate the message. "static_text"
1927
+ * means the agent will speak the execution_message_description directly. Defaults
1928
+ * to "prompt".
1929
+ */
1930
+ execution_message_type?: 'prompt' | 'static_text';
1931
+ /**
1932
+ * If true, will speak during execution.
1933
+ */
1934
+ speak_during_execution?: boolean;
1684
1935
  }
1685
1936
  interface TransferCallTool {
1686
1937
  /**
@@ -1702,6 +1953,18 @@ export declare namespace LlmCreateParams {
1702
1953
  * to call the tool.
1703
1954
  */
1704
1955
  description?: string;
1956
+ /**
1957
+ * Describes what to say to user when transferring the call. Only applicable when
1958
+ * speak_during_execution is true.
1959
+ */
1960
+ execution_message_description?: string;
1961
+ /**
1962
+ * Type of execution message. "prompt" means the agent will use
1963
+ * execution_message_description as a prompt to generate the message. "static_text"
1964
+ * means the agent will speak the execution_message_description directly. Defaults
1965
+ * to "prompt".
1966
+ */
1967
+ execution_message_type?: 'prompt' | 'static_text';
1705
1968
  /**
1706
1969
  * If true, the e.164 validation will be ignored for the from_number. This can be
1707
1970
  * useful when you want to dial to internal pseudo numbers. This only applies when
@@ -1709,6 +1972,10 @@ export declare namespace LlmCreateParams {
1709
1972
  * Telephony. If omitted, the default value is false.
1710
1973
  */
1711
1974
  ignore_e164_validation?: boolean;
1975
+ /**
1976
+ * If true, will speak during execution.
1977
+ */
1978
+ speak_during_execution?: boolean;
1712
1979
  }
1713
1980
  namespace TransferCallTool {
1714
1981
  interface TransferDestinationPredefined {
@@ -1744,10 +2011,19 @@ export declare namespace LlmCreateParams {
1744
2011
  * The type of the transfer.
1745
2012
  */
1746
2013
  type: 'cold_transfer';
2014
+ /**
2015
+ * The mode of the cold transfer. If set to `sip_refer`, will use SIP REFER to
2016
+ * transfer the call. If set to `sip_invite`, will use SIP INVITE to transfer the
2017
+ * call.
2018
+ */
2019
+ cold_transfer_mode?: 'sip_refer' | 'sip_invite';
1747
2020
  /**
1748
2021
  * If set to true, will show transferee (the user, not the AI agent) as caller when
1749
- * transferring, requires the telephony side to support caller id override. Retell
1750
- * Twilio numbers support this option.
2022
+ * transferring. Requires the telephony side to support caller id override. Retell
2023
+ * Twilio numbers support this option. This parameter takes effect only when
2024
+ * `cold_transfer_mode` is set to `sip_invite`. When using `sip_refer`, this option
2025
+ * is not available. Retell Twilio numbers always use user's number as the caller
2026
+ * id when using `sip refer` cold transfer mode.
1751
2027
  */
1752
2028
  show_transferee_as_caller?: boolean;
1753
2029
  }
@@ -1760,6 +2036,10 @@ export declare namespace LlmCreateParams {
1760
2036
  * The time to wait before considering transfer fails.
1761
2037
  */
1762
2038
  agent_detection_timeout_ms?: number;
2039
+ /**
2040
+ * Whether to play an audio cue when bridging the call. Defaults to true.
2041
+ */
2042
+ enable_bridge_audio_cue?: boolean;
1763
2043
  /**
1764
2044
  * IVR navigation option to run when doing human detection. This prompt will guide
1765
2045
  * the AI on how to navigate the IVR system.
@@ -1930,9 +2210,10 @@ export declare namespace LlmCreateParams {
1930
2210
  cal_api_key: string;
1931
2211
  /**
1932
2212
  * Cal.com event type id number for the cal.com event you want to check
1933
- * availability for.
2213
+ * availability for. Can be a number or a dynamic variable in the format
2214
+ * `{{variable_name}}` that will be resolved at runtime.
1934
2215
  */
1935
- event_type_id: number;
2216
+ event_type_id: number | string;
1936
2217
  /**
1937
2218
  * Name of the tool. Must be unique within all tools available to LLM at any given
1938
2219
  * time (general tools + state tools + state transitions). Must be consisted of
@@ -1949,8 +2230,9 @@ export declare namespace LlmCreateParams {
1949
2230
  /**
1950
2231
  * Timezone to be used when checking availability, must be in
1951
2232
  * [IANA timezone database](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones).
1952
- * If not specified, will check if user specified timezone in call, and if not,
1953
- * will use the timezone of the Retell servers.
2233
+ * Can also be a dynamic variable in the format `{{variable_name}}` that will be
2234
+ * resolved at runtime. If not specified, will check if user specified timezone in
2235
+ * call, and if not, will use the timezone of the Retell servers.
1954
2236
  */
1955
2237
  timezone?: string;
1956
2238
  }
@@ -1962,8 +2244,10 @@ export declare namespace LlmCreateParams {
1962
2244
  cal_api_key: string;
1963
2245
  /**
1964
2246
  * Cal.com event type id number for the cal.com event you want to book appointment.
2247
+ * Can be a number or a dynamic variable in the format `{{variable_name}}` that
2248
+ * will be resolved at runtime.
1965
2249
  */
1966
- event_type_id: number;
2250
+ event_type_id: number | string;
1967
2251
  /**
1968
2252
  * Name of the tool. Must be unique within all tools available to LLM at any given
1969
2253
  * time (general tools + state tools + state transitions). Must be consisted of
@@ -1980,11 +2264,58 @@ export declare namespace LlmCreateParams {
1980
2264
  /**
1981
2265
  * Timezone to be used when booking appointment, must be in
1982
2266
  * [IANA timezone database](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones).
1983
- * If not specified, will check if user specified timezone in call, and if not,
1984
- * will use the timezone of the Retell servers.
2267
+ * Can also be a dynamic variable in the format `{{variable_name}}` that will be
2268
+ * resolved at runtime. If not specified, will check if user specified timezone in
2269
+ * call, and if not, will use the timezone of the Retell servers.
1985
2270
  */
1986
2271
  timezone?: string;
1987
2272
  }
2273
+ interface AgentSwapTool {
2274
+ /**
2275
+ * The id of the agent to swap to.
2276
+ */
2277
+ agent_id: string;
2278
+ /**
2279
+ * Name of the tool. Must be unique within all tools available to LLM at any given
2280
+ * time (general tools + state tools + state edges).
2281
+ */
2282
+ name: string;
2283
+ /**
2284
+ * Post call analysis setting for the agent swap.
2285
+ */
2286
+ post_call_analysis_setting: 'both_agents' | 'only_destination_agent';
2287
+ type: 'agent_swap';
2288
+ /**
2289
+ * The version of the agent to swap to. If not specified, will use the latest
2290
+ * version.
2291
+ */
2292
+ agent_version?: number;
2293
+ /**
2294
+ * Describes what the tool does, sometimes can also include information about when
2295
+ * to call the tool.
2296
+ */
2297
+ description?: string;
2298
+ /**
2299
+ * The message for the agent to speak when executing agent swap.
2300
+ */
2301
+ execution_message_description?: string;
2302
+ /**
2303
+ * Type of execution message. "prompt" means the agent will use
2304
+ * execution_message_description as a prompt to generate the message. "static_text"
2305
+ * means the agent will speak the execution_message_description directly. Defaults
2306
+ * to "prompt".
2307
+ */
2308
+ execution_message_type?: 'prompt' | 'static_text';
2309
+ /**
2310
+ * If true, keep the current voice when swapping agents. Defaults to false.
2311
+ */
2312
+ keep_current_voice?: boolean;
2313
+ speak_during_execution?: boolean;
2314
+ /**
2315
+ * Webhook setting for the agent swap, defaults to only source.
2316
+ */
2317
+ webhook_setting?: 'both_agents' | 'only_destination_agent' | 'only_source_agent';
2318
+ }
1988
2319
  interface PressDigitTool {
1989
2320
  /**
1990
2321
  * Name of the tool. Must be unique within all tools available to LLM at any given
@@ -2006,11 +2337,39 @@ export declare namespace LlmCreateParams {
2006
2337
  */
2007
2338
  description?: string;
2008
2339
  }
2009
- interface CustomTool {
2340
+ interface SendSMSTool {
2010
2341
  /**
2011
- * Describes what this tool does and when to call this tool.
2342
+ * Name of the tool. Must be unique within all tools available to LLM at any given
2343
+ * time (general tools + state tools + state edges).
2012
2344
  */
2013
- description: string;
2345
+ name: string;
2346
+ sms_content: SendSMSTool.SMSContentPredefined | SendSMSTool.SMSContentInferred;
2347
+ type: 'send_sms';
2348
+ /**
2349
+ * Describes what the tool does, sometimes can also include information about when
2350
+ * to call the tool.
2351
+ */
2352
+ description?: string;
2353
+ }
2354
+ namespace SendSMSTool {
2355
+ interface SMSContentPredefined {
2356
+ /**
2357
+ * The static message to be sent in the SMS. Can contain dynamic variables.
2358
+ */
2359
+ content?: string;
2360
+ type?: 'predefined';
2361
+ }
2362
+ interface SMSContentInferred {
2363
+ /**
2364
+ * The prompt to be used to help infer the SMS content. The model will take the
2365
+ * global prompt, the call transcript, and this prompt together to deduce the right
2366
+ * message to send. Can contain dynamic variables.
2367
+ */
2368
+ prompt?: string;
2369
+ type?: 'inferred';
2370
+ }
2371
+ }
2372
+ interface CustomTool {
2014
2373
  /**
2015
2374
  * Name of the tool. Must be unique within all tools available to LLM at any given
2016
2375
  * time (general tools + state tools + state edges). Must be consisted of a-z, A-Z,
@@ -2018,18 +2377,21 @@ export declare namespace LlmCreateParams {
2018
2377
  * allowed).
2019
2378
  */
2020
2379
  name: string;
2021
- /**
2022
- * Determines whether the agent would call LLM another time and speak when the
2023
- * result of function is obtained. Usually this needs to get turned on so user can
2024
- * get update for the function call.
2025
- */
2026
- speak_after_execution: boolean;
2027
2380
  type: 'custom';
2028
2381
  /**
2029
2382
  * Describes what the tool does, sometimes can also include information about when
2030
2383
  * to call the tool.
2031
2384
  */
2032
2385
  url: string;
2386
+ /**
2387
+ * If set to true, the parameters will be passed as root level JSON object instead
2388
+ * of nested under "args".
2389
+ */
2390
+ args_at_root?: boolean;
2391
+ /**
2392
+ * Describes what this tool does and when to call this tool.
2393
+ */
2394
+ description?: string;
2033
2395
  /**
2034
2396
  * The description for the sentence agent say during execution. Only applicable
2035
2397
  * when speak_during_execution is true. Can write what to say or even provide
@@ -2037,6 +2399,13 @@ export declare namespace LlmCreateParams {
2037
2399
  * tool. Make sure it fits into the conversation smoothly.".
2038
2400
  */
2039
2401
  execution_message_description?: string;
2402
+ /**
2403
+ * Type of execution message. "prompt" means the agent will use
2404
+ * execution_message_description as a prompt to generate the message. "static_text"
2405
+ * means the agent will speak the execution_message_description directly. Defaults
2406
+ * to "prompt".
2407
+ */
2408
+ execution_message_type?: 'prompt' | 'static_text';
2040
2409
  /**
2041
2410
  * Headers to add to the request.
2042
2411
  */
@@ -2068,6 +2437,12 @@ export declare namespace LlmCreateParams {
2068
2437
  response_variables?: {
2069
2438
  [key: string]: string;
2070
2439
  };
2440
+ /**
2441
+ * Determines whether the agent would call LLM another time and speak when the
2442
+ * result of function is obtained. Usually this needs to get turned on so user can
2443
+ * get update for the function call.
2444
+ */
2445
+ speak_after_execution?: boolean;
2071
2446
  /**
2072
2447
  * Determines whether the agent would say sentence like "One moment, let me check
2073
2448
  * that." when executing the function. Recommend to turn on if your function call
@@ -2195,40 +2570,39 @@ export declare namespace LlmCreateParams {
2195
2570
  type: 'number';
2196
2571
  }
2197
2572
  }
2198
- interface AgentSwapTool {
2199
- /**
2200
- * The id of the agent to swap to.
2201
- */
2202
- agent_id: string;
2573
+ interface BridgeTransferTool {
2203
2574
  /**
2204
2575
  * Name of the tool. Must be unique within all tools available to LLM at any given
2205
- * time (general tools + state tools + state edges).
2576
+ * time (general tools + state tools + state transitions). Must be consisted of
2577
+ * a-z, A-Z, 0-9, or contain underscores and dashes, with a maximum length of 64
2578
+ * (no space allowed).
2206
2579
  */
2207
2580
  name: string;
2581
+ type: 'bridge_transfer';
2208
2582
  /**
2209
- * Post call analysis setting for the agent swap.
2583
+ * Describes what the tool does. This tool is only available to transfer agents
2584
+ * (agents with isTransferAgent set to true) in agentic warm transfer mode. When
2585
+ * invoked, it bridges the original caller to the transfer target and ends the
2586
+ * transfer agent call.
2210
2587
  */
2211
- post_call_analysis_setting: 'both_agents' | 'only_destination_agent';
2212
- type: 'agent_swap';
2588
+ description?: string;
2589
+ }
2590
+ interface CancelTransferTool {
2213
2591
  /**
2214
- * The version of the agent to swap to. If not specified, will use the latest
2215
- * version.
2592
+ * Name of the tool. Must be unique within all tools available to LLM at any given
2593
+ * time (general tools + state tools + state transitions). Must be consisted of
2594
+ * a-z, A-Z, 0-9, or contain underscores and dashes, with a maximum length of 64
2595
+ * (no space allowed).
2216
2596
  */
2217
- agent_version?: number;
2597
+ name: string;
2598
+ type: 'cancel_transfer';
2218
2599
  /**
2219
- * Describes what the tool does, sometimes can also include information about when
2220
- * to call the tool.
2600
+ * Describes what the tool does. This tool is only available to transfer agents
2601
+ * (agents with isTransferAgent set to true) in agentic warm transfer mode. When
2602
+ * invoked, it cancels the transfer, returns the original caller to the main agent,
2603
+ * and ends the transfer agent call.
2221
2604
  */
2222
2605
  description?: string;
2223
- /**
2224
- * The message for the agent to speak when executing agent swap.
2225
- */
2226
- execution_message_description?: string;
2227
- speak_during_execution?: boolean;
2228
- /**
2229
- * Webhook setting for the agent swap, defaults to only source.
2230
- */
2231
- webhook_setting?: 'both_agents' | 'only_destination_agent' | 'only_source_agent';
2232
2606
  }
2233
2607
  interface McpTool {
2234
2608
  /**
@@ -2247,6 +2621,19 @@ export declare namespace LlmCreateParams {
2247
2621
  * tool. Make sure it fits into the conversation smoothly.".
2248
2622
  */
2249
2623
  execution_message_description?: string;
2624
+ /**
2625
+ * Type of execution message. "prompt" means the agent will use
2626
+ * execution_message_description as a prompt to generate the message. "static_text"
2627
+ * means the agent will speak the execution_message_description directly. Defaults
2628
+ * to "prompt".
2629
+ */
2630
+ execution_message_type?: 'prompt' | 'static_text';
2631
+ /**
2632
+ * The input schema of the MCP tool.
2633
+ */
2634
+ input_schema?: {
2635
+ [key: string]: string;
2636
+ };
2250
2637
  /**
2251
2638
  * Unique id of the MCP.
2252
2639
  */
@@ -2272,38 +2659,6 @@ export declare namespace LlmCreateParams {
2272
2659
  */
2273
2660
  speak_during_execution?: boolean;
2274
2661
  }
2275
- interface SendSMSTool {
2276
- /**
2277
- * Name of the tool. Must be unique within all tools available to LLM at any given
2278
- * time (general tools + state tools + state edges).
2279
- */
2280
- name: string;
2281
- sms_content: SendSMSTool.SMSContentPredefined | SendSMSTool.SMSContentInferred;
2282
- type: 'send_sms';
2283
- /**
2284
- * Describes what the tool does, sometimes can also include information about when
2285
- * to call the tool.
2286
- */
2287
- description?: string;
2288
- }
2289
- namespace SendSMSTool {
2290
- interface SMSContentPredefined {
2291
- /**
2292
- * The static message to be sent in the SMS. Can contain dynamic variables.
2293
- */
2294
- content?: string;
2295
- type?: 'predefined';
2296
- }
2297
- interface SMSContentInferred {
2298
- /**
2299
- * The prompt to be used to help infer the SMS content. The model will take the
2300
- * global prompt, the call transcript, and this prompt together to deduce the right
2301
- * message to send. Can contain dynamic variables.
2302
- */
2303
- prompt?: string;
2304
- type?: 'inferred';
2305
- }
2306
- }
2307
2662
  /**
2308
2663
  * Knowledge base configuration for RAG retrieval.
2309
2664
  */
@@ -2361,12 +2716,12 @@ export declare namespace LlmCreateParams {
2361
2716
  /**
2362
2717
  * A list of tools specific to this state the model may call (to get external
2363
2718
  * knowledge, call API, etc). You can select from some common predefined tools like
2364
- * end call, transfer call, etc; or you can create your own custom tool (last
2365
- * option) for the LLM to use.
2719
+ * end call, transfer call, etc; or you can create your own custom tool for the LLM
2720
+ * to use.
2366
2721
  *
2367
2722
  * - Tools of LLM = general tools + state tools + state transitions
2368
2723
  */
2369
- tools?: Array<State.EndCallTool | State.TransferCallTool | State.CheckAvailabilityCalTool | State.BookAppointmentCalTool | State.PressDigitTool | State.CustomTool | State.ExtractDynamicVariableTool | State.AgentSwapTool | State.McpTool | State.SendSMSTool>;
2724
+ tools?: Array<State.EndCallTool | State.TransferCallTool | State.CheckAvailabilityCalTool | State.BookAppointmentCalTool | State.AgentSwapTool | State.PressDigitTool | State.SendSMSTool | State.CustomTool | State.ExtractDynamicVariableTool | State.BridgeTransferTool | State.CancelTransferTool | State.McpTool>;
2370
2725
  }
2371
2726
  namespace State {
2372
2727
  interface Edge {
@@ -2435,6 +2790,22 @@ export declare namespace LlmCreateParams {
2435
2790
  * to call the tool.
2436
2791
  */
2437
2792
  description?: string;
2793
+ /**
2794
+ * Describes what to say to user when ending the call. Only applicable when
2795
+ * speak_during_execution is true.
2796
+ */
2797
+ execution_message_description?: string;
2798
+ /**
2799
+ * Type of execution message. "prompt" means the agent will use
2800
+ * execution_message_description as a prompt to generate the message. "static_text"
2801
+ * means the agent will speak the execution_message_description directly. Defaults
2802
+ * to "prompt".
2803
+ */
2804
+ execution_message_type?: 'prompt' | 'static_text';
2805
+ /**
2806
+ * If true, will speak during execution.
2807
+ */
2808
+ speak_during_execution?: boolean;
2438
2809
  }
2439
2810
  interface TransferCallTool {
2440
2811
  /**
@@ -2456,6 +2827,18 @@ export declare namespace LlmCreateParams {
2456
2827
  * to call the tool.
2457
2828
  */
2458
2829
  description?: string;
2830
+ /**
2831
+ * Describes what to say to user when transferring the call. Only applicable when
2832
+ * speak_during_execution is true.
2833
+ */
2834
+ execution_message_description?: string;
2835
+ /**
2836
+ * Type of execution message. "prompt" means the agent will use
2837
+ * execution_message_description as a prompt to generate the message. "static_text"
2838
+ * means the agent will speak the execution_message_description directly. Defaults
2839
+ * to "prompt".
2840
+ */
2841
+ execution_message_type?: 'prompt' | 'static_text';
2459
2842
  /**
2460
2843
  * If true, the e.164 validation will be ignored for the from_number. This can be
2461
2844
  * useful when you want to dial to internal pseudo numbers. This only applies when
@@ -2463,6 +2846,10 @@ export declare namespace LlmCreateParams {
2463
2846
  * Telephony. If omitted, the default value is false.
2464
2847
  */
2465
2848
  ignore_e164_validation?: boolean;
2849
+ /**
2850
+ * If true, will speak during execution.
2851
+ */
2852
+ speak_during_execution?: boolean;
2466
2853
  }
2467
2854
  namespace TransferCallTool {
2468
2855
  interface TransferDestinationPredefined {
@@ -2498,10 +2885,19 @@ export declare namespace LlmCreateParams {
2498
2885
  * The type of the transfer.
2499
2886
  */
2500
2887
  type: 'cold_transfer';
2888
+ /**
2889
+ * The mode of the cold transfer. If set to `sip_refer`, will use SIP REFER to
2890
+ * transfer the call. If set to `sip_invite`, will use SIP INVITE to transfer the
2891
+ * call.
2892
+ */
2893
+ cold_transfer_mode?: 'sip_refer' | 'sip_invite';
2501
2894
  /**
2502
2895
  * If set to true, will show transferee (the user, not the AI agent) as caller when
2503
- * transferring, requires the telephony side to support caller id override. Retell
2504
- * Twilio numbers support this option.
2896
+ * transferring. Requires the telephony side to support caller id override. Retell
2897
+ * Twilio numbers support this option. This parameter takes effect only when
2898
+ * `cold_transfer_mode` is set to `sip_invite`. When using `sip_refer`, this option
2899
+ * is not available. Retell Twilio numbers always use user's number as the caller
2900
+ * id when using `sip refer` cold transfer mode.
2505
2901
  */
2506
2902
  show_transferee_as_caller?: boolean;
2507
2903
  }
@@ -2514,6 +2910,10 @@ export declare namespace LlmCreateParams {
2514
2910
  * The time to wait before considering transfer fails.
2515
2911
  */
2516
2912
  agent_detection_timeout_ms?: number;
2913
+ /**
2914
+ * Whether to play an audio cue when bridging the call. Defaults to true.
2915
+ */
2916
+ enable_bridge_audio_cue?: boolean;
2517
2917
  /**
2518
2918
  * IVR navigation option to run when doing human detection. This prompt will guide
2519
2919
  * the AI on how to navigate the IVR system.
@@ -2684,9 +3084,10 @@ export declare namespace LlmCreateParams {
2684
3084
  cal_api_key: string;
2685
3085
  /**
2686
3086
  * Cal.com event type id number for the cal.com event you want to check
2687
- * availability for.
3087
+ * availability for. Can be a number or a dynamic variable in the format
3088
+ * `{{variable_name}}` that will be resolved at runtime.
2688
3089
  */
2689
- event_type_id: number;
3090
+ event_type_id: number | string;
2690
3091
  /**
2691
3092
  * Name of the tool. Must be unique within all tools available to LLM at any given
2692
3093
  * time (general tools + state tools + state transitions). Must be consisted of
@@ -2703,8 +3104,9 @@ export declare namespace LlmCreateParams {
2703
3104
  /**
2704
3105
  * Timezone to be used when checking availability, must be in
2705
3106
  * [IANA timezone database](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones).
2706
- * If not specified, will check if user specified timezone in call, and if not,
2707
- * will use the timezone of the Retell servers.
3107
+ * Can also be a dynamic variable in the format `{{variable_name}}` that will be
3108
+ * resolved at runtime. If not specified, will check if user specified timezone in
3109
+ * call, and if not, will use the timezone of the Retell servers.
2708
3110
  */
2709
3111
  timezone?: string;
2710
3112
  }
@@ -2716,8 +3118,10 @@ export declare namespace LlmCreateParams {
2716
3118
  cal_api_key: string;
2717
3119
  /**
2718
3120
  * Cal.com event type id number for the cal.com event you want to book appointment.
3121
+ * Can be a number or a dynamic variable in the format `{{variable_name}}` that
3122
+ * will be resolved at runtime.
2719
3123
  */
2720
- event_type_id: number;
3124
+ event_type_id: number | string;
2721
3125
  /**
2722
3126
  * Name of the tool. Must be unique within all tools available to LLM at any given
2723
3127
  * time (general tools + state tools + state transitions). Must be consisted of
@@ -2734,11 +3138,58 @@ export declare namespace LlmCreateParams {
2734
3138
  /**
2735
3139
  * Timezone to be used when booking appointment, must be in
2736
3140
  * [IANA timezone database](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones).
2737
- * If not specified, will check if user specified timezone in call, and if not,
2738
- * will use the timezone of the Retell servers.
3141
+ * Can also be a dynamic variable in the format `{{variable_name}}` that will be
3142
+ * resolved at runtime. If not specified, will check if user specified timezone in
3143
+ * call, and if not, will use the timezone of the Retell servers.
2739
3144
  */
2740
3145
  timezone?: string;
2741
3146
  }
3147
+ interface AgentSwapTool {
3148
+ /**
3149
+ * The id of the agent to swap to.
3150
+ */
3151
+ agent_id: string;
3152
+ /**
3153
+ * Name of the tool. Must be unique within all tools available to LLM at any given
3154
+ * time (general tools + state tools + state edges).
3155
+ */
3156
+ name: string;
3157
+ /**
3158
+ * Post call analysis setting for the agent swap.
3159
+ */
3160
+ post_call_analysis_setting: 'both_agents' | 'only_destination_agent';
3161
+ type: 'agent_swap';
3162
+ /**
3163
+ * The version of the agent to swap to. If not specified, will use the latest
3164
+ * version.
3165
+ */
3166
+ agent_version?: number;
3167
+ /**
3168
+ * Describes what the tool does, sometimes can also include information about when
3169
+ * to call the tool.
3170
+ */
3171
+ description?: string;
3172
+ /**
3173
+ * The message for the agent to speak when executing agent swap.
3174
+ */
3175
+ execution_message_description?: string;
3176
+ /**
3177
+ * Type of execution message. "prompt" means the agent will use
3178
+ * execution_message_description as a prompt to generate the message. "static_text"
3179
+ * means the agent will speak the execution_message_description directly. Defaults
3180
+ * to "prompt".
3181
+ */
3182
+ execution_message_type?: 'prompt' | 'static_text';
3183
+ /**
3184
+ * If true, keep the current voice when swapping agents. Defaults to false.
3185
+ */
3186
+ keep_current_voice?: boolean;
3187
+ speak_during_execution?: boolean;
3188
+ /**
3189
+ * Webhook setting for the agent swap, defaults to only source.
3190
+ */
3191
+ webhook_setting?: 'both_agents' | 'only_destination_agent' | 'only_source_agent';
3192
+ }
2742
3193
  interface PressDigitTool {
2743
3194
  /**
2744
3195
  * Name of the tool. Must be unique within all tools available to LLM at any given
@@ -2760,11 +3211,39 @@ export declare namespace LlmCreateParams {
2760
3211
  */
2761
3212
  description?: string;
2762
3213
  }
2763
- interface CustomTool {
3214
+ interface SendSMSTool {
2764
3215
  /**
2765
- * Describes what this tool does and when to call this tool.
3216
+ * Name of the tool. Must be unique within all tools available to LLM at any given
3217
+ * time (general tools + state tools + state edges).
2766
3218
  */
2767
- description: string;
3219
+ name: string;
3220
+ sms_content: SendSMSTool.SMSContentPredefined | SendSMSTool.SMSContentInferred;
3221
+ type: 'send_sms';
3222
+ /**
3223
+ * Describes what the tool does, sometimes can also include information about when
3224
+ * to call the tool.
3225
+ */
3226
+ description?: string;
3227
+ }
3228
+ namespace SendSMSTool {
3229
+ interface SMSContentPredefined {
3230
+ /**
3231
+ * The static message to be sent in the SMS. Can contain dynamic variables.
3232
+ */
3233
+ content?: string;
3234
+ type?: 'predefined';
3235
+ }
3236
+ interface SMSContentInferred {
3237
+ /**
3238
+ * The prompt to be used to help infer the SMS content. The model will take the
3239
+ * global prompt, the call transcript, and this prompt together to deduce the right
3240
+ * message to send. Can contain dynamic variables.
3241
+ */
3242
+ prompt?: string;
3243
+ type?: 'inferred';
3244
+ }
3245
+ }
3246
+ interface CustomTool {
2768
3247
  /**
2769
3248
  * Name of the tool. Must be unique within all tools available to LLM at any given
2770
3249
  * time (general tools + state tools + state edges). Must be consisted of a-z, A-Z,
@@ -2772,18 +3251,21 @@ export declare namespace LlmCreateParams {
2772
3251
  * allowed).
2773
3252
  */
2774
3253
  name: string;
2775
- /**
2776
- * Determines whether the agent would call LLM another time and speak when the
2777
- * result of function is obtained. Usually this needs to get turned on so user can
2778
- * get update for the function call.
2779
- */
2780
- speak_after_execution: boolean;
2781
3254
  type: 'custom';
2782
3255
  /**
2783
3256
  * Describes what the tool does, sometimes can also include information about when
2784
3257
  * to call the tool.
2785
3258
  */
2786
3259
  url: string;
3260
+ /**
3261
+ * If set to true, the parameters will be passed as root level JSON object instead
3262
+ * of nested under "args".
3263
+ */
3264
+ args_at_root?: boolean;
3265
+ /**
3266
+ * Describes what this tool does and when to call this tool.
3267
+ */
3268
+ description?: string;
2787
3269
  /**
2788
3270
  * The description for the sentence agent say during execution. Only applicable
2789
3271
  * when speak_during_execution is true. Can write what to say or even provide
@@ -2791,6 +3273,13 @@ export declare namespace LlmCreateParams {
2791
3273
  * tool. Make sure it fits into the conversation smoothly.".
2792
3274
  */
2793
3275
  execution_message_description?: string;
3276
+ /**
3277
+ * Type of execution message. "prompt" means the agent will use
3278
+ * execution_message_description as a prompt to generate the message. "static_text"
3279
+ * means the agent will speak the execution_message_description directly. Defaults
3280
+ * to "prompt".
3281
+ */
3282
+ execution_message_type?: 'prompt' | 'static_text';
2794
3283
  /**
2795
3284
  * Headers to add to the request.
2796
3285
  */
@@ -2822,6 +3311,12 @@ export declare namespace LlmCreateParams {
2822
3311
  response_variables?: {
2823
3312
  [key: string]: string;
2824
3313
  };
3314
+ /**
3315
+ * Determines whether the agent would call LLM another time and speak when the
3316
+ * result of function is obtained. Usually this needs to get turned on so user can
3317
+ * get update for the function call.
3318
+ */
3319
+ speak_after_execution?: boolean;
2825
3320
  /**
2826
3321
  * Determines whether the agent would say sentence like "One moment, let me check
2827
3322
  * that." when executing the function. Recommend to turn on if your function call
@@ -2949,40 +3444,39 @@ export declare namespace LlmCreateParams {
2949
3444
  type: 'number';
2950
3445
  }
2951
3446
  }
2952
- interface AgentSwapTool {
2953
- /**
2954
- * The id of the agent to swap to.
2955
- */
2956
- agent_id: string;
3447
+ interface BridgeTransferTool {
2957
3448
  /**
2958
3449
  * Name of the tool. Must be unique within all tools available to LLM at any given
2959
- * time (general tools + state tools + state edges).
3450
+ * time (general tools + state tools + state transitions). Must be consisted of
3451
+ * a-z, A-Z, 0-9, or contain underscores and dashes, with a maximum length of 64
3452
+ * (no space allowed).
2960
3453
  */
2961
3454
  name: string;
3455
+ type: 'bridge_transfer';
2962
3456
  /**
2963
- * Post call analysis setting for the agent swap.
2964
- */
2965
- post_call_analysis_setting: 'both_agents' | 'only_destination_agent';
2966
- type: 'agent_swap';
2967
- /**
2968
- * The version of the agent to swap to. If not specified, will use the latest
2969
- * version.
2970
- */
2971
- agent_version?: number;
2972
- /**
2973
- * Describes what the tool does, sometimes can also include information about when
2974
- * to call the tool.
3457
+ * Describes what the tool does. This tool is only available to transfer agents
3458
+ * (agents with isTransferAgent set to true) in agentic warm transfer mode. When
3459
+ * invoked, it bridges the original caller to the transfer target and ends the
3460
+ * transfer agent call.
2975
3461
  */
2976
3462
  description?: string;
3463
+ }
3464
+ interface CancelTransferTool {
2977
3465
  /**
2978
- * The message for the agent to speak when executing agent swap.
3466
+ * Name of the tool. Must be unique within all tools available to LLM at any given
3467
+ * time (general tools + state tools + state transitions). Must be consisted of
3468
+ * a-z, A-Z, 0-9, or contain underscores and dashes, with a maximum length of 64
3469
+ * (no space allowed).
2979
3470
  */
2980
- execution_message_description?: string;
2981
- speak_during_execution?: boolean;
3471
+ name: string;
3472
+ type: 'cancel_transfer';
2982
3473
  /**
2983
- * Webhook setting for the agent swap, defaults to only source.
3474
+ * Describes what the tool does. This tool is only available to transfer agents
3475
+ * (agents with isTransferAgent set to true) in agentic warm transfer mode. When
3476
+ * invoked, it cancels the transfer, returns the original caller to the main agent,
3477
+ * and ends the transfer agent call.
2984
3478
  */
2985
- webhook_setting?: 'both_agents' | 'only_destination_agent' | 'only_source_agent';
3479
+ description?: string;
2986
3480
  }
2987
3481
  interface McpTool {
2988
3482
  /**
@@ -3001,6 +3495,19 @@ export declare namespace LlmCreateParams {
3001
3495
  * tool. Make sure it fits into the conversation smoothly.".
3002
3496
  */
3003
3497
  execution_message_description?: string;
3498
+ /**
3499
+ * Type of execution message. "prompt" means the agent will use
3500
+ * execution_message_description as a prompt to generate the message. "static_text"
3501
+ * means the agent will speak the execution_message_description directly. Defaults
3502
+ * to "prompt".
3503
+ */
3504
+ execution_message_type?: 'prompt' | 'static_text';
3505
+ /**
3506
+ * The input schema of the MCP tool.
3507
+ */
3508
+ input_schema?: {
3509
+ [key: string]: string;
3510
+ };
3004
3511
  /**
3005
3512
  * Unique id of the MCP.
3006
3513
  */
@@ -3026,38 +3533,6 @@ export declare namespace LlmCreateParams {
3026
3533
  */
3027
3534
  speak_during_execution?: boolean;
3028
3535
  }
3029
- interface SendSMSTool {
3030
- /**
3031
- * Name of the tool. Must be unique within all tools available to LLM at any given
3032
- * time (general tools + state tools + state edges).
3033
- */
3034
- name: string;
3035
- sms_content: SendSMSTool.SMSContentPredefined | SendSMSTool.SMSContentInferred;
3036
- type: 'send_sms';
3037
- /**
3038
- * Describes what the tool does, sometimes can also include information about when
3039
- * to call the tool.
3040
- */
3041
- description?: string;
3042
- }
3043
- namespace SendSMSTool {
3044
- interface SMSContentPredefined {
3045
- /**
3046
- * The static message to be sent in the SMS. Can contain dynamic variables.
3047
- */
3048
- content?: string;
3049
- type?: 'predefined';
3050
- }
3051
- interface SMSContentInferred {
3052
- /**
3053
- * The prompt to be used to help infer the SMS content. The model will take the
3054
- * global prompt, the call transcript, and this prompt together to deduce the right
3055
- * message to send. Can contain dynamic variables.
3056
- */
3057
- prompt?: string;
3058
- type?: 'inferred';
3059
- }
3060
- }
3061
3536
  }
3062
3537
  }
3063
3538
  export interface LlmRetrieveParams {
@@ -3098,21 +3573,18 @@ export interface LlmUpdateParams {
3098
3573
  * agent is in.
3099
3574
  *
3100
3575
  * - System prompt (with state) = general prompt + state prompt.
3101
- *
3102
3576
  * - System prompt (no state) = general prompt.
3103
3577
  */
3104
3578
  general_prompt?: string | null;
3105
3579
  /**
3106
3580
  * Body param: A list of tools the model may call (to get external knowledge, call
3107
3581
  * API, etc). You can select from some common predefined tools like end call,
3108
- * transfer call, etc; or you can create your own custom tool (last option) for the
3109
- * LLM to use.
3582
+ * transfer call, etc; or you can create your own custom tool for the LLM to use.
3110
3583
  *
3111
3584
  * - Tools of LLM (with state) = general tools + state tools + state transitions
3112
- *
3113
3585
  * - Tools of LLM (no state) = general tools
3114
3586
  */
3115
- general_tools?: Array<LlmUpdateParams.EndCallTool | LlmUpdateParams.TransferCallTool | LlmUpdateParams.CheckAvailabilityCalTool | LlmUpdateParams.BookAppointmentCalTool | LlmUpdateParams.PressDigitTool | LlmUpdateParams.CustomTool | LlmUpdateParams.ExtractDynamicVariableTool | LlmUpdateParams.AgentSwapTool | LlmUpdateParams.McpTool | LlmUpdateParams.SendSMSTool> | null;
3587
+ general_tools?: Array<LlmUpdateParams.EndCallTool | LlmUpdateParams.TransferCallTool | LlmUpdateParams.CheckAvailabilityCalTool | LlmUpdateParams.BookAppointmentCalTool | LlmUpdateParams.AgentSwapTool | LlmUpdateParams.PressDigitTool | LlmUpdateParams.SendSMSTool | LlmUpdateParams.CustomTool | LlmUpdateParams.ExtractDynamicVariableTool | LlmUpdateParams.BridgeTransferTool | LlmUpdateParams.CancelTransferTool | LlmUpdateParams.McpTool> | null;
3116
3588
  /**
3117
3589
  * Body param: Knowledge base configuration for RAG retrieval.
3118
3590
  */
@@ -3129,7 +3601,7 @@ export interface LlmUpdateParams {
3129
3601
  * Body param: Select the underlying text LLM. If not set, would default to
3130
3602
  * gpt-4.1.
3131
3603
  */
3132
- model?: 'gpt-4.1' | 'gpt-4.1-mini' | 'gpt-4.1-nano' | 'gpt-5' | 'gpt-5-mini' | 'gpt-5-nano' | 'claude-4.5-sonnet' | 'claude-4.5-haiku' | 'gemini-2.5-flash' | 'gemini-2.5-flash-lite' | null;
3604
+ model?: 'gpt-4.1' | 'gpt-4.1-mini' | 'gpt-4.1-nano' | 'gpt-5' | 'gpt-5.1' | 'gpt-5.2' | 'gpt-5-mini' | 'gpt-5-nano' | 'claude-4.5-sonnet' | 'claude-4.5-haiku' | 'gemini-2.5-flash' | 'gemini-2.5-flash-lite' | 'gemini-3.0-flash' | null;
3133
3605
  /**
3134
3606
  * Body param: If set to true, will use high priority pool with more dedicated
3135
3607
  * resource to ensure lower and more consistent latency, default to false. This
@@ -3147,7 +3619,7 @@ export interface LlmUpdateParams {
3147
3619
  * Body param: Select the underlying speech to speech model. Can only set this or
3148
3620
  * model, not both.
3149
3621
  */
3150
- s2s_model?: 'gpt-4o-realtime' | 'gpt-4o-mini-realtime' | 'gpt-realtime' | null;
3622
+ s2s_model?: 'gpt-4o-realtime' | 'gpt-4o-mini-realtime' | 'gpt-realtime' | 'gpt-realtime-mini' | null;
3151
3623
  /**
3152
3624
  * Body param: The speaker who starts the conversation. Required. Must be either
3153
3625
  * 'user' or 'agent'.
@@ -3190,6 +3662,22 @@ export declare namespace LlmUpdateParams {
3190
3662
  * to call the tool.
3191
3663
  */
3192
3664
  description?: string;
3665
+ /**
3666
+ * Describes what to say to user when ending the call. Only applicable when
3667
+ * speak_during_execution is true.
3668
+ */
3669
+ execution_message_description?: string;
3670
+ /**
3671
+ * Type of execution message. "prompt" means the agent will use
3672
+ * execution_message_description as a prompt to generate the message. "static_text"
3673
+ * means the agent will speak the execution_message_description directly. Defaults
3674
+ * to "prompt".
3675
+ */
3676
+ execution_message_type?: 'prompt' | 'static_text';
3677
+ /**
3678
+ * If true, will speak during execution.
3679
+ */
3680
+ speak_during_execution?: boolean;
3193
3681
  }
3194
3682
  interface TransferCallTool {
3195
3683
  /**
@@ -3212,12 +3700,28 @@ export declare namespace LlmUpdateParams {
3212
3700
  */
3213
3701
  description?: string;
3214
3702
  /**
3215
- * If true, the e.164 validation will be ignored for the from_number. This can be
3216
- * useful when you want to dial to internal pseudo numbers. This only applies when
3703
+ * Describes what to say to user when transferring the call. Only applicable when
3704
+ * speak_during_execution is true.
3705
+ */
3706
+ execution_message_description?: string;
3707
+ /**
3708
+ * Type of execution message. "prompt" means the agent will use
3709
+ * execution_message_description as a prompt to generate the message. "static_text"
3710
+ * means the agent will speak the execution_message_description directly. Defaults
3711
+ * to "prompt".
3712
+ */
3713
+ execution_message_type?: 'prompt' | 'static_text';
3714
+ /**
3715
+ * If true, the e.164 validation will be ignored for the from_number. This can be
3716
+ * useful when you want to dial to internal pseudo numbers. This only applies when
3217
3717
  * you are using custom telephony and does not apply when you are using Retell
3218
3718
  * Telephony. If omitted, the default value is false.
3219
3719
  */
3220
3720
  ignore_e164_validation?: boolean;
3721
+ /**
3722
+ * If true, will speak during execution.
3723
+ */
3724
+ speak_during_execution?: boolean;
3221
3725
  }
3222
3726
  namespace TransferCallTool {
3223
3727
  interface TransferDestinationPredefined {
@@ -3253,10 +3757,19 @@ export declare namespace LlmUpdateParams {
3253
3757
  * The type of the transfer.
3254
3758
  */
3255
3759
  type: 'cold_transfer';
3760
+ /**
3761
+ * The mode of the cold transfer. If set to `sip_refer`, will use SIP REFER to
3762
+ * transfer the call. If set to `sip_invite`, will use SIP INVITE to transfer the
3763
+ * call.
3764
+ */
3765
+ cold_transfer_mode?: 'sip_refer' | 'sip_invite';
3256
3766
  /**
3257
3767
  * If set to true, will show transferee (the user, not the AI agent) as caller when
3258
- * transferring, requires the telephony side to support caller id override. Retell
3259
- * Twilio numbers support this option.
3768
+ * transferring. Requires the telephony side to support caller id override. Retell
3769
+ * Twilio numbers support this option. This parameter takes effect only when
3770
+ * `cold_transfer_mode` is set to `sip_invite`. When using `sip_refer`, this option
3771
+ * is not available. Retell Twilio numbers always use user's number as the caller
3772
+ * id when using `sip refer` cold transfer mode.
3260
3773
  */
3261
3774
  show_transferee_as_caller?: boolean;
3262
3775
  }
@@ -3269,6 +3782,10 @@ export declare namespace LlmUpdateParams {
3269
3782
  * The time to wait before considering transfer fails.
3270
3783
  */
3271
3784
  agent_detection_timeout_ms?: number;
3785
+ /**
3786
+ * Whether to play an audio cue when bridging the call. Defaults to true.
3787
+ */
3788
+ enable_bridge_audio_cue?: boolean;
3272
3789
  /**
3273
3790
  * IVR navigation option to run when doing human detection. This prompt will guide
3274
3791
  * the AI on how to navigate the IVR system.
@@ -3439,9 +3956,10 @@ export declare namespace LlmUpdateParams {
3439
3956
  cal_api_key: string;
3440
3957
  /**
3441
3958
  * Cal.com event type id number for the cal.com event you want to check
3442
- * availability for.
3959
+ * availability for. Can be a number or a dynamic variable in the format
3960
+ * `{{variable_name}}` that will be resolved at runtime.
3443
3961
  */
3444
- event_type_id: number;
3962
+ event_type_id: number | string;
3445
3963
  /**
3446
3964
  * Name of the tool. Must be unique within all tools available to LLM at any given
3447
3965
  * time (general tools + state tools + state transitions). Must be consisted of
@@ -3458,8 +3976,9 @@ export declare namespace LlmUpdateParams {
3458
3976
  /**
3459
3977
  * Timezone to be used when checking availability, must be in
3460
3978
  * [IANA timezone database](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones).
3461
- * If not specified, will check if user specified timezone in call, and if not,
3462
- * will use the timezone of the Retell servers.
3979
+ * Can also be a dynamic variable in the format `{{variable_name}}` that will be
3980
+ * resolved at runtime. If not specified, will check if user specified timezone in
3981
+ * call, and if not, will use the timezone of the Retell servers.
3463
3982
  */
3464
3983
  timezone?: string;
3465
3984
  }
@@ -3471,8 +3990,10 @@ export declare namespace LlmUpdateParams {
3471
3990
  cal_api_key: string;
3472
3991
  /**
3473
3992
  * Cal.com event type id number for the cal.com event you want to book appointment.
3993
+ * Can be a number or a dynamic variable in the format `{{variable_name}}` that
3994
+ * will be resolved at runtime.
3474
3995
  */
3475
- event_type_id: number;
3996
+ event_type_id: number | string;
3476
3997
  /**
3477
3998
  * Name of the tool. Must be unique within all tools available to LLM at any given
3478
3999
  * time (general tools + state tools + state transitions). Must be consisted of
@@ -3489,11 +4010,58 @@ export declare namespace LlmUpdateParams {
3489
4010
  /**
3490
4011
  * Timezone to be used when booking appointment, must be in
3491
4012
  * [IANA timezone database](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones).
3492
- * If not specified, will check if user specified timezone in call, and if not,
3493
- * will use the timezone of the Retell servers.
4013
+ * Can also be a dynamic variable in the format `{{variable_name}}` that will be
4014
+ * resolved at runtime. If not specified, will check if user specified timezone in
4015
+ * call, and if not, will use the timezone of the Retell servers.
3494
4016
  */
3495
4017
  timezone?: string;
3496
4018
  }
4019
+ interface AgentSwapTool {
4020
+ /**
4021
+ * The id of the agent to swap to.
4022
+ */
4023
+ agent_id: string;
4024
+ /**
4025
+ * Name of the tool. Must be unique within all tools available to LLM at any given
4026
+ * time (general tools + state tools + state edges).
4027
+ */
4028
+ name: string;
4029
+ /**
4030
+ * Post call analysis setting for the agent swap.
4031
+ */
4032
+ post_call_analysis_setting: 'both_agents' | 'only_destination_agent';
4033
+ type: 'agent_swap';
4034
+ /**
4035
+ * The version of the agent to swap to. If not specified, will use the latest
4036
+ * version.
4037
+ */
4038
+ agent_version?: number;
4039
+ /**
4040
+ * Describes what the tool does, sometimes can also include information about when
4041
+ * to call the tool.
4042
+ */
4043
+ description?: string;
4044
+ /**
4045
+ * The message for the agent to speak when executing agent swap.
4046
+ */
4047
+ execution_message_description?: string;
4048
+ /**
4049
+ * Type of execution message. "prompt" means the agent will use
4050
+ * execution_message_description as a prompt to generate the message. "static_text"
4051
+ * means the agent will speak the execution_message_description directly. Defaults
4052
+ * to "prompt".
4053
+ */
4054
+ execution_message_type?: 'prompt' | 'static_text';
4055
+ /**
4056
+ * If true, keep the current voice when swapping agents. Defaults to false.
4057
+ */
4058
+ keep_current_voice?: boolean;
4059
+ speak_during_execution?: boolean;
4060
+ /**
4061
+ * Webhook setting for the agent swap, defaults to only source.
4062
+ */
4063
+ webhook_setting?: 'both_agents' | 'only_destination_agent' | 'only_source_agent';
4064
+ }
3497
4065
  interface PressDigitTool {
3498
4066
  /**
3499
4067
  * Name of the tool. Must be unique within all tools available to LLM at any given
@@ -3515,11 +4083,39 @@ export declare namespace LlmUpdateParams {
3515
4083
  */
3516
4084
  description?: string;
3517
4085
  }
3518
- interface CustomTool {
4086
+ interface SendSMSTool {
3519
4087
  /**
3520
- * Describes what this tool does and when to call this tool.
4088
+ * Name of the tool. Must be unique within all tools available to LLM at any given
4089
+ * time (general tools + state tools + state edges).
3521
4090
  */
3522
- description: string;
4091
+ name: string;
4092
+ sms_content: SendSMSTool.SMSContentPredefined | SendSMSTool.SMSContentInferred;
4093
+ type: 'send_sms';
4094
+ /**
4095
+ * Describes what the tool does, sometimes can also include information about when
4096
+ * to call the tool.
4097
+ */
4098
+ description?: string;
4099
+ }
4100
+ namespace SendSMSTool {
4101
+ interface SMSContentPredefined {
4102
+ /**
4103
+ * The static message to be sent in the SMS. Can contain dynamic variables.
4104
+ */
4105
+ content?: string;
4106
+ type?: 'predefined';
4107
+ }
4108
+ interface SMSContentInferred {
4109
+ /**
4110
+ * The prompt to be used to help infer the SMS content. The model will take the
4111
+ * global prompt, the call transcript, and this prompt together to deduce the right
4112
+ * message to send. Can contain dynamic variables.
4113
+ */
4114
+ prompt?: string;
4115
+ type?: 'inferred';
4116
+ }
4117
+ }
4118
+ interface CustomTool {
3523
4119
  /**
3524
4120
  * Name of the tool. Must be unique within all tools available to LLM at any given
3525
4121
  * time (general tools + state tools + state edges). Must be consisted of a-z, A-Z,
@@ -3527,18 +4123,21 @@ export declare namespace LlmUpdateParams {
3527
4123
  * allowed).
3528
4124
  */
3529
4125
  name: string;
3530
- /**
3531
- * Determines whether the agent would call LLM another time and speak when the
3532
- * result of function is obtained. Usually this needs to get turned on so user can
3533
- * get update for the function call.
3534
- */
3535
- speak_after_execution: boolean;
3536
4126
  type: 'custom';
3537
4127
  /**
3538
4128
  * Describes what the tool does, sometimes can also include information about when
3539
4129
  * to call the tool.
3540
4130
  */
3541
4131
  url: string;
4132
+ /**
4133
+ * If set to true, the parameters will be passed as root level JSON object instead
4134
+ * of nested under "args".
4135
+ */
4136
+ args_at_root?: boolean;
4137
+ /**
4138
+ * Describes what this tool does and when to call this tool.
4139
+ */
4140
+ description?: string;
3542
4141
  /**
3543
4142
  * The description for the sentence agent say during execution. Only applicable
3544
4143
  * when speak_during_execution is true. Can write what to say or even provide
@@ -3546,6 +4145,13 @@ export declare namespace LlmUpdateParams {
3546
4145
  * tool. Make sure it fits into the conversation smoothly.".
3547
4146
  */
3548
4147
  execution_message_description?: string;
4148
+ /**
4149
+ * Type of execution message. "prompt" means the agent will use
4150
+ * execution_message_description as a prompt to generate the message. "static_text"
4151
+ * means the agent will speak the execution_message_description directly. Defaults
4152
+ * to "prompt".
4153
+ */
4154
+ execution_message_type?: 'prompt' | 'static_text';
3549
4155
  /**
3550
4156
  * Headers to add to the request.
3551
4157
  */
@@ -3577,6 +4183,12 @@ export declare namespace LlmUpdateParams {
3577
4183
  response_variables?: {
3578
4184
  [key: string]: string;
3579
4185
  };
4186
+ /**
4187
+ * Determines whether the agent would call LLM another time and speak when the
4188
+ * result of function is obtained. Usually this needs to get turned on so user can
4189
+ * get update for the function call.
4190
+ */
4191
+ speak_after_execution?: boolean;
3580
4192
  /**
3581
4193
  * Determines whether the agent would say sentence like "One moment, let me check
3582
4194
  * that." when executing the function. Recommend to turn on if your function call
@@ -3704,40 +4316,39 @@ export declare namespace LlmUpdateParams {
3704
4316
  type: 'number';
3705
4317
  }
3706
4318
  }
3707
- interface AgentSwapTool {
3708
- /**
3709
- * The id of the agent to swap to.
3710
- */
3711
- agent_id: string;
4319
+ interface BridgeTransferTool {
3712
4320
  /**
3713
4321
  * Name of the tool. Must be unique within all tools available to LLM at any given
3714
- * time (general tools + state tools + state edges).
4322
+ * time (general tools + state tools + state transitions). Must be consisted of
4323
+ * a-z, A-Z, 0-9, or contain underscores and dashes, with a maximum length of 64
4324
+ * (no space allowed).
3715
4325
  */
3716
4326
  name: string;
4327
+ type: 'bridge_transfer';
3717
4328
  /**
3718
- * Post call analysis setting for the agent swap.
3719
- */
3720
- post_call_analysis_setting: 'both_agents' | 'only_destination_agent';
3721
- type: 'agent_swap';
3722
- /**
3723
- * The version of the agent to swap to. If not specified, will use the latest
3724
- * version.
3725
- */
3726
- agent_version?: number;
3727
- /**
3728
- * Describes what the tool does, sometimes can also include information about when
3729
- * to call the tool.
4329
+ * Describes what the tool does. This tool is only available to transfer agents
4330
+ * (agents with isTransferAgent set to true) in agentic warm transfer mode. When
4331
+ * invoked, it bridges the original caller to the transfer target and ends the
4332
+ * transfer agent call.
3730
4333
  */
3731
4334
  description?: string;
4335
+ }
4336
+ interface CancelTransferTool {
3732
4337
  /**
3733
- * The message for the agent to speak when executing agent swap.
4338
+ * Name of the tool. Must be unique within all tools available to LLM at any given
4339
+ * time (general tools + state tools + state transitions). Must be consisted of
4340
+ * a-z, A-Z, 0-9, or contain underscores and dashes, with a maximum length of 64
4341
+ * (no space allowed).
3734
4342
  */
3735
- execution_message_description?: string;
3736
- speak_during_execution?: boolean;
4343
+ name: string;
4344
+ type: 'cancel_transfer';
3737
4345
  /**
3738
- * Webhook setting for the agent swap, defaults to only source.
4346
+ * Describes what the tool does. This tool is only available to transfer agents
4347
+ * (agents with isTransferAgent set to true) in agentic warm transfer mode. When
4348
+ * invoked, it cancels the transfer, returns the original caller to the main agent,
4349
+ * and ends the transfer agent call.
3739
4350
  */
3740
- webhook_setting?: 'both_agents' | 'only_destination_agent' | 'only_source_agent';
4351
+ description?: string;
3741
4352
  }
3742
4353
  interface McpTool {
3743
4354
  /**
@@ -3756,6 +4367,19 @@ export declare namespace LlmUpdateParams {
3756
4367
  * tool. Make sure it fits into the conversation smoothly.".
3757
4368
  */
3758
4369
  execution_message_description?: string;
4370
+ /**
4371
+ * Type of execution message. "prompt" means the agent will use
4372
+ * execution_message_description as a prompt to generate the message. "static_text"
4373
+ * means the agent will speak the execution_message_description directly. Defaults
4374
+ * to "prompt".
4375
+ */
4376
+ execution_message_type?: 'prompt' | 'static_text';
4377
+ /**
4378
+ * The input schema of the MCP tool.
4379
+ */
4380
+ input_schema?: {
4381
+ [key: string]: string;
4382
+ };
3759
4383
  /**
3760
4384
  * Unique id of the MCP.
3761
4385
  */
@@ -3781,38 +4405,6 @@ export declare namespace LlmUpdateParams {
3781
4405
  */
3782
4406
  speak_during_execution?: boolean;
3783
4407
  }
3784
- interface SendSMSTool {
3785
- /**
3786
- * Name of the tool. Must be unique within all tools available to LLM at any given
3787
- * time (general tools + state tools + state edges).
3788
- */
3789
- name: string;
3790
- sms_content: SendSMSTool.SMSContentPredefined | SendSMSTool.SMSContentInferred;
3791
- type: 'send_sms';
3792
- /**
3793
- * Describes what the tool does, sometimes can also include information about when
3794
- * to call the tool.
3795
- */
3796
- description?: string;
3797
- }
3798
- namespace SendSMSTool {
3799
- interface SMSContentPredefined {
3800
- /**
3801
- * The static message to be sent in the SMS. Can contain dynamic variables.
3802
- */
3803
- content?: string;
3804
- type?: 'predefined';
3805
- }
3806
- interface SMSContentInferred {
3807
- /**
3808
- * The prompt to be used to help infer the SMS content. The model will take the
3809
- * global prompt, the call transcript, and this prompt together to deduce the right
3810
- * message to send. Can contain dynamic variables.
3811
- */
3812
- prompt?: string;
3813
- type?: 'inferred';
3814
- }
3815
- }
3816
4408
  /**
3817
4409
  * Knowledge base configuration for RAG retrieval.
3818
4410
  */
@@ -3870,12 +4462,12 @@ export declare namespace LlmUpdateParams {
3870
4462
  /**
3871
4463
  * A list of tools specific to this state the model may call (to get external
3872
4464
  * knowledge, call API, etc). You can select from some common predefined tools like
3873
- * end call, transfer call, etc; or you can create your own custom tool (last
3874
- * option) for the LLM to use.
4465
+ * end call, transfer call, etc; or you can create your own custom tool for the LLM
4466
+ * to use.
3875
4467
  *
3876
4468
  * - Tools of LLM = general tools + state tools + state transitions
3877
4469
  */
3878
- tools?: Array<State.EndCallTool | State.TransferCallTool | State.CheckAvailabilityCalTool | State.BookAppointmentCalTool | State.PressDigitTool | State.CustomTool | State.ExtractDynamicVariableTool | State.AgentSwapTool | State.McpTool | State.SendSMSTool>;
4470
+ tools?: Array<State.EndCallTool | State.TransferCallTool | State.CheckAvailabilityCalTool | State.BookAppointmentCalTool | State.AgentSwapTool | State.PressDigitTool | State.SendSMSTool | State.CustomTool | State.ExtractDynamicVariableTool | State.BridgeTransferTool | State.CancelTransferTool | State.McpTool>;
3879
4471
  }
3880
4472
  namespace State {
3881
4473
  interface Edge {
@@ -3944,6 +4536,22 @@ export declare namespace LlmUpdateParams {
3944
4536
  * to call the tool.
3945
4537
  */
3946
4538
  description?: string;
4539
+ /**
4540
+ * Describes what to say to user when ending the call. Only applicable when
4541
+ * speak_during_execution is true.
4542
+ */
4543
+ execution_message_description?: string;
4544
+ /**
4545
+ * Type of execution message. "prompt" means the agent will use
4546
+ * execution_message_description as a prompt to generate the message. "static_text"
4547
+ * means the agent will speak the execution_message_description directly. Defaults
4548
+ * to "prompt".
4549
+ */
4550
+ execution_message_type?: 'prompt' | 'static_text';
4551
+ /**
4552
+ * If true, will speak during execution.
4553
+ */
4554
+ speak_during_execution?: boolean;
3947
4555
  }
3948
4556
  interface TransferCallTool {
3949
4557
  /**
@@ -3965,6 +4573,18 @@ export declare namespace LlmUpdateParams {
3965
4573
  * to call the tool.
3966
4574
  */
3967
4575
  description?: string;
4576
+ /**
4577
+ * Describes what to say to user when transferring the call. Only applicable when
4578
+ * speak_during_execution is true.
4579
+ */
4580
+ execution_message_description?: string;
4581
+ /**
4582
+ * Type of execution message. "prompt" means the agent will use
4583
+ * execution_message_description as a prompt to generate the message. "static_text"
4584
+ * means the agent will speak the execution_message_description directly. Defaults
4585
+ * to "prompt".
4586
+ */
4587
+ execution_message_type?: 'prompt' | 'static_text';
3968
4588
  /**
3969
4589
  * If true, the e.164 validation will be ignored for the from_number. This can be
3970
4590
  * useful when you want to dial to internal pseudo numbers. This only applies when
@@ -3972,6 +4592,10 @@ export declare namespace LlmUpdateParams {
3972
4592
  * Telephony. If omitted, the default value is false.
3973
4593
  */
3974
4594
  ignore_e164_validation?: boolean;
4595
+ /**
4596
+ * If true, will speak during execution.
4597
+ */
4598
+ speak_during_execution?: boolean;
3975
4599
  }
3976
4600
  namespace TransferCallTool {
3977
4601
  interface TransferDestinationPredefined {
@@ -4007,10 +4631,19 @@ export declare namespace LlmUpdateParams {
4007
4631
  * The type of the transfer.
4008
4632
  */
4009
4633
  type: 'cold_transfer';
4634
+ /**
4635
+ * The mode of the cold transfer. If set to `sip_refer`, will use SIP REFER to
4636
+ * transfer the call. If set to `sip_invite`, will use SIP INVITE to transfer the
4637
+ * call.
4638
+ */
4639
+ cold_transfer_mode?: 'sip_refer' | 'sip_invite';
4010
4640
  /**
4011
4641
  * If set to true, will show transferee (the user, not the AI agent) as caller when
4012
- * transferring, requires the telephony side to support caller id override. Retell
4013
- * Twilio numbers support this option.
4642
+ * transferring. Requires the telephony side to support caller id override. Retell
4643
+ * Twilio numbers support this option. This parameter takes effect only when
4644
+ * `cold_transfer_mode` is set to `sip_invite`. When using `sip_refer`, this option
4645
+ * is not available. Retell Twilio numbers always use user's number as the caller
4646
+ * id when using `sip refer` cold transfer mode.
4014
4647
  */
4015
4648
  show_transferee_as_caller?: boolean;
4016
4649
  }
@@ -4023,6 +4656,10 @@ export declare namespace LlmUpdateParams {
4023
4656
  * The time to wait before considering transfer fails.
4024
4657
  */
4025
4658
  agent_detection_timeout_ms?: number;
4659
+ /**
4660
+ * Whether to play an audio cue when bridging the call. Defaults to true.
4661
+ */
4662
+ enable_bridge_audio_cue?: boolean;
4026
4663
  /**
4027
4664
  * IVR navigation option to run when doing human detection. This prompt will guide
4028
4665
  * the AI on how to navigate the IVR system.
@@ -4193,9 +4830,10 @@ export declare namespace LlmUpdateParams {
4193
4830
  cal_api_key: string;
4194
4831
  /**
4195
4832
  * Cal.com event type id number for the cal.com event you want to check
4196
- * availability for.
4833
+ * availability for. Can be a number or a dynamic variable in the format
4834
+ * `{{variable_name}}` that will be resolved at runtime.
4197
4835
  */
4198
- event_type_id: number;
4836
+ event_type_id: number | string;
4199
4837
  /**
4200
4838
  * Name of the tool. Must be unique within all tools available to LLM at any given
4201
4839
  * time (general tools + state tools + state transitions). Must be consisted of
@@ -4212,8 +4850,9 @@ export declare namespace LlmUpdateParams {
4212
4850
  /**
4213
4851
  * Timezone to be used when checking availability, must be in
4214
4852
  * [IANA timezone database](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones).
4215
- * If not specified, will check if user specified timezone in call, and if not,
4216
- * will use the timezone of the Retell servers.
4853
+ * Can also be a dynamic variable in the format `{{variable_name}}` that will be
4854
+ * resolved at runtime. If not specified, will check if user specified timezone in
4855
+ * call, and if not, will use the timezone of the Retell servers.
4217
4856
  */
4218
4857
  timezone?: string;
4219
4858
  }
@@ -4225,8 +4864,10 @@ export declare namespace LlmUpdateParams {
4225
4864
  cal_api_key: string;
4226
4865
  /**
4227
4866
  * Cal.com event type id number for the cal.com event you want to book appointment.
4867
+ * Can be a number or a dynamic variable in the format `{{variable_name}}` that
4868
+ * will be resolved at runtime.
4228
4869
  */
4229
- event_type_id: number;
4870
+ event_type_id: number | string;
4230
4871
  /**
4231
4872
  * Name of the tool. Must be unique within all tools available to LLM at any given
4232
4873
  * time (general tools + state tools + state transitions). Must be consisted of
@@ -4243,11 +4884,58 @@ export declare namespace LlmUpdateParams {
4243
4884
  /**
4244
4885
  * Timezone to be used when booking appointment, must be in
4245
4886
  * [IANA timezone database](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones).
4246
- * If not specified, will check if user specified timezone in call, and if not,
4247
- * will use the timezone of the Retell servers.
4887
+ * Can also be a dynamic variable in the format `{{variable_name}}` that will be
4888
+ * resolved at runtime. If not specified, will check if user specified timezone in
4889
+ * call, and if not, will use the timezone of the Retell servers.
4248
4890
  */
4249
4891
  timezone?: string;
4250
4892
  }
4893
+ interface AgentSwapTool {
4894
+ /**
4895
+ * The id of the agent to swap to.
4896
+ */
4897
+ agent_id: string;
4898
+ /**
4899
+ * Name of the tool. Must be unique within all tools available to LLM at any given
4900
+ * time (general tools + state tools + state edges).
4901
+ */
4902
+ name: string;
4903
+ /**
4904
+ * Post call analysis setting for the agent swap.
4905
+ */
4906
+ post_call_analysis_setting: 'both_agents' | 'only_destination_agent';
4907
+ type: 'agent_swap';
4908
+ /**
4909
+ * The version of the agent to swap to. If not specified, will use the latest
4910
+ * version.
4911
+ */
4912
+ agent_version?: number;
4913
+ /**
4914
+ * Describes what the tool does, sometimes can also include information about when
4915
+ * to call the tool.
4916
+ */
4917
+ description?: string;
4918
+ /**
4919
+ * The message for the agent to speak when executing agent swap.
4920
+ */
4921
+ execution_message_description?: string;
4922
+ /**
4923
+ * Type of execution message. "prompt" means the agent will use
4924
+ * execution_message_description as a prompt to generate the message. "static_text"
4925
+ * means the agent will speak the execution_message_description directly. Defaults
4926
+ * to "prompt".
4927
+ */
4928
+ execution_message_type?: 'prompt' | 'static_text';
4929
+ /**
4930
+ * If true, keep the current voice when swapping agents. Defaults to false.
4931
+ */
4932
+ keep_current_voice?: boolean;
4933
+ speak_during_execution?: boolean;
4934
+ /**
4935
+ * Webhook setting for the agent swap, defaults to only source.
4936
+ */
4937
+ webhook_setting?: 'both_agents' | 'only_destination_agent' | 'only_source_agent';
4938
+ }
4251
4939
  interface PressDigitTool {
4252
4940
  /**
4253
4941
  * Name of the tool. Must be unique within all tools available to LLM at any given
@@ -4269,11 +4957,39 @@ export declare namespace LlmUpdateParams {
4269
4957
  */
4270
4958
  description?: string;
4271
4959
  }
4272
- interface CustomTool {
4960
+ interface SendSMSTool {
4273
4961
  /**
4274
- * Describes what this tool does and when to call this tool.
4962
+ * Name of the tool. Must be unique within all tools available to LLM at any given
4963
+ * time (general tools + state tools + state edges).
4275
4964
  */
4276
- description: string;
4965
+ name: string;
4966
+ sms_content: SendSMSTool.SMSContentPredefined | SendSMSTool.SMSContentInferred;
4967
+ type: 'send_sms';
4968
+ /**
4969
+ * Describes what the tool does, sometimes can also include information about when
4970
+ * to call the tool.
4971
+ */
4972
+ description?: string;
4973
+ }
4974
+ namespace SendSMSTool {
4975
+ interface SMSContentPredefined {
4976
+ /**
4977
+ * The static message to be sent in the SMS. Can contain dynamic variables.
4978
+ */
4979
+ content?: string;
4980
+ type?: 'predefined';
4981
+ }
4982
+ interface SMSContentInferred {
4983
+ /**
4984
+ * The prompt to be used to help infer the SMS content. The model will take the
4985
+ * global prompt, the call transcript, and this prompt together to deduce the right
4986
+ * message to send. Can contain dynamic variables.
4987
+ */
4988
+ prompt?: string;
4989
+ type?: 'inferred';
4990
+ }
4991
+ }
4992
+ interface CustomTool {
4277
4993
  /**
4278
4994
  * Name of the tool. Must be unique within all tools available to LLM at any given
4279
4995
  * time (general tools + state tools + state edges). Must be consisted of a-z, A-Z,
@@ -4281,18 +4997,21 @@ export declare namespace LlmUpdateParams {
4281
4997
  * allowed).
4282
4998
  */
4283
4999
  name: string;
4284
- /**
4285
- * Determines whether the agent would call LLM another time and speak when the
4286
- * result of function is obtained. Usually this needs to get turned on so user can
4287
- * get update for the function call.
4288
- */
4289
- speak_after_execution: boolean;
4290
5000
  type: 'custom';
4291
5001
  /**
4292
5002
  * Describes what the tool does, sometimes can also include information about when
4293
5003
  * to call the tool.
4294
5004
  */
4295
5005
  url: string;
5006
+ /**
5007
+ * If set to true, the parameters will be passed as root level JSON object instead
5008
+ * of nested under "args".
5009
+ */
5010
+ args_at_root?: boolean;
5011
+ /**
5012
+ * Describes what this tool does and when to call this tool.
5013
+ */
5014
+ description?: string;
4296
5015
  /**
4297
5016
  * The description for the sentence agent say during execution. Only applicable
4298
5017
  * when speak_during_execution is true. Can write what to say or even provide
@@ -4300,6 +5019,13 @@ export declare namespace LlmUpdateParams {
4300
5019
  * tool. Make sure it fits into the conversation smoothly.".
4301
5020
  */
4302
5021
  execution_message_description?: string;
5022
+ /**
5023
+ * Type of execution message. "prompt" means the agent will use
5024
+ * execution_message_description as a prompt to generate the message. "static_text"
5025
+ * means the agent will speak the execution_message_description directly. Defaults
5026
+ * to "prompt".
5027
+ */
5028
+ execution_message_type?: 'prompt' | 'static_text';
4303
5029
  /**
4304
5030
  * Headers to add to the request.
4305
5031
  */
@@ -4331,6 +5057,12 @@ export declare namespace LlmUpdateParams {
4331
5057
  response_variables?: {
4332
5058
  [key: string]: string;
4333
5059
  };
5060
+ /**
5061
+ * Determines whether the agent would call LLM another time and speak when the
5062
+ * result of function is obtained. Usually this needs to get turned on so user can
5063
+ * get update for the function call.
5064
+ */
5065
+ speak_after_execution?: boolean;
4334
5066
  /**
4335
5067
  * Determines whether the agent would say sentence like "One moment, let me check
4336
5068
  * that." when executing the function. Recommend to turn on if your function call
@@ -4458,40 +5190,39 @@ export declare namespace LlmUpdateParams {
4458
5190
  type: 'number';
4459
5191
  }
4460
5192
  }
4461
- interface AgentSwapTool {
4462
- /**
4463
- * The id of the agent to swap to.
4464
- */
4465
- agent_id: string;
5193
+ interface BridgeTransferTool {
4466
5194
  /**
4467
5195
  * Name of the tool. Must be unique within all tools available to LLM at any given
4468
- * time (general tools + state tools + state edges).
5196
+ * time (general tools + state tools + state transitions). Must be consisted of
5197
+ * a-z, A-Z, 0-9, or contain underscores and dashes, with a maximum length of 64
5198
+ * (no space allowed).
4469
5199
  */
4470
5200
  name: string;
5201
+ type: 'bridge_transfer';
4471
5202
  /**
4472
- * Post call analysis setting for the agent swap.
4473
- */
4474
- post_call_analysis_setting: 'both_agents' | 'only_destination_agent';
4475
- type: 'agent_swap';
4476
- /**
4477
- * The version of the agent to swap to. If not specified, will use the latest
4478
- * version.
4479
- */
4480
- agent_version?: number;
4481
- /**
4482
- * Describes what the tool does, sometimes can also include information about when
4483
- * to call the tool.
5203
+ * Describes what the tool does. This tool is only available to transfer agents
5204
+ * (agents with isTransferAgent set to true) in agentic warm transfer mode. When
5205
+ * invoked, it bridges the original caller to the transfer target and ends the
5206
+ * transfer agent call.
4484
5207
  */
4485
5208
  description?: string;
5209
+ }
5210
+ interface CancelTransferTool {
4486
5211
  /**
4487
- * The message for the agent to speak when executing agent swap.
5212
+ * Name of the tool. Must be unique within all tools available to LLM at any given
5213
+ * time (general tools + state tools + state transitions). Must be consisted of
5214
+ * a-z, A-Z, 0-9, or contain underscores and dashes, with a maximum length of 64
5215
+ * (no space allowed).
4488
5216
  */
4489
- execution_message_description?: string;
4490
- speak_during_execution?: boolean;
5217
+ name: string;
5218
+ type: 'cancel_transfer';
4491
5219
  /**
4492
- * Webhook setting for the agent swap, defaults to only source.
5220
+ * Describes what the tool does. This tool is only available to transfer agents
5221
+ * (agents with isTransferAgent set to true) in agentic warm transfer mode. When
5222
+ * invoked, it cancels the transfer, returns the original caller to the main agent,
5223
+ * and ends the transfer agent call.
4493
5224
  */
4494
- webhook_setting?: 'both_agents' | 'only_destination_agent' | 'only_source_agent';
5225
+ description?: string;
4495
5226
  }
4496
5227
  interface McpTool {
4497
5228
  /**
@@ -4510,6 +5241,19 @@ export declare namespace LlmUpdateParams {
4510
5241
  * tool. Make sure it fits into the conversation smoothly.".
4511
5242
  */
4512
5243
  execution_message_description?: string;
5244
+ /**
5245
+ * Type of execution message. "prompt" means the agent will use
5246
+ * execution_message_description as a prompt to generate the message. "static_text"
5247
+ * means the agent will speak the execution_message_description directly. Defaults
5248
+ * to "prompt".
5249
+ */
5250
+ execution_message_type?: 'prompt' | 'static_text';
5251
+ /**
5252
+ * The input schema of the MCP tool.
5253
+ */
5254
+ input_schema?: {
5255
+ [key: string]: string;
5256
+ };
4513
5257
  /**
4514
5258
  * Unique id of the MCP.
4515
5259
  */
@@ -4535,38 +5279,6 @@ export declare namespace LlmUpdateParams {
4535
5279
  */
4536
5280
  speak_during_execution?: boolean;
4537
5281
  }
4538
- interface SendSMSTool {
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).
4542
- */
4543
- name: string;
4544
- sms_content: SendSMSTool.SMSContentPredefined | SendSMSTool.SMSContentInferred;
4545
- type: 'send_sms';
4546
- /**
4547
- * Describes what the tool does, sometimes can also include information about when
4548
- * to call the tool.
4549
- */
4550
- description?: string;
4551
- }
4552
- namespace SendSMSTool {
4553
- interface SMSContentPredefined {
4554
- /**
4555
- * The static message to be sent in the SMS. Can contain dynamic variables.
4556
- */
4557
- content?: string;
4558
- type?: 'predefined';
4559
- }
4560
- interface SMSContentInferred {
4561
- /**
4562
- * The prompt to be used to help infer the SMS content. The model will take the
4563
- * global prompt, the call transcript, and this prompt together to deduce the right
4564
- * message to send. Can contain dynamic variables.
4565
- */
4566
- prompt?: string;
4567
- type?: 'inferred';
4568
- }
4569
- }
4570
5282
  }
4571
5283
  }
4572
5284
  export interface LlmListParams {