@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
@@ -10,6 +10,24 @@ export {
10
10
  type AddressListParams,
11
11
  type AddressesCursor,
12
12
  } from './addresses';
13
+ export {
14
+ AgentTemplates,
15
+ type AgentTemplateRetrieveResponse,
16
+ type AgentTemplateListResponse,
17
+ } from './agent-templates';
18
+ export {
19
+ Agents,
20
+ type AgentCreateResponse,
21
+ type AgentRetrieveResponse,
22
+ type AgentUpdateResponse,
23
+ type AgentListVoicesResponse,
24
+ type AgentTestResponse,
25
+ type AgentCreateParams,
26
+ type AgentUpdateParams,
27
+ type AgentListParams,
28
+ type AgentListVoicesParams,
29
+ type AgentTestParams,
30
+ } from './agents/agents';
13
31
  export { Balance, type BalanceRetrieveResponse } from './balance';
14
32
  export {
15
33
  Broadcasts,
@@ -37,6 +55,16 @@ export {
37
55
  type BroadcastContactsCursor,
38
56
  type BroadcastsCursor,
39
57
  } from './broadcasts/broadcasts';
58
+ export {
59
+ Calls,
60
+ type CallCreateResponse,
61
+ type CallRetrieveResponse,
62
+ type CallListResponse,
63
+ type CallHangupResponse,
64
+ type CallCreateParams,
65
+ type CallListParams,
66
+ type CallListResponsesCursor,
67
+ } from './calls';
40
68
  export {
41
69
  Contacts,
42
70
  type Contact,
@@ -47,6 +75,23 @@ export {
47
75
  type ContactMergeParams,
48
76
  type ContactsCursor,
49
77
  } from './contacts/contacts';
78
+ export {
79
+ Conversations,
80
+ type ConversationRetrieveResponse,
81
+ type ConversationListResponse,
82
+ type ConversationMarkAsReadResponse,
83
+ type ConversationListParams,
84
+ type ConversationListMessagesParams,
85
+ type ConversationListResponsesCursor,
86
+ } from './conversations';
87
+ export {
88
+ EmailDomains,
89
+ type EmailDomainCreateResponse,
90
+ type EmailDomainRetrieveResponse,
91
+ type EmailDomainListResponse,
92
+ type EmailDomainVerifyResponse,
93
+ type EmailDomainCreateParams,
94
+ } from './email-domains';
50
95
  export {
51
96
  Functions,
52
97
  type FunctionCreateResponse,
@@ -55,16 +100,23 @@ export {
55
100
  type FunctionDeleteResponse,
56
101
  type FunctionDeployResponse,
57
102
  type FunctionGetDeploymentResponse,
103
+ type FunctionListDeploymentsResponse,
104
+ type FunctionListEventTypesResponse,
105
+ type FunctionRollbackDeploymentResponse,
58
106
  type FunctionTailLogsResponse,
59
107
  type FunctionCreateParams,
60
108
  type FunctionUpdateParams,
61
109
  type FunctionDeployParams,
110
+ type FunctionListDeploymentsParams,
111
+ type FunctionRollbackDeploymentParams,
62
112
  type FunctionTailLogsParams,
63
113
  } from './functions/functions';
64
114
  export {
65
115
  Introspect,
66
116
  type LineType,
117
+ type IntrospectValidateEmailResponse,
67
118
  type IntrospectValidatePhoneResponse,
119
+ type IntrospectValidateEmailParams,
68
120
  type IntrospectValidatePhoneParams,
69
121
  } from './introspect';
70
122
  export {
@@ -86,6 +138,7 @@ export {
86
138
  type MessageResponse,
87
139
  type MessageStatus,
88
140
  type MessageType,
141
+ type MessageListAttachmentsResponse,
89
142
  type MessageShowTypingResponse,
90
143
  type MessageListParams,
91
144
  type MessageReactParams,
@@ -164,16 +217,20 @@ export {
164
217
  Templates,
165
218
  type Template,
166
219
  type WhatsappCategory,
220
+ type TemplateSyncResponse,
167
221
  type TemplateCreateParams,
168
222
  type TemplateListParams,
169
223
  type TemplateSubmitParams,
224
+ type TemplateSyncParams,
170
225
  type TemplatesCursor,
171
226
  } from './templates';
172
227
  export {
173
228
  URLs,
174
229
  type VerifiedURL,
230
+ type URLEscalateResponse,
175
231
  type URLRetrieveDetailsResponse,
176
232
  type URLSubmitForVerificationResponse,
233
+ type URLEscalateParams,
177
234
  type URLListVerifiedParams,
178
235
  type URLSubmitForVerificationParams,
179
236
  type VerifiedURLsCursor,
@@ -6,6 +6,32 @@ import { APIPromise } from '../core/api-promise';
6
6
  import { RequestOptions } from '../internal/request-options';
7
7
 
8
8
  export class Introspect extends APIResource {
9
+ /**
10
+ * Heuristic email validation to run before sending: catches invalid syntax, dead
11
+ * domains (no MX/A records), disposable inboxes, role-based addresses (info@,
12
+ * contacto@, sales@), and addresses already on your project's suppression list.
13
+ * Use it to clean a list before a broadcast and keep your bounce rate low.
14
+ *
15
+ * No mailbox-level (SMTP) probe is performed, so a `deliverable` verdict is not a
16
+ * delivery guarantee — it means no negative signal was found. Treat `risky`
17
+ * addresses with care and drop `undeliverable` ones.
18
+ *
19
+ * Accepts a single `email` or an `emails` batch (max 100 per request).
20
+ *
21
+ * @example
22
+ * ```ts
23
+ * const response = await client.introspect.validateEmail({
24
+ * email: 'maria@example.com',
25
+ * });
26
+ * ```
27
+ */
28
+ validateEmail(
29
+ body: IntrospectValidateEmailParams,
30
+ options?: RequestOptions,
31
+ ): APIPromise<IntrospectValidateEmailResponse> {
32
+ return this._client.post('/v1/introspect/email', { body, ...options });
33
+ }
34
+
9
35
  /**
10
36
  * Validate a phone number and check if a WhatsApp conversation window is open.
11
37
  *
@@ -29,6 +55,71 @@ export class Introspect extends APIResource {
29
55
  */
30
56
  export type LineType = 'mobile' | 'landline' | 'voip' | 'toll_free' | 'unknown';
31
57
 
58
+ export interface IntrospectValidateEmailResponse {
59
+ /**
60
+ * One result per submitted address, in the same order.
61
+ */
62
+ results: Array<IntrospectValidateEmailResponse.Result>;
63
+
64
+ summary: IntrospectValidateEmailResponse.Summary;
65
+ }
66
+
67
+ export namespace IntrospectValidateEmailResponse {
68
+ export interface Result {
69
+ /**
70
+ * Domain part of the address. Null when the syntax is invalid.
71
+ */
72
+ domain: string | null;
73
+
74
+ /**
75
+ * The address exactly as submitted.
76
+ */
77
+ email: string;
78
+
79
+ /**
80
+ * Lowercased, trimmed form of the address. Null when the syntax is invalid.
81
+ */
82
+ normalized: string | null;
83
+
84
+ /**
85
+ * Signals behind the verdict. Empty for a clean `deliverable` address.
86
+ */
87
+ reasons: Array<
88
+ | 'invalid_syntax'
89
+ | 'domain_not_found'
90
+ | 'domain_no_mx'
91
+ | 'disposable_domain'
92
+ | 'role_address'
93
+ | 'suppressed_hard_bounce'
94
+ | 'suppressed_soft_bounce'
95
+ | 'suppressed_complaint'
96
+ | 'suppressed_manual'
97
+ | 'suppressed_unsubscribe'
98
+ >;
99
+
100
+ /**
101
+ * Validation verdict.
102
+ *
103
+ * - `deliverable`: nothing suggests the address will bounce.
104
+ * - `risky`: sendable, but a signal predicts elevated bounce/complaint odds (role
105
+ * address, disposable domain, MX-less domain, prior soft bounce).
106
+ * - `undeliverable`: will bounce or is blocked (invalid syntax, dead domain, or
107
+ * the address is on your suppression list after a hard bounce/complaint).
108
+ */
109
+ verdict: 'deliverable' | 'risky' | 'undeliverable';
110
+ }
111
+
112
+ export interface Summary {
113
+ deliverable: number;
114
+
115
+ risky: number;
116
+
117
+ total: number;
118
+
119
+ undeliverable: number;
120
+ }
121
+ }
122
+
32
123
  export interface IntrospectValidatePhoneResponse {
33
124
  countryCode: string;
34
125
 
@@ -74,6 +165,18 @@ export namespace IntrospectValidatePhoneResponse {
74
165
  }
75
166
  }
76
167
 
168
+ export interface IntrospectValidateEmailParams {
169
+ /**
170
+ * Single email address to validate.
171
+ */
172
+ email?: string;
173
+
174
+ /**
175
+ * Batch of email addresses to validate (max 100).
176
+ */
177
+ emails?: Array<string>;
178
+ }
179
+
77
180
  export interface IntrospectValidatePhoneParams {
78
181
  phoneNumber: string;
79
182
  }
@@ -81,7 +184,9 @@ export interface IntrospectValidatePhoneParams {
81
184
  export declare namespace Introspect {
82
185
  export {
83
186
  type LineType as LineType,
187
+ type IntrospectValidateEmailResponse as IntrospectValidateEmailResponse,
84
188
  type IntrospectValidatePhoneResponse as IntrospectValidatePhoneResponse,
189
+ type IntrospectValidateEmailParams as IntrospectValidateEmailParams,
85
190
  type IntrospectValidatePhoneParams as IntrospectValidatePhoneParams,
86
191
  };
87
192
  }
@@ -40,6 +40,25 @@ export class Messages extends APIResource {
40
40
  return this._client.getAPIList('/v1/messages', Cursor<Message>, { query, ...options });
41
41
  }
42
42
 
43
+ /**
44
+ * List the stored file attachments for an email message and get a short-lived
45
+ * signed `downloadUrl` for each. Works for both inbound emails (received via
46
+ * `message.inbound`) and outbound emails you sent with attachments. Messages
47
+ * without stored attachments (including SMS, WhatsApp, and other channels) return
48
+ * an empty list. Each `downloadUrl` is generated fresh per request and expires —
49
+ * fetch the file promptly and do not cache the URL.
50
+ *
51
+ * @example
52
+ * ```ts
53
+ * const response = await client.messages.listAttachments(
54
+ * 'messageId',
55
+ * );
56
+ * ```
57
+ */
58
+ listAttachments(messageID: string, options?: RequestOptions): APIPromise<MessageListAttachmentsResponse> {
59
+ return this._client.get(path`/v1/messages/${messageID}/attachments`, options);
60
+ }
61
+
43
62
  /**
44
63
  * Send an emoji reaction to an existing WhatsApp message. Reactions are only
45
64
  * supported for WhatsApp messages.
@@ -596,6 +615,52 @@ export type MessageType =
596
615
  | 'reaction'
597
616
  | 'template';
598
617
 
618
+ export interface MessageListAttachmentsResponse {
619
+ items: Array<MessageListAttachmentsResponse.Item>;
620
+ }
621
+
622
+ export namespace MessageListAttachmentsResponse {
623
+ /**
624
+ * A stored file attachment for an email message (inbound or outbound).
625
+ */
626
+ export interface Item {
627
+ id: string;
628
+
629
+ /**
630
+ * Content-ID for inline attachments (referenced in the HTML body as
631
+ * `cid:<contentId>`). Null for regular attachments.
632
+ */
633
+ contentId: string | null;
634
+
635
+ createdAt: string;
636
+
637
+ /**
638
+ * Short-lived signed URL to download the attachment bytes. Freshly generated on
639
+ * each request and expires; do not cache it. Null if the stored file is no longer
640
+ * available.
641
+ */
642
+ downloadUrl: string | null;
643
+
644
+ filename: string;
645
+
646
+ /**
647
+ * Whether the attachment is inline (embedded in the HTML body) rather than a
648
+ * regular attachment.
649
+ */
650
+ isInline: boolean;
651
+
652
+ /**
653
+ * MIME type of the attachment.
654
+ */
655
+ mimeType: string;
656
+
657
+ /**
658
+ * Size of the attachment in bytes.
659
+ */
660
+ size: number;
661
+ }
662
+ }
663
+
599
664
  export interface MessageShowTypingResponse {
600
665
  success: boolean;
601
666
  }
@@ -760,6 +825,7 @@ export declare namespace Messages {
760
825
  type MessageResponse as MessageResponse,
761
826
  type MessageStatus as MessageStatus,
762
827
  type MessageType as MessageType,
828
+ type MessageListAttachmentsResponse as MessageListAttachmentsResponse,
763
829
  type MessageShowTypingResponse as MessageShowTypingResponse,
764
830
  type MessagesCursor as MessagesCursor,
765
831
  type MessageListParams as MessageListParams,
@@ -26,23 +26,6 @@ import {
26
26
  FlowUpdateResponse,
27
27
  Flows,
28
28
  } from './flows';
29
- import * as ToolsAPI from './tools';
30
- import {
31
- AgentTool,
32
- AgentToolsCursor,
33
- ToolCreateParams,
34
- ToolCreateResponse,
35
- ToolDeleteParams,
36
- ToolListParams,
37
- ToolParameters,
38
- ToolRetrieveParams,
39
- ToolRetrieveResponse,
40
- ToolTestParams,
41
- ToolTestResponse,
42
- ToolUpdateParams,
43
- ToolUpdateResponse,
44
- Tools,
45
- } from './tools';
46
29
  import * as KnowledgeBasesAPI from './knowledge-bases/knowledge-bases';
47
30
  import {
48
31
  AgentDocument,
@@ -58,6 +41,25 @@ import {
58
41
  KnowledgeBaseUpdateResponse,
59
42
  KnowledgeBases,
60
43
  } from './knowledge-bases/knowledge-bases';
44
+ import * as ToolsAPI from './tools/tools';
45
+ import {
46
+ AgentTool,
47
+ AgentToolsCursor,
48
+ ToolCreateParams,
49
+ ToolCreateResponse,
50
+ ToolDeleteParams,
51
+ ToolListParams,
52
+ ToolListTestRunsParams,
53
+ ToolListTestRunsResponse,
54
+ ToolParameters,
55
+ ToolRetrieveParams,
56
+ ToolRetrieveResponse,
57
+ ToolTestParams,
58
+ ToolTestResponse,
59
+ ToolUpdateParams,
60
+ ToolUpdateResponse,
61
+ Tools,
62
+ } from './tools/tools';
61
63
  import { APIPromise } from '../../../core/api-promise';
62
64
  import { Cursor } from '../../../core/pagination';
63
65
  import { buildHeaders } from '../../../internal/headers';
@@ -158,6 +160,8 @@ export class AgentResource extends APIResource {
158
160
 
159
161
  export type AgentExecutionsCursor = Cursor<AgentExecution>;
160
162
 
163
+ export type AgentsCursor = Cursor<Agent>;
164
+
161
165
  /**
162
166
  * AI Agent configuration for a sender.
163
167
  */
@@ -771,6 +775,7 @@ export declare namespace AgentResource {
771
775
  type ToolCreateResponse as ToolCreateResponse,
772
776
  type ToolRetrieveResponse as ToolRetrieveResponse,
773
777
  type ToolUpdateResponse as ToolUpdateResponse,
778
+ type ToolListTestRunsResponse as ToolListTestRunsResponse,
774
779
  type ToolTestResponse as ToolTestResponse,
775
780
  type AgentToolsCursor as AgentToolsCursor,
776
781
  type ToolCreateParams as ToolCreateParams,
@@ -778,6 +783,7 @@ export declare namespace AgentResource {
778
783
  type ToolUpdateParams as ToolUpdateParams,
779
784
  type ToolListParams as ToolListParams,
780
785
  type ToolDeleteParams as ToolDeleteParams,
786
+ type ToolListTestRunsParams as ToolListTestRunsParams,
781
787
  type ToolTestParams as ToolTestParams,
782
788
  };
783
789
 
@@ -11,6 +11,7 @@ export {
11
11
  type AgentCreateParams,
12
12
  type AgentUpdateParams,
13
13
  type AgentExecutionsCursor,
14
+ type AgentsCursor,
14
15
  } from './agent';
15
16
  export {
16
17
  Executions,
@@ -57,12 +58,14 @@ export {
57
58
  type ToolCreateResponse,
58
59
  type ToolRetrieveResponse,
59
60
  type ToolUpdateResponse,
61
+ type ToolListTestRunsResponse,
60
62
  type ToolTestResponse,
61
63
  type ToolCreateParams,
62
64
  type ToolRetrieveParams,
63
65
  type ToolUpdateParams,
64
66
  type ToolListParams,
65
67
  type ToolDeleteParams,
68
+ type ToolListTestRunsParams,
66
69
  type ToolTestParams,
67
70
  type AgentToolsCursor,
68
- } from './tools';
71
+ } from './tools/index';
@@ -85,12 +85,69 @@ export class Documents extends APIResource {
85
85
  { ...options, headers: buildHeaders([{ Accept: '*/*' }, options?.headers]) },
86
86
  );
87
87
  }
88
+
89
+ /**
90
+ * Get a single document from a knowledge base.
91
+ *
92
+ * @example
93
+ * ```ts
94
+ * const response =
95
+ * await client.senders.agent.knowledgeBases.documents.retrieveDocument(
96
+ * 'docId',
97
+ * { senderId: 'senderId', kbId: 'kbId' },
98
+ * );
99
+ * ```
100
+ */
101
+ retrieveDocument(
102
+ docID: string,
103
+ params: DocumentRetrieveDocumentParams,
104
+ options?: RequestOptions,
105
+ ): APIPromise<DocumentRetrieveDocumentResponse> {
106
+ const { senderId, kbId } = params;
107
+ return this._client.get(
108
+ path`/v1/senders/${senderId}/agent/knowledge-bases/${kbId}/documents/${docID}`,
109
+ options,
110
+ );
111
+ }
112
+
113
+ /**
114
+ * Update a document's title or content. Updating content reprocesses the document
115
+ * for RAG.
116
+ *
117
+ * @example
118
+ * ```ts
119
+ * const response =
120
+ * await client.senders.agent.knowledgeBases.documents.updateDocument(
121
+ * 'docId',
122
+ * { senderId: 'senderId', kbId: 'kbId' },
123
+ * );
124
+ * ```
125
+ */
126
+ updateDocument(
127
+ docID: string,
128
+ params: DocumentUpdateDocumentParams,
129
+ options?: RequestOptions,
130
+ ): APIPromise<DocumentUpdateDocumentResponse> {
131
+ const { senderId, kbId, ...body } = params;
132
+ return this._client.patch(
133
+ path`/v1/senders/${senderId}/agent/knowledge-bases/${kbId}/documents/${docID}`,
134
+ { body, ...options },
135
+ );
136
+ }
88
137
  }
89
138
 
90
139
  export interface DocumentCreateResponse {
91
140
  document: KnowledgeBasesAPI.AgentDocument;
92
141
  }
93
142
 
143
+ export interface DocumentRetrieveDocumentResponse {
144
+ document: KnowledgeBasesAPI.AgentDocument;
145
+ }
146
+
147
+ export interface DocumentUpdateDocumentResponse {
148
+ document: KnowledgeBasesAPI.AgentDocument;
149
+ }
150
+
94
151
  export interface DocumentCreateParams {
95
152
  /**
96
153
  * Path param
@@ -121,12 +178,44 @@ export interface DocumentDeleteParams {
121
178
  kbId: string;
122
179
  }
123
180
 
181
+ export interface DocumentRetrieveDocumentParams {
182
+ senderId: string;
183
+
184
+ kbId: string;
185
+ }
186
+
187
+ export interface DocumentUpdateDocumentParams {
188
+ /**
189
+ * Path param
190
+ */
191
+ senderId: string;
192
+
193
+ /**
194
+ * Path param
195
+ */
196
+ kbId: string;
197
+
198
+ /**
199
+ * Body param
200
+ */
201
+ content?: string;
202
+
203
+ /**
204
+ * Body param
205
+ */
206
+ title?: string;
207
+ }
208
+
124
209
  export declare namespace Documents {
125
210
  export {
126
211
  type DocumentCreateResponse as DocumentCreateResponse,
212
+ type DocumentRetrieveDocumentResponse as DocumentRetrieveDocumentResponse,
213
+ type DocumentUpdateDocumentResponse as DocumentUpdateDocumentResponse,
127
214
  type DocumentCreateParams as DocumentCreateParams,
128
215
  type DocumentListParams as DocumentListParams,
129
216
  type DocumentDeleteParams as DocumentDeleteParams,
217
+ type DocumentRetrieveDocumentParams as DocumentRetrieveDocumentParams,
218
+ type DocumentUpdateDocumentParams as DocumentUpdateDocumentParams,
130
219
  };
131
220
  }
132
221
 
@@ -3,9 +3,13 @@
3
3
  export {
4
4
  Documents,
5
5
  type DocumentCreateResponse,
6
+ type DocumentRetrieveDocumentResponse,
7
+ type DocumentUpdateDocumentResponse,
6
8
  type DocumentCreateParams,
7
9
  type DocumentListParams,
8
10
  type DocumentDeleteParams,
11
+ type DocumentRetrieveDocumentParams,
12
+ type DocumentUpdateDocumentParams,
9
13
  } from './documents';
10
14
  export {
11
15
  KnowledgeBases,
@@ -7,6 +7,10 @@ import {
7
7
  DocumentCreateResponse,
8
8
  DocumentDeleteParams,
9
9
  DocumentListParams,
10
+ DocumentRetrieveDocumentParams,
11
+ DocumentRetrieveDocumentResponse,
12
+ DocumentUpdateDocumentParams,
13
+ DocumentUpdateDocumentResponse,
10
14
  Documents,
11
15
  } from './documents';
12
16
  import { APIPromise } from '../../../../core/api-promise';
@@ -244,8 +248,12 @@ export declare namespace KnowledgeBases {
244
248
  export {
245
249
  Documents as Documents,
246
250
  type DocumentCreateResponse as DocumentCreateResponse,
251
+ type DocumentRetrieveDocumentResponse as DocumentRetrieveDocumentResponse,
252
+ type DocumentUpdateDocumentResponse as DocumentUpdateDocumentResponse,
247
253
  type DocumentCreateParams as DocumentCreateParams,
248
254
  type DocumentListParams as DocumentListParams,
249
255
  type DocumentDeleteParams as DocumentDeleteParams,
256
+ type DocumentRetrieveDocumentParams as DocumentRetrieveDocumentParams,
257
+ type DocumentUpdateDocumentParams as DocumentUpdateDocumentParams,
250
258
  };
251
259
  }
@@ -0,0 +1,21 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ export {
4
+ Tools,
5
+ type AgentTool,
6
+ type ToolParameters,
7
+ type ToolCreateResponse,
8
+ type ToolRetrieveResponse,
9
+ type ToolUpdateResponse,
10
+ type ToolListTestRunsResponse,
11
+ type ToolTestResponse,
12
+ type ToolCreateParams,
13
+ type ToolRetrieveParams,
14
+ type ToolUpdateParams,
15
+ type ToolListParams,
16
+ type ToolDeleteParams,
17
+ type ToolListTestRunsParams,
18
+ type ToolTestParams,
19
+ type AgentToolsCursor,
20
+ } from './tools';
21
+ export { Webhook, type WebhookRotateSecretParams } from './webhook';