@aevr/mailer 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.
- package/CHANGELOG.md +14 -0
- package/LICENSE +21 -0
- package/README.md +80 -0
- package/dist/.tsbuildinfo +1 -0
- package/dist/adapters/nodemailer.d.ts +3 -0
- package/dist/adapters/nodemailer.d.ts.map +1 -0
- package/dist/adapters/nodemailer.js +31 -0
- package/dist/adapters/nodemailer.js.map +1 -0
- package/dist/adapters/resend.d.ts +3 -0
- package/dist/adapters/resend.d.ts.map +1 -0
- package/dist/adapters/resend.js +27 -0
- package/dist/adapters/resend.js.map +1 -0
- package/dist/adapters/zeptomail.d.ts +3 -0
- package/dist/adapters/zeptomail.d.ts.map +1 -0
- package/dist/adapters/zeptomail.js +29 -0
- package/dist/adapters/zeptomail.js.map +1 -0
- package/dist/index.d.ts +21 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +69 -0
- package/dist/index.js.map +1 -0
- package/dist/templates/_layout.d.ts +26 -0
- package/dist/templates/_layout.d.ts.map +1 -0
- package/dist/templates/_layout.js +83 -0
- package/dist/templates/_layout.js.map +1 -0
- package/dist/templates/adminAlert.d.ts +23 -0
- package/dist/templates/adminAlert.d.ts.map +1 -0
- package/dist/templates/adminAlert.js +61 -0
- package/dist/templates/adminAlert.js.map +1 -0
- package/dist/templates/deploymentBuildFailed.d.ts +13 -0
- package/dist/templates/deploymentBuildFailed.d.ts.map +1 -0
- package/dist/templates/deploymentBuildFailed.js +38 -0
- package/dist/templates/deploymentBuildFailed.js.map +1 -0
- package/dist/templates/deploymentFailed.d.ts +13 -0
- package/dist/templates/deploymentFailed.d.ts.map +1 -0
- package/dist/templates/deploymentFailed.js +38 -0
- package/dist/templates/deploymentFailed.js.map +1 -0
- package/dist/templates/deploymentRunning.d.ts +13 -0
- package/dist/templates/deploymentRunning.d.ts.map +1 -0
- package/dist/templates/deploymentRunning.js +38 -0
- package/dist/templates/deploymentRunning.js.map +1 -0
- package/dist/templates/emailVerification.d.ts +12 -0
- package/dist/templates/emailVerification.d.ts.map +1 -0
- package/dist/templates/emailVerification.js +34 -0
- package/dist/templates/emailVerification.js.map +1 -0
- package/dist/templates/index.d.ts +21 -0
- package/dist/templates/index.d.ts.map +1 -0
- package/dist/templates/index.js +13 -0
- package/dist/templates/index.js.map +1 -0
- package/dist/templates/instance.d.ts +65 -0
- package/dist/templates/instance.d.ts.map +1 -0
- package/dist/templates/instance.js +196 -0
- package/dist/templates/instance.js.map +1 -0
- package/dist/templates/passwordReset.d.ts +12 -0
- package/dist/templates/passwordReset.d.ts.map +1 -0
- package/dist/templates/passwordReset.js +37 -0
- package/dist/templates/passwordReset.js.map +1 -0
- package/dist/templates/sslFailed.d.ts +15 -0
- package/dist/templates/sslFailed.d.ts.map +1 -0
- package/dist/templates/sslFailed.js +47 -0
- package/dist/templates/sslFailed.js.map +1 -0
- package/dist/templates/teamInvite.d.ts +18 -0
- package/dist/templates/teamInvite.d.ts.map +1 -0
- package/dist/templates/teamInvite.js +51 -0
- package/dist/templates/teamInvite.js.map +1 -0
- package/dist/types.d.ts +35 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +3 -0
- package/dist/types.js.map +1 -0
- package/package.json +49 -0
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to `@aevr/mailer` will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
|
4
|
+
|
|
5
|
+
## [1.0.0] - 2026-08-06
|
|
6
|
+
|
|
7
|
+
### Features
|
|
8
|
+
|
|
9
|
+
- Provider-agnostic email sending via `createMailer()` factory
|
|
10
|
+
- Adapters: Resend, SMTP/Nodemailer, ZeptoMail, console (dev fallback)
|
|
11
|
+
- Switch provider with `MAIL_PROVIDER` env var — no code changes needed
|
|
12
|
+
- Singleton `mailer` and `sendEmail()` convenience wrapper
|
|
13
|
+
- Built-in `adminAlert` HTML email template
|
|
14
|
+
- Full TypeScript types: `MailAdapter`, `SendEmailOptions`, `Recipient`, `MailerConfig`
|
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Miracle Onyenma
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
# @aevr/mailer
|
|
2
|
+
|
|
3
|
+
Provider-agnostic email adapter framework for Node.js. Switch between Resend, SMTP/Nodemailer, ZeptoMail, or a console fallback with one environment variable — no code changes needed.
|
|
4
|
+
|
|
5
|
+
[](https://www.npmjs.com/package/@aevr/mailer)
|
|
6
|
+
[](./LICENSE)
|
|
7
|
+
|
|
8
|
+
## Install
|
|
9
|
+
|
|
10
|
+
```bash
|
|
11
|
+
npm install @aevr/mailer
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
## Quick start
|
|
15
|
+
|
|
16
|
+
```ts
|
|
17
|
+
import { createMailer } from "@aevr/mailer";
|
|
18
|
+
|
|
19
|
+
const mailer = createMailer(); // reads MAIL_PROVIDER from env
|
|
20
|
+
|
|
21
|
+
await mailer.send({
|
|
22
|
+
to: { email: "user@example.com", name: "User" },
|
|
23
|
+
subject: "Hello",
|
|
24
|
+
html: "<p>Hello world</p>",
|
|
25
|
+
text: "Hello world",
|
|
26
|
+
});
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
Or use the singleton wired from env at startup:
|
|
30
|
+
|
|
31
|
+
```ts
|
|
32
|
+
import { sendEmail } from "@aevr/mailer";
|
|
33
|
+
|
|
34
|
+
await sendEmail({ to: { email: "user@example.com" }, subject: "Hi" });
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## Configuration
|
|
38
|
+
|
|
39
|
+
Set `MAIL_PROVIDER` to one of: `resend` | `nodemailer` | `smtp` | `zeptomail` | `console` (default).
|
|
40
|
+
|
|
41
|
+
| Provider | Required env vars |
|
|
42
|
+
|---|---|
|
|
43
|
+
| `resend` | `RESEND_API_KEY` |
|
|
44
|
+
| `nodemailer` / `smtp` | `SMTP_HOST`, `SMTP_PORT`, optionally `SMTP_USER`, `SMTP_PASS` |
|
|
45
|
+
| `zeptomail` | `ZEPTO_API_KEY`, optionally `ZEPTO_API_URL` |
|
|
46
|
+
| `console` | none — logs to stdout |
|
|
47
|
+
|
|
48
|
+
Optionally set a default sender: `MAIL_FROM_EMAIL`, `MAIL_FROM_NAME`.
|
|
49
|
+
|
|
50
|
+
### Programmatic config
|
|
51
|
+
|
|
52
|
+
```ts
|
|
53
|
+
const mailer = createMailer({
|
|
54
|
+
provider: "resend",
|
|
55
|
+
resend: { apiKey: process.env.RESEND_API_KEY },
|
|
56
|
+
from: { email: "noreply@example.com", name: "My App" },
|
|
57
|
+
});
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
## Templates
|
|
61
|
+
|
|
62
|
+
```ts
|
|
63
|
+
import { renderAdminAlertEmail } from "@aevr/mailer/templates";
|
|
64
|
+
|
|
65
|
+
const html = renderAdminAlertEmail({
|
|
66
|
+
level: "error",
|
|
67
|
+
title: "Deploy failed",
|
|
68
|
+
message: "Container exited with code 1",
|
|
69
|
+
});
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
## Types
|
|
73
|
+
|
|
74
|
+
```ts
|
|
75
|
+
import type { MailAdapter, SendEmailOptions, Recipient, MailerConfig } from "@aevr/mailer";
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
## License
|
|
79
|
+
|
|
80
|
+
MIT
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"fileNames":["../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../src/types.ts","../src/templates/_layout.ts","../src/templates/adminalert.ts","../../../node_modules/.pnpm/@types+node@22.19.21/node_modules/@types/node/compatibility/disposable.d.ts","../../../node_modules/.pnpm/@types+node@22.19.21/node_modules/@types/node/compatibility/indexable.d.ts","../../../node_modules/.pnpm/@types+node@22.19.21/node_modules/@types/node/compatibility/iterators.d.ts","../../../node_modules/.pnpm/@types+node@22.19.21/node_modules/@types/node/compatibility/index.d.ts","../../../node_modules/.pnpm/@types+node@22.19.21/node_modules/@types/node/globals.typedarray.d.ts","../../../node_modules/.pnpm/@types+node@22.19.21/node_modules/@types/node/buffer.buffer.d.ts","../../../node_modules/.pnpm/@types+node@22.19.21/node_modules/@types/node/globals.d.ts","../../../node_modules/.pnpm/@types+node@22.19.21/node_modules/@types/node/web-globals/abortcontroller.d.ts","../../../node_modules/.pnpm/@types+node@22.19.21/node_modules/@types/node/web-globals/domexception.d.ts","../../../node_modules/.pnpm/@types+node@22.19.21/node_modules/@types/node/web-globals/events.d.ts","../../../node_modules/.pnpm/buffer@5.6.0/node_modules/buffer/index.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/header.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/readable.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/file.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/fetch.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/formdata.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/connector.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/client.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/errors.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/dispatcher.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/global-dispatcher.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/global-origin.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/pool-stats.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/pool.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/handlers.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/balanced-pool.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-interceptor.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-client.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-pool.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-errors.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/proxy-agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/env-http-proxy-agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/retry-handler.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/retry-agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/api.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/interceptors.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/util.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/cookies.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/patch.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/websocket.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/eventsource.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/filereader.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/diagnostics-channel.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/content-type.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/cache.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/index.d.ts","../../../node_modules/.pnpm/@types+node@22.19.21/node_modules/@types/node/web-globals/fetch.d.ts","../../../node_modules/.pnpm/@types+node@22.19.21/node_modules/@types/node/web-globals/navigator.d.ts","../../../node_modules/.pnpm/@types+node@22.19.21/node_modules/@types/node/web-globals/storage.d.ts","../../../node_modules/.pnpm/@types+node@22.19.21/node_modules/@types/node/assert.d.ts","../../../node_modules/.pnpm/@types+node@22.19.21/node_modules/@types/node/assert/strict.d.ts","../../../node_modules/.pnpm/@types+node@22.19.21/node_modules/@types/node/async_hooks.d.ts","../../../node_modules/.pnpm/@types+node@22.19.21/node_modules/@types/node/buffer.d.ts","../../../node_modules/.pnpm/@types+node@22.19.21/node_modules/@types/node/child_process.d.ts","../../../node_modules/.pnpm/@types+node@22.19.21/node_modules/@types/node/cluster.d.ts","../../../node_modules/.pnpm/@types+node@22.19.21/node_modules/@types/node/console.d.ts","../../../node_modules/.pnpm/@types+node@22.19.21/node_modules/@types/node/constants.d.ts","../../../node_modules/.pnpm/@types+node@22.19.21/node_modules/@types/node/crypto.d.ts","../../../node_modules/.pnpm/@types+node@22.19.21/node_modules/@types/node/dgram.d.ts","../../../node_modules/.pnpm/@types+node@22.19.21/node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/.pnpm/@types+node@22.19.21/node_modules/@types/node/dns.d.ts","../../../node_modules/.pnpm/@types+node@22.19.21/node_modules/@types/node/dns/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.19.21/node_modules/@types/node/domain.d.ts","../../../node_modules/.pnpm/@types+node@22.19.21/node_modules/@types/node/events.d.ts","../../../node_modules/.pnpm/@types+node@22.19.21/node_modules/@types/node/fs.d.ts","../../../node_modules/.pnpm/@types+node@22.19.21/node_modules/@types/node/fs/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.19.21/node_modules/@types/node/http.d.ts","../../../node_modules/.pnpm/@types+node@22.19.21/node_modules/@types/node/http2.d.ts","../../../node_modules/.pnpm/@types+node@22.19.21/node_modules/@types/node/https.d.ts","../../../node_modules/.pnpm/@types+node@22.19.21/node_modules/@types/node/inspector.d.ts","../../../node_modules/.pnpm/@types+node@22.19.21/node_modules/@types/node/inspector.generated.d.ts","../../../node_modules/.pnpm/@types+node@22.19.21/node_modules/@types/node/module.d.ts","../../../node_modules/.pnpm/@types+node@22.19.21/node_modules/@types/node/net.d.ts","../../../node_modules/.pnpm/@types+node@22.19.21/node_modules/@types/node/os.d.ts","../../../node_modules/.pnpm/@types+node@22.19.21/node_modules/@types/node/path.d.ts","../../../node_modules/.pnpm/@types+node@22.19.21/node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/.pnpm/@types+node@22.19.21/node_modules/@types/node/process.d.ts","../../../node_modules/.pnpm/@types+node@22.19.21/node_modules/@types/node/punycode.d.ts","../../../node_modules/.pnpm/@types+node@22.19.21/node_modules/@types/node/querystring.d.ts","../../../node_modules/.pnpm/@types+node@22.19.21/node_modules/@types/node/readline.d.ts","../../../node_modules/.pnpm/@types+node@22.19.21/node_modules/@types/node/readline/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.19.21/node_modules/@types/node/repl.d.ts","../../../node_modules/.pnpm/@types+node@22.19.21/node_modules/@types/node/sea.d.ts","../../../node_modules/.pnpm/@types+node@22.19.21/node_modules/@types/node/sqlite.d.ts","../../../node_modules/.pnpm/@types+node@22.19.21/node_modules/@types/node/stream.d.ts","../../../node_modules/.pnpm/@types+node@22.19.21/node_modules/@types/node/stream/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.19.21/node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/.pnpm/@types+node@22.19.21/node_modules/@types/node/stream/web.d.ts","../../../node_modules/.pnpm/@types+node@22.19.21/node_modules/@types/node/string_decoder.d.ts","../../../node_modules/.pnpm/@types+node@22.19.21/node_modules/@types/node/test.d.ts","../../../node_modules/.pnpm/@types+node@22.19.21/node_modules/@types/node/timers.d.ts","../../../node_modules/.pnpm/@types+node@22.19.21/node_modules/@types/node/timers/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.19.21/node_modules/@types/node/tls.d.ts","../../../node_modules/.pnpm/@types+node@22.19.21/node_modules/@types/node/trace_events.d.ts","../../../node_modules/.pnpm/@types+node@22.19.21/node_modules/@types/node/tty.d.ts","../../../node_modules/.pnpm/@types+node@22.19.21/node_modules/@types/node/url.d.ts","../../../node_modules/.pnpm/@types+node@22.19.21/node_modules/@types/node/util.d.ts","../../../node_modules/.pnpm/@types+node@22.19.21/node_modules/@types/node/v8.d.ts","../../../node_modules/.pnpm/@types+node@22.19.21/node_modules/@types/node/vm.d.ts","../../../node_modules/.pnpm/@types+node@22.19.21/node_modules/@types/node/wasi.d.ts","../../../node_modules/.pnpm/@types+node@22.19.21/node_modules/@types/node/worker_threads.d.ts","../../../node_modules/.pnpm/@types+node@22.19.21/node_modules/@types/node/zlib.d.ts","../../../node_modules/.pnpm/@types+node@22.19.21/node_modules/@types/node/index.d.ts","../../../node_modules/.pnpm/@types+nodemailer@6.4.24/node_modules/@types/nodemailer/lib/dkim/index.d.ts","../../../node_modules/.pnpm/@types+nodemailer@6.4.24/node_modules/@types/nodemailer/lib/mailer/mail-message.d.ts","../../../node_modules/.pnpm/@types+nodemailer@6.4.24/node_modules/@types/nodemailer/lib/xoauth2/index.d.ts","../../../node_modules/.pnpm/@types+nodemailer@6.4.24/node_modules/@types/nodemailer/lib/mailer/index.d.ts","../../../node_modules/.pnpm/@types+nodemailer@6.4.24/node_modules/@types/nodemailer/lib/mime-node/index.d.ts","../../../node_modules/.pnpm/@types+nodemailer@6.4.24/node_modules/@types/nodemailer/lib/smtp-connection/index.d.ts","../../../node_modules/.pnpm/@types+nodemailer@6.4.24/node_modules/@types/nodemailer/lib/shared/index.d.ts","../../../node_modules/.pnpm/@types+nodemailer@6.4.24/node_modules/@types/nodemailer/lib/json-transport/index.d.ts","../../../node_modules/.pnpm/@types+nodemailer@6.4.24/node_modules/@types/nodemailer/lib/sendmail-transport/index.d.ts","../../../node_modules/.pnpm/@types+nodemailer@6.4.24/node_modules/@types/nodemailer/lib/ses-transport/index.d.ts","../../../node_modules/.pnpm/@types+nodemailer@6.4.24/node_modules/@types/nodemailer/lib/smtp-pool/index.d.ts","../../../node_modules/.pnpm/@types+nodemailer@6.4.24/node_modules/@types/nodemailer/lib/smtp-transport/index.d.ts","../../../node_modules/.pnpm/@types+nodemailer@6.4.24/node_modules/@types/nodemailer/lib/stream-transport/index.d.ts","../../../node_modules/.pnpm/@types+nodemailer@6.4.24/node_modules/@types/nodemailer/index.d.ts","../src/adapters/nodemailer.ts","../../../node_modules/.pnpm/@types+react@19.2.17/node_modules/@types/react/global.d.ts","../../../node_modules/.pnpm/csstype@3.2.3/node_modules/csstype/index.d.ts","../../../node_modules/.pnpm/@types+react@19.2.17/node_modules/@types/react/index.d.ts","../../../node_modules/.pnpm/resend@4.8.0_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/resend/dist/index.d.ts","../src/adapters/resend.ts","../src/adapters/zeptomail.ts","../src/index.ts","../src/templates/deploymentbuildfailed.ts","../src/templates/deploymentfailed.ts","../src/templates/deploymentrunning.ts","../src/templates/emailverification.ts","../src/templates/passwordreset.ts","../src/templates/teaminvite.ts","../src/templates/instance.ts","../src/templates/sslfailed.ts","../src/templates/index.ts","../src/types/zeptomail.d.ts","../../../node_modules/.pnpm/@types+connect@3.4.38/node_modules/@types/connect/index.d.ts","../../../node_modules/.pnpm/@types+body-parser@1.19.6/node_modules/@types/body-parser/index.d.ts","../../../node_modules/.pnpm/@types+cookiejar@2.1.5/node_modules/@types/cookiejar/index.d.ts","../../../node_modules/.pnpm/@types+cors@2.8.19/node_modules/@types/cors/index.d.ts","../../../node_modules/.pnpm/@types+ms@2.1.0/node_modules/@types/ms/index.d.ts","../../../node_modules/.pnpm/@types+debug@4.1.13/node_modules/@types/debug/index.d.ts","../../../node_modules/.pnpm/@types+estree@1.0.9/node_modules/@types/estree/index.d.ts","../../../node_modules/.pnpm/@types+estree-jsx@1.0.5/node_modules/@types/estree-jsx/index.d.ts","../../../node_modules/.pnpm/@types+send@1.2.1/node_modules/@types/send/index.d.ts","../../../node_modules/.pnpm/@types+qs@6.15.1/node_modules/@types/qs/index.d.ts","../../../node_modules/.pnpm/@types+range-parser@1.2.7/node_modules/@types/range-parser/index.d.ts","../../../node_modules/.pnpm/@types+express-serve-static-core@5.1.1/node_modules/@types/express-serve-static-core/index.d.ts","../../../node_modules/.pnpm/@types+http-errors@2.0.5/node_modules/@types/http-errors/index.d.ts","../../../node_modules/.pnpm/@types+serve-static@2.2.0/node_modules/@types/serve-static/index.d.ts","../../../node_modules/.pnpm/@types+express@5.0.6/node_modules/@types/express/index.d.ts","../../../node_modules/.pnpm/@types+express-http-proxy@1.6.7/node_modules/@types/express-http-proxy/index.d.ts","../../../node_modules/.pnpm/@types+unist@3.0.3/node_modules/@types/unist/index.d.ts","../../../node_modules/.pnpm/@types+hast@3.0.4/node_modules/@types/hast/index.d.ts","../../../node_modules/.pnpm/@types+json-schema@7.0.15/node_modules/@types/json-schema/index.d.ts","../../../node_modules/.pnpm/@types+json5@0.0.29/node_modules/@types/json5/index.d.ts","../../../node_modules/.pnpm/@types+lodash@4.17.24/node_modules/@types/lodash/common/common.d.ts","../../../node_modules/.pnpm/@types+lodash@4.17.24/node_modules/@types/lodash/common/array.d.ts","../../../node_modules/.pnpm/@types+lodash@4.17.24/node_modules/@types/lodash/common/collection.d.ts","../../../node_modules/.pnpm/@types+lodash@4.17.24/node_modules/@types/lodash/common/date.d.ts","../../../node_modules/.pnpm/@types+lodash@4.17.24/node_modules/@types/lodash/common/function.d.ts","../../../node_modules/.pnpm/@types+lodash@4.17.24/node_modules/@types/lodash/common/lang.d.ts","../../../node_modules/.pnpm/@types+lodash@4.17.24/node_modules/@types/lodash/common/math.d.ts","../../../node_modules/.pnpm/@types+lodash@4.17.24/node_modules/@types/lodash/common/number.d.ts","../../../node_modules/.pnpm/@types+lodash@4.17.24/node_modules/@types/lodash/common/object.d.ts","../../../node_modules/.pnpm/@types+lodash@4.17.24/node_modules/@types/lodash/common/seq.d.ts","../../../node_modules/.pnpm/@types+lodash@4.17.24/node_modules/@types/lodash/common/string.d.ts","../../../node_modules/.pnpm/@types+lodash@4.17.24/node_modules/@types/lodash/common/util.d.ts","../../../node_modules/.pnpm/@types+lodash@4.17.24/node_modules/@types/lodash/index.d.ts","../../../node_modules/.pnpm/@types+mdast@4.0.4/node_modules/@types/mdast/index.d.ts","../../../node_modules/.pnpm/@types+methods@1.1.4/node_modules/@types/methods/index.d.ts","../../../node_modules/.pnpm/@types+minimist@1.2.5/node_modules/@types/minimist/index.d.ts","../../../node_modules/.pnpm/@types+normalize-package-data@2.4.4/node_modules/@types/normalize-package-data/index.d.ts","../../../node_modules/.pnpm/@types+react-dom@19.2.3_@types+react@19.2.17/node_modules/@types/react-dom/index.d.ts","../../../node_modules/.pnpm/@types+retry@0.12.0/node_modules/@types/retry/index.d.ts","../../../node_modules/.pnpm/@types+superagent@8.1.10/node_modules/@types/superagent/lib/agent-base.d.ts","../../../node_modules/.pnpm/@types+superagent@8.1.10/node_modules/@types/superagent/lib/node/response.d.ts","../../../node_modules/.pnpm/@types+superagent@8.1.10/node_modules/@types/superagent/types.d.ts","../../../node_modules/.pnpm/@types+superagent@8.1.10/node_modules/@types/superagent/lib/node/agent.d.ts","../../../node_modules/.pnpm/@types+superagent@8.1.10/node_modules/@types/superagent/lib/request-base.d.ts","../../../node_modules/.pnpm/form-data@4.0.6/node_modules/form-data/index.d.ts","../../../node_modules/.pnpm/@types+superagent@8.1.10/node_modules/@types/superagent/lib/node/http2wrapper.d.ts","../../../node_modules/.pnpm/@types+superagent@8.1.10/node_modules/@types/superagent/lib/node/index.d.ts","../../../node_modules/.pnpm/@types+superagent@8.1.10/node_modules/@types/superagent/index.d.ts","../../../node_modules/.pnpm/@types+supertest@6.0.3/node_modules/@types/supertest/types.d.ts","../../../node_modules/.pnpm/@types+supertest@6.0.3/node_modules/@types/supertest/lib/agent.d.ts","../../../node_modules/.pnpm/@types+supertest@6.0.3/node_modules/@types/supertest/lib/test.d.ts","../../../node_modules/.pnpm/@types+supertest@6.0.3/node_modules/@types/supertest/index.d.ts","../../../node_modules/.pnpm/@types+trusted-types@2.0.7/node_modules/@types/trusted-types/lib/index.d.ts","../../../node_modules/.pnpm/@types+trusted-types@2.0.7/node_modules/@types/trusted-types/index.d.ts","../../../node_modules/.pnpm/@types+validate-npm-package-name@4.0.2/node_modules/@types/validate-npm-package-name/index.d.ts","../../../node_modules/.pnpm/@types+webidl-conversions@7.0.3/node_modules/@types/webidl-conversions/index.d.ts","../../../node_modules/.pnpm/@types+whatwg-url@13.0.0/node_modules/@types/whatwg-url/index.d.ts","../../../node_modules/.pnpm/@types+ws@8.18.1/node_modules/@types/ws/index.d.ts"],"fileIdsList":[[66,115,129,132,133,165,198],[66,115,129,132,133,165],[66,115,132,133],[66,115,132,133,202],[66,115,132,133,204,205],[66,115,129,132,133,212],[66,115,126,129,132,133,165,206,207,208],[66,115,132,133,199,209,211],[66,115,132,133,214],[66,115,132,133,218,220,221,222,223,224,225,226,227,228,229,230],[66,115,132,133,218,219,221,222,223,224,225,226,227,228,229,230],[66,115,132,133,219,220,221,222,223,224,225,226,227,228,229,230],[66,115,132,133,218,219,220,222,223,224,225,226,227,228,229,230],[66,115,132,133,218,219,220,221,223,224,225,226,227,228,229,230],[66,115,132,133,218,219,220,221,222,224,225,226,227,228,229,230],[66,115,132,133,218,219,220,221,222,223,225,226,227,228,229,230],[66,115,132,133,218,219,220,221,222,223,224,226,227,228,229,230],[66,115,132,133,218,219,220,221,222,223,224,225,227,228,229,230],[66,115,132,133,218,219,220,221,222,223,224,225,226,228,229,230],[66,115,132,133,218,219,220,221,222,223,224,225,226,227,229,230],[66,115,132,133,218,219,220,221,222,223,224,225,226,227,228,230],[66,115,132,133,218,219,220,221,222,223,224,225,226,227,228,229],[66,112,113,115,132,133],[66,114,115,132,133],[115,132,133],[66,115,120,132,133,150],[66,115,116,121,126,132,133,135,147,158],[66,115,116,117,126,132,133,135],[61,62,63,66,115,132,133],[66,115,118,132,133,159],[66,115,119,120,127,132,133,136],[66,115,120,132,133,147,155],[66,115,121,123,126,132,133,135],[66,114,115,122,132,133],[66,115,123,124,132,133],[66,115,125,126,132,133],[66,114,115,126,132,133],[66,115,126,127,128,132,133,147,158],[66,115,126,127,128,132,133,142,147,150],[66,108,115,123,126,129,132,133,135,147,158],[66,115,126,127,129,130,132,133,135,147,155,158],[66,115,129,131,132,133,147,155,158],[64,65,66,67,68,69,70,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164],[66,115,126,132,133],[66,115,132,133,134,158],[66,115,123,126,132,133,135,147],[66,115,132,133,136],[66,115,132,133,137],[66,114,115,132,133,138],[66,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164],[66,115,132,133,140],[66,115,132,133,141],[66,115,126,132,133,142,143],[66,115,132,133,142,144,159,161],[66,115,127,132,133],[66,115,126,132,133,147,148,150],[66,115,132,133,149,150],[66,115,132,133,147,148],[66,115,132,133,150],[66,115,132,133,151],[66,112,115,132,133,147,152,158],[66,115,126,132,133,153,154],[66,115,132,133,153,154],[66,115,120,132,133,135,147,155],[66,115,132,133,156],[66,115,132,133,135,157],[66,115,129,132,133,141,158],[66,115,120,132,133,159],[66,115,132,133,147,160],[66,115,132,133,134,161],[66,115,132,133,162],[66,108,115,132,133],[66,108,115,126,128,132,133,138,147,150,158,160,161,163],[66,115,132,133,147,164],[66,115,132,133,165,167,169,173,174,175,176,177,178],[66,115,132,133,147,165],[66,115,126,132,133,165,167,169,170,172,179],[66,115,126,132,133,135,147,158,165,166,167,168,170,171,172,179],[66,115,132,133,147,165,169,170],[66,115,132,133,147,165,169],[66,115,132,133,165,167,169,170,172,179],[66,115,132,133,147,165,171],[66,115,126,132,133,135,147,155,165,168,170,172],[66,115,126,132,133,165,167,169,170,171,172,179],[66,115,126,132,133,147,165,167,168,169,170,171,172,179],[66,115,126,132,133,147,165,167,169,170,172,179],[66,115,129,132,133,147,165,172],[66,115,132,133,183],[66,115,132,133,181,182],[66,115,127,132,133,147,165],[66,115,129,132,133,165,210],[66,115,132,133,244],[66,115,132,133,200,232,237,239,245],[66,115,130,132,133,135,147,155,165],[66,115,127,129,130,131,132,133,135,147,232,238,239,240,241,242,243],[66,115,129,132,133,147,244],[66,115,127,132,133,238,239],[66,115,132,133,158,238],[66,115,132,133,245,246,247,248],[66,115,132,133,245,246,249],[66,115,132,133,245,246],[66,115,129,130,132,133,135,232,245],[66,115,132,133,250],[66,115,126,129,131,132,133,135,147,155,158,164,165],[66,115,129,132,133,147,165],[66,80,84,115,132,133,158],[66,80,115,132,133,147,158],[66,75,115,132,133],[66,77,80,115,132,133,155,158],[66,115,132,133,135,155],[66,115,132,133,165],[66,75,115,132,133,165],[66,77,80,115,132,133,135,158],[66,72,73,76,79,115,126,132,133,147,158],[66,80,87,115,132,133],[66,72,78,115,132,133],[66,80,101,102,115,132,133],[66,76,80,115,132,133,150,158,165],[66,101,115,132,133,165],[66,74,75,115,132,133,165],[66,80,115,132,133],[66,74,75,76,77,78,79,80,81,82,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,102,103,104,105,106,107,115,132,133],[66,80,95,115,132,133],[66,80,87,88,115,132,133],[66,78,80,88,89,115,132,133],[66,79,115,132,133],[66,72,75,80,115,132,133],[66,80,84,88,89,115,132,133],[66,84,115,132,133],[66,78,80,83,115,132,133,158],[66,72,77,80,87,115,132,133],[66,115,132,133,147],[66,75,80,101,115,132,133,163,165],[58,66,115,132,133,179],[58,66,115,132,133,184],[58,66,115,132,133,197],[58,60,66,115,132,133,180,185,186],[59,66,115,132,133],[59,60,66,115,132,133,188,189,190,191,192,193,194,195]],"fileInfos":[{"version":"c430d44666289dae81f30fa7b2edebf186ecc91a2d4c71266ea6ae76388792e1","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"ee7bad0c15b58988daa84371e0b89d313b762ab83cb5b31b8a2d1162e8eb41c2","impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fb0f136d372979348d59b3f5020b4cdb81b5504192b1cacff5d1fbba29378aa1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"a680117f487a4d2f30ea46f1b4b7f58bef1480456e18ba53ee85c2746eeca012","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"959d36cddf5e7d572a65045b876f2956c973a586da58e5d26cde519184fd9b8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"965f36eae237dd74e6cca203a43e9ca801ce38824ead814728a2807b1910117d","affectsGlobalScope":true,"impliedFormat":1},{"version":"3925a6c820dcb1a06506c90b1577db1fdbf7705d65b62b99dce4be75c637e26b","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a3d63ef2b853447ec4f749d3f368ce642264246e02911fcb1590d8c161b8005","affectsGlobalScope":true,"impliedFormat":1},{"version":"8cdf8847677ac7d20486e54dd3fcf09eda95812ac8ace44b4418da1bbbab6eb8","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"358d25fde748f21a516ac28ec6a63d59a7d7aa21d541ab197376174d05aa9169","signature":"31c8c55c0e05f81ed5e86e0700648a68eea887f935e5e05b9f75af03d5c216e1","impliedFormat":99},{"version":"f2a2df9f93aac128ae4497e1606e6223e0f351272e464c213bd8d1746dff62d2","signature":"8a01c279f195ef9bb730ffe4745d14f012f7657ddb1cb7a4b0ac4b264c7f7590","impliedFormat":99},{"version":"068b4d9a29b6b7e8784a4d785e1e1e991123a386fdaa168ab13ba61d1974891a","signature":"1b55ab20b6b4745b66e608e58adde1f96c2559f1dbad9f29d263d350f3f4b9bd","impliedFormat":99},{"version":"6c7176368037af28cb72f2392010fa1cef295d6d6744bca8cfb54985f3a18c3e","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab41ef1f2cdafb8df48be20cd969d875602483859dc194e9c97c8a576892c052","affectsGlobalScope":true,"impliedFormat":1},{"version":"437e20f2ba32abaeb7985e0afe0002de1917bc74e949ba585e49feba65da6ca1","affectsGlobalScope":true,"impliedFormat":1},{"version":"21d819c173c0cf7cc3ce57c3276e77fd9a8a01d35a06ad87158781515c9a438a","impliedFormat":1},{"version":"98cffbf06d6bab333473c70a893770dbe990783904002c4f1a960447b4b53dca","affectsGlobalScope":true,"impliedFormat":1},{"version":"3af97acf03cc97de58a3a4bc91f8f616408099bc4233f6d0852e72a8ffb91ac9","affectsGlobalScope":true,"impliedFormat":1},{"version":"808069bba06b6768b62fd22429b53362e7af342da4a236ed2d2e1c89fcca3b4a","affectsGlobalScope":true,"impliedFormat":1},{"version":"1db0b7dca579049ca4193d034d835f6bfe73096c73663e5ef9a0b5779939f3d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"9798340ffb0d067d69b1ae5b32faa17ab31b82466a3fc00d8f2f2df0c8554aaa","affectsGlobalScope":true,"impliedFormat":1},{"version":"f26b11d8d8e4b8028f1c7d618b22274c892e4b0ef5b3678a8ccbad85419aef43","affectsGlobalScope":true,"impliedFormat":1},{"version":"ef18cbf1d8374576e3db03ff33c2c7499845972eb0c4adf87392949709c5e160","impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"763fe0f42b3d79b440a9b6e51e9ba3f3f91352469c1e4b3b67bfa4ff6352f3f4","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"c464d66b20788266e5353b48dc4aa6bc0dc4a707276df1e7152ab0c9ae21fad8","impliedFormat":1},{"version":"78d0d27c130d35c60b5e5566c9f1e5be77caf39804636bc1a40133919a949f21","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","impliedFormat":1},{"version":"5ded6427296cdf3b9542de4471d2aa8d3983671d4cac0f4bf9c637208d1ced43","impliedFormat":1},{"version":"7f182617db458e98fc18dfb272d40aa2fff3a353c44a89b2c0ccb3937709bfb5","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","impliedFormat":1},{"version":"11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","impliedFormat":1},{"version":"ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"c21dc52e277bcfc75fac0436ccb75c204f9e1b3fa5e12729670910639f27343e","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","impliedFormat":1},{"version":"24c6a117721e606c9984335f71711877293a9651e44f59f3d21c1ea0856f9cc9","impliedFormat":1},{"version":"dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","impliedFormat":1},{"version":"405822be75ad3e4d162e07439bac80c6bcc6dbae1929e179cf467ec0b9ee4e2e","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"e61be3f894b41b7baa1fbd6a66893f2579bfad01d208b4ff61daef21493ef0a8","impliedFormat":1},{"version":"bd0532fd6556073727d28da0edfd1736417a3f9f394877b6d5ef6ad88fba1d1a","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"615ba88d0128ed16bf83ef8ccbb6aff05c3ee2db1cc0f89ab50a4939bfc1943f","impliedFormat":1},{"version":"a4d551dbf8746780194d550c88f26cf937caf8d56f102969a110cfaed4b06656","impliedFormat":1},{"version":"8bd86b8e8f6a6aa6c49b71e14c4ffe1211a0e97c80f08d2c8cc98838006e4b88","impliedFormat":1},{"version":"317e63deeb21ac07f3992f5b50cdca8338f10acd4fbb7257ebf56735bf52ab00","impliedFormat":1},{"version":"4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"bf67d53d168abc1298888693338cb82854bdb2e69ef83f8a0092093c2d562107","impliedFormat":1},{"version":"b52476feb4a0cbcb25e5931b930fc73cb6643fb1a5060bf8a3dda0eeae5b4b68","affectsGlobalScope":true,"impliedFormat":1},{"version":"f9501cc13ce624c72b61f12b3963e84fad210fbdf0ffbc4590e08460a3f04eba","affectsGlobalScope":true,"impliedFormat":1},{"version":"e7721c4f69f93c91360c26a0a84ee885997d748237ef78ef665b153e622b36c1","affectsGlobalScope":true,"impliedFormat":1},{"version":"0fa06ada475b910e2106c98c68b10483dc8811d0c14a8a8dd36efb2672485b29","impliedFormat":1},{"version":"33e5e9aba62c3193d10d1d33ae1fa75c46a1171cf76fef750777377d53b0303f","impliedFormat":1},{"version":"2b06b93fd01bcd49d1a6bd1f9b65ddcae6480b9a86e9061634d6f8e354c1468f","impliedFormat":1},{"version":"6a0cd27e5dc2cfbe039e731cf879d12b0e2dded06d1b1dedad07f7712de0d7f4","affectsGlobalScope":true,"impliedFormat":1},{"version":"13f5c844119c43e51ce777c509267f14d6aaf31eafb2c2b002ca35584cd13b29","impliedFormat":1},{"version":"e60477649d6ad21542bd2dc7e3d9ff6853d0797ba9f689ba2f6653818999c264","impliedFormat":1},{"version":"c2510f124c0293ab80b1777c44d80f812b75612f297b9857406468c0f4dafe29","affectsGlobalScope":true,"impliedFormat":1},{"version":"5524481e56c48ff486f42926778c0a3cce1cc85dc46683b92b1271865bcf015a","impliedFormat":1},{"version":"4c829ab315f57c5442c6667b53769975acbf92003a66aef19bce151987675bd1","affectsGlobalScope":true,"impliedFormat":1},{"version":"b2ade7657e2db96d18315694789eff2ddd3d8aea7215b181f8a0b303277cc579","impliedFormat":1},{"version":"9855e02d837744303391e5623a531734443a5f8e6e8755e018c41d63ad797db2","impliedFormat":1},{"version":"4d631b81fa2f07a0e63a9a143d6a82c25c5f051298651a9b69176ba28930756d","impliedFormat":1},{"version":"836a356aae992ff3c28a0212e3eabcb76dd4b0cc06bcb9607aeef560661b860d","impliedFormat":1},{"version":"1e0d1f8b0adfa0b0330e028c7941b5a98c08b600efe7f14d2d2a00854fb2f393","impliedFormat":1},{"version":"41670ee38943d9cbb4924e436f56fc19ee94232bc96108562de1a734af20dc2c","affectsGlobalScope":true,"impliedFormat":1},{"version":"c906fb15bd2aabc9ed1e3f44eb6a8661199d6c320b3aa196b826121552cb3695","impliedFormat":1},{"version":"22295e8103f1d6d8ea4b5d6211e43421fe4564e34d0dd8e09e520e452d89e659","impliedFormat":1},{"version":"58647d85d0f722a1ce9de50955df60a7489f0593bf1a7015521efe901c06d770","impliedFormat":1},{"version":"9018e9493596e2d041fc531f5101a0d05f9d2e1311f4ae3c74345b1766158c08","impliedFormat":1},{"version":"a10f0e1854f3316d7ee437b79649e5a6ae3ae14ffe6322b02d4987071a95362e","impliedFormat":1},{"version":"e208f73ef6a980104304b0d2ca5f6bf1b85de6009d2c7e404028b875020fa8f2","impliedFormat":1},{"version":"d163b6bc2372b4f07260747cbc6c0a6405ab3fbcea3852305e98ac43ca59f5bc","impliedFormat":1},{"version":"e6fa9ad47c5f71ff733744a029d1dc472c618de53804eae08ffc243b936f87ff","affectsGlobalScope":true,"impliedFormat":1},{"version":"a6f137d651076822d4fe884287e68fd61785a0d3d1fdb250a5059b691fa897db","impliedFormat":1},{"version":"24826ed94a78d5c64bd857570fdbd96229ad41b5cb654c08d75a9845e3ab7dde","impliedFormat":1},{"version":"8b479a130ccb62e98f11f136d3ac80f2984fdc07616516d29881f3061f2dd472","impliedFormat":1},{"version":"928af3d90454bf656a52a48679f199f64c1435247d6189d1caf4c68f2eaf921f","affectsGlobalScope":true,"impliedFormat":1},{"version":"bceb58df66ab8fb00170df20cd813978c5ab84be1d285710c4eb005d8e9d8efb","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f16a7e4deafa527ed9995a772bb380eb7d3c2c0fd4ae178c5263ed18394db2c","impliedFormat":1},{"version":"933921f0bb0ec12ef45d1062a1fc0f27635318f4d294e4d99de9a5493e618ca2","impliedFormat":1},{"version":"71a0f3ad612c123b57239a7749770017ecfe6b66411488000aba83e4546fde25","impliedFormat":1},{"version":"77fbe5eecb6fac4b6242bbf6eebfc43e98ce5ccba8fa44e0ef6a95c945ff4d98","impliedFormat":1},{"version":"4f9d8ca0c417b67b69eeb54c7ca1bedd7b56034bb9bfd27c5d4f3bc4692daca7","impliedFormat":1},{"version":"814118df420c4e38fe5ae1b9a3bafb6e9c2aa40838e528cde908381867be6466","impliedFormat":1},{"version":"a3fc63c0d7b031693f665f5494412ba4b551fe644ededccc0ab5922401079c95","impliedFormat":1},{"version":"80523c00b8544a2000ae0143e4a90a00b47f99823eb7926c1e03c494216fc363","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"45650f47bfb376c8a8ed39d4bcda5902ab899a3150029684ee4c10676d9fbaee","impliedFormat":1},{"version":"746911b62b329587939560deb5c036aca48aece03147b021fa680223255d5183","affectsGlobalScope":true,"impliedFormat":1},{"version":"18fd40412d102c5564136f29735e5d1c3b455b8a37f920da79561f1fde068208","impliedFormat":1},{"version":"c8d3e5a18ba35629954e48c4cc8f11dc88224650067a172685c736b27a34a4dc","impliedFormat":1},{"version":"f0be1b8078cd549d91f37c30c222c2a187ac1cf981d994fb476a1adc61387b14","affectsGlobalScope":true,"impliedFormat":1},{"version":"0aaed1d72199b01234152f7a60046bc947f1f37d78d182e9ae09c4289e06a592","impliedFormat":1},{"version":"2b55d426ff2b9087485e52ac4bc7cfafe1dc420fc76dad926cd46526567c501a","impliedFormat":1},{"version":"66ba1b2c3e3a3644a1011cd530fb444a96b1b2dfe2f5e837a002d41a1a799e60","impliedFormat":1},{"version":"7e514f5b852fdbc166b539fdd1f4e9114f29911592a5eb10a94bb3a13ccac3c4","impliedFormat":1},{"version":"5b7aa3c4c1a5d81b411e8cb302b45507fea9358d3569196b27eb1a27ae3a90ef","affectsGlobalScope":true,"impliedFormat":1},{"version":"5987a903da92c7462e0b35704ce7da94d7fdc4b89a984871c0e2b87a8aae9e69","affectsGlobalScope":true,"impliedFormat":1},{"version":"ea08a0345023ade2b47fbff5a76d0d0ed8bff10bc9d22b83f40858a8e941501c","impliedFormat":1},{"version":"47613031a5a31510831304405af561b0ffaedb734437c595256bb61a90f9311b","impliedFormat":1},{"version":"ae062ce7d9510060c5d7e7952ae379224fb3f8f2dd74e88959878af2057c143b","impliedFormat":1},{"version":"8a1a0d0a4a06a8d278947fcb66bf684f117bf147f89b06e50662d79a53be3e9f","affectsGlobalScope":true,"impliedFormat":1},{"version":"358765d5ea8afd285d4fd1532e78b88273f18cb3f87403a9b16fef61ac9fdcfe","impliedFormat":1},{"version":"9f55299850d4f0921e79b6bf344b47c420ce0f507b9dcf593e532b09ea7eeea1","impliedFormat":1},{"version":"6825eb4d1c8beb77e9ed6681c830326a15ebf52b171f83ffbca1b1574c90a3b0","impliedFormat":1},{"version":"1741975791f9be7f803a826457273094096e8bba7a50f8fa960d5ed2328cdbcc","impliedFormat":1},{"version":"6ec0d1c15d14d63d08ccb10d09d839bf8a724f6b4b9ed134a3ab5042c54a7721","impliedFormat":1},{"version":"1a7ef36e015291ad5d04a7da46a1ac84b1bbbdaea7045a8897337da3b9790d39","impliedFormat":1},{"version":"b61028c5e29a0691e91a03fa2c4501ea7ed27f8fa536286dc2887a39a38b6c44","impliedFormat":1},{"version":"a4bf154e0f9d56112713c3a7d2d60c85d667cae17e69f7869a32578881b652a8","impliedFormat":1},{"version":"d5f65e3a5277cbd0b2c89da26703c5879cc428da7ca816d1d1fcdfd7c0a2500e","impliedFormat":1},{"version":"c784a9f75a6f27cf8c43cc9a12c66d68d3beb2e7376e1babfae5ae4998ffbc4a","impliedFormat":1},{"version":"feb4c51948d875fdbbaa402dad77ee40cf1752b179574094b613d8ad98921ce1","impliedFormat":1},{"version":"317b7ae63ce71d55154f5e410e0213ddfb07b6fd5251f8999783d1283ec5ed19","impliedFormat":1},{"version":"b457d606cabde6ea3b0bc32c23dc0de1c84bb5cb06d9e101f7076440fc244727","impliedFormat":1},{"version":"859cf43771b68e589bb12c6e5cde3edcde4b530c7d324f455af2b9e61d4f4768","impliedFormat":1},{"version":"9faa2661daa32d2369ec31e583df91fd556f74bcbd036dab54184303dee4f311","impliedFormat":1},{"version":"ba2e5b6da441b8cf9baddc30520c59dc3ab47ad3674f6cb51f64e7e1f662df12","impliedFormat":1},{"version":"f36193041b043dd89edc164afb5a86c7cedc7839a4bc27d831b85bea1615a079","signature":"90ca7dd7bc6435e4b219133fa27e7ded0d51d7fc67b6f2452c6fcd139b13b9c7","impliedFormat":99},{"version":"7e29f41b158de217f94cb9676bf9cbd0cd9b5a46e1985141ed36e075c52bf6ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac51dd7d31333793807a6abaa5ae168512b6131bd41d9c5b98477fc3b7800f9f","impliedFormat":1},{"version":"dc782ff85b2cb10075ecffc158af7bfb27ff97bf8491c917efea0c3d622d5ac4","impliedFormat":1},{"version":"ecc033be13e96f3dace588afe8c34fc195e2fe0dd086bafcfdbf0d1539a2c40a","impliedFormat":1},{"version":"6460101640f1a2daadd6003b769c170b9acf7d1a99dbc38dc44c49f4103d0a79","signature":"6a9a8952a67a1efefd5f0634aab9310de5bcd439fa5dfc4ab5c321b169a528cf","impliedFormat":99},{"version":"f1056bd4f497e4fcabeeb563ec8d2420f9f6ddcfc61ff45c8efb7ea10ec4c6a7","signature":"9f2c2c872e1c699b0f472c7814e272898e38ffcc39456aea43435779bbeef15e","impliedFormat":99},{"version":"86d8c0001cc3a272099a473f9b5e6b39ae18caa76956c4910e3b0ca4e1bfc9fc","signature":"1daf73129feb16e4d454b3ab8e457423068c2dc05146c51c467567dcfcb11175","impliedFormat":99},{"version":"b531c75cf3660c75f3bc1a7b62e341a3aa5c4b77bc7f5bb0a6f0d065cf7d5a8e","signature":"d3290764781931f30d136c7cf92874aa374eda17a332cab0f3681067c8eedbc9","impliedFormat":99},{"version":"deaadfc193e07c85eb634831ec7f50c316f8a80bd568de21ef1845e4f0471375","signature":"0391beb7a14a72f9fe55b8123f51da76fb0e36d830c38c5ddf2ba13c6489ec87","impliedFormat":99},{"version":"e3a830907dc28a037ec5b20c0e8c541981a03c088382b8032005c2a5d80dc32f","signature":"ca6c61dcf04d1b4808393ed3ad73bc02aeb674ce0a09779a502541db661bcd76","impliedFormat":99},{"version":"787f0006a9525d5609bb0da18105eab2f2b7a33201e2dc3c749cfe08a34ec39e","signature":"f69453680c9ee18e68dbb7db42382808b9d3e57cacc78f33aecfc66176888b6e","impliedFormat":99},{"version":"2b09b5c6ddf73c4922a36ac7e8fd7c0c2d6c5c4fd163736f65dc6d159c30ee6b","signature":"17fbc628c68f4c4f1374e812bd958c44715b51abee5bdc9d38d01d34b63e0ba6","impliedFormat":99},{"version":"4dcc111efa5e9813f8bc200166823a69984bb5d56c29c9fb376a932d5bb931cc","signature":"728447686c8665a86f51796a120f19563bae8ae8ec045cb574b5027d91980d6d","impliedFormat":99},{"version":"6200f7822036c6c1fa05f52b3cd47a798b530732fe97c2d5ed75b170eb004277","signature":"807f37736930d06b7de18ad49166923f4e0cd99ae77d551f9635790dd6307c52","impliedFormat":99},{"version":"3dd01fac4b6db49d8c804c039e5842566320c45470d6b6cf7cf3f6fe6a27e2f7","signature":"9b3a76bfe626fde131344b112919478f8e7ff0a9b1c6cde890312eed6b25dd3a","impliedFormat":99},{"version":"30c89d3df4b641774d6c33e4e35ced4af2dc4a9226b74ca9f6045a257faf8188","signature":"cac0a06b5835993c5ff4c33f0ae13c7fc5348ca3dac1cbf565f76805f5839861","impliedFormat":99},{"version":"4f6c64db45571144d6e05871720ec0636dae79cef08f8f431b75e474c8d659bb","impliedFormat":99},{"version":"104c67f0da1bdf0d94865419247e20eded83ce7f9911a1aa75fc675c077ca66e","impliedFormat":1},{"version":"cc0d0b339f31ce0ab3b7a5b714d8e578ce698f1e13d7f8c60bfb766baeb1d35c","impliedFormat":1},{"version":"0dc6940ff35d845686a118ee7384713a84024d60ef26f25a2f87992ec7ddbd64","impliedFormat":1},{"version":"25be1eb939c9c63242c7a45446edb20c40541da967f43f1aa6a00ed53c0552db","impliedFormat":1},{"version":"fb893a0dfc3c9fb0f9ca93d0648694dd95f33cbad2c0f2c629f842981dfd4e2e","impliedFormat":1},{"version":"89e326922cadcc2331d7e851011cf9f0456a681aaf3c95b48b81f8d80e8cdfba","impliedFormat":1},{"version":"751764bb94219b4ce8f5475dc35d3de2e432fea01a0c9610cd7f69ad05e398c6","impliedFormat":1},{"version":"5d08a179b846f5ee674624b349ebebe2121c455e3a265dc93da4e8d9e89722b4","impliedFormat":1},{"version":"d34aa8df2d0b18fb56b1d772ff9b3c7aea7256cf0d692f969be6e1d27b74d660","impliedFormat":1},{"version":"93a3b8e57c68e348fc4054b245bd7cf4893225f56c991028844b693c2fa8c03c","impliedFormat":1},{"version":"2f5747b1508ccf83fad0c251ba1e5da2f5a30b78b09ffa1cfaf633045160afed","impliedFormat":1},{"version":"6823ccc7b5b77bbf898d878dbcad18aa45e0fa96bdd0abd0de98d514845d9ed9","affectsGlobalScope":true,"impliedFormat":1},{"version":"b71c603a539078a5e3a039b20f2b0a0d1708967530cf97dec8850a9ca45baa2b","impliedFormat":1},{"version":"168d88e14e0d81fe170e0dadd38ae9d217476c11435ea640ddb9b7382bdb6c1f","impliedFormat":1},{"version":"8e04cf0688e0d921111659c2b55851957017148fa7b977b02727477d155b3c47","impliedFormat":1},{"version":"4bf9bbaadc1496f9f78c6837bfea6427930c17253623ebefb5d7baf0404e4a92","impliedFormat":1},{"version":"89121c1bf2990f5219bfd802a3e7fc557de447c62058d6af68d6b6348d64499a","impliedFormat":1},{"version":"79b4369233a12c6fa4a07301ecb7085802c98f3a77cf9ab97eee27e1656f82e6","impliedFormat":1},{"version":"f3d8c757e148ad968f0d98697987db363070abada5f503da3c06aefd9d4248c1","impliedFormat":1},{"version":"96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","impliedFormat":1},{"version":"380b919bfa0516118edaf25b99e45f855e7bc3fd75ce4163a1cfe4a666388804","impliedFormat":1},{"version":"40de86ced5175a6ffe84a52abe6ac59ac0efbc604a5975a8c6476c3ddc682ff1","impliedFormat":1},{"version":"fcf79300e5257a23ed3bacaa6861d7c645139c6f7ece134d15e6669447e5e6db","impliedFormat":1},{"version":"187119ff4f9553676a884e296089e131e8cc01691c546273b1d0089c3533ce42","impliedFormat":1},{"version":"aa2c18a1b5a086bbcaae10a4efba409cc95ba7287d8cf8f2591b53704fea3dea","impliedFormat":1},{"version":"5a0b15210129310cee9fa6af9200714bb4b12af4a04d890e15f34dbea1cf1852","impliedFormat":1},{"version":"0244119dbcbcf34faf3ffdae72dab1e9bc2bc9efc3c477b2240ffa94af3bca56","impliedFormat":1},{"version":"00baffbe8a2f2e4875367479489b5d43b5fc1429ecb4a4cc98cfc3009095f52a","impliedFormat":1},{"version":"a873c50d3e47c21aa09fbe1e2023d9a44efb07cc0cb8c72f418bf301b0771fd3","impliedFormat":1},{"version":"7c14ccd2eaa82619fffc1bfa877eb68a012e9fb723d07ee98db451fadb618906","impliedFormat":1},{"version":"49c36529ee09ea9ce19525af5bb84985ea8e782cb7ee8c493d9e36d027a3d019","impliedFormat":1},{"version":"df996e25faa505f85aeb294d15ebe61b399cf1d1e49959cdfaf2cc0815c203f9","impliedFormat":1},{"version":"4f6a12044ee6f458db11964153830abbc499e73d065c51c329ec97407f4b13dd","impliedFormat":1},{"version":"d4a22007b481fe2a2e6bfd3a42c00cd62d41edb36d30fc4697df2692e9891fc8","impliedFormat":1},{"version":"b0f9ef6423d6b29dde29fd60d83d215796b2c1b76bfca28ac374ae18702cfb8e","impliedFormat":1},{"version":"fbca5ffaebf282ec3cdac47b0d1d4a138a8b0bb32105251a38acb235087d3318","impliedFormat":1},{"version":"22293bd6fa12747929f8dfca3ec1684a3fe08638aa18023dd286ab337e88a592","impliedFormat":1},{"version":"be1cc4d94ea60cbe567bc29ed479d42587bf1e6cba490f123d329976b0fe4ee5","impliedFormat":1},{"version":"199f9ead0daf25ae4c5632e3d1f42570af59685294a38123eef457407e13f365","impliedFormat":1},{"version":"e7bb49fac2aa46a13011b5eb5e4a8648f70a28aea1853fab2444dd4fcb4d4ec7","impliedFormat":1},{"version":"464e45d1a56dae066d7e1a2f32e55b8de4bfb072610c3483a4091d73c9924908","impliedFormat":1},{"version":"da318e126ac39362c899829547cc8ee24fa3e8328b52cdd27e34173cf19c7941","impliedFormat":1},{"version":"24bd01a91f187b22456c7171c07dbf44f3ad57ebd50735aab5c13fa23d7114b4","impliedFormat":1},{"version":"4738eefeaaba4d4288a08c1c226a76086095a4d5bcc7826d2564e7c29da47671","impliedFormat":1},{"version":"736097ddbb2903bef918bb3b5811ef1c9c5656f2a73bd39b22a91b9cc2525e50","impliedFormat":1},{"version":"dbec715e9e82df297e49e3ed0029f6151aa40517ebfd6fcdba277a8a2e1d3a1b","impliedFormat":1},{"version":"37ebcf3ddd5141e9855c842e0a0c328d1455989de9d1fd05adfd5a6895ff98b4","impliedFormat":1},{"version":"8f75e211a2e83ff216eb66330790fb6412dcda2feb60c4f165c903cf375633ee","impliedFormat":1},{"version":"c3fb0d969970b37d91f0dbf493c014497fe457a2280ac42ae24567015963dbf7","impliedFormat":1},{"version":"a9155c6deffc2f6a69e69dc12f0950ba1b4db03b3d26ab7a523efc89149ce979","impliedFormat":1},{"version":"c99faf0d7cb755b0424a743ea0cbf195606bf6cd023b5d10082dba8d3714673c","impliedFormat":1},{"version":"21942c5a654cc18ffc2e1e063c8328aca3b127bbf259c4e97906d4696e3fa915","impliedFormat":1},{"version":"15fe687c59d62741b4494d5e623d497d55eb38966ecf5bea7f36e48fc3fbe15e","impliedFormat":1},{"version":"2c3b8be03577c98530ef9cb1a76e2c812636a871f367e9edf4c5f3ce702b77f8","affectsGlobalScope":true,"impliedFormat":1},{"version":"0b301e46295e7dee8bcead624b4a0f94ab8ba1cb3f572b726977322293be2196","impliedFormat":1},{"version":"f2f23fe34b735887db1d5597714ae37a6ffae530cafd6908c9d79d485667c956","impliedFormat":1},{"version":"6ac066e6c4ed2c7177e20516664165e9c9db7c20ec463a57f45f9bf276efb337","impliedFormat":1},{"version":"1ba59c8bbeed2cb75b239bb12041582fa3e8ef32f8d0bd0ec802e38442d3f317","impliedFormat":1}],"root":[[58,60],180,[185,197]],"options":{"declaration":true,"declarationMap":true,"esModuleInterop":true,"module":199,"noUncheckedIndexedAccess":true,"outDir":"./","rootDir":"../src","skipLibCheck":true,"sourceMap":true,"strict":true,"target":9,"tsBuildInfoFile":"./.tsbuildinfo","verbatimModuleSyntax":true},"referencedMap":[[199,1],[198,2],[200,3],[201,2],[203,4],[205,5],[204,3],[213,6],[209,7],[212,8],[215,9],[210,3],[216,3],[217,3],[219,10],[220,11],[218,12],[221,13],[222,14],[223,15],[224,16],[225,17],[226,18],[227,19],[228,20],[229,21],[230,22],[231,9],[232,3],[233,3],[202,3],[112,23],[113,23],[114,24],[66,25],[115,26],[116,27],[117,28],[61,3],[64,29],[62,3],[63,3],[118,30],[119,31],[120,32],[121,33],[122,34],[123,35],[124,35],[125,36],[126,37],[127,38],[128,39],[67,3],[65,3],[129,40],[130,41],[131,42],[165,43],[132,44],[133,3],[134,45],[135,46],[136,47],[137,48],[138,49],[139,50],[140,51],[141,52],[142,53],[143,53],[144,54],[145,3],[146,55],[147,56],[149,57],[148,58],[150,59],[151,60],[152,61],[153,62],[154,63],[155,64],[156,65],[157,66],[158,67],[159,68],[160,69],[161,70],[162,71],[68,3],[69,3],[70,3],[109,72],[110,3],[111,3],[163,73],[164,74],[179,75],[166,76],[173,77],[169,78],[167,79],[170,80],[174,81],[175,77],[172,82],[171,83],[176,84],[177,85],[178,86],[168,87],[234,3],[207,3],[208,3],[235,88],[181,3],[183,89],[236,3],[206,90],[211,91],[245,92],[237,3],[240,93],[243,94],[244,95],[238,96],[241,97],[239,98],[249,99],[247,100],[248,101],[246,102],[251,103],[250,3],[214,3],[252,3],[253,3],[254,3],[255,104],[71,3],[182,3],[242,105],[184,88],[56,3],[57,3],[11,3],[10,3],[2,3],[12,3],[13,3],[14,3],[15,3],[16,3],[17,3],[18,3],[19,3],[3,3],[20,3],[21,3],[4,3],[22,3],[26,3],[23,3],[24,3],[25,3],[27,3],[28,3],[29,3],[5,3],[30,3],[31,3],[32,3],[33,3],[6,3],[37,3],[34,3],[35,3],[36,3],[38,3],[7,3],[39,3],[44,3],[45,3],[40,3],[41,3],[42,3],[43,3],[8,3],[49,3],[46,3],[47,3],[48,3],[50,3],[9,3],[51,3],[52,3],[53,3],[55,3],[54,3],[1,3],[87,106],[97,107],[86,106],[107,108],[78,109],[77,110],[106,111],[100,112],[105,113],[80,114],[94,115],[79,116],[103,117],[75,118],[74,111],[104,119],[76,120],[81,121],[82,3],[85,121],[72,3],[108,122],[98,123],[89,124],[90,125],[92,126],[88,127],[91,128],[101,111],[83,129],[84,130],[93,131],[73,132],[96,123],[95,121],[99,3],[102,133],[180,134],[185,135],[186,136],[187,137],[59,3],[60,138],[188,138],[189,138],[190,138],[191,138],[196,139],[194,138],[192,138],[195,138],[193,138],[58,3],[197,3]],"version":"5.9.3"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nodemailer.d.ts","sourceRoot":"","sources":["../../src/adapters/nodemailer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAoB,SAAS,EAAE,MAAM,aAAa,CAAC;AAU1F,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,WAAW,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,EAC5C,WAAW,CAAC,EAAE,SAAS,GACtB,WAAW,CAwBb"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import nodemailer from "nodemailer";
|
|
2
|
+
function formatAddress(r) {
|
|
3
|
+
return r.name ? `"${r.name}" <${r.email}>` : r.email;
|
|
4
|
+
}
|
|
5
|
+
function toAddressList(to) {
|
|
6
|
+
return Array.isArray(to) ? to.map(formatAddress).join(", ") : formatAddress(to);
|
|
7
|
+
}
|
|
8
|
+
export function createNodemailerAdapter(cfg, defaultFrom) {
|
|
9
|
+
const transporter = nodemailer.createTransport({
|
|
10
|
+
host: cfg.host,
|
|
11
|
+
port: cfg.port,
|
|
12
|
+
secure: cfg.secure ?? cfg.port === 465,
|
|
13
|
+
auth: cfg.user && cfg.pass
|
|
14
|
+
? { user: cfg.user, pass: cfg.pass }
|
|
15
|
+
: undefined,
|
|
16
|
+
});
|
|
17
|
+
return {
|
|
18
|
+
async send(opts) {
|
|
19
|
+
const from = opts.from ?? defaultFrom;
|
|
20
|
+
await transporter.sendMail({
|
|
21
|
+
from: from ? formatAddress(from) : undefined,
|
|
22
|
+
to: toAddressList(opts.to),
|
|
23
|
+
subject: opts.subject,
|
|
24
|
+
html: opts.html,
|
|
25
|
+
text: opts.text,
|
|
26
|
+
replyTo: opts.replyTo,
|
|
27
|
+
});
|
|
28
|
+
},
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=nodemailer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nodemailer.js","sourceRoot":"","sources":["../../src/adapters/nodemailer.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AAGpC,SAAS,aAAa,CAAC,CAAY;IACjC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AACvD,CAAC;AAED,SAAS,aAAa,CAAC,EAA2B;IAChD,OAAO,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;AAClF,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,GAA4C,EAC5C,WAAuB;IAEvB,MAAM,WAAW,GAAG,UAAU,CAAC,eAAe,CAAC;QAC7C,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,MAAM,EAAE,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG;QACtC,IAAI,EACF,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI;YAClB,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE;YACpC,CAAC,CAAC,SAAS;KAChB,CAAC,CAAC;IAEH,OAAO;QACL,KAAK,CAAC,IAAI,CAAC,IAAsB;YAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,WAAW,CAAC;YACtC,MAAM,WAAW,CAAC,QAAQ,CAAC;gBACzB,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;gBAC5C,EAAE,EAAE,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC1B,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,OAAO,EAAE,IAAI,CAAC,OAAO;aACtB,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resend.d.ts","sourceRoot":"","sources":["../../src/adapters/resend.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAoB,SAAS,EAAE,MAAM,aAAa,CAAC;AAM1F,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,WAAW,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,EACxC,WAAW,CAAC,EAAE,SAAS,GACtB,WAAW,CAwBb"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { Resend } from "resend";
|
|
2
|
+
function formatAddress(r) {
|
|
3
|
+
return r.name ? `${r.name} <${r.email}>` : r.email;
|
|
4
|
+
}
|
|
5
|
+
export function createResendAdapter(cfg, defaultFrom) {
|
|
6
|
+
const client = new Resend(cfg.apiKey);
|
|
7
|
+
return {
|
|
8
|
+
async send(opts) {
|
|
9
|
+
const from = opts.from ?? defaultFrom;
|
|
10
|
+
const toList = Array.isArray(opts.to)
|
|
11
|
+
? opts.to.map((r) => r.email)
|
|
12
|
+
: [opts.to.email];
|
|
13
|
+
const { error } = await client.emails.send({
|
|
14
|
+
from: from ? formatAddress(from) : "noreply@example.com",
|
|
15
|
+
to: toList,
|
|
16
|
+
subject: opts.subject,
|
|
17
|
+
html: opts.html,
|
|
18
|
+
text: opts.text,
|
|
19
|
+
replyTo: opts.replyTo,
|
|
20
|
+
});
|
|
21
|
+
if (error) {
|
|
22
|
+
throw new Error(`Resend error: ${error.message}`);
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=resend.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resend.js","sourceRoot":"","sources":["../../src/adapters/resend.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGhC,SAAS,aAAa,CAAC,CAAY;IACjC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AACrD,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,GAAwC,EACxC,WAAuB;IAEvB,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAEtC,OAAO;QACL,KAAK,CAAC,IAAI,CAAC,IAAsB;YAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,WAAW,CAAC;YACtC,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBACnC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;gBAC7B,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;YAEpB,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;gBACzC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,qBAAqB;gBACxD,EAAE,EAAE,MAAM;gBACV,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,OAAO,EAAE,IAAI,CAAC,OAAO;aACtB,CAAC,CAAC;YAEH,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,IAAI,KAAK,CAAC,iBAAiB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YACpD,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zeptomail.d.ts","sourceRoot":"","sources":["../../src/adapters/zeptomail.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAoB,SAAS,EAAE,MAAM,aAAa,CAAC;AAM1F,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,WAAW,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,EAC3C,WAAW,CAAC,EAAE,SAAS,GACtB,WAAW,CAyBb"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { SendMailClient } from "zeptomail";
|
|
2
|
+
function toZeptoRecipient(r) {
|
|
3
|
+
return { email_address: { address: r.email, ...(r.name ? { name: r.name } : {}) } };
|
|
4
|
+
}
|
|
5
|
+
export function createZeptomailAdapter(cfg, defaultFrom) {
|
|
6
|
+
const client = new SendMailClient({
|
|
7
|
+
url: cfg.apiUrl ?? "https://api.zeptomail.com/",
|
|
8
|
+
token: cfg.apiKey,
|
|
9
|
+
});
|
|
10
|
+
return {
|
|
11
|
+
async send(opts) {
|
|
12
|
+
const from = opts.from ?? defaultFrom;
|
|
13
|
+
const toRecipients = Array.isArray(opts.to)
|
|
14
|
+
? opts.to.map(toZeptoRecipient)
|
|
15
|
+
: [toZeptoRecipient(opts.to)];
|
|
16
|
+
await client.sendMail({
|
|
17
|
+
from: from
|
|
18
|
+
? { address: from.email, name: from.name }
|
|
19
|
+
: { address: "noreply@example.com" },
|
|
20
|
+
to: toRecipients,
|
|
21
|
+
subject: opts.subject,
|
|
22
|
+
htmlbody: opts.html,
|
|
23
|
+
textbody: opts.text,
|
|
24
|
+
...(opts.replyTo ? { reply_to: [{ email_address: { address: opts.replyTo } }] } : {}),
|
|
25
|
+
});
|
|
26
|
+
},
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=zeptomail.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zeptomail.js","sourceRoot":"","sources":["../../src/adapters/zeptomail.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAG3C,SAAS,gBAAgB,CAAC,CAAY;IACpC,OAAO,EAAE,aAAa,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;AACtF,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,GAA2C,EAC3C,WAAuB;IAEvB,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC;QAChC,GAAG,EAAE,GAAG,CAAC,MAAM,IAAI,4BAA4B;QAC/C,KAAK,EAAE,GAAG,CAAC,MAAM;KAClB,CAAC,CAAC;IAEH,OAAO;QACL,KAAK,CAAC,IAAI,CAAC,IAAsB;YAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,WAAW,CAAC;YACtC,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBACzC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,gBAAgB,CAAC;gBAC/B,CAAC,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YAEhC,MAAM,MAAM,CAAC,QAAQ,CAAC;gBACpB,IAAI,EAAE,IAAI;oBACR,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;oBAC1C,CAAC,CAAC,EAAE,OAAO,EAAE,qBAAqB,EAAE;gBACtC,EAAE,EAAE,YAAY;gBAChB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,QAAQ,EAAE,IAAI,CAAC,IAAI;gBACnB,QAAQ,EAAE,IAAI,CAAC,IAAI;gBACnB,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,aAAa,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACtF,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @aevr/mailer
|
|
3
|
+
*
|
|
4
|
+
* Provider-agnostic email sending. Switch adapters via MAIL_PROVIDER env var.
|
|
5
|
+
*
|
|
6
|
+
* Supported providers:
|
|
7
|
+
* nodemailer — SMTP via Nodemailer. Requires SMTP_HOST, SMTP_PORT, and optionally SMTP_USER/SMTP_PASS.
|
|
8
|
+
* resend — Resend API. Requires RESEND_API_KEY.
|
|
9
|
+
* zeptomail — ZeptoMail API. Requires ZEPTO_API_KEY and optionally ZEPTO_API_URL.
|
|
10
|
+
* console — Logs to stdout (dev/test fallback, no credentials needed).
|
|
11
|
+
*/
|
|
12
|
+
export type { SendEmailOptions, MailAdapter, MailerConfig, Recipient } from "./types.js";
|
|
13
|
+
export { renderAdminAlertEmail } from "./templates/adminAlert.js";
|
|
14
|
+
export type { AdminAlertEmailOptions, AdminAlertLevel } from "./templates/adminAlert.js";
|
|
15
|
+
import type { MailAdapter, MailerConfig, SendEmailOptions } from "./types.js";
|
|
16
|
+
export declare function createMailer(config?: MailerConfig): MailAdapter;
|
|
17
|
+
/** Singleton mailer — configured from env vars at startup. */
|
|
18
|
+
export declare const mailer: MailAdapter;
|
|
19
|
+
/** Convenience wrapper around the singleton. */
|
|
20
|
+
export declare function sendEmail(opts: SendEmailOptions): Promise<void>;
|
|
21
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,YAAY,EAAE,gBAAgB,EAAE,WAAW,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACzF,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,YAAY,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAKzF,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAa,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEzF,wBAAgB,YAAY,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,WAAW,CAsD/D;AAED,8DAA8D;AAC9D,eAAO,MAAM,MAAM,EAAE,WAA4B,CAAC;AAElD,gDAAgD;AAChD,wBAAsB,SAAS,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAErE"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @aevr/mailer
|
|
3
|
+
*
|
|
4
|
+
* Provider-agnostic email sending. Switch adapters via MAIL_PROVIDER env var.
|
|
5
|
+
*
|
|
6
|
+
* Supported providers:
|
|
7
|
+
* nodemailer — SMTP via Nodemailer. Requires SMTP_HOST, SMTP_PORT, and optionally SMTP_USER/SMTP_PASS.
|
|
8
|
+
* resend — Resend API. Requires RESEND_API_KEY.
|
|
9
|
+
* zeptomail — ZeptoMail API. Requires ZEPTO_API_KEY and optionally ZEPTO_API_URL.
|
|
10
|
+
* console — Logs to stdout (dev/test fallback, no credentials needed).
|
|
11
|
+
*/
|
|
12
|
+
export { renderAdminAlertEmail } from "./templates/adminAlert.js";
|
|
13
|
+
import { createNodemailerAdapter } from "./adapters/nodemailer.js";
|
|
14
|
+
import { createResendAdapter } from "./adapters/resend.js";
|
|
15
|
+
import { createZeptomailAdapter } from "./adapters/zeptomail.js";
|
|
16
|
+
export function createMailer(config) {
|
|
17
|
+
const provider = (config?.provider ?? process.env["MAIL_PROVIDER"] ?? "console").toLowerCase();
|
|
18
|
+
const defaultFrom = config?.from ??
|
|
19
|
+
(process.env["MAIL_FROM_EMAIL"]
|
|
20
|
+
? {
|
|
21
|
+
email: process.env["MAIL_FROM_EMAIL"],
|
|
22
|
+
name: process.env["MAIL_FROM_NAME"],
|
|
23
|
+
}
|
|
24
|
+
: undefined);
|
|
25
|
+
switch (provider) {
|
|
26
|
+
case "nodemailer":
|
|
27
|
+
case "smtp": {
|
|
28
|
+
const nodemailerCfg = config?.nodemailer ?? {
|
|
29
|
+
host: process.env["SMTP_HOST"] ?? "localhost",
|
|
30
|
+
port: Number(process.env["SMTP_PORT"] ?? 587),
|
|
31
|
+
secure: process.env["SMTP_SECURE"] === "true",
|
|
32
|
+
user: process.env["SMTP_USER"],
|
|
33
|
+
pass: process.env["SMTP_PASS"],
|
|
34
|
+
};
|
|
35
|
+
return createNodemailerAdapter(nodemailerCfg, defaultFrom);
|
|
36
|
+
}
|
|
37
|
+
case "resend": {
|
|
38
|
+
const resendCfg = config?.resend ?? {
|
|
39
|
+
apiKey: process.env["RESEND_API_KEY"] ?? "",
|
|
40
|
+
};
|
|
41
|
+
return createResendAdapter(resendCfg, defaultFrom);
|
|
42
|
+
}
|
|
43
|
+
case "zeptomail":
|
|
44
|
+
case "zepto": {
|
|
45
|
+
const zeptoCfg = config?.zeptomail ?? {
|
|
46
|
+
apiKey: process.env["ZEPTO_API_KEY"] ?? process.env["ZOHO_KEY"] ?? "",
|
|
47
|
+
apiUrl: process.env["ZEPTO_API_URL"],
|
|
48
|
+
};
|
|
49
|
+
return createZeptomailAdapter(zeptoCfg, defaultFrom);
|
|
50
|
+
}
|
|
51
|
+
case "console":
|
|
52
|
+
default:
|
|
53
|
+
return {
|
|
54
|
+
async send({ to, subject }) {
|
|
55
|
+
const addr = Array.isArray(to)
|
|
56
|
+
? to.map((r) => r.email).join(", ")
|
|
57
|
+
: to.email;
|
|
58
|
+
console.info(`[mailer] console — to=${addr} subject="${subject}"`);
|
|
59
|
+
},
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
/** Singleton mailer — configured from env vars at startup. */
|
|
64
|
+
export const mailer = createMailer();
|
|
65
|
+
/** Convenience wrapper around the singleton. */
|
|
66
|
+
export async function sendEmail(opts) {
|
|
67
|
+
return mailer.send(opts);
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAGlE,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAGjE,MAAM,UAAU,YAAY,CAAC,MAAqB;IAChD,MAAM,QAAQ,GAAG,CACf,MAAM,EAAE,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,SAAS,CAC9D,CAAC,WAAW,EAAE,CAAC;IAEhB,MAAM,WAAW,GACf,MAAM,EAAE,IAAI;QACZ,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;YAC7B,CAAC,CAAC;gBACE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAE;gBACtC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;aACpC;YACH,CAAC,CAAC,SAAS,CAAC,CAAC;IAEjB,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,YAAY,CAAC;QAClB,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,MAAM,aAAa,GAAG,MAAM,EAAE,UAAU,IAAI;gBAC1C,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,WAAW;gBAC7C,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,GAAG,CAAC;gBAC7C,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,MAAM;gBAC7C,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;gBAC9B,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;aAC/B,CAAC;YACF,OAAO,uBAAuB,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;QAC7D,CAAC;QAED,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,SAAS,GAAG,MAAM,EAAE,MAAM,IAAI;gBAClC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,EAAE;aAC5C,CAAC;YACF,OAAO,mBAAmB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QACrD,CAAC;QAED,KAAK,WAAW,CAAC;QACjB,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,MAAM,QAAQ,GAAG,MAAM,EAAE,SAAS,IAAI;gBACpC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE;gBACrE,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;aACrC,CAAC;YACF,OAAO,sBAAsB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QACvD,CAAC;QAED,KAAK,SAAS,CAAC;QACf;YACE,OAAO;gBACL,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,OAAO,EAAoB;oBAC1C,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;wBAC5B,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;wBACnC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;oBACb,OAAO,CAAC,IAAI,CAAC,yBAAyB,IAAI,aAAa,OAAO,GAAG,CAAC,CAAC;gBACrE,CAAC;aACF,CAAC;IACN,CAAC;AACH,CAAC;AAED,8DAA8D;AAC9D,MAAM,CAAC,MAAM,MAAM,GAAgB,YAAY,EAAE,CAAC;AAElD,gDAAgD;AAChD,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,IAAsB;IACpD,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC3B,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export declare const t: {
|
|
2
|
+
bg: string;
|
|
3
|
+
card: string;
|
|
4
|
+
headingColor: string;
|
|
5
|
+
bodyColor: string;
|
|
6
|
+
mutedColor: string;
|
|
7
|
+
borderColor: string;
|
|
8
|
+
btnBg: string;
|
|
9
|
+
btnText: string;
|
|
10
|
+
codeBg: string;
|
|
11
|
+
codeColor: string;
|
|
12
|
+
font: string;
|
|
13
|
+
};
|
|
14
|
+
export declare function emailButton(text: string, href: string): string;
|
|
15
|
+
export declare function otpCode(code: string): string;
|
|
16
|
+
export interface EmailLayoutOptions {
|
|
17
|
+
preview: string;
|
|
18
|
+
title: string;
|
|
19
|
+
body: string;
|
|
20
|
+
appName?: string;
|
|
21
|
+
logoUrl?: string;
|
|
22
|
+
supportEmail?: string;
|
|
23
|
+
year?: number;
|
|
24
|
+
}
|
|
25
|
+
export declare function emailLayout({ preview, title, body, appName, logoUrl, supportEmail, year, }: EmailLayoutOptions): string;
|
|
26
|
+
//# sourceMappingURL=_layout.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_layout.d.ts","sourceRoot":"","sources":["../../src/templates/_layout.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,CAAC;;;;;;;;;;;;CAYb,CAAC;AAIF,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAU9D;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAQ5C;AAID,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,wBAAgB,WAAW,CAAC,EAC1B,OAAO,EACP,KAAK,EACL,IAAI,EACJ,OAA+C,EAC/C,OAAwC,EACxC,YAAsF,EACtF,IAA+B,GAChC,EAAE,kBAAkB,GAAG,MAAM,CAgD7B"}
|