telnyx 6.41.0 → 6.42.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 (278) hide show
  1. package/CHANGELOG.md +41 -0
  2. package/client.d.mts +2 -2
  3. package/client.d.mts.map +1 -1
  4. package/client.d.ts +2 -2
  5. package/client.d.ts.map +1 -1
  6. package/client.js +11 -0
  7. package/client.js.map +1 -1
  8. package/client.mjs +11 -0
  9. package/client.mjs.map +1 -1
  10. package/core/EventEmitter.d.mts +11 -0
  11. package/core/EventEmitter.d.mts.map +1 -1
  12. package/core/EventEmitter.d.ts +11 -0
  13. package/core/EventEmitter.d.ts.map +1 -1
  14. package/core/EventEmitter.js +15 -1
  15. package/core/EventEmitter.js.map +1 -1
  16. package/core/EventEmitter.mjs +13 -0
  17. package/core/EventEmitter.mjs.map +1 -1
  18. package/core/pagination.d.mts.map +1 -1
  19. package/core/pagination.d.ts.map +1 -1
  20. package/internal/detect-platform.js +1 -1
  21. package/internal/detect-platform.js.map +1 -1
  22. package/internal/detect-platform.mjs +1 -1
  23. package/internal/detect-platform.mjs.map +1 -1
  24. package/internal/types.d.mts +6 -6
  25. package/internal/types.d.mts.map +1 -1
  26. package/internal/types.d.ts +6 -6
  27. package/internal/types.d.ts.map +1 -1
  28. package/internal/utils/env.js +2 -2
  29. package/internal/utils/env.js.map +1 -1
  30. package/internal/utils/env.mjs +2 -2
  31. package/internal/utils/env.mjs.map +1 -1
  32. package/internal/ws-adapter-browser.d.mts +34 -0
  33. package/internal/ws-adapter-browser.d.mts.map +1 -0
  34. package/internal/ws-adapter-browser.d.ts +34 -0
  35. package/internal/ws-adapter-browser.d.ts.map +1 -0
  36. package/internal/ws-adapter-browser.js +88 -0
  37. package/internal/ws-adapter-browser.js.map +1 -0
  38. package/internal/ws-adapter-browser.mjs +84 -0
  39. package/internal/ws-adapter-browser.mjs.map +1 -0
  40. package/internal/ws-adapter-node.d.mts +27 -0
  41. package/internal/ws-adapter-node.d.mts.map +1 -0
  42. package/internal/ws-adapter-node.d.ts +27 -0
  43. package/internal/ws-adapter-node.d.ts.map +1 -0
  44. package/internal/ws-adapter-node.js +90 -0
  45. package/internal/ws-adapter-node.js.map +1 -0
  46. package/internal/ws-adapter-node.mjs +86 -0
  47. package/internal/ws-adapter-node.mjs.map +1 -0
  48. package/internal/ws-adapter.d.mts +24 -0
  49. package/internal/ws-adapter.d.mts.map +1 -0
  50. package/internal/ws-adapter.d.ts +24 -0
  51. package/internal/ws-adapter.d.ts.map +1 -0
  52. package/internal/ws-adapter.js +11 -0
  53. package/internal/ws-adapter.js.map +1 -0
  54. package/internal/ws-adapter.mjs +8 -0
  55. package/internal/ws-adapter.mjs.map +1 -0
  56. package/internal/ws.d.mts +80 -0
  57. package/internal/ws.d.mts.map +1 -0
  58. package/internal/ws.d.ts +80 -0
  59. package/internal/ws.d.ts.map +1 -0
  60. package/internal/ws.js +153 -0
  61. package/internal/ws.js.map +1 -0
  62. package/internal/ws.mjs +147 -0
  63. package/internal/ws.mjs.map +1 -0
  64. package/lib/text-to-speech-ws-base.d.mts +106 -0
  65. package/lib/text-to-speech-ws-base.d.mts.map +1 -0
  66. package/lib/text-to-speech-ws-base.d.ts +106 -0
  67. package/lib/text-to-speech-ws-base.d.ts.map +1 -0
  68. package/lib/text-to-speech-ws-base.js +475 -0
  69. package/lib/text-to-speech-ws-base.js.map +1 -0
  70. package/lib/text-to-speech-ws-base.mjs +471 -0
  71. package/lib/text-to-speech-ws-base.mjs.map +1 -0
  72. package/lib/text-to-speech-ws-internal.d.mts +71 -0
  73. package/lib/text-to-speech-ws-internal.d.mts.map +1 -0
  74. package/lib/text-to-speech-ws-internal.d.ts +71 -0
  75. package/lib/text-to-speech-ws-internal.d.ts.map +1 -0
  76. package/lib/text-to-speech-ws-internal.js +47 -0
  77. package/lib/text-to-speech-ws-internal.js.map +1 -0
  78. package/lib/text-to-speech-ws-internal.mjs +41 -0
  79. package/lib/text-to-speech-ws-internal.mjs.map +1 -0
  80. package/lib/text-to-speech-ws.d.mts +13 -0
  81. package/lib/text-to-speech-ws.d.mts.map +1 -0
  82. package/lib/text-to-speech-ws.d.ts +13 -0
  83. package/lib/text-to-speech-ws.d.ts.map +1 -0
  84. package/lib/text-to-speech-ws.js +30 -0
  85. package/lib/text-to-speech-ws.js.map +1 -0
  86. package/lib/text-to-speech-ws.mjs +25 -0
  87. package/lib/text-to-speech-ws.mjs.map +1 -0
  88. package/lib/webhooks.d.mts +6 -0
  89. package/lib/webhooks.d.mts.map +1 -1
  90. package/lib/webhooks.d.ts +6 -0
  91. package/lib/webhooks.d.ts.map +1 -1
  92. package/lib/webhooks.js +16 -0
  93. package/lib/webhooks.js.map +1 -1
  94. package/lib/webhooks.mjs +14 -0
  95. package/lib/webhooks.mjs.map +1 -1
  96. package/package.json +1 -1
  97. package/resources/ai/assistants/assistants.d.mts +901 -51
  98. package/resources/ai/assistants/assistants.d.mts.map +1 -1
  99. package/resources/ai/assistants/assistants.d.ts +901 -51
  100. package/resources/ai/assistants/assistants.d.ts.map +1 -1
  101. package/resources/ai/assistants/assistants.js +0 -1
  102. package/resources/ai/assistants/assistants.js.map +1 -1
  103. package/resources/ai/assistants/assistants.mjs +0 -1
  104. package/resources/ai/assistants/assistants.mjs.map +1 -1
  105. package/resources/ai/assistants/versions.d.mts +563 -25
  106. package/resources/ai/assistants/versions.d.mts.map +1 -1
  107. package/resources/ai/assistants/versions.d.ts +563 -25
  108. package/resources/ai/assistants/versions.d.ts.map +1 -1
  109. package/resources/ai/conversations/conversations.d.mts +2 -2
  110. package/resources/ai/conversations/conversations.d.mts.map +1 -1
  111. package/resources/ai/conversations/conversations.d.ts +2 -2
  112. package/resources/ai/conversations/conversations.d.ts.map +1 -1
  113. package/resources/ai/conversations/conversations.js.map +1 -1
  114. package/resources/ai/conversations/conversations.mjs +1 -1
  115. package/resources/ai/conversations/conversations.mjs.map +1 -1
  116. package/resources/ai/conversations/index.d.mts +1 -1
  117. package/resources/ai/conversations/index.d.mts.map +1 -1
  118. package/resources/ai/conversations/index.d.ts +1 -1
  119. package/resources/ai/conversations/index.d.ts.map +1 -1
  120. package/resources/ai/conversations/index.js.map +1 -1
  121. package/resources/ai/conversations/index.mjs +1 -1
  122. package/resources/ai/conversations/index.mjs.map +1 -1
  123. package/resources/ai/conversations/messages.d.mts +46 -48
  124. package/resources/ai/conversations/messages.d.mts.map +1 -1
  125. package/resources/ai/conversations/messages.d.ts +46 -48
  126. package/resources/ai/conversations/messages.d.ts.map +1 -1
  127. package/resources/ai/conversations/messages.js +9 -6
  128. package/resources/ai/conversations/messages.js.map +1 -1
  129. package/resources/ai/conversations/messages.mjs +9 -6
  130. package/resources/ai/conversations/messages.mjs.map +1 -1
  131. package/resources/calls/actions.d.mts +114 -6
  132. package/resources/calls/actions.d.mts.map +1 -1
  133. package/resources/calls/actions.d.ts +114 -6
  134. package/resources/calls/actions.d.ts.map +1 -1
  135. package/resources/calls/actions.js +4 -0
  136. package/resources/calls/actions.js.map +1 -1
  137. package/resources/calls/actions.mjs +4 -0
  138. package/resources/calls/actions.mjs.map +1 -1
  139. package/resources/calls/calls.d.mts +168 -8
  140. package/resources/calls/calls.d.mts.map +1 -1
  141. package/resources/calls/calls.d.ts +168 -8
  142. package/resources/calls/calls.d.ts.map +1 -1
  143. package/resources/calls/calls.js +4 -0
  144. package/resources/calls/calls.js.map +1 -1
  145. package/resources/calls/calls.mjs +4 -0
  146. package/resources/calls/calls.mjs.map +1 -1
  147. package/resources/index.d.mts +2 -3
  148. package/resources/index.d.mts.map +1 -1
  149. package/resources/index.d.ts +2 -3
  150. package/resources/index.d.ts.map +1 -1
  151. package/resources/index.js +2 -7
  152. package/resources/index.js.map +1 -1
  153. package/resources/index.mjs +1 -2
  154. package/resources/index.mjs.map +1 -1
  155. package/resources/inexplicit-number-orders.d.mts.map +1 -1
  156. package/resources/inexplicit-number-orders.d.ts.map +1 -1
  157. package/resources/messages/messages.d.mts +4 -0
  158. package/resources/messages/messages.d.mts.map +1 -1
  159. package/resources/messages/messages.d.ts +4 -0
  160. package/resources/messages/messages.d.ts.map +1 -1
  161. package/resources/messages/messages.js.map +1 -1
  162. package/resources/messages/messages.mjs.map +1 -1
  163. package/resources/networks/networks.d.mts.map +1 -1
  164. package/resources/networks/networks.d.ts.map +1 -1
  165. package/resources/networks/networks.js.map +1 -1
  166. package/resources/networks/networks.mjs.map +1 -1
  167. package/resources/session-analysis/session-analysis.d.mts +3 -13
  168. package/resources/session-analysis/session-analysis.d.mts.map +1 -1
  169. package/resources/session-analysis/session-analysis.d.ts +3 -13
  170. package/resources/session-analysis/session-analysis.d.ts.map +1 -1
  171. package/resources/session-analysis/session-analysis.js.map +1 -1
  172. package/resources/session-analysis/session-analysis.mjs.map +1 -1
  173. package/resources/texml/accounts/calls/calls.d.mts +45 -0
  174. package/resources/texml/accounts/calls/calls.d.mts.map +1 -1
  175. package/resources/texml/accounts/calls/calls.d.ts +45 -0
  176. package/resources/texml/accounts/calls/calls.d.ts.map +1 -1
  177. package/resources/texml/accounts/calls/calls.js.map +1 -1
  178. package/resources/texml/accounts/calls/calls.mjs.map +1 -1
  179. package/resources/text-to-speech/index.d.mts +2 -1
  180. package/resources/text-to-speech/index.d.mts.map +1 -1
  181. package/resources/text-to-speech/index.d.ts +2 -1
  182. package/resources/text-to-speech/index.d.ts.map +1 -1
  183. package/resources/text-to-speech/index.js.map +1 -1
  184. package/resources/text-to-speech/index.mjs.map +1 -1
  185. package/resources/text-to-speech/internal-base.d.mts +1 -48
  186. package/resources/text-to-speech/internal-base.d.mts.map +1 -1
  187. package/resources/text-to-speech/internal-base.d.ts +1 -48
  188. package/resources/text-to-speech/internal-base.d.ts.map +1 -1
  189. package/resources/text-to-speech/internal-base.js +5 -48
  190. package/resources/text-to-speech/internal-base.js.map +1 -1
  191. package/resources/text-to-speech/internal-base.mjs +1 -44
  192. package/resources/text-to-speech/internal-base.mjs.map +1 -1
  193. package/resources/text-to-speech/text-to-speech.d.mts +28 -3
  194. package/resources/text-to-speech/text-to-speech.d.mts.map +1 -1
  195. package/resources/text-to-speech/text-to-speech.d.ts +28 -3
  196. package/resources/text-to-speech/text-to-speech.d.ts.map +1 -1
  197. package/resources/text-to-speech/text-to-speech.js +1 -1
  198. package/resources/text-to-speech/text-to-speech.mjs +1 -1
  199. package/resources/text-to-speech/ws-base.d.mts +2 -0
  200. package/resources/text-to-speech/ws-base.d.mts.map +1 -0
  201. package/resources/text-to-speech/ws-base.d.ts +2 -0
  202. package/resources/text-to-speech/ws-base.d.ts.map +1 -0
  203. package/resources/text-to-speech/ws-base.js +7 -0
  204. package/resources/text-to-speech/ws-base.js.map +1 -0
  205. package/resources/text-to-speech/ws-base.mjs +3 -0
  206. package/resources/text-to-speech/ws-base.mjs.map +1 -0
  207. package/resources/text-to-speech/ws.d.mts +2 -41
  208. package/resources/text-to-speech/ws.d.mts.map +1 -1
  209. package/resources/text-to-speech/ws.d.ts +2 -41
  210. package/resources/text-to-speech/ws.d.ts.map +1 -1
  211. package/resources/text-to-speech/ws.js +2 -182
  212. package/resources/text-to-speech/ws.js.map +1 -1
  213. package/resources/text-to-speech/ws.mjs +1 -180
  214. package/resources/text-to-speech/ws.mjs.map +1 -1
  215. package/resources/verify-profiles.d.mts +97 -121
  216. package/resources/verify-profiles.d.mts.map +1 -1
  217. package/resources/verify-profiles.d.ts +97 -121
  218. package/resources/verify-profiles.d.ts.map +1 -1
  219. package/resources/virtual-cross-connects.d.mts.map +1 -1
  220. package/resources/virtual-cross-connects.d.ts.map +1 -1
  221. package/resources/webhooks.d.mts +642 -7
  222. package/resources/webhooks.d.mts.map +1 -1
  223. package/resources/webhooks.d.ts +642 -7
  224. package/resources/webhooks.d.ts.map +1 -1
  225. package/resources/webhooks.js +4 -10
  226. package/resources/webhooks.js.map +1 -1
  227. package/resources/webhooks.mjs +5 -11
  228. package/resources/webhooks.mjs.map +1 -1
  229. package/resources/whatsapp/phone-numbers/profile/profile.d.mts +5 -0
  230. package/resources/whatsapp/phone-numbers/profile/profile.d.mts.map +1 -1
  231. package/resources/whatsapp/phone-numbers/profile/profile.d.ts +5 -0
  232. package/resources/whatsapp/phone-numbers/profile/profile.d.ts.map +1 -1
  233. package/resources/whatsapp/phone-numbers/profile/profile.js.map +1 -1
  234. package/resources/whatsapp/phone-numbers/profile/profile.mjs.map +1 -1
  235. package/resources/wireguard-interfaces.d.mts.map +1 -1
  236. package/resources/wireguard-interfaces.d.ts.map +1 -1
  237. package/src/client.ts +22 -0
  238. package/src/core/EventEmitter.ts +16 -0
  239. package/src/core/pagination.ts +3 -3
  240. package/src/internal/detect-platform.ts +1 -1
  241. package/src/internal/types.ts +6 -8
  242. package/src/internal/utils/env.ts +2 -2
  243. package/src/internal/ws-adapter-browser.ts +123 -0
  244. package/src/internal/ws-adapter-node.ts +105 -0
  245. package/src/internal/ws-adapter.ts +30 -0
  246. package/src/internal/ws.ts +193 -0
  247. package/src/lib/text-to-speech-ws-base.ts +618 -0
  248. package/src/lib/text-to-speech-ws-internal.ts +111 -0
  249. package/src/lib/text-to-speech-ws.ts +40 -0
  250. package/src/lib/webhooks.ts +27 -0
  251. package/src/resources/ai/assistants/assistants.ts +1025 -51
  252. package/src/resources/ai/assistants/versions.ts +639 -25
  253. package/src/resources/ai/conversations/conversations.ts +12 -2
  254. package/src/resources/ai/conversations/index.ts +6 -1
  255. package/src/resources/ai/conversations/messages.ts +67 -54
  256. package/src/resources/calls/actions.ts +184 -4
  257. package/src/resources/calls/calls.ts +191 -4
  258. package/src/resources/index.ts +6 -12
  259. package/src/resources/inexplicit-number-orders.ts +2 -1
  260. package/src/resources/messages/messages.ts +5 -0
  261. package/src/resources/networks/networks.ts +2 -1
  262. package/src/resources/session-analysis/session-analysis.ts +3 -16
  263. package/src/resources/texml/accounts/calls/calls.ts +54 -0
  264. package/src/resources/text-to-speech/index.ts +2 -1
  265. package/src/resources/text-to-speech/internal-base.ts +6 -95
  266. package/src/resources/text-to-speech/text-to-speech.ts +33 -3
  267. package/src/resources/text-to-speech/ws-base.ts +7 -0
  268. package/src/resources/text-to-speech/ws.ts +2 -201
  269. package/src/resources/verify-profiles.ts +109 -142
  270. package/src/resources/virtual-cross-connects.ts +2 -1
  271. package/src/resources/webhooks.ts +886 -45
  272. package/src/resources/whatsapp/phone-numbers/profile/profile.ts +7 -0
  273. package/src/resources/wireguard-interfaces.ts +2 -1
  274. package/src/version.ts +1 -1
  275. package/version.d.mts +1 -1
  276. package/version.d.ts +1 -1
  277. package/version.js +1 -1
  278. package/version.mjs +1 -1
