@voltro/plugin-mail 0.69.1 → 0.71.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.
package/dist/index.d.ts CHANGED
@@ -142,8 +142,9 @@ export declare interface MailAttachment {
142
142
  }
143
143
 
144
144
  /**
145
- * Mail failure. `transient` drives retry — `true` for 429 / 5xx / network
146
- * blips (worth retrying), `false` for 4xx / config errors (don't). Surfaced
145
+ * Mail failure. `transient` drives retry — HTTP 408 / 429 / 5xx and network
146
+ * failures are retryable; other HTTP 4xx are not. SMTP instead retries 4xx
147
+ * temporary replies, never 5xx permanent replies (RFC 5321 §4.2.1). Surfaced
147
148
  * typed so handlers can `Effect.catchTag('MailError', …)`.
148
149
  */
149
150
  export declare class MailError extends MailError_base {
package/dist/index.js CHANGED
@@ -295,7 +295,7 @@ var b = class extends u.TaggedError()("MailError", {
295
295
  return new b({
296
296
  provider: e,
297
297
  message: (t.message ?? "send failed").slice(0, 500),
298
- transient: he(n),
298
+ transient: e === "smtp" ? n === void 0 || n >= 400 && n < 500 : he(n),
299
299
  ...n === void 0 ? {} : { status: n }
300
300
  });
301
301
  }, V = (e, t, n, i, a) => r.tryPromise({
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@voltro/plugin-mail",
3
- "version": "0.69.1",
3
+ "version": "0.71.0",
4
4
  "description": "Transactional email plugin — one MailProvider contract, multiple adapters (Resend / Postmark / SendGrid / SMTP + console/memory for dev/test). Exposes a MailService via the plugin services layer with transient retry and a dev allowlist.",
5
5
  "keywords": [
6
6
  "voltro",
@@ -36,9 +36,9 @@
36
36
  "@effect/platform": "^0.97.1",
37
37
  "@effect/sql": "^0.52.1",
38
38
  "@effect/sql-pg": "^0.53.0",
39
- "@voltro/env": "0.69.1",
40
- "@voltro/logger": "0.69.1",
41
- "@voltro/protocol": "0.69.1"
39
+ "@voltro/env": "0.71.0",
40
+ "@voltro/logger": "0.71.0",
41
+ "@voltro/protocol": "0.71.0"
42
42
  },
43
43
  "optionalDependencies": {
44
44
  "nodemailer": "'>=9.1.1'"