@upyo/resend 0.6.0-dev.316 → 0.6.0-dev.319

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.
package/dist/index.cjs CHANGED
@@ -225,6 +225,7 @@ function truncateErrorBody(text) {
225
225
  * @param config - The resolved Resend configuration
226
226
  * @param options - Optional conversion options
227
227
  * @returns JSON object ready for Resend API submission
228
+ * @throws {TypeError} If the message carries an invalid message identifier.
228
229
  *
229
230
  * @example
230
231
  * ```typescript
@@ -272,7 +273,10 @@ async function convertMessage(message, _config, options = {}) {
272
273
  };
273
274
  headers["X-Priority"] = priorityMap[message.priority];
274
275
  }
275
- for (const [key, value] of message.headers.entries()) if (!isStandardHeader(key)) headers[key] = value;
276
+ const threading = (0, __upyo_core.resolveThreadingHeaders)(message);
277
+ const ownedHeaders = new Set([...threading.keys()].map((name) => name.toLowerCase()));
278
+ for (const [key, value] of message.headers.entries()) if (!isStandardHeader(key) && !ownedHeaders.has(key.toLowerCase())) headers[key] = value;
279
+ for (const [name, value] of threading) if (value != null) headers[name] = value;
276
280
  if (Object.keys(headers).length > 0) emailData.headers = headers;
277
281
  if (options.scheduledAt) emailData.scheduled_at = options.scheduledAt.toISOString();
278
282
  return emailData;
@@ -286,6 +290,7 @@ async function convertMessage(message, _config, options = {}) {
286
290
  * @param messages - Array of Upyo messages to convert
287
291
  * @param config - The resolved Resend configuration
288
292
  * @returns Array of JSON objects ready for Resend batch API
293
+ * @throws {TypeError} If a message carries an invalid message identifier.
289
294
  */
290
295
  async function convertMessagesBatch(messages, _config) {
291
296
  if (messages.length > 100) throw new Error("Resend batch API supports maximum 100 emails per request");
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { combineSignals, createFailedReceipt, parseRetryAfter, readAttachmentContent } from "@upyo/core";
1
+ import { combineSignals, createFailedReceipt, parseRetryAfter, readAttachmentContent, resolveThreadingHeaders } from "@upyo/core";
2
2
 
3
3
  //#region src/config.ts
4
4
  /**
@@ -202,6 +202,7 @@ function truncateErrorBody(text) {
202
202
  * @param config - The resolved Resend configuration
203
203
  * @param options - Optional conversion options
204
204
  * @returns JSON object ready for Resend API submission
205
+ * @throws {TypeError} If the message carries an invalid message identifier.
205
206
  *
206
207
  * @example
207
208
  * ```typescript
@@ -249,7 +250,10 @@ async function convertMessage(message, _config, options = {}) {
249
250
  };
250
251
  headers["X-Priority"] = priorityMap[message.priority];
251
252
  }
252
- for (const [key, value] of message.headers.entries()) if (!isStandardHeader(key)) headers[key] = value;
253
+ const threading = resolveThreadingHeaders(message);
254
+ const ownedHeaders = new Set([...threading.keys()].map((name) => name.toLowerCase()));
255
+ for (const [key, value] of message.headers.entries()) if (!isStandardHeader(key) && !ownedHeaders.has(key.toLowerCase())) headers[key] = value;
256
+ for (const [name, value] of threading) if (value != null) headers[name] = value;
253
257
  if (Object.keys(headers).length > 0) emailData.headers = headers;
254
258
  if (options.scheduledAt) emailData.scheduled_at = options.scheduledAt.toISOString();
255
259
  return emailData;
@@ -263,6 +267,7 @@ async function convertMessage(message, _config, options = {}) {
263
267
  * @param messages - Array of Upyo messages to convert
264
268
  * @param config - The resolved Resend configuration
265
269
  * @returns Array of JSON objects ready for Resend batch API
270
+ * @throws {TypeError} If a message carries an invalid message identifier.
266
271
  */
267
272
  async function convertMessagesBatch(messages, _config) {
268
273
  if (messages.length > 100) throw new Error("Resend batch API supports maximum 100 emails per request");
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@upyo/resend",
3
- "version": "0.6.0-dev.316",
3
+ "version": "0.6.0-dev.319",
4
4
  "description": "Resend transport for Upyo email library",
5
5
  "keywords": [
6
6
  "email",
@@ -53,7 +53,7 @@
53
53
  },
54
54
  "sideEffects": false,
55
55
  "peerDependencies": {
56
- "@upyo/core": "0.6.0-dev.316+a131652d"
56
+ "@upyo/core": "0.6.0-dev.319+2324fa8c"
57
57
  },
58
58
  "devDependencies": {
59
59
  "tsdown": "^0.12.7",