@@ -12,7 +12,12 @@ import {
12
12
  Insights,
13
13
  } from './insights';
14
14
  import * as MessagesAPI from './messages';
15
- import { MessageListResponse, Messages } from './messages';
15
+ import {
16
+ MessageListParams,
17
+ MessageListResponse,
18
+ MessageListResponsesDefaultFlatPagination,
19
+ Messages,
20
+ } from './messages';
16
21
  import * as InsightGroupsAPI from './insight-groups/insight-groups';
17
22
  import {
18
23
  InsightGroupInsightGroupsParams,
@@ -383,5 +388,10 @@ export declare namespace Conversations {
383
388
  type InsightListParams as InsightListParams,
384
389
  };
385
390
 
386
- export { Messages as Messages, type MessageListResponse as MessageListResponse };
391
+ export {
392
+ Messages as Messages,
393
+ type MessageListResponse as MessageListResponse,
394
+ type MessageListResponsesDefaultFlatPagination as MessageListResponsesDefaultFlatPagination,
395
+ type MessageListParams as MessageListParams,
396
+ };
387
397
  }
@@ -30,4 +30,9 @@ export {
30
30
  type InsightListParams,
31
31
  type InsightTemplatesDefaultFlatPagination,
32
32
  } from './insights';
33
- export { Messages, type MessageListResponse } from './messages';
33
+ export {
34
+ Messages,
35
+ type MessageListResponse,
36
+ type MessageListParams,
37
+ type MessageListResponsesDefaultFlatPagination,
38
+ } from './messages';
@@ -1,8 +1,11 @@
1
1
  // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
