@sentroy-co/client-sdk 2.5.0 → 2.6.1

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 (39) hide show
  1. package/README.md +114 -0
  2. package/dist/http.d.ts +8 -0
  3. package/dist/http.d.ts.map +1 -1
  4. package/dist/http.js +10 -0
  5. package/dist/http.js.map +1 -1
  6. package/dist/index.d.ts +9 -1
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/index.js +12 -0
  9. package/dist/index.js.map +1 -1
  10. package/dist/react/lib/use-upload-queue.d.ts.map +1 -1
  11. package/dist/react/lib/use-upload-queue.js +61 -25
  12. package/dist/react/lib/use-upload-queue.js.map +1 -1
  13. package/dist/resources/audience.d.ts +60 -0
  14. package/dist/resources/audience.d.ts.map +1 -0
  15. package/dist/resources/audience.js +108 -0
  16. package/dist/resources/audience.js.map +1 -0
  17. package/dist/resources/logs.d.ts +15 -0
  18. package/dist/resources/logs.d.ts.map +1 -0
  19. package/dist/resources/logs.js +36 -0
  20. package/dist/resources/logs.js.map +1 -0
  21. package/dist/resources/suppressions.d.ts +20 -0
  22. package/dist/resources/suppressions.d.ts.map +1 -0
  23. package/dist/resources/suppressions.js +39 -0
  24. package/dist/resources/suppressions.js.map +1 -0
  25. package/dist/resources/webhooks.d.ts +21 -0
  26. package/dist/resources/webhooks.d.ts.map +1 -0
  27. package/dist/resources/webhooks.js +35 -0
  28. package/dist/resources/webhooks.js.map +1 -0
  29. package/dist/types.d.ts +128 -0
  30. package/dist/types.d.ts.map +1 -1
  31. package/package.json +1 -1
  32. package/src/http.ts +11 -0
  33. package/src/index.ts +30 -0
  34. package/src/react/lib/use-upload-queue.ts +64 -25
  35. package/src/resources/audience.ts +139 -0
  36. package/src/resources/logs.ts +27 -0
  37. package/src/resources/suppressions.ts +39 -0
  38. package/src/resources/webhooks.ts +47 -0
  39. package/src/types.ts +161 -0
