@visulima/email 1.0.0-alpha.8 → 1.0.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 (396) hide show
  1. package/CHANGELOG.md +786 -0
  2. package/LICENSE.md +541 -847
  3. package/README.md +212 -191
  4. package/dist/crypto/index.d.ts +304 -4
  5. package/dist/crypto/index.js +1 -1
  6. package/dist/deliverability/dmarc-report.d.ts +95 -0
  7. package/dist/deliverability/dmarc-report.js +1 -0
  8. package/dist/deliverability/index.d.ts +360 -0
  9. package/dist/deliverability/index.js +1 -0
  10. package/dist/events/index.d.ts +31 -0
  11. package/dist/events/index.js +1 -0
  12. package/dist/inbound/index.d.ts +375 -0
  13. package/dist/inbound/index.js +1 -0
  14. package/dist/index.d.ts +94 -9
  15. package/dist/index.js +1 -1
  16. package/dist/middleware/index.d.ts +346 -0
  17. package/dist/middleware/index.js +1 -0
  18. package/dist/packem_shared/ALL_EVENTS-3kwh5CBE.js +1 -0
  19. package/dist/packem_shared/DkimSigner-BuSbnos1.js +18 -0
  20. package/dist/packem_shared/DraftMailMessage-BxqGSLMN.js +1 -0
  21. package/dist/packem_shared/EmailError-B-sEf3bp.js +1 -0
  22. package/dist/packem_shared/Mail-BEuzrB00.js +1 -0
  23. package/dist/packem_shared/MailMessage-D9k5gYrd.js +1 -0
  24. package/dist/packem_shared/MemoryEventStore-CuhfO9aj.js +1 -0
  25. package/dist/packem_shared/MemoryQueue-Dl1Fa6OJ.js +1 -0
  26. package/dist/packem_shared/MemorySuppressionStore-DZnbz-_B.js +1 -0
  27. package/dist/packem_shared/RATE_LIMIT_PRESETS-BPADLgcA.js +1 -0
  28. package/dist/packem_shared/RequiredOptionError-DuNNY_a5.js +1 -0
  29. package/dist/packem_shared/SmimeEncrypter-C7usORKF.js +6 -0
  30. package/dist/packem_shared/SmimeSigner-DgAApLPS.js +8 -0
  31. package/dist/packem_shared/addDarkModeSupport-DZYxULjl.js +1 -0
  32. package/dist/packem_shared/address-formatter-BWR2Dddx.js +1 -0
  33. package/dist/packem_shared/aggregate-features-BqEjPd42.js +1 -0
  34. package/dist/packem_shared/ahaSendProvider-D81_wUA1.js +1 -0
  35. package/dist/packem_shared/arcMessageSignatureBase-BY4j0TxM.js +17 -0
  36. package/dist/packem_shared/attachment-processor-CMp7qqMI.js +1 -0
  37. package/dist/packem_shared/awsSesProvider-BGZJUIep.js +32 -0
  38. package/dist/packem_shared/azureProvider-CmcK4bsf.js +1 -0
  39. package/dist/packem_shared/brevoProvider-C1BDXr41.js +1 -0
  40. package/dist/packem_shared/build-mime-message-B6927SQy.js +3 -0
  41. package/dist/packem_shared/buildListUnsubscribe-Cdr8MvR_.js +1 -0
  42. package/dist/packem_shared/buildMtaStsPolicy-oEQg8y_C.js +6 -0
  43. package/dist/packem_shared/circuitBreakerMiddleware-D2SA_07f.js +1 -0
  44. package/dist/packem_shared/cloudflareEmailProvider-Bv-ty-74.js +1 -0
  45. package/dist/packem_shared/composeMiddleware-BHwLLEzK.js +1 -0
  46. package/dist/packem_shared/create-logger-BQTS3f-I.js +1 -0
  47. package/dist/packem_shared/createSuppressionStore-CeAZKCbY.js +1 -0
  48. package/dist/packem_shared/createTestEmail-CF_RUjqo.js +1 -0
  49. package/dist/packem_shared/createWorker-_-yMWcNQ.js +1 -0
  50. package/dist/packem_shared/dedupeMiddleware-B6ajWOTi.js +1 -0
  51. package/dist/packem_shared/defineInboundHandler-CnL2BzlL.js +1 -0
  52. package/dist/packem_shared/defineProvider-C9q-7iwt.js +1 -0
  53. package/dist/packem_shared/detectMimeType-Dxv4MjZ7.js +1 -0
  54. package/dist/packem_shared/emailMatchers-DZDkrZ_3.js +1 -0
  55. package/dist/packem_shared/event-bus.d-DEl3w_EW.d.ts +104 -0
  56. package/dist/packem_shared/extractCidReferences-BuoTREMp.js +1 -0
  57. package/dist/packem_shared/extractReply-BUjIBt9A.js +5 -0
  58. package/dist/packem_shared/failoverProvider-BgX6zfnY.js +1 -0
  59. package/dist/packem_shared/format-address-DTl-9O70.js +1 -0
  60. package/dist/packem_shared/generate-boundary-DQbzDiOI.js +1 -0
  61. package/dist/packem_shared/generate-message-id-gXAuMz4g.js +1 -0
  62. package/dist/packem_shared/headers-to-record-De1Eg951.js +1 -0
  63. package/dist/packem_shared/httpProvider-DJAsYSun.js +1 -0
  64. package/dist/packem_shared/index-yDU-1zOZ.js +11 -0
  65. package/dist/packem_shared/infobipProvider-lHyGrXgZ.js +1 -0
  66. package/dist/packem_shared/injectPreheader-CF9WHZ7J.js +1 -0
  67. package/dist/packem_shared/inlineCss-BQ7d2Cyz.js +1 -0
  68. package/dist/packem_shared/isValidSigningCertUrl-Bii1AMGC.js +3 -0
  69. package/dist/packem_shared/loggingMiddleware-CZIiVMVp.js +1 -0
  70. package/dist/packem_shared/loopsProvider-DyloxzNC.js +1 -0
  71. package/dist/packem_shared/mail.d-B9SSqyy0.d.ts +909 -0
  72. package/dist/packem_shared/{mailCrabProvider-CM_CFDca.js → mailCrabProvider-CPtBT6Th.js} +1 -1
  73. package/dist/packem_shared/mailPaceProvider-CJEvOFBh.js +1 -0
  74. package/dist/packem_shared/mailchannelsProvider-osRkW_tz.js +1 -0
  75. package/dist/packem_shared/mailerSendProvider-C_6LzARK.js +1 -0
  76. package/dist/packem_shared/mailgunProvider-DkISvMPe.js +1 -0
  77. package/dist/packem_shared/mailjetProvider-CV0i4Xzh.js +1 -0
  78. package/dist/packem_shared/mailomatProvider-B5YFonEO.js +1 -0
  79. package/dist/packem_shared/mailtrapProvider-C4ZquIPz.js +1 -0
  80. package/dist/packem_shared/make-request-BlK_B72c.js +1 -0
  81. package/dist/packem_shared/mandrillProvider-DWPFh_Sj.js +1 -0
  82. package/dist/packem_shared/mockProvider-Behywbl1.js +1 -0
  83. package/dist/packem_shared/netcoreProvider-C5TEciaN.js +1 -0
  84. package/dist/packem_shared/nodemailerProvider-BFHobXxt.js +1 -0
  85. package/dist/packem_shared/normalizeMessageId-DAx2pGe2.js +1 -0
  86. package/dist/packem_shared/oauth2Middleware-CodqXkyj.js +1 -0
  87. package/dist/packem_shared/opentelemetryProvider-ByHC01ub.js +1 -0
  88. package/dist/packem_shared/outlook365Provider-63ggDpqV.js +1 -0
  89. package/dist/packem_shared/parseAddress-DdbViBAJ.js +1 -0
  90. package/dist/packem_shared/parseArfReport-Ds6S3c4J.js +6 -0
  91. package/dist/packem_shared/parseCloudflareInbound-C__j-oNa.js +1 -0
  92. package/dist/packem_shared/parseDmarcRecord-DXZ-_rF0.js +1 -0
  93. package/dist/packem_shared/parseMailgunInbound-BpC6uPNe.js +1 -0
  94. package/dist/packem_shared/parsePostmarkInbound-Co3_c6-9.js +1 -0
  95. package/dist/packem_shared/parseSendGridInbound-DsALoijO.js +4 -0
  96. package/dist/packem_shared/parseSesInbound-CH5tHIjp.js +1 -0
  97. package/dist/packem_shared/parseTlsReport-wPe1lIDs.js +1 -0
  98. package/dist/packem_shared/plunkProvider-yTlrJVEp.js +1 -0
  99. package/dist/packem_shared/postProcessHtml-DqKi2Ucg.js +1 -0
  100. package/dist/packem_shared/postalProvider-CRX_bMYD.js +1 -0
  101. package/dist/packem_shared/postmarkProvider-CDx85Yge.js +1 -0
  102. package/dist/packem_shared/provider-base-C7PuopYK.js +1 -0
  103. package/dist/packem_shared/provider.d-J-y6iogK.d.ts +28 -0
  104. package/dist/packem_shared/quoted-printable-nSGDA1tA.js +7 -0
  105. package/dist/packem_shared/resendProvider-CiclWxzr.js +1 -0
  106. package/dist/packem_shared/retry-3pnxTuNs.js +1 -0
  107. package/dist/packem_shared/retryMiddleware-DbViDX4r.js +1 -0
  108. package/dist/packem_shared/roundRobinProvider-D1by5KGW.js +1 -0
  109. package/dist/packem_shared/sanitize-header-DJhgZl3y.js +1 -0
  110. package/dist/packem_shared/scalewayProvider-BcND48qO.js +1 -0
  111. package/dist/packem_shared/sendGridProvider-D8ZLgY62.js +1 -0
  112. package/dist/packem_shared/smtpProvider-Bm0yP97W.js +25 -0
  113. package/dist/packem_shared/sparkpostProvider-CTYfSRaV.js +1 -0
  114. package/dist/packem_shared/sweegoProvider-DOoin_vi.js +1 -0
  115. package/dist/packem_shared/toEmailSnapshot-DeRqM5SJ.js +1 -0
  116. package/dist/packem_shared/tracer.d-MU42G1jG.d.ts +494 -0
  117. package/dist/packem_shared/types.d-BId55FW2.d.ts +107 -0
  118. package/dist/packem_shared/types.d-CmoWvdZi.d.ts +61 -0
  119. package/dist/packem_shared/types.d-DCkecJse.d.ts +51 -0
  120. package/dist/packem_shared/types.d-Mpu0HZoG.d.ts +24 -0
  121. package/dist/packem_shared/types.d-ejzh-xBP.d.ts +209 -0
  122. package/dist/packem_shared/types.d-lcJZmwRK.d.ts +69 -0
  123. package/dist/packem_shared/types.d-nyR1ty1Q.d.ts +9 -0
  124. package/dist/packem_shared/utils-BfYfPB_I.js +1 -0
  125. package/dist/packem_shared/validate-email-options-mCM9dVug.js +1 -0
  126. package/dist/packem_shared/verifyMailgunWebhook-Cwl0OD3P.js +1 -0
  127. package/dist/packem_shared/verifyPostmarkWebhook-C72ZvbrG.js +1 -0
  128. package/dist/packem_shared/verifyResendWebhook-YK2zNDXR.js +1 -0
  129. package/dist/packem_shared/verifySendGridWebhook-Dbwc1tfG.js +1 -0
  130. package/dist/packem_shared/withEvents-CCVblSqj.js +1 -0
  131. package/dist/packem_shared/withMetrics-DWywX_6M.js +1 -0
  132. package/dist/packem_shared/withRender-VP9wE5Yr.js +1 -0
  133. package/dist/packem_shared/withSuppression-DBaZDMAr.js +1 -0
  134. package/dist/packem_shared/withTelemetry-DL2qo0Hp.js +1 -0
  135. package/dist/packem_shared/zeptomailProvider-DKBPSHPj.js +1 -0
  136. package/dist/providers/ahasend/index.d.ts +36 -3
  137. package/dist/providers/ahasend/index.js +1 -1
  138. package/dist/providers/aws-ses/index.d.ts +47 -3
  139. package/dist/providers/aws-ses/index.js +1 -1
  140. package/dist/providers/azure/index.d.ts +52 -3
  141. package/dist/providers/azure/index.js +1 -1
  142. package/dist/providers/brevo/index.d.ts +65 -3
  143. package/dist/providers/brevo/index.js +1 -1
  144. package/dist/providers/cloudflare-email/index.d.ts +36 -0
  145. package/dist/providers/cloudflare-email/index.js +1 -0
  146. package/dist/providers/failover/index.d.ts +27 -3
  147. package/dist/providers/failover/index.js +1 -1
  148. package/dist/providers/http/index.d.ts +35 -3
  149. package/dist/providers/http/index.js +1 -1
  150. package/dist/providers/infobip/index.d.ts +56 -3
  151. package/dist/providers/infobip/index.js +1 -1
  152. package/dist/providers/loops/index.d.ts +47 -0
  153. package/dist/providers/loops/index.js +1 -0
  154. package/dist/providers/mailchannels/index.d.ts +26 -0
  155. package/dist/providers/mailchannels/index.js +1 -0
  156. package/dist/providers/mailcrab/index.d.ts +32 -3
  157. package/dist/providers/mailcrab/index.js +1 -1
  158. package/dist/providers/mailersend/index.d.ts +51 -3
  159. package/dist/providers/mailersend/index.js +1 -1
  160. package/dist/providers/mailgun/index.d.ts +73 -3
  161. package/dist/providers/mailgun/index.js +1 -1
  162. package/dist/providers/mailjet/index.d.ts +72 -3
  163. package/dist/providers/mailjet/index.js +1 -1
  164. package/dist/providers/mailomat/index.d.ts +40 -3
  165. package/dist/providers/mailomat/index.js +1 -1
  166. package/dist/providers/mailpace/index.d.ts +52 -3
  167. package/dist/providers/mailpace/index.js +1 -1
  168. package/dist/providers/mailtrap/index.d.ts +44 -3
  169. package/dist/providers/mailtrap/index.js +1 -1
  170. package/dist/providers/mandrill/index.d.ts +87 -3
  171. package/dist/providers/mandrill/index.js +1 -1
  172. package/dist/providers/mock/index.d.ts +12 -3
  173. package/dist/providers/mock/index.js +1 -1
  174. package/dist/providers/netcore/index.d.ts +35 -0
  175. package/dist/providers/netcore/index.js +1 -0
  176. package/dist/providers/nodemailer/index.d.ts +38 -3
  177. package/dist/providers/nodemailer/index.js +1 -1
  178. package/dist/providers/opentelemetry/index.d.ts +37 -3
  179. package/dist/providers/opentelemetry/index.js +1 -1
  180. package/dist/providers/outlook365/index.d.ts +48 -0
  181. package/dist/providers/outlook365/index.js +1 -0
  182. package/dist/providers/plunk/index.d.ts +38 -3
  183. package/dist/providers/plunk/index.js +1 -1
  184. package/dist/providers/postal/index.d.ts +48 -3
  185. package/dist/providers/postal/index.js +1 -1
  186. package/dist/providers/postmark/index.d.ts +60 -3
  187. package/dist/providers/postmark/index.js +1 -1
  188. package/dist/providers/resend/index.d.ts +51 -3
  189. package/dist/providers/resend/index.js +1 -1
  190. package/dist/providers/roundrobin/index.d.ts +27 -3
  191. package/dist/providers/roundrobin/index.js +1 -1
  192. package/dist/providers/scaleway/index.d.ts +44 -3
  193. package/dist/providers/scaleway/index.js +1 -1
  194. package/dist/providers/sendgrid/index.d.ts +84 -3
  195. package/dist/providers/sendgrid/index.js +1 -1
  196. package/dist/providers/smtp/index.d.ts +71 -3
  197. package/dist/providers/smtp/index.js +1 -1
  198. package/dist/providers/sparkpost/index.d.ts +43 -0
  199. package/dist/providers/sparkpost/index.js +1 -0
  200. package/dist/providers/sweego/index.d.ts +40 -3
  201. package/dist/providers/sweego/index.js +1 -1
  202. package/dist/providers/zeptomail/index.d.ts +37 -3
  203. package/dist/providers/zeptomail/index.js +1 -1
  204. package/dist/queue/bullmq-queue.d.ts +46 -0
  205. package/dist/queue/bullmq-queue.js +1 -0
  206. package/dist/queue/index.d.ts +147 -0
  207. package/dist/queue/index.js +1 -0
  208. package/dist/queue/pg-boss-queue.d.ts +41 -0
  209. package/dist/queue/pg-boss-queue.js +1 -0
  210. package/dist/queue/sqs-queue.d.ts +72 -0
  211. package/dist/queue/sqs-queue.js +1 -0
  212. package/dist/queue/unstorage-queue.d.ts +199 -0
  213. package/dist/queue/unstorage-queue.js +1 -0
  214. package/dist/render/index.d.ts +107 -0
  215. package/dist/render/index.js +1 -0
  216. package/dist/template-engines/handlebars.d.ts +23 -22
  217. package/dist/template-engines/handlebars.js +1 -1
  218. package/dist/template-engines/html-to-text.d.ts +24 -24
  219. package/dist/template-engines/html-to-text.js +1 -1
  220. package/dist/template-engines/i18n.d.ts +61 -0
  221. package/dist/template-engines/i18n.js +1 -0
  222. package/dist/template-engines/jsx-email.d.ts +11 -0
  223. package/dist/template-engines/jsx-email.js +1 -0
  224. package/dist/template-engines/liquid.d.ts +12 -0
  225. package/dist/template-engines/liquid.js +1 -0
  226. package/dist/template-engines/mjml.d.ts +10 -10
  227. package/dist/template-engines/mjml.js +1 -1
  228. package/dist/template-engines/react-email.d.ts +9 -9
  229. package/dist/template-engines/react-email.js +1 -1
  230. package/dist/template-engines/vue-email.d.ts +9 -9
  231. package/dist/template-engines/vue-email.js +1 -1
  232. package/dist/test/index.d.ts +155 -0
  233. package/dist/test/index.js +1 -0
  234. package/dist/utils/cache.d.ts +49 -48
  235. package/dist/utils/cache.js +1 -1
  236. package/dist/utils/format-email-address.d.ts +8 -7
  237. package/dist/utils/format-email-address.js +1 -1
  238. package/dist/utils/normalize-email-aliases.d.ts +20 -20
  239. package/dist/utils/normalize-email-aliases.js +1 -1
  240. package/dist/utils/parse-address.d.ts +18 -17
  241. package/dist/utils/parse-address.js +1 -1
  242. package/dist/utils/parse-eml.d.ts +22 -0
  243. package/dist/utils/parse-eml.js +6 -0
  244. package/dist/utils/result.d.ts +49 -0
  245. package/dist/utils/result.js +1 -0
  246. package/dist/utils/validation/check-feature-support.d.ts +53 -0
  247. package/dist/utils/validation/check-feature-support.js +1 -0
  248. package/dist/utils/validation/validate-email.d.ts +5 -5
  249. package/dist/utils/validation/validate-email.js +1 -1
  250. package/dist/webhooks/index.d.ts +231 -0
  251. package/dist/webhooks/index.js +1 -0
  252. package/package.json +177 -67
  253. package/dist/attachment-helpers.d.ts +0 -64
  254. package/dist/crypto/dkim-signer.d.ts +0 -48
  255. package/dist/crypto/smime-encrypter.d.ts +0 -53
  256. package/dist/crypto/smime-signer.d.ts +0 -48
  257. package/dist/crypto/types.d.ts +0 -101
  258. package/dist/draft-mail-message.d.ts +0 -13
  259. package/dist/errors/email-error.d.ts +0 -17
  260. package/dist/errors/required-option-error.d.ts +0 -10
  261. package/dist/mail-message.d.ts +0 -425
  262. package/dist/mail.d.ts +0 -206
  263. package/dist/packem_shared/DkimSigner-pFd4c3fZ.js +0 -18
  264. package/dist/packem_shared/EmailError-zm2ffVav.js +0 -1
  265. package/dist/packem_shared/Mail-6Bltpy_p.js +0 -1
  266. package/dist/packem_shared/MailMessage-B76GPBBA.js +0 -1
  267. package/dist/packem_shared/RequiredOptionError-CevW3u2K.js +0 -1
  268. package/dist/packem_shared/SmimeEncrypter-CBevU534.js +0 -6
  269. package/dist/packem_shared/SmimeSigner-CObA4jzT.js +0 -8
  270. package/dist/packem_shared/address-formatter-Cm_E_ZMa.js +0 -1
  271. package/dist/packem_shared/ahaSendProvider-DlFKEQ6D.js +0 -1
  272. package/dist/packem_shared/attachment-processor-2rHmfa7j.js +0 -1
  273. package/dist/packem_shared/awsSesProvider-Ba-eVJxZ.js +0 -32
  274. package/dist/packem_shared/azureProvider-CQYAkgVF.js +0 -1
  275. package/dist/packem_shared/brevoProvider-5p6jjiK9.js +0 -1
  276. package/dist/packem_shared/build-mime-message-IYaUqqPJ.js +0 -2
  277. package/dist/packem_shared/create-logger-BiWdqFNg.js +0 -1
  278. package/dist/packem_shared/defineProvider-B9rSklAJ.js +0 -1
  279. package/dist/packem_shared/detectMimeType-S8WRsNtY.js +0 -1
  280. package/dist/packem_shared/failoverProvider-CAHQQueo.js +0 -1
  281. package/dist/packem_shared/generate-boundary-Cx8nXYS0.js +0 -1
  282. package/dist/packem_shared/generate-message-id-D4uA8gkj.js +0 -1
  283. package/dist/packem_shared/headers-to-record-Qo124ImV.js +0 -1
  284. package/dist/packem_shared/httpProvider-CZD6LZX3.js +0 -1
  285. package/dist/packem_shared/infobipProvider-CtLwrUaP.js +0 -1
  286. package/dist/packem_shared/mailPaceProvider-B6yKvh6z.js +0 -1
  287. package/dist/packem_shared/mailerSendProvider-CeeIXFnW.js +0 -1
  288. package/dist/packem_shared/mailgunProvider-mmjKzouh.js +0 -1
  289. package/dist/packem_shared/mailjetProvider-DwN6i0VA.js +0 -1
  290. package/dist/packem_shared/mailomatProvider-DMQmjKHT.js +0 -1
  291. package/dist/packem_shared/mailtrapProvider-BN3UBEQw.js +0 -1
  292. package/dist/packem_shared/make-request-BDzF9W9D.js +0 -1
  293. package/dist/packem_shared/mandrillProvider-370y7CLu.js +0 -1
  294. package/dist/packem_shared/mockProvider-DN5ZwutD.js +0 -1
  295. package/dist/packem_shared/nodemailerProvider-_w8QXMU-.js +0 -1
  296. package/dist/packem_shared/opentelemetryProvider-C_ZXOLSd.js +0 -1
  297. package/dist/packem_shared/plunkProvider-DfJumQ4U.js +0 -1
  298. package/dist/packem_shared/postalProvider-Bavx2FcH.js +0 -1
  299. package/dist/packem_shared/postmarkProvider-DFC0uvjO.js +0 -1
  300. package/dist/packem_shared/provider-base-Cmzx6BTO.js +0 -1
  301. package/dist/packem_shared/readFile-BlZxbhCU-C8bCdiA2.js +0 -1
  302. package/dist/packem_shared/resendProvider-CfqU7UdE.js +0 -1
  303. package/dist/packem_shared/roundRobinProvider-1WQnuKR8.js +0 -1
  304. package/dist/packem_shared/sanitize-header-wWav-Scu.js +0 -1
  305. package/dist/packem_shared/scalewayProvider-be1HPimL.js +0 -1
  306. package/dist/packem_shared/sendGridProvider-BVI1sq3n.js +0 -1
  307. package/dist/packem_shared/smtpProvider-BV-ufR53.js +0 -23
  308. package/dist/packem_shared/sweegoProvider-7419CSAq.js +0 -1
  309. package/dist/packem_shared/validate-email-options-DfJ7llf8.js +0 -1
  310. package/dist/packem_shared/zeptomailProvider-C2lh0Xmo.js +0 -1
  311. package/dist/providers/ahasend/provider.d.ts +0 -7
  312. package/dist/providers/ahasend/types.d.ts +0 -28
  313. package/dist/providers/aws-ses/provider.d.ts +0 -8
  314. package/dist/providers/aws-ses/types.d.ts +0 -38
  315. package/dist/providers/azure/provider.d.ts +0 -7
  316. package/dist/providers/azure/types.d.ts +0 -44
  317. package/dist/providers/brevo/provider.d.ts +0 -7
  318. package/dist/providers/brevo/types.d.ts +0 -57
  319. package/dist/providers/failover/provider.d.ts +0 -7
  320. package/dist/providers/failover/types.d.ts +0 -19
  321. package/dist/providers/http/provider.d.ts +0 -7
  322. package/dist/providers/http/types.d.ts +0 -27
  323. package/dist/providers/infobip/provider.d.ts +0 -7
  324. package/dist/providers/infobip/types.d.ts +0 -48
  325. package/dist/providers/mailcrab/provider.d.ts +0 -9
  326. package/dist/providers/mailcrab/types.d.ts +0 -22
  327. package/dist/providers/mailersend/provider.d.ts +0 -7
  328. package/dist/providers/mailersend/types.d.ts +0 -43
  329. package/dist/providers/mailgun/provider.d.ts +0 -7
  330. package/dist/providers/mailgun/types.d.ts +0 -65
  331. package/dist/providers/mailjet/provider.d.ts +0 -7
  332. package/dist/providers/mailjet/types.d.ts +0 -64
  333. package/dist/providers/mailomat/provider.d.ts +0 -7
  334. package/dist/providers/mailomat/types.d.ts +0 -32
  335. package/dist/providers/mailpace/provider.d.ts +0 -7
  336. package/dist/providers/mailpace/types.d.ts +0 -44
  337. package/dist/providers/mailtrap/provider.d.ts +0 -7
  338. package/dist/providers/mailtrap/types.d.ts +0 -36
  339. package/dist/providers/mandrill/provider.d.ts +0 -7
  340. package/dist/providers/mandrill/types.d.ts +0 -79
  341. package/dist/providers/mock/provider.d.ts +0 -8
  342. package/dist/providers/mock/types.d.ts +0 -50
  343. package/dist/providers/nodemailer/provider.d.ts +0 -7
  344. package/dist/providers/nodemailer/types.d.ts +0 -30
  345. package/dist/providers/opentelemetry/provider.d.ts +0 -8
  346. package/dist/providers/opentelemetry/types.d.ts +0 -31
  347. package/dist/providers/plunk/provider.d.ts +0 -7
  348. package/dist/providers/plunk/types.d.ts +0 -30
  349. package/dist/providers/postal/provider.d.ts +0 -7
  350. package/dist/providers/postal/types.d.ts +0 -40
  351. package/dist/providers/postmark/provider.d.ts +0 -7
  352. package/dist/providers/postmark/types.d.ts +0 -52
  353. package/dist/providers/provider.d.ts +0 -27
  354. package/dist/providers/resend/provider.d.ts +0 -7
  355. package/dist/providers/resend/types.d.ts +0 -43
  356. package/dist/providers/roundrobin/provider.d.ts +0 -7
  357. package/dist/providers/roundrobin/types.d.ts +0 -19
  358. package/dist/providers/scaleway/provider.d.ts +0 -7
  359. package/dist/providers/scaleway/types.d.ts +0 -36
  360. package/dist/providers/sendgrid/provider.d.ts +0 -7
  361. package/dist/providers/sendgrid/types.d.ts +0 -76
  362. package/dist/providers/smtp/provider.d.ts +0 -7
  363. package/dist/providers/smtp/types.d.ts +0 -63
  364. package/dist/providers/sweego/provider.d.ts +0 -7
  365. package/dist/providers/sweego/types.d.ts +0 -32
  366. package/dist/providers/utils/address-formatter.d.ts +0 -139
  367. package/dist/providers/utils/attachment-processor.d.ts +0 -58
  368. package/dist/providers/utils/index.d.ts +0 -4
  369. package/dist/providers/utils/payload-builder.d.ts +0 -78
  370. package/dist/providers/utils/provider-base.d.ts +0 -69
  371. package/dist/providers/zeptomail/provider.d.ts +0 -7
  372. package/dist/providers/zeptomail/types.d.ts +0 -29
  373. package/dist/template-engines/types.d.ts +0 -8
  374. package/dist/types.d.ts +0 -203
  375. package/dist/utils/build-mime-message.d.ts +0 -8
  376. package/dist/utils/create-logger.d.ts +0 -16
  377. package/dist/utils/format-email-addresses.d.ts +0 -8
  378. package/dist/utils/generate-boundary.d.ts +0 -7
  379. package/dist/utils/generate-message-id.d.ts +0 -6
  380. package/dist/utils/headers-to-record.d.ts +0 -9
  381. package/dist/utils/is-port-available.d.ts +0 -9
  382. package/dist/utils/make-request.d.ts +0 -18
  383. package/dist/utils/retry.d.ts +0 -10
  384. package/dist/utils/sanitize-header.d.ts +0 -14
  385. package/dist/utils/to-base64.d.ts +0 -8
  386. package/dist/utils/validation/check-mx-records.d.ts +0 -42
  387. package/dist/utils/validation/check-mx-records.js +0 -1
  388. package/dist/utils/validation/disposable-email-domains.d.ts +0 -13
  389. package/dist/utils/validation/disposable-email-domains.js +0 -1
  390. package/dist/utils/validation/role-accounts.d.ts +0 -21
  391. package/dist/utils/validation/role-accounts.js +0 -1
  392. package/dist/utils/validation/validate-email-options.d.ts +0 -8
  393. package/dist/utils/validation/verify-email.d.ts +0 -47
  394. package/dist/utils/validation/verify-email.js +0 -1
  395. package/dist/utils/validation/verify-smtp.d.ts +0 -39
  396. package/dist/utils/validation/verify-smtp.js +0 -4