3
  import { APIResource } from '../../../core/resource';
4
- import * as RunsAPI from '../assistants/tests/test-suites/runs';
5
- import { APIPromise } from '../../../core/api-promise';
4
+ import {
5
+ DefaultFlatPagination,
6
+ type DefaultFlatPaginationParams,
7
+ PagePromise,
8
+ } from '../../../core/pagination';
6
9
  import { RequestOptions } from '../../../internal/request-options';
7
10
  import { path } from '../../../internal/utils/path';
8
11
 
@@ -16,84 +19,94 @@ export class Messages extends APIResource {
16
19
  *
17
20
  * @example
18
21
  * ```ts
19
- * const messages =
20
- * await client.ai.conversations.messages.list(
21
- * 'conversation_id',
22
- * );
22
+ * // Automatically fetches more pages as needed.
23
+ * for await (const messageListResponse of client.ai.conversations.messages.list(
24
+ * 'conversation_id',
25
+ * )) {
26
+ * // ...
27
+ * }
23
28
  * ```
24
29
  */
25
- list(conversationID: string, options?: RequestOptions): APIPromise<MessageListResponse> {
26
- return this._client.get(path`/ai/conversations/${conversationID}/messages`, options);
30
+ list(
31
+ conversationID: string,
32
+ query: MessageListParams | null | undefined = {},
33
+ options?: RequestOptions,
34
+ ): PagePromise<MessageListResponsesDefaultFlatPagination, MessageListResponse> {
35
+ return this._client.getAPIList(
36
+ path`/ai/conversations/${conversationID}/messages`,
37
+ DefaultFlatPagination<MessageListResponse>,
38
+ { query, ...options },
39
+ );
27
40
  }
28
41
  }
29
42
 
43
+ export type MessageListResponsesDefaultFlatPagination = DefaultFlatPagination<MessageListResponse>;
44
+
30
45
  export interface MessageListResponse {
31
- data: Array<MessageListResponse.Data>;
46
+ /**
47
+ * The role of the message sender.
48
+ */
49
+ role: 'user' | 'assistant' | 'tool';
32
50
 
33
- meta: RunsAPI.Meta;
34
- }
51
+ /**
52
+ * The message content. Can be null for tool calls.
53
+ */
54
+ text: string;
35
55
 
36
- export namespace MessageListResponse {
37
- export interface Data {
38
- /**
39
- * The role of the message sender.
40
- */
41
- role: 'user' | 'assistant' | 'tool';
56
+ /**
57
+ * The datetime the message was created on the conversation. This does not
58
+ * necesarily correspond to the time the message was sent. The best field to use to
59
+ * determine the time the end user experienced the message is `sent_at`.
60
+ */
61
+ created_at?: string;
42
62
 
43
- /**
44
- * The message content. Can be null for tool calls.
45
- */
46
- text: string;
63
+ /**
64
+ * The datetime the message was sent to the end user.
65
+ */
66
+ sent_at?: string;
47
67
 
48
- /**
49
- * The datetime the message was created on the conversation. This does not
50
- * necesarily correspond to the time the message was sent. The best field to use to
51
- * determine the time the end user experienced the message is `sent_at`.
52
- */
53
- created_at?: string;
68
+ /**
69
+ * Optional tool calls made by the assistant.
70
+ */
71
+ tool_calls?: Array<MessageListResponse.ToolCall>;
72
+ }
54
73
 
74
+ export namespace MessageListResponse {
75
+ export interface ToolCall {
55
76
  /**
56
- * The datetime the message was sent to the end user.
77
+ * Unique identifier for the tool call.
57
78
  */
58
- sent_at?: string;
79
+ id: string;
80
+
81
+ function: ToolCall.Function;
59
82
 
60
83
  /**
61
- * Optional tool calls made by the assistant.
84
+ * Type of the tool call.
62
85
  */
63
- tool_calls?: Array<Data.ToolCall>;
86
+ type: 'function';
64
87
  }
65
88
 
66
- export namespace Data {
67
- export interface ToolCall {
89
+ export namespace ToolCall {
90
+ export interface Function {
68
91
  /**
69
- * Unique identifier for the tool call.
92
+ * JSON-formatted arguments to pass to the function.
70
93
  */
71
- id: string;
72
-
73
- function: ToolCall.Function;
94
+ arguments: string;
74
95
 
75
96
  /**
76
- * Type of the tool call.
97
+ * Name of the function to call.
77
98
  */
78
- type: 'function';
79
- }
80
-
81
- export namespace ToolCall {
82
- export interface Function {
83
- /**
84
- * JSON-formatted arguments to pass to the function.
85
- */
86
- arguments: string;
87
-
88
- /**
89
- * Name of the function to call.
90
- */
91
- name: string;
92
- }
99
+ name: string;
93
100
  }
94
101
  }
95
102
  }
96
103
 
104
+ export interface MessageListParams extends DefaultFlatPaginationParams {}
105
+
97
106
  export declare namespace Messages {
98
- export { type MessageListResponse as MessageListResponse };
107
+ export {
108
+ type MessageListResponse as MessageListResponse,
109
+ type MessageListResponsesDefaultFlatPagination as MessageListResponsesDefaultFlatPagination,
110
+ type MessageListParams as MessageListParams,
111
+ };
99
112
  }
@@ -41,6 +41,10 @@ export class Actions extends APIResource {
41
41
  * **Expected Webhooks:**
42
42
  *
43
43
  * - `call.answered`
44
+ * - `call.hold` and `call.unhold` if the call is held/unheld
45
+ * - `call.deepfake_detection.result` if `deepfake_detection` was enabled
46
+ * - `call.deepfake_detection.error` if `deepfake_detection` was enabled and an
47
+ * error occurred
44
48
  * - `streaming.started`, `streaming.stopped` or `streaming.failed` if `stream_url`
45
49
  * was set
46
50
  *
@@ -1655,12 +1659,14 @@ export interface TranscriptionStartRequest {
1655
1659
  * Engine to use for speech recognition. Legacy values `A` - `Google`, `B` -
1656
1660
  * `Telnyx` are supported for backward compatibility.
1657
1661
  */
1658
- transcription_engine?: 'Google' | 'Telnyx' | 'Deepgram' | 'Azure' | 'A' | 'B';
1662
+ transcription_engine?: 'Google' | 'Telnyx' | 'Deepgram' | 'Azure' | 'xAI' | 'AssemblyAI' | 'A' | 'B';
1659
1663
 
1660
1664
  transcription_engine_config?:
1661
1665
  | TranscriptionEngineGoogleConfig
1662
1666
  | TranscriptionEngineTelnyxConfig
1663
1667
  | TranscriptionEngineAzureConfig
1668
+ | TranscriptionStartRequest.TranscriptionEngineXaiConfig
1669
+ | TranscriptionStartRequest.TranscriptionEngineAssemblyaiConfig
1664
1670
  | TranscriptionEngineAConfig
1665
1671
  | TranscriptionEngineBConfig
1666
1672
  | DeepgramNova2Config
@@ -1674,6 +1680,74 @@ export interface TranscriptionStartRequest {
1674
1680
  transcription_tracks?: string;
1675
1681
  }
1676
1682
 
1683
+ export namespace TranscriptionStartRequest {
1684
+ export interface TranscriptionEngineXaiConfig {
1685
+ /**
1686
+ * Whether to send also interim results. If set to false, only final results will
1687
+ * be sent.
1688
+ */
1689
+ interim_results?: boolean;
1690
+
1691
+ /**
1692
+ * Language to use for speech recognition
1693
+ */
1694
+ language?:
1695
+ | 'ar'
1696
+ | 'cs'
1697
+ | 'da'
1698
+ | 'de'
1699
+ | 'en'
1700
+ | 'es'
1701
+ | 'fa'
1702
+ | 'fil'
1703
+ | 'fr'
1704
+ | 'hi'
1705
+ | 'id'
1706
+ | 'it'
1707
+ | 'ja'
1708
+ | 'ko'
1709
+ | 'mk'
1710
+ | 'ms'
1711
+ | 'nl'
1712
+ | 'pl'
1713
+ | 'pt'
1714
+ | 'ro'
1715
+ | 'ru'
1716
+ | 'sv'
1717
+ | 'th'
1718
+ | 'tr'
1719
+ | 'vi';
1720
+
1721
+ /**
1722
+ * Engine identifier for xAI transcription service
1723
+ */
1724
+ transcription_engine?: 'xAI';
1725
+
1726
+ /**
1727
+ * The model to use for transcription.
1728
+ */
1729
+ transcription_model?: 'xai/grok-stt';
1730
+ }
1731
+
1732
+ export interface TranscriptionEngineAssemblyaiConfig {
1733
+ /**
1734
+ * Whether to send also interim results. If set to false, only final results will
1735
+ * be sent.
1736
+ */
1737
+ interim_results?: boolean;
1738
+
1739
+ /**
1740
+ * Engine identifier for AssemblyAI transcription service
1741
+ */
1742
+ transcription_engine?: 'AssemblyAI';
1743
+
1744
+ /**
1745
+ * The model to use for transcription.
1746
+ */
1747
+ transcription_model?: 'assemblyai/universal-streaming';
1748
+ }
1749
+ }
1750
+
1677
1751
  export interface ActionAddAIAssistantMessagesResponse {
1678
1752
  data?: CallControlCommandResult;
1679
1753
  }
@@ -2039,6 +2113,14 @@ export interface ActionAnswerParams {
2039
2113
  */
2040
2114
  custom_headers?: Array<CallsAPI.CustomSipHeader>;
2041
2115
 
2116
+ /**
2117
+ * Enables deepfake detection on the call. When enabled, audio from the remote
2118
+ * party is streamed to a detection service that analyzes whether the voice is
2119
+ * AI-generated. Results are delivered via the `call.deepfake_detection.result`
2120
+ * webhook.
2121
+ */
2122
+ deepfake_detection?: ActionAnswerParams.DeepfakeDetection;
2123
+
2042
2124
  /**
2043
2125
  * The list of comma-separated codecs in a preferred order for the forked media to
2044
2126
  * be received.
@@ -2183,6 +2265,30 @@ export interface ActionAnswerParams {
2183
2265
  }
2184
2266
 
2185
2267
  export namespace ActionAnswerParams {
2268
+ /**
2269
+ * Enables deepfake detection on the call. When enabled, audio from the remote
2270
+ * party is streamed to a detection service that analyzes whether the voice is
2271
+ * AI-generated. Results are delivered via the `call.deepfake_detection.result`
2272
+ * webhook.
2273
+ */
2274
+ export interface DeepfakeDetection {
2275
+ /**
2276
+ * Whether deepfake detection is enabled.
2277
+ */
2278
+ enabled: boolean;
2279
+
2280
+ /**
2281
+ * Maximum time in seconds to wait for RTP audio before timing out. If no audio is
2282
+ * received within this window, detection stops with an error.
2283
+ */
2284
+ rtp_timeout?: number;
2285
+
2286
+ /**
2287
+ * Maximum time in seconds to wait for a detection result before timing out.
2288
+ */
2289
+ timeout?: number;
2290
+ }
2291
+
2186
2292
  export interface WebhookRetriesPolicies {
2187
2293
  /**
2188
2294
  * Array of delays in milliseconds between retry attempts. Total sum cannot exceed
@@ -4198,12 +4304,14 @@ export interface ActionStartTranscriptionParams {
4198
4304
  * Engine to use for speech recognition. Legacy values `A` - `Google`, `B` -
4199
4305
  * `Telnyx` are supported for backward compatibility.
4200
4306
  */
4201
- transcription_engine?: 'Google' | 'Telnyx' | 'Deepgram' | 'Azure' | 'A' | 'B';
4307
+ transcription_engine?: 'Google' | 'Telnyx' | 'Deepgram' | 'Azure' | 'xAI' | 'AssemblyAI' | 'A' | 'B';
4202
4308
 
4203
4309
  transcription_engine_config?:
4204
4310
  | TranscriptionEngineGoogleConfig
4205
4311
  | TranscriptionEngineTelnyxConfig
4206
4312
  | TranscriptionEngineAzureConfig
4313
+ | ActionStartTranscriptionParams.TranscriptionEngineXaiConfig
4314
+ | ActionStartTranscriptionParams.TranscriptionEngineAssemblyaiConfig
4207
4315
  | TranscriptionEngineAConfig
4208
4316
  | TranscriptionEngineBConfig
4209
4317
  | DeepgramNova2Config
@@ -4217,6 +4325,74 @@ export interface ActionStartTranscriptionParams {
4217
4325
  transcription_tracks?: string;
4218
4326
  }
4219
4327
 
4328
+ export namespace ActionStartTranscriptionParams {
4329
+ export interface TranscriptionEngineXaiConfig {
4330
+ /**
4331
+ * Whether to send also interim results. If set to false, only final results will
4332
+ * be sent.
4333
+ */
4334
+ interim_results?: boolean;
4335
+
4336
+ /**
4337
+ * Language to use for speech recognition
4338
+ */
4339
+ language?:
4340
+ | 'ar'
4341
+ | 'cs'
4342
+ | 'da'
4343
+ | 'de'
4344
+ | 'en'
4345
+ | 'es'
4346
+ | 'fa'
4347
+ | 'fil'
4348
+ | 'fr'
4349
+ | 'hi'
4350
+ | 'id'
4351
+ | 'it'
4352
+ | 'ja'
4353
+ | 'ko'
4354
+ | 'mk'
4355
+ | 'ms'
4356
+ | 'nl'
4357
+ | 'pl'
4358
+ | 'pt'
4359
+ | 'ro'
4360
+ | 'ru'
4361
+ | 'sv'
4362
+ | 'th'
4363
+ | 'tr'
4364
+ | 'vi';
4365
+
4366
+ /**
4367
+ * Engine identifier for xAI transcription service
4368
+ */
4369
+ transcription_engine?: 'xAI';
4370
+
4371
+ /**
4372
+ * The model to use for transcription.
4373
+ */
4374
+ transcription_model?: 'xai/grok-stt';
4375
+ }
4376
+
4377
+ export interface TranscriptionEngineAssemblyaiConfig {
4378
+ /**
4379
+ * Whether to send also interim results. If set to false, only final results will
4380
+ * be sent.
4381
+ */
4382
+ interim_results?: boolean;
4383
+
4384
+ /**
4385
+ * Engine identifier for AssemblyAI transcription service
4386
+ */
4387
+ transcription_engine?: 'AssemblyAI';
4388
+
4389
+ /**
4390
+ * The model to use for transcription.
4391
+ */
4392
+ transcription_model?: 'assemblyai/universal-streaming';
4393
+ }
4394
+ }
4395
+
4220
4396
  export interface ActionStopAIAssistantParams {
4221
4397
  /**
4222
4398
  * Use this field to add state to every subsequent webhook. It must be a valid
@@ -4404,7 +4580,9 @@ export interface ActionTransferParams {
4404
4580
 
4405
4581
  /**
4406
4582
  * Optional configuration parameters to modify 'answering_machine_detection'
4407
- * performance.
4583
+ * performance. Only `total_analysis_time_millis` and `greeting_duration_millis`
4584
+ * parameters are applicable when `premium` is selected as
4585
+ * answering_machine_detection.
4408
4586
  */
4409
4587
  answering_machine_detection_config?: ActionTransferParams.AnsweringMachineDetectionConfig;
4410
4588
 
@@ -4634,7 +4812,9 @@ export interface ActionTransferParams {
4634
4812
  export namespace ActionTransferParams {
4635
4813
  /**
4636
4814
  * Optional configuration parameters to modify 'answering_machine_detection'
4637
- * performance.
4815
+ * performance. Only `total_analysis_time_millis` and `greeting_duration_millis`
4816
+ * parameters are applicable when `premium` is selected as
4817
+ * answering_machine_detection.
4638
4818
  */
4639
4819
  export interface AnsweringMachineDetectionConfig {
4640
4820
  /**