@c9up/rover 0.1.12 → 0.1.14

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 (70) hide show
  1. package/README.md +4 -1
  2. package/dist/Mail.d.ts +14 -6
  3. package/dist/Mail.d.ts.map +1 -1
  4. package/dist/Mail.js +42 -25
  5. package/dist/Mail.js.map +1 -1
  6. package/dist/MessageBuilder.js +4 -4
  7. package/dist/MessageBuilder.js.map +1 -1
  8. package/dist/RoverProvider.js +1 -1
  9. package/dist/RoverProvider.js.map +1 -1
  10. package/dist/config.d.ts +8 -7
  11. package/dist/config.d.ts.map +1 -1
  12. package/dist/config.js +8 -7
  13. package/dist/config.js.map +1 -1
  14. package/dist/configure.d.ts +18 -0
  15. package/dist/configure.d.ts.map +1 -0
  16. package/dist/configure.js +39 -0
  17. package/dist/configure.js.map +1 -0
  18. package/dist/format.js +1 -1
  19. package/dist/format.js.map +1 -1
  20. package/dist/queue/MailJob.js +4 -4
  21. package/dist/queue/MailJob.js.map +1 -1
  22. package/dist/retry.d.ts +2 -2
  23. package/dist/retry.js +7 -7
  24. package/dist/retry.js.map +1 -1
  25. package/dist/templating/SimpleTemplate.js +8 -8
  26. package/dist/templating/SimpleTemplate.js.map +1 -1
  27. package/dist/templating/loadNapi.js +8 -8
  28. package/dist/templating/loadNapi.js.map +1 -1
  29. package/dist/transports/BrevoTransport.js +3 -3
  30. package/dist/transports/BrevoTransport.js.map +1 -1
  31. package/dist/transports/MailgunTransport.js +6 -6
  32. package/dist/transports/MailgunTransport.js.map +1 -1
  33. package/dist/transports/ResendTransport.js +3 -3
  34. package/dist/transports/ResendTransport.js.map +1 -1
  35. package/dist/transports/SendGridTransport.js +4 -4
  36. package/dist/transports/SendGridTransport.js.map +1 -1
  37. package/dist/transports/SesTransport.js +4 -4
  38. package/dist/transports/SesTransport.js.map +1 -1
  39. package/dist/transports/SparkPostTransport.js +3 -3
  40. package/dist/transports/SparkPostTransport.js.map +1 -1
  41. package/dist/transports/fetchError.d.ts +2 -2
  42. package/dist/transports/fetchError.js +4 -4
  43. package/dist/transports/fetchError.js.map +1 -1
  44. package/dist/webhooks/resend.d.ts.map +1 -1
  45. package/dist/webhooks/resend.js +21 -1
  46. package/dist/webhooks/resend.js.map +1 -1
  47. package/index.darwin-arm64.node +0 -0
  48. package/index.darwin-x64.node +0 -0
  49. package/index.linux-arm64-gnu.node +0 -0
  50. package/index.linux-x64-gnu.node +0 -0
  51. package/index.win32-x64-msvc.node +0 -0
  52. package/package.json +5 -1
  53. package/src/Mail.ts +66 -30
  54. package/src/MessageBuilder.ts +4 -4
  55. package/src/RoverProvider.ts +1 -1
  56. package/src/config.ts +8 -7
  57. package/src/configure.ts +53 -0
  58. package/src/format.ts +1 -1
  59. package/src/queue/MailJob.ts +4 -4
  60. package/src/retry.ts +7 -7
  61. package/src/templating/SimpleTemplate.ts +8 -8
  62. package/src/templating/loadNapi.ts +8 -8
  63. package/src/transports/BrevoTransport.ts +3 -3
  64. package/src/transports/MailgunTransport.ts +6 -6
  65. package/src/transports/ResendTransport.ts +3 -3
  66. package/src/transports/SendGridTransport.ts +4 -4
  67. package/src/transports/SesTransport.ts +4 -4
  68. package/src/transports/SparkPostTransport.ts +3 -3
  69. package/src/transports/fetchError.ts +4 -4
  70. package/src/webhooks/resend.ts +26 -1
