@zavudev/sdk 0.55.0 → 0.56.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 (273) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/client.d.mts +25 -10
  3. package/client.d.mts.map +1 -1
  4. package/client.d.ts +25 -10
  5. package/client.d.ts.map +1 -1
  6. package/client.js +15 -0
  7. package/client.js.map +1 -1
  8. package/client.mjs +15 -0
  9. package/client.mjs.map +1 -1
  10. package/package.json +1 -1
  11. package/resources/agent-templates.d.mts +97 -0
  12. package/resources/agent-templates.d.mts.map +1 -0
  13. package/resources/agent-templates.d.ts +97 -0
  14. package/resources/agent-templates.d.ts.map +1 -0
  15. package/resources/agent-templates.js +39 -0
  16. package/resources/agent-templates.js.map +1 -0
  17. package/resources/agent-templates.mjs +35 -0
  18. package/resources/agent-templates.mjs.map +1 -0
  19. package/resources/agents/agents.d.mts +462 -0
  20. package/resources/agents/agents.d.mts.map +1 -0
  21. package/resources/agents/agents.d.ts +462 -0
  22. package/resources/agents/agents.d.ts.map +1 -0
  23. package/resources/agents/agents.js +129 -0
  24. package/resources/agents/agents.js.map +1 -0
  25. package/resources/agents/agents.mjs +124 -0
  26. package/resources/agents/agents.mjs.map +1 -0
  27. package/resources/agents/index.d.mts +3 -0
  28. package/resources/agents/index.d.mts.map +1 -0
  29. package/resources/agents/index.d.ts +3 -0
  30. package/resources/agents/index.d.ts.map +1 -0
  31. package/resources/agents/index.js +9 -0
  32. package/resources/agents/index.js.map +1 -0
  33. package/resources/agents/index.mjs +4 -0
  34. package/resources/agents/index.mjs.map +1 -0
  35. package/resources/agents/senders.d.mts +54 -0
  36. package/resources/agents/senders.d.mts.map +1 -0
  37. package/resources/agents/senders.d.ts +54 -0
  38. package/resources/agents/senders.d.ts.map +1 -0
  39. package/resources/agents/senders.js +45 -0
  40. package/resources/agents/senders.js.map +1 -0
  41. package/resources/agents/senders.mjs +41 -0
  42. package/resources/agents/senders.mjs.map +1 -0
  43. package/resources/agents.d.mts +2 -0
  44. package/resources/agents.d.mts.map +1 -0
  45. package/resources/agents.d.ts +2 -0
  46. package/resources/agents.d.ts.map +1 -0
  47. package/resources/agents.js +6 -0
  48. package/resources/agents.js.map +1 -0
  49. package/resources/agents.mjs +3 -0
  50. package/resources/agents.mjs.map +1 -0
  51. package/resources/calls.d.mts +530 -0
  52. package/resources/calls.d.mts.map +1 -0
  53. package/resources/calls.d.ts +530 -0
  54. package/resources/calls.d.ts.map +1 -0
  55. package/resources/calls.js +76 -0
  56. package/resources/calls.js.map +1 -0
  57. package/resources/calls.mjs +72 -0
  58. package/resources/calls.mjs.map +1 -0
  59. package/resources/conversations.d.mts +360 -0
  60. package/resources/conversations.d.mts.map +1 -0
  61. package/resources/conversations.d.ts +360 -0
  62. package/resources/conversations.d.ts.map +1 -0
  63. package/resources/conversations.js +47 -0
  64. package/resources/conversations.js.map +1 -0
  65. package/resources/conversations.mjs +43 -0
  66. package/resources/conversations.mjs.map +1 -0
  67. package/resources/email-domains.d.mts +260 -0
  68. package/resources/email-domains.d.mts.map +1 -0
  69. package/resources/email-domains.d.ts +260 -0
  70. package/resources/email-domains.d.ts.map +1 -0
  71. package/resources/email-domains.js +77 -0
  72. package/resources/email-domains.js.map +1 -0
  73. package/resources/email-domains.mjs +73 -0
  74. package/resources/email-domains.mjs.map +1 -0
  75. package/resources/functions/functions.d.mts +122 -1
  76. package/resources/functions/functions.d.mts.map +1 -1
  77. package/resources/functions/functions.d.ts +122 -1
  78. package/resources/functions/functions.d.ts.map +1 -1
  79. package/resources/functions/functions.js +53 -0
  80. package/resources/functions/functions.js.map +1 -1
  81. package/resources/functions/functions.mjs +53 -0
  82. package/resources/functions/functions.mjs.map +1 -1
  83. package/resources/functions/git-link.d.mts +295 -0
  84. package/resources/functions/git-link.d.mts.map +1 -0
  85. package/resources/functions/git-link.d.ts +295 -0
  86. package/resources/functions/git-link.d.ts.map +1 -0
  87. package/resources/functions/git-link.js +97 -0
  88. package/resources/functions/git-link.js.map +1 -0
  89. package/resources/functions/git-link.mjs +93 -0
  90. package/resources/functions/git-link.mjs.map +1 -0
  91. package/resources/functions/index.d.mts +3 -1
  92. package/resources/functions/index.d.mts.map +1 -1
  93. package/resources/functions/index.d.ts +3 -1
  94. package/resources/functions/index.d.ts.map +1 -1
  95. package/resources/functions/index.js +5 -1
  96. package/resources/functions/index.js.map +1 -1
  97. package/resources/functions/index.mjs +2 -0
  98. package/resources/functions/index.mjs.map +1 -1
  99. package/resources/functions/triggers.d.mts +164 -0
  100. package/resources/functions/triggers.d.mts.map +1 -0
  101. package/resources/functions/triggers.d.ts +164 -0
  102. package/resources/functions/triggers.d.ts.map +1 -0
  103. package/resources/functions/triggers.js +74 -0
  104. package/resources/functions/triggers.js.map +1 -0
  105. package/resources/functions/triggers.mjs +70 -0
  106. package/resources/functions/triggers.mjs.map +1 -0
  107. package/resources/index.d.mts +10 -5
  108. package/resources/index.d.mts.map +1 -1
  109. package/resources/index.d.ts +10 -5
  110. package/resources/index.d.ts.map +1 -1
  111. package/resources/index.js +11 -1
  112. package/resources/index.js.map +1 -1
  113. package/resources/index.mjs +5 -0
  114. package/resources/index.mjs.map +1 -1
  115. package/resources/introspect.d.mts +74 -1
  116. package/resources/introspect.d.mts.map +1 -1
  117. package/resources/introspect.d.ts +74 -1
  118. package/resources/introspect.d.ts.map +1 -1
  119. package/resources/introspect.js +22 -0
  120. package/resources/introspect.js.map +1 -1
  121. package/resources/introspect.mjs +22 -0
  122. package/resources/introspect.mjs.map +1 -1
  123. package/resources/messages.d.mts +54 -1
  124. package/resources/messages.d.mts.map +1 -1
  125. package/resources/messages.d.ts +54 -1
  126. package/resources/messages.d.ts.map +1 -1
  127. package/resources/messages.js +18 -0
  128. package/resources/messages.js.map +1 -1
  129. package/resources/messages.mjs +18 -0
  130. package/resources/messages.mjs.map +1 -1
  131. package/resources/senders/agent/agent.d.mts +4 -3
  132. package/resources/senders/agent/agent.d.mts.map +1 -1
  133. package/resources/senders/agent/agent.d.ts +4 -3
  134. package/resources/senders/agent/agent.d.ts.map +1 -1
  135. package/resources/senders/agent/agent.js +2 -2
  136. package/resources/senders/agent/agent.js.map +1 -1
  137. package/resources/senders/agent/agent.mjs +2 -2
  138. package/resources/senders/agent/agent.mjs.map +1 -1
  139. package/resources/senders/agent/index.d.mts +2 -2
  140. package/resources/senders/agent/index.d.mts.map +1 -1
  141. package/resources/senders/agent/index.d.ts +2 -2
  142. package/resources/senders/agent/index.d.ts.map +1 -1
  143. package/resources/senders/agent/index.js +2 -2
  144. package/resources/senders/agent/index.js.map +1 -1
  145. package/resources/senders/agent/index.mjs +1 -1
  146. package/resources/senders/agent/index.mjs.map +1 -1
  147. package/resources/senders/agent/knowledge-bases/documents.d.mts +56 -1
  148. package/resources/senders/agent/knowledge-bases/documents.d.mts.map +1 -1
  149. package/resources/senders/agent/knowledge-bases/documents.d.ts +56 -1
  150. package/resources/senders/agent/knowledge-bases/documents.d.ts.map +1 -1
  151. package/resources/senders/agent/knowledge-bases/documents.js +33 -0
  152. package/resources/senders/agent/knowledge-bases/documents.js.map +1 -1
  153. package/resources/senders/agent/knowledge-bases/documents.mjs +33 -0
  154. package/resources/senders/agent/knowledge-bases/documents.mjs.map +1 -1
  155. package/resources/senders/agent/knowledge-bases/index.d.mts +1 -1
  156. package/resources/senders/agent/knowledge-bases/index.d.mts.map +1 -1
  157. package/resources/senders/agent/knowledge-bases/index.d.ts +1 -1
  158. package/resources/senders/agent/knowledge-bases/index.d.ts.map +1 -1
  159. package/resources/senders/agent/knowledge-bases/index.js.map +1 -1
  160. package/resources/senders/agent/knowledge-bases/index.mjs.map +1 -1
  161. package/resources/senders/agent/knowledge-bases/knowledge-bases.d.mts +2 -2
  162. package/resources/senders/agent/knowledge-bases/knowledge-bases.d.mts.map +1 -1
  163. package/resources/senders/agent/knowledge-bases/knowledge-bases.d.ts +2 -2
  164. package/resources/senders/agent/knowledge-bases/knowledge-bases.d.ts.map +1 -1
  165. package/resources/senders/agent/knowledge-bases/knowledge-bases.js.map +1 -1
  166. package/resources/senders/agent/knowledge-bases/knowledge-bases.mjs.map +1 -1
  167. package/resources/senders/agent/tools/index.d.mts +3 -0
  168. package/resources/senders/agent/tools/index.d.mts.map +1 -0
  169. package/resources/senders/agent/tools/index.d.ts +3 -0
  170. package/resources/senders/agent/tools/index.d.ts.map +1 -0
  171. package/resources/senders/agent/tools/index.js +9 -0
  172. package/resources/senders/agent/tools/index.js.map +1 -0
  173. package/resources/senders/agent/tools/index.mjs +4 -0
  174. package/resources/senders/agent/tools/index.mjs.map +1 -0
  175. package/resources/senders/agent/tools/tools.d.mts +338 -0
  176. package/resources/senders/agent/tools/tools.d.mts.map +1 -0
  177. package/resources/senders/agent/tools/tools.d.ts +338 -0
  178. package/resources/senders/agent/tools/tools.d.ts.map +1 -0
  179. package/resources/senders/agent/tools/tools.js +163 -0
  180. package/resources/senders/agent/tools/tools.js.map +1 -0
  181. package/resources/senders/agent/tools/tools.mjs +158 -0
  182. package/resources/senders/agent/tools/tools.mjs.map +1 -0
  183. package/resources/senders/agent/tools/webhook.d.mts +28 -0
  184. package/resources/senders/agent/tools/webhook.d.mts.map +1 -0
  185. package/resources/senders/agent/tools/webhook.d.ts +28 -0
  186. package/resources/senders/agent/tools/webhook.d.ts.map +1 -0
  187. package/resources/senders/agent/tools/webhook.js +28 -0
  188. package/resources/senders/agent/tools/webhook.js.map +1 -0
  189. package/resources/senders/agent/tools/webhook.mjs +24 -0
  190. package/resources/senders/agent/tools/webhook.mjs.map +1 -0
  191. package/resources/senders/agent/tools.d.mts +1 -270
  192. package/resources/senders/agent/tools.d.mts.map +1 -1
  193. package/resources/senders/agent/tools.d.ts +1 -270
  194. package/resources/senders/agent/tools.d.ts.map +1 -1
  195. package/resources/senders/agent/tools.js +2 -131
  196. package/resources/senders/agent/tools.js.map +1 -1
  197. package/resources/senders/agent/tools.mjs +1 -129
  198. package/resources/senders/agent/tools.mjs.map +1 -1
  199. package/resources/senders/index.d.mts +2 -1
  200. package/resources/senders/index.d.mts.map +1 -1
  201. package/resources/senders/index.d.ts +2 -1
  202. package/resources/senders/index.d.ts.map +1 -1
  203. package/resources/senders/index.js +3 -1
  204. package/resources/senders/index.js.map +1 -1
  205. package/resources/senders/index.mjs +1 -0
  206. package/resources/senders/index.mjs.map +1 -1
  207. package/resources/senders/senders.d.mts +4 -0
  208. package/resources/senders/senders.d.mts.map +1 -1
  209. package/resources/senders/senders.d.ts +4 -0
  210. package/resources/senders/senders.d.ts.map +1 -1
  211. package/resources/senders/senders.js +4 -0
  212. package/resources/senders/senders.js.map +1 -1
  213. package/resources/senders/senders.mjs +4 -0
  214. package/resources/senders/senders.mjs.map +1 -1
  215. package/resources/senders/telegram.d.mts +48 -0
  216. package/resources/senders/telegram.d.mts.map +1 -0
  217. package/resources/senders/telegram.d.ts +48 -0
  218. package/resources/senders/telegram.d.ts.map +1 -0
  219. package/resources/senders/telegram.js +41 -0
  220. package/resources/senders/telegram.js.map +1 -0
  221. package/resources/senders/telegram.mjs +37 -0
  222. package/resources/senders/telegram.mjs.map +1 -0
  223. package/resources/templates.d.mts +66 -1
  224. package/resources/templates.d.mts.map +1 -1
  225. package/resources/templates.d.ts +66 -1
  226. package/resources/templates.d.ts.map +1 -1
  227. package/resources/templates.js +31 -0
  228. package/resources/templates.js.map +1 -1
  229. package/resources/templates.mjs +31 -0
  230. package/resources/templates.mjs.map +1 -1
  231. package/resources/urls.d.mts +24 -1
  232. package/resources/urls.d.mts.map +1 -1
  233. package/resources/urls.d.ts +24 -1
  234. package/resources/urls.d.ts.map +1 -1
  235. package/resources/urls.js +15 -0
  236. package/resources/urls.js.map +1 -1
  237. package/resources/urls.mjs +15 -0
  238. package/resources/urls.mjs.map +1 -1
  239. package/src/client.ts +129 -0
  240. package/src/resources/agent-templates.ts +128 -0
  241. package/src/resources/agents/agents.ts +603 -0
  242. package/src/resources/agents/index.ts +21 -0
  243. package/src/resources/agents/senders.ts +79 -0
  244. package/src/resources/agents.ts +3 -0
  245. package/src/resources/calls.ts +638 -0
  246. package/src/resources/conversations.ts +472 -0
  247. package/src/resources/email-domains.ts +337 -0
  248. package/src/resources/functions/functions.ts +202 -0
  249. package/src/resources/functions/git-link.ts +398 -0
  250. package/src/resources/functions/index.ts +22 -0
  251. package/src/resources/functions/triggers.ts +227 -0
  252. package/src/resources/index.ts +57 -0
  253. package/src/resources/introspect.ts +105 -0
  254. package/src/resources/messages.ts +66 -0
  255. package/src/resources/senders/agent/agent.ts +23 -17
  256. package/src/resources/senders/agent/index.ts +4 -1
  257. package/src/resources/senders/agent/knowledge-bases/documents.ts +89 -0
  258. package/src/resources/senders/agent/knowledge-bases/index.ts +4 -0
  259. package/src/resources/senders/agent/knowledge-bases/knowledge-bases.ts +8 -0
  260. package/src/resources/senders/agent/tools/index.ts +21 -0
  261. package/src/resources/senders/agent/tools/tools.ts +460 -0
  262. package/src/resources/senders/agent/tools/webhook.ts +40 -0
  263. package/src/resources/senders/agent/tools.ts +1 -364
  264. package/src/resources/senders/index.ts +2 -0
  265. package/src/resources/senders/senders.ts +10 -0
  266. package/src/resources/senders/telegram.ts +73 -0
  267. package/src/resources/templates.ts +80 -0
  268. package/src/resources/urls.ts +35 -0
  269. package/src/version.ts +1 -1
  270. package/version.d.mts +1 -1
  271. package/version.d.ts +1 -1
  272. package/version.js +1 -1
  273. package/version.mjs +1 -1