package/README.md CHANGED
@@ -121,6 +121,120 @@ await sentroy.inbox.move(1234, "Trash", {
121
121
  await sentroy.inbox.delete(1234, { mailbox: "info@example.com" })
122
122
  ```
123
123
 
124
+ ### Audience
125
+
126
+ Manage contacts and audience lists from the SDK. Useful for building
127
+ your own newsletter signup form, syncing customers from another system,
128
+ or assembling segments for a campaign.
129
+
130
+ ```ts
131
+ // List + paginate contacts (filter by status / tags)
132
+ const { contacts, total, page, limit } = await sentroy.audience.contacts.list({
133
+ page: 1,
134
+ limit: 50,
135
+ status: "active",
136
+ tags: ["customer", "vip"],
137
+ })
138
+
139
+ // Email-prefix autocomplete (capped at 10 server-side)
140
+ const matches = await sentroy.audience.contacts.search("alex@")
141
+
142
+ // Create a contact
143
+ const contact = await sentroy.audience.contacts.create({
144
+ email: "user@example.com",
145
+ name: "Jane Doe",
146
+ tags: ["beta-tester"],
147
+ metadata: { signupSource: "landing-2026-q2" },
148
+ })
149
+
150
+ // Patch — pass any subset of fields. Use `status` to mark unsubscribed.
151
+ await sentroy.audience.contacts.update(contact.id, { tags: ["customer"] })
152
+
153
+ // Soft-delete (sets status: "unsubscribed" — record is preserved)
154
+ await sentroy.audience.contacts.delete(contact.id)
155
+ ```
156
+
157
+ Audience lists are simple groupings; a single contact can belong to many.
158
+
159
+ ```ts
160
+ // CRUD audience lists
161
+ const lists = await sentroy.audience.lists.list()
162
+ const list = await sentroy.audience.lists.create({
163
+ name: "Newsletter — May 2026",
164
+ description: "Opt-ins from the homepage form",
165
+ })
166
+ await sentroy.audience.lists.delete(list.id)
167
+
168
+ // Membership — scoped to a single list id
169
+ const members = sentroy.audience.lists.members(list.id)
170
+ await members.add(contact.id)
171
+ const inList = await members.list()
172
+ await members.remove(contact.id)
173
+ ```
174
+
175
+ ### Suppressions
176
+
177
+ Suppressed addresses are skipped at send time. Bounces and complaints
178
+ are added automatically; the API is for manually honoring off-platform
179
+ opt-outs or removing a stale entry.
180
+
181
+ ```ts
182
+ const suppressions = await sentroy.suppressions.list({
183
+ domainId: "domain-id",
184
+ reason: "complaint",
185
+ page: 1,
186
+ limit: 50,
187
+ })
188
+
189
+ const added = await sentroy.suppressions.add({
190
+ email: "leaving@example.com",
191
+ domainId: "domain-id",
192
+ reason: "manual",
193
+ })
194
+
195
+ await sentroy.suppressions.remove(added.id)
196
+ ```
197
+
198
+ ### Webhooks
199
+
200
+ Subscribe to delivery events on a per-domain basis. The `secret`
201
+ returned at create time signs every delivery — store it and verify the
202
+ HMAC on your endpoint.
203
+
204
+ ```ts
205
+ const webhook = await sentroy.webhooks.create({
206
+ url: "https://example.com/webhooks/sentroy",
207
+ events: ["sent", "bounced", "opened", "clicked", "unsubscribed"],
208
+ domainId: "domain-id",
209
+ })
210
+ console.log(webhook.secret) // Returned ONCE — store it now
211
+
212
+ const all = await sentroy.webhooks.list() // every webhook
213
+ const scoped = await sentroy.webhooks.list("domain-id")
214
+
215
+ await sentroy.webhooks.update(webhook.id, { active: false })
216
+ await sentroy.webhooks.delete(webhook.id)
217
+ ```
218
+
219
+ ### Logs
220
+
221
+ Query the mail log to debug delivery issues, surface per-message status
222
+ in your own UI, or build a customer-facing activity timeline.
223
+
224
+ ```ts
225
+ const logs = await sentroy.logs.list({
226
+ status: "bounced",
227
+ domainId: "domain-id",
228
+ from: "2026-05-01T00:00:00Z",
229
+ to: "2026-05-31T23:59:59Z",
230
+ page: 1,
231
+ limit: 100,
232
+ })
233
+
234
+ const log = await sentroy.logs.get(logs[0].id)
235
+ console.log(log.openedAt, log.clickedAt) // tracking timestamps if enabled
236
+ ```
237
+
124
238
  ### Send Email
125
239
 
126
240
  ```ts
package/dist/http.d.ts CHANGED
@@ -34,6 +34,14 @@ export declare class HttpClient {
34
34
  put<T>(path: string, body?: unknown): Promise<T>;
35
35
  patch<T>(path: string, body?: unknown): Promise<T>;
36
36
  del<T>(path: string, query?: Record<string, unknown>): Promise<T>;
37
+ /**
38
+ * DELETE with a JSON body. Most endpoints take an id in the path, but a
39
+ * few collection-membership endpoints (audience list members) carry the
40
+ * member id in the body so a single route can address both members of
41
+ * the parent. Fetch + undici both allow DELETE bodies — keep separate
42
+ * from `del` so the common case stays query-only.
43
+ */
44
+ delWithBody<T>(path: string, body: unknown): Promise<T>;
37
45
  /**
38
46
  * Multipart upload. Body is a FormData; we deliberately do not set
39
47
  * Content-Type so the runtime (browser or Node undici) writes the
@@ -1 +1 @@
1
- {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"AAEA,qBAAa,YAAa,SAAQ,KAAK;aAEnB,UAAU,EAAE,MAAM;aAClB,IAAI,EAAE,OAAO;gBADb,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,OAAO,EAC7B,OAAO,CAAC,EAAE,MAAM;CAKnB;AAED,qBAAa,UAAU;IACrB,OAAO,CAAC,OAAO,CAAQ;IACvB;;;;;;OAMG;IACH,OAAO,CAAC,KAAK,CAAoB;IACjC,OAAO,CAAC,OAAO,CAAQ;gBAEX,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,OAAO,SAAS;IAMxE,OAAO,CAAC,QAAQ;IAYhB,OAAO,CAAC,WAAW;IAInB,+DAA+D;IAC/D,OAAO,KAAK,gBAAgB,GAE3B;IAED;;;;OAIG;IACG,QAAQ,CACZ,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,GAC1D,OAAO,CAAC,QAAQ,CAAC;YAgBN,OAAO;IA0Cf,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAIjE,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;IAIjD,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;IAIhD,KAAK,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;IAIlD,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAIvE;;;;OAIG;IACG,QAAQ,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC;IA0B3D;;;;;;;;OAQG;IACG,oBAAoB,CAAC,CAAC,EAC1B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,QAAQ,EACd,IAAI,GAAE;QACJ,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;QACpD,MAAM,CAAC,EAAE,WAAW,CAAA;KAChB,GACL,OAAO,CAAC,CAAC,CAAC;CAoEd"}
1
+ {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"AAEA,qBAAa,YAAa,SAAQ,KAAK;aAEnB,UAAU,EAAE,MAAM;aAClB,IAAI,EAAE,OAAO;gBADb,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,OAAO,EAC7B,OAAO,CAAC,EAAE,MAAM;CAKnB;AAED,qBAAa,UAAU;IACrB,OAAO,CAAC,OAAO,CAAQ;IACvB;;;;;;OAMG;IACH,OAAO,CAAC,KAAK,CAAoB;IACjC,OAAO,CAAC,OAAO,CAAQ;gBAEX,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,OAAO,SAAS;IAMxE,OAAO,CAAC,QAAQ;IAYhB,OAAO,CAAC,WAAW;IAInB,+DAA+D;IAC/D,OAAO,KAAK,gBAAgB,GAE3B;IAED;;;;OAIG;IACG,QAAQ,CACZ,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,GAC1D,OAAO,CAAC,QAAQ,CAAC;YAgBN,OAAO;IA0Cf,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAIjE,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;IAIjD,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;IAIhD,KAAK,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;IAIlD,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAIvE;;;;;;OAMG;IACG,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;IAI7D;;;;OAIG;IACG,QAAQ,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC;IA0B3D;;;;;;;;OAQG;IACG,oBAAoB,CAAC,CAAC,EAC1B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,QAAQ,EACd,IAAI,GAAE;QACJ,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;QACpD,MAAM,CAAC,EAAE,WAAW,CAAA;KAChB,GACL,OAAO,CAAC,CAAC,CAAC;CAoEd"}
package/dist/http.js CHANGED
@@ -108,6 +108,16 @@ class HttpClient {
108
108
  async del(path, query) {
109
109
  return this.request("DELETE", path, { query });
110
110
  }
111
+ /**
112
+ * DELETE with a JSON body. Most endpoints take an id in the path, but a
113
+ * few collection-membership endpoints (audience list members) carry the
114
+ * member id in the body so a single route can address both members of
115
+ * the parent. Fetch + undici both allow DELETE bodies — keep separate
116
+ * from `del` so the common case stays query-only.
117
+ */
118
+ async delWithBody(path, body) {
119
+ return this.request("DELETE", path, { body });
120
+ }
111
121
  /**
112
122
  * Multipart upload. Body is a FormData; we deliberately do not set
113
123
  * Content-Type so the runtime (browser or Node undici) writes the
package/dist/http.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"http.js","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":";;;AAEA,MAAa,YAAa,SAAQ,KAAK;IAEnB;IACA;IAFlB,YACkB,UAAkB,EAClB,IAAa,EAC7B,OAAgB;QAEhB,KAAK,CAAC,OAAO,IAAI,sBAAsB,UAAU,GAAG,CAAC,CAAA;QAJrC,eAAU,GAAV,UAAU,CAAQ;QAClB,SAAI,GAAJ,IAAI,CAAS;QAI7B,IAAI,CAAC,IAAI,GAAG,cAAc,CAAA;IAC5B,CAAC;CACF;AATD,oCASC;AAED,MAAa,UAAU;IACb,OAAO,CAAQ;IACvB;;;;;;OAMG;IACK,KAAK,CAAoB;IACzB,OAAO,CAAQ;IAEvB,YAAY,OAAe,EAAE,KAAyB,EAAE,OAAO,GAAG,MAAM;QACtE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;QAC1C,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;QAClB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAEO,QAAQ,CAAC,IAAY,EAAE,KAA+B;QAC5D,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,EAAE,CAAC,CAAA;QAC7C,IAAI,KAAK,EAAE,CAAC;YACV,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBACjD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;oBAC1C,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;gBAC1C,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAA;IACvB,CAAC;IAEO,WAAW;QACjB,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,UAAU,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;IACpE,CAAC;IAED,+DAA+D;IAC/D,IAAY,gBAAgB;QAC1B,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAA;IACxC,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,QAAQ,CACZ,IAAY,EACZ,IAA2D;QAE3D,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;QAC5C,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAA;QACxC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;QAChE,IAAI,CAAC;YACH,OAAO,MAAM,KAAK,CAAC,GAAG,EAAE;gBACtB,MAAM,EAAE,IAAI,EAAE,MAAM,IAAI,KAAK;gBAC7B,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE;gBAC3B,WAAW,EAAE,IAAI,CAAC,gBAAgB;gBAClC,MAAM,EAAE,UAAU,CAAC,MAAM;aAC1B,CAAC,CAAA;QACJ,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,KAAK,CAAC,CAAA;QACrB,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,OAAO,CACnB,MAAc,EACd,IAAY,EACZ,OAGC;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;QAC/C,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAA;QACxC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;QAEhE,IAAI,CAAC;YACH,MAAM,OAAO,GAA2B,EAAE,GAAG,IAAI,CAAC,WAAW,EAAE,EAAE,CAAA;YACjE,IAAI,OAAO,EAAE,IAAI,EAAE,CAAC;gBAClB,OAAO,CAAC,cAAc,CAAC,GAAG,kBAAkB,CAAA;YAC9C,CAAC;YAED,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;gBAC3B,MAAM;gBACN,OAAO;gBACP,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;gBAC9D,WAAW,EAAE,IAAI,CAAC,gBAAgB;gBAClC,MAAM,EAAE,UAAU,CAAC,MAAM;aAC1B,CAAC,CAAA;YAEF,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAmB,CAAA;YAEjD,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;gBACZ,MAAM,IAAI,YAAY,CACpB,GAAG,CAAC,MAAM,EACV,IAAI,EACJ,IAAI,CAAC,KAAK,IAAI,8BAA8B,GAAG,CAAC,MAAM,EAAE,CACzD,CAAA;YACH,CAAC;YAED,OAAO,IAAI,CAAC,IAAI,CAAA;QAClB,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,KAAK,CAAC,CAAA;QACrB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,GAAG,CAAI,IAAY,EAAE,KAA+B;QACxD,OAAO,IAAI,CAAC,OAAO,CAAI,KAAK,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;IAChD,CAAC;IAED,KAAK,CAAC,IAAI,CAAI,IAAY,EAAE,IAAc;QACxC,OAAO,IAAI,CAAC,OAAO,CAAI,MAAM,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;IAChD,CAAC;IAED,KAAK,CAAC,GAAG,CAAI,IAAY,EAAE,IAAc;QACvC,OAAO,IAAI,CAAC,OAAO,CAAI,KAAK,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;IAC/C,CAAC;IAED,KAAK,CAAC,KAAK,CAAI,IAAY,EAAE,IAAc;QACzC,OAAO,IAAI,CAAC,OAAO,CAAI,OAAO,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;IACjD,CAAC;IAED,KAAK,CAAC,GAAG,CAAI,IAAY,EAAE,KAA+B;QACxD,OAAO,IAAI,CAAC,OAAO,CAAI,QAAQ,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;IACnD,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,QAAQ,CAAI,IAAY,EAAE,IAAc;QAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QAC/B,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAA;QACxC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;QAChE,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;gBAC3B,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE;gBAC3B,WAAW,EAAE,IAAI,CAAC,gBAAgB;gBAClC,IAAI,EAAE,IAAI;gBACV,MAAM,EAAE,UAAU,CAAC,MAAM;aAC1B,CAAC,CAAA;YACF,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAgC,CAAA;YAC9D,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;gBACZ,MAAM,IAAI,YAAY,CACpB,GAAG,CAAC,MAAM,EACV,IAAI,EACJ,IAAI,CAAC,KAAK,IAAI,6BAA6B,GAAG,CAAC,MAAM,EAAE,CACxD,CAAA;YACH,CAAC;YACD,OAAO,IAAI,CAAC,IAAI,CAAA;QAClB,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,KAAK,CAAC,CAAA;QACrB,CAAC;IACH,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,oBAAoB,CACxB,IAAY,EACZ,IAAc,EACd,OAGI,EAAE;QAEN,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QAC/B,OAAO,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACxC,MAAM,GAAG,GAAG,IAAI,cAAc,EAAE,CAAA;YAChC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAA;YAC3B,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBACf,GAAG,CAAC,gBAAgB,CAAC,eAAe,EAAE,UAAU,IAAI,CAAC,KAAK,EAAE,CAAC,CAAA;YAC/D,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,eAAe,GAAG,IAAI,CAAA;YAC5B,CAAC;YAED,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChB,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;oBACxB,MAAM,CAAC,IAAI,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAA;oBACnD,OAAM;gBACR,CAAC;gBACD,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAC1B,OAAO,EACP,GAAG,EAAE;oBACH,IAAI,CAAC;wBACH,GAAG,CAAC,KAAK,EAAE,CAAA;oBACb,CAAC;oBAAC,MAAM,CAAC;wBACP,UAAU;oBACZ,CAAC;oBACD,MAAM,CAAC,IAAI,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAA;gBACrD,CAAC,EACD,EAAE,IAAI,EAAE,IAAI,EAAE,CACf,CAAA;YACH,CAAC;YAED,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBACpB,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE;oBAC5C,IAAI,CAAC,CAAC,gBAAgB,EAAE,CAAC;wBACvB,IAAI,CAAC,UAAW,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAA;oBACrC,CAAC;gBACH,CAAC,CAAC,CAAA;YACJ,CAAC;YAED,GAAG,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE;gBAChC,IAAI,IAAI,GAAiC,EAAE,CAAA;gBAC3C,IAAI,CAAC;oBACH,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAiC,CAAA;gBACrE,CAAC;gBAAC,MAAM,CAAC;oBACP,oCAAoC;gBACtC,CAAC;gBACD,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;oBACrE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBACpB,CAAC;qBAAM,CAAC;oBACN,MAAM,CACJ,IAAI,YAAY,CACd,GAAG,CAAC,MAAM,EACV,IAAI,EACJ,IAAI,CAAC,KAAK,IAAI,6BAA6B,GAAG,CAAC,MAAM,EAAE,CACxD,CACF,CAAA;gBACH,CAAC;YACH,CAAC,CAAC,CAAA;YAEF,GAAG,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CACjC,MAAM,CAAC,IAAI,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,sBAAsB,CAAC,CAAC,CAC1D,CAAA;YACD,GAAG,CAAC,gBAAgB,CAAC,SAAS,EAAE,GAAG,EAAE,CACnC,MAAM,CAAC,IAAI,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,kBAAkB,CAAC,CAAC,CACtD,CAAA;YAED,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAChB,CAAC,CAAC,CAAA;IACJ,CAAC;CACF;AAhPD,gCAgPC"}
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -3,6 +3,10 @@ import { Mailboxes } from "./resources/mailboxes";
3
3
  import { Templates } from "./resources/templates";
4
4
  import { Inbox } from "./resources/inbox";
5
5
  import { Send } from "./resources/send";
6
+ import { Audience } from "./resources/audience";
7
+ import { Suppressions } from "./resources/suppressions";
8
+ import { Webhooks } from "./resources/webhooks";
9
+ import { Logs } from "./resources/logs";
6
10
  import { Buckets } from "./resources/buckets";
7
11
  import { MediaResource } from "./resources/media";
8
12
  import { Storage } from "./resources/storage";
@@ -13,6 +17,10 @@ export declare class Sentroy {
13
17
  readonly templates: Templates;
14
18
  readonly inbox: Inbox;
15
19
  readonly send: Send;
20
+ readonly audience: Audience;
21
+ readonly suppressions: Suppressions;
22
+ readonly webhooks: Webhooks;
23
+ readonly logs: Logs;
16
24
  readonly buckets: Buckets;
17
25
  readonly media: MediaResource;
18
26
  readonly storage: Storage;
@@ -38,7 +46,7 @@ export declare class Sentroy {
38
46
  */
39
47
  constructor(config: SentroyClientConfig);
40
48
  }
41
- export type { SentroyClientConfig, ApiResponse, Domain, MailboxUser, Template, LocalizedString, MessageAddress, MessageSummary, MessageDetail, AttachmentInfo, Mailbox, InboxListParams, Attachment, SendParams, SendResult, Bucket, CreateBucketParams, UpdateBucketParams, Media, MediaType, MediaThumbnail, MediaImageMeta, MediaListParams, MediaListResult, UploadMediaParams, StorageQuota, StorageUsage, StorageUsageBucket, StorageUsageByType, } from "./types";
49
+ export type { SentroyClientConfig, ApiResponse, Domain, MailboxUser, Template, LocalizedString, MessageAddress, MessageSummary, MessageDetail, AttachmentInfo, Mailbox, InboxListParams, Attachment, SendParams, SendResult, Bucket, CreateBucketParams, UpdateBucketParams, Media, MediaType, MediaThumbnail, MediaImageMeta, MediaListParams, MediaListResult, UploadMediaParams, StorageQuota, StorageUsage, StorageUsageBucket, StorageUsageByType, Contact, ContactStatus, ContactList, CreateContactParams, UpdateContactParams, ContactListParams, ContactListResult, CreateAudienceListParams, Suppression, AddSuppressionParams, SuppressionListParams, Webhook, WebhookEvent, CreateWebhookParams, UpdateWebhookParams, MailLog, MailLogStatus, LogListParams, } from "./types";
42
50
  export { SentroyError } from "./http";
43
51
  export { pickThumbnailUrl, pickPresetThumbnailUrl, THUMBNAIL_PRESETS, type ThumbnailPreset, type ThumbnailSourceMedia, } from "./thumbnails";
44
52
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACjD,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAC7C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAA;AAElD,qBAAa,OAAO;IAClB,SAAgB,OAAO,EAAE,OAAO,CAAA;IAChC,SAAgB,SAAS,EAAE,SAAS,CAAA;IACpC,SAAgB,SAAS,EAAE,SAAS,CAAA;IACpC,SAAgB,KAAK,EAAE,KAAK,CAAA;IAC5B,SAAgB,IAAI,EAAE,IAAI,CAAA;IAC1B,SAAgB,OAAO,EAAE,OAAO,CAAA;IAChC,SAAgB,KAAK,EAAE,aAAa,CAAA;IACpC,SAAgB,OAAO,EAAE,OAAO,CAAA;IAEhC;;;;;;;;;;;;;;;;;;;OAmBG;gBACS,MAAM,EAAE,mBAAmB;CA6BxC;AAGD,YAAY,EACV,mBAAmB,EACnB,WAAW,EACX,MAAM,EACN,WAAW,EACX,QAAQ,EACR,eAAe,EACf,cAAc,EACd,cAAc,EACd,aAAa,EACb,cAAc,EACd,OAAO,EACP,eAAe,EACf,UAAU,EACV,UAAU,EACV,UAAU,EACV,MAAM,EACN,kBAAkB,EAClB,kBAAkB,EAClB,KAAK,EACL,SAAS,EACT,cAAc,EACd,cAAc,EACd,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,SAAS,CAAA;AAEhB,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AAErC,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,iBAAiB,EACjB,KAAK,eAAe,EACpB,KAAK,oBAAoB,GAC1B,MAAM,cAAc,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACjD,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAC/C,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAC7C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAA;AAElD,qBAAa,OAAO;IAClB,SAAgB,OAAO,EAAE,OAAO,CAAA;IAChC,SAAgB,SAAS,EAAE,SAAS,CAAA;IACpC,SAAgB,SAAS,EAAE,SAAS,CAAA;IACpC,SAAgB,KAAK,EAAE,KAAK,CAAA;IAC5B,SAAgB,IAAI,EAAE,IAAI,CAAA;IAC1B,SAAgB,QAAQ,EAAE,QAAQ,CAAA;IAClC,SAAgB,YAAY,EAAE,YAAY,CAAA;IAC1C,SAAgB,QAAQ,EAAE,QAAQ,CAAA;IAClC,SAAgB,IAAI,EAAE,IAAI,CAAA;IAC1B,SAAgB,OAAO,EAAE,OAAO,CAAA;IAChC,SAAgB,KAAK,EAAE,aAAa,CAAA;IACpC,SAAgB,OAAO,EAAE,OAAO,CAAA;IAEhC;;;;;;;;;;;;;;;;;;;OAmBG;gBACS,MAAM,EAAE,mBAAmB;CAiCxC;AAGD,YAAY,EACV,mBAAmB,EACnB,WAAW,EACX,MAAM,EACN,WAAW,EACX,QAAQ,EACR,eAAe,EACf,cAAc,EACd,cAAc,EACd,aAAa,EACb,cAAc,EACd,OAAO,EACP,eAAe,EACf,UAAU,EACV,UAAU,EACV,UAAU,EACV,MAAM,EACN,kBAAkB,EAClB,kBAAkB,EAClB,KAAK,EACL,SAAS,EACT,cAAc,EACd,cAAc,EACd,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,kBAAkB,EAClB,kBAAkB,EAClB,OAAO,EACP,aAAa,EACb,WAAW,EACX,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,wBAAwB,EACxB,WAAW,EACX,oBAAoB,EACpB,qBAAqB,EACrB,OAAO,EACP,YAAY,EACZ,mBAAmB,EACnB,mBAAmB,EACnB,OAAO,EACP,aAAa,EACb,aAAa,GACd,MAAM,SAAS,CAAA;AAEhB,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AAErC,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,iBAAiB,EACjB,KAAK,eAAe,EACpB,KAAK,oBAAoB,GAC1B,MAAM,cAAc,CAAA"}
package/dist/index.js CHANGED
@@ -7,6 +7,10 @@ const mailboxes_1 = require("./resources/mailboxes");
7
7
  const templates_1 = require("./resources/templates");
8
8
  const inbox_1 = require("./resources/inbox");
9
9
  const send_1 = require("./resources/send");
10
+ const audience_1 = require("./resources/audience");
11
+ const suppressions_1 = require("./resources/suppressions");
12
+ const webhooks_1 = require("./resources/webhooks");
13
+ const logs_1 = require("./resources/logs");
10
14
  const buckets_1 = require("./resources/buckets");
11
15
  const media_1 = require("./resources/media");
12
16
  const storage_1 = require("./resources/storage");
@@ -16,6 +20,10 @@ class Sentroy {
16
20
  templates;
17
21
  inbox;
18
22
  send;
23
+ audience;
24
+ suppressions;
25
+ webhooks;
26
+ logs;
19
27
  buckets;
20
28
  media;
21
29
  storage;
@@ -53,6 +61,10 @@ class Sentroy {
53
61
  this.templates = new templates_1.Templates(mailHttp);
54
62
  this.inbox = new inbox_1.Inbox(mailHttp);
55
63
  this.send = new send_1.Send(mailHttp);
64
+ this.audience = new audience_1.Audience(mailHttp);
65
+ this.suppressions = new suppressions_1.Suppressions(mailHttp);
66
+ this.webhooks = new webhooks_1.Webhooks(mailHttp);
67
+ this.logs = new logs_1.Logs(mailHttp);
56
68
  this.buckets = new buckets_1.Buckets(storageHttp);
57
69
  this.media = new media_1.MediaResource(storageHttp);
58
70
  this.storage = new storage_1.Storage(storageHttp);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,iCAAmC;AACnC,iDAA6C;AAC7C,qDAAiD;AACjD,qDAAiD;AACjD,6CAAyC;AACzC,2CAAuC;AACvC,iDAA6C;AAC7C,6CAAiD;AACjD,iDAA6C;AAG7C,MAAa,OAAO;IACF,OAAO,CAAS;IAChB,SAAS,CAAW;IACpB,SAAS,CAAW;IACpB,KAAK,CAAO;IACZ,IAAI,CAAM;IACV,OAAO,CAAS;IAChB,KAAK,CAAe;IACpB,OAAO,CAAS;IAEhC;;;;;;;;;;;;;;;;;;;OAmBG;IACH,YAAY,MAA2B;QACrC,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;QAC/C,MAAM,IAAI,GAAG,kBAAkB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;QAEnD,mEAAmE;QACnE,kEAAkE;QAClE,mBAAmB;QACnB,MAAM,QAAQ,GAAG,IAAI,iBAAU,CAC7B,GAAG,IAAI,uBAAuB,IAAI,EAAE,EACpC,MAAM,CAAC,WAAW,EAClB,MAAM,CAAC,OAAO,CACf,CAAA;QAED,8DAA8D;QAC9D,MAAM,WAAW,GAAG,IAAI,iBAAU,CAChC,GAAG,IAAI,0BAA0B,IAAI,EAAE,EACvC,MAAM,CAAC,WAAW,EAClB,MAAM,CAAC,OAAO,CACf,CAAA;QAED,IAAI,CAAC,OAAO,GAAG,IAAI,iBAAO,CAAC,QAAQ,CAAC,CAAA;QACpC,IAAI,CAAC,SAAS,GAAG,IAAI,qBAAS,CAAC,QAAQ,CAAC,CAAA;QACxC,IAAI,CAAC,SAAS,GAAG,IAAI,qBAAS,CAAC,QAAQ,CAAC,CAAA;QACxC,IAAI,CAAC,KAAK,GAAG,IAAI,aAAK,CAAC,QAAQ,CAAC,CAAA;QAChC,IAAI,CAAC,IAAI,GAAG,IAAI,WAAI,CAAC,QAAQ,CAAC,CAAA;QAC9B,IAAI,CAAC,OAAO,GAAG,IAAI,iBAAO,CAAC,WAAW,CAAC,CAAA;QACvC,IAAI,CAAC,KAAK,GAAG,IAAI,qBAAa,CAAC,WAAW,CAAC,CAAA;QAC3C,IAAI,CAAC,OAAO,GAAG,IAAI,iBAAO,CAAC,WAAW,CAAC,CAAA;IACzC,CAAC;CACF;AA3DD,0BA2DC;AAmCD,+BAAqC;AAA5B,oGAAA,YAAY,OAAA;AAErB,2CAMqB;AALnB,8GAAA,gBAAgB,OAAA;AAChB,oHAAA,sBAAsB,OAAA;AACtB,+GAAA,iBAAiB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,iCAAmC;AACnC,iDAA6C;AAC7C,qDAAiD;AACjD,qDAAiD;AACjD,6CAAyC;AACzC,2CAAuC;AACvC,mDAA+C;AAC/C,2DAAuD;AACvD,mDAA+C;AAC/C,2CAAuC;AACvC,iDAA6C;AAC7C,6CAAiD;AACjD,iDAA6C;AAG7C,MAAa,OAAO;IACF,OAAO,CAAS;IAChB,SAAS,CAAW;IACpB,SAAS,CAAW;IACpB,KAAK,CAAO;IACZ,IAAI,CAAM;IACV,QAAQ,CAAU;IAClB,YAAY,CAAc;IAC1B,QAAQ,CAAU;IAClB,IAAI,CAAM;IACV,OAAO,CAAS;IAChB,KAAK,CAAe;IACpB,OAAO,CAAS;IAEhC;;;;;;;;;;;;;;;;;;;OAmBG;IACH,YAAY,MAA2B;QACrC,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;QAC/C,MAAM,IAAI,GAAG,kBAAkB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;QAEnD,mEAAmE;QACnE,kEAAkE;QAClE,mBAAmB;QACnB,MAAM,QAAQ,GAAG,IAAI,iBAAU,CAC7B,GAAG,IAAI,uBAAuB,IAAI,EAAE,EACpC,MAAM,CAAC,WAAW,EAClB,MAAM,CAAC,OAAO,CACf,CAAA;QAED,8DAA8D;QAC9D,MAAM,WAAW,GAAG,IAAI,iBAAU,CAChC,GAAG,IAAI,0BAA0B,IAAI,EAAE,EACvC,MAAM,CAAC,WAAW,EAClB,MAAM,CAAC,OAAO,CACf,CAAA;QAED,IAAI,CAAC,OAAO,GAAG,IAAI,iBAAO,CAAC,QAAQ,CAAC,CAAA;QACpC,IAAI,CAAC,SAAS,GAAG,IAAI,qBAAS,CAAC,QAAQ,CAAC,CAAA;QACxC,IAAI,CAAC,SAAS,GAAG,IAAI,qBAAS,CAAC,QAAQ,CAAC,CAAA;QACxC,IAAI,CAAC,KAAK,GAAG,IAAI,aAAK,CAAC,QAAQ,CAAC,CAAA;QAChC,IAAI,CAAC,IAAI,GAAG,IAAI,WAAI,CAAC,QAAQ,CAAC,CAAA;QAC9B,IAAI,CAAC,QAAQ,GAAG,IAAI,mBAAQ,CAAC,QAAQ,CAAC,CAAA;QACtC,IAAI,CAAC,YAAY,GAAG,IAAI,2BAAY,CAAC,QAAQ,CAAC,CAAA;QAC9C,IAAI,CAAC,QAAQ,GAAG,IAAI,mBAAQ,CAAC,QAAQ,CAAC,CAAA;QACtC,IAAI,CAAC,IAAI,GAAG,IAAI,WAAI,CAAC,QAAQ,CAAC,CAAA;QAC9B,IAAI,CAAC,OAAO,GAAG,IAAI,iBAAO,CAAC,WAAW,CAAC,CAAA;QACvC,IAAI,CAAC,KAAK,GAAG,IAAI,qBAAa,CAAC,WAAW,CAAC,CAAA;QAC3C,IAAI,CAAC,OAAO,GAAG,IAAI,iBAAO,CAAC,WAAW,CAAC,CAAA;IACzC,CAAC;CACF;AAnED,0BAmEC;AAqDD,+BAAqC;AAA5B,oGAAA,YAAY,OAAA;AAErB,2CAMqB;AALnB,8GAAA,gBAAgB,OAAA;AAChB,oHAAA,sBAAsB,OAAA;AACtB,+GAAA,iBAAiB,OAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-upload-queue.d.ts","sourceRoot":"","sources":["../../../src/react/lib/use-upload-queue.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AACpC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAExC;;;;;;GAMG;AACH,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,IAAI,CAAA;IACV,MAAM,EAAE,QAAQ,GAAG,WAAW,GAAG,MAAM,GAAG,OAAO,GAAG,UAAU,CAAA;IAC9D,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,4CAA4C;IAC5C,KAAK,CAAC,EAAE,KAAK,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,sDAAsD;IACtD,MAAM,EAAE,MAAM,IAAI,CAAA;CACnB;AAED,MAAM,WAAW,qBAAqB;IACpC,gDAAgD;IAChD,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,0EAA0E;IAC1E,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;CACpC;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,WAAW,EAAE,CAAA;IACtB,0DAA0D;IAC1D,OAAO,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,CAAA;IACpD,yEAAyE;IACzE,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IAC5B,uEAAuE;IACvE,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IAC5B,sDAAsD;IACtD,SAAS,EAAE,MAAM,IAAI,CAAA;IACrB,+CAA+C;IAC/C,WAAW,EAAE,MAAM,CAAA;CACpB;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,OAAO,EACf,IAAI,GAAE,qBAA0B,GAC/B,oBAAoB,CAyJtB"}
1
+ {"version":3,"file":"use-upload-queue.d.ts","sourceRoot":"","sources":["../../../src/react/lib/use-upload-queue.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AACpC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAExC;;;;;;GAMG;AACH,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,IAAI,CAAA;IACV,MAAM,EAAE,QAAQ,GAAG,WAAW,GAAG,MAAM,GAAG,OAAO,GAAG,UAAU,CAAA;IAC9D,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,4CAA4C;IAC5C,KAAK,CAAC,EAAE,KAAK,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,sDAAsD;IACtD,MAAM,EAAE,MAAM,IAAI,CAAA;CACnB;AAED,MAAM,WAAW,qBAAqB;IACpC,gDAAgD;IAChD,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,0EAA0E;IAC1E,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;CACpC;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,WAAW,EAAE,CAAA;IACtB,0DAA0D;IAC1D,OAAO,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,CAAA;IACpD,yEAAyE;IACzE,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IAC5B,uEAAuE;IACvE,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IAC5B,sDAAsD;IACtD,SAAS,EAAE,MAAM,IAAI,CAAA;IACrB,+CAA+C;IAC/C,WAAW,EAAE,MAAM,CAAA;CACpB;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,OAAO,EACf,IAAI,GAAE,qBAA0B,GAC/B,oBAAoB,CAgMtB"}
@@ -20,61 +20,86 @@ function useUploadQueue(client, opts = {}) {
20
20
  onUploadedRef.current = opts.onUploaded;
21
21
  // Worker pump — queued entry varsa ve aktif < concurrency ise başlat.
22
22
  const pumpRef = (0, react_1.useRef)(() => { });
23
+ /**
24
+ * Aktif (in-flight) upload sayısını synchronous olarak takip eden ref.
25
+ * `entries` state setEntries ile async güncellendiğinden, recursive
26
+ * `pump` çağrılarında `entries.filter(e => e.status === "uploading")`
27
+ * eski listeyi görür → aynı queued entry birden çok kez başlatılır
28
+ * (Chrome side `ERR_INSUFFICIENT_RESOURCES`). Ref ile incre/decre
29
+ * synchronous; concurrency limiti gerçekten devreye girer.
30
+ */
31
+ const inFlightRef = (0, react_1.useRef)(0);
32
+ /**
33
+ * Henüz başlatılmamış queued entry id'lerinin sıralı listesi. setEntries
34
+ * async olduğu için listeden seçim yapmak yarış koşulu üretir; ref
35
+ * üzerinden FIFO push/shift hem deterministik hem hızlı.
36
+ */
37
+ const queueRef = (0, react_1.useRef)([]);
23
38
  const updateEntry = (0, react_1.useCallback)((id, patch) => {
24
39
  setEntries((prev) => prev.map((e) => (e.id === id ? { ...e, ...patch } : e)));
25
40
  }, []);
26
41
  pumpRef.current = () => {
27
- const list = entriesRef.current;
28
- const active = list.filter((e) => e.status === "uploading").length;
29
- if (active >= concurrency)
42
+ // Slot doluysa veya queue boşsa erken dön.
43
+ if (inFlightRef.current >= concurrency)
30
44
  return;
31
- const next = list.find((e) => e.status === "queued");
32
- if (!next)
45
+ const nextId = queueRef.current.shift();
46
+ if (!nextId)
33
47
  return;
48
+ // Slot'u synchronously rezerve et — bir sonraki pump çağrısı bu
49
+ // entry'i tekrar shift edemez.
50
+ inFlightRef.current++;
51
+ const entry = entriesRef.current.find((e) => e.id === nextId);
52
+ if (!entry) {
53
+ // Cancel öncesi remove edilmiş; slot'u iade et ve pump'a devam.
54
+ inFlightRef.current--;
55
+ pumpRef.current?.();
56
+ return;
57
+ }
34
58
  // Mark uploading
35
- updateEntry(next.id, { status: "uploading" });
36
- // Bucket slug entry içine save edilemiyor (entry shape'i bilmesi
37
- // gerekmez); enqueue closure'unda capture edilir, ayrı bucket map.
38
- const bucketSlug = bucketMapRef.current[next.id];
59
+ updateEntry(entry.id, { status: "uploading" });
60
+ const bucketSlug = bucketMapRef.current[entry.id];
39
61
  if (!bucketSlug) {
40
- updateEntry(next.id, { status: "error", error: "No bucket" });
62
+ updateEntry(entry.id, { status: "error", error: "No bucket" });
63
+ inFlightRef.current--;
41
64
  pumpRef.current?.();
42
65
  return;
43
66
  }
44
67
  const controller = new AbortController();
45
- cancelMapRef.current[next.id] = () => controller.abort();
68
+ cancelMapRef.current[entry.id] = () => controller.abort();
46
69
  client.media
47
- .upload(bucketSlug, { body: next.file, filename: next.file.name }, {
70
+ .upload(bucketSlug, { body: entry.file, filename: entry.file.name }, {
48
71
  onProgress: (loaded, total) => {
49
- updateEntry(next.id, { loaded, total });
72
+ updateEntry(entry.id, { loaded, total });
50
73
  },
51
74
  signal: controller.signal,
52
75
  })
53
76
  .then((media) => {
54
- updateEntry(next.id, {
77
+ updateEntry(entry.id, {
55
78
  status: "done",
56
79
  media,
57
- loaded: next.file.size,
58
- total: next.file.size,
80
+ loaded: entry.file.size,
81
+ total: entry.file.size,
59
82
  });
60
83
  onUploadedRef.current?.(media);
61
84
  })
62
85
  .catch((err) => {
63
86
  const aborted = err?.message === "Upload aborted";
64
- updateEntry(next.id, {
87
+ updateEntry(entry.id, {
65
88
  status: aborted ? "canceled" : "error",
66
89
  error: aborted
67
90
  ? undefined
68
- : err?.message ?? "Upload failed",
91
+ : (err?.message ?? "Upload failed"),
69
92
  });
70
93
  })
71
94
  .finally(() => {
72
- delete cancelMapRef.current[next.id];
73
- // Yeni slot açıldı; başka queued varsa al.
95
+ delete cancelMapRef.current[entry.id];
96
+ inFlightRef.current--;
97
+ // Slot açıldı, sıradakini başlat.
74
98
  pumpRef.current?.();
75
99
  });
76
- // Aynı tick'te birden fazla slot doldur.
77
- if (active + 1 < concurrency)
100
+ // Aynı tick'te kalan slot'ları doldur — concurrency artık
101
+ // synchronously inFlightRef ile guard'lı, çift başlatma yok.
102
+ if (inFlightRef.current < concurrency)
78
103
  pumpRef.current?.();
79
104
  };
80
105
  const bucketMapRef = (0, react_1.useRef)({});
@@ -85,6 +110,9 @@ function useUploadQueue(client, opts = {}) {
85
110
  const newEntries = files.map((file) => {
86
111
  const id = `up-${Date.now()}-${Math.random().toString(36).slice(2, 8)}`;
87
112
  bucketMapRef.current[id] = bucketSlug;
113
+ // FIFO queue — pump bu sıradan shift eder; setEntries async
114
+ // güncellemesinden bağımsız synchronous source-of-truth.
115
+ queueRef.current.push(id);
88
116
  return {
89
117
  id,
90
118
  file,
@@ -95,28 +123,36 @@ function useUploadQueue(client, opts = {}) {
95
123
  const c = cancelMapRef.current[id];
96
124
  if (c)
97
125
  c();
98
- else
126
+ else {
127
+ queueRef.current = queueRef.current.filter((qid) => qid !== id);
99
128
  setEntries((prev) => prev.map((e) => e.id === id && e.status === "queued"
100
129
  ? { ...e, status: "canceled" }
101
130
  : e));
131
+ }
102
132
  },
103
133
  };
104
134
  });
105
135
  setEntries((prev) => [...prev, ...newEntries]);
106
- // pump on next tick — state update'ten sonra entriesRef güncel olsun
136
+ // pump on next tick — state update'ten sonra entriesRef güncel olsun.
137
+ // pumpRef kendi içinde sequential pump zincirini sürdürür (her
138
+ // başarılı slot rezervasyonundan sonra bir dahaki pump'ı çağırır),
139
+ // dolayısıyla burada tek tetikleme yeterli.
107
140
  Promise.resolve().then(() => pumpRef.current?.());
108
141
  }, []);
109
142
  const cancel = (0, react_1.useCallback)((id) => {
110
143
  const c = cancelMapRef.current[id];
111
144
  if (c)
112
145
  c();
113
- else
146
+ else {
147
+ queueRef.current = queueRef.current.filter((qid) => qid !== id);
114
148
  setEntries((prev) => prev.map((e) => e.id === id && e.status === "queued"
115
149
  ? { ...e, status: "canceled" }
116
150
  : e));
151
+ }
117
152
  }, []);
118
153
  const remove = (0, react_1.useCallback)((id) => {
119
154
  setEntries((prev) => prev.filter((e) => e.id !== id));
155
+ queueRef.current = queueRef.current.filter((qid) => qid !== id);
120
156
  delete bucketMapRef.current[id];
121
157
  delete cancelMapRef.current[id];
122
158
  }, []);
@@ -1 +1 @@
1
- {"version":3,"file":"use-upload-queue.js","sourceRoot":"","sources":["../../../src/react/lib/use-upload-queue.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use-upload-queue.js","sourceRoot":"","sources":["../../../src/react/lib/use-upload-queue.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,60 @@
1
+ import type { HttpClient } from "../http";
2
+ import type { Contact, ContactList, ContactListParams, ContactListResult, CreateAudienceListParams, CreateContactParams, UpdateContactParams } from "../types";
3
+ declare class AudienceListMembers {
4
+ private http;
5
+ private listId;
6
+ constructor(http: HttpClient, listId: string);
7
+ /** List all contacts in this audience list. */
8
+ list(): Promise<Contact[]>;
9
+ /** Add a contact to the list by id. */
10
+ add(contactId: string): Promise<void>;
11
+ /** Remove a contact from the list. The contact record itself is preserved. */
12
+ remove(contactId: string): Promise<void>;
13
+ }
14
+ declare class AudienceLists {
15
+ private http;
16
+ constructor(http: HttpClient);
17
+ /** List every audience list in the company. */
18
+ list(): Promise<ContactList[]>;
19
+ /** Get a single audience list by id. */
20
+ get(id: string): Promise<ContactList>;
21
+ /** Create a new audience list. */
22
+ create(params: CreateAudienceListParams): Promise<ContactList>;
23
+ /** Delete an audience list. Contacts stay in the company; only the grouping is removed. */
24
+ delete(id: string): Promise<void>;
25
+ /** Membership operations scoped to a list id. */
26
+ members(listId: string): AudienceListMembers;
27
+ }
28
+ declare class AudienceContacts {
29
+ private http;
30
+ constructor(http: HttpClient);
31
+ /**
32
+ * Paginated list of contacts. Filter by status or tag set; tags are
33
+ * sent as a comma-joined query param.
34
+ */
35
+ list(params?: ContactListParams): Promise<ContactListResult>;
36
+ /**
37
+ * Email-prefix autocomplete. Capped server-side at 10 results — use
38
+ * `list` for paginated browsing.
39
+ */
40
+ search(q: string): Promise<Contact[]>;
41
+ /** Get a single contact by id. */
42
+ get(id: string): Promise<Contact>;
43
+ /** Create a contact. Defaults to status: "active". */
44
+ create(params: CreateContactParams): Promise<Contact>;
45
+ /** Patch any contact field. Pass `status` to mark unsubscribed/bounced. */
46
+ update(id: string, params: UpdateContactParams): Promise<Contact>;
47
+ /**
48
+ * Soft-delete: marks the contact as `unsubscribed`. The record stays so
49
+ * historical mail-log foreign keys keep resolving and the email won't
50
+ * accidentally be re-added.
51
+ */
52
+ delete(id: string): Promise<void>;
53
+ }
54
+ export declare class Audience {
55
+ readonly lists: AudienceLists;
56
+ readonly contacts: AudienceContacts;
57
+ constructor(http: HttpClient);
58
+ }
59
+ export {};
60
+ //# sourceMappingURL=audience.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"audience.d.ts","sourceRoot":"","sources":["../../src/resources/audience.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACzC,OAAO,KAAK,EACV,OAAO,EACP,WAAW,EACX,iBAAiB,EACjB,iBAAiB,EACjB,wBAAwB,EACxB,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,UAAU,CAAA;AAEjB,cAAM,mBAAmB;IAErB,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,MAAM;gBADN,IAAI,EAAE,UAAU,EAChB,MAAM,EAAE,MAAM;IAGxB,+CAA+C;IACzC,IAAI,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAMhC,uCAAuC;IACjC,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAO3C,8EAA8E;IACxE,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAM/C;AAED,cAAM,aAAa;IACL,OAAO,CAAC,IAAI;gBAAJ,IAAI,EAAE,UAAU;IAEpC,+CAA+C;IACzC,IAAI,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;IAIpC,wCAAwC;IAClC,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAM3C,kCAAkC;IAC5B,MAAM,CAAC,MAAM,EAAE,wBAAwB,GAAG,OAAO,CAAC,WAAW,CAAC;IAIpE,2FAA2F;IACrF,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMvC,iDAAiD;IACjD,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,mBAAmB;CAG7C;AAED,cAAM,gBAAgB;IACR,OAAO,CAAC,IAAI;gBAAJ,IAAI,EAAE,UAAU;IAEpC;;;OAGG;IACG,IAAI,CAAC,MAAM,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IASlE;;;OAGG;IACG,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAI3C,kCAAkC;IAC5B,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAMvC,sDAAsD;IAChD,MAAM,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,OAAO,CAAC;IAI3D,2EAA2E;IACrE,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,OAAO,CAAC;IAOvE;;;;OAIG;IACG,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAKxC;AAED,qBAAa,QAAQ;IACnB,SAAgB,KAAK,EAAE,aAAa,CAAA;IACpC,SAAgB,QAAQ,EAAE,gBAAgB,CAAA;gBAE9B,IAAI,EAAE,UAAU;CAI7B"}