@mailwurf/e2e 1.0.0-913292c → 1.0.0-a1c14af
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/README.md +10 -4
- package/dist/client.d.ts +11 -4
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +45 -31
- package/dist/client.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/types.d.ts +17 -4
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# @mailwurf/e2e
|
|
2
2
|
|
|
3
|
-
`fetch` client for the tenant-scoped Mailwurf API at `/
|
|
3
|
+
`fetch` client for the tenant-scoped Mailwurf API at `/v1`. No Playwright dependency. The app keeps its real mail sender; tests only set the recipient.
|
|
4
4
|
|
|
5
5
|
Public on [npm](https://www.npmjs.com/package/@mailwurf/e2e).
|
|
6
6
|
|
|
@@ -9,9 +9,9 @@ npm install @mailwurf/e2e
|
|
|
9
9
|
```
|
|
10
10
|
|
|
11
11
|
```ts
|
|
12
|
-
import {
|
|
12
|
+
import { createMailwurf } from "@mailwurf/e2e";
|
|
13
13
|
|
|
14
|
-
const mailwurf =
|
|
14
|
+
const mailwurf = createMailwurf(process.env.MAILWURF_API_KEY!); // https://api.mailwurf.io
|
|
15
15
|
const inbox = await mailwurf.createInbox();
|
|
16
16
|
|
|
17
17
|
await page.fill("[name=email]", inbox.address);
|
|
@@ -22,4 +22,10 @@ await page.goto(mail.links[0]!);
|
|
|
22
22
|
// mail.otp → "482193"
|
|
23
23
|
```
|
|
24
24
|
|
|
25
|
-
|
|
25
|
+
The first argument is the organization key (`mw_live_…`) and is required; `createMailwurf()` throws when it is empty. The package reads no environment variables. It talks to `https://api.mailwurf.io`; pass `apiUrl` only for a self-hosted Mailwurf. A bare host is treated as `https://`:
|
|
26
|
+
|
|
27
|
+
```ts
|
|
28
|
+
createMailwurf("mw_live_…", { apiUrl: "mailwurf.example.com" });
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
`subject` is a case-insensitive substring. `timeout` is milliseconds.
|
package/dist/client.d.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import type { CreateInboxInput, Inbox, ListMessagesOptions, MailwurfOptions, Message, WaitForOptions } from "./types.js";
|
|
1
|
+
import type { CreateInboxInput, Inbox, ListMessagesOptions, MailwurfOptions, Message, SendMessageInput, SentMessage, WaitForOptions } from "./types.js";
|
|
2
|
+
export declare const DEFAULT_API_URL = "https://api.mailwurf.io";
|
|
2
3
|
export declare class Mailwurf {
|
|
3
4
|
#private;
|
|
4
|
-
readonly
|
|
5
|
-
constructor(options?: MailwurfOptions);
|
|
5
|
+
readonly apiUrl: string;
|
|
6
|
+
constructor(apiKey: string, options?: MailwurfOptions);
|
|
6
7
|
health(): Promise<void>;
|
|
7
8
|
createInbox(input?: CreateInboxInput): Promise<MailwurfInbox>;
|
|
8
9
|
getInbox(id: string): Promise<MailwurfInbox>;
|
|
@@ -10,6 +11,7 @@ export declare class Mailwurf {
|
|
|
10
11
|
getMessage(id: string): Promise<Message>;
|
|
11
12
|
listMessages(inboxId: string, options?: ListMessagesOptions): Promise<Message[]>;
|
|
12
13
|
waitFor(inboxId: string, options?: WaitForOptions): Promise<Message>;
|
|
14
|
+
send(inboxId: string, input: SendMessageInput): Promise<SentMessage>;
|
|
13
15
|
deleteInbox(id: string): Promise<void>;
|
|
14
16
|
}
|
|
15
17
|
export declare class MailwurfInbox implements Inbox {
|
|
@@ -20,8 +22,13 @@ export declare class MailwurfInbox implements Inbox {
|
|
|
20
22
|
readonly expiresAt: Date | null;
|
|
21
23
|
constructor(client: Mailwurf, inbox: Inbox);
|
|
22
24
|
waitFor(options?: WaitForOptions): Promise<Message>;
|
|
25
|
+
send(input: SendMessageInput): Promise<SentMessage>;
|
|
23
26
|
messages(options?: ListMessagesOptions): Promise<Message[]>;
|
|
24
27
|
delete(): Promise<void>;
|
|
25
28
|
}
|
|
26
|
-
|
|
29
|
+
/**
|
|
30
|
+
* `apiKey` is the organization key (`mw_live_…`) and is required.
|
|
31
|
+
* `apiUrl` is only needed for a self-hosted Mailwurf.
|
|
32
|
+
*/
|
|
33
|
+
export declare function createMailwurf(apiKey: string, options?: MailwurfOptions): Mailwurf;
|
|
27
34
|
//# sourceMappingURL=client.d.ts.map
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,gBAAgB,EAChB,KAAK,EACL,mBAAmB,EACnB,eAAe,EACf,OAAO,EAGP,cAAc,EACf,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,gBAAgB,EAChB,KAAK,EACL,mBAAmB,EACnB,eAAe,EACf,OAAO,EAGP,gBAAgB,EAChB,WAAW,EACX,cAAc,EACf,MAAM,YAAY,CAAC;AAEpB,eAAO,MAAM,eAAe,4BAA4B,CAAC;AAqDzD,qBAAa,QAAQ;;IACnB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;gBAIZ,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,eAAoB;IAYnD,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAKvB,WAAW,CAAC,KAAK,GAAE,gBAAqB,GAAG,OAAO,CAAC,aAAa,CAAC;IAWjE,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAQ5C,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAQvD,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAQxC,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,mBAAwB,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IASpF,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,OAAO,CAAC;IAiBxE,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,WAAW,CAAC;IAkBpE,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAqC7C;AAED,qBAAa,aAAc,YAAW,KAAK;;IACzC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,IAAI,GAAG,IAAI,CAAC;gBAGpB,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK;IAQ1C,OAAO,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;IAInD,IAAI,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,WAAW,CAAC;IAInD,QAAQ,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAI3D,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;CAGxB;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,eAAoB,GAAG,QAAQ,CAEtF"}
|
package/dist/client.js
CHANGED
|
@@ -1,20 +1,15 @@
|
|
|
1
1
|
import { MailwurfError, MailwurfTimeoutError } from "./errors.js";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
}
|
|
7
|
-
return "http://localhost:3000";
|
|
2
|
+
export const DEFAULT_API_URL = "https://api.mailwurf.io";
|
|
3
|
+
/** Accepts `mailwurf.example.com` as well as `https://mailwurf.example.com/`. */
|
|
4
|
+
function normalizeApiUrl(url) {
|
|
5
|
+
const trimmed = url.trim().replace(/\/+$/, "");
|
|
6
|
+
return /^https?:\/\//i.test(trimmed) ? trimmed : `https://${trimmed}`;
|
|
8
7
|
}
|
|
9
|
-
function
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
return env;
|
|
8
|
+
function requireApiKey(apiKey) {
|
|
9
|
+
if (typeof apiKey !== "string" || apiKey.trim().length === 0) {
|
|
10
|
+
throw new TypeError("Mailwurf: apiKey is required. Pass the organization key (mw_live_…) from the dashboard.");
|
|
13
11
|
}
|
|
14
|
-
return
|
|
15
|
-
}
|
|
16
|
-
function trimSlash(url) {
|
|
17
|
-
return url.replace(/\/+$/, "");
|
|
12
|
+
return apiKey;
|
|
18
13
|
}
|
|
19
14
|
function asInbox(raw) {
|
|
20
15
|
return {
|
|
@@ -50,23 +45,21 @@ function query(params) {
|
|
|
50
45
|
return s ? `?${s}` : "";
|
|
51
46
|
}
|
|
52
47
|
export class Mailwurf {
|
|
53
|
-
|
|
48
|
+
apiUrl;
|
|
54
49
|
#fetch;
|
|
55
50
|
#apiKey;
|
|
56
|
-
constructor(options = {}) {
|
|
57
|
-
this
|
|
51
|
+
constructor(apiKey, options = {}) {
|
|
52
|
+
this.#apiKey = requireApiKey(apiKey);
|
|
53
|
+
this.apiUrl = normalizeApiUrl(options.apiUrl ?? DEFAULT_API_URL);
|
|
58
54
|
this.#fetch = options.fetch ?? fetch;
|
|
59
|
-
this.#apiKey = options.apiKey ?? defaultApiKey();
|
|
60
55
|
}
|
|
61
56
|
#headers(extra) {
|
|
62
57
|
const headers = new Headers(extra);
|
|
63
|
-
|
|
64
|
-
headers.set("authorization", `Bearer ${this.#apiKey}`);
|
|
65
|
-
}
|
|
58
|
+
headers.set("authorization", `Bearer ${this.#apiKey}`);
|
|
66
59
|
return headers;
|
|
67
60
|
}
|
|
68
61
|
async health() {
|
|
69
|
-
const res = await this.#fetch(`${this.
|
|
62
|
+
const res = await this.#fetch(`${this.apiUrl}/v1/health`);
|
|
70
63
|
await this.#read(res);
|
|
71
64
|
}
|
|
72
65
|
async createInbox(input = {}) {
|
|
@@ -75,39 +68,39 @@ export class Mailwurf {
|
|
|
75
68
|
init.headers = this.#headers({ "content-type": "application/json" });
|
|
76
69
|
init.body = JSON.stringify({ address: input.address });
|
|
77
70
|
}
|
|
78
|
-
const res = await this.#fetch(`${this.
|
|
71
|
+
const res = await this.#fetch(`${this.apiUrl}/v1/inboxes`, init);
|
|
79
72
|
const raw = await this.#read(res);
|
|
80
73
|
return this.#wrap(asInbox(raw));
|
|
81
74
|
}
|
|
82
75
|
async getInbox(id) {
|
|
83
|
-
const res = await this.#fetch(`${this.
|
|
76
|
+
const res = await this.#fetch(`${this.apiUrl}/v1/inboxes/${encodeURIComponent(id)}`, {
|
|
84
77
|
headers: this.#headers(),
|
|
85
78
|
});
|
|
86
79
|
const raw = await this.#read(res);
|
|
87
80
|
return this.#wrap(asInbox(raw));
|
|
88
81
|
}
|
|
89
82
|
async inboxByAddress(address) {
|
|
90
|
-
const res = await this.#fetch(`${this.
|
|
83
|
+
const res = await this.#fetch(`${this.apiUrl}/v1/inboxes${query({ address })}`, {
|
|
91
84
|
headers: this.#headers(),
|
|
92
85
|
});
|
|
93
86
|
const raw = await this.#read(res);
|
|
94
87
|
return this.#wrap(asInbox(raw));
|
|
95
88
|
}
|
|
96
89
|
async getMessage(id) {
|
|
97
|
-
const res = await this.#fetch(`${this.
|
|
90
|
+
const res = await this.#fetch(`${this.apiUrl}/v1/messages/${encodeURIComponent(id)}`, {
|
|
98
91
|
headers: this.#headers(),
|
|
99
92
|
});
|
|
100
93
|
const raw = await this.#read(res);
|
|
101
94
|
return asMessage(raw);
|
|
102
95
|
}
|
|
103
96
|
async listMessages(inboxId, options = {}) {
|
|
104
|
-
const res = await this.#fetch(`${this.
|
|
97
|
+
const res = await this.#fetch(`${this.apiUrl}/v1/inboxes/${encodeURIComponent(inboxId)}/messages${query(options)}`, { headers: this.#headers() });
|
|
105
98
|
const raw = await this.#read(res);
|
|
106
99
|
return (raw.messages ?? []).map(asMessage);
|
|
107
100
|
}
|
|
108
101
|
async waitFor(inboxId, options = {}) {
|
|
109
102
|
const timeout = options.timeout ?? 15_000;
|
|
110
|
-
const res = await this.#fetch(`${this.
|
|
103
|
+
const res = await this.#fetch(`${this.apiUrl}/v1/inboxes/${encodeURIComponent(inboxId)}/messages/wait${query({
|
|
111
104
|
subject: options.subject,
|
|
112
105
|
after: options.after,
|
|
113
106
|
timeout,
|
|
@@ -118,8 +111,22 @@ export class Mailwurf {
|
|
|
118
111
|
const raw = await this.#read(res);
|
|
119
112
|
return asMessage(raw);
|
|
120
113
|
}
|
|
114
|
+
async send(inboxId, input) {
|
|
115
|
+
const res = await this.#fetch(`${this.apiUrl}/v1/inboxes/${encodeURIComponent(inboxId)}/messages`, {
|
|
116
|
+
method: "POST",
|
|
117
|
+
headers: this.#headers({ "content-type": "application/json" }),
|
|
118
|
+
body: JSON.stringify({
|
|
119
|
+
to: input.to,
|
|
120
|
+
subject: input.subject,
|
|
121
|
+
text: input.text ?? "",
|
|
122
|
+
...(input.html ? { html: input.html } : {}),
|
|
123
|
+
...(input.inReplyTo ? { in_reply_to: input.inReplyTo } : {}),
|
|
124
|
+
}),
|
|
125
|
+
});
|
|
126
|
+
return this.#read(res);
|
|
127
|
+
}
|
|
121
128
|
async deleteInbox(id) {
|
|
122
|
-
const res = await this.#fetch(`${this.
|
|
129
|
+
const res = await this.#fetch(`${this.apiUrl}/v1/inboxes/${encodeURIComponent(id)}`, {
|
|
123
130
|
method: "DELETE",
|
|
124
131
|
headers: this.#headers(),
|
|
125
132
|
});
|
|
@@ -170,6 +177,9 @@ export class MailwurfInbox {
|
|
|
170
177
|
waitFor(options) {
|
|
171
178
|
return this.#client.waitFor(this.id, options);
|
|
172
179
|
}
|
|
180
|
+
send(input) {
|
|
181
|
+
return this.#client.send(this.id, input);
|
|
182
|
+
}
|
|
173
183
|
messages(options) {
|
|
174
184
|
return this.#client.listMessages(this.id, options);
|
|
175
185
|
}
|
|
@@ -177,7 +187,11 @@ export class MailwurfInbox {
|
|
|
177
187
|
return this.#client.deleteInbox(this.id);
|
|
178
188
|
}
|
|
179
189
|
}
|
|
180
|
-
|
|
181
|
-
|
|
190
|
+
/**
|
|
191
|
+
* `apiKey` is the organization key (`mw_live_…`) and is required.
|
|
192
|
+
* `apiUrl` is only needed for a self-hosted Mailwurf.
|
|
193
|
+
*/
|
|
194
|
+
export function createMailwurf(apiKey, options = {}) {
|
|
195
|
+
return new Mailwurf(apiKey, options);
|
|
182
196
|
}
|
|
183
197
|
//# sourceMappingURL=client.js.map
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAclE,MAAM,CAAC,MAAM,eAAe,GAAG,yBAAyB,CAAC;AAEzD,iFAAiF;AACjF,SAAS,eAAe,CAAC,GAAW;IAClC,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC/C,OAAO,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,OAAO,EAAE,CAAC;AACxE,CAAC;AAED,SAAS,aAAa,CAAC,MAAc;IACnC,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7D,MAAM,IAAI,SAAS,CACjB,yFAAyF,CAC1F,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,OAAO,CAAC,GAAa;IAC5B,OAAO;QACL,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,SAAS,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC;QACnC,SAAS,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI;KAC5D,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,GAAe;IAChC,OAAO;QACL,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,OAAO,EAAE,GAAG,CAAC,QAAQ;QACrB,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,KAAK,EAAE,GAAG,CAAC,KAAK,IAAI,EAAE;QACtB,GAAG,EAAE,GAAG,CAAC,GAAG;QACZ,UAAU,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC;KACtC,CAAC;AACJ,CAAC;AAED,SAAS,KAAK,CAAC,MAAmD;IAChE,MAAM,CAAC,GAAG,IAAI,eAAe,EAAE,CAAC;IAChC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAClD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;YACxC,SAAS;QACX,CAAC;QACD,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAC5B,CAAC;IACD,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;IACvB,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AAC1B,CAAC;AAED,MAAM,OAAO,QAAQ;IACV,MAAM,CAAS;IACf,MAAM,CAAe;IACrB,OAAO,CAAS;IAEzB,YAAY,MAAc,EAAE,UAA2B,EAAE;QACvD,IAAI,CAAC,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;QACrC,IAAI,CAAC,MAAM,GAAG,eAAe,CAAC,OAAO,CAAC,MAAM,IAAI,eAAe,CAAC,CAAC;QACjE,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC;IACvC,CAAC;IAED,QAAQ,CAAC,KAA8B;QACrC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,UAAU,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QACvD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,MAAM;QACV,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,YAAY,CAAC,CAAC;QAC1D,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,QAA0B,EAAE;QAC5C,MAAM,IAAI,GAAgB,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;QACvE,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAClB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;YACrE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACzD,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,aAAa,EAAE,IAAI,CAAC,CAAC;QACjE,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAW,GAAG,CAAC,CAAC;QAC5C,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,EAAU;QACvB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,eAAe,kBAAkB,CAAC,EAAE,CAAC,EAAE,EAAE;YACnF,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE;SACzB,CAAC,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAW,GAAG,CAAC,CAAC;QAC5C,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,OAAe;QAClC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,cAAc,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE;YAC9E,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE;SACzB,CAAC,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAW,GAAG,CAAC,CAAC;QAC5C,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,EAAU;QACzB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,gBAAgB,kBAAkB,CAAC,EAAE,CAAC,EAAE,EAAE;YACpF,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE;SACzB,CAAC,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAa,GAAG,CAAC,CAAC;QAC9C,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,OAAe,EAAE,UAA+B,EAAE;QACnE,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAC3B,GAAG,IAAI,CAAC,MAAM,eAAe,kBAAkB,CAAC,OAAO,CAAC,YAAY,KAAK,CAAC,OAAO,CAAC,EAAE,EACpF,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,CAC7B,CAAC;QACF,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAA6B,GAAG,CAAC,CAAC;QAC9D,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,OAAe,EAAE,UAA0B,EAAE;QACzD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,MAAM,CAAC;QAC1C,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAC3B,GAAG,IAAI,CAAC,MAAM,eAAe,kBAAkB,CAAC,OAAO,CAAC,iBAAiB,KAAK,CAAC;YAC7E,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,OAAO;SACR,CAAC,EAAE,EACJ,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CACrD,CAAC;QACF,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YACvB,MAAM,IAAI,oBAAoB,EAAE,CAAC;QACnC,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAa,GAAG,CAAC,CAAC;QAC9C,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,OAAe,EAAE,KAAuB;QACjD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAC3B,GAAG,IAAI,CAAC,MAAM,eAAe,kBAAkB,CAAC,OAAO,CAAC,WAAW,EACnE;YACE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC;YAC9D,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,EAAE,EAAE,KAAK,CAAC,EAAE;gBACZ,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,EAAE;gBACtB,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3C,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC7D,CAAC;SACH,CACF,CAAC;QACF,OAAO,IAAI,CAAC,KAAK,CAAc,GAAG,CAAC,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,EAAU;QAC1B,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,eAAe,kBAAkB,CAAC,EAAE,CAAC,EAAE,EAAE;YACnF,MAAM,EAAE,QAAQ;YAChB,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE;SACzB,CAAC,CAAC;QACH,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YACvB,OAAO;QACT,CAAC;QACD,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,KAAY;QAChB,OAAO,IAAI,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,KAAK,CAAc,GAAa;QACpC,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;QAC9B,IAAI,IAAa,CAAC;QAClB,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpB,IAAI,CAAC;gBACH,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAY,CAAC;YACrC,CAAC;YAAC,MAAM,CAAC;gBACP,IAAI,GAAG,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,OAAO,GACX,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ;gBACnF,CAAC,CAAC,IAAI,CAAC,KAAK;gBACZ,CAAC,CAAC,GAAG,CAAC,UAAU,IAAI,QAAQ,GAAG,CAAC,MAAM,EAAE,CAAC;YAC7C,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBACvB,MAAM,IAAI,oBAAoB,CAAC,OAAO,CAAC,CAAC;YAC1C,CAAC;YACD,MAAM,IAAI,aAAa,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC/C,CAAC;QACD,OAAO,IAAS,CAAC;IACnB,CAAC;CACF;AAED,MAAM,OAAO,aAAa;IACf,EAAE,CAAS;IACX,OAAO,CAAS;IAChB,SAAS,CAAO;IAChB,SAAS,CAAc;IACvB,OAAO,CAAW;IAE3B,YAAY,MAAgB,EAAE,KAAY;QACxC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC;QACnB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;QACjC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;IACnC,CAAC;IAED,OAAO,CAAC,OAAwB;QAC9B,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IAChD,CAAC;IAED,IAAI,CAAC,KAAuB;QAC1B,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IAC3C,CAAC;IAED,QAAQ,CAAC,OAA6B;QACpC,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IACrD,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC3C,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,MAAc,EAAE,UAA2B,EAAE;IAC1E,OAAO,IAAI,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AACvC,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export { createMailwurf, DEFAULT_API_URL, Mailwurf, MailwurfInbox } from "./client.js";
|
|
2
2
|
export { MailwurfError, MailwurfTimeoutError } from "./errors.js";
|
|
3
|
-
export type { CreateInboxInput, Inbox, ListMessagesOptions, MailwurfOptions, Message, WaitForOptions, } from "./types.js";
|
|
3
|
+
export type { CreateInboxInput, Inbox, ListMessagesOptions, MailwurfOptions, Message, SendMessageInput, SentMessage, WaitForOptions, } from "./types.js";
|
|
4
4
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACvF,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAClE,YAAY,EACV,gBAAgB,EAChB,KAAK,EACL,mBAAmB,EACnB,eAAe,EACf,OAAO,EACP,gBAAgB,EAChB,WAAW,EACX,cAAc,GACf,MAAM,YAAY,CAAC"}
|
package/dist/index.js
CHANGED
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACvF,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC"}
|
package/dist/types.d.ts
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
export type MailwurfOptions = {
|
|
2
|
-
/**
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
2
|
+
/**
|
|
3
|
+
* Origin of a self-hosted Mailwurf API. Calls are made under `/v1`.
|
|
4
|
+
* Defaults to `https://api.mailwurf.io`.
|
|
5
|
+
* A bare host such as `mailwurf.example.com` is treated as `https://`.
|
|
6
|
+
*/
|
|
7
|
+
apiUrl?: string;
|
|
6
8
|
/** Injected in tests. Defaults to global `fetch`. */
|
|
7
9
|
fetch?: typeof fetch;
|
|
8
10
|
};
|
|
@@ -22,6 +24,17 @@ export type ListMessagesOptions = {
|
|
|
22
24
|
subject?: string;
|
|
23
25
|
after?: string;
|
|
24
26
|
};
|
|
27
|
+
export type SendMessageInput = {
|
|
28
|
+
to: string;
|
|
29
|
+
subject: string;
|
|
30
|
+
text?: string;
|
|
31
|
+
html?: string;
|
|
32
|
+
inReplyTo?: string;
|
|
33
|
+
};
|
|
34
|
+
export type SentMessage = {
|
|
35
|
+
id: string;
|
|
36
|
+
status: string;
|
|
37
|
+
};
|
|
25
38
|
export type Inbox = {
|
|
26
39
|
id: string;
|
|
27
40
|
address: string;
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GAAG;IAC5B
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GAAG;IAC5B;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qDAAqD;IACrD,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,4EAA4E;IAC5E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oEAAoE;IACpE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iDAAiD;IACjD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,KAAK,GAAG;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,GAAG,IAAI,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,IAAI,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC"}
|