@@ -0,0 +1,360 @@
1
+ import { c as EmailAddress } from "../packem_shared/types.d-ejzh-xBP.js";
2
+ import { S as SuppressionReason, a as SuppressionEntry, b as SuppressionStore } from "../packem_shared/types.d-CmoWvdZi.js";
3
+ import 'node:buffer';
4
+ /**
5
+ * A parsed [ARF](https://www.rfc-editor.org/rfc/rfc5965) (Abuse Reporting Format) feedback report,
6
+ * as delivered by mailbox-provider feedback loops (FBLs) on spam complaints.
7
+ */
8
+ interface ArfReport {
9
+ /**
10
+ * When the offending message arrived, if reported.
11
+ */
12
+ arrivalDate?: string;
13
+ /**
14
+ * The type of feedback — `abuse` for spam complaints, `auth-failure`, `fraud`, etc.
15
+ */
16
+ feedbackType?: string;
17
+ /**
18
+ * All parsed fields from the `message/feedback-report` part, lower-cased keys.
19
+ */
20
+ fields: Record<string, string>;
21
+ /**
22
+ * The envelope sender of the original message, if reported.
23
+ */
24
+ originalMailFrom?: string;
25
+ /**
26
+ * The recipient(s) that complained — the address(es) to suppress.
27
+ */
28
+ originalRcptTo?: string;
29
+ /**
30
+ * The domain the report concerns.
31
+ */
32
+ reportedDomain?: string;
33
+ /**
34
+ * The source IP of the original message, if reported.
35
+ */
36
+ sourceIp?: string;
37
+ }
38
+ /**
39
+ * Parses an ARF feedback-loop complaint report into a structured object.
40
+ *
41
+ * Pass either the full raw ARF email or just its `message/feedback-report` part. Use
42
+ * {@link ArfReport.originalRcptTo} to drive suppression of complaining recipients.
43
+ * @param raw The raw ARF email text.
44
+ * @returns The parsed report. See {@link ArfReport}.
45
+ */
46
+ declare const parseArfReport: (raw: string) => ArfReport;
47
+ /**
48
+ * A parsed DMARC DNS policy record (the `_dmarc.&lt;domain>` TXT record).
49
+ */
50
+ interface DmarcRecord {
51
+ /**
52
+ * DKIM identifier alignment: `r` (relaxed, default) or `s` (strict).
53
+ */
54
+ adkim?: "r" | "s";
55
+ /**
56
+ * SPF identifier alignment: `r` (relaxed, default) or `s` (strict).
57
+ */
58
+ aspf?: "r" | "s";
59
+ /**
60
+ * Failure reporting options (`fo`): `0`, `1`, `d`, `s`, or a colon-joined combination.
61
+ */
62
+ fo?: string;
63
+ /**
64
+ * Percentage of messages the policy applies to (`pct`, 0–100).
65
+ */
66
+ percent?: number;
67
+ /**
68
+ * Requested policy (`p`): `none`, `quarantine`, or `reject`.
69
+ */
70
+ policy?: "none" | "quarantine" | "reject";
71
+ /**
72
+ * Aggregate report URIs (`rua`).
73
+ */
74
+ rua?: string[];
75
+ /**
76
+ * Failure (forensic) report URIs (`ruf`).
77
+ */
78
+ ruf?: string[];
79
+ /**
80
+ * Subdomain policy (`sp`).
81
+ */
82
+ subdomainPolicy?: "none" | "quarantine" | "reject";
83
+ /**
84
+ * All raw tag/value pairs, keyed by tag.
85
+ */
86
+ tags: Record<string, string>;
87
+ /**
88
+ * Whether the record is a syntactically valid DMARC1 record (starts with `v=DMARC1`).
89
+ */
90
+ valid: boolean;
91
+ }
92
+ /**
93
+ * Parses a DMARC policy record (the TXT record at `_dmarc.&lt;domain>`).
94
+ * @param record The raw TXT record value (e.g. `v=DMARC1; p=reject; rua=mailto:agg@example.com`).
95
+ * @returns The parsed record. See {@link DmarcRecord}.
96
+ */
97
+ declare const parseDmarcRecord: (record: string) => DmarcRecord;
98
+ /**
99
+ * Options for {@link buildListUnsubscribe}.
100
+ */
101
+ interface ListUnsubscribeOptions {
102
+ /**
103
+ * A `mailto:` target the recipient can email to unsubscribe.
104
+ *
105
+ * Provide a bare address (`unsub@example.com`) or a full `mailto:` URI with query parameters.
106
+ */
107
+ mailto?: string;
108
+ /**
109
+ * The default `subject` to attach to a bare `mailto` address.
110
+ * @default "unsubscribe"
111
+ */
112
+ mailtoSubject?: string;
113
+ /**
114
+ * Enable [RFC 8058](https://www.rfc-editor.org/rfc/rfc8058) one-click unsubscribe.
115
+ *
116
+ * Requires {@link ListUnsubscribeOptions.url} to be an `https:` endpoint that accepts a POST with
117
+ * the body `List-Unsubscribe=One-Click`.
118
+ * @default false
119
+ */
120
+ oneClick?: boolean;
121
+ /**
122
+ * An `https:` URL the recipient (or their mail client) can use to unsubscribe.
123
+ */
124
+ url?: string;
125
+ }
126
+ /**
127
+ * The headers produced by {@link buildListUnsubscribe}.
128
+ */
129
+ interface ListUnsubscribeHeaders {
130
+ "List-Unsubscribe": string;
131
+ "List-Unsubscribe-Post"?: string;
132
+ }
133
+ /**
134
+ * Builds `List-Unsubscribe` (and, when requested, `List-Unsubscribe-Post`) headers.
135
+ *
136
+ * Gmail and Yahoo's 2024 bulk-sender requirements expect bulk senders to expose a one-click
137
+ * unsubscribe. Pass an `https:` {@link ListUnsubscribeOptions.url} with `oneClick: true` to emit the
138
+ * RFC 8058 `List-Unsubscribe-Post: List-Unsubscribe=One-Click` header alongside it.
139
+ * @param options At least one of `url` or `mailto` must be provided. See {@link ListUnsubscribeOptions}.
140
+ * @returns The header record to merge into an email's headers.
141
+ * @throws {TypeError} When neither `url` nor `mailto` is provided, or `oneClick` is set without an `https:` url.
142
+ * @example
143
+ * ```ts
144
+ * const headers = buildListUnsubscribe({
145
+ * url: "https://example.com/unsub?id=abc",
146
+ * mailto: "unsubscribe@example.com",
147
+ * oneClick: true,
148
+ * });
149
+ * // {
150
+ * // "List-Unsubscribe": "<https://example.com/unsub?id=abc>, <mailto:unsubscribe@example.com?subject=unsubscribe>",
151
+ * // "List-Unsubscribe-Post": "List-Unsubscribe=One-Click",
152
+ * // }
153
+ * ```
154
+ */
155
+ declare const buildListUnsubscribe: (options: ListUnsubscribeOptions) => ListUnsubscribeHeaders;
156
+ /**
157
+ * Parses a `List-Unsubscribe` header value into its individual targets.
158
+ * @param header The raw `List-Unsubscribe` header value containing angle-bracketed targets.
159
+ * @returns The list of unwrapped targets (URLs / mailto URIs).
160
+ */
161
+ declare const parseListUnsubscribe: (header: string) => string[];
162
+ /**
163
+ * A parsed [MTA-STS](https://www.rfc-editor.org/rfc/rfc8461) policy
164
+ * (`https://mta-sts.&lt;domain>/.well-known/mta-sts.txt`).
165
+ */
166
+ interface MtaStsPolicy {
167
+ /**
168
+ * Maximum policy lifetime in seconds (`max_age`).
169
+ */
170
+ maxAge?: number;
171
+ /**
172
+ * Enforcement mode: `enforce`, `testing`, or `none`.
173
+ */
174
+ mode?: "enforce" | "none" | "testing";
175
+ /**
176
+ * Allowed MX host patterns (may include a leading `*.` wildcard).
177
+ */
178
+ mx: string[];
179
+ /**
180
+ * Whether the policy is a syntactically valid `STSv1` policy.
181
+ */
182
+ valid: boolean;
183
+ /**
184
+ * The policy version (`STSv1`).
185
+ */
186
+ version?: string;
187
+ }
188
+ /**
189
+ * Parses an MTA-STS policy file.
190
+ * @param policy The raw policy text.
191
+ * @returns The parsed policy. See {@link MtaStsPolicy}.
192
+ */
193
+ declare const parseMtaStsPolicy: (policy: string) => MtaStsPolicy;
194
+ /**
195
+ * Input for {@link buildMtaStsPolicy}.
196
+ */
197
+ interface MtaStsPolicyInput {
198
+ /**
199
+ * Maximum policy lifetime in seconds (`max_age`), e.g. `604800` (one week).
200
+ */
201
+ maxAge: number;
202
+ /**
203
+ * Enforcement mode.
204
+ */
205
+ mode: "enforce" | "none" | "testing";
206
+ /**
207
+ * Allowed MX host patterns (a leading `*.` wildcard is permitted).
208
+ */
209
+ mx: string[];
210
+ }
211
+ /**
212
+ * Generates an MTA-STS policy file to serve at `https://mta-sts.&lt;domain>/.well-known/mta-sts.txt`.
213
+ * @param input The policy contents. See {@link MtaStsPolicyInput}.
214
+ * @returns The policy file text (CRLF-terminated lines, per RFC 8461).
215
+ */
216
+ declare const buildMtaStsPolicy: (input: MtaStsPolicyInput) => string;
217
+ /**
218
+ * An in-memory {@link SuppressionStore}, suitable for tests, single-process apps, and as a write-through
219
+ * cache in front of a durable store.
220
+ */
221
+ declare class MemorySuppressionStore implements SuppressionStore {
222
+ private readonly entries;
223
+ /**
224
+ * Seeds the store with existing entries.
225
+ * @param initial Optional addresses to pre-suppress.
226
+ */
227
+ constructor(initial?: Iterable<{
228
+ address: string;
229
+ metadata?: Record<string, unknown>;
230
+ reason: SuppressionReason;
231
+ }>);
232
+ /**
233
+ * Adds or refreshes an address on the suppression list.
234
+ * @param address The recipient address.
235
+ * @param reason Why it is suppressed.
236
+ * @param metadata Optional context to persist with the entry.
237
+ */
238
+ add(address: string, reason: SuppressionReason, metadata?: Record<string, unknown>): void;
239
+ /**
240
+ * Returns the suppression entry for an address, if present.
241
+ * @param address The recipient address.
242
+ * @returns The entry, or `undefined` when not suppressed.
243
+ */
244
+ get(address: string): SuppressionEntry | undefined;
245
+ /**
246
+ * Reports whether an address is currently suppressed.
247
+ * @param address The recipient address.
248
+ * @returns `true` when the address is on the list.
249
+ */
250
+ has(address: string): boolean;
251
+ /**
252
+ * Lists every suppression entry.
253
+ * @returns An iterable over the stored entries.
254
+ */
255
+ list(): Iterable<SuppressionEntry>;
256
+ /**
257
+ * Removes an address from the suppression list.
258
+ * @param address The recipient address.
259
+ * @returns `true` when an entry was removed.
260
+ */
261
+ remove(address: string): boolean;
262
+ /**
263
+ * The number of suppressed addresses.
264
+ */
265
+ get size(): number;
266
+ }
267
+ /**
268
+ * Result of {@link filterSuppressed}.
269
+ */
270
+ interface FilterSuppressedResult {
271
+ /**
272
+ * Recipients that are allowed (not suppressed).
273
+ */
274
+ allowed: EmailAddress[];
275
+ /**
276
+ * Recipients that were suppressed and removed.
277
+ */
278
+ suppressed: EmailAddress[];
279
+ }
280
+ /**
281
+ * Partitions a recipient list into allowed and suppressed addresses.
282
+ * @param recipients One or more recipients.
283
+ * @param store The suppression store to check against.
284
+ * @returns The allowed and suppressed recipients. See {@link FilterSuppressedResult}.
285
+ */
286
+ declare const filterSuppressed: (recipients: EmailAddress | EmailAddress[], store: SuppressionStore) => Promise<FilterSuppressedResult>;
287
+ /**
288
+ * Convenience factory for an in-memory suppression store.
289
+ * @param initial Optional addresses to pre-suppress.
290
+ * @returns A new {@link MemorySuppressionStore}.
291
+ */
292
+ declare const createSuppressionStore: (initial?: Iterable<{
293
+ address: string;
294
+ metadata?: Record<string, unknown>;
295
+ reason: SuppressionReason;
296
+ }>) => MemorySuppressionStore;
297
+ /**
298
+ * A parsed TLS-RPT DNS record (`_smtp._tls.&lt;domain>` TXT record).
299
+ */
300
+ interface TlsRptRecord {
301
+ /**
302
+ * Report destination URIs (`rua`): `mailto:` and/or `https:` endpoints.
303
+ */
304
+ rua: string[];
305
+ /**
306
+ * Whether the record is a syntactically valid `TLSRPTv1` record.
307
+ */
308
+ valid: boolean;
309
+ /**
310
+ * The record version (`TLSRPTv1`).
311
+ */
312
+ version?: string;
313
+ }
314
+ /**
315
+ * A normalized [TLS-RPT](https://www.rfc-editor.org/rfc/rfc8460) report.
316
+ */
317
+ interface TlsReport {
318
+ /**
319
+ * Report end timestamp (ISO 8601), from `date-range.end-datetime`.
320
+ */
321
+ endDate?: string;
322
+ /**
323
+ * The reporting organization (`organization-name`).
324
+ */
325
+ organizationName?: string;
326
+ /**
327
+ * The raw `policies` array, for provider-specific detail.
328
+ */
329
+ policies: unknown[];
330
+ /**
331
+ * The unique report id (`report-id`).
332
+ */
333
+ reportId?: string;
334
+ /**
335
+ * Report start timestamp (ISO 8601), from `date-range.start-datetime`.
336
+ */
337
+ startDate?: string;
338
+ /**
339
+ * Total failed TLS sessions across all policies.
340
+ */
341
+ totalFailure: number;
342
+ /**
343
+ * Total successful TLS sessions across all policies.
344
+ */
345
+ totalSuccessful: number;
346
+ }
347
+ /**
348
+ * Parses a TLS-RPT policy record (the TXT record at `_smtp._tls.&lt;domain>`).
349
+ * @param record The raw TXT record value (e.g. `v=TLSRPTv1; rua=mailto:tlsrpt@example.com`).
350
+ * @returns The parsed record. See {@link TlsRptRecord}.
351
+ */
352
+ declare const parseTlsRptRecord: (record: string) => TlsRptRecord;
353
+ /**
354
+ * Parses a TLS-RPT JSON report into a normalized summary.
355
+ * @param report The report as a JSON string or already-parsed object.
356
+ * @returns The normalized report. See {@link TlsReport}.
357
+ * @throws {SyntaxError} When a string is provided that is not valid JSON.
358
+ */
359
+ declare const parseTlsReport: (report: Record<string, unknown> | string) => TlsReport;
360
+ export { type ArfReport, type DmarcRecord, type FilterSuppressedResult, type ListUnsubscribeHeaders, type ListUnsubscribeOptions, MemorySuppressionStore, type MtaStsPolicy, type MtaStsPolicyInput, type SuppressionEntry, type SuppressionReason, type SuppressionStore, type TlsReport, type TlsRptRecord, buildListUnsubscribe, buildMtaStsPolicy, createSuppressionStore, filterSuppressed, parseArfReport, parseDmarcRecord, parseListUnsubscribe, parseMtaStsPolicy, parseTlsReport, parseTlsRptRecord };
@@ -0,0 +1 @@
1
+ import{parseArfReport as o}from"../packem_shared/parseArfReport-Ds6S3c4J.js";import{parseDmarcRecord as p}from"../packem_shared/parseDmarcRecord-DXZ-_rF0.js";import{buildListUnsubscribe as a,parseListUnsubscribe as i}from"../packem_shared/buildListUnsubscribe-Cdr8MvR_.js";import{buildMtaStsPolicy as m,parseMtaStsPolicy as c}from"../packem_shared/buildMtaStsPolicy-oEQg8y_C.js";import{createSuppressionStore as u,filterSuppressed as x}from"../packem_shared/createSuppressionStore-CeAZKCbY.js";import{parseTlsReport as b,parseTlsRptRecord as d}from"../packem_shared/parseTlsReport-wPe1lIDs.js";import{default as n}from"../packem_shared/MemorySuppressionStore-DZnbz-_B.js";export{n as MemorySuppressionStore,a as buildListUnsubscribe,m as buildMtaStsPolicy,u as createSuppressionStore,x as filterSuppressed,o as parseArfReport,p as parseDmarcRecord,i as parseListUnsubscribe,c as parseMtaStsPolicy,b as parseTlsReport,d as parseTlsRptRecord};
@@ -0,0 +1,31 @@
1
+ import { E as EmailEvent, a as EventStore } from "../packem_shared/event-bus.d-DEl3w_EW.js";
2
+ export { A as ALL_EVENTS, type b as EmailEventListener, type c as EmailEventType, d as EventBus } from "../packem_shared/event-bus.d-DEl3w_EW.js";
3
+ /**
4
+ * An in-memory {@link EventStore}. Events are grouped by `messageId`; events without one are kept
5
+ * under a shared `__unkeyed` bucket so nothing is silently dropped.
6
+ */
7
+ declare class MemoryEventStore implements EventStore {
8
+ private static readonly UNKEYED;
9
+ private readonly byMessage;
10
+ /**
11
+ * Appends an event to its message's bucket.
12
+ * @param event The event to store.
13
+ */
14
+ append(event: EmailEvent): void;
15
+ /**
16
+ * Reconstructs the time-ordered timeline for a single message.
17
+ * @param messageId The message to reconstruct.
18
+ * @returns The message's events, oldest first.
19
+ */
20
+ timeline(messageId: string): EmailEvent[];
21
+ /**
22
+ * Returns every stored event, ordered by timestamp.
23
+ * @returns All events.
24
+ */
25
+ all(): EmailEvent[];
26
+ /**
27
+ * Removes all stored events.
28
+ */
29
+ clear(): void;
30
+ }
31
+ export { type EmailEvent, type EventStore, MemoryEventStore };
@@ -0,0 +1 @@
1
+ import{ALL_EVENTS as r,EventBus as t}from"../packem_shared/ALL_EVENTS-3kwh5CBE.js";import{default as f}from"../packem_shared/MemoryEventStore-CuhfO9aj.js";export{r as ALL_EVENTS,t as EventBus,f as MemoryEventStore};