@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,337 @@
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 { buildHeaders } from '../internal/headers';
6
+ import { RequestOptions } from '../internal/request-options';
7
+ import { path } from '../internal/utils/path';
8
+
9
+ export class EmailDomains extends APIResource {
10
+ /**
11
+ * Add a domain to send email from. Returns the DNS records to publish (DKIM CNAMEs
12
+ * are required; SPF, DMARC, and MAIL FROM are recommended). Publish them at your
13
+ * DNS provider, then verify.
14
+ *
15
+ * @example
16
+ * ```ts
17
+ * const emailDomain = await client.emailDomains.create({
18
+ * domain: 'example.com',
19
+ * });
20
+ * ```
21
+ */
22
+ create(body: EmailDomainCreateParams, options?: RequestOptions): APIPromise<EmailDomainCreateResponse> {
23
+ return this._client.post('/v1/email-domains', { body, ...options });
24
+ }
25
+
26
+ /**
27
+ * Fetch a domain with its DNS records and current status.
28
+ *
29
+ * @example
30
+ * ```ts
31
+ * const emailDomain = await client.emailDomains.retrieve(
32
+ * 'domainId',
33
+ * );
34
+ * ```
35
+ */
36
+ retrieve(domainID: string, options?: RequestOptions): APIPromise<EmailDomainRetrieveResponse> {
37
+ return this._client.get(path`/v1/email-domains/${domainID}`, options);
38
+ }
39
+
40
+ /**
41
+ * List email domains
42
+ *
43
+ * @example
44
+ * ```ts
45
+ * const emailDomains = await client.emailDomains.list();
46
+ * ```
47
+ */
48
+ list(options?: RequestOptions): APIPromise<EmailDomainListResponse> {
49
+ return this._client.get('/v1/email-domains', options);
50
+ }
51
+
52
+ /**
53
+ * Remove an email domain
54
+ *
55
+ * @example
56
+ * ```ts
57
+ * await client.emailDomains.delete('domainId');
58
+ * ```
59
+ */
60
+ delete(domainID: string, options?: RequestOptions): APIPromise<void> {
61
+ return this._client.delete(path`/v1/email-domains/${domainID}`, {
62
+ ...options,
63
+ headers: buildHeaders([{ Accept: '*/*' }, options?.headers]),
64
+ });
65
+ }
66
+
67
+ /**
68
+ * Re-check the domain's published DNS records and refresh its status.
69
+ *
70
+ * @example
71
+ * ```ts
72
+ * const response = await client.emailDomains.verify(
73
+ * 'domainId',
74
+ * );
75
+ * ```
76
+ */
77
+ verify(domainID: string, options?: RequestOptions): APIPromise<EmailDomainVerifyResponse> {
78
+ return this._client.post(path`/v1/email-domains/${domainID}/verify`, options);
79
+ }
80
+ }
81
+
82
+ export interface EmailDomainCreateResponse {
83
+ domain: EmailDomainCreateResponse.Domain;
84
+ }
85
+
86
+ export namespace EmailDomainCreateResponse {
87
+ export interface Domain {
88
+ id: string;
89
+
90
+ dkimStatus: string;
91
+
92
+ domain: string;
93
+
94
+ /**
95
+ * Overall verification status.
96
+ */
97
+ status: string;
98
+
99
+ /**
100
+ * DNS records to publish. Present when fetching a single domain or after adding
101
+ * one.
102
+ */
103
+ dnsRecords?: Array<Domain.DNSRecord>;
104
+ }
105
+
106
+ export namespace Domain {
107
+ export interface DNSRecord {
108
+ /**
109
+ * Record host/name to create.
110
+ */
111
+ name: string;
112
+
113
+ /**
114
+ * What the record is for.
115
+ */
116
+ purpose: 'dkim' | 'spf' | 'dmarc' | 'mail_from';
117
+
118
+ /**
119
+ * Whether the record is required to verify + send (DKIM) or recommended for
120
+ * deliverability.
121
+ */
122
+ required: boolean;
123
+
124
+ /**
125
+ * DNS record type.
126
+ */
127
+ type: string;
128
+
129
+ /**
130
+ * Record value.
131
+ */
132
+ value: string;
133
+
134
+ /**
135
+ * Priority (MX records only).
136
+ */
137
+ priority?: number;
138
+ }
139
+ }
140
+ }
141
+
142
+ export interface EmailDomainRetrieveResponse {
143
+ domain: EmailDomainRetrieveResponse.Domain;
144
+ }
145
+
146
+ export namespace EmailDomainRetrieveResponse {
147
+ export interface Domain {
148
+ id: string;
149
+
150
+ dkimStatus: string;
151
+
152
+ domain: string;
153
+
154
+ /**
155
+ * Overall verification status.
156
+ */
157
+ status: string;
158
+
159
+ /**
160
+ * DNS records to publish. Present when fetching a single domain or after adding
161
+ * one.
162
+ */
163
+ dnsRecords?: Array<Domain.DNSRecord>;
164
+ }
165
+
166
+ export namespace Domain {
167
+ export interface DNSRecord {
168
+ /**
169
+ * Record host/name to create.
170
+ */
171
+ name: string;
172
+
173
+ /**
174
+ * What the record is for.
175
+ */
176
+ purpose: 'dkim' | 'spf' | 'dmarc' | 'mail_from';
177
+
178
+ /**
179
+ * Whether the record is required to verify + send (DKIM) or recommended for
180
+ * deliverability.
181
+ */
182
+ required: boolean;
183
+
184
+ /**
185
+ * DNS record type.
186
+ */
187
+ type: string;
188
+
189
+ /**
190
+ * Record value.
191
+ */
192
+ value: string;
193
+
194
+ /**
195
+ * Priority (MX records only).
196
+ */
197
+ priority?: number;
198
+ }
199
+ }
200
+ }
201
+
202
+ export interface EmailDomainListResponse {
203
+ items: Array<EmailDomainListResponse.Item>;
204
+ }
205
+
206
+ export namespace EmailDomainListResponse {
207
+ export interface Item {
208
+ id: string;
209
+
210
+ dkimStatus: string;
211
+
212
+ domain: string;
213
+
214
+ /**
215
+ * Overall verification status.
216
+ */
217
+ status: string;
218
+
219
+ /**
220
+ * DNS records to publish. Present when fetching a single domain or after adding
221
+ * one.
222
+ */
223
+ dnsRecords?: Array<Item.DNSRecord>;
224
+ }
225
+
226
+ export namespace Item {
227
+ export interface DNSRecord {
228
+ /**
229
+ * Record host/name to create.
230
+ */
231
+ name: string;
232
+
233
+ /**
234
+ * What the record is for.
235
+ */
236
+ purpose: 'dkim' | 'spf' | 'dmarc' | 'mail_from';
237
+
238
+ /**
239
+ * Whether the record is required to verify + send (DKIM) or recommended for
240
+ * deliverability.
241
+ */
242
+ required: boolean;
243
+
244
+ /**
245
+ * DNS record type.
246
+ */
247
+ type: string;
248
+
249
+ /**
250
+ * Record value.
251
+ */
252
+ value: string;
253
+
254
+ /**
255
+ * Priority (MX records only).
256
+ */
257
+ priority?: number;
258
+ }
259
+ }
260
+ }
261
+
262
+ export interface EmailDomainVerifyResponse {
263
+ domain: EmailDomainVerifyResponse.Domain;
264
+ }
265
+
266
+ export namespace EmailDomainVerifyResponse {
267
+ export interface Domain {
268
+ id: string;
269
+
270
+ dkimStatus: string;
271
+
272
+ domain: string;
273
+
274
+ /**
275
+ * Overall verification status.
276
+ */
277
+ status: string;
278
+
279
+ /**
280
+ * DNS records to publish. Present when fetching a single domain or after adding
281
+ * one.
282
+ */
283
+ dnsRecords?: Array<Domain.DNSRecord>;
284
+ }
285
+
286
+ export namespace Domain {
287
+ export interface DNSRecord {
288
+ /**
289
+ * Record host/name to create.
290
+ */
291
+ name: string;
292
+
293
+ /**
294
+ * What the record is for.
295
+ */
296
+ purpose: 'dkim' | 'spf' | 'dmarc' | 'mail_from';
297
+
298
+ /**
299
+ * Whether the record is required to verify + send (DKIM) or recommended for
300
+ * deliverability.
301
+ */
302
+ required: boolean;
303
+
304
+ /**
305
+ * DNS record type.
306
+ */
307
+ type: string;
308
+
309
+ /**
310
+ * Record value.
311
+ */
312
+ value: string;
313
+
314
+ /**
315
+ * Priority (MX records only).
316
+ */
317
+ priority?: number;
318
+ }
319
+ }
320
+ }
321
+
322
+ export interface EmailDomainCreateParams {
323
+ /**
324
+ * Bare domain, e.g. example.com.
325
+ */
326
+ domain: string;
327
+ }
328
+
329
+ export declare namespace EmailDomains {
330
+ export {
331
+ type EmailDomainCreateResponse as EmailDomainCreateResponse,
332
+ type EmailDomainRetrieveResponse as EmailDomainRetrieveResponse,
333
+ type EmailDomainListResponse as EmailDomainListResponse,
334
+ type EmailDomainVerifyResponse as EmailDomainVerifyResponse,
335
+ type EmailDomainCreateParams as EmailDomainCreateParams,
336
+ };
337
+ }
@@ -1,6 +1,16 @@
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 GitLinkAPI from './git-link';
5
+ import {
6
+ GitLink,
7
+ GitLinkDeployNowResponse,
8
+ GitLinkLinkParams,
9
+ GitLinkLinkResponse,
10
+ GitLinkRetrieveResponse,
11
+ GitLinkUpdateParams,
12
+ GitLinkUpdateResponse,
13
+ } from './git-link';
4
14
  import * as SecretsAPI from './secrets';