@@ -1 +1 @@
1
- {"version":3,"file":"SendGridTransport.js","sourceRoot":"","sources":["../../src/transports/SendGridTransport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SendGridTransport.js","sourceRoot":"","sources":["../../src/transports/SendGridTransport.ts"],"names":[],"mappings":"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"}
@@ -47,10 +47,10 @@ export class SesTransport {
47
47
  ? normalizeConfig(config.region).toLowerCase()
48
48
  : "";
49
49
  if (!accessKeyId || !secretAccessKey || !rawRegion) {
50
- throw new RoverError("MAIL_PROVIDER_CONFIG", "SES transport requires accessKeyId, secretAccessKey, and region", { hint: "Set all three in your mail config." });
50
+ throw new RoverError("E_MAIL_PROVIDER_CONFIG", "SES transport requires accessKeyId, secretAccessKey, and region", { hint: "Set all three in your mail config." });
51
51
  }
52
52
  if (!REGION_RE.test(rawRegion)) {
53
- throw new RoverError("MAIL_PROVIDER_CONFIG", `SES region "${rawRegion}" is not a valid AWS region identifier`, {
53
+ throw new RoverError("E_MAIL_PROVIDER_CONFIG", `SES region "${rawRegion}" is not a valid AWS region identifier`, {
54
54
  hint: "Use the lowercase canonical form, e.g. 'us-east-1'. Uppercase breaks the SigV4 signing scope.",
55
55
  });
56
56
  }
@@ -63,7 +63,7 @@ export class SesTransport {
63
63
  if (message.to.length === 0 &&
64
64
  message.cc.length === 0 &&
65
65
  message.bcc.length === 0) {
66
- throw new RoverError("MAIL_PROVIDER_CONFIG", "Mail message has no recipients", { hint: "Set at least one `to`, `cc`, or `bcc` before sending." });
66
+ throw new RoverError("E_MAIL_PROVIDER_CONFIG", "Mail message has no recipients", { hint: "Set at least one `to`, `cc`, or `bcc` before sending." });
67
67
  }
68
68
  // Custom headers are only honoured on the SendRawEmail path (where we
69
69
  // compose the MIME ourselves), so flip to raw whenever the message
@@ -98,7 +98,7 @@ export class SesTransport {
98
98
  };
99
99
  if (retryAfter)
100
100
  ctx.retryAfter = retryAfter;
101
- throw new RoverError("MAIL_PROVIDER_ERROR", `SES returned ${res.status}`, {
101
+ throw new RoverError("E_MAIL_PROVIDER_ERROR", `SES returned ${res.status}`, {
102
102
  hint: "Inspect `context.upstreamStatus` to decide retry eligibility. `context.retryAfter` (when set) carries the provider's backoff hint in seconds.",
103
103
  context: ctx,
104
104
  });
@@ -1 +1 @@
1
- {"version":3,"file":"SesTransport.js","sourceRoot":"","sources":["../../src/transports/SesTransport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SesTransport.js","sourceRoot":"","sources":["../../src/transports/SesTransport.ts"],"names":[],"mappings":"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"}
@@ -30,7 +30,7 @@ export class SparkPostTransport {
30
30
  ? normalizeConfig(config.key)
31
31
  : "";
32
32
  if (!apiKey) {
33
- throw new RoverError("MAIL_PROVIDER_CONFIG", "SparkPost transport requires apiKey", { hint: "Set { apiKey } in your mail config." });
33
+ throw new RoverError("E_MAIL_PROVIDER_CONFIG", "SparkPost transport requires apiKey", { hint: "Set { apiKey } in your mail config." });
34
34
  }
35
35
  this.#apiKey = apiKey;
36
36
  this.#baseUrl =
@@ -42,7 +42,7 @@ export class SparkPostTransport {
42
42
  if (message.to.length === 0 &&
43
43
  message.cc.length === 0 &&
44
44
  message.bcc.length === 0) {
45
- throw new RoverError("MAIL_PROVIDER_CONFIG", "Mail message has no recipients", { hint: "Set at least one `to`, `cc`, or `bcc` before sending." });
45
+ throw new RoverError("E_MAIL_PROVIDER_CONFIG", "Mail message has no recipients", { hint: "Set at least one `to`, `cc`, or `bcc` before sending." });
46
46
  }
47
47
  // SparkPost delivers to every address in `recipients`; cc/bcc are folded in
48
48
  // so they receive the message, and cc is surfaced via a `CC` header for
@@ -109,7 +109,7 @@ export class SparkPostTransport {
109
109
  };
110
110
  if (retryAfter)
111
111
  ctx.retryAfter = retryAfter;
112
- throw new RoverError("MAIL_PROVIDER_ERROR", `SparkPost returned ${res.status}`, {
112
+ throw new RoverError("E_MAIL_PROVIDER_ERROR", `SparkPost returned ${res.status}`, {
113
113
  hint: "Inspect `context.upstreamStatus` to decide retry eligibility. `context.retryAfter` (when set) carries the provider's backoff hint in seconds.",
114
114
  context: ctx,
115
115
  });
@@ -1 +1 @@
1
- {"version":3,"file":"SparkPostTransport.js","sourceRoot":"","sources":["../../src/transports/SparkPostTransport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SparkPostTransport.js","sourceRoot":"","sources":["../../src/transports/SparkPostTransport.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { RoverError } from "../RoverError.js";
2
2
  /**
3
- * Wrap a `fetch()` rejection into the uniform `MAIL_PROVIDER_ERROR` shape
3
+ * Wrap a `fetch()` rejection into the uniform `E_MAIL_PROVIDER_ERROR` shape
4
4
  * so the retry classifier can recognise transient network failures
5
5
  * (ECONNRESET / ENOTFOUND / EAI_AGAIN / ...).
6
6
  *
@@ -16,7 +16,7 @@ export declare function wrapFetchNetworkError(provider: string, err: unknown): R
16
16
  * Without one, a stalled provider connection never settles: the send hangs,
17
17
  * the queue worker holding it hangs with it, and enough of them stop mail going
18
18
  * out at all — with no error to explain the silence. A timeout surfaces as the
19
- * same `MAIL_PROVIDER_ERROR` shape the retry classifier already understands, so
19
+ * same `E_MAIL_PROVIDER_ERROR` shape the retry classifier already understands, so
20
20
  * it is retried like any other transient network failure.
21
21
  */
22
22
  export declare function fetchWithTimeout(provider: string, url: string, init?: RequestInit, timeoutMs?: number): Promise<Response>;
@@ -1,6 +1,6 @@
1
1
  import { RoverError } from "../RoverError.js";
2
2
  /**
3
- * Wrap a `fetch()` rejection into the uniform `MAIL_PROVIDER_ERROR` shape
3
+ * Wrap a `fetch()` rejection into the uniform `E_MAIL_PROVIDER_ERROR` shape
4
4
  * so the retry classifier can recognise transient network failures
5
5
  * (ECONNRESET / ENOTFOUND / EAI_AGAIN / ...).
6
6
  *
@@ -27,7 +27,7 @@ export function wrapFetchNetworkError(provider, err) {
27
27
  };
28
28
  if (networkCode)
29
29
  ctx.networkCode = networkCode;
30
- return new RoverError("MAIL_PROVIDER_ERROR", `${provider} fetch failed${networkCode ? ` (${networkCode})` : ""}`, {
30
+ return new RoverError("E_MAIL_PROVIDER_ERROR", `${provider} fetch failed${networkCode ? ` (${networkCode})` : ""}`, {
31
31
  hint: "Inspect `context.networkCode` (ECONNRESET / ENOTFOUND / ...) — the retry classifier treats known transient errnos as retryable.",
32
32
  context: ctx,
33
33
  });
@@ -40,7 +40,7 @@ const DEFAULT_TIMEOUT_MS = 30_000;
40
40
  * Without one, a stalled provider connection never settles: the send hangs,
41
41
  * the queue worker holding it hangs with it, and enough of them stop mail going
42
42
  * out at all — with no error to explain the silence. A timeout surfaces as the
43
- * same `MAIL_PROVIDER_ERROR` shape the retry classifier already understands, so
43
+ * same `E_MAIL_PROVIDER_ERROR` shape the retry classifier already understands, so
44
44
  * it is retried like any other transient network failure.
45
45
  */
46
46
  export async function fetchWithTimeout(provider, url, init = {}, timeoutMs = DEFAULT_TIMEOUT_MS) {
@@ -54,7 +54,7 @@ export async function fetchWithTimeout(provider, url, init = {}, timeoutMs = DEF
54
54
  }
55
55
  catch (err) {
56
56
  if (err instanceof Error && err.name === "TimeoutError") {
57
- throw new RoverError("MAIL_PROVIDER_ERROR", `${provider} did not answer within ${timeoutMs}ms.`, {
57
+ throw new RoverError("E_MAIL_PROVIDER_ERROR", `${provider} did not answer within ${timeoutMs}ms.`, {
58
58
  context: { provider, upstreamStatus: "0", networkCode: "ETIMEDOUT" },
59
59
  hint: "Raise `requestTimeoutMs` for large attachments, or check connectivity to the provider.",
60
60
  });
@@ -1 +1 @@
1
- {"version":3,"file":"fetchError.js","sourceRoot":"","sources":["../../src/transports/fetchError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C;;;;;;;;;GASG;AACH,MAAM,UAAU,qBAAqB,CACpC,QAAgB,EAChB,GAAY;IAEZ,IAAI,GAAG,YAAY,UAAU;QAAE,OAAO,GAAG,CAAC;IAC1C,MAAM,GAAG,GAAG,GAA6D,CAAC;IAC1E,MAAM,KAAK,GAAG,GAAG,CAAC,KAAuC,CAAC;IAC1D,MAAM,WAAW,GAChB,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ;QAC3B,CAAC,CAAC,GAAG,CAAC,IAAI;QACV,CAAC,CAAC,OAAO,KAAK,EAAE,IAAI,KAAK,QAAQ;YAChC,CAAC,CAAC,KAAK,CAAC,IAAI;YACZ,CAAC,CAAC,SAAS,CAAC;IACf,MAAM,OAAO,GACZ,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC;IAChE,MAAM,GAAG,GAA2B;QACnC,QAAQ;QACR,cAAc,EAAE,GAAG;QACnB,eAAe,EAAE,OAAO;KACxB,CAAC;IACF,IAAI,WAAW;QAAE,GAAG,CAAC,WAAW,GAAG,WAAW,CAAC;IAC/C,OAAO,IAAI,UAAU,CACpB,qBAAqB,EACrB,GAAG,QAAQ,gBAAgB,WAAW,CAAC,CAAC,CAAC,KAAK,WAAW,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,EACnE;QACC,IAAI,EAAE,iIAAiI;QACvI,OAAO,EAAE,GAAG;KACZ,CACD,CAAC;AACH,CAAC;AAED,+CAA+C;AAC/C,MAAM,kBAAkB,GAAG,MAAM,CAAC;AAElC;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACrC,QAAgB,EAChB,GAAW,EACX,OAAoB,EAAE,EACtB,YAAoB,kBAAkB;IAEtC,IAAI,SAAS,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAC5C,IAAI,CAAC;QACJ,OAAO,MAAM,KAAK,CAAC,GAAG,EAAE;YACvB,GAAG,IAAI;YACP,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC;SACtC,CAAC,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,IAAI,GAAG,YAAY,KAAK,IAAI,GAAG,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YACzD,MAAM,IAAI,UAAU,CACnB,qBAAqB,EACrB,GAAG,QAAQ,0BAA0B,SAAS,KAAK,EACnD;gBACC,OAAO,EAAE,EAAE,QAAQ,EAAE,cAAc,EAAE,GAAG,EAAE,WAAW,EAAE,WAAW,EAAE;gBACpE,IAAI,EAAE,wFAAwF;aAC9F,CACD,CAAC;QACH,CAAC;QACD,MAAM,qBAAqB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IAC5C,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"fetchError.js","sourceRoot":"","sources":["../../src/transports/fetchError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C;;;;;;;;;GASG;AACH,MAAM,UAAU,qBAAqB,CACpC,QAAgB,EAChB,GAAY;IAEZ,IAAI,GAAG,YAAY,UAAU;QAAE,OAAO,GAAG,CAAC;IAC1C,MAAM,GAAG,GAAG,GAA6D,CAAC;IAC1E,MAAM,KAAK,GAAG,GAAG,CAAC,KAAuC,CAAC;IAC1D,MAAM,WAAW,GAChB,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ;QAC3B,CAAC,CAAC,GAAG,CAAC,IAAI;QACV,CAAC,CAAC,OAAO,KAAK,EAAE,IAAI,KAAK,QAAQ;YAChC,CAAC,CAAC,KAAK,CAAC,IAAI;YACZ,CAAC,CAAC,SAAS,CAAC;IACf,MAAM,OAAO,GACZ,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC;IAChE,MAAM,GAAG,GAA2B;QACnC,QAAQ;QACR,cAAc,EAAE,GAAG;QACnB,eAAe,EAAE,OAAO;KACxB,CAAC;IACF,IAAI,WAAW;QAAE,GAAG,CAAC,WAAW,GAAG,WAAW,CAAC;IAC/C,OAAO,IAAI,UAAU,CACpB,uBAAuB,EACvB,GAAG,QAAQ,gBAAgB,WAAW,CAAC,CAAC,CAAC,KAAK,WAAW,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,EACnE;QACC,IAAI,EAAE,iIAAiI;QACvI,OAAO,EAAE,GAAG;KACZ,CACD,CAAC;AACH,CAAC;AAED,+CAA+C;AAC/C,MAAM,kBAAkB,GAAG,MAAM,CAAC;AAElC;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACrC,QAAgB,EAChB,GAAW,EACX,OAAoB,EAAE,EACtB,YAAoB,kBAAkB;IAEtC,IAAI,SAAS,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAC5C,IAAI,CAAC;QACJ,OAAO,MAAM,KAAK,CAAC,GAAG,EAAE;YACvB,GAAG,IAAI;YACP,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC;SACtC,CAAC,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,IAAI,GAAG,YAAY,KAAK,IAAI,GAAG,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YACzD,MAAM,IAAI,UAAU,CACnB,uBAAuB,EACvB,GAAG,QAAQ,0BAA0B,SAAS,KAAK,EACnD;gBACC,OAAO,EAAE,EAAE,QAAQ,EAAE,cAAc,EAAE,GAAG,EAAE,WAAW,EAAE,WAAW,EAAE;gBACpE,IAAI,EAAE,wFAAwF;aAC9F,CACD,CAAC;QACH,CAAC;QACD,MAAM,qBAAqB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IAC5C,CAAC;AACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"resend.d.ts","sourceRoot":"","sources":["../../src/webhooks/resend.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACX,cAAc,EAEd,iBAAiB,EACjB,MAAM,cAAc,CAAC;AAEtB,MAAM,WAAW,oBAAoB;IACpC;;;OAGG;IACH,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,cAAc,CAAC;IACxB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACvB;AAuCD,wBAAgB,0BAA0B,CACzC,OAAO,EAAE,oBAAoB,GAC3B,iBAAiB,CAgDnB"}
1
+ {"version":3,"file":"resend.d.ts","sourceRoot":"","sources":["../../src/webhooks/resend.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACX,cAAc,EAEd,iBAAiB,EACjB,MAAM,cAAc,CAAC;AAEtB,MAAM,WAAW,oBAAoB;IACpC;;;OAGG;IACH,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,cAAc,CAAC;IACxB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACvB;AAgED,wBAAgB,0BAA0B,CACzC,OAAO,EAAE,oBAAoB,GAC3B,iBAAiB,CAgDnB"}
@@ -26,6 +26,26 @@ const EVENT_MAP = {
26
26
  "email.delivered": "mail.delivered",
27
27
  "email.bounced": "mail.bounced",
28
28
  };
29
+ /**
30
+ * Turn the configured signing secret into key bytes, or refuse.
31
+ *
32
+ * `Buffer.from(value, "base64")` never fails: it skips whatever it cannot read
33
+ * and hands back whatever is left, so a mistyped secret quietly becomes a
34
+ * short, deterministic key. Nothing then reports a configuration problem —
35
+ * every delivery just fails verification and looks like an attack, which is
36
+ * the one signal this endpoint exists to give.
37
+ */
38
+ function decodeSigningSecret(value) {
39
+ const bytes = Buffer.from(value, "base64");
40
+ const normalize = (v) => v.replace(/=+$/, "").replace(/\s/g, "");
41
+ if (normalize(bytes.toString("base64")) !== normalize(value)) {
42
+ throw new Error("createResendWebhookHandler: secret is not valid base64. Copy it from the Resend dashboard — it looks like `whsec_<base64>`.");
43
+ }
44
+ if (bytes.length < 16) {
45
+ throw new Error(`createResendWebhookHandler: secret decodes to ${bytes.length} bytes, which is too short to sign with. Expected at least 16.`);
46
+ }
47
+ return bytes;
48
+ }
29
49
  export function createResendWebhookHandler(options) {
30
50
  if (!options.secret) {
31
51
  throw new Error("createResendWebhookHandler: secret is required for HMAC verification.");
@@ -33,7 +53,7 @@ export function createResendWebhookHandler(options) {
33
53
  const secretRaw = options.secret.startsWith("whsec_")
34
54
  ? options.secret.slice(6)
35
55
  : options.secret;
36
- const keyBytes = Buffer.from(secretRaw, "base64");
56
+ const keyBytes = decodeSigningSecret(secretRaw);
37
57
  const emitter = options.emitter;
38
58
  const maxAgeSeconds = options.maxAgeSeconds ?? 300;
39
59
  return async (ctx, _next) => {
@@ -1 +1 @@
1
- {"version":3,"file":"resend.js","sourceRoot":"","sources":["../../src/webhooks/resend.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resend.js","sourceRoot":"","sources":["../../src/webhooks/resend.ts"],"names":[],"mappings":"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"}
Binary file
Binary file
Binary file
Binary file
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@c9up/rover",
3
- "version": "0.1.12",
3
+ "version": "0.1.14",
4
4
  "description": "Mail transport for Ream — SMTP, log, and pluggable transports",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -14,6 +14,10 @@
14
14
  "types": "./dist/RoverProvider.d.ts",
15
15
  "import": "./dist/RoverProvider.js"
16
16
  },
17
+ "./configure": {
18
+ "types": "./dist/configure.d.ts",
19
+ "import": "./dist/configure.js"
20
+ },
17
21
  "./services/main": {
18
22
  "types": "./dist/services/main.d.ts",
19
23
  "import": "./dist/services/main.js"
package/src/Mail.ts CHANGED
@@ -134,18 +134,26 @@ export interface MailFailedEvent extends MailEventBase {
134
134
  }
135
135
 
136
136
  export interface MailConfig {
137
+ /**
138
+ * Mailer used when `send()` is called without naming one. It has to be a
139
+ * key of {@link MailConfig.mailers}, or the constructor throws.
140
+ */
137
141
  default: string;
138
142
  from: string;
139
- transports?: Record<
143
+ /**
144
+ * The declared mailers, name → the transport it sends through plus that
145
+ * transport's own settings. Build the entries with the `transports.*`
146
+ * helpers.
147
+ */
148
+ mailers?: Record<
140
149
  string,
141
150
  { transport: string; retry?: RetryConfig; [key: string]: unknown }
142
151
  >;
143
152
  /**
144
- * AdonisJS spelling of `transports`. Both are accepted and mean the same
145
- * thing, so a migrated `config/mail.ts` runs with its imports rewritten and
146
- * nothing else.
153
+ * Rover's older spelling of `mailers`. Still accepted and identical in
154
+ * effect; new configs declare `mailers`.
147
155
  */
148
- mailers?: Record<
156
+ transports?: Record<
149
157
  string,
150
158
  { transport: string; retry?: RetryConfig; [key: string]: unknown }
151
159
  >;
@@ -153,7 +161,7 @@ export interface MailConfig {
153
161
  viewsRoot?: string;
154
162
  /** Optional Bay queue tuning for `sendLater()`. */
155
163
  queue?: { name?: string; maxAttempts?: number };
156
- /** Process-wide retry defaults. Overridden per-transport via `transports[name].retry`. */
164
+ /** Process-wide retry defaults. Overridden per-mailer via `mailers[name].retry`. */
157
165
  retry?: RetryConfig;
158
166
  }
159
167
 
@@ -191,13 +199,13 @@ export class SmtpTransport implements MailTransport {
191
199
  // construction with an actionable message instead.
192
200
  if (config.host !== undefined && typeof config.host !== "string") {
193
201
  throw new RoverError(
194
- "MAIL_PROVIDER_CONFIG",
202
+ "E_MAIL_PROVIDER_CONFIG",
195
203
  `SMTP host must be a string, got ${typeof config.host}`,
196
204
  { hint: "Set config.host to your SMTP server hostname." },
197
205
  );
198
206
  }
199
207
  if (typeof config.host !== "string" || config.host.length === 0) {
200
- throw new RoverError("MAIL_PROVIDER_CONFIG", "SMTP host is required", {
208
+ throw new RoverError("E_MAIL_PROVIDER_CONFIG", "SMTP host is required", {
201
209
  hint: "Set config.host (e.g. process.env.SMTP_HOST). Use the fake / log transports for local development.",
202
210
  });
203
211
  }
@@ -212,7 +220,7 @@ export class SmtpTransport implements MailTransport {
212
220
  // fail fast rather than connect anonymously and let the server reject.
213
221
  if ((user && !pass) || (!user && pass)) {
214
222
  throw new RoverError(
215
- "MAIL_PROVIDER_CONFIG",
223
+ "E_MAIL_PROVIDER_CONFIG",
216
224
  "SMTP auth requires both `user` and `pass` or neither",
217
225
  {
218
226
  hint: "Check your env vars — one half of the credential pair is missing.",
@@ -242,7 +250,7 @@ export class SmtpTransport implements MailTransport {
242
250
  message.bcc.length === 0
243
251
  ) {
244
252
  throw new RoverError(
245
- "MAIL_PROVIDER_CONFIG",
253
+ "E_MAIL_PROVIDER_CONFIG",
246
254
  "Mail message has no recipients",
247
255
  { hint: "Set at least one `to`, `cc`, or `bcc` before sending." },
248
256
  );
@@ -302,7 +310,7 @@ export class SmtpTransport implements MailTransport {
302
310
  }
303
311
 
304
312
  /**
305
- * Normalise nodemailer / socket errors into the uniform `MAIL_PROVIDER_ERROR`
313
+ * Normalise nodemailer / socket errors into the uniform `E_MAIL_PROVIDER_ERROR`
306
314
  * shape used by the rest of the library. Preserves the `code` field (errno)
307
315
  * in `context.networkCode` so `isRetryableError` can classify transient
308
316
  * network failures without losing the root cause.
@@ -325,7 +333,7 @@ function wrapSmtpError(err: unknown): RoverError {
325
333
  ctx.networkCode = anyErr.code;
326
334
  }
327
335
  return new RoverError(
328
- "MAIL_PROVIDER_ERROR",
336
+ "E_MAIL_PROVIDER_ERROR",
329
337
  `SMTP failed: ${anyErr.message ?? "unknown"}`,
330
338
  {
331
339
  hint: "Inspect `context.networkCode` (ECONNRESET/ETIMEDOUT/...) or `context.upstreamStatus` (SMTP response code) to decide retry eligibility.",
@@ -418,14 +426,14 @@ export class Mail {
418
426
  setViewsRoot(config.viewsRoot);
419
427
  }
420
428
 
421
- // `mailers` (AdonisJS) and `transports` (rover) are the same map under two
422
- // names; a config that sets both gets both, last name wins per key.
429
+ // `mailers` and `transports` name the same map; a config that sets both
430
+ // gets both, and `mailers` wins on a key the two share.
423
431
  const declared = { ...config.transports, ...config.mailers };
424
432
  for (const [name, transportConfig] of Object.entries(declared)) {
425
433
  const factory = transportFactories[transportConfig.transport];
426
434
  if (!factory) {
427
435
  throw new RoverError(
428
- "MAIL_UNKNOWN_TRANSPORT",
436
+ "E_MAIL_UNKNOWN_TRANSPORT",
429
437
  `Unknown mail transport type '${transportConfig.transport}' (configured under name '${name}')`,
430
438
  {
431
439
  hint: "Register the transport with registerTransport() before constructing Mail, or fix the typo in config.mail.transports[*].transport.",
@@ -438,6 +446,20 @@ export class Mail {
438
446
  }
439
447
  }
440
448
 
449
+ // A `default` naming nothing is a configuration typo, and the cost of
450
+ // letting it through is that the app boots, looks healthy, and throws on
451
+ // the first email it tries to send — often a password reset, in
452
+ // production. Refuse at construction and name what was declared.
453
+ if (!this.#transports.has(this.#defaultTransport)) {
454
+ throw new RoverError(
455
+ "E_MAIL_UNKNOWN_MAILER",
456
+ `Mail default mailer '${this.#defaultTransport}' is not declared in config.mailers`,
457
+ {
458
+ hint: `${knownMailers(this.#transports)} Add it, or point \`default\` at one of them.`,
459
+ },
460
+ );
461
+ }
462
+
441
463
  if (options?.queue) {
442
464
  this.setMessenger(options.queue);
443
465
  }
@@ -509,10 +531,9 @@ export class Mail {
509
531
  this.#fireSent({ ...base, messageId: randomBytes(16).toString("hex") });
510
532
  return;
511
533
  }
512
- // Validate transport up-front before running any callback / prepare() side effects.
513
- if (!this.#transports.has(transportName)) {
514
- throw new Error(`Mail transport '${transportName}' not configured`);
515
- }
534
+ // Validate the mailer up-front, before running any callback / prepare()
535
+ // side effects.
536
+ this.#requireTransport(transportName);
516
537
 
517
538
  const { message, views } = await this.#buildMessageWithViews(arg);
518
539
  await this.dispatchMessage(message, transportName, undefined, views);
@@ -772,9 +793,7 @@ export class Mail {
772
793
  * routes through that transport (Adonis parity). Mailers are cached per name.
773
794
  */
774
795
  use(name: string): Mailer {
775
- if (!this.#transports.has(name)) {
776
- throw new Error(`Mail transport '${name}' not configured`);
777
- }
796
+ this.#requireTransport(name);
778
797
  let mailer = this.#mailers.get(name);
779
798
  if (mailer === undefined) {
780
799
  mailer = new Mailer(this, name);
@@ -785,9 +804,18 @@ export class Mail {
785
804
 
786
805
  /** @internal Resolve the raw transport instance behind a mailer name. */
787
806
  transportFor(name: string): MailTransport {
788
- const t = this.#transports.get(name);
789
- if (!t) throw new Error(`Mail transport '${name}' not configured`);
790
- return t;
807
+ return this.#requireTransport(name);
808
+ }
809
+
810
+ /** The transport behind `name`, or a RoverError listing the declared ones. */
811
+ #requireTransport(name: string): MailTransport {
812
+ const transport = this.#transports.get(name);
813
+ if (transport) return transport;
814
+ throw new RoverError(
815
+ "E_MAIL_UNKNOWN_MAILER",
816
+ `Mail mailer '${name}' is not declared in config.mailers`,
817
+ { hint: knownMailers(this.#transports) },
818
+ );
791
819
  }
792
820
 
793
821
  /**
@@ -883,7 +911,7 @@ function validateMailMessage(message: MailMessage): void {
883
911
  // invalid per RFC 5321 reverse-path semantics.
884
912
  if (typeof message.from !== "string" || message.from.trim() === "") {
885
913
  throw new RoverError(
886
- "MAIL_INVALID_MESSAGE",
914
+ "E_MAIL_INVALID_MESSAGE",
887
915
  "Mail message has no `from` address",
888
916
  {
889
917
  hint: "Set `config.from`, an instance `from`, or call `message.from(...)` in the builder.",
@@ -894,14 +922,14 @@ function validateMailMessage(message: MailMessage): void {
894
922
  // `to` to be an array (cc/bcc are optional at the queue boundary), so a
895
923
  // deserialised job payload may reach here with `cc`/`bcc` as `undefined`.
896
924
  // `.some(...)` on `undefined` throws `TypeError` instead of the
897
- // structured `MAIL_INVALID_MESSAGE` this validator is supposed to surface.
925
+ // structured `E_MAIL_INVALID_MESSAGE` this validator is supposed to surface.
898
926
  const hasRecipient =
899
927
  (Array.isArray(message.to) && message.to.some(isNonEmptyAddress)) ||
900
928
  (Array.isArray(message.cc) && message.cc.some(isNonEmptyAddress)) ||
901
929
  (Array.isArray(message.bcc) && message.bcc.some(isNonEmptyAddress));
902
930
  if (!hasRecipient) {
903
931
  throw new RoverError(
904
- "MAIL_INVALID_MESSAGE",
932
+ "E_MAIL_INVALID_MESSAGE",
905
933
  "Mail message has no recipients",
906
934
  {
907
935
  hint: "Call `message.to(...)`, `cc(...)`, or `bcc(...)` with a non-empty address before sending.",
@@ -932,10 +960,18 @@ function errorDescriptor(
932
960
  if (err instanceof Error) {
933
961
  const errnoCode = (err as { code?: unknown }).code;
934
962
  return {
935
- code: typeof errnoCode === "string" ? errnoCode : "UNKNOWN",
963
+ code: typeof errnoCode === "string" ? errnoCode : "E_ROVER_UNKNOWN",
936
964
  message: err.message,
937
965
  attempts,
938
966
  };
939
967
  }
940
- return { code: "UNKNOWN", message: String(err), attempts };
968
+ return { code: "E_ROVER_UNKNOWN", message: String(err), attempts };
969
+ }
970
+
971
+ /** "Declared mailers: a, b." — the half of an unknown-mailer error that helps. */
972
+ function knownMailers(transports: Map<string, MailTransport>): string {
973
+ const names = [...transports.keys()];
974
+ return names.length > 0
975
+ ? `Declared mailers: ${names.join(", ")}.`
976
+ : "No mailers are declared — add at least one to config.mailers.";
941
977
  }
@@ -183,7 +183,7 @@ export function attachmentsFor(message: MailMessage): MailAttachment[] {
183
183
  // SMTP. An HTTP provider takes the bytes, and silently dropping the
184
184
  // invitation would be worse than saying so.
185
185
  throw new RoverError(
186
- "ICAL_HREF_UNSUPPORTED",
186
+ "E_ICAL_HREF_UNSUPPORTED",
187
187
  "icalEventFromUrl() is only supported by the SMTP transport, which fetches the URL itself.",
188
188
  {
189
189
  hint: "Fetch the ICS yourself and pass it to icalEvent(contents), or use icalEventFromFile().",
@@ -208,7 +208,7 @@ async function readAttachment(path: string, label: string): Promise<Buffer> {
208
208
  return await readFile(path);
209
209
  } catch (err) {
210
210
  throw new RoverError(
211
- "ATTACHMENT_UNREADABLE",
211
+ "E_ATTACHMENT_UNREADABLE",
212
212
  `Could not read ${label} from "${path}": ${err instanceof Error ? err.message : String(err)}`,
213
213
  {
214
214
  hint: "Give an absolute path, or attach the bytes with attachData() / embedData().",
@@ -246,7 +246,7 @@ function renderListHeader(
246
246
  function expect(passed: boolean, expectation: string, actual: unknown): void {
247
247
  if (passed) return;
248
248
  throw new RoverError(
249
- "ASSERTION_FAILED",
249
+ "E_ASSERTION_FAILED",
250
250
  `Expected the message ${expectation}, got ${JSON.stringify(actual)}`,
251
251
  );
252
252
  }
@@ -760,7 +760,7 @@ export class MessageBuilder {
760
760
  for (const url of listUrls(value)) {
761
761
  if (!url.toLowerCase().startsWith("http")) {
762
762
  throw new RoverError(
763
- "INVALID_LIST_HEADER",
763
+ "E_INVALID_LIST_HEADER",
764
764
  `listUnsubscribe({ oneClick: true }) needs an https URL that can answer a POST, got "${url}".`,
765
765
  {
766
766
  hint: "Keep the mailto: form without oneClick, or add an https endpoint alongside it.",
@@ -29,7 +29,7 @@ export default class RoverProvider {
29
29
  config ?? {
30
30
  default: "log",
31
31
  from: "noreply@localhost",
32
- transports: { log: { transport: "log" } },
32
+ mailers: { log: { transport: "log" } },
33
33
  },
34
34
  {
35
35
  // Optional-peer wiring: if `@c9up/bay` is installed and its