@@ -0,0 +1,638 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ import { APIResource } from '../core/resource';
4
+ import { APIPromise } from '../core/api-promise';
5
+ import { Cursor, type CursorParams, PagePromise } from '../core/pagination';
6
+ import { RequestOptions } from '../internal/request-options';
7
+ import { path } from '../internal/utils/path';
8
+
9
+ export class Calls extends APIResource {
10
+ /**
11
+ * Place an outbound voice call answered by the voice agent configured on the
12
+ * sender. Zavu dials the recipient and runs the conversation through its managed
13
+ * voice pipeline (speech recognition, the agent's LLM, and speech synthesis, with
14
+ * real-time interruption handling).
15
+ *
16
+ * **Requirements:**
17
+ *
18
+ * - The Voice Agents feature must be enabled for your team (otherwise `403`).
19
+ * - The sender's agent must have `voice.enabled` set to `true`.
20
+ * - Not available with test-mode API keys.
21
+ *
22
+ * **Billing:** Voice calls are billed per minute of connected time plus telephony,
23
+ * deducted from your prepaid balance. A short-duration estimate is reserved when
24
+ * the call is placed; you are charged for the actual duration when the call ends.
25
+ *
26
+ * @example
27
+ * ```ts
28
+ * const call = await client.calls.create({
29
+ * to: '+56912345678',
30
+ * });
31
+ * ```
32
+ */
33
+ create(body: CallCreateParams, options?: RequestOptions): APIPromise<CallCreateResponse> {
34
+ return this._client.post('/v1/calls', { body, ...options });
35
+ }
36
+
37
+ /**
38
+ * Retrieve a single voice call, including its full transcript once the
39
+ * conversation has produced turns.
40
+ *
41
+ * @example
42
+ * ```ts
43
+ * const call = await client.calls.retrieve('callId');
44
+ * ```
45
+ */
46
+ retrieve(callID: string, options?: RequestOptions): APIPromise<CallRetrieveResponse> {
47
+ return this._client.get(path`/v1/calls/${callID}`, options);
48
+ }
49
+
50
+ /**
51
+ * List voice calls for this project, most recent first. Transcripts are omitted
52
+ * from the list; fetch a single call to get its transcript.
53
+ *
54
+ * @example
55
+ * ```ts
56
+ * // Automatically fetches more pages as needed.
57
+ * for await (const callListResponse of client.calls.list()) {
58
+ * // ...
59
+ * }
60
+ * ```
61
+ */
62
+ list(
63
+ query: CallListParams | null | undefined = {},
64
+ options?: RequestOptions,
65
+ ): PagePromise<CallListResponsesCursor, CallListResponse> {
66
+ return this._client.getAPIList('/v1/calls', Cursor<CallListResponse>, { query, ...options });
67
+ }
68
+
69
+ /**
70
+ * End an active voice call. The call must still be ringing or in progress. Not
71
+ * available with test-mode API keys.
72
+ *
73
+ * @example
74
+ * ```ts
75
+ * const response = await client.calls.hangup('callId');
76
+ * ```
77
+ */
78
+ hangup(callID: string, options?: RequestOptions): APIPromise<CallHangupResponse> {
79
+ return this._client.post(path`/v1/calls/${callID}/hangup`, options);
80
+ }
81
+ }
82
+
83
+ export type CallListResponsesCursor = Cursor<CallListResponse>;
84
+
85
+ export interface CallCreateResponse {
86
+ call: CallCreateResponse.Call;
87
+ }
88
+
89
+ export namespace CallCreateResponse {
90
+ export interface Call {
91
+ id: string;
92
+
93
+ createdAt: string;
94
+
95
+ /**
96
+ * Whether the call was placed by Zavu (outbound) or received from a caller
97
+ * (inbound).
98
+ */
99
+ direction: 'inbound' | 'outbound';
100
+
101
+ /**
102
+ * Caller phone number in E.164 format. Your sender's number for outbound calls;
103
+ * the caller's number for inbound calls.
104
+ */
105
+ from: string;
106
+
107
+ /**
108
+ * Lifecycle status of a voice call.
109
+ *
110
+ * - `queued`: outbound call created, not yet dialing.
111
+ * - `ringing`: dialing (outbound) or received and ringing (inbound).
112
+ * - `in_progress`: answered, the agent is connected.
113
+ * - `completed`: ended after a conversation.
114
+ * - `failed`: could not be completed.
115
+ * - `busy`: the line was busy.
116
+ * - `no_answer`: rang but was not answered.
117
+ * - `canceled`: canceled before it was answered.
118
+ */
119
+ status: 'queued' | 'ringing' | 'in_progress' | 'completed' | 'failed' | 'busy' | 'no_answer' | 'canceled';
120
+
121
+ /**
122
+ * Callee phone number in E.164 format.
123
+ */
124
+ to: string;
125
+
126
+ /**
127
+ * When the call was answered.
128
+ */
129
+ answeredAt?: string | null;
130
+
131
+ /**
132
+ * Total cost of the call in USD, combining the managed voice pipeline per-minute
133
+ * charge and telephony. Available once the call has ended.
134
+ */
135
+ cost?: number | null;
136
+
137
+ /**
138
+ * Billable talk time in seconds, measured from answer to hangup.
139
+ */
140
+ durationSeconds?: number | null;
141
+
142
+ /**
143
+ * When the call ended.
144
+ */
145
+ endedAt?: string | null;
146
+
147
+ /**
148
+ * Why the call ended (e.g. `agent_ended`, `max_duration`, `transfer`, `hangup`).
149
+ * Present once the call is no longer active.
150
+ */
151
+ endReason?: string | null;
152
+
153
+ /**
154
+ * Arbitrary metadata you attached when creating the call.
155
+ */
156
+ metadata?: { [key: string]: string };
157
+
158
+ /**
159
+ * Ordered transcript of the call. Included when retrieving a single call; omitted
160
+ * from list responses.
161
+ */
162
+ transcript?: Array<Call.Transcript>;
163
+
164
+ /**
165
+ * Number of conversation turns exchanged during the call.
166
+ */
167
+ turnCount?: number | null;
168
+
169
+ updatedAt?: string;
170
+ }
171
+
172
+ export namespace Call {
173
+ /**
174
+ * A single turn in a voice call transcript.
175
+ */
176
+ export interface Transcript {
177
+ /**
178
+ * Who produced the turn. `tool` records a tool call the agent made during the
179
+ * conversation.
180
+ */
181
+ role: 'user' | 'assistant' | 'tool';
182
+
183
+ /**
184
+ * Ordinal position of the turn within the call, starting at 0.
185
+ */
186
+ seq: number;
187
+
188
+ /**
189
+ * Transcribed speech for `user` and `assistant` turns, or a JSON summary of the
190
+ * tool call for `tool` turns.
191
+ */
192
+ text: string;
193
+
194
+ /**
195
+ * When the turn ended.
196
+ */
197
+ endedAt?: string | null;
198
+
199
+ /**
200
+ * When the turn started.
201
+ */
202
+ startedAt?: string | null;
203
+ }
204
+ }
205
+ }
206
+
207
+ export interface CallRetrieveResponse {
208
+ call: CallRetrieveResponse.Call;
209
+ }
210
+
211
+ export namespace CallRetrieveResponse {
212
+ export interface Call {
213
+ id: string;
214
+
215
+ createdAt: string;
216
+
217
+ /**
218
+ * Whether the call was placed by Zavu (outbound) or received from a caller
219
+ * (inbound).
220
+ */
221
+ direction: 'inbound' | 'outbound';
222
+
223
+ /**
224
+ * Caller phone number in E.164 format. Your sender's number for outbound calls;
225
+ * the caller's number for inbound calls.
226
+ */
227
+ from: string;
228
+
229
+ /**
230
+ * Lifecycle status of a voice call.
231
+ *
232
+ * - `queued`: outbound call created, not yet dialing.
233
+ * - `ringing`: dialing (outbound) or received and ringing (inbound).
234
+ * - `in_progress`: answered, the agent is connected.
235
+ * - `completed`: ended after a conversation.
236
+ * - `failed`: could not be completed.
237
+ * - `busy`: the line was busy.
238
+ * - `no_answer`: rang but was not answered.
239
+ * - `canceled`: canceled before it was answered.
240
+ */
241
+ status: 'queued' | 'ringing' | 'in_progress' | 'completed' | 'failed' | 'busy' | 'no_answer' | 'canceled';
242
+
243
+ /**
244
+ * Callee phone number in E.164 format.
245
+ */
246
+ to: string;
247
+
248
+ /**
249
+ * When the call was answered.
250
+ */
251
+ answeredAt?: string | null;
252
+
253
+ /**
254
+ * Total cost of the call in USD, combining the managed voice pipeline per-minute
255
+ * charge and telephony. Available once the call has ended.
256
+ */
257
+ cost?: number | null;
258
+
259
+ /**
260
+ * Billable talk time in seconds, measured from answer to hangup.
261
+ */
262
+ durationSeconds?: number | null;
263
+
264
+ /**
265
+ * When the call ended.
266
+ */
267
+ endedAt?: string | null;
268
+
269
+ /**
270
+ * Why the call ended (e.g. `agent_ended`, `max_duration`, `transfer`, `hangup`).
271
+ * Present once the call is no longer active.
272
+ */
273
+ endReason?: string | null;
274
+
275
+ /**
276
+ * Arbitrary metadata you attached when creating the call.
277
+ */
278
+ metadata?: { [key: string]: string };
279
+
280
+ /**
281
+ * Ordered transcript of the call. Included when retrieving a single call; omitted
282
+ * from list responses.
283
+ */
284
+ transcript?: Array<Call.Transcript>;
285
+
286
+ /**
287
+ * Number of conversation turns exchanged during the call.
288
+ */
289
+ turnCount?: number | null;
290
+
291
+ updatedAt?: string;
292
+ }
293
+
294
+ export namespace Call {
295
+ /**
296
+ * A single turn in a voice call transcript.
297
+ */
298
+ export interface Transcript {
299
+ /**
300
+ * Who produced the turn. `tool` records a tool call the agent made during the
301
+ * conversation.
302
+ */
303
+ role: 'user' | 'assistant' | 'tool';
304
+
305
+ /**
306
+ * Ordinal position of the turn within the call, starting at 0.
307
+ */
308
+ seq: number;
309
+
310
+ /**
311
+ * Transcribed speech for `user` and `assistant` turns, or a JSON summary of the
312
+ * tool call for `tool` turns.
313
+ */
314
+ text: string;
315
+
316
+ /**
317
+ * When the turn ended.
318
+ */
319
+ endedAt?: string | null;
320
+
321
+ /**
322
+ * When the turn started.
323
+ */
324
+ startedAt?: string | null;
325
+ }
326
+ }
327
+ }
328
+
329
+ export interface CallListResponse {
330
+ id: string;
331
+
332
+ createdAt: string;
333
+
334
+ /**
335
+ * Whether the call was placed by Zavu (outbound) or received from a caller
336
+ * (inbound).
337
+ */
338
+ direction: 'inbound' | 'outbound';
339
+
340
+ /**
341
+ * Caller phone number in E.164 format. Your sender's number for outbound calls;
342
+ * the caller's number for inbound calls.
343
+ */
344
+ from: string;
345
+
346
+ /**
347
+ * Lifecycle status of a voice call.
348
+ *
349
+ * - `queued`: outbound call created, not yet dialing.
350
+ * - `ringing`: dialing (outbound) or received and ringing (inbound).
351
+ * - `in_progress`: answered, the agent is connected.
352
+ * - `completed`: ended after a conversation.
353
+ * - `failed`: could not be completed.
354
+ * - `busy`: the line was busy.
355
+ * - `no_answer`: rang but was not answered.
356
+ * - `canceled`: canceled before it was answered.
357
+ */
358
+ status: 'queued' | 'ringing' | 'in_progress' | 'completed' | 'failed' | 'busy' | 'no_answer' | 'canceled';
359
+
360
+ /**
361
+ * Callee phone number in E.164 format.
362
+ */
363
+ to: string;
364
+
365
+ /**
366
+ * When the call was answered.
367
+ */
368
+ answeredAt?: string | null;
369
+
370
+ /**
371
+ * Total cost of the call in USD, combining the managed voice pipeline per-minute
372
+ * charge and telephony. Available once the call has ended.
373
+ */
374
+ cost?: number | null;
375
+
376
+ /**
377
+ * Billable talk time in seconds, measured from answer to hangup.
378
+ */
379
+ durationSeconds?: number | null;
380
+
381
+ /**
382
+ * When the call ended.
383
+ */
384
+ endedAt?: string | null;
385
+
386
+ /**
387
+ * Why the call ended (e.g. `agent_ended`, `max_duration`, `transfer`, `hangup`).
388
+ * Present once the call is no longer active.
389
+ */
390
+ endReason?: string | null;
391
+
392
+ /**
393
+ * Arbitrary metadata you attached when creating the call.
394
+ */
395
+ metadata?: { [key: string]: string };
396
+
397
+ /**
398
+ * Ordered transcript of the call. Included when retrieving a single call; omitted
399
+ * from list responses.
400
+ */
401
+ transcript?: Array<CallListResponse.Transcript>;
402
+
403
+ /**
404
+ * Number of conversation turns exchanged during the call.
405
+ */
406
+ turnCount?: number | null;
407
+
408
+ updatedAt?: string;
409
+ }
410
+
411
+ export namespace CallListResponse {
412
+ /**
413
+ * A single turn in a voice call transcript.
414
+ */
415
+ export interface Transcript {
416
+ /**
417
+ * Who produced the turn. `tool` records a tool call the agent made during the
418
+ * conversation.
419
+ */
420
+ role: 'user' | 'assistant' | 'tool';
421
+
422
+ /**
423
+ * Ordinal position of the turn within the call, starting at 0.
424
+ */
425
+ seq: number;
426
+
427
+ /**
428
+ * Transcribed speech for `user` and `assistant` turns, or a JSON summary of the
429
+ * tool call for `tool` turns.
430
+ */
431
+ text: string;
432
+
433
+ /**
434
+ * When the turn ended.
435
+ */
436
+ endedAt?: string | null;
437
+
438
+ /**
439
+ * When the turn started.
440
+ */
441
+ startedAt?: string | null;
442
+ }
443
+ }
444
+
445
+ export interface CallHangupResponse {
446
+ call: CallHangupResponse.Call;
447
+ }
448
+
449
+ export namespace CallHangupResponse {
450
+ export interface Call {
451
+ id: string;
452
+
453
+ createdAt: string;
454
+
455
+ /**
456
+ * Whether the call was placed by Zavu (outbound) or received from a caller
457
+ * (inbound).
458
+ */
459
+ direction: 'inbound' | 'outbound';
460
+
461
+ /**
462
+ * Caller phone number in E.164 format. Your sender's number for outbound calls;
463
+ * the caller's number for inbound calls.
464
+ */
465
+ from: string;
466
+
467
+ /**
468
+ * Lifecycle status of a voice call.
469
+ *
470
+ * - `queued`: outbound call created, not yet dialing.
471
+ * - `ringing`: dialing (outbound) or received and ringing (inbound).
472
+ * - `in_progress`: answered, the agent is connected.
473
+ * - `completed`: ended after a conversation.
474
+ * - `failed`: could not be completed.
475
+ * - `busy`: the line was busy.
476
+ * - `no_answer`: rang but was not answered.
477
+ * - `canceled`: canceled before it was answered.
478
+ */
479
+ status: 'queued' | 'ringing' | 'in_progress' | 'completed' | 'failed' | 'busy' | 'no_answer' | 'canceled';
480
+
481
+ /**
482
+ * Callee phone number in E.164 format.
483
+ */
484
+ to: string;
485
+
486
+ /**
487
+ * When the call was answered.
488
+ */
489
+ answeredAt?: string | null;
490
+
491
+ /**
492
+ * Total cost of the call in USD, combining the managed voice pipeline per-minute
493
+ * charge and telephony. Available once the call has ended.
494
+ */
495
+ cost?: number | null;
496
+
497
+ /**
498
+ * Billable talk time in seconds, measured from answer to hangup.
499
+ */
500
+ durationSeconds?: number | null;
501
+
502
+ /**
503
+ * When the call ended.
504
+ */
505
+ endedAt?: string | null;
506
+
507
+ /**
508
+ * Why the call ended (e.g. `agent_ended`, `max_duration`, `transfer`, `hangup`).
509
+ * Present once the call is no longer active.
510
+ */
511
+ endReason?: string | null;
512
+
513
+ /**
514
+ * Arbitrary metadata you attached when creating the call.
515
+ */
516
+ metadata?: { [key: string]: string };
517
+
518
+ /**
519
+ * Ordered transcript of the call. Included when retrieving a single call; omitted
520
+ * from list responses.
521
+ */
522
+ transcript?: Array<Call.Transcript>;
523
+
524
+ /**
525
+ * Number of conversation turns exchanged during the call.
526
+ */
527
+ turnCount?: number | null;
528
+
529
+ updatedAt?: string;
530
+ }
531
+
532
+ export namespace Call {
533
+ /**
534
+ * A single turn in a voice call transcript.
535
+ */
536
+ export interface Transcript {
537
+ /**
538
+ * Who produced the turn. `tool` records a tool call the agent made during the
539
+ * conversation.
540
+ */
541
+ role: 'user' | 'assistant' | 'tool';
542
+
543
+ /**
544
+ * Ordinal position of the turn within the call, starting at 0.
545
+ */
546
+ seq: number;
547
+
548
+ /**
549
+ * Transcribed speech for `user` and `assistant` turns, or a JSON summary of the
550
+ * tool call for `tool` turns.
551
+ */
552
+ text: string;
553
+
554
+ /**
555
+ * When the turn ended.
556
+ */
557
+ endedAt?: string | null;
558
+
559
+ /**
560
+ * When the turn started.
561
+ */
562
+ startedAt?: string | null;
563
+ }
564
+ }
565
+ }
566
+
567
+ export interface CallCreateParams {
568
+ /**
569
+ * Recipient phone number in E.164 format.
570
+ */
571
+ to: string;
572
+
573
+ /**
574
+ * Overrides the agent's configured greeting for this call only.
575
+ */
576
+ greeting?: string;
577
+
578
+ /**
579
+ * Language the agent speaks on this call only, as a BCP-47 tag (`en`, `es`,
580
+ * `es-ES`, `pt-BR`), or `auto` to detect the caller's language and follow it.
581
+ * Overrides the agent's configured language for speech recognition, the agent's
582
+ * replies, and the synthesized voice. If the agent uses a custom voice you
583
+ * supplied, that voice is kept and only the language changes. When omitted, the
584
+ * agent's configured language is used.
585
+ */
586
+ language?: string;
587
+
588
+ /**
589
+ * Overrides the agent's maximum call duration for this call only.
590
+ */
591
+ maxDurationMinutes?: number;
592
+
593
+ /**
594
+ * Arbitrary metadata to associate with the call. Returned on the call object and
595
+ * included in voice webhooks.
596
+ */
597
+ metadata?: { [key: string]: string };
598
+
599
+ /**
600
+ * Sender profile that places the call. Uses the project's default sender if
601
+ * omitted. The sender's agent must have voice enabled.
602
+ */
603
+ senderId?: string;
604
+ }
605
+
606
+ export interface CallListParams extends CursorParams {
607
+ /**
608
+ * Whether the call was placed by Zavu (outbound) or received from a caller
609
+ * (inbound).
610
+ */
611
+ direction?: 'inbound' | 'outbound';
612
+
613
+ /**
614
+ * Lifecycle status of a voice call.
615
+ *
616
+ * - `queued`: outbound call created, not yet dialing.
617
+ * - `ringing`: dialing (outbound) or received and ringing (inbound).
618
+ * - `in_progress`: answered, the agent is connected.
619
+ * - `completed`: ended after a conversation.
620
+ * - `failed`: could not be completed.
621
+ * - `busy`: the line was busy.
622
+ * - `no_answer`: rang but was not answered.
623
+ * - `canceled`: canceled before it was answered.
624
+ */
625
+ status?: 'queued' | 'ringing' | 'in_progress' | 'completed' | 'failed' | 'busy' | 'no_answer' | 'canceled';
626
+ }
627
+
628
+ export declare namespace Calls {
629
+ export {
630
+ type CallCreateResponse as CallCreateResponse,
631
+ type CallRetrieveResponse as CallRetrieveResponse,
632
+ type CallListResponse as CallListResponse,
633
+ type CallHangupResponse as CallHangupResponse,
634
+ type CallListResponsesCursor as CallListResponsesCursor,
635
+ type CallCreateParams as CallCreateParams,
636
+ type CallListParams as CallListParams,
637
+ };
638
+ }