5
15
  import {
6
16
  SecretListResponse,
@@ -9,12 +19,23 @@ import {
9
19
  SecretUnsetParams,
10
20
  Secrets,
11
21
  } from './secrets';
22
+ import * as TriggersAPI from './triggers';
23
+ import {
24
+ TriggerCreateParams,
25
+ TriggerCreateResponse,
26
+ TriggerListResponse,
27
+ TriggerUpdateParams,
28
+ TriggerUpdateResponse,
29
+ Triggers,
30
+ } from './triggers';
12
31
  import { APIPromise } from '../../core/api-promise';
13
32
  import { RequestOptions } from '../../internal/request-options';
14
33
  import { path } from '../../internal/utils/path';
15
34
 
16
35
  export class Functions extends APIResource {
17
36
  secrets: SecretsAPI.Secrets = new SecretsAPI.Secrets(this._client);
37
+ triggers: TriggersAPI.Triggers = new TriggersAPI.Triggers(this._client);
38
+ gitLink: GitLinkAPI.GitLink = new GitLinkAPI.GitLink(this._client);
18
39
 
19
40
  /**
20
41
  * Create a new Zavu Function. The function starts in `draft` status. A dedicated
@@ -128,6 +149,62 @@ export class Functions extends APIResource {
128
149
  return this._client.get(path`/v1/functions/deployments/${deploymentID}`, options);
129
150
  }
130
151
 
152
+ /**
153
+ * List a function's deployment history, newest first. Source code is omitted;
154
+ * fetch a single deployment via GET /v1/functions/deployments/{deploymentId} for
155
+ * full details.
156
+ *
157
+ * @example
158
+ * ```ts
159
+ * const response = await client.functions.listDeployments(
160
+ * 'functionId',
161
+ * );
162
+ * ```
163
+ */
164
+ listDeployments(
165
+ functionID: string,
166
+ query: FunctionListDeploymentsParams | null | undefined = {},
167
+ options?: RequestOptions,
168
+ ): APIPromise<FunctionListDeploymentsResponse> {
169
+ return this._client.get(path`/v1/functions/${functionID}/deployments`, { query, ...options });
170
+ }
171
+
172
+ /**
173
+ * List the event types a function trigger can subscribe to. Includes the special
174
+ * type `cron`, which fires on a schedule (see POST
175
+ * /v1/functions/{functionId}/triggers) rather than on a messaging event.
176
+ *
177
+ * @example
178
+ * ```ts
179
+ * const response = await client.functions.listEventTypes();
180
+ * ```
181
+ */
182
+ listEventTypes(options?: RequestOptions): APIPromise<FunctionListEventTypesResponse> {
183
+ return this._client.get('/v1/functions/event-types', options);
184
+ }
185
+
186
+ /**
187
+ * Re-deploy a previous version by copying its source, dependencies, and runtime
188
+ * pin onto the function's draft, then deploying. Returns immediately with a
189
+ * deployment ID — poll GET /v1/functions/deployments/{deploymentId} until status
190
+ * is active or failed. Secrets are not rolled back.
191
+ *
192
+ * @example
193
+ * ```ts
194
+ * const response = await client.functions.rollbackDeployment(
195
+ * 'functionId',
196
+ * { deploymentId: 'fnd_abc123' },
197
+ * );
198
+ * ```
199
+ */
200
+ rollbackDeployment(
201
+ functionID: string,
202
+ body: FunctionRollbackDeploymentParams,
203
+ options?: RequestOptions,
204
+ ): APIPromise<FunctionRollbackDeploymentResponse> {
205
+ return this._client.post(path`/v1/functions/${functionID}/rollback`, { body, ...options });
206
+ }
207
+
131
208
  /**
132
209
  * Fetch invocation logs for a function. Logs are paginated via `nextToken`. Pass
133
210
  * `startTime` / `endTime` (Unix epoch milliseconds) to bound the window, or
@@ -479,6 +556,94 @@ export namespace FunctionGetDeploymentResponse {
479
556
  }
480
557
  }
481
558
 
559
+ export interface FunctionListDeploymentsResponse {
560
+ deployments: Array<FunctionListDeploymentsResponse.Deployment>;
561
+ }
562
+
563
+ export namespace FunctionListDeploymentsResponse {
564
+ export interface Deployment {
565
+ id?: string;
566
+
567
+ bundleSizeBytes?: number | null;
568
+
569
+ createdAt?: string;
570
+
571
+ deployedAt?: string | null;
572
+
573
+ errorMessage?: string | null;
574
+
575
+ isActive?: boolean;
576
+
577
+ /**
578
+ * Stage of a function deployment.
579
+ */
580
+ status?: 'pending' | 'bundling' | 'uploading' | 'publishing' | 'active' | 'failed' | 'superseded';
581
+
582
+ version?: number;
583
+ }
584
+ }
585
+
586
+ export interface FunctionListEventTypesResponse {
587
+ events: Array<string>;
588
+ }
589
+
590
+ export interface FunctionRollbackDeploymentResponse {
591
+ deployment: FunctionRollbackDeploymentResponse.Deployment;
592
+
593
+ /**
594
+ * The draft that was replaced, so a UI can offer to restore it.
595
+ */
596
+ previousDraft?: unknown | null;
597
+
598
+ rolledBackToVersion?: number;
599
+ }
600
+
601
+ export namespace FunctionRollbackDeploymentResponse {
602
+ export interface Deployment {
603
+ id: string;
604
+
605
+ createdAt: string;
606
+
607
+ functionId: string;
608
+
609
+ /**
610
+ * Stage of a function deployment.
611
+ */
612
+ status: 'pending' | 'bundling' | 'uploading' | 'publishing' | 'active' | 'failed' | 'superseded';
613
+
614
+ /**
615
+ * Monotonically increasing deployment version, starting at 1.
616
+ */
617
+ version: number;
618
+
619
+ /**
620
+ * What the build printed: dependency installation, the bundler's output, and the
621
+ * compiler's message when it failed. Returned when fetching a single deployment,
622
+ * omitted from the list. Read this first when a deploy fails — `errorMessage` is
623
+ * often the outer wrapper's summary, and the line that names the broken import or
624
+ * the syntax error is here.
625
+ */
626
+ buildLogs?: string | null;
627
+
628
+ /**
629
+ * Size of the built bundle in bytes. Null until the build finishes.
630
+ */
631
+ bundleBytes?: number | null;
632
+
633
+ deployedAt?: string | null;
634
+
635
+ /**
636
+ * Failure reason when status is 'failed'.
637
+ */
638
+ errorMessage?: string | null;
639
+
640
+ /**
641
+ * Total size of the deployed source tree in bytes.
642
+ */
643
+ sourceCodeBytes?: number | null;
644
+ }
645
+ }
646
+
482
647
  export interface FunctionTailLogsResponse {
483
648
  events: Array<FunctionTailLogsResponse.Event>;
484
649
 
@@ -625,6 +790,17 @@ export interface FunctionDeployParams {
625
790
  sourceCode?: string;
626
791
  }
627
792
 
793
+ export interface FunctionListDeploymentsParams {
794
+ limit?: number;
795
+ }
796
+
797
+ export interface FunctionRollbackDeploymentParams {
798
+ /**
799
+ * ID of the deployment to roll back to.
800
+ */
801
+ deploymentId: string;
802
+ }
803
+
628
804
  export interface FunctionTailLogsParams {
629
805
  /**
630
806
  * End of the log window in Unix epoch milliseconds.
@@ -644,6 +820,8 @@ export interface FunctionTailLogsParams {
644
820
  }
645
821
 
646
822
  Functions.Secrets = Secrets;
823
+ Functions.Triggers = Triggers;
824
+ Functions.GitLink = GitLink;
647
825
 
648
826
  export declare namespace Functions {
649
827
  export {
@@ -653,10 +831,15 @@ export declare namespace Functions {
653
831
  type FunctionDeleteResponse as FunctionDeleteResponse,
654
832
  type FunctionDeployResponse as FunctionDeployResponse,
655
833
  type FunctionGetDeploymentResponse as FunctionGetDeploymentResponse,
834
+ type FunctionListDeploymentsResponse as FunctionListDeploymentsResponse,
835
+ type FunctionListEventTypesResponse as FunctionListEventTypesResponse,
836
+ type FunctionRollbackDeploymentResponse as FunctionRollbackDeploymentResponse,
656
837
  type FunctionTailLogsResponse as FunctionTailLogsResponse,
657
838
  type FunctionCreateParams as FunctionCreateParams,
658
839
  type FunctionUpdateParams as FunctionUpdateParams,
659
840
  type FunctionDeployParams as FunctionDeployParams,
841
+ type FunctionListDeploymentsParams as FunctionListDeploymentsParams,
842
+ type FunctionRollbackDeploymentParams as FunctionRollbackDeploymentParams,
660
843
  type FunctionTailLogsParams as FunctionTailLogsParams,
661
844
  };
662
845
 
@@ -667,4 +850,23 @@ export declare namespace Functions {
667
850
  type SecretSetParams as SecretSetParams,
668
851
  type SecretUnsetParams as SecretUnsetParams,
669
852
  };
853
+
854
+ export {
855
+ Triggers as Triggers,
856
+ type TriggerCreateResponse as TriggerCreateResponse,
857
+ type TriggerUpdateResponse as TriggerUpdateResponse,
858
+ type TriggerListResponse as TriggerListResponse,
859
+ type TriggerCreateParams as TriggerCreateParams,
860
+ type TriggerUpdateParams as TriggerUpdateParams,
861
+ };
862
+
863
+ export {
864
+ GitLink as GitLink,
865
+ type GitLinkRetrieveResponse as GitLinkRetrieveResponse,
866
+ type GitLinkUpdateResponse as GitLinkUpdateResponse,
867
+ type GitLinkDeployNowResponse as GitLinkDeployNowResponse,
868
+ type GitLinkLinkResponse as GitLinkLinkResponse,
869
+ type GitLinkUpdateParams as GitLinkUpdateParams,
870
+ type GitLinkLinkParams as GitLinkLinkParams,
871
+ };
670
872
  }